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`.