Commit Graph

16942 Commits (2c42a319a27bf3b00f09702f447a307a4b89cce0)

Author SHA1 Message Date
Erik Montnemery fa0d68b1d7
Add NumberDeviceClass.DURATION (#96932) 2023-07-20 11:10:03 +02:00
Eric Severance 5ffffd8dbc
Fully unload wemo config entry (#96620)
* Fully unload wemo config entity

* Test reloading the config entry

* Encapsulate data with dataclasses

* Fix missing test coverage

* Replace if with assert for options that are always set

* Move WemoData/WemoConfigEntryData to models.py

* Use _ to indicate unused argument

* Test that the entry and entity work after reloading

* Nit: Slight test reordering

* Reset the correct mock (get_state)

* from .const import DOMAIN

* Nit: _async_wemo_data -> async_wemo_data; not module private
2023-07-20 10:06:16 +02:00
Ernst Klamer 0349e47372
Add support for MiScale V2 (#96807)
* Add support for MiScale V2

* Add icon to impedance

* Reduce mass sensors
2023-07-20 10:01:19 +02:00
Joakim Plate 1c19c54e38
Avoid accessing coordinator in gardena_bluetooth tests (#96921)
Avoid accessing coordinator in tests
2023-07-20 08:47:26 +02:00
Tim 9da155955a
Transport NSW: Set DeviceClass and StateClass (#96928)
* 2023.7.16
- Fix bug with values defaulting to "n/a" in stead of None

* 2023.7.16
- Set device class and state classes on entities

* 2023.7.16
- Set StateClass and DeviceClass directly on the entitiy

* 2023.7.16
- Fix black and ruff issues

* 2023.7.17
- Update logic catering for the 'n/a' response on an API failure
- Add testcase

* - Fix bug in formatting

* 2023.7.17
- Refacotr to consider the "n/a" response returned from the Python lib
on an error or faliure
- Remove setting of StateClass and DeviceClass as requested
- Add "n/a" test case

* 2023.7.17
- Remove unused imports

* 2023.7.18
- Apply review requested changes

* - Additional review change resolved

* Add State and Device class attributes
2023-07-20 08:35:26 +02:00
Marc Mueller 23810752ed
Fix mock assert_called_with (#96929)
* Fix mock assert_called_with

* Fix sonos test

* Revert zeroconf test changes
2023-07-20 08:31:37 +02:00
Guy Martin deafdc3005
Allow match quirk_class of custom quirks to ZHA (#93268)
* Allow matching custom quirks when self.quirk_classes might not contain the full class path but only the module and the class.

* Add test for matching custom quirk classes.
2023-07-19 16:11:05 -04:00
J. Nick Koston 29aa89bea0
Add lightweight API to get core state (#96860) 2023-07-19 20:31:48 +02:00
J. Nick Koston dae264f79e
Fix websocket_api _state_diff_event using json_encoder_default (#96905) 2023-07-19 18:22:43 +02:00
mkmer 3b501fd2d7
Add username to Reauth flow in Honeywell (#96850)
* pre-populate username/password on reauth

* Update homeassistant/components/honeywell/config_flow.py

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* Use add_suggested_value_to_schema

* Optimize code

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-07-19 15:25:10 +02:00
Erik Montnemery b53eae2846
Add WS command for changing thread channels (#94525) 2023-07-19 10:48:32 +02:00
Joakim Plate 80a7447030
Add support for buttons in gardena bluetooth (#96871)
* Add button to gardena

* Add tests for button

* Bump gardena bluetooth to 1.0.2

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-07-19 10:17:40 +02:00
J. Nick Koston 01e66d6fb2
Improve handling of unrecoverable storage corruption (#96712)
* Improve handling of unrecoverable storage corruption

fixes #96574

If something in storage gets corrupted core can boot loop
or if its integration specific, the integration will fail to
start.

We now complainly loudly in the log, move away the corrupt data
and start fresh to allow startup to proceed so the user can
get to the UI and restore from backup without having to attach
a console (or otherwise login to the OS and manually modify files).

* test for corruption

* ensure OSError is still fatal

* one more case

* create an issue for corrupt storage

* fix key

* persist

* feedback

* feedback

* better to give the full path

* tweaks

* grammar

* add time

* feedback

* adjust

* try to get issue_domain from storage key

* coverage

* tweak wording some more
2023-07-19 09:23:12 +02:00
uvjustin 3e58e1987c
Avoid infinite loop on corrupt stream recording (#96881)
* Avoid infinite loop on corrupt stream recording

* Update tests
2023-07-19 09:06:04 +02:00
Franck Nijhof f2bd122fde
Clean up conversation agent attribution (#96883)
* Clean up conversation agent attribution

* Clean up google_generative_ai_conversation as well
2023-07-19 09:03:53 +02:00
Franck Nijhof 22d0f4ff0a
Remove legacy discovery integration (#96856) 2023-07-19 07:10:07 +02:00
Joakim Plate 22fbd22943
Add more complete test coverage to gardena bluetooth (#96874)
* Add tests for switch

* Add tests for number

* Add tests for 0 sensor

* Enable coverage for gardena bluetooth
2023-07-19 00:31:01 +02:00
Joost Lekkerkerker c853010f80
Add entity translations to islamic prayer times (#95469) 2023-07-18 22:28:04 +02:00
Joost Lekkerkerker 8675bc6554
Migrate Tradfri to has entity name (#96248) 2023-07-18 20:56:50 +02:00
c0ffeeca7 ac06905b1c
Rename life to lifetime in vesync (#96844) 2023-07-18 20:36:47 +02:00
Joost Lekkerkerker 0ca4da5592
Use device class for DLink (#96567) 2023-07-18 18:51:02 +02:00
c0ffeeca7 da5455c454
Rename 'life' to 'lifetime' in Brother (#96815) 2023-07-18 17:52:40 +02:00
Paul Bottein d8c989f732
Make default theme selectable for set theme service (#96849) 2023-07-18 17:36:35 +02:00
Tim 9a8fe04907
Resolve bugs with Transport NSW (#96692)
* 2023.7.16
- Fix bug with values defaulting to "n/a" in stead of None

* 2023.7.16
- Set device class and state classes on entities

* 2023.7.16
- Set StateClass and DeviceClass directly on the entitiy

* 2023.7.16
- Fix black and ruff issues

* 2023.7.17
- Update logic catering for the 'n/a' response on an API failure
- Add testcase

* - Fix bug in formatting

* 2023.7.17
- Refacotr to consider the "n/a" response returned from the Python lib
on an error or faliure
- Remove setting of StateClass and DeviceClass as requested
- Add "n/a" test case

* 2023.7.17
- Remove unused imports

* 2023.7.18
- Apply review requested changes

* - Additional review change resolved
2023-07-18 15:12:43 +02:00
c0ffeeca7 67eeed6703
Rename homekit "Filter Life" sensor to "Filter lifetime" (#96821)
* String review: rename 'life' to 'lifetime'

- The term life, such as in 'filter life' can be ambiguous.
- Renamed to 'lifetime', as quite a few integrations use the term 'lifetime' to express this concept
- Improves consistency and should be easier to understand.

* HomeKit: adapt test case to reflect string change

* Fix test case failure caused by string rename: first step
2023-07-18 15:11:14 +02:00
Joost Lekkerkerker 0bdfb95d1d
Add entity translations to Whois (#96824)
* Add entity translations to Whois

* Fix tests
2023-07-18 15:05:55 +02:00
Jan Bouwhuis 7c22225cd1
Allow ADR 0007 compliant schema for mqtt (#94305)
* Enforce listed entities in MQTT yaml config

* Add tests for setup with listed items

* Fix test

* Remove validator add comment

* Update homeassistant/components/mqtt/__init__.py

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-07-18 14:29:45 +02:00
Andrew Sayre 4ae69787a2
Fix SmartThings Cover Set Position (for window shades) (#96612)
* Update smartthings dependencies

* Update cover to support window_shade_level
2023-07-18 14:13:31 +02:00
Erik Montnemery 5c54fa1ce1
Fix shell_command timeout test (#96834)
* Fix shell_command timeout test

* Improve test
2023-07-18 13:37:27 +02:00
Franck Nijhof b9f92b526b
Add prefix support to text selector (#96830) 2023-07-18 12:17:31 +02:00
Erik Montnemery 4ceba01ab7
Prevent creating scripts which override script services (#96828) 2023-07-18 12:10:40 +02:00
Franck Nijhof 1a9e27cdaf
Allow integrations to register custom config panels (#96245) 2023-07-18 11:35:44 +02:00
J. Nick Koston bc6a41fb94
Remove deprecated state.get_changed_since (#96579) 2023-07-18 09:42:48 +02:00
Erik Montnemery 57352578ff
Use entity registry id in zwave_js device actions (#96407) 2023-07-18 09:36:40 +02:00
Joakim Plate 878429fdec
Add binary sensor for valve connectivity for gardena bluetooth (#96810)
* Add binary_sensor to gardena

* Add tests for binary_sensor
2023-07-18 09:00:25 +02:00
Joakim Plate a9f7522857
Correct tests for gardena (#96806) 2023-07-17 19:22:48 -10:00
Mike Keesey 44aa531a51
Alexa temperature adjustment handle multiple setpoint (#95821)
* Alexa temperature adjustment handle multiple setpoint

In "auto" mode with many thermostats, the thermostats expose both an
upper and lower setpoint representing a range of temperatures. When a
temperature delta is sent from Alexa (e.g. "lower by 2 degrees), we need
to handle the case where the temperature property is not set, but
instead the upper and lower setpoint properties are set. In this case,
we adjust those properties via service call instead of the singular
value.

* Updating tests to fix coverage
2023-07-18 01:12:15 +02:00
Erik Montnemery c79fa87a7f
Fix check for HA Yellow radio in otbr config flow (#96789) 2023-07-17 22:21:52 +02:00
Erik Montnemery 49a27bb9a7
Fix otbr test (#96788) 2023-07-17 22:12:59 +02:00
Erik Montnemery 863b36c0c3
Include addon name in otbr config entry title (#96786) 2023-07-17 21:26:15 +02:00
Erik Montnemery 8559af8232
Remove extra otbr config entries (#96785) 2023-07-17 21:23:20 +02:00
Erik Montnemery 1e3fdcc4d1
Prevent otbr creating multiple config entries (#96783) 2023-07-17 21:22:50 +02:00
Joakim Plate d02bf837a6
Add some basic tests for gardena (#96777) 2023-07-17 21:13:13 +02:00
Maciej Bieniek 31dfa5561a
Add external power sensor for Shelly Plus HT (#96768)
* Add external power sensor for Plus HT

* Tests
2023-07-17 22:07:24 +03:00
Joost Lekkerkerker e99b6b2a03
Migrate VeSync to has entity name (#96772)
* Migrate VeSync to has entity name

* Fix tests
2023-07-17 17:52:53 +02:00
Joost Lekkerkerker 7ccb06ed22
Add entity translations to Twentemilieu (#96762) 2023-07-17 17:26:13 +02:00
Björn e29b6408f6
Periodically re-scan for Fronius inverters that were offline while setup (#96538) 2023-07-17 10:16:28 +02:00
Jan Bouwhuis 65ebb6a74f
Improve imap error handling for config entry (#96724)
* Improve error handling config entry

* Removed CancelledError

* Add cleanup

* Do not call protected async_set_state()
2023-07-17 09:44:47 +02:00
J. Nick Koston 3a06659120
Speed up single entity/response service calls (#96729)
* 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
2023-07-17 09:33:13 +02:00
Maximilian c76fac0633
Bump pynina to 0.3.1 (#96693) 2023-07-17 09:27:01 +02:00
Robert Hafner 33d2dd3797
Airvisual Pro Outside Station Support (#96618)
* Airvisual Pro Outside Station Support

* pr feedback

* formatting, language

* Update homeassistant/components/airvisual_pro/strings.json

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

* fix assertion on airvisual test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-07-17 00:44:03 +02:00
Joost Lekkerkerker 28540b0cb2
Migrate google assistant to has entity name (#96593)
* Migrate google assistant to has entity name

* Fix tests

* Add device name

* Update homeassistant/components/google_assistant/button.py

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-07-16 17:39:27 +02:00
J. Nick Koston 7ec506907c
Ensure async_get_system_info does not fail if supervisor is unavailable (#96492)
* Ensure async_get_system_info does not fail if supervisor is unavailable

fixes #96470

* fix i/o in the event loop

* fix tests

* handle some more failure cases

* more I/O here

* coverage

* coverage

* Update homeassistant/helpers/system_info.py

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>

* remove supervisor detection fallback

* Update tests/helpers/test_system_info.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-07-16 11:10:07 -04:00
J. Nick Koston 4d3e24465c
Bump bthome-ble to 3.0.0 (#96616) 2023-07-15 21:47:09 -10:00
Dennis edcae75812
Add UV Index and UV Health Concern sensors to tomorrow.io (#96534) 2023-07-15 14:58:40 -04:00
J. Nick Koston 62c5194bc8
Avoid compressing binary images on ingress (#96581) 2023-07-15 00:09:25 -10:00
J. Nick Koston 1c814b0ee3
Defer SSDP UPNP server start until the started event (#96555) 2023-07-14 14:28:29 -10:00
ollo69 c95e2c074c
Add missing type hints for AndroidTV (#96554)
* Add missing type hints for AndroidTV

* Suggested change
2023-07-15 02:18:34 +02:00
Joost Lekkerkerker 81ce6e4797
Add entity translations to Sonos (#96167)
* Add entity translations to Sonos

* Add entity translations to Sonos

* Add entity translations to Sonos

* Add entity translations to Sonos
2023-07-15 00:36:26 +02:00
J. Nick Koston b77de2abaf
Handle empty strings for ESPHome UOMs (#96556) 2023-07-14 12:14:32 -10:00
Jan Bouwhuis 72458b6672
Add feature to turn off using IMAP-Push on an IMAP server (#96436)
* Add feature to enforce polling an IMAP server

* Add test

* Remove not needed string tweak

* Rename enforce_polling to enable_push

* Push enabled by default
2023-07-14 21:26:35 +02:00
Joost Lekkerkerker 1b7632a673
Support MyStrom switch 120 (#96535) 2023-07-14 09:04:48 -04:00
Michael Hansen afdded58ee
Wyoming Piper 1.1 (#96490)
* Add voice/speaker options to Piper TTS

* Use description if available

* Fix tests

* Clean up if
2023-07-14 08:56:27 -04:00
Erik Montnemery 614f3c6a15
Move device info validation to device registry (#96465)
* Move device info validation to device registry

* Don't move DeviceInfo

* Fix type annotation

* Don't block adding device for unknown config entry

* Fix test

* Remove use of locals()

* Improve error message
2023-07-14 08:55:17 -04:00
Erik Montnemery 7539cf25be
Don't require passing identifiers to DeviceRegistry.async_get_device (#96479)
* Require keyword arguments to DeviceRegistry.async_get_device

* Update tests

* Update tests

* Don't enforce keyword arguments
2023-07-13 13:39:25 -04:00
Erik Montnemery 8440f14a08
Correct dlna_dmr device info (#96480) 2023-07-13 12:15:46 -04:00
Erik Montnemery fbbdebee47
Correct unifi device info (#96483) 2023-07-13 12:14:31 -04:00
J. Nick Koston ffe81a9716
Improve ESPHome update platform error reporting (#96455) 2023-07-12 16:46:29 -10:00
J. Nick Koston 08af42b00e
Fix mixed case service schema registration (#96448) 2023-07-12 14:39:51 -10:00
J. Nick Koston 7009683226
Ensure ESPHome dashboard connection recovers if its down when core starts (#96449) 2023-07-12 14:37:28 -10:00
Michael 400c513209
Always add guest wifi qr code entity in AVM Fritz!Tools (#96435) 2023-07-12 20:54:48 +02:00
Paul Bottein e513b7d0eb
Add condition selector for blueprint (#96350)
* Add condition selector for blueprint

* Add tests and validation

* Update comment
2023-07-12 10:58:35 -04:00
Franck Nijhof 594d240a96
Migrate & fix logger services to support translations (#96393)
* Migrate logger services to support translations

* Fix tests and schema validation

* Apply suggestions from code review

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-07-12 10:37:18 -04:00
Joakim Plate f7ce9b1688
Add support for gardena bluetooth (#95179)
Add support for gardena bluetooth based water computers.
2023-07-12 16:08:15 +02:00
ollo69 ce3c23cb3a
Add Nut commands to diagnostics data (#96285)
* Add Nut commands to diagnostics data

* Add test for diagnostics
2023-07-12 10:56:08 +02:00
J. Nick Koston 5d5c58338f
Fix ESPHome deep sleep devices staying unavailable after unexpected disconnect (#96353) 2023-07-11 11:12:24 -10:00
Joost Lekkerkerker fe44827e3c
Add entity translations to Rainforest eagle (#96031)
* Add entity translations to Rainforest eagle

* Add entity translations to Rainforest Eagle
2023-07-11 14:24:33 -04:00
Jan Bouwhuis efcaad1179
Fix handling MQTT light brightness from zero rgb (#96286)
* Fix handling MQTT light brightness from zero rgb

* Fix log message
2023-07-11 14:22:12 -04:00
Joost Lekkerkerker fe6402ef73
Use device class naming for sfr box (#96092) 2023-07-11 20:19:04 +02:00
Erik Montnemery 2257e7454a
Remove unreferenced issues (#96264)
* Remove unreferenced issues

* Remove outdated tests
2023-07-11 14:15:16 -04:00
J. Nick Koston b106ca7983
Fix race fetching ESPHome dashboard when there are no devices set up (#96196)
* Fix fetching ESPHome dashboard when there are no devices setup

fixes #96194

* coverage

* fix
2023-07-11 14:11:51 -04:00
puddly b6e83be6f9
Fix ZHA serialization issue with warning devices (#96275)
* Bump ZHA dependencies

* Update unit tests to reduce mocks
2023-07-11 14:09:52 -04:00
Jan Bouwhuis 50442c5688
Speedup tests command_line integration (#96349) 2023-07-11 18:31:32 +02:00
G Johansson 49b6c8ed6e
Fix diagnostics Sensibo (#96336) 2023-07-11 18:24:40 +02:00
Erik Montnemery c61c5a0443
Schedule `VacuumEntity` for removal in Home Assistant Core 2024.2 (#96236) 2023-07-11 18:20:00 +02:00
Michael 5a87186916
Improve integration startup in AVM Fritz!Tools (#96269) 2023-07-11 18:01:05 +02:00
Franck Nijhof f054de0ad5
Add support for service translations (#95984) 2023-07-11 15:52:12 +02:00
Jan Bouwhuis f12f8bca03
Avoid CI fail in command_line tests (#96324)
* Avoid CI fail in command_line tests

* Speedup tests manual update
2023-07-11 15:27:31 +02:00
Jan Bouwhuis f3e55e96f4
Improve test coverage mqtt vacuum (#96288) 2023-07-11 10:16:00 +02:00
Jan Bouwhuis beff19f93c
Improve mqtt tag schema logging and avoid tests that use xfail (#95711)
Improve schema logging and tests
2023-07-11 10:12:31 +02:00
Jan Bouwhuis 30578d6236
Deprecate mqtt vacuum with legacy schema (#95836)
* Deprecate mqtt vacuum with legacy schema

* Consistent comments

* Correct comment

* Remove persistence option

* Adjust string, mention restart

* Update deprecation comment
2023-07-11 09:54:28 +02:00
Paulus Schoutsen eee8566694
Differentiate between device info types (#95641)
* Differentiate between device info types

* Update allowed fields

* Update homeassistant/helpers/entity_platform.py

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Split up message in 2 lines

* Use dict for device info types

* Extract device info function and test error checking

* Simplify parsing device info

* move checks around

* Simplify more

* Move error checking around

* Fix order

* fallback config entry title to domain

* Remove fallback for name to config entry domain

* Ensure mocked configuration URLs are strings

* one more test case

* Apply suggestions from code review

Co-authored-by: Erik Montnemery <erik@montnemery.com>

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-07-10 09:56:06 -04:00
Guido Schmitz a3681774d6
Use snapshots in devolo Home Network sensor tests (#95104)
Use snapshots

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-07-10 15:49:08 +02:00
Erik Montnemery 39208a3749
Remove unsupported vacuum service handlers (#95787)
* Prevent implementing unsupported vacuum service handlers

* Remove unsupported service handlers

* Update test
2023-07-10 15:03:40 +02:00
Erik Montnemery 08a5f63474
Add deprecated_yaml issue to the homeassistant integration (#95980)
* Add deprecated_yaml issue to the homeassistant integration

* Update test

* Update homeassistant/components/homeassistant/strings.json

Co-authored-by: G Johansson <goran.johansson@shiftit.se>

* Include DOMAIN in issue_id

* Update test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-07-10 13:06:52 +02:00
Erik Montnemery 96c71b214f
Check supported features in calls to vacuum services (#95833)
* Check supported features in vacuum services

* Update tests

* Add comment
2023-07-10 13:05:47 +02:00
J. Nick Koston 7dc03ef301
Use the ESPHome object_id to suggest the entity id (#95852) 2023-07-10 13:02:34 +02:00
Erik Montnemery 87f284c7e9
Add MEDIA_ANNOUNCE to MediaPlayerEntityFeature (#95906) 2023-07-10 12:58:53 +02:00
Allen Porter c4a39bbfb1
Remove Legacy Works With Nest (#96111)
* Remove Legacy Works With Nest

* Simplify nest configuration

* Cleanup legacy nest config entries
2023-07-09 19:38:05 -07:00
Allen Porter 32b3fa1734
Enable retries on rainbird devices by loading model and version (#96190)
Update rainbird to load device model and version
2023-07-09 16:49:44 -07:00