Interface for Pentair Screenlogic connected pool controllers over IP in Python
GPL-3.0 License
Bot releases are hidden (Show)
0
.Published by dieselrabbit 11 months ago
bool
indicating success. Instead an appropriate exception will be raised if an error is encountered.ScreenLogicException
:
ScreenLogicCommunicationError
- Base class for all communication errors.
ScreenLogicLoginError
- The login was explicitly rejected.ScreenLogicConnectionError
- Connection to the protocol adapter was lost.ScreenLogicRequestError
- Protocol adapter indicated an unknown or malformed request.ScreenLogicResponseError
- Protocol adapter returned an unexpected response.Published by dieselrabbit 12 months ago
Published by dieselrabbit about 1 year ago
step
value for pool and spa to 1Published by dieselrabbit about 1 year ago
Published by dieselrabbit about 1 year ago
dict
based on equipment config or seemingly 'invalid' values will no longer be made within screenlogicpy
. Any calling application will be responsible for filtering irrelevant information from their user.Published by dieselrabbit over 1 year ago
dict
, and in-turn the resulting json output. Changes include:
ScreenLogicGateway.get_data()
now supports returning subsets of data or individual values. get_data()
accepts a "path" in the form of multiple parameters of keys to the desired data, and will return only that data.
get_name()
and get_value()
have also been added. These will return the value of the "name" or "value" key that exists - if it exists - within the data specified by the data "path".get_data()
, get_name()
, and get_value()
will return None
if the specified path or key is not found. Keyword arg strict=True
can be specified to raise KeyError
exception if the path or key is not found.Published by dieselrabbit over 1 year ago
ScreenLogicWarning
is no longer raised on request or connection errors. See Changes below for details on what is raised when.ScreenLogicError
exception. This supports Home Assistant handling the communication failure accordingly.ScreenLogicRequestError
is raised for failure in making a request to the protocol adapter.ScreenLogicError
is raised immediately on any failure to connection to the protocol adapter.ScreenLogicException
Base exception class for screenlogicpyScreenLogicRequestError
raised specifically for failing to complete a request due to:
Published by dieselrabbit over 1 year ago
Published by dieselrabbit over 1 year ago
ScreenLogicGateway
constructor was deprecated in v0.7.0 and has now been removed. Consuming code should use async_connect()
instead..requests.utility.getString()
will now return a decoded and trimmed str
value. Anyone using getString()
in their own code (ie. custom message decoding) no longer need to call .decode("utf-8").strip("\0")
themselves on the return.requests\lights.py
2
. This can be changed by:
max_retries
parameter during gateway instantiationgateway.set_max_retries(new_value)
None
or 1-5. Calling set_max_retries()
with no value will reset to the default of 2.client_id
per instance of screenlogicpy.
client_id
parameter can be specified at gateway creation to use a custom one.Published by dieselrabbit over 1 year ago
INTERFACE_GROUP
with more known values.
LIGHTS
from 3 -> 4LIGHTS_COLOR
(3) and DONT_SHOW
(5)Full Changelog: https://github.com/dieselrabbit/screenlogicpy/compare/v0.7.1...v0.7.2
Published by dieselrabbit over 1 year ago
state_type
(SensorStateClass
in HA) measurement
added to appropriate sensors.
sensors
: air_temperature
, ph
, orp
, saturation
, salt_ppm
, ph_supply_level
, orp_supply_level
bodies
[body_num]
: last_temperature
pumps
[pump_num]
: currentWatts
, currentRPM
, currentGPM
chemistry
: current_ph
, current_orp
, ph_supply_level
, orp_supply_level
, saturation
, ph_probe_water_temp
scg
: scg_salt_ppm
Published by dieselrabbit over 1 year ago
gateway.async_subscribe_client(callback, code)
. See readme for details.screenlogicpy
is subscribed as a client to the protocol adapter.gateway.register_async_message_handler(code, coro)
. See readme for details.
CIRCUIT_FUNCTION.GROUP_LIGHTING
renamed to CIRCUIT_FUNCTION.GROUP_LIGHTS_ALL
. This change supports two new CIRCUIT_FUNCTION
constants .GROUP_LIGHTS_BASIC
and .GROUP_LIGHTS_COLOR
.gateway.async_connect()
.
*_dosing_state
changed to ENUM
.Published by dieselrabbit over 1 year ago
"chemistry": { "alerts": { "_raw": 0, ...
"chemistry": { "notifications": { "_raw": 0, ...
unknown1
-> unknown_at_offset_**
unknown2
-> unknown_at_offset_**
Published by dieselrabbit almost 2 years ago
Changed:
freeze_mode
value in standard 1=on, 0=off instead of it's raw value of 8=on.Published by dieselrabbit almost 2 years ago
Changed:
Published by dieselrabbit almost 2 years ago
Changes:
Published by dieselrabbit almost 2 years ago
Changed:
duration
for pH/ORP Last Dose Timevolume
for pH/ORP Last Dose Volumeenergy
-> power
for Pump Current WattsAdded:
Published by dieselrabbit over 2 years ago
Changed:
unknown_at_offset_24
.Added:
get_debug()
. Returns a dict of the last responses to each request in raw bytes.Published by dieselrabbit almost 3 years ago
Fixed:
Changed:
SCG Level 1
-> Pool SCG Level
SCG Level 2
-> Spa SCG Level