screenlogicpy

Interface for Pentair Screenlogic connected pool controllers over IP in Python

GPL-3.0 License

Downloads
4.4K
Stars
14
Committers
3

Bot releases are hidden (Show)

screenlogicpy - v0.5.3

Published by dieselrabbit almost 3 years ago

Added:

  • API function async_get_mac_address(gateway_ip, gateway_port) to connect and get only MAC address from a protocol adapter. Supports validation of IP address and port.
screenlogicpy - v0.5.2

Published by dieselrabbit almost 3 years ago

Added:

  • Additional error handling when attempting to create a connection to the ScreenLogic protocol adapter
screenlogicpy - v0.5.1

Published by dieselrabbit almost 3 years ago

Fixed:

  • General async I/O reliability improvements
    • Simplify message tracking
    • Handle multiple SL messages in one transmission
    • Attempt to wait for all outstanding requests before closing the connection on async_disconnect
  • Correct padding on encoded strings

Added:

  • More logging
  • Asyncio gateway example
  • Some general cleanup

Removed:

  • Scratchpad folder
  • Outdated examples
  • Artificial 'network' delay in fake_gateway used for tests
screenlogicpy - v0.5.0

Published by dieselrabbit almost 3 years ago

This release moves screenlogicpy over to using asyncio. See README.md for updated usage instructions.

Added:

  • Ability to set SCG output values for both pool and spa separately.

Breaking Changes:

  • Most ScreenLogicGateway methods renamed. See README.md for updated usage instructions.
  • await syntax now required on most ScreenLogicGateway methods.
  • Non-async discover() function depreciated. Please use async_discover().
screenlogicpy - v0.4.3

Published by dieselrabbit about 3 years ago

Fixed:

  • Fixed console script entry point.
screenlogicpy - v0.4.2

Published by dieselrabbit over 3 years ago

Fixed:

  • Don't add pump GPM if invalid value.

Added:

  • Add device_type to chemistry alerts.
screenlogicpy - v0.4.1

Published by dieselrabbit over 3 years ago

Fixed:

  • Fixed versioning mismatch.
screenlogicpy - v0.4.0

Published by dieselrabbit over 3 years ago

This release raises the minimum Python version to 3.8

Fixed:

  • Many spelling fixes.
    Breaking changes for library users:
    • CONTROLLER_QUERRY -> CONTROLLER_QUERY
    • FAHRENHEIHT -> FAHRENHEIT
    • "is_celcius" -> "is_celsius"

Added:

  • Asyncio support for gateway discovery via the asyncio_discover() method.
  • Additional IntelliChem data:
    • chemistry:
      • ph_last_dose_time, ph_last_dose_volume, orp_last_dose_time, orp_last_dose_volume, ph_dosing_state, orp_dosing_state, firmware, probe_is_celsius, flags.
      • alerts:
        • flow_alarm, ph_alarm, orp_alarm, ph_supply_alarm, orp_supply_alarm, probe_fault_alarm.
      • notifications:
        • ph_lockout, ph_limit, orp_limit.
  • Salt Chlorine Generator data:
    • scg
      • scg_present, scg_status, scg_level1, scg_level2, scg_salt_ppm, scg_flags, scg_super_chlor_timer.
screenlogicpy - v0.3.0

Published by dieselrabbit over 3 years ago

Add set color-lights option to the command line.
Fix set_color_lights() struct.pack.
Fix verbose output.