Compare commits

...

1142 Commits

Author SHA1 Message Date
Paulus Schoutsen
68907b4de9 2022.10.4 (#80343) 2022-10-14 12:50:30 -04:00
Paulus Schoutsen
e8c8a49268 Bumped version to 2022.10.4 2022-10-14 12:04:20 -04:00
Austin Mroczek
e6e531e20c Bump total_connect_client to 2022.10 (#80331) 2022-10-14 12:04:16 -04:00
J. Nick Koston
6f00f42cc6 Bump HAP-python to fix pairing with iOS 16 (#80301)
Using the ha- fork until upstream can pickup and merge
pending PRs. The plan is to revert back to upstream
HAP-python when its back in sync

Fixes #79305 Fixes #79304
2022-10-14 12:04:15 -04:00
J. Nick Koston
a5f9cd2732 Fix nexia permanent hold when cool and heat temps are within 2 degrees (#80297) 2022-10-14 12:04:14 -04:00
G Johansson
8dfd8491a7 Fix incorrect deprecation year for conversion utils (#80195)
Fix incorrect depr year
2022-10-14 12:04:14 -04:00
J. Nick Koston
3451d150ae Bump yalexs to 1.2.6 (#80142) 2022-10-14 12:04:13 -04:00
Joakim Plate
b0d2f55f16 Correct units for sensors in nibe heatpump (#80140) 2022-10-14 12:04:12 -04:00
Franck Nijhof
5ab97e9f93 Fix set humidity in Tuya (#80132) 2022-10-14 12:04:11 -04:00
Sean Vig
75c2e213b2 Fix audio detection for IP4m-1041 Amcrest camera (#80066) 2022-10-14 12:04:11 -04:00
hesselonline
3311a092ea Fix wallbox jwt issue (#79948)
* Bump Wallbox package

* remove debug message

* Force update of auth token by emptying it first

* Force token refresh by emptying token
Improve exception handling

* include tests

* Update __init__.py

* Removed the clearing ot jwt token, issue is fixed by upstream fix in wallbox package.

* Catch connectionerror

* Update homeassistant/components/wallbox/__init__.py

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

* Run black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-14 12:04:10 -04:00
Jesse Hills
b988c5e591 Bump aioesphomeapi to 11.1.1 (#79762) 2022-10-14 12:04:09 -04:00
Øyvind Matheson Wergeland
cf6333463b Fix nobo_hub presenting temperature in zone with one decimal (#79743)
Fix presenting temperature in zone with one decimal.
Fix stepping the target temperatur without decimals.
2022-10-14 12:04:09 -04:00
Jan Bouwhuis
d79ed3acbb Fix state saving when sharing topics for MQTT entities (#79421)
* Do not write old state sharing availability topic

* Add a test

* Support for all availability topics

* delay async_write_ha_state till last callback

* Process write req after processing callback jobs

* Do not count subscription callbacks

* Simplify

* Stale docsting

* No topic needed for delays state write

* No need to clear when reloading

* Move test to test_mixins.py

* Only set up sensor platform for test
2022-10-14 12:04:08 -04:00
Franck Nijhof
1c742796da 2022.10.3 (#80054) 2022-10-11 00:48:29 +02:00
Franck Nijhof
d969bb3bae Bumped version to 2022.10.3 2022-10-10 22:48:39 +02:00
puddly
974925ebc9 Bump ZHA dependencies (#80049) 2022-10-10 22:48:05 +02:00
Tobias Sauerwein
b7ff337a51 Fix Netatmo device trigger (#80047) 2022-10-10 22:48:02 +02:00
Robert Svensson
2cdd45fe6f Bump aiounifi to v39 (#80043) 2022-10-10 22:47:59 +02:00
rappenze
d9f4798ddd Fix armed extra state attribute in fibaro entity (#80034) 2022-10-10 22:47:55 +02:00
Jc2k
a6a0741c10 Fix Eve Thermo always showing as heating in homekit_controller even when off (#80019) 2022-10-10 22:47:52 +02:00
Franck Nijhof
06bb3e8f12 Remove system marker from Supervisor integration (#79997) 2022-10-10 22:47:49 +02:00
Bram Kragten
18caf0ad7d Update frontend to 20221010.0 (#79994) 2022-10-10 22:47:46 +02:00
Michael Molisani
86381e7457 Update to pygtfs 0.1.7 (#79975) 2022-10-10 22:47:43 +02:00
J. Nick Koston
b69db75705 Bump pySwitchbot to 0.19.15 (#79972) 2022-10-10 22:47:39 +02:00
J. Nick Koston
6f31e60d0f Bump bluetooth-auto-recovery to 0.3.4 (#79971) 2022-10-10 22:47:11 +02:00
Khole
44e201ae2f Bump pyhiveapi to 0.5.14 (#79530) 2022-10-10 22:45:09 +02:00
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
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
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
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
3743 changed files with 94077 additions and 38434 deletions

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

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 \

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

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"

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

View File

@@ -3,3 +3,4 @@
azure-*.yml
docs/source/_templates/*
homeassistant/components/*/translations/*.json
homeassistant/generated/*

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.*

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

View File

@@ -26,7 +26,7 @@ from . import (
SetupFlow,
)
REQUIREMENTS = ["pyotp==2.6.0"]
REQUIREMENTS = ["pyotp==2.7.0"]
CONF_MESSAGE = "message"

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)

View File

@@ -0,0 +1,5 @@
{
"domain": "amazon",
"name": "Amazon",
"integrations": ["alexa", "amazon_polly", "aws", "route53"]
}

View File

@@ -0,0 +1,12 @@
{
"domain": "apple",
"name": "Apple",
"integrations": [
"apple_tv",
"homekit_controller",
"homekit",
"ibeacon",
"icloud",
"itunes"
]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "aruba",
"name": "Aruba",
"integrations": ["aruba", "cppm_tracker"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "asterisk",
"name": "Asterisk",
"integrations": ["asterisk_cdr", "asterisk_mbox"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "august",
"name": "August Home",
"integrations": ["august", "yalexs_ble"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "cisco",
"name": "Cisco",
"integrations": ["cisco_ios", "cisco_mobility_express", "cisco_webex_teams"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "clicksend",
"name": "ClickSend",
"integrations": ["clicksend", "clicksend_tts"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "denon",
"name": "Denon",
"integrations": ["denon", "denonavr", "heos"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "devolo",
"name": "devolo",
"integrations": ["devolo_home_control", "devolo_home_network"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "dlna",
"name": "DLNA",
"integrations": ["dlna_dmr", "dlna_dms"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "elgato",
"name": "Elgato",
"integrations": ["avea", "elgato"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "emoncms",
"name": "emoncms",
"integrations": ["emoncms", "emoncms_history"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "epson",
"name": "Epson",
"integrations": ["epson", "epsonworkforce"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "eq3",
"name": "eQ-3",
"integrations": ["eq3btsmart", "maxcube"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "ffmpeg",
"name": "FFmpeg",
"integrations": ["ffmpeg", "ffmpeg_motion", "ffmpeg_noise"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "fritzbox",
"name": "FRITZ!Box",
"integrations": ["fritz", "fritzbox", "fritzbox_callmonitor"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "geonet",
"name": "GeoNet",
"integrations": ["geonetnz_quakes", "geonetnz_volcano"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "globalcache",
"name": "Global Caché",
"integrations": ["gc100", "itach"]
}

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"
]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "hikvision",
"name": "Hikvision",
"integrations": ["hikvision", "hikvisioncam"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "homematic",
"name": "Homematic",
"integrations": ["homematic", "homematicip_cloud"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "honeywell",
"name": "Honeywell",
"integrations": ["lyric", "evohome", "honeywell"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "ibm",
"name": "IBM",
"integrations": ["watson_iot", "watson_tts"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "inovelli",
"name": "Inovelli",
"iot_standards": ["zigbee", "zwave"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "jasco",
"name": "Jasco",
"iot_standards": ["zwave"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "leviton",
"name": "Leviton",
"iot_standards": ["zwave"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "lg",
"name": "LG",
"integrations": ["lg_netcast", "lg_soundbar", "webostv"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "logitech",
"name": "Logitech",
"integrations": ["harmony", "ue_smart_radio", "squeezebox"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "lutron",
"name": "Lutron",
"integrations": ["lutron", "lutron_caseta", "homeworks"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "melnor",
"name": "Melnor",
"integrations": ["melnor", "raincloud"]
}

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"
]
}

View File

@@ -0,0 +1,12 @@
{
"domain": "mqtt",
"name": "MQTT",
"integrations": [
"manual_mqtt",
"mqtt",
"mqtt_eventstream",
"mqtt_json",
"mqtt_room",
"mqtt_statestream"
]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "netgear",
"name": "NETGEAR",
"integrations": ["netgear", "netgear_lte"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "openwrt",
"name": "OpenWrt",
"integrations": ["luci", "ubus"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "panasonic",
"name": "Panasonic",
"integrations": ["panasonic_bluray", "panasonic_viera"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "philips",
"name": "Philips",
"integrations": ["dynalite", "hue", "philips_js"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "qnap",
"name": "QNAP",
"integrations": ["qnap", "qnap_qsw"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "raspberry_pi",
"name": "Raspberry Pi",
"integrations": ["rpi_camera", "rpi_power", "remote_rpi_gpio"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "russound",
"name": "Russound",
"integrations": ["russound_rio", "russound_rnet"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "samsung",
"name": "Samsung",
"integrations": ["familyhub", "samsungtv", "syncthru"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "solaredge",
"name": "SolarEdge",
"integrations": ["solaredge", "solaredge_local"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "sony",
"name": "Sony",
"integrations": ["braviatv", "ps4", "sony_projector", "songpal"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "synology",
"name": "Synology",
"integrations": ["synology_chat", "synology_dsm", "synology_srm"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "telegram",
"name": "Telegram",
"integrations": ["telegram", "telegram_bot"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "telldus",
"name": "Telldus",
"integrations": ["tellduslive", "tellstick"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "tesla",
"name": "Tesla",
"integrations": ["powerwall", "tesla_wall_connector"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "third_reality",
"name": "Third Reality",
"iot_standards": ["zigbee"]
}

View File

@@ -0,0 +1,9 @@
{
"domain": "trafikverket",
"name": "Trafikverket",
"integrations": [
"trafikverket_ferry",
"trafikverket_train",
"trafikverket_weatherstation"
]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "twilio",
"name": "Twilio",
"integrations": ["twilio", "twilio_call", "twilio_sms"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "u_tec",
"name": "U-tec",
"iot_standards": ["zwave"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "ubiquiti",
"name": "Ubiquiti",
"integrations": ["unifi", "unifi_direct", "unifiled", "unifiprotect"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "vlc",
"name": "VideoLAN",
"integrations": ["vlc", "vlc_telnet"]
}

View File

@@ -0,0 +1,11 @@
{
"domain": "xiaomi",
"name": "Xiaomi",
"integrations": [
"xiaomi_aqara",
"xiaomi_ble",
"xiaomi_miio",
"xiaomi_tv",
"xiaomi"
]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "yale",
"name": "Yale",
"integrations": ["august", "yale_smart_alarm", "yalexs_ble"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "yandex",
"name": "Yandex",
"integrations": ["yandex_transport", "yandextts"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "yeelight",
"name": "Yeelight",
"integrations": ["yeelight", "yeelightsunflower"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "zooz",
"name": "Zooz",
"iot_standards": ["zwave"]
}

View File

@@ -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": {

View File

@@ -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"
}
}
}

View File

@@ -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"
}
}
}
}
}

View File

@@ -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"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"state": {
"accuweather__pressure_tendency": {
"falling": "A decrescer",
"rising": "A aumentar",
"steady": "Est\u00e1vel"
}
}
}

View File

@@ -2,6 +2,13 @@
"config": {
"abort": {
"no_devices_found": "Nenhum dispositivo encontrado na rede"
},
"step": {
"user": {
"data": {
"id": "ID do anfitri\u00e3o"
}
}
}
}
}

View File

@@ -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

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,

View File

@@ -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"
}
}
}

View File

@@ -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": {

View File

@@ -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)

View File

@@ -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"]

View File

@@ -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}}}})

View File

@@ -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:

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": {

View File

@@ -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]

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)

View File

@@ -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]}}}
)

View File

@@ -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"]

View File

@@ -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}}}
)

View File

@@ -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"

View File

@@ -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"
}
}
},

View File

@@ -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"
}
}
}
}
}

View File

@@ -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)

View File

@@ -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"
}

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"

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

View File

@@ -13,7 +13,8 @@
"latitude": "Latitude",
"longitude": "Longitude",
"name": "Nome"
}
},
"description": "Para gerar a chave API v\u00e1 a https://developer.airly.eu/register"
}
}
}

View File

@@ -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/"
}
}
}

View File

@@ -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"
}
}
}
}
}

View File

@@ -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,
)

View File

@@ -1,5 +1,11 @@
{
"config": {
"abort": {
"already_configured": "Dispositivo j\u00e1 configurado"
},
"error": {
"cannot_connect": "Falha de liga\u00e7\u00e3o"
},
"step": {
"user": {
"data": {

View File

@@ -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