Compare commits

..

1131 Commits

Author SHA1 Message Date
Paulus Schoutsen 0bca322856 2022.10.2 (#79949) 2022-10-09 15:46:11 -04:00
Paulus Schoutsen bd2ac57d55 Bumped version to 2022.10.2 2022-10-09 15:02:37 -04:00
Tobias Sauerwein f330745cdb Bump pyatmo to 7.1.1 (#79918) 2022-10-09 14:17:58 -04:00
puddly 5ac258378b Bump ZHA dependencies (#79898) 2022-10-09 14:17:58 -04:00
Marc Mueller 5812d802ee Update typing-extensions constraint to >=4.4.0 (#79860) 2022-10-09 14:17:57 -04:00
Robert Svensson c64b286f6e Fix POE control port_idx error in UniFi (#79838)
Bump UniFi dependency
2022-10-09 14:17:56 -04:00
spycle f5368cc359 Fix keymitt_ble discovery (#79809)
* Fix keymitt_ble discovery

* Update tests

* Up version

* Up version keymitt_ble

* Up version keymitt_ble
2022-10-09 14:17:55 -04:00
Lennart b182305ff6 Fix realtime option for hvv_departures (#79799) 2022-10-09 14:17:55 -04:00
Marc Mueller 410479b212 Update pyoverkiz to 1.5.5 (#79798) 2022-10-09 14:17:54 -04:00
Erik Montnemery fc4ffc748c Revert "Improve device_automation trigger validation" (#79778)
Revert "Improve device_automation trigger validation (#75044)"

This reverts commit 55b036ec5e.
2022-10-09 14:17:53 -04:00
jjlawren 1143ede4db Fix state updating for crossfade switch on Sonos (#79776) 2022-10-09 14:17:52 -04:00
J. Nick Koston 81783fd52b Fix Bluetooth failover when esphome device unexpectedly disconnects (#79769) 2022-10-09 14:17:52 -04:00
Fredrik Erlandsson 316c5f8cc3 Bump pydaikin version (#79761)
bump pydaikin version
2022-10-09 14:17:51 -04:00
Joakim Plate 66d14ec1cc Show all valid heatpump selections (#79756)
Iterate over the keys of the member dunder
2022-10-09 14:17:50 -04:00
Bert Melis 11b351f015 Process abbreviated availability options in mqtt discovery payload (#79712)
Expand availability in mqtt discovery payload
2022-10-09 14:17:50 -04:00
John Levermore 779d805b5a Fix london_underground TUBE_LINES to match current API output (#79410)
Fix: Update london_underground component with updated TUBE_LINES list to match current API output
2022-10-09 14:17:49 -04:00
Paulus Schoutsen aabd681d7e 2022.10.1 (#79751) 2022-10-06 15:08:25 -04:00
Paulus Schoutsen 570270b9ea Bumped version to 2022.10.1 2022-10-06 14:13:51 -04:00
Bram Kragten aacae6b9bf Update frontend to 20221006.0 (#79745) 2022-10-06 14:13:46 -04:00
Erik Montnemery 35a69cb253 Correct how unit used for statistics is determined (#79725) 2022-10-06 14:13:46 -04:00
Matthew Simpson 998d13499c Bump btsmarthub_devicelist to 0.2.3 (#79705)
* Bump btsmarthub_devicelist

This PR bumps the btsmarthub_devicelist version to correct an issue
experienced by a recent firmware upgrade to the SmartHub2.

* Bump btsmarthub_devicelist to 0.2.3

This version bump fixes an issue where BT SmartHub2 devices cannot be
correctly autodetected. The current workaround is to specifiy it
manually, which isn't great UX (and did previously work until a recent
firmware upgrade).

I've also taken the opportunity to reassign ownership of the component
to myself as @jxwolstenholme no longer has a SmartHub so cannot do
manual testing and also has no need to use the component anymore.
2022-10-06 14:13:45 -04:00
J. Nick Koston 3bd4d66b2e Fix bluetooth diagnostics on macos (#79680)
* Fix bluetooth diagnostics on macos

The pyobjc objects cannot be pickled which cases dataclasses
asdict to raise an exception when trying to do the deepcopy

We now implement our own as_dict to avoid this problem

* add cover
2022-10-06 14:13:44 -04:00
puddly 5f37742197 ZHA radio migration: reset the old adapter (#79663) 2022-10-06 14:13:44 -04:00
Erik Montnemery 92afbf01e7 Simplify long term statistics by always supporting unit conversion (#79557) 2022-10-06 14:13:43 -04:00
Franck Nijhof eb003f34f0 2022.10.0 (#79659) 2022-10-05 20:13:12 +02:00
Erik Montnemery 9f7f13ac87 Don't normalize units of long term statistics (#79320)
* Don't normalize units of long term statistics

* Update statistics.py
2022-10-05 19:10:11 +02:00
Franck Nijhof 7a1757a61f Bumped version to 2022.10.0 2022-10-05 18:05:12 +02:00
Bram Kragten 9938642800 Update frontend to 20221005.0 (#79656) 2022-10-05 18:04:35 +02:00
Erik Montnemery 7e57933164 Normalize to kWh when handling WS energy/fossil_energy_consumption (#79649)
* Normalize to kWh when handling WS energy/fossil_energy_consumption

* Improve test
2022-10-05 18:04:29 +02:00
Jafar Atili 20db8138d9 Enhanced switchbee device naming (#79641) 2022-10-05 18:03:08 +02:00
Erik Montnemery 146520b437 Fix search throwing on templated services (#79637) 2022-10-05 11:58:12 +02:00
kpine 20c61af5b7 Allow picking multiple entity targets for zwave_js.refresh_value service (#79634)
Allow selection of multiple entities for zwave_js.refresh_value service
2022-10-05 11:58:09 +02:00
puddly e26f3de80b Bump ZHA dependencies (#79623) 2022-10-05 11:58:06 +02:00
Robert Svensson b4cb70cdeb Bump UniFi dependency to v37 (#79617) 2022-10-05 11:58:03 +02:00
Mike Degatano 895facdf72 Supervisor update entity auto update from api (#79611)
* Supervisor update entity auto update from api

* Update api mocks in tests
2022-10-05 11:58:00 +02:00
Mike Degatano ed7c93240c Handle state is None in InfluxDB (#79609) 2022-10-05 11:57:56 +02:00
J. Nick Koston 2c34190d82 Bump dbus-fast to 1.24.0 (#79608) 2022-10-05 11:57:50 +02:00
Jafar Atili 98567b6f26 Add supported brands for switchbee (#79595) 2022-10-05 11:57:45 +02:00
Tobias Sauerwein 9302071527 Netatmo add supported brands (#79563) 2022-10-05 11:57:39 +02:00
Paulus Schoutsen af5f5542d2 Bumped version to 2022.10.0b6 2022-10-04 11:52:10 -04:00
Bram Kragten f08fab9d7e Update frontend to 20221004.0 (#79602) 2022-10-04 11:52:02 -04:00
Paulus Schoutsen 1efa374c4e Add a couple more brands (#79600) 2022-10-04 11:52:02 -04:00
Franck Nijhof 723d415966 Set system & entity integration types (#79593) 2022-10-04 11:52:00 -04:00
epenet 09f1039f32 Add docstring to US volume constants (#79582)
* Add docstring to US volume constants

* A blank line separation
2022-10-04 11:52:00 -04:00
Franck Nijhof 9ca179ddcb Collect all brands (#79579) 2022-10-04 11:51:59 -04:00
kpine 310dbe90a1 Set zwave_js climate entity target temp attributes based on current mode (#79575)
* Report temperature correctly

* DRY

* Add test assertions

* Don't catch TypeError (revert)
2022-10-04 11:51:58 -04:00
J. Nick Koston 39be6ecd00 Bump dbus-fast to 1.23.0 (#79570) 2022-10-04 11:51:58 -04:00
Hans Oischinger 5957c6a185 Address late review of ViCare (#79458)
Runn blocking I/O of button entity creation in async_add_executor_job
2022-10-04 11:51:57 -04:00
Raman Gupta 04a2a041c3 Bump zwave_js lib to 0.43.0 and fix multi-file firmware updates (#79342) 2022-10-04 11:51:57 -04:00
Paulus Schoutsen 7cfba93d50 Bumped version to 2022.10.0b5 2022-10-03 21:19:03 -04:00
puddly e13c6a5264 Bump ZHA dependencies (#79565)
Bump all ZHA dependencies
2022-10-03 21:18:58 -04:00
Tobias Sauerwein 572d15050f Netatmo bump pyatmo to 7.1.0 (#79562)
Bump pyatmo to 7.1.0
2022-10-03 21:18:57 -04:00
Nathan Spencer dd243e18e6 Remove repairs issue per PR review request (#79561) 2022-10-03 21:18:57 -04:00
J. Nick Koston b1883609cf Remove call to deprecated bleak register_detection_callback (#79558) 2022-10-03 21:18:56 -04:00
Erik Montnemery 85c131ed43 Fix preserving long term statistics when entity_id is changed (#79556) 2022-10-03 21:18:55 -04:00
Bram Kragten a9f2119932 Update frontend to 20221003.0 (#79551) 2022-10-03 21:18:55 -04:00
Maikel Punie d32ab6ff8f Bump velbusaio to 2022.10.2 (#79537) 2022-10-03 21:18:54 -04:00
J. Nick Koston d77afb0a79 Bump dbus-fast to 1.22.0 (#79527)
Performance improvements
https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.21.17...v1.22.0
2022-10-03 21:18:53 -04:00
epenet 736991af35 Align temperature conversion with other converters (#79521)
* Align temperature conversion with other converters

* Add comments and docstring

* Align tests
2022-10-03 21:18:53 -04:00
Maikel Punie e513c4fafc Bumb velbusaio to 2022.10.1 (#79471) 2022-10-03 21:18:52 -04:00
Ben Randall b519bf5332 Improve device_automation trigger validation (#75044)
* improve device_automation trigger validation

Validates the trigger configuration against the device_trigger schema before trying to access any of the properties in order to provide better error messages.
Updates the error message to include an explicit indication that the error is coming from a trigger configuration.  The inner error message from the validator can be accessed by viewing the stack trace.
Add test case for trigger missing domain.

Make action and condition validation consistent with trigger.  This is not strictly necessary, but should be helpful for certain use cases that bypass some of the outer validation.

Removed redundant schema elements from humidifier device_trigger.

**Blueprint with missing `domain`**
```
2022-07-12 06:02:18.351 ERROR (MainThread) [homeassistant.setup] Error during setup of component automation
Traceback (most recent call last):
  File "/workspaces/core/homeassistant/setup.py", line 235, in _async_setup_component
    result = await task
  File "/workspaces/core/homeassistant/components/automation/__init__.py", line 241, in async_setup
    if not await _async_process_config(hass, config, component):
  File "/workspaces/core/homeassistant/components/automation/__init__.py", line 648, in _async_process_config
    await async_validate_config_item(hass, raw_config),
  File "/workspaces/core/homeassistant/components/automation/config.py", line 74, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/workspaces/core/homeassistant/helpers/trigger.py", line 59, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/workspaces/core/homeassistant/components/device_automation/trigger.py", line 67, in async_validate_trigger_config
    hass, config[CONF_DOMAIN], DeviceAutomationType.TRIGGER
KeyError: 'domain'
```

**Blueprint with missing `property` (specific to zwave_js event schema)**
```
2022-07-12 06:09:54.206 ERROR (MainThread) [homeassistant.components.automation] Blueprint Missing Property generated invalid automation with inputs OrderedDict([('control_switch', '498be56d796836a67406e9ad373d23db')]): required key not provided @ data['property']. Got None
```

**Blueprint with missing `domain`**
```
2022-07-12 06:12:16.080 ERROR (MainThread) [homeassistant.components.automation] Blueprint Missing Domain generated invalid automation with inputs OrderedDict([('control_switch', '498be56d796836a67406e9ad373d23db')]): invalid trigger configuration: required key not provided @ data['domain']. Got <homeassistant.components.blueprint.models.BlueprintInputs object at 0x7f581e097820>
```

**Blueprint with missing `property` (specific to zwave_js event schema)**
```
2022-07-12 06:12:16.680 ERROR (MainThread) [homeassistant.components.automation] Blueprint Missing Property generated invalid automation with inputs OrderedDict([('control_switch', '498be56d796836a67406e9ad373d23db')]): invalid trigger configuration: required key not provided @ data['property']. Got <homeassistant.components.blueprint.models.BlueprintInputs object at 0x7f581c0dc9d0>
```

* Revert humifidier TRIGGER_SCHEMA change.
2022-10-03 21:18:51 -04:00
Allen Porter 8f44c11677 Add option to set a stun server for RTSPtoWebRTC (#72574) 2022-10-03 21:18:50 -04:00
Paulus Schoutsen 3abd0877f7 Bumped version to 2022.10.0b4 2022-10-02 21:25:55 -04:00
Jesse Hills 68aa0856c3 Bump aioesphomeapi to 11.1.0 (#79515) 2022-10-02 21:25:34 -04:00
J. Nick Koston ad1ed811e8 Bump bluetooth dependencies (#79514) 2022-10-02 21:25:33 -04:00
Michael 8c84efa842 Remove deprecated update binary sensor from Synology DSM (#79509) 2022-10-02 21:25:32 -04:00
Michael 12fc7f29d5 Set Synology DSM update entity to unavailable in case no data from api gathered (#79508) 2022-10-02 21:25:32 -04:00
Bram Kragten cc8267fb13 Update frontend to 20221002.0 (#79491) 2022-10-02 21:25:31 -04:00
Robert Svensson bcd9510733 Fix missing string message in UniFi (#79487) 2022-10-02 21:25:30 -04:00
TheJulianJES 43891f0baa Fix empty default ZHA configuration (#79475)
* Also add 0 as a default for transition in const.py

This is the same default transition (none) that is used in ZHA's light.py

* Send default values for unconfigured options in ZHA's configuration API

* Remove options that match defaults values before saving
2022-10-02 21:25:30 -04:00
IceBotYT 70010c0115 Fix LaCrosse View not updating (#79474) 2022-10-02 21:25:29 -04:00
David F. Mulcahey c32e4d34f6 Remove unnecessary config entity from ZHA (#79472) 2022-10-02 21:25:28 -04:00
J. Nick Koston f8f3d96a74 Bump dbus-fast to 1.20.0 (#79465) 2022-10-02 21:25:28 -04:00
zbeky 412ef9d126 Add EVOLVEO Heat M30v2 TRV (#79462) 2022-10-02 21:25:27 -04:00
Hung Nguyen 9bb75bb726 Skip parsing Flume sensors without location (#79456) 2022-10-02 21:25:26 -04:00
Allen Porter 321da50a7e Update nest climate to avoid duplicate set mode commands (#79445) 2022-10-02 21:25:26 -04:00
Erik Montnemery e410e298c4 Remove state_unit_of_measurement from metadata DB table (#79370)
* Remove state_unit_of_measurement from metadata DB table

* Adjust test
2022-10-02 21:25:25 -04:00
Nyro d41d09aa7e Fix overkiz entity name (#79229) 2022-10-02 21:25:24 -04:00
Paulus Schoutsen 590d47aad0 Bumped version to 2022.10.0b3 2022-10-01 21:28:46 -04:00
J. Nick Koston 6c7060e0e2 Bump ibeacon-ble to 0.7.3 (#79443) 2022-10-01 21:28:40 -04:00
J. Nick Koston 2fed773b93 Bump bluetooth-adapters to 0.5.3 (#79442) 2022-10-01 21:28:39 -04:00
J. Nick Koston 71e320fc96 Bump dbus-fast to 1.18.0 (#79440)
Changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.17.0...v1.18.0
2022-10-01 21:28:39 -04:00
Tobias Sauerwein de90358f2a Fix Netatmo scope issue with HA cloud (#79437)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-01 21:28:38 -04:00
Michael 2703bbc630 Fix checking of upgrade API availability during setup of Synology DSM integration (#79435) 2022-10-01 21:28:37 -04:00
Matrix a3833a408b Fix mqtt reconnect fail when token expired (#79428)
* fix mqtt reconnect fail when token expired

* suggest change
2022-10-01 21:28:37 -04:00
Hans Oischinger 933b84050e vicare: Don't create unsupportedd button entites (#79425)
Button entities should only be offered when the datapoint exists on
the API.
2022-10-01 21:28:36 -04:00
Shay Levy 046c3b4dd1 Bump aiowebostv to 0.2.1 (#79423) 2022-10-01 21:28:35 -04:00
Mick Vleeshouwer 7e8905758b Fix low speed cover in Overkiz integration (#79416)
Fix low speed cover
2022-10-01 21:28:35 -04:00
Shay Levy 97f5670fdc Fix unifiprotect test failing CI (#79406) 2022-10-01 21:28:34 -04:00
Maciej Bieniek b3c43b981a Do not use AQI device class for CAQI sensor in Airly integration (#79402) 2022-10-01 21:28:33 -04:00
uvjustin ebb213eb14 Fix onvif snapshot fallback (#79394)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-10-01 21:28:33 -04:00
J. Nick Koston a0ba102492 Ensure bluetooth disconnect callback fires if esphome config entry is reloaded (#79389) 2022-10-01 21:28:32 -04:00
J. Nick Koston be036914a6 Improve robustness of linking homekit yaml to config entries (#79386) 2022-10-01 21:28:31 -04:00
G Johansson ecb934ee6a Fix _attr_name issue in Yale Smart Alarm (#79378)
Fix name issue
2022-10-01 21:28:31 -04:00
J. Nick Koston 783f514df3 Enable delete device support for iBeacon (#79339) 2022-10-01 21:28:30 -04:00
kingy444 2e2d8d1367 Powerview bump aiopvapi to 2.0.2 (#79274) 2022-10-01 21:28:29 -04:00
Allen Porter 1836dc4a3b Address Google Sheets PR feedback (#78889) 2022-10-01 21:28:29 -04:00
Paulus Schoutsen 62679950b1 Bumped version to 2022.10.0b2 2022-09-30 14:47:22 -04:00
Shay Levy 4db4ab1ab0 Make Shelly update sensors disabled by default (#79376) 2022-09-30 14:45:20 -04:00
Joakim Plate 2436e375bb Fjaraskupan stop on 0 percentage (#79367)
* Make sure fan turns off on 0 percentage

* Remember old percentage
2022-09-30 14:45:19 -04:00
epenet ac8805601d Realign util constants with 2022.9.7 (#79357) 2022-09-30 14:45:18 -04:00
epenet a5b8ec7113 Make temperature conversions private (#79349) 2022-09-30 14:45:17 -04:00
epenet 7e2af8685a Adjust icons with new device classes (#79348)
* Adjust icons with new device classes

* Fix mysensors tests

* Fix mysensors tests
2022-09-30 14:45:17 -04:00
Zack Barett 5bab83511a Add Third Reality to Zigbee Iot standards (#79341) 2022-09-30 14:45:16 -04:00
J. Nick Koston 3d4e5b88e0 Bump govee-ble to 0.19.1 to handle another H5181 (#79340)
fixes #79188
2022-09-30 14:45:15 -04:00
J. Nick Koston dcae000683 Remove iBeacon devices that rotate their major,minor and mac (#79338) 2022-09-30 14:45:15 -04:00
J. Nick Koston ffaa277f18 Switch to using new esphome bluetooth_proxy_version field (#79331) 2022-09-30 14:45:14 -04:00
Duco Sebel ffb8be167f Use SensorDeviceClass.VOLUME in HomeWizard (#79323)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-30 14:45:14 -04:00
J. Nick Koston 5c86e47e99 Handle short local names from esphome proxies (#79321) 2022-09-30 14:45:13 -04:00
Robert Hillis ba8b01597f Unregister Google sheets services during unload (#79314)
* Unregister services during unload - Google Sheets

* uno mas
2022-09-30 14:45:12 -04:00
Erik Montnemery 54ba4a74bc Improve naming of units used in statistics (#79276) 2022-09-30 14:45:11 -04:00
uvjustin adc5e9f215 Mask spotify content in owntone library (#79247) 2022-09-30 14:45:11 -04:00
Paulus Schoutsen e3d4a7cf22 Store alternative domain for Zeroconf homekit discovery (#79240) 2022-09-30 14:45:10 -04:00
Paulus Schoutsen 3909fa70d5 Bumped version to 2022.10.0b1 2022-09-29 13:44:27 -04:00
Bram Kragten 0c7eb3b084 Update frontend to 20220929.0 (#79317) 2022-09-29 13:44:14 -04:00
Aaron Bach fda831e17b Don't create Repairs issue on Guardian entity replacement (#79311) 2022-09-29 13:44:14 -04:00
Aaron Bach 482ce758e4 Don't create Repairs issue on RainMachine entity replacement (#79310)
* Don't create Repairs issue on RainMachine entity replacement

* Strings
2022-09-29 13:44:13 -04:00
Aaron Bach 2df05ee353 Use correct exception type for RainMachine select API error (#79309) 2022-09-29 13:44:12 -04:00
HarvsG 1e7f79ff99 Add repair for missing Bayesian prob_given_false (#79303) 2022-09-29 13:44:12 -04:00
Maciej Bieniek bae41d0702 Check if new_version is not empty string in Shelly update platform (#79300) 2022-09-29 13:44:11 -04:00
epenet 8c2cfe0281 Use SensorDeviceClass.DISTANCE in components (#79285)
* Use SensorDeviceClass.DISTANCE in components

* Adjust mysensors
2022-09-29 13:44:10 -04:00
epenet 8342964345 Use SensorDeviceClass.WEIGHT in components (#79277) 2022-09-29 13:44:10 -04:00
epenet 7b026a8eaf Use SensorDeviceClass.SPEED in metoffice (#79263) 2022-09-29 13:44:09 -04:00
epenet b17413f152 Use SensorDeviceClass.SPEED in components (#79262) 2022-09-29 13:44:08 -04:00
epenet d552056c17 Use SensorDeviceClass.SPEED in rfxtrx (#79261)
Use SensorDeviceClass.VOLUME in rfxtrx
2022-09-29 13:44:08 -04:00
epenet ddd981d4fe Use SensorDeviceClass.VOLUME in components (#79253) 2022-09-29 13:44:07 -04:00
J. Nick Koston 0e02d37815 Wait for disconnect when we are out of connection ble slots in esphome (#79246) 2022-09-29 13:44:06 -04:00
Paulus Schoutsen 92d2210a81 Add DialogFlow to Google brand (#79245) 2022-09-29 13:44:06 -04:00
Paulus Schoutsen ef0de81c68 Add Leviton brand (#79244) 2022-09-29 13:44:05 -04:00
Dennis Schroer ef8c1130d6 Update huisbaasje-client 0.1.0 to energyflip-client 0.2.0 (#79233) 2022-09-29 13:44:04 -04:00
Paulus Schoutsen 45a217238e Add ubiquiti brand (#79232) 2022-09-29 13:44:03 -04:00
Paulus Schoutsen 9aa6323c46 Add Cast + Chat to Google brand (#79231) 2022-09-29 13:44:03 -04:00
Paulus Schoutsen 0ef73df451 Add Denon brand (#79230) 2022-09-29 13:44:02 -04:00
Paulus Schoutsen 0c05e0e019 Add Apple brand (#79227) 2022-09-29 13:44:01 -04:00
Paulus Schoutsen 0d462b6a14 Add fritz brand (#79226) 2022-09-29 13:44:01 -04:00
Paulus Schoutsen 49114c72e0 Finish Google brand (#79225) 2022-09-29 13:44:00 -04:00
J. Nick Koston d756383c5b Bump yalexs to 1.2.4 (#79222) 2022-09-29 13:43:59 -04:00
HarvsG 3e5523c549 Add to issue registry if user has mirrored entries for breaking in #67631 (#79208)
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2022-09-29 13:43:59 -04:00
Raman Gupta db7fabc53f Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-29 13:43:58 -04:00
Rami Mosleh e421b90838 Allow entries with same user_key for Pushover (#77904)
* Allow entries with same user_key for Pushover

* remove unique_id completely

* Abort reauth if entered api_key already exists
Update tests
2022-09-29 13:43:57 -04:00
ehendrix23 b15af5beca Resolve traceback error when using variables in template triggers (#77287)
Co-authored-by: Erik <erik@montnemery.com>
2022-09-29 13:43:57 -04:00
Franck Nijhof e09605ff9b Bumped version to 2022.10.0b0 2022-09-28 20:49:01 +02:00
Jafar Atili 0e9e72c6e9 Bump pyswitchbee to 1.5.5 (#79206) 2022-09-28 20:41:33 +02:00
David F. Mulcahey 2ed48a9b28 Add configuration entities and device actions for Inovelli Blue Series switch to ZHA (#79106)
* Add Inovelli configutation entities to ZHA

* add device actions

* fix attribute name collision

* add device action tests

* disable remote protection per Inovelli request

* expect_reply to false

* update test for expect_reply change

* inovelli feedback

* translation keys and strings

* clean up numbers

* prevent double events

* remove individual LED defaults per inovelli

* redundant check

* update test
2022-09-28 14:22:39 -04:00
J. Nick Koston 7042d6d35b Add ESPHome BleakClient (#78911)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-28 08:06:30 -10:00
epenet 9c3b40dad1 Deprecate conversion utilities (#78957)
* Deprecate utilities

* Deprecate distance and speed

* Add tests

* Adjust pylint

* Simplify temperature deprecation
2022-09-28 19:39:44 +02:00
Daniel Shokouhi 3b05bb5b3a Update iBeacon UUID Major and Minor format for compatibility (#79220) 2022-09-28 07:23:55 -10:00
starkillerOG 4bdd8cb459 Shelly migrate to update entity (#78305)
* Add update entity

* fixes

* fixes

* change to CONFIG catogory

* return latest version if no update available

* fixes

* Remove firmware binary_sensors and buttons

* import Callable from collections

* remove ota_update tests

* Update homeassistant/components/shelly/update.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* simplify

* fix mypy

* Create test_update.py

* fix isort

* add progress support

* fix styling

* fix update_tests

* fix styling

* do not exclude shelly update test

* bring coverage to 100%

* snake case

* snake case

* change str(x) to cast(str, x)

* simplify tests

* further simplify tests

* Split MOCK_SHELLY_COAP and MOCK_SHELLY_RPC

* fix issort

* fix status test

* fix isort

* run python3 -m script.hassfest

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-09-28 20:21:30 +03:00
Bram Kragten bfd9201623 Update frontend to 20220928.0 (#79217) 2022-09-28 19:05:37 +02:00
Allen Porter cef1ebba3b Rename Google Calendars to Google Calendar (#79210) 2022-09-28 18:02:32 +02:00
Jafar Atili 5262f44b81 Refactor duplicate code in switchbee (#79209)
* Refactored duplicate code

* Update homeassistant/components/switchbee/entity.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/entity.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/entity.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* more

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-28 17:46:40 +02:00
Erik Montnemery b173ae7f44 Add support for integrations v2 (#78801)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 11:31:48 -04:00
Erik Montnemery 7f08dd851e Make script entities register their own service (#79202) 2022-09-28 11:05:29 -04:00
Maciej Bieniek 8719829fbe Add missing error catch in Shelly reauth flow (#79205) 2022-09-28 11:00:27 -04:00
avee87 8c0e3b9d50 Migrate MetOffice to new entity naming style (#74978)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-09-28 16:37:35 +02:00
Jafar Atili de3a1f444c Add light platform for switchbee integration (#78382)
* Added Light platform for switchbee integration

* added light to .coveragerc

* Applied code review feedback from other PR

* Fixes based on previous reviewes

* fixed small mistake

* added test coverage for light

* aligned code with other PR

* rebased

* fixes

* removed unecessary changes

* Update homeassistant/components/switchbee/light.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/light.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* more fixes

* more fixes

* adjusting switch with the new change

* more fixes

* Update homeassistant/components/switchbee/light.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/light.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/light.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-28 16:30:33 +02:00
epenet 24c26dc032 Use unit_conversion in components (#79204)
* Use unit_conversion in components

* Two more
2022-09-28 16:05:31 +02:00
epenet f76eeaeea1 Adjust docstring for SensorDeviceClass.WEIGHT (#79201) 2022-09-28 09:03:18 -04:00
Maciej Bieniek 1ac5696e7f Bump pybravia to 0.2.3 (#79200) 2022-09-28 14:46:43 +02:00
Vilppu Vuorinen e39c4db438 Add daily energy consumption sensor for melcloud (#78682) 2022-09-28 14:45:14 +02:00
epenet 253647aaa9 Use unit_conversion in unit_system utility (#79004) 2022-09-28 14:37:22 +02:00
Colin Robbins a38b36cf34 Add long term stats support to Withings sensors (#74829) 2022-09-28 14:33:38 +02:00
Jafar Atili 4453241176 Fix spelling in switchbee (#79195) 2022-09-28 14:18:06 +02:00
Erik Montnemery cce23683f1 Add additional integration_type options for integration manifests (#79193)
* Add additional integration_type options for integration manifests

* Rename integration_type internal to system
2022-09-28 14:17:39 +02:00
Jan Bouwhuis 84b2c74746 Move MQTT discovery hass.data globals to dataclass (#78706)
* Add MQTT discovery hass.data globals to dataclass

* isort

* Additional rework

* Add hass.data["mqtt_tags"] to dataclass

* Follow-up comment

* Corrections
2022-09-28 14:13:44 +02:00
Phil Bruckner a38c125765 Improve Life360 address attribute (#76269) 2022-09-28 14:10:19 +02:00
Paulus Schoutsen d3f5ccfed8 Allow fetching script config (#79131) 2022-09-28 13:52:58 +02:00
Jafar Atili 653e0917bb Bump pyswitchbee to 1.5.3 (#78583)
* Add switchbee to strict-typing

* strict typing

* Bumped pyswitchbee

* bumped library to 1.5.1

* strict-typed the package

* fixed issue

* addressed epenet comments

* fixed requirements_all

* once more
2022-09-28 13:51:52 +02:00
epenet 5438552d4a Cleanup unit conversion (#79197)
* Move UNIT_RATIO to BaseUnitConverter

* Make UNIT_CONVERSION private

* Remove STATISTIC_UNIT_TO_UNIT_CLASS constant

* Cleanup websocket_api

* Imrpove valid_units check
2022-09-28 13:49:46 +02:00
Teemu R a5c9c1880a Add missing quality scales for internal integrations (#76499) 2022-09-28 13:46:20 +02:00
Rami Mosleh 9bd2117240 Add typing hints to mikrotik tests (#79144) 2022-09-28 13:05:45 +02:00
Paulus Schoutsen 4843d330f3 Allow fetching automation config (#79130) 2022-09-28 12:49:00 +02:00
epenet 5389ff3253 Add new weight device class (#79185) 2022-09-28 12:13:49 +02:00
epenet c96c5bed7d Remove argument validation in Unit Converter (#79107)
* Remove argument validation in Unit Converter

* Use HomeAssistantError

* Adjust tests

* Improve coverage
2022-09-28 10:58:04 +02:00
epenet 1b8bed936c Use new DISTANCE and VOLUME device classes in Renault (#77488) 2022-09-28 10:46:24 +02:00
Paulus Schoutsen 010430780e Allow controlling PrusaLink print jobs (#78720)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 10:42:19 +02:00
Tom Brien 87dfe82613 Bump holidays to 0.16 (#78832) 2022-09-28 10:39:43 +02:00
Erik Montnemery 6ef33b1d39 Fix overriding a script's entity_id (#78765) 2022-09-28 10:37:34 +02:00
Marc Mueller 4a432db611 Remove type ignore from bluetooth (#79146) 2022-09-28 10:29:55 +02:00
JQWeb 65788fad57 Update roomba config flow description (#77974)
* Update strings.json

Automatic retrieval of the Roomba password is not possible when the iRobot App is opened on any device.
If the iRobot App is open, the password retrieval will fail.
- I added a sentence informing the users that they should make sure that the iRobot App is closed on all devices, before pressing the Home Button on the Roomba.
- Also i added a sentence informing the users that they should make sure that the iRobot App is closed on all devices, in the failure message.
This way, more users will have a succesful password retrieval, resulting in a smoother configuration experience for their Roomba into Home Assistant.

* Update strings.json

Added the sentence to the front of the message
Added an "Important" notice to catch more attention.

* Update homeassistant/components/roomba/strings.json

Co-authored-by: Yevhenii Vaskivskyi <yevhenii.vaskivskyi@gmail.com>

* Update strings.json

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Yevhenii Vaskivskyi <yevhenii.vaskivskyi@gmail.com>
2022-09-28 10:05:58 +02:00
J. Nick Koston 63b7a23636 Bump switchbot to fix assertion error on processing humidifer data (#79180)
changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.19.12...0.19.13
2022-09-28 09:29:09 +02:00
Yuxin Wang 52307708c8 Refactor apcupsd to use config flow (#64809)
* Add Config Flow to APCUPSd integration and remove YAML support.

* Hide the binary sensor if user does not select STATFLAG resource.

* Add tests for config flows.

* Simplify config flow code.

* Spell fix.

* Fix pylint warnings.

* Simplify the code for config flow.

* First attempt to implement import flows to suppport legacy YAML configurations.

* Remove unnecessary log calls.

* Wrap synchronous update call with `hass.async_add_executor_job`.

* Import the YAML configurations when sensor platform is set up.

* Move the logger call since the variables are not properly set up.

* Add codeowner.

* Fix name field of manifest.json.

* Fix linting issue.

* Fix incorrect dependency due to incorrect rebase.

* Update codeowner and config flows via hassfest.

* Postpone the deprecation warning to 2022.7.

* Import future annotations for init file.

* Add an newline at the end to make prettier happy.

* Update github id.

* Add type hints for return types of steps in config flow.

* Move the deprecation date for YAML config to 2022.12.

* Update according to reviews.

* Use async_forward_entry_setups.

* Add helper properties to `APCUPSdData` class.

* Add device_info for binary sensor.

* Simplify config flow.

* Remove options flow strings.

* update the tests according to the changes.

* Add `entity_registry_enabled_default` to entities and use imported CONF_RESOURCES to disable entities instead of skipping them.

* Update according to reviews.

* Do not use model of the UPS as the title for the integration.

Instead, simply use "APCUPSd" as the integration title and let the device info serve as title for each device instead.

* Change schema to be a global variable.

* Add more comments.

* Rewrite the tests for config flows.

* Fix enabled_by_default.

* Show friendly titles in the integration.

* Add import check in `async_setup_platform` to avoid importing in sensor platform setup.

* Add import check in `async_setup_platform` to avoid importing in sensor platform setup.

* Update comments in test files.

* Use parametrize instead of manually iterating different test cases.

* Swap the order of the platform constants.

* Avoid using broad exceptions.

* Set up device info via `_attr_device_info`.

* Remove unrelated test in `test_config_flow`.

* Use `DeviceInfo` instead of dict to assign to `_attr_device_info`.

* Add english translation.

* Add `async_create_issue` for deprecated YAML configuration.

* Enable UPS status by default since it could show "online, charging, on battery etc" which is meaningful for all users.

* Apply suggestions from code review

* Apply suggestion

* Apply suggestion

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 09:14:04 +02:00
G Johansson 18be5f1387 SQL fix entry options save (#78145)
* SQL fix options

* Testing
2022-09-28 08:49:37 +02:00
Jack Boswell 3d3aa824b3 Refactor Trend to use async_setup_platform (#78216)
* Move trend constants to const.py

* Migrate to async_setup_platform

* Fix test

* Reorder attrs
2022-09-28 08:46:13 +02:00
Erik Montnemery c38b1e7727 Improve check of new_entity_id in entity_registry.async_update_entity (#78276)
* Improve check of new_entity_id in entity_registry.async_update_entity

* Fix race in rfxtrx config flow

* Make sure Event is created on time

* Rename poorly named variable

* Fix typing

* Correct typing of _handle_state_change
2022-09-28 08:43:58 +02:00
Michael 69bf77be12 Avoid multiline lambdas in Fritz!Smarthome sensors (#78524)
* avoid multiline lambdas

* update tests
2022-09-28 08:43:31 +02:00
Vincent Knoop Pathuis 9ee81fdd77 Landis+Gyr Heat Meter: add heat previous year GJ as diagnostic (#78690)
Add heat previous year GJ as diagnostic
2022-09-28 08:28:31 +02:00
Robert Hillis e360a4fa9e Bump aiopyarr to 22.9.0 (#79173) 2022-09-28 08:06:24 +02:00
J. Nick Koston 0c191df598 Bump ibeacon-ble to 0.7.1 (#79182) 2022-09-28 07:48:38 +02:00
Ville Skyttä b54458dfba Fix EZVIZ spelling case (#79164)
* Fix EZVIZ spelling case

The vendor seems consistent about all-uppercase spelling, so let's
follow suit.

* Revert changes to translations other than English
2022-09-28 07:41:33 +02:00
J. Nick Koston 38f3fa0762 Handle invalid ISY data when the device is booting (#79163) 2022-09-27 17:42:48 -10:00
J. Nick Koston 7b708f4b35 Fix bluetooth active update coordinator not returning on failure (#79167)
We also need to return on polling exception so we do not
try to update.

Fixes #79166
2022-09-27 22:51:46 -04:00
J. Nick Koston 40f5c317c7 Bump yalexs to 1.2.3 (#79170)
Maps more missing activities

Fixes #79119

changelog: https://github.com/bdraco/yalexs/compare/v1.2.2...v1.2.3
2022-09-27 22:50:56 -04:00
J. Nick Koston 1cf1d2c2bb Update pySwitchbot for newer firmwares (#79174)
changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.19.11...0.19.12

found while developing bluetooth proxies for esphome
2022-09-27 22:50:40 -04:00
J. Nick Koston 8c3e0d527d Bump dbus-fast to 0.17.0 (#79177)
Changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.15.1...v1.17.0
2022-09-27 22:50:06 -04:00
David F. Mulcahey cd4b0f53a1 Bump ZHA quirks lib (#79175) 2022-09-27 20:35:14 -04:00
javicalle e5630c6a66 New ZONNSMART TRVs (#79169)
Adds a few missing ZONNSMART TRVs
2022-09-27 16:25:36 -04:00
Erik Montnemery 9084beda32 Keep storing statistics for sensors which change device class (#79155) 2022-09-27 14:33:28 -04:00
uvjustin a561b608bf Add spotify support to forked-daapd (#79136) 2022-09-27 14:32:05 -04:00
uvjustin b043a6ba88 Cleanup add browse media forked daapd #79009 (#79157) 2022-09-27 14:07:19 -04:00
J. Nick Koston 5eb50f63fd Ensure bleak_retry_connector uses HaBleakClientWrapper (#79132) 2022-09-27 14:06:10 -04:00
J. Nick Koston 8eaa22cf90 Break out esphome domain data (#79134) 2022-09-27 07:56:00 -10:00
J. Nick Koston d11916758c Handle timeout on pairing close in HomeKit Controller (#79133) 2022-09-27 07:51:42 -10:00
J. Nick Koston d991c173a2 Add new distance device class to iBeacons (#79162) 2022-09-27 13:49:34 -04:00
epenet 12e4d18038 Add volume to SensorDeviceClass (#77960)
* Add volume to SensorDeviceClass

* Adjust recorder

* Adjust tests

* Adjust sensor UNIT_CONVERTERS

* Adjust recorder

* Update strings.json
2022-09-27 19:37:52 +02:00
Franck Nijhof d8a15f3dda Fix Withings authentication to leverage default redirect URI (#79158) 2022-09-27 13:22:52 -04:00
epenet 7c448416e1 Add speed to SensorDeviceClass (#77953)
* Add speed to SensorDeviceClass

* Adjust recorder

* Adjust tests

* Adjust sensor UNIT_CONVERTERS

* Add tests

* Add websocket tests

* Update strings.json
2022-09-27 17:19:34 +01:00
Erik Montnemery 7ead77eea6 Correct typing of async_track_state_change (#79150)
* Correct typing of async_track_state_change

* Update integrations
2022-09-27 16:32:54 +01:00
Erik Montnemery 4fcd0f3e23 Fix recorder fixtures (#79147) 2022-09-27 17:00:06 +02:00
Erik Montnemery 53263ea9bc Revert "Add serial_number to device registry entries" (#79139) 2022-09-27 16:36:38 +02:00
epenet bfcc18e5b8 Add distance to SensorDeviceClass (#77951)
* Add distance to SensorDeviceClass

* Adjust recorder

* Adjust tests

* Adjust recorder

* Update __init__.py

* Update test_websocket_api.py

* Update test_websocket_api.py

* Update test_websocket_api.py

* Update strings.json

* Fix tests

* Adjust docstring
2022-09-27 15:34:00 +01:00
Tom Puttemans a58f919972 Add unique ID to dsmr_reader sensors (#79101) 2022-09-27 14:46:18 +02:00
starkillerOG 88500145d2 Goodwe reset to 0 at midnight (#76793)
* reset at midnight

* fix styling

* Update sensor.py

* Update homeassistant/components/goodwe/sensor.py

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

* fix missing import

* Only reset if inverter is offline at midnight

* fix issort

* Add detailed explanation

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-27 14:09:55 +02:00
Erik Montnemery 5bcef1c7ce Indicate in statistics issues when units can be converted (#79121) 2022-09-27 13:51:38 +02:00
Erik Montnemery 2167cf540d Drop some unused constants from recorder (#79138) 2022-09-27 10:52:16 +02:00
Erik Montnemery cba3b6ad94 Add serial_number to device registry entries (#77713) 2022-09-27 09:08:54 +02:00
Erik Montnemery c52d0f7495 Support converting statistics to another unit (#79117) 2022-09-27 08:44:58 +02:00
Kenneth Henderick 772581dd28 Microsoft TTS: Add support for gender and type (#78848)
* Add support for gender and type

* Reformat code
2022-09-27 08:31:41 +02:00
epenet df47fda2a0 Remove parametrization in recorder websocket api tests (#78864)
Remove parametrization in websocket api tests
2022-09-27 08:27:26 +02:00
Bram Kragten 7e9be812ca Add unique id to entity reg list response (#78945)
* Add unique id to entity reg list response

* Update test_entity_registry.py
2022-09-27 08:25:56 +02:00
Joakim Plate fb32e745fc Listen to out of band coil updates in Nibe Heat Pumps (#78976)
Listen to callbacks
2022-09-27 08:24:58 +02:00
epenet dc82ae4f69 Make VALID_UNITS a set (#79104)
* Make VALID_UNITS a set

* Also adjust weather
2022-09-27 07:16:03 +01:00
Jan Bouwhuis c5a58c8501 Fix MQTT setup after changing config entry flow options (#79103)
Fix issues with config flow options
2022-09-27 08:05:28 +02:00
uvjustin 499c3410d1 Add browse media to forked-daapd (#79009)
* Add browse media to forked-daapd

* Use elif in async_browse_image

* Add tests

* Add tests

* Add test

* Fix test
2022-09-26 20:40:23 -04:00
Marc Mueller 1e3a3d32ad Use explicit return value in frontend (#79122) 2022-09-26 20:38:19 -04:00
Marc Mueller 50e732d00f Add image_processing device_class StrEnum (#79124) 2022-09-26 20:37:04 -04:00
GitHub Action 4460953ff4 [ci skip] Translation update 2022-09-27 00:31:59 +00:00
Jan Bouwhuis 7216d4c636 Add debug logging for MQTT templates (#79016) 2022-09-27 00:36:10 +02:00
Marc Mueller 9c62c55f42 Fix rfxtrx typing (#79125) 2022-09-27 00:32:32 +02:00
Robert Hillis 0950674146 Remove issue from Radarr (#79127) 2022-09-27 00:22:58 +02:00
Matthias Alphart 3ae092f272 Update xknx to 1.1.0 - Routing flow control (#79118)
xknx 1.1.0
2022-09-26 23:17:33 +02:00
Marc Mueller f48d1a1f07 Remove unused icloud code (#79116) 2022-09-26 22:10:59 +02:00
Marc Mueller e8156adb13 Update mypy to 0.981 (#79115) 2022-09-26 16:10:06 -04:00
J. Nick Koston 1f6d19bb99 Bump dbus-fast to 0.15.1 (#79111)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.14.0...v1.15.1
2022-09-26 21:50:08 +02:00
J. Nick Koston c89d776d37 Bump bleak-retry-connector to 2.1.3 (#79105) 2022-09-26 08:42:56 -10:00
Franck Nijhof c777e8592c Merge branch 'master' into dev 2022-09-26 19:40:11 +02:00
Marc Mueller ed812b5ee4 Remove unused alexa code (#79100) 2022-09-26 19:22:07 +02:00
Paulus Schoutsen 77a933d6f0 2022.9.7 (#79095) 2022-09-26 11:18:42 -04:00
Kevin Stillhammer de3be96bdb Remove deprecated YAML import for here_travel_time (#77959) 2022-09-26 08:10:16 -07:00
Paulus Schoutsen 04d4483998 Pin pyOpenSSL to 22.0.0 (#79066) 2022-09-26 10:32:27 -04:00
Paulus Schoutsen 217ea5e676 Hassfest 2022-09-26 10:31:26 -04:00
Martin Hjelmare 2a94c42cea Support VLC 4 pause (#77302)
* Support VLC 4 pause

* Clean vlc tests types
2022-09-26 16:17:39 +02:00
G Johansson fc62ba58a6 Start deprecation yaml uptime (#77782) 2022-09-26 16:11:07 +02:00
G Johansson 05568792d1 Start deprecation yaml season (#77781) 2022-09-26 16:08:27 +02:00
G Johansson 58e9ad8c1d Start deprecation yaml moon (#77780) 2022-09-26 16:07:45 +02:00
Paulus Schoutsen 943cca3d23 Bumped version to 2022.9.7 2022-09-26 09:59:39 -04:00
Erik Montnemery a0f2571872 Always install requirements of after_dependencies (#79094) 2022-09-26 09:59:34 -04:00
J. Nick Koston f2860fd6b3 Bump govee-ble to 0.19.0 (#79038) 2022-09-26 09:59:34 -04:00
Jan Bouwhuis 44109a6922 Fix MQTT device_tracker generating unique id-s - regression on #78547 (#79033) 2022-09-26 09:59:33 -04:00
Franck Nijhof b55ce96a56 Fix failing LaMetric pairing message during config flow (#79031) 2022-09-26 09:59:32 -04:00
Thomas Schamm f2fe91dac1 Bumped boschshcpy 0.2.30 to 0.2.35 (#79017)
Bumped to boschshcpy==0.2.35
2022-09-26 09:59:31 -04:00
Maikel Punie eb80062b26 Fix velbus matching ignored entries in config flow (#78999)
* Fix bug #fix78826

* start using async_abort_entries_match

* fix/rewrite tests
2022-09-26 09:59:31 -04:00
J. Nick Koston 3b8f08270e Bump yalexs to 1.2.2 (#78978) 2022-09-26 09:59:30 -04:00
Jan Bouwhuis 60c78fd33f Set OWM default mode to hourly legacy API (#78951) 2022-09-26 09:59:29 -04:00
starkillerOG 12903a14c5 Bump motionblinds to 0.6.13 (#78946) 2022-09-26 09:59:29 -04:00
Diogo Gomes 32cea6b95d Bump pyipma to 3.0.5 (#78936)
* fix #78928 and review of #78332

* address comment
2022-09-26 09:59:28 -04:00
Erik Montnemery 408069cb0c Always install requirements of after_dependencies (#79094) 2022-09-26 09:59:01 -04:00
Bouwe Westerdijk 2667f0b792 Bump plugwise to v0.21.3, add related new features (#76610)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-09-26 15:55:29 +02:00
J. Nick Koston 75f6f9b5e2 Improve performance of Bluetooth device fallback (#79078) 2022-09-26 09:12:08 -04:00
Robert Hillis a8b8b245d1 Allow multiple entries in Tautulli (#74406) 2022-09-26 08:54:17 -04:00
Joakim Plate f463b22053 Add nibe heat pump switch entities (#78943)
* Add switch platform

* Enable switch platform

* Drop unneeded variable
2022-09-26 14:46:43 +02:00
Pascal Vizeli edc9c0d09c Update aioecowitt to 2022.09.3 (#79087) 2022-09-26 13:24:15 +02:00
IceBotYT 677cba582b Fix name truncation and unusual entity names for LaCrosse View (#78254) 2022-09-26 11:35:33 +02:00
uvjustin 2d7b364713 Bump ha-av to v10.0.0.b5 (#78977) 2022-09-26 10:52:03 +02:00
Joakim Plate 92e9e7fb6c Add nibe heat pump number entities (#78941)
* Add number platform

* Enable number platform

* Adjust typing

* Update homeassistant/components/nibe_heatpump/number.py

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

* Fix format

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-26 10:40:11 +02:00
Franck Nijhof fe5e3320d4 Adjust switch as X to inherit entity category (#79081) 2022-09-26 10:22:45 +02:00
J. Nick Koston 87e0c555db Bump aiohomekit to 2.0.1 (#79080) 2022-09-25 21:43:38 -10:00
Avi Miller 691028dfb4 Enable the move firmware effect on multizone lights (#78918)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-25 21:08:36 -10:00
J. Nick Koston 75104159c6 Fix mqtt tests (#79079) 2022-09-25 20:07:50 -10:00
starkillerOG d9b58e5ef1 Netgear add router switches (#72171) 2022-09-25 23:30:17 -04:00
Jeef b617d2bab0 IntelliFire Fan Support (#74181)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-25 23:24:46 -04:00
Tom Puttemans 7aa53feff4 Add config flow and MQTT autodiscover to dsmr_reader integration (#71617)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-25 23:15:50 -04:00
Justin Sherman f26fadbdfc Add range to min_max (#78282) 2022-09-25 23:08:31 -04:00
Robert Hillis bd01f90d42 Migrate attributes to sensors in Litter-Robot (#78580) 2022-09-25 22:40:34 -04:00
Robert Hillis 82bab545df Add missing doc strings and requirements in Google Sheets (#78616) 2022-09-25 22:12:07 -04:00
HarvsG 49eeeae51d Fix Bayesian sensor to use negative observations (#67631)
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2022-09-25 22:02:35 -04:00
Marc Mueller faad904cbc Remove unnecessary boolean checks for callables (#78819) 2022-09-25 22:01:27 -04:00
Mick Vleeshouwer c6fd2bde46 Migrate Overkiz to new entity naming style (#76687) 2022-09-25 21:59:18 -04:00
Tobias Sauerwein 81abeac83e Netatmo refactor to use pyatmo 7.0.1 (#73482) (#78523)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-09-25 21:55:58 -04:00
Paul Annekov 1b17c83095 More details about SMS modem (#75694) 2022-09-25 21:49:55 -04:00
J. Nick Koston 92612c9fe3 Add RSSI sensor to HomeKit Controller (#78906) 2022-09-25 21:31:56 -04:00
epenet c1bc26b413 Finish migration of recorder to unit conversion (#78985) 2022-09-25 21:14:18 -04:00
J. Nick Koston 3ad5d799c6 Bump dbus-fast to 1.14.0 (#79063) 2022-09-25 21:02:29 -04:00
Joakim Plate f8d42e9246 Add nibe heat pump select entities (#78942) 2022-09-25 20:57:14 -04:00
Paulus Schoutsen 697e7b3a20 TTS Cleanup and expose get audio (#79065) 2022-09-25 20:53:20 -04:00
GitHub Action 39ddc37d76 [ci skip] Translation update 2022-09-26 00:30:11 +00:00
J. Nick Koston 49f203c635 Add support for newer Magic Home sockets (#79074) 2022-09-25 13:47:56 -10:00
Robert Hillis 43c66b90df Change Skybell color mode to RGB (#78078) 2022-09-25 13:47:38 -10:00
Robert Hillis c2209111b2 Migrate Radarr to new entity naming style (#79042)
Move Radarr to new naming scheme
2022-09-26 01:26:50 +02:00
J. Nick Koston 917cf674de Handle battery services that only report low battery in HomeKit Controller (#79072) 2022-09-25 12:08:28 -10:00
Robert Hillis b70027aec1 Add binary sensor to Radarr (#79043)
* Add binary sensor to Radarr

* uno mas
2022-09-25 23:50:09 +02:00
Robert Hillis b820fed11a Fix Radarr import (#79037) 2022-09-25 23:48:25 +02:00
Paulus Schoutsen f41b69e19e Bump cryptography to 38 (#79067) 2022-09-25 17:39:42 -04:00
Paulus Schoutsen 0cc03c37bb Pin pyOpenSSL to 22.0.0 (#79066) 2022-09-25 15:19:06 -04:00
Robert Svensson bfd12730f2 Bump aiounifi to v35 (#79040)
* Update imports
Replace constants with enums

* Import new request objects

* Bump aiounifi to v35
2022-09-25 20:08:56 +02:00
Robert Hillis 42bd664305 Add diagnostic sensor to Radarr (#79044)
* Add diagnostic sensor to Radarr

* coverage
2022-09-25 16:11:53 +02:00
Raman Gupta ef30ebd9e1 Stop ignoring test coverage in zwave_js (#79049) 2022-09-25 07:32:59 -04:00
Oscar Calvo b4b892a3b3 Fix a bug where SMS will not be sent as GSM-alphabet (#78800)
* Fix #76283

Fix #76283

* Update notify.py

* Fixes a bug where unicode parameter is not parssed correctly

* Apply PR feedback

* Apply PR feedback
2022-09-25 08:43:46 +02:00
Jan Bouwhuis fffa70a136 Set OWM default mode to hourly legacy API (#78951) 2022-09-24 22:03:54 -04:00
Franck Nijhof 5d378f6fbd Fix failing LaMetric pairing message during config flow (#79031) 2022-09-24 22:03:21 -04:00
Jan Bouwhuis bdcece4904 Fix MQTT device_tracker generating unique id-s - regression on #78547 (#79033) 2022-09-24 22:03:03 -04:00
J. Nick Koston 62490f1838 Bump govee-ble to 0.19.0 (#79038) 2022-09-24 22:02:17 -04:00
Maciej Bieniek c46f55caa8 Add reauth flow to Shelly integration (#78786) 2022-09-24 22:01:49 -04:00
J. Nick Koston 26b8e4e0fb Bump bluetooth dependencies (#79035)
* Bump dbus-fast to 1.10.0

changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v1.9.0...v1.10.0

* bump again

* bump again

* to 13

* bump

* try again
2022-09-24 15:44:59 -10:00
GitHub Action 3e9c0f18f9 [ci skip] Translation update 2022-09-25 00:28:01 +00:00
J. Nick Koston a3cb38e114 Bump dbus-fast to 1.9.0 (#79024) 2022-09-24 05:04:52 -10:00
Maciej Bieniek 38b6377a31 Bump shelly backend library to version 2.0.2 (#79026)
Bump aioshelly library to version 2.0.2
2022-09-24 12:30:16 +02:00
Paulus Schoutsen 5774664234 Clean up Speech-to-text integration and add tests (#79012) 2022-09-24 09:58:01 +02:00
J. Nick Koston 1b144c0e4d Update to bleak 0.18.0 (#79008) 2022-09-23 15:09:28 -10:00
J. Nick Koston 02731efc4c Handle iBeacons that broadcast multiple different uuids (#79011)
* Handle iBeacons that broadcast multiple different uuids

* fix flip-flopping between uuids

* naming
2022-09-23 20:45:09 -04:00
Thomas Schamm fc58d88770 Bumped boschshcpy 0.2.30 to 0.2.35 (#79017)
Bumped to boschshcpy==0.2.35
2022-09-23 20:43:03 -04:00
GitHub Action 3875ce6c9e [ci skip] Translation update 2022-09-24 00:31:54 +00:00
Aaron Bach 55b214c911 Replace two RainMachine binary sensors with config switches (#76478) 2022-09-23 17:05:07 -06:00
Maikel Punie a495df9759 Fix velbus matching ignored entries in config flow (#78999)
* Fix bug #fix78826

* start using async_abort_entries_match

* fix/rewrite tests
2022-09-23 23:11:06 +02:00
epenet 26d9962fe5 Add base entity to switchbee (#78987)
* Add base entity to switchbee

* Adjust coverage

* Add SwitchBeeDeviceEntity

* Don't move available

* Update homeassistant/components/switchbee/entity.py

Co-authored-by: Joakim Plate <elupus@ecce.se>

* Update homeassistant/components/switchbee/entity.py

Co-authored-by: Joakim Plate <elupus@ecce.se>

Co-authored-by: Joakim Plate <elupus@ecce.se>
2022-09-23 22:34:49 +02:00
Aaron Bach 21b91f75ba Bump regenmaschine to 2022.09.2 (#79010)
* Bump `regenmaschine` to 2022.09.2

* Fix tests

* Restore incorrectly-deleted test
2022-09-23 13:46:25 -06:00
Jan Bouwhuis 81514b0d1c Move MQTT debug_info to dataclass (#78788)
* Add MQTT debug_info to dataclass

* Remove total attr, assign factory

* Rename typed dict to MqttDebugInfo and use helper

* Split entity and trigger debug info

* Refactor

* More rework
2022-09-23 20:55:29 +02:00
Paulus Schoutsen d39ed0cde4 Remove unused custom data in Google Assistant (#79003) 2022-09-23 13:03:28 -04:00
starkillerOG e6f567a751 Use device class duration for relevant Xiaomi Miio sensors (#78974) 2022-09-23 18:44:52 +02:00
epenet dd7a06b9dc Use unit_conversion in components (#78991) 2022-09-23 17:33:32 +02:00
epenet 62022a2657 Increase code coverage for migrated utilities (#78990)
Increase code coverage for migrated utilites
2022-09-23 17:32:59 +02:00
Jc2k ffd88ab50e Enable Thread transport in homekit_controller (#78994) 2022-09-23 16:09:10 +01:00
J. Nick Koston 5477ebdb13 Avoid creating iBeacon trackers when the device has no name (#78983) 2022-09-23 05:06:24 -10:00
Joakim Plate ace9592aa1 Enable strict typing for rfxtrx (#74927)
* Additional typing

* Enable strict typing

* Avoid changes causing coverage change

* Adjust comment on force update

* Rename to replace_devices

* Reduce typing scope

* Adjust mypy
2022-09-23 16:47:58 +02:00
Diogo Gomes 67779089cd Bump pyipma to 3.0.5 (#78936)
* fix #78928 and review of #78332

* address comment
2022-09-23 16:23:33 +02:00
epenet 08ebb9f31a Test sum AND mean in recorder tests (#78998) 2022-09-23 09:55:17 -04:00
Joakim Plate 55d90c0abc Correct ssdp generation for bravia (#79002)
Correct ssdp generation
2022-09-23 15:42:11 +02:00
Artem Draft ab4c1ebfd6 Add Button platform to Bravia TV (#78093)
* Add Button platform to Bravia TV

* Add button.py to coveragerc

* improve callable type
2022-09-23 15:39:24 +02:00
Artem Draft 7c460cc641 Add PSK auth and SSDP discovery to Bravia TV (#77772) 2022-09-23 09:03:43 -04:00
epenet 83b426deb0 Adjust normalization routines in recorder statistics (#78966) 2022-09-23 08:27:27 -04:00
epenet 4200778eaf Move distance and speed util to unit_conversion (#78967) 2022-09-23 08:23:59 -04:00
Raman Gupta 95e3572277 Retire climacell entirely (#78901)
* Retire climacell entirely

* remove fixtures

* remove const file

* Remove all traces of climacell integration

* missed some
2022-09-23 09:05:55 +02:00
J. Nick Koston d1da6ea04d Fix flapping bluetooth scanner test (#78961) 2022-09-22 23:39:38 -04:00
J. Nick Koston a7da155a2a Bump yalexs to 1.2.2 (#78978) 2022-09-22 23:39:23 -04:00
J. Nick Koston 2b8d582894 Remove min rssi setting from iBeacon (#78843) 2022-09-22 23:39:00 -04:00
Robert Hillis 0ccb495209 Radarr Config Flow (#78965) 2022-09-22 22:16:24 -04:00
Erik Montnemery 6b0c9b6a6a Simplify energy settings (#78947) 2022-09-22 21:58:15 -04:00
Erik Montnemery 27599ea0ee Minor tweaks of hassfest and loader.py (#78929) 2022-09-22 21:54:22 -04:00
GitHub Action bbe19e6255 [ci skip] Translation update 2022-09-23 00:32:50 +00:00
Nathan Spencer 8297317f2a Bump pylitterbot to 2022.9.6 (#78970) 2022-09-22 14:14:43 -10:00
Aaron Bach 48744bfd68 Replace RainMachine freeze protection temperature sensor with a select (#76484)
* Migrate two RainMachine binary sensors to config-category switches

* Removal

* Replace RainMachine freeze protection temperature sensor with a select

* Fix CI

* Show options in current unit system

* Have message include what entity is replacing this sensor

* Don't define a method for every dataclass instance

* Add issue registry through helper

* Breaking change -> deprecation

* Naming

* Translations

* Remove extraneous list

* Don't swallow exception

* Don't be prematurely defensive

* Better Repairs instructions
2022-09-22 13:19:33 -06:00
epenet 9692cdaf2d Make _is_valid_unit private in unit system (#78924) 2022-09-22 21:02:31 +02:00
epenet 5c7d40cccf Rename property in Plugwise EntityDescription (#78935) 2022-09-22 18:55:57 +02:00
epenet ddf56baf7a Move temperature utility to unit_conversion (#78960) 2022-09-22 18:31:50 +02:00
starkillerOG 090d004122 Bump motionblinds to 0.6.13 (#78946) 2022-09-22 06:17:53 -10:00
Joakim Plate e46180ee76 Add binary sensor platform to Nibe Heatpump (#78927)
* Add binary_sensor platform

* Enable binary_sensor platform

* Add binary_sensor to coveragerc

* Apply suggestions from code review

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-22 17:57:20 +02:00
epenet c8491c4404 Move volume utility to unit_conversion (#78955)
* Move volume utility to unit_conversion

* Split tests
2022-09-22 17:49:45 +02:00
epenet 523d8d246b Move pressure utility to unit_conversion (#78953) 2022-09-22 16:44:09 +02:00
epenet 0767cdd935 Move energy and power utilites to unit_conversion (#78950)
* Move energy and power utilites to unit_conversion

* Move tests
2022-09-22 15:39:49 +02:00
Jafar Atili c97817bb0e Add Button platform to switchbee integration (#78386)
* Added Button platform to switchbee integration

* fixed review comments

* Addressed CR comments

* Update homeassistant/components/switchbee/button.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/button.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update homeassistant/components/switchbee/button.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* removed the zone name from the entity name

* Re-add space

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-22 14:20:32 +02:00
epenet 6002377d4f Convert UnitConverter protocol to a class (#78934)
* Convert UnitConverter protocl to a class

* Remove logic change

* Use TypeVar

* Remove NORMALIZED_UNIT from pressure

* Reduce size of PR

* Reduce some more

* Once more

* Once more

* Remove DEVICE_CLASS
2022-09-22 14:15:22 +02:00
Joakim Plate 27d1c1f471 Nibe Heat Pump after merge fixups (#78931) 2022-09-22 12:17:04 +02:00
dependabot[bot] 9f62a29928 Bump actions/stale from 5 to 6.0.0 (#78922)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-09-22 10:48:34 +02:00
Franck Nijhof b4f1683c40 2022.9.6 (#78916) 2022-09-22 10:29:12 +02:00
Raman Gupta a286600b03 Add debug logging to tomorrowio and mask API key (#78915)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-22 10:09:37 +02:00
rikroe 7be5fde8d6 Bump bimmer_connected to 0.10.4 (#78910)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2022-09-22 08:55:03 +02:00
J. Nick Koston d44ff16f9d Handle timeout fetching bond token in config flow (#78896) 2022-09-22 08:55:00 +02:00
J. Nick Koston b51dc0884e Fix samsungtv to abort when ATTR_UPNP_MANUFACTURER is missing (#78895) 2022-09-22 08:54:56 +02:00
Jan Bouwhuis f3451858ef Correct return typing for catch_log_exception (#78399) 2022-09-22 08:54:42 +02:00
rikroe da4ceea647 Bump bimmer_connected to 0.10.4 (#78910)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2022-09-22 08:53:29 +02:00
epenet 713fb874a8 Add NORMALISED_UNIT to UnitConverter (#78920)
* Add NORMALISED_UNIT to UnitConverter

* Adjust statistics

* Rename
2022-09-22 08:50:08 +02:00
Joakim Plate f5120872aa Support for nibe heat pumps with local access (#78542)
* Add nibe local integration

* Add sensor platform

* Enable sensor platform

* Fix manifest

* Correct domain after rename

* Adjust tests for rename

* Correct codeowners

* Add requirements for tests

* Grab coil by name

* Switch to home assistant error

* Config entry always exist

* Switch to create task

* Bump to 0.5.0

* Use new coils access

* Remove unneeded check

* Use single instance of logger

* Test invalid ip

* Don't allow coil to be None

* Remove sleep

* Initialize data in coordinator init

* Add utils to ignore

* Update homeassistant/components/nibe_heatpump/manifest.json

Co-authored-by: J. Nick Koston <nick@koston.org>

* Use generator instead

* Use tenacity as retry decorator

* Use package instead of name to get logger

* Skip broad exception handling

* Catch missing coil exception

* Add missing test

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-22 08:43:30 +02:00
epenet 39315b7fe3 Introduce UnitConverter protocol (#78888)
* Introduce ConversionUtility

* Use ConversionUtility in number

* Use ConversionUtility in sensor

* Use ConversionUtility in sensor recorder

* Add normalise to ConversionUtility

* Revert changes to recorder.py

* Reduce size of PR

* Adjust recorder statistics

* Rename variable

* Rename

* Apply suggestion

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

* Apply suggestion

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

* Apply suggestion

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-22 07:18:00 +02:00
Raman Gupta e62e21ce46 Bump pytomorrowio to 0.3.5 (#78914) 2022-09-22 07:10:13 +02:00
Allen Porter d034fd2629 Prompt user to remove application credentials when deleting config entries (#74825)
* Prompt user to remove application credentials when deleting config entries

* Adjust assertions on intermediate state in config entry tests

* Add a callback hook to modify config entry remove result

* Improve test coverage and simplify implementation

* Register remove callback per domain

* Update homeassistant/components/application_credentials/__init__.py

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

* Fix tests to use new variable name including domain

* Add websocket command to return application credentials for an integration

* Remove unnecessary diff

* Apply suggestions from code review

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-21 21:02:40 -07:00
Paulus Schoutsen 103f490519 Bumped version to 2022.9.6 2022-09-21 22:33:08 -04:00
Paulus Schoutsen 68fa40c0fa Disable force update Netatmo (#78913) 2022-09-21 22:31:36 -04:00
Paulus Schoutsen 56e5774e26 Disable force update Netatmo (#78913) 2022-09-21 22:31:14 -04:00
J. Nick Koston 5c294550e8 Handle default RSSI values from bleak in bluetooth (#78908) 2022-09-21 22:30:41 -04:00
Michael 72769130f9 Check Surveillance Station permissions during setup of Synology DSM integration (#78884) 2022-09-21 22:30:40 -04:00
Jc2k 8f21e7775b Fix parsing Eve Energy characteristic data (#78880) 2022-09-21 22:30:40 -04:00
Marc Mueller 6704efd1ef Pin Python patch versions [ci] (#78830) 2022-09-21 22:29:25 -04:00
Joakim Plate 829777a211 If brightness is not available, don't set a value (#78827) 2022-09-21 22:25:42 -04:00
J. Nick Koston 48c6fbf22e Bump dbus-fast to 1.5.1 (#78802) 2022-09-21 22:25:42 -04:00
Aaron Bach fac2a46781 Guard Guardian switches from redundant on/off calls (#78791) 2022-09-21 22:25:13 -04:00
Aaron Bach a688b4c581 Fix bug wherein RainMachine services use the wrong controller (#78780) 2022-09-21 22:21:29 -04:00
Nico 8c9e0a8239 Bump aioimaplib to 1.0.1 (#78738) 2022-09-21 22:21:28 -04:00
J. Nick Koston 91398b6a75 Drop PARALLEL_UPDATES from switchbot (#78713) 2022-09-21 22:21:28 -04:00
Jan Bouwhuis dea221b155 Link manually added MQTT entities the the MQTT config entry (#78547)
Co-authored-by: Erik <erik@montnemery.com>
2022-09-21 22:20:56 -04:00
starkillerOG bfcb333227 Add status codes 23 and 26 to Xiaomi Miio vacuum (#78289)
* Add status codes 23 and 26

* change status 26
2022-09-21 22:15:47 -04:00
Jan Bouwhuis 3dd0dbf38f Make hass.data["mqtt"] an instance of a DataClass (#77972)
* Use dataclass to reference hass.data globals

* Add discovery_registry_hooks to dataclass

* Move discovery registry hooks to dataclass

* Add device triggers to dataclass

* Cleanup DEVICE_TRIGGERS const

* Add last_discovery to data_class

* Simplify typing for class `Subscription`

* Follow up on comment

* Redo suggested typing change to sasisfy mypy

* Restore typing

* Add mypy version to CI check logging

* revert changes to ci.yaml

* Add docstr for protocol

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Mypy update after merging #78399

* Remove mypy ignore

* Correct return type

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-21 22:15:47 -04:00
Jan Bouwhuis 4894e2e5a4 Refactor common MQTT tests to use modern schema (#77583)
* Common tests availability

* Common tests attributes

* Common tests unique id

* Common tests discovery

* Common tests encoding

* Common tests device info

* Common tests entity_id updated

* Common tests entity debug info

* Common test entity category

* Common tests setup reload unload+corrections

* Cleanup sweep

* Comments from curent change

* Cleanup

* Remove unused legacy config
2022-09-21 22:15:46 -04:00
Jan Bouwhuis e7a616e8e4 Refactor MQTT tests to use modern platform schema part 2 (#77525)
* Tests light json

* Tests light template

* Missed test light json

* Tests light

* Tests lock

* Tests number

* Tests scene

* Tests select

* Tests sensor

* Tests siren

* Tests state vacuuum

* Tests switch

* Derive DEFAULT_CONFIG_LEGACY from DEFAULT_CONFIG

* Suggested comment changes
2022-09-21 22:15:46 -04:00
Jan Bouwhuis b3a4838978 Refactor MQTT tests to use modern platform schema part 1 (#77387)
* Tests alarm_control_panel

* Tests binary_sensor

* Tests button

* Tests camera

* Tests Climate + corrections default config

* Tests cover

* Tests device_tracker

* Tests fan

* Tests humidifier

* Fix test_supported_features test fan

* Tests init

* Tests legacy vacuum

* Derive DEFAULT_CONFIG_LEGACY from DEFAULT_CONFIG

* Commit suggestion comment changes
2022-09-21 22:15:45 -04:00
spycle 0e0318dc53 Add Keymitt BLE integration (#76575)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-21 15:44:37 -10:00
GitHub Action bbb5d6772c [ci skip] Translation update 2022-09-22 00:27:20 +00:00
J. Nick Koston 488b04fc8b Handle default RSSI values from bleak in bluetooth (#78908) 2022-09-21 17:03:50 -04:00
uvjustin 420285f7ef Support announce and enqueue in forked-daapd (#77744) 2022-09-21 14:08:28 -04:00
J. Nick Koston e079968ef4 Handle timeout fetching bond token in config flow (#78896) 2022-09-21 14:03:05 -04:00
J. Nick Koston 0a8a5b973a Fix samsungtv to abort when ATTR_UPNP_MANUFACTURER is missing (#78895) 2022-09-21 14:02:54 -04:00
J. Nick Koston 17ddc40784 Bump pylutron_caseta to 0.15.2 (#78900) 2022-09-21 14:02:34 -04:00
J. Nick Koston 4d167856a5 Bump unifi-discovery to 1.1.7 (#78898) 2022-09-21 14:02:01 -04:00
epenet ca78b1a77d Add new energy utility (#78883)
* Add new energy utility

* Adjust STATISTIC_UNIT_TO_VALID_UNITS
2022-09-21 19:40:40 +02:00
Aaron Bach fa245e24f8 Fix bug wherein RainMachine services use the wrong controller (#78780) 2022-09-21 13:34:04 -04:00
epenet 0d696b84b2 Cleanup root component imports in tests (#78893) 2022-09-21 06:57:41 -10:00
Erik Montnemery cd6697615f Validate units when importing statistics (#78891) 2022-09-21 12:08:53 -04:00
Jc2k e7b594b5cf Fix parsing Eve Energy characteristic data (#78880) 2022-09-21 05:41:01 -10:00
Michael 2c08dc509f Check Surveillance Station permissions during setup of Synology DSM integration (#78884) 2022-09-21 11:27:05 -04:00
Ernst Klamer c4eafb98fa Add support for Kegtron Smart (Beer) Keg Monitor BLE devices (#78709) 2022-09-21 05:09:39 -10:00
epenet d7382aadfe Add new power utility (#78867)
* Add power utility

* Fix tests
2022-09-21 14:48:38 +02:00
epenet 664a576113 Cleanup Plenticore select entity (#78877) 2022-09-21 14:32:25 +02:00
Franck Nijhof a81bb10ff9 Update yarl to 1.8.1 (#78866) 2022-09-21 13:59:42 +02:00
Franck Nijhof 166160e2b5 Add LaMetric button tests (#78754) 2022-09-21 13:57:40 +02:00
epenet e58dd6df95 Cleanup Plenticore switch entity (#78878) 2022-09-21 13:46:43 +02:00
epenet cf3b5ff7f9 Cleanup properties in Plenticore sensor (#78879) 2022-09-21 13:37:53 +02:00
epenet a605b6bcf1 Fix typo in tuya select (#78881) 2022-09-21 13:27:11 +02:00
epenet 9e7c03af56 Use m3 as intermediate unit for volume conversions (#78861)
* Use m3 as SI volume standard unit

* Adjust comment

* Apply suggestion

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

* Apply suggestion

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-21 12:37:31 +02:00
epenet 063074acf5 Adjust Plenticore sensor initialisation (#78869) 2022-09-21 12:08:00 +02:00
epenet 988e8bfe7b Adjust Plenticore select initialisation (#78873) 2022-09-21 11:58:59 +02:00
epenet 9e31cf51cb Adjust Plenticore switch initialisation (#78871) 2022-09-21 11:54:14 +02:00
Franck Nijhof 1800e98f05 Remove leftover debug print from Melnor (#78870) 2022-09-21 11:49:22 +02:00
epenet daba474182 Use SelectEntityDescription in kostal plenticore (#78840) 2022-09-21 11:31:14 +02:00
epenet 67f7c17d34 Use SwitchEntityDescription in kostal plenticore (#78841) 2022-09-21 11:30:17 +02:00
Aaron Bach e265848b63 Remove deprecated Flu Near You integration (#78700) 2022-09-21 11:24:21 +02:00
J. Nick Koston d7b58f6949 Bump pySwitchbot to 0.19.11 (#78857) 2022-09-21 11:21:14 +02:00
J. Nick Koston a981d096aa Improve code readability in iBeacon integration (#78844) 2022-09-21 11:18:38 +02:00
epenet bc120e9ff2 Use SensorEntityDescription in kostal plenticore (#78842) 2022-09-21 11:17:23 +02:00
Midbin 00f1f3e355 Change minimal brightness value for hue.activate_scene service to 1 (#78154)
* Adjust Implementation Hue Scene Brightness so it cannot be 0
2022-09-21 11:12:50 +02:00
epenet 0ac581a0b1 Cleanup EntityFeature in tests (#78859) 2022-09-21 10:48:55 +02:00
epenet c88a874063 Cleanup FlowResultType in tests (#78810) 2022-09-21 09:17:20 +02:00
Michael Jäger 7a6897c757 Add deconz current hvac operation to thermostate based on "state" (#59989)
* deconz - add current hvac operation to thermostate based on "state"

* deconz - extend current hvac operation to thermostate based on "state" and "mode"

* Add tests for current hvac action

* Add boost mode as special case

* format using Black

* sort imports

* Add test for device with mode none and state none

* Update homeassistant/components/deconz/climate.py

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>

* Fix test_climate.py test_no_mode_no_state

* Add test for boost mode

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2022-09-21 08:20:44 +02:00
GitHub Action d7eb277bc8 [ci skip] Translation update 2022-09-21 00:32:35 +00:00
Erik Montnemery dae00c70de Allow selecting display unit when fetching statistics (#78578) 2022-09-20 17:43:57 -04:00
Marek Skrobacki 3f512e38db Fix Sonos cover art when browsing albums (#75105) 2022-09-21 04:03:10 +08:00
epenet f453726b18 Cleanup HVACAction and HVACMode in tests (#78813) 2022-09-20 20:30:54 +02:00
epenet 3cf26c4a5d Move constants in kostal_plenticore (#78837) 2022-09-20 20:28:27 +02:00
Marc Mueller 6f782628b9 Pin Python patch versions [ci] (#78830) 2022-09-20 20:24:39 +02:00
Franck Nijhof 774d5138ca Update PyJWT to 2.5.0 (#78776) 2022-09-20 20:17:49 +02:00
epenet e58531f118 Add MqttData helper to mqtt (#78825)
* Add MqttData helper to mqtt

* Adjust client for circular dependencies

* Move MqttData to models.py

* Move get_mqtt_data to util.py
2022-09-20 19:40:06 +02:00
epenet 6b3c91bd6a Cleanup ColorMode in tests (#78807) 2022-09-20 18:33:45 +02:00
epenet 41d2ac3943 Cleanup MediaClass and MediaType in tests (#78817)
Cleanup MediaClass/MediaType in tests
2022-09-20 17:55:13 +02:00
Robert Hillis 2a2cc79fc3 Add Lidarr integration (#66438) 2022-09-20 11:51:29 -04:00
starkillerOG 3776fc3b9f Add status codes 23 and 26 to Xiaomi Miio vacuum (#78289)
* Add status codes 23 and 26

* change status 26
2022-09-20 17:32:10 +02:00
Joakim Plate 924bffc7d0 Add query data to google assistant diagnostic (#78828) 2022-09-20 17:05:10 +02:00
epenet 4f31f28e67 Cleanup SourceType in tests (#78809) 2022-09-20 10:50:07 -04:00
epenet 25b1dfb53a Cleanup EntityCategory in tests (#78808) 2022-09-20 10:49:44 -04:00
epenet fe747601ff Cleanup DeviceClass and StateClass in tests (#78811) 2022-09-20 10:49:11 -04:00
Joakim Plate bd0daf68e0 If brightness is not available, don't set a value (#78827) 2022-09-20 07:57:54 -04:00
dependabot[bot] e05ca87cc7 Bump codecov/codecov-action from 3.1.0 to 3.1.1 (#78812)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-20 09:49:15 +02:00
J. Nick Koston bb78d52f34 Add iBeacon Tracker integration (#78671) 2022-09-19 21:43:41 -04:00
J. Nick Koston 12856dea05 Create an issue when Bluetooth is active on old HAOS (#78430)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-19 21:02:13 -04:00
J. Nick Koston caba202efa Fix failing bluetooth tests (#78757) 2022-09-19 20:59:27 -04:00
J. Nick Koston a02eed9bd8 Bump dbus-fast to 1.5.1 (#78802) 2022-09-19 20:59:07 -04:00
J. Nick Koston 635c2f3738 Change bluetooth source to be the address of the adapter on Linux (#78795) 2022-09-19 20:58:18 -04:00
J. Nick Koston 5829ff5aea Prevent tilt_ble from matching generic ibeacons (#78722) 2022-09-19 20:57:18 -04:00
GitHub Action 4b2bea4972 [ci skip] Translation update 2022-09-20 00:30:13 +00:00
Erik Montnemery 1021c90bb8 Use black to format hassfest generated files (#78794) 2022-09-19 17:37:22 -04:00
Erik Montnemery e66f28f3f7 Teach sqlite3 about HAFakeDatetime (#78756) 2022-09-19 23:09:50 +02:00
Brad Downey f07204ba55 Add unique_id to ohmconnect (#78479)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-09-19 21:54:01 +02:00
Nathan Spencer 10a12b1bc9 Bump pylitterbot to 2022.9.5 (#78785) 2022-09-19 21:29:29 +02:00
mkmer 08c8ab7302 Bumped AIOAladdinConnect 0.1.46 (#78767) 2022-09-19 21:18:53 +02:00
Aaron Bach d591787077 Guard Guardian switches from redundant on/off calls (#78791) 2022-09-19 21:15:32 +02:00
y34hbuddy 691df5a394 Add support for imperial units of measure in volvooncall (#77669) 2022-09-19 16:22:13 +02:00
G Johansson acf8bfb299 Migrate Trafikverket Train to new entity naming style (#75208) 2022-09-19 16:11:39 +02:00
epenet 8cc0c4dbba Adjust root-import in demo humidifier tests (#78772) 2022-09-19 15:48:01 +02:00
epenet 7cfc28e915 Add unit constant for revolutions per minute (#78752) 2022-09-19 15:46:47 +02:00
epenet e6970cb62f Adjust root-import in netatmo tests (#78771) 2022-09-19 15:42:59 +02:00
epenet beca4bb7a5 Adjust root-import in motioneye tests (#78770) 2022-09-19 15:42:19 +02:00
epenet 7e41afe660 Adjust root-import in nest tests (#78769) 2022-09-19 15:41:45 +02:00
epenet 7ffac12de7 Adjust root-import in google-assistant tests (#78768) 2022-09-19 15:40:56 +02:00
epenet 52a377ca9d Adjust root-import in alexa tests (#78766) 2022-09-19 15:38:33 +02:00
Kenneth J. Miller 3b653de3fd Fix Airly CO sensor unit (#78649) 2022-09-19 15:35:13 +02:00
epenet 7bc2712142 Adjust root-import in tests (#78761)
* Adjust root-import in tests

* Adjust diagnostics

* Adjust button

* Adjust select

* Adjust device_tracker

* Adjust camera

* Adjust humidifier

* Adjust media_source

* Adjust update

* Adjust siren

* Adjust number

* Adjust alarm_control_panel

* Adjust notify

* Adjust sensor

* Adjust switch

* Revert anthemav

* Don't adjust demo humidifier
2022-09-19 15:22:23 +02:00
epenet 75e52ef389 Use DOMAIN constant in plex (#78764) 2022-09-19 15:08:40 +02:00
epenet 903edfd881 Use correct constant in anthemav tests (#78759) 2022-09-19 15:07:42 +02:00
epenet d83e9072e7 Use attributes in zoneminder (#77895) 2022-09-19 15:05:29 +02:00
epenet ecef755217 Adjust root-import in tomorrowio tests (#78763) 2022-09-19 14:56:51 +02:00
epenet 4b813f2460 Adjust pylint plugin for tests directory (#78727)
* Add module_name to parametrize

* Add tests for tests directory

* Apply patch from mib1185

* Adjust plugin to allow imports from component being tested
2022-09-19 14:27:21 +02:00
Justin Vanderhooft 3eab4a234b Add support for controlling manual watering time on Melnor Bluetooth devices (#78653)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-19 06:56:34 -05:00
Nico 3dc6db94ce Bump aioimaplib to 1.0.1 (#78738) 2022-09-19 12:59:09 +02:00
Mick Vleeshouwer 33bd840c0a Bump pyoverkiz to 1.5.3 in Overkiz integration (#78743) 2022-09-19 12:57:52 +02:00
epenet 0dcbc85684 Adjust relative-import plugin for tests (#78742) 2022-09-19 12:57:07 +02:00
Jorim Tielemans cd6959d809 Update psutil to 5.9.2 (#78745) 2022-09-19 12:56:08 +02:00
epenet f30a94daa1 Improve type hints in keenetic_ndms2 (#77649) 2022-09-19 12:35:59 +02:00
epenet 747e538172 Apply hass-relative-import to bluetooth tests (#78736) 2022-09-19 12:35:23 +02:00
epenet 019d297ff0 Apply hass-relative-import to recorder tests (#78734) 2022-09-19 12:35:03 +02:00
Franck Nijhof 36eda3801d Add LaMetric integration init tests (#78679) 2022-09-19 11:11:05 +02:00
epenet b5c1f856e2 Fix litterrobot tests (#78741) 2022-09-19 10:25:25 +02:00
epenet 72bf1ca6dd Use attributes in kef media player (#77650) 2022-09-19 10:21:48 +02:00
Marc Mueller b9d34ce169 Improve sonos typing (#78661) 2022-09-19 09:59:12 +02:00
epenet 38548b0986 Adjust homekit-controller test imports (#78731) 2022-09-19 09:53:56 +02:00
epenet e9f55f4e54 Apply hass-relative-import to tests (s-z) (#78733) 2022-09-19 09:51:31 +02:00
epenet c5a56dab42 Apply hass-relative-import to tests (a-c) (#78728) 2022-09-19 09:48:25 +02:00
epenet 00dd27ef1b Apply hass-relative-import to tests (i-r) (#78732) 2022-09-19 09:46:59 +02:00
epenet a809e18559 Apply hass-relative-import to tests (d-h) (#78730) 2022-09-19 09:31:57 +02:00
Robert Hillis aa0cbf0afe Add tests for LitterRobot sensors (#78638) 2022-09-18 21:12:38 -07:00
J. Nick Koston 933dde1d1e Handle Modalias missing from the bluetooth adapter details on older BlueZ (#78716) 2022-09-18 21:10:05 -04:00
J. Nick Koston 9655f30146 Handle Modalias missing from the bluetooth adapter details on older BlueZ (#78715) 2022-09-18 21:09:45 -04:00
GitHub Action 1f92804211 [ci skip] Translation update 2022-09-19 00:27:46 +00:00
J. Nick Koston ba74f00fb5 Add tests for switchbot sensor platform (#78611) 2022-09-18 16:49:12 -05:00
J. Nick Koston a1735b742c Drop PARALLEL_UPDATES from switchbot (#78713) 2022-09-18 16:36:50 -05:00
Tom Brien d33cc2c83e Add GALA currency to Coinbase (#78708)
Add GALA currency
2022-09-18 23:30:09 +02:00
Maciej Bieniek 721fddc016 Bump brother backend library (#78072)
* Update integration for a new library

* Update tests

* Add unique_id migration

* Update integration and tests for lib 2.0.0

* Improve test coverage

* Improve typing in tests
2022-09-18 23:28:17 +02:00
Orad SA 3c6c673a20 Add state_class to Waze travel time for statistics support (#77386) 2022-09-18 22:34:53 +02:00
Joakim Sørensen 3655958d26 Seperate timeout errors in rest requests (#78710) 2022-09-18 21:38:27 +02:00
Arto Jantunen 8fd18cda30 Fix Vallox extract and supply fan speed measurement units (#77692) 2022-09-18 21:35:19 +02:00
Brett Adams fa7f04c34b Code Quality Improvements for Advantage Air (#77695)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-18 21:27:09 +02:00
Raman Gupta 4fbf44cced Create repair issue if zwave-js-server is too old (#78670)
* Create repair issue if zwave-js-server is too old

* Switch is_fixable to false

* review comments
2022-09-18 21:25:37 +02:00
Aaron Bach d74f5c6ee0 Make Guardian Repairs strings more consistent (and instructive) (#78694)
Make Guardian Repairs strings consistently helpful
2022-09-18 21:24:21 +02:00
Nathan Spencer b03de1c92f Address code review from litterrobot PR (#78699)
Address code review
2022-09-18 21:21:24 +02:00
Paulus Schoutsen a411cd9c20 2022.9.5 (#78703) 2022-09-18 14:05:34 -04:00
Erik Montnemery 6094c00705 Warn user if Tasmota devices are configured with invalid MQTT topics (#77640) 2022-09-18 19:50:43 +02:00
Paulus Schoutsen da81dbe6ac Bumped version to 2022.9.5 2022-09-18 13:13:54 -04:00
J. Nick Koston f5c30ab10a Bump thermobeacon-ble to 0.3.2 (#78693) 2022-09-18 13:13:48 -04:00
J. Nick Koston 454675d86b Fix bluetooth callback matchers when only matching on connectable (#78687) 2022-09-18 13:13:08 -04:00
Franck Nijhof cce4496ad6 Remove mDNS iteration from Plugwise unique ID (#78680)
* Remove mDNS iteration from Plugwise unique ID

* Add iteration to tests
2022-09-18 13:10:11 -04:00
Raman Gupta ebeebeaec1 Handle multiple files properly in zwave_js update entity (#78658)
* Handle multiple files properly in zwave_js update entity

* Until we have progress, set in progress to true. And fix when we write state

* fix tests

* Assert we set in progress to true before we get progress

* Fix tests

* Comment
2022-09-18 13:10:10 -04:00
Franck Nijhof c8d16175da Update demetriek to 0.2.4 (#78646) 2022-09-18 13:10:09 -04:00
J. Nick Koston a2aa0e608d Add a helpful message to the config_entries.OperationNotAllowed exception (#78631)
We only expect this exception to be raised as a result of an
implementation problem. When it is raised during production
it is currently hard to trace down why its happening

See #75835
2022-09-18 13:10:09 -04:00
Sergio Conde Gómez 7eb98ffbd1 Bump qingping-ble to 0.7.0 (#78630) 2022-09-18 13:10:08 -04:00
J. Nick Koston 6e62080cd9 Fix reconnect race in HomeKit Controller (#78629) 2022-09-18 13:10:07 -04:00
J. Nick Koston 39dee6d426 Fix switchbot not accepting the first advertisement (#78610) 2022-09-18 13:10:07 -04:00
Franck Nijhof 3a89a49d4a Fix WebSocket condition testing (#78570) 2022-09-18 13:10:06 -04:00
On Freund ef66d8e705 Bump pyrisco to v0.5.5 (#78566)
Upgrade to pyrisco 0.5.5
2022-09-18 13:10:05 -04:00
Raman Gupta c1809681b6 Fix zwave_js update entity startup state (#78563)
* Fix update entity startup state

* Only write state if there is a change

* Add test to show that when an existing entity gets recreated, skipped version does not reset

* Remove unused blocks

* Update homeassistant/components/zwave_js/update.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-09-18 13:10:05 -04:00
J. Nick Koston 050c09df62 Bump aiohomekit to 1.5.8 (#78515) 2022-09-18 12:58:22 -04:00
J. Nick Koston e0b63ac488 Bump led-ble to 0.10.1 (#78511) 2022-09-18 12:58:21 -04:00
J. Nick Koston ed6575fefb Bump yalexs_ble to 1.9.2 (#78508) 2022-09-18 12:58:21 -04:00
J. Nick Koston 318ae7750a Bump PySwitchbot to 0.19.9 (#78504) 2022-09-18 12:58:20 -04:00
Teemu R 0525a1cd97 Bump python-songpal to 0.15.1 (#78481) 2022-09-18 12:58:20 -04:00
J. Nick Koston d31d4e2916 Bump bleak-retry-connector to 0.17.1 (#78474) 2022-09-18 12:58:19 -04:00
Erik Montnemery 40c5689507 Prevent deleting blueprints which are in use (#78444) 2022-09-18 12:57:40 -04:00
Raman Gupta a4749178f1 Only redact zwave_js values that are worth redacting (#78420)
* Only redact zwave_js values that are worth redacting

* Tweak test

* Use redacted fixture for test
2022-09-18 12:56:40 -04:00
Pete 8229e241f1 Fix fan speed regression for some xiaomi fans (#78406)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-18 12:56:39 -04:00
Jan Bouwhuis 354411feed Link manually added MQTT entities the the MQTT config entry (#78547)
Co-authored-by: Erik <erik@montnemery.com>
2022-09-18 12:55:31 -04:00
J. Nick Koston 49ead219a5 Bump thermobeacon-ble to 0.3.2 (#78693) 2022-09-18 12:47:13 -04:00
Aaron Bach a282e41d68 Revert unintended OpenUV unique ID change (#78691) 2022-09-18 09:24:13 -06:00
J. Nick Koston d4181aa911 Fix bluetooth callback matchers when only matching on connectable (#78687) 2022-09-18 10:22:54 -05:00
Raman Gupta 4d6151666e Handle multiple files properly in zwave_js update entity (#78658)
* Handle multiple files properly in zwave_js update entity

* Until we have progress, set in progress to true. And fix when we write state

* fix tests

* Assert we set in progress to true before we get progress

* Fix tests

* Comment
2022-09-18 14:56:46 +02:00
Franck Nijhof 2eb265f28b Remove mDNS iteration from Plugwise unique ID (#78680)
* Remove mDNS iteration from Plugwise unique ID

* Add iteration to tests
2022-09-18 12:17:28 +02:00
J. Nick Koston 8dbbd0ded0 Cache template regex compiles (#78529) 2022-09-18 11:48:04 +02:00
G Johansson 59aef20e99 Add missing typing met config flow (#78645) 2022-09-18 11:46:43 +02:00
Joakim Sørensen 87f8ebceb2 Limit Github event subscription if polling is disabled (#78662) 2022-09-18 11:40:42 +02:00
Joakim Sørensen 69c5d910d4 Remove deprecated update binary sensor from Supervisor (#78664) 2022-09-18 09:58:14 +02:00
Pete 1f7c90baa0 Fix fan speed regression for some xiaomi fans (#78406)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-17 23:45:31 -04:00
J. Nick Koston b8ccf53799 Fix switchbot not accepting the first advertisement (#78610) 2022-09-17 23:45:04 -04:00
Marc Mueller f7ef9eb91b Remove low level call from fritzbox_callmonitor (#78668) 2022-09-18 03:08:55 +02:00
Marc Mueller dbc02707a9 Improve media_player typing (#78666) 2022-09-18 03:08:17 +02:00
GitHub Action e9eb5dc338 [ci skip] Translation update 2022-09-18 00:29:50 +00:00
Aaron Bach ca5a9c9456 Allow multiple instances of OpenUV via the homeassistant.update_entity service (#76878)
* Allow for multiple instances of the OpenUV integration

* Docstring

* Remove Repairs

* Fix tests

* Slightly faster OpenUV object lookup

* Entity update service

* Remove service descriptions

* hassfest

* Simplify strings

* Don't add UI instructions to Repairs item

* Add a throttle to entity update

* Update homeassistant/components/openuv/__init__.py

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

* Switch from Throttle to Debouncer(s)

* Keep dispatcher for services

* Reduce change surface area

* Duplicate method

* Add issue registry through helper

* Update deprecation version

* Use config entry selector

* Remove device/service info

* Remove commented out method

* Correct entity IDs and better verbiage

* Fix tests

* Handle missing config entry ID in service calls

* Remove unhelpful comment

* Remove unused constants

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-17 17:56:45 -06:00
Justin Vanderhooft b87c452106 Bump melnor-bluetooth to v0.0.20 (#78642) 2022-09-17 17:19:19 -05:00
Aaron Bach 08e6e27a3b Remove deprecated Guardian services (scheduled for 2022.10.0) (#78663)
Remove deprecated Guardian services (schedule for 2022.10.0)
2022-09-17 16:09:40 -06:00
J. Nick Koston 18eef5da1f Restore history from bluetooth stack at startup (#78612) 2022-09-17 16:58:19 -05:00
Aaron Bach 13d3f4c3b2 Replace Guardian disable_ap and enable_ap services with a switch (#75034)
* Starter buttons

* Ready to go

* Replace Guardian `disable_ap` and `enable_ap` services with a switch

* Clean up how actions are stored

* Make similar to buttons

* Remove service definitions

* Docstring

* Docstring

* flake8

* Add repairs item

* Add a repairs issue to notify of removed entity

* Add entity replacement strategy

* Fix repairs import

* Update deprecation version

* Remove breaking change

* Include future breaking change version

* Naming
2022-09-17 15:01:57 -06:00
Jan Bouwhuis 1f410e884a Make hass.data["mqtt"] an instance of a DataClass (#77972)
* Use dataclass to reference hass.data globals

* Add discovery_registry_hooks to dataclass

* Move discovery registry hooks to dataclass

* Add device triggers to dataclass

* Cleanup DEVICE_TRIGGERS const

* Add last_discovery to data_class

* Simplify typing for class `Subscription`

* Follow up on comment

* Redo suggested typing change to sasisfy mypy

* Restore typing

* Add mypy version to CI check logging

* revert changes to ci.yaml

* Add docstr for protocol

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Mypy update after merging #78399

* Remove mypy ignore

* Correct return type

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-17 21:43:42 +02:00
epenet 391d895426 Enable disallow-any-generics in media-player (#78498)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-17 21:23:16 +02:00
Kevin Addeman b51fd7f688 Fix lutron_caseta get_triggers() raising error for non-button devices (caseta and ra3/hwqsx) (#78397) 2022-09-17 13:26:04 -05:00
J. Nick Koston 74f7ae409b Add a helpful message to the config_entries.OperationNotAllowed exception (#78631)
We only expect this exception to be raised as a result of an
implementation problem. When it is raised during production
it is currently hard to trace down why its happening

See #75835
2022-09-17 20:52:28 +03:00
Nathan Spencer 943fe657c5 Add additional status sensor state strings for Litter-Robot 4 (#78652) 2022-09-17 20:50:47 +03:00
J. Nick Koston 8cae33a730 Fix rachio not being able to be ignored (#78636)
Fixes #77272
2022-09-17 20:44:24 +03:00
Raman Gupta 01acc3d1e5 Fix zwave_js update entity startup state (#78563)
* Fix update entity startup state

* Only write state if there is a change

* Add test to show that when an existing entity gets recreated, skipped version does not reset

* Remove unused blocks

* Update homeassistant/components/zwave_js/update.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-09-17 20:43:35 +03:00
J. Nick Koston 6e4a0b9fdc Switch recorder to use async_timeout instead of asyncio.wait_for (#78607) 2022-09-17 20:40:10 +03:00
G Johansson 51b01fcd80 Bump smhi-pkg to 1.0.16 (#78639) 2022-09-17 20:38:35 +03:00
epenet 64988521bb Make use of generic EntityComponent (part 2) (#78494) 2022-09-17 18:18:53 +02:00
Marc Mueller bbf54e6f44 Improve light typing (#78641) 2022-09-17 17:37:39 +02:00
Jan Bouwhuis 35221e9a61 Correct return typing for catch_log_exception (#78399) 2022-09-17 17:27:22 +02:00
Franck Nijhof 5a6a474bbe Update demetriek to 0.2.4 (#78646) 2022-09-17 17:15:11 +02:00
Franck Nijhof 24df3574bc Automatically set up Awair during onboarding (#78632) 2022-09-17 15:04:09 +02:00
Sergio Conde Gómez 9acea07d31 Bump qingping-ble to 0.7.0 (#78630) 2022-09-17 06:59:29 -05:00
J. Nick Koston cd8a5ea1e2 Fix reconnect race in HomeKit Controller (#78629) 2022-09-17 05:13:33 -05:00
Nathan Spencer c3ca9f3ad1 Add litter level sensor for Litter-Robot 4 (#78602)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-17 05:03:12 -05:00
Nathan Spencer cc51052be5 Change litterrobot integration to cloud_push (#77741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-17 04:29:56 -05:00
Joakim Sørensen 0b4e4e81d4 Handle connection issues with Traccar (#78624) 2022-09-17 10:26:59 +02:00
J. Nick Koston 98dd84f535 Ensure bluetooth callbacks are only fired when advertisement data changes (#78609) 2022-09-17 10:26:02 +02:00
J. Nick Koston 82407ca433 Switch yeelight to use async_timeout instead of asyncio.wait_for (#78606) 2022-09-17 08:35:53 +02:00
J. Nick Koston 5cde3ca4e1 Switch emulated_hue to use async_timeout instead of asyncio.wait_for (#78608) 2022-09-17 08:34:44 +02:00
Kevin Stillhammer f59c8d985d Correct unit for here_travel_time distance sensor (#78303)
Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-09-16 21:03:18 -07:00
GitHub Action 38b087d220 [ci skip] Translation update 2022-09-17 00:27:28 +00:00
Aaron Bach b4356a432e Replace SimpliSafe clear_notifications service with a button (#75283)
* Replace SimpliSafe `clear_notifications` service with a button

* Better log message

* Coverage

* Docstring

* Add repairs item

* Better repairs strings

* Mark issue as fixable

* Add issue registry through helper

* Update deprecation version
2022-09-16 16:41:17 -06:00
Kenneth J. Miller 84cd0da26b Add Airly gas sensors (#77908)
* Add support for gases queryable via Airly API:
  CO, NO₂, O₃, SO₂
* Add tests for above sensors and update test fixtures
2022-09-16 15:19:30 -06:00
Raman Gupta 06178d3446 Only redact zwave_js values that are worth redacting (#78420)
* Only redact zwave_js values that are worth redacting

* Tweak test

* Use redacted fixture for test
2022-09-16 15:04:55 -06:00
epenet be17ba15db Use attributes in demo media-player (#78461)
* Use attributes in demo media-player

* Use _attr_is_volume_muted

* Use _attr_shuffle

* Use _attr_sound_mode / _attr_sound_mode_list
2022-09-16 15:04:29 -06:00
On Freund 047c3862d7 Bump pyrisco to v0.5.5 (#78566)
Upgrade to pyrisco 0.5.5
2022-09-16 14:29:08 -06:00
Nathan Spencer e507e00317 Bump pylitterbot to 2022.9.3 (#78590) 2022-09-16 21:56:50 +03:00
Franck Nijhof 8774f34271 Update Awair config entry on discovery (#78521) 2022-09-16 18:42:44 +03:00
Marc Mueller 0b97dcf0bd Use vol.Coerce for notify SourceType enum (#77930) 2022-09-16 16:46:26 +02:00
Hurzelchen 501b8b341f Use commands enum in LG Netcast (#78584)
lg_netcast: Use LG_COMMAND constants instead of magic numbers
2022-09-16 16:17:46 +02:00
Jafar Atili 42c28cd074 Address late review of SwitchBee (#78585) 2022-09-16 16:10:40 +02:00
epenet f2a661026f Fix kira remote implementation (#77878) 2022-09-16 15:11:12 +02:00
Jafar Atili 491177e5d3 Address late review of SwitchBee (#78412) 2022-09-16 14:19:50 +02:00
Martin Hjelmare 383c83d15f Improve notify typing (#78575) 2022-09-16 12:52:24 +02:00
Franck Nijhof fbd265aa2d Update pyupgrade to v2.38.0 (#78573) 2022-09-16 12:51:58 +02:00
J. Nick Koston 085abc74ee Reduce overhead to update passive bluetooth devices (#78545) 2022-09-16 12:24:20 +02:00
Rami Mosleh b093c2840b Remove name key from config flow in Mikrotik (#78571) 2022-09-16 11:30:29 +02:00
Franck Nijhof a19a7e64d5 Fix WebSocket condition testing (#78570) 2022-09-16 11:18:00 +02:00
Franck Nijhof 564150169b Update LaMetric config entry using DHCP discovery data (#78527)
* Update LaMetric config entry using DHCP discovery data

* Update translations
2022-09-16 08:35:12 +02:00
Phil Bruckner e7ca40156f Bump life360 package to 5.1.1 (#78550) 2022-09-16 08:07:02 +02:00
GitHub Action ec258410c5 [ci skip] Translation update 2022-09-16 00:29:29 +00:00
epenet 8300f8234c Make async_extract_entities generic (#78490) 2022-09-16 00:20:47 +02:00
Ricardo Steijn 635ed562ee crownstone-sse: bump to 2.0.4 (#78538) 2022-09-15 18:05:55 +02:00
Erik Montnemery dd20a7ea62 Display statistics in the source's unit (#78031) 2022-09-15 12:01:24 -04:00
epenet 4dba2a85db Improve type hints in trace (#78441) 2022-09-15 11:57:48 -04:00
epenet b29605060a Enforce MediaPlayerState in hdmi_cec media player (#78522) 2022-09-15 11:48:05 -04:00
epenet 7d11509011 Cleanup self._attr_state in samsungtv media player (#78518) 2022-09-15 11:47:07 -04:00
Simone Chemelli bb5c1ad659 Remove some low level calls from Fritz (#77848)
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2022-09-15 16:05:58 +02:00
Michael 6f02f7c6ce Bump pyfritzhome to 0.6.7 (#78324) 2022-09-15 16:01:55 +02:00
Joakim Sørensen 8dbe293ae2 Add version to templates (#78484) 2022-09-15 15:01:40 +02:00
epenet de7e12eeaf Enable disallow-any-generics in light (#78499) 2022-09-15 08:47:05 -04:00
epenet a443cefa7b Use self._attr_state in demo media player (#78520) 2022-09-15 08:44:20 -04:00
Franck Nijhof 69ca055fd8 Update requests_mock to 1.10.0 (#78510) 2022-09-15 14:33:12 +02:00
epenet cd2abf368f Use self._attr_state in vlc_telnet media player (#78517) 2022-09-15 14:26:09 +02:00
Joakim Sørensen a38d998000 Bump awesomeversion from 22.8.0 to 22.9.0 (#78525) 2022-09-15 14:05:34 +02:00
epenet 96de76fc6f Adjust MEDIA_CLASS_MAP in dlna-dms (#78458)
* Adjust MEDIA_CLASS_MAP in dlna-dms

* Revert
2022-09-15 14:04:07 +02:00
J. Nick Koston 4168892d0a Bump aiohomekit to 1.5.8 (#78515) 2022-09-15 13:25:50 +02:00
J. Nick Koston 2331e2a55c Bump led-ble to 0.10.1 (#78511) 2022-09-15 13:25:40 +02:00
J. Nick Koston 8ede711f68 Bump PySwitchbot to 0.19.9 (#78504) 2022-09-15 13:25:25 +02:00
J. Nick Koston 2c03578f6f Bump yalexs_ble to 1.9.2 (#78508) 2022-09-15 13:25:12 +02:00
Franck Nijhof 6dc3c0b572 Update black to 22.8.0 (#78509) 2022-09-15 12:45:18 +02:00
Erik Montnemery c0b04e9f91 Sort some code in the search integration (#78519) 2022-09-15 12:13:36 +02:00
Erik Montnemery aa0fd8c935 Avoid mutating globals in nina tests (#78513) 2022-09-15 12:05:29 +02:00
epenet ada1cff4b1 Use new media player enums in homekit_controller (#78105)
* Use new media player enums in homekit_controller

* Replace OK/PROBLEM with ON/OFF

* Fix tests
2022-09-15 12:00:52 +02:00
epenet b56eabc35b Enable disallow-any-generics in number (#78502) 2022-09-15 11:58:24 +02:00
Franck Nijhof eae384bbf7 Update sqlalchemy to 1.4.41 (#78507) 2022-09-15 11:54:18 +02:00
epenet 0448afabb6 Sort strict-typing alphabetically (#78506) 2022-09-15 11:53:56 +02:00
Franck Nijhof 19c1065387 Update pytest to 7.1.3 (#78503) 2022-09-15 11:53:40 +02:00
Franck Nijhof cf138c7266 Update pyotp to 2.7.0 (#78500) 2022-09-15 11:53:16 +02:00
epenet b4afb1cb6b Make use of generic EntityComponent (#78492) 2022-09-15 11:53:00 +02:00
epenet 19ea95a6e4 Enable disallow-any-generics in update (#78501) 2022-09-15 11:29:11 +02:00
Erik Montnemery c37d294d12 Use reload helper to reload rest component (#78491) 2022-09-15 11:02:37 +02:00
epenet 2cc45cd302 Use new media player enums in bluesound (#78096) 2022-09-15 11:00:55 +02:00
epenet 0a13fe99d2 Move mypy override for device_registry (#78493) 2022-09-15 11:00:25 +02:00
Federico Marani 08449dc1bc Bump aioftp to 0.21.3 (#78257) 2022-09-15 10:52:33 +02:00
Vincent Knoop Pathuis 035f206e95 Bump ultraheat-api to 0.4.3 (#78295) 2022-09-15 10:51:19 +02:00
J. Nick Koston 11789dd079 Bump bleak-retry-connector to 0.17.1 (#78474) 2022-09-15 10:40:52 +02:00
Franck Nijhof ec2afd2bce Update pipdeptree to 2.3.1 (#78497) 2022-09-15 10:24:18 +02:00
Franck Nijhof 4e7a99dc77 Update sentry-sdk to 1.9.8 (#78496) 2022-09-15 09:57:35 +02:00
ollo69 aa46ba4ad5 Add device class TV to AndroidTV (#78487) 2022-09-15 08:56:30 +02:00
Avi Miller c0cf9d8729 Add infrared brightness select entity for LIFX Night Vision bulbs (#77943)
* Add infrared brightness select entity for LIFX Night Vision bulbs

Signed-off-by: Avi Miller <me@dje.li>

* Code refactored from review comments

Signed-off-by: Avi Miller <me@dje.li>

* Update and refactor from code review feedback

Signed-off-by: Avi Miller <me@dje.li>

Signed-off-by: Avi Miller <me@dje.li>
2022-09-15 08:53:58 +02:00
starkillerOG ade4fcaebd Use asyncio in XiaomiAqara instead of threading (#74979)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-15 08:36:56 +02:00
Erik Montnemery 84a812ad05 Allow setting number selector step size to 'any' (#78265)
* Allow setting number selector step size to 'any'

* Improve test coverage
2022-09-15 08:29:46 +02:00
Erik Montnemery 30702bdcd2 Deduplicate some code in scripts and automations (#78443) 2022-09-15 07:41:11 +02:00
Erik Montnemery 0a1fd36e03 Catch up with statistics after DB migration is done (#78469)
* Catch up with statistics after DB migration is done

* Don't access the database from the event loop

* Fix deadlocking test

* Fix test
2022-09-15 07:40:56 +02:00
GitHub Action bcf01e8873 [ci skip] Translation update 2022-09-15 00:29:28 +00:00
Shay Levy 1b3088e41a Bump aioswitcher to 3.0.0 (#78471) 2022-09-15 00:29:59 +03:00
Teemu R 43053d05b4 Bump python-songpal to 0.15.1 (#78481) 2022-09-14 21:54:01 +02:00
Franck Nijhof 6678f660a8 Remove U.S. Citizenship and Immigration Services (USCIS) integration (#78432)
* Remove U.S. Citizenship and Immigration Services (USCIS) integration

* Update .coveragerc

Fix due to sorting in https://github.com/home-assistant/core/pull/78447

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-09-14 21:51:24 +03:00
Erik Montnemery 8a55f85703 Improve MQTT debug log of retained messages (#78453)
Improve MQTT debug log for retained messages
2022-09-14 20:45:46 +02:00
Robert Hillis a46982befb Add Google Sheets integration (#77853)
Co-authored-by: Allen Porter <allen@thebends.org>
2022-09-14 14:31:54 -04:00
epenet 996bcbdac6 Make EntityComponent generic (#78473) 2022-09-14 14:16:23 -04:00
epenet fd05d949cc Fix device_class in demo (#78463)
Use _attr_device_class in demo
2022-09-14 20:09:31 +03:00
Stefan Agner 650aae49fe Support AMD SoC CPU temperature (#78472)
This adds support for CPU temperature readings on AMD SoC based systems
like the AMD G-Series GX-222G found in FUJITSU FUTRO S920.
2022-09-14 20:06:29 +03:00
Erik Montnemery 2ba0f42acc Prevent deleting blueprints which are in use (#78444) 2022-09-14 16:47:08 +02:00
uvjustin 855b0dfdba Pass tasks instead of coros to asyncio.wait in forked_daapd (#78462)
* Remove coroutines from asyncio.wait in forked_daapd

* Update homeassistant/components/forked_daapd/media_player.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-14 15:49:00 +02:00
epenet 219cee2ca9 Move Trace classes to separate module (#78433) 2022-09-14 09:23:29 -04:00
Marc Mueller 99ebac13ed Bump openevsewifi to 1.1.2 (#78460)
Update openevsewifi to 1.1.2
2022-09-14 15:19:43 +02:00
uvjustin ae865a07b2 Cleanup async_announce in forked_daapd (#78457) 2022-09-14 20:40:20 +08:00
Poltorak Serguei 003d160a96 Rework Z-Wave.Me switch multilevel devices to also use light entity (#77969)
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
2022-09-14 14:19:17 +02:00
epenet 3941290edc Force root import of const from other components (#78014)
* Force root import of const from other components

* Add missing commit

* Add tests

* Add tests

* Apply suggestion

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Apply suggestion

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-14 14:07:57 +02:00
epenet 1fcab33653 Improve type hints in light (#78349) 2022-09-14 13:36:20 +02:00
epenet 374b72f052 Make LimitedSizeDict a generic (#78440)
* Make LimitedSizeDict a generic

* Remove comments

* Use super()

* Apply suggestion

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-14 13:30:17 +02:00
uvjustin ad25a966a8 Sort constants in forked_daapd (#78455) 2022-09-14 19:24:51 +08:00
epenet efb482fb1d Add demo to strict-typing (#77596)
* Add demo to strict-typing

* Adjust component

* Adjust PR

* Update homeassistant/components/demo/mailbox.py

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-14 13:05:00 +02:00
epenet 5e338d2166 Improve type hints in automation (#78368)
* Improve type hints in automation

* Apply suggestion

* Apply suggestion

* Apply suggestion

* Add Protocol for IfAction

* Use ConfigType for IfAction

* Rename variable
2022-09-14 13:04:09 +02:00
J. Nick Koston b7e9fcb9fe Replace asyncio.wait_for with async_timeout in baf (#78445) 2022-09-14 12:29:43 +02:00
epenet db44be7054 Sort coveragerc (#78447) 2022-09-14 12:26:22 +02:00
epenet 2625189529 Use async_timeout in forked_daapd (#78451) 2022-09-14 12:24:54 +02:00
Ernst Klamer fad0b00fbc Binary sensor description for BTHome (#78408) 2022-09-14 12:09:03 +02:00
epenet 13c7a7bbcc Refactor forked_daapd to use _async_announce (#78446) 2022-09-14 11:58:32 +02:00
epenet 5cccb24830 Improve type hints in group (#78350) 2022-09-14 11:36:28 +02:00
epenet 03a24e3a05 Improve type hints in proximity (#78348) 2022-09-14 11:22:58 +02:00
epenet abc87b5dfa Improve type hints in scene (#78347) 2022-09-14 11:18:23 +02:00
epenet dce2569389 Improve type hints in weather (#78346)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-14 11:15:47 +02:00
epenet b87cd926e7 Fix image-processing type hint (#78426) 2022-09-14 11:13:48 +02:00
Franck Nijhof 2b40f3f1e5 2022.9.4 (#78438) 2022-09-14 11:01:27 +02:00
Franck Nijhof 393f1487a5 Remove Ambee integration (#78427) 2022-09-14 10:25:01 +02:00
Franck Nijhof e839849456 Bumped version to 2022.9.4 2022-09-14 10:03:04 +02:00
Bram Kragten e711758cfd Update frontend to 20220907.2 (#78431) 2022-09-14 10:02:43 +02:00
Bram Kragten 9382f4be23 Update frontend to 20220907.2 (#78431) 2022-09-14 09:54:51 +02:00
Simone Chemelli 9d535b9ae9 Bump fritzconnection to 1.10.3 (#77847)
* Bump fritzconnection to 1.10.2

* bump to 1.10.3
2022-09-14 08:13:42 +02:00
Paulus Schoutsen 896955e4df 2022.9.3 (#78410) 2022-09-13 21:50:29 -04:00
Diogo Gomes 7b83807baa Retry on unavailable IPMA api (#78332)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-13 21:01:19 -04:00
Diogo Gomes 831c87205f Retry on unavailable IPMA api (#78332)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-13 21:00:59 -04:00
Aaron Bach 6a197332c7 Fix bug with RainMachine update entity (#78411)
* Fix bug with RainMachine update entity

* Comment
2022-09-13 20:57:38 -04:00
GitHub Action 23faf8024e [ci skip] Translation update 2022-09-14 00:28:24 +00:00
Aaron Bach 5501b7e710 Fix bug with RainMachine update entity (#78411)
* Fix bug with RainMachine update entity

* Comment
2022-09-13 18:16:21 -04:00
epenet 416a5cb279 Import constants from component root (#78395) 2022-09-14 00:12:54 +02:00
epenet f1c7fb7866 Adjust pylint plugin for relative imports (#78277) 2022-09-14 00:11:57 +02:00
epenet d3be06906b Improve type hints in script helpers (#78364)
* Improve type hints in script helpers

* Import CONF_SERVICE_DATA from homeassistant.const

* Make data optional
2022-09-13 23:11:29 +02:00
epenet 4f963cfc64 Improve type hints in integration (#78345) 2022-09-13 22:45:25 +02:00
J. Nick Koston 14611f9b5c Fix race in logbook websocket test (#78390) 2022-09-13 16:40:08 -04:00
Paulus Schoutsen 1955ff9e0d Bumped version to 2022.9.3 2022-09-13 16:31:51 -04:00
J. Nick Koston 29caf06439 Bump govee-ble to 0.17.3 (#78405) 2022-09-13 16:31:40 -04:00
Bram Kragten 0b5953038e Update frontend to 20220907.1 (#78404) 2022-09-13 16:31:39 -04:00
Marc Mueller f07e1bc500 Fix CI workflow caching (#78398) 2022-09-13 16:31:38 -04:00
J. Nick Koston 843d5f101a Fix flapping system log test (#78391)
Since we run tests with asyncio debug on, there is
a chance we will get an asyncio log message instead
of the one we want

Fixes https://github.com/home-assistant/core/actions/runs/3045080236/jobs/4906717578
2022-09-13 16:31:38 -04:00
Pascal Vizeli d98ed5c6f6 Unregister EcoWitt webhook at unload (#78388) 2022-09-13 16:31:37 -04:00
Erik Montnemery 8599472880 Don't allow partial update of timer settings (#78378) 2022-09-13 16:31:37 -04:00
Erik Montnemery 04d6bb085b Don't allow partial update of input_text settings (#78377) 2022-09-13 16:31:36 -04:00
Erik Montnemery 6f9a311cec Don't allow partial update of input_select settings (#78376) 2022-09-13 16:31:35 -04:00
Erik Montnemery 336179df6d Don't allow partial update of input_button settings (#78374) 2022-09-13 16:31:34 -04:00
Erik Montnemery 9459af30b0 Don't allow partial update of input_datetime settings (#78373) 2022-09-13 16:31:34 -04:00
Erik Montnemery ee07ca8caa Don't allow partial update of input_boolean settings (#78372) 2022-09-13 16:31:33 -04:00
Erik Montnemery 3beed13586 Don't allow partial update of counter settings (#78371) 2022-09-13 16:31:33 -04:00
J. Nick Koston f0753f7a97 Bump aiohomekit to 1.5.7 (#78369) 2022-09-13 16:31:32 -04:00
J. Nick Koston dd007cd765 Bump led-ble to 0.10.0 (#78367) 2022-09-13 16:31:31 -04:00
J. Nick Koston 7cdac3ee8c Bump xiaomi-ble to 0.10.0 (#78365) 2022-09-13 16:31:31 -04:00
J. Nick Koston cd7f65bb6a Bump xiaomi-ble to 0.9.3 (#78301) 2022-09-13 16:31:30 -04:00
J. Nick Koston b21a37cad5 Bump yalexs-ble to 1.9.0 (#78362) 2022-09-13 16:30:45 -04:00
J. Nick Koston bfcb9402ef Bump PySwitchbot to 0.19.8 (#78361)
* Bump PySwitchbot to 0.19.7

Changes for bleak 0.17

https://github.com/Danielhiversen/pySwitchbot/compare/0.19.6...0.19.7

* bump again to fix some more stale state bugs
2022-09-13 16:30:44 -04:00
Erik Montnemery ad396f0538 Don't allow partial update of input_number settings (#78356) 2022-09-13 16:30:44 -04:00
Erik Montnemery 12edfb3929 Drop initial when loading input_number from storage (#78354) 2022-09-13 16:30:43 -04:00
J. Nick Koston 47f6be77cc Bump bleak to 0.17.0 (#78333) 2022-09-13 16:30:42 -04:00
Erik Montnemery 9acf74d783 Fix calculating gas cost for gas measured in ft3 (#78327) 2022-09-13 16:30:42 -04:00
David F. Mulcahey 0aa2685e0c Fix sengled bulbs in ZHA (#78315)
* Fix sengled bulbs in ZHA

* fix tests

* update discovery data
2022-09-13 16:30:41 -04:00
J. Nick Koston a90b6d37bf Make yalexs_ble matcher more specific (#78307) 2022-09-13 16:30:40 -04:00
J. Nick Koston d6bf1a8caa Bump pySwitchbot to 0.19.6 (#78304)
No longer swallows exceptions from bleak connection errors which
was hiding the root cause of problems.

This was the original behavior from a long time ago which
does not make sense anymore since we retry a few times anyways

https://github.com/Danielhiversen/pySwitchbot/compare/0.19.5...0.19.6
2022-09-13 16:30:40 -04:00
J. Nick Koston 95a89448e0 Bump aiodiscover to 1.4.13 (#78253) 2022-09-13 16:30:39 -04:00
J. Nick Koston f6d26476b5 Bump bluetooth-auto-recovery to 0.3.3 (#78245)
Downgrades a few more loggers to debug since the only reason we check them is to give a better error message when the bluetooth adapter is blocked by rfkill.

https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/compare/v0.3.2...v0.3.3

closes #78211
2022-09-13 16:30:38 -04:00
d-walsh 9640553b52 Fix missing dependency for dbus_next (#78235) 2022-09-13 16:30:38 -04:00
TheJulianJES 3129114d07 Bump PyViCare==2.17.0 (#78232) 2022-09-13 16:30:37 -04:00
Yevhenii Vaskivskyi 184a1c95f0 Bump blinkpy to 0.19.2 (#78097) 2022-09-13 16:30:36 -04:00
Robert Svensson f18ab504a5 Move up setup of service to make it more robust when running multiple instances of deCONZ (#77621) 2022-09-13 16:30:36 -04:00
epenet 6c0ad54a84 Use media player enums in dlna_dms (#78393)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-09-13 23:27:04 +03:00
J. Nick Koston 13e8bae432 Bump govee-ble to 0.17.3 (#78405) 2022-09-13 16:17:09 -04:00
Bram Kragten 4c164cc48d Update frontend to 20220907.1 (#78404) 2022-09-13 16:15:45 -04:00
J. Nick Koston 8189af0e7e Bump led-ble to 0.10.0 (#78367) 2022-09-13 16:15:30 -04:00
J. Nick Koston e2c563c79d Bump yalexs-ble to 1.9.0 (#78362) 2022-09-13 16:14:53 -04:00
J. Nick Koston 32c6f8aaef Bump PySwitchbot to 0.19.8 (#78361)
* Bump PySwitchbot to 0.19.7

Changes for bleak 0.17

https://github.com/Danielhiversen/pySwitchbot/compare/0.19.6...0.19.7

* bump again to fix some more stale state bugs
2022-09-13 23:11:44 +03:00
J. Nick Koston bf852812bc Fix flapping system log test (#78391)
Since we run tests with asyncio debug on, there is
a chance we will get an asyncio log message instead
of the one we want

Fixes https://github.com/home-assistant/core/actions/runs/3045080236/jobs/4906717578
2022-09-13 23:10:50 +03:00
epenet 02c9541862 Improve type hints in mailbox (#78353) 2022-09-13 21:55:50 +02:00
epenet 49ab5cfc9c Improve type hints in geo-location (#78352) 2022-09-13 21:55:13 +02:00
Pascal Vizeli 0ab19fe6f6 Bump aioecowitt 2022.09.2 (#78287)
* Bump aioecowitt 2022.09.2

* add percentage type
2022-09-13 22:11:57 +03:00
J. Nick Koston 9c2601036d Bump xiaomi-ble to 0.10.0 (#78365) 2022-09-13 21:06:17 +02:00
epenet dc3c4a2b54 Expose SOURCE_CLOUD in google-assistant root (#78394) 2022-09-13 15:05:55 -04:00
Marc Mueller 4da08ee1e9 Fix CI workflow caching (#78398) 2022-09-13 15:01:46 -04:00
J. Nick Koston be52b66f6c Bump aiohomekit to 1.5.7 (#78369) 2022-09-13 15:00:45 -04:00
Erik Montnemery 4898a41dcf Don't allow partial update of timer settings (#78378) 2022-09-13 14:58:12 -04:00
Erik Montnemery 925a4b0286 Don't allow partial update of input_text settings (#78377) 2022-09-13 14:57:14 -04:00
Erik Montnemery 19e853dbb0 Don't allow partial update of input_select settings (#78376) 2022-09-13 14:56:59 -04:00
Erik Montnemery abf8b59831 Don't allow partial update of input_button settings (#78374) 2022-09-13 14:56:46 -04:00
Erik Montnemery 33fa4ec8b2 Don't allow partial update of input_datetime settings (#78373) 2022-09-13 14:56:40 -04:00
Erik Montnemery e2a0dd9955 Don't allow partial update of input_boolean settings (#78372) 2022-09-13 14:55:24 -04:00
Erik Montnemery 47da1c456b Don't allow partial update of counter settings (#78371) 2022-09-13 14:55:06 -04:00
Erik Montnemery 15f104911a Don't allow partial update of input_number settings (#78356) 2022-09-13 14:54:52 -04:00
Pascal Vizeli 0e7c81288f Unregister EcoWitt webhook at unload (#78388) 2022-09-13 14:51:04 -04:00
J. Nick Koston be34fdc344 Bump pylutron-caseta to 0.15.1 (#78209) 2022-09-13 17:00:18 +02:00
Yevhenii Vaskivskyi 328530479d Bump blinkpy to 0.19.2 (#78097) 2022-09-13 16:46:31 +02:00
G Johansson fd7c257a90 Fix Sensibo Pure sensitivity sensor text (#78313) 2022-09-13 16:44:22 +02:00
epenet 69b59c9d59 Improve type hints in trace (#78366) 2022-09-13 09:09:38 -04:00
epenet 458ddb6f4b Improve type hints in image-processing (#78351) 2022-09-13 08:39:39 -04:00
Erik Montnemery 6256d07255 Drop initial when loading input_number from storage (#78354) 2022-09-13 08:39:05 -04:00
dependabot[bot] a5fa34b4bb Bump home-assistant/builder from 2022.07.0 to 2022.09.0 (#78103)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-09-13 14:32:37 +02:00
J. Nick Koston 392548fe6e Bump bleak to 0.17.0 (#78333) 2022-09-13 14:31:34 +02:00
epenet bad81c1bc9 Prevent use of deprecated media-player constants (#77937) 2022-09-13 14:20:15 +02:00
epenet 1dff0075b0 Import humidifier constants from root (#78343) 2022-09-13 14:05:36 +02:00
epenet 7c3258fbec Import network constants from root (#78342) 2022-09-13 14:04:02 +02:00
Daniel Hjelseth Høyer 0d38073817 Bump mill-local to 0.2.0 (#78302) 2022-09-13 13:59:46 +02:00
TheJulianJES b5935e5a4f Bump PyViCare==2.17.0 (#78232) 2022-09-13 13:01:13 +02:00
J. Nick Koston 131512f7fd Make yalexs_ble matcher more specific (#78307) 2022-09-13 12:38:01 +02:00
epenet 52ea9998bb Use new media player enums in forked_daapd (#78100) 2022-09-13 11:55:24 +02:00
epenet d88334b2b2 Expose humidifier constants at the top level (#78033) 2022-09-13 11:28:08 +02:00
Robin Wohlers-Reichel b0249e6aa9 Update solax to 0.3.0 (#78219) 2022-09-13 10:07:38 +02:00
jafar-atili 24266f1426 Add SwitchBee Integration (#70201)
* Add SwitchBee Integration

* fixes

* improved API and more logs

* fixed test_config_flow code

* removed light and cover

* Fixed CR comments, updated pylib, improved response time and lowered the scan interval for lower latency

* CR fixes, added advanced setup form to let the
user choose the following:
    - scan interval in seconds: default 5
    - whether to expose scenarios and group switches from the CU or not

* used SCAN_INTERVAL_SEC instead of typing just the number

* Fixed PR comments, added unit tests

* fixes

* Improved the pypi and updated the code accordingly

* Add SwitchBee Integration

* fixes

* improved API and more logs

* fixed test_config_flow code

* removed light and cover

* Fixed CR comments, updated pylib, improved response time and lowered the scan interval for lower latency

* CR fixes, added advanced setup form to let the
user choose the following:
    - scan interval in seconds: default 5
    - whether to expose scenarios and group switches from the CU or not

* used SCAN_INTERVAL_SEC instead of typing just the number

* Fixed PR comments, added unit tests

* fixes

* Improved the pypi and updated the code accordingly

* fixes

* restored new line in .coveragerc

* test: increased config_flow test coverage

* removed two way type

* Updated CODEOWNERS

* fix: code review comments

* fixed review comments

* added device_info

* moved device info to attribute
2022-09-13 09:01:29 +02:00
Erik Montnemery 4e32bf2ac9 Drop old migration code from entity registry (#78278) 2022-09-12 22:28:05 -04:00
epenet 13f250319d Import websocket api constants from root (#78250) 2022-09-12 22:07:58 -04:00
Erik Montnemery 8a9edea2c1 Fix calculating gas cost for gas measured in ft3 (#78327) 2022-09-12 21:24:49 -04:00
epenet b5402f9b57 Import device tracker constants from root (#78242) 2022-09-12 20:50:44 -04:00
GitHub Action 955f3b7083 [ci skip] Translation update 2022-09-13 00:29:19 +00:00
J. Nick Koston 05d4ece4de Bump bluetooth-auto-recovery to 0.3.3 (#78245)
Downgrades a few more loggers to debug since the only reason we check them is to give a better error message when the bluetooth adapter is blocked by rfkill.

https://github.com/Bluetooth-Devices/bluetooth-auto-recovery/compare/v0.3.2...v0.3.3

closes #78211
2022-09-12 20:16:46 -04:00
d-walsh 0b2c3cfb99 Fix missing dependency for dbus_next (#78235) 2022-09-12 18:03:07 -05:00
Marc Mueller 93a5b99191 Rename zwave_js trigger helper to avoid confusion (#78331)
* Rename zwave_js trigger helper to avoid confusion

* Fix test
2022-09-12 18:36:05 -04:00
epenet 9b0602a8b6 Import device automation constants from root (#78272) 2022-09-13 00:19:57 +02:00
J. Nick Koston 5f1979dbc3 Bump xiaomi-ble to 0.9.3 (#78301) 2022-09-12 16:54:20 -05:00
epenet e32adfc801 Import modbus constants from root (#78273) 2022-09-12 23:46:24 +02:00
epenet c687273180 Import media source constants from root (#78275) 2022-09-12 23:45:19 +02:00
epenet 2857a15cbc Import http constants from root (#78274) 2022-09-12 23:43:59 +02:00
epenet 7db1f8186c Improve zone typing (#78294)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-12 23:43:21 +02:00
epenet dbc6dda41e Adjust components to use relative imports (#78279) 2022-09-12 23:33:21 +02:00
epenet 9cb8d910ce Improve media-player typing (#78300)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-12 23:32:07 +02:00
epenet 55e59b778c Add type hints to TTS provider (#78285)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-12 23:29:55 +02:00
David F. Mulcahey 9d47160e68 Fix sengled bulbs in ZHA (#78315)
* Fix sengled bulbs in ZHA

* fix tests

* update discovery data
2022-09-12 15:37:11 -04:00
epenet 19bee11a01 Improve sun typing (#78298) 2022-09-12 21:34:35 +02:00
J. Nick Koston 3be9bee61e Bump pySwitchbot to 0.19.6 (#78304)
No longer swallows exceptions from bleak connection errors which
was hiding the root cause of problems.

This was the original behavior from a long time ago which
does not make sense anymore since we retry a few times anyways

https://github.com/Danielhiversen/pySwitchbot/compare/0.19.5...0.19.6
2022-09-12 21:18:26 +02:00
epenet 5c8e8e4860 Use new media player enums (#78264) 2022-09-12 20:06:27 +02:00
epenet 5e9c0399eb Add STT checks to pylint plugin (#78284) 2022-09-12 18:58:06 +02:00
epenet 7871a517a8 Import constants from root (#78271) 2022-09-12 18:53:05 +02:00
epenet 7aa7458a22 Expose modbus constants in root (#78269) 2022-09-12 18:48:10 +02:00
epenet 1fc8a570b0 Expose media-source constants in root (#78268) 2022-09-12 18:46:25 +02:00
epenet 1e6e10ec93 Expose constants in device_tracker root (#78240) 2022-09-12 18:43:50 +02:00
epenet 454bdcc00d Expose http constants in root (#78267) 2022-09-12 18:41:18 +02:00
epenet 17e217269f Expose device_automation constants in root (#78266) 2022-09-12 18:39:07 +02:00
epenet 2f3091122b Import update constants from root (#78251) 2022-09-12 18:22:22 +02:00
epenet d8c5d08f90 Expose websocket_api constants in root (#78249) 2022-09-12 18:18:37 +02:00
epenet ac3534cba1 Import number constants from root (#78248) 2022-09-12 18:14:49 +02:00
epenet 9c8e9f044b Import stt constants from root (#78247) 2022-09-12 18:12:06 +02:00
epenet 45a69090f0 Expose and use lovelace constants from root (#78246) 2022-09-12 18:10:33 +02:00
epenet 4dcbe3e608 Import notify constants from root (#78244) 2022-09-12 18:07:26 +02:00
epenet 1fb5800bdf Import trace constants from root (#78243) 2022-09-12 18:06:03 +02:00
epenet 0ce526efe1 Import logbook constants from root (#78236) 2022-09-12 17:53:06 +02:00
Radu 6a5678154a Add ZigStar ZeroConf (#78237) 2022-09-12 09:26:23 -05:00
alakdae 844074c3a9 Add extra precision to ADC voltage (from 1 decimal to 2 decimals) (#77889) 2022-09-12 16:53:03 +03:00
epenet 253d355526 Remove unused mypy ignore statements (#78292) 2022-09-12 09:25:11 -04:00
J. Nick Koston e83594a179 Bump aiodiscover to 1.4.13 (#78253) 2022-09-12 12:19:45 +02:00
Raman Gupta abebf3c067 Switch to new entity naming schema across zwave_js (#77434) 2022-09-12 09:14:59 +02:00
GitHub Action b56f54745a [ci skip] Translation update 2022-09-12 00:26:16 +00:00
epenet 7eb5e6d623 Import automation constants from root (#78238) 2022-09-11 21:11:51 +02:00
Paulus Schoutsen 2bd71f62ea 2022.9.2 (#78169) 2022-09-11 13:28:28 -04:00
J. Nick Koston 296db8b2af Bump aiohomekit to 1.5.6 (#78228) 2022-09-11 12:21:29 -04:00
J. Nick Koston a277664187 Bump led-ble to 0.9.1 (#78226) 2022-09-11 12:21:28 -04:00
J. Nick Koston 1b7a06912a Bump yalexs-ble to 1.8.1 (#78225) 2022-09-11 12:21:27 -04:00
J. Nick Koston e7986a54a5 Bump PySwitchbot to 0.19.5 (#78224) 2022-09-11 12:21:26 -04:00
G Johansson de8b066a1d Bump pysensibo to 1.0.20 (#78222) 2022-09-11 12:21:25 -04:00
J. Nick Koston 4d4a87ba05 Bump led_ble to 0.8.5 (#78215)
* Bump led_ble to 0.8.4

Changelog: https://github.com/Bluetooth-Devices/led-ble/compare/v0.8.3...v0.8.4

* bump again
2022-09-11 12:21:24 -04:00
Aaron Bach 4b79e82e31 Bump regenmaschine to 2022.09.1 (#78210) 2022-09-11 12:21:24 -04:00
J. Nick Koston 1e8f461270 Bump bluetooth-adapters to 0.4.1 (#78205)
Switches to dbus-fast which fixes a file descriptor leak
2022-09-11 12:21:23 -04:00
Vincent Knoop Pathuis 6e88b8d3d5 Landis+Gyr integration: increase timeout and add debug logging (#78025) 2022-09-11 12:21:22 -04:00
J. Nick Koston c0374a9434 Bump PySwitchbot to 0.19.5 (#78224) 2022-09-11 12:19:31 -04:00
J. Nick Koston 5a9dfa9df9 Bump aiohomekit to 1.5.6 (#78228) 2022-09-11 12:19:12 -04:00
J. Nick Koston 7e0652f80e Bump led-ble to 0.9.1 (#78226) 2022-09-11 12:19:01 -04:00
J. Nick Koston 4da10a50ad Bump yalexs-ble to 1.8.1 (#78225) 2022-09-11 12:18:52 -04:00
G Johansson f0053066ca Bump pysensibo to 1.0.20 (#78222) 2022-09-11 12:18:38 -04:00
Vincent Knoop Pathuis 93b7f604d5 Landis+Gyr integration: increase timeout and add debug logging (#78025) 2022-09-11 12:18:01 -04:00
Artem Draft 29be6d17b0 Add is_host_valid util (#76589) 2022-09-11 11:12:04 -05:00
epenet b0777e6280 Use new media player enums in demo (#78114)
* Use new media player enums in demo

* Adjust import location
2022-09-11 16:48:18 +02:00
epenet 9a61cc07c7 Use new media player enums in emby (#78098) 2022-09-11 16:36:03 +02:00
Aaron Bach 49222d6bc8 Bump regenmaschine to 2022.09.1 (#78210) 2022-09-11 10:17:36 +02:00
J. Nick Koston d77ca99791 Bump bluetooth-adapters to 0.4.1 (#78205)
Switches to dbus-fast which fixes a file descriptor leak
2022-09-11 10:06:13 +02:00
J. Nick Koston e77058b762 Bump led_ble to 0.8.5 (#78215)
* Bump led_ble to 0.8.4

Changelog: https://github.com/Bluetooth-Devices/led-ble/compare/v0.8.3...v0.8.4

* bump again
2022-09-11 10:04:05 +02:00
GitHub Action 051974304a [ci skip] Translation update 2022-09-11 00:27:01 +00:00
epenet 5f2567cd43 Use alphabetical order for platforms in pylint plugin (#78126) 2022-09-10 23:46:30 +02:00
epenet 0d2465cf0a Expose logbook constants at the top level (#78184) 2022-09-10 23:44:03 +02:00
epenet 6affd9c6fb Import climate constants from root [m-z] (#78178) 2022-09-10 23:42:28 +02:00
epenet ec532414ba Import climate constants from root [a-l] (#78177) 2022-09-10 23:39:52 +02:00
epenet 7eefaa308f Use new media player enums in universal (#78112) 2022-09-10 22:29:04 +02:00
epenet 0d88567e0e Use new media player enums in soundtouch (#78110) 2022-09-10 22:26:26 +02:00
epenet 9e1cb914b1 Use new media player enums in snapcast (#78109) 2022-09-10 22:24:01 +02:00
epenet d0605d3a59 Use new media player enums in kodi (#78106) 2022-09-10 22:22:18 +02:00
epenet a2559b48ce Use new media player enums in group (#78104) 2022-09-10 22:17:38 +02:00
epenet 64fd84bd88 Use new media player enums in frontier_silicon (#78101) 2022-09-10 22:16:04 +02:00
epenet a1aac4a2e9 Use new media player enums in esphome (#78099) 2022-09-10 22:12:37 +02:00
J. Nick Koston a626ab4f1a Bump aiohomekit to 1.5.4 to handle stale ble connections at startup (#78203) 2022-09-10 14:37:06 -04:00
J. Nick Koston c7cb0d1a07 Close stale switchbot connections at setup time (#78202) 2022-09-10 14:37:05 -04:00
puddly 183c61b6ca Bump ZHA dependencies (#78201) 2022-09-10 14:37:05 -04:00
J. Nick Koston 95c20df367 Fix Yale Access Bluetooth not setting up when already connected at startup (#78199) 2022-09-10 14:37:04 -04:00
J. Nick Koston a969ce273a Fix switchbot not setting up when already connected at startup (#78198) 2022-09-10 14:37:03 -04:00
J. Nick Koston 5f90760176 Bump led-ble to 0.8.3 (#78188)
* Bump led-ble to 0.8.0

Fixes setup when the previous shutdown was not clean and
the device is still connected

* bump again

* bump again

* bump again
2022-09-10 14:37:03 -04:00
Pascal Vizeli 795be361b4 Add dependencies to ecowitt (#78187) 2022-09-10 14:37:02 -04:00
Rami Mosleh cdd5c809bb Fix sending notification to multiple targets in Pushover (#78111)
fix sending to mulitple targets
2022-09-10 14:37:01 -04:00
J. Nick Koston 27e8e40968 Bump aiohomekit to 1.5.4 to handle stale ble connections at startup (#78203) 2022-09-10 14:36:44 -04:00
J. Nick Koston a3ec28ea79 Close stale switchbot connections at setup time (#78202) 2022-09-10 14:21:10 -04:00
puddly f19af72895 Bump ZHA dependencies (#78201) 2022-09-10 13:56:01 -04:00
Rami Mosleh 17ed090f98 Fix sending notification to multiple targets in Pushover (#78111)
fix sending to mulitple targets
2022-09-10 19:35:26 +02:00
J. Nick Koston dbcb269111 Fix switchbot not setting up when already connected at startup (#78198) 2022-09-10 13:32:38 -04:00
J. Nick Koston 1e302c12ff Fix Yale Access Bluetooth not setting up when already connected at startup (#78199) 2022-09-10 13:32:29 -04:00
J. Nick Koston c406e4defe Bump led-ble to 0.8.3 (#78188)
* Bump led-ble to 0.8.0

Fixes setup when the previous shutdown was not clean and
the device is still connected

* bump again

* bump again

* bump again
2022-09-10 19:30:30 +02:00
Pascal Vizeli a877c8030f Add dependencies to ecowitt (#78187) 2022-09-10 17:02:36 +02:00
Paulus Schoutsen c731e2f125 Fix ecowitt typing (#78171) 2022-09-09 23:32:26 -04:00
Paulus Schoutsen b2692ecc80 Fix ecowitt typing (#78171) 2022-09-09 23:32:14 -04:00
J. Nick Koston 1789a8a385 Bump aiohomekit to 1.5.3 (#78170) 2022-09-09 23:20:55 -04:00
J. Nick Koston 68b511737d Bump aiohomekit to 1.5.3 (#78170) 2022-09-09 23:20:39 -04:00
Ernst Klamer 39f40011cc Add BTHome binary sensors (#78151) 2022-09-09 22:43:25 -04:00
Paulus Schoutsen 57717f13fc Bumped version to 2022.9.2 2022-09-09 22:39:13 -04:00
J. Nick Koston e4aab6a818 Bump pySwitchbot to 0.19.1 (#78168) 2022-09-09 22:37:35 -04:00
Jc2k 258791626e Add missing moisture sensor to xiaomi_ble (#78160) 2022-09-09 22:37:35 -04:00
Pascal Vizeli 78802c8480 Bump aioecowitt to 2022.09.1 (#78142) 2022-09-09 22:37:34 -04:00
Yevhenii Vaskivskyi b24f3725d6 Add missing strings for errors in amberelectric config flow (#78140) 2022-09-09 22:37:33 -04:00
J. Nick Koston 06116f76fa Bump bluetooth-adapters to 0.3.6 (#78138) 2022-09-09 22:37:33 -04:00
Erik Montnemery 27c0a37053 Allow non-integers in threshold sensor config flow (#78137) 2022-09-09 22:37:32 -04:00
Erik Montnemery 2b961fd327 Improve unique_id collision checks in entity_platform (#78132) 2022-09-09 22:37:31 -04:00
Raman Gupta 125afb39f0 Fix zwave_js update entity (#78116)
* Test zwave_js update entity progress

* Block until firmware update is done

* Update homeassistant/components/zwave_js/update.py

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

* revert params

* unsub finished event listener

* fix tests

* Add test for returned failure

* refactor a little

* rename

* Remove unnecessary controller logic for mocking

* Clear event when resetting

* Comments

* readability

* Fix test

* Fix test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-09 22:37:31 -04:00
Anders Melchiorsen 3ee62d619f Fix LIFX light turning on while fading off (#78095) 2022-09-09 22:37:30 -04:00
J. Nick Koston dc7c860c6a Fix switchbot writing state too frequently (#78094) 2022-09-09 22:37:29 -04:00
Paulus Schoutsen f042cc5d7b Handle missing supported brands (#78090) 2022-09-09 22:37:29 -04:00
Jan Bouwhuis 4c0872b4e4 Improve warning messages on invalid received modes (#77909) 2022-09-09 22:37:28 -04:00
Jan Bouwhuis 21f6b50f7c Clear MQTT discovery topic when a disabled entity is removed (#77757)
* Cleanup discovery on entity removal

* Add test

* Cleanup and test

* Test with clearing payload not unique id

* Address comments

* Tests cover and typing

* Just pass hass

* reuse code

* Follow up comments revert changes to cover tests

* Add test unique_id has priority over disabled

* Update homeassistant/components/mqtt/__init__.py

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-09 22:37:27 -04:00
Jan Bouwhuis d670df74cb Fix reload of MQTT config entries (#76089)
* Wait for unsubscribes

* Spelling comment

* Remove notify_all() during _register_mid()

* Update homeassistant/components/mqtt/client.py

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

* Correct handling reload manual set up MQTT items

* Save and restore device trigger subscriptions

* Clarify we are storing all remaining subscriptions

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-09 22:37:27 -04:00
J. Nick Koston a1ec9c6147 Bump pySwitchbot to 0.19.1 (#78168) 2022-09-09 22:32:17 -04:00
Jc2k 28f4a5b7a2 Add missing moisture sensor to xiaomi_ble (#78160) 2022-09-09 22:31:51 -04:00
Pascal Vizeli 0227f2cd67 Bump aioecowitt to 2022.09.1 (#78142) 2022-09-09 22:31:10 -04:00
GitHub Action 901031eb25 [ci skip] Translation update 2022-09-10 00:29:43 +00:00
J. Nick Koston d98ed03845 Fix switchbot writing state too frequently (#78094) 2022-09-09 18:13:27 -05:00
J. Nick Koston fcb6888f87 Start logbook stream faster (#77921)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-09 17:16:02 -05:00
Raman Gupta 8cc0b41daf Fix zwave_js update entity (#78116)
* Test zwave_js update entity progress

* Block until firmware update is done

* Update homeassistant/components/zwave_js/update.py

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

* revert params

* unsub finished event listener

* fix tests

* Add test for returned failure

* refactor a little

* rename

* Remove unnecessary controller logic for mocking

* Clear event when resetting

* Comments

* readability

* Fix test

* Fix test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-09 22:10:56 +02:00
Michael Kowalchuk 19cf5dfc6d Add zwave_js speed configuration for Leviton ZW4SF fans (#60677)
* Add speed info for Leviton 4 speed fans

* Use new format for fan speed configuration

* Add a fixture and test for the Leviton ZW4SF

* Use pytest.approx
2022-09-09 22:06:01 +02:00
J. Nick Koston 8084d163d3 Bump bluetooth-adapters to 0.3.6 (#78138) 2022-09-09 13:56:21 -04:00
G Johansson 167b9cb1a0 Additional cleanup for Sensibo (#78144)
* Clean sensibo code

* Add function to description
2022-09-09 17:06:57 +02:00
epenet 7a3ca8278d Expose climate constants at the top level (#78018)
* Expose climate constants at the top level

* Add new climate enums

* Add new climate enums

* Import new enums

* Adjust ClimateEntity

* Adjust pylint

* Fix mypy

* Revert "Fix mypy"

This reverts commit 3dbe2fab01e30091ab51bcd090ae5ddc5c807045.

* Revert "Adjust pylint"

This reverts commit b19b085b2281e1cb42b814f4dbe8838d1b6db7b2.

* Revert "Adjust ClimateEntity"

This reverts commit 6a822c58f1b6bb997038eeb750030ddf13872ec2.

* Revert "Import new enums"

This reverts commit 7d70007c60d6a4156466c9aad428b8583a8b70bd.

* Revert "Add new climate enums"

This reverts commit dcd7716106e66449255f807b0e1467912ed3ed11.

* Revert "Add new climate enums"

This reverts commit a9aaa08a1cb5e6376e0f2d082d0809301cf68d7a.
2022-09-09 16:42:01 +02:00
Yevhenii Vaskivskyi 6a41a631db Add missing strings for errors in amberelectric config flow (#78140) 2022-09-09 10:36:48 -04:00
Erik Montnemery 5c40dffb29 Allow non-integers in threshold sensor config flow (#78137) 2022-09-09 10:05:14 -04:00
epenet dd86d7f0ea Use new media player enums in mediaroom (#78108) 2022-09-09 15:27:30 +02:00
Jan Bouwhuis fb67123d77 Clear MQTT discovery topic when a disabled entity is removed (#77757)
* Cleanup discovery on entity removal

* Add test

* Cleanup and test

* Test with clearing payload not unique id

* Address comments

* Tests cover and typing

* Just pass hass

* reuse code

* Follow up comments revert changes to cover tests

* Add test unique_id has priority over disabled

* Update homeassistant/components/mqtt/__init__.py

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-09 15:24:26 +02:00
Anders Melchiorsen 0a143ac596 Fix LIFX light turning on while fading off (#78095) 2022-09-09 08:43:54 -04:00
Erik Montnemery e332091d76 Improve unique_id collision checks in entity_platform (#78132) 2022-09-09 14:35:23 +02:00
uvjustin 9b2d17cd00 Escape media_content_id in media player proxy (#77811)
* Escape media_content_id in media player proxy

* Change usage in kodi

* Change usage in roku

* Change usage in sonos

* Add test

* Add comment

* Change path regex instead of double quoting

* Use .+ instead of .*
2022-09-09 13:18:24 +02:00
holysoles c3b2e03ce8 Support unique_id for Universal Media Player (#77461)
* support unique id

* tests for unique_id

* use unique_id attribute
2022-09-09 11:50:39 +02:00
epenet b369c2f54c Deprecate SUPPORT_* constants for color_mode (#69269)
* Deprecate SUPPORT_* constants for color_mode

* Simplify

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

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-09-09 11:27:16 +02:00
Jan Bouwhuis 9a4c8f5f0e Refactor common MQTT tests to use modern schema (#77583)
* Common tests availability

* Common tests attributes

* Common tests unique id

* Common tests discovery

* Common tests encoding

* Common tests device info

* Common tests entity_id updated

* Common tests entity debug info

* Common test entity category

* Common tests setup reload unload+corrections

* Cleanup sweep

* Comments from curent change

* Cleanup

* Remove unused legacy config
2022-09-09 11:15:48 +02:00
Jan Bouwhuis d53d59eb6c Improve warning messages on invalid received modes (#77909) 2022-09-09 11:12:09 +02:00
epenet 8b3ce8c58c Use new constants in dlna_dmr media player (#78045) 2022-09-09 09:03:59 +02:00
epenet 7ff23506fe Use new enums in cast (#77946)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-09 08:57:14 +02:00
Erik Montnemery eb28d7188b Fix DB migration to schema version 29 (#78037)
* Fix DB migration to schema version 29

* Fix misspelled constants
2022-09-09 08:06:14 +02:00
Paulus Schoutsen 0e734e629c Handle missing supported brands (#78090) 2022-09-09 07:47:33 +02:00
Paulus Schoutsen 0a7f3f6ced 2022.9.1 (#78081) 2022-09-08 21:58:18 -04:00
rlippmann fee9a303ff Fix issue #77920 - ecobee remote sensors not updating (#78035) 2022-09-08 21:02:32 -04:00
rlippmann fe04af8798 Fix issue #77920 - ecobee remote sensors not updating (#78035) 2022-09-08 21:01:43 -04:00
GitHub Action 718d4ac6cc [ci skip] Translation update 2022-09-09 00:28:55 +00:00
Alex Thompson 45b69618d3 Add iBeacon start byte to allowed Apple Bluetooth advertisements (#78088) 2022-09-08 18:21:58 -05:00
epenet a9b5e276bb Use new media player enums [x-z] (#78068) 2022-09-08 23:25:51 +02:00
epenet 8bdeb3ca5b Use new media player enums [u-w] (#78067) 2022-09-08 23:22:16 +02:00
epenet 6b157921ea Use new media player enums [s] (#78064) 2022-09-08 23:05:10 +02:00
epenet 45d0ec7150 Use new media player enums [r] (#78062) 2022-09-08 22:59:52 +02:00
epenet 52b5e1779f Use new media player enums [p] (#78058) 2022-09-08 22:54:43 +02:00
Paulus Schoutsen a4f398a750 Bumped version to 2022.9.1 2022-09-08 16:50:47 -04:00
Jan Bouwhuis c873eae79c Allow OpenWeatherMap config flow to test using old API to pass (#78074)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-08 16:50:13 -04:00
Nathan Spencer d559b6482a Bump pylitterbot to 2022.9.1 (#78071) 2022-09-08 16:50:12 -04:00
Aaron Bach 760853f615 Fix bug with 1st gen RainMachine controllers and unknown API calls (#78070)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-08 16:50:12 -04:00
J. Nick Koston cfe8ebdad4 Bump bluetooth-auto-recovery to 0.3.2 (#78063) 2022-09-08 16:50:11 -04:00
J. Nick Koston 2ddd1b516c Bump bluetooth-adapters to 0.3.5 (#78052) 2022-09-08 16:50:10 -04:00
Martin Hjelmare 3b025b211e Fix zwave_js device re-interview (#78046)
* Handle stale node and entity info on re-interview

* Add test

* Unsubscribe on config entry unload
2022-09-08 16:50:10 -04:00
Maikel Punie 4009a32fb5 Bump velbus-aio to 2022.9.1 (#78039)
Bump velbusaio to 2022.9.1
2022-09-08 16:50:09 -04:00
Joakim Sørensen 6f3b49601e Extract lametric device from coordinator in notify (#78027) 2022-09-08 16:50:08 -04:00
Martin Hjelmare 31858ad779 Fix zwave_js default emulate hardware in options flow (#78024) 2022-09-08 16:50:08 -04:00
Raman Gupta ab9d9d599e Add value ID to zwave_js device diagnostics (#78015) 2022-09-08 16:50:07 -04:00
Yevhenii Vaskivskyi ce6d337bd5 Fix len method typo for Osram light (#78008)
* Fix `len` method typo for Osram light

* Fix typo in line 395
2022-09-08 16:50:06 -04:00
Raman Gupta 3fd887b1f2 Show progress for zwave_js.update entity (#77905)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-08 16:50:05 -04:00
Jan Bouwhuis 9c192dea9c Allow OpenWeatherMap config flow to test using old API to pass (#78074)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-08 16:49:49 -04:00
epenet 2f8af92735 Use new media player enums [m-o] (#78057) 2022-09-08 22:47:59 +02:00
epenet 56c4e0391d Use new media player enums [e-h] (#78049) 2022-09-08 22:44:30 +02:00
Aaron Bach 9fc9d50e07 Fix bug with 1st gen RainMachine controllers and unknown API calls (#78070)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-08 16:41:09 -04:00
Raman Gupta 52d2ebd2c8 Show progress for zwave_js.update entity (#77905)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-08 16:40:55 -04:00
epenet 823e7e8830 Use new media player enums [i-l] (#78054) 2022-09-08 22:35:53 +02:00
Erik Montnemery 7937bfeedb Deprecate history integration's statistics API (#78056) 2022-09-08 16:03:43 -04:00
Maikel Punie c528a2d2cd Bump velbus-aio to 2022.9.1 (#78039)
Bump velbusaio to 2022.9.1
2022-09-08 20:28:40 +02:00
Martin Hjelmare f11b51e12b Fix zwave_js device re-interview (#78046)
* Handle stale node and entity info on re-interview

* Add test

* Unsubscribe on config entry unload
2022-09-08 20:15:27 +02:00
Raman Gupta 996a3477b0 Increase rate limit for zwave_js updates
Al provided a new key which bumps the rate limit from 10k per hour to 100k per hour
2022-09-08 14:03:04 -04:00
J. Nick Koston be064bfeef Bump bluetooth-auto-recovery to 0.3.2 (#78063) 2022-09-08 19:15:26 +02:00
Nathan Spencer 03e6bd0811 Bump pylitterbot to 2022.9.1 (#78071) 2022-09-08 19:13:20 +02:00
Raman Gupta 01189b023c Increase rate limit for zwave_js updates
Al provided a new key which bumps the rate limit from 10k per hour to 100k per hour
2022-09-08 12:53:30 -04:00
J. Nick Koston 2a23792b23 Bump bluetooth-adapters to 0.3.5 (#78052) 2022-09-08 09:58:53 -04:00
epenet 03f4eb84a0 Improve type hints in demo and dependencies (#78022) 2022-09-08 12:46:41 +02:00
epenet ff356205bf Use platform constants from root (#78032) 2022-09-08 12:24:45 +02:00
epenet f14bb8195f Import climate constants from root [a-l] (#78021) 2022-09-08 11:24:15 +02:00
Erik Montnemery c134bcc536 Remove use of deprecated SUPPORT_* constants from Template light (#77836) 2022-09-08 11:22:38 +02:00
Erik Montnemery b21f8c9ea8 Remove use of deprecated SUPPORT_* constants from MQTT light (#77828)
* Remove use of deprecated SUPPORT_* constants from MQTT light

* Refactor
2022-09-08 11:21:46 +02:00
epenet 9a5fe950a4 Use new media player enums [a-d] (#77939) 2022-09-08 11:03:10 +02:00
Martin Hjelmare bfe245cc3f Fix zwave_js default emulate hardware in options flow (#78024) 2022-09-08 10:59:40 +02:00
Joakim Sørensen 11e897a5e8 Extract lametric device from coordinator in notify (#78027) 2022-09-08 10:50:14 +02:00
epenet 5276d849ec Improve type hints in apple_tv media player (#77940) 2022-09-08 10:46:23 +02:00
epenet e2568d8375 Import climate constants from root [m-z] (#78020) 2022-09-08 10:34:44 +02:00
epenet f87e873275 Adjust alexa imports (#78013) 2022-09-08 09:45:22 +02:00
epenet 23168434d5 Add pylint directory to black pre-commit (#78011)
Add pylint to black CI
2022-09-08 09:14:58 +02:00
Raman Gupta 37631d2017 Add value ID to zwave_js device diagnostics (#78015) 2022-09-08 09:13:01 +02:00
Yevhenii Vaskivskyi 1802ecfc24 Fix len method typo for Osram light (#78008)
* Fix `len` method typo for Osram light

* Fix typo in line 395
2022-09-08 08:49:36 +02:00
GitHub Action ea26c0bf77 [ci skip] Translation update 2022-09-08 00:27:38 +00:00
epenet f62fbbe524 Use _attr_force_update in mqtt (#77902) 2022-09-07 23:42:16 +02:00
Chris McCurdy 52c8c80f91 Add additional method of retrieving UUID for LG soundbar configuration (#77856) 2022-09-07 17:43:05 +02:00
Bram Kragten cd5967c4c6 Update frontend to 20220907.0 (#77963) 2022-09-07 17:31:53 +02:00
puddly 4076f8b94e Fix ZHA lighting initial hue/saturation attribute read (#77727)
* Handle the case of `current_hue` being `None`

* WIP unit tests
2022-09-07 11:10:24 -04:00
J. Nick Koston 2cfdc15c38 Handle stale switchbot advertisement data while connected (#77956) 2022-09-07 16:54:21 +02:00
epenet 645f5e5ac1 Introduce new MediaPlayerState StrEnum (#77941)
* Adjust media-player checks in pylint plugin

* Adjust media-player definitions

* Adjust cast signatures

* Adjust play_media signature

* Introduce MediaPlayerState

* Fix cast implementations

* Revert cast changes

* Update hass_enforce_type_hints.py

* Use set

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>

* Fix tests

* Keep unused constants

* Fix test

* Revert tests

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-07 16:30:22 +02:00
Alex Thompson 951047d94e Add initial implementation of tilt_ble integration (#77633)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-07 09:24:21 -05:00
epenet 9490771a87 Refactor distance, speed and volume utils (#77952)
* Refactor distance util

* Fix bmw connected drive tests

* Adjust here travel time tests

* Adjust waze travel time tests

* Adjust test_distance

* Adjust rounding values

* Adjust more tests

* Adjust volume conversions

* Add tests
2022-09-07 16:18:00 +02:00
Marc Mueller 01f1629ac0 Update surepy to 0.8.0 (#77948) 2022-09-07 15:13:51 +02:00
kingy444 a0071e7877 Bump aiopvapi to 2.0.1 (#77949) 2022-09-07 13:17:45 +02:00
J. Nick Koston e42c48ebca Bump PySwitchbot to 0.18.25 (#77935) 2022-09-07 06:12:17 -05:00
epenet f71313ee1e Adjust get_scanner pylint checks (#77944) 2022-09-07 10:58:54 +02:00
Daniel Hjelseth Høyer 9fa30af8de Bump pyTibber to 0.25.2 (#77919) 2022-09-07 10:26:07 +02:00
J. Nick Koston 79b46956e9 Bump led-ble to 0.7.1 (#77931) 2022-09-07 10:22:19 +02:00
epenet 9fb0b3995c Adjust pylint checks for notify get_service (#77606)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-07 09:44:15 +02:00
epenet a82484d7a7 Use attributes in rest base entity (#77903) 2022-09-07 09:40:52 +02:00
Raman Gupta fce28d4848 Bump zwave-js-server-python to 0.41.1 (#77915)
* Bump zwave-js-server-python to 0.41.1

* Fix fixture
2022-09-07 07:28:47 +02:00
Ståle Storø Hauknes 79d2c87844 Mill gen 3 cloud, support precision halves for gen 3 heaters (#77932)
* Update pymill to latest version

* Use float with PRECISION_HALVES for Mill Gen 3 cloud connected heaters
2022-09-07 07:25:23 +02:00
Lennard Scheibel 35cdad943b Fix shopping_list service calls not notifying event bus (#77794) 2022-09-06 23:18:27 -04:00
GitHub Action 4f7ad27b65 [ci skip] Translation update 2022-09-07 00:27:56 +00:00
J. Nick Koston dfef6c3d28 Small tweaks to improve performance of bluetooth matching (#77934)
* Small tweaks to improve performance of bluetooth matching

* Small tweaks to improve performance of bluetooth matching

* cleanup
2022-09-06 19:12:32 -04:00
J. Nick Koston 9ba1bb7c73 Bump aiohomekit to 1.5.2 (#77927) 2022-09-06 16:43:18 -05:00
Matthew Simpson 4e625f0360 Bump btsmarthub_devicelist to 0.2.2 (#77609) 2022-09-06 21:50:03 +02:00
Rami Mosleh 769084058d Add sensors for Tuya "tdq" category switches (#77581) 2022-09-06 20:22:04 +02:00
epenet 19b85851a1 Use _attr_force_update in tasmota (#77900) 2022-09-06 20:20:07 +02:00
epenet 6864f43986 Drop unused property from zha (#77897) 2022-09-06 20:19:33 +02:00
Marc Mueller 87ab14d758 Add protocol type for legacy notify platforms (#77894) 2022-09-06 20:18:52 +02:00
Franck Nijhof dbb556a812 Revert "Add ability to ignore devices for UniFi Protect" (#77916) 2022-09-06 20:13:01 +02:00
epenet 5632e33426 Improve type hints in lw12wifi light (#77656) 2022-09-06 20:00:51 +02:00
epenet 759f12bcda Use attributes in hvv_departures (#77588) 2022-09-06 19:58:27 +02:00
Bram Kragten 97d63e5c36 Update frontend to 20220906.0 (#77910) 2022-09-06 12:54:53 -04:00
epenet 5de95663a9 Introduce new StrEnums in media player (#77872)
* Introduce RepeatMode enum in media player
* Add MediaClass and MediaType
2022-09-06 18:47:34 +02:00
epenet 85beceb533 Use attributes in rflink binary sensor (#77901)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2022-09-06 18:17:28 +02:00
epenet bd84981ae0 Use _attr_force_update in tellstick (#77899) 2022-09-06 18:03:53 +02:00
epenet e3fb04e116 Add comment to life360 device tracker (#77879) 2022-09-06 11:34:59 -04:00
Yevhenii Vaskivskyi 5459b5fdfe Handle exception on projector being unavailable (#77802) 2022-09-06 11:34:11 -04:00
Steven Looman d550b17bd9 Use identifiers host and serial number to match device (#75657) 2022-09-06 11:33:16 -04:00
J. Nick Koston b2f86ddf76 Bump bluetooth-auto-recovery to 0.3.1 (#77898) 2022-09-06 08:48:39 -05:00
Raman Gupta 91fbff05db Improve performance impact of zwave_js update entity and other tweaks (#77866)
* Improve performance impact of zwave_js update entity and other tweaks

* Reduce concurrent polls

* we need to write state after setting in progress to false

* Fix existing tests

* Fix tests by fixing fixtures

* remove redundant conditional

* Add test for delayed startup

* tweaks

* outdent happy path

* Add missing PROGRESS feature support

* Update homeassistant/components/zwave_js/update.py

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

* Update homeassistant/components/zwave_js/update.py

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

* Fix tests by reverting outdent, PR comments, mark callback

* Remove redundant conditional

* make more readable

* Remove unused SCAN_INTERVAL

* Catch FailedZWaveCommand

* Add comment and remove poll unsub on update

* Fix catching error and add test

* readability

* Fix tests

* Add assertions

* rely on built in progress indicator

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-06 09:40:20 -04:00
J. Nick Koston b945327056 Bump zeroconf to 0.39.1 (#77859) 2022-09-06 08:00:05 -05:00
epenet 3a0eae3986 Improve entity type hints [z] (#77890) 2022-09-06 14:01:09 +02:00
epenet 23052dc7b5 Improve entity type hints [y] (#77888) 2022-09-06 14:00:25 +02:00
epenet 856318b137 Improve entity type hints [x] (#77887) 2022-09-06 14:00:09 +02:00
epenet a6b6949793 Improve entity type hints [w] (#77886) 2022-09-06 13:59:37 +02:00
epenet 050cb275ff Improve entity type hints [v] (#77885) 2022-09-06 13:59:05 +02:00
epenet 3798d28bec Improve entity type hints [u] (#77884) 2022-09-06 13:37:00 +02:00
epenet 3ec231c911 Improve entity type hints [s] (part 2/2) (#77882) 2022-09-06 13:36:44 +02:00
epenet 458001a06e Improve entity type hints [t] (#77883) 2022-09-06 13:35:52 +02:00
epenet 0c767bd0d3 Improve entity type hints [s] (part 1/2) (#77881) 2022-09-06 13:35:14 +02:00
uvjustin 34da463df0 Cleanup camera after late PR review (#77880)
Cleanup changes to camera from #77439
2022-09-06 12:33:21 +02:00
epenet e5ac50fc57 Add BaseNotificationService to pylint checks (#77663)
* Add BaseNotificationService to pylint checks

* Remove comment
2022-09-06 12:18:29 +02:00
epenet 03b4d25564 Add notify get_service to pylint checks (#77643)
Add notify get_service to pylint checks (take 3)
2022-09-06 12:18:15 +02:00
ollo69 3327493ab7 Add state class total increasing to Tasmota energy today sensor (#77140)
Add  total increasing to tasmota energy today sensor
2022-09-06 11:24:08 +02:00
Oliver Völker 57212a39e4 Adjust Renault default scan interval (#77823)
raise DEFAULT_SCAN_INTERVAL to 7 minutes

This PR is raising the default scan interval for the Renault API from 5 minutes to 7 minutes. Lower intervals fail sometimes, maybe due to quota limitations. This seems to be a working interval as described in home-assistant#73220
2022-09-06 11:10:35 +02:00
Jan Bouwhuis 13188a5c63 Refactor MQTT tests to use modern platform schema part 2 (#77525)
* Tests light json

* Tests light template

* Missed test light json

* Tests light

* Tests lock

* Tests number

* Tests scene

* Tests select

* Tests sensor

* Tests siren

* Tests state vacuuum

* Tests switch

* Derive DEFAULT_CONFIG_LEGACY from DEFAULT_CONFIG

* Suggested comment changes
2022-09-06 11:03:02 +02:00
Jan Bouwhuis a4792998a2 Refactor MQTT tests to use modern platform schema part 1 (#77387)
* Tests alarm_control_panel

* Tests binary_sensor

* Tests button

* Tests camera

* Tests Climate + corrections default config

* Tests cover

* Tests device_tracker

* Tests fan

* Tests humidifier

* Fix test_supported_features test fan

* Tests init

* Tests legacy vacuum

* Derive DEFAULT_CONFIG_LEGACY from DEFAULT_CONFIG

* Commit suggestion comment changes
2022-09-06 11:02:15 +02:00
epenet ea71a462d6 Improve entity type hints [o] (#77826) 2022-09-06 10:25:35 +02:00
epenet d6ca3544ee Improve type hint in opensky (#77829) 2022-09-06 10:21:43 +02:00
epenet 36f3028ec3 Improve type hint in onvif (#77833) 2022-09-06 10:12:16 +02:00
Kevin Stillhammer b4669d8939 Add has_entity_name for kraken (#77841)
Add has_entity_name
2022-09-06 10:10:46 +02:00
J. Nick Koston ac8a12f99c Bump thermopro-ble to 0.4.3 (#77863)
* Bump thermopro-ble to 0.4.2

- Turns on rounding of long values
- Uses bluetooth-data-tools under the hood
- Adds the TP393 since it works without any changes to the parser

Changelog: https://github.com/Bluetooth-Devices/thermopro-ble/compare/v0.4.0...v0.4.2

* bump again for device detection fix
2022-09-06 09:55:43 +02:00
J. Nick Koston 0e369d5b2e Add RSSI to the bluetooth debug log (#77860) 2022-09-06 09:54:52 +02:00
Artem Draft 72f9e5f6ec Bump pybravia to 0.2.2 (#77867) 2022-09-06 09:52:27 +02:00
epenet 474844744b Improve entity type hints [p] (#77871) 2022-09-06 09:51:33 +02:00
epenet 6f564e4f51 Improve entity type hints [r] (#77874) 2022-09-06 09:47:35 +02:00
epenet 7198273a42 Improve entity type hints [q] (#77875) 2022-09-06 09:43:49 +02:00
uvjustin 852b0caf5b Add orientation transforms to stream (#77439) 2022-09-06 13:31:36 +08:00
uvjustin bb77af71ff Use fragmented mp4 in stream recorder (#77822) 2022-09-06 13:30:55 +08:00
GitHub Action 5c30b33ee2 [ci skip] Translation update 2022-09-06 00:27:55 +00:00
Justin Vanderhooft 50933fa3ae Move Melnor Bluetooth switches to sub-services off the main device (#77842)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-05 18:34:59 -05:00
Marc Mueller 7f8e2fa5d4 Pin astroid to fix pylint (#77862) 2022-09-05 17:39:42 -04:00
epenet 024a4f39b0 Use attributes in nightscout (#77825) 2022-09-05 16:20:56 -04:00
G Johansson 76006ce9d7 Allow empty db in SQL options flow (#77777) 2022-09-05 14:50:47 -05:00
Allen Porter 8280b8422c Remove google calendar configuration.yaml deprecated in 2022.6 (#77814) 2022-09-05 21:12:38 +02:00
J. Nick Koston 6644f62ad2 Fix history stats device class when type is not time (#77855) 2022-09-05 14:56:27 -04:00
Bram Kragten 6867029062 Update frontend to 20220905.0 (#77854) 2022-09-05 14:27:48 -04:00
Robert Hillis 73ba7a989b Make Sonos typing more complete (#68072) 2022-09-05 13:12:37 -05:00
J. Nick Koston 6fbc0a8103 Bump govee-ble to 0.17.2 (#77849) 2022-09-05 14:05:53 -04:00
J. Nick Koston 33dd8a4a45 Bump led-ble to 0.7.0 (#77845) 2022-09-05 14:05:37 -04:00
Jc2k a641bbc352 Less verbose error logs for bleak connection errors in ActiveBluetoothProcessorCoordinator (#77839)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-05 10:33:10 -04:00
epenet 61f4040d56 Address late review on kulersky light (#77838) 2022-09-05 16:19:34 +02:00
Erik Montnemery 4a0cbfb550 Add the hardware integration to default_config (#77840) 2022-09-05 10:18:49 -04:00
Artem Draft c158575aa5 Bump pybravia to 0.2.1 (#77832) 2022-09-05 10:04:33 -04:00
Charles Garwood b0c093ac70 Add remoteAdminPasswordEnd to redacted keys in fully_kiosk diagnostics (#77837)
Add remoteAdminPasswordEnd to redacted keys in diagnostics
2022-09-05 09:20:37 -04:00
rappenze 601fb5ebb5 Add reauth flow to fibaro (#74300) 2022-09-05 07:55:12 -05:00
epenet 420733a064 Improve entity type hints [n] (#77824) 2022-09-05 07:53:55 -05:00
Ernst Klamer 42393db9f3 Rename BThome to BTHome (#77807)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-05 07:52:50 -04:00
Raman Gupta d6cf416c63 Fix device info for zwave_js device entities (#77821) 2022-09-05 12:15:14 +02:00
J. Nick Koston 363f95c954 Remove auto lowercasing from async_track_entity_registry_updated_event (#77740) 2022-09-05 12:13:05 +02:00
epenet 6355e682fa Improve entity type hints [m] (#77816) 2022-09-05 10:59:36 +02:00
Michael ce6e57da5d Bump fritzconnection from 1.8.0 to 1.10.1 (#77751)
bump fritzconnection from 1.8.0 to 1.10.1
2022-09-05 11:50:00 +03:00
epenet 5739712a0d Adjust type hint in meteoalarm (#77818) 2022-09-05 10:47:01 +02:00
epenet bbf77ed46f Adjust type hint in mediaroom (#77817) 2022-09-05 10:19:57 +02:00
J. Nick Koston 8e0b9e1f98 Fix isy994 calling sync api in async context (#77812) 2022-09-05 08:45:35 +02:00
Allen Porter ddf668d1cb Remove CalendarEventDevice which was deprecated in 2022.5 (#77809) 2022-09-04 22:25:43 -07:00
epenet 6044e2b054 Improve type hints in kulersky light (#77652) 2022-09-05 06:37:25 +02:00
J. Nick Koston 016a59ac94 Add support for subscribing to config entry changes (#77803) 2022-09-04 22:57:43 -05:00
J. Nick Koston 804e4ab989 Prefilter noisy apple devices from bluetooth (#77808) 2022-09-04 20:57:40 -04:00
GitHub Action c5100d2895 [ci skip] Translation update 2022-09-05 00:31:16 +00:00
Avi Miller 168d122db4 Add set_hev_cycle_state service to LIFX integration (#77546)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-04 19:04:36 -05:00
epenet 23a579d1c9 Improve type hints in lastfm sensor (#77657) 2022-09-04 22:45:41 +02:00
epenet be07bb7976 Improve type hints in file and huawei_lte notify (#77648) 2022-09-04 22:41:46 +02:00
epenet 14fc7c7595 Improve type hints in kodi media player (#77653) 2022-09-04 22:41:18 +02:00
G Johansson f51b33034f Bump yale_smart_alarm_client to 0.3.9 (#77797) 2022-09-04 14:43:38 -05:00
G Johansson 03d804123a Sensibo clean code (#74437) 2022-09-04 14:42:08 -05:00
Ståle Storø Hauknes b3596fdea1 Mill 3. gen add support for PRECISION_HALVES (#73592)
* Add support for PRECISION_HALVES for Mill 3. generation heaters

* Add support for precision halves for Mill local API

* Make sure to cast to float for local api

* Support both float for gen 3 heaters and int for gen < 3 heaters when using cloud api

* Mill attribute bugfix

* Add support for PRECISION_HALVES for Mill 3. generation heaters

* Add support for precision halves for Mill local API

* Make sure to cast to float for local api

* Support both float for gen 3 heaters and int for gen < 3 heaters when using cloud api

* Mill attribute bugfix

* Revert PRECISION_HALVES for Mill cloud integration

* Remove unused code

* Revert to casting to int for mill cloud integration

* Remove unused code
2022-09-04 10:32:57 -07:00
Michael 03b3959b95 Replace archived sucks by py-sucks and bump to 0.9.8 for Ecovacs integration (#77768) 2022-09-04 12:57:50 -04:00
J. Nick Koston 2b63d7644a Bump led-ble to 0.6.0 (#77788)
* Bump ble-led to 0.6.0

Fixes reading the white channel on same devices

Changelog: https://github.com/Bluetooth-Devices/led-ble/compare/v0.5.4...v0.6.0

* Bump flux_led to 0.28.32

Changelog: https://github.com/Danielhiversen/flux_led/compare/0.28.31...0.28.32

Fixes white channel support for some more older protocols

* keep them in sync

* Update homeassistant/components/led_ble/manifest.json
2022-09-04 19:54:40 +03:00
Justin Vanderhooft e1150ce190 Expose battery and rssi sensors in Melnor Bluetooth integration (#77576) 2022-09-04 12:47:13 -04:00
G Johansson 98441e8620 Bump pysensibo to 1.0.19 (#77790) 2022-09-04 11:06:04 -05:00
J. Nick Koston 1b13105538 Bump flux_led to 0.28.32 (#77787) 2022-09-04 11:00:19 -05:00
Avi Miller 0e63a4c091 Fix lifx service call interference (#77770)
* Fix #77735 by restoring the wait to let state settle

Signed-off-by: Avi Miller <me@dje.li>

* Skip the asyncio.sleep during testing

Signed-off-by: Avi Miller <me@dje.li>

* Patch out asyncio.sleep for lifx tests

Signed-off-by: Avi Miller <me@dje.li>

* Patch out a constant instead of overriding asyncio.sleep directly

Signed-off-by: Avi Miller <me@dje.li>

Signed-off-by: Avi Miller <me@dje.li>
2022-09-04 17:51:57 +02:00
Matt Zimmerman a9c19e2ffb Update smarttub to 0.0.33 (#77766) 2022-09-04 09:51:48 -05:00
Mick Vleeshouwer fe65c02c2b Add Boost/Away mode duration to Overkiz integration (#76690) 2022-09-04 09:06:59 -05:00
Justin Vanderhooft 7e9f1a508a Tweak unique id formatting for Melnor Bluetooth switches (#77773) 2022-09-04 08:56:10 -05:00
J. Nick Koston ed365cb8e9 Add BlueMaestro integration (#77758)
* Add BlueMaestro integration

* tests

* dc
2022-09-04 09:45:52 -04:00
Mick Vleeshouwer 6dcce61565 Add support for AtlanticHeatRecoveryVentilation to Overkiz integration (#74015) 2022-09-04 07:02:00 -05:00
Mick Vleeshouwer 807d197ca0 Add goToAlias button (my position) to Overkiz integration (#76694) 2022-09-04 07:01:42 -05:00
Mick Vleeshouwer 9a6b22a156 Address late review in Overkiz (add duration device class) (#77778)
Address follow-up review in Overkiz (duration device class)
2022-09-04 12:01:17 +02:00
J. Nick Koston a4261d588b Increase default august timeout (#77762)
Fixes
```
2022-08-28 20:32:46.223 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/helpers/debounce.py", line 82, in async_call
    await task
  File "/Users/bdraco/home-assistant/homeassistant/components/august/activity.py", line 49, in _async_update_house_id
    await self._async_update_house_id(house_id)
  File "/Users/bdraco/home-assistant/homeassistant/components/august/activity.py", line 137, in _async_update_house_id
    activities = await self._api.async_get_house_activities(
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/yalexs/api_async.py", line 96, in async_get_house_activities
    response = await self._async_dict_to_api(
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/yalexs/api_async.py", line 294, in _async_dict_to_api
    response = await self._aiohttp_session.request(method, url, **api_dict)
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/client.py", line 466, in _request
    with timer:
  File "/Users/bdraco/home-assistant/venv/lib/python3.10/site-packages/aiohttp/helpers.py", line 721, in __exit__
    raise asyncio.TimeoutError from None
asyncio.exceptions.TimeoutError
```
2022-09-04 11:13:34 +02:00
GitHub Action 6921583410 [ci skip] Translation update 2022-09-04 00:28:06 +00:00
Martin Hjelmare 7ca7a28db9 Refactor zwave_js event handling (#77732)
* Refactor zwave_js event handling

* Clean up
2022-09-03 17:19:05 -04:00
Pete 5d7e9a6695 Fix setting and reading percentage for MIOT based fans (#77626) 2022-09-03 22:55:34 +02:00
Raman Gupta fa987564a7 Handle dead nodes in zwave_js update entity (#77763) 2022-09-03 22:53:21 +02:00
Mick Vleeshouwer cd24223c1f Enhance operating time sensor in Overkiz integration (#76688) 2022-09-03 16:18:56 -04:00
Michael ab215b653a Fix upgrade api disabling during setup of Synology DSM (#77753) 2022-09-03 13:19:52 -04:00
Jan Bouwhuis a3e6abd396 Use hass.config_entries.async_setup in mqtt test (#77750)
* Use hass.config_entries.async_setup

* The setup is awaited hence waiting is not needed
2022-09-03 15:44:50 +02:00
Erik Montnemery b0d033ef29 Add mixin class CollectionEntity for the collection helper (#77703)
* Add mixin class CollectionEntity for the collection helper

* Improve typing

* Address review comments

* Fix tests
2022-09-03 12:56:49 +02:00
Erik Montnemery 56278a4421 Simplify device registry (#77715)
* Simplify device registry

* Fix test fixture

* Update homeassistant/helpers/device_registry.py

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>

* Update device_registry.py

* Remove dead code

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-03 12:50:55 +02:00
Simon Hansen 7e100b64ea Convert platform in iss integration (#77218)
* Hopefully fix everthing and be happy

* ...

* update coverage file

* Fix tests
2022-09-03 10:32:03 +02:00
Øyvind Matheson Wergeland f52c00a1c1 Add Nobø Ecohub integration (#50913)
* Initial version of Nobø Ecohub.

* Options update listener for Nobø Ecohub

* Unit test for nobo_hub config flow

* Cleanup

* Moved comment re backwards compatibility

* Improved tests

* Improved tests

* Options flow test
Pylint

* Fix backwards compatibility mode

* Don't require Python 3.9

* Import form configuration.yaml

* Check if device is already configured.
Correct tests for only discovering serial prefix
Fix importing when only serial suffix is configured

* Use constants

* Pylint and variable name clenaup.

* Review

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Fix tests

* Correct disabling off_command and on_commands ("Default" is a hard coded week profile in the hub).

* Improve options dialog

* Configure override type in options dialog

* Formatting

* pyupgrade

* Incorporated review comments

* Incorporated review comments.

* Incorporated second round of review comments.

* Add polling to discover preset change in HVAC_MODE_AUTO.

* Added tests/components/nobo_hub to CODEOWNERS.

* Update homeassistant/components/nobo_hub/config_flow.py

Review

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Update homeassistant/components/nobo_hub/climate.py

Review

Co-authored-by: Allen Porter <allen.porter@gmail.com>

* Simplify if tests.

* Update homeassistant/components/nobo_hub/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/nobo_hub/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Update homeassistant/components/nobo_hub/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Separate config step for manual configuration.

* Fixed indentation

* Made async_set_temperature more robust

* Thermometer supports tenths even though thermostat is in ones.

* Preserve serial suffix in config dialog on error.

* Initial version of Nobø Ecohub.

* Improved tests

* Review

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Configure override type in options dialog

* Separate config step for manual configuration.

* Update homeassistant/components/nobo_hub/__init__.py

Co-authored-by: Franck Nijhof <frenck@frenck.nl>

* Formatting (prettier)

* Fix HA stop listener.

* Review

* Apply suggestions from code review

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

* Review
- Removed workaround to support "OFF" setting.
- Simplified config flow to add a new device.

* Apply suggestions from code review

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

* Apply suggestions from code review

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

* Fixed review comments

* Update en.json with correction in review.

* Implemented review comments:
- Register devices
- Simplifed async_set_temperature

* Register hub as device in init module

* Implemented review comments.
Upgraded pynobo to 1.4.0.

* Apply suggestions from code review

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

* Avoid tacking on the device name in the entity name

* Inherit entity name from device name

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-03 10:11:40 +02:00
Paulus Schoutsen cf988354db Bump frontend to 20220902.0 (#77734) 2022-09-02 20:53:33 -04:00
GitHub Action 945299dfb6 [ci skip] Translation update 2022-09-03 00:24:50 +00:00
starkillerOG b49d47a559 Register xiaomi_miio unload callbacks later in setup (#76714) 2022-09-02 23:50:52 +02:00
Erik Montnemery 51c5f1d16a Remove useless device_registry test (#77714) 2022-09-02 20:44:42 +00:00
Nathan Spencer 916c44b5b4 Adjust litterrobot platform loading/unloading (#77682)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-02 16:18:10 -04:00
J. Nick Koston e4e29aa29d Bump bluetooth-adapters to 3.3.4 (#77705) 2022-09-02 16:17:35 -04:00
Erik Montnemery 3a86209dec Remove unnecessary use of dunder methods from entity registry (#77716) 2022-09-02 17:02:14 +00:00
Jan Bouwhuis 2e34814d7a Fix reload of MQTT config entries (#76089)
* Wait for unsubscribes

* Spelling comment

* Remove notify_all() during _register_mid()

* Update homeassistant/components/mqtt/client.py

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

* Correct handling reload manual set up MQTT items

* Save and restore device trigger subscriptions

* Clarify we are storing all remaining subscriptions

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2022-09-02 18:54:20 +02:00
Raman Gupta 2e4d5aca09 Change zwave_js firmware update service API key (#77719)
* Change zwave_js firmware update service API key

* Update const.py
2022-09-02 16:50:05 +02:00
Avi Miller 1acb9a981a Rename the binary sensor to better reflect its purpose (#77711) 2022-09-02 12:13:03 +00:00
Erik Montnemery 1bc8770b51 Remove area_id from entity_registry.async_get_or_create (#77700)
* Remove area_id from entity_registry.async_get_or_create

* Adjust tests

* Fix lying comment in test
2022-09-02 13:31:05 +02:00
Erik Montnemery 8924725d69 Improve some device registry tests (#77659) 2022-09-02 08:54:02 +02:00
Erik Montnemery 8bab2a9bea Tweak schedule test (#77696) 2022-09-02 08:39:27 +02:00
amitfin 32e4a2515e Time range should be treated as open ended (#77660)
* Time range should be treated as open end

* Refactored the logic of calculating the state

* Improve tests

* Improve tests

Co-authored-by: Erik <erik@montnemery.com>
2022-09-02 08:14:06 +02:00
Robert Svensson 6b361b70c9 Move up setup of service to make it more robust when running multiple instances of deCONZ (#77621) 2022-09-01 21:33:55 -04:00
Paulus Schoutsen 8eaadc0aaf Bump frontend to 20220901.0 (#77689) 2022-09-01 21:24:30 -04:00
J. Nick Koston e230a1f253 Bump bluetooth-adapters to 0.3.3 (#77683) 2022-09-01 21:22:12 -04:00
GitHub Action ccef03f1d4 [ci skip] Translation update 2022-09-02 00:25:46 +00:00
starkillerOG 8e392b85ee bump pynetgear to 0.10.8 (#77672) 2022-09-01 22:08:14 +00:00
Avi Miller 45f8b64a34 Add binary sensor platform to LIFX integration (#77535)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-01 22:07:21 +00:00
Diogo Gomes 1fe5948afd Cleanup IPMA code (#77674)
revert yaml import
2022-09-01 23:15:42 +02:00
puddly 73e26b71b1 Migrate ZHA lighting to use newer zigpy ZCL request syntax (#77676)
* Migrate unit test to use more command definition constants

* Use keyword argument syntax for sending ZCL requests

* Ensure all ZHA unit tests pass
2022-09-01 15:32:32 -04:00
Paulus Schoutsen 57c766c03c Pin Pandas 1.4.3 (#77679) 2022-09-01 15:00:50 -04:00
J. Nick Koston 7bac5fecee Bump pySwitchbot to 0.18.22 (#77673) 2022-09-01 15:00:14 -04:00
J. Nick Koston 9a5bdaf87e Ensure unique id is set for esphome when setup via user flow (#77677) 2022-09-01 14:10:20 -04:00
Erik Montnemery e326dd2847 Fix demo external energy statistics (#77665) 2022-09-01 14:03:37 -04:00
Nathan Spencer d0d1b303fd Code quality improvements for litterrobot integration (#77605) 2022-09-01 14:02:46 -04:00
On Freund 1692808d5b Increase sleep in Risco setup (#77619) 2022-09-01 14:02:09 -04:00
Jc2k 93a8aef4cc Fix async_all_discovered_devices(False) to return connectable and unconnectable devices (#77670) 2022-09-01 12:57:49 -04:00
Erik Montnemery d65eaf11f4 Include entity registry id in entity registry WS API (#77668) 2022-09-01 11:51:27 -04:00
Ernst Klamer db4391adff Add device class moisture (#77666) 2022-09-01 11:47:47 -04:00
Erik Montnemery cd2045b66d Clean up user overridden device class in entity registry (#77662) 2022-09-01 11:45:19 -04:00
luar123 8afcde4ea9 Add and remove Snapcast client/group callbacks properly (#77624)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-09-01 08:52:06 -04:00
epenet d1ecd74a1a Improve entity type hints [l] (#77655) 2022-09-01 14:14:31 +02:00
Christopher Bailey 08ab10d470 Fix timezone edge cases for Unifi Protect media source (#77636)
* Fixes timezone edge cases for Unifi Protect media source

* linting
2022-09-01 08:49:36 +00:00
uvjustin 3d64cf7304 Fix basic browse_media support in forked-daapd (#77595) 2022-09-01 10:46:43 +02:00
Martin Hjelmare f9a3757d71 Bump ci env HA_SHORT_VERSION (#77644) 2022-09-01 10:24:51 +02:00
Kevin Stillhammer dec2661322 Required option_flow values for here_travel_time (#77651) 2022-09-01 10:19:21 +02:00
epenet 6f8b032a6e Adjust notify type hints in mysensors (#77647) 2022-09-01 10:11:09 +02:00
Paulus Schoutsen 8dda2389c8 2022.10.0.dev0 (#77635) 2022-09-01 07:01:10 +02:00
J. Nick Koston 34ed6d1ecb Bump bleak to 0.16.0 (#77629)
Co-authored-by: Justin Vanderhooft <justinvdhooft@gmail.com>
2022-08-31 22:43:18 -04:00
Artem Draft e19fb56dd3 Suppress 404 in Bravia TV (#77288) 2022-08-31 22:42:23 -04:00
Kevin Stillhammer 95dd9def66 Required config_flow values for here_travel_time (#75026) 2022-08-31 18:40:13 -07:00
Justin Vanderhooft f81cdf4bca Bump melnor-bluetooth to 0.0.15 (#77631) 2022-09-01 00:23:45 +00:00
Matthias Alphart ae3dca11fe Update xknx to 1.0.2 (#77627) 2022-09-01 01:18:34 +02:00
y34hbuddy a9fe9857bd Implement reauth flow for volvooncall (#77328)
* implement reauth flow

* added more tests

* implement feedback for __init__.py

* implemented feedback

* remove impossible return checks

* raise UpdateFailed when update fails
2022-08-31 22:37:38 +02:00
Christopher Bailey de9f22f308 Bump version of pyunifiprotect to 4.2.0 (#77618) 2022-08-31 20:35:58 +00:00
epenet cf41dc639b Adjust Available in hisense_aehw4a1 (#77590) 2022-08-31 22:22:07 +02:00
epenet 86c7f0bbac Improve type hints in hive (#77586) 2022-08-31 22:19:44 +02:00
epenet c15faa161b Improve type hints in heatmiser (#77592) 2022-08-31 22:18:39 +02:00
epenet 152022aef3 Improve type hints in home_connect (#77587) 2022-08-31 22:16:21 +02:00
epenet 448f4ee755 Improve entity type hints [j-k] (#77594) 2022-08-31 22:10:18 +02:00
epenet a40c1401d3 Adjust temperature_unit in heatmiser (#77584) 2022-08-31 22:06:14 +02:00
epenet 471878b5fa Adjust temperature_unit in hisense_aehw4a1 (#77585) 2022-08-31 22:05:31 +02:00
Phil Bruckner c6b3b9fa90 Convert life360 to aiohttp (#77508)
Bump life360 package to 5.1.0.
2022-08-31 14:54:23 -05:00
Mick Vleeshouwer c98ee412c0 Catch unknown user exception in Overkiz integration (#76693) 2022-08-31 21:16:00 +02:00
3732 changed files with 93953 additions and 38326 deletions
+118 -98
View File
@@ -8,9 +8,6 @@ omit =
# omit pieces of code that rely on external devices being present
homeassistant/components/acer_projector/*
homeassistant/components/actiontec/const.py
homeassistant/components/actiontec/device_tracker.py
homeassistant/components/actiontec/model.py
homeassistant/components/acmeda/__init__.py
homeassistant/components/acmeda/base.py
homeassistant/components/acmeda/const.py
@@ -19,6 +16,9 @@ omit =
homeassistant/components/acmeda/helpers.py
homeassistant/components/acmeda/hub.py
homeassistant/components/acmeda/sensor.py
homeassistant/components/actiontec/const.py
homeassistant/components/actiontec/device_tracker.py
homeassistant/components/actiontec/model.py
homeassistant/components/adax/__init__.py
homeassistant/components/adax/climate.py
homeassistant/components/adguard/__init__.py
@@ -62,14 +62,17 @@ omit =
homeassistant/components/androidtv/diagnostics.py
homeassistant/components/anel_pwrctrl/switch.py
homeassistant/components/anthemav/media_player.py
homeassistant/components/apcupsd/*
homeassistant/components/apcupsd/__init__.py
homeassistant/components/apcupsd/binary_sensor.py
homeassistant/components/apcupsd/sensor.py
homeassistant/components/apple_tv/__init__.py
homeassistant/components/apple_tv/browse_media.py
homeassistant/components/apple_tv/media_player.py
homeassistant/components/apple_tv/remote.py
homeassistant/components/aqualogic/*
homeassistant/components/aquostv/media_player.py
homeassistant/components/arcam_fmj/media_player.py
homeassistant/components/arcam_fmj/__init__.py
homeassistant/components/arcam_fmj/media_player.py
homeassistant/components/arest/binary_sensor.py
homeassistant/components/arest/sensor.py
homeassistant/components/arest/switch.py
@@ -106,9 +109,9 @@ omit =
homeassistant/components/baf/switch.py
homeassistant/components/baidu/tts.py
homeassistant/components/balboa/__init__.py
homeassistant/components/beewi_smartclim/sensor.py
homeassistant/components/bbox/device_tracker.py
homeassistant/components/bbox/sensor.py
homeassistant/components/beewi_smartclim/sensor.py
homeassistant/components/bitcoin/sensor.py
homeassistant/components/bizkaibus/sensor.py
homeassistant/components/blink/__init__.py
@@ -138,6 +141,7 @@ omit =
homeassistant/components/bosch_shc/sensor.py
homeassistant/components/bosch_shc/switch.py
homeassistant/components/braviatv/__init__.py
homeassistant/components/braviatv/button.py
homeassistant/components/braviatv/const.py
homeassistant/components/braviatv/coordinator.py
homeassistant/components/braviatv/entity.py
@@ -152,8 +156,8 @@ omit =
homeassistant/components/brottsplatskartan/sensor.py
homeassistant/components/browser/*
homeassistant/components/brunt/__init__.py
homeassistant/components/brunt/cover.py
homeassistant/components/brunt/const.py
homeassistant/components/brunt/cover.py
homeassistant/components/bsblan/climate.py
homeassistant/components/bt_home_hub_5/device_tracker.py
homeassistant/components/bt_smarthub/device_tracker.py
@@ -180,20 +184,20 @@ omit =
homeassistant/components/concord232/alarm_control_panel.py
homeassistant/components/concord232/binary_sensor.py
homeassistant/components/control4/__init__.py
homeassistant/components/control4/light.py
homeassistant/components/control4/const.py
homeassistant/components/control4/director_utils.py
homeassistant/components/control4/light.py
homeassistant/components/coolmaster/__init__.py
homeassistant/components/coolmaster/climate.py
homeassistant/components/coolmaster/const.py
homeassistant/components/cppm_tracker/device_tracker.py
homeassistant/components/crownstone/__init__.py
homeassistant/components/crownstone/const.py
homeassistant/components/crownstone/listeners.py
homeassistant/components/crownstone/helpers.py
homeassistant/components/crownstone/devices.py
homeassistant/components/crownstone/entry_manager.py
homeassistant/components/crownstone/helpers.py
homeassistant/components/crownstone/light.py
homeassistant/components/crownstone/listeners.py
homeassistant/components/cups/sensor.py
homeassistant/components/currencylayer/sensor.py
homeassistant/components/daikin/__init__.py
@@ -236,7 +240,9 @@ omit =
homeassistant/components/doorbird/util.py
homeassistant/components/dovado/*
homeassistant/components/downloader/*
homeassistant/components/dsmr_reader/*
homeassistant/components/dsmr_reader/__init__.py
homeassistant/components/dsmr_reader/definitions.py
homeassistant/components/dsmr_reader/sensor.py
homeassistant/components/dte_energy_bridge/sensor.py
homeassistant/components/dublin_bus_transport/sensor.py
homeassistant/components/dunehd/__init__.py
@@ -260,15 +266,15 @@ omit =
homeassistant/components/econet/const.py
homeassistant/components/econet/sensor.py
homeassistant/components/econet/water_heater.py
homeassistant/components/ecovacs/*
homeassistant/components/ecowitt/__init__.py
homeassistant/components/ecowitt/binary_sensor.py
homeassistant/components/ecowitt/diagnostics.py
homeassistant/components/ecowitt/entity.py
homeassistant/components/ecowitt/sensor.py
homeassistant/components/ecovacs/*
homeassistant/components/edl21/*
homeassistant/components/eddystone_temperature/sensor.py
homeassistant/components/edimax/switch.py
homeassistant/components/edl21/*
homeassistant/components/egardia/*
homeassistant/components/eight_sleep/__init__.py
homeassistant/components/eight_sleep/binary_sensor.py
@@ -284,9 +290,9 @@ omit =
homeassistant/components/elkm1/sensor.py
homeassistant/components/elkm1/switch.py
homeassistant/components/elmax/__init__.py
homeassistant/components/elmax/binary_sensor.py
homeassistant/components/elmax/common.py
homeassistant/components/elmax/const.py
homeassistant/components/elmax/binary_sensor.py
homeassistant/components/elmax/switch.py
homeassistant/components/elv/*
homeassistant/components/emby/media_player.py
@@ -317,16 +323,17 @@ omit =
homeassistant/components/epson/media_player.py
homeassistant/components/epsonworkforce/sensor.py
homeassistant/components/eq3btsmart/climate.py
homeassistant/components/escea/__init__.py
homeassistant/components/escea/climate.py
homeassistant/components/escea/discovery.py
homeassistant/components/escea/__init__.py
homeassistant/components/esphome/__init__.py
homeassistant/components/esphome/binary_sensor.py
homeassistant/components/esphome/bluetooth.py
homeassistant/components/esphome/bluetooth/*
homeassistant/components/esphome/button.py
homeassistant/components/esphome/camera.py
homeassistant/components/esphome/climate.py
homeassistant/components/esphome/cover.py
homeassistant/components/esphome/domain_data.py
homeassistant/components/esphome/entry_data.py
homeassistant/components/esphome/fan.py
homeassistant/components/esphome/light.py
@@ -341,16 +348,16 @@ omit =
homeassistant/components/everlights/light.py
homeassistant/components/evohome/*
homeassistant/components/ezviz/__init__.py
homeassistant/components/ezviz/camera.py
homeassistant/components/ezviz/coordinator.py
homeassistant/components/ezviz/const.py
homeassistant/components/ezviz/entity.py
homeassistant/components/ezviz/binary_sensor.py
homeassistant/components/ezviz/camera.py
homeassistant/components/ezviz/const.py
homeassistant/components/ezviz/coordinator.py
homeassistant/components/ezviz/entity.py
homeassistant/components/ezviz/sensor.py
homeassistant/components/ezviz/switch.py
homeassistant/components/familyhub/camera.py
homeassistant/components/faa_delays/__init__.py
homeassistant/components/faa_delays/binary_sensor.py
homeassistant/components/familyhub/camera.py
homeassistant/components/fastdotcom/*
homeassistant/components/ffmpeg/camera.py
homeassistant/components/fibaro/__init__.py
@@ -401,9 +408,6 @@ omit =
homeassistant/components/flume/coordinator.py
homeassistant/components/flume/entity.py
homeassistant/components/flume/sensor.py
homeassistant/components/flunearyou/__init__.py
homeassistant/components/flunearyou/repairs.py
homeassistant/components/flunearyou/sensor.py
homeassistant/components/folder/sensor.py
homeassistant/components/folder_watcher/*
homeassistant/components/foobot/sensor.py
@@ -423,8 +427,8 @@ omit =
homeassistant/components/fritz/services.py
homeassistant/components/fritz/switch.py
homeassistant/components/fritzbox_callmonitor/__init__.py
homeassistant/components/fritzbox_callmonitor/const.py
homeassistant/components/fritzbox_callmonitor/base.py
homeassistant/components/fritzbox_callmonitor/const.py
homeassistant/components/fritzbox_callmonitor/sensor.py
homeassistant/components/frontier_silicon/const.py
homeassistant/components/frontier_silicon/media_player.py
@@ -460,8 +464,8 @@ omit =
homeassistant/components/gpsd/sensor.py
homeassistant/components/greenwave/light.py
homeassistant/components/group/notify.py
homeassistant/components/growatt_server/sensor.py
homeassistant/components/growatt_server/__init__.py
homeassistant/components/growatt_server/sensor.py
homeassistant/components/gstreamer/media_player.py
homeassistant/components/gtfs/sensor.py
homeassistant/components/guardian/__init__.py
@@ -507,9 +511,9 @@ omit =
homeassistant/components/home_connect/light.py
homeassistant/components/home_connect/sensor.py
homeassistant/components/home_connect/switch.py
homeassistant/components/homematic/*
homeassistant/components/home_plus_control/api.py
homeassistant/components/home_plus_control/switch.py
homeassistant/components/homematic/*
homeassistant/components/homeworks/*
homeassistant/components/honeywell/__init__.py
homeassistant/components/honeywell/climate.py
@@ -533,9 +537,9 @@ omit =
homeassistant/components/hunterdouglas_powerview/sensor.py
homeassistant/components/hunterdouglas_powerview/shade_data.py
homeassistant/components/hunterdouglas_powerview/util.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hvv_departures/binary_sensor.py
homeassistant/components/hvv_departures/sensor.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hydrawise/*
homeassistant/components/ialarm/alarm_control_panel.py
homeassistant/components/iammeter/sensor.py
@@ -548,9 +552,6 @@ omit =
homeassistant/components/icloud/account.py
homeassistant/components/icloud/device_tracker.py
homeassistant/components/icloud/sensor.py
homeassistant/components/izone/climate.py
homeassistant/components/izone/discovery.py
homeassistant/components/izone/__init__.py
homeassistant/components/idteck_prox/*
homeassistant/components/ifttt/__init__.py
homeassistant/components/ifttt/alarm_control_panel.py
@@ -559,6 +560,7 @@ omit =
homeassistant/components/ihc/*
homeassistant/components/imap/sensor.py
homeassistant/components/imap_email_content/sensor.py
homeassistant/components/incomfort/*
homeassistant/components/insteon/binary_sensor.py
homeassistant/components/insteon/climate.py
homeassistant/components/insteon/const.py
@@ -571,13 +573,13 @@ omit =
homeassistant/components/insteon/switch.py
homeassistant/components/insteon/utils.py
homeassistant/components/intellifire/__init__.py
homeassistant/components/intellifire/coordinator.py
homeassistant/components/intellifire/climate.py
homeassistant/components/intellifire/binary_sensor.py
homeassistant/components/intellifire/climate.py
homeassistant/components/intellifire/coordinator.py
homeassistant/components/intellifire/entity.py
homeassistant/components/intellifire/fan.py
homeassistant/components/intellifire/sensor.py
homeassistant/components/intellifire/switch.py
homeassistant/components/intellifire/entity.py
homeassistant/components/incomfort/*
homeassistant/components/intesishome/*
homeassistant/components/ios/__init__.py
homeassistant/components/ios/notify.py
@@ -603,6 +605,9 @@ omit =
homeassistant/components/isy994/util.py
homeassistant/components/itach/remote.py
homeassistant/components/itunes/media_player.py
homeassistant/components/izone/__init__.py
homeassistant/components/izone/climate.py
homeassistant/components/izone/discovery.py
homeassistant/components/jellyfin/__init__.py
homeassistant/components/jellyfin/media_source.py
homeassistant/components/joaoapps_join/*
@@ -628,6 +633,11 @@ omit =
homeassistant/components/kef/*
homeassistant/components/keyboard/*
homeassistant/components/keyboard_remote/*
homeassistant/components/keymitt_ble/__init__.py
homeassistant/components/keymitt_ble/const.py
homeassistant/components/keymitt_ble/entity.py
homeassistant/components/keymitt_ble/switch.py
homeassistant/components/keymitt_ble/coordinator.py
homeassistant/components/kira/*
homeassistant/components/kiwi/lock.py
homeassistant/components/kodi/__init__.py
@@ -647,10 +657,6 @@ omit =
homeassistant/components/kostal_plenticore/switch.py
homeassistant/components/kwb/sensor.py
homeassistant/components/lacrosse/sensor.py
homeassistant/components/lametric/__init__.py
homeassistant/components/lametric/button.py
homeassistant/components/lametric/coordinator.py
homeassistant/components/lametric/entity.py
homeassistant/components/lametric/notify.py
homeassistant/components/lametric/number.py
homeassistant/components/lannouncer/notify.py
@@ -668,6 +674,9 @@ omit =
homeassistant/components/led_ble/util.py
homeassistant/components/lg_netcast/media_player.py
homeassistant/components/lg_soundbar/media_player.py
homeassistant/components/lidarr/__init__.py
homeassistant/components/lidarr/coordinator.py
homeassistant/components/lidarr/sensor.py
homeassistant/components/life360/__init__.py
homeassistant/components/life360/const.py
homeassistant/components/life360/coordinator.py
@@ -686,13 +695,13 @@ omit =
homeassistant/components/logi_circle/sensor.py
homeassistant/components/london_underground/sensor.py
homeassistant/components/lookin/__init__.py
homeassistant/components/lookin/climate.py
homeassistant/components/lookin/coordinator.py
homeassistant/components/lookin/entity.py
homeassistant/components/lookin/light.py
homeassistant/components/lookin/media_player.py
homeassistant/components/lookin/models.py
homeassistant/components/lookin/sensor.py
homeassistant/components/lookin/climate.py
homeassistant/components/lookin/media_player.py
homeassistant/components/lookin/light.py
homeassistant/components/luci/device_tracker.py
homeassistant/components/luftdaten/sensor.py
homeassistant/components/lupusec/*
@@ -728,7 +737,6 @@ omit =
homeassistant/components/melnor/__init__.py
homeassistant/components/melnor/const.py
homeassistant/components/melnor/models.py
homeassistant/components/melnor/switch.py
homeassistant/components/message_bird/notify.py
homeassistant/components/met/weather.py
homeassistant/components/met_eireann/__init__.py
@@ -778,9 +786,11 @@ omit =
homeassistant/components/mullvad/binary_sensor.py
homeassistant/components/mutesync/__init__.py
homeassistant/components/mutesync/binary_sensor.py
homeassistant/components/nest/const.py
homeassistant/components/mvglive/sensor.py
homeassistant/components/mycroft/*
homeassistant/components/myq/__init__.py
homeassistant/components/myq/cover.py
homeassistant/components/myq/light.py
homeassistant/components/mysensors/__init__.py
homeassistant/components/mysensors/binary_sensor.py
homeassistant/components/mysensors/climate.py
@@ -796,9 +806,6 @@ omit =
homeassistant/components/mystrom/binary_sensor.py
homeassistant/components/mystrom/light.py
homeassistant/components/mystrom/switch.py
homeassistant/components/myq/__init__.py
homeassistant/components/myq/cover.py
homeassistant/components/myq/light.py
homeassistant/components/nad/media_player.py
homeassistant/components/nanoleaf/__init__.py
homeassistant/components/nanoleaf/button.py
@@ -814,6 +821,7 @@ omit =
homeassistant/components/neato/switch.py
homeassistant/components/neato/vacuum.py
homeassistant/components/nederlandse_spoorwegen/sensor.py
homeassistant/components/nest/const.py
homeassistant/components/nest/legacy/*
homeassistant/components/netdata/sensor.py
homeassistant/components/netgear/__init__.py
@@ -826,36 +834,44 @@ omit =
homeassistant/components/netgear_lte/*
homeassistant/components/netio/switch.py
homeassistant/components/neurio_energy/sensor.py
homeassistant/components/nexia/entity.py
homeassistant/components/nexia/climate.py
homeassistant/components/nexia/entity.py
homeassistant/components/nexia/switch.py
homeassistant/components/nextcloud/*
homeassistant/components/nfandroidtv/__init__.py
homeassistant/components/nfandroidtv/notify.py
homeassistant/components/nibe_heatpump/__init__.py
homeassistant/components/nibe_heatpump/binary_sensor.py
homeassistant/components/nibe_heatpump/number.py
homeassistant/components/nibe_heatpump/select.py
homeassistant/components/nibe_heatpump/sensor.py
homeassistant/components/nibe_heatpump/switch.py
homeassistant/components/niko_home_control/light.py
homeassistant/components/nilu/air_quality.py
homeassistant/components/nissan_leaf/*
homeassistant/components/nmap_tracker/__init__.py
homeassistant/components/nmap_tracker/device_tracker.py
homeassistant/components/nmbs/sensor.py
homeassistant/components/noaa_tides/sensor.py
homeassistant/components/nobo_hub/__init__.py
homeassistant/components/nobo_hub/climate.py
homeassistant/components/norway_air/air_quality.py
homeassistant/components/notify_events/notify.py
homeassistant/components/notion/__init__.py
homeassistant/components/notion/binary_sensor.py
homeassistant/components/notion/sensor.py
homeassistant/components/noaa_tides/sensor.py
homeassistant/components/norway_air/air_quality.py
homeassistant/components/notify_events/notify.py
homeassistant/components/nsw_fuel_station/sensor.py
homeassistant/components/nuki/__init__.py
homeassistant/components/nuki/const.py
homeassistant/components/nuki/binary_sensor.py
homeassistant/components/nuki/const.py
homeassistant/components/nuki/lock.py
homeassistant/components/nut/diagnostics.py
homeassistant/components/nx584/alarm_control_panel.py
homeassistant/components/nzbget/coordinator.py
homeassistant/components/oasa_telematics/sensor.py
homeassistant/components/obihai/*
homeassistant/components/octoprint/__init__.py
homeassistant/components/oem/climate.py
homeassistant/components/oasa_telematics/sensor.py
homeassistant/components/ohmconnect/sensor.py
homeassistant/components/ombi/*
homeassistant/components/omnilogic/__init__.py
@@ -889,8 +905,8 @@ omit =
homeassistant/components/opengarage/entity.py
homeassistant/components/opengarage/sensor.py
homeassistant/components/openhome/__init__.py
homeassistant/components/openhome/media_player.py
homeassistant/components/openhome/const.py
homeassistant/components/openhome/media_player.py
homeassistant/components/opensensemap/air_quality.py
homeassistant/components/opensky/sensor.py
homeassistant/components/opentherm_gw/__init__.py
@@ -915,9 +931,9 @@ omit =
homeassistant/components/overkiz/button.py
homeassistant/components/overkiz/climate.py
homeassistant/components/overkiz/climate_entities/*
homeassistant/components/overkiz/coordinator.py
homeassistant/components/overkiz/cover.py
homeassistant/components/overkiz/cover_entities/*
homeassistant/components/overkiz/coordinator.py
homeassistant/components/overkiz/diagnostics.py
homeassistant/components/overkiz/entity.py
homeassistant/components/overkiz/executor.py
@@ -946,8 +962,8 @@ omit =
homeassistant/components/picotts/tts.py
homeassistant/components/pilight/*
homeassistant/components/ping/__init__.py
homeassistant/components/ping/const.py
homeassistant/components/ping/binary_sensor.py
homeassistant/components/ping/const.py
homeassistant/components/ping/device_tracker.py
homeassistant/components/pioneer/media_player.py
homeassistant/components/pjlink/media_player.py
@@ -966,13 +982,13 @@ omit =
homeassistant/components/point/binary_sensor.py
homeassistant/components/point/sensor.py
homeassistant/components/poolsense/__init__.py
homeassistant/components/poolsense/sensor.py
homeassistant/components/poolsense/binary_sensor.py
homeassistant/components/poolsense/sensor.py
homeassistant/components/powerwall/__init__.py
homeassistant/components/proliphix/climate.py
homeassistant/components/progettihwsw/__init__.py
homeassistant/components/progettihwsw/binary_sensor.py
homeassistant/components/progettihwsw/switch.py
homeassistant/components/proliphix/climate.py
homeassistant/components/prowl/notify.py
homeassistant/components/proxmoxve/*
homeassistant/components/proxy/camera.py
@@ -993,14 +1009,13 @@ omit =
homeassistant/components/rachio/entity.py
homeassistant/components/rachio/switch.py
homeassistant/components/rachio/webhooks.py
homeassistant/components/radarr/sensor.py
homeassistant/components/radio_browser/__init__.py
homeassistant/components/radio_browser/media_source.py
homeassistant/components/radiotherm/__init__.py
homeassistant/components/radiotherm/entity.py
homeassistant/components/radiotherm/climate.py
homeassistant/components/radiotherm/coordinator.py
homeassistant/components/radiotherm/data.py
homeassistant/components/radiotherm/entity.py
homeassistant/components/radiotherm/switch.py
homeassistant/components/radiotherm/util.py
homeassistant/components/rainbird/*
@@ -1009,6 +1024,7 @@ omit =
homeassistant/components/rainmachine/binary_sensor.py
homeassistant/components/rainmachine/button.py
homeassistant/components/rainmachine/model.py
homeassistant/components/rainmachine/select.py
homeassistant/components/rainmachine/sensor.py
homeassistant/components/rainmachine/switch.py
homeassistant/components/rainmachine/update.py
@@ -1021,9 +1037,9 @@ omit =
homeassistant/components/reddit/*
homeassistant/components/rejseplanen/sensor.py
homeassistant/components/remember_the_milk/__init__.py
homeassistant/components/remote_rpi_gpio/*
homeassistant/components/repetier/__init__.py
homeassistant/components/repetier/sensor.py
homeassistant/components/remote_rpi_gpio/*
homeassistant/components/rest/notify.py
homeassistant/components/rest/switch.py
homeassistant/components/rfxtrx/diagnostics.py
@@ -1085,8 +1101,6 @@ omit =
homeassistant/components/sesame/lock.py
homeassistant/components/seven_segments/image_processing.py
homeassistant/components/seventeentrack/sensor.py
homeassistant/components/shiftr/*
homeassistant/components/shodan/sensor.py
homeassistant/components/shelly/__init__.py
homeassistant/components/shelly/binary_sensor.py
homeassistant/components/shelly/climate.py
@@ -1095,15 +1109,26 @@ omit =
homeassistant/components/shelly/number.py
homeassistant/components/shelly/sensor.py
homeassistant/components/shelly/utils.py
homeassistant/components/shiftr/*
homeassistant/components/shodan/sensor.py
homeassistant/components/sia/__init__.py
homeassistant/components/sia/alarm_control_panel.py
homeassistant/components/sia/binary_sensor.py
homeassistant/components/sia/const.py
homeassistant/components/sia/hub.py
homeassistant/components/sia/sia_entity_base.py
homeassistant/components/sia/utils.py
homeassistant/components/sigfox/sensor.py
homeassistant/components/simplepush/__init__.py
homeassistant/components/simplepush/notify.py
homeassistant/components/simplisafe/__init__.py
homeassistant/components/simplisafe/alarm_control_panel.py
homeassistant/components/simplisafe/binary_sensor.py
homeassistant/components/simplisafe/button.py
homeassistant/components/simplisafe/lock.py
homeassistant/components/simplisafe/sensor.py
homeassistant/components/simulated/sensor.py
homeassistant/components/sinch/*
homeassistant/components/sisyphus/*
homeassistant/components/sky_hub/*
homeassistant/components/skybeacon/sensor.py
@@ -1117,15 +1142,9 @@ omit =
homeassistant/components/skybell/switch.py
homeassistant/components/slack/__init__.py
homeassistant/components/slack/notify.py
homeassistant/components/sia/__init__.py
homeassistant/components/sia/alarm_control_panel.py
homeassistant/components/sia/binary_sensor.py
homeassistant/components/sia/const.py
homeassistant/components/sia/hub.py
homeassistant/components/sia/utils.py
homeassistant/components/sia/sia_entity_base.py
homeassistant/components/sinch/*
homeassistant/components/slide/*
homeassistant/components/slimproto/__init__.py
homeassistant/components/slimproto/media_player.py
homeassistant/components/sma/__init__.py
homeassistant/components/sma/sensor.py
homeassistant/components/smappee/__init__.py
@@ -1180,8 +1199,6 @@ omit =
homeassistant/components/spotify/media_player.py
homeassistant/components/spotify/system_health.py
homeassistant/components/spotify/util.py
homeassistant/components/slimproto/__init__.py
homeassistant/components/slimproto/media_player.py
homeassistant/components/squeezebox/__init__.py
homeassistant/components/squeezebox/browse_media.py
homeassistant/components/squeezebox/media_player.py
@@ -1203,22 +1220,29 @@ omit =
homeassistant/components/streamlabswater/*
homeassistant/components/suez_water/*
homeassistant/components/supervisord/sensor.py
homeassistant/components/supla/*
homeassistant/components/surepetcare/__init__.py
homeassistant/components/surepetcare/entity.py
homeassistant/components/surepetcare/binary_sensor.py
homeassistant/components/surepetcare/entity.py
homeassistant/components/surepetcare/sensor.py
homeassistant/components/swiss_hydrological_data/sensor.py
homeassistant/components/swiss_public_transport/sensor.py
homeassistant/components/swisscom/device_tracker.py
homeassistant/components/switchbot/switch.py
homeassistant/components/switchbot/binary_sensor.py
homeassistant/components/switchbee/__init__.py
homeassistant/components/switchbee/button.py
homeassistant/components/switchbee/coordinator.py
homeassistant/components/switchbee/entity.py
homeassistant/components/switchbee/light.py
homeassistant/components/switchbee/switch.py
homeassistant/components/switchbot/__init__.py
homeassistant/components/switchbot/binary_sensor.py
homeassistant/components/switchbot/const.py
homeassistant/components/switchbot/entity.py
homeassistant/components/switchbot/coordinator.py
homeassistant/components/switchbot/cover.py
homeassistant/components/switchbot/entity.py
homeassistant/components/switchbot/light.py
homeassistant/components/switchbot/sensor.py
homeassistant/components/switchbot/coordinator.py
homeassistant/components/switchbot/switch.py
homeassistant/components/switchmate/switch.py
homeassistant/components/syncthing/__init__.py
homeassistant/components/syncthing/sensor.py
@@ -1230,9 +1254,9 @@ omit =
homeassistant/components/synology_dsm/binary_sensor.py
homeassistant/components/synology_dsm/button.py
homeassistant/components/synology_dsm/camera.py
homeassistant/components/synology_dsm/common.py
homeassistant/components/synology_dsm/coordinator.py
homeassistant/components/synology_dsm/diagnostics.py
homeassistant/components/synology_dsm/common.py
homeassistant/components/synology_dsm/entity.py
homeassistant/components/synology_dsm/sensor.py
homeassistant/components/synology_dsm/service.py
@@ -1318,8 +1342,8 @@ omit =
homeassistant/components/totalconnect/const.py
homeassistant/components/touchline/climate.py
homeassistant/components/tplink_lte/*
homeassistant/components/traccar/device_tracker.py
homeassistant/components/traccar/const.py
homeassistant/components/traccar/device_tracker.py
homeassistant/components/tractive/__init__.py
homeassistant/components/tractive/binary_sensor.py
homeassistant/components/tractive/device_tracker.py
@@ -1340,10 +1364,10 @@ omit =
homeassistant/components/trafikverket_weatherstation/__init__.py
homeassistant/components/trafikverket_weatherstation/coordinator.py
homeassistant/components/trafikverket_weatherstation/sensor.py
homeassistant/components/transmission/sensor.py
homeassistant/components/transmission/switch.py
homeassistant/components/transmission/const.py
homeassistant/components/transmission/errors.py
homeassistant/components/transmission/sensor.py
homeassistant/components/transmission/switch.py
homeassistant/components/travisci/sensor.py
homeassistant/components/tuya/__init__.py
homeassistant/components/tuya/alarm_control_panel.py
@@ -1372,21 +1396,20 @@ omit =
homeassistant/components/ubus/device_tracker.py
homeassistant/components/ue_smart_radio/media_player.py
homeassistant/components/ukraine_alarm/__init__.py
homeassistant/components/ukraine_alarm/const.py
homeassistant/components/ukraine_alarm/binary_sensor.py
homeassistant/components/ukraine_alarm/const.py
homeassistant/components/unifiled/*
homeassistant/components/upb/__init__.py
homeassistant/components/upb/const.py
homeassistant/components/upb/light.py
homeassistant/components/upb/scene.py
homeassistant/components/upc_connect/*
homeassistant/components/upcloud/__init__.py
homeassistant/components/upcloud/binary_sensor.py
homeassistant/components/upcloud/switch.py
homeassistant/components/upnp/__init__.py
homeassistant/components/upnp/device.py
homeassistant/components/upnp/sensor.py
homeassistant/components/upc_connect/*
homeassistant/components/uscis/sensor.py
homeassistant/components/vallox/__init__.py
homeassistant/components/vallox/fan.py
homeassistant/components/vallox/sensor.py
@@ -1424,17 +1447,17 @@ omit =
homeassistant/components/vesync/sensor.py
homeassistant/components/vesync/switch.py
homeassistant/components/viaggiatreno/sensor.py
homeassistant/components/vicare/__init__.py
homeassistant/components/vicare/binary_sensor.py
homeassistant/components/vicare/button.py
homeassistant/components/vicare/climate.py
homeassistant/components/vicare/const.py
homeassistant/components/vicare/diagnostics.py
homeassistant/components/vicare/__init__.py
homeassistant/components/vicare/sensor.py
homeassistant/components/vicare/water_heater.py
homeassistant/components/vilfo/__init__.py
homeassistant/components/vilfo/sensor.py
homeassistant/components/vilfo/const.py
homeassistant/components/vilfo/sensor.py
homeassistant/components/vivotek/camera.py
homeassistant/components/vlc/media_player.py
homeassistant/components/vlc_telnet/__init__.py
@@ -1467,8 +1490,8 @@ omit =
homeassistant/components/wiffi/wiffi_strings.py
homeassistant/components/wirelesstag/*
homeassistant/components/wolflink/__init__.py
homeassistant/components/wolflink/sensor.py
homeassistant/components/wolflink/const.py
homeassistant/components/wolflink/sensor.py
homeassistant/components/worldtidesinfo/sensor.py
homeassistant/components/worxlandroid/sensor.py
homeassistant/components/x10/light.py
@@ -1511,12 +1534,6 @@ omit =
homeassistant/components/xiaomi_tv/media_player.py
homeassistant/components/xmpp/notify.py
homeassistant/components/xs1/*
homeassistant/components/yalexs_ble/__init__.py
homeassistant/components/yalexs_ble/binary_sensor.py
homeassistant/components/yalexs_ble/entity.py
homeassistant/components/yalexs_ble/lock.py
homeassistant/components/yalexs_ble/sensor.py
homeassistant/components/yalexs_ble/util.py
homeassistant/components/yale_smart_alarm/__init__.py
homeassistant/components/yale_smart_alarm/alarm_control_panel.py
homeassistant/components/yale_smart_alarm/binary_sensor.py
@@ -1526,6 +1543,12 @@ omit =
homeassistant/components/yale_smart_alarm/diagnostics.py
homeassistant/components/yale_smart_alarm/entity.py
homeassistant/components/yale_smart_alarm/lock.py
homeassistant/components/yalexs_ble/__init__.py
homeassistant/components/yalexs_ble/binary_sensor.py
homeassistant/components/yalexs_ble/entity.py
homeassistant/components/yalexs_ble/lock.py
homeassistant/components/yalexs_ble/sensor.py
homeassistant/components/yalexs_ble/util.py
homeassistant/components/yamaha_musiccast/__init__.py
homeassistant/components/yamaha_musiccast/media_player.py
homeassistant/components/yamaha_musiccast/number.py
@@ -1569,14 +1592,11 @@ omit =
homeassistant/components/zhong_hong/climate.py
homeassistant/components/ziggo_mediabox_xl/media_player.py
homeassistant/components/zoneminder/*
homeassistant/components/supla/*
homeassistant/components/zwave_js/discovery.py
homeassistant/components/zwave_js/sensor.py
homeassistant/components/zwave_me/__init__.py
homeassistant/components/zwave_me/binary_sensor.py
homeassistant/components/zwave_me/button.py
homeassistant/components/zwave_me/cover.py
homeassistant/components/zwave_me/climate.py
homeassistant/components/zwave_me/cover.py
homeassistant/components/zwave_me/fan.py
homeassistant/components/zwave_me/helpers.py
homeassistant/components/zwave_me/light.py
+2 -2
View File
@@ -159,7 +159,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2022.07.0
uses: home-assistant/builder@2022.09.0
with:
args: |
$BUILD_ARGS \
@@ -225,7 +225,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2022.07.0
uses: home-assistant/builder@2022.09.0
with:
args: |
$BUILD_ARGS \
+13 -8
View File
@@ -22,8 +22,11 @@ on:
env:
CACHE_VERSION: 1
PIP_CACHE_VERSION: 1
HA_SHORT_VERSION: 2022.9
DEFAULT_PYTHON: 3.9
HA_SHORT_VERSION: 2022.10
# Pin latest Python patch versions to avoid issues
# with runners using different versions.
DEFAULT_PYTHON: 3.9.14
ALL_PYTHON_VERSIONS: "['3.9.14', '3.10.7']"
PRE_COMMIT_CACHE: ~/.cache/pre-commit
PIP_CACHE: /tmp/pip-cache
SQLALCHEMY_WARN_20: 1
@@ -46,6 +49,7 @@ jobs:
pre-commit_cache_key: ${{ steps.generate_pre-commit_cache_key.outputs.key }}
python_cache_key: ${{ steps.generate_python_cache_key.outputs.key }}
requirements: ${{ steps.core.outputs.requirements }}
python_versions: ${{ steps.info.outputs.python_versions }}
test_full_suite: ${{ steps.info.outputs.test_full_suite }}
test_group_count: ${{ steps.info.outputs.test_group_count }}
test_groups: ${{ steps.info.outputs.test_groups }}
@@ -143,6 +147,8 @@ jobs:
fi
# Output & sent to GitHub Actions
echo "python_versions: ${ALL_PYTHON_VERSIONS}"
echo "::set-output name=python_versions::${ALL_PYTHON_VERSIONS}"
echo "test_full_suite: ${test_full_suite}"
echo "::set-output name=test_full_suite::${test_full_suite}"
echo "integrations_glob: ${integrations_glob}"
@@ -169,7 +175,6 @@ jobs:
uses: actions/setup-python@v4.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
cache: "pip"
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.0.8
@@ -464,7 +469,7 @@ jobs:
timeout-minutes: 60
strategy:
matrix:
python-version: ["3.9", "3.10"]
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v3.0.2
@@ -683,7 +688,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10"]
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
name: Run pip check ${{ matrix.python-version }}
steps:
- name: Check out code from GitHub
@@ -730,7 +735,7 @@ jobs:
fail-fast: false
matrix:
group: ${{ fromJson(needs.info.outputs.test_groups) }}
python-version: ["3.9", "3.10"]
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
name: >-
Run tests Python ${{ matrix.python-version }} (${{ matrix.group }})
steps:
@@ -839,9 +844,9 @@ jobs:
uses: actions/download-artifact@v3
- name: Upload coverage to Codecov (full coverage)
if: needs.info.outputs.test_full_suite == 'true'
uses: codecov/codecov-action@v3.1.0
uses: codecov/codecov-action@v3.1.1
with:
flags: full-suite
- name: Upload coverage to Codecov (partial coverage)
if: needs.info.outputs.test_full_suite == 'false'
uses: codecov/codecov-action@v3.1.0
uses: codecov/codecov-action@v3.1.1
+3 -3
View File
@@ -17,7 +17,7 @@ jobs:
# - No PRs marked as no-stale
# - No issues marked as no-stale or help-wanted
- name: 90 days stale issues & PRs policy
uses: actions/stale@v5
uses: actions/stale@v6.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
@@ -54,7 +54,7 @@ jobs:
# - No PRs marked as no-stale or new-integrations
# - No issues (-1)
- name: 30 days stale PRs policy
uses: actions/stale@v5
uses: actions/stale@v6.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 30
@@ -79,7 +79,7 @@ jobs:
# - No Issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: Needs more information stale issues policy
uses: actions/stale@v5
uses: actions/stale@v6.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
only-labels: "needs-more-information"
+4 -4
View File
@@ -1,17 +1,17 @@
repos:
- repo: https://github.com/asottile/pyupgrade
rev: v2.37.3
rev: v2.38.0
hooks:
- id: pyupgrade
args: [--py39-plus]
- repo: https://github.com/psf/black
rev: 22.6.0
rev: 22.8.0
hooks:
- id: black
args:
- --safe
- --quiet
files: ^((homeassistant|script|tests)/.+)?[^/]+\.py$
files: ^((homeassistant|pylint|script|tests)/.+)?[^/]+\.py$
- repo: https://github.com/codespell-project/codespell
rev: v2.1.0
hooks:
@@ -106,7 +106,7 @@ repos:
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/manifest\.json|pyproject\.toml|\.pre-commit-config\.yaml|script/gen_requirements_all\.py)$
files: ^(homeassistant/.+/manifest\.json|homeassistant/brands/.+\.json|pyproject\.toml|\.pre-commit-config\.yaml|script/gen_requirements_all\.py)$
- id: hassfest
name: hassfest
entry: script/run-in-env.sh python3 -m script.hassfest
+1
View File
@@ -3,3 +3,4 @@
azure-*.yml
docs/source/_templates/*
homeassistant/components/*/translations/*.json
homeassistant/generated/*
+19 -15
View File
@@ -17,6 +17,7 @@ homeassistant.helpers.area_registry
homeassistant.helpers.condition
homeassistant.helpers.debounce
homeassistant.helpers.deprecation
homeassistant.helpers.device_registry
homeassistant.helpers.discovery
homeassistant.helpers.dispatcher
homeassistant.helpers.entity
@@ -38,10 +39,9 @@ homeassistant.util.unit_system
# --- Add components below this line ---
homeassistant.components
homeassistant.components.alert.*
homeassistant.components.abode.*
homeassistant.components.acer_projector.*
homeassistant.components.accuweather.*
homeassistant.components.acer_projector.*
homeassistant.components.actiontec.*
homeassistant.components.adguard.*
homeassistant.components.aftership.*
@@ -51,8 +51,8 @@ homeassistant.components.airvisual.*
homeassistant.components.airzone.*
homeassistant.components.aladdin_connect.*
homeassistant.components.alarm_control_panel.*
homeassistant.components.alert.*
homeassistant.components.amazon_polly.*
homeassistant.components.ambee.*
homeassistant.components.ambient_station.*
homeassistant.components.amcrest.*
homeassistant.components.ampio.*
@@ -77,9 +77,10 @@ homeassistant.components.calendar.*
homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.cover.*
homeassistant.components.crownstone.*
homeassistant.components.cpuspeed.*
homeassistant.components.crownstone.*
homeassistant.components.deconz.*
homeassistant.components.demo.*
homeassistant.components.device_automation.*
homeassistant.components.device_tracker.*
homeassistant.components.devolo_home_control.*
@@ -93,8 +94,8 @@ homeassistant.components.efergy.*
homeassistant.components.elgato.*
homeassistant.components.elkm1.*
homeassistant.components.emulated_hue.*
homeassistant.components.esphome.*
homeassistant.components.energy.*
homeassistant.components.esphome.*
homeassistant.components.evil_genius_labs.*
homeassistant.components.fan.*
homeassistant.components.fastdotcom.*
@@ -102,14 +103,13 @@ homeassistant.components.feedreader.*
homeassistant.components.file_upload.*
homeassistant.components.filesize.*
homeassistant.components.fitbit.*
homeassistant.components.flunearyou.*
homeassistant.components.flux_led.*
homeassistant.components.forecast_solar.*
homeassistant.components.fritz.*
homeassistant.components.fritzbox.*
homeassistant.components.fritzbox_callmonitor.*
homeassistant.components.fronius.*
homeassistant.components.frontend.*
homeassistant.components.fritz.*
homeassistant.components.fully_kiosk.*
homeassistant.components.geo_location.*
homeassistant.components.geocaching.*
@@ -144,12 +144,13 @@ homeassistant.components.homewizard.*
homeassistant.components.http.*
homeassistant.components.huawei_lte.*
homeassistant.components.hyperion.*
homeassistant.components.ibeacon.*
homeassistant.components.image_processing.*
homeassistant.components.input_button.*
homeassistant.components.input_select.*
homeassistant.components.integration.*
homeassistant.components.isy994.*
homeassistant.components.iqvia.*
homeassistant.components.isy994.*
homeassistant.components.jellyfin.*
homeassistant.components.jewish_calendar.*
homeassistant.components.kaleidescape.*
@@ -159,8 +160,8 @@ homeassistant.components.lacrosse_view.*
homeassistant.components.lametric.*
homeassistant.components.laundrify.*
homeassistant.components.lcn.*
homeassistant.components.light.*
homeassistant.components.lifx.*
homeassistant.components.light.*
homeassistant.components.litterrobot.*
homeassistant.components.local_ip.*
homeassistant.components.lock.*
@@ -195,15 +196,15 @@ homeassistant.components.onewire.*
homeassistant.components.open_meteo.*
homeassistant.components.openexchangerates.*
homeassistant.components.openuv.*
homeassistant.components.peco.*
homeassistant.components.overkiz.*
homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
homeassistant.components.powerwall.*
homeassistant.components.proximity.*
homeassistant.components.prusalink.*
homeassistant.components.pvoutput.*
homeassistant.components.pure_energie.*
homeassistant.components.pvoutput.*
homeassistant.components.qnap_qsw.*
homeassistant.components.rainmachine.*
homeassistant.components.rdw.*
@@ -212,6 +213,7 @@ homeassistant.components.recorder.*
homeassistant.components.remote.*
homeassistant.components.renault.*
homeassistant.components.repairs.*
homeassistant.components.rfxtrx.*
homeassistant.components.rhasspy.*
homeassistant.components.ridwell.*
homeassistant.components.rituals_perfume_genie.*
@@ -222,9 +224,9 @@ homeassistant.components.samsungtv.*
homeassistant.components.scene.*
homeassistant.components.schedule.*
homeassistant.components.select.*
homeassistant.components.senseme.*
homeassistant.components.sensibo.*
homeassistant.components.sensor.*
homeassistant.components.senseme.*
homeassistant.components.senz.*
homeassistant.components.shelly.*
homeassistant.components.simplisafe.*
@@ -232,13 +234,14 @@ homeassistant.components.slack.*
homeassistant.components.sleepiq.*
homeassistant.components.smhi.*
homeassistant.components.ssdp.*
homeassistant.components.stookalert.*
homeassistant.components.statistics.*
homeassistant.components.steamist.*
homeassistant.components.stookalert.*
homeassistant.components.stream.*
homeassistant.components.sun.*
homeassistant.components.surepetcare.*
homeassistant.components.switch.*
homeassistant.components.switchbee.*
homeassistant.components.switcher_kis.*
homeassistant.components.synology_dsm.*
homeassistant.components.systemmonitor.*
@@ -247,8 +250,9 @@ homeassistant.components.tailscale.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.tile.*
homeassistant.components.tplink.*
homeassistant.components.tilt_ble.*
homeassistant.components.tolo.*
homeassistant.components.tplink.*
homeassistant.components.tractive.*
homeassistant.components.tradfri.*
homeassistant.components.trafikverket_ferry.*
@@ -277,7 +281,7 @@ homeassistant.components.whois.*
homeassistant.components.wiz.*
homeassistant.components.worldclock.*
homeassistant.components.yale_smart_alarm.*
homeassistant.components.zodiac.*
homeassistant.components.zeroconf.*
homeassistant.components.zodiac.*
homeassistant.components.zone.*
homeassistant.components.zwave_js.*
+29 -10
View File
@@ -61,8 +61,6 @@ build.json @home-assistant/supervisor
/tests/components/alexa/ @home-assistant/cloud @ochlocracy
/homeassistant/components/almond/ @gcampax @balloob
/tests/components/almond/ @gcampax @balloob
/homeassistant/components/ambee/ @frenck
/tests/components/ambee/ @frenck
/homeassistant/components/amberelectric/ @madpilot
/tests/components/amberelectric/ @madpilot
/homeassistant/components/ambiclimate/ @danielhiversen
@@ -80,6 +78,8 @@ build.json @home-assistant/supervisor
/tests/components/anthemav/ @hyralex
/homeassistant/components/apache_kafka/ @bachya
/tests/components/apache_kafka/ @bachya
/homeassistant/components/apcupsd/ @yuxincs
/tests/components/apcupsd/ @yuxincs
/homeassistant/components/api/ @home-assistant/core
/tests/components/api/ @home-assistant/core
/homeassistant/components/apple_tv/ @postlund
@@ -129,6 +129,8 @@ build.json @home-assistant/supervisor
/tests/components/baf/ @bdraco @jfroy
/homeassistant/components/balboa/ @garbled1
/tests/components/balboa/ @garbled1
/homeassistant/components/bayesian/ @HarvsG
/tests/components/bayesian/ @HarvsG
/homeassistant/components/beewi_smartclim/ @alemuro
/homeassistant/components/binary_sensor/ @home-assistant/core
/tests/components/binary_sensor/ @home-assistant/core
@@ -160,7 +162,7 @@ build.json @home-assistant/supervisor
/tests/components/brunt/ @eavanvalkenburg
/homeassistant/components/bsblan/ @liudger
/tests/components/bsblan/ @liudger
/homeassistant/components/bt_smarthub/ @jxwolstenholme
/homeassistant/components/bt_smarthub/ @typhoon2099
/homeassistant/components/bthome/ @Ernst79
/tests/components/bthome/ @Ernst79
/homeassistant/components/buienradar/ @mjj4791 @ties @Robbie1221
@@ -179,8 +181,6 @@ build.json @home-assistant/supervisor
/homeassistant/components/cisco_ios/ @fbradyirl
/homeassistant/components/cisco_mobility_express/ @fbradyirl
/homeassistant/components/cisco_webex_teams/ @fbradyirl
/homeassistant/components/climacell/ @raman325
/tests/components/climacell/ @raman325
/homeassistant/components/climate/ @home-assistant/core
/tests/components/climate/ @home-assistant/core
/homeassistant/components/cloud/ @home-assistant/cloud
@@ -265,7 +265,8 @@ build.json @home-assistant/supervisor
/tests/components/doorbird/ @oblogic7 @bdraco @flacjacket
/homeassistant/components/dsmr/ @Robbie1221 @frenck
/tests/components/dsmr/ @Robbie1221 @frenck
/homeassistant/components/dsmr_reader/ @depl0y
/homeassistant/components/dsmr_reader/ @depl0y @glodenox
/tests/components/dsmr_reader/ @depl0y @glodenox
/homeassistant/components/dunehd/ @bieniu
/tests/components/dunehd/ @bieniu
/homeassistant/components/dwd_weather_warnings/ @runningman84 @stephan192 @Hummel95
@@ -357,8 +358,6 @@ build.json @home-assistant/supervisor
/tests/components/flo/ @dmulcahey
/homeassistant/components/flume/ @ChrisMandich @bdraco @jeeftor
/tests/components/flume/ @ChrisMandich @bdraco @jeeftor
/homeassistant/components/flunearyou/ @bachya
/tests/components/flunearyou/ @bachya
/homeassistant/components/flux_led/ @icemanch @bdraco
/tests/components/flux_led/ @icemanch @bdraco
/homeassistant/components/forecast_solar/ @klaasnicolaas @frenck
@@ -423,6 +422,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/google_assistant/ @home-assistant/cloud
/tests/components/google_assistant/ @home-assistant/cloud
/homeassistant/components/google_cloud/ @lufton
/homeassistant/components/google_sheets/ @tkdrob
/tests/components/google_sheets/ @tkdrob
/homeassistant/components/google_travel_time/ @eifinger
/tests/components/google_travel_time/ @eifinger
/homeassistant/components/govee_ble/ @bdraco
@@ -509,6 +510,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/iammeter/ @lewei50
/homeassistant/components/iaqualink/ @flz
/tests/components/iaqualink/ @flz
/homeassistant/components/ibeacon/ @bdraco
/tests/components/ibeacon/ @bdraco
/homeassistant/components/icloud/ @Quentame @nzapponi
/tests/components/icloud/ @Quentame @nzapponi
/homeassistant/components/ign_sismologia/ @exxamalte
@@ -578,7 +581,11 @@ build.json @home-assistant/supervisor
/homeassistant/components/keenetic_ndms2/ @foxel
/tests/components/keenetic_ndms2/ @foxel
/homeassistant/components/kef/ @basnijholt
/homeassistant/components/kegtron/ @Ernst79
/tests/components/kegtron/ @Ernst79
/homeassistant/components/keyboard_remote/ @bendavid @lanrat
/homeassistant/components/keymitt_ble/ @spycle
/tests/components/keymitt_ble/ @spycle
/homeassistant/components/kmtronic/ @dgomes
/tests/components/kmtronic/ @dgomes
/homeassistant/components/knx/ @Julius2342 @farmio @marvin-w
@@ -608,6 +615,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/led_ble/ @bdraco
/tests/components/led_ble/ @bdraco
/homeassistant/components/lg_netcast/ @Drafteed
/homeassistant/components/lidarr/ @tkdrob
/tests/components/lidarr/ @tkdrob
/homeassistant/components/life360/ @pnbruckner
/tests/components/life360/ @pnbruckner
/homeassistant/components/lifx/ @bdraco @Djelibeybi
@@ -742,6 +751,8 @@ build.json @home-assistant/supervisor
/tests/components/nextdns/ @bieniu
/homeassistant/components/nfandroidtv/ @tkdrob
/tests/components/nfandroidtv/ @tkdrob
/homeassistant/components/nibe_heatpump/ @elupus
/tests/components/nibe_heatpump/ @elupus
/homeassistant/components/nightscout/ @marciogranzotto
/tests/components/nightscout/ @marciogranzotto
/homeassistant/components/nilu/ @hfurubotten
@@ -750,6 +761,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/nissan_leaf/ @filcole
/homeassistant/components/nmbs/ @thibmaek
/homeassistant/components/noaa_tides/ @jdelaney72
/homeassistant/components/nobo_hub/ @echoromeo @oyvindwe
/tests/components/nobo_hub/ @echoromeo @oyvindwe
/homeassistant/components/notify/ @home-assistant/core
/tests/components/notify/ @home-assistant/core
/homeassistant/components/notify_events/ @matrozov @papajojo
@@ -867,8 +880,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/pvpc_hourly_pricing/ @azogue
/tests/components/pvpc_hourly_pricing/ @azogue
/homeassistant/components/qbittorrent/ @geoffreylagaisse
/homeassistant/components/qingping/ @bdraco
/tests/components/qingping/ @bdraco
/homeassistant/components/qingping/ @bdraco @skgsergio
/tests/components/qingping/ @bdraco @skgsergio
/homeassistant/components/qld_bushfire/ @exxamalte
/tests/components/qld_bushfire/ @exxamalte
/homeassistant/components/qnap_qsw/ @Noltari
@@ -879,6 +892,8 @@ build.json @home-assistant/supervisor
/tests/components/qwikswitch/ @kellerza
/homeassistant/components/rachio/ @bdraco
/tests/components/rachio/ @bdraco
/homeassistant/components/radarr/ @tkdrob
/tests/components/radarr/ @tkdrob
/homeassistant/components/radio_browser/ @frenck
/tests/components/radio_browser/ @frenck
/homeassistant/components/radiotherm/ @bdraco @vinnyfuria
@@ -1085,6 +1100,8 @@ build.json @home-assistant/supervisor
/tests/components/switch/ @home-assistant/core
/homeassistant/components/switch_as_x/ @home-assistant/core
/tests/components/switch_as_x/ @home-assistant/core
/homeassistant/components/switchbee/ @jafar-atili
/tests/components/switchbee/ @jafar-atili
/homeassistant/components/switchbot/ @bdraco @danielhiversen @RenierM26 @murtas @Eloston
/tests/components/switchbot/ @bdraco @danielhiversen @RenierM26 @murtas @Eloston
/homeassistant/components/switcher_kis/ @tomerfi @thecode
@@ -1130,6 +1147,8 @@ build.json @home-assistant/supervisor
/tests/components/tibber/ @danielhiversen
/homeassistant/components/tile/ @bachya
/tests/components/tile/ @bachya
/homeassistant/components/tilt_ble/ @apt-itude
/tests/components/tilt_ble/ @apt-itude
/homeassistant/components/time_date/ @fabaff
/tests/components/time_date/ @fabaff
/homeassistant/components/tmb/ @alemuro
+1 -1
View File
@@ -26,7 +26,7 @@ from . import (
SetupFlow,
)
REQUIREMENTS = ["pyotp==2.6.0"]
REQUIREMENTS = ["pyotp==2.7.0"]
CONF_MESSAGE = "message"
+1 -1
View File
@@ -19,7 +19,7 @@ from . import (
SetupFlow,
)
REQUIREMENTS = ["pyotp==2.6.0", "PyQRCode==1.2.1"]
REQUIREMENTS = ["pyotp==2.7.0", "PyQRCode==1.2.1"]
CONFIG_SCHEMA = MULTI_FACTOR_AUTH_MODULE_SCHEMA.extend({}, extra=vol.PREVENT_EXTRA)
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "amazon",
"name": "Amazon",
"integrations": ["alexa", "amazon_polly", "aws", "route53"]
}
+12
View File
@@ -0,0 +1,12 @@
{
"domain": "apple",
"name": "Apple",
"integrations": [
"apple_tv",
"homekit_controller",
"homekit",
"ibeacon",
"icloud",
"itunes"
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "aruba",
"name": "Aruba",
"integrations": ["aruba", "cppm_tracker"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "asterisk",
"name": "Asterisk",
"integrations": ["asterisk_cdr", "asterisk_mbox"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "august",
"name": "August Home",
"integrations": ["august", "yalexs_ble"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "cisco",
"name": "Cisco",
"integrations": ["cisco_ios", "cisco_mobility_express", "cisco_webex_teams"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "clicksend",
"name": "ClickSend",
"integrations": ["clicksend", "clicksend_tts"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "denon",
"name": "Denon",
"integrations": ["denon", "denonavr", "heos"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "devolo",
"name": "devolo",
"integrations": ["devolo_home_control", "devolo_home_network"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "dlna",
"name": "DLNA",
"integrations": ["dlna_dmr", "dlna_dms"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "elgato",
"name": "Elgato",
"integrations": ["avea", "elgato"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "emoncms",
"name": "emoncms",
"integrations": ["emoncms", "emoncms_history"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "epson",
"name": "Epson",
"integrations": ["epson", "epsonworkforce"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "eq3",
"name": "eQ-3",
"integrations": ["eq3btsmart", "maxcube"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "ffmpeg",
"name": "FFmpeg",
"integrations": ["ffmpeg", "ffmpeg_motion", "ffmpeg_noise"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "fritzbox",
"name": "FRITZ!Box",
"integrations": ["fritz", "fritzbox", "fritzbox_callmonitor"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "geonet",
"name": "GeoNet",
"integrations": ["geonetnz_quakes", "geonetnz_volcano"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "globalcache",
"name": "Global Caché",
"integrations": ["gc100", "itach"]
}
+20
View File
@@ -0,0 +1,20 @@
{
"domain": "google",
"name": "Google",
"integrations": [
"google_assistant",
"google_cloud",
"google_domains",
"google_maps",
"google_pubsub",
"google_sheets",
"google_translate",
"google_travel_time",
"google_wifi",
"google",
"nest",
"cast",
"hangouts",
"dialogflow"
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "hikvision",
"name": "Hikvision",
"integrations": ["hikvision", "hikvisioncam"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "homematic",
"name": "Homematic",
"integrations": ["homematic", "homematicip_cloud"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "honeywell",
"name": "Honeywell",
"integrations": ["lyric", "evohome", "honeywell"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "ibm",
"name": "IBM",
"integrations": ["watson_iot", "watson_tts"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "inovelli",
"name": "Inovelli",
"iot_standards": ["zigbee", "zwave"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "jasco",
"name": "Jasco",
"iot_standards": ["zwave"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "leviton",
"name": "Leviton",
"iot_standards": ["zwave"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "lg",
"name": "LG",
"integrations": ["lg_netcast", "lg_soundbar", "webostv"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "logitech",
"name": "Logitech",
"integrations": ["harmony", "ue_smart_radio", "squeezebox"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "lutron",
"name": "Lutron",
"integrations": ["lutron", "lutron_caseta", "homeworks"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "melnor",
"name": "Melnor",
"integrations": ["melnor", "raincloud"]
}
+16
View File
@@ -0,0 +1,16 @@
{
"domain": "microsoft",
"name": "Microsoft",
"integrations": [
"azure_devops",
"azure_event_hub",
"azure_service_bus",
"microsoft_face_detect",
"microsoft_face_identify",
"microsoft_face",
"microsoft",
"msteams",
"xbox",
"xbox_live"
]
}
+12
View File
@@ -0,0 +1,12 @@
{
"domain": "mqtt",
"name": "MQTT",
"integrations": [
"manual_mqtt",
"mqtt",
"mqtt_eventstream",
"mqtt_json",
"mqtt_room",
"mqtt_statestream"
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "netgear",
"name": "NETGEAR",
"integrations": ["netgear", "netgear_lte"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "openwrt",
"name": "OpenWrt",
"integrations": ["luci", "ubus"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "panasonic",
"name": "Panasonic",
"integrations": ["panasonic_bluray", "panasonic_viera"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "philips",
"name": "Philips",
"integrations": ["dynalite", "hue", "philips_js"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "qnap",
"name": "QNAP",
"integrations": ["qnap", "qnap_qsw"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "raspberry_pi",
"name": "Raspberry Pi",
"integrations": ["rpi_camera", "rpi_power", "remote_rpi_gpio"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "russound",
"name": "Russound",
"integrations": ["russound_rio", "russound_rnet"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "samsung",
"name": "Samsung",
"integrations": ["familyhub", "samsungtv", "syncthru"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "solaredge",
"name": "SolarEdge",
"integrations": ["solaredge", "solaredge_local"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "sony",
"name": "Sony",
"integrations": ["braviatv", "ps4", "sony_projector", "songpal"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "synology",
"name": "Synology",
"integrations": ["synology_chat", "synology_dsm", "synology_srm"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "telegram",
"name": "Telegram",
"integrations": ["telegram", "telegram_bot"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "telldus",
"name": "Telldus",
"integrations": ["tellduslive", "tellstick"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "tesla",
"name": "Tesla",
"integrations": ["powerwall", "tesla_wall_connector"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "third_reality",
"name": "Third Reality",
"iot_standards": ["zigbee"]
}
+9
View File
@@ -0,0 +1,9 @@
{
"domain": "trafikverket",
"name": "Trafikverket",
"integrations": [
"trafikverket_ferry",
"trafikverket_train",
"trafikverket_weatherstation"
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "twilio",
"name": "Twilio",
"integrations": ["twilio", "twilio_call", "twilio_sms"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "u_tec",
"name": "U-tec",
"iot_standards": ["zwave"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "ubiquiti",
"name": "Ubiquiti",
"integrations": ["unifi", "unifi_direct", "unifiled", "unifiprotect"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "vlc",
"name": "VideoLAN",
"integrations": ["vlc", "vlc_telnet"]
}
+11
View File
@@ -0,0 +1,11 @@
{
"domain": "xiaomi",
"name": "Xiaomi",
"integrations": [
"xiaomi_aqara",
"xiaomi_ble",
"xiaomi_miio",
"xiaomi_tv",
"xiaomi"
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "yale",
"name": "Yale",
"integrations": ["august", "yale_smart_alarm", "yalexs_ble"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "yandex",
"name": "Yandex",
"integrations": ["yandex_transport", "yandextts"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "yeelight",
"name": "Yeelight",
"integrations": ["yeelight", "yeelightsunflower"]
}
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "zooz",
"name": "Zooz",
"iot_standards": ["zwave"]
}
@@ -1,7 +1,7 @@
{
"config": {
"abort": {
"reauth_successful": "La reautenticaci\u00f3n se realiz\u00f3 correctamente",
"reauth_successful": "La autenticaci\u00f3n se volvi\u00f3 a realizar correctamente",
"single_instance_allowed": "Ya est\u00e1 configurado. Solo es posible una \u00fanica configuraci\u00f3n."
},
"error": {
@@ -6,20 +6,29 @@
},
"error": {
"cannot_connect": "Falha na liga\u00e7\u00e3o",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida"
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida",
"invalid_mfa_code": "C\u00f3digo MFA inv\u00e1lido"
},
"step": {
"mfa": {
"data": {
"mfa_code": "C\u00f3digo MFA (6 d\u00edgitos)"
},
"title": "Introduza seu c\u00f3digo MFA para Abode"
},
"reauth_confirm": {
"data": {
"password": "Palavra-passe",
"username": "Email"
}
},
"title": "Preencha as informa\u00e7\u00f5es de login de Abode"
},
"user": {
"data": {
"password": "Palavra-passe",
"username": "Email"
}
},
"title": "Preencha as informa\u00e7\u00f5es de login de Abode"
}
}
}
@@ -17,5 +17,14 @@
}
}
}
},
"options": {
"step": {
"user": {
"data": {
"forecast": "\u041f\u0440\u043e\u0433\u043d\u043e\u0437\u0430 \u0437\u0430 \u0432\u0440\u0435\u043c\u0435\u0442\u043e"
}
}
}
}
}
@@ -8,7 +8,8 @@
},
"error": {
"cannot_connect": "Falha na liga\u00e7\u00e3o",
"invalid_api_key": "Chave de API inv\u00e1lida"
"invalid_api_key": "Chave de API inv\u00e1lida",
"requests_exceeded": "O n\u00famero permitido de pedidos \u00e0 API do Accuweather foi excedido. \u00c9 necess\u00e1rio aguardar ou alterar a chave API."
},
"step": {
"user": {
@@ -26,8 +27,15 @@
"user": {
"data": {
"forecast": "Previs\u00e3o meteorol\u00f3gica"
}
},
"description": "Devido \u00e0s limita\u00e7\u00f5es da vers\u00e3o gratuita da chave AccuWeather API, quando se activa a previs\u00e3o do tempo, as actualiza\u00e7\u00f5es de dados ser\u00e3o realizadas a cada 80 minutos em vez de a cada 40 minutos."
}
}
},
"system_health": {
"info": {
"can_reach_server": "Alcance o servidor AccuWeather",
"remaining_requests": "Pedidos permitidos restantes"
}
}
}
@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "A decrescer",
"rising": "A aumentar",
"steady": "Est\u00e1vel"
}
}
}
@@ -2,6 +2,13 @@
"config": {
"abort": {
"no_devices_found": "Nenhum dispositivo encontrado na rede"
},
"step": {
"user": {
"data": {
"id": "ID do anfitri\u00e3o"
}
}
}
}
}
@@ -31,7 +31,9 @@ PLATFORM_SCHEMA: Final = BASE_PLATFORM_SCHEMA.extend(
)
def get_scanner(hass: HomeAssistant, config: ConfigType) -> DeviceScanner | None:
def get_scanner(
hass: HomeAssistant, config: ConfigType
) -> ActiontecDeviceScanner | None:
"""Validate the configuration and return an Actiontec scanner."""
scanner = ActiontecDeviceScanner(config[DOMAIN])
return scanner if scanner.success_init else None
+5 -2
View File
@@ -6,8 +6,11 @@ from typing import Any
from adax import Adax
from adax_local import Adax as AdaxLocal
from homeassistant.components.climate import ClimateEntity
from homeassistant.components.climate.const import ClimateEntityFeature, HVACMode
from homeassistant.components.climate import (
ClimateEntity,
ClimateEntityFeature,
HVACMode,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_TEMPERATURE,
@@ -1,6 +1,9 @@
{
"config": {
"abort": {
"already_configured": "DIspositivo j\u00e1 est\u00e1 configurado",
"heater_not_available": "Aquecedor n\u00e3o dispon\u00edvel. Tente reiniciar o aquecedor premindo + e OK durante alguns segundos.",
"heater_not_found": "Aquecedor n\u00e3o encontrado. Tente mover o aquecedor para mais perto do computador com Home Assistant.",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida"
},
"error": {
@@ -9,8 +12,22 @@
"step": {
"cloud": {
"data": {
"account_id": "ID da conta",
"password": "Palavra-passe"
}
},
"local": {
"data": {
"wifi_pswd": "Senha Wi-Fi",
"wifi_ssid": "Wi-Fi SSID"
},
"description": "Reiniciar o aquecedor premindo + e OK at\u00e9 a visualiza\u00e7\u00e3o mostrar 'Reiniciar'. Depois premir e manter premido o bot\u00e3o OK no aquecedor at\u00e9 que o led azul comece a piscar antes de premir Submeter. A configura\u00e7\u00e3o do aquecedor pode demorar alguns minutos."
},
"user": {
"data": {
"connection_type": "Selecione o tipo de liga\u00e7\u00e3o"
},
"description": "Selecione o tipo de liga\u00e7\u00e3o. 'Local' requer aquecedores com bluetooth"
}
}
}
@@ -8,7 +8,8 @@
},
"step": {
"hassio_confirm": {
"title": "AdGuard Home via Supervisor add-on"
"description": "Deseja configurar o Home Assistant para se ligar ao AdGuard Home fornecido pelo add-on: {addon}?",
"title": "AdGuard Home via add-on Supervisor"
},
"user": {
"data": {
@@ -7,6 +7,7 @@ from advantage_air import ApiError, advantage_air
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT, Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@@ -60,7 +61,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
if await func(param):
await coordinator.async_refresh()
except ApiError as err:
_LOGGER.warning(err)
raise HomeAssistantError(err) from err
return error_handle
@@ -69,8 +70,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
hass.data.setdefault(DOMAIN, {})
hass.data[DOMAIN][entry.entry_id] = {
"coordinator": coordinator,
"async_change": error_handle_factory(api.aircon.async_set),
"async_set_light": error_handle_factory(api.lights.async_set),
"aircon": error_handle_factory(api.aircon.async_set),
"lights": error_handle_factory(api.lights.async_set),
}
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
@@ -1,6 +1,8 @@
"""Binary Sensor platform for Advantage Air integration."""
from __future__ import annotations
from typing import Any
from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
BinarySensorEntity,
@@ -26,15 +28,16 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities: list[BinarySensorEntity] = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
entities.append(AdvantageAirFilter(instance, ac_key))
for zone_key, zone in ac_device["zones"].items():
# Only add motion sensor when motion is enabled
if zone["motionConfig"] >= 2:
entities.append(AdvantageAirZoneMotion(instance, ac_key, zone_key))
# Only add MyZone if it is available
if zone["type"] != 0:
entities.append(AdvantageAirZoneMyZone(instance, ac_key, zone_key))
if aircons := instance["coordinator"].data.get("aircons"):
for ac_key, ac_device in aircons.items():
entities.append(AdvantageAirFilter(instance, ac_key))
for zone_key, zone in ac_device["zones"].items():
# Only add motion sensor when motion is enabled
if zone["motionConfig"] >= 2:
entities.append(AdvantageAirZoneMotion(instance, ac_key, zone_key))
# Only add MyZone if it is available
if zone["type"] != 0:
entities.append(AdvantageAirZoneMyZone(instance, ac_key, zone_key))
async_add_entities(entities)
@@ -45,13 +48,13 @@ class AdvantageAirFilter(AdvantageAirAcEntity, BinarySensorEntity):
_attr_entity_category = EntityCategory.DIAGNOSTIC
_attr_name = "Filter"
def __init__(self, instance, ac_key):
def __init__(self, instance: dict[str, Any], ac_key: str) -> None:
"""Initialize an Advantage Air Filter sensor."""
super().__init__(instance, ac_key)
self._attr_unique_id += "-filter"
@property
def is_on(self):
def is_on(self) -> bool:
"""Return if filter needs cleaning."""
return self._ac["filterCleanStatus"]
@@ -61,14 +64,14 @@ class AdvantageAirZoneMotion(AdvantageAirZoneEntity, BinarySensorEntity):
_attr_device_class = BinarySensorDeviceClass.MOTION
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Motion sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} motion'
self._attr_unique_id += "-motion"
@property
def is_on(self):
def is_on(self) -> bool:
"""Return if motion is detect."""
return self._zone["motion"] == 20
@@ -79,13 +82,13 @@ class AdvantageAirZoneMyZone(AdvantageAirZoneEntity, BinarySensorEntity):
_attr_entity_registry_enabled_default = False
_attr_entity_category = EntityCategory.DIAGNOSTIC
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone MyZone sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} myZone'
self._attr_unique_id += "-myzone"
@property
def is_on(self):
def is_on(self) -> bool:
"""Return if this zone is the myZone."""
return self._zone["number"] == self._ac["myZone"]
@@ -4,12 +4,12 @@ from __future__ import annotations
import logging
from typing import Any
from homeassistant.components.climate import ClimateEntity
from homeassistant.components.climate.const import (
from homeassistant.components.climate import (
FAN_AUTO,
FAN_HIGH,
FAN_LOW,
FAN_MEDIUM,
ClimateEntity,
ClimateEntityFeature,
HVACMode,
)
@@ -70,12 +70,13 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities: list[ClimateEntity] = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
entities.append(AdvantageAirAC(instance, ac_key))
for zone_key, zone in ac_device["zones"].items():
# Only add zone climate control when zone is in temperature control
if zone["type"] != 0:
entities.append(AdvantageAirZone(instance, ac_key, zone_key))
if aircons := instance["coordinator"].data.get("aircons"):
for ac_key, ac_device in aircons.items():
entities.append(AdvantageAirAC(instance, ac_key))
for zone_key, zone in ac_device["zones"].items():
# Only add zone climate control when zone is in temperature control
if zone["type"] != 0:
entities.append(AdvantageAirZone(instance, ac_key, zone_key))
async_add_entities(entities)
@@ -92,37 +93,37 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
ClimateEntityFeature.TARGET_TEMPERATURE | ClimateEntityFeature.FAN_MODE
)
def __init__(self, instance, ac_key):
def __init__(self, instance: dict[str, Any], ac_key: str) -> None:
"""Initialize an AdvantageAir AC unit."""
super().__init__(instance, ac_key)
if self._ac.get("myAutoModeEnabled"):
self._attr_hvac_modes = AC_HVAC_MODES + [HVACMode.AUTO]
@property
def target_temperature(self):
def target_temperature(self) -> float:
"""Return the current target temperature."""
return self._ac["setTemp"]
@property
def hvac_mode(self):
def hvac_mode(self) -> HVACMode | None:
"""Return the current HVAC modes."""
if self._ac["state"] == ADVANTAGE_AIR_STATE_ON:
return ADVANTAGE_AIR_HVAC_MODES.get(self._ac["mode"])
return HVACMode.OFF
@property
def fan_mode(self):
def fan_mode(self) -> str | None:
"""Return the current fan modes."""
return ADVANTAGE_AIR_FAN_MODES.get(self._ac["fan"])
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
"""Set the HVAC Mode and State."""
if hvac_mode == HVACMode.OFF:
await self.async_change(
await self.aircon(
{self.ac_key: {"info": {"state": ADVANTAGE_AIR_STATE_OFF}}}
)
else:
await self.async_change(
await self.aircon(
{
self.ac_key: {
"info": {
@@ -135,14 +136,14 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
async def async_set_fan_mode(self, fan_mode: str) -> None:
"""Set the Fan Mode."""
await self.async_change(
await self.aircon(
{self.ac_key: {"info": {"fan": HASS_FAN_MODES.get(fan_mode)}}}
)
async def async_set_temperature(self, **kwargs: Any) -> None:
"""Set the Temperature."""
temp = kwargs.get(ATTR_TEMPERATURE)
await self.async_change({self.ac_key: {"info": {"setTemp": temp}}})
await self.aircon({self.ac_key: {"info": {"setTemp": temp}}})
class AdvantageAirZone(AdvantageAirZoneEntity, ClimateEntity):
@@ -155,7 +156,7 @@ class AdvantageAirZone(AdvantageAirZoneEntity, ClimateEntity):
_attr_hvac_modes = ZONE_HVAC_MODES
_attr_supported_features = ClimateEntityFeature.TARGET_TEMPERATURE
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an AdvantageAir Zone control."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = self._zone["name"]
@@ -164,26 +165,26 @@ class AdvantageAirZone(AdvantageAirZoneEntity, ClimateEntity):
)
@property
def hvac_mode(self):
def hvac_mode(self) -> HVACMode:
"""Return the current state as HVAC mode."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return HVACMode.HEAT_COOL
return HVACMode.OFF
@property
def current_temperature(self):
def current_temperature(self) -> float:
"""Return the current temperature."""
return self._zone["measuredTemp"]
@property
def target_temperature(self):
def target_temperature(self) -> float:
"""Return the target temperature."""
return self._zone["setTemp"]
async def async_set_hvac_mode(self, hvac_mode: HVACMode) -> None:
"""Set the HVAC Mode and State."""
if hvac_mode == HVACMode.OFF:
await self.async_change(
await self.aircon(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_CLOSE}}
@@ -191,7 +192,7 @@ class AdvantageAirZone(AdvantageAirZoneEntity, ClimateEntity):
}
)
else:
await self.async_change(
await self.aircon(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_OPEN}}
@@ -202,6 +203,4 @@ class AdvantageAirZone(AdvantageAirZoneEntity, ClimateEntity):
async def async_set_temperature(self, **kwargs: Any) -> None:
"""Set the Temperature."""
temp = kwargs.get(ATTR_TEMPERATURE)
await self.async_change(
{self.ac_key: {"zones": {self.zone_key: {"setTemp": temp}}}}
)
await self.aircon({self.ac_key: {"zones": {self.zone_key: {"setTemp": temp}}}})
@@ -1,9 +1,14 @@
"""Config Flow for Advantage Air integration."""
from __future__ import annotations
from typing import Any
from advantage_air import ApiError, advantage_air
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.const import CONF_IP_ADDRESS, CONF_PORT
from homeassistant.data_entry_flow import FlowResult
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import ADVANTAGE_AIR_RETRY, DOMAIN
@@ -25,7 +30,9 @@ class AdvantageAirConfigFlow(config_entries.ConfigFlow, domain=DOMAIN):
DOMAIN = DOMAIN
async def async_step_user(self, user_input=None):
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
"""Get configuration from the user."""
errors = {}
if user_input:
+12 -11
View File
@@ -30,12 +30,13 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
for zone_key, zone in ac_device["zones"].items():
# Only add zone vent controls when zone in vent control mode.
if zone["type"] == 0:
entities.append(AdvantageAirZoneVent(instance, ac_key, zone_key))
entities: list[CoverEntity] = []
if aircons := instance["coordinator"].data.get("aircons"):
for ac_key, ac_device in aircons.items():
for zone_key, zone in ac_device["zones"].items():
# Only add zone vent controls when zone in vent control mode.
if zone["type"] == 0:
entities.append(AdvantageAirZoneVent(instance, ac_key, zone_key))
async_add_entities(entities)
@@ -49,7 +50,7 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, CoverEntity):
| CoverEntityFeature.SET_POSITION
)
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Vent."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = self._zone["name"]
@@ -68,7 +69,7 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, CoverEntity):
async def async_open_cover(self, **kwargs: Any) -> None:
"""Fully open zone vent."""
await self.async_change(
await self.aircon(
{
self.ac_key: {
"zones": {
@@ -80,7 +81,7 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, CoverEntity):
async def async_close_cover(self, **kwargs: Any) -> None:
"""Fully close zone vent."""
await self.async_change(
await self.aircon(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_CLOSE}}
@@ -92,7 +93,7 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, CoverEntity):
"""Change vent position."""
position = round(kwargs[ATTR_POSITION] / 5) * 5
if position == 0:
await self.async_change(
await self.aircon(
{
self.ac_key: {
"zones": {self.zone_key: {"state": ADVANTAGE_AIR_STATE_CLOSE}}
@@ -100,7 +101,7 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, CoverEntity):
}
)
else:
await self.async_change(
await self.aircon(
{
self.ac_key: {
"zones": {
@@ -1,5 +1,7 @@
"""Advantage Air parent entity class."""
from typing import Any
from homeassistant.helpers.entity import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity
@@ -11,20 +13,20 @@ class AdvantageAirEntity(CoordinatorEntity):
_attr_has_entity_name = True
def __init__(self, instance):
def __init__(self, instance: dict[str, Any]) -> None:
"""Initialize common aspects of an Advantage Air entity."""
super().__init__(instance["coordinator"])
self._attr_unique_id = self.coordinator.data["system"]["rid"]
self._attr_unique_id: str = self.coordinator.data["system"]["rid"]
class AdvantageAirAcEntity(AdvantageAirEntity):
"""Parent class for Advantage Air AC Entities."""
def __init__(self, instance, ac_key):
def __init__(self, instance: dict[str, Any], ac_key: str) -> None:
"""Initialize common aspects of an Advantage Air ac entity."""
super().__init__(instance)
self.async_change = instance["async_change"]
self.ac_key = ac_key
self.aircon = instance["aircon"]
self.ac_key: str = ac_key
self._attr_unique_id += f"-{ac_key}"
self._attr_device_info = DeviceInfo(
@@ -36,19 +38,19 @@ class AdvantageAirAcEntity(AdvantageAirEntity):
)
@property
def _ac(self):
def _ac(self) -> dict[str, Any]:
return self.coordinator.data["aircons"][self.ac_key]["info"]
class AdvantageAirZoneEntity(AdvantageAirAcEntity):
"""Parent class for Advantage Air Zone Entities."""
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize common aspects of an Advantage Air zone entity."""
super().__init__(instance, ac_key)
self.zone_key = zone_key
self.zone_key: str = zone_key
self._attr_unique_id += f"-{zone_key}"
@property
def _zone(self):
def _zone(self) -> dict[str, Any]:
return self.coordinator.data["aircons"][self.ac_key]["zones"][self.zone_key]
+11 -11
View File
@@ -24,9 +24,9 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
if "myLights" in instance["coordinator"].data:
for light in instance["coordinator"].data["myLights"]["lights"].values():
entities: list[LightEntity] = []
if my_lights := instance["coordinator"].data.get("myLights"):
for light in my_lights["lights"].values():
if light.get("relay"):
entities.append(AdvantageAirLight(instance, light))
else:
@@ -39,11 +39,11 @@ class AdvantageAirLight(AdvantageAirEntity, LightEntity):
_attr_supported_color_modes = {ColorMode.ONOFF}
def __init__(self, instance, light):
def __init__(self, instance: dict[str, Any], light: dict[str, Any]) -> None:
"""Initialize an Advantage Air Light."""
super().__init__(instance)
self.async_set_light = instance["async_set_light"]
self._id = light["id"]
self.lights = instance["lights"]
self._id: str = light["id"]
self._attr_unique_id += f"-{self._id}"
self._attr_device_info = DeviceInfo(
identifiers={(ADVANTAGE_AIR_DOMAIN, self._attr_unique_id)},
@@ -54,7 +54,7 @@ class AdvantageAirLight(AdvantageAirEntity, LightEntity):
)
@property
def _light(self):
def _light(self) -> dict[str, Any]:
"""Return the light object."""
return self.coordinator.data["myLights"]["lights"][self._id]
@@ -65,11 +65,11 @@ class AdvantageAirLight(AdvantageAirEntity, LightEntity):
async def async_turn_on(self, **kwargs: Any) -> None:
"""Turn the light on."""
await self.async_set_light({"id": self._id, "state": ADVANTAGE_AIR_STATE_ON})
await self.lights({"id": self._id, "state": ADVANTAGE_AIR_STATE_ON})
async def async_turn_off(self, **kwargs: Any) -> None:
"""Turn the light off."""
await self.async_set_light({"id": self._id, "state": ADVANTAGE_AIR_STATE_OFF})
await self.lights({"id": self._id, "state": ADVANTAGE_AIR_STATE_OFF})
class AdvantageAirLightDimmable(AdvantageAirLight):
@@ -84,7 +84,7 @@ class AdvantageAirLightDimmable(AdvantageAirLight):
async def async_turn_on(self, **kwargs: Any) -> None:
"""Turn the light on and optionally set the brightness."""
data = {"id": self._id, "state": ADVANTAGE_AIR_STATE_ON}
data: dict[str, Any] = {"id": self._id, "state": ADVANTAGE_AIR_STATE_ON}
if ATTR_BRIGHTNESS in kwargs:
data["value"] = round(kwargs[ATTR_BRIGHTNESS] * 100 / 255)
await self.async_set_light(data)
await self.lights(data)
@@ -1,4 +1,6 @@
"""Select platform for Advantage Air integration."""
from typing import Any
from homeassistant.components.select import SelectEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
@@ -19,9 +21,10 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key in instance["coordinator"].data["aircons"]:
entities.append(AdvantageAirMyZone(instance, ac_key))
entities: list[SelectEntity] = []
if aircons := instance["coordinator"].data.get("aircons"):
for ac_key in aircons:
entities.append(AdvantageAirMyZone(instance, ac_key))
async_add_entities(entities)
@@ -31,7 +34,7 @@ class AdvantageAirMyZone(AdvantageAirAcEntity, SelectEntity):
_attr_icon = "mdi:home-thermometer"
_attr_name = "MyZone"
def __init__(self, instance, ac_key):
def __init__(self, instance: dict[str, Any], ac_key: str) -> None:
"""Initialize an Advantage Air MyZone control."""
super().__init__(instance, ac_key)
self._attr_unique_id += "-myzone"
@@ -52,6 +55,6 @@ class AdvantageAirMyZone(AdvantageAirAcEntity, SelectEntity):
async def async_select_option(self, option: str) -> None:
"""Set the MyZone."""
await self.async_change(
await self.aircon(
{self.ac_key: {"info": {"myZone": self._name_to_number[option]}}}
)
@@ -1,6 +1,9 @@
"""Sensor platform for Advantage Air integration."""
from __future__ import annotations
from decimal import Decimal
from typing import Any
import voluptuous as vol
from homeassistant.components.sensor import (
@@ -35,17 +38,18 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities: list[SensorEntity] = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
entities.append(AdvantageAirTimeTo(instance, ac_key, "On"))
entities.append(AdvantageAirTimeTo(instance, ac_key, "Off"))
for zone_key, zone in ac_device["zones"].items():
# Only show damper and temp sensors when zone is in temperature control
if zone["type"] != 0:
entities.append(AdvantageAirZoneVent(instance, ac_key, zone_key))
entities.append(AdvantageAirZoneTemp(instance, ac_key, zone_key))
# Only show wireless signal strength sensors when using wireless sensors
if zone["rssi"] > 0:
entities.append(AdvantageAirZoneSignal(instance, ac_key, zone_key))
if aircons := instance["coordinator"].data.get("aircons"):
for ac_key, ac_device in aircons.items():
entities.append(AdvantageAirTimeTo(instance, ac_key, "On"))
entities.append(AdvantageAirTimeTo(instance, ac_key, "Off"))
for zone_key, zone in ac_device["zones"].items():
# Only show damper and temp sensors when zone is in temperature control
if zone["type"] != 0:
entities.append(AdvantageAirZoneVent(instance, ac_key, zone_key))
entities.append(AdvantageAirZoneTemp(instance, ac_key, zone_key))
# Only show wireless signal strength sensors when using wireless sensors
if zone["rssi"] > 0:
entities.append(AdvantageAirZoneSignal(instance, ac_key, zone_key))
async_add_entities(entities)
platform = entity_platform.async_get_current_platform()
@@ -62,7 +66,7 @@ class AdvantageAirTimeTo(AdvantageAirAcEntity, SensorEntity):
_attr_native_unit_of_measurement = ADVANTAGE_AIR_SET_COUNTDOWN_UNIT
_attr_entity_category = EntityCategory.DIAGNOSTIC
def __init__(self, instance, ac_key, action):
def __init__(self, instance: dict[str, Any], ac_key: str, action: str) -> None:
"""Initialize the Advantage Air timer control."""
super().__init__(instance, ac_key)
self.action = action
@@ -71,21 +75,21 @@ class AdvantageAirTimeTo(AdvantageAirAcEntity, SensorEntity):
self._attr_unique_id += f"-timeto{action}"
@property
def native_value(self):
def native_value(self) -> Decimal:
"""Return the current value."""
return self._ac[self._time_key]
@property
def icon(self):
def icon(self) -> str:
"""Return a representative icon of the timer."""
if self._ac[self._time_key] > 0:
return "mdi:timer-outline"
return "mdi:timer-off-outline"
async def set_time_to(self, **kwargs):
async def set_time_to(self, **kwargs: Any) -> None:
"""Set the timer value."""
value = min(720, max(0, int(kwargs[ADVANTAGE_AIR_SET_COUNTDOWN_VALUE])))
await self.async_change({self.ac_key: {"info": {self._time_key: value}}})
await self.aircon({self.ac_key: {"info": {self._time_key: value}}})
class AdvantageAirZoneVent(AdvantageAirZoneEntity, SensorEntity):
@@ -95,21 +99,21 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, SensorEntity):
_attr_state_class = SensorStateClass.MEASUREMENT
_attr_entity_category = EntityCategory.DIAGNOSTIC
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Vent Sensor."""
super().__init__(instance, ac_key, zone_key=zone_key)
self._attr_name = f'{self._zone["name"]} vent'
self._attr_unique_id += "-vent"
@property
def native_value(self):
def native_value(self) -> Decimal:
"""Return the current value of the air vent."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return self._zone["value"]
return 0
return Decimal(0)
@property
def icon(self):
def icon(self) -> str:
"""Return a representative icon."""
if self._zone["state"] == ADVANTAGE_AIR_STATE_OPEN:
return "mdi:fan"
@@ -123,19 +127,19 @@ class AdvantageAirZoneSignal(AdvantageAirZoneEntity, SensorEntity):
_attr_state_class = SensorStateClass.MEASUREMENT
_attr_entity_category = EntityCategory.DIAGNOSTIC
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone wireless signal sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} signal'
self._attr_unique_id += "-signal"
@property
def native_value(self):
def native_value(self) -> Decimal:
"""Return the current value of the wireless signal."""
return self._zone["rssi"]
@property
def icon(self):
def icon(self) -> str:
"""Return a representative icon."""
if self._zone["rssi"] >= 80:
return "mdi:wifi-strength-4"
@@ -157,13 +161,13 @@ class AdvantageAirZoneTemp(AdvantageAirZoneEntity, SensorEntity):
_attr_entity_registry_enabled_default = False
_attr_entity_category = EntityCategory.DIAGNOSTIC
def __init__(self, instance, ac_key, zone_key):
def __init__(self, instance: dict[str, Any], ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Temp Sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} temperature'
self._attr_unique_id += "-temp"
@property
def native_value(self):
def native_value(self) -> Decimal:
"""Return the current value of the measured temperature."""
return self._zone["measuredTemp"]
@@ -23,10 +23,11 @@ async def async_setup_entry(
instance = hass.data[ADVANTAGE_AIR_DOMAIN][config_entry.entry_id]
entities = []
for ac_key, ac_device in instance["coordinator"].data["aircons"].items():
if ac_device["info"]["freshAirStatus"] != "none":
entities.append(AdvantageAirFreshAir(instance, ac_key))
entities: list[SwitchEntity] = []
if aircons := instance["coordinator"].data.get("aircons"):
for ac_key, ac_device in aircons.items():
if ac_device["info"]["freshAirStatus"] != "none":
entities.append(AdvantageAirFreshAir(instance, ac_key))
async_add_entities(entities)
@@ -36,24 +37,24 @@ class AdvantageAirFreshAir(AdvantageAirAcEntity, SwitchEntity):
_attr_icon = "mdi:air-filter"
_attr_name = "Fresh air"
def __init__(self, instance, ac_key):
def __init__(self, instance: dict[str, Any], ac_key: str) -> None:
"""Initialize an Advantage Air fresh air control."""
super().__init__(instance, ac_key)
self._attr_unique_id += "-freshair"
@property
def is_on(self):
def is_on(self) -> bool:
"""Return the fresh air status."""
return self._ac["freshAirStatus"] == ADVANTAGE_AIR_STATE_ON
async def async_turn_on(self, **kwargs: Any) -> None:
"""Turn fresh air on."""
await self.async_change(
await self.aircon(
{self.ac_key: {"info": {"freshAirStatus": ADVANTAGE_AIR_STATE_ON}}}
)
async def async_turn_off(self, **kwargs: Any) -> None:
"""Turn fresh air off."""
await self.async_change(
await self.aircon(
{self.ac_key: {"info": {"freshAirStatus": ADVANTAGE_AIR_STATE_OFF}}}
)
@@ -1,4 +1,6 @@
"""Advantage Air Update platform."""
from typing import Any
from homeassistant.components.update import UpdateEntity
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
@@ -26,7 +28,7 @@ class AdvantageAirApp(AdvantageAirEntity, UpdateEntity):
_attr_name = "App"
def __init__(self, instance):
def __init__(self, instance: dict[str, Any]) -> None:
"""Initialize the Advantage Air App."""
super().__init__(instance)
self._attr_device_info = DeviceInfo(
@@ -40,12 +42,12 @@ class AdvantageAirApp(AdvantageAirEntity, UpdateEntity):
)
@property
def installed_version(self):
def installed_version(self) -> str:
"""Return the current app version."""
return self.coordinator.data["system"]["myAppRev"]
@property
def latest_version(self):
def latest_version(self) -> str:
"""Return if there is an update."""
if self.coordinator.data["system"]["needsUpdate"]:
return "Needs Update"
@@ -14,7 +14,7 @@
"longitude": "\u7d4c\u5ea6",
"name": "\u7d71\u5408\u306e\u540d\u524d"
},
"description": "AEMET OpenData\u7d71\u5408\u3092\u30bb\u30c3\u30c8\u30a2\u30c3\u30d7\u3057\u307e\u3059\u3002 API\u30ad\u30fc\u3092\u751f\u6210\u3059\u308b\u306b\u306f\u3001https://opendata.aemet.es/centrodedescargas/altaUsuario \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u304f\u3060\u3055\u3044"
"description": "API \u30ad\u30fc\u3092\u751f\u6210\u3059\u308b\u306b\u306f\u3001https://opendata.aemet.es/centrodedescargas/altaUsuario \u306b\u30a2\u30af\u30bb\u30b9\u3057\u3066\u304f\u3060\u3055\u3044"
}
}
},
@@ -1,7 +1,30 @@
{
"config": {
"abort": {
"already_configured": "A localiza\u00e7\u00e3o j\u00e1 est\u00e1 configurada"
},
"error": {
"invalid_api_key": "Chave de API inv\u00e1lida"
},
"step": {
"user": {
"data": {
"api_key": "Chave da API",
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nome da integra\u00e7\u00e3o"
},
"description": "Para gerar a chave API v\u00e1 a https://opendata.aemet.es/centrodedescargas/altaUsuario"
}
}
},
"options": {
"step": {
"init": {
"data": {
"station_updates": "Recolha de dados das esta\u00e7\u00f5es meteorol\u00f3gicas AEMET"
}
}
}
}
}
@@ -50,10 +50,12 @@ PROP_TO_ATTR: Final[dict[str, str]] = {
"sulphur_dioxide": ATTR_SO2,
}
# mypy: disallow-any-generics
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Set up the air quality component."""
component = hass.data[DOMAIN] = EntityComponent(
component = hass.data[DOMAIN] = EntityComponent[AirQualityEntity](
_LOGGER, DOMAIN, hass, SCAN_INTERVAL
)
await component.async_setup(config)
@@ -62,13 +64,13 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up a config entry."""
component: EntityComponent = hass.data[DOMAIN]
component: EntityComponent[AirQualityEntity] = hass.data[DOMAIN]
return await component.async_setup_entry(entry)
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
component: EntityComponent = hass.data[DOMAIN]
component: EntityComponent[AirQualityEntity] = hass.data[DOMAIN]
return await component.async_unload_entry(entry)
@@ -3,5 +3,6 @@
"name": "Air Quality",
"documentation": "https://www.home-assistant.io/integrations/air_quality",
"codeowners": ["@home-assistant/core"],
"quality_scale": "internal"
"quality_scale": "internal",
"integration_type": "entity"
}
+4
View File
@@ -7,11 +7,15 @@ ATTR_API_ADVICE: Final = "ADVICE"
ATTR_API_CAQI: Final = "CAQI"
ATTR_API_CAQI_DESCRIPTION: Final = "DESCRIPTION"
ATTR_API_CAQI_LEVEL: Final = "LEVEL"
ATTR_API_CO: Final = "CO"
ATTR_API_HUMIDITY: Final = "HUMIDITY"
ATTR_API_NO2: Final = "NO2"
ATTR_API_O3: Final = "O3"
ATTR_API_PM10: Final = "PM10"
ATTR_API_PM1: Final = "PM1"
ATTR_API_PM25: Final = "PM25"
ATTR_API_PRESSURE: Final = "PRESSURE"
ATTR_API_SO2: Final = "SO2"
ATTR_API_TEMPERATURE: Final = "TEMPERATURE"
ATTR_ADVICE: Final = "advice"
+60 -1
View File
@@ -33,11 +33,15 @@ from .const import (
ATTR_API_CAQI,
ATTR_API_CAQI_DESCRIPTION,
ATTR_API_CAQI_LEVEL,
ATTR_API_CO,
ATTR_API_HUMIDITY,
ATTR_API_NO2,
ATTR_API_O3,
ATTR_API_PM1,
ATTR_API_PM10,
ATTR_API_PM25,
ATTR_API_PRESSURE,
ATTR_API_SO2,
ATTR_API_TEMPERATURE,
ATTR_DESCRIPTION,
ATTR_LEVEL,
@@ -64,7 +68,7 @@ class AirlySensorEntityDescription(SensorEntityDescription):
SENSOR_TYPES: tuple[AirlySensorEntityDescription, ...] = (
AirlySensorEntityDescription(
key=ATTR_API_CAQI,
device_class=SensorDeviceClass.AQI,
icon="mdi:air-filter",
name=ATTR_API_CAQI,
native_unit_of_measurement="CAQI",
),
@@ -112,6 +116,33 @@ SENSOR_TYPES: tuple[AirlySensorEntityDescription, ...] = (
state_class=SensorStateClass.MEASUREMENT,
value=lambda value: round(value, 1),
),
AirlySensorEntityDescription(
key=ATTR_API_CO,
name=ATTR_API_CO,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
),
AirlySensorEntityDescription(
key=ATTR_API_NO2,
device_class=SensorDeviceClass.NITROGEN_DIOXIDE,
name=ATTR_API_NO2,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
),
AirlySensorEntityDescription(
key=ATTR_API_SO2,
device_class=SensorDeviceClass.SULPHUR_DIOXIDE,
name=ATTR_API_SO2,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
),
AirlySensorEntityDescription(
key=ATTR_API_O3,
device_class=SensorDeviceClass.OZONE,
name=ATTR_API_O3,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
),
)
@@ -191,4 +222,32 @@ class AirlySensor(CoordinatorEntity[AirlyDataUpdateCoordinator], SensorEntity):
self._attrs[ATTR_PERCENT] = round(
self.coordinator.data[f"{ATTR_API_PM10}_{SUFFIX_PERCENT}"]
)
if self.entity_description.key == ATTR_API_CO:
self._attrs[ATTR_LIMIT] = self.coordinator.data[
f"{ATTR_API_CO}_{SUFFIX_LIMIT}"
]
self._attrs[ATTR_PERCENT] = round(
self.coordinator.data[f"{ATTR_API_CO}_{SUFFIX_PERCENT}"]
)
if self.entity_description.key == ATTR_API_NO2:
self._attrs[ATTR_LIMIT] = self.coordinator.data[
f"{ATTR_API_NO2}_{SUFFIX_LIMIT}"
]
self._attrs[ATTR_PERCENT] = round(
self.coordinator.data[f"{ATTR_API_NO2}_{SUFFIX_PERCENT}"]
)
if self.entity_description.key == ATTR_API_SO2:
self._attrs[ATTR_LIMIT] = self.coordinator.data[
f"{ATTR_API_SO2}_{SUFFIX_LIMIT}"
]
self._attrs[ATTR_PERCENT] = round(
self.coordinator.data[f"{ATTR_API_SO2}_{SUFFIX_PERCENT}"]
)
if self.entity_description.key == ATTR_API_O3:
self._attrs[ATTR_LIMIT] = self.coordinator.data[
f"{ATTR_API_O3}_{SUFFIX_LIMIT}"
]
self._attrs[ATTR_PERCENT] = round(
self.coordinator.data[f"{ATTR_API_O3}_{SUFFIX_PERCENT}"]
)
return self._attrs
@@ -13,7 +13,8 @@
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nome"
}
},
"description": "Para gerar a chave API v\u00e1 a https://developer.airly.eu/register"
}
}
}
@@ -14,7 +14,8 @@
"api_key": "Chave da API",
"latitude": "Latitude",
"longitude": "Longitude"
}
},
"description": "Para gerar a chave API v\u00e1 a https://docs.airnowapi.org/account/request/"
}
}
}
@@ -1,7 +1,21 @@
{
"config": {
"abort": {
"already_configured": "Conta j\u00e1 configurada"
},
"error": {
"cannot_connect": "Falha na liga\u00e7\u00e3o"
"cannot_connect": "Falha na liga\u00e7\u00e3o",
"invalid_auth": "Autentica\u00e7\u00e3o inv\u00e1lida",
"unknown": "Erro inesperado"
},
"step": {
"user": {
"data": {
"description": "Fa\u00e7a login em {url} para encontrar as suas credenciais",
"id": "ID",
"secret": "Segredo"
}
}
}
}
}
@@ -4,14 +4,14 @@ from __future__ import annotations
import logging
from typing import Any
from homeassistant.components.climate import ClimateEntity
from homeassistant.components.climate.const import (
from homeassistant.components.climate import (
FAN_AUTO,
FAN_DIFFUSE,
FAN_FOCUS,
FAN_HIGH,
FAN_LOW,
FAN_MEDIUM,
ClimateEntity,
ClimateEntityFeature,
HVACMode,
)
@@ -1,5 +1,11 @@
{
"config": {
"abort": {
"already_configured": "Dispositivo j\u00e1 configurado"
},
"error": {
"cannot_connect": "Falha de liga\u00e7\u00e3o"
},
"step": {
"user": {
"data": {
@@ -2,7 +2,7 @@
"config": {
"abort": {
"already_configured": "La ubicaci\u00f3n ya est\u00e1 configurada o el Nodo/Pro ID ya est\u00e1 registrado.",
"reauth_successful": "La reautenticaci\u00f3n se realiz\u00f3 correctamente"
"reauth_successful": "La autenticaci\u00f3n se volvi\u00f3 a realizar correctamente"
},
"error": {
"cannot_connect": "No se pudo conectar",

Some files were not shown because too many files have changed in this diff Show More