Commit Graph
117 Commits
Author SHA1 Message Date
Erik MontnemeryandGitHub 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 MontnemeryandGitHub 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 SebelandGitHub 5f3bb7e89e Use build in unit of measurement in HomeWizard 'Water usage' sensor (#132261) 2024-12-06 22:55:39 +01:00
Duco SebelandGitHub 89ee49e50c Round status light brightness number in HomeWizard (#132069) 2024-12-02 14:04:39 +01:00
Duco SebelandGitHub a252faf9af Add reconfiguration flow in HomeWizard (#131535) 2024-11-26 19:20:50 +01:00
Duco SebelandGitHub a9cab28474 Add DHCP configuration update in HomeWizard (#131547) 2024-11-26 19:17:04 +01:00
Duco SebelandGitHub 1ddc8a35c2 Add test to validate HomeWizard updates discovery info (#131540) 2024-11-26 13:14:59 +01:00
Duco SebelandGitHub 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 SebelandGitHub 904c3291d9 Add exception translation in HomeWizard coordinator (#131404) 2024-11-25 10:23:07 +01:00
Duco SebelandGitHub 1e313c6ff5 Bumb python-homewizard-energy to 7.0.0 (#131366) 2024-11-23 14:29:03 -05:00
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 SebelandGitHub 4251389c12 Remove ExternalDevice 'invalid ID' migration in HomeWizard (#128634) 2024-10-18 09:33:53 +02:00
epenetandGitHub 117bc67a4c Adjust homewizard translation strings (#128423)
* Add missing translation for homewizard

* Adjust
2024-10-15 11:34:20 +02:00
epenetandGitHub 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
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
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 SebelandGitHub 186c9aa33b Remove ExternalDevice migration in HomeWizard (#125197) 2024-09-04 18:32:57 +02:00
epenetandGitHub 9d633f2087 Use start_reauth helper method in integration tests (h-l) (#124787) 2024-08-28 15:47:35 +02:00
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 SebelandGitHub 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 SebelandGitHub 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 NijhofandGitHub 8ae4c4445d Clean up old migration in HomeWizard (#122086) 2024-07-17 16:18:21 +02:00
Joost LekkerkerkerandGitHub f8ba4d41ba Add support for adding model_id in device info (#121989) 2024-07-16 15:12:25 +02:00
Marc MuellerandGitHub 921430d497 Import Generator from collections.abc (3) (#120916) 2024-07-01 12:09:11 +02:00
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 SchoutsenandGitHub eb89ce47ea Inline primary integration (#119860) 2024-06-18 08:08:08 +02:00
Paulus SchoutsenandGitHub 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 MuellerandGitHub 33ed4fd862 Import Generator from typing_extensions (3) (#118990) 2024-06-06 17:28:59 +02:00
Duco SebelandGitHub 22cc7d34d5 Fix unique_id not being unique in HomeWizard (#117940) 2024-05-27 11:23:10 +02:00
Joost LekkerkerkerandGitHub b9281327c4 Use FlowResultType enum in config flow tests A-M (#114681) 2024-04-03 09:21:17 +02:00
Joost LekkerkerkerandGitHub 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 SebelandGitHub 788813aad6 Implement Identify button and Cloud connection toggle for HomeWizard Watermeter (#113814) 2024-03-26 10:34:36 +01:00
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 SebelandGitHub cad3be8213 Add new HomeWizard Energy Socket to tests (#113406) 2024-03-22 16:48:27 +01:00
Duco SebelandGitHub 48553ece68 Remember entered IP when error happend while setting up HomeWizard (#113815) 2024-03-22 16:10:03 +01:00
Erik MontnemeryandGitHub 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 MuellerandGitHub c88b337600 Add empty line after module docstring [tests f-k] (#112709) 2024-03-08 14:50:04 +01:00
J. Nick KostonandGitHub 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 NijhofandGitHub e0a9dcd996 Add label registry (#110821) 2024-02-19 11:59:08 +01:00
Marc MuellerandGitHub 46f8fb3ac1 Use builtin TimeoutError [misc] (#109703) 2024-02-05 18:45:16 +01:00
Duco SebelandGitHub 41fdcce226 Bumb python-homewizard-energy to 4.3.0 (#109131) 2024-01-31 01:50:00 +01:00
Duco SebelandGitHub 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 SebelandGitHub 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 SebelandGitHub 1fa7ceede3 Use entity translations placeholders in HomeWizard (#108741)
* Adopt Entity placeholders

* Undo some snapshot changes
2024-01-25 13:15:20 +01:00
Duco SebelandGitHub 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 SebelandGitHub f7b0a15aa5 Bumb python-homewizard-energy to 4.2.1 (#108738) 2024-01-24 08:31:23 +01:00
Franck NijhofandGitHub 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 MontnemeryandGitHub 6908497c3d Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
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 SebelandGitHub f8c216a5ea Use brightness scaling util in HomeWizard Number entity (#105147) 2023-12-07 09:37:20 +01:00