* Add program options as entities
* Use program options constraints
* Only fetch the available options on refresh
* Extract the option definitions getter from the loop
* Add the option entities only when it is required
* Fix typo
* Add and delete devices on CONNECT/PAIRED and DEPAIRED events
* Simplify device depairing
* small fixes
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Add always the devices
* kind of revert changes
to simplify the entity fetch and removing on connected/paired and depaired
* cache `ha_id`
* Fix typo
* Remove unnecessary device info at HomeConnectEntity
* Move common code of each platform to `common.py`
* Added docstring to clarify usage
* Apply suggestions
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fetch current active and selected programs
* Intialize HomeConnectEntity first at SelectProgramEntity
* Use the right exception
* Use active/selected program from `get_all_programs`
This will allow us to reduce the number of requests that we need to perform to get all the data ready (only one requests vs. three requests)
* Remove no longer required mocks
* Fix
* Base the entity availability on the connected state of the appliance
* cache `ha_id`
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Inlcude coordinator `available` property at entity
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Migrate from homeconnect dependency to aiohomeconnect
* Reload the integration if there is an API error on event stream
* fix typos at coordinator tests
* Setup config entry at coordinator tests
* fix ruff
* Bump aiohomeconnect to version 0.11.4
* Fix set program options
* Use context based updates at coordinator
* Improved how `context_callbacks` cache is invalidated
* fix
* fixes and improvements at coordinator
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove stale Entity inheritance
* Small improvement for light subscriptions
* Remove non-needed function
It had its purpose before some refactoring before the firs commit, no is no needed as is only used at HomeConnectEntity constructor
* Static methods and variables at conftest
* Refresh the data after an event stream interruption
* Cleaned debug logs
* Fetch programs at coordinator
* Improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Simplify obtaining power settings from coordinator data
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Remove unnecessary statement
* use `is UNDEFINED` instead of `isinstance`
* Request power setting only when it is strictly necessary
* Bump aiohomeconnect to 0.12.1
* use raw keys for diagnostics
* Use keyword arguments where needed
* Remove unnecessary statements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>