Commit graph

15386 commits

Author SHA1 Message Date
RoboMagus
c433b251fa
Shell command response (#96695)
* Add service response to shell_commands

* Add shell_command response tests

* Fix mypy

* Return empty dict instead of None on error

* Improved response type hint

* Cleanup after removing type cast

* Raise exceptions i.s.o. returning

* Fix ruff
2023-07-20 11:53:57 +02:00
G Johansson
4e2b00a443
Refactor SQL with ManualTriggerEntity (#95116)
* First go

* Finalize sensor

* Add tests

* Remove not need _attr_name

* device_class

* _process_manual_data allow Any as value
2023-07-20 11:35:08 +02:00
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
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
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
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
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