Screenlogicpy

Latest version: v0.10.1

Safety actively analyzes 706267 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 5

0.7.0

Added:
- Support for handling pushed state updates from a ScreenLogic system. This includes:
- Callback manager for calling code to subscribe to push message updates. `gateway.async_subscribe_client(callback, code)`. See readme for details.
- Auto subscribe/unsubscribe as a client to the protocol adapter.
- Automatically enable connection keeping to keep connection alive while `screenlogicpy` is subscribed as a client to the protocol adapter.
- Alternative async message handler code path: `gateway.register_async_message_handler(code, coro)`. See readme for details.
- Supports user handling of unsolicited messages from the ScreenLogic protocol adapter (ie. Weather Forceast Changed, etc.)
- Support partial data polling.
- Initial support for state_type (SensorStateClass in HA).

Breaking Change:
- Const `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`.

Changed:
- Host info (IP Address, port, etc.) should now be passed in `gateway.async_connect()`.
- **The previous method of passing host info at gateway instantiation is deprecated and will be removed in a future release.**
- device_type (DeviceClass in HA) for `*_dosing_state` changed to `ENUM`.

0.6.4

Added:
- Implemented a message buffer to handle messages larger than 1024 bytes.
- Handles SL messages split across multiple chunks of data as well as multiple SL messages in a single chunk of data.
- Included raw values for parsed chemistry bitmasks to aid debugging.
- `"chemistry": { "alerts": { "_raw": 0, ...`
- `"chemistry": { "notifications": { "_raw": 0, ...`
- Added some additional chemistry flags for future use.
Changed:
- Renamed unknown bytes keys within circuit defs to include byte offsets.
- `unknown1` -> `unknown_at_offset_**`
- `unknown2` -> `unknown_at_offset_**`

0.6.3

**Changed:**
- Store `freeze_mode` value in standard 1=on, 0=off instead of it's raw value of 8=on.

0.6.2

**Changed:**
- Updated Python version classifiers to include 3.10 & 3.11.

0.6.1

**Changes**:
- Use constants for measurement units.
- This supports conversion of screenlogicpy's prefered way of displaying measurement units to a consuming application's prefered way.
- Will be useful in in Home Assistant to support broader/future device types and HA's native unit functionality.
- Use asyncio.timeout/async_timeout to avoid creating tasks.
- py3.11 has a new asyncio.timeout which is much more efficient. Uses async_timeout on < py3.11. (Thanks bdraco)

0.6.0

**Changed:**
- Device types
- Added
- `duration` for pH/ORP Last Dose Time
- `volume` for pH/ORP Last Dose Volume
- Updated
- `energy` -> `power` for Pump Current Watts
- SCG limit for Spa mode upped to 100
- Refactored CLI tests to use pytest.mark.parametrize()

**Added:**
- Ability to set IntelliChem chemistry values
- pH Setpoint
- ORP Setpoint
- Calcium Hardness
- Total Alkalinity
- Cyanuric Acid
- Salt Level

Page 3 of 5

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.