Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.10.0 #65

Merged
merged 54 commits into from
Nov 29, 2023
Merged

v0.10.0 #65

merged 54 commits into from
Nov 29, 2023

Conversation

dieselrabbit
Copy link
Owner

  • 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.
  • Refactor exception handling
    • Add more granular ScreenLogicException:
      • ScreenLogicCommunicationError - Base class for all communication errors.
        • ScreenLogicRequestError - Protocol adapter indicated an unknown or malformed request.
        • ScreenLogicConnectionError - Connection to the protocol adapter was lost.
        • ScreenLogicResponseError - Protocol adapter returned an unexpected response.
        • ScreenLogicLoginError - The login was explicitly rejected.
    • 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 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.
  • Require python 3.10+

* Make set_scg and set_chem kwargs only
* Ensure all params exist for set_chem
* SL specific errors
* Initial implementation of retrying requests
* Fix logging
* Use async_make_request
* Retry tests
* Expose retry count to gateway async_send_message
* Set max_retries on gateway
* Variable CLIENT_ID (#43)
* Support specifying client_id, otherwise random
* Take client_id at gateway instantiation not host
* Update `MockConnectedGateway` to late connect
* Update tests
* Update to late connect
* Allow setting max_retries at instantiate
* Changes to instantiate. Formatting.
* Make changelogs lists
* Wording.
* Move .decode into getString
* Additional message code notes
* Latest data example
* Late connect for MockConnectedGateway
* Make set_scg kwargs only
* Reorder get/set
* Make set_scg and set_chem kwargs only
* Ensure all params exist for set_chem
* SL specific errors
* Latest data example
* Make set_scg kwargs only
* Fix output with 0
* New output format
* Update set chem test
* Merge fixes
* Fixes for python 3.8
* New data validation
* SCG and Chem settings moved to optional args
* Update for optional args
* Updates for optional args
* Account for 0 being falsy
* Refactor CLI
* Deprecate support for Python 3.8
* Refactor option
* Refactor validation
* Possible ultra temp equip flag
* Fix calcium hardness spelling
* SLValueRange for limits, ON_OFF.from_bool returns enum
* Force kwargs for chem_data and scg_config
* Tests for cli updates
* Handle missing existing values for kwarg methods
…LI (#54)

* Test Fixture refactor

* Initial data sets

* Save adapter version debug response

* ScreenLogicResponseCollection

* Data sets for test_decode

* repr tuples in json

* Data export CLI option

* Test refactor to use json data

* Move response handling into individual methods for patching.

* Remove unused alt login function

* Standardize mock protocol adapter naming

* Test login coverage

* Simplify process_discovery_response

* Test discovery coverage

* cleanup

* Test data coverage

* SLIntEnum cleanup

* Remove CLIFormat
* Spec v0.10.0, Target python 3.10

* Prep v0.10.0 documentation
* New exception classes

* Raise exception on unexpected response

* Raise exceptions for undesirable responses

* Fix condition typo

* Standardize if statement

* Exception refactor

* Use new exceptions

* Update for new exceptions

* Replace deleted debug output

* Update ping for new exception

* Raise connection error when future canceled and connection is closed

* Test updates
* Time utilities; Support SL utf-16 string encoding.

* Update autoDST to int

* Support getting and setting date+time

* Identified tz_adjust

* v0.9.0 updates

* Time utilities; Support SL utf-16 string encoding.

* CLI support

* Update .gitignore

* Fix Hardness

* New exception handling

* Remove duplicate getTime

* Update kwargs format

* Datetime command functions

* Updated response collection for v0.10.0

* Test date_time cli

* Handle date_time requests

* SCG state uses value

* auto_dst as dict

* Include date_time in data export

* Zero out seconds in encoded time

* Correct aDST to int

* Flip success logic

* Set current date-time if no parameters specified

* Updated for no parameter date-time

* Fix auto_dst dict path
@dieselrabbit dieselrabbit merged commit 65457cc into master Nov 29, 2023
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant