* Allow multiple config entries in Home Connect
* Config entry migration
* Create new entry if reauth flow is completed with other account
* Abort if different account on reauth
* Disable specific updates for an appliance when is done repeatedly
* Fix deprecation issues fix tests
* Fix message
* Avoid fetching appliance info also
* Apply suggestions
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Create specific RepairFlow for enabling appliance's updates
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Do not fetch disconnected Home Connect appliances
* Apply suggestions
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update docstring
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Dynamically add Home Connect event sensors to HA
* Add and remove listeners on paired and depaired events
* Apply suggestion
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update test
* Adjust English
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Move alarm clock entity from time platform to number platform
* Deprecate alarm clock time entity
* Don't update unique id
* Fix tests
* Fixable issues
* improvement
* Make the issues persistent
* Fix initial fetch of appliance data to handle API rate limit errors
* Apply comments
* Delete stale function
* Handle api rate limit error at options fetching
* Update appliances after stream non-breaking error
* Always initialize coordinator data
* Improve device update
* Update test description
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Handle errors when obtaining options definitions
* Don't fetch program options if the program key is unknown
* Test to ensure that available program endpoint is not called on unknown program
* 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
* Added recognized options to Home Connect actions
* Fix ruff
* Fix strings.json
* Fix dishwasher typo
* Improved test_bsh_key_transformations
* Add missing return types
* Added descriptions
* Remove custom options
* Fixes
* Merge the 4 services (select, start, set options for active or selected program)
And deprecate the original ones
* Delete stale snapshots
* Clean up logic after service validation
* Make deprecated actions issues fixable
And delete issue on entry unload
* Fixes and improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Fix name and descriptions
* Add `affects_to` to strings and service.yaml
* Add missing periods at strings
* Fix
Co-authored-by: Norbert Rittel <norbert@rittel.de>
* Add tests to check if the flow removes the deprecated action issue
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
* Make Home Connect config entry unique
* Use unique ID for Home connect config entry
* Remove unnecessary code
* Revert "Use unique ID for Home connect config entry"
This reverts commit 4241317469.
* Added tests
* 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>
* Filter programs by execution type at select program entities
* Suggestions and improvements
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Use function and translation key at select program entity description
* Fix select entity description docstring
---------
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>