Commit Graph

132 Commits (llm-task-pref)

Author SHA1 Message Date
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
Duco Sebel 3d5329755f
Add extra tests for HomeWizard for unsupported entity creation (#105149) 2023-12-07 09:24:27 +01:00
Franck Nijhof cd1ee70707
Use orjson to load HomeWizard test fixtures (#104832) 2023-11-30 19:58:33 +01:00
Franck Nijhof 321b24b146
Improve user-facing error messages in HomeWizard Energy (#104547) 2023-11-27 07:47:46 +01:00
Franck Nijhof 32eab2c7ed
Remove duplicate sensors on single phase HomeWizard meters (#104493)
Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-11-26 11:42:47 +01:00
Franck Nijhof bd27358398
Adjust HomeWizard test fixtures to match actual devices (#104537) 2023-11-26 11:09:14 +01:00
Franck Nijhof 8273427974
Complete tests for HomeWizard energy plug HWE-SKT (#104474) 2023-11-24 17:38:39 -06:00
Duco Sebel d4458cbac4
Fix HomeWizard sensors unavailable when value is '0' (#104302)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-24 21:38:46 +01:00
Duco Sebel 97d38dae09
Bumb python-homewizard-energy to 4.1.0 (#104121)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-17 13:01:44 +01:00
Franck Nijhof b3ceb82700
Add device fixtures and tests for HomeWizard Energy 3-phase kWh meter (#104118) 2023-11-17 11:47:42 +01:00
Franck Nijhof bb63da764e
Complete tests for HomeWizard kWh Meter SDM230 (#103840) 2023-11-12 14:30:00 +01:00
Franck Nijhof 5a452155fc
Small cleanup in HomeWizard tests (#103837) 2023-11-12 11:38:22 +01:00
Franck Nijhof 08b43c4477
Add device fixtures and tests for HomeWizard Energy Watersensor (#103383)
Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-11-06 18:12:58 +01:00
Franck Nijhof 07f03d9ec9
Set suggested display precision for HomeWizard Energy power sensors (#103369) 2023-11-04 15:40:50 +01:00
Franck Nijhof 109944e4ff
Replace/restructure HomeWizard device fixtures to reflect reality (#103311) 2023-11-04 13:37:08 +01:00
Duco Sebel 0f72495a7d
Rename power to energy in HomeWizard (#102948) 2023-10-30 19:09:23 +01:00
Franck Nijhof 487dcf227e
Rewrite HomeWizard Energy tests (#103000)
Co-authored-by: Duco Sebel <74970928+DCSBL@users.noreply.github.com>
2023-10-30 14:07:42 +01:00
Franck Nijhof 8e112c04fb
Improve diagnostic handling in HomeWizard Energy (#102935) 2023-10-27 23:27:17 +02:00
Franck Nijhof 100c3079ae
Hide mac address from HomeWizard Energy config entry/discovery titles (#102931) 2023-10-27 23:26:28 +02:00
J. Nick Koston 0eca433004
Update zeroconf discovery to use IPAddress objects to avoid conversions (#100567) 2023-09-19 18:58:46 +02:00
Joost Lekkerkerker e9495c9cc6
Add entity translations for homewizard (#95416)
* Add entity translations for homewizard

* Add entity translations for homewizard

* Add entity translations for homewizard

* Fix tests
2023-06-28 14:02:54 +02:00
Duco Sebel 9092f6a60f
Handle UnsupportedError in HomeWizard (#91608)
* Handle UnsupportedEror

* Make error message more clear

* Remove debug line, whoops
2023-04-19 11:14:28 -04:00
Duco Sebel 8ca3440f33
Bump python-homewizard-energy to 2.0.1 (#91097) 2023-04-13 13:42:35 +02:00
epenet 9404a107b2
Add type hints to integration tests (part 10) (#87985) 2023-02-13 10:25:26 +01:00
epenet 37a2040d7b
Add type hints to integration tests (h-i) (#87703) 2023-02-08 18:12:56 +01:00
epenet a79be493e5
Adjust hass_client type hint in integration tests (#86954)
* Adjust hass_client type hint in integration tests

* Adjust hass_client_no_auth

* Fix rebase
2023-02-02 16:29:57 -05:00
Franck Nijhof e4a78420b8
Enable Ruff PT013 (#86757)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-27 09:09:46 +01:00
Franck Nijhof e50a531cd9
Code styling tweaks to the tests - Part 2 (#86662)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2023-01-26 01:23:53 +01:00
Duco Sebel bcec69fec1
Upgrade python-homewizard-energy to 1.7.0 (#86383) 2023-01-22 17:11:27 +01:00
Franck Nijhof 7e8c081065
Refactor HomeWizard switch platform to use entity descriptions (#86011) 2023-01-20 08:49:04 -05:00
Franck Nijhof a9728bd3a5
Update python-homewizard-energy to 1.6.1 (#86274)
* Update python-homewizard-energy to 1.6.1

* Adjust tests
2023-01-20 08:48:48 -05:00
Franck Nijhof c14aa7bee4
Automatically set up HomeWizard during onboarding (#86024)
* Automatically set up HomeWizard during onboarding

* Add disabled API during onboarding test

* Mark onboarding complete half way in the test
2023-01-20 08:48:36 -05:00
Duco Sebel 658db7ff05
Add sensors for smart and gas meter identifiers (serial numbers) in HomeWizard (#86282) 2023-01-20 13:42:01 +01:00
Duco Sebel 4be7b62607
Bumb python-homewizard-energy to 1.6.0 (#86255) 2023-01-19 21:33:58 -05:00
Franck Nijhof 6f44bd43b0
Clean up HomeWizard diagnostic tests (#86211) 2023-01-19 09:35:12 +01:00
Duco Sebel 0f3221eac7
Add Enum device class for HomeWizard active tariff (#86078)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-17 14:46:08 +01:00
Franck Nijhof c26d620ab1
Clean up unused import steps from HomeWizard config flow (#86002) 2023-01-16 12:24:23 +01:00
Franck Nijhof 11a81dc485
Improve typing of HomeWizard sensors (#85997)
* Improve typing of HomeWizard sensors

* Fix typo when tried to fix a typo :)
2023-01-16 11:22:46 +01:00
Duco Sebel ccd8bc14e0
Add sensors for new P1 datapoints in HomeWizard (#85198)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
fixes undefined
2023-01-16 09:59:07 +01:00
Franck Nijhof 91ac6400b9
Clean up legacy import from HomeWizard (#85960) 2023-01-15 20:14:19 +02:00
Duco Sebel 209c47383d
Implement state error handling in HomeWizard (#84991)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-15 17:30:27 +01:00
Michael e35ab75c0b
Replace the usage of unit constants by enumerations in Tests [h-l] (#85934) 2023-01-15 14:52:55 +01:00
Duco Sebel ab6535382d
Bumb python-homewizard-energy to 1.4.0 (#85114) 2023-01-05 11:35:59 +01:00
Duco Sebel d8cbff65f1
Fix code quality issues for HomeWizard (#84134)
* Remove unused constant

* Reuse fetch check for retrieving device information

* Remove else block

* Patch integration setup in test

* use isinstance to detect return type, instead of tuple

* Raise exception when recoverable error has been triggered to make code cleaner

* Use error code to split message and localization

* Actually log things
2022-12-29 10:35:24 -08:00
Duco Sebel b41d0be952
Improve HomeWizard request issue reporting (#82366)
* Trigger reauth flow when HomeWizard API was disabled

* Add tests for reauth flow

* Fix typo in test

* Add parallel updates constant

* Improve error message when device in unreachable during config

* Set quality scale

* Remove quality scale

* Throw error instead of abort when setup fails

* Adjust test for new setup behaviour

* Trigger reauth flow when API is disabled and continue retrying

* Reload entry and raise AuthFailed during init

* Abort running config flow

* Listen for coordinator updates to trigger reload

* Use build-in backoff system

* Fix failing test

* Test reauth flow is active after disable-api init

* Test reauth flow removal
2022-12-16 10:53:54 -05:00
Duco Sebel c2d372dd13
Fix HomeWizard code quality issues (#82973)
* Sort platforms a-z

* Collect all switch entities and load in a single call

* Add test for button press
2022-11-30 10:28:28 +01:00
Duco Sebel 367b5e586b
Add support for HomeWizard identify feature (#82375)
* Add support for Identify feature

* Add tests for button

* Use only identifiers for device_info

* Update homeassistant/components/homewizard/button.py
2022-11-27 20:48:35 -05:00
Duco Sebel 27bd1520e8
Add support for HomeWizard enable/disable cloud feature (#82573) 2022-11-27 14:26:15 -05:00
Duco Sebel a969f69fd5
Add support for controlling HomeWizard Energy Socket status light level (#82378)
* Add control option for Energy Socket status LED

* Add tests for number

* Fix failing tests in switch

* Fix comments

* Adjust name

* Simplify device_info
2022-11-23 11:47:32 -05:00
Franck Nijhof 5b32540a84
Set water device class to flo, homewizard, p1_monitor, toon (#80944) 2022-10-25 13:21:47 +02:00
epenet fb7079c62c
Adjust icons with new device classes (#79348)
* Adjust icons with new device classes

* Fix mysensors tests

* Fix mysensors tests
2022-09-30 10:41:18 +02:00
Duco Sebel aa6f15b1e2
Use SensorDeviceClass.VOLUME in HomeWizard (#79323)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-29 21:51:18 -04:00
epenet fe747601ff
Cleanup DeviceClass and StateClass in tests (#78811) 2022-09-20 10:49:11 -04:00
Duco Sebel 5fdae0fc5b
Migrate HomeWizard to new entity naming style (#74958) 2022-07-12 15:56:16 +02:00
Duco Sebel 124c8e8f73
Add sensors for HomeWizard Watermeter (#74756)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-07-09 18:39:30 +02:00
Franck Nijhof a6244eea28
Search/replace RESULT_TYPE_* by FlowResultType enum (#74656) 2022-07-07 21:28:18 +02:00
Duco Sebel db5e94c93b
Fix HomeWizard is not catching RequestError (#73719)
* Fix RequestError was not catched

* Add test for RequestError
2022-06-20 10:30:57 +02:00
Duco Sebel 59f155b482
Fix homewizard diagnostics and add tests (#72611) 2022-05-30 14:37:28 -07:00
Duco Sebel 88c49f034a
Use 'python-homewizard-energy' dependency for HomeWizard (#71781)
* Update requirement

* Remove aiohwenergy and use python-homewizard-energy

* Update test to work with python-homewizard-energy

* Bumb python-homewizard-energy to 1.0.3
2022-05-25 09:05:11 +02:00
Ville Skyttä 38ef183433
Change newly appeared DISABLED_USERs in tests to RegistryEntryDisablers (#68799) 2022-03-28 21:15:42 +02:00
Joshua Roys 9134e5c844
Get discovered zeroconf IPv6 addresses (#65462) 2022-02-11 16:46:17 -06:00
Duco Sebel f2fe091979
Allow HomeWizard devices with disabled api to show up in discovery (#65295) 2022-02-08 14:51:28 -08:00
Duco Sebel 0d3bbfc9a7
Fix `homewizard_energy` migration issues from #65594 (#65718) 2022-02-04 14:45:06 -08:00
Duco Sebel a97e69196c
Add migration to migrate 'homewizard_energy' to 'homewizard' (#65594) 2022-02-04 09:12:35 -08:00
Erik Montnemery 23ee8adf59
Fix flaky homewizard test (#65490) 2022-02-03 09:23:32 +01:00
Duco Sebel 53e9a2451e
Add switch platform to HomeWizard Energy (#64084)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-01-21 10:44:56 +01:00
Duco Sebel 19c65abaa6
Fix initial HomeWizard integration issues (#63921)
* Use helper for setup and unload

* Set mutable object in __init__

* Move logic out of try..except

* Print stack trace on error in config flow

* Don't catch broad except in update_coordinator, already handled

* Fix typo

* Combine available with super.available()

* Fix issues with config_flow test

* Test coordiantor indirectly

* Test coordinator by moving time forward

* set utcnow beforehand and increase timedelta

* Roll back f658749

* Rolled back the rollback and fixed timing

* Move setting time after adding to hass
2022-01-14 19:28:24 +01:00
Duco Sebel 8f6e24aa1e
Add HomeWizard Energy integration (#55812)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-01-10 16:23:31 -08:00