521 Commits

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 ad15786115673c5b3fe40ea2f5d61b4b896f433e.
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
epenet
b4d01dfd0c
Adjust scope of zha global quirks fixture (#132463) 2024-12-06 10:11:52 +01:00
Sid
9e98e446a2
Bump ruff to 0.8.0 (#131273) 2024-11-22 16:53:26 +01:00
puddly
50fdbe9b3b
Generic ZHA Zeroconf discovery (#126294) 2024-11-21 20:50:21 +01:00
puddly
51e592f450
Add informative header to ZHA update entity release notes (#130099) 2024-11-21 10:17:44 +01:00
puddly
390b83a963
Bump ZHA dependencies (#130563) 2024-11-15 09:55:22 +01:00
puddly
245fc246d8
Ensure ZHA setup works with container installs (#130470) 2024-11-14 10:13:29 +01:00
Marc Mueller
20a367b243
Fix zha tests for Python 3.13 (#129241) 2024-10-27 00:18:21 +02:00
Marc Mueller
44449d8e72
Fix zha test RuntimeWarnings (#128975) 2024-10-22 18:05:40 +02:00
G Johansson
cdfec7ebb4
Implement new state property for alarm_control_panel which is using an enum (#126283)
* Alarm state from enum

* Fixes

* Set final

* Fix rebase

* Test const

* Fix breaking version

* Fix other for alarm_control_panel

* Fix integrations

* More

* More

* More

* More

* Fix zha

* Replace _attr_state

* Fix alarm_control_panel

* Fix tests

* Fixes

* Mods

* Change some

* More

* More

* More

* Tests

* Last tests

* Return enum

* Fix zha

* Remove not needed check

* Fix wording

* Fix homekit

* Mod prometheus

* Fix mypy

* Fix homekit

* Fix ifttt
2024-10-21 22:54:27 +02:00
Mike Degatano
ad55c9cc19
Remaining addon management to aiohasupervisor (#128484)
* Move set addon options to aiohasupervisor

* addon stats to aiohasupervisor and test fixes

* addon changelogs to aiohasupervisor

* Raise correct error for library in tests

* Cache client in instance property

* Use singleton method rather then HassIO instance method

* Mock supervisor client in more tests
2024-10-21 16:41:00 +02:00
Erik Montnemery
e861cab727
Add update_percentage state attribute to update entity (#128877)
* Add update_percentage state attribute to update entity

* Update tests

* Update tests
2024-10-21 15:31:48 +02:00
David F. Mulcahey
065577c9ca
Keep ZHA entity enabled setting in sync with lib (#125472)
* Add ability to enable / disable entities in the ZHA lib

* disable entities at startup that are not enabled in HA

* fix IEEE lookup

* wrap in async_on_unload

* add test and correct lookup
2024-10-17 07:16:48 -04:00
puddly
f6270d9cfc
Bump ZHA dependencies (#128539)
* Bump ZHA dependencies

* Remove unused ZHA color modes

* Rename `cluster` to `ota_cluster` in update tests to unshadow `cluster` in `endpoint_reply`

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-10-16 22:15:00 -04:00
G Johansson
666e8e133e
Cover state is enum (#127144)
* Change light state to use enum

* Adjust cover tests

* Update cover

* Fix covers

* Some tests

* More tests

* Fix tests

* Fix
2024-10-08 18:39:04 +02:00
puddly
0a44c9456c
Bump ZHA to 0.0.34 (#126766) 2024-09-25 18:44:51 +02:00
G Johansson
93aade6e8e
Change lock state to an enum (#126379)
* Add new LockState enum for lock states

* Add rest

* Fix insteon tests

* Fix mqtt tests

* Fix tesla_fleet

* Revert back ST_STATE_LOCKED

* Add back constant
2024-09-24 12:30:50 +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
David F. Mulcahey
e81a1f7acf
Add config to ZHA to allow disabling polling of mains powered devices when the network is started (#125473) 2024-09-23 14:34:24 +02:00
puddly
ba7ca84899
Remove unused keys from the ZHA config schema (#125710) 2024-09-13 11:34:06 -04:00
epenet
af6434a533
Add alias to DOMAIN import in tests [n-z] (#125581) 2024-09-09 15:14:05 +02:00
puddly
6467c8d611
Bump ZHA to 0.0.32 (#124804)
* Always prefer XY color mode in ZHA

Remove a few more HS remnants

* Use new ZHA OTA format

* Bump ZHA to 0.0.32

* Fix existing OTA unit tests

* Fix schema conversion test to account for new command parameters

* Update snapshot with new `zcl_type` kwarg

* Migrate existing entities to icon translations

* Remove "no longer compatible" test

* Test that the library release summary is correctly exposed to ZHA

* Revert "Always prefer XY color mode in ZHA"

This reverts commit 8fb7789ea8ddb6ed2a287aed5010374c0452f6c9.

* Test `release_notes`, not `release_summary`
2024-08-30 14:48:09 +02:00
epenet
e6fc34325d
Improve type hints in zha tests (#123926) 2024-08-14 15:39:52 +02:00
Joakim Plate
f53da62026
Extend ZHA attribute diagnostic information (#123199)
* Include full attribute representation in in data

* Extend attribute diagnostics for zha
2024-08-10 19:25:21 +02:00
puddly
97410474f5
Bump ZHA library to 0.0.29 (#123464)
* Bump zha to 0.0.29

* Pass the Core timezone to ZHA

* Add a unit test
2024-08-09 10:31:55 -04:00
Joakim Plate
f51cc8fe12
Change zha diagnostic to snapshot (#123198) 2024-08-05 19:02:07 +02:00
David F. Mulcahey
5446dd92a9
Make ZHA load quirks earlier (#123027) 2024-08-02 12:22:36 +02:00
David F. Mulcahey
bd3f0da385
Bump ZHA lib to 0.0.24 and universal-silabs-flasher to 0.0.22 (#122812)
* Bump ZHA lib to 0.0.24

* update for node state change for coordinator data

* bump flasher
2024-07-29 18:16:54 -04:00
epenet
9514a38320
Fix implicit-return rule in zha tests (#122772) 2024-07-29 15:22:08 +02:00
J. Nick Koston
1879db9f8f
Revert to using call_soon for event triggers and state changed event trackers (#122735) 2024-07-29 11:45:39 +02:00
David F. Mulcahey
342e6a503a
Fix group operations in ZHA websocket API (#121881) 2024-07-14 03:25:15 +02:00
puddly
020961d2d8
Fix ZHA select platform state restoration (#121646)
* Ensure `select` entities do not restore state if they were unavailable

* Add a unit test
2024-07-10 10:55:27 -04:00
epenet
b0837dd98f
Use service_calls fixture in zha tests (#120996) 2024-07-10 15:06:49 +02:00
David F. Mulcahey
0aa6a17da8
Prevent entity creation errors from causing all entities for a platform from loading in ZHA (#121631) 2024-07-10 08:31:24 +02:00
puddly
b754f03c11
ZHA as an external library (#120190)
Co-authored-by: David Mulcahey <david.mulcahey@icloud.com>
Co-authored-by: David Mulcahey <david.mulcahey@me.com>
2024-07-08 20:18:30 +02:00
Marc Mueller
f11b316dac
Import Generator from collections.abc (4) (#120917) 2024-07-01 11:54:42 +02:00
epenet
3e9d25f81d
Add missing argument type hints to component tests (#119671) 2024-06-14 09:26:46 +02:00
epenet
315e5f1d95
Fix import-outside-toplevel pylint warnings in zha tests (#119451) 2024-06-13 11:55:56 +02:00
epenet
669569ca49
Fix dangerous-default-value in zha tests (#119560) 2024-06-13 08:35:05 +02:00
epenet
f7326d3baf
Ignore too-many-nested-blocks warning in zha tests (#119479) 2024-06-12 22:33:40 +02:00
Caius-Bonus
7f7128adbf
Add Danfoss Ally thermostat and derivatives to ZHA (#86907)
* zha integration: Add danfoss specific clusters and attributes; add thermostat.pi_heating_demand and thermostat_ui.keypad_lockout

* zha integration: fix Danfoss thermostat viewing direction not working because of use of bitmap8 instead of enum8

* ZHA Integration: add missing ThermostatChannelSensor

* ZHA integration: format using black

* zha integration: fix flake8 issues

* ZHA danfoss: Add MinHeatSetpointLimit, MaxHeatSetpointLimit, add reporting and read config for danfoss and keypad_lockout.

* ZHA danfoss: fix mypy complaining about type of _attr_entity_category

* ZHA danfoss: ruff fix

* fix tests

* pylint: disable-next=hass-invalid-inheritance

* fix pylint tests

* refactoring

* remove scheduled setpoint

* remove scheduled setpoint in manufacturer specific

* refactor

* fix tests

* change cluster ids

* remove custom clusters

* code quality

* match clusters in manufacturerspecific on quirk class

* fix comment

* fix match on quirk in manufacturerspecific.py

* correctly extend cluster handlers in manufacturerspecific.py and remove workaround for illegal use of attribute updated signals in climate.py

* fix style

* allow non-danfoss thermostats to work in manufacturerspecific.py

* correct order of init of parent and subclasses in manufacturerspecific.py

* improve entity names

* fix pylint

* explicitly state changing size of tuple

* ignore tuple size change error

* really ignore error

* initial

* fix tests

* match on specific name and quirk name

* don't restructure file as it is out of scope

* move back

* remove unnecessary change

* fix tests

* fix tests

* remove code duplication

* reduce code duplication

* empty line

* remove unused variable

* end file on newline

* comply with recent PRs

* correctly initialize all attributes

* comply with recent PRs

* make class variables private

* forgot one reference

* swap 2 lines for consistency

* reorder 2 lines

* fix tests

* align with recent PR

* store cluster handlers in only one place

* edit tests

* use correct device for quirk id

* change quirk id

* fix tests

* even if there is a quirk id, it doesn't have to have a specific cluster handler

* add tests

* use quirk id for manufacturer specific cluster handlers

* use quirk_ids instead of quirks_classes

* rename quirk_id

* rename quirk_id

* forgot to rename here

* rename id

* add tests

* fix tests

* fix tests

* use quirk ids from zha_quirks

* use quirk id from zha_quirks

* wrong translation

* sync changes with ZCL branch

* sync

* style

* merge error

* move bitmapSensor

* merge error

* merge error

* watch the capitals

* fix entity categories

* more decapitalization

* translate BitmapSensor

* translate all enums

* translate all enums

* don't convert camelcase to snakecase

* don't change enums at all

* remove comments

* fix bitmaps and add enum for algorithm scale factor

* improve readability if bitmapsensor

* fix capitals

* better setpoint response time

* feedback

* lowercase every enum to adhere to the translation_key standard

* remove enum state translations and use enums from quirks

* correctly capitalize OrientationEnum

* bump zha dependencies; this will have to be done in a separate PR, but this aids review

* accidentally removed enum

* tests

* comment

* Migrate reporting and ZCL attribute config out of `__init__`

* hvac.py shouldn't be changed in this pull request

* change wording comment

* I forgot I changed the size of the tuple.

---------

Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
2024-06-12 12:48:37 -04:00
epenet
44901bdcd1
Fix deprecated-typing-alias pylint warnings in zha tests (#119453) 2024-06-12 17:57:27 +02:00
epenet
cb39d2d16b
Ignore existing fixme pylint warnings in tests (#119500)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-06-12 16:40:26 +02:00
epenet
fb1b0058ee
Fix consider-using-tuple pylint warnings in component tests (#119464)
* Fix consider-using-tuple pylint warnings in component tests

* Apply su

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-06-12 15:50:27 +02:00
epenet
d69e62c096
Ignore undefined-loop-variable pylint warnings in zha tests (#119476) 2024-06-12 12:24:16 +02:00
epenet
50356aa877
Drop use of deprecated constant in zha tests (#119397) 2024-06-11 16:09:53 +02:00
epenet
a3ac0af56d
Ignore some pylint errors in component tests (#119352) 2024-06-11 08:01:52 +02:00
epenet
c896458fcf
Fix namespace-import pylint warning in components (#119299) 2024-06-10 15:55:08 +02:00