Commit Graph

22 Commits (dev)

Author SHA1 Message Date
J. Diego Rodríguez Royo 3af0d6e484
Use `is` instead of `==` on check against enum value at Home Connect (#144083)
* Use `is` instead of `==` on check against enum value at Home Connect

* Revert HTTP status checks
2025-05-02 10:08:46 +02:00
J. Diego Rodríguez Royo 883ab44437
Move Home Connect entry state assertion at tests (#144027) 2025-05-01 23:04:03 +02:00
J. Diego Rodríguez Royo 79aa7aacec
Sort Home Connect test params (#144035) 2025-05-01 12:04:25 +02:00
J. Diego Rodríguez Royo a084b9fdde
Set `autouse` to `setup_credentials` Home Connect fixture (#144028) 2025-05-01 11:24:05 +02:00
J. Diego Rodríguez Royo bc47049d42
Remove non required Home Connect tests (#144024) 2025-05-01 10:18:32 +02:00
J. Diego Rodríguez Royo 15aff9662c
Refresh Home Connect program entities possible options when an appliance gets connected (#143213)
Refresh options when an appliance gets connected
2025-04-29 13:12:21 +02:00
J. Diego Rodríguez Royo 60293648dc
Create Home Connect active and selected program entities only when there are programs (#143185)
* Create active and selected program entities only when there are programs

* Test improvements
2025-04-18 00:09:52 +02:00
J. Diego Rodríguez Royo d8a5881eaa
Home Connect test improvements (#141135)
* Home Connect test improvements

* Remove `appliance_ha_id` fixture in favour of `appliance` fixture
2025-03-23 11:33:55 +01:00
J. Diego Rodríguez Royo 8afd9c0c44
Handle API rate limit error on Home Connect entities fetch (#139384)
* Handle API rate limit error on entities fetch

* Apply suggestions

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add decorator (does not work)

* Fix decorator

* Apply suggestions

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-03-19 18:53:14 +01:00
J. Diego Rodríguez Royo 940625505f
Handle non documented options at Home Connect select entities (#140608)
* Allow non documented options at select entities

* Don't allow undocumented options
2025-03-15 14:17:16 +01:00
J. Diego Rodríguez Royo 6ebda9322d
Fetch allowed values for select entities at Home Connect (#139103)
Fetch allowed values for enum settings
2025-02-23 13:54:02 +01:00
J. Diego Rodríguez Royo 5b0eca7f85
Add select setting entities to Home Connect (#138884)
* Add select setting entities

* Improvements
2025-02-23 01:42:25 +01:00
J. Diego Rodríguez Royo 92788a04ff
Add entities that represent program options to Home Connect (#138674)
* 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
2025-02-22 21:08:39 +01:00
J. Diego Rodríguez Royo 30314ca32b
Add and delete Home Connect devices on CONNECTED/PAIRED and DEPAIRED events (#136952)
* 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>
2025-02-02 02:02:45 +01:00
J. Diego Rodríguez Royo 147b5f549f
Fetch current active and selected programs at Home Connect (#136948)
* 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
2025-02-02 00:12:26 +01:00
J. Diego Rodríguez Royo 63ab13681a
Home Connect entities availability based on the connected state of the appliance (#136951)
* 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>
2025-02-01 12:46:49 +01:00
J. Diego Rodríguez Royo efcfd97d1b
Filter programs by execution type at select program entities at Home Connect (#136950)
* 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>
2025-02-01 12:06:39 +01:00
J. Diego Rodríguez Royo 4d4e11a0eb
Fetch all programs instead of only the available ones at Home Connect (#136949)
Fetch all programs instead of only the available ones
2025-01-31 08:26:57 +01:00
J. Diego Rodríguez Royo b637129208
Migrate from homeconnect dependency to aiohomeconnect (#136116)
* 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>
2025-01-30 02:42:41 +01:00
J. Diego Rodríguez Royo 67e2379d2b
Iterate over a copy of the list of programs at Home Connect select setup entry (#134684) 2025-01-06 15:21:02 +01:00
J. Diego Rodríguez Royo 8c6a24c368
Use HomeAssistant error in the right cases (#131923)
* Use the correct exceptions

* Improved exception strings
2024-11-29 22:11:15 -05:00
J. Diego Rodríguez Royo c2d6599736
Home connect program select entities (#126157)
* Home connect selector for programs

* Mark program switches as deprecated

* Simplified translation keys

* Improvements for program select entity

* Revert mark program switches as deprecated

* Return `None` if program is `None` or empty string

* Fix program format

* Use `is` instead of `==`

* Program selector entity selects program instead of start the selected program

* Fix typo

* Active and selected program

* Added ServiceValidationError

* Delete unnecessary `service` param at tests

* Use full program keys

* Fix again typos in programs states

* Use map for translations

* Add error handling for when the selected program is not registered on the program map

* Reverse map for programs and translation keys

* Remove stale string

* Log only once that the program is not part of the official Home Connect API specification

* pop programs

* Move `RE_CAMEL_CASE` to a better place

* Added warning if updated program is not valid

* Stale test function name

* Improve log about unknown program at update

* Add underscore before numbers in translation keys

* Added suggested changes

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Use target for adding an executor job

* Apply suggestions from code review

* Clean whitespace

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-27 16:34:41 +01:00