* Reapply "Add support for subentries to config entries" (#133470) (#136061)
* Reapply "Add support for subentries to config entries" (#133470)
This reverts commit ecb3bf79f3.
* Update test snapshot
* Add config subentry support to device registry (#128157)
* Add config subentry support to device registry
* Apply suggestions from code review
* Update syrupy serializer
* Update snapshots
* Address review comments
* Allow a device to be connected to no or a single subentry of a config entry
* Update snapshots
* Revert "Allow a device to be connected to no or a single subentry of a config entry"
This reverts commit ec6f613151cb4a806b7961033c004b71b76510c2.
* Update test snapshots
* Bump release version in comments
* Rename config_subentries to config_entries_subentries
* Add config subentry support to entity registry (#128155)
* Add config subentry support to entity registry
* Update syrupy serializer
* Update snapshots
* Update snapshots
* Accept suggested changes
* Clean registries when removing subentry (#136671)
* Clean up registries when removing subentry
* Update tests
* Clean up subentries from deleted devices when removing config entry (#136669)
* Clean up subentries from deleted devices when removing config entry
* Move
* Add config subentry support to entity platform (#128161)
* Add config subentry support to entity platform
* Rename subentry_id to config_subentry_id
* Store subentry type in subentry (#136687)
* Add reconfigure support to config subentries (#133353)
* Add reconfigure support to config subentries
* Update test
* Minor adjustment
* Rename supported_subentry_flows to supported_subentry_types
* Address review comments
* Add subentry support to kitchen sink (#136755)
* Add subentry support to kitchen sink
* Add subentry reconfigure support to kitchen_sink
* Update kitchen_sink tests with subentry type stored in config entry
* Update kitchen_sink
* Update kitchen_sink
* Adjust kitchen sink tests
* Fix hassfest
* Apply suggestions from code review
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Improve docstrings and strings.json
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
* Update snapshots
---------
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* 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
* add config option
* use code_required option in alarm
* test code_required options
* only use code for disarm
* change tests to disarm with code
* remove unneeded code variable
* Update homeassistant/components/totalconnect/alarm_control_panel.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use ServiceValidationError
* translate ServiceValidationError
* complete typing
* Update tests/components/totalconnect/test_alarm_control_panel.py
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
* use ServiceValidationError in test
* grab usercode from correct spot
* use client code instead of unfilled location code
* Revert "remove unneeded code variable"
This reverts commit 220de0e698e5779fcd7c45bee999a60ad186ab7f.
* remove unneeded code variable
* improve usercode checking
* use freezer
* fix usercode test data
* Update homeassistant/components/totalconnect/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Update homeassistant/components/totalconnect/strings.json
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* update test with new message
---------
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Move Totalconnect coordinator to separate module
* Move Totalconnect coordinator to separate module
* Move Totalconnect coordinator to separate module
* Mark executor jobs as background unless created from a tracked task
If the current task is not tracked the executor job should not
be a background task to avoid delaying startup and shutdown.
Currently any executor job created in a untracked task or
background task would end up being tracked and delaying
startup/shutdown
* import exec has the same issue
* Avoid tracking import executor jobs
There is no reason to track these jobs as they are always awaited
and we do not want to support fire and forget import executor jobs
* fix xiaomi_miio
* lots of fire time changed without background await
* revert changes moved to other PR
* more
* more
* more
* m
* m
* p
* fix fire and forget tests
* scrape
* sonos
* system
* more
* capture callback before block
* coverage
* more
* more races
* more races
* more
* missed some
* more fixes
* missed some more
* fix
* remove unneeded
* one more race
* two
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>
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* Significantly speed up single entity/response service calls
Since the majority of service calls are single entity, we can
avoid creating tasks in this case. Since the multi-entity
service calls always check the result and raise, we can switch
the asyncio.wait to asyncio.gather
* revert
* cannot be inside pytest.raises
* one more
* Update homeassistant/helpers/service.py
* add diagnostic sensors
* test binary_sensor.py file
* add tests for binary sensor
* fix zone type checks and error on unknown
* improve entity tests
* hide entities by default
* Revert "hide entities by default"
This reverts commit 9808d732471385e45ccc5f7c3aea93bfecbdfa6f.
* Update homeassistant/components/totalconnect/binary_sensor.py
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
* update binary_sensor per comments
* update test
* move to _attr_extra_state_attributes
* no spaces in unique_id
* update per balloob suggestions
* fix typing
* fix black and mypy
* Apply suggestions from code review
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* add more to binary_sensor tests
* remove unused import
---------
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
* Migrate totalconnect to use async_forward_entry_setups
Replaces deprecated async_setup_platforms with async_forward_entry_setups
* fix double update and tests
* update total_connect_client to 2021.10
* update for total_connect_client changes
* remove unused return value
* bump total_connect_client to 2021.11.1
* bump total_connect_client to 2021.11.2
* Move to public ResultCode
* load locations to prevent 'unknown error occurred'
* add test for zero locations
* put error message in strings
* test for abort and message from strings
* handle AuthenticationError in step_user
* update tests with exceptions
* update reauth with exceptions
* use try except else per suggestion
* only create schema if necessary
* catch auth error in async_setup_entry
* one more fix in test_init
* update total_connect_client to 2021.10
* update for total_connect_client changes
* remove unused return value
* bump total_connect_client to 2021.11.1
* bump total_connect_client to 2021.11.2
* Move to public ResultCode
* load locations to prevent 'unknown error occurred'
* add test for zero locations
* Revert "load locations to prevent 'unknown error occurred'"
This reverts commit 28b8984be5.
* Revert "add test for zero locations"
This reverts commit 77bf7908d5.
* Change config entry state to an enum
* Allow but deprecate EntryState str equality comparison
* Test fixes
* Rename to ConfigEntryState
* Remove str comparability backcompat
* Update new occurrences of strs cropped up during review
* Add test for invalid usercode
* Add usercodes to totalconnect.
* Update existing tests for usercodes
* Fix tests
* Add test for invalid usercode
* Add usercodes to totalconnect.
* Update existing tests for usercodes
* Fix tests
* Remove YAML support
* Fix conflict
* Bump to total_connect_client 0.56
* Change Exception to HomeAssistantError
* Fix config_flow.py
* Simplify async_setup since no yaml
* Remove import from config flow and tests
* Add reauth and test for it. Various other fixes.
* Fix pylint in __init__
* Show config yaml as deprecated
* separate config_flow and init tests
* Assert ENTRY_STATE_SETUP_ERROR in init test
* Add test for reauth flow
* Fix reauth and tests
* Fix strings
* Restore username and usercode with new passord
* Correct the integration name
* Update tests/components/totalconnect/test_config_flow.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update tests/components/totalconnect/test_init.py
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
* Update .coveragerc
* Add test for invalid auth during reauth
* Bump total-connect-client to 0.57
* Fix .coveragerc
* More tests for usercodes
* Fix usercode test
* Reload config entry on reauth
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>