Breaking Changes:
- Require python 3.10+
- Portions of codebase now use union type hints
- Refactor exception handling
- Methods that lead to making a request to the protocol adapter will no longer return a `bool` indicating success. Instead an appropriate exception will be raised if an error is encountered.
- Add more granular `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.
Changes:
- Make set_scg_config and set_chem_data kwargs only.
- Supports needing to only supply the changed value(s), not all values set with pool command.
- Refactor unit/integration testing.
- Make actual unit tests for many functions.
- Add support for pulling testing data from .json files.
- Support testing against multiple data sets.
- Support for creating data sets from HA diagnostic exports.
Added:
- Add support for getting and setting pool controller date/time.
- Support for syncing pool controller date/time to the host's date/time.
- Support getting/setting Super Chlorination settings.
- CLI support for:
- Setting user-set IntelliChem values:
- Calcium Hardness
- Cyanuric Acid
- Total Alkalinity
- Salt/TDS
- Setting super chlorinate values:
- Enabled (On/Off)
- Run Time Hours
- Getting and setting pool controller date and/or time.
- Exporting a testing data set.