Commit Graph

117 Commits (dc5bfba902ce531e97ccbb8385a49a298f8cee21)

Author SHA1 Message Date
Erik Montnemery ecb3bf79f3
Revert "Add support for subentries to config entries" (#133470)
Revert "Add support for subentries to config entries (#117355)"

This reverts commit ad15786115.
2024-12-18 13:51:05 +01:00
Erik Montnemery ad15786115
Add support for subentries to config entries (#117355)
* Add support for subentries to config entries

* Improve error handling and test coverage

* Include subentry_id in subentry containers

* Auto-generate subentry_id and add optional unique_id

* Tweak

* Update tests

* Fix stale docstring

* Address review comments

* Typing tweaks

* Add methods to ConfigEntries to add and remove subentry

* Improve ConfigSubentryData typed dict

* Update test snapshots

* Adjust tests

* Fix unique_id logic

* Allow multiple subentries with None unique_id

* Add number of subentries to config entry JSON representation

* Add subentry translation support

* Allow integrations to implement multiple subentry flows

* Update translations schema

* Adjust exception text

* Change subentry flow init step to user

* Prevent creating a subentry with colliding unique_id

* Update tests

* Address review comments

* Remove duplicaetd unique_id collision check

* Remove change from the future

* Improve test coverage

* Add default value for unique_id
2024-12-12 20:16:18 +01:00
Duco Sebel 5f3bb7e89e
Use build in unit of measurement in HomeWizard 'Water usage' sensor (#132261) 2024-12-06 22:55:39 +01:00
Duco Sebel 89ee49e50c
Round status light brightness number in HomeWizard (#132069) 2024-12-02 14:04:39 +01:00
Duco Sebel a252faf9af
Add reconfiguration flow in HomeWizard (#131535) 2024-11-26 19:20:50 +01:00
Duco Sebel a9cab28474
Add DHCP configuration update in HomeWizard (#131547) 2024-11-26 19:17:04 +01:00
Duco Sebel 1ddc8a35c2
Add test to validate HomeWizard updates discovery info (#131540) 2024-11-26 13:14:59 +01:00
Duco Sebel 521cc67d45
Streamline HomeWizard unit test MAC-addresses (#131310)
* Streamline HomeWizard unit test MAC-addresses

* Also streamline mock_config_entry
2024-11-26 09:54:23 +01:00
Duco Sebel 904c3291d9
Add exception translation in HomeWizard coordinator (#131404) 2024-11-25 10:23:07 +01:00
Duco Sebel 1e313c6ff5
Bumb python-homewizard-energy to 7.0.0 (#131366) 2024-11-23 14:29:03 -05:00
Duco Sebel 1f8fd52103
Fix reload not triggered on DisabledError in HomeWizard (#128636)
* Fix reload not triggered on DisabledError in HomeWizard

* Update homeassistant/components/homewizard/coordinator.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Use helper and fix merge issue

* Add test to detect reload on DisabledError

* Wait until next update instead of a direct call to update

* Add doc why we reload

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-18 14:48:41 +02:00
Duco Sebel 4251389c12
Remove ExternalDevice 'invalid ID' migration in HomeWizard (#128634) 2024-10-18 09:33:53 +02:00
epenet 117bc67a4c
Adjust homewizard translation strings (#128423)
* Add missing translation for homewizard

* Adjust
2024-10-15 11:34:20 +02:00
epenet f41494b7cc
Ensure config_flow abort reasons have translations (#128140)
* Ensure config_flow abort reasons have translations

* Ignore fake_integration in application_credentials

* Mark gardena_bluetooth as needs fixing

* Mark google as needs fixing

* Mark google_assistant_sdk as needs fixing

* Mark homewizard as needs fixing

* Mark homeworks as needs fixing

* Mark honeywell as needs fixing

* Mark jewish_calendar as needs fixing

* Mark lg_netcast as needs fixing

* Mark lifx as needs fixing

* Mark lyric as needs fixing

* Mark madvr as needs fixing

* Mark matter as needs fixing

* Mark melcloud as needs fixing

* Mark motioneye as needs fixing

* Mark ollama as needs fixing

* Mark philips_js as needs fixing

* Mark spotify as needs fixing

* Mark srp_energy as needs fixing

* Mark subaru as needs fixing

* Mark tplink as needs fixing

* Mark yolink as needs fixing

* Mark youtube as needs fixing

* Fix incorrect comment
2024-10-14 16:39:10 +02:00
Erik Montnemery d82bff1bc2
Index config entry discovery_keys by discovery domain (#126563)
* Index config entry discovery_keys by discovery domain

* Add new signal

* Update tests

* Update homeassistant/config_entries.py

Co-authored-by: J. Nick Koston <nick@koston.org>

* Fix imports

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 21:48:11 +02:00
Erik Montnemery b2982c18bb
Reinitialize zeroconf discovery flow on unignore (#125753)
* Reinitialize zeroconf discovery flow on unignore

* Adjust tests

* Improve comments

* Fix logic for updating discovery keys

* Add tests

* Use mock_config_flow helper in new config_entries test

* Add discovery_keys attribute to ConfigEntry

* Update zeroconf rediscovery

* Change type of ConfigEntry.discovery_keys

* Update tests

* Fix DiscoveryKey.from_json_dict and add tests

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 16:49:21 +02:00
Duco Sebel 186c9aa33b
Remove ExternalDevice migration in HomeWizard (#125197) 2024-09-04 18:32:57 +02:00
epenet 9d633f2087
Use start_reauth helper method in integration tests (h-l) (#124787) 2024-08-28 15:47:35 +02:00
Christian Neumeier 3e53cc175f
Change POWER_VOLT_AMPERE_REACTIVE to UnitOfReactivePower (#117153)
* Refactoring: exchange POWER_VOLT_AMPERE_REACTIVE with UnitOfReactivePower

* updated iotawatt and mysensors from VOLT_AMPERE_REACTIVE to UnitOfReactivePower.VOLT_AMPERE_REACTIVE

* deprecation period for POWER_VOLT_AMPERE_REACTIVE changed to one year.

* POWER_VOLT_AMPERE_REACTIVE changed to UnitOfReactivePower in blebox integration

* Update homeassistant/const.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-21 15:36:45 +02:00
Duco Sebel 5612e3a92b
Bumb python-homewizard-energy to 6.1.1 to embed model in upstream library (#122365) 2024-07-22 11:26:38 +02:00
Duco Sebel 474e8b7a43
Implement model_id in HomeWizard (#122130)
* Add model_id and use hardcoded model names for HomeWizard

* Update names
2024-07-19 08:22:06 +02:00
Franck Nijhof 8ae4c4445d
Clean up old migration in HomeWizard (#122086) 2024-07-17 16:18:21 +02:00
Joost Lekkerkerker f8ba4d41ba
Add support for adding model_id in device info (#121989) 2024-07-16 15:12:25 +02:00
Marc Mueller 921430d497
Import Generator from collections.abc (3) (#120916) 2024-07-01 12:09:11 +02:00
Erik Montnemery 9bbeb5d608
Add primary_config_entry attribute to device registry entries (#119959)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-26 12:26:24 +02:00
Paulus Schoutsen eb89ce47ea
Inline primary integration (#119860) 2024-06-18 08:08:08 +02:00
Paulus Schoutsen 836abe68c7
Track primary integration (#119741)
* Track primary integration

* Update snapshots

* More snapshots updated

* Uno mas

* Update snapshot
2024-06-16 13:26:06 -04:00
Marc Mueller 33ed4fd862
Import Generator from typing_extensions (3) (#118990) 2024-06-06 17:28:59 +02:00
Duco Sebel 22cc7d34d5
Fix unique_id not being unique in HomeWizard (#117940) 2024-05-27 11:23:10 +02:00
Joost Lekkerkerker b9281327c4
Use FlowResultType enum in config flow tests A-M (#114681) 2024-04-03 09:21:17 +02:00
Joost Lekkerkerker 906d3198e3
Use is in enum comparison in config flow tests F-J (#114670)
* Use right enum expression F-J

* Fix
2024-04-02 23:01:37 +02:00
Duco Sebel 788813aad6
Implement Identify button and Cloud connection toggle for HomeWizard Watermeter (#113814) 2024-03-26 10:34:36 +01:00
Joost Lekkerkerker 6bb4e7d62c
Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
Duco Sebel cad3be8213
Add new HomeWizard Energy Socket to tests (#113406) 2024-03-22 16:48:27 +01:00
Duco Sebel 48553ece68
Remember entered IP when error happend while setting up HomeWizard (#113815) 2024-03-22 16:10:03 +01:00
Erik Montnemery 426f73b1f4
Add State.last_reported (#113511)
* Add State.last_reported

* Update tests

* Update test snapshots

* Call state_reported listeners when firing state_changed event

* Add tests
2024-03-20 21:05:07 +01:00
Marc Mueller c88b337600
Add empty line after module docstring [tests f-k] (#112709) 2024-03-08 14:50:04 +01:00
J. Nick Koston a6b17dbe68
Schedule polling as periodic tasks (#112640)
* Schedule periodic coordinator updates as background tasks.

Currently, the coordinator's periodic refreshes delay startup because they are not scheduled as background tasks. We will wait if the startup takes long enough for the first planned refresh. Another coordinator's scheduled refresh will be fired on busy systems, further delaying the startup. This chain of events results in the startup taking a long time and hitting the safety timeout because too many coordinators are refreshing.

This case can also happen with scheduled entity refreshes, but it's less common. A future PR will address that case.

* periodic_tasks

* periodic_tasks

* periodic_tasks

* merge

* merge

* merge

* merge

* merge

* fix test that call the sync api from async

* one more place

* cannot chain

* async_run_periodic_hass_job

* sun and pattern time changes from automations also block startup

* Revert "sun and pattern time changes from automations also block startup"

This reverts commit 6de2defa05.

* make sure polling is cancelled when config entry is unloaded

* Revert "Revert "sun and pattern time changes from automations also block startup""

This reverts commit e8f12aad55.

* remove DisabledError from homewizard test as it relies on a race

* fix race

* direct coverage
2024-03-07 23:32:26 -05:00
Franck Nijhof e0a9dcd996
Add label registry (#110821) 2024-02-19 11:59:08 +01:00
Marc Mueller 46f8fb3ac1
Use builtin TimeoutError [misc] (#109703) 2024-02-05 18:45:16 +01:00
Duco Sebel 41fdcce226
Bumb python-homewizard-energy to 4.3.0 (#109131) 2024-01-31 01:50:00 +01:00
Duco Sebel d631cad07f
Add new sensors exposed by HomeWizard kWh meter (#108850)
* Add new sensors exposed by kWh meter

* Add entity translation placeholders

* Fix Mypy issue

* Adjusts tests

* Remove suggested display precision for disabled-by-default sensors

* Update test-snapshots

* Update snapshots
2024-01-29 14:42:16 +01:00
Duco Sebel dbc568cd53
Simplify HomeWizard sensor names (#108854)
* Simplify HomeWizard sensor names

* Simplify translations even more by using default device_class names
2024-01-29 13:24:00 +01:00
Duco Sebel 1fa7ceede3
Use entity translations placeholders in HomeWizard (#108741)
* Adopt Entity placeholders

* Undo some snapshot changes
2024-01-25 13:15:20 +01:00
Duco Sebel 0c9a30ab69
Add support for externally connected utility devices in HomeWizard (#100684)
* Backport code from #86386

* Add tests

* Remove local dev change

* Implement device class validation based on unit

* Swap sensor and externalsensor classes (based on importance)

* Use translations for external sensor entities

* Re-add meter identifier as sensor for external devices

* Add migration for Gas identifier

* Rename HomeWizardExternalIdentifierSensorEntity class

* Fix all existing tests

* Reimplement tests for extenal devices with smapshots

* Remove non-used 'None' type in unit

* Add migration test

* Clean up parameterize

* Add test to fix last coverage issue

* Fix non-frozen mypy issue

* Set device name via added EntityDescription field

* Remove device key translations for external sensors,

* Bring back translation keys

* Set device unique_id as serial number

* Remove meter identifier sensor

* Simplify external device initialization

* Adjust tests

* Remove unused gas_meter_id migration

* Remove external_devices redaction

* Remove old gas meter id sensor after migration
2024-01-25 12:51:50 +01:00
Duco Sebel f7b0a15aa5
Bumb python-homewizard-energy to 4.2.1 (#108738) 2024-01-24 08:31:23 +01:00
Franck Nijhof e71efa0e2b
Add icon translations to HomeWizard Energy (#108506)
* Add icon translations to HomeWizard Energy

* Update snapshots
2024-01-20 14:14:48 -05:00
Erik Montnemery 6908497c3d
Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Duco Sebel 156dac394a
Add migration for old HomeWizard sensors (#105251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 09:39:39 +01:00
Duco Sebel f8c216a5ea
Use brightness scaling util in HomeWizard Number entity (#105147) 2023-12-07 09:37:20 +01:00