Compare commits

...

7538 Commits

Author SHA1 Message Date
Franck Nijhof
3dc3de95fa 2024.5.4 (#117631) 2024-05-17 15:04:13 +02:00
Franck Nijhof
5c8f7fe52a Fix rc pylint warning for Home Assistant Analytics (#117635) 2024-05-17 14:13:10 +02:00
Franck Nijhof
8896d134e9 Bump version to 2024.5.4 2024-05-17 13:45:47 +02:00
Robert Svensson
f043b2db49 Improve syncing light states to deCONZ groups (#117588) 2024-05-17 13:45:03 +02:00
Joost Lekkerkerker
5cd101d2b1 Fix poolsense naming (#117567) 2024-05-17 13:45:00 +02:00
Joost Lekkerkerker
ab9ed0eba4 Handle uncaught exceptions in Analytics insights (#117558) 2024-05-17 13:44:57 +02:00
starkillerOG
4548ff619c Bump reolink-aio to 0.8.10 (#117501) 2024-05-17 13:44:53 +02:00
Erik Montnemery
b1746faa47 Fix API creation for passwordless pi_hole (#117494) 2024-05-17 13:43:50 +02:00
starkillerOG
615ae780ca Reolink fix not unregistering webhook during ReAuth (#117490) 2024-05-17 13:38:56 +02:00
J. Nick Koston
b86513c3a4 Fix non-thread-safe state write in tellduslive (#117487) 2024-05-17 13:38:51 +02:00
Maikel Punie
970ad8c07c Bump pyduotecno to 2024.5.0 (#117446) 2024-05-17 13:38:48 +02:00
Franck Nijhof
819e9860a8 Update wled to 0.17.1 (#117444) 2024-05-17 13:38:44 +02:00
mk-81
e7ff552de6 Fix Kodi on/off status (#117436)
* Fix Kodi Issue 104603

Fixes issue, that Kodi media player is displayed as online even when offline. The issue occurrs when using HTTP(S) only (no web Socket) integration after kodi was found online once.
Issue: In async_update the connection exceptions from self._kodi.get_players are not catched and therefore self._players (and the like) are not reset. The call of self._connection.connected returns always true for HTTP(S) connections.

Solution: Catch Exceptions from self._kodi.get_players und reset state in case of HTTP(S) only connection. Otherwise keep current behaviour.

* Fix Kodi Issue 104603 / code style adjustments

as requested
2024-05-17 13:38:41 +02:00
Jiaqi Wu
f48f8eefe7 Fix Lutron Serena Tilt Only Wood Blinds set tilt function (#117374) 2024-05-17 13:38:38 +02:00
J. Nick Koston
c90818e10c Fix squeezebox blocking startup (#117331)
fixes #117079
2024-05-17 13:38:33 +02:00
tronikos
642a6b44eb Call Google Assistant SDK service using async_add_executor_job (#117325) 2024-05-17 13:38:30 +02:00
Joost Lekkerkerker
bca20646bb Fix Aurora naming (#117314) 2024-05-17 13:38:26 +02:00
Jan Bouwhuis
dba4785c9b Increase MQTT broker socket buffer size (#117267)
* Increase MQTT broker socket buffer size

* Revert unrelated change

* Try to increase buffer size

* Set INITIAL_SUBSCRIBE_COOLDOWN back to 0.5 sec

* Sinplify and add test

* comments

* comments

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-17 13:38:23 +02:00
Raman Gupta
57cf91a8d4 Fix zwave_js discovery logic for node device class (#117232)
* Fix zwave_js discovery logic for node device class

* simplify check
2024-05-17 13:38:19 +02:00
jjlawren
17c6a49ff8 Bump SoCo to 0.30.4 (#117212) 2024-05-17 13:38:17 +02:00
Tom Harris
5941cf05e4 Fix issue changing Insteon Hub configuration (#117204)
Add Hub version to config schema
2024-05-17 13:38:14 +02:00
Thomas55555
a53b8cc0e2 Add reauth for missing token scope in Husqvarna Automower (#117098)
* Add repair for wrong token scope to Husqvarna Automower

* avoid new installations with missing scope

* tweaks

* just reauth

* texts

* Add link to correct account

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Update homeassistant/components/husqvarna_automower/strings.json

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

* Add comment

* directly assert mock_missing_scope_config_entry.state is loaded

* assert that a flow is started

* pass complete url to strings and simplify texts

* shorten long line

* address review

* simplify tests

* grammar

* remove obsolete fixture

* fix test

* Update tests/components/husqvarna_automower/test_init.py

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

* test if reauth flow has started

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-05-17 13:38:11 +02:00
Michal Čihař
9d25d228ab Reduce update interval in Ondilo Ico (#116989)
Ondilo: reduce update interval

The API seems to have sticter rate-limiting and frequent requests fail
with HTTP 400.

Fixes #116593
2024-05-17 13:38:08 +02:00
tronikos
652ee1b90d Avoid exceptions when Gemini responses are blocked (#116847)
* Bump google-generativeai to v0.5.2

* Avoid exceptions when Gemini responses are blocked

* pytest --snapshot-update

* set error response

* add test

* ruff
2024-05-17 13:38:05 +02:00
Thomas55555
afb5e622cd Catch auth exception in husqvarna automower (#115365)
* Catch AuthException in Husqvarna Automower

* don't use getattr

* raise ConfigEntryAuthFailed
2024-05-17 13:38:01 +02:00
Maikel Punie
4501658a16 Mark Duotecno entities unavailable when tcp goes down (#114325)
When the tcp connection to the duotecno smartbox goes down, mark all entities as unavailable.
2024-05-17 13:37:58 +02:00
amura11
52147e5196 Fix Fully Kiosk set config service (#112840)
* Fixed a bug that prevented setting Fully Kiosk config values using a template

* Added test to cover change

* Fixed issue identified by Ruff

* Update services.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-05-17 13:37:52 +02:00
Paulus Schoutsen
9b6500582a 2024.5.3 (#117203) 2024-05-10 15:08:20 -04:00
Paulus Schoutsen
e2da28fbdb Bump version to 2024.5.3 2024-05-10 18:14:24 +00:00
Robert Resch
2c8b3ac8bb Bump deebot-client to 7.2.0 (#117189) 2024-05-10 18:10:05 +00:00
Diogo Gomes
f07c00a05b Bump pytrydan to 0.6.0 (#117162) 2024-05-10 18:10:04 +00:00
Jan Bouwhuis
56b38cd842 Fix typo in xiaomi_ble translation strings (#117144) 2024-05-10 18:10:03 +00:00
J. Nick Koston
1b519a4610 Handle tilt position being None in HKC (#117141) 2024-05-10 18:10:02 +00:00
mletenay
09490d9e0a Bump goodwe to 0.3.5 (#117115) 2024-05-10 18:10:02 +00:00
Jan Bouwhuis
c0cd76b3bf Make the mqtt discovery update tasks eager and fix race (#117105)
* Fix mqtt discovery race for update rapidly followed on creation

* Revert unrelated renaming local var
2024-05-10 18:10:01 +00:00
MatthewFlamm
b9ed2dab5f Fix nws blocking startup (#117094)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-10 18:10:00 +00:00
J. Nick Koston
11f86d9e0b Improve config entry has already been setup error message (#117091) 2024-05-10 18:10:00 +00:00
mletenay
82fab7df39 Goodwe Increase max value of export limit to 200% (#117090) 2024-05-10 18:09:59 +00:00
puddly
d40689024a Add a missing addon_name placeholder to the SkyConnect config flow (#117089) 2024-05-10 18:09:58 +00:00
Arie Catsman
9e7e839f03 Bump pyenphase to 1.20.3 (#117061) 2024-05-10 18:09:57 +00:00
Chris Talkington
08ba5304fe Bump rokuecp to 0.19.3 (#117059) 2024-05-10 18:09:57 +00:00
Jan Bouwhuis
f34a0dc5ce Log an exception mqtt client call back throws (#117028)
* Log an exception mqtt client call back throws

* Supress exceptions and add test
2024-05-10 18:09:56 +00:00
J. Nick Koston
1a13e1d024 Simplify MQTT subscribe debouncer execution (#117006) 2024-05-10 18:09:55 +00:00
Marc Mueller
bee518dc78 Update jinja2 to 3.1.4 (#116986) 2024-05-10 18:09:54 +00:00
Matrix
fdc59547e0 Bump Yolink api to 0.4.4 (#116967) 2024-05-10 18:09:54 +00:00
Mr. Bubbles
57861dc091 Update strings for Bring notification service (#116181)
update translations
2024-05-10 18:09:53 +00:00
Pete Sage
624baebbaa Fix Sonos select_source timeout error (#115640) 2024-05-10 18:09:52 +00:00
Franck Nijhof
a8f3b699b3 2024.5.2 (#116937) 2024-05-06 19:49:06 +02:00
Bram Kragten
eb6ccea8aa Update frontend to 20240501.1 (#116939) 2024-05-06 18:43:20 +02:00
Franck Nijhof
6b93f8d997 Bump version to 2024.5.2 2024-05-06 17:19:04 +02:00
Jan Bouwhuis
ab113570c3 Fix initial mqtt subcribe cooldown timeout (#116904) 2024-05-06 17:18:26 +02:00
Robert Hillis
ed6788ca3f fix radarr coordinator updates (#116874) 2024-05-06 17:18:23 +02:00
J. Nick Koston
9533f5b490 Fix non-thread-safe operations in amcrest (#116859)
* Fix non-thread-safe operations in amcrest

fixes #116850

* fix locking

* fix locking

* fix locking
2024-05-06 17:18:19 +02:00
mletenay
7c9653e397 Bump goodwe to 0.3.4 (#116849) 2024-05-06 17:18:16 +02:00
tronikos
73eabe821c Bump androidtvremote2 to v0.0.15 (#116844) 2024-05-06 17:18:13 +02:00
Michael
834c2e2a09 Avoid duplicate data fetch during Synologs DSM setup (#116839)
don't do first refresh of central coordinator, is already done by api.setup before
2024-05-06 17:18:10 +02:00
Michael
421f74cd7f Increase default timeout to 30 seconds in Synology DSM (#116836)
increase default timeout to 30s and use it consequently
2024-05-06 17:18:06 +02:00
J. Nick Koston
c049888b00 Fix non-thread-safe state write in lutron event (#116829)
fixes #116746
2024-05-06 17:18:01 +02:00
Paulus Schoutsen
ad5e0949b6 Hide conversation agents that are exposed as agent entities (#116813) 2024-05-06 16:58:30 +02:00
J. Nick Koston
ae28c604e5 Fix airthings-ble data drop outs when Bluetooth connection is flakey (#116805)
* Fix airthings-ble data drop outs when Bluetooth adapter is flakey

fixes #116770

* add missing file

* update
2024-05-06 16:57:55 +02:00
Jan Bouwhuis
dbe303d95e Fix IMAP config entry setup (#116797) 2024-05-06 16:51:29 +02:00
J. Nick Koston
ad7688197f Ensure all synology_dsm coordinators handle expired sessions (#116796)
* Ensure all synology_dsm coordinators handle expired sessions

* Ensure all synology_dsm coordinators handle expired sessions

* Ensure all synology_dsm coordinators handle expired sessions

* handle cancellation

* add a debug log message

---------

Co-authored-by: mib1185 <mail@mib85.de>
2024-05-06 16:51:26 +02:00
Patrick Decat
79460cb017 fix UnboundLocalError on modified_statistic_ids in compile_statistics (#116795)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-06 16:51:23 +02:00
J. Nick Koston
18bcc61427 Bump bluetooth-adapters to 0.19.2 (#116785) 2024-05-06 16:51:19 +02:00
J. Nick Koston
57bbd10517 Refactor statistics to avoid creating tasks (#116743) 2024-05-06 16:51:16 +02:00
Joost Lekkerkerker
f068b8cdb8 Remove suggested UoM from Opower (#116728) 2024-05-06 16:51:12 +02:00
Joost Lekkerkerker
bbb94d9e17 Fix Bosch-SHC switch state (#116721) 2024-05-06 16:51:09 +02:00
J. Nick Koston
6d537e2a66 Bump aiohttp-isal to 0.3.1 (#116720) 2024-05-06 16:51:06 +02:00
J. Nick Koston
17c5aa2871 Improve logging of _TrackPointUTCTime objects (#116711) 2024-05-06 16:51:03 +02:00
Erik Montnemery
f4830216a8 Add workaround for data entry flow show progress (#116704)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-05-06 16:50:52 +02:00
Franck Nijhof
ab8a811c9f 2024.5.1 (#116696) 2024-05-03 17:17:43 +02:00
Franck Nijhof
9d2fd8217f Bump version to 2024.5.1 2024-05-03 13:38:38 +02:00
Felipe Martins Diel
7e8cbafc6f Fix BroadlinkRemote._learn_command() (#116692) 2024-05-03 13:36:03 +02:00
Marc Mueller
a4f9a64588 Fix fyta test timezone handling (#116689) 2024-05-03 13:36:00 +02:00
J. Nick Koston
7a56ba1506 Block dreame_vacuum versions older than 1.0.4 (#116673) 2024-05-03 13:35:56 +02:00
Glenn Waters
66bb3ecac9 Bump env_canada lib to 0.6.2 (#116662) 2024-05-03 13:35:53 +02:00
J. Nick Koston
ac302f38b1 Bump habluetooth to 2.8.1 (#116661) 2024-05-03 13:35:49 +02:00
puddly
abeb65e43d Bump ZHA dependency bellows to 0.38.4 (#116660)
Bump ZHA dependencies

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-05-03 13:35:46 +02:00
Galorhallen
c36fd5550b Bump govee-light-local library and fix wrong information for Govee lights (#116651) 2024-05-03 13:35:42 +02:00
Robert Svensson
6be25c784d Bump aiounifi to v77 (#116639) 2024-05-03 13:35:38 +02:00
Marc Mueller
c338f1b964 Add constraint for tuf (#116627) 2024-05-03 13:35:35 +02:00
Kevin Stillhammer
8193b82f4a Bump pywaze to 1.0.1 (#116621)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:35:31 +02:00
Ståle Storø Hauknes
7c1502fa05 Bump Airthings BLE to 0.8.0 (#116616)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:35:27 +02:00
Matthias Alphart
575a3da772 Fix inheritance order for KNX notify (#116600) 2024-05-03 13:35:23 +02:00
Joost Lekkerkerker
0e488ef505 Improve coordinator in Ondilo ico (#116596)
* Improve coordinator in Ondilo ico

* Improve coordinator in Ondilo ico
2024-05-03 13:35:19 +02:00
Ståle Storø Hauknes
fabbe2f28f Fix Airthings BLE model names (#116579) 2024-05-03 13:35:16 +02:00
Tomasz
99ab8d2956 Bump sanix to 1.0.6 (#116570)
dependency version bump
2024-05-03 13:35:12 +02:00
Marcel van der Veldt
523de94184 Fix Matter startup when Matter bridge is present (#116569) 2024-05-03 13:35:09 +02:00
Glenn Waters
65839067e3 Bump elkm1_lib to 2.2.7 (#116564)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:35:05 +02:00
Glenn Waters
5da6f83d10 Bump upb_lib to 0.5.6 (#116558) 2024-05-03 13:35:02 +02:00
Jan Bouwhuis
ea6a9b8316 Fix MQTT discovery cooldown too short with large setup (#116550)
* Fix MQTT discovery cooldown too short with large setup

* Set to 5 sec

* Only change the discovery cooldown

* Fire immediatly when teh debouncing period is over
2024-05-03 13:34:58 +02:00
J. Nick Koston
49de59432e Add a lock to homekit_controller platform loads (#116539) 2024-05-03 13:34:55 +02:00
GraceGRD
624e4a2b48 Bump opentherm_gw to 2.2.0 (#116527) 2024-05-03 13:34:52 +02:00
MatthewFlamm
4e4ac79595 Fix nws forecast coordinators and remove legacy forecast handling (#115857)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-05-03 13:34:48 +02:00
Franck Nijhof
2f47668422 2024.5.0 (#116538) 2024-05-01 20:47:10 +02:00
J. Nick Koston
343d97527c Ensure mqtt handler is restored if its already registered in bootstrap test (#116549) 2024-05-01 20:23:14 +02:00
J. Nick Koston
21466180aa Ensure mock mqtt handler is cleaned up after test_bootstrap_dependencies (#116544) 2024-05-01 19:46:54 +02:00
Franck Nijhof
858874f0da Bump version to 2024.5.0 2024-05-01 18:59:07 +02:00
Franck Nijhof
1641f24314 Bump version to 2024.5.0b7 2024-05-01 18:32:41 +02:00
J. Nick Koston
e1c08959b0 Fix stop event cleanup when reloading MQTT (#116525) 2024-05-01 18:32:33 +02:00
Marcel van der Veldt
b42f367128 Add blocklist for known Matter devices with faulty transitions (#116524) 2024-05-01 18:32:24 +02:00
Franck Nijhof
1e4e891f0b Bump version to 2024.5.0b6 2024-05-01 16:24:03 +02:00
Joost Lekkerkerker
15aa8949ee Improve scrape strings (#116519) 2024-05-01 16:23:54 +02:00
J. Nick Koston
780a6b314f Fix blocking I/O to import modules in mysensors (#116516) 2024-05-01 16:23:50 +02:00
Marcel van der Veldt
082721e1ab Bump python matter server library to 5.10.0 (#116514) 2024-05-01 16:23:47 +02:00
J. Nick Koston
4312f36dbe Fix non-thread-safe operations in ihc (#116513) 2024-05-01 16:23:43 +02:00
puddly
f89677cd76 Bump ZHA dependencies (#116509) 2024-05-01 16:23:39 +02:00
Franck Nijhof
0eb734b6bf Bump version to 2024.5.0b5 2024-05-01 13:41:34 +02:00
Bram Kragten
ad16c5bc25 Update frontend to 20240501.0 (#116503) 2024-05-01 13:41:18 +02:00
max2697
fabc3d751e Bump opower to 0.4.4 (#116489) 2024-05-01 13:40:25 +02:00
Luke Lashley
31cfabc44d Fix roborock image crashes (#116487) 2024-05-01 13:40:22 +02:00
J. Nick Koston
7d51556e1e Hold a lock to prevent concurrent setup of config entries (#116482) 2024-05-01 13:40:18 +02:00
Bram Kragten
ac24105777 Update frontend to 20240430.0 (#116481) 2024-05-01 13:40:15 +02:00
Jan Bouwhuis
3d86577cab Add test MQTT subscription is completed when birth message is sent (#116476) 2024-05-01 13:40:12 +02:00
J. Nick Koston
6971898a43 Fix non-thread-safe operation in roon volume callback (#116475) 2024-05-01 13:40:08 +02:00
puddly
c54d53b88a Change SkyConnect integration type back to hardware and fix multi-PAN migration bug (#116474)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-05-01 13:40:05 +02:00
J. Nick Koston
c574d86ddb Fix local_todo blocking the event loop (#116473) 2024-05-01 13:40:01 +02:00
J. Nick Koston
3d13345575 Ensure MQTT resubscribes happen before birth message (#116471) 2024-05-01 13:39:58 +02:00
J. Nick Koston
c77cef0391 Bump bluetooth-adapters to 0.19.1 (#116465) 2024-05-01 13:39:55 +02:00
Joost Lekkerkerker
3351b82667 Fix zoneminder async v2 (#116451) 2024-05-01 13:39:52 +02:00
Richard Kroegel
78d19854dd Bump bimmer_connected to 0.15.2 (#116424)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-05-01 13:39:48 +02:00
Marcel van der Veldt
c0d529b072 Some fixes for the Matter light discovery schema (#116108)
* Fix discovery schema for light platform

* fix switch platform discovery schema

* extend light tests

* Update switch.py

* clarify comment

* use parameter for supported_color_modes
2024-05-01 13:39:16 +02:00
Franck Nijhof
5b7e09b886 Bump version to 2024.5.0b4 2024-04-30 12:47:51 +02:00
Joost Lekkerkerker
7cbb2892c1 Add user id to coordinator name in Withings (#116440)
* Add user id to coordinator name in Withings

* Add user id to coordinator name in Withings

* Fix
2024-04-30 12:47:44 +02:00
Joost Lekkerkerker
5510315b87 Fix zoneminder async (#116436) 2024-04-30 12:47:41 +02:00
Michael
bd8ded1e55 Fix error handling in Shell Command integration (#116409)
* raise proper HomeAssistantError on command timeout

* raise proper HomeAssistantError on non-utf8 command output

* add error translation and test it

* Update homeassistant/components/shell_command/strings.json

* Update tests/components/shell_command/test_init.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-30 12:47:38 +02:00
Joost Lekkerkerker
1a1dfbd489 Remove semicolon in Modbus (#116399) 2024-04-30 12:47:34 +02:00
Graham Wetzler
3477c81ed1 Bump smart_meter_texas to 0.5.5 (#116321) 2024-04-30 12:47:31 +02:00
Collin Fair
5d9abf9ac5 Fix stale prayer times from islamic-prayer-times (#115683) 2024-04-30 12:47:28 +02:00
Joost Lekkerkerker
8843780aab Set Synology camera device name as entity name (#109123) 2024-04-30 12:47:24 +02:00
Franck Nijhof
a7faf2710f Bump version to 2024.5.0b3 2024-04-29 19:44:22 +02:00
Bram Kragten
06e032b838 Update frontend to 20240429.0 (#116404) 2024-04-29 19:44:12 +02:00
Robert Resch
8f2d10c49a Remove strict connection (#116396) 2024-04-29 19:44:09 +02:00
Steve Easley
39d923dc02 Fix jvcprojector command timeout with some projectors (#116392)
* Fix projector timeout in pyprojector lib v1.0.10

* Fix projector timeout by increasing time between power command and refresh.

* Bump jvcprojector lib to ensure unknown power states are handled
2024-04-29 19:44:06 +02:00
Mr. Bubbles
99e3236fb7 Deprecate YAML configuration of Habitica (#116374)
Add deprecation issue for yaml import
2024-04-29 19:44:03 +02:00
dontinelli
7ee79002b3 Store access token in entry for Fyta (#116260)
* save access_token and expiration date in ConfigEntry

* add MINOR_VERSION and async_migrate_entry

* shorten reading of expiration from config entry

* add additional consts and test for config entry migration

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/__init__.py

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

* omit check for datetime data type

* Update homeassistant/components/fyta/__init__.py

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

* Update homeassistant/components/fyta/coordinator.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 19:43:59 +02:00
dontinelli
ac45d20e1f Bump fyta_cli to 0.4.1 (#115918)
* bump fyta_cli to 0.4.0

* Update PLANT_STATUS and add PLANT_MEASUREMENT_STATUS

* bump fyta_cli to v0.4.0

* minor adjustments of states to API documentation
2024-04-29 19:43:55 +02:00
Paulus Schoutsen
0a9ac6b7a9 Bump version to 2024.5.0b2 2024-04-29 14:09:46 +00:00
J. Nick Koston
6fe20be095 Fix usb scan delaying shutdown (#116390)
If the integration page is accessed right before shutdown it
can trigger the usb scan debouncer which was not marked as
background so shutdown would wait for the scan to finish
2024-04-29 14:09:41 +00:00
Shay Levy
a61650e38f Prevent Shelly raising in a task (#116355)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-29 14:09:40 +00:00
J. Nick Koston
087b6533cd Fix another case of homeassistant_alerts delaying shutdown (#116352) 2024-04-29 14:09:39 +00:00
J. Nick Koston
9445b84ab5 Fix shelly delaying shutdown (#116346) 2024-04-29 14:09:39 +00:00
J. Nick Koston
88015986ad Fix bond update delaying shutdown when push updated are not available (#116344)
If push updates are not available, bond could delay shutdown. The update
task should have been marked as a background task
2024-04-29 14:09:38 +00:00
J. Nick Koston
0cec378126 Fix some flapping sonos tests (#116343) 2024-04-29 14:09:37 +00:00
Joost Lekkerkerker
5ca91190f2 Fix Netatmo indoor sensor (#116342)
* Debug netatmo indoor sensor

* Debug netatmo indoor sensor

* Fix
2024-04-29 14:09:36 +00:00
J. Nick Koston
c533ca50b1 Fix homeassistant_alerts delaying shutdown (#116340) 2024-04-29 14:09:35 +00:00
J. Nick Koston
66538ba34e Add thread safety checks to async_create_task (#116339)
* Add thread safety checks to async_create_task

Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here

* Add thread safety checks to async_create_task

Calling async_create_task from a thread almost always results in an
fast crash. Since most internals are using async_create_background_task
or other task APIs, and this is the one integrations seem to get wrong
the most, add a thread safety check here

* missed one

* Update homeassistant/core.py

* fix mocks

* one more internal

* more places where internal can be used

* more places where internal can be used

* more places where internal can be used

* internal one more place since this is high volume and was already eager_start
2024-04-29 14:09:34 +00:00
J. Nick Koston
6786479a81 Fix sonos events delaying shutdown (#116337) 2024-04-29 14:09:33 +00:00
J. Nick Koston
c4c21bc8ea Fix bluetooth adapter discovery delaying startup and shutdown (#116335) 2024-04-29 14:09:33 +00:00
J. Nick Koston
c3cb79e0e9 Fix wemo push updates delaying shutdown (#116333) 2024-04-29 14:09:32 +00:00
J. Nick Koston
1309fc5eda Fix unifiprotect delaying shutdown if websocket if offline (#116331) 2024-04-29 14:09:31 +00:00
J. Nick Koston
624eed4b83 Fix august delaying shutdown (#116329) 2024-04-29 14:09:30 +00:00
J. Nick Koston
d1e7471094 Prevent setup retry from delaying shutdown (#116328) 2024-04-29 14:09:29 +00:00
J. Nick Koston
f2a101128f Make discovery flow tasks background tasks (#116327) 2024-04-29 14:09:28 +00:00
Jan Bouwhuis
bfcffb5cb1 Fix no will published when mqtt is down (#116319) 2024-04-29 14:09:27 +00:00
hopkins-tk
abf45a0e0c Fix Aseko binary sensors names (#116251)
* Fix Aseko binary sensors names

* Fix add missing key to strings.json

* Fix remove setting shorthand translation key attribute

* Update homeassistant/components/aseko_pool_live/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 14:09:26 +00:00
J. Nick Koston
2c46db16d4 Fix script in restart mode that is fired from the same trigger (#116247) 2024-04-29 14:09:25 +00:00
Martin Hjelmare
6d8066afa2 Add matter during onboarding (#116163)
* Add matter during onboarding

* test_zeroconf_not_onboarded_running

* test_zeroconf_not_onboarded_installed

* test_zeroconf_not_onboarded_not_installed

* test_zeroconf_discovery_not_onboarded_not_supervisor

* Clean up

* Add udp address

* Test zeroconf udp info too

* test_addon_installed_failures_zeroconf

* test_addon_running_failures_zeroconf

* test_addon_not_installed_failures_zeroconf

* Clean up stale changes

* Set unique id for discovery step

* Fix tests for background flow

* Fix flow running in background

* Test already discovered zeroconf

* Mock unload entry
2024-04-29 14:09:24 +00:00
Marco van 't Wout
ee4f55a5a9 Improve error handling for HTTP errors on Growatt Server (#110633)
* Update dependency growattServer for improved error details

Updating to latest version. Since version 1.3.1 it will raise requests.exceptions.HTTPError for unexpected API responses such as HTTP 405 (rate limiting/firewall)

* Improve error details by raising ConfigEntryAuthFailed

Previous code was returning None which the caller couldn't handle

* Use a more appropiate exception type

* Update homeassistant/components/growatt_server/sensor.py

* Update homeassistant/components/growatt_server/sensor.py

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-29 14:09:23 +00:00
Paulus Schoutsen
9819cdfec2 Bump version to 2024.5.0b1 2024-04-27 07:27:57 +00:00
Raman Gupta
3c48c41734 Bump zwave-js-server-python to 0.55.4 (#116278) 2024-04-27 07:27:50 +00:00
J. Nick Koston
46dff86d1a Move thread safety check in area_registry sooner (#116265)
It turns out we have custom components that are writing to the area registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.
2024-04-27 07:27:49 +00:00
J. Nick Koston
85baa2508d Move thread safety check in device_registry sooner (#116264)
It turns out we have custom components that are writing to the device registry using the async APIs from threads. We now catch it at the point async_fire is called. Instead we should check sooner and use async_fire_internal so we catch the unsafe operation before it can corrupt the registry.
2024-04-27 07:27:49 +00:00
J. Nick Koston
8d11a9f21a Move thread safety check in entity_registry sooner (#116263)
* Move thread safety check in entity_registry sooner

It turns out we have a lot of custom components that are writing
to the entity registry using the async APIs from threads. We now
catch it at the point async_fire is called. Instread we should check
sooner and use async_fire_internal so we catch the unsafe operation
before it can corrupt the registry.

* coverage

* Apply suggestions from code review
2024-04-27 07:27:48 +00:00
Paul Bottein
603f46184c Update frontend to 20240426.0 (#116230) 2024-04-27 07:27:47 +00:00
Aidan Timson
e9c4185cf6 Fix state classes for ovo energy sensors (#116225)
* Fix state classes for ovo energy sensors

* Restore monetary values

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-27 07:27:47 +00:00
Robert Resch
2861ac4ac9 Use None as default value for strict connection cloud store (#116219) 2024-04-27 07:27:46 +00:00
Erik Montnemery
5fb08e8b25 Restore default timezone after electric_kiwi sensor tests (#116217) 2024-04-27 07:27:45 +00:00
Brett Adams
8f02ed4bf3 Breakfix to handle null value in Teslemetry (#116206)
* Fixes

* Remove unused test
2024-04-27 07:27:44 +00:00
Erik Montnemery
1be5249269 Reduce scope of bootstrap test fixture to module (#116195) 2024-04-27 07:27:43 +00:00
J. Nick Koston
9f84c38f08 Bump bluetooth-auto-recovery to 1.4.2 (#116192) 2024-04-27 07:27:42 +00:00
Erik Montnemery
a9b9d7f566 Fix flaky traccar_server tests (#116191) 2024-04-27 07:27:42 +00:00
J. Nick Koston
63ef52a312 Fix smartthings doing I/O in the event loop to import platforms (#116190) 2024-04-27 07:27:41 +00:00
Luke Lashley
8ac6593b53 Make Roborock listener update thread safe (#116184)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-27 07:27:40 +00:00
On Freund
7cabb04bc9 Bump pyrisco to 0.6.1 (#116182) 2024-04-27 07:27:39 +00:00
J. Nick Koston
1defd18cf5 Bump govee-ble to 0.31.2 (#116177)
changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.31.0...v0.31.2

Fixes some unrelated BLE devices being detected as a GVH5106
2024-04-27 07:27:38 +00:00
Jan Bouwhuis
e0cc9198aa Revert "Return specific group state if there is one" (#116176)
Revert "Return specific group state if there is one (#115866)"

This reverts commit 350ca48d4c.
2024-04-27 07:27:37 +00:00
Michael Hansen
5ac8488d2a Update Ollama model names list (#116172) 2024-04-27 07:27:36 +00:00
J. Nick Koston
12bce5451e Revert orjson to 3.9.15 due to segmentation faults (#116168) 2024-04-27 07:27:36 +00:00
Erik Montnemery
4612f18186 Remove early return when validating entity registry items (#116160) 2024-04-27 07:27:35 +00:00
Paul Bottein
29ab68fd24 Update unlocked icon for locks (#116157) 2024-04-27 07:27:34 +00:00
Erik Montnemery
0b74f02c4e Fix language in strict connection guard page (#116154) 2024-04-27 07:27:34 +00:00
epenet
571c86cb91 Handle invalid device type in onewire (#116153)
* Make device type optional in onewire

* Add comment
2024-04-27 07:27:33 +00:00
Erik Montnemery
18f1c0c9f3 Fix lying docstring for relative_time template function (#116146)
* Fix lying docstring for relative_time template function

* Update homeassistant/helpers/template.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-27 07:27:32 +00:00
Erik Montnemery
c8d025f525 Remove deprecation warnings for relative_time (#116144)
* Remove deprecation warnings for relative_time

* Update homeassistant/helpers/template.py

Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>

---------

Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>
2024-04-27 07:27:32 +00:00
On Freund
74f32cfa90 Avoid blocking the event loop when unloading Monoprice (#116141)
* Avoid blocking the event loop when unloading Monoprice

* Code review suggestions
2024-04-27 07:27:31 +00:00
rappenze
f91266908d Bump pyfibaro to 0.7.8 (#116126) 2024-04-27 07:27:30 +00:00
Joakim Plate
d6f1d0666c Update rfxtrx to 0.31.1 (#116125) 2024-04-27 07:27:29 +00:00
Joakim Plate
0eace572c6 Don't create event entries for lighting4 rfxtrx devices (#115716)
These have no standardized command need to be reworked
in the backing library to support exposing as events.

Fixes #115545
2024-04-27 07:27:28 +00:00
Maciej Bieniek
c65187cbfb Fix climate entity creation when Shelly WallDisplay uses external relay as actuator (#115216)
* Fix climate entity creation when Shelly WallDisplay uses external relay as actuator

* More comments

* Wrap condition into function

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-27 07:27:27 +00:00
Franck Nijhof
0c44051d2a Bump version to 2024.5.0b0 2024-04-24 21:05:09 +02:00
Robert Svensson
f8c38fad00 Split out event handling from Axis hub (#113837)
* Split out event handling from Axis hub

* Improve test coverage

* Mark internal methods with '_'

* Rename to event source
2024-04-24 20:47:22 +02:00
Michael
4b53471b60 Bump aiopegelonline to 0.0.10 (#116114)
bump aiopegelonline to 0.0.10
2024-04-24 20:09:40 +02:00
Daniel Hjelseth Høyer
830e8d7b94 Fix statistic bug in Tibber sensor (#116112)
* Handle keyError in Tibber sensor

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

* Constant

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>

---------

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2024-04-24 20:00:06 +02:00
Mr. Bubbles
67021be274 Add notification service for Bring component (#109222)
* Add notification service for Bring component

* change to async

* update to new library and raise for urgent message without item name

* add icons.json and replace string with reference in strings.json

* Incorporate proposed changes from https://github.com/home-assistant/core/pull/115510

* Remove unnecessary exception, rewrite translations strings

* remove unused constants
2024-04-24 19:41:46 +02:00
Michael Hansen
bc7fa8cf9e Bump intents to 2024.4.24 (#116111) 2024-04-24 18:41:17 +02:00
Steve Easley
d565c1a84b Add select platform to jvc_projector component (#111638)
* Initial commit of jvc_projector select platform

* Move icon to icons.json

* Apply suggestions from code review

* Update tests/components/jvc_projector/test_select.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-24 17:36:50 +02:00
Simone Chemelli
41a86d2404 Add quality scale to Vodafone Station (#116040)
Add quality scale
2024-04-24 17:36:31 +02:00
Simone Chemelli
7d5af09aec Add quality scale to Comelit (#116041)
add quality scale
2024-04-24 17:32:12 +02:00
TheJulianJES
5c3ffb8f55 Bump ZHA dependencies (#116106) 2024-04-24 17:24:43 +02:00
Joakim Sørensen
f83ee963bf Add binary sensor entities to Traccar Server (#114719) 2024-04-24 17:08:56 +02:00
Manuel Dipolt
2beab34de8 Add sensor platform to romy integration (#112388)
* poc romy status sensor working

* poc romy adc sensor working

* code review changes

* code review changes base enitity.py see branch romy_binary_sensor

* code review change: move CoordinatorEntity to the base class

* code review changes: sensors disabled per default

* code review: icons.json added

* checkout main entity.py

* code review changes: sensors enabled per default again

* disable rssi sensor per default

* Update homeassistant/components/romy/strings.json

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

* code review changes

* code review changes

* code review changes

* pylint fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-24 17:06:46 +02:00
puddly
380f192c93 Expose the SkyConnect integration with a firmware config/options flow (#115363)
Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-04-24 17:06:24 +02:00
J. Nick Koston
e47e62cbbf Reduce duplicate code in enphase_envoy (#116107)
Also converts a coro to a callback function since nothing
was being awaited
2024-04-24 16:58:46 +02:00
Phil Bruckner
169b9b0bfe Fix removing suggested_display_precision from entity registry (#110671)
* Fix removing suggested_display_precision from entity registry

* Fix tests

* Update homeassistant/components/sensor/__init__.py

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-04-24 16:47:03 +02:00
Arie Catsman
bbaa0c16cc Cancel timer on enphase_envoy config entry unload (#111406)
* lingeringtimer

* Add async_cleanup to enphase_envoy_coordinator and call from unload_entry
2024-04-24 16:33:14 +02:00
nyangogo
c9ff618ef0 Add nfandroidtv type checking and allow for strings to be passed to the image and icon data (#108652)
* nfandroidtv - add type checking and allow for strings to be passed to the image and icon data

* nfandroidtv - wrong argument name

* nfandroidtv - put the icon in the wrong varible 🙃

* nfandroidtv - raise ServiceValidationError instead of logging

---------

Co-authored-by: nyangogo <7449028+ioangogo@users.noreply.github.com>
2024-04-24 16:19:44 +02:00
J. Nick Koston
d0f5e40b19 Refactor ESPHome manager to avoid sending signals in tests (#116033) 2024-04-24 16:14:44 +02:00
Manuel Dipolt
220dc1f125 Add binary sensor platform to romy integration (#112998)
* wip

* poc working, reworked to a binary sensor list

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* Update homeassistant/components/romy/binary_sensor.py

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

* code review changes, adjust translation key names

* code review clean up: removed unecessary RomyBinarySensorEntityDescription

* code review changes: translation names

* code review changes, put DeviceInfo into RomyEntity

* code review change: change docked icon to type plug

* code review change: move CoordinatorEntity to the base class

* code review changes: sensors disabled per default

* code review: icons.json added

* code review changes: sensors enabled per default again

* checkout main entity.py

* type hinting changes

* Update homeassistant/components/romy/binary_sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-24 15:59:09 +02:00
mletenay
74cea2ecae Update goodwe library to 0.3.2 (#115309) 2024-04-24 15:31:29 +02:00
Bram Kragten
ea96ac37b7 Update frontend to 20240424.1 (#116103) 2024-04-24 15:29:51 +02:00
Jan Bouwhuis
70b358bca1 Always reload after a successful reauth flow (#116026)
* Always reload after a succesfull reauth-flow

* Add test, fix CI failures

* Add kwarg to prevent reloading and tests

* Do not reload entry for bond if it exists

* Remove mocks on internals

* Rename kwarg to always_reload

* Update tests/components/weatherflow_cloud/test_config_flow.py

* Update tests/components/homeworks/test_config_flow.py

* Update tests/components/homeworks/test_config_flow.py

* Rename to option to reload_even_if_entry_is_unchanged
2024-04-24 15:13:33 +02:00
Jan Bouwhuis
350ca48d4c Return specific group state if there is one (#115866)
* Return specific group state if there is one

* Refactor

* Additional test cases

* Refactor

* Break out if more than one on state

* tweaks

* Remove log, add comment

* add comment

* Apply suggestions from code review

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

* Refactor and improve comments

* Refactor to class method

* More filtering

* Apply suggestions from code review

* Only active if not excluded

* Do not use a set

* Apply suggestions from code review

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 15:12:29 +02:00
Shai Ungar
1f4585cc9e Add service to 17track to get packages (#116067)
* Add service to 17track

* Add service to 17track

change to select selector
add snapshot test

* Add service to 17track

use strings for the selector

* Add service to 17track

fix test
2024-04-24 14:29:13 +02:00
Pete Sage
24a1f0712f Fix Sonos music library play problems (#113429) 2024-04-24 14:03:40 +02:00
Brett Adams
0e0b543dec Deprecate speed limit lock in Tessie (#113848) 2024-04-24 13:30:22 +02:00
Jan Bouwhuis
18132916fa Mask current password in MQTT option flow (#116098)
* Mask current password in MQTT option flow

* Update docstr

* Typo
2024-04-24 13:29:42 +02:00
Andy
5aa61cb6d5 Extend options for ecovacs lifespans (#116094)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-04-24 13:19:50 +02:00
Michael
bfed682abe Mark Tankerkoenig as Platinum 🏆 integration (#115917) 2024-04-24 13:18:09 +02:00
Marc Mueller
a752f8e7d7 Remove microsoft apt package list before update (#116097) 2024-04-24 13:17:01 +02:00
Michael
9fcb774252 Add reconfigure flow to AVM Fritz!SmartHome (#116047) 2024-04-24 13:06:14 +02:00
J. Nick Koston
d17e9bfc99 Enable debug mode if asyncio debug is on at startup (#116084) 2024-04-24 12:55:09 +02:00
J. Nick Koston
df12789e08 Remove duplicate async_write_ha_state thread safety check (#116086) 2024-04-24 12:46:16 +02:00
J. Nick Koston
e3984cd50a Temporary CI workaround for broken microsoft ubuntu repo (#116091) 2024-04-24 12:06:52 +02:00
J. Nick Koston
e9e401ae29 Migrate discovery debouncer callback to async_fire_internal (#116078) 2024-04-24 11:26:48 +02:00
rlippmann
1120246194 Deprecate relative_time() in favor of time_since() and time_until() (#111177)
* add time_since/time_until.  add deprecation of relative_time

* fix merge conflicts

* Apply suggestions from code review

* Update homeassistant/helpers/template.py

* Update homeassistant/helpers/template.py

* Update homeassistant/helpers/template.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 11:13:07 +02:00
J. Nick Koston
e0b58c3f45 Move thread safety check in async_register/async_remove (#116077) 2024-04-24 10:41:11 +02:00
Marc Mueller
5bded2a52d Fix accuweather system_health after data change (#116063) 2024-04-24 10:30:57 +02:00
Robert Resch
bcc2dd99b2 Rename strict connection static page to guard page (#116085) 2024-04-24 10:29:59 +02:00
Simon Roberts
07d68eacfa Fix iotawatt warnings about "Detected new cycle for sensor.{sensorname}_wh_last" (#115909)
* Bump ha-iotawattpy to 0.1.2

* Remove energy energy-over-period sensors: they cause issue for HA

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-04-24 10:24:49 +02:00
TheJulianJES
102b34123c Bump zha-quirks to 0.0.115 (#116071) 2024-04-24 10:17:01 +02:00
Gage Benne
c4340f6f5f Ecobee preset mode icon translations (#116072) 2024-04-24 10:16:35 +02:00
J. Nick Koston
79b4889812 Always do thread safety checks when writing state for custom components (#116044) 2024-04-24 10:05:52 +02:00
Bouwe Westerdijk
6f2a2ba46e Bump plugwise to v0.37.3 (#116081) 2024-04-24 10:00:18 +02:00
Robert Resch
a4829330f6 Add strict connection for cloud (#115814)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-24 09:57:38 +02:00
J. Nick Koston
b520efb87a Small speed up to async_track_event (#116083) 2024-04-24 09:56:59 +02:00
Robert Resch
ec377ce665 Bump deebot-client to 7.1.0 (#116082) 2024-04-24 09:49:10 +02:00
Richard Kroegel
474a1a3d94 Use display_precision if suggested_display_precision is None (#110270)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-24 09:46:55 +02:00
osohotwateriot
44208a5be0 Add OSO Energy sensors (#108226)
* Add OSO Energy sensors

* Fix comments

* Fixes after review

* Fix sensor names and translations

* Fixes after review

* Fix validation errors

* Fixes after review

* Remove profile sensor
2024-04-24 08:19:26 +02:00
Michael
d8cca482b3 Add reconfigure flow to AVM Fritz!Tools (#116057)
add reconfigure flow
2024-04-24 07:52:14 +02:00
Matthias Alphart
f115525137 Migrate KNX notify service to entity platform (#115665) 2024-04-24 07:51:02 +02:00
Sid
b37f7b1ff0 Enable Ruff RUF019 (#115396)
* Enable Ruff RUF019

* fix tado tests

* review comments
2024-04-24 07:23:24 +02:00
J. Nick Koston
4a59ee978c Always do thread safety checks when calling async_fire (#116055) 2024-04-24 06:41:55 +02:00
J. Nick Koston
53a179088f Add debug mode to catch unsafe thread operations using core helpers (#115390)
* adjust

* adjust

* fixes

* one more

* test

* debug

* move to config

* cover

* Update homeassistant/core.py

* set debug from RuntimeConfig

* reduce

* fix message

* raise

* Update homeassistant/core.py

* Update homeassistant/core.py

* no flood check for raise

* cover
2024-04-24 03:36:05 +02:00
J. Nick Koston
9d54aa205b Fix non-thread-safe operations in html5 (#116068)
Fix non thread-safe calls in html5

https://github.com/home-assistant/core/actions/runs/8808425552/job/24177668764?pr=116055
2024-04-24 03:33:19 +02:00
J. Nick Koston
b1b8b8ba00 Fix non-thread-safe operations in wake_on_lan (#116069)
Fix unsafe thread operations in wake_on_lan

https://github.com/home-assistant/core/actions/runs/8808429751/job/24177715837?pr=116066
2024-04-24 03:32:07 +02:00
J. Nick Koston
f2336a5a3a Fix non-thread-safe operation in harmony (#116070)
Fix unsafe thread operation in harmony

https://github.com/home-assistant/core/actions/runs/8808429751/job/24177716644?pr=116066
2024-04-24 03:31:44 +02:00
David Friedland
e3016b131a Add Event support to ESPHome components (#116061)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-04-24 13:22:03 +12:00
J. Nick Koston
f9c2cd73f5 Fix non-thread-safe operations in media_extractor (#116065) 2024-04-24 02:19:18 +02:00
dependabot[bot]
62dadc47ff Bump github/codeql-action from 3.25.1 to 3.25.2 (#116016)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-24 00:02:31 +02:00
Michael
35db2e4101 Complete test coverage for Tankerkonig (#115920)
* complete tests

* update snapshots after rebase
2024-04-23 23:42:17 +02:00
Jan Bouwhuis
72ed16c3e0 Update quality scale mqtt integration to platinum (#116059) 2024-04-23 23:20:34 +02:00
Jan Bouwhuis
8d2813fb8b Migrate legacy Ecobee notify service (#115592)
* Migrate legacy Ecobee notify service

* Correct comment

* Update homeassistant/components/ecobee/notify.py

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

* Use version to check latest entry being used

* Use 6 months of deprecation

* Add repair flow tests

* Only allow migrate_notify fix flow

* Simplify repair flow

* Use ecobee data to refrence entry

* Make entry attrubute puiblic

* Use hass.data ro retrieve entry.

* Only register issue when legacy service when it is use

* Remove backslash

* Use ws_client.send_json_auto_id

* Cleanup

* Import domain from notify integration

* Apply suggestions from code review

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

* Update dependencies

* Use Issue_registry fixture

* remove `update_before_add` flag

* Update homeassistant/components/ecobee/notify.py

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

* Update homeassistant/components/ecobee/notify.py

* Update tests/components/ecobee/conftest.py

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

* Fix typo and import

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-23 22:53:13 +02:00
J. Nick Koston
0f60b404df Fix husqvarna_automower typing (#116060) 2024-04-23 22:50:31 +02:00
Franck Nijhof
f828eb2301 Merge branch 'master' into dev 2024-04-23 22:40:16 +02:00
Joost Lekkerkerker
a45040af14 Add entity translations to 17track (#116022) 2024-04-23 22:30:20 +02:00
J. Nick Koston
a22c221722 Rename bus._async_fire to bus.async_fire_internal (#116027) 2024-04-23 22:28:31 +02:00
Jan Bouwhuis
31d11b2362 Add re-auth flow for MQTT broker username and password (#116011)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-23 22:26:01 +02:00
J. Nick Koston
0c583bb1d9 Fix ruff complaints in control4 (#116058) 2024-04-23 22:25:35 +02:00
J. Nick Koston
8f1761343e Only work out job type once when setting up dispatcher (#116030) 2024-04-23 22:24:36 +02:00
Thomas55555
f1fa33483e Bump aioautomower to 2024.4.3 (#114500) 2024-04-23 22:23:44 +02:00
Bouwe Westerdijk
2c7a1ddb1d Bump plugwise to v0.37.2 (#115989) 2024-04-23 22:13:09 +02:00
Brett Adams
f249a9ba4b Add API scope checks to Teslemetry (#113640) 2024-04-23 22:11:41 +02:00
Nalin Mahajan
a33aacfcaa Add Retry for C4 API due to flakiness (#113857)
Co-authored-by: nalin29 <nalin29@github.com>
2024-04-23 22:10:16 +02:00
J. Nick Koston
fd08b7281e Convert solaredge to asyncio with aiosolaredge (#115599) 2024-04-23 22:07:16 +02:00
Jan Bouwhuis
d08bb96d00 Deprecate Unify Circuit integration (#115528)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-23 21:59:03 +02:00
Joost Lekkerkerker
b5bd25d4fb Add entity translations to totalconnect (#115950) 2024-04-23 21:54:13 +02:00
J. Nick Koston
bb2bd086bc Add missing adapter data to Bluetooth config entry titles (#115930) 2024-04-23 21:52:55 +02:00
Franck Nijhof
60be2af8ac 2024.4.4 (#116045) 2024-04-23 21:50:08 +02:00
Robert Svensson
8bf3c87336 Breakout heartbeat monitor and poe command queue in UniFi (#112529)
* Split out entity helper functionality to own class

* Split out heartbeat to own class

* Break out poe command

* Make more parts private

* Make more things private and simplify naming

* Sort initialize

* Fix ruff
2024-04-23 21:45:20 +02:00
Franck Nijhof
3e0a45eee2 Update requests_mock to 1.12.1 (#116050) 2024-04-23 21:36:36 +02:00
J. Nick Koston
46ec8a85b6 Pass the job type when setting up homekit state change listeners (#116038) 2024-04-23 21:31:08 +02:00
Franck Nijhof
991e479dac Update coverage to 7.5.0 (#116048) 2024-04-23 21:26:00 +02:00
Franck Nijhof
61cf7e851b Update pipdeptree to 2.17.0 (#116049) 2024-04-23 21:13:32 +02:00
Markus Jacobsen
0ed48c844d Bump mozart-api to 3.4.1.8.5 (#113745) 2024-04-23 21:06:06 +02:00
Franck Nijhof
4d551d68c6 Bump version to 2024.4.4 2024-04-23 20:12:21 +02:00
Raj Laud
b521acb724 Use start helper in squeezebox for server discovery (#115978) 2024-04-23 20:12:06 +02:00
Michael
036b6fca25 Fix geo location attributes of Tankerkoenig sensors (#115914)
* geo location attributes needs to be float

* make mypy happy
2024-04-23 20:12:04 +02:00
Allen Porter
c9c7c7803e Bump ical to 8.0.0 (#115907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-23 20:12:01 +02:00
jjlawren
b8b2f6427a Bump plexapi to 4.15.12 (#115872) 2024-04-23 20:11:58 +02:00
Ståle Storø Hauknes
13ed2d2919 Fix KeyError error when fetching sensors (Airthings) (#115844) 2024-04-23 20:11:55 +02:00
J. Nick Koston
32f82d480f Ensure scripts with timeouts of zero timeout immediately (#115830) 2024-04-23 20:11:52 +02:00
Robert Svensson
6464218e59 Bump aiounifi to v75 (#115819) 2024-04-23 20:11:49 +02:00
Simone Chemelli
4088447303 Add missing media_player features to Samsung TV (#115788)
* add missing features

* fix snapshot
2024-04-23 20:11:46 +02:00
Erik Montnemery
851a5497b4 Allow [##:##:##] type keypad address in homeworks (#115762)
Allow [##:##:##] type keypad address
2024-04-23 20:11:43 +02:00
Erik Montnemery
c4b504ce39 Fix homeworks import flow (#115761) 2024-04-23 20:11:40 +02:00
epenet
db31a526e5 Bump renault-api to 0.2.2 (#115738) 2024-04-23 20:11:36 +02:00
J. Nick Koston
8207fc29d2 Bump aiohttp to 3.9.5 (#115727)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.9.4...v3.9.5
2024-04-23 20:08:08 +02:00
J. Nick Koston
630763ad9e Bump sqlparse to 0.5.0 (#115681)
fixes https://github.com/home-assistant/core/security/dependabot/54
fixes https://github.com/home-assistant/core/security/dependabot/55
2024-04-23 20:07:08 +02:00
J. Nick Koston
09ed0aa399 Bump httpcore to 1.0.5 (#115672)
Fixes missing handling of EndOfStream errors
2024-04-23 20:07:05 +02:00
Brett Adams
66918d1686 Fix sensor entity description in Teslemetry (#115614)
Add description back to sensor entity
2024-04-23 20:07:02 +02:00
jan iversen
3d68ee99a4 Modbus: Bump pymodbus v3.6.8 (#115574) 2024-04-23 20:06:59 +02:00
Brett Adams
37a82c8785 Fix Teslemetry sensor values (#115571) 2024-04-23 20:06:56 +02:00
J. Nick Koston
038040db5e Fix race in TimestampDataUpdateCoordinator (#115542)
* Fix race in TimestampDataUpdateCoordinator

The last_update_success_time value was being set after the listeners
were fired which could lead to a loop because the listener may
re-trigger an update because it thinks the data is stale

* coverage

* docstring
2024-04-23 20:06:53 +02:00
Marc Mueller
b770edc16e Update pillow to 10.3.0 (#115524) 2024-04-23 20:06:50 +02:00
J. Nick Koston
e1a2416076 Bump zeroconf to 0.132.2 (#115505) 2024-04-23 20:06:47 +02:00
J. Nick Koston
6247624514 Bump zeroconf to 0.132.1 (#115501) 2024-04-23 20:06:44 +02:00
slyoldfox
42c13eb57f Add scheduled mode to renault charge mode (#115427)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-23 20:06:41 +02:00
avee87
7eb6b2ca33 Fix Hyperion light not updating state (#115389) 2024-04-23 20:03:23 +02:00
Joost Lekkerkerker
5194faa8fd Make Withings recoverable after internet outage (#115124) 2024-04-23 20:03:20 +02:00
Jonny Rimkus
5826f9a4f6 Bump slixmpp version to 1.8.5 (#114448)
* Update slixmpp to 1.8.5, hopefully fixes #113990

* Bump slixmpp version to 1.8.5 #114448
2024-04-23 20:03:15 +02:00
Jim
cc9eab4c78 Allow plain text messages in telegram_bot (#110051)
* Add new plain_text parser

Passing None in the parse_mode kwargs on the various bot methods actually means that no parser is used.

* Add new plain text parser option to services.yaml

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 19:32:09 +02:00
Tucker Kern
d8aa1cd8b5 Add fan preset translations and icons to BAF (#109944) 2024-04-23 19:11:40 +02:00
Erik Montnemery
d4ecf30b6a Include libgammu-dev in devcontainer (#115983) 2024-04-23 18:35:53 +02:00
David Knowles
3b678896d9 Remove platform schema from Hydrawise (#116032) 2024-04-23 18:08:07 +02:00
Michael
10228ee1a2 Bump python-fritzhome to 0.6.11 (#115904) 2024-04-23 17:39:44 +02:00
Thomas55555
d4b801af32 Use snapshot test helper in Husqvarna Automower (#116039) 2024-04-23 17:39:29 +02:00
Marc Mueller
8257af1b22 Improve energy typing (#116034) 2024-04-23 17:33:36 +02:00
Marc Mueller
14e19c6d9c Remove unnecessary type ignores (#116036) 2024-04-23 17:32:21 +02:00
Volker Stolz
5e250d8a76 Augment SyntaxError raised during dependency collection with offending filename (#109204)
* Capture parsing exception when collecting dependencies and augment with offending filename.

Whereas before any syntax error in some component-file would result in an opaque SyntaxError without pointing out the file, now the result will show as:

```
  File "/usr/local/Cellar/python@3.11/3.11.7_1/Frameworks/Python.framework/Versions/3.11/lib/python3.11/multiprocessing/pool.py", line 873, in next
    raise value
SyntaxError: Can't parse file homeassistant/components/your/file.py
```

* tweak

* D'oh, had pre-commit hook still off.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 17:13:25 +02:00
Maikel Punie
90efe5ac90 Velbus Cover: Assume state for VMBxBL modules (#109213) 2024-04-23 16:44:37 +02:00
Spacetech
1649957e5c Expose dynamic range status in Onkyo media player (#109099)
Expose HDR status in Onkyo media player

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 16:39:11 +02:00
Marc Mueller
a0314cddd4 Fix invalid tuple annotations (#116035) 2024-04-23 16:02:16 +02:00
Ståle Storø Hauknes
d367bc63f0 Fix KeyError error when fetching sensors (Airthings) (#115844) 2024-04-23 15:53:31 +02:00
Robert Resch
fced9eb4b5 Use location name on self hosted Ecovacs config entries (#115294) 2024-04-23 14:33:05 +02:00
Arie Catsman
2c651e190f Add additional zeroconf discovery coverage and logging to enphase_envoy (#114405)
* add debug info to zeroconf for enphase_envoy

* Implement review feedback, lost space

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>

* review feedback textual changes.

* implement review feedbackw.py

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

* Add some more zeroconf tests and valid jwt

* review feedback assert abort reason and keyerror for serialnumber

* Review feedback config flow test ends with abort or create_entry

* Review feedback optimize resource usage

* Cover new code in test.

* Use caplog for debug COV

---------

Co-authored-by: Charles Garwood <cgarwood@newdealmultimedia.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-23 08:26:53 -04:00
Thomas55555
b8918d7d17 Add number platform to Husqvarna Automower (#115125)
* Add number platform to Husqvarna Automower

* use fixture to enable by default

* replace state test with snapshot test

* make property in entity description

* send value as integer

* give the exists functions something to do
2024-04-23 14:18:49 +02:00
Robert Resch
fd14695d26 Bump deebot-client to 7.0.0 (#116025) 2024-04-23 13:16:55 +02:00
Joost Lekkerkerker
2977ec4872 Add event platform to Lutron (#109121)
* Add event platform to Lutron

* Add event platform to Lutron

* Fix

* Fix

* Fix

* Add deprecation note

* Fix

* Fix

* Update homeassistant/components/lutron/event.py

* Update homeassistant/components/lutron/event.py

* Fix
2024-04-23 11:54:19 +02:00
Jesse Hills
85203aeb28 Bump aioesphomeapi to 24.3.0 (#116004) 2024-04-23 11:23:28 +02:00
Marc Mueller
9cdf7b435a Add uv version to wheels cache key [ci] (#116021) 2024-04-23 11:06:29 +02:00
jan iversen
640dc56c51 Deprecate modbus:restart service (#115754) 2024-04-23 10:28:46 +02:00
Martijn van der Pol
e90d76b18d Don't raise errors when using datetime objects in as_datetime Jinja function/filter (#109062)
* add support for datetime objects to as_datetime

* change import of datetime.date

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-23 09:55:58 +02:00
myhomeiot
3d59303433 Improve Vodafone Station empty/unavailable phone number detection (#115696)
Vodafone Sercomm H300S model incorrectly reports phone_unavailable1/phone_unavailable2 flags.
2024-04-23 09:50:41 +02:00
Joost Lekkerkerker
8f56d170b9 Use generator expression in totalconnect (#116020) 2024-04-23 09:48:17 +02:00
dependabot[bot]
e2b401397d Bump actions/upload-artifact from 4.3.1 to 4.3.3 (#116015) 2024-04-23 09:24:32 +02:00
dependabot[bot]
616c7ce68b Bump actions/download-artifact from 4.1.4 to 4.1.6 (#116017) 2024-04-23 09:23:45 +02:00
Shai Ungar
e0c785b2b4 Add coordinator to 17Track (#115057)
* Add coordinator to 17Track

* Add coordinator to 17Track

remove SensorEntityDescription (different PR)

* Update homeassistant/components/seventeentrack/coordinator.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* Add coordinator to 17Track

fix CR

* Add coordinator to 17Track

fix second CR

* Add coordinator to 17Track

remove commented out code + fix display name

* Add coordinator to 17Track

created a set outside _async_create_remove_entities function

* Add coordinator to 17Track

fix CR

* Add coordinator to 17Track

fix CR 2

* Update homeassistant/components/seventeentrack/coordinator.py

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

* Add coordinator to 17Track

raise UpdateFailed if API throws an exception

* Add coordinator to 17Track

merge calls

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-23 09:01:45 +02:00
Thomas Kistler
b8f44fb722 Update Hydrawise from the legacy API to the new GraphQL API (#106904)
* Update Hydrawise from the legacy API to the new GraphQL API.

* Cleanup
2024-04-23 09:01:25 +02:00
G Johansson
917f4136a7 Add config flow to Folder Watcher (#105605)
* Add config flow to Folder Watcher

* Add tests config flow

* docstrings

* watcher is sync

* Fix strings

* Fix

* setup_entry issue

* ConfigFlowResult

* Review comments

* Review comment

* ruff

* new date
2024-04-23 08:55:39 +02:00
Robert Resch
2fafdc64d5 Bump uv to 0.1.35 (#115985) 2024-04-23 08:48:35 +02:00
Robert Svensson
c32961f1bc Bump aiounifi to v76 (#116005)
* Bump aiounifi to v76
2024-04-23 07:48:25 +02:00
Kim de Vos
b69f589c30 Add bandwidth sensor for unifi device ports (#115362) 2024-04-22 22:39:46 +02:00
G Johansson
5318a6f465 Bump holidays to 0.47 (#115992) 2024-04-22 21:33:56 +02:00
karwosts
2ac44f6083 Make recorder.purge_entities require at least one entity filter value (#110066)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-22 20:10:18 +02:00
J. Nick Koston
0ed56694b0 Migrate MQTT EnsureJobAfterCooldown to use eager start (#115977) 2024-04-22 20:09:45 +02:00
Marc-Olivier Arsenault
f2adae4524 Revert "Reduce ecobee throttle (#115968)" (#115981) 2024-04-22 19:28:08 +02:00
Erik Montnemery
2caca7fbe3 Generate requirements per supported architecture (#115708)
* Generate requirements per supported architecture

* Don't store wheels requirements in the repo

* Dry run

* Set Python version

* Install base packages

* Fix

* Fix

* Fix

* Fix typo

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

* Genarate requirements_all_pytest.txt

* Fix hassfest

* Reenable building wheels

* Remove unneeded code

* Address review comment

* Fix lying comment

* Add tests, address review comments

* Deduplicate

* Fix file name

* Add comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-22 19:23:08 +02:00
Raj Laud
124eca4d53 Use start helper in squeezebox for server discovery (#115978) 2024-04-22 17:46:12 +02:00
David Knowles
2afaa3d333 Remove YAML support from Hydrawise (#115966) 2024-04-22 16:54:04 +02:00
J. Nick Koston
20adc5be70 Small fixes for processing integration requirements (#115973) 2024-04-22 16:52:04 +02:00
J. Nick Koston
37d329c286 Improve reliability of homeassistant_alerts updates (#115974) 2024-04-22 16:51:19 +02:00
Marc-Olivier Arsenault
65b2c1519c Reduce ecobee throttle (#115968)
reduce ecobee throttle
2024-04-22 16:43:01 +02:00
Michael
5a7e921ae3 Address late review for AVM Fritz!Smarthome (#115960)
fix typo
2024-04-22 13:24:23 +02:00
Jesse Hills
9b6863f182 ESPHome: Add datetime entities (#115942) 2024-04-22 13:12:22 +02:00
Joost Lekkerkerker
693bd08a0b Add snapshot tests to Totalconnect (#115952)
* Add snapshot tests to Totalconnect

* Add snapshot tests to Totalconnect
2024-04-22 13:01:31 +02:00
Aidan Timson
6985d36f18 Update ovoenergy to 2.0.0 (#115921)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-22 12:39:53 +02:00
Maciej Bieniek
354e8e92f3 Move NextDNS data update coordinators to the coordinator module (#115919)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-22 11:19:35 +02:00
Joost Lekkerkerker
09ae8b9f52 Introduce base location entity for totalconnect (#115938)
* Introduce base location entity for totalconnect

* Update homeassistant/components/totalconnect/entity.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-22 10:41:26 +02:00
Jesse Hills
46941adb51 Bump aioesphomeapi to 24.2.0 (#115943) 2024-04-22 10:30:14 +02:00
Quentame
f927b27ed4 Add Epic Games Store integration (#104725)
* Add Epic Games Store integration

Squashed commit of the following PR: #81167

* Bump epicstore-api to 0.1.7 as it handle better error 1004

Thanks to d7469f7c99

* Use extra_state_attributes instead of overriding state_attributes

* Review: change how config_flow.validate_input is handled

* Use LanguageSelector and rename locale to language

* Review: init-better use of hass.data.setdefault

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

* Review: don't need to update at init

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

* Revert "Review: don't need to update at init" --> not working otherwise

This reverts commit 1445a87c8e9b7247f1c9835bf2e2d7297dd02586.

* Review: fix config_flow.validate_input/retactor following lib bump

* review: merge async_update function with event property

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

* hassfest

* Fix duplicates data from applied comment review 5035055

* review: thanks to 5035055 async_add_entities update_before_add param is not required anymore

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

* Fix Christmas special "Holiday sale" case

* gen_requirements_all

* Use CONF_LANGUAGE from HA const

* Move CalendarType to const

* manifest: integration_type -> service

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* calendar: remove date start/end assert

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

* const: rename SUPPORTED_LANGUAGES

* hassfest

* config: Move to ConfigFlowResult

* coordinator: main file comment

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

* ruff & hassfest

* review: do not guess country

* Add @hacf-fr as codeowner

* review: remove games extra_attrs
Was dropped somehow:
- 73c20f34803b0a0ec242bf0740494f17a68f6f59 review: move games extra_attrs to data service
- other commit that removed the service part

* review: remove unused error class
was removed:
- 040cf945bb5346b6d42b3782b5061a13fb7b1f6b

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-22 09:54:47 +02:00
dependabot[bot]
66ea528e94 Bump actions/checkout from 4.1.2 to 4.1.3 (#115945)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-22 09:43:19 +02:00
rappenze
de75f82235 Refactor fibaro connect (#106875)
* Refactor fibaro connect

* Remove obsolete test

* Add comment about ignored return value
2024-04-22 09:29:58 +02:00
rappenze
aeaa1f84c0 Add type hints in fibaro device (#106874)
* Add typings in fibaro device

* Fix type hints

* Fix type hints

* Remove unused method parameter

* Improve log message

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-22 09:29:10 +02:00
andarotajo
70d4b4d20d Add optional location based region to dwd_weather_warnings (#96027)
* Add device tracker option

* Update const name to be more understandable

* Clean up sensor code

* Clean up init and coordinator

* Add tests and update util function and it's usage

* Switch to using the registry entry and add tests

* Clean up code

* Consolidate duplicate code and adjust tests

* Fix runtime error

* Fix blocking of the event loop

* Adjust API object handling

* Update homeassistant/components/dwd_weather_warnings/exceptions.py

* Optimize coordinator data update

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-22 09:13:09 +02:00
Allen Porter
e29b301dd1 Bump ical to 8.0.0 (#115907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-21 15:52:47 -07:00
Joost Lekkerkerker
f26ac465b5 Introduce base entity for totalconnect (#115936) 2024-04-21 23:38:32 +02:00
Sid
895f73d8e4 Enable Ruff A001 (#115654) 2024-04-21 23:25:27 +02:00
J. Nick Koston
8754b12d08 Temporarily pickup mqtt codeowner (#115934) 2024-04-21 22:57:57 +02:00
J. Nick Koston
423544401e Convert MQTT to use asyncio (#115910) 2024-04-21 22:33:58 +02:00
Michael
5a24690d79 Make use of snapshot testing in Synology DSM (#115931) 2024-04-21 22:26:57 +02:00
mkmer
2620443a88 Add error translations to Blink (#115924)
* Add translations
Catch timeout in snap

* Grammer cleanup
2024-04-21 21:19:48 +02:00
Austin Mroczek
ddb415b77e Bump total_connect_client to 2023.12.1 (#115928)
bump total_connect_client to 2023.12.1
2024-04-21 20:27:50 +02:00
Robert Svensson
83370a5bde Remove sensor exposing UniFi WLAN password (#115929) 2024-04-21 20:27:44 +02:00
Joost Lekkerkerker
95b858648e Refactor Totalconnect binary sensor (#115629) 2024-04-21 17:36:19 +02:00
Michael
ec066472ae Fix geo location attributes of Tankerkoenig sensors (#115914)
* geo location attributes needs to be float

* make mypy happy
2024-04-21 11:44:58 +02:00
wittypluck
1c0c0bb0bc Allow manual delete of stale Unifi device from UI (#115267)
* Allow manual delete of stale device from UI

* Add unit tests for remove_config_entry_device
2024-04-21 11:08:39 +02:00
Jan Bouwhuis
b592225a87 Improve service validation exception test and translation key (#115843)
* Small improvement to service validation exception test and translation key

* Apply suggestions from code review

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

* Refactor string assertion

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-21 08:54:23 +02:00
Adam Goode
27bccf0b24 Add test for prometheus export of entities becoming unavailable and available again (#112157)
Add test for state change to unavailable and back
2024-04-20 20:20:01 -07:00
David Bonnes
30a60fd38b Improve debug logging for evohome (#110256)
better logging
2024-04-20 20:17:11 -07:00
Luke Lashley
d8117fd2bd Fix Roborock status not correctly mapping for some devices (#115646)
Use device_info.model instead of name
2024-04-20 19:57:05 -07:00
J. Nick Koston
29bfed72f7 Fix flaky history stats test (#115824) 2024-04-21 01:08:40 +02:00
Brett Adams
7d386b0d26 Fix sensor entity description in Teslemetry (#115614)
Add description back to sensor entity
2024-04-20 23:54:24 +02:00
r-binder
68225abce5 Add tls support for AVM Fritz!Tools (#112714) 2024-04-20 23:08:29 +02:00
Sid
b450918f66 Bump ruff to 0.4.1 (#115873) 2024-04-20 21:35:02 +02:00
Joost Lekkerkerker
48d1692cd6 Use snapshot test helper in Ambient Network (#115887) 2024-04-20 21:29:14 +02:00
Joost Lekkerkerker
ee116713cf Use snapshot test helper in Analytics insights (#115889) 2024-04-20 21:27:54 +02:00
Alberto Montes
c94b0a82ca Make release channel a hardcoded enum rather than a free form string (#115595)
* Make release channel a hardcoded enum rather than a free form string

* Update enum comparison to remove equality and us identity comparison

* Fix comparison condition to match the previous implementation

* Update tests to use Enum instead of string
2024-04-20 20:01:49 +02:00
Joost Lekkerkerker
c753093741 Use snapshot test helper in AO Smith (#115890) 2024-04-20 19:10:56 +02:00
mtielen
d478b87af7 Fix Wolf Smart Set Authentication and Session Management (#115815)
* Fix Wolf Smart Set Authentication and Session Management

Fix in the library to respect Wolf API token lifetime and implement Session Management

* Updatie requirments

* Update Code Owner
2024-04-20 19:09:32 +02:00
Maciej Bieniek
10be2cc004 Use snapshot test helper in NextDNS (#115895)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 18:43:40 +02:00
Maciej Bieniek
5e345b7129 Use snapshot test helper in NAM (#115894)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 18:43:33 +02:00
Maciej Bieniek
de1312f7e4 Use snapshot test helper in GIOS (#115893)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 18:43:25 +02:00
Joost Lekkerkerker
b328981868 Use snapshot test helper in Accuweather (#115884) 2024-04-20 17:24:40 +02:00
Joost Lekkerkerker
5796b651af Use snapshot test helper in Brother (#115885) 2024-04-20 17:14:42 +02:00
Joost Lekkerkerker
16e31d8f74 Add test helper to snapshot a platform (#115880)
* Add test helper to snapshot a platform

* Add test helper to snapshot a platform
2024-04-20 14:49:57 +02:00
Nathan Spencer
8f73422ce5 Bump pylitterbot to 2023.5.0 (#115856) 2024-04-20 12:37:35 +02:00
jjlawren
e3ce3ed6fd Bump plexapi to 4.15.12 (#115872) 2024-04-20 12:36:03 +02:00
Maciej Bieniek
194f3366ce Use snapshot testing in NAM sensor and diagnostics (#115877)
* Use snapshot testing in NAM diagnostics

* Use snapshot testing in NAM sensor

* Add NAM data fixture

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:34:27 +02:00
Maciej Bieniek
c4e7a7af21 Use snapshot testing in Brother sensor (#115875)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:33:08 +02:00
Maciej Bieniek
c2450c1112 Use snapshot testing in GIOS sensor (#115876)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:32:11 +02:00
Maciej Bieniek
c8d52c02c5 Use snapshot testing in NextDNS (#115879)
* Use snapshot testing in NextDNS sensor

* Use snapshot testing in NextDNS switch

* Use snapshot testing in NextDNS binary sensor

* Use snapshot testing in NextDNS button

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-20 12:31:20 +02:00
Michael
354c20a57b Automatic cleanup of entity and device registry in AVM FRITZ!SmartHome (#114601) 2024-04-20 12:13:56 +02:00
J. Nick Koston
0ea1564248 Bump bluetooth-adapters to 0.19.0 (#115864) 2024-04-20 01:36:46 +02:00
Maciej Bieniek
ffd6635c14 Bump nettigo_air_monitor to version 3.0.0 (#115853)
Bump nettigo_air_monitor to version 3.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-19 20:25:57 +02:00
Maciej Bieniek
f9ff3165af Bump nextdns to version 3.0.0 (#115854)
Bump nextdns to version 3.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-19 20:25:07 +02:00
Jan Bouwhuis
a8025a8606 Fix mutable objects in group registry class (#115797) 2024-04-19 18:41:29 +02:00
J. Nick Koston
4529268544 Ensure scripts with timeouts of zero timeout immediately (#115830) 2024-04-19 18:24:54 +02:00
slyoldfox
ebbcad17c6 Add scheduled mode to renault charge mode (#115427)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-04-19 18:22:12 +02:00
avee87
18d6581523 Fix Hyperion light not updating state (#115389) 2024-04-19 18:21:21 +02:00
Joost Lekkerkerker
cc2e0fd921 Make Withings recoverable after internet outage (#115124) 2024-04-19 18:18:32 +02:00
Joost Lekkerkerker
c108c7df38 Add reauth flow to Google Tasks (#109517)
* Add reauth flow to Google Tasks

* Update homeassistant/components/google_tasks/config_flow.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Add tests

* Reauth

* Remove insta reauth

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-04-19 17:38:39 +02:00
Simone Chemelli
ff83d9acff Add missing media_player features to Samsung TV (#115788)
* add missing features

* fix snapshot
2024-04-19 16:45:19 +02:00
Maciej Bieniek
b462fdbf51 Bump gios to version 4.0.0 (#115822)
Bump gios to version 4.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-19 15:52:09 +02:00
Jan Bouwhuis
5b082ed669 Add group tests with mixed domain entities (#115849) 2024-04-19 14:48:18 +02:00
dependabot[bot]
f8738d9263 Bump actions/download-artifact from 4.1.4 to 4.1.5 (#115841) 2024-04-19 12:22:09 +02:00
dependabot[bot]
8d7ef6ea9a Bump actions/upload-artifact from 4.3.1 to 4.3.2 (#115842) 2024-04-19 12:11:08 +02:00
J. Nick Koston
79c9db4089 Bump aiodiscover to 2.1.0 (#115823) 2024-04-19 09:43:02 +02:00
hahn-th
ed4f00279e Show default profiles in homematic cloud climate entity (#107348)
* Default names for visible profiles

* Increase number of devices in test

* remove unnecessary check

* Add testcase and split another into two

* Add type annotations and docstring

* Remove code which not belongs to the PR

* Add myself to codeowners
2024-04-19 08:09:48 +02:00
Joe Neuman
4cce75177a Add get_torrents service to qBittorrent integration (#106501)
* Upgrade QBittorrent integration to show torrents

This brings the QBittorrent integration to be more in line with the Transmission integration. It updates how the integration is written, along with adding sensors for Active Torrents, Inactive Torrents, Paused Torrents, Total Torrents, Seeding Torrents, Started Torrents.

* Remove unused stuff

* Correct name in comments

* Make get torrents a service with a response

* Add new sensors

* remove service

* Add service with response to get torrents list

This adds a service with a response to be able to get the list of torrents within qBittorrent

* update

* update from rebase

* Update strings.json

* Update helpers.py

* Update to satisfy lint

* add func comment

* fix lint issues

* another update attempt

* Fix helpers

* Remove unneccesary part in services.yaml and add translations

* Fix return

* Add tests

* Fix test

* Improve tests

* Fix issue from rebase

* Add icon for get_torrents service

* Make get torrents a service with a response

* remove service

* Add service with response to get torrents list

This adds a service with a response to be able to get the list of torrents within qBittorrent

* Update to satisfy lint

* Handle multiple installed integrations

* fix lint issue

* Set return types for helper methods

* Create the service method in async_setup

* Add CONFIG_SCHEMA

* Add get_all_torrents service

* fix lint issues

* Add return types and ServiceValidationError(s)

* Fix naming

* Update translations

* Fix tests
2024-04-19 07:56:37 +02:00
Robert Svensson
6b6324f48e Bump aiounifi to v75 (#115819) 2024-04-19 06:36:43 +02:00
Maciej Bieniek
e62ae90d81 Bump accuweather to version 3.0.0 (#115820)
Bump accuweather to version 3.0.0

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-18 20:24:10 -07:00
Matrix
814b7a4447 Bump yolink-api to 0.4.3 (#115794) 2024-04-19 03:14:14 +02:00
J. Nick Koston
1d6ae01baa Handle Bluetooth adapters in a crashed state (#115790)
* Skip bluetooth discovery for Bluetooth adapters in a crashed state

* fixes

* fixes

* adjust

* coverage

* coverage

* fix race
2024-04-18 15:06:53 -05:00
Ryan Mattson
05c37648c4 Add support for room sensor accessories assigned to a Honeywell (Lyric) Thermostat (#104343)
* Add support for room sensor accessories.

- Update coordinator to refresh and grab information about room sensor accessories assigned to a thermostat
- Add sensor entities for room humidity and room temperature
- Add devices to the registry for each room accessory
- "via_device" these entities through the assigned thermostat.

* fixed pre-commit issues.

* PR suggestions

- update docstring to reflect ownership by thermostat
- fixed potential issue where a sensor would not be added if its temperature value was 0

* fix bad github merge

* asyicio.gather futures for updating theromstat room stats
2024-04-18 20:50:11 +02:00
Or Evron
5702ab3059 Add zhimi.fan.za3 to xiaomi_miio workaround unable to discover device (#108310)
* add  zhimi.fan.za3 to workaround fix unable to discover issue

* Update __init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 20:48:37 +02:00
Brian Rogers
3a461c32ac Add battery binary sensor to Rachio hose timer (#115810)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-18 13:26:09 -05:00
J. Nick Koston
d48bd9b016 Deprecate async_track_state_change in favor of async_track_state_change_event (#115558) 2024-04-18 10:45:14 -05:00
J. Nick Koston
b18f1ac265 Migrate device_sun_light_trigger to use async_track_state_change_event (#115555)
* Migrate device_sun_light_trigger to use async_track_state_change_event

async_track_state_change is legacy and will eventually be deprecated after
all core usage is removed. There are only two places left

* coverage
2024-04-18 10:45:06 -04:00
J. Nick Koston
80d6cdad67 Small cleanups to translation loading (#115583)
- Add missing typing
- Convert a update loop to a set comp
- Save some indent
2024-04-18 10:42:44 -04:00
J. Nick Koston
588c260dc5 Skip processing websocket_api schema if it has no arguments (#115618)
* Skip processing websocket_api schema if has no arguments

About 40% of the websocket commands on first connection have
no arguments. We can skip processing the schema for these cases

* cover

* fixes

* allow extra

* Revert "allow extra"

This reverts commit 85d9ec36b3.

* match behavior
2024-04-18 10:41:08 -04:00
J. Nick Koston
ea8d4d0dca Add reauth support to oncue (#115667)
* Add reauth support to oncue

* review comments

* reauth on update failure

* coverage
2024-04-18 10:39:58 -04:00
J. Nick Koston
53c48537d7 Add bluetooth adapter model and manufacturer to config flow (#115780)
* Show bluetooth adapter model and manufacturer in config flow

If there are multiple adapters, it could be a bit difficult
to figure out which one is which

* Show bluetooth adapter model and manufacturer in config flow

If there are multiple adapters, it could be a bit difficult
to figure out which one is which

* reorder

* reorder

* names

* remove

* fix incomplete mocking

* more missing mocks
2024-04-18 10:39:32 -04:00
J. Nick Koston
fbdef7f5cd Bump habluetooth to 2.8.0 (#115789)
* Bump habluetooth to 2.8.0

Adds support for recovering some adapters that fail to initialize
due to kernel races

* bump lib

* tweak
2024-04-18 10:37:20 -04:00
Arjan van Balken
74afed3b6d Bump arris-tg2492lg to 2.2.0 (#107905)
Bumps arris-tg2492lg from 1.2.1 to 2.2.0
2024-04-18 15:52:03 +02:00
Marcin Wielgoszewski
90575bc496 Add hvac_action attribute to iAqualink Thermostat climate entities (#107803)
* Update climate.py

* Reorder if/else statements per @dcmeglio's suggestion

* Don't infer state, actually read it from the underlying device

* HVACAction has a HEATING state, not ON

* Update homeassistant/components/iaqualink/climate.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 15:37:11 +02:00
Lukasz Szmit
ceaf8f2402 Add support for payload_template in rest component (#107464)
* Add support for payload_template in rest component

* Update homeassistant/components/rest/schema.py

* Update homeassistant/components/rest/data.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 15:22:58 +02:00
vexofp
8ba1340c2e Clarify cover toggle logic; prevent opening when already open (#107920)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 14:58:16 +02:00
Jan Bouwhuis
3299bc5ddc Translate service validation errors (#115024)
* Move service validation error message to translation cache

* Fix test

* Revert unrelated change

* Address review comments

* Improve error message

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-18 14:36:03 +02:00
Erwin Douna
d5e5a16303 Add diagnostics platform to DSMR Reader (#115805)
* Add diagnostics platform

* Feedback

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-18 14:08:23 +02:00
Luca Angemi
844ff30a60 Add state class to mobile_app restore entity (#115798)
add state class
2024-04-18 08:06:51 -04:00
mkmer
28da10ad0d Handle connection error in honeywell (#108168)
* Handle connection error

* Catch connection error

* Add tests

* Add translation strings

* Clean up overlapping exceptions

* ServiceValidationError

* HomeAssistant Error translations

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-18 13:53:32 +02:00
Martin Hjelmare
47f0d5ed1f Add script to compare alexa locales with upstream (#114247)
* Add script to compare alexa locales with upstream

* Use a function in script

* Add test base

* Complete output assertion

* Add type annotation

* Add note to docstring

* Update script call example

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-18 13:41:34 +02:00
William Easton
aee620be9f Ambient Weather: Check for key existence before checking value (#115776) 2024-04-18 05:38:52 -06:00
Krzysztof Kwitt
a47c76fc40 Bump connect-box to 0.3.1 (#107852) 2024-04-18 13:18:14 +02:00
dependabot[bot]
4374ec767d Bump github/codeql-action from 3.25.0 to 3.25.1 (#115796)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 10:14:51 +02:00
J. Nick Koston
0398a481c3 Fix failing sanix tests (#115793)
Fixing failing sanix tests

Regenerate snapshot to match what actually happens. There is no
translation keys for these two
2024-04-18 09:25:03 +02:00
Keith Burzinski
14515b77bb Add valve entity support for ESPHome (#115341)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
2024-04-17 20:47:15 -05:00
J. Nick Koston
8fb551430d Bump bluetooth-auto-recovery to 1.4.1 (#115792) 2024-04-17 20:38:17 -05:00
J. Nick Koston
98ed6e7fe5 Bump habluetooth to 2.7.0 (#115783) 2024-04-17 17:47:40 -05:00
J. Nick Koston
b829f1030b Migrate snooze config flow to use eager_start (#115658) 2024-04-17 14:59:16 -05:00
Felipe Martins Diel
7188d62340 Bump Broadlink to 0.19.0 (#115742)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-17 14:37:38 -05:00
J. Nick Koston
11931cdb56 Simplify labels and areas template calls (#115673)
The labels and areas are already exposed on the object
2024-04-17 21:28:09 +02:00
Allen Porter
0aa7946208 Bump google-nest-sdm to 3.0.4 (#115731) 2024-04-17 21:23:58 +02:00
Joost Lekkerkerker
07a46f17d0 Add sanix sensor tests (#115763)
Add sanix tests
2024-04-17 21:20:12 +02:00
Sid
cdc49328be Address late reviews for the enigma2 config flow (#115768)
* Address late reviews for the enigma2 config flow

* fix tests

* review comments

* test for issues

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-17 21:08:10 +02:00
Jan Bouwhuis
8275512130 Add mqtt notify platform (#115653)
* Add mqtt notify platform

* Stale docstring
2024-04-17 20:07:11 +02:00
J. Nick Koston
0a78e9d4aa Replace aiohttp-zlib-ng[isal] with aiohttp-isal (#115777)
* Replace aiohttp-zlib-ng[isal] with aiohttp-isal

The extra was causing wheel builds to fail

Since isal works on all of our supported platforms we can
always use it and drop the need for zlib-ng

https://github.com/home-assistant/core/actions/runs/8725019072

https://github.com/bdraco/aiohttp-isal

* typo
2024-04-17 19:46:15 +02:00
Xander
d4b62adfdc Guard negative values for IPP states (#107446)
* Guard negative values for IPP states

* ruff format

* Update sensor.py

---------

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-17 13:38:12 -04:00
jan iversen
3202743b6c Cleanup modbus test mocks (#115412) 2024-04-17 19:10:09 +02:00
Ståle Storø Hauknes
dcd61ac086 Fix unrecoverable error when fetching airthings_ble data (#115699) 2024-04-17 11:47:29 -05:00
Erik Montnemery
e4280b2c00 Use aiohttp-zlib-ng[isal] (#115767) 2024-04-17 17:57:34 +02:00
Álvaro Fernández Rojas
7e9b5b1128 Allow selecting Air Quality mode for Airzone Cloud (#106769)
* airzone_cloud: add Air Quality mode select

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* trigger CI

* trigger CI

* Update select.py

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

* airzone_cloud: select: remove AirzoneSelectDescriptionMixin usage

* airzone_cloud: select: rename AIR_QUALITY_DICT

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-17 17:11:29 +02:00
Christopher Fenner
9bae6d694d Add secondary temperature sensor for DHW in ViCare (#106612)
* add temp2 sensor

* Update strings.json
2024-04-17 17:08:23 +02:00
J. Nick Koston
f62a3a7176 Simplify config_entries entity registry filter (#115678) 2024-04-17 09:42:23 -05:00
J. Nick Koston
7a67304301 Bump habluetooth to 2.6.0 (#115724) 2024-04-17 09:41:42 -05:00
Erik Montnemery
08b565701c Include hash of requirements.txt in venv cache key (#115759) 2024-04-17 16:37:49 +02:00
Joost Lekkerkerker
dfec91d274 Remove obsolete translation keys in Sanix (#115764) 2024-04-17 16:11:42 +02:00
Mike Degatano
f1ebe9d20a Add repairs to hassio manifest (#115486)
* Add repairs to hassio manifest

* Remove unnecessary fixture
2024-04-17 15:51:29 +02:00
J. Nick Koston
bd2efffb4a Reduce duplicate code in the device registry (#115677) 2024-04-17 15:50:39 +02:00
J. Nick Koston
45f025480e Avoid linear search to remove a label from the entity registry (#115674)
* Avoid linear search to remove a label from the entity registry

* simplify
2024-04-17 15:47:56 +02:00
J. Nick Koston
8cf14c9268 Avoid linear search to clear labels and areas in the device registry (#115676) 2024-04-17 15:46:59 +02:00
J. Nick Koston
9ca24ab2a2 Avoid linear search to remove labels and floors from area registry (#115675)
* Avoid linear search to remove labels and floors from area registry

* simplify
2024-04-17 15:45:40 +02:00
Sid
be0926b7b8 Add config flow to enigma2 (#106348)
* add config flow to enigma2

* Apply suggestions from code review

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

* fix suggested change

* use parametrize for config flow tests

* Restore PLATFORM_SCHEMA and add create_issue to async_setup_platform

* fix docstring

* remove name, refactor config flow

* bump dependency

* remove name, add verify_ssl, use async_create_clientsession

* use translation key, change integration type to device

* Bump openwebifpy to 4.2.1

* cleanup, remove CONF_NAME from entity, add async_set_unique_id

* clear unneeded constants, fix tests

* fix tests

* move _attr_translation_key out of init

* update test requirement

* Address review comments

* address review comments

* clear strings.json

* Review coments

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-17 15:21:54 +02:00
Erik Montnemery
764a0f29cc Allow [##:##:##] type keypad address in homeworks (#115762)
Allow [##:##:##] type keypad address
2024-04-17 15:04:37 +02:00
Erik Montnemery
e45583b83b Fix homeworks import flow (#115761) 2024-04-17 15:00:10 +02:00
Erik Montnemery
3f62267a48 Fix flaky qld_bushfire test (#115757) 2024-04-17 14:29:49 +02:00
Tomasz
864c80fa55 Add Sanix integration (#106785)
* Add Sanix integration

* Add Sanix integration

* Add sanix pypi package

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Add Sanix integration

* Fix ruff

* Fix

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-04-17 14:24:34 +02:00
epenet
92aae4d368 Bump renault-api to 0.2.2 (#115738) 2024-04-17 14:23:47 +02:00
Erik Montnemery
5c018f6ffc Improve standard library violation check in hassfest (#115752)
* Improve standard library violation check in hassfest

* Improve prints

* Improve error message
2024-04-17 14:10:26 +02:00
J. Nick Koston
cb16465539 Keep track of top level components (#115586)
* Keep track of top level components

Currently we have to do a set comp for icons, translations,
and integration platforms every time to split the top level
components from the platforms. Keep track of the top level
components in a seperate set so avoid having to do the setcomp
every time.

* remove impossible paths

* remove unused code

* preen

* preen

* fix

* coverage and fixes

* Update homeassistant/core.py

* Update homeassistant/core.py

* Update tests/test_core.py
2024-04-17 13:23:20 +02:00
Erik Montnemery
fee1f2833d Fix hassfest requirements check (#115744)
* Fix hassfest requirements check

* Add electrasmart to ignore list
2024-04-17 12:27:48 +02:00
Erik Montnemery
ff1ac1a544 Remove useless any in gen_requirements_all.comment_requirement (#115751) 2024-04-17 12:12:51 +02:00
Erik Montnemery
a3c767da2d Correct normalize_package_name (#115750) 2024-04-17 12:03:06 +02:00
Erik Montnemery
ba4731ecb4 Remove stale packages from uncommenting when building wheels (#115700) 2024-04-17 11:54:53 +02:00
J. Nick Koston
dae56222e9 Bump orjson to 3.10.1 (#115728)
changelog: https://github.com/ijl/orjson/compare/3.9.15...3.10.1
2024-04-17 09:13:55 +02:00
J. Nick Koston
34c3e523b4 Bump aiohttp to 3.9.5 (#115727)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.9.4...v3.9.5
2024-04-17 09:10:06 +02:00
c0ffeeca7
20ff101015 Multiple data disks detected: tweak strings (#115713)
* Multiple data disks: tweak strings

* Fix typos

* Update homeassistant/components/hassio/strings.json

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-17 09:06:47 +02:00
Erik Montnemery
537b00db9a Fix stale comment in wheels.yml (#115736) 2024-04-17 08:50:33 +02:00
Jesse Hills
94a66fa648 Bump aioesphomeapi to 24.1.0 (#115729) 2024-04-17 15:39:38 +12:00
J. Nick Koston
6dcfe861fd Bump habluetooth to 2.5.2 (#115721) 2024-04-16 18:34:57 -05:00
Maciej Bieniek
e7076ac83f Use separate data coordinators for AccuWeather observation and forecast (#115628)
* Remove forecast option

* Update strings

* Use separate DataUpdateCoordinator for observation and forecast

* Fix tests

* Remove unneeded variable

* Separate data coordinator classes

* Use list comprehension

* Separate coordinator clasess to add type annotations

* Test the availability of the forecast sensor entity

* Add DataUpdateCoordinator types

* Use snapshot for test_sensor()

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-17 00:00:16 +02:00
Joakim Plate
81036967f0 Correct unit for total usage in rfxtrx (#115719) 2024-04-16 22:35:55 +02:00
Matthew Hallonbacka
4a89e18b7e Fix check for missing parts on incoming SMS (#105068)
* Fix check for missing parts on incoming SMS

* Add tests for get_and_delete_all_sms function

* Fix CI issues

* Install libgammu-dev in CI

* Bust the venv cache

* Include python-gammu in requirements-all.txt

* Adjust install of dependencies

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-04-16 21:34:09 +02:00
Mike Degatano
249a92d321 Unsupported if wrong image used on virtualization (#113882)
* Unsupported if wrong image used on virtualization

* Language tweaks

Co-authored-by: Stefan Agner <stefan@agner.ch>

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-04-16 17:54:49 +02:00
BestPig
586d27320e Add Sound Mode selection in soundpal components (#106589) 2024-04-16 17:45:48 +02:00
J. Nick Koston
135fe26704 Bump httpcore to 1.0.5 (#115672)
Fixes missing handling of EndOfStream errors
2024-04-16 18:13:47 +03:00
Guido Schmitz
63c9aef71d Correct spelling of "Wi-Fi" in devolo_home_network (#106167)
* Use Wi-Fi in devolo_home_network

* Recreate snapshots

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 16:28:25 +02:00
myMartek
18ac9a7ba5 Add select hold to AppleTVs remote entity as possible command (#105764)
* Fixed home hold and added select hold

* Fixed home hold and added select hold

* Removed select_hold for now

* Fixed wrong import block sorting

* Fixed unit tests for AppleTV

* Added select hold command to AppleTV integration

* Removed home_hold and added hold_secs option for remote commands

* Added DEFAULT_HOLD_SECS

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 16:16:32 +02:00
Joost Lekkerkerker
e9894f8e91 Add extract media url service to media extractor (#100780)
* Exclude manifest files from youtube media extraction

* Add media_extractor service to extract media

* Fix snapshot

* Run ytdlp async

* Add icon

* Fix

* Fix
2024-04-16 16:13:03 +02:00
Erik Montnemery
7cd0fe3c5f Don't reload other automations when saving an automation (#80254)
* Only reload modified automation

* Correct check for existing automation

* Add tests

* Remove the new service, improve ReloadServiceHelper

* Revert unneeded changes

* Update tests

* Address review comments

* Improve test coverage

* Address review comments

* Tweak reloader code + add a targetted test

* Apply suggestions from code review

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

* Explain the tests + add more variations

* Fix copy-paste mistake in test

* Rephrase explanation of expected test outcome

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-16 15:58:57 +02:00
dependabot[bot]
679752ceb8 Bump github/codeql-action from 3.24.10 to 3.25.0 (#115686) 2024-04-16 12:33:10 +02:00
Martin Hjelmare
d1ed8d817c Remove Adafruit-BBIO from commented requirements (#115689) 2024-04-16 10:50:51 +02:00
Martin Hjelmare
093aee672c Fix ambient network test linting (#115691) 2024-04-16 10:19:23 +02:00
Thomas Kistler
0dd8ffd1f5 Add a new "Ambient Weather Network" integration (#105779)
* Adding a new "Ambient Weather Network" integration.

* Rebase and update code coverage.

* Addressed some reviewer comments.

* Remove mnemonics and replace with station names.

* Remove climate-utils

* Remove support for virtual stations.

* Rebase

* Address feedback

* Remove redundant errors

* Reviewer feedback

* Add icons.json

* More icons

* Reviewer feedback

* Fix test

* Make sensor tests more robust

* Make coordinator more robust

* Change update coordinator to raise UpdateFailed

* Recover from no station found error

* Dynamically set device name

* Address feedback

* Disable some sensors by default

* Reviewer feedback

* Change from hub to service

* Rebase

* Address reviewer feedback

* Reviewer feedback

* Manually rerun ruff on all files
2024-04-16 09:46:15 +02:00
Stephen Alderman
f62fb76765 Add Config Flow to LG Netcast (#104913)
* Add Config Flow to lg_netcast

* Add YAML import to Lg Netcast ConfigFlow

Deprecates YAML config support

* Add LG Netcast Device triggers for turn_on action

* Add myself to LG Netcast codeowners

* Remove unnecessary user_input validation check.

* Move netcast discovery logic to the backend

* Use FlowResultType Enum for tests

* Mock pylgnetcast.query_device_info instead of _send_to_tv

* Refactor lg_netcast client discovery, simplify YAML import

* Simplify CONF_NAME to use friendly name

Fix: Use Friendly name for Name

* Expose model to DeviceInfo

* Add test for testing YAML import when not TV not online

* Switch to entity_name for LGTVDevice

* Add data_description to host field in user step

* Wrap try only around _get_session_id

* Send regular request for access_token to ensure it display on the TV

* Stop displaying access token when flow is aborted

* Remove config_flow only consts and minor fixups

* Simplify media_player logic & raise new migration issue

* Add async_unload_entry

* Create issues when import config flow fails, and raise only a single yaml deprecation issue type

* Remove single use trigger helpers

* Bump issue deprecation breakage version

* Lint

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 09:29:02 +02:00
brave0d
a99ecb024e New BMW sensor for climate activity (#110287)
* add sensor with climate activity status

* Update strings.json

* use icon translation and is_available for sensor

* use enum with translations

* Return None if value is UNKNOWN

* fix getting the value: x.value

* fix getting the value: x instead of x.value

* Fix tests and pre-commit

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-04-16 09:24:32 +02:00
Tom Harris
c5c407b3bb Move Insteon configuration panel to config entry (#105581)
* Move Insteon panel to the config menu

* Bump pyinsteon to 1.5.3

* Undo devcontainer.json changes

* Bump Insteon frontend

* Update config_flow.py

* Code cleanup

* Code review changes

* Fix failing tests

* Fix format

* Remove unnecessary exception

* codecov

* Remove return from try

* Fix merge mistake

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-04-16 09:10:32 +02:00
theminer3746
1dfabf34c4 Fix typo in modbus integration strings.json (#115685) 2024-04-16 09:04:00 +02:00
J. Nick Koston
7e35fcf11a Bump sqlparse to 0.5.0 (#115681)
fixes https://github.com/home-assistant/core/security/dependabot/54
fixes https://github.com/home-assistant/core/security/dependabot/55
2024-04-16 08:30:51 +02:00
Marc Mueller
6a7a44c998 Add dataclass to store AdGuard data (#115668)
* Add dataclass to store AdGuard data

* Unify version call
2024-04-16 08:02:27 +02:00
J. Nick Koston
11ff00f637 Small speed up to async_prepare_setup_platform (#115662) 2024-04-15 17:30:05 -05:00
Collin Fair
4aab073bd2 Remove cloud dependency from islamic-prayer-times (#115146)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-15 15:42:33 -05:00
John Luetke
a16d98854a Remove pihole codeowner (#110384)
* Update codeowners

Removing myself from codeowners as I have been unable to dedicate time to this

* Update CODEOWNERS

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-15 22:32:14 +02:00
Sid
5f055a64bb Enable Ruff B017 (#115335) 2024-04-15 22:25:09 +02:00
Brian Rogers
c7e6f3696f Create base class for Rachio smart hose timer entities (#115475) 2024-04-15 14:22:44 -05:00
Heiko Carrasco
2c6ec506ad Update switchbot_api to 2.1.0 (#115529) 2024-04-15 21:09:34 +02:00
J. Nick Koston
a6a47c0b44 Make aiohttp_cors a top level import (#115563)
* Make aiohttp_cors a top level import

This was moved to a late import in #27935 but there is no
longer any need to import it late in the event loop as aiohttp_cors
is listed in pyproject.toml so it will always be available

* drop requirements as they are all top level now

* drop requirements as they are all top level now

* adjust
2024-04-15 21:06:59 +02:00
J. Nick Koston
2ec588d2a6 Migrate websocket_api sensor to use shorthand attrs (#115620) 2024-04-15 20:40:31 +02:00
J. Nick Koston
dbc5109fd8 Avoid update calls in state writes when attributes are empty (#115624) 2024-04-15 17:42:18 +02:00
Luke Lashley
9f852c6a58 Bump vacuum-map-parser-roborock to 0.1.2 (#115579)
bump to 0.1.2
2024-04-15 16:06:44 +02:00
Marc Mueller
881e201a15 Set platform for mypy (#115638) 2024-04-15 14:12:26 +02:00
J. Nick Koston
3963b3994b Small cleanups to the rate limit helper (#115621) 2024-04-15 13:42:28 +02:00
J. Nick Koston
15ecd3ae31 Fix flaky zwave update entity delay test (#115552)
The test assumed the node updates would happen in a specific order
but they can switch order based on timing.

Adjust to check to make sure all the nodes are called but make it
order independent
2024-04-15 13:12:09 +02:00
Shawn Weeks
b1bd9dc22c Bump emulated-roku to 0.3.0 to fix Sofabaton Support (#115452) 2024-04-14 21:43:11 -05:00
Brett Adams
5e1de6842d Fix Teslemetry sensor values (#115571) 2024-04-15 01:48:22 +02:00
Pete Sage
d40fc613aa Bump soco to 0.30.3 (#115607)
bump soco to 0.30.3
2024-04-14 18:39:07 -05:00
Marc Mueller
6422bc4c19 Set follow_imports to normal [mypy] (#115521) 2024-04-15 00:26:06 +02:00
Marc Hörsken
e08301f362 Move Alexa entity id generation into abstract config class (#115593)
This makes it possible to change the id schema in implementations.
2024-04-14 23:11:42 +02:00
J. Nick Koston
269429aa0c Only calculate the tplink emeter values once per update cycle (#115587)
The sensor platform has to read the native_value multiple times
during the state write cycle which means the integration calculated
the value multiple times. Switch to using _attr_native_value to
ensure the calculations in the library are only done once per
state write.

To demonstrate this issue,
+        _LOGGER.warning("Fetch name value for %s", self.entity_id)
was added to `def native_value`:
```
2024-04-14 06:58:52.506 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current_consumption
2024-04-14 06:58:52.506 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_total_consumption
2024-04-14 06:58:52.507 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_today_s_consumption
2024-04-14 06:58:52.507 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_voltage
2024-04-14 06:58:52.508 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current
2024-04-14 06:58:52.509 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current_consumption
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_total_consumption
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_today_s_consumption
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_voltage
2024-04-14 06:58:52.510 WARNING (MainThread) [homeassistant.components.tplink.sensor] Fetch name value for sensor.kasa_smart_plug_542b_0_kasa_smart_plug_542b_0_current
```
2024-04-14 20:38:28 +02:00
jan iversen
7cfd6a04d3 Modbus: Bump pymodbus v3.6.8 (#115574) 2024-04-14 19:22:42 +02:00
J. Nick Koston
5f00b9207d Small cleanups to script (#115565) 2024-04-14 10:47:13 -05:00
Arie Catsman
131edea576 Replace lambda by attrgetter in enphase_envoy platform value_fn (#115569) 2024-04-14 10:41:25 -05:00
Arie Catsman
6092894ce5 For new installs make enphase_envoy phase entities default disabled (#115577) 2024-04-14 10:41:00 -05:00
Shay Levy
291df6dafe Bump aioshelly to 9.0.0 (#114025)
* Update Shelly to use initialize from aioshelly

* Save indentation in _async_device_connect

* Use firmware_supported property from aioshelly

* Review comments

* Bump aioshelly

* Fix lint errors

* Test RPC initialized update
2024-04-14 18:07:26 +03:00
J. Nick Koston
33412dd9f6 Remove unused legacy state translations (#112023)
* Remove unused state translations

There have been replaced with entity translations
https://github.com/home-assistant/developers.home-assistant/pull/1557
https://github.com/home-assistant/core/pull/82701

* nothing does merging anymore

* useless dispatch

* remove

* remove platform code from hassfest

* preen

* Update homeassistant/helpers/translation.py

* ruff

* fix merge

* check is impossible now since we already know if translations exist or not

* keep the function for now

* remove unreachable code since we filter out `.` before now

* reduce

* reduce

* fix merge conflict (again)
2024-04-14 07:13:17 -04:00
Sid
0200d1aa66 Unignore Ruff UP006, UP007 (#115533) 2024-04-14 00:26:58 -05:00
Sid
c24ae01a43 Unignore Ruff E731 (#115564) 2024-04-14 00:15:10 -05:00
Sid
3799d20d43 Enable Ruff B905 (#114197) 2024-04-14 00:14:26 -05:00
J. Nick Koston
b70edb89bf Fix missing Home in listener deprecation message (#115559) 2024-04-13 20:44:07 -05:00
J. Nick Koston
0feea624f9 Migrate rfxtrx to use async_track_state_change_event (#115556) 2024-04-13 20:37:01 -05:00
J. Nick Koston
41f5325ce3 Refactor _async_setup_component to remove need for C901 (#115553) 2024-04-13 19:46:37 -05:00
J. Nick Koston
8da7de1fea Remove attr usage in event helper (#115554) 2024-04-13 19:46:23 -05:00
J. Nick Koston
dad03e7283 Remove sleep in async_setup_component (#115515)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-13 19:34:28 -05:00
J. Nick Koston
14b794b0f7 Migrate config entry reauth to use eager_start (#115549) 2024-04-13 18:38:33 -05:00
J. Nick Koston
7e84158fad Avoid double dict conversion in bluetooth serialize_entity_description (#115551) 2024-04-13 18:08:38 -05:00
J. Nick Koston
09b209245a Only calculate native_value once in mobile_app (#115550)
native_value is read a few times during the state write.

Use _attr_native_value so its only calculated once
2024-04-13 18:57:12 -04:00
Mr. Bubbles
927ea14562 Add exception translations to Bring integration (#115547)
* Add exception translations

* Add test for exceptions

* Remove unnecessary logging
2024-04-14 00:26:37 +02:00
J. Nick Koston
4955364948 Fix advantage_air disabled entity tests (#115548)
* Fix advantage_air disabled entity test

* fix both
2024-04-13 18:13:19 -04:00
J. Nick Koston
0b3627b59e Add additional cached_property to camera entities (#115075) 2024-04-13 16:50:11 -05:00
J. Nick Koston
dee99c764b Complete ESPHome media_player coverage (#114352) 2024-04-13 16:29:14 -05:00
J. Nick Koston
ee535ee611 Ensure test async_create_task eager start behavior matches production (#115517) 2024-04-13 15:58:52 -05:00
J. Nick Koston
d9617a8e3a Enable eager_start for weather platform update (#115496) 2024-04-13 15:56:14 -05:00
J. Nick Koston
0bd4064212 Update ollama config_flow task to use eager_start (#115455)
The test now adds a delay because it finished too fast
2024-04-13 16:54:21 -04:00
J. Nick Koston
f452c5b84e Add forecast subscription failure test case to nws (#115541) 2024-04-13 15:48:23 -05:00
J. Nick Koston
f1ac33c246 Fix unmocked remote socket calls in sunweg tests (#115546)
Fix unmocked calls in sunweg tests
2024-04-13 16:36:33 -04:00
J. Nick Koston
edd75a9d5f Fix race in TimestampDataUpdateCoordinator (#115542)
* Fix race in TimestampDataUpdateCoordinator

The last_update_success_time value was being set after the listeners
were fired which could lead to a loop because the listener may
re-trigger an update because it thinks the data is stale

* coverage

* docstring
2024-04-13 16:35:07 -04:00
J. Nick Koston
08e2b655be Migrate EntityRegistryDisabledHandler to use async_schedule_reload (#115544)
async_schedule_reload ensures that any setup retries are cancelled
before executing the reload. Its unlikely in this case but its
still possible
2024-04-13 16:30:59 -04:00
J. Nick Koston
1a8857aa2e Migrate homekit ffmpeg task to use eager_start (#115543) 2024-04-13 16:29:55 -04:00
J. Nick Koston
82d0f478a5 Hold the reload lock while attempting config entry setup retry (#115538) 2024-04-13 15:26:41 -05:00
J. Nick Koston
b9d4d0e15d Avoid removing websocket_api subscription in mobile_app teardown (#115540) 2024-04-13 15:24:46 -05:00
J. Nick Koston
008c42e282 Bump py-synologydsm-api to 2.4.2 (#115499)
Co-authored-by: mib1185 <mail@mib85.de>
2024-04-13 14:38:37 -05:00
Marc Mueller
64a4d52b3c Update pillow to 10.3.0 (#115524) 2024-04-13 18:26:33 +02:00
Robert Resch
68ba4d57d5 Remove unused CI code (#115300) 2024-04-13 17:24:02 +02:00
Jan Bouwhuis
197070486f Set up notify group with the notify services in test (#115526) 2024-04-13 17:10:16 +02:00
Jan Bouwhuis
36bdda5669 Migrate demo notify platform (#115448)
* Migrate demo notify platform

* Update homeassistant/components/demo/notify.py

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

* Remove no needed tests

* Cleanup redundant attribute assignment

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-13 14:27:07 +02:00
Joost Lekkerkerker
5e8b46c670 Make color extractor single config entry (#115016)
* Make color extractor single config entry

* Make color extractor single config entry

* Fix
2024-04-13 13:04:39 +02:00
Jan Bouwhuis
38c7b99aef Make legacy notify group tests independent of demo platform (#115494) 2024-04-13 12:58:31 +02:00
Marc Mueller
27f6a7de43 Revert mypy_config formatting (#115518) 2024-04-13 10:48:34 +02:00
Toni Korhonen
84a975b61e Add Balboa spa temperature range state control (high/low) (#115285)
* Add temperature range switch (high/low) to Balboa spa integration.

* Change Balboa spa integration temperature range control from switch to select

* Balboa spa integration: Fix ruff formatting

* Balboa spa integration: increase test coverage

* Balboa spa integration review fixes: Move instance attributes as class attributes. Fix code comments.
2024-04-13 10:44:02 +02:00
Jan Bouwhuis
127c27c9a7 Isolate legacy notify tests (#115470)
* Isolate legacy notify tests

* Rebase

* Refactor
2024-04-13 10:14:58 +02:00
Sid
223fefbbfa Enable Ruff RUF018 (#115485) 2024-04-13 09:56:33 +02:00
Sid
1a9ff8c8fa Ignore Ruff RUF015 (#115481) 2024-04-13 09:46:04 +02:00
J. Nick Koston
bb9330135d Fix race in influxdb test (#115514)
The patch was still too late in #115442

There is no good candidate to patch here since the late operation
is the error log that is being tested.

Patching the logger did not seem like a good idea so I went with
patching to wait for the error to be emitted since emit is the public
API of the log handler and was less likely to change
2024-04-13 09:13:01 +02:00
Jan Bouwhuis
76fefaafb0 Move out demo notify tests to the notify platform (#115504)
* Move test file

* Make independent of demo platform

* Restore tests for demo platform for coverage
2024-04-13 08:18:45 +02:00
J. Nick Koston
0d0b77c9e4 Remove eager_start=False from zeroconf (#115498) 2024-04-13 00:09:42 -05:00
J. Nick Koston
af2c381a0c Bump zeroconf to 0.132.2 (#115505) 2024-04-13 00:05:08 -05:00
J. Nick Koston
b9899a441c Bump zeroconf to 0.132.1 (#115501) 2024-04-12 14:13:06 -10:00
Sid
d74be6d5fe Set Ruff RUF001-003 to ignore (#115477) 2024-04-13 00:51:36 +02:00
Bram Kragten
f16ee2ded9 Update strict connection static page (#115473) 2024-04-12 23:35:59 +02:00
dontinelli
6eaf3402c6 Add re-auth-flow to fyta integration (#114972)
* add re-auth-flow to fyta integration

* add strings for reauth-flow

* resolve typing error

* update based on review comments

* Update homeassistant/components/fyta/config_flow.py

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

* add async_auth

* adjustment based on review commet

* Update test_config_flow.py

* remove credentials

* Update homeassistant/components/fyta/config_flow.py

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

* Update tests/components/fyta/test_config_flow.py

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

* Update tests/components/fyta/test_config_flow.py

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

* Update conftest.py

* Update test_config_flow.py

* Aktualisieren von conftest.py

* Update test_config_flow.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-12 20:33:24 +02:00
karwosts
77d1e2c812 Allow customizing display name for energy device (#112834)
* Allow customizing display name for energy device

* optional typing and comment
2024-04-12 20:31:51 +02:00
Brett Adams
b266224ccd Add diagnostics to Teslemetry (#115195)
* Add diag

* Add diag and tests

* Fix redaction

* Add another energy redact

* Review Feedback

* Update snapshot

* Fixed the wrong integration

* Fix snapshot again

* Update tests/components/teslemetry/test_diagnostics.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-12 20:27:38 +02:00
epenet
bea4c52d10 Ignore coverage for aiohttp_resolver backport helper (#115177)
* Ignore coverage for aiohttp_resolver backport helper

* Adjust generate to sort core items

* Adjust validate to sort core items

* Split line

* Apply suggestion

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>

* Fix suggestion

---------

Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-04-12 16:33:05 +02:00
Sid
6d22dd073c Bump ruff to 0.3.7 (#115451)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-04-12 16:03:23 +02:00
Robert Resch
348e1df949 Add strict connection (#112387)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-12 14:47:46 +02:00
Franck Nijhof
efe91815fb 2024.4.3 (#115463) 2024-04-12 13:20:48 +02:00
Marc Mueller
f70ce8abf9 Fix ci Python cache key (#115467) 2024-04-12 13:11:24 +02:00
Franck Nijhof
62eee52aed Bump version to 2024.4.3 2024-04-12 12:00:16 +02:00
Bram Kragten
7f6514b03c Update frontend to 20240404.2 (#115460) 2024-04-12 11:59:53 +02:00
Santobert
2ed1cfd68d Bump pybotvac to 0.0.25 (#115435)
Bump pybotvac
2024-04-12 11:59:50 +02:00
Allen Porter
a455e142ac Fix bug in rainbird switch when turning off a switch that is already off (#115421)
Fix big in rainbird switch when turning off a switch that is already off

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 11:59:45 +02:00
Jessica Smith
5fa06e5a9c Bump whirlpool-sixth-sense to 0.18.8 (#115393)
bump whirlpool to 0.18.8
2024-04-12 11:59:42 +02:00
J. Nick Koston
4aca39b49e Fix deadlock in holidays dynamic loading (#115385) 2024-04-12 11:59:39 +02:00
jan iversen
d055f98736 Solve modbus test problem (#115376)
Fix test.
2024-04-12 11:59:35 +02:00
jan iversen
98bc7c0ed2 Secure against resetting a non active modbus (#115364) 2024-04-12 11:59:32 +02:00
J. Nick Koston
0d62e2e92a Bump bleak-retry-connector 3.5.0 (#115328) 2024-04-12 11:59:28 +02:00
J. Nick Koston
db5343164f Ensure automations do not execute from a trigger if they are disabled (#115305)
* Ensure automations are stopped as soon as the stop future is set

* revert script changes and move them to #115325
2024-04-12 11:59:24 +02:00
TheJulianJES
5c2e9142fa Bump zha-quirks to 0.0.114 (#115299) 2024-04-12 11:59:21 +02:00
Shay Levy
f941e5d5bb Fix Aranet failure when the Bluetooth proxy is not providing a device name (#115298)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 11:59:17 +02:00
Joost Lekkerkerker
150145c9b1 Bump yt-dlp to 2024.04.09 (#115295) 2024-04-12 11:59:14 +02:00
jan iversen
db2005d4ec Bump pymodbus v3.6.7 (#115279)
Bump pymodbus v3.6.7.
2024-04-12 11:59:11 +02:00
Stefan Agner
08bd269696 Support backup of add-ons with hyphens (#115274)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 11:59:07 +02:00
Klaas Schoute
5723ed28d3 Bump forecast-solar lib to v3.1.0 (#115272) 2024-04-12 11:59:04 +02:00
Allen Porter
14da34cd4d Fix Google Tasks parsing of remove responses (#115258) 2024-04-12 11:59:01 +02:00
J. Nick Koston
f284273ef6 Fix misssing timeout in caldav (#115247) 2024-04-12 11:58:57 +02:00
On Freund
fc60426213 Improve Risco exception logging (#115232) 2024-04-12 11:58:54 +02:00
On Freund
922cc81a62 Configurable maximum concurrency in Risco local (#115226)
* Configurable maximum concurrency in Risco local

* Show advanced Risco options in advanced mode
2024-04-12 11:58:50 +02:00
Mike Degatano
4c6fad8dc3 Add support for adopt data disk repair (#114891) 2024-04-12 11:58:46 +02:00
J. Nick Koston
733e2ec57a Bump aiohttp to 3.9.4 (#110730)
* Bump aiohttp to 3.9.4

This is rc0 for now but will be updated when the full release it out

* cleanup cruft

* regen

* fix tests (these changes are fine)

* chunk size is too small to read since boundry is now enforced

* chunk size is too small to read since boundry is now enforced
2024-04-12 11:55:52 +02:00
Bram Kragten
d59af22b69 Update frontend to 20240404.2 (#115460) 2024-04-12 11:50:22 +02:00
Jan Bouwhuis
a213de3db5 Add service schema tests for notify entity platform (#115457)
* Add service schema tests for notify entity platform

* Use correct entity

* Assert on exception value
2024-04-12 10:40:17 +02:00
J. Nick Koston
f3a3e6821b Switch imap push coordinator to use eager_start (#115454)
When I turned on eager_start here the data would always end up being
None because _async_update_data always returned None. To fix this
it now returns the value from the push loop. It appears this race
would happen in production so this may be a bugfix but since
I do not use this integration it could use a second set of eyes
2024-04-12 09:14:35 +02:00
Sid
9bf87329da Enable Ruff FLY002 rule (#115112)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-12 09:04:16 +02:00
Stefan Agner
35d3f2b29b Support backup of add-ons with hyphens (#115274)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 09:02:22 +02:00
Joost Lekkerkerker
adafdb2b2d Use enum device class in Netatmo health index sensor (#115409) 2024-04-12 08:40:27 +02:00
Joost Lekkerkerker
6cc2b1e10a Use enum device class in Netatmo wind direction (#115413)
* Use enum device class in Netatmo wind direction

* Use enum device class in Netatmo wind direction

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-12 08:39:59 +02:00
J. Nick Koston
fb5fc136e8 Avoid falling back to event loop import on ModuleNotFound (#115404) 2024-04-11 16:32:47 -10:00
J. Nick Koston
28bdbec14e Bypass ConfigEntry __setattr__ in __init__ (#115405)
ConfigEntries.async_initialize was trigger asyncio warnings because of the CPU time
to call __setattr__ for every variable for each ConfigEntry being loaded at startup
2024-04-11 22:16:01 -04:00
Allen Porter
c7cb0237d1 Fix bug in rainbird switch when turning off a switch that is already off (#115421)
Fix big in rainbird switch when turning off a switch that is already off

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-11 22:14:52 -04:00
Marc Mueller
1b24e78dd9 Improve FlowHandler menu_options typing (#115296) 2024-04-11 22:14:37 -04:00
Marc Mueller
a48f2803b2 Add py.typed file (#115446) 2024-04-11 22:14:10 -04:00
J. Nick Koston
e3680044fe Fix flakey influxdb test (#115442) 2024-04-11 13:26:03 -10:00
Luke Lashley
cfda8f64b4 Bump python-roborock to 2.0.0 (#115449) 2024-04-12 01:04:51 +02:00
J. Nick Koston
2e8f4743eb Fix flakey mobile app webhook test (#115447) 2024-04-11 12:17:01 -10:00
Sid
a093f943d7 Use library classes instead of namedtuple in ipma tests (#115372) 2024-04-12 01:03:10 +03:00
J. Nick Koston
137514edb7 Bump aiohttp to 3.9.4 (#110730)
* Bump aiohttp to 3.9.4

This is rc0 for now but will be updated when the full release it out

* cleanup cruft

* regen

* fix tests (these changes are fine)

* chunk size is too small to read since boundry is now enforced

* chunk size is too small to read since boundry is now enforced
2024-04-11 11:58:56 -10:00
Marc Mueller
db38da8eb8 Update pytest warnings filter (#115275) 2024-04-11 23:35:15 +02:00
J. Nick Koston
d9fc9f2e0c Convert async_setup calls for auth sub-modules to callback functions (#115443) 2024-04-11 11:22:50 -10:00
Santobert
c14f11fbf0 Bump pybotvac to 0.0.25 (#115435)
Bump pybotvac
2024-04-11 21:57:18 +02:00
TheJulianJES
6ba7a30cc8 Fix Codecov upload with token (#115384)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-11 09:51:09 -10:00
Allen Porter
6c1bc2a9f4 Reduce scope of diagnostics tests for rtsp_to_webrtc to not depend on global state (#115422) 2024-04-11 18:13:39 +02:00
Jessica Smith
f558121752 Bump whirlpool-sixth-sense to 0.18.8 (#115393)
bump whirlpool to 0.18.8
2024-04-11 16:26:05 +02:00
Jan Bouwhuis
10076e6523 Add notify entity component (#110950)
* Add notify entity component

* Device classes, restore state, icons

* Add icons file

* Add tests for kitchen_sink

* Remove notify from no_entity_platforms in hassfest icons, translation link

* ruff

* Remove `data` feature

* Only message support

* Complete initial device classes

* mypy pylint

* Remove device_class implementation

* format

* Follow up comments

* Remove _attr_supported_features

* Use setup_test_component_platform

* User helper at other places

* last comment

* Add entry unload test and non async test

* Avoid default mutable object in constructor
2024-04-11 12:04:08 +02:00
Steven B
df5d818c08 Make ring device generic in RingEntity (#115406)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-04-11 11:31:37 +02:00
Mike Degatano
5308e02c99 Add support for adopt data disk repair (#114891) 2024-04-11 11:23:10 +02:00
Steven B
6954fcc8ad Add strict typing to ring integration (#115276) 2024-04-11 10:10:56 +02:00
Jan Bouwhuis
3546ca386f Use freezer on diagnostics test (#115398)
* Use freezer on diagnostics test

* Patch correctly
2024-04-11 09:40:16 +02:00
Joost Lekkerkerker
4224234b7a Add binary sensor to Netatmo (#115119)
* Add binary sensor to Netatmo

* Update homeassistant/components/netatmo/binary_sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Sigh

* Fix

* Fix

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-04-11 07:46:07 +02:00
J. Nick Koston
d9b74fda89 Add PYTHONASYNCIODEBUG to the dev container env (#115392) 2024-04-11 07:26:30 +02:00
J. Nick Koston
f0c8c2a684 Adjust importlib helper to avoid leaking memory on re-raise (#115377) 2024-04-10 15:19:17 -10:00
J. Nick Koston
6bd6adc4f5 Avoid calling valid_entity_id when adding entities if they are already registered (#115388) 2024-04-10 15:18:47 -10:00
J. Nick Koston
288f3d84ba Fix duplicate automation entity state writes (#115386)
_async_attach_triggers was writing state, async_enable was
writing state, and all of them were called async_added_to_hass

After entity calls async_added_to_hass via add_to_platform_finish
it will also write state so there were some paths that
did it 3x

async_disable was also writing state when the entity was
removed
2024-04-10 21:15:21 -04:00
J. Nick Koston
e17c4ab4e3 Fix flakey tessie media_player test (#115391) 2024-04-10 14:18:11 -10:00
Jan Bouwhuis
be8adf9d29 Fix zha test by tweaking the log level (#115368) 2024-04-10 13:10:46 -10:00
J. Nick Koston
bbecb98927 Fix type on known_object_ids in _entity_id_available and async_generate_entity_id (#115378) 2024-04-10 11:44:25 -10:00
J. Nick Koston
9d7e20f9ca Fix deadlock in holidays dynamic loading (#115385) 2024-04-10 23:38:34 +02:00
On Freund
6394e25f75 Improve Risco exception logging (#115232) 2024-04-10 11:26:15 -10:00
jan iversen
220801bf1c Secure against resetting a non active modbus (#115364) 2024-04-10 22:09:10 +02:00
jan iversen
8d6473061c Solve modbus test problem (#115376)
Fix test.
2024-04-10 21:39:53 +02:00
Åke Strandberg
b99cdf3144 Add missing oauth2 error strings to myuplink (#115315)
Add some oauth2 error strings

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-10 17:52:08 +02:00
J. Nick Koston
63545ceaa4 Ensure automations do not execute from a trigger if they are disabled (#115305)
* Ensure automations are stopped as soon as the stop future is set

* revert script changes and move them to #115325
2024-04-10 08:42:18 -04:00
J. Nick Koston
f80894d56f Stop scripts with eager tasks (#115340) 2024-04-10 08:41:13 -04:00
Shay Levy
a6b93ea8ac Fix Aranet failure when the Bluetooth proxy is not providing a device name (#115298)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-10 14:58:35 +03:00
Joakim Sørensen
012509f683 Add documentation link for custom integrations in diagnostics (#115336)
* Add documentation link for custom integrations in diagnostics

* Enable custom integrations in test_download_diagnostics
2024-04-10 11:36:25 +02:00
Marc Mueller
8aa3ea575f Update pytest-xdist to 3.5.0 (#111266) 2024-04-10 08:56:08 +02:00
Sid
3efee10b95 Enable Ruff RUF013 (#115333) 2024-04-10 08:55:59 +02:00
Joost Lekkerkerker
7e1a5b19c4 Add entity translations to Netatmo (#115104)
* Add entity translations to Netatmo

* Yes

* Remove

* Fix name
2024-04-10 08:50:27 +02:00
Sid
d61db732da Enable Ruff SLOT rules (#115043) 2024-04-09 18:57:27 -10:00
Collin Fair
0636ba340c Fix flakiness of test_measure_sliding_window (#115322) 2024-04-09 18:28:06 -10:00
J. Nick Koston
2fdb420d1a Bump bleak-retry-connector 3.5.0 (#115328) 2024-04-09 18:04:52 -10:00
Marc Mueller
2decf6c023 Use dict instead of MutableMapping [recorder] (#115318) 2024-04-09 15:08:31 -10:00
Marc Mueller
d8c8d1a297 Use dict instead of MutableMapping [extra_state_attributes] (#115319) 2024-04-09 15:06:11 -10:00
Luke Lashley
968de08e4b Bump python-roborock to 1.0.0 (#115324)
* refactor base code

* refactor tests code
2024-04-09 20:50:46 -04:00
Jan-Philipp Benecke
fa3cba5b87 Bump codecov/codecov-action to v4.3.0 (#115317) 2024-04-09 12:15:30 -10:00
J. Nick Koston
f527fd0947 Improve error reporting when an integration tries to create a task in a thread (#115307) 2024-04-09 11:11:22 -10:00
TheJulianJES
6ed2190c29 Bump zha-quirks to 0.0.114 (#115299) 2024-04-09 15:22:46 -04:00
Joost Lekkerkerker
076e6ce6e6 Bump yt-dlp to 2024.04.09 (#115295) 2024-04-09 21:10:22 +02:00
J. Nick Koston
469b01bd64 Migrate apple_tv to use async_schedule_reload (#115241) 2024-04-09 07:05:23 -10:00
J. Nick Koston
d2a3473454 Migrate elkm1 to use async_schedule_reload (#115240) 2024-04-09 07:05:09 -10:00
J. Nick Koston
11af7d91ff Optimize _async_track_event for the single key common case (#115242) 2024-04-09 07:04:50 -10:00
J. Nick Koston
1de1e413a9 Migrate script entities to use more shorthand attrs (#115245) 2024-04-09 07:04:32 -10:00
J. Nick Koston
59d92f16bd Use shorthand attributes in automation for name (#115246) 2024-04-09 07:04:12 -10:00
J. Nick Koston
f8aec03c03 Migrate hyperion to use async_update_reload_and_abort (#115238) 2024-04-09 18:37:01 +02:00
Joost Lekkerkerker
763df83cdb Remove Nextbus YAML import (#115277) 2024-04-09 18:34:35 +02:00
Joost Lekkerkerker
e7c247f1f0 Remove Twitch YAML import (#115278) 2024-04-09 18:34:29 +02:00
Klaas Schoute
d2dcf04946 Bump forecast-solar lib to v3.1.0 (#115272) 2024-04-09 18:34:04 +02:00
Paulus Schoutsen
2df6f1849f Add OpenAI conversation entity (#114942)
* Add OpenAI conversation entity

* Add migration
2024-04-09 11:10:03 -04:00
jan iversen
51d5d51248 Bump pymodbus v3.6.7 (#115279)
Bump pymodbus v3.6.7.
2024-04-09 17:09:55 +02:00
Jesse Hills
68384bba67 Send/receive Voice Assistant audio via ESPHome native API (#114800)
* Protobuf audio test

* Remove extraneous code

* Rework voice assistant pipeline

* Move variables

* Fix reading flags

* Dont directly put to queue

* Bump aioesphomeapi to 24.0.0

* Update tests

- Add more tests for API pipeline
- Convert some udp tests to use api pipeline
- Update fixtures for new device info flags

* Fix bad merge

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-04-09 10:55:59 -04:00
konsti
cad4c3c0c2 Remove pip jemalloc config from dockerfile (#115206) 2024-04-09 15:08:55 +02:00
pleum
7bf2baa236 Add additional Vital 100S model to vesync (#113838) 2024-04-09 10:18:37 +01:00
Steven B
4cd2351bcc Update and migrate ring non string unique ids (#115265)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 23:08:46 -10:00
Joost Lekkerkerker
80450adb1a Remove Epson Workforce integration (#115201)
* Remove Epson Workforce integration

* Remove Epson Workforce integration
2024-04-09 10:38:17 +02:00
Steven B
bf3eb463ae Wrap tplink exceptions caused by user actions inside HomeAssistantError (#114919) 2024-04-08 22:35:25 -10:00
Steven B
0a57641f3f Bump ring_doorbell library to 0.8.11 (#115263) 2024-04-08 22:12:50 -10:00
On Freund
a852a38d24 Configurable maximum concurrency in Risco local (#115226)
* Configurable maximum concurrency in Risco local

* Show advanced Risco options in advanced mode
2024-04-09 09:59:27 +02:00
Robert Contreras
af7d0187cb Add tests to Home Connect integration (#114214)
* Add tests to Home Connect integration

* Fix misspelling

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

* Changes to tests with properly setup fixtures.

* Consolidated api tests, patched library instead of code

* Consolidate sensor edge cases, switch mock assertion to call_count

* Adjust assertion

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-09 08:52:39 +02:00
Allen Porter
4a7a22641e Fix Google Tasks parsing of remove responses (#115258) 2024-04-09 07:39:31 +02:00
Marc Mueller
d4500cf945 Improve recorder event typing (#115253) 2024-04-08 14:56:18 -10:00
J. Nick Koston
4e983d710f Fix misssing timeout in caldav (#115247) 2024-04-08 11:09:18 -10:00
J. Nick Koston
aa85e59c6f Migrate group to use shorthand attributes for name and icon (#115244) 2024-04-08 11:05:56 -10:00
J. Nick Koston
95958ac0ef Increase discovery flow init concurrency limit to 20 (#115230) 2024-04-08 11:05:40 -10:00
Jan-Philipp Benecke
44f8dbf86b Fix failing escea test in connection with greeneye_monitor (#115237)
* Fix failing escea test in connection with greeneye_monitor

* typing
2024-04-08 22:11:14 +02:00
J. Nick Koston
ca5ed274cb Deprecate calling async_listen and async_listen_once with run_immediately (#115169) 2024-04-08 10:07:54 -10:00
Luke Lashley
5ef42078a3 Add a service to get maps for Roborock (#111478)
* add service to get rooms

* fix linting

* add snapshot

* change map id
2024-04-08 21:40:59 +02:00
Sid
9cbed10372 Enable Ruff PYI041 (#115229) 2024-04-08 09:29:05 -10:00
Sid
cbbadf6256 Enable Ruff PYI036 (#115228) 2024-04-08 08:47:03 -10:00
Sergio Conde Gómez
f114ebd79d Remove @skgsergio from foscam and qingping codeowners (#115210) 2024-04-08 08:46:22 -10:00
Marc Mueller
4e94f11665 Use EventType for entity_registry_updated (#115187) 2024-04-08 08:44:59 -10:00
Sid
025c6f5e2e Add __slots__ to NodeClass classes (#115079)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 08:44:18 -10:00
J. Nick Koston
266e4f0c8b Migrate rfxtrx to use run_immediately=True for the device registry listener (#115165) 2024-04-08 08:29:27 -10:00
Marc Mueller
2fc0d8494d Use EventType for device_registry_updated (#115188) 2024-04-08 08:25:57 -10:00
Marc Mueller
0d18679c8f Use EventType for remaining registry events (#115189) 2024-04-08 08:25:39 -10:00
Marc Mueller
6116f11e6c Use EventType for system events (#115190) 2024-04-08 08:25:34 -10:00
Marc Mueller
a52a80f806 Always include old_state in EventStateChangedData [tests] (#115098) 2024-04-08 08:25:22 -10:00
Thomas55555
017b2fe685 Change scan interval for Husqvarna Automower (#115225)
* Change scan interval for Husqvarna Automower

* Also use const
2024-04-08 20:22:09 +02:00
Luca Angemi
fc1ebdaaa3 Add config message items selector to imap option flow (#115108)
* Update const.py

* Update config_flow.py

* Update coordinator.py

* Update coordinator.py

* Update strings.json

* Update config_flow.py

* Update const.py

* Update coordinator.py

* Update config_flow.py

* Update config_flow.py

* Update test_diagnostics.py

* Update const.py

* Update test_init.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_init.py

* Update test_diagnostics.py

* Update test_init.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_diagnostics.py

* Update test_config_flow.py

* Update config_flow.py

* Update test_config_flow.py

* Update test_init.py

* Update const.py

* Only make text and headers optional

* Add message data tests

* Add message data test

* Update test_config_flow.py

* Update test message data

* Fix ruff

* Fix ruff

* Update test_init.py

* Update strings.json

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-08 19:34:50 +02:00
Kim de Vos
f23e48f373 Add sensor for CPU and memory utilization for unifi device (#114986)
Add system stats to unifi device sensors
2024-04-08 19:29:54 +02:00
Paulus Schoutsen
f9a7e6bb9f Add migration logic to assist_pipeline (#115172) 2024-04-08 11:29:55 -04:00
Illia
cbaef096fa Add Arve integration (#113156)
* add Arve integration

* Update homeassistant/components/arve/config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Various fixes, changed scan interval to one minute

* coordinator implementation

* Code cleanup

* Moved device info to the entity.py, ArveDeviceEntityDescription to sensor.py

* delete refresh before adding entities

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update tests/components/arve/test_config_flow.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update tests/components/arve/conftest.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Changed value_fn in sensors.py, added typing to description

* Code cleanups, platfrom test implementation

* New code cleanups, first two working tests

* Created platform test, generated snapshots

* Reworked integration to get all of the customer devices

* new fixes

* Added customer id, small cleanups

* Logic of setting unique_id to the config flow

* Added test of abortion on duplicate config_flow id

* Added "available" and "device" properties fro ArveDeviceEntity

* small _attr_unique_id fix

* Added new test, improved mocking, various fixes

* Various cleanups and fixes

* microfix

* Update homeassistant/components/arve/strings.json

* ruff fix

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-08 17:24:32 +02:00
Sid
376aafc83e Enable Ruff INP001 (#115082) 2024-04-08 15:43:58 +02:00
Sid
f8b6629b26 Enable Ruff PGH rules (#115091) 2024-04-08 15:42:22 +02:00
Erwin Douna
85b453b86c Fix Downloader test cases and error title (#114847)
* Fix test cases

* Return value

* isdir change

* FIx test cases and error title

* Removing patch

* Tiny needless fine-tuning
2024-04-08 15:28:07 +02:00
Jan Bouwhuis
d9dada4fb3 Remove condition from ecobee humidifier attribute test (#115197)
Remove conditions from ecobee humidifier attribute test
2024-04-08 14:33:24 +02:00
Franck Nijhof
04072cb3c1 2024.4.2 (#115186) 2024-04-08 14:17:03 +02:00
Marc Mueller
53b4fd419a Update build system dependencies (#115102) 2024-04-08 11:18:20 +02:00
dependabot[bot]
c5f05908d7 Bump github/codeql-action from 3.24.9 to 3.24.10 (#115179) 2024-04-08 10:46:25 +02:00
Franck Nijhof
05082fcceb Bump version to 2024.4.2 2024-04-08 10:41:50 +02:00
gibwar
8c0b44d6d5 Only reset requested utility meter with no tariff (#115170) 2024-04-08 10:41:41 +02:00
J. Nick Koston
9a342f87c0 Avoid checking for polling if an entity fails to add (#115159)
* Avoid checking for polling if an entity fails to add

* no need to do protected access

* no need to do protected access

* no need to do protected access

* no need to do protected access

* coverage

* fix test

* fix

* broken one must be first
2024-04-08 10:41:38 +02:00
J. Nick Koston
d062ef357b Write timer entity state before firing events (#115151) 2024-04-08 10:41:35 +02:00
rappenze
265d04c593 Fix fibaro sensor additional sensor lookup (#115148) 2024-04-08 10:41:32 +02:00
dontinelli
fc9653581a Bump fyta_cli to 0.3.5 (#115143)
bump fyta_cli to 0.3.5
2024-04-08 10:41:29 +02:00
dontinelli
7bea6eface improve handling of incorrect values in fyta integration (#115134)
* improve handling of incorrect values

* Changes based on review comment

* Apply suggestions from code review

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

* update value_fn

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-08 10:41:26 +02:00
J. Nick Koston
19f3ef763d Terminate scripts with until and while conditions that execute more than 10000 times (#115110) 2024-04-08 10:41:23 +02:00
Maikel Punie
fa88975055 Bump velbus-aio to 2024.4.1 (#115109)
bump velbusaio to 2024.4.1
2024-04-08 10:41:19 +02:00
Joakim Sørensen
1322f38911 Downgrade hass-nabucasa from 0.80.0 to 0.78.0 (#115078) 2024-04-08 10:40:42 +02:00
J. Nick Koston
75127105b9 Fix synology_dsm availablity (#115073)
* Remove reload on update failure from synology_dsm

fixes #115062

The coordinator will retry on its own later, there is no
reason to reload here.  This was added in #42697

* fix available checks
2024-04-08 10:34:59 +02:00
Matthias Alphart
d6793a756f Update xknxproject to 3.7.1 (#115053) 2024-04-08 10:34:55 +02:00
Matrix
20e88255df Bump yolink-api to 0.4.2 (#115026) 2024-04-08 10:34:52 +02:00
Maciej Bieniek
2f9f1008a5 Bump brother to version 4.1.0 (#115021)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-08 10:34:49 +02:00
J. Nick Koston
90bc21b7f6 Fix dictionary changed size during iteration in prometheus (#115005)
Fixes #104803
2024-04-08 10:34:45 +02:00
Øyvind Matheson Wergeland
b29eb317bd Upgrade to pynobo 1.8.1 (#114982)
pynobo 1.8.1
2024-04-08 10:34:42 +02:00
Joost Lekkerkerker
dcd9d987a7 Filter out fuzzy translations from Lokalise (#114968) 2024-04-08 10:34:38 +02:00
Robert Svensson
e26ea40570 Bump axis to v61 (#114964) 2024-04-08 10:34:35 +02:00
Joost Lekkerkerker
0a2d79f63e Fix Snapcast Config flow (#114952) 2024-04-08 10:34:31 +02:00
Nathan Spencer
d1b1d6388f Bump pylitterbot to 2023.4.11 (#114918) 2024-04-08 10:34:28 +02:00
Benjamin
93569e3827 Fix missing if statement in homematic (#114832)
* homematic fix issue #114807

Update climate.py

* Update homeassistant/components/homematic/climate.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-08 10:34:24 +02:00
Niccolò Maggioni
61a359e4d2 Fix hang in SNMP device_tracker implementation (#112815)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 10:34:20 +02:00
gibwar
e403b50ddc Only reset requested utility meter with no tariff (#115170) 2024-04-08 10:05:46 +02:00
Niccolò Maggioni
f06b00c6d8 Fix hang in SNMP device_tracker implementation (#112815)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-08 10:04:59 +02:00
Joost Lekkerkerker
ecda6b70ff Filter out fuzzy translations from Lokalise (#114968) 2024-04-08 10:04:16 +02:00
Jan Bouwhuis
8b5177e989 Add IMAP fetch service (#115127)
* Add IMAP fetch service

* Fix docstr
2024-04-08 09:50:28 +02:00
Brett Adams
1cace9a609 Add reauth to Teslemetry (#114726)
* Add reauth

* Add tests

* PARALLEL_UPDATES

* Bump quality to platinum

* Fix assertion

* Remove quality

* Remove async_create_task

* Review Feedback

* Remove loop inside parametrize

* Change config during reauth

* Fix missing return
2024-04-08 09:44:51 +02:00
Richard Kroegel
16fc935c87 Refactor BMW entity availability (#110294)
Co-authored-by: Richard <rikroe@users.noreply.github.com>
2024-04-08 09:26:50 +02:00
MarkGodwin
487480dc88 Address late review of TP-Link Omada (#115121)
tplink_omada implement feedback from #114138
2024-04-08 06:26:20 +02:00
Federico D'Amico
111ffdd77e Improve microBees code quality (#114939)
microBees code quality
2024-04-08 05:35:46 +02:00
J. Nick Koston
3daecc7a31 Remove remaining run_immediately=False from tests (#115168) 2024-04-07 16:47:41 -10:00
J. Nick Koston
9ef28f83ea Switch async_track_state_change to use run_immediately (#115164) 2024-04-07 16:38:25 -10:00
J. Nick Koston
1fd5f64dcc Migrate matrix to use run_immediately for start listener (#115167)
* Migrate matrix to use run_immediately for start listener

* Migrate matrix to use run_immediately for start listener
2024-04-07 22:30:54 -04:00
J. Nick Koston
af1023074e Add an event_filter to google_assistant state reporting (#115160)
* adjust

* fix test since it happens sooner now

* remove debug

* remove unneeded test change

* reduce

* reduce
2024-04-07 21:30:03 -04:00
J. Nick Koston
89a2c89fe2 Avoid checking for polling if an entity fails to add (#115159)
* Avoid checking for polling if an entity fails to add

* no need to do protected access

* no need to do protected access

* no need to do protected access

* no need to do protected access

* coverage

* fix test

* fix

* broken one must be first
2024-04-07 21:25:55 -04:00
J. Nick Koston
6b4457043d Deprecate async_add_hass_job (#115061) 2024-04-07 14:08:25 -10:00
rappenze
f044dd54cf Bump fibaro to 0.7.7 (#115152) 2024-04-07 13:49:20 -10:00
J. Nick Koston
213cf76781 Fix flakey fritz image test (#115161) 2024-04-07 13:46:38 -10:00
Mick Vleeshouwer
94a2352b41 Bump pyoverkiz to 1.13.10 (#115154) 2024-04-07 13:39:11 -10:00
Marc Mueller
a0e6fd6ec5 Add improved typing for event fire and listen methods (#114906)
* Add EventType implementation

* Update integrations for EventType

* Change state_changed to EventType

* Fix tests

* Remove runtime impact

* Add tests

* Move to stub file

* Apply pre-commit to stub files

* Fix ruff PYI checks

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-07 13:28:24 -10:00
J. Nick Koston
d007b175c5 Write timer entity state before firing events (#115151) 2024-04-07 12:51:59 -10:00
Pete Sage
f96c5a2905 Add additional Sonos integration code-owner (#115157) 2024-04-07 12:51:44 -10:00
Matrix
3a28125470 Bump yolink-api to 0.4.2 (#115026) 2024-04-07 11:31:52 -10:00
Sid
8e98ba7312 Add first batch of Ruff PYI rules (#115100)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-07 11:30:50 -10:00
J. Nick Koston
569f54d8e3 Terminate scripts with until and while conditions that execute more than 10000 times (#115110) 2024-04-07 11:02:53 -10:00
rappenze
771fe57e32 Fix fibaro sensor additional sensor lookup (#115148) 2024-04-07 10:53:30 -10:00
dontinelli
05440ec04c Bump fyta_cli to 0.3.5 (#115143)
bump fyta_cli to 0.3.5
2024-04-07 21:38:13 +02:00
dontinelli
80ec9d4394 improve handling of incorrect values in fyta integration (#115134)
* improve handling of incorrect values

* Changes based on review comment

* Apply suggestions from code review

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

* update value_fn

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-07 21:07:51 +02:00
Joost Lekkerkerker
9ec4e9a1a9 Remove Color extractor import flow (#115015)
* Remove Color extractor import flow

* Remove Color extractor import flow
2024-04-07 19:38:56 +02:00
Maikel Punie
3239351f18 Bump velbus-aio to 2024.4.1 (#115109)
bump velbusaio to 2024.4.1
2024-04-07 19:32:15 +02:00
Jan Bouwhuis
c270ab0059 Correct duplicate word in IMAP translations (#115132) 2024-04-07 19:29:19 +02:00
wittypluck
63d43a9384 Add Glances network sensors (#114546)
* Add Glances network sensors

* Add unit test for network and remove unused MOCK_DATA

* Add network icons
2024-04-07 16:01:00 +02:00
Joost Lekkerkerker
32d62e477a Add entity translations to Bluemaestro (#102424)
* Add entity translations to Bluemaestro

* Fix

* yes
2024-04-07 15:54:22 +02:00
J. Nick Koston
5630b3611d Add an event filter to the alexa state report state change listener (#115076)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-04-07 03:14:18 -10:00
Tobias Sauerwein
f617000920 Add device removal capability for Netatmo (#107630)
* Add device removal capability for Netatmo

* Update tests/components/netatmo/test_init.py

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

* Update tests/components/netatmo/test_init.py

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

* Update tests/components/netatmo/test_init.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-07 15:10:00 +02:00
Álvaro Fernández Rojas
d4d06c0bc3 Add Water Heater support for Airzone Cloud (#115097)
* airzone_cloud: add Water Heater support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* run CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-07 15:07:40 +02:00
fhoekstra
e4fbe539aa Add GPU sensor to Glances (#106322)
* feat: add GPU sensor to Glances

* Add translations to Glances GPU sensor

* Fix translations of GPU processor and memory usage

* PR feedback: move icons to icons.json

thanks to @wittypluck

* Update glances snapshot with added GPU

* Remove JSON trailing comma

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

* Limit precision of Glance GPU mem usage sensor

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

* Clean up outdated snapshots

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-07 15:05:22 +02:00
Joost Lekkerkerker
1b07d3ecfa Enable entities in Netatmo snapshot test (#115105) 2024-04-07 14:38:40 +02:00
Joakim Sørensen
df6997bfa9 Downgrade hass-nabucasa from 0.80.0 to 0.78.0 (#115078) 2024-04-07 08:20:58 -04:00
Joost Lekkerkerker
021eed66f3 Add more base entities to netatmo (#107862)
* Rename netatmo base entity file

* Add more Netatmo base entities

* Add more Netatmo base entities

* Add more Netatmo base entities

* Add more Netatmo base entities

* Apply suggestions from code review

* Add more Netatmo base entities

* Add snapshot tests to Netatmo platforms

* Add snapshot tests to Netatmo platforms

* Fix snapshots

* Fix tests

* Update snapshots

* Add fans

* Add fans

* Update homeassistant/components/netatmo/select.py

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>

* Add snapshot tests to Netatmo platforms

* Update snapshots

* minor clean up

* Fix tests

* Fix

* Fix

* Fix

* Move dot split to weather station sensors

---------

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
Co-authored-by: Tobias Sauerwein <cgtobi@gmail.com>
2024-04-07 13:36:12 +02:00
Joost Lekkerkerker
9f2fa7ec19 Add snapshot tests to Bluemaestro (#115094) 2024-04-07 13:19:40 +02:00
J. Nick Koston
32004973c8 Simplify invalidating the User cache (#115074) 2024-04-07 12:17:18 +02:00
J. Nick Koston
f2fe2c4510 Fix synology_dsm availablity (#115073)
* Remove reload on update failure from synology_dsm

fixes #115062

The coordinator will retry on its own later, there is no
reason to reload here.  This was added in #42697

* fix available checks
2024-04-07 10:54:40 +02:00
J. Nick Koston
b456a212eb Fix flakey tests using the _get_diagnostics_for_config_entry helper (#115069) 2024-04-06 21:58:23 -10:00
Marc Mueller
cb9352110c Improve registry store data typing (#115066) 2024-04-06 14:34:49 -10:00
J. Nick Koston
a0936902c2 Use identity checks for EntityPlatformState enum (#115067) 2024-04-07 02:31:23 +02:00
J. Nick Koston
164d29d4d9 Remove prepare override in HomeAssistantQueueHandler (#115064) 2024-04-06 13:53:36 -10:00
Marc Mueller
8324fd5d1d Deprecated old backports and typing aliases (#114883) 2024-04-06 13:15:30 -10:00
J. Nick Koston
8e645c9b32 Fix flakey cast discovery test (#115063) 2024-04-06 13:15:14 -10:00
Pete Sage
553c147933 Fix sonos switch test failures (#115052) 2024-04-06 12:51:21 -10:00
Avi Miller
6f783d75bc Bump aiolifx to 1.0.2 and aiolifx-themes to 0.4.15 (#115059) 2024-04-06 12:48:37 -10:00
J. Nick Koston
c4b5a7c027 Migrate start helper to use run_immediately (#115055) 2024-04-06 12:35:46 -10:00
wittypluck
3ef2c464ac Add Glances DiskIO read/write sensors (#114933) 2024-04-07 00:13:02 +02:00
Kevin Stillhammer
cce8e4839a Add reconfigure step for waze_travel_time (#114885)
* Add reconfigure step for waze_travel_time

* Add reconfigure_successful string

* Update tests/components/waze_travel_time/test_config_flow.py

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-07 00:06:30 +02:00
William Easton
ed451cab3b Update Ambient Weather to include Lightning Strike Time and Distance (#114255)
* Update sensor.py to include Lightning Distance

* Update strings.json to include Lightning Strikes distance

* Update homeassistant/components/ambient_station/sensor.py

* Update homeassistant/components/ambient_station/strings.json

* Update device class lightning distance

* Also add Last Lightning strike datetime

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-06 23:39:43 +02:00
Steven Looman
78bb21138c Remove @StevenLooman from dlna_dmr codeowners (#115028)
* Remove myself from dlna_dmr codeowners

* Update codeowners file

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-04-06 23:38:05 +02:00
Álvaro Fernández Rojas
9a1b0874fd Update aioairzone-cloud to v0.5.1 (#115029)
* Update aioairzone-cloud to v0.5.1

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone_cloud: fix diagnostics

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-04-06 23:37:22 +02:00
J. Nick Koston
29bc67234e Make eager_start default to True for config entry async_create_task (#115047) 2024-04-06 11:22:02 -10:00
Matthias Alphart
2290362dfb Update xknxproject to 3.7.1 (#115053) 2024-04-06 23:18:52 +02:00
Maciej Bieniek
b0fd3d0b89 Bump brother to version 4.1.0 (#115021)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-06 11:09:46 -10:00
J. Nick Koston
52957849cf Make eager_start default to True for config entry async_create_background_task (#115050) 2024-04-06 10:59:24 -10:00
J. Nick Koston
166910f587 Make eager_start default to True for async_create_background_task (#114996) 2024-04-06 09:53:50 -10:00
Marc Mueller
8f425b9ea7 Improve generic event typing [recorder] (#114736) 2024-04-06 21:35:42 +02:00
Jan Bouwhuis
2e3cb1a767 Correct changes hassfest coverage backports (#115044) 2024-04-06 21:17:44 +02:00
J. Nick Koston
c33a234048 Make eager_start default to True for async_create_task (#114995) 2024-04-06 09:15:40 -10:00
Jan Bouwhuis
fa47e79292 Correct typo in IMAP translation (#115032) 2024-04-06 18:37:54 +02:00
mkmer
7f8341e03a Deprecate aux heat from Honeywell (#114110)
* Remove aux heat

* Add switch entity for emheat

* Optimized async_setup_entry

* Fix errors in comments

* Fix new ruff failuer

* Use constant for EM

* Protect EM mode - must be in heat to turn on/off

* Restore aux_heat

* Add repair issue

* Add missing place holder to issue

* Better placeholder "option"
2024-04-06 17:22:56 +02:00
larsvinc
a5c82f3713 Add adax on/off functionality for local heaters (#114557)
* Add adax on/off functionality for local heaters

* Fixed ruff / newline

* Ran Ruff

* Update homeassistant/components/adax/climate.py

Removed unecessary return

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

* Update homeassistant/components/adax/climate.py

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

* Update homeassistant/components/adax/climate.py

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

* Fixed bug with internal temperature state.

* Apply suggestions from code review

Added target_temp for code clarity

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-04-06 17:09:48 +02:00
Joost Lekkerkerker
57cc3495c2 Sort coveragerc again (#115017)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-04-06 15:51:56 +02:00
Joost Lekkerkerker
b743a86aa9 Refactor Vilfo tests (#115020)
* Refactor Vilfo tests

* Patch is_host_valid
2024-04-06 15:48:52 +02:00
Marc Mueller
81d682874f Update typing extensions to 4.11.0 (#114985) 2024-04-06 14:23:32 +02:00
Marc Mueller
856567d674 Improve generic event typing [google_pubsub] (#114731) 2024-04-06 14:20:31 +02:00
Marc Mueller
bf0309a722 Improve generic event typing [mqtt_statestream] (#114732) 2024-04-06 14:19:39 +02:00
Marc Mueller
e0f5559c8f Improve generic event typing [EventComponentLoaded] (#114739) 2024-04-06 14:18:03 +02:00
Marc Mueller
fa7da34298 Improve generic event typing [tasmota] (#114737) 2024-04-06 14:16:25 +02:00
Joost Lekkerkerker
bf142aef5f Fix ruff error (#115023) 2024-04-06 14:13:20 +02:00
Marc Mueller
289700dcf5 Improve generic event typing [device_tracker] (#114730) 2024-04-06 14:01:05 +02:00
Marc Mueller
7898bdcd4e Improve generic event typing [conversation] (#114729) 2024-04-06 14:00:13 +02:00
Marc Mueller
d24cf9e4ec Improve generic event typing [cloud] (#114728) 2024-04-06 13:59:12 +02:00
Marc Mueller
082af6e0ae Improve generic event typing [voip] (#114738) 2024-04-06 13:57:09 +02:00
Øyvind Matheson Wergeland
fdef3ece13 Fix placeholder quotes (#114974)
* When quoting placeholders, always use double quotes so Lokalise recognizes the placeholder.

* Ensure that strings does not contain placeholders in single quotes.

* Avoid redefining value

* Moved string_with_no_placeholders_in_single_quotes

* Define regex once

* Fix tests
2024-04-06 13:01:56 +02:00
Álvaro Fernández Rojas
bd9070be11 Update aioairzone-cloud to v0.5.0 (#114928) 2024-04-06 12:24:00 +02:00
wittypluck
0ccd334608 Update glances-api to 0.6.0 (#114929) 2024-04-06 12:20:00 +02:00
Nathan Spencer
6594d022ba Bump pylitterbot to 2023.4.11 (#114918) 2024-04-06 12:16:00 +02:00
Joost Lekkerkerker
d9573bb7dc Move Color extractor service to async_setup (#115013) 2024-04-06 12:06:16 +02:00
J. Nick Koston
b6d0c9d1c3 Migrate proximity to use async_track_state_change_event (#115002) 2024-04-06 12:00:30 +02:00
J. Nick Koston
34bf4dc962 Migrate generic_hygrostat to use async_track_state_change_event (#115001) 2024-04-06 11:57:30 +02:00
J. Nick Koston
7d5b39b9de Fix dictionary changed size during iteration in prometheus (#115005)
Fixes #104803
2024-04-06 11:50:29 +02:00
Steven B
e85b9faa00 Bump ring_doorbell to 0.8.10 (#114865) 2024-04-06 11:49:30 +02:00
Sid
0d66d298ec Enable Ruff RET504 (#114528)
* Enable Ruff RET504

* fix test

* Use noqa instead of cast

* fix sonos RET504

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-06 11:07:37 +02:00
Claudio Ruggeri - CR-Tech
a28731c294 Add Swing Mode Feature to Modbus integration (#113710) 2024-04-06 11:01:44 +02:00
Øyvind Matheson Wergeland
c3942a7d44 Upgrade to pynobo 1.8.1 (#114982)
pynobo 1.8.1
2024-04-06 09:38:14 +02:00
Robert Svensson
48b281a581 Bump axis to v61 (#114964) 2024-04-06 09:01:55 +02:00
lunmay
0e202770e3 Brand name typo in swiss_public_transport (#115000) 2024-04-06 08:12:44 +02:00
J. Nick Koston
f497c461ed Switch to using the AsyncResolver with aiohttp (#114529)
* Bump aiodns to 3.2.0

changelog: https://github.com/saghul/aiodns/compare/v3.1.1...v3.2.0

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* Switch to using the AsyncResolver with aiohttp

This avoids creating executor jobs to do DNS resolution

AsyncResolver was not usable before https://github.com/aio-libs/aiohttp/pull/8270
because it did not fallback to fallback to A records and only returned AAAA records
in most cases when IPv6 was available

This is a backport of https://github.com/aio-libs/aiohttp/pull/8270

* fixes

* fix mocking in next_dns

* fix unmocked calls in blink

* more mocking fixes

* more fixes

* more fixes

* Fix missing mocking in nextdns tests

extracted from #114539

* extract from context
2024-04-05 23:15:51 -04:00
J. Nick Koston
9c27e632fb Switch configurator to use async_run_hass_job (#114993) 2024-04-05 17:02:58 -10:00
J. Nick Koston
657bc969a3 Improve performance of system_log traceback handling (#114992) 2024-04-05 16:47:17 -10:00
J. Nick Koston
90bbfdd53c Migrate torque to use async platform setup (#114994) 2024-04-05 22:41:37 -04:00
J. Nick Koston
fb98a6f026 Make run_immediately the default for core EventBus listeners (#113752)
* DNM: Make run_immediately the default for listeners

This is a test to see how much progress we have made twords this goal

https://github.com/home-assistant/core/pull/113727#issuecomment-2004587947

* fix shutdown

* Revert "fix shutdown"

This reverts commit a8969d7db9.

* set false since it break utility meter tests

* one more

* fix rfxtrx test

* test needs to be explict now

* fix matrix

* fail sooner
2024-04-05 22:14:20 -04:00
J. Nick Koston
bf5cf382dc Avoid useless stat() syscalls for every logger record (#114987)
* Avoid useless stat() syscalls for every logger record

shouldRollover will always return False since we do
not use maxBytes as we are only using RotatingFileHandler
for the backupCount option. Since every log record will
stat the log file to see if it exists and if its a normal
file, we can override the shouldRollover to reduce the
logging overhead quite a bit

1d3225ae05/Lib/logging/handlers.py (L189)

* assert False is False
2024-04-05 22:00:09 -04:00
J. Nick Koston
00db97a765 Run device_registry stop listener immediately (#114978) 2024-04-05 21:59:27 -04:00
J. Nick Koston
d25ac06326 Run storage final write listener immediately (#114976)
This one should not need a call_soon
2024-04-05 21:59:11 -04:00
Brent Petit
c9ce848b4b Add current_humidity to Ecobee humidifier (#114753)
* Ecobee: add current_humidity to humidifier

* Ecobee: Add test for current_humidity property

* Update current_humidity handling in climate and
humidifier entity to support the ecobee API
not returning actualHumidity, which is an optional
value.
Also updated tests to add a thermostat which
covers a non-populated humidity. In passing,
set up the new test thermostat to cover a missing
condition where the code doens't recognize the
ecobee model number. This gets ecobee humidifier
test coverage to 100%
2024-04-05 21:54:40 +02:00
Joost Lekkerkerker
0214511b38 Make config flow imports consistent (#114962)
* Make config flow imports consistent

* Fix
2024-04-05 21:38:11 +02:00
J. Nick Koston
aeaed83578 Start async_schedule_update_ha_state task eagerly (#114704) 2024-04-05 08:14:21 -10:00
Joost Lekkerkerker
850361d1da Fix Snapcast Config flow (#114952) 2024-04-05 19:45:24 +02:00
Joost Lekkerkerker
5194215074 Allow single entry in Downloader (#114957) 2024-04-05 19:45:14 +02:00
Bengt Sirbelius
e1575678ed Add new OUI for Axis products (#114923)
* Add new OUI for Axis products

* Run hassfest

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-04-05 19:06:18 +02:00
Erwin Douna
f142e902df SIngle entry for Fastdotcom (#114963) 2024-04-05 18:53:28 +02:00
epenet
9204ccfa17 Use is in ConfigEntryState enum comparison in tests (N-Z) (#114926) 2024-04-05 17:37:00 +02:00
Ashot Tonoyan
f2c091fe0c Include serial number in HomeKit device info (#114688)
Very useful when adding a hub that has many identical devices already paired
2024-04-05 17:32:23 +02:00
RJPoelstra
35f2287d1a Bump python-MotionMount to 1.0.0 (#114945) 2024-04-05 17:20:58 +02:00
epenet
0b01326f9f Use is in ConfigEntryState enum comparison in tests (A-M) (#114925) 2024-04-05 17:16:55 +02:00
Franck Nijhof
b1fb77cb4d 2024.4.1 (#114934) 2024-04-05 16:18:02 +02:00
Jan-Philipp Benecke
dd8de14cc5 Update person to use _attr_* and thus cached properties (#114590)
* Update `person` to use `_attr_*` and thus cached properties

* Make func

* Just use attribute

* Move to init
2024-04-05 15:28:33 +02:00
Joost Lekkerkerker
95606135a6 Fix ROVA validation (#114938)
* Fix ROVA validation

* Fix ROVA validation
2024-04-05 14:53:21 +02:00
Aidan Timson
47d9879c0c Pin systembridgemodels to 4.0.4 (#114842) 2024-04-05 14:53:17 +02:00
Joost Lekkerkerker
370c902eb9 Fix ROVA validation (#114938)
* Fix ROVA validation

* Fix ROVA validation
2024-04-05 14:21:24 +02:00
Franck Nijhof
e3c111b1dd Bump version to 2024.4.1 2024-04-05 12:34:07 +02:00
Joost Lekkerkerker
9937743863 Fix cast dashboard in media browser (#114924) 2024-04-05 12:33:49 +02:00
Joost Lekkerkerker
ed3daed869 Create right import issues in Downloader (#114922)
* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Fix

* Fix

* Fix

* Fix

* Apply suggestions from code review

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

* Fix

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-05 12:33:46 +02:00
Åke Strandberg
5d5dc24b33 Show correct model string in myuplink (#114921) 2024-04-05 12:33:43 +02:00
J. Nick Koston
c39d6f0730 Reduce august polling frequency (#114904)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-05 12:33:40 +02:00
J. Nick Koston
87ffd5ac56 Ensure all tables have the default table args in the db_schema (#114895) 2024-04-05 12:33:36 +02:00
Bram Kragten
71877fdeda Update frontend to 20240404.1 (#114890) 2024-04-05 12:33:33 +02:00
Robert Svensson
2434a22e4e Fix Axis reconfigure step not providing protocols as alternatives but as string (#114889) 2024-04-05 12:33:30 +02:00
Jeef
618fa08ab2 Bump weatherflow4py to 0.2.20 (#114888) 2024-04-05 12:33:27 +02:00
Robert Svensson
96003e3562 Fix Axis camera platform support HTTPS (#114886) 2024-04-05 12:33:24 +02:00
Bram Kragten
411e55d059 Update frontend to 20240404.0 (#114859) 2024-04-05 12:33:21 +02:00
Joost Lekkerkerker
58533f02af Fix Downloader YAML import (#114844) 2024-04-05 12:33:18 +02:00
Joost Lekkerkerker
aa14793479 Avoid blocking IO in downloader initialization (#114841)
* Avoid blocking IO in downloader initialization

* Avoid blocking IO in downloader initialization
2024-04-05 12:33:15 +02:00
J. Nick Koston
0191d3e41b Refactor ConfigStore to avoid needing to pass config_dir (#114827)
Co-authored-by: Erik <erik@montnemery.com>
2024-04-05 12:33:12 +02:00
tronikos
319f76cdc8 Bump opower to 0.4.3 (#114826)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-05 12:33:09 +02:00
J. Nick Koston
530725bbfa Handle ambiguous script actions by using action map order (#114825) 2024-04-05 12:33:06 +02:00
Lex Li
d8ae7d6955 Fix type cast in snmp (#114795) 2024-04-05 12:33:03 +02:00
cdheiser
3d0bafbdc9 Fix Lutron light brightness values (#114794)
Fix brightness values in light.py

Bugfix to set the brightness to 0-100 which is what Lutron expects.
2024-04-05 12:33:00 +02:00
Aaron Bach
ef8e54877f Fix unhandled KeyError during Notion setup (#114787) 2024-04-05 12:32:57 +02:00
Manuel Dipolt
a39e1a6428 Update romy to 0.0.10 (#114785) 2024-04-05 12:32:53 +02:00
Joost Lekkerkerker
69f8de2c59 Create right import issues in Downloader (#114922)
* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Create right import issues in Downloader

* Fix

* Fix

* Fix

* Fix

* Apply suggestions from code review

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

* Fix

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-05 12:32:09 +02:00
dependabot[bot]
63392ea1c2 Bump Wandalen/wretry.action from 3.0.1 to 3.1.0 (#114916) 2024-04-05 12:16:27 +02:00
Joost Lekkerkerker
8ca6e12ddd Fix cast dashboard in media browser (#114924) 2024-04-05 11:44:51 +02:00
Joost Lekkerkerker
772d9f754a Fix Downloader YAML import (#114844) 2024-04-05 11:32:59 +02:00
epenet
24f83c5890 Use is in FlowResultType enum comparison in tests (#114917)
* Use is in FlowResultType enum comparison in tests

* Adjust auth

* Adjust systemmonitor

* Once more

* Add comment
2024-04-05 10:40:14 +02:00
Marc Mueller
450be67406 Update romy to 0.0.9 (#114360) 2024-04-05 10:14:00 +02:00
Åke Strandberg
25289e0ca1 Bump myuplink dependency to 0.6.0 (#114767) 2024-04-05 10:06:39 +02:00
Álvaro Fernández Rojas
d983fa6da7 Update aioairzone-cloud to v0.4.7 (#114761) 2024-04-05 10:06:35 +02:00
Åke Strandberg
04e5086e01 Show correct model string in myuplink (#114921) 2024-04-05 10:01:51 +02:00
Robert Svensson
b67e9b28d6 Fix Axis reconfigure step not providing protocols as alternatives but as string (#114889) 2024-04-05 09:47:49 +02:00
J. Nick Koston
bfe944f666 Handle ambiguous script actions by using action map order (#114825) 2024-04-05 08:42:57 +02:00
Lex Li
1f37774352 Fix type cast in snmp (#114795) 2024-04-05 08:41:15 +02:00
Robert Svensson
6040272c04 Fix Axis camera platform support HTTPS (#114886) 2024-04-05 08:28:35 +02:00
J. Nick Koston
0e2fe3b728 Avoid timestamp conversion in core State when equal to last_updated (#114911) 2024-04-05 08:27:27 +02:00
J. Nick Koston
5447a1a015 Ensure all tables have the default table args in the db_schema (#114895) 2024-04-05 08:22:00 +02:00
Jeef
90d502e161 Bump weatherflow4py to 0.2.20 (#114888) 2024-04-04 15:37:54 -10:00
J. Nick Koston
d321906342 Always run keyed event trackers immediately (#114709) 2024-04-04 15:30:01 -10:00
J. Nick Koston
78920e1d71 Reduce august polling frequency (#114904)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-04-04 15:28:36 -10:00
Åke Strandberg
a66ed1d936 Bump myuplink dependency to 0.6.0 (#114767) 2024-04-05 02:55:39 +02:00
Joakim Sørensen
96149d9444 Bump hass-nabucasa from 0.79.0 to 0.80.0 (#114818)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-05 00:48:21 +02:00
Bram Kragten
7f19882843 Update frontend to 20240404.1 (#114890) 2024-04-05 00:26:07 +02:00
Marc Mueller
3c5089bc3f Update import for EventStateChangedData [a-h] (#114899) 2024-04-04 11:48:36 -10:00
Marc Mueller
0f03079065 Update import for EventStateChangedData [i-z] (#114900) 2024-04-04 11:48:29 -10:00
J. Nick Koston
e0e54ab9d3 Migrate more sonos tasks to use eager_start (#114697) 2024-04-04 11:43:15 -10:00
Erik Montnemery
b0d1b6555d Address late review comments on homeworks PRs (#114867) 2024-04-04 22:48:31 +02:00
Pete Sage
95ef087fa8 Fix Sonos Tests failing intermittently on CI (#114873) 2024-04-04 10:34:23 -10:00
tronikos
2cfc60b5b6 Bump opower to 0.4.3 (#114826)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-04 22:06:15 +02:00
Erik Montnemery
7c95ecff20 Validate unique_id in entity registry (#114648)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-04-04 09:51:44 -10:00
Michael Hansen
1c2499b03a Add "conversation" key to translations (#114887)
* Use translated trigger response

* Use conversation key instead
2024-04-04 14:45:27 -05:00
J. Nick Koston
cceea6dac2 Refactor ConfigStore to avoid needing to pass config_dir (#114827)
Co-authored-by: Erik <erik@montnemery.com>
2024-04-04 09:30:10 -10:00
Marc Mueller
56ef9500f7 Use EventStateChangedData type when firing state changed event (#114740) 2024-04-04 09:27:44 -10:00
J. Nick Koston
9189cd5ec2 Avoid linear search in gpslogger to find devices (#114811) 2024-04-04 09:27:24 -10:00
J. Nick Koston
a83d5e4071 Avoid linear search in geofency to find devices (#114810) 2024-04-04 09:27:14 -10:00
J. Nick Koston
c7d1319acf Avoid linear search in owntracks to find devices (#114812) 2024-04-04 09:26:58 -10:00
Bram Kragten
c798128ef1 Update frontend to 20240404.0 (#114859) 2024-04-04 15:01:15 -04:00
J. Nick Koston
a9d43db315 Avoid linear search to clear a config entry in the device registry (#114802) 2024-04-04 08:35:07 -10:00
Aidan Timson
e845d12733 Pin systembridgemodels to 4.0.4 (#114842) 2024-04-04 14:25:35 +02:00
Joost Lekkerkerker
28dc77a72d Avoid blocking IO in downloader initialization (#114841)
* Avoid blocking IO in downloader initialization

* Avoid blocking IO in downloader initialization
2024-04-04 13:45:44 +02:00
Marc Mueller
efde8400e2 Improve generic event typing [rfxtrx] (#114733) 2024-04-04 12:08:37 +02:00
J. Nick Koston
342e47dcc8 Ensure async_test_home_assistant is passed a str in storage tests (#114813) 2024-04-04 12:05:16 +02:00
J. Nick Koston
cc96bc44a0 Avoid linear search in ps4 to find devices (#114814) 2024-04-04 11:53:04 +02:00
J. Nick Koston
0710f4c661 Avoid linear search in purpleair to find devices (#114816) 2024-04-04 11:51:57 +02:00
J. Nick Koston
d7153d525f Avoid linear search in ibeacon to find devices (#114809) 2024-04-04 11:50:30 +02:00
Benjamin
e909242bc5 Fix missing if statement in homematic (#114832)
* homematic fix issue #114807

Update climate.py

* Update homeassistant/components/homematic/climate.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-04 11:45:01 +02:00
J. Nick Koston
5be5c37326 Avoid linear search in homekit to find devices (#114808) 2024-04-04 11:39:16 +02:00
J. Nick Koston
86feae421c Avoid linear search in hassio to find devices (#114806) 2024-04-04 11:38:37 +02:00
Marc Mueller
816ce116bf Remove unnecessary functools.cached_property backport (#114239) 2024-04-04 11:24:26 +02:00
cdheiser
7228f63c4a Fix Lutron light brightness values (#114794)
Fix brightness values in light.py

Bugfix to set the brightness to 0-100 which is what Lutron expects.
2024-04-04 11:24:02 +02:00
J. Nick Koston
7b64097399 Load mobile_app notify platform with eager_start (#114700) 2024-04-04 09:34:13 +02:00
J. Nick Koston
1462c99bc0 Load template platforms with eager_start (#114701)
* Load template platforms with eager_start

These can all be loaded synchronously

* missed some
2024-04-04 09:33:10 +02:00
J. Nick Koston
2b06168573 Avoid linear search in traccar to find devices (#114817)
* Avoid linear search in traccar to find devices

* remove useless check
2024-04-04 09:09:47 +02:00
Álvaro Fernández Rojas
15a821f6ac Update aioairzone-cloud to v0.4.7 (#114761) 2024-04-03 21:05:08 -10:00
J. Nick Koston
aedfd6c983 Add index for floor/label to the area registry (#114777) 2024-04-03 21:04:26 -10:00
J. Nick Koston
aa52688d4b Avoid linear search of the device registry in deconz (#114803) 2024-04-03 21:02:18 -10:00
dependabot[bot]
c18ff39540 Bump Wandalen/wretry.action from 2.1.0 to 3.0.1 (#114805)
Bumps [Wandalen/wretry.action](https://github.com/wandalen/wretry.action) from 2.1.0 to 3.0.1.
- [Release notes](https://github.com/wandalen/wretry.action/releases)
- [Commits](https://github.com/wandalen/wretry.action/compare/v2.1.0...v3.0.1)

---
updated-dependencies:
- dependency-name: Wandalen/wretry.action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-04 08:38:15 +02:00
J. Nick Koston
0c3ccabfb1 Speed up logger setup (#114610)
* Speed up logger setup

Preload core.logger and avoid saving it
until after startup

* add comment about 180s

* Adjust grammar

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-04 08:35:44 +02:00
J. Nick Koston
7a2e529bb7 Avoid executor job to start http if server_host is unspecified (#114609)
* Avoid executor job to start http if server_host is unspecified

Same as #112522 for http

* adjust test

* CONF_SERVER_HOST is always set now
2024-04-04 07:51:18 +02:00
J. Nick Koston
56d0ad27f0 Adjust async_load_platform comment to remove dead lock reference (#114771)
* Adjust async_load_platform comment

Its likely the deadlock here has been fixed for a long time, however
we should still do these in a task because it has to wait for base
components if they are not loaded yet.

* Adjust async_load_platform comment

Its likely the deadlock here has been fixed for a long time, however
we should still do these in a task because it has to wait for base
components if they are not loaded yet.
2024-04-03 22:53:31 -04:00
J. Nick Koston
3f76d1f056 Add index for area/config_entry/label to the device registry (#114776)
* Add index for area/config_entry/label to the device registry

* use it for services

* naming

* naming

* tweak
2024-04-03 22:52:17 -04:00
Aaron Bach
841d3940d1 Fix unhandled KeyError during Notion setup (#114787) 2024-04-03 18:20:20 -06:00
Manuel Dipolt
c1c664dc09 Update romy to 0.0.10 (#114785) 2024-04-04 00:48:35 +02:00
J. Nick Koston
5394a2a34a Load mailbox integration platforms in tracked tasks (#114774) 2024-04-03 11:12:38 -10:00
J. Nick Koston
e86fec310b Improve performance of extracting entities by label (#114720) 2024-04-03 10:24:44 -10:00
J. Nick Koston
3d8a110908 Dispatch the same ReceiveMessage object if the subscription topic is the same (#114769) 2024-04-03 09:36:57 -10:00
Fexiven
535da483b6 Rework update_data starlink coordinator (#114642)
* Update coordinator.py

fixes https://github.com/home-assistant/core/issues/114353

* Rework update_data starlink coordinator

* modify return handlung according to ruff

* add type annotation for _get_srtarlink_data

* add channel_context type annotation

* Add docstring

* ruff ruff here you go - modfied docstring

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-03 20:51:55 +02:00
Franck Nijhof
b61397656c 2024.4.0 (#114764) 2024-04-03 20:38:11 +02:00
J. Nick Koston
69a6e9f5d7 Use eager_start to forward wemo config entry platforms (#114702)
* Use eager_start to forward wemo config entry platforms

These can all be setup synchronously

* do not create another task
2024-04-03 20:29:48 +02:00
Jan-Philipp Benecke
590546a9a5 Use setup_test_component_platform helper for sensor entity component tests instead of hass.components (#114316)
* Use `setup_test_component_platform` helper for sensor entity component tests instead of `hass.components`

* Missing file

* Fix import

* Remove invalid device class
2024-04-03 20:00:56 +02:00
IngoK1
9ba4d26abd Fix for Sonos URL encoding problem #102557 (#109518)
* Fix for URL encoding problem #102557

Fixes the problem "Cannot play media with spaces in folder names to Sonos #102557" removing the encoding of the strings in the music library.

* Fix type casting problem

* Update media_browser.py to fix pr check findings

Added required casting for all unquote statements to avoid further casting findings in the pr checks

* Update media_browser.py

Checked on linting, lets give it another try

* Update media_browser.py

Updated ruff run

* Update media_browser.py - added version run through ruff

* Update media_browser.py - ruff changes

* Apply ruff formatting

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

---------

Co-authored-by: computeq-admin <51021172+computeq-admin@users.noreply.github.com>
Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
2024-04-03 19:31:02 +02:00
Franck Nijhof
aa33da546d Bump version to 2024.4.0 2024-04-03 19:09:39 +02:00
Jan Bouwhuis
d66145358a Correct imap services setup (#114760)
* Correct imap services setup

* Add config schema
2024-04-03 18:40:59 +02:00
Chris Bräucker
51a3e79048 Add wake on LAN via Fritz!Box for tracked devices (#106778) 2024-04-03 18:37:20 +02:00
Franck Nijhof
3845523a27 Bump version to 2024.4.0b9 2024-04-03 17:55:24 +02:00
Michael
6a7fad0228 Fix Synology DSM setup in case no Surveillance Station permission (#114757) 2024-04-03 17:55:12 +02:00
Bram Kragten
33f07ce035 Update frontend to 20240403.1 (#114756) 2024-04-03 17:55:09 +02:00
Michael Hansen
4302c5c273 Bump intents (#114755) 2024-04-03 17:55:05 +02:00
Robert Resch
b2df1b1c03 Allow passing area/device/entity IDs to floor_id and floor_name (#114748) 2024-04-03 17:55:01 +02:00
Michael
6369b75653 Fix Synology DSM setup in case no Surveillance Station permission (#114757) 2024-04-03 17:53:44 +02:00
Bram Kragten
dcef40f27c Update frontend to 20240403.1 (#114756) 2024-04-03 17:32:26 +02:00
Michael Hansen
26c7e170e9 Bump intents (#114755) 2024-04-03 17:27:26 +02:00
Robert Resch
e2c99d226e Fix CI after splitting tests (#114754) 2024-04-03 16:45:07 +02:00
Robert Resch
7adced6876 Allow passing area/device/entity IDs to floor_id and floor_name (#114748) 2024-04-03 16:33:58 +02:00
Maciej Bieniek
f91994d788 Revert the logger level in the Shelly update platform (#114749)
Revert debug level

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-03 16:01:56 +02:00
Robert Resch
ed88c2abc9 Replace pytest-test-groups by custom tests splitter (#114381)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-04-03 15:43:12 +02:00
Franck Nijhof
0aa134459b Bump version to 2024.4.0b8 2024-04-03 15:35:53 +02:00
Bram Kragten
0ca3700c16 Update frontend to 20240403.0 (#114747) 2024-04-03 15:35:40 +02:00
Joost Lekkerkerker
35ff633d99 Avoid blocking IO in downloader config flow (#114741) 2024-04-03 15:35:36 +02:00
Joost Lekkerkerker
7a2f6ce430 Fix Downloader config flow (#114718) 2024-04-03 15:35:32 +02:00
David F. Mulcahey
7cb603a226 Import zha quirks in the executor (#114685) 2024-04-03 15:35:29 +02:00
Jonas Fors Lellky
43562289e4 Bump flexit_bacnet to 2.2.1 (#114641) 2024-04-03 15:35:26 +02:00
Lenn
79fa7caa41 Rename Motionblinds BLE integration to Motionblinds Bluetooth (#114584) 2024-04-03 15:35:20 +02:00
Bram Kragten
90c06d6538 Update frontend to 20240403.0 (#114747) 2024-04-03 15:19:49 +02:00
Jan-Philipp Benecke
613bdebfe5 Migrate sabnzbd to use data update coordinator (#114745)
* Migrate sabnzbd to use data update coordinator

* Add to coveragerc

* Setup coordinator after migration

* Use kB/s as UoM

* Add suggested
2024-04-03 15:15:23 +02:00
J. Nick Koston
2b9f22f11e Make creation of capabilities_updated_at deque in Entity lazy (#114711)
Most entities will never update their capabilities so we should
avoid creating the deque as its a large chunk of the entity
creation time
2024-04-03 13:53:17 +02:00
Joost Lekkerkerker
b9f27d2b31 Avoid blocking IO in downloader config flow (#114741) 2024-04-03 13:50:34 +02:00
J. Nick Koston
e522f2f67e Create bond fallback polling tasks eagerly (#114705)
There was not reason to delay here
2024-04-03 12:36:55 +02:00
J. Nick Koston
80e066a7a8 Use eager_start to create async_update_alerts task in homeassistant_alerts (#114707)
If there are no alerts, the task will finish synchronously
2024-04-03 12:23:36 +02:00
J. Nick Koston
ef047707d9 Simplify config entry cache clear (#114691)
same as #113136 but for config entries
2024-04-03 12:21:37 +02:00
J. Nick Koston
cf4c02b9fa Simplify core state cache clear (#114694)
same as #113136 but for core
2024-04-03 12:20:32 +02:00
J. Nick Koston
742643936f Migrate legacy device_tracker task creation to use eager_start (#114703)
Many of these can finish synchronously without being scheduled on the loop
2024-04-03 12:12:52 +02:00
Lenn
e870d420a6 Rename Motionblinds BLE integration to Motionblinds Bluetooth (#114584) 2024-04-03 12:11:46 +02:00
J. Nick Koston
41a88c876d Avoid useless done check in config entries async_create_task (#114695)
If the task is not started with eager_start it will
never be done right away
2024-04-03 11:49:32 +02:00
Robert Resch
74d8c6cce4 Fix synology_dsm test side effects (#114722) 2024-04-03 11:11:56 +02:00
J. Nick Koston
be3c923c7f Use eager_start to load utility_meter platforms (#114699) 2024-04-02 22:06:16 -10:00
Joost Lekkerkerker
4a879ce424 Fix Downloader config flow (#114718) 2024-04-03 09:56:19 +02:00
Joost Lekkerkerker
f3ba713289 Use FlowResultType enum in config flow tests N-Z (#114682)
Use FlowResultType enum in config flow tests
2024-04-03 09:53:20 +02:00
J. Nick Koston
7a543af8ee Simplify homekit_controller cache clear (#114692) 2024-04-02 21:45:08 -10:00
Jonas Fors Lellky
05c1963815 Bump flexit_bacnet to 2.2.1 (#114641) 2024-04-03 09:23:06 +02:00
Joost Lekkerkerker
b9281327c4 Use FlowResultType enum in config flow tests A-M (#114681) 2024-04-03 09:21:17 +02:00
J. Nick Koston
a767530970 Migrate homeassistant_sky_connect to use eager_start for tasks (#114706) 2024-04-03 09:14:15 +02:00
dependabot[bot]
3eafdadc8f Bump Wandalen/wretry.action from 3.0.0 to 3.0.1 (#114714)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-03 09:13:53 +02:00
David F. Mulcahey
53cbb83e46 Import zha quirks in the executor (#114685) 2024-04-03 09:12:00 +02:00
Erik Montnemery
d058615961 Add service homeworks.send_command (#114059)
* Add service homeworks.send_command

* Translate exception
2024-04-03 09:10:10 +02:00
J. Nick Koston
adbaed2c6d Reduce code for registry items with a base class (#114689) 2024-04-03 09:02:32 +02:00
J. Nick Koston
d17f308c6a Small speed up to starting and stopping cloud (#114696) 2024-04-02 23:47:22 -04:00
J. Nick Koston
06a752aa92 Small speed ups to ambient_station (#114698) 2024-04-02 16:09:27 -10:00
Franck Nijhof
8bdb27c88b Bump version to 2024.4.0b7 2024-04-03 00:14:07 +02:00
Bram Kragten
f676448f27 Update frontend to 20240402.2 (#114683) 2024-04-03 00:13:57 +02:00
J. Nick Koston
639c4a843b Avoid trying to load platform that are known to not exist in async_prepare_setup_platform (#114659) 2024-04-03 00:13:53 +02:00
G Johansson
02dee34338 Bump holidays to 0.46 (#114657) 2024-04-03 00:13:49 +02:00
Maciej Bieniek
4e0290ce0e Add missing state to the Tractive tracker state sensor (#114654)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-03 00:13:45 +02:00
Robert Svensson
fa2f49693c Bump aiounifi to v74 (#114649) 2024-04-03 00:13:39 +02:00
Pete Sage
2ce784105d Fix Sonos play imported playlists (#113934) 2024-04-03 00:13:35 +02:00
Bram Kragten
3c76036c15 Update frontend to 20240402.2 (#114683) 2024-04-03 00:12:31 +02:00
Pete Sage
f26a7843c6 Fix Sonos play imported playlists (#113934) 2024-04-03 00:10:15 +02:00
J. Nick Koston
1779fe8f62 Bump yalexs to 3.0.1 (#114678)
* Bump yalexs to 3.0.1

changelog: https://github.com/bdraco/yalexs/compare/v2.0.0...v3.0.1

* fix for breaking change
2024-04-02 23:37:16 +02:00
J. Nick Koston
17da077c74 Avoid trying to load platform that are known to not exist in async_prepare_setup_platform (#114659) 2024-04-02 11:22:40 -10:00
Joost Lekkerkerker
9b41e3d124 Use is in enum comparison in config flow tests A-E (#114669) 2024-04-02 11:22:05 -10:00
Joost Lekkerkerker
ee66f6ec8c Use is in enum comparison in config flow tests P-T (#114675) 2024-04-02 11:21:50 -10:00
Joost Lekkerkerker
5d500cb74b Use is in enum comparison in config flow tests K-O (#114672) 2024-04-02 11:21:42 -10:00
Dos Moonen
3875533f95 Bump solax to 3.1.0 (#114617)
0.3.2 was succeeded by 0.3.4.
0.3.3 was yanked
0.3.4 was succeeded by 3.0.5.
3.0.5 is succeeded by 3.1.0.
2024-04-02 23:16:39 +02:00
Joost Lekkerkerker
2ef0521d3d Use is in enum comparison in config flow tests U-Z (#114677)
* Use right enum expression U-Z

* Fix
2024-04-02 23:09:56 +02:00
Jan Bouwhuis
83b56ab005 Add IMAP seen, move and delete service (#114501)
* Add seen, move and delete IMAP services

* Add entry_id to the imap_content event data

* Use config validation library

* Add tests

* Add logging

* Typo in docstr

* Add guard
2024-04-02 23:05:05 +02:00
Joost Lekkerkerker
906d3198e3 Use is in enum comparison in config flow tests F-J (#114670)
* Use right enum expression F-J

* Fix
2024-04-02 23:01:37 +02:00
Phil Bruckner
ea2bb24484 Remove old device tracker device cleanup code & test (#114668) 2024-04-02 15:23:59 -05:00
Joost Lekkerkerker
2175cd6039 Add tests for Roomba Options flow (#114666)
* Add tests for Roomba Options flow

* Fix
2024-04-02 21:49:53 +02:00
G Johansson
448f8a9568 Refactor setup code in command_line (#114661)
* Refactor setup code in command_line

* Fix rebase

* Review comments
2024-04-02 22:47:04 +03:00
Cyrill Raccaud
bf9627ad07 Add extra sensors to Swiss Public Transport (#114636)
* convert extra_state_attributes to sensors

* add deprecation notice for extra state attributes

* cleanup after comments

* remove exists_fn as it does not add value

* move function outside the class
2024-04-02 21:35:11 +02:00
Aidan Timson
17f0002549 Azure DevOps integration tests (#114577)
* Add tests to azure devops

* Remove Azure DevOps files from coverage

* Add assertion for entity registration in test_sensors()

* Remove unnecessary code in test_sensor.py

* Refactor test_sensors function

* Fix

* Test unique id

* Refactor

* Refactor reauth_flow test in azure_devops module

* Suggested changes, batched

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

* Changes

* Use snapshot

* Remove redundant entry fetch

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-04-02 21:23:55 +02:00
Joost Lekkerkerker
7cb01f75ae Add typing to Roomba config flow (#114624) 2024-04-02 21:21:55 +03:00
Robert Resch
f85511255c Fix Rpi_power test race condition (#114662) 2024-04-02 21:19:43 +03:00
jayme-github
850dac0655 Don't overwrite target temperature by setting hvac mode in AVM Fritz!SmartHome (#112119) 2024-04-02 20:14:02 +02:00
atlflyer
ef7836be73 Add icon to command_line cover config (#114645)
* Add icon to command_line cover config

* Remove unwanted #noqa tag

* Remove redundancy from new test name

* Apply requested changes
2024-04-02 20:59:57 +03:00
G Johansson
6638d1c8e8 Bump holidays to 0.46 (#114657) 2024-04-02 20:58:18 +03:00
Robert Resch
17625dc74d Fix Google translate TTS test race condition (#114656) 2024-04-02 18:52:41 +02:00
Robert Svensson
9893a6c5e4 Bump aiounifi to v74 (#114649) 2024-04-02 18:33:12 +02:00
Maciej Bieniek
25c920b1ee Add missing state to the Tractive tracker state sensor (#114654)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-02 18:28:52 +02:00
Franck Nijhof
85fb4a27a3 Bump version to 2024.4.0b6 2024-04-02 17:35:01 +02:00
Bram Kragten
8cbedbe26b Update frontend to 20240402.1 (#114646) 2024-04-02 17:34:29 +02:00
Steven B
5bd52da13a Bump ring_doorbell integration to 0.8.9 (#114631) 2024-04-02 17:33:24 +02:00
Paulus Schoutsen
52bd3efad9 Clean up unnecessary setup calls in tests (#114644) 2024-04-02 17:30:41 +02:00
dotvav
d53848aae4 Fix Overkiz Hitachi OVP air-to-air heat pump (#114611) 2024-04-02 17:23:51 +02:00
puddly
4e0d6f287e Reduce ZHA OTA logbook entries and extraneous updates (#114591) 2024-04-02 17:23:45 +02:00
puddly
581c67ed29 Reduce ZHA OTA logbook entries and extraneous updates (#114591) 2024-04-02 17:16:59 +02:00
Bram Kragten
1b875e7de2 Update frontend to 20240402.1 (#114646) 2024-04-02 17:15:24 +02:00
Joost Lekkerkerker
991a4940cd Bump ruff to 0.3.5 (#114634) 2024-04-02 13:53:58 +02:00
Joost Lekkerkerker
0b7d9d6c44 Remove YAML configuration from Withings (#114626)
* Remove YAML configuration from Withings

* Remove YAML configuration from Withings

* Remove YAML configuration from Withings
2024-04-02 13:36:44 +02:00
Robert Resch
476e39dd2c Bump uv to 0.1.27 (#114629) 2024-04-02 13:19:50 +02:00
Steven B
8a86d7512a Bump ring_doorbell integration to 0.8.9 (#114631) 2024-04-02 13:17:47 +02:00
dotvav
a3dce51d38 Fix Overkiz Hitachi OVP air-to-air heat pump (#114611) 2024-04-02 13:08:53 +02:00
Franck Nijhof
5af5f3694e Bump version to 2024.4.0b5 2024-04-02 12:28:20 +02:00
Bram Kragten
b539b25682 Update frontend to 20240402.0 (#114627) 2024-04-02 12:28:07 +02:00
Fexiven
ca31479d29 Fix Starlink integration startup issue (#114615) 2024-04-02 12:28:04 +02:00
Franck Nijhof
92dfec3c98 Add floor selector (#114614) 2024-04-02 12:28:00 +02:00
max2697
230c29edbe Bump opower to 0.4.2 (#114608) 2024-04-02 12:27:57 +02:00
Jack Boswell
559fe65471 Catch potential ValueError when getting or setting Starlink sleep values (#114607) 2024-04-02 12:27:54 +02:00
mkmer
384d10a51d Add diagnostic platform to Whirlpool (#114578)
* Add diagnostic platform and tests

* lowercase variable

* Correc doc string
2024-04-02 12:27:50 +02:00
Brett Adams
e5a620545c Fix battery heater in Tessie (#114568) 2024-04-02 12:27:47 +02:00
Maciej Bieniek
7b84e86f89 Improve Shelly RPC device update progress (#114566)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-02 12:27:44 +02:00
Joost Lekkerkerker
18b6de567d Bump roombapy to 1.8.1 (#114478)
* Bump roombapy to 1.7.0

* Bump

* Bump

* Fix
2024-04-02 12:27:40 +02:00
Pete Sage
a6076a0d33 Display sonos album title with URL encoding (#113693)
* unescape the title

When extracting the title from the item_id, it needs to be unescaped.

* sort imports
2024-04-02 12:27:36 +02:00
Austin Mroczek
49fc8a1230 Improve DeviceInfo for Total Connect (#114509) 2024-04-02 12:23:44 +02:00
Brett Adams
f36c37a3b7 Fix battery heater in Tessie (#114568) 2024-04-02 12:23:08 +02:00
Jan Bouwhuis
acf2f855fe Raise ServiceValidationError on number out of range exception (#114589) 2024-04-02 12:22:00 +02:00
Bram Kragten
31b0b823df Update frontend to 20240402.0 (#114627) 2024-04-02 12:17:52 +02:00
Joakim Sørensen
a1ae4ec23d Add sensor entities to Traccar Server (#111374) 2024-04-02 12:11:28 +02:00
Fexiven
e473914407 Fix Starlink integration startup issue (#114615) 2024-04-02 12:04:07 +02:00
Joost Lekkerkerker
21c7cc3250 Bump roombapy to 1.8.1 (#114478)
* Bump roombapy to 1.7.0

* Bump

* Bump

* Fix
2024-04-02 11:15:52 +02:00
Steven B
51e716bef3 Update ring quality scale to silver (#113146) 2024-04-02 10:47:30 +02:00
Jack Boswell
385da75963 Catch potential ValueError when getting or setting Starlink sleep values (#114607) 2024-04-02 10:45:46 +02:00
Franck Nijhof
4a93b4a4b4 Add floor selector (#114614) 2024-04-02 10:43:14 +02:00
Robert Resch
67c334f842 Fix ruff issue in sonos (#114616) 2024-04-02 10:30:01 +02:00
Maciej Bieniek
c8f282c8bc Improve Shelly RPC device update progress (#114566)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-04-02 10:15:58 +02:00
Pete Sage
31cd41adb8 Display sonos album title with URL encoding (#113693)
* unescape the title

When extracting the title from the item_id, it needs to be unescaped.

* sort imports
2024-04-02 10:11:45 +02:00
mkmer
078535e1d6 Add diagnostic platform to Whirlpool (#114578)
* Add diagnostic platform and tests

* lowercase variable

* Correc doc string
2024-04-02 09:41:40 +02:00
Erik Montnemery
0030c97f59 Tweak integration sensor (#114384)
* Tweak integration sensor

* Improve tests
2024-04-02 09:19:25 +02:00
dependabot[bot]
667e119d32 Bump Wandalen/wretry.action from 2.1.0 to 3.0.0 (#114554)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-02 09:07:47 +02:00
max2697
09fbd8bb52 Bump opower to 0.4.2 (#114608) 2024-04-02 09:04:28 +02:00
Jan-Philipp Benecke
c2ffed9b2d Use switch entities instead of toggle entities in tests (#114585) 2024-04-02 08:25:28 +02:00
Paulus Schoutsen
7164993562 Bump version to 2024.4.0b4 2024-04-02 01:51:42 +00:00
mkmer
bc21836e7e Bump whirlpool-sixth-sense to 0.18.7 (#114606)
Bump sixth-sense to 0.18.7
2024-04-02 01:51:35 +00:00
J. Nick Koston
52612b10fd Avoid storing raw extracted traceback in system_log (#114603)
This is never actually used and takes up quite a bit of ram
2024-04-02 01:51:35 +00:00
J. Nick Koston
623d85ecaa Fix memory leak when importing a platform fails (#114602)
* Fix memory leak when importing a platform fails

re-raising ImportError would trigger a memory leak

* fixes, coverage

* Apply suggestions from code review
2024-04-02 01:51:33 +00:00
J. Nick Koston
43631d5944 Add missing platforms_exist guard to check_config (#114600)
* Add missing platforms_exist guard to check_config

related issue #112811

When the exception hits, the config will end up being saved in the traceback
so the memory is never released.

This matches the check_config code to homeassistant.config to avoid having
the exception thrown.

* patch

* merge branch
2024-04-02 01:51:33 +00:00
J. Nick Koston
112aab47fb Bump zeroconf to 0.132.0 (#114596)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.131.0...0.132.0
2024-04-02 01:51:32 +00:00
Martin Hjelmare
ea13f102e0 Fix reolink media source data access (#114593)
* Add test

* Fix reolink media source data access
2024-04-02 01:51:31 +00:00
jjlawren
bb33725e7f Bump plexapi to 4.15.11 (#114581) 2024-04-02 01:51:31 +00:00
Michael
bd6890ab83 Filter out ignored entries in ssdp step of AVM Fritz!SmartHome (#114574)
filter out ignored entries in ssdp step
2024-04-02 01:51:30 +00:00
Michael
25c611ffc4 Reduce usage of executer threads in AVM Fritz!Tools (#114570)
* call entity state update calls in one executer task

* remove not needed wrapping

* mark as "non-public" method

* add guard against changes on _entity_update_functions
2024-04-02 01:51:29 +00:00
Maikel Punie
fc24b61859 Bump velbusaio to 2024.4.0 (#114569)
Bump valbusaio to 2024.4.0
2024-04-02 01:51:28 +00:00
Joost Lekkerkerker
71588b5c22 Fix wrong icons (#114567)
* Fix wrong icons

* Fix wrong icons
2024-04-02 01:51:27 +00:00
Robert Svensson
14dfb6a255 Bump axis to v60 (#114544)
* Improve Axis MQTT support

* Bump axis to v60
2024-04-02 01:51:27 +00:00
G Johansson
ef97255d9c Fix server update from breaking setup in Speedtest.NET (#114524) 2024-04-02 01:51:26 +00:00
J. Nick Koston
e8afdd67d0 Fix workday doing blocking I/O in the event loop (#114492) 2024-04-02 01:51:25 +00:00
J. Nick Koston
008e4413b5 Fix late load of anyio doing blocking I/O in the event loop (#114491)
* Fix late load of anyio doing blocking I/O in the event loop

httpx loads anyio which loads the asyncio backend in the event loop
as soon as httpx makes the first request

* tweak
2024-04-02 01:51:24 +00:00
dotvav
c373d40e34 Fix Overkiz Hitachi OVP air-to-air heat pump (#114487)
Unpack command parameters instead of passing a list
2024-04-02 01:51:24 +00:00
J. Nick Koston
bdf51553ef Improve sonos test synchronization (#114468) 2024-04-02 01:51:23 +00:00
Michael Hansen
f2edc15687 Add initial support for floors to intents (#114456)
* Add initial support for floors to intents

* Fix climate intent

* More tests

* No return value

* Add requested changes

* Reuse event handler
2024-04-02 01:51:22 +00:00
J. Nick Koston
286a09d737 Mark executor jobs as background unless created from a tracked task (#114450)
* Mark executor jobs as background unless created from a tracked task

If the current task is not tracked the executor job should not
be a background task to avoid delaying startup and shutdown.

Currently any executor job created in a untracked task or
background task would end up being tracked and delaying
startup/shutdown

* import exec has the same issue

* Avoid tracking import executor jobs

There is no reason to track these jobs as they are always awaited
and we do not want to support fire and forget import executor jobs

* fix xiaomi_miio

* lots of fire time changed without background await

* revert changes moved to other PR

* more

* more

* more

* m

* m

* p

* fix fire and forget tests

* scrape

* sonos

* system

* more

* capture callback before block

* coverage

* more

* more races

* more races

* more

* missed some

* more fixes

* missed some more

* fix

* remove unneeded

* one more race

* two
2024-04-02 01:51:21 +00:00
Shay Levy
e8ee2fd25c Cleanup Shelly RGBW light entities (#114410) 2024-04-02 01:51:21 +00:00
Michael
ab2c88353b Filter out ignored entries in ssdp step of AVM Fritz!SmartHome (#114574)
filter out ignored entries in ssdp step
2024-04-01 21:48:26 -04:00
mkmer
3513bd0cc5 Bump whirlpool-sixth-sense to 0.18.7 (#114606)
Bump sixth-sense to 0.18.7
2024-04-01 21:47:30 -04:00
J. Nick Koston
5856bbc07b Add missing platforms_exist guard to check_config (#114600)
* Add missing platforms_exist guard to check_config

related issue #112811

When the exception hits, the config will end up being saved in the traceback
so the memory is never released.

This matches the check_config code to homeassistant.config to avoid having
the exception thrown.

* patch

* merge branch
2024-04-01 21:37:30 -04:00
J. Nick Koston
b12c69accb Fix memory leak when importing a platform fails (#114602)
* Fix memory leak when importing a platform fails

re-raising ImportError would trigger a memory leak

* fixes, coverage

* Apply suggestions from code review
2024-04-01 21:36:48 -04:00
J. Nick Koston
0963f5e642 Avoid storing raw extracted traceback in system_log (#114603)
This is never actually used and takes up quite a bit of ram
2024-04-01 21:35:38 -04:00
J. Nick Koston
ce9d4c8683 Fix flakey cast discovery stop test (#114605)
https://github.com/home-assistant/core/actions/runs/8515215623/job/23322322954?pr=114602
2024-04-01 21:34:54 -04:00
Paulus Schoutsen
d2e4f5f36e Add conversation entity (#114518)
* Default agent as entity

* Migrate constant to point at new value

* Fix tests

* Fix more tests

* Move assist pipeline back to cloud after dependenceis
2024-04-01 21:34:25 -04:00
Martin Hjelmare
b1af590eed Fix reolink media source data access (#114593)
* Add test

* Fix reolink media source data access
2024-04-02 00:14:13 +02:00
IngoK1
acdb3cc7a2 Fix for Sonos URL encoding problem #102557 (#109518)
* Fix for URL encoding problem #102557

Fixes the problem "Cannot play media with spaces in folder names to Sonos #102557" removing the encoding of the strings in the music library.

* Fix type casting problem

* Update media_browser.py to fix pr check findings

Added required casting for all unquote statements to avoid further casting findings in the pr checks

* Update media_browser.py

Checked on linting, lets give it another try

* Update media_browser.py

Updated ruff run

* Update media_browser.py - added version run through ruff

* Update media_browser.py - ruff changes

* Apply ruff formatting

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

* Update homeassistant/components/sonos/media_browser.py

Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>

---------

Co-authored-by: computeq-admin <51021172+computeq-admin@users.noreply.github.com>
Co-authored-by: Jason Lawrence <jjlawren@users.noreply.github.com>
2024-04-01 17:07:02 -05:00
Jan-Philipp Benecke
8e384ab598 Use dict comprehension in honeywell diagnostics (#114598) 2024-04-01 23:55:14 +02:00
Jan-Philipp Benecke
e14573a465 Migrate uptime to use single_config_entry (#114586) 2024-04-01 23:33:29 +02:00
J. Nick Koston
f2b9e6b389 Bump zeroconf to 0.132.0 (#114596)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.131.0...0.132.0
2024-04-01 23:18:26 +02:00
Michael
98a1608604 Reduce usage of executer threads in AVM Fritz!Tools (#114570)
* call entity state update calls in one executer task

* remove not needed wrapping

* mark as "non-public" method

* add guard against changes on _entity_update_functions
2024-04-01 21:59:06 +02:00
J. Nick Koston
0732952b32 Reduce hassio startup time (#114588) 2024-04-01 09:58:06 -10:00
Sid
304ed8bf3d Unignore Ruff PLC in tests (#114572) 2024-04-01 21:28:54 +02:00
J. Nick Koston
ae640b6e1a Small cleanups to zone to reduce startup time (#114587) 2024-04-01 09:03:59 -10:00
Michael
886f03dd71 Apply late review of tankerkoenig (#114582)
remove config entry from device, not device itself
2024-04-01 19:36:57 +02:00
jjlawren
94060b1566 Bump plexapi to 4.15.11 (#114581) 2024-04-01 19:28:39 +02:00
J. Nick Koston
96120b64e0 Fix missing mocking in nextdns tests (#114541) 2024-04-01 06:53:49 -10:00
Aidan Timson
429b5d22cf Upgrade aioazuredevops to 2.0.0 (#114537)
* Upgrade aioazuredevops to 2.0.0

* Refactor Azure DevOps config flow to use async_get_clientsession

* Wrap conditional in parentesis
2024-04-01 16:51:27 +02:00
Michael
2e11a61726 Automatic cleanup of entity and device registry in Tankerkoenig (#114573) 2024-04-01 16:04:18 +02:00
Joost Lekkerkerker
7f9ad140f9 Fix wrong icons (#114567)
* Fix wrong icons

* Fix wrong icons
2024-04-01 15:53:14 +02:00
Maikel Punie
72447a0717 Bump velbusaio to 2024.4.0 (#114569)
Bump valbusaio to 2024.4.0
2024-04-01 14:49:14 +02:00
epenet
ad3577804b Ensure coverage entries are sorted (#114424)
* Ensure coverage entries are sorted

* Use autofix

* Adjust

* Add comment to coverage file

* test CI

* revert CI test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-04-01 14:12:24 +02:00
J. Nick Koston
ea7f2af966 Fix missing mocking in blink tests (#114540)
extracted from #114539
2024-04-01 11:23:38 +02:00
Sid
d5f883fbf0 Unignore Ruff PLR in tests (#114470)
* Unignore Ruff PLR in tests

* Address review comments

* review comments

* fix import

* Update test_api.py

* Update test_api.py

* Update test_api.py
2024-04-01 11:11:59 +02:00
Jonny Rimkus
dc59073f25 Bump slixmpp version to 1.8.5 (#114448)
* Update slixmpp to 1.8.5, hopefully fixes #113990

* Bump slixmpp version to 1.8.5 #114448
2024-04-01 10:50:21 +02:00
Teemu R
55657dcb40 Bump python-songpal to 0.16.2 (#114525) 2024-04-01 02:08:05 +02:00
J. Nick Koston
be398e0a3f Fix flakey sonos test test_creating_entry_sets_up_media_player (#114539) 2024-03-31 13:49:24 -10:00
Jan-Philipp Benecke
04786e019a Use device registry mock instead of hass.helpers in traccar_server tests (#114532) 2024-04-01 00:42:46 +02:00
Jan-Philipp Benecke
ecf286cd81 Avoid use of hass.helpers in plugwise test (#114534) 2024-04-01 00:41:47 +02:00
Jan-Philipp Benecke
0238c2ea9e Use device registry mock instead of hass.helpers in dsmr tests (#114535) 2024-04-01 00:41:06 +02:00
Robert Svensson
05d40fbc4c Bump axis to v60 (#114544)
* Improve Axis MQTT support

* Bump axis to v60
2024-04-01 00:24:41 +02:00
Jan-Philipp Benecke
f08af5dc6d Avoid use of hass.helpers in _mqtt_mock_entry fixture (#114536) 2024-03-31 11:33:59 -10:00
G Johansson
3bb9858dfb Fix server update from breaking setup in Speedtest.NET (#114524) 2024-03-31 20:08:43 +02:00
Thomas55555
5eb4cf6a05 Add error sensor for Husqvarna Automower (#113165)
* Add error sensor for Husqvarna Automower

* Apply suggestions from code review

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* address review

* Add restricted reason sensor

* ruff

* pin options

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-03-31 20:06:30 +02:00
wittypluck
7919ca63d0 Add uptime sensor to Glances (#111402)
* Add uptime sensor to Glances

* Merge upstream

* Merge upstream

* Fix coverage

* Add uptime sensor to Glances

* Merge upstream

* Merge upstream

* Fix coverage

* Move most uptime specific code to DataUpdateCoordinator

* Add last_reported after merge with upstream

* Add unit tests for uptime sensor

* Add unit tests for uptime sensor

* Add unit tests for uptime sensor

* Add unit tests for uptime sensor

* Move update code out of getter native_value()

* Add unit tests for uptime sensor

* Update uptime method signatures

* Set uptime icon in icons.json

* Use freezer.tick for uptime tests

* Frozen time test fails on github

* Add MIN_UPTIME_VARIATION const value

* Only update uptime on startup or when remote server restarts

* Fix for 0 values

* Set value to None to set state to Unknown if key is not found

* Add unit test for uptime change

* Code reduction

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-03-31 20:04:39 +02:00
J. Nick Koston
8ebdd46509 Bump aiodns to 3.2.0 (#114527)
changelog: https://github.com/saghul/aiodns/compare/v3.1.1...v3.2.0
2024-03-31 19:41:06 +02:00
Joost Lekkerkerker
52741d7114 Add single config entry to Analytics insights (#114427)
* Add single config entry to Analytics insights

* Add single config entry to Analytics insights

* Add single config entry to Analytics insights
2024-03-31 15:47:24 +02:00
Jan-Philipp Benecke
d5da0a053b Deprecate hass.helpers (#114484)
* Deprecate hass.helpers

* Patch

* Patch _REPORTED_INTEGRATIONS set in test

* Fix test

* Update version
2024-03-31 11:44:11 +02:00
dotvav
f2f24a5d35 Fix Overkiz Hitachi OVP air-to-air heat pump (#114487)
Unpack command parameters instead of passing a list
2024-03-31 11:38:59 +02:00
Sid
d846676e84 Enable first batch of Ruff RET rules (#114480)
* Enable first batch of Ruff RET rules

* disable pylint rules
2024-03-31 11:30:59 +02:00
Jan-Philipp Benecke
6e3e09f2c3 Use entity & device registry mocks instead of hass.helpers in airthings_ble tests (#114520) 2024-03-31 09:08:07 +02:00
J. Nick Koston
5038a035bd Detect blocking module imports in the event loop (#114488) 2024-03-30 19:51:31 -10:00
Paulus Schoutsen
f01235ef74 Re-organize conversation integration (#114502)
* Re-organize conversation integration

* Clean up 2 more imports

* Re-export models

* Fix imports

* Uno mas

* Rename agents to models

* Fix cast test that i broke?

* Just blocking till I'm done

* Wrong place
2024-03-31 00:05:25 -04:00
Paulus Schoutsen
fb572b8413 Conversation to unsubscribe when no cache to invalidate (#114515)
* Add event filter callbacks to conversation

* Unsusbcribe when we have no slot lists
2024-03-30 23:47:13 -04:00
J. Nick Koston
f0b07ae942 Add pytest rewrite for wemo tests that use entity_test_helpers (#114516) 2024-03-30 17:35:49 -10:00
TheJulianJES
b0a1450a2b Fix ZHA websocket API test (#114495)
* Fix result overwriting expected config

* Use `BASE_CUSTOM_CONFIGURATION` for initial/expected config
2024-03-31 00:17:09 +01:00
Michael Hansen
d23b22b566 Add initial support for floors to intents (#114456)
* Add initial support for floors to intents

* Fix climate intent

* More tests

* No return value

* Add requested changes

* Reuse event handler
2024-03-30 16:59:20 -04:00
Jan-Philipp Benecke
502231b7d2 Avoid call to hass.helpers.store in CategoryRegistry (#114485) 2024-03-30 21:15:52 +01:00
J. Nick Koston
ef5f6829e7 Fix late load of anyio doing blocking I/O in the event loop (#114491)
* Fix late load of anyio doing blocking I/O in the event loop

httpx loads anyio which loads the asyncio backend in the event loop
as soon as httpx makes the first request

* tweak
2024-03-30 14:56:01 -04:00
Bruno Henrique
9f9a141112 Add UniFi WLAN Password sensor (#114419)
* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

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

* Adding UniFi WLAN Password Sensor

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

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

* Adding UniFi WLAN Password Sensor

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-30 19:49:33 +01:00
J. Nick Koston
0b9c40a233 Fix workday doing blocking I/O in the event loop (#114492) 2024-03-30 19:05:14 +01:00
J. Nick Koston
d63adb6350 Improve sonos test synchronization (#114468) 2024-03-30 06:34:47 -10:00
Shay Levy
3e99afdd54 Cleanup Shelly RGBW light entities (#114410) 2024-03-30 18:48:57 +03:00
Bruno Henrique
53f262095c Add UniFi WLAN regenerate password button (#114422)
* Adding UniFi WLAN Change Password Button

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

* Adding UniFi WLAN Regenerate Password Button

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-30 15:53:23 +01:00
Tom Matheussen
a1eef4732f Add hourly forecast to open_meteo (#113622)
* Add hourly forecast to open_meteo

* Ran ruff formatting again
2024-03-30 15:13:26 +01:00
Joost Lekkerkerker
b7527feb5f Rework opensky tests (#114441)
* Rework opensky tests

* Rework opensky tests

* Fix
2024-03-30 14:52:33 +01:00
Sid
6587ee20db Enable Ruff TRY300 (#114437)
* Enable Ruff TRY300

* Update validation.py

* Address review comments
2024-03-30 10:37:59 +01:00
J. Nick Koston
9a79320861 Mark executor jobs as background unless created from a tracked task (#114450)
* Mark executor jobs as background unless created from a tracked task

If the current task is not tracked the executor job should not
be a background task to avoid delaying startup and shutdown.

Currently any executor job created in a untracked task or
background task would end up being tracked and delaying
startup/shutdown

* import exec has the same issue

* Avoid tracking import executor jobs

There is no reason to track these jobs as they are always awaited
and we do not want to support fire and forget import executor jobs

* fix xiaomi_miio

* lots of fire time changed without background await

* revert changes moved to other PR

* more

* more

* more

* m

* m

* p

* fix fire and forget tests

* scrape

* sonos

* system

* more

* capture callback before block

* coverage

* more

* more races

* more races

* more

* missed some

* more fixes

* missed some more

* fix

* remove unneeded

* one more race

* two
2024-03-30 00:16:53 -04:00
Sid
aec7a67a58 Unignore Ruff PLE, PLW in tests (#114406)
* Unignore Ruff PLE, PLW in tests

* fix tests
2024-03-29 23:58:30 +01:00
Franck Nijhof
11b8b01cde Bump version to 2024.4.0b3 2024-03-29 22:22:45 +01:00
Paul Bottein
4f761c25d8 Update frontend to 20240329.1 (#114459) 2024-03-29 22:22:37 +01:00
J. Nick Koston
953ceb0d8d Avoid tracking import executor jobs (#114453) 2024-03-29 22:22:33 +01:00
J. Nick Koston
969b027a46 Avoid tracking import executor jobs (#114453) 2024-03-29 22:18:21 +01:00
Paul Bottein
3b4958d972 Update frontend to 20240329.1 (#114459) 2024-03-29 22:13:31 +01:00
Tereza Tomcova
0554ac18b8 Address late code review comment of Prusa MK3 support (#114455)
Address code review comment from #114210 (Prusa MK3 support)
2024-03-29 21:57:08 +01:00
Franck Nijhof
e53672250f Bump version to 2024.4.0b2 2024-03-29 19:35:52 +01:00
Paul Bottein
84901f1983 Update frontend to 20240329.0 (#114452) 2024-03-29 19:35:44 +01:00
Steven Looman
e4d973e8a2 Bump async-upnp-client to 0.38.3 (#114447) 2024-03-29 19:35:40 +01:00
epenet
cdd7ce435a Log warnings in Renault initialisation (#114445) 2024-03-29 19:35:37 +01:00
Mick Vleeshouwer
c7ce53cc49 Bump pyoverkiz to 1.13.9 (#114442) 2024-03-29 19:35:33 +01:00
Steven B
db7d0a0ee9 Bump python-ring-doorbell to 0.8.8 (#114431)
* Bump ring_doorbell to 0.8.8

* Fix intercom history test for new library version

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-29 19:35:30 +01:00
J. Nick Koston
906febadef Cleanup some plex tasks that delayed startup (#114418) 2024-03-29 19:35:27 +01:00
J. Nick Koston
bc740f95c9 Avoid concurrent radio operations with powerview hubs (#114399)
Co-authored-by: kingy444 <toddlesking4@hotmail.com>
2024-03-29 19:35:23 +01:00
Alexey ALERT Rubashёff
bf4e527f44 Add overkiz bottom tank water temperature and core control water temperature for Atlantic Water Heater (#114186)
* Adds bottom tank water temperature and core conrol water temperature sensors for Atlantic water heater

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:35:20 +01:00
Alexey ALERT Rubashёff
35e582a240 Add overkiz water targets temperature numbers for Atlantic water heater (#114185)
* Adds water targets temperature numbers for Atlantic water heater

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* ruff formatting reverted

* Update homeassistant/components/overkiz/number.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/number.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* changed command hardcode to a constant

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:35:17 +01:00
Alexey ALERT Rubashёff
65d25bd780 Add overkiz heating status, absence mode, and boost mode binary sensors for Atlantic Water Heater (#114184)
* Adds heating status, absense mode, and boost mode binary sensors for Atlantic water heater

* Renamed absence mode and boost mode binary sensors

* Update homeassistant/components/overkiz/binary_sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/binary_sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/binary_sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:35:13 +01:00
Jeremy TRUFIER
b8a2c14813 Follow real AtlanticPassAPCZoneControlZone physical mode on Overkiz (HEAT, COOL or HEAT_COOL) (#111830)
* Support HEAT_COOL when mode is Auto on overkiz AtlanticPassAPCZoneControlZone

* Refactor ZoneControlZone to simplify usic by only using a single hvac mode

* Fix linting issues

* Makes more sense to use halves there

* Fix PR feedback
2024-03-29 19:35:09 +01:00
Paul Bottein
0f710f9fe0 Update frontend to 20240329.0 (#114452) 2024-03-29 19:34:16 +01:00
Alexey ALERT Rubashёff
6c6d1fb71d Add overkiz water targets temperature numbers for Atlantic water heater (#114185)
* Adds water targets temperature numbers for Atlantic water heater

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* Update homeassistant/components/overkiz/number.py

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>

* ruff formatting reverted

* Update homeassistant/components/overkiz/number.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/number.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* changed command hardcode to a constant

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 19:33:13 +01:00
Joost Lekkerkerker
1c151d78a4 Don't store analytics insights info on entry level (#114429) 2024-03-29 19:29:09 +01:00
Steven Looman
eb0aa6bb82 Bump async-upnp-client to 0.38.3 (#114447) 2024-03-29 19:08:07 +01:00
Mick Vleeshouwer
87f4b1414f Bump pyoverkiz to 1.13.9 (#114442) 2024-03-29 17:46:21 +01:00
epenet
60d545e5f9 Log warnings in Renault initialisation (#114445) 2024-03-29 16:20:43 +01:00
J. Nick Koston
63ccdcb786 Avoid concurrent radio operations with powerview hubs (#114399)
Co-authored-by: kingy444 <toddlesking4@hotmail.com>
2024-03-29 16:20:26 +01:00
Jan Bouwhuis
5e3ce80488 Remove stale test for mqtt climate (#114443) 2024-03-29 16:01:50 +01:00
Luca Angemi
54c5f18aac Add uid attribute to imap_content event data (#114432)
* Add uid to imap event

* Add ´uid´ to tests

* Update test_init.py
2024-03-29 15:04:24 +01:00
Jeremy TRUFIER
5b4452a579 Follow real AtlanticPassAPCZoneControlZone physical mode on Overkiz (HEAT, COOL or HEAT_COOL) (#111830)
* Support HEAT_COOL when mode is Auto on overkiz AtlanticPassAPCZoneControlZone

* Refactor ZoneControlZone to simplify usic by only using a single hvac mode

* Fix linting issues

* Makes more sense to use halves there

* Fix PR feedback
2024-03-29 14:51:44 +01:00
Sid
dc557fca1e Refactor conversation mock_agent (#114428)
* Refactor conversation mock_agent

* Address review comments
2024-03-29 14:38:58 +01:00
Jan-Philipp Benecke
8d6d70d6b5 Use setup_test_component_platform helper for select entity component tests instead of hass.components (#114412)
* Use `setup_test_component_platform` helper for select entity component tests instead of `hass.components`

* Use _values instead of _attr_current_option

* Clean up

* Set default current_option for second mock entity

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-29 14:36:33 +01:00
Alexey ALERT Rubashёff
3381469076 Add overkiz heating status, absence mode, and boost mode binary sensors for Atlantic Water Heater (#114184)
* Adds heating status, absense mode, and boost mode binary sensors for Atlantic water heater

* Renamed absence mode and boost mode binary sensors

* Update homeassistant/components/overkiz/binary_sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/binary_sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/binary_sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 14:07:22 +01:00
Alexey ALERT Rubashёff
8ed03112f0 Add overkiz bottom tank water temperature and core control water temperature for Atlantic Water Heater (#114186)
* Adds bottom tank water temperature and core conrol water temperature sensors for Atlantic water heater

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

* Update homeassistant/components/overkiz/sensor.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-29 14:05:18 +01:00
Mischa Siekmann
6d54f686a6 Add Integration for Energenie Power-Sockets (#113097)
* Integration for Energenie Power-Strips (EGPS)

* cleanups reocommended by reviewer

* Adds missing exception handling when trying to send a command to an unreachable device.

* fix: incorrect handling of already opened devices in pyegps api. bump to pyegps=0.2.4

* Add blank line after file docstring, and other cosmetics

* change asyncio.to_thread to async_add_executer_job

* raises HomeAssistantError EgpsException in switch services.

* switch test parameterized by entity name

* reoved unused device registry

* add translation_key and update_before_add

* bump pyegps dependency to version to 0.2.5

* combined get_device patches and put into conftest.py

* changed switch entity to use _attr_is_on and cleanups

* further cleanup

* Apply suggestions from code review

* refactor: rename egps to energenie_power_sockets

* updated test snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-29 13:29:14 +01:00
Steven B
72614c86c2 Bump python-ring-doorbell to 0.8.8 (#114431)
* Bump ring_doorbell to 0.8.8

* Fix intercom history test for new library version

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-29 12:47:21 +01:00
Joost Lekkerkerker
ed7e5c4de6 Add single config entry to Mullvad (#114426)
* Add single config entry to Mullvad

* Add single config entry to Mullvad

* Add single config entry to Mullvad

* Fix
2024-03-29 11:04:37 +01:00
Jan-Philipp Benecke
247ee6e4f0 Address late review comments for fan entity component test (#114425)
* Address late review comments for fan entity component test

* Update tests/components/fan/common.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-29 10:18:57 +01:00
Jan-Philipp Benecke
045dc3f1fb Use setup_test_component_platform helper for datetime entity component tests instead of hass.components (#114415) 2024-03-29 07:51:10 +01:00
Jan-Philipp Benecke
74d614243b Use setup_test_component_platform helper for date entity component tests instead of hass.components (#114413)
* Use `setup_test_component_platform` helper for date entity component tests instead of `hass.components`

* Remove missing
2024-03-29 07:43:19 +01:00
J. Nick Koston
61982acb17 Cleanup some plex tasks that delayed startup (#114418) 2024-03-28 20:36:33 -10:00
Jan-Philipp Benecke
a102230498 Use setup_test_component_platform helper for time entity component tests instead of hass.components (#114411) 2024-03-29 07:34:00 +01:00
Jan-Philipp Benecke
ae635a5586 Use setup_test_component_platform helper for fan entity component tests instead of hass.components (#114409) 2024-03-29 07:32:41 +01:00
Sid
a5b609f081 Enable ruff TRY401 (#114395)
* Enable ruff TRY401

* fix tests
2024-03-29 07:20:36 +01:00
Jan-Philipp Benecke
530552b4f5 Use mock_platform for device_tracker entity component tests instead of hass.components (#114398)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-28 15:23:21 -10:00
Lennard Beers
282cbfc048 Add eq3btsmart integration (#109291)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-28 15:20:56 -10:00
Jan-Philipp Benecke
4adbf7c730 Migrate nina to use single_config_entry (#114408) 2024-03-28 23:05:47 +01:00
Jan-Philipp Benecke
7d0437808a Migrate moon to use single_config_entry (#114404) 2024-03-28 21:28:02 +01:00
Jan-Philipp Benecke
3fd24989c6 Use setup_test_component_platform helper for text entity component tests instead of hass.components (#114400) 2024-03-28 21:08:25 +01:00
Franck Nijhof
612988cf3e Bump version to 2024.4.0b1 2024-03-28 20:43:23 +01:00
Scott K Logan
7a53ea4b92 Bump aioraven to 0.5.3 (#114397) 2024-03-28 20:43:10 +01:00
Paul Bottein
8e4cf4e4a7 Update frontend to 20240328.0 (#114396) 2024-03-28 20:43:07 +01:00
Franck Nijhof
53ba732ed0 Fix area search for entities of devices (#114394) 2024-03-28 20:43:03 +01:00
Michael Hansen
c81e9447f9 Filter preferred TTS format options if not supported (#114392)
Filter preferred format options if not supported
2024-03-28 20:43:00 +01:00
Franck Nijhof
8cd8718855 Fix hassfest service icons check for custom integrations (#114389) 2024-03-28 20:42:58 +01:00
Maciej Bieniek
aa30194249 Adapt Tractive integration the latest API changes (#114380)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-28 20:42:55 +01:00
Joost Lekkerkerker
80273b4873 Fix Lupusec feedback (#114374) 2024-03-28 20:42:52 +01:00
Joost Lekkerkerker
99282d27c6 Fix Swiss public transport feedback (#114373) 2024-03-28 20:42:48 +01:00
Joost Lekkerkerker
ba12652cbc Fix Suez water feedback (#114372) 2024-03-28 20:42:42 +01:00
Joost Lekkerkerker
5e0a0718e3 Fix streamlabswater feedback (#114371) 2024-03-28 20:42:39 +01:00
Marc Mueller
1c6689be41 Update pytile to 2023.12.0 (#114370) 2024-03-28 20:42:36 +01:00
Erik Montnemery
b143390d88 Improve device class of utility meter (#114368) 2024-03-28 20:42:33 +01:00
Erik Montnemery
42580a1113 Improve utility meter restore state tests (#114356) 2024-03-28 20:42:30 +01:00
Robert Resch
21bff95bd7 Fix script for checking on existing translations (#114354) 2024-03-28 20:42:27 +01:00
Christopher Bailey
737e5e70ec Bump pyunifiprotect to 5.1.2 (#114348) 2024-03-28 20:42:24 +01:00
J. Nick Koston
f204faf202 Fix empty delays in script helper (#114346)
fixes
```
Logger: homeassistant.components.automation.kamermaster_knop_4_acties_licht
Bron: components/automation/__init__.py:726
integratie: Automatisering (documentatie, problemen)
Eerst voorgekomen: 22:17:29 (5 gebeurtenissen)
Laatst gelogd: 22:59:24

While executing automation automation.kamermaster_knop_4_acties_licht
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 726, in async_trigger
    return await self.action_script.async_run(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1645, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 454, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 506, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 536, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 504, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 626, in _async_delay_step
    if timeout_future.done():
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'done'
```
2024-03-28 20:42:21 +01:00
Joakim Plate
f141be73c7 Bump fjaraskupan to 2.3.0 (#114344)
Update fjarakupen to 2.3.0

- Support delayed disconnection
- Speed up on/off transitions
2024-03-28 20:42:18 +01:00
Michael Hansen
04bfb1de3c Add more Ollama models (#114339)
Add more models
2024-03-28 20:42:15 +01:00
J. Nick Koston
541a6c5f64 Revert velocity change in powerview (#114337) 2024-03-28 20:42:12 +01:00
Robert Resch
824d6afa24 Remove checked in translations (#114336) 2024-03-28 20:42:09 +01:00
Robert Resch
53cc4b8c37 Download translations only once in the build pipeline (#114335) 2024-03-28 20:42:06 +01:00
Erik Montnemery
a91c03b164 Don't access States.last_reported_ts before it's added (#114333) 2024-03-28 20:42:03 +01:00
Øyvind Matheson Wergeland
f8edab0c12 Avoid changing local time on Nobø Ecohub (#114332)
nobo_hub: Pass timezone to avoid changing local time on Nobø Ecohub in handshake
2024-03-28 20:42:00 +01:00
Marcel van der Veldt
00993a6be3 Fix Matter airconditioner discovery of climate platform (#114326)
* Discover Thermostat platform for Room Airconditioner device

* add test

* Adjust docstring

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-28 20:41:57 +01:00
Maikel Punie
a18184a4c0 Bump pyduotecno to 2024.3.2 (#114320) 2024-03-28 20:41:54 +01:00
TheJulianJES
e2710184cb Bump zha-quirks to 0.0.113 (#114311) 2024-03-28 20:41:51 +01:00
Martin Hjelmare
9319528e0e Use fallback voice for selected language in cloud (#114246)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-28 20:41:47 +01:00
Paul Bottein
dbbc6914c4 Update frontend to 20240328.0 (#114396) 2024-03-28 20:38:12 +01:00
Scott K Logan
78c1efa7d4 Bump aioraven to 0.5.3 (#114397) 2024-03-28 18:52:17 +01:00
Christopher Bailey
435781be45 Bump pyunifiprotect to 5.1.2 (#114348) 2024-03-28 07:48:51 -10:00
Sid
5523cb6be8 Set ruff requires-version to 0.3.4 (#114388) 2024-03-28 18:45:07 +01:00
Marc Mueller
443bfee16d Replace partial annotations (#114177) 2024-03-28 18:33:39 +01:00
Michael Hansen
6fafb9c9b4 Filter preferred TTS format options if not supported (#114392)
Filter preferred format options if not supported
2024-03-28 11:09:15 -05:00
Franck Nijhof
3df03f5be5 Fix area search for entities of devices (#114394) 2024-03-28 16:57:29 +01:00
Franck Nijhof
192fad040a Fix hassfest service icons check for custom integrations (#114389) 2024-03-28 16:20:20 +01:00
Martin Hjelmare
f9aa7d34f8 Use fallback voice for selected language in cloud (#114246)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-28 15:44:50 +01:00
Martin Hjelmare
52ca14de48 Add matter zeroconf (#114385)
* Add matter zeroconf

* Clean up
2024-03-28 14:57:18 +01:00
Mark Adkins
2511a9a087 Add SharkIQ room targeting (#89350)
* SharkIQ Dep & Codeowner Update

* Update code owners

* SharkIQ Room-Targeting Support

* Add Tests for New Service

* Remove unreachable code

* Refine tests to reflect unreachable code changes

* Updates based on PR comments

* Updates based on PR review comments

* Address issues found in PR Review

* Update Exception type, add excption message to strings.  Do not save room list in state history.

* Update message to be more clear that only one faild room is listed

* couple more updates based on comments

---------

Co-authored-by: jrlambs <jrlambs@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-28 14:19:25 +01:00
Marc Mueller
b90542077c Update boto3 to 1.34.51 and aiobotocore to 2.12.1 (#114379) 2024-03-28 14:18:44 +01:00
Jan-Philipp Benecke
71a0a7fe00 Use setup_test_component_platform helper for switch entity component tests instead of hass.components (#114305)
* Use `setup_test_component_platform` helper for switch entity component tests instead of `hass.components`

* Do not import fixtures

* Re-add switch.py to testing_config as stub

* Rename to mock_toggle_entities
2024-03-28 13:56:23 +01:00
Marc Mueller
a3f251674a Update romy to 0.0.9 (#114360) 2024-03-28 13:56:08 +01:00
Lucas Mindêllo de Andrade
5fb12c93aa SunWEG reauth flow (#105861)
* feat(sunweg): reauth flow

* fix(sunweg): autentication as sunweg 2.1.0

* fix: configflowresult

* chore(sunweg): dedupe code

* chore(sunweg): using entry_id instead of unique_id

* test(sunweg): added test launch reauth flow

* chore(sunweg): moved test_reauth_started test

* chore(sunweg): formatting

* chore(sunweg): formating

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-28 13:53:32 +01:00
Øyvind Matheson Wergeland
596436d679 Avoid changing local time on Nobø Ecohub (#114332)
nobo_hub: Pass timezone to avoid changing local time on Nobø Ecohub in handshake
2024-03-28 13:31:55 +01:00
Marc Mueller
f80e319a4d Update pytest-xdist to 3.4.0 (#114377) 2024-03-28 13:29:43 +01:00
Maciej Bieniek
c9c0625fa5 Adapt Tractive integration the latest API changes (#114380)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-28 13:25:01 +01:00
Erik Montnemery
5b98a8458f Improve device class of utility meter (#114368) 2024-03-28 13:24:44 +01:00
Marc Mueller
68d6f96a9d Update boschshcpy to 0.2.91 (#114366) 2024-03-28 12:41:30 +01:00
Marc Mueller
62816e2041 Update aiogithubapi to 23.11.0 (#114362) 2024-03-28 12:41:08 +01:00
Jan-Philipp Benecke
22b14d83e8 Use setup_test_component_platform helper for sensor entity component tests instead of hass.components (#114316)
* Use `setup_test_component_platform` helper for sensor entity component tests instead of `hass.components`

* Missing file

* Fix import

* Remove invalid device class
2024-03-28 12:07:55 +01:00
Marc Mueller
41bd3d0853 Update pytile to 2023.12.0 (#114370) 2024-03-28 11:37:57 +01:00
Marc Mueller
d2b5769123 Update ovoenergy to 1.3.1 (#114367) 2024-03-28 11:29:31 +01:00
Marc Mueller
f0eca8233e Update aprslib to 0.7.2 (#114365) 2024-03-28 11:28:28 +01:00
Joost Lekkerkerker
795cc361ee Fix Lupusec feedback (#114374) 2024-03-28 11:12:02 +01:00
Joost Lekkerkerker
e1bff6dac4 Fix Swiss public transport feedback (#114373) 2024-03-28 11:11:28 +01:00
Joost Lekkerkerker
fc672be0ca Fix Suez water feedback (#114372) 2024-03-28 11:10:46 +01:00
Joost Lekkerkerker
72cfeff5b2 Fix streamlabswater feedback (#114371) 2024-03-28 11:09:59 +01:00
Marc Mueller
fa72d70726 Update aioazuredevops to 1.4.3 (#114361) 2024-03-28 11:08:38 +01:00
Marc Mueller
4d4d2850be Update pyudev to 0.24.1 (#114359) 2024-03-28 11:01:12 +01:00
Robert Resch
4a9c592f3c Mark core as codeowner for some folders (#114357) 2024-03-28 10:54:10 +01:00
G Johansson
fc4d960d17 Add translation support to Config Entry errors (#106305)
* Config Entry error translation

* split key and placeholders

* Fix config entries tests

* translation optional

* Mods
2024-03-28 10:52:21 +01:00
Erik Montnemery
aa9d58df67 Improve utility meter restore state tests (#114356) 2024-03-28 10:42:52 +01:00
Marc Mueller
a29dc86f62 Fix ruff error (#114364) 2024-03-28 10:31:42 +01:00
Erwin Douna
393dc289c4 Set fastdotcom to gold quality (#105598)
Gold code quality application
2024-03-28 10:24:55 +01:00
Sid
f7b7f74d10 Enable Ruff TRY201 (#114269)
* Enable Ruff TRY201

* remove redundant rules
2024-03-28 10:18:07 +01:00
Yuxin Wang
071c3abb69 Define PARALLEL_UPDATES for APCUPSD (#114134) 2024-03-28 10:17:12 +01:00
Robert Resch
ed90df309c Fix script for checking on existing translations (#114354) 2024-03-28 09:11:02 +01:00
J. Nick Koston
a07dc85bf4 Revert velocity change in powerview (#114337) 2024-03-28 07:58:07 +01:00
J. Nick Koston
bec45dacf0 Add additional coverage to the ESPHome manager (#114265) 2024-03-27 20:52:45 -10:00
Joakim Plate
ae0b41f7a7 Bump fjaraskupan to 2.3.0 (#114344)
Update fjarakupen to 2.3.0

- Support delayed disconnection
- Speed up on/off transitions
2024-03-28 06:57:02 +01:00
J. Nick Koston
f4922edb4b Fix empty delays in script helper (#114346)
fixes
```
Logger: homeassistant.components.automation.kamermaster_knop_4_acties_licht
Bron: components/automation/__init__.py:726
integratie: Automatisering (documentatie, problemen)
Eerst voorgekomen: 22:17:29 (5 gebeurtenissen)
Laatst gelogd: 22:59:24

While executing automation automation.kamermaster_knop_4_acties_licht
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/automation/__init__.py", line 726, in async_trigger
    return await self.action_script.async_run(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 1645, in async_run
    return await asyncio.shield(create_eager_task(run.async_run()))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 454, in async_run
    await self._async_step(log_exceptions=False)
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 506, in _async_step
    self._handle_exception(
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 536, in _handle_exception
    raise exception
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 504, in _async_step
    await getattr(self, handler)()
  File "/usr/src/homeassistant/homeassistant/helpers/script.py", line 626, in _async_delay_step
    if timeout_future.done():
       ^^^^^^^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'done'
```
2024-03-28 00:29:43 -04:00
Erik Montnemery
4d7a434254 Don't access States.last_reported_ts before it's added (#114333) 2024-03-28 00:44:01 +01:00
Maikel Punie
4ea8185d4d Bump pyduotecno to 2024.3.2 (#114320) 2024-03-28 00:43:34 +01:00
Michael Hansen
b8e9a78d6f Add more Ollama models (#114339)
Add more models
2024-03-27 18:19:34 -04:00
Robert Resch
acb9eb4818 Download translations only once in the build pipeline (#114335) 2024-03-27 22:52:02 +01:00
Arie Catsman
afcc4b58f4 Remove suggested_uom from frequency in Enphase (#114340)
remove suggested_uom from frequency
2024-03-27 22:49:34 +01:00
Marcel van der Veldt
0e12fea0cb Fix Matter airconditioner discovery of climate platform (#114326)
* Discover Thermostat platform for Room Airconditioner device

* add test

* Adjust docstring

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-27 22:35:08 +01:00
Robert Resch
d6ac8ba5c8 Remove checked in translations (#114336) 2024-03-27 22:33:06 +01:00
Franck Nijhof
3d4733a026 Bump version to 2024.5.0dev0 (#114324) 2024-03-27 19:43:38 +01:00
Marc Mueller
1120745d4e Update SignalType imports (#114287) 2024-03-27 19:41:11 +01:00
TheJulianJES
1a46158a1d Bump zha-quirks to 0.0.113 (#114311) 2024-03-27 13:53:18 -04:00
Franck Nijhof
b2e7808114 Bump version to 2024.4.0b0 2024-03-27 18:27:38 +01:00
Bram Kragten
6af0ccfa8d Update frontend to 20240327.0 (#114322) 2024-03-27 18:21:45 +01:00
puddly
fc34453caa Support the Home Assistant Connect ZBT-1 (#114213) 2024-03-27 18:20:48 +01:00
Marc Mueller
63e28f958d Use SignalType to improve typing [homekit] (#114297) 2024-03-27 18:05:01 +01:00
Joost Lekkerkerker
e626cd12aa Fix feedback in ROVA (#114308) 2024-03-27 18:01:07 +01:00
Lenn
6f1b4fad01 Fix icons for Motionblinds BLE integration (#114321)
Remove icon.json and add to icons.json
2024-03-27 18:00:18 +01:00
Joost Lekkerkerker
544215a609 Handle TypeError in Spotify (#114317) 2024-03-27 17:56:22 +01:00
David F. Mulcahey
c518acfef3 Defensively validate ZHA quirks v2 supplied entity metadata (#112643) 2024-03-27 17:48:43 +01:00
G Johansson
65230908c6 Remove deprecated forecast attribute from WeatherEntity (#110761)
* Remove deprecated forecast attribute from WeatherEntity

* Fix some

* Ruff

* ipma

* buienradar

* some more

* Some more

* More and more

* strings

* attr_forecast

* Fix nws

* Fix

* remove from coverage

* Remove recorder test

* Review comments
2024-03-27 16:51:29 +01:00
Jan Bouwhuis
1269031d11 Change min and max humidity for MQTT climate and humidifier (#114292)
Allow floats for humidity on mqtt platforms
2024-03-27 16:46:42 +01:00
Michael Hansen
e4d2985589 Bump intents to 2024.3.27 (#114312) 2024-03-27 16:43:15 +01:00
Joost Lekkerkerker
5aabb2a920 Finish ROVA init tests (#114315)
* Finish ROVA init tests

* Finish ROVA init tests

* Finish ROVA init tests
2024-03-27 16:36:42 +01:00
Jeef
fc596cde44 Version Bump for WeatherFlow Cloud Backing Lib (#114302)
Version bump to support stations going offline for some time
2024-03-27 16:24:18 +01:00
Joost Lekkerkerker
6289082dab Migrate Rova to has entity name (#114303) 2024-03-27 16:20:51 +01:00
YogevBokobza
4d27f4be51 Refactor switcher kis (#114281)
* switcher: small refactoring

* swithcer: Update switch.py

* more refactoring

* fix ruff
2024-03-27 17:15:49 +02:00
G Johansson
c21d508c2d Start deprecation of auxiliary heater in ClimateEntity (#112532)
* Start deprecation of auxiliary heater in ClimateEntity

* No issue for core integrations

* Remove unneded strings

* Move report to state_attributes
2024-03-27 16:10:32 +01:00
MarkGodwin
834f45397d Add support for PoE control of TP-Link Omada Gateways (#114138)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-27 16:05:14 +01:00
Erik Montnemery
23e9be756d Fix exception when logging out from cloud (#114306)
* Fix exception when logging out from cloud

* Add test
2024-03-27 16:02:47 +01:00
Joost Lekkerkerker
a9fd4e45cd Raise issue if not Rova area anymore (#114309) 2024-03-27 15:51:49 +01:00
Tereza Tomcova
a00c1fa241 Bump pyprusalink to 2.1.1 and support Prusa MK3 (#114210)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-27 15:26:44 +01:00
Robert Resch
1a64be6da6 Fix version_bump --set-nightly-version (#114304) 2024-03-27 14:45:28 +01:00
J. Nick Koston
ce022a1793 Fix missing powerview shade data when initial refresh fails (#113033) 2024-03-27 03:38:57 -10:00
Jan-Philipp Benecke
5316b94705 Use setup_test_component_platform helper for alarm_control_panel entity component tests instead of hass.components (#114301) 2024-03-27 14:36:31 +01:00
Marc Mueller
911a31f860 Use SignalType to improve typing [core] (#114298) 2024-03-27 14:25:02 +01:00
Jan-Philipp Benecke
6313571fbc Use setup_test_component_platform helper for binary_sensor entity component tests instead of hass.components (#114293) 2024-03-27 14:24:02 +01:00
Joost Lekkerkerker
c222cfd692 Add coordinator to Rova (#114288)
* Add coordinator to Rova

* Add coordinator to Rova

* Fix

* Update homeassistant/components/rova/sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Fix

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-03-27 14:14:49 +01:00
Robert Resch
aaecbbdc40 Update bump_version.py to append also the time to nightlies and add possibility to set manual a nightly version (#114300) 2024-03-27 14:12:45 +01:00
Marc Mueller
9ea666b5e1 Use SignalType to improve typing [bthome] (#114295) 2024-03-27 08:22:44 -04:00
Marc Mueller
09ebca9630 Use SignalType to improve typing [esphome] (#114296) 2024-03-27 08:22:10 -04:00
Joost Lekkerkerker
45da6f8f2c Add tests to Rova (#114285) 2024-03-27 13:00:02 +01:00
Erik Montnemery
a3059fe504 Record state.last_reported (#114201)
* Record state.last_reported

* Include last_reported in parts of the history API

* Use a bulk update

* fix refactoring error

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-27 12:48:06 +01:00
Marc Mueller
24168dfba7 Update mypy-dev to 1.10.0a3 (#114289)
* Update mypy-dev to 1.10.0a3

* Allow TypedDict init from Type
2024-03-27 12:32:29 +01:00
Jan-Philipp Benecke
34cf0c5721 Use setup_test_component_platform func for cover entity component tests instead of hass.components (#114010)
* Use `mock_platform` for cover entity component tests instead of `hass.components`

* Remove setup fixture and use helper function

* Remove is_on from MockCover

* Run ruff

* Do not override state in `MockCover` in cover tests

* Remove is_on from MockCover
2024-03-27 12:20:19 +01:00
Marc Mueller
3929273b41 Allow float for int argument type [pylint plugin] (#114105) 2024-03-27 11:51:27 +01:00
Jan-Philipp Benecke
5c97049f2e Do not override state property in MockEntity (#114231)
Do not override state in `MockEntity`
2024-03-27 11:36:00 +01:00
Marc Mueller
44eeb2eb5e Allow Humidifier.current_humidity to be a float (#111297)
* Allow Humidifier.current_humidity to be a float

* Code review

* Allow climate humidity values to be float

* Update demo integration
2024-03-27 11:19:20 +01:00
G Johansson
b190cdceaf Remove hourly weather entity from metoffice (#112452) 2024-03-27 11:06:31 +01:00
Shai Ungar
69356300f0 Address late review of 17track config flow (#114283)
* some fixes for 17track

* remove await

* fix test
2024-03-27 11:06:13 +01:00
Lenn
6423501498 Add buttons to Motionblinds BLE integration (#114227)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-27 11:05:26 +01:00
Lenn
7b56643278 Add select to Motionblinds BLE integration (#114228)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-27 10:50:04 +01:00
J. Nick Koston
2421b42f10 Refactor yeelight scanner to avoid creating tasks to wait for scanner start (#113919) 2024-03-27 10:17:35 +01:00
J. Nick Koston
13d6ebaabf Avoid delaying automation/script startup for sample blueprints (#114277)
Avoid delaying automation/script startup to check if the blueprint folder exists

automations and script both populate sample blueprints if none exist

The check to see if the blueprint folder exists always had to create
an executor job which would delay startup a bit if the executor was
busy. Since we do not need the sample blueprints to be populated
until the start event, we can run this in a task.
2024-03-27 09:55:59 +01:00
Franck Nijhof
da78dbb61f Merge branch 'master' into dev 2024-03-27 09:43:52 +01:00
Robert Svensson
03ec1798e4 Bump aiounifi to v73 (#114278) 2024-03-27 09:43:08 +01:00
Franck Nijhof
dd2d79b77e Refactor/fix search component, including labels & floors support (#114206)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-27 09:39:05 +01:00
J. Nick Koston
d8acd90370 Run recorder shutdown tasks eagerly (#113018) 2024-03-26 22:25:45 -10:00
Marc Mueller
1d2c2d2055 Move SignalTypes to util (#114236) 2024-03-27 08:41:44 +01:00
JeromeHXP
fbb590ea1f Bump ondilo_ico to 0.4.0 (#114022) 2024-03-27 08:41:11 +01:00
dependabot[bot]
4d7da61e99 Bump actions/setup-python from 5.0.0 to 5.1.0 (#114276)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-27 08:39:56 +01:00
Lenn
480b2ec84a Add Motionblinds brand (#114235) 2024-03-27 08:02:25 +01:00
J. Nick Koston
1697b116e4 Combine tts cache init executor jobs (#114271) 2024-03-26 23:58:46 -04:00
tronikos
a6fabdc115 Fix Opower accounts that report cost less regularly than usage (#114034)
* Update coordinator.py

* Update coordinator.py
2024-03-26 17:20:16 -04:00
Michael Hansen
72fed878b4 Add Ollama conversation agent (#113962)
* Add ollama conversation agent

* Change iot class

* Much better default template

* Slight adjustment to prompt

* Make casing consistent

* Switch to ollama Python fork

* Add prompt to tests

* Rename to "ollama"

* Download models in config flow

* Update homeassistant/components/ollama/config_flow.py

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-26 16:15:20 -05:00
Jan-Philipp Benecke
f94f1fb826 Use setup_test_component_platform func for number entity component tests instead of hass.components (#114017)
* Use `setup_test_component_platform` fixture for number entity component tests instead of `hass.components`

* Now function

* Ruff format
2024-03-26 21:56:38 +01:00
Jan-Philipp Benecke
e80d73783c Do not late import config_entry in setup_test_component_platform test helper (#114260) 2024-03-26 21:54:09 +01:00
J. Nick Koston
a0d43aeba2 Remove unused code in ESPHome entry_data (#114263) 2024-03-26 10:32:16 -10:00
J. Nick Koston
6599b9a36d Restore scapy pin to >=2.5.0 (#114253) 2024-03-26 10:31:52 -10:00
J. Nick Koston
2649dfaa11 Fix ruff-format on energy sensor (#114261) 2024-03-26 10:05:55 -10:00
Mr. Bubbles
8955ef7fc6 Bump bring-api to 0.5.7 (#114252) 2024-03-26 20:53:45 +01:00
J. Nick Koston
f982473e53 Small performance improvements to energy sensors (#114149) 2024-03-26 09:40:06 -10:00
Franck Nijhof
9a32d1bbd5 Add label selector (#111029)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-26 20:31:06 +01:00
Jan-Philipp Benecke
dce3bde0ab Use setup_test_component_platform helper for update entity component tests instead of hass.components (#114203)
* Use `setup_test_component_platform` helper for update entity component tests instead of `hass.components`

* Run ruff format
2024-03-26 20:20:08 +01:00
Franck Nijhof
9a1906322b Allow numeric state trigger/condition against zone entities (#114221) 2024-03-26 19:41:46 +01:00
Ron Weikamp
e1036b3af0 Refactor Riemann sum integral sensor to prepare for time based trigger (#113932)
* Refactor Integration sensor.

* Use local simple function to verify the State is numeric.

* Merge two methods to one.

* Method renaming: _handle_state_change

* Move async_write_ha_state to the caller.

* Add comment on why attr_icon is set to None

* Remove possible None type of State in validation methods.

* Use a dict to map method name to method class.

* Explain derived unit after integration.

* Renaming to _multiply_unit_with_time and elaborate in docstring.

* Set integral unit_of_measurement explicitly to None if source unit_of_measurement is None

* One function for unit of measurement related steps.

* Improve docstring of _multiply_unit_with_time

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

* Apply f-string suggestions from code review

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

* Be more clear in comment about removing the sensors icon default.

* Apply suggestions from code review

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>

* Update homeassistant/components/integration/sensor.py

* Update homeassistant/components/integration/sensor.py

* Update homeassistant/components/integration/sensor.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2024-03-26 19:09:48 +01:00
Franck Nijhof
c247534731 Default floor level to None (and allow unsetting it) (#114249) 2024-03-26 18:58:25 +01:00
Marc Mueller
c8260a5966 Remove test cases for task eager_start <3.12 (#114243) 2024-03-26 15:52:38 +01:00
Lenn
53944b260c Bump motionblindsble to 0.0.9 (#114232) 2024-03-26 08:17:29 -04:00
Franck Nijhof
2388e2dda9 Drop Python 3.11 support (#114220) 2024-03-26 12:51:14 +01:00
Marc Mueller
31f5576b6e Add ruff commit to git-blame-ignore-revs (#114229) 2024-03-26 12:16:55 +01:00
Marc Mueller
eb81a4204e Allow string formatting for dispatcher SignalType (#114174) 2024-03-26 10:38:29 +01:00
Erik Montnemery
dd43947ca0 Add test to ensure non callback event filter is rejected (#114182) 2024-03-26 10:36:08 +01:00
Erik Montnemery
bac527f289 Don't allow listening to state_reported in event triggers (#114191)
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-26 10:35:47 +01:00
Duco Sebel
788813aad6 Implement Identify button and Cloud connection toggle for HomeWizard Watermeter (#113814) 2024-03-26 10:34:36 +01:00
Franck Nijhof
5c69e0d2c6 Add label template functions (#111024) 2024-03-26 10:32:29 +01:00
Cyrill Raccaud
e136847b89 Add more timestamp sensors to swiss_public_transport (#107916)
* add more timestamp sensors

* more generic definition for future sensors

* add entity descriptor

* use enable property to prevent sensors from getting added

* set legacy attribute flag for first sensor

* remove departure from extra attributes

* remove breaking changes again and keep for next pr

* fix multiline statements

* outsource the multiline ifs into function

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-26 10:17:25 +01:00
Robert Resch
0338aaf577 Allow pre-releases for "Adjust nightly version" only (#114219) 2024-03-26 10:05:13 +01:00
Joost Lekkerkerker
ddee999843 Fix motion blinds formatting (#114222) 2024-03-26 09:57:19 +01:00
Lenn
70c4fa8475 Add Motionblinds BLE integration (#109497)
* initial fork

* intial tests

* Initial test coverage

* extra coverage

* complete config flow tests

* fix generated

* Update CODEOWNERS

* Move logic to PyPi library and update to pass config_flow test and pre-commit

* Remove Button, Select and Sensor platform for initial PR

* Update manifest.json

* Change info logs to debug in cover

* Use _abort_if_unique_id_configured instead of custom loop checking existing entries

* Change platforms list to PLATFORMS global

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove VERSION from ConfigFlow

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Replace all info logs by debug

* Use instance attributes in ConfigFlow

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Add return type and docstring to init in ConfigFlow

* Add recovery to tests containing errors

* Make NoBluetoothAdapter and NoDevicesFound abort instead of show error

* Change info logs to debug

* Add and change integration type from hub to device

* Use CONF_ADDRESS from homeassistant.const

* Move cover attributes initialization out of constructor

* Change CONF_ADDRESS in tests from const to homeassistant.const

* Remove unused part of tests

* Change 'not motion_device' to 'motion_device is None'

* Change _attr_connection_type to _connection_type

* Add connections to DeviceInfo

* Add model to DeviceInfo and change MotionBlindType values

* Remove identifiers from DeviceInfo

* Move constants from const to library

* Move calibration and running to library, re-add all platforms

* Remove platforms from init

* Remove button platform

* Remove select platform

* Remove sensor platform

* Bump motionblindsble to 0.0.4

* Remove closed, opening and closing attribute default values

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove CONFIG_SCHEMA from init

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Remove unused platform attributes and icons

* Re-add _attr_is_closed to GenericBlind to fix error

* Use entry.async_create_background_task for library instead of entry.async_create_task

* Move updating of position on disconnect to library

* Remove type hints, keep for _attr_is_closed

* Use DISPLAY_NAME constant from library for display name

* Add TYPE_CHECKING condition to assert in config_flow

* Re-add CONFIG_SCHEMA to __init__ to pass hassfest

* Change FlowResult type to ConfigFlowResult

* Fix import in tests

* Fix ruff import

* Fix tests by using value of enum

* Use lowercase name of MotionBlindType enum for data schema selector and translation

* Fix using name instead of value for MotionBlindType

* Improve position None handling

Co-authored-by: starkillerOG <starkiller.og@gmail.com>

* Improve tilt None handling

Co-authored-by: starkillerOG <starkiller.og@gmail.com>

* Change BLIND_TO_ENTITY_TYPE name

* Set entity name of cover to None and use DeviceInfo name

* Add base entity

* Move async_update to base entity

* Move unique ID with suffix to base class

* Add entity.py to .coveragerc

* Remove extra state attribute connection type

* Remove separate line hass.data.setdefault(DOMAIN, {})

* Remove use of field for key and translation_key in MotionCoverEntityDescription

* Remove entity translation with extra state_attributes from strings.json

* Use super().__init__(device, entry)

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

* Change if block in async_update_running

* Use if blocks in async_update_position

* Add additional scanner check before show_form

* Remove default value of device_class in MotionCoverEntityDescription

* Fix entry.data[CONF_BLIND_TYPE] uppercase

* Fix device info model name

* Bump motionblindsble to 0.0.5

* Fix tests

* Move entity_description to MotionblindsBLEEntity

* Change double roller blind name

* Bump motionblindsble to 0.0.6

* Fix ruff

* Use status_query for async_update

* Bump motionblindsble to 0.0.7

* Change bluetooth local name

* Set kw_only=True for dataclass

* Change name of GenericBlind

* Change scanner_count conditional

* Wrap async_register_callback in entry.async_on_unload

* Bump motionblindsble to 0.0.8

* Use set_create_task_factory and set_call_later_factory

* Update bluetooth.py generated

* Simplify COVER_TYPES dictionary

* Move registering callbacks to async_added_to_hass

* Remove check for ATTR_POSITION and ATTR_TILT_POSITION in kwargs

* Add naming consistency for device and entry

* Use if block instead of ternary for _attr_unique_id

* Improve errors ternary in config_flow

* Use set instead of list for running_type

* Improve errors ternary in config_flow

* Remove init from MotionblindsBLECoverEntity and move debug log to async_added_to_hass

* Update debug log create cover

* Fix ruff

* Use identity check instead of equals

* Use identity check instead of equals

* Change MotionblindsBLECoverEntityDescription name

* Change debug log text

* Remove ATTR_CONNECTION from const

* Add types for variables in async_setup_entry

* Add types for variables in async_setup_entry

* Change PositionBlind class name to PositionCover etc

* Improve docstrings

* Improve docstrings

---------

Co-authored-by: starkillerOG <starkiller.og@gmail.com>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-26 09:52:04 +01:00
Arie Catsman
b9fdd56f01 Bump pyenphase to 1.20.1 (#114218) 2024-03-25 22:42:19 -10:00
Matrix
63b4fd09c1 Add YoLink Water Meter Support (#114148)
* Add YS-5006/5007/5008 Water Meter Support

* Add YoLink Water Meter Support

* Update .coveragerc

* fix as suggestion
2024-03-26 09:29:14 +01:00
J. Nick Koston
54a69a2687 Remove async_get_device_class_lookup from entity_registry (#114212)
This function was only ever used in homekit, and since there is
now an index of devices in the entity registry, homekit no longer
uses it.

I searched github code for all references to async_get_device_class_lookup
and the only think I could find using it were forks of core. It seems
unlikely that any custom components are affected by removing this
function
2024-03-26 09:22:53 +01:00
Robert Svensson
3f545cb3d3 Rework Axis entity loader to have a better internal storage structure (#114114)
* Make one single subscribe containing all topics at once

* Update homeassistant/components/axis/hub/entity_loader.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 07:55:07 +01:00
Marc Mueller
d0ecad78ac Revert "Update typing-extensions to 4.11.0rc1 (#114116)" (#114216) 2024-03-25 20:44:57 -10:00
J. Nick Koston
cabc4f797a Preload storage for integrations we know we are going to setup (#114192) 2024-03-25 15:49:54 -10:00
J. Nick Koston
345fa75562 Bump SQLAlchemy to 2.0.29 (#114208) 2024-03-25 14:39:16 -10:00
Jan-Philipp Benecke
9580adfde9 Use new setup_test_component_platform helper instead of test fixture for light platform (#114200) 2024-03-26 00:17:16 +01:00
Joost Lekkerkerker
6bb4e7d62c Bump ruff to 0.3.4 (#112690)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-26 00:02:16 +01:00
J. Nick Koston
27219b6962 Bump anyio to 4.3.0 (#114198) 2024-03-25 23:52:28 +01:00
Jan-Philipp Benecke
2f0cfc8b61 Remove deprecated hass.components from system_health tests (#114207) 2024-03-26 00:39:31 +02:00
Jan Bouwhuis
18174ad47d Improve test coverage mqtt discovery test (#114188) 2024-03-25 22:41:11 +01:00
Shay Levy
121182167f Fix Shelly reauth flow (#114180)
* Fix Shelly reauth flow

* Rename shutdown_device to async_shutdown_device
2024-03-25 23:27:44 +02:00
Jan-Philipp Benecke
9b682388f5 Add generic test component platform setup function (#114016)
* Add generic entity platform setup fixture

* rename fixture

* No need for passing hass

* Make function instead of fixture

* Improve typing

* Use Sequence instead

* Migrate flux to use the new helper

* Use list instead

* Use Sequence instead
2024-03-25 21:36:17 +01:00
Jim
6ceeb1e41f Telegram bot proxy params deprecation (#112778)
* Add strings for issues to raise in telegram integration startup

* Allow proxy_params to be passed empty

Allows migration away from proxy_params whilst retaining a configured proxy.

* Raise issues for removing proxy_params config option

* Add types to initialize_bot function

* Add PR link for learn more URL

Update issue message to leave a comment on the PR instead

* Apply suggestions from code review

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

* hass should always be first argument

* Update issues strings to give domain and better direction.

* Update breaks_in_ha_version to something saner

* Apply strings.json suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-25 21:09:34 +01:00
Erik Montnemery
e2ee623d23 Add restrictions for listening to event_reported events (#114183)
* Add restrictions for listening to event_reported events

* Update homeassistant/core.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-25 19:16:50 +01:00
J. Nick Koston
c3f4aca4e3 Add reauth support to NUT (#114131) 2024-03-25 07:59:46 -10:00
Robert Resch
135c40cad8 Add Ecovacs last job event entity (#113826)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-25 18:31:04 +01:00
G Johansson
5e70faca5f Refactor options flow in dnsip (#114058)
* Refactor options flow in dnsip

* Mods
2024-03-25 17:38:02 +01:00
Robert Svensson
71a6653f60 Fix Axis not generate unique IDs (#114115) 2024-03-25 12:21:21 -04:00
Robert Svensson
c1e1db9863 Adapt to Axis library file structure changes (#114181)
* Adapt to axis library file structure changes

* Bump axis to v59
2024-03-25 12:16:41 -04:00
Thomas55555
b71cbeff51 Bump aioautomower to 2024.3.4 (#114127)
* Bump aioautomower to 2024.3.4

* Update homeassistant/components/husqvarna_automower/sensor.py

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

* adjust imports

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-25 16:11:12 +01:00
Kevin Stillhammer
3d6600364b Bump pywaze to 1.0.0 (#108613) 2024-03-25 16:08:57 +01:00
Max von Webel
7b2166243b Updated temp offset logging in tado component (#106308)
* Updated temp offset logging in tado component

The logging is a bit confusing because it's trimming the digits from the value. Hopefully this makes it a bit more clear.

* Update homeassistant/components/tado/climate.py

Co-authored-by: Jorim Tielemans <tielemans.jorim@gmail.com>

---------

Co-authored-by: Jorim Tielemans <tielemans.jorim@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-25 15:10:16 +01:00
Manuel Dipolt
e2a26f6470 Add base entity to romy integration (#113750)
* cherry picked base entity changes from the branches romy_binary_sensor & romy_sensor

* Update homeassistant/components/romy/entity.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/vacuum.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/entity.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/vacuum.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Update homeassistant/components/romy/vacuum.py

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* code review changes, base entity/coordinator cleanup

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-03-25 14:28:07 +01:00
Joost Lekkerkerker
d398eb1f2c Add Withings webhook manager (#106311) 2024-03-25 13:59:36 +01:00
J. Nick Koston
3acb505456 Refactor homekit device linking to use the device index (#114145)
Now that we have an index of devices in the entity registry
we can avoid generating a lookup for devices we do
not care about
2024-03-25 08:28:56 -04:00
Matthias Lohr
95ddade83c Use enums to define choices in tolo (#113992)
* use enums defined in HA to define choices

* move enums to .const
2024-03-25 12:47:56 +01:00
Marc Mueller
49a4fe41c6 Update codespell to 2.2.6 (#114167) 2024-03-25 12:33:25 +01:00
Marc Mueller
56e13ef3fc Update pytest-unordered to 0.6.0 (#114162) 2024-03-25 11:45:07 +01:00
Marc Mueller
81c34ac952 Fix spelling [docstrings + comments] (#114168) 2024-03-25 11:33:00 +01:00
Marc Mueller
9b7cc088be Fix spelling [runtime] (#114169) 2024-03-25 11:32:50 +01:00
Marc Mueller
8ae2fefcf3 Update types packages (#114164) 2024-03-25 11:32:38 +01:00
G Johansson
3ba1b82723 Remove hourly weather entity from met_eireann (#112449) 2024-03-25 11:30:50 +01:00
J. Nick Koston
ada781025b Avoid homekit random id generation for existing entries (#114144) 2024-03-25 11:28:26 +01:00
Marc Mueller
188dbfbd2a Update typing-extensions to 4.11.0rc1 (#114116) 2024-03-25 11:27:47 +01:00
Jan Bouwhuis
e88ade716d Allow debugging tests by default in vscode (#114065) 2024-03-25 11:25:46 +01:00
Marc Mueller
1b6d1d58ec Update pytest-cov to 5.0.0 (#114160)
* Update pytest-cov to 5.0.0

* Update warnings filter
2024-03-25 11:23:26 +01:00
Marc Mueller
5d293f92b2 Update yamllint to 1.35.1 (#114166) 2024-03-25 11:22:55 +01:00
Marc Mueller
18bb33e2d7 Update pyOpenSSL to 24.1.0 (#114165) 2024-03-25 11:15:47 +01:00
Bouwe Westerdijk
ace21c876c Bump plugwise to v0.37.1 (#113245) 2024-03-25 11:15:33 +01:00
Marc Mueller
3643b324c0 Update pipdeptree to 2.16.1 (#114159) 2024-03-25 11:13:25 +01:00
Marc Mueller
b2da780044 Update respx to 0.21.0 (#114163) 2024-03-25 11:05:30 +01:00
Marc Mueller
ac0dc946d3 Update pytest-timeout to 2.3.1 (#114161) 2024-03-25 11:02:20 +01:00
Marc Mueller
36fdf65782 Update coverage to 7.4.4 (#114158) 2024-03-25 11:00:22 +01:00
Álvaro Fernández Rojas
33d9947a70 Add climate fan modes for Airzone Cloud Aidoo devices (#103574)
* airzone_cloud: climate: add Aidoo speeds support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Add suggested changes

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: rename _set_fan_speeds()

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: drop BASE_FAN_SPEEDS

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: refactor FAN_AUTO speed

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: document standard speeds replacement

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: fix Homekit comment

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: climate: consistent fan speed names

Instead of mixing "low", "medium" and "high" with percentages, let's use only
percentages if there are more speeds.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-25 10:50:04 +01:00
Jan Bouwhuis
19fa39d556 Generate ConfigValidationError message from English translations (#113844)
* Fetch ConfigValidationError message from translation cache

* Sync error logmessages with translation cache

* More sync

* Cleanup

* Remove unrelated change

* Follow up comments

* Rebase and improve contructor

* Improve name

* Rename to MULTIPLE_INTEGRATION_CONFIG_ERRORS
2024-03-25 10:39:30 +01:00
Marc Mueller
a58049554d Update pytest-asyncio to 0.23.6 (#114155) 2024-03-25 10:10:37 +01:00
Robert Resch
c8948e3b1c Use uv and sort jobs in builder.yml (#114153) 2024-03-25 09:50:06 +01:00
Marc Mueller
04bc31a799 Update pre-commit to 3.7.0 (#114154) 2024-03-25 09:35:27 +01:00
Emanuel Winblad
8f0f8f9469 Bump vilfo-api-client to 0.5.0 (#114082) 2024-03-25 09:00:06 +01:00
dependabot[bot]
5c0888ba28 Bump Wandalen/wretry.action from 2.0.0 to 2.1.0 (#114150) 2024-03-25 08:56:33 +01:00
dependabot[bot]
aa1179ccc4 Bump github/codeql-action from 3.24.8 to 3.24.9 (#114151) 2024-03-25 08:55:35 +01:00
Christopher Bailey
3e01085c91 Add repair for UniFi Protect if RTSP is disabled on camera (#114088)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-24 17:30:52 -10:00
J. Nick Koston
a5128c2148 Covert system_log services to be callbacks (#114143) 2024-03-24 15:55:40 -10:00
J. Nick Koston
e8fe3d349b Bump aionut to 4.3.2 (#114142) 2024-03-24 15:55:13 -10:00
Matrix
517826fe48 Bump yolink-api to 0.4.1 fix water depth sensor error when device is not initialize (#113994) 2024-03-24 15:37:39 -10:00
J. Nick Koston
04b3049a7b Bump aionut to 4.2.1 (#114132) 2024-03-24 12:57:58 -10:00
Yuxin Wang
76052a5385 Implement diagnostics platform for APCUPSD (#112284)
* Implement diagnostic platform for APCUPSd

* Put APCUPSd in gold quality scale

* Revert quality scale update

* Use snapshot testing for apcupsd

* Prettify the code
2024-03-24 23:40:41 +01:00
J. Nick Koston
17378ce408 Bump aionut to 4.1.0 (#114125)
Handles auth errors after the password has been sent
This means we will be able to have some decent error
reporting and reauth support in the future

changelog: https://github.com/bdraco/aionut/compare/v4.0.0...v4.1.0
2024-03-24 20:50:32 +01:00
J. Nick Koston
d0dc820ced Cancel config entry setup retry at shutdown (#114124) 2024-03-24 09:09:24 -10:00
Jan Bouwhuis
c94d8c541b Fix google assistant diagnostics test (#114111)
Improve google assistant diagnostics test
2024-03-24 19:05:47 +01:00
Marc Mueller
d779333bef Use TypeVarTuple for add_job and run_job methods (#114122) 2024-03-24 18:52:39 +01:00
Jan Bouwhuis
67ab49b825 Fetch ServiceNotFound message from translation cache and fix super (#114084)
* Fetch ServiceNotFound message from translation cache and fix super

* Fix tests trace component

* Fix script errors
2024-03-24 07:41:13 -10:00
J. Nick Koston
6371b344b9 Ensure discovery can setup legacy device tracker platforms (#114101) 2024-03-24 07:38:05 -10:00
Ernst Klamer
c5893f22bf Bump xiaomi-ble to 0.28.0 (#114120) 2024-03-24 07:37:25 -10:00
Marc Mueller
11faf4adcb Replace if in range check (#114107) 2024-03-24 15:20:00 +01:00
Lars Stegman
3a3fb95454 Fix launch library translation keys (#114093)
Fix translation keys
2024-03-24 15:12:25 +01:00
Niels Perfors
db3eeec78c Tado: fix 113982 (#114109)
fix-113982
2024-03-24 13:28:09 +01:00
J. Nick Koston
d4b180cf75 Fix flapping device_tracker test_bad_platform test (#114102)
https://github.com/home-assistant/core/actions/runs/8408079861/job/23023835074
2024-03-24 13:23:12 +01:00
Robert Svensson
2e2b40f77e Add reconfigure flow to Axis integration (#114067) 2024-03-24 12:48:19 +01:00
Dave T
579084a21e Add more sensors to aurora_abb_powerone (part 2) (#114097) 2024-03-24 11:04:12 +00:00
Floris272
d14a442ac3 Improve blue current integration code (#114004) 2024-03-23 22:35:53 -10:00
Brett Adams
ba5a4a17c4 Add vehicle config to coordinator to fix bug in Teslemetry (#113850) 2024-03-23 22:29:10 -10:00
MarkGodwin
925efe0a92 Bump tplink_omada to 1.3.12 for ER7212PC support (#114077) 2024-03-23 22:27:54 -10:00
Allen Porter
2f84183ccd Bump gcal-sync to 6.0.4 (#114085) 2024-03-23 22:24:44 -10:00
J. Nick Koston
e8cb6a8e29 Optimize loading of translations (#114089) 2024-03-23 22:22:09 -10:00
J. Nick Koston
de831b6e87 Small performance improvement to template expand (#114086)
* Small performance improvement to template expand

- Avoid fetching entity sources each loop
- Skip already found entities
- Avoid startswith in favor of equality check

* unneeded changes
2024-03-24 00:24:52 -04:00
Brett Adams
f079c1c236 Allow retry during Config Flow in Advantage Air (#114083) 2024-03-23 12:40:42 -10:00
J. Nick Koston
4ac439ef88 Migrate nut to use aionut (#114078) 2024-03-23 12:02:02 -10:00
G Johansson
d4f158d079 Add reconfigure step to holiday (#114057) 2024-03-23 22:55:05 +01:00
Dave T
c82c295eed Add more sensors to aurora_abb_powerone (#114074) 2024-03-23 21:52:22 +00:00
J. Nick Koston
1c1d8d0317 Avoid creating inner function in EntityComponent setup (#114050) 2024-03-23 11:31:23 -10:00
Robert Svensson
4e03d9cd47 Centralize loading Axis entities (#114018)
Centralize platform loading
2024-03-23 21:52:00 +01:00
Shay Levy
ef3ab54f1d Fix Shelly WallDisplay device power (#114071) 2024-03-23 22:44:53 +02:00
Joost Lekkerkerker
ce12d45b50 Catch Mill timeout error (#114068)
* Catch Mill timeout error

* Catch Mill timeout error

* Catch Mill timeout error
2024-03-23 20:57:22 +01:00
J. Nick Koston
82016ff528 Refactor recorder states tests (#114073)
https://github.com/home-assistant/core/pull/113985#discussion_r1536596573
2024-03-23 15:41:12 -04:00
J. Nick Koston
4f18f0d902 Fix setup timings when config entry platform loads are not awaited (#113959)
* Move setup time logging into the context manager

We were fetching the time twice but since the context
manager already has the timing, move it there

* remove log setup assertions from integration test

* tweak logging to give us better data for tracking issues

* redundant

* adjust

* preen

* fixes

* adjust

* make api change internal so nobody uses it

* coverage

* fix test

* fix more tests

* coverage

* more tests assuming internal calls

* fix more

* adjust

* adjust

* fix axis tests

* fix broadlink -- it does not call async_forward_entry_setup

* missed some

* remove useless patch

* rename, detect it both ways

* clear

* debug

* try to fix

* handle phase finishing out while paused

* where its set does not need to know its late as that is an implemenation detail of setup

* where its set does not need to know its late as that is an implemenation detail of setup

* tweak

* simplify

* reduce complexity

* revert order change as it makes review harder

* revert naming changes as it makes review harder

* improve comment

* improve debug

* late dispatch test

* test the other way as well

* Update setup.py

* Update setup.py

* Update setup.py

* simplify

* reduce
2024-03-23 15:26:38 -04:00
Jan Bouwhuis
a4f52cc622 Use a constant to reference homeassistant domain (#113889)
* Use CONF_CORE to reference `homeassistant` domain

* Just use DOMAIN

* USE DOMAIN for `homeasistant` domain in config_schema.py

* Use DOMAIN_HA as constant for homeassistant domain

* Rename CONF_CORE to DOMAIN_HA

* Rename DOMAIN_HA to HA_DOMAIN

* Use relative import

* Use direct imports
2024-03-23 19:58:39 +01:00
On Freund
c661622332 Add Risco system binary sensors (#114062)
* Add Risco system binary sensors

* Remove leading underscore

* Address code review commments
2024-03-23 19:35:12 +01:00
Jiaqi Wu
d75315f225 Add Lutron Serena tilt only wood blinds (#113791) 2024-03-23 07:48:24 -10:00
Brian Rogers
dbb4cf0ee7 Add Rachio smart hose timer support (#107901)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-23 07:36:03 -10:00
G Johansson
3c13a28357 Bump holidays to 0.45 (#114069) 2024-03-23 17:24:34 +01:00
Greg Dowling
3ec9312f0e Fix bug in roon media player to use correct 'seek position' while playing a track. (#113999)
Chance source of 'seek position' to be the one that roon updates while playing!
2024-03-23 14:53:40 +01:00
On Freund
1a6ff5c2d5 Bump pyrisco to 0.6.0 (#114063) 2024-03-23 14:45:17 +01:00
Mick Vleeshouwer
ebda0d832c Enable turn_on / turn_off features for HitachiAirToAirHeatPump in Overkiz (#112990)
Enable turn_on / turn_off features
2024-03-23 14:27:00 +01:00
Robert Resch
8d51ff0f2c Create registry matrix to run publishing for images in parallel (#114060) 2024-03-23 13:29:29 +01:00
Dave T
9451a14e5c Migrate UpdateCoordinator to its own file in aurora_abb_powerone (#114053)
Migrate *UpdateCoordinator to its own file.
2024-03-23 12:30:38 +01:00
J. Nick Koston
de62b7774f Reduce sqlalchemy reflection overhead at recorder setup time (#113989) 2024-03-23 11:25:05 +01:00
G Johansson
7b0abb00aa Show correct ipv6 address in System Monitor (#114024) 2024-03-23 11:24:17 +01:00
Robert Resch
ce48e6e574 Fix building images for nightlies (#114054) 2024-03-23 11:22:38 +01:00
J. Nick Koston
31fb02a71d Fix after deps not being considered for integrations before stage 1 (#114045) 2024-03-23 11:21:56 +01:00
J. Nick Koston
ac80d38871 Fix flakey stream hls test (#114046) 2024-03-23 11:11:42 +01:00
G Johansson
ebe6c35b4c Smhi add reconfigure step to config flow (#114044)
* Add reconfigure step to SMHI

* Check location

* Add test

* Add test entity and device
2024-03-23 11:01:59 +01:00
J. Nick Koston
900e0c07bf Load light profiles in a task to avoid delaying platform setup (#114038) 2024-03-23 10:51:03 +01:00
Jeremy TRUFIER
4f22c85e39 Fix missing linked device on Overkiz integration (#114006)
* Fix missing linked device (#112731)

* Update homeassistant/components/overkiz/executor.py

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-23 10:21:20 +01:00
J. Nick Koston
39c44ad5b7 Move setup of legacy device_tracker see service to legacy setup task (#114043)
* Move setup of legacy device_tracker see service to legacy setup task

device_tracker can setup synchronously now if there are no legacy
platforms that have to be import to validate the config

The see service is not useful until at least one legacy platform
is loaded so there is no reason to wait for it in the base
setup.

* collapse
2024-03-23 09:40:34 +01:00
kingy444
c2771791a3 Add Powerview Type 11 (#114047) 2024-03-22 17:09:36 -10:00
J. Nick Koston
952f47ab18 Combine recorder and frontend bootstrap step (#113985) 2024-03-22 13:50:39 -10:00
Robert Svensson
bf8d880e5f Improve axis tests (#114035)
* Combine binary sensor tests into more logical groups

* Improve light tests

* Clean up switch tests

* Improve typing in conftest

* Add typing to camera

* Improve binary sensor

* Improve light

* Improve switch
2024-03-23 00:44:06 +01:00
kingy444
26b6bd83fc Move powerview timeout logic to the upstream api (#113984) 2024-03-22 13:38:33 -10:00
Marc Mueller
efc54971d3 Update empty line formatting after module docstring (#114040) 2024-03-23 00:27:57 +01:00
Marc Mueller
1dbc94162d Update byte string formatting (2) (#114039) 2024-03-23 00:22:15 +01:00
Marc Mueller
596ddbb6eb Update pytest warnings filter (#114036) 2024-03-22 23:58:27 +01:00
alexsydell
9e86f82a1b Add ecobee indefinite away preset, remove unusable/broken presets (#108636)
* Add ecobee indefinite away preset, remove unusable/broken presets

* Revert cleanup of presets which no longer work
2024-03-22 22:45:54 +01:00
Robert Svensson
d3c68303b0 Improve deCONZ test_non_color_light_reports_color (#114021) 2024-03-22 22:18:22 +01:00
kingy444
7d9fa64a66 Add missing is_closed property to powerview tilt only entities (#113792)
* add tilt closed

* add current positioning
2024-03-22 20:34:00 +01:00
Arie Catsman
205c457a77 Add home battery storage entities for enphase_envoy (#114015) 2024-03-22 08:46:39 -10:00
Robert Svensson
817d931df0 Define and use entity description in Axis entity base class (#114007)
Define and use entity description in entity base class
2024-03-22 13:59:07 -04:00
Franck Nijhof
25909f2ebd 2024.3.3 (#114005) 2024-03-22 18:47:59 +01:00
J. Nick Koston
68e170284f Speed up recorder startup by making schema query read only (#113987) 2024-03-22 18:29:46 +01:00
Robert Svensson
bbb80caed3 Tweak marking private methods in UniFi, no need to mark inner functio… (#113964) 2024-03-22 18:10:07 +01:00
Robert Svensson
6800034d5a Rename device to api in Axis integration (#113965) 2024-03-22 18:07:33 +01:00
Robert Svensson
2d2249386e Bump axis to v58 (#114008) 2024-03-22 17:53:17 +01:00
Robert Svensson
c6f2ff8e88 Bump axis to v58 (#114008) 2024-03-22 17:52:45 +01:00
Jan-Philipp Benecke
cd0c9e1c4f Remove deprecated hass.components from conversation tests and use light setup fixture (#114012) 2024-03-22 17:52:10 +01:00
Jan-Philipp Benecke
01acbc8bba Remove deprecated hass.components from zeroconf tests (#114013) 2024-03-22 17:51:39 +01:00
Jan-Philipp Benecke
edc19328c0 Remove deprecated hass.components from scene tests (#114014) 2024-03-22 17:48:53 +01:00
Jan-Philipp Benecke
08529b3806 Remove deprecated hass.components from frontend tests (#114011) 2024-03-22 17:35:43 +01:00
Robert Resch
c282172252 Use uv instead of pip on production images (#112496) 2024-03-22 16:50:07 +01:00
Duco Sebel
cad3be8213 Add new HomeWizard Energy Socket to tests (#113406) 2024-03-22 16:48:27 +01:00
Franck Nijhof
32b4814f2a Bump version to 2024.3.3 2024-03-22 16:35:21 +01:00
Franck Nijhof
d1644f3713 Update cosign to 2.2.3 (#113996) 2024-03-22 16:35:05 +01:00
G Johansson
7df0d3b140 Remove hourly weather entity from NWS (#112503) 2024-03-22 16:32:29 +01:00
G Johansson
4fb11dc4f3 Remove hourly weather entity from Aemet (#110764) 2024-03-22 16:31:43 +01:00
Duco Sebel
48553ece68 Remember entered IP when error happend while setting up HomeWizard (#113815) 2024-03-22 16:10:03 +01:00
Robert Svensson
a9e857202d Axis use entity descripton binary sensor platform (#113705) 2024-03-22 15:49:51 +01:00
Federico D'Amico
5b6361080c Add cover platform to microBees (#111135) 2024-03-22 14:31:09 +01:00
Aarni Koskela
29cdac381c Add reformatting commits to .git-blame-ignore-revs (#110481) 2024-03-22 14:29:49 +01:00
Joost Lekkerkerker
8aa6447a4f Add icon translations to Wiz (#112358) 2024-03-22 14:04:13 +01:00
Federico D'Amico
aae85edb73 Add binary sensor platform to microBees (#111190) 2024-03-22 14:01:36 +01:00
Massimo Savazzi
16283aad49 Update JVC Projector polling time to be more responsive for automations (#113765) 2024-03-22 14:00:10 +01:00
Jan Bouwhuis
9ca253213c Correct HomeAssistantError __str__ implementation and test (#113991)
Correct HomeAssistant sub class implementation and test
2024-03-22 13:39:36 +01:00
Franck Nijhof
ee2e98b475 Update cosign to 2.2.3 (#113996) 2024-03-22 13:27:06 +01:00
Joakim Sørensen
a2143a7c1a Return default repairs flow for cloud TTS issues (#113981)
* Set TTS repairs as not fixable

* Return default confirm flow for fixable cloud issues

* Depend on repairs

* Test default repair flow

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-22 11:20:47 +01:00
Paulus Schoutsen
7b431a91b3 2024.3.2 - fix (#113978) 2024-03-21 22:35:16 -04:00
dependabot[bot]
93289c9f09 Bump home-assistant/builder from 2024.01.0 to 2024.03.5 (#113887)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 22:20:49 -04:00
J. Nick Koston
abb217086f Group wemo platform forwards to reduce overhead (#113972) 2024-03-21 21:59:50 -04:00
Paulus Schoutsen
f10d924e8b 2024.3.2 (#113973)
* Streamline Notion config entry updates (refresh token and user ID) (#112832)

* Bump aioautomower to 2024.3.2 (#113162)

* Bump aioautomower to 2024.3.3 (#113430)

* Check for EA release channel for UniFi Protect (#113432)

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

* Bump `pysnmp-lextudio` to version `6.0.11` (#113463)

* Tado fix water heater (#113464)

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

* Bump aiodhcpwatcher to 0.8.2 (#113466)

* Bump axis to v55 (#113479)

* Bump croniter to 2.0.2 (#113494)

* Revert setting communication delay in Risco init (#113497)

* Bump pyrisco to 0.5.10 (#113505)

* Fix missing context when running script from template entity (#113523)

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

* Bump ical to 7.0.3 to fix local-todo persisted with invalid DTSTART values (#113526)

* Fix Airthings BLE illuminance sensor name (#113560)

* Ignore Shelly block update with cfgChanged None (#113587)

* Catch `TimeoutError` in `Brother` config flow (#113593)

* Catch TimeoutError in Brother config flow

* Update tests

* Remove unnecessary parentheses

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>

* Bump axis to v56 (#113608)

* Bump pyunifiprotect to 5.0.1 (#113630)

* Bump pyunifiprotect to 5.0.2 (#113651)

* Add removal condition to Shelly battery sensor (#113703)

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>

* Bump aioraven to 0.5.2 (#113714)

* Fix unknown values in onewire (#113731)

* Fix unknown values in onewire

* Update tests

* Bump pymodbus v3.6.6 (#113796)

* Catch API errors in cast media_player service handlers (#113839)

* Catch API errors in cast media_player service handlers

* Remove left over debug code

* Fix wrapping of coroutine function with api_error

* Bump pychromecast to 14.0.1 (#113841)

* Fix startup race in cast (#113843)

* Redact the area of traccar server geofences (#113861)

* Bump pytedee_async to 0.2.17 (#113933)

* Bump axis to v57 (#113952)

* Bump version to 2024.3.2

---------

Co-authored-by: Aaron Bach <bachya1208@gmail.com>
Co-authored-by: Thomas55555 <59625598+Thomas55555@users.noreply.github.com>
Co-authored-by: Christopher Bailey <cbailey@mort.is>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Lex Li <425130+lextm@users.noreply.github.com>
Co-authored-by: Erwin Douna <e.douna@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
Co-authored-by: On Freund <onfreund@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Allen Porter <allen@thebends.org>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: Scott K Logan <logans@cottsay.net>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: jan iversen <jancasacondor@gmail.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-03-21 21:57:36 -04:00
Erik Montnemery
79f2eaaf41 Deprecate the panel_iframe integration (#113410)
* Deprecate the panel_iframe integration

* Address review comments

* Customize issue text

* Update test
2024-03-22 02:48:52 +01:00
J. Nick Koston
5b9f40b0f0 Pre import mobile app platforms to avoid having to wait on them (#113966) 2024-03-22 02:40:15 +01:00
Paul Chanvin
b2cab70cc0 Fix argument name in async_update_ha_state warning message (#113969)
Fixed warning message using async_update_ha_state
2024-03-22 02:26:11 +01:00
Paulus Schoutsen
91bb321d8f Bump version to 2024.3.2 2024-03-21 20:25:19 -04:00
Robert Svensson
19ef92735c Bump axis to v57 (#113952) 2024-03-21 20:25:11 -04:00
Josef Zweck
6c274abc50 Bump pytedee_async to 0.2.17 (#113933) 2024-03-21 20:25:10 -04:00
Joakim Sørensen
1e57f52ba2 Redact the area of traccar server geofences (#113861) 2024-03-21 20:25:09 -04:00
Erik Montnemery
8056886c66 Fix startup race in cast (#113843) 2024-03-21 20:25:08 -04:00
Erik Montnemery
14c4cdc089 Bump pychromecast to 14.0.1 (#113841) 2024-03-21 20:25:07 -04:00
Erik Montnemery
4132a3d2ea Catch API errors in cast media_player service handlers (#113839)
* Catch API errors in cast media_player service handlers

* Remove left over debug code

* Fix wrapping of coroutine function with api_error
2024-03-21 20:25:07 -04:00
jan iversen
d67cd2af0c Bump pymodbus v3.6.6 (#113796) 2024-03-21 20:25:06 -04:00
epenet
33678ff5a4 Fix unknown values in onewire (#113731)
* Fix unknown values in onewire

* Update tests
2024-03-21 20:25:05 -04:00
Scott K Logan
6859bae0b1 Bump aioraven to 0.5.2 (#113714) 2024-03-21 20:25:04 -04:00
Maciej Bieniek
368586c9d1 Add removal condition to Shelly battery sensor (#113703)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-21 20:25:03 -04:00
Christopher Bailey
eb8a8424a5 Bump pyunifiprotect to 5.0.2 (#113651) 2024-03-21 20:25:03 -04:00
Christopher Bailey
686487e59c Bump pyunifiprotect to 5.0.1 (#113630) 2024-03-21 20:25:02 -04:00
Robert Svensson
fa9f5bd647 Bump axis to v56 (#113608) 2024-03-21 20:25:00 -04:00
Maciej Bieniek
2e2d303291 Catch TimeoutError in Brother config flow (#113593)
* Catch TimeoutError in Brother config flow

* Update tests

* Remove unnecessary parentheses

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-21 20:24:59 -04:00
Shay Levy
0a64ae2f7a Ignore Shelly block update with cfgChanged None (#113587) 2024-03-21 20:24:58 -04:00
Joost Lekkerkerker
a7908d8250 Fix Airthings BLE illuminance sensor name (#113560) 2024-03-21 20:24:58 -04:00
Allen Porter
4a620e015f Bump ical to 7.0.3 to fix local-todo persisted with invalid DTSTART values (#113526) 2024-03-21 20:24:57 -04:00
Erik Montnemery
d5864a40a8 Fix missing context when running script from template entity (#113523)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 20:24:56 -04:00
On Freund
05b900321b Bump pyrisco to 0.5.10 (#113505) 2024-03-21 20:24:55 -04:00
On Freund
5163b5f888 Revert setting communication delay in Risco init (#113497) 2024-03-21 20:24:27 -04:00
Diogo Gomes
8bae8fdd75 Bump croniter to 2.0.2 (#113494) 2024-03-21 20:22:08 -04:00
Robert Svensson
de966b0eb1 Bump axis to v55 (#113479) 2024-03-21 20:22:07 -04:00
J. Nick Koston
099c228169 Bump aiodhcpwatcher to 0.8.2 (#113466) 2024-03-21 20:21:32 -04:00
Erwin Douna
a5994d1d5f Tado fix water heater (#113464)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-03-21 20:16:26 -04:00
Lex Li
26b26a3b1f Bump pysnmp-lextudio to version 6.0.11 (#113463) 2024-03-21 20:16:25 -04:00
Christopher Bailey
273d01c0f4 Check for EA release channel for UniFi Protect (#113432)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 20:16:24 -04:00
Thomas55555
a167b0acaf Bump aioautomower to 2024.3.3 (#113430) 2024-03-21 20:16:23 -04:00
Thomas55555
8b00229868 Bump aioautomower to 2024.3.2 (#113162) 2024-03-21 20:15:49 -04:00
Aaron Bach
10fc40e415 Streamline Notion config entry updates (refresh token and user ID) (#112832) 2024-03-21 20:10:42 -04:00
Arie Catsman
5f5d40ed52 Bump pyenphase to 1.20.0 (#113963) 2024-03-21 13:56:31 -10:00
Jan Bouwhuis
4da701a8e9 Add guard to HomeAssistantError __str__ method to prevent a recursive loop (#113913)
* Add guard to HomeAssistantError `__str__` method to prevent a recursive loop

* Use repr of class instance instead

* Apply suggestion to explain __str__ method is missing

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 23:12:25 +01:00
Dave T
a6d98c1857 Improve user error messages for generic camera (#112814)
* Generic camera: Insufficient error message when configuration fails
Fixes #112279

* Add tests

* Fix typo in string

* Add new error strings to options flow.

* Group and improve error strings following PR review
2024-03-21 21:54:45 +00:00
Robert Svensson
0c791051b8 Bump axis to v57 (#113952) 2024-03-21 21:42:42 +01:00
J. Nick Koston
9a863638f6 Avoid writing HomeKit state to disk unless its missing (#111970) 2024-03-21 09:19:55 -10:00
J. Nick Koston
d0708b5b32 Fix grammar in async_get_platform comment (#113948)
https://github.com/home-assistant/core/pull/113917#pullrequestreview-1951203739
2024-03-21 15:10:47 -04:00
Shay Levy
63275d61a5 Add Shelly RGB/RGBW profiles support (#113808)
* Add Shelly RGB/RGBW profiles support

* Update homeassistant/components/shelly/light.py

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

* Use walrus in rgbw_key_ids

* Use walrus in light_key_ids

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-21 21:04:50 +02:00
Simone Chemelli
8728057b1b Add support for Shelly RPC devices custom TCP port (#110860)
* First coding

* add port to config_entry + gen1 not supported msg

* fix async_step_credentials

* strings

* fix reauth

* fix visit device link

* increased MINOR_VERSION

* apply review comments

* align to latest aioshelly

* missing tests

* introduce port parameter

* update tests

* remove leftover

* remove "port" data_description key

* missing key

* apply review comments

* apply more review comments

* Add tests

* apply review comment

* apply review comment (part 2)

* description update

* fine tuning description

* fix test patching

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-03-21 19:58:56 +01:00
J. Nick Koston
8141a246b0 Remove unrelated patching from scrape test (#113951)
https://github.com/home-assistant/core/pull/105516#discussion_r1534459365

The fixture already is designed to go unavailable on the 3rd update
2024-03-21 19:54:24 +01:00
Thomas55555
63221356f6 Add select platform to Husqvarna Automower (#113816)
* Add select platform to Husqvarna Automower

* docstring

* address review

* pin headlight_modes list

* Apply suggestions from code review

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

* Apply review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-21 17:07:09 +01:00
Josef Zweck
b4c36d4676 Bump pytedee_async to 0.2.17 (#113933) 2024-03-21 15:27:51 +01:00
G Johansson
9289fa23a1 Add availability to Scrape config flow (#105516) 2024-03-21 13:13:25 +01:00
Josef Zweck
e5fa6f0176 Add Bluetooth support to La Marzocco integration (#108287)
* init

* init tests

* linting

* checks

* tests, linting

* pylint

* add tests

* switch tests

* add water heater tests

* change icons

* extra args cleanup

* moar tests

* services tests

* remove extra platforms

* test for unique id

* back to single instance

* add diagnostics

* remove extra platforms

* test for unique id

* back to single instance

* Add better connection management for Idasen Desk (#102135)

* Return 'None' for light attributes when off instead of removing them (#101946)

* Bump home-assistant-bluetooth to 1.10.4 (#102268)

* Bump orjson to 3.9.9 (#102267)

* Bump opower to 0.0.37 (#102265)

* Bump Python-Roborock to 0.35.0 (#102275)

* Add CodeQL CI Job (#102273)

* Remove unused dsmr sensors (#102223)

* rebase messed up conftest

* more tests for init

* add client to coveragerc

* add client to coveragerc

* next lmcloud version

* strict typing

* more typing

* allow multiple machines

* remove unneeded var

* Update homeassistant/components/lamarzocco/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/diagnostics.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/__init__.py

Co-authored-by: Robert Resch <robert@resch.dev>

* PR suggestions

* remove base exception

* Update manifest.json

* update lmcloud

* update lmcloud

* remove ignore

* selection bugfix for machines with space in name

* bugfix temps

* add options flow

* send out full user input

* remove options flow

* split the tests to avoid timeouts

* use selectoptionsdict for selection

* removing rccoleman

* improve test coverage to 100%

* Update config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* autoselect cloud machine for discovered machine

* move default values to 3rd party lib

* bring property changes from lmcloud

* moving things to lmcloud

* move validation to method

* move more things to lmcloud

* remove unused const

* Update homeassistant/components/lamarzocco/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/__init__.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/__init__.py

Co-authored-by: Robert Resch <robert@resch.dev>

* remove callback from coordinator

* remove waterheater, add switch

* improvement to background task

* next lmcloud

* adapt to lib changes

* Update homeassistant/components/lamarzocco/strings.json

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/entity.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/entity.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/switch.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/switch.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/entity.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/strings.json

Co-authored-by: Robert Resch <robert@resch.dev>

* requested changes

* Update homeassistant/components/lamarzocco/switch.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/lamarzocco/entity.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/lamarzocco/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/lamarzocco/test_config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* some requested changes

* changes

* requested changes

* move steam boiler to controls

* fix: remove entities from GS3MP model + tests

* remove dataclass decorator

* next lmcloud version

* improvements

* move reauth to user step

* improve config flow

* remove asserts in favor of runtimeerrors

* undo conftest comment

* make duc return none

* Update homeassistant/components/lamarzocco/switch.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/config_flow.py

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

* remove diagnostics, changes

* refine config flow

* remove runtimeerrors in favor of asserts

* move initialization of lm_client to coordinator

* remove things from lmclient

* remove lm_client

* remove lm_client

* bump lm version

* correctly set initialized for tests

* move exception handling inside init + tests

* add test for switch without bluetooth on

* bump lmcloud

* pass httpx client to LMLocalAPI

* add call function to reduce code

* switch to snapshot testing

* remove bluetooth

* bump version

* cleanup import

* remove unused const

* set correct integration_type

* correct default selection in CF

* reduce unnecessary tests by fixture change

* use other json loads helpers

* move prebrew/infusion to select entity

* bump lmcloud

* Update coordinator.py

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

* Update coordinator.py

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

* Update coordinator.py

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

* Update entity.py

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

* Update entity.py

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

* requested feedback

* step description, bump lmcloud

* create init integration functino

* revert

* ruff

* remove leftover BT test

* make main switch main entity

* bump lmcloud

* re-add bluetooth

* improve

* bump firmware (again)

* correct test

* Update homeassistant/components/lamarzocco/coordinator.py

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

* Update homeassistant/components/lamarzocco/entity.py

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

* Update homeassistant/components/lamarzocco/strings.json

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

* separate device test

* add BT to entites

* fix import

* docstring

* minor

* fix rebase

* get device from discovered devices

* tweak

* change tests

* switch to dict

* switch to options

* fix

* fix

---------

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
Co-authored-by: Luke Lashley <conway220@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: dupondje <jean-louis@dupond.be>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-21 13:08:11 +01:00
Jan-Philipp Benecke
e23943debf Remove deprecated hass.components from flux switch tests and use fixture (#113875) 2024-03-21 11:44:05 +01:00
dependabot[bot]
ccfe0ba036 Bump Wandalen/wretry.action from 1.4.10 to 2.0.0 (#113888)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-21 11:43:11 +01:00
starkillerOG
cd934c21f9 Add Reolink hdd/sd card storage sensor (#110961) 2024-03-21 11:41:32 +01:00
Erik Montnemery
25fe74aec5 Remove AUX heating from demo climate (#113929) 2024-03-21 11:35:27 +01:00
Ingmar Delsink
67a14d0463 Add transmission-integration path and protocol (#104334)
This updates the config_flow migration from v1.1 to v1.2
including migration tests
2024-03-21 11:05:36 +01:00
Jan-Philipp Benecke
ff6812a798 Split light fixture from implementation to only import when fixture is actually used (#113892)
* Split light fixture from implementation to only import when fixture is actually used

* Non-local import
2024-03-21 10:49:32 +01:00
jan iversen
e1897906cc modbus: Remove PARALLEL_UPDATES from base_platform (#113928)
Remove PARALLEL_UPDATES from base_platform.
2024-03-21 10:43:58 +01:00
Thomas55555
80c8b94021 Add diagnostics to Husqvarna Automower (#111857) 2024-03-21 10:06:40 +01:00
jan iversen
59c4c85089 Upgrade Modbus quality scale to platinum (#113482)
Quality scale: Platinum.
2024-03-21 09:49:37 +01:00
Sid
8e1f57f663 Enable Ruff PT023, disable PT011, PT012, PT018 (#113900)
* Enable Ruff PT023

* Set mark parantheses to False

* Disable PT011, PT012, PT018
2024-03-21 09:43:27 +01:00
J. Nick Koston
3b66328591 Add a fast path for async_get_platform (#113917) 2024-03-21 09:34:33 +01:00
J. Nick Koston
f662e7e3cf Only calculate native value once per update in systemmonitor (#113921) 2024-03-21 09:33:36 +01:00
J. Nick Koston
0b0d3a2091 Add run_immediately to the trace stop listener (#113922) 2024-03-21 09:32:43 +01:00
J. Nick Koston
7758f41c5a Load system info with base functionality (#113923) 2024-03-21 09:24:39 +01:00
Jan Bouwhuis
dc38d152df Fetch ServiceNotFound message from translation cache (#113893) 2024-03-21 06:54:29 +01:00
Jan Bouwhuis
8edbf88da1 Fetch MaxLengthExceeded exception mesage from the translation cache (#113904)
* Fetch MaxLengthExceeded exception mesage from the translation cache

* Update homeassistant/components/homeassistant/strings.json

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

* Add case without homeassistant integration

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-21 06:53:26 +01:00
Jesse Hills
6ddef7bbff ESPHome: Add Time Entity support (#113852) 2024-03-21 16:59:43 +13:00
J. Nick Koston
aebc95b1d2 Reduce overhead to construct and validate entity service schema (#113920) 2024-03-20 16:07:17 -10:00
J. Nick Koston
e015fd2440 Use intersection for determine_script_action (#113915) 2024-03-20 16:06:59 -10:00
J. Nick Koston
b574220247 Refactor rate limit helper to track time in seconds (#113898)
* Refactor rate limit helper to track time in seconds

Currently we created datetime and timedelta objects to enforce the
rate limit. When the rate limit was being hit hard, this got expensive.

We now use floats everywhere instead as they are much cheaper which
is important when we are running up against a rate limit, which is
by definition a hot path

The rate limit helper is currently only used for templates and
we do not have any code in the code base that directly passes
in a rate limit so the impact to custom components is expected
to be negligible if any

* misesd two
2024-03-20 19:49:37 -04:00
J. Nick Koston
b311fe2a0f Reduce overhead to clear cache in button state (#113895)
Same optimization as #113136
2024-03-20 19:41:24 -04:00
J. Nick Koston
1e54595084 Use faster time compare in history and live logbook (#113897) 2024-03-20 19:40:23 -04:00
J. Nick Koston
e9c1753f3a Cache parsing the url for the device registry (#113910)
* Cache parsing the url for the device registry

There are lots of hub integrations that use the same url for every
sub-device which results in a lot of url parsing at startup. The
logic can be simplified quite a bit here by only using yarl
for URLs

* fix onvif
2024-03-20 19:35:01 -04:00
J. Nick Koston
267fe3dc34 Fix system_info importing hassio in the event loop (#113903) 2024-03-20 12:06:40 -10:00
J. Nick Koston
ac175a4240 Fix flakey test_reading_yaml_config test (#113902) 2024-03-20 10:39:31 -10:00
J. Nick Koston
cf8455336c Small cleanup to unifiprotect subscriptions (#113901) 2024-03-20 10:09:42 -10:00
Erik Montnemery
426f73b1f4 Add State.last_reported (#113511)
* Add State.last_reported

* Update tests

* Update test snapshots

* Call state_reported listeners when firing state_changed event

* Add tests
2024-03-20 21:05:07 +01:00
J. Nick Koston
e74791083e Fix duplicate events in live history (#113896) 2024-03-20 20:14:17 +01:00
dependabot[bot]
dfbfdf781e Bump home-assistant/builder from 2024.01.0 to 2024.03.5 (#113887)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-20 20:13:44 +01:00
uchagani
15ac81aae9 Bump islamic_prayer_times to 0.0.12 (#113744) 2024-03-20 17:06:57 +01:00
Simone Chemelli
bd2ee161f3 Bump aioshelly to 8.2.0 (#113886)
aioshelly bump to 8.2.0
2024-03-20 17:06:16 +01:00
Matrix
3b0ac469d4 YoLink fix cover incorrect state (#104975)
* Fix cover incorrect state

* Change entity to unavailable
2024-03-20 16:45:21 +01:00
Joost Lekkerkerker
0e7e1cb34f Remove obsolete issue strings in WAQI (#113884) 2024-03-20 16:17:12 +01:00
Joakim Sørensen
83cf59e6a8 Provide better debug capabilities for the Traccar Server integration (#113868) 2024-03-20 15:40:46 +01:00
Martin Hjelmare
c5f6925948 Add matter device serial number (#113878) 2024-03-20 15:31:48 +01:00
Erik Montnemery
afa9517716 Catch API errors in cast media_player service handlers (#113839)
* Catch API errors in cast media_player service handlers

* Remove left over debug code

* Fix wrapping of coroutine function with api_error
2024-03-20 13:10:35 +01:00
Paul Bottein
eafb4190ef Change quotes in cloud translations (#113871)
* Escape quote in cloud translations

* Update homeassistant/components/cloud/strings.json

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Update homeassistant/components/cloud/strings.json

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Update homeassistant/components/cloud/strings.json

---------

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2024-03-20 07:35:34 -04:00
Jonathan Sider
dc9f0a55a6 Update Amcrest services.yaml (#111161) 2024-03-20 11:59:44 +01:00
Alin Balutoiu
f8de214560 Make temperature a required parameter for tado climate service (#113872)
Make temperature a required parameter
2024-03-20 11:59:13 +01:00
Franck Nijhof
fc6a83559f Add floor template functions (#110847) 2024-03-20 11:58:04 +01:00
Henning Claßen
25be71e05b Bump numato-gpio to v0.13.0 (#113182) 2024-03-20 11:42:01 +01:00
Erwin Douna
42873cacf5 Tado fix water heater (#113464)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-03-20 11:29:15 +01:00
Floris272
249f708071 Bump bluecurrent-api to 1.2.2 (#110483) 2024-03-20 11:28:27 +01:00
Scott K Logan
6552e12161 Bump aioraven to 0.5.2 (#113714) 2024-03-20 10:57:37 +01:00
Joost Lekkerkerker
d2663347e9 Remove Amcrest camera unique id migration (#113870) 2024-03-20 10:36:02 +01:00
Martin Hjelmare
ac008a4c6d Deprecate cloud tts gender (#112256)
* Deprecate cloud tts gender option

* Update http api and prefs

* Test migration of prefs to minor version 4

* Adjust breaking date

* Add test for bad voice in http api

* Flatten tts info

* Fix comments

* Fix comment date

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

* Clarify voice validator

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-20 09:42:40 +01:00
Erik Montnemery
d31124d5d4 Avoid creating unneeded Context and Event objects when firing events (#113798)
* Avoid creating unneeded Context and Event objects when firing events

* Add test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-20 09:40:06 +01:00
Jan-Philipp Benecke
638020f168 Remove deprecated hass.components from group light tests and use fixture (#113862) 2024-03-20 08:45:50 +01:00
J. Nick Koston
c5eacf55c2 Fix flapping stream hls test (#113858) 2024-03-20 08:27:05 +01:00
Joakim Sørensen
96694878fb Redact the area of traccar server geofences (#113861) 2024-03-20 08:23:16 +01:00
J. Nick Koston
fff590d738 Fix flapping device tracker test (#113859)
seen in https://github.com/home-assistant/core/actions/runs/8353028595/job/22864148890?pr=113854
2024-03-20 07:21:26 +01:00
Joost Lekkerkerker
23353812a9 Add icon translations to Github (#111614)
* Add icon translations to Github

* Fix
2024-03-20 07:06:34 +01:00
Jesse Hills
510e7ccf76 Bump aioesphomeapi to 23.2.0 (#113854) 2024-03-19 19:40:09 -10:00
J. Nick Koston
06f356a038 Avoid expensive db queries at startup to check if data is migrated (#113773) 2024-03-19 15:27:40 -10:00
J. Nick Koston
417b491b78 Reduce overhead to write dlna_dmr state (#113776)
* Reduce overhead to write dlna_dmr state

- Only update supported_features once per state write cycle
- Use a dict lookup for state

* useless dispatch

* fix tests

* remove unreachable code
2024-03-19 21:13:34 -04:00
Jessica Smith
02c1088596 Upgrade whirlpool integration to add shared appliances and allow brand selection (#111687)
* update to 1.18.5 and add Brand to config, required for getting shared appliances

* update version to 0.18.6

* start fixing tests

* fix typo

* check for falsy values instead of explicit None

* move CONF_BRAND from global constants to whirlpool constants

* add test for no brand, fix __init__ import

* add brand to string.json

* add brand to re-auth

* add title/description, add brand info to description

* add reauth strings

* pass already initialized data dict

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

* remove trailing comma

* Update strings again

* fix reauth tests to add brand

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-20 02:02:45 +01:00
Marc Mueller
9a38f0de0b Update actions/cache to 4.0.2 (#113817) 2024-03-20 01:16:21 +01:00
Jan-Philipp Benecke
9add4aea70 Remove deprecated hass.components from vilfo config flow tests (#113821) 2024-03-20 01:13:05 +01:00
Jan-Philipp Benecke
685468d845 Use mock_platform for light entity component tests instead of hass.components (#113845)
* Use `mock_platform` for light entity component tests instead of `hass.components`

* Move pytest_plugins to top

* Fix comment
2024-03-20 01:09:48 +01:00
J. Nick Koston
7b67a486bd Migrate legacy device_tracker shutdown to use run_immediately (#113835)
A call_soon is not needed here
2024-03-19 14:07:57 -10:00
J. Nick Koston
b26f0bc488 Only create one executor job to shutdown wemo (#113836)
Currently we created two but the work can be done in a single job
2024-03-19 19:59:37 -04:00
J. Nick Koston
ec3db0a6aa Migrate camera listeners to use run_immediately (#113840)
None of these need a call_soon
2024-03-19 19:58:59 -04:00
Erik Montnemery
8a9f69b22a Bump pychromecast to 14.0.1 (#113841) 2024-03-19 11:41:10 -10:00
Erik Montnemery
bf21553008 Fix startup race in cast (#113843) 2024-03-19 11:37:29 -10:00
J. Nick Koston
658bef5447 Migrate samsungtv stop to use run_immediately (#113834)
There is no need for a call_soon here
2024-03-19 22:01:23 +01:00
J. Nick Koston
6b5518b2bf Fix template sensor test relying on event bus debug logging (#113842) 2024-03-19 10:44:04 -10:00
J. Nick Koston
879e5bc961 Only wait for import flows in setup of there is a config flow (#113780) 2024-03-19 10:38:27 -10:00
Jan-Philipp Benecke
c52ee2a898 Remove deprecated hass.components from person test (#113822) 2024-03-19 22:33:40 +02:00
Jan-Philipp Benecke
ff03c9db19 Remove deprecated hass.components from cloud client test (#113820) 2024-03-19 22:33:11 +02:00
Jan-Philipp Benecke
f96bb6754b Remove deprecated hass.components from http test (#113823) 2024-03-19 22:32:27 +02:00
J. Nick Koston
32c64855b2 Fix duplicate events in live logbook (#113828) 2024-03-19 09:17:23 -10:00
J. Nick Koston
15c0422837 Fix flakey profiler object growth tests (#113825) 2024-03-19 09:17:12 -10:00
Jan-Philipp Benecke
b35b4e8bfd Do not patch asyncio.timeout in govee light local test (#113819) 2024-03-19 18:24:36 +01:00
Åke Strandberg
0fa395556d Revert get_model from myuplink lib (#113811) 2024-03-19 17:27:16 +01:00
Franck Nijhof
670bd97777 Find referenced labels in automations & scripts (#113812) 2024-03-19 16:28:37 +01:00
Thomas55555
ea443af557 Add device_tracker platform for husqvarna_automower (#111403)
* Add device_tracker platform for husqvarna_automower

* ruff

* Add snapshot test

* State test

* Fix description

* ruff

* Optimize some docstrings

* Update homeassistant/components/husqvarna_automower/device_tracker.py

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

* Adress review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-19 15:46:35 +01:00
Thomas55555
3a8494cb88 Add binary sensor platform for Husqvarna Automower (#113248)
* Add binary sensor platform for Husqvarna Automower

* revert changes in sensor.py

* use == instead of is

* remove the parantheses

* Apply suggestions from code review

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

* Docstring

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-19 15:30:30 +01:00
Franck Nijhof
38d0854b70 Find referenced floors in automations & scripts (#113802) 2024-03-19 14:18:53 +01:00
Joost Lekkerkerker
44211dc761 Migrate Harmony to has entity name (#104737)
* Migrate Harmony to has entity name

* Fix tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-19 14:02:50 +01:00
Ernst Klamer
6106a66ed8 Bump bthome-ble to 3.8.1 (#113800) 2024-03-19 08:15:57 -04:00
Dave T
318b6e3a8b Allow retries on communication exceptions for Aurora ABB Powerone solar inverter (#104492)
* Allow retries on SerialException, AuroraError

* Add test to verify that retry is occuring

* Fix tests and indents

* Only log to info level for normal on/offline

* Review comment: don't log warning, debug and raise UpdateFailed

* Fix tests
2024-03-19 12:21:32 +01:00
Robert Resch
5230a8a210 Simplify UV install in CI (#113803) 2024-03-19 11:49:15 +01:00
Nalin Mahajan
18ef76a018 Add Room Audio Control to Control4 Integration (#87821)
* Add control4 room based media player (#13)

* update attribute names (#14)

* change to data class and set off to idle (#15)

Co-authored-by: nalin29 <nalin29@github.com>

---------

Co-authored-by: nalin29 <nalin29@github.com>
2024-03-19 11:44:52 +01:00
Erik Montnemery
4381780936 Add WS command cloud/remove_data (#109821) 2024-03-19 10:22:58 +01:00
Franck Nijhof
d0b4210de5 Update Home Assistant base image to 2024.03.0 (#113797) 2024-03-19 10:07:13 +01:00
jan iversen
c2538d5176 Bump pymodbus v3.6.6 (#113796) 2024-03-19 09:37:36 +01:00
Sid
00ec7f11f0 Enable Ruff rule PT007 (#113764)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-19 09:01:07 +01:00
Lucas Mindêllo de Andrade
089a3ab6d7 Bump sunweg to 2.1.1 (#113767) 2024-03-19 08:50:11 +01:00
J. Nick Koston
00f94feec9 Start energy load platform task eagerly (#113778) 2024-03-19 08:44:39 +01:00
J. Nick Koston
f51ac30b5a Call async task creation api in apple_tv (#113782) 2024-03-19 08:44:13 +01:00
J. Nick Koston
31a9c9451e Use async api in generic_thermostat to create tasks (#113783) 2024-03-19 08:43:49 +01:00
J. Nick Koston
3bb0d04452 Use async api in yamaha_musiccast to create tasks (#113785) 2024-03-19 08:43:27 +01:00
J. Nick Koston
2f88460b68 Use async api in template weather to create tasks (#113784) 2024-03-19 08:43:14 +01:00
J. Nick Koston
d740e4c3d7 Migrate restore_state shutdown to use run_immediately (#113786) 2024-03-19 08:42:49 +01:00
Simone Chemelli
ae55e8e1ba Align Comelit climate code to humidifier (#113747) 2024-03-19 08:42:07 +01:00
J. Nick Koston
2582172ad1 Create tasks eagerly with core create_task (#113781) 2024-03-19 08:41:39 +01:00
Joost Lekkerkerker
85e13bdb87 Require an icon for a service (#112373) 2024-03-19 08:29:29 +01:00
dependabot[bot]
ed9b5d843c Bump github/codeql-action from 3.24.7 to 3.24.8 (#113789)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 08:27:32 +01:00
dependabot[bot]
f680065664 Bump dawidd6/action-download-artifact from 3.1.3 to 3.1.4 (#113788) 2024-03-19 08:15:06 +01:00
J. Nick Koston
8b9a8a33f4 Start live history/logbook with eager tasks (#113779) 2024-03-18 21:00:51 -10:00
J. Nick Koston
e3ae66ca64 Bump PyMetno to 0.12.0 (#113777)
changelog: https://github.com/Danielhiversen/pyMetno/releases/tag/0.12.0
2024-03-19 06:57:14 +01:00
J. Nick Koston
c615b52840 Refactor integration startup time to show wall clock time (#113707)
* Refactor setup time tracking to exclude time waiting on other operations

We now exclude the import time and th time waiting on
base platforms to setup from the setup times

* tweak

* tweak

* tweak

* tweak

* adjust

* fixes

* fixes

* preen

* preen

* tweak

* tweak

* adjust

* tweak

* reduce

* do not count integrtion platforms against their parent integration

* handle legacy tts platforms

* stt as well

* one more wait

* use the same pattern in all the legacy

* fix tts and stt legacy

* fix

* fix

* reduce

* preen

* entity comp does not wait for platforms

* scene blocks as well

* fix test

* test fixes

* coverage

* coverage

* coverage

* fix test

* Update tests/test_setup.py

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

* Update tests/test_setup.py

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

* Update homeassistant/setup.py

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

* strip

* strip WAIT_PLATFORM_INTEGRATION

* strip WAIT_PLATFORM_INTEGRATION

* strip WAIT_PLATFORM_INTEGRATION

* strip WAIT_PLATFORM_INTEGRATION

* remove complexity

* Apply suggestions from code review

* no longer works that way

* fixes

* fixes

* fixes

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-18 21:45:34 -04:00
J. Nick Koston
9be5f3531f Run websocket shutdown listener with run_immediately (#113727) 2024-03-18 11:59:44 -10:00
Franck Nijhof
167e66d45c Add labels to service target (#113753) 2024-03-18 22:32:23 +01:00
Franck Nijhof
541d4b78ac Add WebSocket support for handling labels on areas registry (#113755) 2024-03-18 22:17:13 +01:00
Robert Svensson
506240be10 Streamline naming in deCONZ integration (#111977) 2024-03-18 22:08:06 +01:00
Franck Nijhof
e20cc4f8b9 Add WebSocket support for assigning labels to entities (#113757) 2024-03-18 22:03:37 +01:00
Franck Nijhof
51b8ffc69d Add WebSocket support for handling labels on device registry (#113758) 2024-03-18 21:19:27 +01:00
Jan-Philipp Benecke
f73f93913f Remove deprecated hass.components from netatmo webhook tests (#113691) 2024-03-18 19:31:13 +01:00
Robert Svensson
cb348ddbdb Axis use entity description light platform (#113602)
* Axis use entity description in light platform

* Clean up some old code

* Update homeassistant/components/axis/light.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-18 19:26:29 +01:00
Gido
1ed8232b02 Add config flow to Rova (#113596)
* Add Config Flow for Rova component

* Add tests for Rova config flow

* Fix data type

* Add rova to requirements for tests

* Removed seperate function for area check and global variable

* Add unique name and id to rova entities

* Add support for multiple rova entries

* Fix correct error after connection timeout or http error

* Revert SENSOR_TYPES update

* Add existing rova configuration from yaml as new entity

* Add tests for import configuration.yaml flow

* Cleanup code

* Update valid rova area check in config flow

* Changed abort keys and messages

* Updated using self.add_suggested_values_to_schema

* Update to pass tests

* Added missing strings

* Update sensor unique_ids

* Fix service name formatting

* Update tests for Rova entry

* Update tests to recover after error

* Update test name

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-18 18:00:54 +01:00
Max Holland
815d120645 Add support for Tuya dimmer module (#113741) 2024-03-18 16:59:49 +01:00
Joost Lekkerkerker
aba5dcb63e Patch Discovery timeout in govee light local (#113692) 2024-03-18 16:49:39 +01:00
Josef Zweck
eaf86ee1ea Log cannot connect exception in Tedee config flow (#113740)
log exception
2024-03-18 16:45:49 +01:00
Aidan Timson
8918eb6922 Add camera in use and pending reboot binary sensors to System Bridge (#104095)
* Add binary sensors

* Fix

* Fix

* Fix translations

* Add icons

* Fix attr

* Update string

* fix name

* Remove unnessasary check

* Remove unrelated changes

* Remove unrelated strings

* Apply suggestions from code review

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

* Update camera_in_use function and value_fn for binary sensors

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-18 16:21:52 +01:00
Xitee
7065625d28 Add additional buttons to OctoPrint (#103139)
* Add 3 new buttons

- System shutdown button
- System reboot button
- Octoprint restart button

* Enable buttons by default

* Add tests

* Fix tests

* Remove accidentally committed unused code

* Add RESTART device class to RestartOctoprint and RebootSystem buttons

* Apply suggestions to octoprint test_button

* Freeze time for OctoPrint button tests

* Make new button base class to prevent implementing the availability check multiple times
2024-03-18 16:20:22 +01:00
Jack Boswell
34b0ff40f3 Allow configuring Starlink sleep schedule (#103057)
* Expose sleep config getters and setters

* Add a switch for toggling sleep schedule

* Add Time platform

* Add frozen to dataclasses

* Update tests

* Add starlink time to coveragerc

* No more mixin

* Update time.py

* Update time.py

* Run data collectors asynchronously

* Fix timezone handling
2024-03-18 16:18:32 +01:00
Erwin Douna
e882d47cde Add Downloader config flow, including tests (#98722)
* Adding base line, including tests

* Adding validatge input and expanding tests

* Updating manifest

* Minor patch

* Revert minor patch, wrong nesting

* Adding proper translations

* Including abort message

* Update homeassistant/components/downloader/config_flow.py

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

* Rename exception class

* Refactor import

* Update strings

* Apply suggestions from code review

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Update homeassistant/components/downloader/__init__.py

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

* Reverting back filename and fix typing

* Reverting back mutex/lock

* Upgrade version

* Adding typing

* Removing coroutine

* Removing unload entry (for now)

* Removing comment

* Change type

* Putting download back in setup_entry

* Revert back code

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-18 16:16:24 +01:00
Chris Caron
7dc64a03ef Bump apprise to 1.7.4 (#113629)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-03-18 15:34:08 +01:00
J. Nick Koston
40ce2011be Run dhcp listeners with run_immediately (#113726)
Neither of these need a call_soon
2024-03-18 10:16:20 -04:00
Jan Bouwhuis
3dc8df2403 Get ServiceValidationError message from translation cache only (#113704)
* Get ServiceValidationError message from translation cache only

* Remove message for NotValidPresetModeError
2024-03-18 14:42:21 +01:00
Jan Bouwhuis
ec7aecef84 Get HomeAssistantError message from translation cache only (#113688)
Get HomeAssistant error message from translation cache only
2024-03-18 14:39:41 +01:00
Sid
727581eea3 Add first batch of Ruff PT rules (#113665)
* Add first batch of Ruff PT rules

* fix weather test

* Fix pilight test

* Update test_intent.py

* Update pilight test_init.py

* Update test_init.py
2024-03-18 13:26:14 +01:00
J. Nick Koston
8f33bad4ef Move legacy tts setup to use tracked tasks (#113717)
* Move legacy tts setup to a tracked task

* comment

* fix test

* fix test

* fix more tests

* tweak
2024-03-18 13:11:22 +01:00
J. Nick Koston
719d373bd7 Move legacy stt setup to use tracked tasks (#113718)
* Move legacy stt setup to use tracked tasks

* comment
2024-03-18 13:10:12 +01:00
J. Nick Koston
10f2d8b4b1 Move legacy notify setup to use tracked tasks (#113716)
* Move legacy notify setup to a tracked task

* fix test

* fix test

* comment
2024-03-18 13:09:21 +01:00
J. Nick Koston
264e023ab4 Run august stop listener with run_immediately (#113729)
There is no need for a call_soon here
2024-03-18 14:07:00 +02:00
J. Nick Koston
8a144d16f5 Move legacy device_tracker setup to a tracked task (#113715)
* Move legacy device_tracker setup to a tracked task

Legacy platforms are now loaded in a tracked task which
allows anything waiting on device_tracker (such as
a config entry that uses the device_tracker
platform) to proceed.

This also allows us to remove the workaround
of adding device_tracker to
hass.config.components in its setup

* tweak

* tweak

* fix tests
2024-03-18 10:39:59 +01:00
epenet
3844ade572 Fix unknown values in onewire (#113731)
* Fix unknown values in onewire

* Update tests
2024-03-18 10:12:46 +01:00
dependabot[bot]
20897e0a3a Bump dawidd6/action-download-artifact from 3.1.2 to 3.1.3 (#113720) 2024-03-18 08:28:10 +01:00
Ernst Klamer
e23ce42d3a Bump xiaomi-ble to 0.27.1 (#113686) 2024-03-17 19:40:03 -10:00
J. Nick Koston
fcdb7039f9 Migrate isy994 listeners to use run_immediately (#113661) 2024-03-17 17:38:48 -10:00
J. Nick Koston
9a6804b5d7 Adjust config flow pre-import comment in group (#113702) 2024-03-17 14:28:29 -10:00
Johnny Willemsen
0d279ccd13 Improve scaffold test_config_flow (#113229)
Update test_config_flow.py

Use DOMAIN constant
2024-03-18 00:47:11 +01:00
Sid
82a60fe8ad Enable Ruff RSE (#113695) 2024-03-18 00:40:38 +01:00
Jan Bouwhuis
685553d17d Cache late imported async_get_exception_message for HomeAssistantError (#113683)
* Cache late imported async_get_exception_message for HomeAssistantError

* Use a dict to store the function cache

* Update homeassistant/exceptions.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-17 21:23:46 +01:00
Maciej Bieniek
d8f74571a1 Add removal condition to Shelly battery sensor (#113703)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-17 21:21:42 +01:00
J. Nick Koston
4d75940cd2 Start and stop template cache watcher to run_immediately (#113644) 2024-03-17 08:16:26 -10:00
J. Nick Koston
68320b1278 Migrate registry for labels and categories to run_immediately (#113645) 2024-03-17 08:16:11 -10:00
J. Nick Koston
93497dde8b Run registry cleanup listeners immediately (#113646) 2024-03-17 08:15:55 -10:00
J. Nick Koston
091199d24a Run entity registry write_unavailable_states immediately at start (#113647) 2024-03-17 08:15:41 -10:00
J. Nick Koston
dbbd6fff01 Move ESPHome disconnects to the close event (#113652) 2024-03-17 08:15:28 -10:00
J. Nick Koston
412fd3dc05 Add run_immediately to usb start/stop listeners (#113658) 2024-03-17 08:15:14 -10:00
Jan-Philipp Benecke
324c922c0d Remove deprecated hass.components from withings webhook tests (#113687)
* Remove deprecated `hass.components` from withings webhook tests

* Use patch.object
2024-03-17 17:48:58 +01:00
Jan-Philipp Benecke
681705394d Remove deprecated hass.components from network helper function (#113615)
* Remove deprecated `hass.components` from network helper function

* Remove deprecated use of `hass.components` in alexa camera tests
2024-03-17 17:42:48 +01:00
J. Nick Koston
d9bc09e93a Migrate stream listeners to use run_immediately and eager tasks (#113660)
None of these need to a call_soon and can shutdown a bit faster
2024-03-17 09:42:25 -07:00
Jan-Philipp Benecke
25c4ab070b Use mock_platform for event entity component tests instead of hass.components (#113667) 2024-03-17 17:32:16 +01:00
MarkGodwin
75a489deb9 Add WAN port connection control to TP-Link Omada gateways (#111431)
* Add gateway connection switches

* Add unit tests

* tplink_omada code review feedback

* Rebase and move icons and strings into json
2024-03-17 16:06:57 +01:00
Sid
295b4203a1 Re-ignore Ruff rule PLC1901 (#113675)
Re-ignore PLC1901
2024-03-17 16:04:40 +01:00
Jan Bouwhuis
81ab29a38e Freeze time on zwave_js update test (#113625)
Freeze time on jwave_js update test
2024-03-17 16:02:45 +01:00
Sid
929bcb92e2 Add Ruff LOG rules (#113677)
* Add Ruff LOG rules

* Address review comment

* Update const.py
2024-03-17 15:59:49 +01:00
Jan-Philipp Benecke
b8e1862746 Remove deprecated hass.components from image_processing platform (#113613)
* Remove deprecated `hass.components` from image_processing platform

* Add test and change log

* D'oh.. use updated error text
2024-03-17 15:59:29 +01:00
Michael
0643ff1cfe Improve debug logging in Tankerkoenig (#113674) 2024-03-17 13:44:32 +01:00
Sid
6113b99ddd Replace pylint pointless-statement with ruff B018 (#113582)
* Replace pylint pointless-statement with ruff B018

* fix occurrences of B018

* disable pylint expression-not-assigned as well

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-17 10:58:14 +01:00
Erik Montnemery
7b20641651 Add tests of homeworks __init__ (#113581) 2024-03-17 10:22:08 +01:00
Erik Montnemery
398c38b50d Add tests of homeworks button (#113578) 2024-03-17 10:06:57 +01:00
Sid
d5fd005db8 Add ruff rule PIE808 (#113621) 2024-03-17 09:56:26 +01:00
Erik Montnemery
1a70dbfd94 Add tests of homeworks light (#113579) 2024-03-17 09:46:36 +01:00
Erik Montnemery
8f6c4f8b33 Add tests of homeworks binary sensor (#113577) 2024-03-17 09:45:49 +01:00
J. Nick Koston
5e8265d8a4 Add run_immediately to bluetooth listeners (#113659) 2024-03-16 19:03:14 -10:00
J. Nick Koston
1f9c8694a8 Save bluetooth passive data eagerly at the stop event (#113648) 2024-03-16 19:02:57 -10:00
J. Nick Koston
6df3e9d7c0 Run bond shutdown listener with run_immediately (#113657) 2024-03-16 17:21:03 -10:00
J. Nick Koston
309fcb5c30 Eagerly shutdown homekit_controller at the stop event (#113650) 2024-03-16 17:15:46 -10:00
J. Nick Koston
4d430520a0 Run yalexs_ble shutdown with run_immediately (#113653) 2024-03-16 17:06:31 -10:00
J. Nick Koston
ba7ec4ac16 Eagerly shutdown unifiprotect at the stop event (#113655) 2024-03-16 17:04:04 -10:00
Sid
69564b1a17 Add ruff rule PIE800 (#113619)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 16:31:30 -10:00
Christopher Bailey
43652a4ace Deprecate UniFi Protect HDR switch and package sensor (#113636)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 16:15:32 -10:00
Christopher Bailey
0a26829ffc Bump pyunifiprotect to 5.0.2 (#113651) 2024-03-16 16:15:18 -10:00
J. Nick Koston
885abe2fda Cleanup sonos shutdown process (#113654) 2024-03-16 16:10:57 -10:00
luar123
26c1b7e72e Bump snapcast to 2.3.6 (#113606) 2024-03-16 21:16:26 -04:00
J. Nick Koston
6a6f3d46a9 Create config entry async_on_unload tasks eagerly (#113626) 2024-03-16 14:43:49 -10:00
J. Nick Koston
91fa612301 Run entity component shutdown immediately (#113635) 2024-03-16 14:42:36 -10:00
J. Nick Koston
fa68c5633c Fix zeroconf shutting down too early (#113638) 2024-03-16 14:42:27 -10:00
J. Nick Koston
513da0f71e Run functions from ssdp listeners immediately (#113634) 2024-03-16 13:52:01 -10:00
Sid
cede6af496 Consolidate ruff PL and Q rules (#113555) 2024-03-16 13:45:03 -10:00
J. Nick Koston
2f39187628 Shutdown homekit eagerly at the stop event (#113639) 2024-03-16 13:39:48 -10:00
J. Nick Koston
6e3e2d1693 Shutdown config entry manager immediately at the stop event (#113632) 2024-03-16 13:39:31 -10:00
J. Nick Koston
796f4deac2 Run shelly coordinator shutdown immediately at the stop event (#113633)
There is no need to use a call_soon here as we want to shutdown
right away
2024-03-16 19:36:02 -04:00
J. Nick Koston
44cac3c90a Run apple_tv shutdown eagerly at the stop event (#113637)
The shutdown can be done without having to schedule a task on the event loop
2024-03-16 19:34:27 -04:00
Christopher Bailey
e703baba0a Add new fields from UniFi Protect v3 (#113631) 2024-03-16 13:17:23 -10:00
Jan-Philipp Benecke
73f11064d7 Use mock_platform for button entity component tests instead of hass.components (#113627) 2024-03-16 12:47:59 -10:00
Sid
11c570ea7b Remove ignore for ruff PLC0208 (#113537) 2024-03-16 12:45:55 -10:00
Sid
fe9cc6705c Add ruff rule PIE804 (#113620)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 12:45:18 -10:00
Erik Montnemery
d0352ed91d Fix missing context when running script from template entity (#113523)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-16 12:37:24 -10:00
Christopher Bailey
0725ff34b1 Bump pyunifiprotect to 5.0.1 (#113630) 2024-03-16 23:26:56 +01:00
Allen Porter
a9da9ee443 Bump ical to 7.0.3 to fix local-todo persisted with invalid DTSTART values (#113526) 2024-03-16 12:03:26 -10:00
Robert Svensson
ab9b64729a Bump axis to v56 (#113608) 2024-03-16 12:02:52 -10:00
Jan Bouwhuis
554aefed42 Generate HomeAssistantError message from English translations (#113305)
* Fetch exception message from translation cache

* Improve tests

* Return translation key without path, cleanup

* Fetch translations when string variant is requested

* Move import

* revert changes ConfigValidationError

* mypy

* Remove _str__ method instead

* Type _message for mqtt template exception classes

* Revert changes made to test_config.py

* Undo changes TemplateError

* Follow up comments and test coverage
2024-03-16 22:56:48 +01:00
Lex Li
2bc4a5067d snmp: Better sensor support to resolve previous issues (#113624)
Co-authored-by: Christian Kühnel <christian.kuehnel@gmail.com>
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-03-16 22:56:21 +01:00
J. Nick Koston
86ccb99f4c Fix race in removing modified devices from the entity registry (#113623) 2024-03-16 11:51:56 -10:00
Jan-Philipp Benecke
c58bba55bf Remove deprecated hass.components from legacy device tracker platform (#113612) 2024-03-16 11:19:29 -10:00
Sid
0b9c9aff62 Add ruff rules PIE790, PIE794, PIE807, PIE810 (#113617) 2024-03-16 11:04:58 -10:00
Antoni Czaplicki
cbe2a5883b Fix vulcan calendar offset (#113604)
* Fix offset on vulcan calendar

* Combine date, time and zone into one command in vulcan calendar
2024-03-16 13:59:24 -07:00
J. Nick Koston
7d58be1a6a Gather loading platforms in async_process_component_config (#113573) 2024-03-16 10:57:10 -10:00
J. Nick Koston
bb12d2e865 Avoid creating tasks in homeassistant_alerts when the debouncer will not fire (#113580) 2024-03-16 16:20:06 -04:00
J. Nick Koston
4174d88ad7 Add a guard to handle unhashable platforms in config (#113607)
Someone might set the platform to [fitbit] instead of fitbit

I have not seen anyone do this, but its good to guard against
it
2024-03-16 16:19:07 -04:00
Jan Bouwhuis
5dccd8204c Freeze time on profile test (#113618) 2024-03-16 21:16:18 +01:00
Jan-Philipp Benecke
4be9d3e7f6 Remove deprecated hass.components from mysensors (#113611) 2024-03-16 20:49:25 +01:00
Sid
6ee273a548 Clean up unneeded ruff noqa directives (#113616) 2024-03-16 09:48:37 -10:00
Robert Svensson
c57dcacade Axis use entity description in switch platform (#113595)
* Draft

* Make a generic register platform
2024-03-16 20:47:54 +01:00
Robert Svensson
00361f5293 Remove unnecessary method in UniFi entity loader (#113597) 2024-03-16 18:41:00 +01:00
Sid
ccd2e989c3 Enable ruff RUF005 and fix occurrences (#113589) 2024-03-16 07:37:20 -10:00
Massimo Savazzi
2a5c85a020 Add JVC Projector Sensors (#108949)
* Add JVC Projector Sensors - Power Status, Input

* Removed commented line, removed name in icons.json

* fixed icons.json file

* fixed tests

* Update homeassistant/components/jvc_projector/sensor.py

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

* Fixed as requested

* Fixed code as requested

* added fixes

* Fixed sensor creation

* fixed const

* fixed icons

* Added test for both sensors

* Added ha state stest

* fixed commented line and removed useless ones

* Changed time FAST - SLOW to be more responsive

* Rolled back to previous values 6/60

* Update sensor.py

removed off

* Update icons.json

* Removed the Input Sensor entity

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Update tests/components/jvc_projector/test_sensor.py

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

* Updated unique id of sensor

Co-authored-by: Steve Easley <steve.easley@gmail.com>

* Added translation and string for Power Status

* Update homeassistant/components/jvc_projector/strings.json

Co-authored-by: Steve Easley <steve.easley@gmail.com>

* Update homeassistant/components/jvc_projector/strings.json

Co-authored-by: Steve Easley <steve.easley@gmail.com>

* Update strings.json

* Update strings.json

added missing ,

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Steve Easley <steve.easley@gmail.com>
2024-03-16 16:52:51 +01:00
Maciej Bieniek
6191b25563 Catch TimeoutError in Brother config flow (#113593)
* Catch TimeoutError in Brother config flow

* Update tests

* Remove unnecessary parentheses

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-16 16:01:48 +01:00
J. Nick Koston
ef0c17749f Use async_create_task in recorder init tests (#113586) 2024-03-16 15:40:50 +01:00
Shay Levy
d17e397455 Ignore Shelly block update with cfgChanged None (#113587) 2024-03-16 16:18:41 +02:00
Shay Levy
a7fd1c278c Shelly config flow test wait for tasks to finish (#113588) 2024-03-16 16:18:13 +02:00
Christopher Fenner
1ffc514528 Add battery discharge sensor to ViCare integration (#113502)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-03-16 12:38:54 +01:00
Brett Adams
219cb7a788 Add additional sensors to Teslemetry (#112555)
* Add more sensors

* Fix coverage

* Dont do this rename yet

* Fix case

* Update snapshot

* Add icons

* Remove unused icons

* Update snapshot

* Remove last_value logic from TimeSensor

* Apply suggestions from code review

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

* Update constant case

* Remove useless test

* Add refresh test back

* Add assertion to post coordinator refresh

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-03-16 11:54:37 +01:00
Sid
470ef554d7 Fix freedompro tests for ruff B018 (#113583) 2024-03-16 00:03:25 -10:00
Sid
dd3101e161 Fix unifiprotect tests for ruff B018 (#113584) 2024-03-16 00:01:24 -10:00
J. Nick Koston
eb90c9a548 Reduce bottlenecks in bootstrap by ordering the setup of integrations (#113570) 2024-03-15 22:38:06 -10:00
J. Nick Koston
702488062b Move group config flow pre-import to its init (#113564) 2024-03-15 18:44:10 -10:00
Erik Montnemery
a5cde8a61e Improve typing of State.as_compressed_state (#113540) 2024-03-16 00:01:46 -04:00
Sid
27e844e3bf Add ruff B005, B015, B032 and fix occurrences (#113543)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-15 17:48:37 -10:00
J. Nick Koston
bb667abd51 Cleanup some circular imports in group (#113554) 2024-03-15 15:45:43 -10:00
Jan Bouwhuis
6e84dbde35 Fix lingering hassio issues test (#113569) 2024-03-15 15:10:24 -10:00
J. Nick Koston
b26928878f Remove group integration platforms that use the default states (#113562)
Remove group integration platforms that use the default

There is no need to register platforms that use the defaults
as the group code already uses STATE_ON/STATE_OFF when there
are no on/off states in the GroupIntegrationRegistry
2024-03-15 20:51:21 -04:00
J. Nick Koston
af06e03b71 Add profiler set_asyncio_debug service (#113447)
* Add profiler set_asyncio_debug service

Currently when a user has a problem with there event loop being blocked
the simplest way to enable asyncio debug is to add `debugpy:` to
`configuration.yaml`, however this approach slows the system which
makes the report less useful and harder to track down the problem.

We need a lightweight way to enable debug mode so users can report
problems with the event loop being blocked, and we have a better
chance of finding the source without side effects

* logging

* logging

* logging

* comments

* fix

* icon

* only if enabled

* coverage
2024-03-15 20:49:35 -04:00
On Freund
b644c03fa7 Send keep-alive frames in image proxy stream (#113542) 2024-03-15 14:00:33 -10:00
J. Nick Koston
51ece8b1ef Restore group config_flow pre-import (#113558) 2024-03-15 13:09:20 -10:00
Guido Schmitz
b96bceadfa Add translations for devolo Home Network exceptions (#105755)
* Add translations for devolo Home Network exceptions

* Add translations for ConfigEntryAuthFailed

* Update homeassistant/components/devolo_home_network/switch.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-15 23:53:16 +01:00
Joost Lekkerkerker
53a76fc792 Fix Airthings BLE illuminance sensor name (#113560) 2024-03-15 23:48:47 +01:00
Daniel Perna
2b04975332 Remove danielperna84 as codeowner (#109662)
* Remove danielperna84 as codeowner

* Update CODEOWNERS
2024-03-15 23:42:04 +01:00
J. Nick Koston
88f04bb3b4 Avoid calling entry.async_migrate in sonarr tests (#113557)
We should setup the the config entry instead of calling the
migrator directly

This fix was reverted out in #113553
2024-03-15 23:33:48 +01:00
J. Nick Koston
03bb791080 Add missing async_block_till_done to jellyfin test_invalid_auth test (#113556)
This fix was reverted out in #113553
2024-03-15 23:31:55 +01:00
G Johansson
e8de1a7031 Revert "Avoid pre-importing config_flows if the integration does not … (#113553)
Revert "Avoid pre-importing config_flows if the integration does not support …"

This reverts commit 9940f51b95.
2024-03-15 23:15:36 +01:00
J. Nick Koston
77a94ea515 Speed up loading sun (#113544)
* Speed up loading sun

* Speed up loading sun

* Speed up loading sun

* adjust

* tweak
2024-03-15 23:01:49 +01:00
Sid
d120993477 fix homekit test asserts (#113549) 2024-03-15 22:02:18 +01:00
Sid
b261f124d6 fix mqtt siren test asserts (#113550) 2024-03-15 21:59:30 +01:00
Erik Montnemery
397bde4652 Add missing continue in legacy recorder history function (#113535)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-15 21:20:39 +01:00
Robert Svensson
3ba29c361a Remove old update of group unique id in deCONZ (#112533) 2024-03-15 21:09:44 +02:00
Robert Svensson
9c2c7f1a45 Remove old update of number unique id in deCONZ (#113524) 2024-03-15 21:08:18 +02:00
Robert Svensson
e90388afd1 Remove old update of sensor unique id in deCONZ (#113527) 2024-03-15 21:06:09 +02:00
J. Nick Koston
b7f7bed46c Import and create pyudev for usb in the executor (#113478) 2024-03-15 09:05:18 -10:00
Chris Talkington
29f07260f9 Use single_config_entry in jellyfin manifest (#113202) 2024-03-15 13:56:13 -05:00
jan iversen
02d4bf007d Do not allow modbus config without entities (#113516) 2024-03-15 19:49:29 +01:00
Joost Lekkerkerker
422d4ea5b3 Use Volume Flow Rate device class in Opentherm gw (#113531) 2024-03-15 19:12:38 +01:00
Joost Lekkerkerker
b6a06f49b7 Use Volume Flow Rate device class in DROP connect (#113528) 2024-03-15 19:12:04 +01:00
Robert Svensson
5b5ff92a05 Support configuring Axis to use HTTPS (#113271) 2024-03-15 18:58:49 +01:00
Joost Lekkerkerker
be7c4295dc Fix MyUplink tests (#113534) 2024-03-15 18:26:28 +01:00
Thomas55555
66aa2c038a Freeze timezone in bmw_connected_drive tests (#113533)
Freeze timezone in bmw_connected_drive
2024-03-15 18:22:17 +01:00
Joost Lekkerkerker
066594b25b Use Volume Flow Rate device class in BTHome (#113530) 2024-03-15 18:19:14 +01:00
dontinelli
98132d1cd3 Add Fyta integration (#110816)
* Initial commit for fyta integration

* Update __init__.py

Delete BinarySensor for first PR

* Update __init__.py

Rewind wrongful deletion of comma

* Delete homeassistant/components/fyta/binary_sensor.py

Delete binary_sensor for first pr of integration

* Update manifest.json

Updated requirement to new version of fyta_cli 0.2.1, where bug in import of modules has been resolved.

* Update requirements_test_all.txt

adjust to updated manifest

* Update requirements_all.txt

adjust to updated manifest

* Update test_config_flow.py

* Update config_flow.py

update file to correct error with _entry attribute

* Fyta integration - update initial PR based on review in initial PR #110816 (#2)

* adjustments to pass test for config_flow

* backport of changes in intitial PR to dev

* update text_config_flow

* changes based on review in initial PR #110816

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/config_flow.py

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

* Update homeassistant/components/fyta/strings.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/fyta/strings.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/fyta/manifest.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Adjustments based on PR-commet of Feb 19 (#3)

* add test for config_flow.validate_input

* update based on pr review

* update based on pr review

* further refinings based on PR review

* Update tests/components/fyta/test_config_flow.py

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

* Update test_config_flow.py

Update tests based on PR comment

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/sensor.py

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

* add handling and test for duplicate entry

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/sensor.py

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

* Update homeassistant/components/fyta/entity.py

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

* Update test_config_flow.py

parametrize test for exceptions

* Update config_flow.py

Move _async_abort_entries_match, add arguments

* Update coordinator.py

* Update typing in coordinator.py

* Update coordinator.py

update typing

* Update coordinator.py

corrected typo

* Update coordinator.py

* Update entity.py

* Update sensor.py

* Update icons.json

* Update homeassistant/components/fyta/entity.py

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

* Update homeassistant/components/fyta/entity.py

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

* Update entity.py

* Update test_config_flow.py

* Update config_flow.py (change FlowResult to ConfigFlowResult)

* Update config_flow.py

* Update homeassistant/components/fyta/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/fyta/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/fyta/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update coordinator.py

* Update config_flow.py (typing FlowResult -> ConfigFlowResult)

* Update config_flow.py

* Aktualisieren von config_flow.py

* remove coordinator entities

* Update strings.json

remove plant_number

* Update icons.json

remove plant_number

* Update manifest.json

Update requirement to latest fyta_cli version

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update homeassistant/components/fyta/sensor.py

* Update homeassistant/components/fyta/sensor.py

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/coordinator.py

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

* Update homeassistant/components/fyta/entity.py

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

* Update homeassistant/components/fyta/strings.json

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

* Update homeassistant/components/fyta/strings.json

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

* Update tests/components/fyta/test_config_flow.py

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

* Update tests/components/fyta/test_config_flow.py

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

* move test-helpers into conftest.py, adjust import of coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-03-15 18:13:35 +01:00
soonsouth
cfc2f17f35 Remove repetitive words in comments and docstrings (#113529)
chore: remove repetitive words

Signed-off-by: soonsouth <cuibuwei@163.com>
2024-03-15 18:11:12 +01:00
Drew C
a73553581b Bump opower to 0.4.1 (#113509) 2024-03-15 18:10:58 +01:00
Mike Degatano
6ede1c543f Protect SupervisorIssues.update method (#113425) 2024-03-15 18:06:14 +01:00
Joost Lekkerkerker
38164c705e Add missing icon for Unifi protect service (#113508) 2024-03-15 16:40:48 +01:00
Joost Lekkerkerker
823481063e Add icon translations to Sonos (#112235) 2024-03-15 16:34:13 +01:00
cosimomeli
4107cd6ad8 Add Ring Intercom open door button (#113514)
* Add button

* Make Ruff happy

* Apply suggestions from code review

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

* Fix doc string

* Format

* Update tests/components/ring/test_button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-15 15:31:51 +01:00
jan iversen
a9fb34d9c2 Remove modbus create_issue from init (#113510)
Create_issue only in check_config.
2024-03-15 15:16:06 +01:00
Erwin Douna
1ff049cc66 Add diagnostics platform to Fastdotcom (#111525) 2024-03-15 14:42:07 +01:00
Joost Lekkerkerker
4b4258881b Remove Sonos migrations (#113506) 2024-03-15 14:40:40 +01:00
Åke Strandberg
eb1f37ea9b Filter out irrelevant entities on SMO20 devices in myuplink (#113493) 2024-03-15 14:06:10 +01:00
J. Nick Koston
c69ab425c5 Speed up ffmpeg setup (#113496)
* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* Speed up ffmpeg setup

Only check for old versions of ffmpeg if is_official_image
is False

* adjust

* adjust

* twea

* Update homeassistant/components/ffmpeg/__init__.py

* forgot about the mock in conftest for comps
2024-03-15 09:05:42 -04:00
jan iversen
1c938f6422 create issues for modbus config errors (#113431) 2024-03-15 13:44:29 +01:00
On Freund
4181c62ec0 Bump pyrisco to 0.5.10 (#113505) 2024-03-15 13:38:39 +01:00
Franck Nijhof
0e2775667d Add category registry (#110897)
* Add category registry

* Add entity registry support

* Update homeassistant/components/config/entity_registry.py

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

* Use ulid instead

* Add tests for adding same name in different scopes

* Handle keyerror on update

* Lookup tweak

* Omit categories from entity registry snapshots

* Use base registry

* Update snapshots

* Update snapshots

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-15 13:25:16 +01:00
Franck Nijhof
436c83e8a7 Add theme color support to labels (#113404) 2024-03-15 13:22:06 +01:00
cosimomeli
360f7dea75 Add Ring Intercom support (#109819)
* Add button entity

* Add support for Ring intercom ("other" device type)

* description

* format

* - Tests
- Fallback when intercom devices arent inside response

* Fix ring button

* Update library

* Fix button after merge

* Move names to strings.json

* Remove button entity_category

* Add wifi sensors to other

* Add last_ sensors to other

* Fix tests

* Add button test

* Add new sensors tests

* Revert "Add last_ sensors to other"

This reverts commit 5c03bba5a1.

* Update library

* Revert "Revert "Add last_ sensors to other""

This reverts commit 27631978d0.

* Fix tests

* Remove default list for other

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

* Copy mock to conftest

* Fix history test

* Change time skip

* Remove button

* Fix history test

---------

Co-authored-by: Martin Pham <tuyentq2009@gmail.com>
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2024-03-15 12:59:36 +01:00
Sebastian Noack
30d1f70468 Use on state icons by default in Balboa spa integration (#111911) 2024-03-15 12:52:21 +01:00
J. Nick Koston
9cc0006b92 Ensure TurboJPEG is imported in the executor (#113504)
The import was too late and it eneded up being imported
in the event loop
2024-03-15 12:23:53 +01:00
Shay Levy
e0b1531afa Remove OpenCV integration (#113455) 2024-03-15 12:23:30 +01:00
Matthias Alphart
7bcfa94b12 Use single_config_entry in KNX manifest (#112526) 2024-03-15 12:20:32 +01:00
dougiteixeira
13cd6eb00e Add icon translations to Moon (#111386) 2024-03-15 12:12:03 +01:00
Åke Strandberg
86607d2bbb Create more relevant names for myuplink DeviceInfo (#111502) 2024-03-15 12:11:13 +01:00
Robert Svensson
e41133e9f0 Remove old update unique id function from deCONZ binary sensor (#112536) 2024-03-15 12:05:45 +01:00
slyoldfox
ffe9b7801f Add missing mystrom sensor (#113225)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-15 12:05:10 +01:00
Thomas55555
309f554336 Address late review on adding an error sensor to Husqvarna Automower (#113242) 2024-03-15 12:04:33 +01:00
J. Nick Koston
45195d2ea9 Avoid multiple context switches to setup a sonos speaker (#113378) 2024-03-15 12:03:44 +01:00
Erik Montnemery
103b8b4dc5 Improve State docstring (#113501) 2024-03-15 12:01:11 +01:00
Diogo Gomes
3e3cf45a5d Bump croniter to 2.0.2 (#113494) 2024-03-15 12:00:08 +01:00
On Freund
99e29b75cc Revert setting communication delay in Risco init (#113497) 2024-03-15 11:42:53 +01:00
J. Nick Koston
c69495b64f Remove supports_encryption check from mobile_app (#113490)
helpers already ports nacl at top level so this check can never
be False

```
>>> import sys
>>> from nacl.secret import SecretBox
>>> assert nacl in sys.modules
>>>
```
2024-03-15 11:13:44 +01:00
J. Nick Koston
4df2398b9f Move loading of ha-av to the executor (#113485) 2024-03-15 11:02:10 +01:00
Robert Svensson
2b2b5a2b02 Bump axis to v55 (#113479) 2024-03-15 09:38:47 +01:00
Erik Montnemery
dd9fdac51e Remove unused tts fixture (#113480) 2024-03-14 22:25:10 -10:00
J. Nick Koston
bdede0e0da Start script runs eagerly (#113190) 2024-03-14 16:53:26 -10:00
Lex Li
92e73312ea Bump pysnmp-lextudio to version 6.0.11 (#113463) 2024-03-14 16:19:18 -10:00
J. Nick Koston
3528cc86d7 Fix delayed registry check to only using the short delay at running (#113471) 2024-03-14 15:11:09 -10:00
J. Nick Koston
052d7d1e19 Fix scene integration doing blocking I/O in the event loop to import platforms (#113391) 2024-03-14 14:56:57 -10:00
J. Nick Koston
09934d44c4 Reduce script overhead by avoiding creation of many tasks (#113183)
* Reduce script overhead by avoiding creation of many tasks

* no eager stop

* reduce

* make sure wait being cancelled is handled

* make sure wait being cancelled is handled

* make sure wait being cancelled is handled

* preen

* preen

* result already raises cancelled error, remove redundant code

* no need to raise it into the future

* will never set an exception

* Simplify long action script implementation

* comment

* preen

* dry

* dry

* preen

* dry

* preen

* no need to access protected

* no need to access protected

* dry

* name

* dry

* dry

* dry

* dry

* reduce name changes

* drop one more task

* stale comment

* stale comment
2024-03-14 20:28:27 -04:00
J. Nick Koston
e293afe46e Bump aiodhcpwatcher to 1.0.0 (#113469) 2024-03-14 14:16:19 -10:00
J. Nick Koston
4fb127e5af Avoid creating another ssl context in cert_expiry (#113467)
Creating an ssl context does blocking I/O as it has to
read the certs from disk
2024-03-14 19:58:11 -04:00
J. Nick Koston
5b80eb4c3d Reduce overhead to save the larger registries (#113462)
We save the device and entity registry to disk quite often, and
the cost of serializing them to the storage can block the event
loop for >100ms. Add a cache to reduce the change the loop is blocked
at an inopportune time at run time. The first write after startup
will still be a little slow but we do have to serialize the
bulk of it at least once as there is no way to avoid this

```
2024-03-14 11:28:19.765 WARNING (MainThread) [homeassistant.helpers.storage] Writing data with data_func: core.device_registry
2024-03-14 11:28:20.020 WARNING (MainThread) [homeassistant.helpers.storage] Writing data with data_func: core.entity_registry
2024-03-14 11:28:20.178 WARNING (MainThread) [asyncio] Executing <TimerHandle cancelled when=2319925.760294916 Store._async_schedule_callback_delayed_write() created at /Users/bdraco/home-assistant/homeassistant/helpers/storage.py:328> took 0.159 seconds
```
2024-03-14 19:54:43 -04:00
J. Nick Koston
28836be3eb Construct storage data in the executor to avoid blocking the event loop (#113465)
Construct storage data in the executor

Constructing storage data can be expensive for large files and can block the event
loop. While ideally we optimize the construction of the data, there are some places
we cannot make it any faster. To avoid blocking the loop, the construction of
the data is now done in the executor by running the data_func in the executor.

2024-03-14 11:28:20.178 WARNING (MainThread) [asyncio] Executing <TimerHandle cancelled when=2319925.760294916 Store._async_schedule_callback_delayed_write() created at /Users/bdraco/home-assistant/homeassistant/helpers/storage.py:328> took 0.159 seconds

There is some risk that the data_func is not thread-safe and needs to be run in
the event loop, but I could not find any cases in our existing code where it
would be a problem
2024-03-14 19:53:11 -04:00
Åke Strandberg
f95d649f44 Add icon translations to myuplink (#111466) 2024-03-15 00:47:10 +01:00
Pete Sage
7cdec9aeeb Bump aiooncue to 0.3.7 (#113451) 2024-03-15 01:42:13 +02:00
J. Nick Koston
5a62be571d Bump aiodhcpwatcher to 0.8.2 (#113466) 2024-03-14 13:09:58 -10:00
Joost Lekkerkerker
ba2d382eb6 Add service icons to Image processing (#113416)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 23:49:05 +01:00
Joost Lekkerkerker
cd52f0f243 Add service icons to Notify (#113417)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 23:48:53 +01:00
jan iversen
7cba34b2e6 Change modbus integration to use async library calls (#113450) 2024-03-14 23:19:52 +01:00
wilburCforce
28ef898775 Support lutron transition time and flash for lights (#109185)
* support transition time for lights

* bug fix and support for FLASH

* updated to flash() to match changes coming in pylutron

* bumped pylutron version in anticipation of next release

* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update requirements_test_all.txt

* nits and code improves
2024-03-14 23:07:16 +01:00
Franck Nijhof
221893c1d7 Add aliases support to floor registry WebSocket API (#113401) 2024-03-14 23:07:07 +01:00
Jan Bouwhuis
b1c636c886 Fix hassfest icons check for notify and image_processing (#113446) 2024-03-14 22:51:18 +01:00
Jan Bouwhuis
3ed7a7166d Revert "Remove unused test helper mock_area_registry" (#113453) 2024-03-14 22:11:44 +01:00
Matthias Lohr
566cbc71a5 Add aroma therapy select entity for tolo integration (#113442)
* add select entity to allow aroma therapy slot selection

* improved translation readability
2024-03-14 21:03:41 +01:00
Joost Lekkerkerker
3f2a51bcff Add service icons to Climate (#113409) 2024-03-14 20:45:21 +01:00
Christopher Bailey
1ada10299a Check for EA release channel for UniFi Protect (#113432)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-14 09:07:54 -10:00
J. Nick Koston
5512e8b789 Deprecate async_run_job and async_add_job (#113260) 2024-03-14 09:06:55 -10:00
J. Nick Koston
aaac879c83 Fix calling sync api in counter/ffmpeg/device_tracker tests (#113441) 2024-03-14 19:34:44 +01:00
Joost Lekkerkerker
2b3f0a9459 Add icon translations to ZHA (#112368) 2024-03-14 19:28:54 +01:00
Joost Lekkerkerker
5c59b4d846 Add service icons to Abode (#113411) 2024-03-14 19:26:01 +01:00
Joost Lekkerkerker
87767a58fc Fix alarm control panel icons (#113413) 2024-03-14 19:25:33 +01:00
Joost Lekkerkerker
e68c27ec12 Add service icons to Fan (#113415) 2024-03-14 19:25:22 +01:00
Joost Lekkerkerker
36123717be Allow entity platforms without entity_component in icon validation (#113422)
* Allow entity platforms without entity_component

* Rename variable

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-03-14 19:10:52 +01:00
Matthias Lohr
7359d66d32 add switch platform for tolo (#113440)
* upgrade tololib dependency to v1.0.0

* add switch to enable/disable aroma therapy

* aroma therapy and salt bath switch

* Update homeassistant/components/tolo/strings.json

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

* removed key from specific property list, it's required by default

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-14 19:10:29 +01:00
Franck Nijhof
2aadd643ed Add floors to service target (#110850) 2024-03-14 19:02:23 +01:00
Joost Lekkerkerker
20626947db Add icon translations to Unifi protect (#112332) 2024-03-14 18:43:09 +01:00
Christopher Bailey
2bf6170a6b Add UniFi Protect service to remove privacy zones (#111292) 2024-03-14 07:34:45 -10:00
Joost Lekkerkerker
02521c9da3 Add service icons to ADS (#113412) 2024-03-14 17:54:55 +01:00
Thomas55555
f1374503c3 Bump aioautomower to 2024.3.3 (#113430) 2024-03-14 17:51:24 +01:00
Joost Lekkerkerker
8a8546579c Add service icons to Scene (#113418) 2024-03-14 17:28:17 +01:00
Jeef
0867ace44a Bump weatherflow_cloud backing lib v0.2.13 (#113181)
* bump backing lib - and switch to rest models

* ci fix
2024-03-14 16:55:25 +01:00
Franck Nijhof
f7972ce9b2 2024.3.1 (#113249) 2024-03-14 16:53:07 +01:00
Joost Lekkerkerker
0316681615 Add service icons to Demo (#113414) 2024-03-14 16:49:17 +01:00
Joost Lekkerkerker
796d0381cc Add service icons to Utility meter (#113419)
* Add service icons to Utility meter

* Add service icons to Utility meter

* Update homeassistant/components/utility_meter/icons.json

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>

* Update homeassistant/components/utility_meter/icons.json

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>

---------

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2024-03-14 16:48:13 +01:00
Joost Lekkerkerker
70286b38ec Fix icon mistakes (#113420) 2024-03-14 14:49:20 +01:00
Joost Lekkerkerker
606ee3c379 Enable PERF ruff rules (#113408) 2024-03-14 14:10:02 +01:00
Erik Montnemery
a16ea3d7bd Deprecate the map integration (#113215)
* Deprecate the map integration

* Revert changes in DashboardsCollection._async_load_data

* Add option to allow single word in dashboard URL

* Update tests

* Translate title

* Add icon

* Improve test coverage
2024-03-14 14:04:41 +01:00
Joost Lekkerkerker
fef2d7ddd4 Add service icons to Persistent Notification (#113340) 2024-03-14 14:02:15 +01:00
Joost Lekkerkerker
020b75d5de Add service icons to Blackbird (#113280) 2024-03-14 14:02:01 +01:00
Joost Lekkerkerker
21a2871014 Add service icons to Amcrest (#113276) 2024-03-14 14:01:51 +01:00
Joost Lekkerkerker
1191032b08 Add service icons to REST (#113346) 2024-03-14 14:01:41 +01:00
Joost Lekkerkerker
774b2800bf Add service icons to Group (#113302) 2024-03-14 14:01:30 +01:00
Joost Lekkerkerker
d81053a695 Add service icons to History Stats (#113306) 2024-03-14 14:01:20 +01:00
Joost Lekkerkerker
467a6f3ed0 Add service icons to Bluetooth Tracker (#113282) 2024-03-14 14:01:13 +01:00
Joost Lekkerkerker
265ecc141d Add service icons to Bayesian (#113278) 2024-03-14 14:01:04 +01:00
Joost Lekkerkerker
d10a244eaa Add service icons to Backup (#113277) 2024-03-14 14:00:57 +01:00
Joost Lekkerkerker
20c2bac32e Add service icons to Modbus (#113332) 2024-03-14 14:00:50 +01:00
Joost Lekkerkerker
09be817f76 Add service icons to Channels (#113284)
* Add service icons to Channels

* Update homeassistant/components/channels/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:56:02 +01:00
Joost Lekkerkerker
645e780445 Add service icons to Advantage air (#113272) 2024-03-14 13:55:47 +01:00
Matthias Lohr
6a1913b372 Bump tololib to 1.1.0 (#113268)
* upgrade tololib dependency to v1.0.0

* use latest available patch version

* fixed tolo tests

* fixed test cases
2024-03-14 13:55:16 +01:00
Joost Lekkerkerker
1fd447f65b Add service icons to Agent DVR (#113273) 2024-03-14 13:54:45 +01:00
Joost Lekkerkerker
816d984cac Add service icons to DuckDNS (#113290)
* Add service icons to DuckDNS

* Update homeassistant/components/duckdns/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:53:35 +01:00
Joost Lekkerkerker
500dd9330a Add service icons to Conversation (#113286) 2024-03-14 13:53:14 +01:00
Joost Lekkerkerker
85473b80ca Add service icons to Input Datetime (#113314) 2024-03-14 13:52:59 +01:00
Joost Lekkerkerker
43d4f10582 Add service icons to Logger (#113325)
* Add service icons to Logger

* Update homeassistant/components/logger/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:52:45 +01:00
Joost Lekkerkerker
a3a1647256 Add service icons to Logbook (#113324) 2024-03-14 13:52:27 +01:00
Joost Lekkerkerker
c1b05ce93d Add service icons to Dominos (#113288) 2024-03-14 13:52:10 +01:00
Joost Lekkerkerker
40566c3b68 Add service icons to Downloader (#113289) 2024-03-14 13:51:59 +01:00
Joost Lekkerkerker
02a07a3d15 Add service icons to Ebusd (#113291) 2024-03-14 13:51:24 +01:00
Joost Lekkerkerker
064491b915 Add service icons to HDMI CEC (#113304)
* Add service icons to HDMI CEC

* Update homeassistant/components/hdmi_cec/icons.json

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-14 13:49:18 +01:00
Joost Lekkerkerker
141bdf33df Add service icons to Envisalink (#113292) 2024-03-14 13:48:58 +01:00
Joost Lekkerkerker
423a4dfc33 Add service icons to Foursquare (#113296) 2024-03-14 13:48:31 +01:00
Joost Lekkerkerker
ed91ccbfd4 Add service icons to Evohome (#113293) 2024-03-14 13:48:18 +01:00
Joost Lekkerkerker
5e04653431 Add service icons to Ffmpeg (#113294) 2024-03-14 13:47:11 +01:00
Joost Lekkerkerker
0eda6e86c5 Add service icons to Freebox (#113298) 2024-03-14 13:46:33 +01:00
Joost Lekkerkerker
dcd56e4ba7 Add service icons to Frontend (#113299) 2024-03-14 13:46:13 +01:00
Joost Lekkerkerker
8fa08c2fd8 Add service icons to Generic Thermostat (#113300) 2024-03-14 13:46:00 +01:00
Joost Lekkerkerker
4d98267cd9 Add service icons to Geniushub (#113301) 2024-03-14 13:45:03 +01:00
Joost Lekkerkerker
46ec25b2ef Add service icons to Habitica (#113303) 2024-03-14 13:44:52 +01:00
Joost Lekkerkerker
d88bebc255 Add service icons to Home Assistant (#113307) 2024-03-14 13:43:17 +01:00
Joost Lekkerkerker
3326fe6357 Add service icons to Homematic (#113308) 2024-03-14 13:40:24 +01:00
Joost Lekkerkerker
223e63b2d3 Add service icons to HTML5 (#113309) 2024-03-14 13:39:41 +01:00
Joost Lekkerkerker
95f269ef70 Add service icons to IHC (#113311) 2024-03-14 13:39:09 +01:00
Joost Lekkerkerker
41be0487c6 Add service icons to Input Number (#113315) 2024-03-14 13:38:56 +01:00
Joost Lekkerkerker
5573dbc5a7 Add service icons to Input button (#113313) 2024-03-14 13:38:47 +01:00
Joost Lekkerkerker
b6906d963b Add service icons to Input Select (#113316) 2024-03-14 13:36:30 +01:00
Joost Lekkerkerker
645a108e78 Add service icons to Input Text (#113317) 2024-03-14 13:36:03 +01:00
Joost Lekkerkerker
d79a8393de Add service icons to Intent Script (#113318) 2024-03-14 13:35:43 +01:00
Joost Lekkerkerker
be36626910 Add service icons to Iperf3 (#113319) 2024-03-14 13:35:14 +01:00
Joost Lekkerkerker
557e389159 Add service icons to Keba (#113320) 2024-03-14 13:34:42 +01:00
Joost Lekkerkerker
58f216fc89 Add service icons to Kef (#113321) 2024-03-14 13:33:53 +01:00
Joost Lekkerkerker
ca34fb3fbb Add service icons to Keyboard (#113322) 2024-03-14 13:33:01 +01:00
Joost Lekkerkerker
246ec0476f Add service icons to Local file (#113323) 2024-03-14 13:32:30 +01:00
Joost Lekkerkerker
c94fb8f660 Add service icons to Logi circle (#113326) 2024-03-14 13:29:22 +01:00
Joost Lekkerkerker
f9c1ed42a9 Add service icons to Lovelace (#113327) 2024-03-14 13:29:10 +01:00
Joost Lekkerkerker
03e6e2577a Add service icons to Matrix (#113328)
* Add service icons to Matrix

* Update homeassistant/components/matrix/icons.json
2024-03-14 13:27:38 +01:00
Joost Lekkerkerker
bb97063c48 Add service icons to Ness alarm (#113333) 2024-03-14 13:25:54 +01:00
Joost Lekkerkerker
75b4cd2733 Add service icons to Minio (#113331) 2024-03-14 13:25:45 +01:00
Joost Lekkerkerker
e303a6dae9 Add service icons to Microsoft Face (#113330) 2024-03-14 13:25:37 +01:00
Joost Lekkerkerker
6442d13a71 Add service icons to Media Extractor (#113329) 2024-03-14 13:25:27 +01:00
Joost Lekkerkerker
bac5a4d867 Add service icons to Netatmo (#113335) 2024-03-14 13:20:36 +01:00
Joost Lekkerkerker
d58ab85919 Add service icons to Nissan Leaf (#113336) 2024-03-14 13:20:28 +01:00
Joost Lekkerkerker
353b1cd08f Add service icons to nx584 (#113338) 2024-03-14 13:18:04 +01:00
Joost Lekkerkerker
2f16774f66 Add service icons to Pilight (#113341) 2024-03-14 13:16:58 +01:00
Joost Lekkerkerker
415402e7dc Add service icons to Python Scripts (#113342) 2024-03-14 13:16:12 +01:00
Joost Lekkerkerker
821a235c59 Add service icons to QVR Pro (#113343) 2024-03-14 13:15:25 +01:00
Joost Lekkerkerker
8c13b817ea Add service icons to Xiaomi Miio (#113364) 2024-03-14 13:15:11 +01:00
Joost Lekkerkerker
bfe6d0873a Add service icons to Remember the milk (#113345) 2024-03-14 13:14:48 +01:00
Joost Lekkerkerker
98c250b910 Add service icons to RFLink (#113348)
* Add service icons to RFLink

* Update homeassistant/components/rflink/icons.json
2024-03-14 13:14:15 +01:00
Joost Lekkerkerker
b8d232ab7f Add service icons to Route53 (#113349) 2024-03-14 13:12:51 +01:00
Joost Lekkerkerker
2a2f95ce8e Add service icons to Telegram (#113356) 2024-03-14 13:12:43 +01:00
Joost Lekkerkerker
ca1c247574 Add service icons to Toon (#113359) 2024-03-14 13:12:20 +01:00
Joost Lekkerkerker
13a2db0348 Add service icons to Telegram bot (#113357) 2024-03-14 13:12:03 +01:00
Joost Lekkerkerker
5f48083eca Add service icons to Wemo (#113363) 2024-03-14 13:11:55 +01:00
Joost Lekkerkerker
ffe6810769 Add service icons to Yamaha (#113365) 2024-03-14 13:05:43 +01:00
Franck Nijhof
064f96f8fa Add floor support to areas WebSocket API (#113402) 2024-03-14 12:55:31 +01:00
Joakim Sørensen
a6594f8860 Bump hass-nabucasa from 0.78.0 to 0.79.0 (#113405) 2024-03-14 12:54:43 +01:00
jan iversen
7696973932 Move modbus check_config to setup, to have access to hass (#112828) 2024-03-14 12:54:01 +01:00
Joost Lekkerkerker
77a67191de Add service icons to Ombi (#113339) 2024-03-14 11:42:40 +01:00
Joost Lekkerkerker
1c56c7b136 Add service icons to Snips (#113352) 2024-03-14 11:42:12 +01:00
Joost Lekkerkerker
374695bfa6 Add service icons to Recorder (#113344) 2024-03-14 11:41:43 +01:00
Joost Lekkerkerker
4f120ea223 Add service icons to Schedule (#113350) 2024-03-14 11:41:09 +01:00
Joost Lekkerkerker
eeaf8ddd69 Add service icons to SMTP (#113351) 2024-03-14 11:40:46 +01:00
Joost Lekkerkerker
11e69f6baa Add service icons to Timer (#113358) 2024-03-14 11:40:22 +01:00
Joost Lekkerkerker
4c3943e264 Add service icons to System Bridge (#113354) 2024-03-14 11:35:43 +01:00
Chris Talkington
05c0416644 Bump pyipp to 0.15.0 (#113204)
update pyipp to 0.15.0
2024-03-14 11:05:33 +01:00
Joost Lekkerkerker
246017b3fa Add service icons to Alert (#113274) 2024-03-14 11:03:13 +01:00
Joost Lekkerkerker
cd902c917c Add service icons to Universal (#113361) 2024-03-14 11:00:27 +01:00
Joost Lekkerkerker
73af5f5be1 Add service icons to Statistics (#113353) 2024-03-14 10:59:49 +01:00
Joost Lekkerkerker
ca916bcc98 Add service icons to System Log (#113355) 2024-03-14 10:59:28 +01:00
Joost Lekkerkerker
fc85b4f123 Add service icons to Wake on LAN (#113362) 2024-03-14 10:59:01 +01:00
Thomas55555
63e3da1aca Add loggers to Husqvarna Automower (#113381) 2024-03-14 10:58:24 +01:00
Mike Degatano
6ca837b4e1 Supervisor issues update retries on failure (#113373) 2024-03-14 10:57:27 +01:00
Mike Degatano
45ef5a3edf Apply suggestion failures fail supervisor repair (#113372) 2024-03-14 10:57:24 +01:00
Chris Talkington
297c7c11fc Add diagnostics for IPP (#113205) 2024-03-14 10:57:21 +01:00
J. Nick Koston
cda9bf7051 Fix failing google diagnostics test (#113095) 2024-03-14 10:57:17 +01:00
Jonny Bergdahl
eb04365590 Fix Twitch auth token refresh (#112833)
* Fix for expired token

* Add auth token refresh.

* Eliminate extra auth call

* Fixed mock client

---------

Co-authored-by: Jonny Bergdahl <bergdahl@users.noreply.github.com>
2024-03-14 10:57:13 +01:00
Mike Degatano
5a25349cf7 Supervisor issues update retries on failure (#113373) 2024-03-14 10:55:04 +01:00
Mike Degatano
6d903300be Apply suggestion failures fail supervisor repair (#113372) 2024-03-14 10:53:55 +01:00
J. Nick Koston
6832611550 Fix smartthings doing blocking I/O in the event loop to import platforms (#113382) 2024-03-14 10:47:18 +01:00
Joost Lekkerkerker
972efada75 Add service icons to Zoneminder (#113366) 2024-03-14 10:46:52 +01:00
J. Nick Koston
c466008fb4 Migrate sun to use single_config_entry (#113370) 2024-03-14 10:45:59 +01:00
J. Nick Koston
c122e32d20 Fix telegram_bot doing blocking I/O in the event loop to import platforms (#113383) 2024-03-14 10:45:11 +01:00
J. Nick Koston
4341b21a61 Migrate auth to use async_import_module to avoid blocking I/O in the event loop (#113387) 2024-03-14 10:44:36 +01:00
Steven B
4aec48d358 Update ring integration imports (#113397)
Update ring imports for patching where library is created
2024-03-14 10:44:17 +01:00
Erik Montnemery
9eea786411 Remove old migration from lovelace (#113388) 2024-03-14 10:43:55 +01:00
Joost Lekkerkerker
7ae852e5ed Enable ISC ruff rule (#113270) 2024-03-14 10:43:03 +01:00
Joost Lekkerkerker
05172d8e4d Improve loops and lists (#113269)
* Enable PERF

* Enable PERF rule

* Enable PERF rule

* Don't enable flag yet
2024-03-14 10:22:20 +01:00
Joost Lekkerkerker
8a98fb7cfd Add service icons to Filter (#113295) 2024-03-14 10:21:38 +01:00
tronikos
de726d0e6e Add virtual integration Sacramento Municipal Utility District (SMUD) (#113389)
smud
2024-03-14 09:55:37 +01:00
Joost Lekkerkerker
fd9cc3a53e Add service icons to Debug py (#113287) 2024-03-14 09:50:53 +01:00
dependabot[bot]
e9e5712c31 Bump docker/login-action from 3.0.0 to 3.1.0 (#113384)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 09:48:46 +01:00
tronikos
bc6917552f Bump gassist-text to 0.0.11 (#113386)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-13 22:47:09 -10:00
tronikos
438215f220 Bump opower to 0.4.0 (#113390) 2024-03-13 22:46:44 -10:00
Thomas55555
33c75bfd36 Add loggers to Husqvarna Automower (#113381) 2024-03-14 09:29:11 +01:00
Joost Lekkerkerker
34b1f848c1 Add service icons to Unifi (#113360) 2024-03-14 07:04:39 +01:00
Chris Talkington
fe99d80054 Add diagnostics for IPP (#113205) 2024-03-14 00:44:07 -05:00
J. Nick Koston
c1f5c7c4b7 Remove usage of async_add_job in tests (#113259) 2024-03-13 19:33:33 -10:00
J. Nick Koston
c3b5e819c5 Fix group loading too late resulting in incorrect state (#113262) 2024-03-13 19:18:15 -10:00
Joost Lekkerkerker
4ed3ea3b02 Add service icons to REST command (#113347) 2024-03-14 06:10:48 +01:00
J. Nick Koston
4f326df088 Remove async_add_job calls from qwikswitch (#113258) 2024-03-13 18:34:37 -10:00
J. Nick Koston
cfe14bca8f Add a helper to import modules from the event loop (#113169)
* Add a helper to import modules in the event loop

Replaces the one used for triggers with a more generic helper
that can be reused and uses a future to avoid importing concurrently

* Add a helper to import modules in the event loop

Replaces the one used for triggers with a more generic helper
that can be reused and uses a future to avoid importing concurrently

* coverage

* make sure we do not retry

* coverage
2024-03-14 00:26:33 -04:00
J. Nick Koston
4f113f256f Migrate script integration to create eager tasks (#113189)
Along with #113183 the script execution may be able to
synchronously without having to be scheduled on the event loop
2024-03-14 00:23:25 -04:00
J. Nick Koston
9d1c683a70 Remove async_add_job calls from configurator (#113256)
The plan is to deprecate `async_add_job` to reduce the number of job APIs we have to maintain.

See #113179 for additional history.

This one got the smallest change possible since its likely to go away as
well at some point
2024-03-14 00:22:40 -04:00
J. Nick Koston
7f37732e71 Migrate solax away from using async_add_job (#113257)
The plan is to deprecate `async_add_job` to reduce the number of job APIs we have to maintain.

See #113179 for additional history.

`async_add_job` was not being used as expected here
2024-03-14 00:22:15 -04:00
J. Nick Koston
9ef0a8cb95 Add default_config to the bootstrap pre-imports (#113263)
This does not make default_config a requirement, it only preloads
the python code for the integration so it does not have to be loaded
when the import executor is busy. While its a tiny init file, it always
ends up at the end of the line and delays startup
2024-03-14 00:15:19 -04:00
J. Nick Koston
870caf90c1 Bump ha-ffmpeg to 3.2.0 (#113297)
No longer needs to use the executor to run subprocesses

changelog: https://github.com/home-assistant-libs/ha-ffmpeg/compare/3.1.0...3.2.0
2024-03-14 00:14:13 -04:00
J. Nick Koston
9940f51b95 Avoid pre-importing config_flows if the integration does not support migration (#113369)
* Avoid pre-importing config_flows if the integration does support migration

Currently we pre-import the config flow module if it exists since
setting up the config entry required comparing the versions found
in the config_flow.py. We can avoid the pre-import if the integration
does not support async_migrate_entry which means we avoid loading
many config flows in memory at startup.

* cover

* fix missing block

* do not call directly

* its too fast now, the test gets more along

* Update homeassistant/loader.py
2024-03-14 00:13:40 -04:00
Marc Mueller
d1d28dbfb8 Fix uv cache dir env [ci] (#113312) 2024-03-14 05:01:57 +01:00
J. Nick Koston
6338c8d86e Bump aiodiscover to 2.0.0 (#113337) 2024-03-13 17:24:33 -10:00
J. Nick Koston
3d1a65a1c3 Bump bluetooth-auto-recovery to 1.4.0 (#113368) 2024-03-13 17:13:22 -10:00
J. Nick Koston
9e645e1b00 Bump aiodns to 3.1.1 (#113371) 2024-03-13 16:46:40 -10:00
J. Nick Koston
e0828f1efc Ensure apple_tv setup retries later on timeout (#113367) 2024-03-13 15:12:13 -10:00
Joost Lekkerkerker
1abb448106 Add service icons to Command line (#113285) 2024-03-13 14:07:52 -10:00
Joost Lekkerkerker
bf02befe4a Add service icons to Browser (#113283) 2024-03-13 18:06:33 -04:00
Joost Lekkerkerker
daaadd16e1 Add service icons to Bluesound (#113281) 2024-03-13 18:06:00 -04:00
Robert Svensson
932e073fee Split out deCONZ config model (#112851)
* Add separate deCONZ config class

* Use config in get_deconz_api
2024-03-13 22:49:49 +01:00
Joost Lekkerkerker
77917506bb Improve lists in integrations [R-S] (#113233)
* Improve lists in integrations [R-S]

* Fix

* Fix
2024-03-13 21:55:00 +01:00
Joost Lekkerkerker
e6a692f354 Improve lists in integrations [N-O] (#113231) 2024-03-13 21:51:38 +01:00
Joost Lekkerkerker
595d07f1c6 Improve lists in integrations [L-M] (#113227)
* Improve lists in integrations [L-M]

* Update homeassistant/components/mailbox/__init__.py

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Fix

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-13 21:28:21 +01:00
Joost Lekkerkerker
4547131bbc Improve lists in integrations [X-Z] (#113253) 2024-03-13 20:32:12 +01:00
Jonny Bergdahl
64b42a3651 Fix Twitch auth token refresh (#112833)
* Fix for expired token

* Add auth token refresh.

* Eliminate extra auth call

* Fixed mock client

---------

Co-authored-by: Jonny Bergdahl <bergdahl@users.noreply.github.com>
2024-03-13 20:16:00 +01:00
Joost Lekkerkerker
a136638719 Rework Melissa tests (#113241) 2024-03-13 19:54:52 +01:00
Jan-Philipp Benecke
3e85b2ed12 Use async_update_reload_and_abort helper in tailwind (#110885) 2024-03-13 19:46:38 +01:00
Joost Lekkerkerker
49fc59548a Improve lists in integrations [V-W] (#113252) 2024-03-13 19:38:04 +01:00
Franck Nijhof
b88cdd78bc Hotfix import error in ZHA for 2024.3.1 patch release (#113250) 2024-03-13 19:35:43 +01:00
J. Nick Koston
41215aa954 Remove remaining async_add_job calls in core (#113217) 2024-03-13 19:29:21 +01:00
Franck Nijhof
525b20ca8e Bump version to 2024.3.1 2024-03-13 19:15:13 +01:00
Maciej Bieniek
5769ba023c Bump brother library to version 4.0.2 (#113235)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 19:14:09 +01:00
Chris Talkington
f7da6b5e81 Bump rokuecp to 0.19.2 (#113198) 2024-03-13 19:14:05 +01:00
Ståle Storø Hauknes
6fdfc554a6 Bump airthings_ble to 0.7.1 (#113172)
Co-authored-by: Ståle Storø Hauknes <LaStrada@users.noreply.github.com>
2024-03-13 19:14:01 +01:00
Michael Hansen
962e5ec92a Bump intents to 2023.3.12 (#113160)
Bump intents
2024-03-13 19:13:57 +01:00
Stefan Agner
095d0d0779 Add message from Bad Request errors to HassioAPIError (#113144)
Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2024-03-13 19:13:50 +01:00
Josef Zweck
d010df7116 bump pytedee_async to 0.2.16 (#113135) 2024-03-13 19:13:07 +01:00
J. Nick Koston
a63bf74886 Bump aiodhcpwatcher to 0.8.1 (#113096) 2024-03-13 19:12:19 +01:00
Robert Svensson
cac22154a8 Bump axis to v54 (#113091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-13 19:12:15 +01:00
Marcel van der Veldt
0b2322c466 Fix colormode attribute on grouped Hue light (#113071) 2024-03-13 19:12:12 +01:00
Lukas de Boer
66cd6c0d23 Bump rova to 0.4.1 (#113066) 2024-03-13 19:12:08 +01:00
Marcel van der Veldt
a2e9ecfcde Fix for controlling Hue switch entities (#113064) 2024-03-13 19:12:05 +01:00
Alistair Francis
8ac5da95f8 components/gardena_bluetooth: Improve avaliability reliability (#113056)
* components/gardena_bluetooth: Improve avaliability reliability

The available() function incorrectly returns false even though the device
is accessible.

The last_update_success property should correctly indicate if the device
isn't contactable, so we don't need to call async_address_present().
This is confirmed by seeing that no other users are calling
async_address_present() in the available() function.

This commit removes the call to async_address_present() to help fix the
sensor being unavailable when using a ESPHome BLE proxy.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

---------

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Co-authored-by: Joakim Plate <elupus@ecce.se>
2024-03-13 19:12:01 +01:00
Folke Lemaitre
911b39666d Fix hvac_mode for viessmann devices with heatingCooling mode (#113054) 2024-03-13 19:11:56 +01:00
Scott K Logan
2dbc63809d Fix some handle leaks in rainforest_raven (#113035)
There were leaks when
* The component was shutdown
* There was a timeout during the initial device opening

Additionally, the device was not closed/reopened when there was a
timeout reading regular data.
2024-03-13 19:10:59 +01:00
Allen Porter
a448c904d3 Bump ical to 7.0.1 and always use home assistant timezone for local todo dtstart (#113034) 2024-03-13 19:09:15 +01:00
Maciej Bieniek
7b5f879305 Fix availability for GIOS index sensors (#113021)
* Fix availability for index sensors

* Improve test_availability()

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 19:08:24 +01:00
Robert Svensson
76cf25228f Bump axis to v53 (#113019) 2024-03-13 19:07:18 +01:00
Ernst Klamer
bbe88c2a5e Bump bthome-ble to 3.8.0 (#113008)
Bump bthome-ble
2024-03-13 19:07:14 +01:00
David Knowles
def4f3cb09 Add missing translation placeholder in Hydrawise (#113007)
Add missing translation placeholder
2024-03-13 19:07:11 +01:00
星野SKY
0d262ea9d4 Bump boschshcpy to 0.2.82 (#112890) 2024-03-13 19:07:08 +01:00
J. Nick Koston
fc2ca1646a Fix MJPEG fallback when still image URL is missing with basic auth (#112861)
* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877
2024-03-13 19:07:04 +01:00
Jan Bouwhuis
2d7de216a7 Fix google_asssistant sensor state reporting (#112838)
* Fix post google_assistant sensor values as float not string

* Fix aqi reporting and improve tests

* Fix _air_quality_description_for_aqi and  test
2024-03-13 19:07:01 +01:00
mrchi
8f2f9b8184 Bump openwrt-luci-rpc version to 1.1.17 (#112796) 2024-03-13 19:06:58 +01:00
Lex Li
93a01938a4 Upgrade pysnmp-lextudio to version 6.0.9 (#112795) 2024-03-13 19:06:55 +01:00
Shay Levy
70389521bf Bump bthome-ble to 3.7.0 (#112783) 2024-03-13 19:06:52 +01:00
Arie Catsman
3f22ad4eac Bump pyenphase to 1.19.2 (#112747) 2024-03-13 19:06:48 +01:00
Allen Porter
d99b9f7a70 Fix local calendar handling of empty recurrence ids (#112745)
* Fix handling of empty recurrence ids

* Revert logging changes
2024-03-13 19:06:45 +01:00
J. Nick Koston
5a125bf379 Guard against db corruption when renaming entities (#112718) 2024-03-13 19:06:41 +01:00
Joost Lekkerkerker
b34302e51b Add icon translations to Roku (#112214)
* Add icon translations to Roku

* Add icon translations to Roku

* Fix

* Fix
2024-03-13 19:06:16 +01:00
jan iversen
f7b64244b8 Allow duplicate names in different modbus entities (#112701)
Allow duplicate names in different entities.
2024-03-13 19:05:36 +01:00
Maciej Bieniek
c2543289b7 Downgrade pysnmp-lextudio to version 5.0.34 (#112696)
Downgrade pysnmp-lextudio to version 5.0.34

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 19:03:51 +01:00
Alin Balutoiu
9e977f2c70 Fix tado climate service (#112686) 2024-03-13 19:03:47 +01:00
Aaron Bach
e95ce2d390 Make sure Notion saves new refresh token upon startup (#112676)
* Make sure Notion saves new refresh token upon startup

* Code review

* Typing

* Smoother syntax

* Fix tests

* Fix tests for real
2024-03-13 19:03:42 +01:00
Aaron Bach
503fbfc038 Bump aionotion to 2024.03.0 (#112675) 2024-03-13 19:03:39 +01:00
Jeef
23fee438a9 Bump weatherflow4py to 0.1.17 (#112661) 2024-03-13 19:03:36 +01:00
Mike Woudenberg
1f9e369b73 Update Loqed helper for more logging (#112646)
Updates Loqed helper for more logging
2024-03-13 19:03:33 +01:00
Robert Svensson
403013b7bd Bump axis to v52 (#112632)
* Bump axis to v51

* Bump to v52
2024-03-13 19:03:30 +01:00
jan iversen
e348c7b043 Bump pymodbus to v3.6.5 (#112629) 2024-03-13 19:03:25 +01:00
Thomas55555
4db36d5ea9 Bump aioautomower to 2024.3.0 (#112627)
Fix error in Husqvarna automower in Zones dataclass
2024-03-13 19:02:32 +01:00
Erik Montnemery
aebbee681c Make hass-nabucasa a core requirement (#112623) 2024-03-13 18:50:48 +01:00
Bram Kragten
2985ab3922 Update frontend to 20240307.0 (#112620) 2024-03-13 18:47:04 +01:00
jan iversen
aa374944a1 modbus scan_interval: 0 is correct configuration (#112619) 2024-03-13 18:46:59 +01:00
jan iversen
84d14cad7f Issue warning modbus configuration when modbus configuration is empty (#112618) 2024-03-13 18:45:53 +01:00
Josef Zweck
b9a14d5eb5 Include pytedee_async logger in tedee integration (#112590)
add pytedee logger
2024-03-13 18:42:02 +01:00
Mr. Bubbles
4514f08a42 Fix incorrect filtering of unsupported locales in bring-api (#112589) 2024-03-13 18:40:54 +01:00
Erik Montnemery
2689f78925 Restore the juicenet integration (#112578) 2024-03-13 18:39:46 +01:00
Jeef
85b63c16e9 Bump weatherflow4py to 0.1.14 (#112554)
adding missing rain states
2024-03-13 18:35:59 +01:00
Jeef
4b387b5d77 Weatherflow_cloud backing lib bump (#112262)
Backing lib bump
2024-03-13 18:35:53 +01:00
Michael Hansen
fba6e5f065 Bump intents to 2024.3.6 (#112515) 2024-03-13 18:33:28 +01:00
puddly
095aab5f9d Disable updating ZHA coordinator path from discovery info (#112415)
* Never update the device path from config flows

* Bring coverage up to 100%

* Update tests/components/zha/test_config_flow.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-13 18:33:25 +01:00
Henning Claßen
c60f203aab Update the numato-gpio dependency of the numato integration to v0.12.0 (#112272)
* Update the numato-gpio dependency of the numato integration to v0.12.0

* Augment numato integration manifest with integration_type

Fulfills a requirement in the PR checklist.
2024-03-13 18:33:22 +01:00
Steven Looman
57c8d47ff3 Improve discovering upnp/igd device by always using the SSDP-discovery for the Unique Device Name (#111487)
* Always use the UDN found in the SSDP discovery, instead of the device description

* Ensure existing DeviceEntries are still matched
2024-03-13 18:33:19 +01:00
On Freund
e087ea5345 Use friendly name for camera media source (#110882) 2024-03-13 18:33:15 +01:00
FieldofClay
3c4bdebcda Ignore AussieBroadband services that don't support usage information (#110253) 2024-03-13 18:33:12 +01:00
mattmccormack
6f6f37ca24 Add auto fan mode icon (#110185) 2024-03-13 18:33:09 +01:00
Jan Stienstra
649dd433d5 Fix optional Jellyfin RunTimeTicks (#108254) 2024-03-13 18:33:00 +01:00
Em
7c4747bb02 Parameterize some tests in generic_thermostat (#105643)
* test(generic_thermostat): parameterize some tests

* refactor: improvements following review
2024-03-13 18:23:52 +01:00
Joost Lekkerkerker
96cebdf096 Improve lists in integrations [T-U] (#113243) 2024-03-13 17:54:46 +01:00
FieldofClay
cdba14acd4 Ignore AussieBroadband services that don't support usage information (#110253) 2024-03-13 17:51:40 +01:00
Maciej Bieniek
b47fb68214 Bump brother library to version 4.0.2 (#113235)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 17:50:29 +01:00
Maciej Bieniek
3d9a9c3847 Use single_config_entry in Accuweather manifest (#111548)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-13 17:38:37 +01:00
J. Nick Koston
8bc3286343 Run coordinator shutdown eagerly (#113174) 2024-03-13 17:33:50 +01:00
Joost Lekkerkerker
9f19e7339d Improve lists in integrations [P-Q] (#113236) 2024-03-13 17:30:30 +01:00
Aarni Koskela
dc7eaee917 CI: Move pytest-github-actions-annotate-failures to test deps, upgrade (#104604)
Move pytest-github-actions-annotate-failures to test deps, upgrade

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-13 17:26:19 +01:00
Joost Lekkerkerker
761933acfe Improve lists in integrations [G-H] (#113168) 2024-03-13 17:25:27 +01:00
Jan-Philipp Benecke
d4ae4a9cd0 Deprecate homeassistant.components.is_on function (#111891) 2024-03-13 17:21:00 +01:00
Joost Lekkerkerker
7e0aac3feb Improve lists in integrations [I-K] (#113221) 2024-03-13 16:56:33 +01:00
Chris Talkington
dbb07c98e2 Bump pyipp to 0.15.0 (#113204)
update pyipp to 0.15.0
2024-03-13 17:22:07 +02:00
Aidan Timson
081a38a21c Add processes services to System Bridge (#103564)
* Add processes services to System Bridge

* Update import and fixes from model updates

* Change log level from info to debug for process retrieval

* Add exception handling for process not found

* Consistency

* Change HomeAssistantError to ServiceValidationError

* Update homeassistant/components/system_bridge/__init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-13 14:56:20 +01:00
J. Nick Koston
0ccd813a99 Remove HassJob wrapping from the DataUpdateCoordinator (#113192) 2024-03-13 14:46:45 +01:00
J. Nick Koston
f3984a9d3e Constrain pycountry to >=23.12.11 (#112849) 2024-03-13 13:53:52 +01:00
Joost Lekkerkerker
abc5d6a1b4 Update dsmr reader codeowner (#108152) 2024-03-13 12:17:19 +01:00
Diogo Gomes
669dd36daf Add diagnostics platform to IPMA (#105697) 2024-03-13 12:07:28 +01:00
J. Nick Koston
6666f6a8a5 Simplify clearing _attr cached_property in entities (#113136) 2024-03-13 12:04:27 +01:00
J. Nick Koston
44538ed3c3 Ensure apple_tv connect loop is cancelled on shutdown (#113191) 2024-03-13 12:02:56 +01:00
J. Nick Koston
a65908becc Migrate harmony to use async_run_hass_job (#113178) 2024-03-13 12:02:07 +01:00
J. Nick Koston
fb163278a4 Simplify entity _attr cached_property getter implementation (#113195) 2024-03-13 11:59:36 +01:00
J. Nick Koston
bbef3f7f68 Only extract traceback once in system_log (#113201) 2024-03-13 11:58:34 +01:00
J. Nick Koston
546e5f607f Migrate torque to use async_add_hass_job (#113218) 2024-03-13 11:57:11 +01:00
Stefan Agner
99eaa07f6f Add message from Bad Request errors to HassioAPIError (#113144)
Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2024-03-13 11:29:39 +01:00
dependabot[bot]
6ecafbcc2c Bump actions/checkout from 4.1.1 to 4.1.2 (#113208)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 11:26:16 +01:00
J. Nick Koston
d6f1405874 Migrate one time listeners to use async_run_hass_job (#113179) 2024-03-13 11:06:30 +01:00
Jan Bouwhuis
488dae43d4 Improve lists for MQTT integration (#113184)
* Improve lists for MQTT integration

* Extra diagnostics tests

* Revert changes where the original version was probably faster

* Revert change to gather and await in series
2024-03-13 11:04:59 +01:00
Marc Mueller
b1346f3ccd Update pytest artifact actions to v4 (#110906) 2024-03-13 11:02:46 +01:00
Chris Talkington
2005e787bd Bump rokuecp to 0.19.2 (#113198) 2024-03-13 10:40:39 +01:00
dependabot[bot]
29772926ec Bump Wandalen/wretry.action from 1.4.9 to 1.4.10 (#113206)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 10:36:53 +01:00
dependabot[bot]
31a0b539bd Bump github/codeql-action from 3.24.6 to 3.24.7 (#113207)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-13 10:36:17 +01:00
J. Nick Koston
ca9dea79a4 Bump radios to 0.3.1 (#112850) 2024-03-13 10:29:50 +01:00
Jesse Hills
3d7d3d263d ESPHome: Add Date Entity support (#112475)
* ESPHome: Add Date Entity support

* Formatting

* Add missing state test
2024-03-13 08:02:52 +01:00
jjlawren
e5ba4dbde9 Properly mark Plex update sensor when current (#113197) 2024-03-12 18:06:33 -10:00
Jesse Hills
a2a8a8f119 ESPHome: Catch and re-raise client library errors as HomeAssistantErrors (#113026) 2024-03-12 18:06:25 -10:00
Ståle Storø Hauknes
d2bd68ba30 Bump airthings_ble to 0.7.1 (#113172)
Co-authored-by: Ståle Storø Hauknes <LaStrada@users.noreply.github.com>
2024-03-12 15:48:36 -10:00
Ståle Storø Hauknes
45fb5bcb42 Fix radon precision for Airthings BLE (#113185) 2024-03-12 15:45:18 -10:00
J. Nick Koston
e347096ef5 Add a task name to the config entry retry tasks (#113188) 2024-03-12 14:19:22 -10:00
TheJulianJES
9ec0e097ef Remove ZHA IasZone sensor migration (#111893) 2024-03-12 18:18:20 -04:00
J. Nick Koston
1cceaaf193 Small improvement to test run time (#113175) 2024-03-12 23:01:39 +01:00
mattmccormack
5ab7cb6ddd Add auto fan mode icon (#110185) 2024-03-12 21:55:26 +01:00
Aidan Timson
3da07bd160 Fix System Bridge media source data URL (#112612) 2024-03-12 21:54:03 +01:00
Joost Lekkerkerker
688395a3e3 Add icon translations to Bond (#111349) 2024-03-12 21:52:06 +01:00
Aaron Bach
20647af5ae Move Notion coordinator to its own module (#112756)
Co-authored-by: Cretezy <Cretezy@users.noreply.github.com>
2024-03-12 21:51:13 +01:00
Sid
df03e704f8 Add "language" to strings.json (#112869) 2024-03-12 21:49:59 +01:00
J. Nick Koston
4c82196fc8 Avoid some event loop overhead for ESPHome listeners (#113173) 2024-03-12 21:49:31 +01:00
On Freund
b9837a561b Use friendly name for camera media source (#110882) 2024-03-12 21:20:14 +01:00
Pete Sage
46ce438b6d Sonos reduce test time (#111688) 2024-03-12 21:14:27 +01:00
Jeef
848012871f Bump weatherflow4py to 0.1.17 (#112661) 2024-03-12 21:13:30 +01:00
mrchi
182a1fe3a3 Bump openwrt-luci-rpc version to 1.1.17 (#112796) 2024-03-12 21:12:24 +01:00
Brett Adams
1dc3582778 Add icons to Teslemetry (#112546) 2024-03-12 21:06:09 +01:00
Joost Lekkerkerker
78ea9bf681 Use enum device class in Dexcom (#112423)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-12 21:02:37 +01:00
Robert Svensson
c761b825ec Fix Axis unique ID (#112132) 2024-03-12 21:01:20 +01:00
Erik Montnemery
2cdf6b9937 Add binary_sensor to homeworks (#112418)
* Add binary_sensor to homeworks

* Update tests
2024-03-12 19:25:27 +01:00
G Johansson
b670066c00 Add options update listener for Speedtest.Net (#112108) 2024-03-12 18:54:46 +01:00
Joost Lekkerkerker
f9b2c35418 Add icon translations to Lametric (#111854) 2024-03-12 18:52:58 +01:00
Thomas55555
21a021944f Bump aioautomower to 2024.3.2 (#113162) 2024-03-12 18:50:57 +01:00
J. Nick Koston
5ae207001f Avoid multiple executor jobs to add wemo devices (#112484) 2024-03-12 18:49:17 +01:00
J. Nick Koston
0f414d8ac5 Ensure HKC debounced availability poll does not block startup (#113130) 2024-03-12 07:43:59 -10:00
J. Nick Koston
c948392ebc Make Bluetooth active coordinator debouncers run tasks in the background (#113129) 2024-03-12 07:43:43 -10:00
J. Nick Koston
4c2a54746d Make august activity update a background task (#112652) 2024-03-12 07:43:27 -10:00
Joost Lekkerkerker
643e6096da Improve lists in integrations [E-F] (#113075) 2024-03-12 18:42:43 +01:00
Joost Lekkerkerker
d33fdd3289 Clean up Abode imports (#113138) 2024-03-12 18:38:57 +01:00
Michael Hansen
18a7f004db Bump intents to 2023.3.12 (#113160)
Bump intents
2024-03-12 12:45:14 -04:00
Scott K Logan
eb81599400 Fix some handle leaks in rainforest_raven (#113035)
There were leaks when
* The component was shutdown
* There was a timeout during the initial device opening

Additionally, the device was not closed/reopened when there was a
timeout reading regular data.
2024-03-12 12:43:25 -04:00
Maciej Bieniek
f01095fb66 Fix availability for GIOS index sensors (#113021)
* Fix availability for index sensors

* Improve test_availability()

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-12 12:41:16 -04:00
Steven Looman
cd4e8707ea Improve discovering upnp/igd device by always using the SSDP-discovery for the Unique Device Name (#111487)
* Always use the UDN found in the SSDP discovery, instead of the device description

* Ensure existing DeviceEntries are still matched
2024-03-12 12:38:09 -04:00
Jan-Philipp Benecke
3b1ab6436d Remove deprecated hass.components usage in service tests (#111883) 2024-03-12 17:27:44 +01:00
Joost Lekkerkerker
70f3da93d4 Remove entity description mixin in Screenlogic (#112935)
* Remove entity description mixin in Screenlogic

* Fix
2024-03-12 16:10:04 +01:00
Steven B
5e530fc42e Add motion detection enable/disable to ring camera platform (#108789)
* Add motion detection enable/disable to ring camera platform

* Write ha state directly

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

* Parametrize on off state tests

* Add tests for errors on setting motion detection

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-12 16:05:14 +01:00
Jan-Philipp Benecke
42574fe498 Remove deprecated hass.components usage in device_sun_light_trigger (#111881) 2024-03-12 14:04:42 +01:00
Joost Lekkerkerker
a8d1d90484 Bump yt-dlp to 2024.03.10 (#109763) 2024-03-12 13:57:19 +01:00
Michael Hansen
556855f54e Add device_id to sentence trigger and external conversation APIs (#113094)
* Add device_id to sentence trigger and external conversation APIs

* Remove device_id from external API

* Update tests/components/conversation/snapshots/test_init.ambr

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-12 08:50:06 -04:00
J. Nick Koston
120525e94f Add the ability to create Debouncer tasks as background tasks (#113128)
* Add the ability to Debouncer tasks in the background

This is a more general solution as a followup to
https://github.com/home-assistant/core/pull/112652#discussion_r1517159607

* Add the ability to Debouncer tasks in the background

This is a more general solution as a followup to
https://github.com/home-assistant/core/pull/112652#discussion_r1517159607

* fix
2024-03-12 08:41:12 -04:00
J. Nick Koston
b3dedb3efb Convert sets to list before passing to the JSON serializer in the registries (#113133)
There were a few places we were missing the set to list
conversions in the registries. We do this before its
cached to avoid the JSON serializer having to fallback
to the default method every time since its expensive
to switch back from the native code into python context
for every set.
2024-03-12 08:38:21 -04:00
dependabot[bot]
46ab4bbf32 Bump Wandalen/wretry.action from 1.4.8 to 1.4.9 (#113132)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-12 11:52:16 +01:00
Jevgeni Kiski
50ac3c8cfd Update vallox_websocket_api to 5.1.1 (#113139)
Bump vallox-websocket-api==5.1.1
2024-03-12 11:32:42 +01:00
Josef Zweck
d929efbae0 Include pytedee_async logger in tedee integration (#112590)
add pytedee logger
2024-03-12 09:37:48 +01:00
Jan Bouwhuis
e28d4f0eae Validate state_class with last_reset_value_template for mqtt sensors (#113099) 2024-03-12 09:08:03 +01:00
Jan Bouwhuis
012291a1f3 Fix google_asssistant sensor state reporting (#112838)
* Fix post google_assistant sensor values as float not string

* Fix aqi reporting and improve tests

* Fix _air_quality_description_for_aqi and  test
2024-03-12 09:07:20 +01:00
Josef Zweck
433d3a5106 bump pytedee_async to 0.2.16 (#113135) 2024-03-12 08:55:21 +01:00
Erik Montnemery
d039bd654b Add reconfigure flow to homeworks (#112419)
* Add reconfigure flow to homeworks

* Fix tests

* Use async_update_reload_and_abort helper

* Try to fix test shutdown
2024-03-12 08:47:44 +01:00
slyoldfox
6c35ae06a0 Add scheduled mode to renault charge mode (#105967)
Add scheduled to renault charge mode - fixes #105751
2024-03-12 08:34:21 +01:00
Thomas55555
4f4391bd09 Add missing device info to Husqvarna Automower (#113090)
* Add missing DeviceInfo to Husqvarna Automower

* add a test

* Adress review

* Update homeassistant/components/husqvarna_automower/entity.py

* fix url

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-12 08:25:35 +01:00
definitio
6f19744469 Add A6 family code for DS2438 1-Wire sensor (#112844)
* Add A6 family code for DS2438

* Add tests

* Fix switch

* Apply code review suggestion

* Add comments
2024-03-12 08:06:02 +01:00
J. Nick Koston
734a614eb8 Switch the reload helper to use async_get_component (#113126) 2024-03-11 16:17:07 -10:00
J. Nick Koston
52b2522be2 Import homeassistant trigger platforms in the executor (#113124) 2024-03-11 15:58:12 -10:00
J. Nick Koston
3f72fae60b Migrate remaining call in check_config helper to use async_get_component (#113123) 2024-03-11 15:56:24 -10:00
J. Nick Koston
1949b9936b Simplify automation startup logic (#113122) 2024-03-11 15:41:05 -10:00
J. Nick Koston
17b202d8cf Await discovery_function in the DiscoveryFlowHandler instead of wrapping it in a task (#113115)
Await discovery_function in the DiscoveryFlowHandler instead of wrapping

This function was always a coro so it can be awaited
directly instead of wrapping it in add_job
2024-03-11 21:37:03 -04:00
J. Nick Koston
ebd17687e0 Remove unnecessary use of async_add_job in openalpr_cloud (#113116) 2024-03-11 21:36:34 -04:00
J. Nick Koston
427de00524 Remove unnecessary use of async_run_job in script helper (#113118)
The function being passed to `async_run` was always a callback
2024-03-11 21:36:18 -04:00
J. Nick Koston
17209525cb Add run_immediately to the zone core config update async_listen (#113119)
Calling async_update_config will never suspend but cannot be changed to a callback
function because it would break the collections api
2024-03-11 21:35:53 -04:00
J. Nick Koston
51f871227e Attach template triggers at start eagerly (#113120)
This method calls async_initialize_triggers which is likely to never
suspend and the attach can avoid being scheduled on the event loop
2024-03-11 21:34:32 -04:00
J. Nick Koston
42527862e0 Migrate scene platform to use async_add_executor_job (#113114) 2024-03-11 15:01:30 -10:00
J. Nick Koston
e71398d1e0 Update timezone in supervisor in an eager task (#113113) 2024-03-11 14:45:58 -10:00
J. Nick Koston
1536a3981f Use run_immediately for starting discovery at the started event (#113112) 2024-03-11 14:29:39 -10:00
J. Nick Koston
b87036eebe Make restore state started a callback function (#113110) 2024-03-11 14:25:15 -10:00
J. Nick Koston
6e59d1cb29 Migrate homekit to use async_at_started (#113102) 2024-03-11 20:08:02 -04:00
J. Nick Koston
5dc44500c3 Make cast async_cast_discovered a callback function (#113111)
Nothing was being awaited here and this function
is never subclassed
2024-03-11 20:07:15 -04:00
J. Nick Koston
620433a79d Run coroutines as eager tasks in async_run_hass_job (#111683)
* Run coroutines as eager tasks in async_run_hass_job

Note that this does not change async_add_hass_job

Do not merge this. For test run only

* Phase out periodic tasks

* false by default or some tests will block forever, will need to fix each one manually

* kwarg works

* kwarg works

* kwarg works

* fixes

* fix more tests

* fix more tests

* fix lifx

* opensky

* pvpc_hourly_pricing

* adjust more

* adjust more

* smarttub

* adjust more

* adjust more

* adjust more

* adjust more

* adjust

* no eager executor

* zha

* qnap_qsw

* fix more

* fix fix

* docs

* its a wrapper now

* add more coverage

* coverage

* cover all combos

* more fixes

* more fixes

* more fixes

* remaining issues are legit bugs in tests

* make tplink test more predictable

* more fixes

* feedreader

* grind out some more

* make test race safe

* limit first scope to triggers

* one more

* Start tasks eagerly in for async_at_start(ed)

A few of these can avoid being scheduled on the loop
during startup

* fix cloud

* Revert "fix cloud"

This reverts commit 5eb3ce695d.

* fix test to do what start does

* flip flag

* flip flag

* Fix here_travel_time creating many refresh requests at startup

- Each entity would try to refresh the coordinator which
  created many tasks. Move the refresh to a single
  async_at_started

- The tests fired the EVENT_HOMEASSISTANT_START event
  but the code used async_at_started which only worked
  because the tests did not set CoreState to not_running

* fix azure

* remove kw

* remove kw

* rip

* cover

* more rips

* more rips

* more rips
2024-03-11 20:05:08 -04:00
J. Nick Koston
53c3e27ed9 Add support for run_immediately to async_listen_once (#113020) 2024-03-11 13:51:03 -10:00
J. Nick Koston
0c877339ca Make sonos binary sensor entity creation callback functions (#113109) 2024-03-11 13:50:43 -10:00
J. Nick Koston
629a045c37 Make sonos household_coordinator setup a callback function (#113108) 2024-03-11 13:50:18 -10:00
J. Nick Koston
6ff8d7d2b9 Make sonos ssdp discovery callback a callback function (#113107) 2024-03-11 13:50:04 -10:00
Robert Svensson
487ae1786f Bump axis to v54 (#113091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-11 19:41:33 -04:00
J. Nick Koston
281e3922a8 Reduce latency to populate initial HKC bluetooth device state (#113103) 2024-03-11 13:02:20 -10:00
J. Nick Koston
2061cedadb Bump aiodhcpwatcher to 0.8.1 (#113096) 2024-03-11 12:01:06 -10:00
J. Nick Koston
77cdecf0f1 Migrate async_run_job to use eager_start for tasks (#113011) 2024-03-11 11:30:46 -10:00
Mike Woudenberg
52b69bcfde Update Loqed helper for more logging (#112646)
Updates Loqed helper for more logging
2024-03-11 22:20:06 +01:00
Brett Adams
b5761a83c0 Fix location data in Teslemetry (#112866)
Fix location data in coordinator
2024-03-11 22:17:42 +01:00
J. Nick Koston
e29b012eba Fix failing google diagnostics test (#113095) 2024-03-11 11:05:49 -10:00
J. Nick Koston
324266a4e6 Fix race in script stop that could cause async_stop to hang forever (#113089) 2024-03-11 10:48:11 -10:00
Steven B
eff0aac586 Ensure that the ring integration always raises HomeAssistantError for user actions (#109893)
* Wrap library exceptions in HomeAssistantErrors

* Remove commented

* Update post review

* Update post second review
2024-03-11 20:23:49 +01:00
J. Nick Koston
5e94858821 Migrate _async_when_setup to use eager_start (#112872)
This one does not make much difference, but its a lot
easier to do it now instead of in the future
2024-03-11 15:02:35 -04:00
J. Nick Koston
89c24b2f75 Migrate dispatcher to create tasks eagerly (#112845)
There were quite a few of these that never had to suspend.
2024-03-11 14:58:45 -04:00
J. Nick Koston
d7cc30fd2b Start tasks eagerly in for async_at_start(ed) (#112802) 2024-03-11 08:46:11 -10:00
Jan Stienstra
ff4e9eb31e Fix optional Jellyfin RunTimeTicks (#108254) 2024-03-11 19:09:18 +01:00
Paulus Schoutsen
145657dc21 Only load services.yaml for integrations that have it (#112732)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-11 19:05:32 +01:00
Marcel van der Veldt
ec89886fac Fix colormode attribute on grouped Hue light (#113071) 2024-03-11 19:04:44 +01:00
Joost Lekkerkerker
0b6307fa53 Add icon translations to Version (#112343) 2024-03-11 19:00:56 +01:00
Joost Lekkerkerker
23ffcaf187 Improve lists in integrations [B] (#113069) 2024-03-11 18:59:57 +01:00
Alistair Francis
1853c2d73a components/gardena_bluetooth: Improve avaliability reliability (#113056)
* components/gardena_bluetooth: Improve avaliability reliability

The available() function incorrectly returns false even though the device
is accessible.

The last_update_success property should correctly indicate if the device
isn't contactable, so we don't need to call async_address_present().
This is confirmed by seeing that no other users are calling
async_address_present() in the available() function.

This commit removes the call to async_address_present() to help fix the
sensor being unavailable when using a ESPHome BLE proxy.

Signed-off-by: Alistair Francis <alistair@alistair23.me>

---------

Signed-off-by: Alistair Francis <alistair@alistair23.me>
Co-authored-by: Joakim Plate <elupus@ecce.se>
2024-03-11 18:58:43 +01:00
Joost Lekkerkerker
c75342bd9a Improve lists in integrations [C-D] (#113072) 2024-03-11 18:58:35 +01:00
Aaron Bach
4d77bec681 Bump regenmaschine to 2024.03.0 (#113074) 2024-03-11 18:37:00 +01:00
Lukas de Boer
9f31423136 Bump rova to 0.4.1 (#113066) 2024-03-11 17:30:51 +01:00
Ondřej Machulda
7fce629fc4 Change airthings pressure sensor device_class to atmospheric pressure (#113005) 2024-03-11 17:01:19 +01:00
Joost Lekkerkerker
690ba103ed Improve lists in integrations [A] (#113006)
* Use list comprehension [A]

* Use list comprehension [A]

* Update homeassistant/components/aws/notify.py
2024-03-11 16:17:44 +01:00
Joost Lekkerkerker
bf40b33117 Remove fixtures from global fixtures folder (#113060)
Remove fixtures
2024-03-11 10:19:54 -04:00
J. Nick Koston
5e2edb6819 Ensure wemo discovery is run in a background task (#112665) 2024-03-11 15:13:41 +01:00
Joost Lekkerkerker
e13d8200cc Remove entity description mixin in Github (#112771) 2024-03-11 15:12:24 +01:00
J. Nick Koston
d939c48b4a Fix here_travel_time creating many refresh requests at startup (#113041) 2024-03-11 15:11:33 +01:00
Marcel van der Veldt
0eb1adccf8 Fix for Hue not applying effect in scene (#113057) 2024-03-11 15:08:00 +01:00
Folke Lemaitre
ba971890a9 Fix hvac_mode for viessmann devices with heatingCooling mode (#113054) 2024-03-11 15:05:31 +01:00
Marcel van der Veldt
0a7598e2d4 Fix for controlling Hue switch entities (#113064) 2024-03-11 09:49:52 -04:00
Joost Lekkerkerker
2792a5f016 Enable even more SIM ruff rules (#113017)
* SIM202 SIM211 SIM220 SIM221 SIM222 SIM223

* SIM910 SIM911

* SIM

* Update homeassistant/components/mqtt/siren.py

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Update homeassistant/components/mqtt/siren.py

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-03-11 14:23:52 +01:00
Steven B
48cb09a4a8 Prepare ring update service for deprecation (#108781)
* Prepare ring update service for deprecation

* Update service removal release number
2024-03-11 13:42:52 +01:00
Joost Lekkerkerker
f8d1232598 Move HomematicIP Cloud fixture to integration test (#112987)
* Move HomematicIP Cloud fixture to integration test

* Update tests/components/homematicip_cloud/helper.py

* Update tests/components/homematicip_cloud/helper.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-03-11 13:26:44 +01:00
Shai Ungar
3c06fbbd82 Add ConfigFlow for seventeentrack integration (#111196)
* Add config flow to 17Track

* Import config from configuration.yaml

* 1. move import to async_setup_platform
2. add USERNAME (email) in title for uniqueness

* Add options flow

* Add tests

* Add CONF_SHOW_ARCHIVED  and CONF_SHOW_DELIVERED to data from options

* Update homeassistant/components/seventeentrack/__init__.py

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

* Update homeassistant/components/seventeentrack/__init__.py

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

* Update homeassistant/components/seventeentrack/config_flow.py

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

* Update homeassistant/components/seventeentrack/manifest.json

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

* Update homeassistant/components/seventeentrack/config_flow.py

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>

* Update homeassistant/components/seventeentrack/__init__.py

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>

* Update homeassistant/components/seventeentrack/sensor.py

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>

* 1. Added repair issues
2. _async_validate_input inlined
3. added unique id
4. take default scan interval

* fix

* 1. move async_create_issue to async_setup_platform
2. fix tests
3. black + pylint

* combine USER_SCHEMA and OPTIONS_SCHEMA

* small fix

* remove async_setup

* fix tests and add 100% coverage

* 1. remove CONFIG_SCHEMA
2. remove error log
3. add issue with more description when import issues happen
4. some linting

* Update homeassistant/components/seventeentrack/config_flow.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* use freezer
use AsyncMock
fix tests

* add test_flow_fails
parametrize tests where needed
test_import_flow_already_configured - where a unique id already configured (abort flow)

* lint

* fix rebase issues

* some more fix

* 17Track revert tests and put them in a different PR

* adapt tests to MockConfigEntry

* Update tests/components/seventeentrack/test_sensor.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* Update homeassistant/components/seventeentrack/sensor.py

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

* Update tests/components/seventeentrack/__init__.py

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

* 1. create fixture for config and another with options
2. set options with default values
3. remove CONFIG_SCHEMA

* Update tests/components/seventeentrack/conftest.py

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

* Update tests/components/seventeentrack/conftest.py

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

* 1. get options from import data and default if not present
2. rename mock_config_entry_no_options -> mock_config_entry_with_default_options

* move ACCOUNT_ID to mock_seventeentrack_api.return_value.profile.account_id

* Apply suggestions from code review

* Update tests/components/seventeentrack/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
2024-03-11 12:47:39 +01:00
Ernst Klamer
564c31e846 Bump xiaomi-ble to 0.27.0 (#113013) 2024-03-11 12:39:07 +01:00
Marcel van der Veldt
a7a30581fc Fix adding Hue bridge manually by IP (#113055) 2024-03-11 12:35:41 +01:00
Robert Resch
7fd5c3ed61 Use UV instead of PIP in the CI (#113051) 2024-03-11 12:18:29 +01:00
Joost Lekkerkerker
57e6c8e07a Remove entity description mixin in Juicenet (#112892) 2024-03-11 12:08:42 +01:00
Joost Lekkerkerker
067c222bd9 Remove entity description mixin in Kostal Plenticore (#112898) 2024-03-11 12:07:13 +01:00
Joost Lekkerkerker
d82ffb4e07 Remove entity description mixin in Kraken (#112899) 2024-03-11 12:06:42 +01:00
Joost Lekkerkerker
324fc51375 Remove entity description mixin in Landisgyr Heat Meter (#112901) 2024-03-11 12:06:27 +01:00
Joost Lekkerkerker
62817ba338 Remove entity description mixin in Melnor (#112906) 2024-03-11 12:05:55 +01:00
Joost Lekkerkerker
14e7e4c860 Remove entity description mixin in Netatmo (#112910) 2024-03-11 12:04:04 +01:00
Joost Lekkerkerker
f86119aec7 Remove entity description mixin in Onvif (#112912) 2024-03-11 12:03:50 +01:00
Joost Lekkerkerker
b48032e37e Remove entity description mixin in PECO (#112915) 2024-03-11 12:03:33 +01:00
Joost Lekkerkerker
e08fb68597 Remove entity description mixin in Pi-hole (#112919) 2024-03-11 12:03:13 +01:00
Joost Lekkerkerker
8391dd39d9 Remove entity description mixin in Picnic (#112920) 2024-03-11 12:02:54 +01:00
Joost Lekkerkerker
d0a1781187 Remove entity description in Point (#112921) 2024-03-11 12:02:26 +01:00
Joost Lekkerkerker
d29418ebf5 Remove entity description mixin in Pure Energie (#112923) 2024-03-11 12:01:40 +01:00
Joost Lekkerkerker
7730c3bcf3 Remove entity description mixin in Renson (#112926) 2024-03-11 12:01:01 +01:00
Joost Lekkerkerker
54abc4935f Remove entity description mixin in Rituals Perfume Genie (#112929) 2024-03-11 12:00:35 +01:00
Joost Lekkerkerker
7f3a850ca5 Remove entity description mixin in Meteo-France (#112907) 2024-03-11 12:00:16 +01:00
Joost Lekkerkerker
3c217d737e Remove entity description mixin in Roborock (#112930) 2024-03-11 11:59:48 +01:00
Joost Lekkerkerker
b837a969d8 Remove entity description mixin in Ring (#112928) 2024-03-11 11:59:02 +01:00
Joost Lekkerkerker
22f6558647 Remove entity description mixin in Roomba (#112932) 2024-03-11 11:58:21 +01:00
Joost Lekkerkerker
a1a0738e58 Remove entity description mixin in Skybell (#112939) 2024-03-11 11:57:38 +01:00
Joost Lekkerkerker
37e0a9d9c7 Remove entity description mixin in SleepIQ (#112940) 2024-03-11 11:57:22 +01:00
Joost Lekkerkerker
fb23d5e6fb Remove entity description mixin in Smappee (#112941) 2024-03-11 11:57:01 +01:00
Joost Lekkerkerker
f5c8732307 Remove entity description mixin in Solaredge (#112942) 2024-03-11 11:56:37 +01:00
Joost Lekkerkerker
ff88c46658 Remove entity description mixin in Steamist (#112944) 2024-03-11 11:56:22 +01:00
Joost Lekkerkerker
1bc6277c47 Remove entity description mixin in Tautulli (#112949) 2024-03-11 11:56:03 +01:00
Joost Lekkerkerker
276b8147d3 Remove entity description mixin in Tolo (#112951) 2024-03-11 11:55:33 +01:00
Joost Lekkerkerker
d723d5815c Remove entity description mixin in Transmission (#112958) 2024-03-11 11:55:08 +01:00
Joost Lekkerkerker
b4dfe455cb Remove entity description mixin in Tuya (#112959) 2024-03-11 11:54:46 +01:00
Joost Lekkerkerker
b5c5db9ca0 Remove entity description mixin in Vallox (#112963) 2024-03-11 11:54:00 +01:00
Joost Lekkerkerker
39bfb2b5ba Remove entity description mixin in Venstar (#112964) 2024-03-11 11:53:40 +01:00
Joost Lekkerkerker
90769b460d Remove entity description mixin in VeSync (#112965) 2024-03-11 11:53:18 +01:00
Joost Lekkerkerker
105fca2212 Remove entity description mixin in Whirlpool (#112972) 2024-03-11 11:52:42 +01:00
Joost Lekkerkerker
85b6d70b04 Remove entity description mixin in Xiaomi Miio (#112973) 2024-03-11 11:52:19 +01:00
Joost Lekkerkerker
ea300623f9 Remove entity description mixin in Yalexs BLE (#112974) 2024-03-11 11:51:45 +01:00
Joost Lekkerkerker
2b8f42be39 Remove entity description mixin in Zamg (#112976) 2024-03-11 11:51:21 +01:00
Joost Lekkerkerker
a8bde2df3c Remove entity description mixin in Z-Wave.js (#112979) 2024-03-11 11:49:44 +01:00
Joost Lekkerkerker
0d68c27985 Remove entity description mixin in Honeywell Lyric (#112903) 2024-03-11 11:48:44 +01:00
Joost Lekkerkerker
830f419a8f Remove entity description mixin in SABnzbd (#112933) 2024-03-11 11:48:27 +01:00
Joost Lekkerkerker
65f2c74cb0 Remove entity description mixin in Wallbox (#112969) 2024-03-11 11:46:21 +01:00
Joost Lekkerkerker
53613e69f2 Remove entity description mixin in QNAP QSW (#112924) 2024-03-11 11:44:37 +01:00
Sid
c60aed3012 Bump webmin-xmlrpc to 0.0.2 (#113004) 2024-03-11 11:44:21 +01:00
Joost Lekkerkerker
3b0b729557 Remove YAML configuration from WAQI (#113027) 2024-03-11 11:41:49 +01:00
Joost Lekkerkerker
53750acdab Remove entity description mixin in Minecraft Server (#112908) 2024-03-11 11:29:30 +01:00
Joost Lekkerkerker
9fd96e8a78 Remove entity description mixin in Meater (#112904) 2024-03-11 11:28:54 +01:00
Joost Lekkerkerker
2349ce1abd Move yandex transport fixture to integration test (#112988)
* Move yandex transport fixture to integration test

* Update tests/components/yandex_transport/test_sensor.py

* Ran ruff

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-03-11 11:28:30 +01:00
Joost Lekkerkerker
1fa0ce2f2c Remove entity description mixin in Kaiterra (#112895) 2024-03-11 11:28:26 +01:00
Joost Lekkerkerker
d9996d3add Remove entity description mixin in Launch Library (#112902) 2024-03-11 11:28:08 +01:00
Joost Lekkerkerker
d95f30611e Remove entity description mixin in Kaleidescape (#112896) 2024-03-11 11:25:05 +01:00
Joost Lekkerkerker
da40e83fd9 Remove entity description mixin in Schlage (#112934) 2024-03-11 11:18:34 +01:00
Joost Lekkerkerker
e4b43680e1 Remove entity description mixin in Starlink (#112943) 2024-03-11 11:18:01 +01:00
Joost Lekkerkerker
e696afabe7 Remove entity description mixin in WeatherFlow (#112971) 2024-03-11 11:16:29 +01:00
星野SKY
716a163f5f Bump boschshcpy to 0.2.82 (#112890) 2024-03-11 11:11:32 +01:00
dependabot[bot]
b45bfdb3cc Bump Wandalen/wretry.action from 1.4.7 to 1.4.8 (#113038)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-11 11:08:15 +01:00
Joost Lekkerkerker
981902dd8a Remove entity description mixin in Opower (#112913) 2024-03-11 11:03:06 +01:00
Marcel van der Veldt
e87e0d2d41 Bump aioslimproto to 3.0.0 (#113046) 2024-03-11 10:54:51 +01:00
Brett Adams
6d440e36ad Add tests for Aussie Broadband diagnostics (#113049)
* Add tests for diag

* Fix docstring

* Spelling
2024-03-11 10:54:12 +01:00
Joost Lekkerkerker
a0d50ecdf5 Remove entity description mixin in Tado (#112947) 2024-03-11 10:53:19 +01:00
Joost Lekkerkerker
d0f53c2c99 Remove entity description mixin in Vilfo (#112966) 2024-03-11 10:20:08 +01:00
Simone Chemelli
4095de0566 Allow Shelly CoAP to honour default network adapter (#110997)
* Allow Shelly CoAP to honor default network adapter

* apply review comment

* 1 more debug log line

* adapt code to library changes

* test

* improve test

* one more test
2024-03-11 09:52:15 +01:00
J. Nick Koston
30c3174498 Fix CoreState in cloud google assistant tests (#113045) 2024-03-10 22:50:09 -10:00
J. Nick Koston
fd8ee6c857 Fix google assistant cloud sync test (#113044) 2024-03-10 22:44:21 -10:00
Jan Bouwhuis
17aa49410b Rename mqtt platform setup method (#113042)
* Rename mqtt platform setup method

* Format method to one line
2024-03-11 09:43:47 +01:00
Yuxin Wang
405bf076b2 Remove a redundant check in APCUPSD's config flow (#113032)
Remove a redundant check that is impossible to happen in practice
2024-03-11 08:38:44 +01:00
Joost Lekkerkerker
4b84954d17 Remove entity description mixin in V2C (#112960) 2024-03-11 08:32:43 +01:00
Joost Lekkerkerker
b914ac3185 Move openhardwaremonitor fixture to integration tests (#112982)
* Move openhardwaremonitor fixture

* Update tests/components/openhardwaremonitor/test_sensor.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-03-11 08:30:22 +01:00
J. Nick Koston
3387892f59 Schedule tasks eagerly when called from hass.add_job (#113014) 2024-03-10 21:19:49 -10:00
Joost Lekkerkerker
cede16fc40 Move Feedreader fixture to integration test (#112989) 2024-03-10 23:27:38 -04:00
Joost Lekkerkerker
d528378f5d Move london_air fixture to integration test (#112991)
* Move london_air fixture to integration test

* Fix
2024-03-10 23:27:20 -04:00
Joost Lekkerkerker
812bd4af65 Move metoffice fixture to integration test (#112992)
* Move metoffice fixture to integration test

* Fix

* Update tests/components/metoffice/test_config_flow.py

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

* Fix

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-03-10 23:27:00 -04:00
Joost Lekkerkerker
a78e389d9b Move Microsoft face fixture to integration test (#112993)
* Move Microsoft face fixture to integration test

* Update tests/components/microsoft_face/test_init.py

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

* Fix

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-03-10 23:26:37 -04:00
Ernst Klamer
db44efc1a3 Bump bthome-ble to 3.8.0 (#113008)
Bump bthome-ble
2024-03-10 23:25:04 -04:00
J. Nick Koston
b30c7b47f6 Avoid scheduling person updates on the event loop (#113010)
These update call the storage collection async_update_item
which never suspends so they can finish synchronously without
having to be scheduled on the loop when run_immediately,
which schedules the task eagerly is set
2024-03-10 23:24:48 -04:00
J. Nick Koston
b8b8e44454 Migrate duckdns to use async_run_hass_job (#113012)
The code would create a hassjob and than run the wrapped
function with async_run_job so it had to work out the
job type twice
2024-03-10 23:23:02 -04:00
Joost Lekkerkerker
cddce0ce0d Enable more SIM ruff rules (#113015)
* SIM101 SIM103

* SIM107 SIM109

* SIM110

* SIM112 SIM113

* SIM115

* SIM116

* Fix

* Fix

* Fix
2024-03-10 23:20:37 -04:00
J. Nick Koston
e96ef4613c Bump aioesphomeapi to 23.1.1 (#113016)
changelog: https://github.com/esphome/aioesphomeapi/compare/v23.1.0...v23.1.1

Fixes cryptic error message the user tried to send a command
or execute a service call when the device was disconnected
2024-03-10 23:18:49 -04:00
Robert Svensson
416d21c548 Bump axis to v53 (#113019) 2024-03-10 23:17:12 -04:00
Joost Lekkerkerker
0ea91515cf Fix Bang & Olufsen enum naming (#113022) 2024-03-10 23:16:05 -04:00
Allen Porter
23f9aea64d Bump ical to 7.0.1 and always use home assistant timezone for local todo dtstart (#113034) 2024-03-10 23:13:02 -04:00
J. Nick Koston
7ea79148ba Ignore logging events in zha websocket tests (#113031) 2024-03-10 13:13:26 -10:00
David F. Mulcahey
fad5fc5256 Fix race condition when ZHA group members change (#113030) 2024-03-10 13:12:27 -10:00
Yuxin Wang
db31afe019 Migrate APCUPSD to has entity name (#112997)
* Properly set entity names for APCUPSD

* Add test cases to prevent future regressions

* Fix tests due to the updated entity IDs

* Prettify code

* Remove redundant translation key
2024-03-10 23:56:25 +01:00
Joost Lekkerkerker
b125a6b1bb Remove entity description mixin in Shelly (#112938)
* Remove entity description mixin in Shelly

* fix

* Fix
2024-03-10 22:15:23 +01:00
Thomas55555
9a647d9b17 Bump aioautomower to 2024.3.0 (#112627)
Fix error in Husqvarna automower in Zones dataclass
2024-03-10 23:10:27 +02:00
Joost Lekkerkerker
d9f6e4be24 Add icon translations to Husqvarna automower (#111727)
* Add icon translations to Husqvarna automower

* fix
2024-03-10 21:55:31 +01:00
Joost Lekkerkerker
c1d1479bde Add icon translations to Picnic (#112181)
* Add icon translations to Picnic

* fix
2024-03-10 21:53:07 +01:00
Joost Lekkerkerker
2a5be33f34 Remove entity description mixin in Synology DSM (#112946) 2024-03-10 21:52:01 +01:00
Joost Lekkerkerker
a7f71eaa35 Remove entity description mixin in Tractive (#112952)
Remove entity description mixin in
Tractive
2024-03-10 21:45:06 +01:00
Joost Lekkerkerker
c8c00a86a6 Remove entity description mixin in Nettigo Air Monitor (#112909) 2024-03-10 21:44:41 +01:00
David Knowles
08874354c7 Add missing translation placeholder in Hydrawise (#113007)
Add missing translation placeholder
2024-03-10 21:20:46 +01:00
Joost Lekkerkerker
b8ae5e2388 Remove entity description mixin in Switcher Kis (#112945) 2024-03-10 22:06:28 +02:00
Jan Bouwhuis
02ef7ba134 Remove not needed hass.async_block_till_done in test (#113002) 2024-03-10 09:46:25 -10:00
Joost Lekkerkerker
958c843512 Move OpenALPR cloud fixture to integration test (#112994) 2024-03-10 15:17:24 -04:00
Joost Lekkerkerker
d76c20a483 Move uk_transport fixture to integration test (#112995) 2024-03-10 15:17:06 -04:00
Joost Lekkerkerker
65e1502b50 Move wsdot fixture to integration test (#112996) 2024-03-10 15:12:29 -04:00
Joost Lekkerkerker
d531b6e9b7 Remove entity description mixin in LaCrosse View (#112900) 2024-03-10 19:54:11 +01:00
Joost Lekkerkerker
a85571c840 Remove entity description mixin in Justnimbus (#112893) 2024-03-10 19:51:52 +01:00
Joost Lekkerkerker
f37bb6b1bf Remove entity description mixin in Melcloud (#112905) 2024-03-10 19:51:21 +01:00
Joost Lekkerkerker
69a322a6f2 Remove entity description mixin in PEGELONLINE (#112917) 2024-03-10 19:50:49 +01:00
Joost Lekkerkerker
cfc99af9ad Remove entity description mixin in Permobil (#112918) 2024-03-10 19:50:20 +01:00
G Johansson
3f1b8eadd2 Use async_at_started in Speedtest.Net (#112110) 2024-03-10 19:49:57 +01:00
Joost Lekkerkerker
83dc99cd9e Remove entity description mixin in Tradfri (#112953) 2024-03-10 19:49:31 +01:00
Joost Lekkerkerker
7ea1f42b84 Remove entity description mixin in WAQI (#112970) 2024-03-10 19:48:41 +01:00
Joost Lekkerkerker
5bfbe00c57 Remove entity description mixin in Youtube (#112975) 2024-03-10 19:48:14 +01:00
Joost Lekkerkerker
65624a9491 Remove entity description mixin in Zeversolar (#112977) 2024-03-10 19:47:39 +01:00
Joost Lekkerkerker
5d231ed61f Remove entity description mixin in Vodafone Station (#112967) 2024-03-10 19:43:07 +01:00
J. Nick Koston
afa69cca38 Import custom components in the executor by default (#112177)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-10 08:41:33 -10:00
J. Nick Koston
a2318c26c9 Run debouncer tasks eagerly to avoid scheduling on the event loop (#112789) 2024-03-10 08:37:10 -10:00
Jan Bouwhuis
c608d1cb85 Fix mqtt platform setup race (#112888) 2024-03-10 08:36:17 -10:00
Shai Ungar
eb81bf1d49 Improve 17track tests (#112734)
* 17Track tests

* add 17Track sensor to coverage

* extract repeated code

* 1. _goto_future - call tick only once
2. change test name to reflect test
3. remove ifs from test

* remove undersocre from _goto_future
2024-03-10 18:57:28 +01:00
Joost Lekkerkerker
049f0f5e3b Remove entity description mixin in Sensibo (#112936) 2024-03-10 18:17:43 +01:00
Joost Lekkerkerker
5f4881cb28 Remove entity description mixin in Trafikverket Camera (#112954) 2024-03-10 18:16:18 +01:00
Joost Lekkerkerker
a64f043a93 Remove entity description mixin in Trafikverket Ferry (#112955) 2024-03-10 18:15:47 +01:00
Joost Lekkerkerker
39c617eee6 Remove entity description mixin in Trafikverket Train (#112956) 2024-03-10 18:15:18 +01:00
Joost Lekkerkerker
13b8fd4149 Remove entity description mixin in Trafikverket Weatherstation (#112957) 2024-03-10 18:14:47 +01:00
Joost Lekkerkerker
dec98d424f Remove entity description mixin in Overkiz (#112914) 2024-03-10 18:06:17 +01:00
Aaron Bach
113df1ab62 Streamline Notion config entry updates (refresh token and user ID) (#112832) 2024-03-10 11:04:17 -06:00
Joost Lekkerkerker
b59bba8951 Remove entity description mixin in Roku (#112931) 2024-03-10 11:46:40 -05:00
Joost Lekkerkerker
85bc72f9f1 Remove entity description mixin in Renault (#112925)
* Remove entity description mixin in Renault

* Update homeassistant/components/renault/sensor.py

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

* Update homeassistant/components/renault/button.py

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-03-10 17:27:47 +01:00
Joost Lekkerkerker
ae003c21c8 Remove entity description mixin in SFR Box (#112937) 2024-03-10 17:10:44 +01:00
Joost Lekkerkerker
f668dfecb2 Remove entity description mixin in Netgear (#112911) 2024-03-10 16:43:43 +01:00
Joost Lekkerkerker
201f733394 Remove entity description mixin in Private BLE Device (#112922) 2024-03-10 15:21:12 +01:00
Henning Claßen
34d316e7b5 Update the numato-gpio dependency of the numato integration to v0.12.0 (#112272)
* Update the numato-gpio dependency of the numato integration to v0.12.0

* Augment numato integration manifest with integration_type

Fulfills a requirement in the PR checklist.
2024-03-10 12:02:25 +02:00
Joost Lekkerkerker
c04438caae Remove entity description mixin in Freebox (#112766) 2024-03-10 10:50:32 +01:00
Ernst Klamer
e91a38eede Add Locks to Xiaomi-BLE (#111156) 2024-03-09 22:29:48 -10:00
A Björck
e631224372 Bump yalexs to 2.0.0 (#111706)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-09 22:11:10 -10:00
Robert Svensson
ffcbab1c20 Split out deCONZ hub (#112854)
* Rename DeconzGateway to DeconzHub

* Move gateway.py to hub/hub.py
2024-03-10 08:25:12 +01:00
J. Nick Koston
f1b5dcdd1b Refactor handling of device updates in ESPHome (#112864) 2024-03-09 20:30:17 -10:00
Marc Mueller
57ce0f77ed Update pytest to 8.1.1 (#112859) 2024-03-09 23:08:36 -05:00
J. Nick Koston
60bddc2861 Schedule coroutine functions eagerly when async_listen uses run_immediately (#112846)
We have a few places where we call async_listen with a callback so we can schedule
the coro eagerly. We can drop these in favor of setting run_immediately now.
2024-03-09 23:04:25 -05:00
J. Nick Koston
0ad14da408 Fix MJPEG fallback when still image URL is missing with basic auth (#112861)
* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877

* Fix MJPEG fallback when still image URL is missing with basic auth

I picked up an old DCS-930L (circa 2010) camera to test with
to fix #94877
2024-03-09 23:02:42 -05:00
J. Nick Koston
1ffc459aa7 Only read cpu once during systemmonitor setup (#112863)
* Only read cpu once during systemmonitor setup

* type
2024-03-09 23:00:53 -05:00
Jan Bouwhuis
caaa03536b Cleanup mqtt PLATFORMS constant and CI-test platform filters (#112847) 2024-03-09 23:48:54 +01:00
Joost Lekkerkerker
8ea093ca3b Remove entity description mixin in IPP (#112781) 2024-03-09 15:48:12 -06:00
J. Nick Koston
23ebd80285 Schedule coroutines with eager_task from async_track_state_change_event (#112807) 2024-03-09 11:24:54 -10:00
J. Nick Koston
4882fed939 Avoid saving auth right after we load it during startup (#112008) 2024-03-09 11:03:22 -10:00
Arie Catsman
44abe329a2 Enphase Envoy refactor and extend diagnostics (#109080)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-03-09 11:03:07 -10:00
Jan Bouwhuis
3b0ea52167 Allow Just-in-Time platform setup for mqtt (#112720)
* Allow Just-in-Time platform setup for mqtt

* Only forward the setup of new platforms

* Fix new  platforms being setup at reload + test

* Revert not related changes

* Remove unused partial

* Address comments, only import plaforms if needed

* Apply suggestions from code review

* Add multipl platform discovery test

* Improve test

* Use a lock per platform
2024-03-09 21:55:00 +01:00
J. Nick Koston
d0d1af8991 Improve performance of image streams (#112810) 2024-03-09 10:26:48 -10:00
Jeffrey Stone
2a6de1c335 Bump mastodon.py version to 1.8.1 (#112728)
bump mastodon.py version to 1.8.1
2024-03-09 21:20:11 +01:00
Lex Li
9974af39ac Upgrade pysnmp-lextudio to version 6.0.9 (#112795) 2024-03-09 09:51:08 -10:00
Joost Lekkerkerker
033dd35655 Add icon translations to Yeelight (#112363)
* Add icon translations to Yeelight

* Add icon translations to Yeelight
2024-03-09 20:48:21 +01:00
Robert Svensson
020b656f51 Split out Axis config data (#112825)
Split out config data
2024-03-09 13:00:25 -05:00
Robert Svensson
03e4a20cdf Rename get_deconz_session to get_deconz_api (#112826)
Move and rename get_deconz_session to get_deconz_api
2024-03-09 18:32:31 +01:00
J. Nick Koston
9ba142f4dd Use eager_start for discovery listeners (#112803)
Many platforms can be loaded without having to suspend or
be scheduled on the event loop
2024-03-09 11:07:15 -05:00
Joost Lekkerkerker
378806f1fa Remove entity description mixin in AVM Fritz!Tools (#112767) 2024-03-09 16:38:44 +01:00
Joost Lekkerkerker
2b2f7d1193 Remove entity description mixin in Geocaching (#112770) 2024-03-09 10:07:10 -05:00
Joost Lekkerkerker
6e1981c43c Remove entity description mixin in Honeywell (#112776) 2024-03-09 10:06:27 -05:00
Joost Lekkerkerker
24b7f03e31 Remove entity description mixin in idasen desk (#112780) 2024-03-09 10:05:07 -05:00
Joost Lekkerkerker
6f03c305d4 Remove entity description mixin in Google wifi (#112774) 2024-03-09 10:03:30 -05:00
Joost Lekkerkerker
b0f0bc6c5c Remove entity description mixin in Environment Canada (#112763) 2024-03-09 10:02:45 -05:00
Joost Lekkerkerker
06637c0960 Remove entity description mixin in EZVIZ (#112764) 2024-03-09 10:01:45 -05:00
Joost Lekkerkerker
bfd7582825 Remove entity description mixin in Glances (#112772) 2024-03-09 10:00:31 -05:00
jan iversen
59083b4e82 Remove deprecated retry_on_empty from modbus (#112822)
Remove deprecated retry_on_empty.
2024-03-09 13:59:09 +01:00
Ville Skyttä
40aaba6b1d Remove outdated prettier and yamllint azure-*.yml ignores (#112819) 2024-03-09 14:44:05 +02:00
Joost Lekkerkerker
fed40a89ca Remove entity description mixin in Huawei LTE (#112777) 2024-03-09 14:41:08 +02:00
jan iversen
797983236f Remove deprecated CLOSE_COMM_ON_ERROR from modbus (#112821) 2024-03-09 13:24:06 +01:00
Jan Bouwhuis
6534943837 Revert "Cleanup mqtt discovery code" (#112818)
Revert "Cleanup mqtt discovery code (#112749)"

This reverts commit 87318c9111.
2024-03-09 12:54:10 +01:00
jan iversen
fca3ac9903 Update modbus test to include a dummy sensor (#112820) 2024-03-09 12:19:57 +01:00
Jan Bouwhuis
87318c9111 Cleanup mqtt discovery code (#112749)
* Cleanup mqtt discovery code

* Cleanup mqtt discovery code
2024-03-09 11:54:27 +01:00
Robert Svensson
a2180b16c3 Move wireless clients into entity_loader (#112813) 2024-03-09 11:30:01 +01:00
Joost Lekkerkerker
b26f00bf39 Remove entity description mixin in Goodwe (#112773) 2024-03-09 11:00:36 +01:00
Joost Lekkerkerker
3301117223 Remove entity description mixin in Jellyfin (#112782) 2024-03-09 11:00:23 +01:00
Robert Svensson
8b2759d810 Move restoring inactive clients method into UniFi entity loader (#112805)
* Move restoring inactive clients method into UniFi entity loader

* Use an initialize method in entity_loader
2024-03-09 10:52:59 +01:00
Robert Svensson
bf5537eb5a Give the UniFi integration better control over what data to load (#112804) 2024-03-09 10:35:25 +01:00
J. Nick Koston
2b0b3c238a Make SSDP tasks background HassJob to avoid delaying startup (#112668) 2024-03-08 23:11:00 -10:00
J. Nick Koston
b7d9f26cee Cache the job type for entity service calls (#112793) 2024-03-08 22:49:08 -10:00
Robert Svensson
19e54debba Unifi more polish on entity description (#112281)
* Make has_entity_name default value True

* Remove previously missed event_is_on and event_to_subscribe

* Provide default value for allowed_fn and supported_fn

* Provide default value for name_fn

* Provide default value for available_fn

* Add doc strings to required functions

* Fix some missed renames from variations of controller to hub
2024-03-09 09:19:38 +01:00
Robert Svensson
f2879e6f39 Break out UniFi platform registration to its own class (#112514) 2024-03-09 09:18:23 +01:00
J. Nick Koston
9ca9d7f48f Use eager_start for tasks to register integration platforms (#112800) 2024-03-08 22:10:57 -10:00
J. Nick Koston
b591bb43f5 Use eager_start for homeassistant triggers (#112801) 2024-03-08 22:10:44 -10:00
jan iversen
693f72eff1 Issue warning modbus configuration when modbus configuration is empty (#112618) 2024-03-09 08:49:11 +01:00
Marc Mueller
6a2f7a6347 Use Mapping as default for Event data (#112769) 2024-03-09 07:37:59 +01:00
J. Nick Koston
a50883d975 Run service call tasks eagerly (#112791) 2024-03-08 20:37:21 -10:00
J. Nick Koston
6a7c255b93 Improve entity translation typing (#112788)
* Improve entity translation typing

* Improve entity translation typing
2024-03-08 22:30:13 -05:00
J. Nick Koston
a66399ad3d Add Event typing to websocket_api for entity subscriptions (#112786) 2024-03-08 22:29:46 -05:00
Shay Levy
ed3ec85e55 Bump bthome-ble to 3.7.0 (#112783) 2024-03-08 22:28:56 -05:00
Allen Porter
2789060bbe Fix local calendar handling of empty recurrence ids (#112745)
* Fix handling of empty recurrence ids

* Revert logging changes
2024-03-08 22:28:04 -05:00
Aaron Bach
3405bda835 Make sure Notion saves new refresh token upon startup (#112676)
* Make sure Notion saves new refresh token upon startup

* Code review

* Typing

* Smoother syntax

* Fix tests

* Fix tests for real
2024-03-08 22:27:56 -05:00
J. Nick Koston
5b2a24b1bb Fix race reloading homekit_controller (#112790)
If the subscribe task was still running during the reload we
would not cancel it. Make it a config entry task so it gets
cancelled at unload
2024-03-08 22:27:08 -05:00
J. Nick Koston
65358c129a Replace periodic tasks with background tasks (#112726)
* Phase out periodic tasks

* false by default or some tests will block forever, will need to fix each one manually

* kwarg works

* kwarg works

* kwarg works

* fixes

* fix more tests

* fix more tests

* fix lifx

* opensky

* pvpc_hourly_pricing

* adjust more

* adjust more

* smarttub

* adjust more

* adjust more

* adjust more

* adjust more

* adjust

* no eager executor

* zha

* qnap_qsw

* fix more

* fix fix

* docs

* its a wrapper now

* add more coverage

* coverage

* cover all combos

* more fixes

* more fixes

* more fixes

* remaining issues are legit bugs in tests

* make tplink test more predictable

* more fixes

* feedreader

* grind out some more

* make test race safe

* one more
2024-03-08 21:45:10 -05:00
J. Nick Koston
08416974c9 Avoid trying to load translations for integrations that have none (#112683) 2024-03-08 14:21:44 -10:00
Joost Lekkerkerker
cf5b11576b Remove entity description mixin in iBeacon (#112779) 2024-03-09 00:04:52 +01:00
Joost Lekkerkerker
bfd9199ad9 Remove entity description mixin in HomeKit Device (#112775) 2024-03-08 23:29:02 +01:00
Joost Lekkerkerker
6671a84661 Remove entity description mixin in Flume (#112765) 2024-03-08 23:28:14 +01:00
Joost Lekkerkerker
945710874b Remove entity description mixin in Fully Kiosk (#112768) 2024-03-08 23:09:17 +01:00
J. Nick Koston
af6f2a516e Guard against db corruption when renaming entities (#112718) 2024-03-08 11:34:07 -10:00
Alin Balutoiu
d868b8d4c5 Fix tado climate service (#112686) 2024-03-08 22:31:02 +01:00
Marc Mueller
de886d8c49 Update EventBus listen type signatures (#112760) 2024-03-08 21:57:23 +01:00
Marc Mueller
cef20506dc Replace EventType with Event [missing] (#112753) 2024-03-08 21:56:42 +01:00
Arie Catsman
c7eabd95e6 Bump pyenphase to 1.19.2 (#112747) 2024-03-08 15:28:03 -05:00
Marc Mueller
aa16a9d707 Add empty line after module docstring (3) (#112750) 2024-03-08 20:38:34 +01:00
puddly
55b2d1a00c Disable updating ZHA coordinator path from discovery info (#112415)
* Never update the device path from config flows

* Bring coverage up to 100%

* Update tests/components/zha/test_config_flow.py

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-03-08 14:33:33 -05:00
Marc Mueller
959826c4b4 Update byte string formatting (#112752) 2024-03-08 20:32:40 +01:00
Sid
0e86f182cc Add diagnostics to webmin (#112543) 2024-03-08 20:09:31 +01:00
Marc Mueller
b026b5d589 Replace EventType with Event [helpers] (#112743) 2024-03-08 19:41:50 +01:00
Marc Mueller
3db28d46b2 Replace EventType with Event [t-z] (#112742) 2024-03-08 19:37:26 +01:00
Marc Mueller
84c44c1835 Replace EventType with Event [l-s] (#112741) 2024-03-08 19:37:18 +01:00
Marc Mueller
8f1e2f1a7b Replace EventType with Event [h-i] (#112740) 2024-03-08 19:35:47 +01:00
Marc Mueller
25237e0377 Replace EventType with Event [a-g] (#112739) 2024-03-08 19:35:17 +01:00
Marc Mueller
a6b842f818 Add empty line after module docstring (2) [other] (#112738) 2024-03-08 19:16:38 +01:00
Marc Mueller
32f3f46542 Add empty line after module docstring (2) [tests.components] (#112737) 2024-03-08 19:16:21 +01:00
Marc Mueller
2c06d4fcb9 Add empty line after module docstring (2) [components] (#112736) 2024-03-08 19:15:59 +01:00
Marc Mueller
cb8c14496c Use more f-strings [ruff] (#112695) 2024-03-08 18:44:42 +01:00
Paulus Schoutsen
f416d67d21 Remove built-in support for import_executor in manifest (#112725) 2024-03-08 12:02:32 -05:00
Franck Nijhof
aa7acb89c5 Remove Python 3.11 from CI (#112626) 2024-03-08 17:42:18 +01:00
Marc Mueller
19ab3d6daf Add empty line after module docstring [helpers + other] (#112707) 2024-03-08 10:36:11 -05:00
Marc Mueller
c773d57d39 Add empty line after module docstring [w-z] (#112706) 2024-03-08 10:35:45 -05:00
Marc Mueller
062cc4bfce Add empty line after module docstring [t-v] (#112705) 2024-03-08 10:35:23 -05:00
jan iversen
ea89fa6b1e Allow duplicate names in different modbus entities (#112701)
Allow duplicate names in different entities.
2024-03-08 15:10:35 +01:00
Marc Mueller
a033574ee2 Add empty line after module docstring [r] (#112703) 2024-03-08 15:05:07 +01:00
Marc Mueller
988c71ecc5 Add empty line after module docstring [n-q] (#112702) 2024-03-08 15:04:07 +01:00
Marc Mueller
59a6035d3f Add empty line after module docstring [j-m] (#112700) 2024-03-08 09:01:29 -05:00
Marc Mueller
1722e23df8 Add empty line after module docstring [tests l-p] (#112710) 2024-03-08 14:55:15 +01:00
Maciej Bieniek
7cbe49520e Downgrade pysnmp-lextudio to version 5.0.34 (#112696)
Downgrade pysnmp-lextudio to version 5.0.34

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-03-08 08:54:00 -05:00
Marc Mueller
8809d3aa88 Add empty line after module docstring [g-i] (#112699) 2024-03-08 08:52:48 -05:00
Marc Mueller
ff3a801936 Add empty line after module docstring [a-d] (#112697) 2024-03-08 14:51:32 +01:00
Marc Mueller
38adfbf1a3 Add empty line after module docstring [tests a-e] (#112708) 2024-03-08 08:50:25 -05:00
Marc Mueller
c88b337600 Add empty line after module docstring [tests f-k] (#112709) 2024-03-08 14:50:04 +01:00
Marc Mueller
7d6251ca08 Add empty line after module docstring [tests q-s] (#112711) 2024-03-08 14:47:22 +01:00
Marc Mueller
87165c0d6e Add empty line after module docstring [tests t-z] (#112712) 2024-03-08 14:44:56 +01:00
Marc Mueller
930a396712 Add empty line after module docstring [s] (#112704) 2024-03-08 14:33:51 +01:00
Marc Mueller
0e3945ca6c Add empty line after module docstring [d-f] (#112698) 2024-03-08 14:15:26 +01:00
Marc Mueller
d7e7dc96cc Make Event data generic (#111955) 2024-03-08 13:46:16 +01:00
Aidan Timson
f8b05a0a81 Update systembridgeconnector to version 4.0.3 (#112608) 2024-03-08 12:11:17 +01:00
Robert Resch
7926a76da5 Bump devcontainer to 1-3.12 (#108709) 2024-03-08 12:00:48 +01:00
Mr. Bubbles
6e807df22e Fix incorrect filtering of unsupported locales in bring-api (#112589) 2024-03-08 11:55:18 +01:00
Marc Mueller
2d701d5a7d Use aiohttp.AppKey for http cors keys (#112658) 2024-03-08 11:51:59 +01:00
Aaron Bach
9555e8764a Bump aionotion to 2024.03.0 (#112675) 2024-03-08 11:51:05 +01:00
Thomas55555
9ba5159ae2 Add reauthentication for husqvarna_automower (#109930)
* Add reauthentication for husqvarna_automower

* Remove unneded lines

* Don't extract token on reauth

* Update homeassistant/components/husqvarna_automower/config_flow.py

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

* Update tests/components/husqvarna_automower/conftest.py

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

* Use helper

* Test if authentication is done with the right account

* switch to ConfigFlowResult

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-03-08 11:30:39 +01:00
Marc Mueller
4893087a7e Add TypeVar defaults for DataUpdateCoordinator (#111949) 2024-03-08 11:14:16 +01:00
Marc Mueller
eb8f8e1ae4 Use aiohttp.AppKey for http ban keys (#112657) 2024-03-08 11:13:24 +01:00
J. Nick Koston
7dcf275966 Speed up importing mqtt platforms (#112682)
Use async_forward_entry_setups so platforms can be loaded in a single
executor job instead of many:

Currently they all have to create a new job because it did not use
async_forward_entry_setups

```
2024-03-08 08:29:29.819 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[light] loop=[] took 12.12s
2024-03-08 08:29:29.822 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[number] loop=[] took 12.12s
2024-03-08 08:29:29.826 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[scene] loop=[] took 12.13s
2024-03-08 08:29:29.829 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[select] loop=[] took 12.13s
2024-03-08 08:29:29.833 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[sensor] loop=[] took 12.14s
2024-03-08 08:29:30.882 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[update] loop=[] took 13.18s
2024-03-08 08:29:30.948 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[button] loop=[] took 13.18s
2024-03-08 08:29:30.949 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[climate] loop=[] took 13.19s
2024-03-08 08:29:31.012 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[fan] loop=[] took 13.25s
2024-03-08 08:29:31.019 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[humidifier] loop=[] took 13.25s
2024-03-08 08:29:31.024 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[image] loop=[] took 13.26s
2024-03-08 08:29:31.034 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[lock] loop=[] took 13.27s
2024-03-08 08:29:31.045 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[vacuum] loop=[] took 13.28s
2024-03-08 08:29:31.050 DEBUG (MainThread) [homeassistant.loader] Importing platforms for mqtt executor=[valve] loop=[] took 13.28s
```
2024-03-08 10:30:31 +01:00
Jim
d2effd8693 Bump python-telegram-bot package to 21.0.1 (#110297)
* Bump python-telegram-bot package version to the latest.

* PySocks is no longer required as python-telegram-bot doesn't use urllib3 anymore.

* Fix moved ParseMode import

* Update filters import to new structure.

* Refactor removed Request objects to HTTPXRequest objects.

* Update to support asyncc functions

* Update timeout to new kwarg

connect_timeout is the most obvious option based on current param description, but this may need changing.

* Compatibility typo.

* Make methods async and use Bot client async natively

* Type needs to be Optional

That's what the source types are from the library
Also handle new possibility of None value

* Add socks support version of the library

* Refactor load_data function

Update to be async friendly
Refactor to use httpx instead of requests.

* Refactor Dispatcher references to Application

This is the newer model of the same class.

* Make more stuff async-friendly.

* Update tests to refactor Dispatcher usage out.

* Remove import and reference directly

* Refactor typing method

* Use async_fire now we have async support

* Fix some over complicate inheritance.

* Add the polling test telegram_text event fired back in.

* Add extra context to comment

* Handler should also be async

* Use underscores instead of camelCase

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

* Renamed kwarg.

* Refactor current timeout param to be read timeout

Reading the old version of the library code I believe this matches the existing functionality best

* Combine unload methods into one listener

* Fix test by stopping HA as part of fixture

* Add new fixture to mock stop_polling call

Use this in all polling tests.

* No longer need to check if application is running

It was to stop a test failing.

* Make sure the updater is started in tests

Mock external call methods
Remove stop_polling mock.

* Use cleaner references to patched methods

* Improve test by letting the library create the Update object

* Mock component tear down methods to be async

* Bump mypy cache version

* Update dependency to install from git

Allows use as a custom component in 2024.3
Allows us to track mypy issue resolution.

* Update manifest and requirements for new python-telegram-bot release.

* Remove pytest filterwarnings entry for old version of python-telegram-bot library.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-08 08:56:26 +01:00
Robert Svensson
15b59d310a Bump axis to v52 (#112632)
* Bump axis to v51

* Bump to v52
2024-03-08 07:42:37 +01:00
J. Nick Koston
caefdc6192 Avoid writing registries to disk during startup (#112662) 2024-03-07 19:14:42 -10:00
J. Nick Koston
0382d628a3 Close hue api if setup fails (#112164)
fixes #109722
2024-03-07 23:39:44 -05:00
J. Nick Koston
a12fa0383b Make zeroconf lookups background tasks (#112669)
* Make zeroconf lookups background tasks

There were blocking startup and shutdown

* disable for now
2024-03-07 23:37:56 -05:00
J. Nick Koston
d40bd0f6c8 Fix dhcp delaying shutdown (#112670) 2024-03-07 23:37:43 -05:00
J. Nick Koston
c101eb5001 Fix homekit_controller delaying startup and shutdown (#112671)
The alive poll was scheduled as a tracked task but should have
been a background task so it was cancelled.
2024-03-07 23:37:22 -05:00
J. Nick Koston
a6b17dbe68 Schedule polling as periodic tasks (#112640)
* Schedule periodic coordinator updates as background tasks.

Currently, the coordinator's periodic refreshes delay startup because they are not scheduled as background tasks. We will wait if the startup takes long enough for the first planned refresh. Another coordinator's scheduled refresh will be fired on busy systems, further delaying the startup. This chain of events results in the startup taking a long time and hitting the safety timeout because too many coordinators are refreshing.

This case can also happen with scheduled entity refreshes, but it's less common. A future PR will address that case.

* periodic_tasks

* periodic_tasks

* periodic_tasks

* merge

* merge

* merge

* merge

* merge

* fix test that call the sync api from async

* one more place

* cannot chain

* async_run_periodic_hass_job

* sun and pattern time changes from automations also block startup

* Revert "sun and pattern time changes from automations also block startup"

This reverts commit 6de2defa05.

* make sure polling is cancelled when config entry is unloaded

* Revert "Revert "sun and pattern time changes from automations also block startup""

This reverts commit e8f12aad55.

* remove DisabledError from homewizard test as it relies on a race

* fix race

* direct coverage
2024-03-07 23:32:26 -05:00
J. Nick Koston
5da629b3e5 Log waiting tasks in bootstrap that are delaying startup (#112637) 2024-03-07 13:18:18 -10:00
jan iversen
27af6f1466 Bump pymodbus to v3.6.5 (#112629) 2024-03-07 22:38:51 +01:00
Erik Montnemery
49d20eedd4 Remove local imports of hass-nabucasa (#112634) 2024-03-07 20:37:35 +01:00
Joost Lekkerkerker
c1d45f63f5 Fix Bang and olufsen naming (#111344)
* Fix Bang and olufsen naming

* Fix

* Fix tests

* Fix tests
2024-03-07 20:15:52 +01:00
Marc Mueller
f3594c543d Use KEY_HASS [a-g] (#112609) 2024-03-07 18:09:20 +01:00
Marc Mueller
8ca127df2a Use KEY_HASS [h-z] (#112610) 2024-03-07 18:03:44 +01:00
jan iversen
714777e853 modbus scan_interval: 0 is correct configuration (#112619) 2024-03-07 17:55:06 +01:00
Erik Montnemery
177d8f3209 Make hass-nabucasa a core requirement (#112623) 2024-03-07 17:11:45 +01:00
J. Nick Koston
70a3f67e03 Avoid extracting the stack twice in system_log (#112572) 2024-03-07 11:00:05 -05:00
Bram Kragten
1b824a4fea Update frontend to 20240307.0 (#112620) 2024-03-07 10:58:49 -05:00
Erik Montnemery
fa4c0d78e9 Restore the juicenet integration (#112578) 2024-03-07 16:41:54 +01:00
Marc Mueller
531e25cbc6 Change KEY_HASS to be an aiohttp AppKey (#111954) 2024-03-07 13:37:48 +01:00
Erik Montnemery
82efb3d35b Make FlowResult a generic type (#111952) 2024-03-07 12:41:14 +01:00
Jeef
008e025d5c Bump weatherflow4py to 0.1.14 (#112554)
adding missing rain states
2024-03-07 12:39:38 +01:00
Joost Lekkerkerker
d42dd0114d Add icon translations to Twinkly (#112328) 2024-03-07 12:33:28 +01:00
Franck Nijhof
bf23672d39 Merge branch 'master' into dev 2024-03-07 12:12:48 +01:00
dependabot[bot]
a92e65bc54 Bump Wandalen/wretry.action from 1.4.5 to 1.4.7 (#112575)
Bumps [Wandalen/wretry.action](https://github.com/wandalen/wretry.action) from 1.4.5 to 1.4.7.
- [Release notes](https://github.com/wandalen/wretry.action/releases)
- [Commits](https://github.com/wandalen/wretry.action/compare/v1.4.5...v1.4.7)

---
updated-dependencies:
- dependency-name: Wandalen/wretry.action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-07 09:33:31 +01:00
J. Nick Koston
1fb9cfe37e Speed up the frame helper (#112562) 2024-03-06 20:54:09 -10:00
Jesse Hills
3ccbb2c87a Bump aioesphomeapi to 23.1.0 (#112560) 2024-03-07 16:44:58 +13:00
J. Nick Koston
e12e129065 Make HassJob job_type lookup lazy (#112563) 2024-03-06 17:03:27 -10:00
J. Nick Koston
a7b4cd3512 Pass job type to event listeners when creating entities (#112551) 2024-03-06 16:10:07 -10:00
J. Nick Koston
84455dbe1d Avoid having to work out the job type for each entity service at startup (#112557) 2024-03-06 16:09:55 -10:00
J. Nick Koston
869128e951 Pre import the rest of the recorder platforms before asyncio starts (#112289)
* Pre import the rest of the recorder platforms before asyncio starts

I removed these from #112131 since I had trouble with the weather
tests passing due to a race that I could not figure out. The race
seems to have gone away now (at least locally) so hopefully the CI
will pass now

* Avoid importing counter and proximity integrations in logbook

* Avoid importing counter and proximity integrations in logbook
2024-03-06 20:38:52 -05:00
J. Nick Koston
1772e5257c Move analytics setup to later stage to avoid delaying frontend startup (#112535)
Move analytics setup to stage 1 to avoid delaying frontend startup

analytics was only needed in the frontend startup phase for onboarding.
Its very unlikely the user will be able to complete the onboarding
steps and get to the analytics screen before analytics is done loading
so we can delay loading it until stage 1. To be absolutely sure that
it is ready, the core_config step in onboarding will wait to proceed
if it is some how still being setup
2024-03-06 20:37:41 -05:00
J. Nick Koston
67a177679e Log tasks that are being waited on when startup is blocked (#112542) 2024-03-06 13:33:44 -10:00
Joost Lekkerkerker
74dabff4a7 Add icon translations to Waze Travel Time (#112352)
* Add icon translations to Waze Travel Time

* Fix tests
2024-03-06 17:06:41 -05:00
J. Nick Koston
581a4f82b2 Avoid importing counter and proximity integrations in logbook (#112528) 2024-03-06 11:46:38 -10:00
J. Nick Koston
675b1a392b Fix homekit creating executor jobs to resolve default listen ips (#112522) 2024-03-06 11:46:23 -10:00
J. Nick Koston
b8e39bd968 Increase bootstrap preload test timeout (#112520) 2024-03-06 11:06:55 -10:00
J. Nick Koston
96b2d4f9f0 Reduce executor jobs needed to setup filesize (#112490)
* Reduce executor jobs needed to setup filesize

Move the _get_full_path check into the coordinator so everything
can happen in the executor at setup time

* Reduce executor jobs needed to setup filesize

Move the _get_full_path check into the coordinator so everything
can happen in the executor at setup time

* Update homeassistant/components/filesize/coordinator.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-06 20:54:01 +01:00
G Johansson
248f2ac2fb Remove hourly weather entity from Environment Canada (#112447)
* Remove hourly weather entity from Environment Canada

* Remove from strings
2024-03-06 20:53:44 +01:00
Michael Hansen
457e27ecfd Bump intents to 2024.3.6 (#112515) 2024-03-06 13:47:58 -06:00
Sid
d50e4f6645 Add snapshot tests to webmin (#112518)
add snapshot tests to webmin
2024-03-06 20:22:08 +01:00
J. Nick Koston
0f3838e7a8 Fix sonos overloading the executor when there are many devices (#112482) 2024-03-06 08:55:47 -10:00
J. Nick Koston
7096701cab Use an eager task for Sonos async_update_device_properties (#112488)
If the device does not need to be polled for the battery state which
is only present on portable speakers, the task will never suspend
and never need to be scheduled on the event loop
2024-03-06 13:10:26 -05:00
Franck Nijhof
1aa5a07501 2024.3.0 (#112516) 2024-03-06 18:52:11 +01:00
Franck Nijhof
efe9938b33 Bump version to 2024.3.0 2024-03-06 18:37:11 +01:00
Erik Montnemery
770e48d512 Simplify color mode logic in Tuya light (#110327)
* Simplify color mode logic in Tuya light

* Remove exclusion from LightEntity.__should_report_light_issue

* Fix test
2024-03-06 18:28:12 +01:00
Joost Lekkerkerker
c8f39911cc Enable some PERF rules (#112498)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-03-06 17:50:41 +01:00
Joost Lekkerkerker
656ef143da Add icon translations to Wallbox (#112350)
* Add icon translations to Wallbox

* fix
2024-03-06 16:27:13 +01:00
Joost Lekkerkerker
f368457544 Add icon translations to Sonarr (#112233) 2024-03-06 16:05:35 +01:00
Franck Nijhof
1b64989909 Bump version to 2024.3.0b8 2024-03-06 15:03:47 +01:00
Erik Montnemery
b480b68e3e Allow start_time >= 1.1.7 (#112500) 2024-03-06 15:03:23 +01:00
Josef Zweck
5294b492fc Bump pytedee_async to 0.2.15 (#112495) 2024-03-06 15:03:19 +01:00
Bram Kragten
080fe4cf5f Update frontend to 20240306.0 (#112492) 2024-03-06 15:03:16 +01:00
Erik Montnemery
8b2f40390b Add custom integration block list (#112481)
* Add custom integration block list

* Fix typo

* Add version condition

* Add block reason, simplify blocked versions, add tests

* Change logic for OK versions

* Add link to custom integration's issue tracker

* Add missing file

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 15:01:25 +01:00
Thomas55555
3b63719fad Avoid errors when there is no internet connection in Husqvarna Automower (#111101)
* Avoid errors when no internet connection

* Add error

* Create task in HA

* change from matter to automower

* tests

* Update homeassistant/components/husqvarna_automower/coordinator.py

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

* address review

* Make websocket optional

* fix aioautomower version

* Fix tests

* Use stored websocket

* reset reconnect time after sucessful connection

* Typo

* Remove comment

* Add test

* Address review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 14:58:08 +01:00
Erik Montnemery
ffcb06beb9 Allow start_time >= 1.1.7 (#112500) 2024-03-06 14:56:50 +01:00
Josef Zweck
1daaffc01f Bump pytedee_async to 0.2.15 (#112495) 2024-03-06 14:24:53 +01:00
Joost Lekkerkerker
5400b4055a Remove entity description mixin in Dremel 3D Printer (#112405) 2024-03-06 14:24:05 +01:00
Joost Lekkerkerker
86503526ee Remove entity description mixin in EnergyZero (#112412) 2024-03-06 14:23:00 +01:00
Joost Lekkerkerker
0153c1840f Remove entity description mixin in EasyEnergy (#112407) 2024-03-06 14:22:50 +01:00
Erik Montnemery
807c3ca76b Add custom integration block list (#112481)
* Add custom integration block list

* Fix typo

* Add version condition

* Add block reason, simplify blocked versions, add tests

* Change logic for OK versions

* Add link to custom integration's issue tracker

* Add missing file

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 13:56:47 +01:00
Simone Chemelli
780428fde6 Disable Shelly diagnostic binary sensor (#112497) 2024-03-06 13:47:16 +01:00
Joost Lekkerkerker
0cdc90468e Add icon translations to Tailscale (#112302) 2024-03-06 13:38:32 +01:00
Joost Lekkerkerker
a23dbe4727 Add icon translations to Whois (#112356) 2024-03-06 13:36:01 +01:00
Joost Lekkerkerker
6be2fa1293 Add icon translations to Zerproc (#112366) 2024-03-06 13:35:08 +01:00
Joost Lekkerkerker
8440b57349 Remove entity description mixin in August (#112383) 2024-03-06 12:50:59 +01:00
Simone Chemelli
8cd98a5319 Add Shelly restart required binary sensor (#112493) 2024-03-06 12:37:15 +01:00
Joost Lekkerkerker
2684b1f772 Add icon translations to Insteon (#111844) 2024-03-06 12:37:06 +01:00
Joost Lekkerkerker
3e5fdfb570 Add icon translations to isy994 (#111847) 2024-03-06 12:36:59 +01:00
Joost Lekkerkerker
8557d03265 Add icon translations to iZone (#111848) 2024-03-06 12:36:51 +01:00
Joost Lekkerkerker
b07e9df308 Add icon translations to Starline (#112241) 2024-03-06 12:36:44 +01:00
Joost Lekkerkerker
e53dcea007 Add icon translations to Poolsense (#112184) 2024-03-06 12:36:35 +01:00
Joost Lekkerkerker
503d39ef0d Add icon translations to TP-Link Omada (#112318)
* Add icon translations to TP-Link Omada

* Add icon translations to TP-Link Omada
2024-03-06 12:36:20 +01:00
Joost Lekkerkerker
a4444925c8 Add icon translations to Transmission (#112324) 2024-03-06 12:36:01 +01:00
Joost Lekkerkerker
8946cfc1e9 Add icon translations to Tuya (#112326) 2024-03-06 12:35:47 +01:00
Joost Lekkerkerker
abf75c4faf Add icon translations to UPB (#112333) 2024-03-06 12:35:38 +01:00
Joost Lekkerkerker
dc2d83f131 Add icon translations to ViCare (#112346)
* Add icon translations to ViCare

* Add icon translations to ViCare
2024-03-06 12:35:30 +01:00
Joost Lekkerkerker
66fae7ff9d Add icon translations to Wilight (#112357) 2024-03-06 12:27:05 +01:00
Joost Lekkerkerker
1cc58f217b Add icon translations to Zodiac (#112369) 2024-03-06 12:26:45 +01:00
Joost Lekkerkerker
4a22415c2d Add icon translations to Zone (#112370) 2024-03-06 12:26:37 +01:00
Joost Lekkerkerker
e041c3aa0f Remove entity description mixin in EnOcean (#112483)
Remove entity description mixin in Enocean
2024-03-06 12:17:35 +01:00
Bram Kragten
3e7d42a83b Update frontend to 20240306.0 (#112492) 2024-03-06 12:16:29 +01:00
Joost Lekkerkerker
50a33c5a18 Fix typo in Reolink translation keys (#112489)
* Fix typo in Reolink translation keys

* Fix typo in Reolink translation keys
2024-03-06 12:14:21 +01:00
Joost Lekkerkerker
c00426293d Add icon translations to Twentemilieu (#112327) 2024-03-06 11:51:23 +01:00
Joost Lekkerkerker
c8f340966e Add icon translations to Elgato (#111423) 2024-03-06 11:49:36 +01:00
Joost Lekkerkerker
2c42517ac4 Add icon translations to Tailwind (#112303) 2024-03-06 11:37:05 +01:00
Joost Lekkerkerker
4d6a910e64 Remove constructor in WLED Options flow (#112456) 2024-03-06 11:33:02 +01:00
Thomas55555
0a11cb5382 Avoid errors when there is no internet connection in Husqvarna Automower (#111101)
* Avoid errors when no internet connection

* Add error

* Create task in HA

* change from matter to automower

* tests

* Update homeassistant/components/husqvarna_automower/coordinator.py

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

* address review

* Make websocket optional

* fix aioautomower version

* Fix tests

* Use stored websocket

* reset reconnect time after sucessful connection

* Typo

* Remove comment

* Add test

* Address review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 11:25:56 +01:00
Erik Montnemery
8c2c3e0839 Improve integration_entities template function (#111943) 2024-03-06 11:05:06 +01:00
Joost Lekkerkerker
09b1b40833 Add icon translations to Reolink (#112208)
* Add icon translations to Reolink

* Fix

* Update homeassistant/components/reolink/icons.json

Co-authored-by: starkillerOG <starkiller.og@gmail.com>

* Update homeassistant/components/reolink/icons.json

---------

Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2024-03-06 11:02:13 +01:00
Aidan Timson
2599252600 Post System Bridge 4.x.x integration improvements (#112189)
* Dont remove api key during migration

* Fix return

* Fix test

* Make lambda more readable

* Move fixtures to init, move migration test to test_init.py

* Refactor config_entry data assignment

* Refactor system_bridge migration tests

* Fix type for debug message

* Fix type for debug message

* Remove duplicated unused code (rebase error)

* Refactor test_migration_minor_2_to_1 to test_migration_minor_future_to_2

* Fix version check in async_migrate_entry

* Update migration logic to handle future minor version

* Add ConfigEntryState assertion in test_init.py

* Change condition to minor_version < 2

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

* Refactor system bridge migration tests

* Remove minor downgrade code

* Update tests/components/system_bridge/test_init.py

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

* Update tests/components/system_bridge/test_init.py

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

* Apply suggestions from code review

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

* Move dataclass to store requested data to data.py

* Use dataclass in config flow

* Move media player and sensor onto data.py dataclass

* Move data and handler inside validate

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 10:47:21 +01:00
Joost Lekkerkerker
39cad5f1ee Remove entity description mixin in Enphase Envoy (#112486) 2024-03-05 23:42:07 -10:00
dependabot[bot]
8e26e36033 Bump Wandalen/wretry.action from 1.4.4 to 1.4.5 (#111700)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-03-06 10:34:48 +01:00
J. Nick Koston
87a82e0562 Fix detection of DLI sockets in wemo (#112485) 2024-03-06 10:34:18 +01:00
J. Nick Koston
72ac2f127f Wait to start emulated_hue until the started event (#112477) 2024-03-05 22:25:11 -10:00
Jan-Philipp Benecke
8770a50859 Remove deprecated hass.components usage in mobile_app (#111888) 2024-03-06 09:11:31 +01:00
Brett Adams
f801ec45ce Bump tesla-fleet-api to 0.4.9 (#112288)
* Bump to 0.4.9

* Use SubscriptionRequired instead of PaymentRequired
2024-03-06 09:09:15 +01:00
Jan-Philipp Benecke
995d93dd33 Remove deprecated hass.components usage in config entry flow (#111880)
* Remove deprecated `hass.components` usage in config entry flow

* Do local import

* Also use local import for webhook
2024-03-06 09:07:09 +01:00
steffenrapp
64dcc4606f Deprecate attributes of Nuki entities (#111419)
* Remove attributes from Nuki entities

* Comment about deprecation

* Update homeassistant/components/nuki/binary_sensor.py

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

* Update homeassistant/components/nuki/binary_sensor.py

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

* Update homeassistant/components/nuki/lock.py

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

* Update homeassistant/components/nuki/sensor.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-06 09:01:14 +01:00
starkillerOG
403b47f712 Add Reolink play quick reply message (#112134) 2024-03-06 08:55:49 +01:00
J. Nick Koston
f3a9756f81 Avoid waiting for integration platforms in the parent integration (#112467) 2024-03-05 21:16:42 -10:00
J. Nick Koston
87739bc072 Add test to ensure bootstrap continues if an integraton raises CancelledError (#112472) 2024-03-05 19:34:16 -10:00
Joost Lekkerkerker
eef661c917 Add icon translations to V2C (#112338) 2024-03-06 06:32:47 +01:00
Joost Lekkerkerker
8d6205cedd Add icon translations to iBeacon (#111811)
* Add icon translations to iBeacon

* Add icon translations to iBeacon
2024-03-06 06:32:31 +01:00
Joost Lekkerkerker
addd957091 Use default icon for Lupusec (#111901) 2024-03-06 06:32:19 +01:00
Joost Lekkerkerker
2ed9c26c22 Add icon translations to Tami4 (#112304) 2024-03-06 06:32:09 +01:00
Joost Lekkerkerker
fdb85f9e9e Add icon translations to TechnoVE (#112306)
* Add icon translations to TechnoVE

* Add icon translations to TechnoVE
2024-03-06 06:31:58 +01:00
Joost Lekkerkerker
70c0f3e207 Add icon translations to Totalconnect (#112316) 2024-03-06 06:31:46 +01:00
Joost Lekkerkerker
f357e13e3d Add icon translations to UPnP (#112335)
* Add icon translations to UPnP

* Add icon translations to UPnP
2024-03-06 06:31:37 +01:00
Joost Lekkerkerker
421014bf8d Add icon translations to Tradfri (#112319) 2024-03-06 06:31:22 +01:00
Joost Lekkerkerker
7f6c6e39c0 Add icon translations to Velux (#112341) 2024-03-06 06:31:08 +01:00
Joost Lekkerkerker
af95d9058f Add icon translations to Vesync (#112344) 2024-03-06 06:30:58 +01:00
Joost Lekkerkerker
102dbdabb5 Add icon translations to Weatherflow (#112353) 2024-03-06 06:30:46 +01:00
Joost Lekkerkerker
9d89adb3d0 Add icon translations to iCloud (#111812) 2024-03-06 06:30:34 +01:00
Joost Lekkerkerker
661209111c Add icon translations to Tado (#112301) 2024-03-06 06:30:21 +01:00
Martin Eberhardt
f12d5ba368 Remove myself as maintainer of the Rejseplanen integration (#112426)
* Remove myself as maintainer of the Rejseplanen integration

Unfortunately I don't have the time or energy to maintain the integration.

I have made a post on the Danish HA Facebook group, encouraging someone to take over. https://www.facebook.com/groups/209025039666209/posts/1515990205636346/

* Update CODEOWNERS
2024-03-06 06:30:10 +01:00
Joost Lekkerkerker
48f1b08e4b Add icon translations to Zeversolar (#112367) 2024-03-06 06:27:15 +01:00
J. Nick Koston
8fe80a4766 Migrate remaining get_platform in check_config to async_get_platform (#112470)
These were very likely to be cached so they were low on the
list to migrate, but since they are called in the event loop
its best to be sure we do no blocking I/O
2024-03-05 23:47:41 -05:00
J. Nick Koston
0f69a0647c Migrate remaining get_platform in config to async_get_platform (#112469)
This was the only remaining case where blocking I/O might have happened
in config. It was unlikely though as async_get_component should have
pre-imported the config platform
2024-03-05 23:47:11 -05:00
J. Nick Koston
982c8f8f4a Fix incorrect scope on checking files to load in translations (#112457)
discovered in https://github.com/home-assistant/core/pull/112295#discussion_r1513505710

We only checked if the last language had files to load
instead of all of them. The checks for each language
are the same because the only reason we would skip
a language is a missing/broken integration or the integration
is a single file. Both of these loop conditions are always
the same reguardless of the language so the check worked
2024-03-05 23:46:24 -05:00
Paulus Schoutsen
061ae756ac Bump version to 2024.3.0b7 2024-03-05 23:43:11 -05:00
Matthias Alphart
862bd8ff07 Update xknx to 2.12.2 - Fix thread leak on unsuccessful connections (#112450)
Update xknx to 2.12.2
2024-03-05 23:43:07 -05:00
G Johansson
742710443a Bump holidays to 0.44 (#112442) 2024-03-05 23:43:06 -05:00
Robert Svensson
015aeadf88 Fix handling missing parameter by bumping axis library to v50 (#112437)
Fix handling missing parameter
2024-03-05 23:43:05 -05:00
Robert Svensson
b8b654a160 Do not use list comprehension in async_add_entities in Unifi (#112435)
Do not use list comprehension in async_add_entities
2024-03-05 23:43:04 -05:00
jan iversen
3c5b5ca49b Allow duplicate modbus addresses on different devices (#112434) 2024-03-05 23:43:04 -05:00
Mr. Bubbles
fb789d95ed Bump bring-api to 0.5.5 (#112266)
Fix KeyError listArticleLanguage
2024-03-05 23:43:03 -05:00
Álvaro Fernández Rojas
2e6906c8d4 Update aioairzone to v0.7.6 (#112264)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-05 23:43:02 -05:00
Luke Lashley
cc8d44bbd1 Bump python_roborock to 0.40.0 (#112238)
* bump to python_roborock 0.40.0

* manifest went away in merge?
2024-03-05 23:43:01 -05:00
Robert Svensson
0ad56de6fc Fix deCONZ light entity might not report a supported color mode (#112116)
* Handle case where deCONZ light entity might not report a supported color mode

* If in an unknown color mode set ColorMode.UNKNOWN

* Fix comment from external discussion
2024-03-05 23:43:00 -05:00
G Johansson
f5700aa318 Bump holidays to 0.44 (#112442) 2024-03-05 21:43:58 -05:00
Robert Svensson
fe0ba1141d Fix handling missing parameter by bumping axis library to v50 (#112437)
Fix handling missing parameter
2024-03-05 21:41:20 -05:00
J. Nick Koston
2c13a81086 Load network storage in a task to reduce startup time (#112460)
We waited for these in series but they are not dependant on
each other
2024-03-05 21:32:23 -05:00
J. Nick Koston
9be4fb0574 Start fetching the source ip sooner in http to reduce setup time (#112461) 2024-03-05 21:32:02 -05:00
J. Nick Koston
aa216f0298 Add system_health to the hassio pre-imports to avoid a late executor job (#112466)
* Add system_health to the hassio pre-imports to avoid a late executor job

`2024-03-05 17:01:33.034 DEBUG (MainThread) [homeassistant.loader] Importing platforms for hassio executor=[system_health] loop=[] took 0.12s`

This one does not take that much time but it happens at a time where
the import executor is the most busy during startup

* key

* move patch as its too early now
2024-03-05 21:31:38 -05:00
J. Nick Koston
e568f867d2 Adjust MAX_LOAD_CONCURRENTLY constant to allow 6 storage loaders (#112468) 2024-03-05 16:31:10 -10:00
J. Nick Koston
3f9dbd3e25 Fix config modules being imported in the event loop (#112462)
* Fix config modules being imported in the event loop

There was a late import in this integration because of the circular import.

The code has been rearranged to avoid the circular imports

* fixes

* fixes

* fix patching

* make eager

* remove unrelated change from this branch
2024-03-05 21:18:57 -05:00
Joost Lekkerkerker
f03be2fd9e Remove entity description mixin in BAF (#112386) 2024-03-05 14:59:07 -10:00
Jan-Philipp Benecke
fc732ecf17 Remove list comprehension when adding entities in Vallox (#112446) 2024-03-05 23:42:47 +01:00
Matthias Alphart
862d04c035 Update xknx to 2.12.2 - Fix thread leak on unsuccessful connections (#112450)
Update xknx to 2.12.2
2024-03-05 23:35:22 +01:00
J. Nick Koston
fbabbc8f92 Limit legacy state translations to custom components (#112295)
* Limit legacy state translations to custom components

We were trying to load **thousands** of `*.light.json`, `*.switch.json` files at run time that did not exist.

There have been replaced with entity translations: https://github.com/home-assistant/developers.home-assistant/pull/1557 https://github.com/home-assistant/core/pull/82701

https://github.com/home-assistant/core/pull/112023 will completely remove them, but
for now we will only load them for custom components to reduce the number
of files having to be examined

* reduce

* reduce

* reduce

* reduce

* comment

* coverage

* try to remove empty dict in loaded_translations fallback when missing
2024-03-05 17:27:45 -05:00
J. Nick Koston
d34e2c1f12 Pre import webhook before asyncio starts (#112441)
This one ends in stage 1 and other components have to wait
for it to be imported. Its cheap to import but it ends up
at the end of the line which means other end up waiting for
it which is time we could be doing startup work

`2024-03-04 23:13:04.347 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 1: {usb, websocket_api, webhook, zeroconf, bluetooth, ssdp, dhcp, cloud, network, api, http, hassio}`

It currently always has a wait time for the import executor

`2024-03-04 23:13:04.496 DEBUG (MainThread) [homeassistant.loader] Component webhook import took 0.146 seconds (loaded_executor=True)`
2024-03-05 17:23:18 -05:00
J. Nick Koston
73e1f8a7e5 Pre import image_upload to avoid loading it after asyncio has started (#112444)
image_upload will always be setup because its a dep of person
and since person is a dep of onboarding which is a dep of
frontend its already a base requirement for homeassistant.

Pillow is now listed as a requirement for homeassistant
so we can be sure it installed by the time bootstrap is
loaded

image_upload loading is currently a bottleneck to
get the frontend loaded because it has to load in the
import executor when everything is busy early in startup
2024-03-05 17:22:59 -05:00
J. Nick Koston
235771aaa2 Bump SQLAlchemy to 2.0.28 (#112314) 2024-03-05 12:14:30 -10:00
dependabot[bot]
a7f84c577d Bump dorny/paths-filter from 3.0.1 to 3.0.2 (#112158) 2024-03-05 23:05:24 +01:00
Erik Montnemery
3d3e9900c3 Add TypeVar default for FlowResult (#112345)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-03-05 22:52:11 +01:00
Joost Lekkerkerker
33fe6ad647 Add icon translations to Tomorrowio (#112315) 2024-03-05 16:37:53 -05:00
jan iversen
4a1681bb4b Allow duplicate modbus addresses on different devices (#112434) 2024-03-05 22:11:04 +01:00
Joost Lekkerkerker
dd3c11f179 Remove entity description mixin in Ecoforest (#112409) 2024-03-05 22:05:14 +01:00
Joost Lekkerkerker
362a10e82e Remove entity description mixin in Doorbird (#112400) 2024-03-05 21:59:48 +01:00
Joost Lekkerkerker
4cf900911b Remove entity description mixin in Daikin (#112398) 2024-03-05 21:59:11 +01:00
Joost Lekkerkerker
05628ecb2f Remove entity description mixin in Comfoconnect (#112397) 2024-03-05 21:55:45 +01:00
Joost Lekkerkerker
96e582c1b7 Remove entity description mixin in Awair (#112384) 2024-03-05 21:54:52 +01:00
Joost Lekkerkerker
066f227476 Remove entity description mixin in Aseko (#112382) 2024-03-05 21:52:06 +01:00
Joost Lekkerkerker
71be56e1fd Remove entity description mixin in Android IP Webcam (#112380) 2024-03-05 21:51:12 +01:00
Joost Lekkerkerker
d369447961 Add icon translations to Twitch (#112329) 2024-03-05 21:50:32 +01:00
Joost Lekkerkerker
cde1273399 Add icon translations to Ukraine Alarm (#112330) 2024-03-05 21:49:39 +01:00
Joost Lekkerkerker
928e95781e Add icon translations to Velbus (#112340) 2024-03-05 21:47:55 +01:00
Joost Lekkerkerker
d7d2a28f5e Remove entity description mixin in Abode (#112374) 2024-03-05 21:47:43 +01:00
Joost Lekkerkerker
75df17a8bb Add icon translations to Vallox (#112339) 2024-03-05 21:46:59 +01:00
Joost Lekkerkerker
aab2c91c87 Add icon translations to Verisure (#112342) 2024-03-05 21:45:48 +01:00
Joost Lekkerkerker
f1e564fb47 Add icon translations to Vilfo (#112347) 2024-03-05 21:45:19 +01:00
Joost Lekkerkerker
153b1947fa Remove entity description mixin in AirNow (#112376) 2024-03-05 21:43:48 +01:00
Daniel Shokouhi
7e5a59756e Remove myself as a codeowner for neato (#112410)
* Remove myself as a codeowner for neato

* Update CODEOWNERS from hassfest
2024-03-05 21:40:51 +01:00
G Johansson
4bdcab7cc2 Rename reconfigure step in apple_tv (#112438) 2024-03-05 21:36:46 +01:00
Robert Svensson
7c9891fff9 Break out UniFi config handling to own class (#111325) 2024-03-05 21:36:26 +01:00
Joost Lekkerkerker
ed23bb7c04 Small cleanup in Dexcom (#112425) 2024-03-05 21:36:11 +01:00
Joost Lekkerkerker
5dea902a9c Add icon translations to Azure DevOps (#112436) 2024-03-05 21:34:50 +01:00
Jan-Philipp Benecke
dda0f0d9aa Remove the deprecated YAML support for Aftership (#112390) 2024-03-05 21:28:50 +01:00
Robert Svensson
1bac51142d Do not use list comprehension in async_add_entities in Unifi (#112435)
Do not use list comprehension in async_add_entities
2024-03-05 21:13:14 +01:00
Jan-Philipp Benecke
968f5f1a34 Remove list comprehension when adding entities in Wallbox (#112433) 2024-03-05 22:10:30 +02:00
Jan-Philipp Benecke
b025d6c6f2 Remove list comprehension when adding entities in Smartthings (#112432) 2024-03-05 21:10:02 +01:00
Joost Lekkerkerker
9a24e97ecb Remove entity description mixin in Devolo Home Network (#112399)
* Remove entity description mixin in Devolo Home Network

* Fix
2024-03-05 21:08:57 +01:00
Joost Lekkerkerker
32bb33c55e Migrate Azure DevOps to has entity name (#112420) 2024-03-05 21:06:13 +01:00
Joost Lekkerkerker
ff21a2fcca Remove entity description mixin in Electric Kiwi (#112411) 2024-03-05 20:47:01 +01:00
Jan-Philipp Benecke
85edafa887 Remove list comprehension when adding entities in opengarage (#112430) 2024-03-05 20:46:43 +01:00
Jan-Philipp Benecke
3cfe346656 Remove list comprehension when adding entities in Nextcloud (#112429) 2024-03-05 20:44:50 +01:00
Joost Lekkerkerker
1824ff6438 Remove entity description mixin in Airzone (#112378) 2024-03-05 19:21:11 +01:00
Erik Montnemery
a515603aaf Add button to homeworks (#112269) 2024-03-05 19:10:13 +01:00
Joost Lekkerkerker
8e2de51710 Remove entity description mixin in Dormakaba dKey (#112401) 2024-03-05 19:07:45 +01:00
Martin Hjelmare
4d82ea516a Add comments why we use loop.create_task in core (#112372) 2024-03-05 07:47:35 -10:00
Joost Lekkerkerker
017b2623e8 Remove entity description mixin in Azure DevOps (#112385) 2024-03-05 18:36:58 +01:00
Joost Lekkerkerker
c06ab0bddf Remove entity description mixin in Aladdin Connect (#112379)
* Remove entity description mixin in Aladdin Connect

* Remove entity description mixin in Aladdin Connect
2024-03-05 18:32:35 +01:00
Joost Lekkerkerker
900112b1e8 Remove entity description mixin in AirQ (#112377) 2024-03-05 18:30:42 +01:00
Joost Lekkerkerker
e076b6aacf Add icon translations to Vodafone Station (#112349) 2024-03-05 18:27:31 +01:00
Joost Lekkerkerker
4a7eab92bb Remove entity description mixin in Ecobee (#112408) 2024-03-05 18:27:18 +01:00
Joost Lekkerkerker
a626a698f0 Remove entity description mixin in Dovado (#112402) 2024-03-05 18:26:20 +01:00
Joost Lekkerkerker
59eac48e33 Remove entity description mixin in Bosch SHC (#112394) 2024-03-05 18:14:41 +01:00
Joost Lekkerkerker
b9ef27799b Remove entity description mixin in Bond (#112393) 2024-03-05 18:12:10 +01:00
Joost Lekkerkerker
cb397cecb1 Remove entity description mixin in BMW (#112391) 2024-03-05 18:11:30 +01:00
Joost Lekkerkerker
7cef704220 Remove entity description mixin in Balboa (#112389) 2024-03-05 18:10:00 +01:00
Joost Lekkerkerker
b0011d903e Add icon translations to Vizio (#112348) 2024-03-05 17:30:26 +01:00
Joost Lekkerkerker
38a6b45f60 Remove entity description mixin in Brother (#112396) 2024-03-05 17:29:40 +01:00
Joost Lekkerkerker
e160d036d9 Remove entity description mixin in Bravia TV (#112395)
* Remove entity description mixin in Bravia TV

* Remove entity description mixin in Bravia TV
2024-03-05 17:29:28 +01:00
Franck Nijhof
e8f2f639c7 Merge branch 'master' into dev 2024-03-05 17:09:15 +01:00
Joost Lekkerkerker
0b113b6b71 Remove entity description mixin in Accuweather (#112375) 2024-03-05 16:20:29 +01:00
J. Nick Koston
946572e382 Simplify loader preload logic for config_flows (#112290)
We previously checked Integration.config_flow to see if we should
pre-import the config flow, but this is now always set for some
integration like `homeassistant_green`, `hassio`, etc. Instead
we can add it to the rest of the platforms since we already know
which files exist. This simplifies the logic and ensures the pre-import
still happens if the file is there even if its not listed in the
manifest

`2024-03-04 22:54:31.906 DEBUG (MainThread) [homeassistant.loader] Importing platforms for homeassistant_green executor=[config_flow] loop=[] took 2.74s`
2024-03-05 10:02:23 -05:00
J. Nick Koston
a277d0c4b5 Migrate system flows to use the discovery helper (#112291)
Ensures we are not creating new flows or loading
their platforms until the started event
once the import executor has clamed down
2024-03-05 10:01:31 -05:00
J. Nick Koston
7cb8a8bbc9 Migrate remaining calls in config modules to async_get_component (#112293)
* Migrate remaining calls in config modules to async_get_component

There were a few cases that were still using get_component that
could have done blocking I/O in the event loop, although it
was unlikely.

The caching check in async_get_component has been moved
up to avoid creating the future if the module is already in
the cache

* fix one more
2024-03-05 09:59:52 -05:00
J. Nick Koston
390f5822fe Initialize triggers eagerly (#112294)
Most of these will never suspend and do not need
to be scheduled as tasks on the event loop
2024-03-05 09:58:43 -05:00
Joost Lekkerkerker
dca7083026 Add icon translations to Uptimerobot (#112336)
* Add icon translations to Uptimerobot

* Add icon translations to Uptimerobot
2024-03-05 15:32:12 +01:00
Joost Lekkerkerker
4fcc446255 Add icon translations to Watttime (#112351) 2024-03-05 15:03:22 +01:00
Joost Lekkerkerker
d0a66b3265 Add icon translations to WebOS TV (#112355)
* Add icon translations to WebOS TV

* Update homeassistant/components/webostv/icons.json

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

* Update homeassistant/components/webostv/icons.json

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

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-03-05 14:59:09 +01:00
fwestenberg
385b29bdf5 Add Beaufort to wind_speed (#105795)
* Add Beaufort to wind_speed

* Add Bft to UnitOfSpeed

* Update tests with Bft

* Remove check for unit

* Fix test_deprecated_constants

* Test depricated constant Beaufort

* Fix test_unit_system.py for Beaufort

* Remove _DEPRECATED_SPEED_FEET_BEAUFORT

* Remove maxsize from lru_cache

* Update test_deprecated_constants

* Update comment

* Add missing docstring

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-05 14:55:59 +01:00
J. Nick Koston
f3eb292c2d Remove async_entity_ids and get_entity_ids from entity registry (#112311)
added in #112277 but not used yet.
2024-03-05 14:50:41 +01:00
Aidan Timson
b070bb25a6 Add support for System Bridge service responses (#100055)
* Add support for System Bridge service responses

* Update conversion to use dataclass

* Update debug statements

* Update debug message
2024-03-05 14:30:53 +01:00
Álvaro Fernández Rojas
bf596562bf Update aioairzone-cloud to v0.4.6 (#112198)
This adds Cloud Push related functionality.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-05 15:25:15 +02:00
Joost Lekkerkerker
d3f28718ec Add icon translations to Tedee (#112307)
* Add icon translations to Tedee

* Add icon translations to Tedee
2024-03-05 14:20:59 +01:00
Joost Lekkerkerker
446314bb27 Add icon translations to Syncthing (#112297) 2024-03-05 14:20:50 +01:00
Joost Lekkerkerker
2c34c918fc Add icon translations to Template (#112308) 2024-03-05 14:20:41 +01:00
Joost Lekkerkerker
96fbaa4000 Add icon translations to Todoist (#112312) 2024-03-05 14:20:32 +01:00
Joost Lekkerkerker
7aca347db5 Add icon translations to Tile (#112310) 2024-03-05 14:20:23 +01:00
Joost Lekkerkerker
a13304be5c Add icon translations to Tolo (#112313) 2024-03-05 14:20:12 +01:00
Joost Lekkerkerker
d923b56f9f Add icon translations to Tesla Wall Connector (#112309) 2024-03-05 14:20:03 +01:00
Joost Lekkerkerker
c8a30cfda7 Add icon translations to TP-Link (#112317) 2024-03-05 14:19:08 +01:00
Joost Lekkerkerker
98fa4b3d3c Add icon translations to Trend (#112325) 2024-03-05 14:19:01 +01:00
Joost Lekkerkerker
f0679f6689 Add icon translations to Synology DSM (#112299) 2024-03-05 14:17:24 +01:00
Joost Lekkerkerker
0b6d004b9c Add icon translations to Weatherkit (#112354) 2024-03-05 14:05:13 +01:00
Joost Lekkerkerker
835cce4de9 Add icon translations to Xiaomi Aqara (#112360) 2024-03-05 14:03:51 +01:00
Joost Lekkerkerker
810dd0d643 Add icon translations to Yardian (#112362) 2024-03-05 14:01:09 +01:00
Joost Lekkerkerker
f81b1819b0 Add icon translations to YoLink (#112364) 2024-03-05 14:00:31 +01:00
Joost Lekkerkerker
afdb7d15ca Add icon translations to YouTube (#112365)
* Add icon translations to YouTube

* Add icon translations to YouTube
2024-03-05 13:59:08 +01:00
Joost Lekkerkerker
a26e52aa0c Add icon translations to Yale (#112361) 2024-03-05 13:58:02 +01:00
Joost Lekkerkerker
de803349fb Add icon translations to Workday (#112359) 2024-03-05 13:57:27 +01:00
Joost Lekkerkerker
cd967c1af4 Add icon translations to Trafikverket Weather station (#112323) 2024-03-05 13:00:10 +01:00
Joost Lekkerkerker
54a5820c3e Add icon translations to Trafikverket Camera (#112320) 2024-03-05 12:59:30 +01:00
Joost Lekkerkerker
d9e9b55a4b Add icon translations to Trafikverket Ferry (#112321)
* Add icon translations to Trafikverket Ferry

* Add icon translations to Trafikverket Ferry
2024-03-05 12:58:51 +01:00
Joost Lekkerkerker
6e99ca0d8a Add icon translations to Trafikverket Train (#112322)
* Add icon translations to Trafikverket Train

* Add icon translations to Trafikverket Train
2024-03-05 12:58:19 +01:00
Joost Lekkerkerker
bd3add2cad Add icon translations to Tautulli (#112305)
* Add icon translations to Tautulli

* Add icon translations to Tautulli
2024-03-05 12:26:10 +01:00
Robert Svensson
4437b3bc97 Fix deCONZ light entity might not report a supported color mode (#112116)
* Handle case where deCONZ light entity might not report a supported color mode

* If in an unknown color mode set ColorMode.UNKNOWN

* Fix comment from external discussion
2024-03-05 11:55:22 +01:00
Joost Lekkerkerker
0b4fafddbc Add icon translations to Systemmonitor (#112300)
* Add icon translations to Systemmonitor

* Add icon translations to Systemmonitor
2024-03-05 11:52:50 +01:00
Joost Lekkerkerker
33c1e7d45d Add icon translations to Switcher kis (#112296) 2024-03-05 12:34:18 +02:00
Allen Porter
2e65952eae Cleanup rainbird aiohttp client cleanup on EVENT_HOMEASSISTANT_CLOSE (#112292)
* Add rainbird aiohttp client cleanup for EVENT_HOMEASSISTANT_CLOSE

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-03-05 09:35:00 +01:00
Joost Lekkerkerker
1feeeb8608 Add icon translations to Plex (#112182) 2024-03-05 09:20:00 +01:00
Joost Lekkerkerker
48de304465 Add icon translations to Permobil (#112170) 2024-03-05 09:19:52 +01:00
Joost Lekkerkerker
b0136ee244 Add icon translations to PECO (#112169) 2024-03-05 09:19:37 +01:00
Joost Lekkerkerker
2397501776 Add icon translations to Pi-hole (#112180) 2024-03-05 09:19:27 +01:00
Joost Lekkerkerker
1d936e9bbf Add icon translations to Shopping list (#112223) 2024-03-05 09:19:19 +01:00
Joost Lekkerkerker
fe60cdd821 Use default icon in Romy (#112215) 2024-03-05 08:51:11 +01:00
Joost Lekkerkerker
14eba0e7ad Add icon translations to Speedtestdotnet (#112237) 2024-03-05 08:50:59 +01:00
Joost Lekkerkerker
0e0c1d337f Add icon translations to P1 monitor (#111998)
* Add icon translations to P1 monitor

* Add icon translations to P1 monitor
2024-03-05 08:50:46 +01:00
Jan Bouwhuis
0c2cf881ac Deprecate old config options for MQTT json light (#111676)
* add deprecaction

* Deprecate old config options for mqtt json light

* Do not deprecate brightness flag

* Enable brightness support by default

* Keep `false` as default for brightness flag

* Add warnings and register issue

* log warning and register on use of color_mode flag

* Remove redundant cv.deprecated logging + follow up comments
2024-03-05 08:49:05 +01:00
Joost Lekkerkerker
4f9d8d3048 Add icon translations to Subaru (#112252) 2024-03-05 08:47:28 +01:00
Joost Lekkerkerker
3005c92585 Add icon translations to Soundtouch (#112236) 2024-03-05 08:47:17 +01:00
Joost Lekkerkerker
ee9802534a Add icon translations to Solaredge (#112231) 2024-03-05 08:47:00 +01:00
Joost Lekkerkerker
0724a06d3a Add icon translations to Snooz (#112230) 2024-03-05 08:46:49 +01:00
Joost Lekkerkerker
79fcedef15 Add icon translations to Skybell (#112225) 2024-03-05 08:46:38 +01:00
Joost Lekkerkerker
ddcb38289e Add icon translations to Roomba (#112217) 2024-03-05 08:46:25 +01:00
Joost Lekkerkerker
b8be90efa8 Add icon translations to Rituals perfume genie (#112213)
* Add icon translations to Rituals perfume genie

* Add icon translations to Rituals perfume genie
2024-03-05 08:45:47 +01:00
Joost Lekkerkerker
a3a758bd17 Add icon translations to Ring (#112212)
* Add icon translations to Ring

* Add icon translations to Ring
2024-03-05 08:45:33 +01:00
Joost Lekkerkerker
85aedbc200 Add icon translations to Renson (#112207) 2024-03-05 08:45:22 +01:00
Joost Lekkerkerker
926159ab9a Add icon translations to RDW (#112203)
* Add icon translations to RDW

* Add icon translations to RDW
2024-03-05 08:45:10 +01:00
Joost Lekkerkerker
161d31d789 Add icon translations to Radiotherm (#112197) 2024-03-05 08:44:57 +01:00
Joost Lekkerkerker
053649faa5 Add icon translations to Radarr (#112196) 2024-03-05 08:44:42 +01:00
Joost Lekkerkerker
2ae90d5eed Add icon translations to Rachio (#112195) 2024-03-05 08:44:30 +01:00
Joost Lekkerkerker
982dab3849 Add icon translations to QNap QSW (#112194) 2024-03-05 08:44:17 +01:00
Joost Lekkerkerker
223be9c788 Add icon translations to QBittorrent (#112193) 2024-03-05 08:44:04 +01:00
Joost Lekkerkerker
30a8c1739f Add icon translations to PS4 (#112190) 2024-03-05 08:43:50 +01:00
Joost Lekkerkerker
2585b240d3 Add icon translations to Prusalink (#112188) 2024-03-05 08:43:37 +01:00
Joost Lekkerkerker
85aadb2a20 Add icon translations to Prosegur (#112187) 2024-03-05 08:43:23 +01:00
Joost Lekkerkerker
ab06f54544 Add icon translations to Profiler (#112186) 2024-03-05 08:43:10 +01:00
Joost Lekkerkerker
fb5e5221ae Add icon translations to Plum lightpad (#112183) 2024-03-05 08:42:59 +01:00
Joost Lekkerkerker
cb3c7f6b0a Add icon translations to Rainforest Raven (#112201) 2024-03-05 08:42:45 +01:00
Joost Lekkerkerker
4cb8df0951 Add icon translations to SMS (#112228) 2024-03-05 08:42:25 +01:00
Robert Svensson
ab4750c2ea Remove unnecessary access to UniFi hub object in tests (#112275)
* Remove unnecessary access to UniFi hub object

* Split strings

* Skip + on concatenating f-strings

* Use single quotes inside double quotes
2024-03-05 08:23:17 +01:00
J. Nick Koston
8b017016b0 Refactor integration platforms to import in the executor (#112168)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 19:21:18 -10:00
Joost Lekkerkerker
a9caa3e582 Add icon translations to Elkm1 (#111512) 2024-03-04 18:45:03 -10:00
J. Nick Koston
1e173e82d0 Add support for preloading platforms in the loader (#112282)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 16:33:12 -10:00
Mr. Bubbles
d0c81f7d00 Bump bring-api to 0.5.5 (#112266)
Fix KeyError listArticleLanguage
2024-03-04 21:19:26 -05:00
J. Nick Koston
e26c5f5d29 Ensure hassio diagnostics get imported with the integration (#112286) 2024-03-04 16:07:07 -10:00
J. Nick Koston
2c179dc5fb Reduce some linear searches to cleanup the device registry (#112277)
Some of the data we had to search for was already available
in a dict or underlying data structure. Make it available
instead of having to build it every time.

There are more places these can be used, but I only did
the device registry cleanup for now
2024-03-04 20:59:12 -05:00
Marc Mueller
e357c4d5e5 Update pytest to 8.1.0 (#112173) 2024-03-04 23:58:20 +01:00
Robert Svensson
8777606c6f Remove callback decorator from coroutine (#112276) 2024-03-04 15:40:13 -05:00
Luke Lashley
59df20f1d4 Bump python_roborock to 0.40.0 (#112238)
* bump to python_roborock 0.40.0

* manifest went away in merge?
2024-03-04 20:28:53 +01:00
Joost Lekkerkerker
f7acb7c91b Add icon translations to Spotify (#112239) 2024-03-04 20:27:08 +01:00
Joost Lekkerkerker
cfd88d004b Add icon translations to Sure Petcare (#112253) 2024-03-04 20:26:42 +01:00
Isak Nyberg
0663a4be3b Add permobil binary sensor (#112130)
* add binary sensor

* remove _LOGGER and mixin
2024-03-04 20:11:14 +01:00
Joost Lekkerkerker
119df48aac Add icon translations to Streamlabswater (#112247) 2024-03-04 20:08:37 +01:00
Joost Lekkerkerker
fdd264194b Add icon translations to Squeezebox (#112240) 2024-03-04 20:05:59 +01:00
Joost Lekkerkerker
c5e11a00ba Add icon translations to Starlink (#112244) 2024-03-04 20:05:15 +01:00
Joost Lekkerkerker
55d4299269 Add icon translations to Steamist (#112246) 2024-03-04 20:04:13 +01:00
Erik Montnemery
32964a2e90 Add device and enable entity name for Lutron homeworks (#112268) 2024-03-04 19:50:49 +01:00
Erik Montnemery
68141873cd Enable strict typing of homeworks (#112267) 2024-03-04 19:50:33 +01:00
Jeef
7406ae31f6 Weatherflow_cloud backing lib bump (#112262)
Backing lib bump
2024-03-04 13:35:50 -05:00
Álvaro Fernández Rojas
6544e91f62 Update aioairzone to v0.7.6 (#112264)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-04 13:34:53 -05:00
Erik Montnemery
7e7f25c859 Add config flow to homeworks (#112042) 2024-03-04 19:09:39 +01:00
Paulus Schoutsen
dedd7a5a41 Bump version to 2024.3.0b6 2024-03-04 13:04:03 -05:00
Paul Bottein
44c961720c Update frontend to 20240304.0 (#112263) 2024-03-04 13:03:50 -05:00
Allen Porter
79b1d6df1b Add rainbird request debouncer and immediately update entity switch state (#112152) 2024-03-04 13:03:49 -05:00
Allen Porter
274ab2328e Limit rainbird aiohttp client session to a single connection (#112146)
Limit rainbird to a single open http connection
2024-03-04 13:03:48 -05:00
David F. Mulcahey
93ee900cb3 Fix ZHA groups page (#112140)
* Fix ZHA groups page

* test
2024-03-04 13:02:23 -05:00
Michael
62474967c9 Ignore failing gas stations in Tankerkoening (#112125) 2024-03-04 13:02:22 -05:00
starkillerOG
2cdc8d5f69 Bump reolink-aio to 0.8.9 (#112124)
* Update strings.json

* Bump reolink-aio to 0.8.9
2024-03-04 13:02:21 -05:00
David F. Mulcahey
4863c94824 Bump Zigpy to 0.63.4 (#112117) 2024-03-04 13:02:20 -05:00
Mr. Bubbles
193332da74 Bump bring-api to 0.5.4 (#111654) 2024-03-04 13:02:20 -05:00
Christopher Fenner
9926296d35 Handle exception in ViCare integration (#111128) 2024-03-04 13:02:19 -05:00
Brett Adams
b5528de807 Add sensor platform to Teslemetry (#109088)
* Adding Energy

* Adding Energy

* Work in progress

* Add fixtures

* Add product info

* Add sensors

* Add icons

* Update metadata

* Use SensorEntityDescription for Energy

* Use ENERGY_STORAGE

* Add tests

* Fix coverage

* Update wall connector precision and units

* Change devices

* Fix serial number

* Add icons and VIN to wall connector

* Fix serial number again

* Update snapshots

* Use timestamp for minutes to arrival

* Cleanup snapshot

* Improvements

* Update fixture

* Add "code" to translations

* Add "code" to snapshot

* Use async_add_entities once

* Disable a bunch of sensors

* Ruff

* Improve fixture and test coverage

* Regen Snapshots

* Add init to coordinator
2024-03-04 18:42:56 +01:00
Xiretza
b195c3fa7b Fix spaceapi attribute for closed icon (#108596)
spaceapi: fix attribute for closed icon

The JSON field is "state.icon.closed", not "state.icon.close".
2024-03-04 18:22:18 +01:00
Paul Bottein
4bc9d806e2 Update frontend to 20240304.0 (#112263) 2024-03-04 12:09:49 -05:00
hopkins-tk
3d1fbe444e Fix authentication issues for asekopool (#99495)
* fix: handle authentication issues for asekopool

* fix: handle authentication issues for asekopool

* feat: add config migration

* feat: add re-authentication step

* fix: add reauth message

* fix: add tests for config flow

* fix: tests clean up

* Update homeassistant/components/aseko_pool_live/__init__.py

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

* Update homeassistant/components/aseko_pool_live/__init__.py

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

* fix: Reformat code

* Fix bad merge

* Really fix bad merge

* Update config_flow.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 17:20:46 +01:00
Joost Lekkerkerker
91b2dd4b83 Add icon translations to Sensibo (#112222)
* Add icon translations to Sensibo

* Add icon translations to Sensibo

* Add icon translations to Sensibo
2024-03-04 17:20:27 +01:00
belangp
58d0420a6b Add Hyperion sensor to report active priority on each instance (#102333)
* Implement code review comments

* Update homeassistant/components/hyperion/sensor.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 17:20:20 +01:00
Brig Lamoreaux
0134715e2b Address srp_energy late review comment (#105756)
Change the reference to already_configured_service.
2024-03-04 17:19:03 +01:00
Joost Lekkerkerker
f0487da6f6 Add icon translations to Swiss public transport (#112254) 2024-03-04 16:58:38 +01:00
Joost Lekkerkerker
d7c91a4195 Add icon translations to Roon (#112218) 2024-03-04 16:56:19 +01:00
Aidan Timson
ce897b8645 Change log level for System Bridge service handlers (#112175)
Change log level from info to debug for System Bridge service handlers
2024-03-04 10:54:58 -05:00
Joost Lekkerkerker
03793d75f8 Add icon translations to Screenlogic (#112220) 2024-03-04 16:53:30 +01:00
Joost Lekkerkerker
3c12f6339e Add icon translations to Season (#112221) 2024-03-04 16:53:10 +01:00
Joost Lekkerkerker
47b7333d99 Add icon translations to Slack (#112226) 2024-03-04 10:51:17 -05:00
Joost Lekkerkerker
863950ab12 Add icon translations to sabNZBd (#112219) 2024-03-04 10:50:40 -05:00
Joost Lekkerkerker
2563db9a0c Add icon translations to Smarttub (#112227) 2024-03-04 16:21:39 +01:00
Mr. Bubbles
34d25cf9e6 Bump bring-api to 0.5.4 (#111654) 2024-03-04 15:57:37 +01:00
Joost Lekkerkerker
6aae44dbb3 Add icon translations to Philips TV (#112179) 2024-03-04 15:47:15 +01:00
Joost Lekkerkerker
511810a4f5 Add icon translations to Songpal (#112234) 2024-03-04 15:46:49 +01:00
Joost Lekkerkerker
7089ace894 Add icon translations to Solarlog (#112232) 2024-03-04 15:46:34 +01:00
Joost Lekkerkerker
2db0da3915 Add icon translations to Renault (#112205)
* Add icon translations to Renault

* Add icon translations to Renault
2024-03-04 15:46:14 +01:00
Joost Lekkerkerker
b8629028da Add icon translations to Rainmachine (#112202) 2024-03-04 15:45:48 +01:00
Joost Lekkerkerker
7eb61b748e Add icon translations to PurpleAir (#112192) 2024-03-04 15:45:36 +01:00
Joost Lekkerkerker
a2b9f59b8c Add icon translations to Private BLE Device (#112185) 2024-03-04 15:44:58 +01:00
Joost Lekkerkerker
15fa302c9a Add icon translations to Recollect Waste (#112204) 2024-03-04 15:37:03 +01:00
Joost Lekkerkerker
35599046ac Add icon translations to Ridwell (#112210) 2024-03-04 15:36:50 +01:00
Joost Lekkerkerker
4cfca55099 Add icon translations to Simplisafe (#112224) 2024-03-04 15:36:41 +01:00
Joost Lekkerkerker
f5367e002b Add icon translations to RFXCOM RFXtrx (#112209) 2024-03-04 15:27:00 +01:00
Joost Lekkerkerker
d811125eb7 Add icon translations to Rainbird (#112200)
* Add icon translations to Rainbird

* Add icon translations to Rainbird
2024-03-04 15:26:41 +01:00
Joost Lekkerkerker
f7ac3912ec Add icon translations to Snapcast (#112229) 2024-03-04 15:26:33 +01:00
Álvaro Fernández Rojas
a55fb1184a Fix pylint/mypy on elmax integration (#112211)
elmax: config_flow: fix mypy/pylint

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-04 14:36:37 +01:00
RoboMagus
b381922a20 Issues template function (#95206)
* Add 'issues' template function for listing active issues.

* Add issue template function test

* Add 'issue' template function for getting specific issue by domain and issue_id

* Remove comment

* Fix function description

* Remove reduntant function,
Fix tests

* remove pass_context

* remove issues filter

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 14:22:14 +01:00
Aidan Timson
c2a991625d Update systembridgeconnector to 4.0.2 (#112174) 2024-03-04 14:16:22 +02:00
J. Nick Koston
917f0f849d Import in the executor by default for core integrations (#112127)
* Import in the executor by default for core integration

* merge correct branch in

* Group loading of platforms in the import executor

* adjust test

* remove other pr

* Fix async_prepare_setup_platform test

The message changed because the order changed but was not caught before
merge because it required the combination of PRs to change
the error message

* fix

* tweak

* fix

* self review

* review

* fix hue mocking

* Update homeassistant/loader.py

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

* lint

* Fix async_get_component loading in the executor when the module is already loaded

The sys.modules check was incorrect (only on dev)

* fix

* Avoid multiple executor jobs with concurrent calls to async_get_component

Return a future that can be awaited if the component is
curently being loaded

* adjust

* coverage

* coverage

* concurrent platforms load test

* doc strings

* coverage

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-04 06:29:32 -05:00
J. Nick Koston
dd00a87ac5 Migrate application_credentials to use async_get_platform (#112161)
This ensures that if application_credentials loads the integration's
application_credentials platform it will get loaded in the executor if enabled
2024-03-04 06:27:52 -05:00
J. Nick Koston
a698bd5800 Migrate rest to use eager tasks for setup (#112166)
The refresh tasks will avoid one iteration of the event loop
to start fetching data

The load tasks will likely never suspend and avoid being
scheduled on the event loop
2024-03-04 06:26:55 -05:00
J. Nick Koston
613bf1c226 Migrate device_automation to use async_get_platform (#112162)
This ensures that if device_automation loads an integration's
platform it will get loaded in the executor if enabled
2024-03-04 06:11:34 -05:00
J. Nick Koston
9d7c947d19 Migrate config to use async_get_component (#112160)
The component should always be loaded here but in the rare
case it might not be, we should not block the loop when it
loads
2024-03-04 06:10:44 -05:00
Erik Montnemery
c58828aac0 Remove unused test helper mock_area_registry (#112172) 2024-03-04 06:09:27 -05:00
dependabot[bot]
1b7c3061f3 Bump actions/download-artifact from 4.1.3 to 4.1.4 (#112159) 2024-03-04 11:50:31 +01:00
Alberto Geniola
86039de3cd Add local API support to elmax (#94392)
* Add support for local (lan) panel integration

* Fix merge conflicts

* Remove executable flag from non-executable files

* Fix tests

* Update homeassistant/components/elmax/__init__.py

Shorten comment

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

* Fix typehint

* Rename DummyPanel into DirectPanel

* Update homeassistant/components/elmax/__init__.py

Rewording

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

* Update homeassistant/components/elmax/__init__.py

Rewording

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

* Refactor option step into menu step

* Change requirement statement

* Refactor dictionary key entries to use existing constants

* Align step names to new constants

* Align step names to new constants amd align tests

* Align step names to new constants amd align tests

* Align step names to new constants

* Simplify logic to handle entire entry instead of a portion of the state

* Simplify working mode checks

* Add data_description dictionary to better explain SSL and FOLLOW_MDSN options

* Add support for local (lan) panel integration

* Fix merge conflicts

* Remove executable flag from non-executable files

* Fix tests

* Update homeassistant/components/elmax/__init__.py

Shorten comment

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

* Fix typehint

* Rename DummyPanel into DirectPanel

* Update homeassistant/components/elmax/__init__.py

Rewording

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

* Update homeassistant/components/elmax/__init__.py

Rewording

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

* Refactor option step into menu step

* Change requirement statement

* Refactor dictionary key entries to use existing constants

* Align step names to new constants

* Align step names to new constants amd align tests

* Align step names to new constants amd align tests

* Align step names to new constants

* Simplify logic to handle entire entry instead of a portion of the state

* Simplify working mode checks

* Add data_description dictionary to better explain SSL and FOLLOW_MDSN options

* Add newline at end of file

* Remove CONF_ELMAX_MODE_DIRECT_FOLLOW_MDNS option

* Fix Ruff pre-check

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-03-04 11:39:13 +01:00
Aidan Timson
4c67670566 Update System Bridge to support version 4.x.x and above (#107957)
* Update System Bridge to support version 4.x.x and above

Update systembridgeconnector to version 4.0.0.dev4

Update system_bridgeconnector version to 4.0.0.dev6

Refactor WebSocket client handling in config_flow.py

Update strings

Update data handling

Add default field values to SystemBridgeCoordinatorData

Add version check and issue creation for unsupported System Bridge versions

Update coordinator.py to set disks and memory to None

Update system bridge coordinator to use token instead of API key

Update systembridgeconnector version to 4.0.0.dev7

Update systembridgeconnector version to 4.0.0.dev8

Update systembridgeconnector version to 4.0.0.dev9

Changes

Update units

Fix GPU memory calculation in sensor.py

Update GPU memory unit of measurement

Add translation keys for binary sensor names

Cleanup

Add async_migrate_entry function for entry migration

Update systembridgeconnector version to 4.0.0.dev10

Update systembridgeconnector version to 4.0.0.dev11

Add version check and authentication handling

Update token description in strings.json

Fix skipping partitions without data in system_bridge sensor

Update systembridgeconnector version to 4.0.0.dev12

Update systembridgeconnector version to 4.0.0

Add check for unsupported version of System Bridge

Update systembridgeconnector version to 4.0.1

Update debug log message in async_setup_entry function

Remove debug log statement

Fixes

Update key to token

Update tests

Update tests

Remove unused import in test_config_flow.py

Remove added missing translations for another PR

Refactor CPU power per CPU calculation

Make one liner into lambda

Refactors

Fix exception type in async_setup_entry function

Move checks to class and set minor version

Remove unnecessary comment in gpu_memory_free function

Remove translation_key for memory_used_percentage sensor

Reverse string change

Update token placeholder in strings.json

Remove suggested_display_precision from sensor descriptions

Remove suggested_display_precision from GPU sensor setup

Refactor sensor code

* Update migrate entry

* Refactor GPU-related functions to use a decorator

* Move per cpu functions to use decorator

* Refactor functions to use decorators for data availability

* Remove CONF_API_KEY from config entry data

* Add test for migration

* Refactor import statement in test_config_flow.py
2024-03-04 11:14:46 +01:00
Christopher Fenner
faef5da1c5 Handle exception in ViCare integration (#111128) 2024-03-04 10:10:59 +01:00
Allen Porter
ac416f7e07 Add rainbird request debouncer and immediately update entity switch state (#112152) 2024-03-04 10:05:28 +01:00
Yuxin Wang
2c5510df30 Avoid using coordinator in config flow of APCUPSD (#112121)
* Separate data class out of coordinator

* Further fix the imports

* Update homeassistant/components/apcupsd/coordinator.py

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

* Use `or` to make it a bit cleaner when trying to find the UPS model

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

* Use or to make it a bit cleaner when trying to find the UPS model

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

* Use plain dict instead of `OrderedDict`

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2024-03-04 09:40:59 +01:00
J. Nick Koston
38f9285bd6 Group platform loads in homekit_controller to minimize executor use (#112148) 2024-03-03 22:39:07 -10:00
J. Nick Koston
40c0b4caf0 Import recorder and common recorder platforms before asyncio starts (#112131) 2024-03-03 22:03:30 -10:00
Jan Bouwhuis
c13231fc00 Improve mqtt value template error logging (#110492)
* Refactor mqtt value template error logging

* Remove import
2024-03-04 08:49:12 +01:00
J. Nick Koston
5227976aa2 Group loading of platforms in the import executor (#112141)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-03-03 21:32:19 -10:00
Christopher Fenner
e0a8a9d551 Ignore unsupported devices (room sensors, floor heating) in ViCare integration (#112106)
* ignore unsupported devices

* Update __init__.py

* move unsupported device to const

* fix ruff
2024-03-04 07:56:45 +01:00
J. Nick Koston
943996b60b Avoid multiple executor jobs with concurrent calls to async_get_component (#112155) 2024-03-03 20:22:31 -10:00
Robert Svensson
99414d8b85 Streamline UniFi entity descriptions (#112136)
* Use kw_only=True to get rid of Mixins

* Clarify which inputs are optional and make them have default values
Add doc strings to optional inputs
2024-03-04 00:00:17 -05:00
J. Nick Koston
d7507fd8a3 Run more of hassio setup in in tasks (#112151)
* Run more of hassio setup in in tasks

There were a few more places were we waited in sequence
where we have to make remote api calls that could be
moved to tasks

* tweak

* tweak
2024-03-03 23:57:01 -05:00
Adam Goode
a049d0e846 Add types throughout the prometheus tests (#112156) 2024-03-03 20:13:35 -08:00
J. Nick Koston
f4b2c9b569 Fix async_get_component loading in the executor when the module is already loaded (#112153) 2024-03-03 17:56:50 -10:00
J. Nick Koston
bef8376f83 Use MockConfigEntry in hue tests (#112149)
needed for https://github.com/home-assistant/core/pull/112141
2024-03-03 21:21:33 -05:00
J. Nick Koston
331989de4c Migrate condition/state/trigger helper to use async_get_platform (#112144)
Currently these would always load the platform in the loop
if it was not already loaded
2024-03-03 21:20:47 -05:00
J. Nick Koston
f1eab3f11f Preload config flow if it exists when loading a component (#112145)
Since config_entries always requires the config_flow to be loaded
to check for migrations, load it if we know it exists when loading
the underlying integration
2024-03-03 21:16:50 -05:00
J. Nick Koston
d50b4ccd62 Split up hassio coordinator and data into new file to allow preload (#112147)
* Split up hassio coordinator and data into new file to allow preload

Since we cannot mark hassio as having a config_flow, it will
not get preloaded and since cloud will almost always load right
after it and block the import executor, we want to preload
the hassio config_flow and platform modules so the other
dependants can continue on while cloud is being imported
to not delay startup

* tweak

* tweak
2024-03-03 21:16:02 -05:00
Robert Svensson
ec8d23d0af Fix places not changed to hub in Axis tests (#112128) 2024-03-03 20:45:06 -05:00
Allen Porter
5cb5a1141f Limit rainbird aiohttp client session to a single connection (#112146)
Limit rainbird to a single open http connection
2024-03-03 19:54:05 -05:00
David F. Mulcahey
f9e00ed45b Fix ZHA groups page (#112140)
* Fix ZHA groups page

* test
2024-03-03 19:17:02 -05:00
J. Nick Koston
60f81c8340 Fix async_prepare_setup_platform test (#112143) 2024-03-03 14:16:44 -10:00
starkillerOG
68f17b5eab Add Reolink PTZ patrol start/stop (#112129) 2024-03-03 23:13:40 +01:00
J. Nick Koston
d6cbadba3e Ensure setup loads top level component before platforms (#112057) 2024-03-03 11:42:16 -10:00
Joost Lekkerkerker
3c960b7d4e Add icon translations to Melnor (#111906)
* Use default icon for Melnor

* Use default icon for Melnor
2024-03-03 21:33:33 +01:00
J. Nick Koston
ec1400d392 Fix flakey tplink test (#112135)
The test here was assuming the first slow was the one it
wanted, but sometimes the other flow wins the race
2024-03-03 21:29:45 +01:00
J. Nick Koston
ba9733e90b Try to preload the config platform when loading a component (#112104) 2024-03-03 10:23:08 -10:00
starkillerOG
372886bf6c Add package detection to Reolink (#112126)
Add package detection
2024-03-03 12:58:28 -05:00
J. Nick Koston
da6eca7b68 Avoid compiling entity service schema when passed defaults (#112099)
* Avoid compiling entity service schema when passed defaults

* dry
2024-03-03 12:50:04 -05:00
J. Nick Koston
0a462071c8 Import screenlogic in the executor to avoid blocking the loop (#112097) 2024-03-03 12:48:28 -05:00
J. Nick Koston
9af12a0639 Avoid calling async_get_component twice for each component being setup (#112096)
We already have the component so we can pass it to
async_process_component_config to avoid having to
look it up again
2024-03-03 12:48:07 -05:00
starkillerOG
72efb3dab5 Bump reolink-aio to 0.8.9 (#112124)
* Update strings.json

* Bump reolink-aio to 0.8.9
2024-03-03 12:47:09 -05:00
Jan-Philipp Benecke
f20e1ad560 Exclude tankerkoenig attributes from recording (#112109) 2024-03-03 12:46:51 -05:00
Robert Svensson
4eb24b2db7 Clean up setup and teardown of Axis integration (#112120) 2024-03-03 12:42:44 -05:00
Luke Lashley
74f1420410 Add the ability to resume cleaning on start button (#112122) 2024-03-03 12:41:31 -05:00
Michael
409dc02d36 Ignore failing gas stations in Tankerkoening (#112125) 2024-03-03 18:29:02 +01:00
G Johansson
cdd7b94a95 Move all System Monitor updates into single Data Update Coordinator (#112055) 2024-03-03 07:24:04 -10:00
J. Nick Koston
faee9d996d Import steamist in the executor to avoid blocking the loop (#112111) 2024-03-03 07:21:55 -10:00
Jan-Philipp Benecke
911cf60678 Address late review for Ping (#112123)
* Address late review for Ping

* Fix import
2024-03-03 18:10:22 +01:00
J. Nick Koston
a37c82e34c Add comment to integration platform helper about blocking I/O (#112103) 2024-03-03 07:00:35 -10:00
David F. Mulcahey
7af82161a0 Bump Zigpy to 0.63.4 (#112117) 2024-03-03 11:31:23 -05:00
Joakim Plate
13653be09b Add event platform to rfxtrx (#111526) 2024-03-03 17:15:54 +01:00
J. Nick Koston
9fff638311 Load wyoming in the executor to avoid blocking the event loop (#112107) 2024-03-03 08:56:08 -06:00
Åke Strandberg
073fcfcd6f Add tests for number of devices created in myuplink (#111816)
* Add tests for number of devices created

* Change default fixture to 2 devices in one system

* Update snapshot

* Change deviuce to test

* Merge tests to one module
2024-03-03 14:27:24 +01:00
Joost Lekkerkerker
f02e60533d Add icon translations to Nexia (#111980)
* Add icon translations to Nexia

* Add icon translations to Nexia
2024-03-03 14:08:33 +01:00
Joost Lekkerkerker
895dc6fce1 Add icon translations to Nextbus (#111981) 2024-03-03 14:08:19 +01:00
Álvaro Fernández Rojas
25ba046ff1 Fix flakey airzone_cloud tests by avoiding creation of the websocket (#112102) 2024-03-03 00:56:14 -10:00
Matrix
2f223ae377 Add YoLInk YS7905-UC Support (#111709)
* Add YS7905-UC Support

* Fix as suggestion
2024-03-03 11:11:45 +01:00
Jan-Philipp Benecke
25551fa938 Move Ping binary sensor attributes to sensor entities (#112004)
* Move Ping binary sensor attributes to sensor entities

* Process code review

* Update snapshot
2024-03-03 11:08:28 +01:00
J. Nick Koston
6a243d6705 Preload platform integrations to better group executor usage (#112010) 2024-03-02 23:03:35 -10:00
J. Nick Koston
c8cb0ff61d Avoid trying to import platforms that do not exist (#112028)
* Avoid trying to import platforms that do not exist

* adjust

* fixes

* cleanup

* cleanup

* cleanup

* Apply suggestions from code review

* docs

* fixes

* fixes

* comment

* coverage

* coverage

* coverage

* Switch config to use async_get_component

This was another path where integrations that were marked to load in the executor
would be loaded in the loop

* Switch config to use async_get_component/async_get_platform

This was another path where integrations that were marked to load in the executor
would be loaded in the loop

* merge

* refactor

* refactor

* coverage

* preen

* preen
2024-03-02 22:14:28 -05:00
Paulus Schoutsen
bb6f8b9d57 Bump version to 2024.3.0b5 2024-03-02 22:09:17 -05:00
J. Nick Koston
780f6e8974 Avoid expensive inspect calls in config validators (#112085)
* Avoid expensive inspect calls in config validators

inspect has a performance problem https://github.com/python/cpython/issues/92041

We now avoid calling inspect unless we are going to log

* remove unused

* reduce

* get_integration_logger
2024-03-02 22:08:59 -05:00
J. Nick Koston
ab30d44184 Fix executor being overloaded in caldav (#112084)
Migrate to using a single executor job instead of creating
one per calendar. If the user had a lot of calendars the
executor would get overloaded
2024-03-02 22:08:58 -05:00
J. Nick Koston
e23f737fa7 Fix bootstrap being fetched three times during unifiprotect startup (#112082)
We always fetch it to check if the device is online.
Avoid fetching it again for migration by passing
it to the migrators
2024-03-02 22:08:57 -05:00
J. Nick Koston
b8e3bb8eb8 Ensure all homekit_controller controllers are imported in advance (#112079)
* Ensure all homekit_controllers are imported in advance

We want to avoid importing them in the event loop later

* Ensure all homekit_controllers are imported in advance

We want to avoid importing them in the event loop later
2024-03-02 22:08:56 -05:00
elmurato
12574bca8b Fix setup failure due to temporary DNS issue in Minecraft Server (#112068)
Change ConfigEntryError to ConfigEntryNotReady on failed init
2024-03-02 22:08:55 -05:00
David Knowles
f16ea54b4f Bump pydrawise to 2024.3.0 (#112066) 2024-03-02 22:08:54 -05:00
Paulus Schoutsen
ad52bf608f Only load camera prefs once (#112064) 2024-03-02 22:08:53 -05:00
Isak Nyberg
46ee52f4ef Add device class for permobil record distance sensor (#112062)
fix record_distance device_class
2024-03-02 22:08:53 -05:00
Shay Levy
88fb44bbba Bump bthome-ble to 3.6.0 (#112060)
* Bump bthome-ble to 3.6.0

* Fix discovery info typing
2024-03-02 22:07:59 -05:00
J. Nick Koston
de5e626430 Bump unifi-discovery to 1.1.8 (#112056) 2024-03-02 22:03:13 -05:00
J. Nick Koston
1bcdba1b4b Import anonymize_data in unifiprotect init to avoid it being imported in the event loop (#112052)
Improve anonymize_data in unifiprotect init to avoid it being imported in the event loop
2024-03-02 22:03:12 -05:00
David Knowles
a253991c6d Bump pydrawise to 2024.3.0 (#112066) 2024-03-02 22:00:50 -05:00
J. Nick Koston
dc3c7c95f7 Import stream in the executor to avoid blocking the event loop (#112078)
* Import stream in the executor to avoid blocking the event loop

This one has some large deps

* one more place

* avoid call if no change

* just in case
2024-03-02 22:00:28 -05:00
J. Nick Koston
aaa2d8745f Import template in the executor to avoid blocking the event loop (#112070)
Importing template has a very long dep tree
2024-03-02 21:59:34 -05:00
J. Nick Koston
2fe12ade4c Ensure all homekit_controller controllers are imported in advance (#112079)
* Ensure all homekit_controllers are imported in advance

We want to avoid importing them in the event loop later

* Ensure all homekit_controllers are imported in advance

We want to avoid importing them in the event loop later
2024-03-02 21:56:33 -05:00
J. Nick Koston
131068358a Import yeelight in the executor to avoid blocking the event loop (#112080) 2024-03-02 21:55:55 -05:00
J. Nick Koston
f415746e26 Import caldav in the executor to avoid blocking the event loop (#112081)
2024-03-02 18:21:51.794 DEBUG (MainThread) [homeassistant.loader] Component caldav import took 0.676 seconds (loaded_executor=False)
2024-03-02 21:55:20 -05:00
J. Nick Koston
8d2fe73faa Fix bootstrap being fetched three times during unifiprotect startup (#112082)
We always fetch it to check if the device is online.
Avoid fetching it again for migration by passing
it to the migrators
2024-03-02 21:55:04 -05:00
J. Nick Koston
ea9c969d15 Fix executor being overloaded in caldav (#112084)
Migrate to using a single executor job instead of creating
one per calendar. If the user had a lot of calendars the
executor would get overloaded
2024-03-02 21:53:51 -05:00
J. Nick Koston
08c96efebe Import baf in the executor to avoid blocking the event loop (#112086) 2024-03-02 21:52:40 -05:00
J. Nick Koston
5e5da2bf3a Import integrations using sense-energy in the executor to avoid loop blocking (#112087)
Import integrations using sense-enegy in the executor to avoid blocking the event loop
2024-03-02 21:52:11 -05:00
J. Nick Koston
a07f6d9d76 Import smtp in the executor to avoid blocking the loop (#112089)
This one has no external requirements, but the email imports
from stdlib take ~0.6s on a green
2024-03-02 21:51:45 -05:00
J. Nick Koston
6421a08ba8 Avoid expensive inspect calls in config validators (#112085)
* Avoid expensive inspect calls in config validators

inspect has a performance problem https://github.com/python/cpython/issues/92041

We now avoid calling inspect unless we are going to log

* remove unused

* reduce

* get_integration_logger
2024-03-02 21:50:35 -05:00
J. Nick Koston
9353ad0690 Import switchbot in the executor to avoid blocking the event loop (#112077) 2024-03-03 01:18:03 +01:00
J. Nick Koston
3808e8b0bc Switch config to use async_get_component/async_get_platform (#112071) 2024-03-02 13:56:25 -10:00
J. Nick Koston
08897137ff Pre-import more frontend deps to avoid importing when the event loop is running (#112031) 2024-03-02 13:44:06 -10:00
elmurato
9e428c6c5f Fix setup failure due to temporary DNS issue in Minecraft Server (#112068)
Change ConfigEntryError to ConfigEntryNotReady on failed init
2024-03-02 17:28:27 -05:00
J. Nick Koston
0ff2106589 Import snmp in the executor to avoid blocking the event loop (#112065)
Do not mark for backport to 2024.3 as we are no longer backporting new ones
2024-03-02 17:19:09 -05:00
Paulus Schoutsen
dd1ad71166 Only load camera prefs once (#112064) 2024-03-02 17:18:34 -05:00
Shay Levy
ec4331fc19 Bump bthome-ble to 3.6.0 (#112060)
* Bump bthome-ble to 3.6.0

* Fix discovery info typing
2024-03-02 23:11:22 +01:00
Isak Nyberg
b734a9ffc8 Add device class for permobil record distance sensor (#112062)
fix record_distance device_class
2024-03-02 22:50:24 +01:00
J. Nick Koston
85ec48ff31 Import anonymize_data in unifiprotect init to avoid it being imported in the event loop (#112052)
Improve anonymize_data in unifiprotect init to avoid it being imported in the event loop
2024-03-02 16:08:22 -05:00
J. Nick Koston
546fc1e282 Refactor file_upload to avoid janus dep (#112032) 2024-03-02 10:58:08 -10:00
J. Nick Koston
dca6104b4b Bump unifi-discovery to 1.1.8 (#112056) 2024-03-02 10:38:45 -10:00
J. Nick Koston
fd07d83c09 Import ambient_station in the executor to avoid blocking the event loop (#112053) 2024-03-02 15:16:57 -05:00
J. Nick Koston
ee69a3ea8a Import co2signal in the executor to avoid blocking the event loop (#112058) 2024-03-02 15:14:04 -05:00
J. Nick Koston
567d4d5926 Simplify load_executor check in loader (#112029) 2024-03-02 09:01:11 -10:00
Paulus Schoutsen
a4353cf39d Bump version to 2024.3.0b4 2024-03-02 13:24:12 -05:00
Jeef
63192f2291 Bump weatherflow4py to v0.1.12 (#112040)
Backing lib bump
2024-03-02 13:24:05 -05:00
Joakim Sørensen
675b7ca7ba Fix config schema for velux (#112037) 2024-03-02 13:24:05 -05:00
Joakim Sørensen
df5eb552a0 Use description key instead of name for Tibber RT unique ID (#112035)
* Use translation key instead of name for Tibber RT unique ID

* migration

* use decription.key instead
2024-03-02 13:24:04 -05:00
Álvaro Fernández Rojas
5017f4a2c7 Update aioairzone-cloud to v0.4.5 (#112034)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-02 13:24:03 -05:00
Chris Helming
92d3dccb94 Fix minor language issues in strings.json (#112006)
language fix: allow -> allows
2024-03-02 13:24:01 -05:00
David F. Mulcahey
2c38b5ee7b Bump Zigpy to 0.63.3 (#112002) 2024-03-02 13:24:00 -05:00
Paulus Schoutsen
435bb50d29 Update reporting for media_source.async_resolve_media (#111969)
* Update reporting for media_source.async_resolve_media

* Don't raise on core

* Fix tests
2024-03-02 13:23:59 -05:00
Paul Bottein
005493bb5a Update frontend to 20240301.0 (#111961) 2024-03-02 13:23:59 -05:00
Mick Vleeshouwer
838a4e4f7b Bump pyOverkiz to 1.13.8 (#111930)
Bump pyoverkiz to 1.13.8
2024-03-02 13:23:58 -05:00
Jeef
14b737e9b8 Bump weatherflow4py to v0.1.12 (#112040)
Backing lib bump
2024-03-02 19:15:21 +01:00
Álvaro Fernández Rojas
61e28291be Update aioairzone-cloud to v0.4.5 (#112034)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-03-02 19:14:00 +01:00
Joakim Sørensen
e691e45017 Use description key instead of name for Tibber RT unique ID (#112035)
* Use translation key instead of name for Tibber RT unique ID

* migration

* use decription.key instead
2024-03-02 17:48:27 +01:00
Robert Svensson
ece5587e1f Streamline naming in the Axis integration (#112044)
* Rename device.py to hub.py

* Rename AxisNetworkDevice to AxisHub

* Move hub.py into hub package

* Rename get_axis_device to get_axis_api

* Split out get_axis_api to its own module

* Rename device object to hub

* Rename device to api in config flow

* Convenience method to get hub
2024-03-02 11:32:51 -05:00
Jan-Philipp Benecke
196089e8b7 Remove deprecated hass.components.hassio usage (#111878) 2024-03-02 15:38:31 +01:00
Joakim Sørensen
9478b7de29 Fix config schema for velux (#112037) 2024-03-02 06:52:20 -05:00
Joost Lekkerkerker
0f66292d35 Add icon translations to Netgear (#111972) 2024-03-02 12:42:00 +01:00
Joost Lekkerkerker
0f71e45fe2 Add entity and icon translations to Onvif (#111991)
* Add icon translations to Onvif

* Add icon translations to Onvif

* Update homeassistant/components/onvif/strings.json
2024-03-02 10:30:48 +01:00
Joost Lekkerkerker
9887340298 Add icon translations to Opentherm gw (#111995) 2024-03-02 10:30:21 +01:00
Joost Lekkerkerker
fbb894a0ff Add icon translations to Nmap tracker (#111983) 2024-03-02 10:30:10 +01:00
Robert Svensson
c770c6c78f Apply better names to a couple of dicts in Axis config flow (#111964)
Apply better names to a couple of dicts
2024-03-02 07:10:34 +01:00
J. Nick Koston
c0f7ade92b Convert command_line to use asyncio for subprocesses (#111927)
* Convert command_line to use asyncio for subprocesses

* fixes

* fix

* fixes

* more test fixes

* more fixes

* fixes

* preen
2024-03-01 23:15:10 -05:00
J. Nick Koston
5f65315e86 Reduce samsungtv startup time (#112007)
Create the startup tasks eagerly

This one is a bit high
2024-03-01 22:43:08 -05:00
J. Nick Koston
4249d17c1b Reduce ESPHome reconnect time (#112001)
Use eager tasks to request device_info and entities which avoids
waiting one event loop to send the requests to the device
2024-03-01 22:16:01 -05:00
Chris Helming
8ff2a39238 Fix minor language issues in strings.json (#112006)
language fix: allow -> allows
2024-03-02 02:00:03 +01:00
Joost Lekkerkerker
8077654002 Add icon translations to ovo energy (#111997) 2024-03-02 01:01:46 +01:00
Joost Lekkerkerker
ea6913d436 Add icon translations to OpenAI Conversation (#111992) 2024-03-02 00:57:25 +01:00
Joost Lekkerkerker
17191b5af2 Add icon translations to Openhome (#111993) 2024-03-02 00:56:50 +01:00
Joost Lekkerkerker
dd2d7e579d Add icon translations to Opensky (#111994)
* Add icon translations to Opensky

* Add icon translations to Opensky
2024-03-02 00:56:34 +01:00
Joost Lekkerkerker
46a86667d3 Add icon translations to Octoprint (#111988) 2024-03-02 00:35:53 +01:00
Joost Lekkerkerker
10c06a1553 Add icon translations to Ondilo ico (#111990) 2024-03-02 00:35:40 +01:00
Joost Lekkerkerker
f3e0060128 Add icon translations to Omnilogic (#111989) 2024-03-02 00:35:27 +01:00
Joost Lekkerkerker
2e12e5cda1 Add icon translations to Netgear LTE (#111974)
* Add icon translations to Netgear LTE

* Add icon translations to Netgear LTE

* Update homeassistant/components/netgear_lte/icons.json
2024-03-02 00:35:17 +01:00
Joost Lekkerkerker
a78382a3f7 Add icon translations to NZBGet (#111985) 2024-03-02 00:31:10 +01:00
Joost Lekkerkerker
0cc1fd5e99 Add icon translations to Nextcloud (#111982) 2024-03-02 00:28:37 +01:00
Joost Lekkerkerker
4ae7102f63 Add icon translations to Modern Forms (#111933)
* Add icon translations to Modern Forms

* Add icon translations to Modern Forms
2024-03-02 00:20:21 +01:00
David F. Mulcahey
fbb982f8ce Bump Zigpy to 0.63.3 (#112002) 2024-03-01 18:13:09 -05:00
Joost Lekkerkerker
357840ec53 Add icon translations to Notion (#111984) 2024-03-01 23:55:49 +01:00
Joost Lekkerkerker
23480292c5 Add icon translations to OpenUV (#111996)
Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2024-03-01 23:55:37 +01:00
Mick Vleeshouwer
273e125859 Bump pyOverkiz to 1.13.8 (#111930)
Bump pyoverkiz to 1.13.8
2024-03-01 23:29:47 +01:00
Paulus Schoutsen
0628c26ea0 Update reporting for media_source.async_resolve_media (#111969)
* Update reporting for media_source.async_resolve_media

* Don't raise on core

* Fix tests
2024-03-01 16:18:58 -05:00
Marc Mueller
16b162cd07 Fix util create_eager_task typing (#111976) 2024-03-01 21:04:45 +01:00
Marc Mueller
daf8d1939b Fix generic HassJob typing (#111973) 2024-03-01 20:51:45 +01:00
Joost Lekkerkerker
bdfd272dc0 Use default icon for Melcloud (#111905) 2024-03-01 20:23:11 +01:00
Joost Lekkerkerker
694c391c6b Add icon translations to Modem callerID (#111929) 2024-03-01 20:21:10 +01:00
Joost Lekkerkerker
23a1c559b2 Add icon translations to Motion blinds (#111935) 2024-03-01 20:19:59 +01:00
Joost Lekkerkerker
4ca8a02771 Add icon translations to Nanoleaf (#111946) 2024-03-01 20:18:59 +01:00
Joost Lekkerkerker
28ab4abe00 Add icon translations to Neato (#111947) 2024-03-01 20:17:55 +01:00
Joost Lekkerkerker
0daa860e94 Add icon translations to MQTT (#111945) 2024-03-01 20:16:11 +01:00
Paul Bottein
d592e95ba4 Update frontend to 20240301.0 (#111961) 2024-03-01 13:38:08 -05:00
Marc Mueller
1f173aff17 Fix loader test warning (#111965) 2024-03-01 19:26:44 +01:00
Arie Catsman
99f08fb417 Fix LingeringTask after test completion in enphase_envoy (#111940) 2024-03-01 07:12:08 -10:00
gibwar
52fe0a5e96 Fix utility meter reset without tarrifs (#102884)
* Fix utility meter reset without tarrifs

When using a utility_meter helper set up with a "Meter reset cycle" of
"No cycle" it is impossible to properly reset the meter to 0 and utilize
the "last reset" and "last period" attributes on the helper.

With these changes the service call can now directly reset a meter in
such a configuration and the UI selector has been updated to include
utility meters in the selection list.

Fixes #96920

* Undo UI target selection modes

As requested to not cause confusion by being able to reset individual
meters when using multiple tariffs.

* Adjust logic to only reset standalone sensors

The original logic would allow resetting meters with multiple tariffs
which was an unintended side effect.
2024-03-01 16:44:24 +01:00
Joost Lekkerkerker
c37f1c67f1 Add icon translations to Monoprice (#111934) 2024-03-01 07:59:11 -05:00
Joost Lekkerkerker
646c316102 Add icon translations to Motioneye (#111936) 2024-03-01 07:58:04 -05:00
Joost Lekkerkerker
8bbfb6cc55 Add icon translations to Lyric (#111902)
Use default icon for Lyric
2024-03-01 13:42:42 +01:00
Joost Lekkerkerker
65e004dc99 Add icon translations to Local IP (#111900) 2024-03-01 13:40:58 +01:00
Joost Lekkerkerker
e43c62af1e Add icon translations to Litterrobot (#111899) 2024-03-01 13:40:37 +01:00
Marc Mueller
f0be33fc6a Update mypy to a custom version (#111258)
* Update mypy to a custom version

* Fix call_soon_threadsafe typing

Result from a recent typeshed change -> better asyncio callback typing with Ts
2024-03-01 13:31:28 +01:00
Joost Lekkerkerker
841d4e320f Add icon translations to Mill (#111907) 2024-03-01 07:22:57 -05:00
Joost Lekkerkerker
1f3b0a4371 Add icon translations to Minecraft Server (#111928)
* Add icon translations to Minecraft Server

* Add icon translations to Minecraft Server

* Add icon translations to Minecraft
2024-03-01 07:20:51 -05:00
Joost Lekkerkerker
59d605c82c Add icon translations to min max (#111908) 2024-03-01 07:19:06 -05:00
Joost Lekkerkerker
d757e5ebe9 Add icon translations to LifX (#111897) 2024-03-01 13:16:00 +01:00
Erik Montnemery
3a5e0c14bf Remove config flow specifics from FlowResult (#111932)
* Remove config flow specifics from FlowResult

* Improve docstring

* Update pylint rules
2024-03-01 13:07:13 +01:00
Joost Lekkerkerker
e209ae3d4e Add icon translations to LCN (#111895) 2024-03-01 12:49:16 +01:00
Joost Lekkerkerker
b29ddfb9be Add icon translations to Lidarr (#111896) 2024-03-01 12:44:27 +01:00
Joost Lekkerkerker
689651ee2c Add icon translations to Idasen desk (#111813) 2024-03-01 12:42:26 +01:00
Joost Lekkerkerker
677e12b033 Add icon translations to IFTTT (#111842) 2024-03-01 12:41:30 +01:00
Joost Lekkerkerker
d606e96d13 Add icon translations to Keymitt BLE (#111851) 2024-03-01 12:34:28 +01:00
Joost Lekkerkerker
05b0518854 Add icon translations to Medcom BLE (#111904)
Use default icon for Medcom BLE
2024-03-01 12:33:24 +01:00
G Johansson
9989a63cdf Add reconfigure step to config flow (#108794)
* Initial commit reconfigure

* test config config_entries

* Fix reconfigure

* test_config_entries

* review comment

* No reconfigure if reauth ongoing

* Fix tests

* Fix tests

* handle source creating flows

* combine

* No black

* Also check reconfigure in reauth flow

* Fix support

* Add entry id

* reset data entry flow

* Mods

* context data

* reset formatting

* Fix config flow platforms

* Fix tests

* Fix step message

* Handling reconfigure step

* Fix more tests

* Config entries tests

* entry_id always means reconfigure

* Mods

* Remove no longer valid exception

* Fixes

* reset silabs test

* dev reg

* resets

* assist pipeline

* Adjust config_entries

* Fix

* Fixes

* docstrings

* Review comment

* docstring
2024-03-01 12:29:35 +01:00
Joost Lekkerkerker
fd9e9ebf50 Add icon translations to Hydrawise (#111810) 2024-03-01 12:29:23 +01:00
Joost Lekkerkerker
3d987a9190 Add icon translations to Flux LED (#111545) 2024-03-01 12:29:02 +01:00
Joost Lekkerkerker
cc2ce4f4a6 Add icon translations to Flipr (#111540) 2024-03-01 12:25:34 +01:00
Joost Lekkerkerker
7b79c21835 Add icon translations to EZVIZ (#111532) 2024-03-01 12:23:08 +01:00
Joost Lekkerkerker
18e1b3bbbc Add icon translations to Enocean (#111514) 2024-03-01 12:21:31 +01:00
Joost Lekkerkerker
ae930215d4 Add icon translations to Kodi (#111853) 2024-03-01 12:11:52 +01:00
dependabot[bot]
93f2d2bd19 Bump github/codeql-action from 3.24.5 to 3.24.6 (#111917) 2024-03-01 10:57:39 +01:00
dependabot[bot]
8a236077b0 Bump actions/cache from 4.0.0 to 4.0.1 (#111916) 2024-03-01 10:57:24 +01:00
Jevgeni Kiski
ce3d774222 Add Vallox filter replacement date (#111391)
* Vallox: reset filter button

* Better names

* Change from button to date platform

* Review

* Fix

* Drop ValloxDateEntityDescription

* Stale docstrings

* Stale docstring
2024-03-01 10:02:50 +01:00
Paulus Schoutsen
04bf68e661 Bump version to 2024.3.0b3 2024-02-29 22:00:35 -05:00
Jan-Philipp Benecke
8ddec745ed Change hass.components removal version in log to 2024.9 (#111903) 2024-02-29 22:00:18 -05:00
J. Nick Koston
3896afbb69 Limit executor imports to a single thread (#111898)
* Limit executor imports to a single thread

* test for import executor

* test for import executor

* test for import executor

* fixes

* better fix
2024-02-29 22:00:17 -05:00
Robert Svensson
c9227d3c3d Fix unsupported device type in deCONZ integration (#111892) 2024-02-29 22:00:16 -05:00
Robert Svensson
88d2772fa9 Deconz fix gradient color mode (#111890)
* Fix deconz gradient colormode

* Fix gradient light not reporting color mode in deCONZ
2024-02-29 22:00:15 -05:00
J. Nick Koston
f89fddb92b Bump habluetooth to 2.4.2 (#111885) 2024-02-29 22:00:14 -05:00
Álvaro Fernández Rojas
c04e68b9b2 Update aioairzone to v0.7.5 (#111879)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-29 22:00:14 -05:00
Michael
f711411d18 Add missing unit of measurement for tolerance option in proximity (#111876) 2024-02-29 21:59:40 -05:00
J. Nick Koston
c9aea57326 Fix circular imports in core integrations (#111875)
* Fix circular imports in core integrations

* fix circular import

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* adjust

* fix

* increase timeout

* remove unused logger

* keep up to date

* make sure its reprod
2024-02-29 21:55:11 -05:00
Michael Hansen
63740d2a6d Use correct service name with Wyoming satellite + local wake word detection (#111870)
* Use correct service name with satellite + local wake word detection

* Don't load platforms for satellite services

* Update homeassistant/components/wyoming/data.py

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

* Fix ruff error

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 21:55:11 -05:00
J. Nick Koston
7a9e5354ee Fallback to event loop import on deadlock (#111868) 2024-02-29 21:55:10 -05:00
Michael Hansen
4f50c7217b Move HassSetPosition to homeassistant domain (#111867)
* Move HassSetPosition to homeassistant domain

* Add test for unsupported domain with HassSetPosition

* Split service intent handler

* cleanup

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 21:55:09 -05:00
Bram Kragten
a9410ded11 Update frontend to 20240228.1 (#111859) 2024-02-29 21:55:08 -05:00
dotvav
b6503f53bc Support HitachiAirToAirHeatPump (ovp:HLinkMainController) in Overkiz integration (#102159)
* Support OVP devices

Support OVP devices

* Fix coding style

* Fix coding style and unnecessary constants

* Move fanmodes inside class

* Apply suggestions from code review

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

* Remove duplicate widget

* Update homeassistant/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.py

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

* Format ruff

* Fix mypy

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-29 21:55:07 -05:00
Michael Hansen
0d0b64d351 Move HassSetPosition to homeassistant domain (#111867)
* Move HassSetPosition to homeassistant domain

* Add test for unsupported domain with HassSetPosition

* Split service intent handler

* cleanup

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 21:53:52 -05:00
Christopher Bailey
5890a7d38c Add person tracking for UniFi Protect (#111289) 2024-02-29 16:26:24 -10:00
J. Nick Koston
72fe170dc8 Remove unused variable in stats _sorted_statistics_to_dict (#111912) 2024-02-29 16:23:33 -10:00
Robert Svensson
d81ed37501 Fix unsupported device type in deCONZ integration (#111892) 2024-02-29 21:05:43 -05:00
Jan-Philipp Benecke
914abcec32 Change hass.components removal version in log to 2024.9 (#111903) 2024-02-29 21:05:33 -05:00
J. Nick Koston
c1750f7c3a Fix circular imports in core integrations (#111875)
* Fix circular imports in core integrations

* fix circular import

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* fix more circular imports

* adjust

* fix

* increase timeout

* remove unused logger

* keep up to date

* make sure its reprod
2024-02-29 21:04:41 -05:00
J. Nick Koston
25510fc13c Limit executor imports to a single thread (#111898)
* Limit executor imports to a single thread

* test for import executor

* test for import executor

* test for import executor

* fixes

* better fix
2024-02-29 21:02:13 -05:00
J. Nick Koston
3b93c21d9d Switch influxdb to use a SimpleQueue (#111798) 2024-02-29 12:49:43 -10:00
J. Nick Koston
0b0036fb12 Bump habluetooth to 2.4.2 (#111885) 2024-02-29 12:49:28 -10:00
Robert Svensson
b39b2d161c Deconz fix gradient color mode (#111890)
* Fix deconz gradient colormode

* Fix gradient light not reporting color mode in deCONZ
2024-02-29 22:43:47 +01:00
Álvaro Fernández Rojas
3b1688f6bd Update aioairzone to v0.7.5 (#111879)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-29 22:41:33 +01:00
Michael
2a135b64b6 Add missing unit of measurement for tolerance option in proximity (#111876) 2024-02-29 22:16:27 +01:00
Erik Montnemery
b0ed8c4961 Migrate integrations s-t to generic flowhandler (#111865) 2024-02-29 22:16:14 +01:00
Erik Montnemery
e0c1feb22c Migrate integrations n-r to generic flowhandler (#111864) 2024-02-29 20:09:01 +01:00
Erik Montnemery
52e7912caf Migrate integrations i-m to generic flowhandler (#111863) 2024-02-29 20:08:46 +01:00
Erik Montnemery
9ec9ac4fd4 Migrate integrations u-z to generic flowhandler (#111866) 2024-02-29 20:08:16 +01:00
Erik Montnemery
e06446d0fa Migrate integrations e-h to generic flowhandler (#111862) 2024-02-29 20:07:36 +01:00
Erik Montnemery
6fe28d3764 Migrate integrations a-d to generic flowhandler (#111861) 2024-02-29 20:07:14 +01:00
J. Nick Koston
ba4120d779 Fallback to event loop import on deadlock (#111868) 2024-02-29 09:01:03 -10:00
dotvav
af625a6696 Support HitachiAirToAirHeatPump (ovp:HLinkMainController) in Overkiz integration (#102159)
* Support OVP devices

Support OVP devices

* Fix coding style

* Fix coding style and unnecessary constants

* Move fanmodes inside class

* Apply suggestions from code review

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

* Remove duplicate widget

* Update homeassistant/components/overkiz/climate_entities/hitachi_air_to_air_heat_pump_ovp.py

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

* Format ruff

* Fix mypy

---------

Co-authored-by: Mick Vleeshouwer <mick@imick.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-29 13:18:59 -05:00
Joost Lekkerkerker
cac2c46a42 Add icon translations to KNX (#111852)
* Add icon translations to KNX

* Update homeassistant/components/knx/icons.json

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/icons.json

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/icons.json

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/icons.json

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/icons.json

Co-authored-by: Matthias Alphart <farmio@alphart.net>

---------

Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-02-29 19:12:05 +01:00
Michael Hansen
f0deae319e Use correct service name with Wyoming satellite + local wake word detection (#111870)
* Use correct service name with satellite + local wake word detection

* Don't load platforms for satellite services

* Update homeassistant/components/wyoming/data.py

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

* Fix ruff error

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-29 13:09:38 -05:00
Bram Kragten
66b17a8e0d Update frontend to 20240228.1 (#111859) 2024-02-29 12:05:22 -05:00
Joost Lekkerkerker
eaff66477d Add icon translations to Intellifire (#111845) 2024-02-29 17:21:00 +01:00
Joost Lekkerkerker
87632dcb6a Add icon translations to Kaleidescape (#111850) 2024-02-29 17:20:12 +01:00
Joost Lekkerkerker
0d85e316a2 Add icon translations to Justnimbus (#111849) 2024-02-29 17:19:56 +01:00
Joost Lekkerkerker
36a5c71dc7 Add icon translations to Lastfm (#111855)
* Add icon translations to Lastfm

* Add icon translations to Lastfm
2024-02-29 17:01:09 +01:00
Joost Lekkerkerker
6e6d3e7565 Add icon translations to Laundrify (#111856) 2024-02-29 17:00:15 +01:00
Robert Resch
bfdc640e04 Remove unused translation key from Ecovacs mower (#111754)
* Remove unused translation key

* Update snapshots
2024-02-29 10:54:02 -05:00
Erik Montnemery
a0e558c457 Add generic classes BaseFlowHandler and BaseFlowManager (#111814)
* Add generic classes BaseFlowHandler and BaseFlowManager

* Migrate zwave_js

* Update tests

* Update tests

* Address review comments
2024-02-29 16:52:39 +01:00
Erik Montnemery
3a8b6412ed Remove areas template filter (#111827) 2024-02-29 10:52:26 -05:00
Paulus Schoutsen
51716290bb Bump version to 2024.3.0b2 2024-02-29 10:43:47 -05:00
Paulus Schoutsen
10cc0e6b2b Import cryptography OpenSSL backend (#111840)
* Import cryptography OpenSSL backend

* No need to impor top-level. Included.

* Update homeassistant/bootstrap.py
2024-02-29 10:42:50 -05:00
J. Nick Koston
640de7dbc9 Include filename in exception when loading a json file fails (#111802)
* Include filename in exception when loading a json file fails

* fix
2024-02-29 10:42:49 -05:00
J. Nick Koston
868f19e846 Fix race in config entry setup again (#111800)
Because the setup again was scheduled as a task, it would
not unset self._async_cancel_retry_setup in time and we would
try to unsub self._async_cancel_retry_setup after it had already
fired. Change it to call a callback that runs right away so it
unsets self._async_cancel_retry_setup as soon as its called
so there is no race

fixes #111796
2024-02-29 10:42:48 -05:00
Jan-Philipp Benecke
52ea1a9deb Deprecate hass.components and log warning if used inside custom component (#111508)
* Deprecate @bind_hass and log error if used inside custom component

* Log also when accessing `hass.components`

* Log warning only when `hass.components` is used

* Change version

* Process code review
2024-02-29 10:42:47 -05:00
David F. Mulcahey
5c2fc8d7a0 Add support for ZHA entities exposed by Zigpy quirks (#111176)
* Add counter entities to the ZHA coordinator device

* rework to prepare for non coordinator device counters

* Initial scaffolding to support quirks v2 entities

* update for zigpy changes

* add assertion error message

* clean up test

* update group entity discovery kwargs

* constants and clearer names

* apply custom device configuration

* quirks switches

* quirks select entities

* quirks sensor entities

* update discovery

* move call to super

* add complex quirks v2 discovery test

* remove duplicate replaces

* add quirks v2 button entity support

* add quirks v2 binary sensor entity support

* fix exception in counter entitiy discovery

* oops

* update formatting

* support custom on and off values

* logging

* don't filter out entities quirks says should be created

* fix type alias warnings

* sync up with zigpy changes and additions

* add a binary sensor test

* button coverage

* switch coverage

* initial select coverage

* number coverage

* sensor coverage

* update discovery after rebase

* coverage

* single line

* line lengths

* fix double underscore

* review comments

* set category from quirks in base entity

* line lengths

* move comment

* imports

* simplify

* simplify
2024-02-29 10:42:46 -05:00
David F. Mulcahey
73b6e2bac8 Add support for ZHA entities exposed by Zigpy quirks (#111176)
* Add counter entities to the ZHA coordinator device

* rework to prepare for non coordinator device counters

* Initial scaffolding to support quirks v2 entities

* update for zigpy changes

* add assertion error message

* clean up test

* update group entity discovery kwargs

* constants and clearer names

* apply custom device configuration

* quirks switches

* quirks select entities

* quirks sensor entities

* update discovery

* move call to super

* add complex quirks v2 discovery test

* remove duplicate replaces

* add quirks v2 button entity support

* add quirks v2 binary sensor entity support

* fix exception in counter entitiy discovery

* oops

* update formatting

* support custom on and off values

* logging

* don't filter out entities quirks says should be created

* fix type alias warnings

* sync up with zigpy changes and additions

* add a binary sensor test

* button coverage

* switch coverage

* initial select coverage

* number coverage

* sensor coverage

* update discovery after rebase

* coverage

* single line

* line lengths

* fix double underscore

* review comments

* set category from quirks in base entity

* line lengths

* move comment

* imports

* simplify

* simplify
2024-02-29 10:38:21 -05:00
J. Nick Koston
f44b759a99 Import rest in the executor to avoid blocking the event loop (#111804)
fixes #111803

`2024-02-28 15:43:53.708 DEBUG (MainThread) [homeassistant.loader] Component rest import took 1.646 seconds (loaded_executor=False) `
2024-02-29 10:37:36 -05:00
J. Nick Koston
aa183ed09e Import flux_led in the executor to avoid blocking the event loop (#111806)
`Component flux_led import took 0.313 seconds (loaded_executor=False)`
2024-02-29 10:37:07 -05:00
J. Nick Koston
94224c4c73 Import logbook in the executor to avoid blocking the event loop (#111807)
This one is likely because of all the sqlalchemy object construction
for the queries

`Component logbook import took 0.245 seconds (loaded_executor=False)`
2024-02-29 10:36:54 -05:00
J. Nick Koston
a664f296e2 Import upnp in the executor to avoid blocking the event loop (#111808)
`2024-02-29 01:23:54.490 DEBUG (MainThread) [homeassistant.loader] Component upnp import took 0.349 seconds (loaded_executor=False)
`
2024-02-29 10:36:22 -05:00
J. Nick Koston
db9cda4fd2 Import homekit in the executor to avoid blocking the event loop (#111809)
`homekit import took 0.635 seconds (loaded_executor=False)`

not sure how I missed this one
2024-02-29 10:35:50 -05:00
Jan-Philipp Benecke
58d966a18f Import discovergy in the executor to avoid blocking the event loop (#111824) 2024-02-29 10:35:34 -05:00
J. Nick Koston
f59268b2ee Include filename in exception when loading a json file fails (#111802)
* Include filename in exception when loading a json file fails

* fix
2024-02-29 10:30:29 -05:00
Paulus Schoutsen
9512fb420d Import cryptography OpenSSL backend (#111840)
* Import cryptography OpenSSL backend

* No need to impor top-level. Included.

* Update homeassistant/bootstrap.py
2024-02-29 10:28:32 -05:00
Joost Lekkerkerker
b70eea7fb2 Add icon translations to IPP (#111846)
* Add icon translations to IPP

* Add icon translations to IPP
2024-02-29 16:09:47 +01:00
J. Nick Koston
63c3d6e113 Fix race in config entry setup again (#111800)
Because the setup again was scheduled as a task, it would
not unset self._async_cancel_retry_setup in time and we would
try to unsub self._async_cancel_retry_setup after it had already
fired. Change it to call a callback that runs right away so it
unsets self._async_cancel_retry_setup as soon as its called
so there is no race

fixes #111796
2024-02-29 15:47:36 +01:00
Jan-Philipp Benecke
bc6b4d01c8 Deprecate hass.components and log warning if used inside custom component (#111508)
* Deprecate @bind_hass and log error if used inside custom component

* Log also when accessing `hass.components`

* Log warning only when `hass.components` is used

* Change version

* Process code review
2024-02-29 12:25:46 +01:00
J. Nick Koston
af4771a198 Import enphase_envoy in the executor to avoid blocking the event loop (#111805) 2024-02-28 22:25:55 -10:00
Joost Lekkerkerker
cb2c845c04 Add icon translations to Hue (#111725) 2024-02-29 09:22:35 +01:00
Paulus Schoutsen
fba331fd7e Bump version to 2024.3.0b1 2024-02-28 23:26:32 -05:00
Paulus Schoutsen
dd85a97a48 get_matter_device_info: Test the Matter config entry is set up (#111792)
Ensure the Matter config entry is set up
2024-02-28 23:26:24 -05:00
Michael Hansen
b19b5dc451 Bump intents and add sentence tests (#111791) 2024-02-28 23:26:22 -05:00
J. Nick Koston
3d4291fc59 Import discord in the executor to avoid blocking the event loop (#111790)
`2024-02-28 19:20:04.485 DEBUG (MainThread) [homeassistant.loader] Component discord import took 1.181 seconds (loaded_executor=False)`
2024-02-28 23:26:22 -05:00
J. Nick Koston
3cd07aacad Fix steamist blocking startup by waiting for discovery (#111789)
Fix steamist blocking statup by waiting for discovery
2024-02-28 23:26:21 -05:00
J. Nick Koston
19837055bf Fix tplink blocking startup by waiting for discovery (#111788)
* Fix tplink blocking statup by waiting for discovery

* remove started
2024-02-28 23:26:20 -05:00
J. Nick Koston
209e61f734 Fix flux_led blocking startup by waiting for discovery (#111787)
* Avoid blocking startup by waiting for discovery in flux_led

* remove started discovery
2024-02-28 23:26:19 -05:00
J. Nick Koston
39deab74b3 Import analytics_insights in the executor to avoid blocking the event loop (#111786)
fixes #111780
2024-02-28 23:26:19 -05:00
J. Nick Koston
77fd02da1d Fix time trigger tests with leap year (#111785) 2024-02-28 23:26:18 -05:00
J. Nick Koston
7e80eb551e Bump securetar to 2024.2.1 (#111782) 2024-02-28 23:26:17 -05:00
J. Nick Koston
536addc5ff Import backup in the executor to avoid blocking the event loop (#111781) 2024-02-28 23:26:16 -05:00
J. Nick Koston
ff0fbcb309 Import opower in the executor to avoid blocking the event loop (#111778)
fixes #111777
2024-02-28 23:26:16 -05:00
J. Nick Koston
c9ea72ba7d Import androidtv_remote in the executor to avoid blocking the event loop (#111776)
fixes #111775
2024-02-28 23:26:15 -05:00
J. Nick Koston
10a1a450a3 Import coinbase in the executor to avoid blocking the event loop (#111774)
fixes #111773
2024-02-28 23:26:14 -05:00
J. Nick Koston
7ff6627e07 Import blink in the executor to avoid blocking the event loop (#111772)
fixes #111771
2024-02-28 23:26:13 -05:00
Marcel van der Veldt
4a66727bff Bump aiohue to 4.7.1 (#111770)
bump aiohue to 4.7.1
2024-02-28 23:26:12 -05:00
J. Nick Koston
db584857c8 Import cryptography early since importing openssl is not thread-safe (#111768) 2024-02-28 23:26:11 -05:00
J. Nick Koston
cb7116126c Import isy994 in the executor to avoid blocking the event loop (#111766) 2024-02-28 23:26:11 -05:00
Marcel van der Veldt
99a70ba959 Bump Python Matter Server to 5.7.0 (#111765) 2024-02-28 23:26:10 -05:00
J. Nick Koston
a9fd113a80 Move DATA_LOGGING constant to homeassistant.const (#111763) 2024-02-28 23:26:09 -05:00
J. Nick Koston
acfd1c2755 Pre-import api, config, and lovelace in bootstrap to avoid loading them at runtime (#111752) 2024-02-28 23:26:08 -05:00
puddly
feea4071d0 Improve ZHA group color modes (#111669)
* Set the color mode based on supported color modes

* Replace `zha` with `tuya` in unit test
2024-02-28 23:26:07 -05:00
yanuino
e1be109947 Read min/max number of showers from state for DomesticHotWaterProduction in Overkiz integration (#111535)
* Read min/max number of showers from state

* Rewrite code for Read min/max number of showers from state

* Set _attr_ instead of inherited value
2024-02-28 23:26:06 -05:00
Allen Porter
812afc1bd0 Fix calendar trigger to survive config entry reloads (#111334)
* Fix calendar trigger to survive config entry reloads

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-28 23:26:05 -05:00
Jeremy TRUFIER
27b5a79fa5 Add overkiz support for Atlantic Shogun ZoneControl 2.0 (AtlanticPassAPCHeatingAndCoolingZone) (#110510)
* Add Overkiz support for AtlanticPassAPCHeatingAndCoolingZone widget

* Add support for AUTO HVAC mode for Atlantic Pass APC ZC devices that support it

* Add support for multiple IO controllers for same widget (mainly for Atlantic APC)

* Implement PR feedback

* Small PR fixes

* Fix constant inversion typo
2024-02-28 23:26:04 -05:00
Michael Hansen
0985a7ab91 Bump intents and add sentence tests (#111791) 2024-02-28 23:25:33 -05:00
Robert Svensson
458391ee2b Axis improve coverage binary tests (#111758)
* Parametrize binary sensor tests

* Add test coverage to the different *guard apps

* Add object analytics tests
2024-02-28 23:14:50 -05:00
Álvaro Fernández Rojas
224f6dbdbb Use proper constant in Airzone Cloud climate tests (#111747)
tests: airzone_cloud: avoid using airzone const

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-28 23:14:08 -05:00
Paulus Schoutsen
c6fd9e25ce get_matter_device_info: Test the Matter config entry is set up (#111792)
Ensure the Matter config entry is set up
2024-02-28 23:09:48 -05:00
Allen Porter
1eac7bcbec Fix calendar trigger to survive config entry reloads (#111334)
* Fix calendar trigger to survive config entry reloads

* Apply suggestions from code review

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-29 03:45:51 +01:00
J. Nick Koston
59b7f8d103 Fix tplink blocking startup by waiting for discovery (#111788)
* Fix tplink blocking statup by waiting for discovery

* remove started
2024-02-28 21:34:08 -05:00
J. Nick Koston
b11e97e132 Fix flux_led blocking startup by waiting for discovery (#111787)
* Avoid blocking startup by waiting for discovery in flux_led

* remove started discovery
2024-02-28 21:16:38 -05:00
J. Nick Koston
b40978597c Import discord in the executor to avoid blocking the event loop (#111790)
`2024-02-28 19:20:04.485 DEBUG (MainThread) [homeassistant.loader] Component discord import took 1.181 seconds (loaded_executor=False)`
2024-02-29 03:02:25 +01:00
J. Nick Koston
7527e87e26 Fix steamist blocking startup by waiting for discovery (#111789)
Fix steamist blocking statup by waiting for discovery
2024-02-29 03:00:47 +01:00
Paulus Schoutsen
4eb0f86a65 Remove 'values' from services validation (#111440)
* Remove 'values' from services validation

* Remove extra blank line
2024-02-29 02:53:03 +01:00
J. Nick Koston
9f8fbb747e Pre-import api, config, and lovelace in bootstrap to avoid loading them at runtime (#111752) 2024-02-28 15:40:16 -10:00
J. Nick Koston
943bd179f8 Import analytics_insights in the executor to avoid blocking the event loop (#111786)
fixes #111780
2024-02-29 02:09:12 +01:00
J. Nick Koston
3fbeb7e400 Fix time trigger tests with leap year (#111785) 2024-02-28 14:51:27 -10:00
J. Nick Koston
675ddaf742 Bump securetar to 2024.2.1 (#111782) 2024-02-28 14:31:41 -10:00
Jan-Philipp Benecke
f31244bac4 Add normalized name registry items base class (#111666)
* Add normalized name base registry items class

* Add tests
2024-02-29 01:31:33 +01:00
J. Nick Koston
f1398dd127 Import backup in the executor to avoid blocking the event loop (#111781) 2024-02-28 14:20:10 -10:00
J. Nick Koston
5bf7a00989 Move DATA_LOGGING constant to homeassistant.const (#111763) 2024-02-28 14:09:51 -10:00
J. Nick Koston
3c8fcaf912 Import androidtv_remote in the executor to avoid blocking the event loop (#111776)
fixes #111775
2024-02-28 19:01:39 -05:00
Marcel van der Veldt
c861bd6c56 Bump Python Matter Server to 5.7.0 (#111765) 2024-02-28 19:01:11 -05:00
Marc Mueller
42a28f4e67 Improve zha coordinator typing (#111767) 2024-02-28 19:00:31 -05:00
J. Nick Koston
61f6df527e Import cryptography early since importing openssl is not thread-safe (#111768) 2024-02-28 19:00:17 -05:00
Marcel van der Veldt
220e66faad Bump aiohue to 4.7.1 (#111770)
bump aiohue to 4.7.1
2024-02-28 18:59:44 -05:00
J. Nick Koston
73f283435d Import blink in the executor to avoid blocking the event loop (#111772)
fixes #111771
2024-02-28 18:59:26 -05:00
J. Nick Koston
bd07b654d5 Import coinbase in the executor to avoid blocking the event loop (#111774)
fixes #111773
2024-02-28 18:59:13 -05:00
J. Nick Koston
ab74c11d33 Import opower in the executor to avoid blocking the event loop (#111778)
fixes #111777
2024-02-28 18:58:23 -05:00
Bram Kragten
09c16ffb3d Bump version to 2024.4.0.dev0 (#111755) 2024-02-29 00:46:32 +01:00
J. Nick Koston
826009cdc5 Import isy994 in the executor to avoid blocking the event loop (#111766) 2024-02-28 12:39:19 -10:00
puddly
016f2c7581 Improve ZHA group color modes (#111669)
* Set the color mode based on supported color modes

* Replace `zha` with `tuya` in unit test
2024-02-28 17:20:19 -05:00
Jeremy TRUFIER
eeb87247e9 Add overkiz support for Atlantic Shogun ZoneControl 2.0 (AtlanticPassAPCHeatingAndCoolingZone) (#110510)
* Add Overkiz support for AtlanticPassAPCHeatingAndCoolingZone widget

* Add support for AUTO HVAC mode for Atlantic Pass APC ZC devices that support it

* Add support for multiple IO controllers for same widget (mainly for Atlantic APC)

* Implement PR feedback

* Small PR fixes

* Fix constant inversion typo
2024-02-28 23:16:03 +01:00
Isak Nyberg
fb10ef9ac0 Add permobil entity (#111761)
* add permobil entity

* small fixes

* remove sensor init
2024-02-28 22:55:47 +01:00
yanuino
e886bc8939 Read min/max number of showers from state for DomesticHotWaterProduction in Overkiz integration (#111535)
* Read min/max number of showers from state

* Rewrite code for Read min/max number of showers from state

* Set _attr_ instead of inherited value
2024-02-28 22:32:46 +01:00
Bram Kragten
fbc456c4c7 Bump version to 2024.3.0b0 2024-02-28 20:52:40 +01:00
Bram Kragten
e0566ee204 Merge dev into rc 2024-02-28 20:47:56 +01:00
Andy
cd5377367a Add Ecovacs goat switch entities (#111751) 2024-02-28 20:43:53 +01:00
puddly
4ec75d6ca7 Use new zigpy OTA providers for ZHA (#111159)
* Use `None` instead of `"unknown"` when the current version is unknown

* Only use the current file version from the OTA notification

* Use `sw_version`, if available, and update `current_file_version`

* Assume the current version is the latest version

* Fix lint errors

* Use `image` instead of `firmware`

* Include a changelog if updates expose it

* Clear latest firmware only after updating the installed version

* Bump minimum zigpy version to 0.63.0

* Create a data update coordinator to consolidate updates

* Fix overridden `async_update`

* Fix most unit tests

* Simplify `test_devices` to fix current tests

* Use a dict comprehension for creating mocked entities

* Fix unit tests (thanks @dmulcahey!)

* Update the currently installed version on cluster attribute update

* Drop `PARALLEL_UPDATES` now that we use an update coordinator

* Drop `_reset_progress`, it is already handled by the update component

* Do not update the progress if we are not supposed to be updating

* Ignore latest version (e.g. if device attrs changed) if zigpy rejects it

* Clean up handling of command id in `Ota.cluster_command`

* Start progress at 1%: 0 and False are considered equal and are filtered!

Use `ceil` instead of remapping 1-100

* The installed version will be auto-updated when the upgrade succeeds

* Avoid 1 as well, it collides with `True`

* Bump zigpy to (unreleased) 0.63.2

* Fix unit tests

* Fix existing unit tests

Send both event types

Globally enable sending both event types

* Remove unnecessary branches

* Test ignoring invalid progress callbacks

* Test updating a device with a no longer compatible firmware
2024-02-28 14:38:04 -05:00
Scott K Logan
4895f92551 Bump aioraven to 0.5.1 (#111600) 2024-02-28 20:34:07 +01:00
J. Nick Koston
941df567f8 Import powerwall in the executor to avoid blocking the event loop (#111749)
`2024-02-27 22:44:17.087 DEBUG (MainThread) [homeassistant.loader] Component powerwall import took 0.459 seconds (loaded_executor=False)`
2024-02-28 14:31:23 -05:00
J. Nick Koston
327796a750 Eagerly unload config entries in tests (#111707)
This is a small latancy reduction to reduce test wall clock time
since it runs every test
2024-02-28 14:03:21 -05:00
J. Nick Koston
104884056f Import plex in the executor to avoid blocking the event loop (#111743)
`Importing platform plex.config_flow took 0.54s (loaded_executor=False)`
2024-02-28 14:02:34 -05:00
Cyrill Raccaud
c0a7aacfa8 Cleanup swiss_public_transport error logging (#111741) 2024-02-28 19:42:25 +01:00
Bram Kragten
928458160e Update frontend to 20240228.0 (#111736) 2024-02-28 17:35:53 +01:00
J. Nick Koston
f95e5c1196 Use eager tasks in ssdp (#111696)
There are a few places where we are likely to never suspend here
2024-02-28 10:56:07 -05:00
J. Nick Koston
d164039bba Remove gather for loading generated files in zeroconf (#111699)
async_get_custom_components is the only place this can suspend
and it will always be cached by the time this is called so there
is no reason to schedule these on the event loop
2024-02-28 10:55:41 -05:00
Joost Lekkerkerker
c957ff49bf Add icon translations to Huisbaasje (#111726)
* Add icon translations to Huisbaasje

* Add icon translations to Huisbaasje
2024-02-28 16:37:14 +01:00
Joost Lekkerkerker
e28f551cb0 Add icon translations to Huawei LTE (#111724)
* Add icon translations to Huawei LTE

* Add icon translations to Huawei LTE
2024-02-28 16:35:47 +01:00
Andy
69bb827a20 Add ecovacs lawn mover (#111673) 2024-02-28 16:35:29 +01:00
Joost Lekkerkerker
515ca2b6f1 Add icon translations to Homekit (#111719) 2024-02-28 16:34:50 +01:00
Joost Lekkerkerker
7d1d72cc45 Add icon translations to Harmony (#111714) 2024-02-28 16:34:25 +01:00
Joost Lekkerkerker
0ff55a2d24 Add icon translations to Hassio (#111715) 2024-02-28 16:33:46 +01:00
Joost Lekkerkerker
5940dbd51d Add icon translations to Heos (#111716) 2024-02-28 16:33:12 +01:00
Joost Lekkerkerker
818022073d Add icon translations to Hive (#111717) 2024-02-28 16:32:52 +01:00
Joost Lekkerkerker
afe3d7fb4f Add icon translations to Home connect (#111718) 2024-02-28 16:32:26 +01:00
Joost Lekkerkerker
15cd9c011e Add icon translations to Homekit Controller (#111720)
* Add icon translations to Homekit Controller

* Add icon translations to Homekit Controller
2024-02-28 16:31:09 +01:00
Joost Lekkerkerker
b6d56d38ba Add icon translations to Homematic IP Cloud (#111723) 2024-02-28 16:30:20 +01:00
Sebastian Noack
df61d0a29d Add entities for Balboa Spa lights (#111252) 2024-02-28 16:29:40 +01:00
Erik Montnemery
b336095239 Allow translating device names (#110711)
* Allow translating device names

* Don't keep a reference to translations in config entry

* Update kitchen_sink tests

* Add tests
2024-02-28 15:59:59 +01:00
J. Nick Koston
9b9700c75f Import nexia in the executor to avoid blocking the event loop (#111694)
2024-02-27 22:54:18.638 DEBUG (MainThread) [homeassistant.loader] Importing platform nexia.config_flow took 1.84s (loaded_executor=False)
2024-02-28 15:37:10 +01:00
J. Nick Koston
f71343a3ba Import tplink in the executor to avoid blocking the event loop (#111691)
* Import tplink in the executor to avoid blocking the event loop

2024-02-27 22:44:19.908 DEBUG (MainThread) [homeassistant.loader] Component tplink import took 1.620 seconds (loaded_executor=False)

* patch out discovery because it happens too fast now
2024-02-28 15:06:33 +01:00
dependabot[bot]
ee0f177153 Bump github/codeql-action from 3.24.4 to 3.24.5 (#111448)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.4 to 3.24.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.24.4...v3.24.5)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-28 14:58:37 +01:00
Robert Svensson
c478b1416c Adapt Axis integration to library refactoring (#110898)
* Adapt Axis integration to library refactoring

* Bump axis to v49
2024-02-28 14:36:32 +01:00
Joost Lekkerkerker
2b3630b054 Add icon translations to HVV departures (#111728) 2024-02-28 14:19:32 +01:00
Sebastian Noack
5a57816e50 Add entities for Balboa Spa pumps (#111245)
* Add entities for Balboa Spa pumps

* Fix fan tests and move client_update to __init__

* Ruff

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-02-28 14:19:02 +01:00
Simone Chemelli
5c124e5fd2 Add Comelit humidifier/dehumidifier (#111203)
* Add Comelit humidifier/dehumidifier

* optimize turn_on

* fix entity naming

* raise ServiceValidationError

* apply review comment

* apply review comments

* rename HumidifierComelitAction
2024-02-28 14:15:44 +01:00
Joost Lekkerkerker
4be0e86591 Add icon translations to Guardian (#111712)
Co-authored-by: Aaron Bach <bachya1208@gmail.com>
2024-02-28 13:08:40 +01:00
Joost Lekkerkerker
a8887d59ed Add icon translations to BMW (#111348)
* Add icon translations to BMW

* Add icon translations to BMW
2024-02-28 13:05:27 +01:00
Joost Lekkerkerker
40431a9f7e Add icon translations to DROP connect (#111373)
* Add icon translations to DROP connect

* Add icon translations to DROP connect
2024-02-28 12:58:04 +01:00
Joost Lekkerkerker
7ad1d3e891 Add icon translations to DSMR (#111411)
* Add icon translations to DSMR

* Add icon translations to DSMR
2024-02-28 12:55:43 +01:00
J. Nick Koston
913ee90e1a Use eager tasks when updating entity state after service calls (#111702)
In a multi-entity update case the state update may not need
to suspend and can get executed without scheduling a task
on the event loop
2024-02-28 12:46:32 +01:00
J. Nick Koston
69a1da0a1a Make entity component platform setup tasks eager (#111698)
Many of these that setup from YAML will never suspend
because they do no I/O
2024-02-28 12:44:23 +01:00
J. Nick Koston
459f430575 Use eager tasks in a few more places in bootstrap (#111697)
I missed a few of the ones that run before we call
_async_set_up_integrations as I was too focused
on the timings of that function
2024-02-28 12:41:03 +01:00
J. Nick Koston
f7ac1e4b8e Import mobile_app in the executor to avoid blocking the event loop (#111692)
2024-02-27 22:44:23.926 DEBUG (MainThread) [homeassistant.loader] Component mobile_app import took 0.490 seconds (loaded_executor=False)
2024-02-28 12:39:51 +01:00
Michał Jaworski
12b15a9a37 Bump blebox_uniapi to 2.2.1 (#108918)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-28 12:39:37 +01:00
Joost Lekkerkerker
e8837a4026 Add icon translations to Fronius (#111608) 2024-02-28 12:04:49 +01:00
Joost Lekkerkerker
b117deff58 Add icon translations to Gree (#111662)
* Add icon translations to Gree

* Add icon translations to Gree
2024-02-28 11:38:16 +01:00
Erwin Douna
c52e2038be Tado code quality improvements (#107678)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-28 11:28:51 +01:00
Joost Lekkerkerker
38ba966d74 Add icon translations to Devolo home network (#111367) 2024-02-28 11:21:19 +01:00
Joost Lekkerkerker
b629f5c143 Add icon translations to Denon avr (#111364)
* Add icon translations to Denon avr

* Update homeassistant/components/denonavr/icons.json
2024-02-28 11:02:37 +01:00
Jan-Philipp Benecke
ebfba7258e Revert "Drop @bind_hass use from hassio component (#111522)" (#111705)
This reverts commit 4e4345f04e.
2024-02-28 10:51:37 +01:00
Jan-Philipp Benecke
3ae056b358 Revert "Remove @bind_hass from async_active_zone and make callback function" (#111704)
Revert "Remove `@bind_hass` from async_active_zone and make callback function…"

This reverts commit f85a8c5041.
2024-02-28 10:51:17 +01:00
Jan-Philipp Benecke
259171eda9 Revert "Remove @bind_hass from camera functions" (#111703)
Revert "Remove `@bind_hass` from `camera` functions (#111494)"

This reverts commit c890c1aeee.
2024-02-28 10:51:04 +01:00
Joost Lekkerkerker
dbeb93b260 Add icon translations to Filesize (#111536) 2024-02-28 09:37:38 +01:00
J. Nick Koston
01a6b85a35 Avoid creating system monitor disk sensors for non-dirs (#111695)
Avoid creating system monitor sensors for non-dirs

Currently we create sensors for /etc/hosts, /etc/asound.conf, since
they are bind mounts in the container. These all have to have
their own coordinator
2024-02-28 09:31:02 +01:00
Joost Lekkerkerker
f9d9ac48c7 Add icon translations to Google Assistant SDK (#111658) 2024-02-28 08:52:51 +01:00
Joost Lekkerkerker
882f28bb5f Add icon translations to FAA delays (#111533) 2024-02-28 08:52:36 +01:00
Joost Lekkerkerker
2f38ce2813 Add icon translations to Eufylife BLE (#111530) 2024-02-28 08:52:24 +01:00
Joost Lekkerkerker
2cee022bb7 Add icon translations to Fastdotcom (#111534) 2024-02-28 08:51:10 +01:00
Joost Lekkerkerker
1a61c6db1c Add icon translations to Fireservicerota (#111537) 2024-02-28 08:50:57 +01:00
Joost Lekkerkerker
24050b6e0f Add icon translations to Escea (#111529) 2024-02-28 08:50:44 +01:00
Joost Lekkerkerker
e2c38c6415 Add icon translations to Environment Canada (#111527)
* Add icon translations to Environment Canada

* Add icon translations to Environment Canada
2024-02-28 08:50:31 +01:00
Joost Lekkerkerker
dfd8179a2d Add icon translations to FiveM (#111539) 2024-02-28 08:50:16 +01:00
Joost Lekkerkerker
cd9219d4c6 Add icon translations to GDACS (#111611)
* Add icon translations to GDACS

* Add icon translations to GDACS

* Add icon translations to GDACS
2024-02-28 08:49:58 +01:00
Joost Lekkerkerker
3077039470 Add icon translations to Glances (#111615)
* Add icon translations to Glances

* Add icon translations to Glances
2024-02-28 08:49:47 +01:00
Joost Lekkerkerker
132b597d9e Add icon translations to Epson (#111528) 2024-02-28 08:49:24 +01:00
J. Nick Koston
c3412bb017 Make homekit_controller platform load tasks eagerly (#111701) 2024-02-27 21:46:42 -10:00
J. Nick Koston
e0d15680a6 Import xiaomi_ble in the executor to avoid blocking the event loop (#111693) 2024-02-27 20:48:40 -10:00
J. Nick Koston
b9718fe2e9 Avoid tracking tasks that finish right away (#111690) 2024-02-27 19:09:34 -10:00
Joost Lekkerkerker
470d121f5c Add icon translations to Flume (#111543) 2024-02-27 18:36:12 -10:00
J. Nick Koston
78bb6dbe75 Reduce latency in storage by making the tasks eager (#111500)
* Reduce latancy to load storage by making the task eager

This changes the semantics a bit under the hood because it
can raise sooner which means we do not store the task
as _load_task if it raises right away. That means
concurrent calls that result in failure are likely to try
again now which will be a tiny performance hit for this
case.

* fix

* will now finish in time
2024-02-27 23:27:37 -05:00
J. Nick Koston
e74e1e3008 Reduce hassio setup time (#111686)
Reduce supervisor setup time

The two calls that take the most time are calling
push_config ~0.4s and updating the api ~0.35s and
can be run concurrently
2024-02-27 21:30:48 -05:00
J. Nick Koston
e62b709dea Reduce task overhead in homekit_controller (#111670) 2024-02-27 14:49:29 -10:00
Joost Lekkerkerker
147c261389 Add icon translations to Generic camera (#111612)
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-02-27 13:42:56 -10:00
Bernhard B
1570977e9f Bump pysignalclirestapi to 0.3.23 (#111501) 2024-02-27 13:42:29 -10:00
Joost Lekkerkerker
2858d73abc Add icon translations to Foscam (#111546)
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-02-27 13:41:44 -10:00
Joost Lekkerkerker
74a319f907 Add icon translations to Google (#111656)
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2024-02-27 13:41:29 -10:00
Jan-Philipp Benecke
4e4345f04e Drop @bind_hass use from hassio component (#111522)
* Drop `@bind_hass` use from hassio component

* Add comment why we import locally

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-28 00:25:46 +01:00
Simone Chemelli
0e329d2572 Bump aioshelly to 8.1.1 (#111678) 2024-02-28 00:24:42 +01:00
J. Nick Koston
49eb664a05 Update httpx to 0.27.0 and httpcore to 1.0.4 (#111681) 2024-02-27 13:15:33 -10:00
J. Nick Koston
2b19783311 Await service calls in emulated_hue instead of making them blocking (#111674) 2024-02-27 12:44:27 -10:00
J. Nick Koston
105a1ca127 Use eager_start for homekit task creation (#111675) 2024-02-27 12:44:01 -10:00
J. Nick Koston
3c25e2a4bd Small speed up to Bluetooth setup (#111677) 2024-02-27 12:43:44 -10:00
J. Nick Koston
6abb8ae273 Migrate setup to use eager tasks (#111619) 2024-02-27 12:43:32 -10:00
Joost Lekkerkerker
9cf874d4a0 Add icon translations to Energyzero (#111513)
* Add icon translations to Energyzero

* Add icon translations to Energyzero
2024-02-27 23:41:07 +01:00
J. Nick Koston
c4d719a7cf Use eager_start for background service call tasks (#111620) 2024-02-27 12:06:32 -10:00
Jan-Philipp Benecke
c8b7f098e5 Avoid call to hass.helpers.store in FloorRegistry (#111554)
* Avoid call to `hass.helpers.store` in FloorRegistry

* Change type annotation
2024-02-27 23:03:28 +01:00
Jc2k
cf849664ba Cleanup BLE-only controls when migrating HomeKit BLE device to Thread (#110334)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-27 12:02:27 -10:00
Jan-Philipp Benecke
c890c1aeee Remove @bind_hass from camera functions (#111494)
* Remove `@bind_hass` from camera functions

* Pass hass to async_get_image in image_processing
2024-02-27 23:01:43 +01:00
J. Nick Koston
6c00d02d0b Use eager_start for shelly task creation (#111671) 2024-02-27 11:55:38 -10:00
Joost Lekkerkerker
99c1912ccd Add icon translations to Goalzero (#111630) 2024-02-27 22:49:59 +01:00
Arie Catsman
d8d44069b5 Add Grid import export to Enphase Envoy (#110884)
* Add Grid import export to enphase Envoy

* Update snapshot for labels dict element in entity registry

* use identity check for enum

* Revert use of identity check, didn't add entities

* Implement review feedback for tests

* ct phase sensors disabled by default

* import PHASENAMES from pyenphase

* Update tests/components/enphase_envoy/test_sensor.py

* Update tests/components/enphase_envoy/test_sensor.py

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-27 16:43:43 -05:00
Joost Lekkerkerker
a29d29ad85 Add icon translations to Google Assistant (#111657) 2024-02-27 22:30:27 +01:00
Joost Lekkerkerker
071835c761 Add icon translations to Google Generative AI Conversation (#111659) 2024-02-27 22:30:02 +01:00
Joost Lekkerkerker
5aa5bc406c Add icon translations to Google Mail (#111660) 2024-02-27 22:28:53 +01:00
Joost Lekkerkerker
d9486c1eb5 Add icon translations to Google Sheets (#111661) 2024-02-27 22:28:10 +01:00
Joost Lekkerkerker
81590ac887 Add icon translations to Goodwe (#111655) 2024-02-27 22:22:56 +01:00
Jan Čermák
d4a7e4a6ac Add ODROID-M1S as a supported OS hardware board (#111022) 2024-02-27 21:51:55 +01:00
Mike Degatano
68200de4d2 Bad Request from supervisor should be error (#111162) 2024-02-27 21:49:52 +01:00
Shay Levy
2a8e5ceea9 Fix Switcher test update CI failure (#111667) 2024-02-27 10:32:40 -10:00
J. Nick Koston
290ffd14a4 Bump aiohomekit to 3.1.5 (#111663) 2024-02-27 10:13:14 -10:00
Arie Catsman
850add120a Bump pyenphase to 1.19.1 (#111653) 2024-02-27 09:56:49 -10:00
J. Nick Koston
a6f4f6eae8 Use eager task creation to add entities to entity platform (#111553) 2024-02-27 09:54:51 -10:00
Robert Svensson
8da2c53742 Bump aiounifi to v72 (#111649) 2024-02-27 20:15:33 +01:00
Federico D'Amico
1109aba211 Add button platform to microBees (#111141)
* add button platform to microBees

* use list comprehension for async_add_entities

* add a transaltion_key and fix list comprehension

* add panic button

* remove BUTTON_PRODUCT_IDS
2024-02-27 19:41:42 +01:00
Paulus Schoutsen
bc47c80bbf 2024.2.5 (#111648) 2024-02-27 13:23:44 -05:00
Erik Montnemery
fc4b18b907 Return FlowResultType.ABORT when violating single_config_entry (#111637)
* Return FlowResultType.ABORT when violating single_config_entry

* Fix translations

* Fix tests
2024-02-27 18:28:19 +01:00
Robert Svensson
4281f648d2 Break out UniFi get_unifi_api function (#111323)
Break out get api function
2024-02-27 18:20:06 +01:00
Erik Montnemery
6bd7a74fab Update list of integrations known to violate color mode rules (#111647) 2024-02-27 18:17:26 +01:00
J. Nick Koston
e25b097376 Import bluetooth in the executor to avoid blocking the event loop (#111596) 2024-02-27 07:05:39 -10:00
Joakim Sørensen
f622ddef47 Move backup/* WS commands to the backup integration (#111636)
Revert "Revert "Move backup/* WS commands to the backup integration" (#111136)"

This reverts commit 8f83426895.
2024-02-27 11:56:07 -05:00
Michael Hansen
890e651bdd Avoid race condition with UDP voice server starting in ESPHome (#111644)
* Avoid race condition with UDP server starting

* Fix test
2024-02-27 10:54:56 -06:00
Paulus Schoutsen
8b8c607b01 Bump version to 2024.2.5 2024-02-27 11:48:39 -05:00
Aidan Timson
6b5735cd08 Add title to reauthenticate integration issue (#111275)
* Add title to reauthenticate integration issue

* Fix translation placeholder in test

* Update translation placeholders in test_init.py

* Update integration reauthentication message

* Update string
2024-02-27 11:48:35 -05:00
Martin Hjelmare
00d11ff68e Fix rfxtrx flaky reconnect test (#111635) 2024-02-27 16:13:08 +01:00
Jan Rothkegel
887182c224 Wolflink connection pooling (#111483)
* Enable connection pooling

* Decrease polling frequency

* Replace client passing by instance instead of lambda
2024-02-27 15:59:52 +01:00
Erik Montnemery
6ccf7dea32 Always allow ignore and unignore flows for single config entry integrations (#111631)
* Always allow ignore and unignore flows for single config entry integrations

* Update tests/test_config_entries.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-27 15:47:56 +01:00
Jan-Philipp Benecke
070b411820 Avoid call to hass.helpers.store in LabelRegistry (#111555)
* Avoid call to `hass.helpers.store` in LabelRegistry

* Change type annotation
2024-02-27 09:37:45 -05:00
J. Nick Koston
773543b617 Ensure all data is set in seventeentrack before adding entities (#111603)
This integration would call async_add_entities before
it has set the data that the entity needed. There is
no guarantee that the entity would take long enough
to add that the data would be there
2024-02-27 08:47:31 -05:00
J. Nick Koston
08e0008d31 Use an eager task to setup entity platforms (#111574)
* Use an eager task to setup entity platforms

Ideally we would have awaited this function instead, but we want
to shield it from cancellation so we wrap it in asyncio.shield
which schedules it as a task. Since we have integrations that
never suspend in async_setup_entry, we can avoid scheduling on
the evnet loop with an eager task for this case

* its an executor future

* its an executor future

* fix

* doc string lied
2024-02-27 08:45:45 -05:00
Joost Lekkerkerker
224ca122fd Add icon translations to Fully kiosk (#111609)
* Add icon translations to Fully kiosk

* Update homeassistant/components/fully_kiosk/icons.json
2024-02-27 08:43:42 -05:00
J. Nick Koston
c78cccf7d2 Import shelly in the executor to avoid blocking the event loop (#111623)
`[homeassistant.loader] Component shelly import took 0.396 seconds (loaded_executor=False)`
2024-02-27 08:35:57 -05:00
J. Nick Koston
55e3eb6160 Import airvisual in the executor to avoid blocking the event loop (#111624)
`Component airvisual import took 0.566 seconds (loaded_executor=False)`
2024-02-27 08:35:46 -05:00
J. Nick Koston
7fbd10019a Import xbox in the executor to avoid blocking the event loop (#111625)
`Component xbox import took 0.326 seconds (loaded_executor=False)
`
2024-02-27 08:35:33 -05:00
Nils Bergmann
08497db358 Extend ZHA thermostat local temperature calibration range for Sonoff TRVZB (#109691)
* Extend thermostat local temperature calibration range

* Extend thermostat local temperature calibration range only for TRVZB

* Change _attr_native_min_value and _attr_native_max_value back to -2.5 and 2.5

* Adjust _attr_native_step for TRVZB to 0.2

* Implement requested changes

* Fix platform for MULTI_MATCH

* Implement requested changes

* Implement requested changes
2024-02-27 08:32:23 -05:00
Robert Resch
d7fb949994 Deprecate mailbox platform (#110930) 2024-02-27 13:50:02 +01:00
Erik Montnemery
8fb542917b Deprecate the Ambiclimate integration (#111627)
Deprecate Ambiclimate integration
2024-02-27 13:45:12 +01:00
Brenan Kelley
458c5ae657 Add statistics keep_last_sample option (#88655)
* introduce preserve last value option

* improve comments

* add unit test

* skip scheduling purge on a preserved value

* do not schedule sensor update if preserving last value

* fix unit test to use new mock time pattern

pattern introduced in https://github.com/home-assistant/core/pull/93499

* rename preserve_last_val to keep_last_sample

* add keep_last_sample config validation
2024-02-27 13:17:05 +01:00
J. Nick Koston
4414b468f3 Import zwave_js in the executor to avoid blocking the event loop (#111622)
`2024-02-27 10:55:54.872 DEBUG (MainThread) [homeassistant.loader] Component zwave_js import took 0.780 seconds (loaded_executor=False)`
2024-02-27 13:14:27 +01:00
David F. Mulcahey
5d1b78a29d Add device list to ZHA config entry diagnostics (#111549)
* Add device list to ZHA  config entry diagnostics

* add logical type
2024-02-27 06:44:26 -05:00
Marc Mueller
e854ce5c21 Update typing-extensions to 4.10.0 (#111538) 2024-02-27 12:33:31 +01:00
Marc Mueller
adbd9c8d40 Update python-slugify to 8.0.4 (#111284) 2024-02-27 12:29:48 +01:00
dependabot[bot]
38395c8fab Bump actions/download-artifact from 4.1.2 to 4.1.3 (#111602) 2024-02-27 12:12:23 +01:00
Erik Montnemery
413b74a2e0 Deprecate Logi Circle integration (#111491)
* Deprecate Logi Circle integration

* Update homeassistant/components/logi_circle/__init__.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-27 11:36:36 +01:00
Joost Lekkerkerker
c09212e5aa Add icon translations to Garages Amsterdam (#111610) 2024-02-27 10:39:31 +01:00
Joost Lekkerkerker
497b63216a Add icon translations to Geocaching (#111613) 2024-02-27 10:39:10 +01:00
J. Nick Koston
044ace0a6a Make core tests that should run in the event loop coros (#111605) 2024-02-26 23:18:22 -10:00
Robert Resch
3703698f77 Bump deebot-client to 6.0.2 (#111507) 2024-02-27 09:39:49 +01:00
J. Nick Koston
d812507aeb Refactor eafm to avoid creating entities in the coordinator update (#111601) 2024-02-26 21:08:28 -10:00
Chris Talkington
2618d4abe0 Update pyipp to 0.14.5 (#111590) 2024-02-26 19:30:00 -10:00
J. Nick Koston
4579de6eb5 Import ssdp in the executor to avoid blocking the event loop (#111593)
`2024-02-26 21:37:59.325 DEBUG (MainThread) [homeassistant.loader] Component ssdp import took 1.179 seconds (loaded_executor=False)`
2024-02-26 23:58:34 -05:00
J. Nick Koston
f08122084b Reduce bootstrap code (#111450)
* Reduce bootstrap code

Adds a SETUP_ORDER const dict which will be used
for future refactoring

* tweak

* fix bad merge
2024-02-26 23:58:16 -05:00
J. Nick Koston
587854fd59 Remove zeroconf from ssdp after deps (#111326)
* Remove zeroconf from ssdp after deps

This was added in #36277 but is no longer needed since
we setup discovery integrations ahead of time to ensure
their deps are updated before other integrations can load
them

* adjust test
2024-02-26 23:57:41 -05:00
J. Nick Koston
de48ad5931 Create bootstrap tasks eagerly (#111497)
We can avoid one event loop iteration to start the tasks here
2024-02-26 23:56:16 -05:00
J. Nick Koston
7d9fa2f407 Load config entry platforms eagerly (#111498)
We can avoid one event loop iteration to start the tasks here.
2024-02-26 23:55:41 -05:00
J. Nick Koston
ce0fb1e716 Fully fix race in removing entities (#111499)
Full fix race in removing entities

Followup to #110978 now that we can start the task
eagerly it completely closes the race window
2024-02-26 23:55:15 -05:00
J. Nick Koston
f984cca49b Import usb in the executor to avoid blocking the event loop (#111592)
`2024-02-26 21:38:00.091 DEBUG (MainThread) [homeassistant.loader] Component usb import took 0.753 seconds (loaded_executor=False)`
2024-02-26 18:49:29 -10:00
J. Nick Koston
145ce183d0 Create component setup tasks eagerly in bootstrap (#111511)
This saves waiting one iteration of the event loop
2024-02-26 23:45:55 -05:00
J. Nick Koston
d5e1934942 Use an eager task in the update coordinator scheduled refresh (#111570)
* Use an eager task in the update coordinator scheduled refresh

We have a lot of places that will not suspend because the refresh function
decides it does not need to update. Currently these have to be scheduled
on the event loop even though they are a noop.

Since _handle_refresh_interval is subclassed in some integrations, I created
a dunder wrapper function to avoid integraions subclassing it

* fix time fires outside of patch
2024-02-26 23:31:08 -05:00
J. Nick Koston
b692f30c33 Import august in the executor to avoid blocking the event loop (#111595) 2024-02-26 18:30:31 -10:00
J. Nick Koston
35a3573bd2 Import spotify in the executor to avoid blocking the event loop (#111594) 2024-02-26 18:30:21 -10:00
Jesse Hills
e1dade69e1 ESPHome: Pass through wake_word_phrase from on-device microWakeWord (#111585)
* ESPHome: Pass through wake_word_phrase from on-device microWakeWord

* Bump aioesphomeapi to 23.0.0
2024-02-26 23:29:03 -05:00
J. Nick Koston
80ad4f1232 Import thread in the executor to avoid blocking the event loop (#111586)
Import thread in the executor

DEBUG (MainThread) [homeassistant.loader] Importing platform thread.config_flow took 2.92s (loaded_executor=False)
2024-02-26 23:21:10 -05:00
J. Nick Koston
7a3f829eac Import wemo in the executor to avoid blocking the event loop (#111587)
`2024-02-26 21:12:29.792 DEBUG (MainThread) [homeassistant.loader] Importing platform wemo.config_flow took 1.11s (loaded_executor=False)`
2024-02-26 23:20:55 -05:00
J. Nick Koston
b1e2eafe26 Import samsungtv in the executor to avoid blocking the event loop (#111588)
`2024-02-26 21:12:28.305 DEBUG (MainThread) [homeassistant.loader] Importing platform samsungtv.config_flow took 1.10s (loaded_executor=False)`

This one has a long requirements list
2024-02-26 23:20:39 -05:00
J. Nick Koston
d6d2ded546 Import dhcp in the executor to avoid blocking the event loop (#111589)
Discovery integrations load a lot earlier when many modules
are not yet loaded so they have a lot less overlapping deps

dhcp uses scapy which is large to import. I hope one
day to replace it with something more lightweight
2024-02-26 23:20:24 -05:00
J. Nick Koston
40190a2f1f Import zeroconf in the executor to avoid blocking the event loop (#111591)
This one takes ~0.45s on the green
2024-02-26 23:20:03 -05:00
J. Nick Koston
f56e4d6a09 Use eager task creation for entity platform polling (#111575)
* Use eager task creation for entity platform polling

We have lots of places where `async_update` does not suspend and
is only a coro because its required to be a coro to run in the
event loop

* try again
2024-02-26 23:16:39 -05:00
J. Nick Koston
1e02260bbe Use eager start for august subscriber refreshes (#111581)
Since most of the time this call will be a noop since pubnub will be connected
we can avoid scheduling a task on the event loop every time it fires
2024-02-26 23:13:33 -05:00
J. Nick Koston
cfe478245f Migrate gather_with_limited_concurrency to use create_eager_task (#111565) 2024-02-26 16:31:52 -10:00
J. Nick Koston
4bdd8dbd40 Refactor rainmachine to increase chance of reusing the connection (#111573) 2024-02-26 16:31:18 -10:00
J. Nick Koston
26079a6eaf Use eager_start for sonos ping background task (#111578) 2024-02-26 16:31:06 -10:00
J. Nick Koston
bf866732c9 Make unifiprotect fallback update an eager task (#111580) 2024-02-26 16:30:53 -10:00
J. Nick Koston
86ced5a85f Bump yalexs to 1.11.4 (#111567) 2024-02-26 16:30:37 -10:00
J. Nick Koston
6a62a39456 Start automations with eager tasks (#111568) 2024-02-26 16:30:00 -10:00
J. Nick Koston
fb4e8a4f3b Start the debouncer task eagerly (#111569) 2024-02-26 16:29:46 -10:00
J. Nick Koston
1e3af1b48f Convert person start to be a callback function (#111571)
Nothing was being awaited here so there was no need to create
a task per person at the start event.

The async_update_config coro remains since its required
by the collection but is now a wrapper around a callback
_async_update_config
2024-02-26 21:04:33 -05:00
J. Nick Koston
ebdfff4037 Reduce latency to connect websocket writer (#111559)
Reduce latancy to connect websocket writer

Use an eager start task to start the writer
2024-02-26 20:52:53 -05:00
J. Nick Koston
321295a872 Reduce latency to set up websocket forwarding in hassio (#111558)
Reduce latancy to set up websocket forwarding in hassio

Create the tasks eagerly to avoid one iteration of the event loop
to connect the proxy
2024-02-26 20:52:37 -05:00
J. Nick Koston
ae2ce99cbd Create tasks eagerly in the discovery flow helper (#111557)
The likely outcome from most discoveries is an near immediate abort
so we run them eagerly to avoid having to schedule on the event loop
for the common case
2024-02-26 20:52:04 -05:00
J. Nick Koston
b75277cc24 Use an eager task to update multiple entities (#111556)
If there are multiple entities on the same platform its likely
that only one of them will suspend in the update so schedule
them eagerly
2024-02-26 20:49:09 -05:00
Michael Hansen
f6622ea8e0 Add speech-to-text cooldown for local wake word (#108806)
* Deconflict based on wake word

* Undo test

* Make wake up key a string, rename error

* Update snapshot

* Change to "wake word phrase" and normalize

* Move normalization into the wake provider

* Working on describe

* Use satellite info to resolve wake word phrase

* Add test for wake word phrase

* Match phrase with model name in wake word provider

* Check model id

* Use one constant wake word cooldown

* Update homeassistant/components/assist_pipeline/error.py

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

* Fix wake word tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-26 20:35:19 -05:00
J. Nick Koston
c38e0d22b8 Fix text in docstrings and debug logging for loader (#111560) 2024-02-26 15:14:15 -10:00
Joost Lekkerkerker
9e2db708b9 Add icon translations to Fritz (#111547)
* Add icon translations to Fritz

* Add icon translations to Fritz
2024-02-27 00:17:15 +01:00
Niels Perfors
951743551a Add Tado add meter readings service (#111552) 2024-02-26 23:47:01 +01:00
Jan-Philipp Benecke
4de56c1751 Avoid call to hass.helpers in permobile (#111541) 2024-02-26 23:46:19 +01:00
Shay Levy
24dee11a4d Bump aioshelly to 8.0.2 (#111414) 2024-02-27 00:37:25 +02:00
Joost Lekkerkerker
467659cb21 Add icon translations to Flo (#111542) 2024-02-26 22:52:26 +01:00
J. Nick Koston
359bd625c8 Import mqtt in the executor to avoid blocking the event loop (#111521) 2024-02-26 11:41:07 -10:00
Jeef
bc20e7900c WeatherFlow Forecast (REST API) (#106615)
* rebase off dev

* Update homeassistant/components/weatherflow_cloud/const.py

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

* Addressing 1st round of PR Comments

* Update homeassistant/components/weatherflow_cloud/config_flow.py

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

* addressing PR Comments

* fixing last comment that i can see

* Update homeassistant/components/weatherflow_cloud/coordinator.py

OOPS

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

* Update homeassistant/components/weatherflow_cloud/weather.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* switching to station id

* Update homeassistant/components/weatherflow_cloud/strings.json

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

* addressing PR

* Updated tests to be better

* Updated tests accordingly

* REAuth flow and tests added

* Update homeassistant/components/weatherflow_cloud/strings.json

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Addressing PR comments

* Apply suggestions from code review

* ruff fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-26 22:40:21 +01:00
J. Nick Koston
b6393cc3a0 Import influxdb in the executor to avoid blocking the event loop (#111520)
was not added to the original PR to contain scope

identified at: https://github.com/home-assistant/core/pull/111336#issuecomment-1963062529
2024-02-26 16:00:16 -05:00
J. Nick Koston
e742951993 Import radio_browser in the executor to avoid blocking the event loop (#111519)
was not added to the original PR to contain scope

identified at: https://github.com/home-assistant/core/pull/111336#issuecomment-1963062529
2024-02-26 15:59:51 -05:00
Tomer Shemesh
886a450cf4 Add support to Lutron lights for color and temperature control (#109019)
* Add support to lutron lights for color and temperature control

* Fix review comments for adding color and temperature to Lutron lights

* Add eclair4151 as codeowner Lutron Caseta Integration

* Fix review comments for add color support for Lutron lights

* Code cleanup suggestions from PR review for adding color support for Lutron Lights

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

* Fix minor syntax errors from review comments for lutron light color support

* Fix review comments and code cleanup for Lutron light color support

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-26 10:58:20 -10:00
J. Nick Koston
30094acec7 Fix dict changing size during iteration in deconz (#111523) 2024-02-26 10:47:08 -10:00
On Freund
32dc8d9fcb Improve code comment for Chrome frame bug in Camera (#111504) 2024-02-26 15:30:35 -05:00
J. Nick Koston
4ea1c5cc3c Add support for importing integrations in the executor (#111336)
* Add support for pre-imports at setup time

alternative solution to #111331

* refactor

* refactor

* refactor

* mark >1.0s integrations

* no point in executor if already loaded

* no point in executor if already loaded

* cleanup

* cleanup

* two more

* one more

* analytics loads a lot more integrations

* cloud

* debug

* psutil, hardwre

* try zha

* Update homeassistant/setup.py

* await

* comments

* coverage

* coverage

* coverage

* move logic to loader

* move logic to loader

* preserve comments
2024-02-26 14:49:43 -05:00
starkillerOG
75e59167de Reolink trigger ReAuth when credentials invalid during update (#111492)
Check for CredentialsInvalidError
2024-02-26 14:41:20 -05:00
spycle
53f0272357 Bump pyMicrobot to 0.0.17 (#111496)
* Update manifest.json

Up-version pyMicrobot to 0.0.17

* Update requirements_all.txt

Up-version pyMicrobot to 0.0.17

* Update requirements_test_all.txt

Up-version pyMicrobot to 0.0.17
2024-02-26 20:36:05 +01:00
Jonas Fors Lellky
d44e389844 Add hvac_action to flexit_bacnet climate entity (#110498)
* Add hvac_action to flexit_bacnet climate entity

Also add extra state attributes

* Remove extra state attrs

* Change hvac action to heating
2024-02-26 20:22:25 +01:00
Erik Montnemery
730fe760cf Remove JuiceNet integration (#111477)
* Remove JuiceNet integration

* Adjust issue

* Add test

* Fix stale DOMAIN constant
2024-02-26 21:08:36 +02:00
Joakim Plate
a55c56a207 Update rfxtrx library to handle connection retries (#111366)
Upgrade rfxtrx library to one that leaves reconnection to home assistant and handle loss of connection by reloading the integration.

https://github.com/Danielhiversen/pyRFXtrx/releases/tag/0.31.0
2024-02-26 19:30:22 +01:00
On Freund
979fe57f7f Image entity media source (#104743)
* Image entity media source

* MJPEG streaming

* Update on change rather than fixed interval

* Only send boundary twice

* return when image has no data

* Write each frame twice

* Use friendly name when browsing

* Fix sending of double frame

* Initial image proxy test

* Improve proxy stream test

* Refactor

* Code review fixes
2024-02-26 19:04:25 +01:00
Jan-Philipp Benecke
baf84b6fba Add single_config_entry manifest option (#109505)
* Allow setting if we support multiple config entries in config flow

* Move property to config flow instead of flow handler

* Move marking an integration as single instance only to manifest

* Revert line remove

* Avoid init a config flow or adding a new entry on a single instance with an entry

* Revert changes in test

* Process code review comments

* Apply code review suggestion
2024-02-26 19:00:33 +01:00
Matthias Alphart
673a95227b Update xknx to 2.12.1 and xknxproject to 3.7.0 (#111460) 2024-02-26 18:52:51 +01:00
J. Nick Koston
4624c859e1 Use discovery flow helper for hardware integrations (#111437)
* Use discovery flow helper for hardware integrations

The discovery flow helper defers loading discovered integrations until after startup
to improve startup reliability.

* Use discovery flow helper for hardware integrations

The discovery flow helper defers loading discovered integrations until after startup
to improve startup reliability. Since hardware was not listed in as a
discovery integration, the notification for new discoveries was missing.
2024-02-26 12:04:33 -05:00
Jan-Philipp Benecke
f85a8c5041 Remove @bind_hass from async_active_zone and make callback function (#111488) 2024-02-26 11:57:17 -05:00
J. Nick Koston
67e356904b Add support for eager tasks (#111425)
* Add support for eager tasks

python 3.12 supports eager tasks

reading:
https://docs.python.org/3/library/asyncio-task.html#eager-task-factory
https://github.com/python/cpython/issues/97696

There are lots of places were we are unlikely to suspend, but we might
suspend so creating a task makes sense

* reduce

* revert entity

* revert

* coverage

* coverage

* coverage

* coverage

* fix test
2024-02-26 11:36:46 -05:00
J. Nick Koston
93cc6e0f36 Switch nmap_tracker to use aiooui (#111415)
mac-vendor-lookup can take a long time to startup because
it has to fetch the oui db from the web
2024-02-26 17:32:53 +01:00
Paulus Schoutsen
aabaa30fa7 2024.2.4 (#111441) 2024-02-26 11:17:13 -05:00
Abílio Costa
9420ac1cff Update idasen-ha to v2.5.1 to fix regression (#111439)
Update Idasen Desk support lib to fix regression

idasen v0.11.1 introduces some regressions, so idasen-ha v2.5.1 now
depends on v.0.11.0 instead.
2024-02-26 17:15:24 +01:00
Åke Strandberg
732491d3c9 Bump myuplink lib to 0.5.0 (#111447) 2024-02-26 17:13:21 +01:00
J. Nick Koston
1d4e82bd3d Fix race in dlna_dmr test (#111428)
The entity was removed before the entity registry could update it

```
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity.py", line 1482, in _async_process_registry_update_or_remove
    assert registry_entry is not None
AssertionError

```
2024-02-26 17:11:50 +01:00
Sid
174ebe70d7 Add webmin integration (#106976)
* add webmin integration 1

* refactor, add memory sensors

* Fix docstring

* addressed reviews

* address reviews

* address reviews

* use translation strings for sensors

* add async_abort_entries_match

* apply review comments

* address reviews

* add async_set_unique_id

* add identifiers to device_info

* disable all sensors by default

* move icons to icons.json

* show Faults when given from server in config flow

* add test for Fault

* Apply review suggestions

* Create helper functions for webmin instance and sorted mac addresses

* fix tests
2024-02-26 17:10:11 +01:00
Luke Lashley
4ad7f420e7 Bump Python-roborock to 0.39.2 (#111479)
bump to 0.39.2
2024-02-26 17:25:38 +02:00
Sid
367aaf96a7 Bump openwebifpy to 4.2.4 (#110676) 2024-02-26 08:21:12 -05:00
Aidan Timson
9f77e275e9 Add title to reauthenticate integration issue (#111275)
* Add title to reauthenticate integration issue

* Fix translation placeholder in test

* Update translation placeholders in test_init.py

* Update integration reauthentication message

* Update string
2024-02-26 08:19:37 -05:00
Jevgeni Kiski
0947bdbd20 Bump vallox-websocket-api to 5.1.0 (#111471)
Bump lib to 5.1.0
2024-02-26 15:03:18 +02:00
Jeremy TRUFIER
ecc9c3b5f0 Add @tronix117 as overkiz codeowner (#111464) 2024-02-26 12:13:26 +01:00
Erik Montnemery
9b91da23c4 Improve logging of google_assistant messages (#110637)
* Improve logging of google_assistant messages

* Add tests

* Add test
2024-02-26 11:43:31 +01:00
starkillerOG
7b059b3dff Add Motionblinds virtual integration Madeco (#111455) 2024-02-26 11:06:28 +01:00
starkillerOG
3f7b2634f7 Add Motionblinds virtual integration Krispol (#111456) 2024-02-26 11:05:25 +01:00
Jan Bouwhuis
1b2e669302 Improve handling mqtt command template exceptions (#110499)
* Improve handling mqtt command template exceptions

* Fix test

* Cleanup stale exception handler

* Throw on topic template exception
2024-02-26 11:04:55 +01:00
starkillerOG
1f0697e85f Add Motionblinds virtual integration Acomax (#111458) 2024-02-26 11:03:49 +01:00
Jan Bouwhuis
da09b6174d Add validation to water_heater set_operation mode at entity component (#111168)
* Add validation to water_heater set_operation mode at entity component

* Add final decorator
2024-02-26 11:02:39 +01:00
Christophe Gagnier
0d4728e1c6 Add TechnoVE auto charge switch (#109093)
* Add binary sensors to TechnoVE integration

* Add unit tests for TechnoVE binary sensors

* Implement PR feedback for TechnoVE

* Limit to appropriate sensors in TechnoVE tests

* Removed leftover code

* Implement feedback in TechnoVE PR #108938

* Add auto-charge switch to TechnoVE

* Improve TechnoVE test_switches to be consistent with other platforms

* Regenerate test_switch.ambr snapshot

* Add binary sensors to TechnoVE integration

* Add unit tests for TechnoVE binary sensors

* Implement PR feedback for TechnoVE

* Limit to appropriate sensors in TechnoVE tests

* Implement feedback in TechnoVE PR #108938

* Add auto-charge switch to TechnoVE

* Apply suggestions from code review

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

* Fix conflict merge issue

* Implement feedback from TechnoVE PR #109093

* Use TechnoVESwitchDescription

* Remove None from is_on in TechnoVE switches

* Update homeassistant/components/technove/strings.json

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

* Remove unneeded code.

* Update test_switch.ambr

* Update TechnoVE switch test similar to Flexit_bacnet

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-26 10:36:40 +01:00
Åke Strandberg
999b1bb220 Add @astrandb as myuplink codeowner (#111449)
Add codeowner
2024-02-26 10:32:37 +01:00
Christopher Fenner
1e564f777e Add sensors for energy storage system to ViCare integration (#106600)
* add sensors for vitocharge

* add further sensors

* add unig getters

* remove icons

* Update strings.json

* handle percent uom

* handle unknown uom device class mapping

* add device class to sensor

* add sensor options

* Apply suggestions from code review

* fix

* align sensor naming

* add feed-in and consumption sensors for pcc

* Update strings.json

* battery symbol

* fix format

* remove obsolete device classes

* add icons

* Apply suggestions from code review

* Apply suggestions from code review

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

* refactor

* modify lambda

* use helper

* Apply suggestions from code review

* Apply suggestions from code review

* Update strings.json

* Update sensor.py

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-26 09:59:58 +01:00
Paulus Schoutsen
90e1fb1227 Bump version to 2024.2.4 2024-02-25 22:50:43 -05:00
Marc Mueller
73916f5b97 Update guppy3 to 3.1.4.post1 (#111430) 2024-02-25 22:50:34 -05:00
Marc Mueller
d9cd5b69b1 Update caldav to 1.3.9 (#111429) 2024-02-25 22:50:33 -05:00
Luis Andrade
d1024225ab Fix another name missing in wyoming getLogger (#111390)
bugfix wyoming getLogger
2024-02-25 22:48:36 -05:00
Ben Hoff
5e792ab24e Bump opower to 0.3.1 (#111307)
bump opower instance
2024-02-25 22:48:35 -05:00
Dan
ffe1b72f1c Bump opower to 0.3.0 (#109248)
Co-authored-by: Dan Swartz <3066652+swartzd@users.noreply.github.com>
2024-02-25 22:48:35 -05:00
Joost Lekkerkerker
50d868766c Set Lutron switch to device name (#111293) 2024-02-25 22:46:48 -05:00
J. Nick Koston
cb72095a85 Bump orjson to 3.9.15 (#111233)
changelog: https://github.com/ijl/orjson/compare/3.9.14...3.9.15
2024-02-25 22:46:47 -05:00
Andriy Kushnir
7f23f64951 Bump roombapy to 1.6.13 (#111187) 2024-02-25 22:46:46 -05:00
Steve HOLWEG
6009c98643 Return group unit of measurement when device_class is None (#110973)
* Groups: Return units when device_class is None

* Fixes

* Mods

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-25 22:44:24 -05:00
Steve HOLWEG
4a128f1225 Return group unit of measurement when device_class is None (#110973)
* Groups: Return units when device_class is None

* Fixes

* Mods

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-25 22:44:05 -05:00
dougiteixeira
34e9c29ef2 Esphome text sensor device class (#111057) 2024-02-25 16:56:52 -10:00
Abílio Costa
5a8779551b Fix uneeded state update in Idasen Desk sensor (#111433) 2024-02-25 15:03:52 -10:00
Marc Mueller
bfd82a0780 Update freezegun to 1.4.0 (#111268) 2024-02-25 15:01:31 -10:00
Marc Mueller
eb370d7213 Update guppy3 to 3.1.4.post1 (#111430) 2024-02-25 15:00:51 -10:00
Marc Mueller
a492ccdc15 Update caldav to 1.3.9 (#111429) 2024-02-25 15:00:37 -10:00
dougiteixeira
c8ec66fcbe Bump aioesphomeapi to 22.1.0 (#111435) 2024-02-25 14:58:37 -10:00
Brett Adams
d84bd14acc Bump tesla-fleet-api to 0.4.6 in Teslemetry (#111127) 2024-02-25 14:06:12 -10:00
Matthias Alphart
e984bdaf98 Fix KNX cover schema for voluptuous 0.14.2 (#111427) 2024-02-26 00:26:32 +01:00
Joost Lekkerkerker
c3d3fc7000 Add icon translations to Dynalite (#111412) 2024-02-25 23:01:28 +01:00
Joost Lekkerkerker
a410aa4a85 Add icon translations to Ecobee (#111416) 2024-02-25 23:01:17 +01:00
Joost Lekkerkerker
8dec6336b3 Add icon translations to edl21 (#111420) 2024-02-25 23:00:52 +01:00
Joost Lekkerkerker
33cb54b888 Add icon translations to Electric Kiwi (#111422) 2024-02-25 23:00:22 +01:00
Joost Lekkerkerker
e366763eb2 Add icon translations to Ecoforest (#111417) 2024-02-25 22:47:15 +01:00
Joost Lekkerkerker
a2af3e5ba1 Add icon translations to EasyEnergy (#111413) 2024-02-25 22:46:33 +01:00
Álvaro Fernández Rojas
b3e10198dd Enable CONF_STATION_UPDATES by default on AEMET (#111214)
* aemet: set CONF_STATION_UPDATES default to True

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: aemet: check CONF_STATION_UPDATES default form value

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Revert "tests: aemet: check CONF_STATION_UPDATES default form value"

This reverts commit f0f95da68f.

* tests: aemet: parametriz test_form_options

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-25 23:23:18 +02:00
Marc Mueller
8c50e24056 Update bcrypt to 4.1.2 (#111283) 2024-02-25 22:22:50 +01:00
J. Nick Koston
014e21ce80 Bump bluetooth-adapters to 0.18.0 (#111316)
changelog: https://github.com/Bluetooth-Devices/bluetooth-adapters/compare/v0.17.0...v0.18.0
2024-02-25 23:07:12 +02:00
hahn-th
80662cd989 Bump homematicip to 1.1.0 (#111385)
#108775 Bump homematicip upstream lib to 1.1.0
2024-02-25 23:03:14 +02:00
Marc Mueller
5206514538 Update ciso8601 to 2.3.1 (#111389) 2024-02-25 22:59:00 +02:00
Luis Andrade
d3c53a1cef Fix another name missing in wyoming getLogger (#111390)
bugfix wyoming getLogger
2024-02-25 21:41:07 +01:00
wittypluck
716d8f8a00 Fix Glances translation keys on CPU load, Memory use, Swap use (#111401)
Fix translation keys on CPU load, Memory use, Swap use
2024-02-25 21:25:28 +01:00
Jan-Philipp Benecke
1c5be598f5 Run pylint sorted platform check also when platform has type annotations (#111407) 2024-02-25 21:18:07 +01:00
steffenrapp
e116d2a721 Add Nuki ID as serial number (#111381)
* Nuki add Nuki ID as serial number

* add hardwareId to bridge

* __init__.py aktualisieren

Co-authored-by: Pascal Reeb <pascal@reeb.io>

* __init__.py aktualisieren

Co-authored-by: Pascal Reeb <pascal@reeb.io>

---------

Co-authored-by: Pascal Reeb <pascal@reeb.io>
2024-02-25 21:16:21 +01:00
Marc Mueller
fa103ec924 Update pytest to 8.0.2 (#111399) 2024-02-25 21:15:48 +01:00
J. Nick Koston
ab68a26000 Fix flakey utility meter test (#111400)
The test tooling would cancel setup at teardown because
it was still setting up

https://github.com/home-assistant/core/actions/runs/8039593463/job/21956908225?pr=111336
2024-02-25 20:21:09 +01:00
Marc Mueller
21ff8c8e03 Update pylint to 3.1.0 (#111392) 2024-02-25 08:01:20 -10:00
Marc Mueller
f155f1c102 Update aionotion to 2024.02.2 (#111388) 2024-02-25 10:45:51 -07:00
Joost Lekkerkerker
953fd82d2c Add icon translations to Deconz (#111363) 2024-02-25 17:12:14 +01:00
Joakim Sørensen
a6a0a0c901 Adjustment post move to WS in Traccar Server (#111337)
* Adjustment post move to WS in Traccar Server

* Use entry.async_create_background_task
2024-02-25 16:04:09 +01:00
mkmer
23cf418807 Allow EM Setpoint in Honeywell (#111332)
Add emheat setpoint
2024-02-25 14:40:08 +01:00
J. Nick Koston
dad1184e18 Make hardware setup in hassio a normal function (#111328)
nothing awaited hassio
2024-02-25 14:37:09 +01:00
Joost Lekkerkerker
77284c746a Add icons translations for ambiclimate (#111322) 2024-02-25 14:31:53 +01:00
Joost Lekkerkerker
407a949b50 Add icons translations for android_ip_webcam (#111324)
* Add icons translations for android_ip_webcam

* Add icon translations to android IP webcam

* Apply suggestions from code review
2024-02-25 14:30:57 +01:00
Daniel Gangl
2adca7a057 Bump Geosphere to v0.3.6 (#111376) 2024-02-25 14:20:51 +01:00
Joost Lekkerkerker
4982e792f3 Add icon translations to Dexcom (#111368) 2024-02-25 14:17:08 +01:00
Joost Lekkerkerker
67165349c5 Add icon translations to Doorbird (#111370) 2024-02-25 14:16:42 +01:00
Joost Lekkerkerker
724b5c8892 Add icon translations to Dremel 3D printer (#111371) 2024-02-25 14:15:57 +01:00
Joost Lekkerkerker
9ada85af36 Add icon translations to Bosch SHC (#111350)
* Add icon translations to Bosch SHC

* Update homeassistant/components/bosch_shc/sensor.py

* Update homeassistant/components/bosch_shc/sensor.py
2024-02-25 14:09:44 +01:00
Joost Lekkerkerker
0009c9a1de Add icon translations to Cloudflare (#111356) 2024-02-25 14:08:49 +01:00
Joost Lekkerkerker
02907578ab Add icon translations to Color extractor (#111357) 2024-02-25 14:08:12 +01:00
Joost Lekkerkerker
9afa154271 Use device class icon in cpu-speed (#111360)
* Use device class icon in cpu-speed

* Use device class icon in cpu-speed
2024-02-25 14:06:54 +01:00
Joost Lekkerkerker
ba961e12a4 Use device class icon in Crownstone (#111361) 2024-02-25 14:06:16 +01:00
Joost Lekkerkerker
5fa4be02f0 Add icon translations to Daikin (#111362) 2024-02-25 14:05:43 +01:00
Joost Lekkerkerker
18fcb14c1b Add icon translations to Cert expiry (#111354) 2024-02-25 14:04:48 +01:00
Joost Lekkerkerker
40a38d23eb Add icon translations to Coolmaster (#111359) 2024-02-25 14:03:07 +01:00
Joost Lekkerkerker
33bf5d7b8b Add icon translations to Cloud (#111355) 2024-02-25 14:01:41 +01:00
Joost Lekkerkerker
5849227033 Add icon translations to Bring (#111351) 2024-02-25 13:59:41 +01:00
Joost Lekkerkerker
33a4040f8e Add icon translations to Cast (#111352) 2024-02-25 13:58:50 +01:00
steffenrapp
13621532fd Nuki add binary sensor for battery charging (#111320)
* Nuki binary sensors

* disable by default
2024-02-25 13:37:13 +01:00
steffenrapp
7d37aeac59 Add icon translations to Nuki (#111377) 2024-02-25 13:25:12 +01:00
J. Nick Koston
8645184dbf Make matter import in google_assistant late to avoid blocking the event loop (#111335)
related issue https://github.com/home-assistant-libs/python-matter-server/issues/578
2024-02-25 07:20:01 -05:00
Marc Mueller
49ae81c5c4 Refactor deprecated workday argument (#111379) 2024-02-25 13:04:02 +01:00
Joost Lekkerkerker
a94f8bd14d Add icon translations to DNS IP (#111369) 2024-02-25 13:00:45 +01:00
Joost Lekkerkerker
8d3982f3dd Add icon translations to Comelit (#111358) 2024-02-25 11:35:22 +01:00
Joost Lekkerkerker
76784cbc95 Add icon translations to Blink (#111346) 2024-02-25 10:44:49 +01:00
Joost Lekkerkerker
3e67b9828b Add icon translations to Android TV (#111338) 2024-02-25 10:43:56 +01:00
Joost Lekkerkerker
a55e5130a4 Use device class icon in Anthem AV (#111339) 2024-02-25 10:43:21 +01:00
Joost Lekkerkerker
4229f988e2 Add icon translations to aosmith (#111340)
* Add icon translations to aosmith

* Add icon translations to aosmith
2024-02-25 10:42:41 +01:00
Joost Lekkerkerker
859c28fdb7 Add icon translations to apcupsd (#111342)
* Add icon translations to apcupsd

* Add icon translations to apcupsd
2024-02-25 10:42:04 +01:00
Joost Lekkerkerker
cb6cf3bedc Add icon translations to Balboa (#111343) 2024-02-25 10:40:44 +01:00
Joost Lekkerkerker
496339773b Add icon translations to Blue current (#111347) 2024-02-25 10:39:15 +01:00
Joost Lekkerkerker
70af28cc26 Add icon translations to aftership (#111317) 2024-02-25 10:38:17 +01:00
Joost Lekkerkerker
dbc4d90435 Add icon translations to amberelectric (#111321) 2024-02-25 10:37:29 +01:00
Joost Lekkerkerker
a706d5e282 Add icon translations to alarmdecoder (#111319) 2024-02-25 10:36:18 +01:00
Marc Mueller
20f455d39f Update python-homewizard-energy to 4.3.1 (#111311) 2024-02-25 10:35:12 +01:00
J. Nick Koston
d053f0b9e2 Bump ibeacon-ble to 1.2.0 (#111315)
changelog: https://github.com/Bluetooth-Devices/ibeacon-ble/compare/v1.0.1...v1.2.0
2024-02-25 10:44:23 +02:00
Joost Lekkerkerker
6e5d14737e Add icons translations for airvisual (#111318)
* Add icons translations for airvisual

* Add icon translations to airvisual
2024-02-25 08:27:29 +01:00
MarkGodwin
d004011d41 Bump tplink-omada-client to 1.3.11 (#111273)
Bump TP-Link Omada API
2024-02-24 23:33:13 +01:00
G Johansson
5073842514 Fix sql integration no recorder (#111263) 2024-02-24 22:40:49 +01:00
Åke Strandberg
cd46cc6e80 Add myuplink number platform (#111154)
* Add number platform

* Use constant for SERVICE_SET_VALUE
2024-02-24 22:39:14 +01:00
J. Nick Koston
b9b52b5e6d Reduce Bluetooth setup time (#111304) 2024-02-24 11:31:45 -10:00
J. Nick Koston
dd80157dc7 Load translations at setup time if they were not loaded at bootstrap (#110921) 2024-02-24 11:31:25 -10:00
Jan-Philipp Benecke
076ae22fdd Freeze time in aemet diagnostics test (#111308) 2024-02-24 16:26:16 -05:00
J. Nick Koston
93a76ab519 Fix profiler.lru_stats always throwing an exception (#111249)
Remove IntegrationMatcher as its now a slotted class and cannot
be examined with the current methods (we also likely do not need
to optimize it anymore)

```
  File "/usr/src/homeassistant/homeassistant/components/profiler/__init__.py", line 201, in _lru_stats
    for maybe_lru in class_with_lru_attr.__dict__.values():
                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: 'IntegrationMatcher' object has no attribute '__dict__'. Did you mean: '__dir__'?
```
2024-02-24 16:26:01 -05:00
J. Nick Koston
bccab1bad7 Fix workday blocking the event loop (#111310)
- Avoid calling list_supported_countries to setup workday
- Only call list_supported_countries in executor in the config flow
2024-02-24 22:22:07 +01:00
Robert Svensson
efc89cd34f Unifi websocket manager (#111041)
* Move hub into .hub.hub

* Move websocket to own module

* Minor shuffle
2024-02-24 16:20:59 -05:00
Jan-Philipp Benecke
d796085923 Bump pydiscovergy to 3.0.0 (#111305) 2024-02-24 22:07:46 +01:00
Ben Hoff
adf4392c0a Bump opower to 0.3.1 (#111307)
bump opower instance
2024-02-24 21:56:20 +01:00
Rami Mosleh
a65d9c17c4 Fix async_validate_location arguments order (#111277)
fix `async_validate_location` arguments order
2024-02-24 21:43:00 +01:00
G Johansson
c45cae3665 Remove obsolete entities from System Monitor automatically (#111231)
* Remove obsolete entities from System Monitor automatically

* callback
2024-02-24 20:50:53 +01:00
Joost Lekkerkerker
47b7dd4a01 Set Lutron switch to device name (#111293) 2024-02-24 20:18:06 +01:00
Minims
597118d584 Add ECO temp to Generic Thermostat (#110471)
feat: add ECO temp to Generic Thermostat.
2024-02-24 20:17:22 +01:00
G Johansson
777428c36d Add diagnostics to System Monitor (#111291)
* Add diagnostics to System Monitor

* Fix
2024-02-24 20:11:11 +01:00
Álvaro Fernández Rojas
57d169582d Add diagnostics support for AEMET (#111218)
aemet: add diagnostics support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 20:08:50 +01:00
Federico D'Amico
bf9c4197b9 Add light platform to microBees and change docstring in sensor (#111093)
* Add light platform to microBees and change docstring in sensor

* update .coveragerc

* fixes review

* fixes review

* fixes async_add_entities
2024-02-24 20:07:04 +01:00
starkillerOG
9cebbf15f3 Bump motionblinds to 0.6.23 (#111265)
* Bump motionblinds to 0.6.22

* Bump motionblinds to 0.6.23
2024-02-24 20:05:04 +01:00
dougiteixeira
3d72f40aea Add strings to the options attribute (#111302)
Add strings to the message attribute
2024-02-24 19:23:07 +01:00
steffenrapp
dbf70f9e0a Nuki add battery critical binary sensor (#111285)
* Update binary_sensor.py

* Update strings.json

* Update homeassistant/components/nuki/binary_sensor.py

Co-authored-by: Pascal Reeb <pascal@reeb.io>

* Update homeassistant/components/nuki/binary_sensor.py

Co-authored-by: Pascal Reeb <pascal@reeb.io>

* Update homeassistant/components/nuki/binary_sensor.py

Co-authored-by: Pascal Reeb <pascal@reeb.io>

---------

Co-authored-by: Pascal Reeb <pascal@reeb.io>
2024-02-24 18:17:42 +01:00
J. Nick Koston
53b12d67f7 Bump yalexs-ble to 2.4.2 (#111247)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.4.1...v2.4.2
2024-02-24 19:04:19 +02:00
Marc Mueller
70790bc614 Update pytest-timeout to 2.2.0 (#111272) 2024-02-24 19:02:15 +02:00
Klaas Schoute
04a6c0b5f2 Bump odp-amsterdam to v6.0.1 (#111296) 2024-02-24 19:00:40 +02:00
Álvaro Fernández Rojas
766596abdc Add Airzone Cloud Air Quality zone binary sensors (#106573)
* airzone_cloud: add Air Quality binary sensor

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* airzone_cloud: binary_sensor: rename Air Quality

Add "active" to indicate status.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 08:41:12 -05:00
Álvaro Fernández Rojas
d3d6870c04 Add Airzone Cloud Air Quality zone sensors (#106571)
* airzone-cloud: add Air Quality sensors

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone_cloud: add missing AQI test

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 08:39:53 -05:00
J. Nick Koston
e5ac7970ca Bump habluetooth to 2.4.1 (#111236)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.4.0...v2.4.1
2024-02-24 08:38:50 -05:00
Marc Mueller
6d10f96980 Update coverage to 7.4.3 (#111267) 2024-02-24 14:37:07 +01:00
Marc Mueller
4e9bfd1f4a Update pytest-sugar to 1.0.0 (#111271) 2024-02-24 14:35:58 +01:00
Marc Mueller
e7ab416ab9 Update pytest-socket to 0.7.0 (#111270) 2024-02-24 14:35:27 +01:00
Marc Mueller
d70c013ea6 Update pipdeptree to 2.15.1 (#111269) 2024-02-24 08:34:48 -05:00
Cyrill Raccaud
22480a7894 Fix bring! comment pep8 conformity (#111276)
fix bring comment pep8 conformity
2024-02-24 08:18:54 -05:00
Joakim Sørensen
79572c0a5d Subscribe to Traccar Server events (#111262)
* Subscribe to Traccar Server events

* No need to unsubscribe on error

* typo

* rename _attrs

* arg type

* reorder return type

* more spesific

* Update stale docstring
2024-02-24 12:35:32 +01:00
Maciej Bieniek
ee57c924f2 Bump pysnmp-lextudio library to version 6.0.2 (#111193)
* Bump pysnmp-lextudio to version 6.0.2

* Update gen_requirements_all.py

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-24 11:30:00 +01:00
G Johansson
d08fc1f342 Add debugging to coordinator output in System Monitor (#111244) 2024-02-24 09:36:22 +01:00
J. Nick Koston
883d5a0842 Bump cryptography to 42.0.5 (#111259)
changelog: https://github.com/pyca/cryptography/compare/42.0.3...42.0.5
2024-02-24 08:49:46 +01:00
J. Nick Koston
5d6687503e Bump orjson to 3.9.15 (#111233)
changelog: https://github.com/ijl/orjson/compare/3.9.14...3.9.15
2024-02-24 08:47:29 +01:00
J. Nick Koston
5b8591ec7e Avoid reschedule churn in Storage.async_delay_save (#111091)
* Avoid circular import in Storage.async_delay_save

We call Storage.async_delay_save for every entity being added or removed
from the registry. The late import took more time than everything else
in the function.

* Avoid reschedule churn in Storage.async_delay_save

When we are adding or removing entities we will call async_delay_save
quite often which has to add and remove a TimerHandle on the event loop
which can add up when there are a lot of registry items changing.

If the timer handle still has 80% of the time remaining on it
we will avoid resceduling and let it fire at the time the
original async_delay_save call was made. This ensures we
do not force the event loop to rebuild its heapq because
too many timer handlers were cancelled at once

* div0

* add coverage for 0 since we had none

* fix bad conflict

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks

* more test fixes

* mqtt tests rely on event loop overhead
2024-02-24 08:46:00 +01:00
J. Nick Koston
ff0e0b3e77 Convert debouncer async_shutdown to be a normal function (#111257)
* Convert debouncer async_shutdown to be a normal function

nothing was being awaited here and the shutdown call was only used
in integrations marked internal and other internals. Its possible
that a custom component might have been using the method but it
seemed uncommon enough that it did not warrent marking as a breaking
change. The update coordinator is no longer awaiting anything in
async_shutdown either now but it seemed likely that this use
would get subclassed.

* fix
2024-02-24 08:37:33 +01:00
Teemu R
e0490a3ade Improve tplink authenticate description wording (#111250) 2024-02-23 15:19:28 -10:00
J. Nick Koston
b60ca4260c Fix bluetooth manager stop missing callback decorator (#111232) 2024-02-23 12:58:55 -10:00
David F. Mulcahey
5d4dc63118 Bump ZHA dependencies (#111227) 2024-02-23 17:57:39 -05:00
J. Nick Koston
40774101d3 Avoid creating task per device when adding legacy device trackers (#111220) 2024-02-23 23:47:43 +01:00
Marc Mueller
5f8ef37f2d Update pylint to 3.0.4 (#111229)
* Update pylint to 3.0.4

* Use yield from

* Remove unnecessary pylint disable comments
2024-02-23 23:46:00 +01:00
rlippmann
efd1ed86ae Code improvements for microbees component (#111208) 2024-02-23 12:35:56 -10:00
J. Nick Koston
d9addc45f9 Avoid scheduling a task to add each entity when not using update_before_add (#110951)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-23 10:49:26 -10:00
J. Nick Koston
3aecec5082 Avoid rechecking for missing platforms in the loader (#111204) 2024-02-23 10:48:47 -10:00
G Johansson
9e46c2e2b3 Isolate systemmonitor from psutil shared state (#111110)
* Isolate systemmonitor from psutil shared state

* Mods

* typing

* Fix tests

* Fix read temp issue

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-23 20:53:48 +01:00
Niklas Roth
2ff0102bce Bump python-hpilo to 4.4.3 (#110325)
* Update hpilo version in requirements_all.txt (#109581)

The issue with the deprecated and now removed ssl.wrap_socket function was fixed years ago in the library

* Update hpilo version in manifest.json (#109581)
2024-02-23 20:51:29 +01:00
J. Nick Koston
125de17a09 Avoid linear search to remove from the entity registry index (#111138)
Avoid linear search to remove from entity registry index

Because the entity registry index needs to preserve insertion order
for backwards compat, a list was used for the index. Because some
config entries/devices/areas have a large amount of entities, removing
the entities, the O(n) time complexity of removing from a list can
slow down reloads. As python has no orderedset in stdlib, use
a dict since it preserves insertion order has O(1) add/remove
time complexity for the average case
2024-02-23 13:57:59 -05:00
J. Nick Koston
b5a2df1951 Refactor keyed event trackers to reduce future refactoring risk (#111150)
* Refactor keyed event trackers to avoid refactoring risk

Follow to https://github.com/home-assistant/core/pull/110978#discussion_r1496771106

I had to do some type ignores because of the EventType vs Event
which is hopefully not going to be needed after the next mypy

* delete constants only used one in other const

* no field

* fixes

* less refactoring later

* less refactoring later

* keep const
2024-02-23 13:55:02 -05:00
J. Nick Koston
5e16602595 Refactor storage collections to reduce tasks during startup (#111182)
* Make adding entities in storage collection a normal function

Nothing is awaited when adding

* cleanup

* cleanup

* cleanup

* cleanup

* reduce

* reduce

* reduce

* reduce

* tweak
2024-02-23 13:50:25 -05:00
J. Nick Koston
b3a8a75e75 Improve performance of filtering HomeKit entities (#111201)
Get the underlying filter with get_filter to avoid the wrapper
2024-02-23 13:42:01 -05:00
J. Nick Koston
3877a56d23 Avoid creating tasks for automation and script validation (#111181)
These functions created tasks to run small validators, and the cost of
creating all the tasks was more expensive than running the validators
themselves. Since the code is unlikely to suspend its more efficient to
await them in series.
2024-02-23 13:41:36 -05:00
J. Nick Koston
5d421e249f YAML loader performance improvements (#111199)
* YAML loader performance improvements

- Cache the name of the loader since we call it multiple
  times for every line

- Add a fast path for scalar tags since they are the
  most common

* Update homeassistant/util/yaml/loader.py

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

* remove unreachable code

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-23 13:37:09 -05:00
J. Nick Koston
b9ed315cf7 Avoid yalexs_ble delaying startup when the lock is not advertising (#111167) 2024-02-23 13:35:17 -05:00
J. Nick Koston
b6b5b1f788 Fix race in ESPHome entity test (#111179)
This test relied on the event loop overhead. Change it
to listen for the state to change instead
2024-02-23 13:34:46 -05:00
David F. Mulcahey
d485e8967b Add device counter entities to ZHA (#111175)
* Add counter entities to the ZHA coordinator device

* rework to prepare for non coordinator device counters

* counter entity test

* update log lines

* disable by default
2024-02-23 13:22:47 -05:00
J. Nick Koston
59066c1770 Migrate zha to use Debouncer.async_schedule_call (#111103) 2024-02-23 07:28:23 -10:00
J. Nick Koston
3ecbd05ac0 Avoid creating tasks to register hassio panels (#111206)
panel_custom never suspends so we can avoid the overhead of
creating and scheduling tasks
e398accc3e/homeassistant/components/panel_custom/__init__.py (L74)

panel_custom.async_register_panel could be converted to a normal function but it
would be a breaking change
2024-02-23 16:50:39 +01:00
J. Nick Koston
e398accc3e Convert hassio websocket_apis that did not await to normal functions (#111173)
* Convert hassio websocket_apis that did not await to normal functions

* Convert hassio websocket_apis that did not await to normal functions
2024-02-23 15:27:17 +01:00
Marc Mueller
dd51b0c6cc Update beautifulsoup4 to 4.12.3 (#111195) 2024-02-23 13:42:32 +01:00
Marc Mueller
55e39d48eb Update coverage to 7.4.2 (#111194) 2024-02-23 13:22:19 +01:00
Joost Lekkerkerker
730d805876 Enable SIM114 ruff rule (#111125) 2024-02-23 13:21:59 +01:00
dependabot[bot]
26fac184b4 Bump github/codeql-action from 3.24.3 to 3.24.4 (#111184) 2024-02-23 12:15:42 +01:00
Álvaro Fernández Rojas
d12335a3aa Update AEMET-OpenData to v0.5.1 (#111191)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-23 11:59:09 +01:00
Joakim Sørensen
512bc7c699 Bump pytraccar from 2.1.0 to 2.1.1 (#111188) 2024-02-23 11:57:41 +01:00
J. Nick Koston
70d7f74f35 Convert hardware system status websocket api to a normal function (#111172)
* Convert hardware system status websocket api to a normal function

Nothing is awaited here

* tweak
2024-02-23 11:48:13 +01:00
Andriy Kushnir
87fed65fb3 Bump roombapy to 1.6.13 (#111187) 2024-02-23 10:42:13 +01:00
J. Nick Koston
68d1fbaadc Fix race in openalpr_cloud tests (#111185)
The test would end before setup was finished and the setup
would get cancelled
2024-02-23 09:28:20 +01:00
Jan Bouwhuis
afa4e76248 Optimize mqtt device cleanup (#111170)
Thnx
2024-02-23 07:29:50 +01:00
jjlawren
8d4569ff55 Bump plexapi to 4.15.10 (#111180) 2024-02-23 07:03:07 +01:00
Mike O'Driscoll
eb9eff404d Fix stale sensors for Recollect Waste (#111174) 2024-02-22 22:05:30 -07:00
kingy444
83859bd342 Rework how shade updates are processed in powerview (#110928)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-22 15:58:37 -10:00
J. Nick Koston
98a8714705 Improve error reporting in tplink config flow (#111166)
* Improve error reporting in tplink config flow

* coverage, fixes
2024-02-23 02:38:46 +01:00
Matthew Donoughe
6712621b95 Update pylutron-caseta to 0.20.0 (#111169) 2024-02-22 14:44:30 -10:00
Christopher Bailey
ae60f59bed Add metadata for UniFi Protect Media Source (#109389) 2024-02-22 14:44:16 -10:00
ollo69
f0f3773858 Add base class AndroidTVEntity to AndroidTV (#105945) 2024-02-22 12:38:38 -10:00
J. Nick Koston
2ef71289b9 Avoid creating tasks for dependencies already being setup (#111034)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-22 12:34:46 -10:00
J. Nick Koston
32cd3ad862 Fix lingering timer in enphase_envoy test (#111165) 2024-02-22 12:33:44 -10:00
J. Nick Koston
fb7da1ba83 Simplify ESPHome entity removal process (#111076) 2024-02-22 11:39:53 -10:00
Maciej Bieniek
bccd9bd21f Bump brother library to version 4.0.0 (#111157)
* Bump library

* Update code to the new library version

* Improve diagnostics

* Fix tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-22 23:27:24 +02:00
Åke Strandberg
3be83bf2f5 Correct myUplink dash replacement (#111143)
* Corrected dash replacement

* Fix comment
2024-02-22 22:26:08 +01:00
J. Nick Koston
36c11119cf Refactor Debouncer usage in august (#111102) 2024-02-22 11:23:14 -10:00
Álvaro Fernández Rojas
78f3f67e3a Update AEMET-OpenData to v0.5.0 (#111155)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-22 21:47:21 +02:00
Christopher Fenner
88e9870f1c Add number entities to change heat pump program temperatures in ViCare integration (#109315)
* add HeatingProgram type

* use HeatingProgram type

* add heatpump number sensors

* use HeatingProgram type

* Update strings.json

* rename HeatingProgram to Program

* remove commented code

* rename heating program type

* simplify

* Apply suggestions from code review

* Update strings.json

* Update const.py

* fix

* add heating program type

* correct imports

* Revert "fix"

This reverts commit 857dda59da.

* Apply suggestions from code review

* Update strings.json
2024-02-22 18:58:38 +01:00
rkruisselbrink
c1b4a21821 Bump rova to 0.4.0 (#111131)
* Bump rova to 0.4.0

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-22 19:55:45 +02:00
Mr. Bubbles
eeeabfb440 bump bring-api to 0.4.1 (#111149) 2024-02-22 19:54:56 +02:00
J. Nick Koston
5bf8086a2b Cache formatting of mac addresses (#111140) 2024-02-22 07:09:56 -10:00
Christopher Bailey
b740783f8d Bump pyunifiprotect to 4.23.3 (#111059) 2024-02-22 05:57:42 -10:00
Shay Levy
6bbd8c7f7b Remove filter of -1 in Shelly block based sensors (#111116) 2024-02-22 17:48:14 +02:00
Artem Draft
a7a19786cc Handle media position in Bravia TV (#107080)
Handle media position in BraviaTV
2024-02-22 16:22:07 +01:00
Jan-Philipp Benecke
ef66560744 Use async_update_reload_and_abort helper in discord (#111104) 2024-02-22 16:11:46 +01:00
Joakim Sørensen
8f83426895 Revert "Move backup/* WS commands to the backup integration" (#111136)
Revert "Move backup/* WS commands to the backup integration (#110651)"

This reverts commit ec4e6c3a74.
2024-02-22 16:08:30 +01:00
Franck Nijhof
1ee39275fc 2024.2.3 (#111133) 2024-02-22 16:08:18 +01:00
David Knowles
8bf0466151 Bump pydrawise to 2024.2.0 (#111080) 2024-02-22 13:00:25 +01:00
Malte Franken
5f9d46205c Bump georss-qld-bushfire-alert-client to 0.7 (#111075)
* bump georss-qld-bushfire-alert-client to 0.7

* fix tests
2024-02-22 12:58:54 +01:00
Åke Strandberg
58269fefea Replace dash with hard hyphen in myuplink entity names (#111074)
Replace dash with hard hyphen in entity names
2024-02-22 12:56:42 +01:00
Álvaro Fernández Rojas
b72d64a3dc Disable AEMET legacy options (#107795)
* aemet: disable legacy options

This enables proper timezone handling:
- Atlantic/Canary for the Canary Islands.
- Europe/Madrid for the Iberian Peninsula.

Also provides daily data for the current day after AEMET stops providing the
full day interval, which is normally after midday (12:00).
This is a breaking change because with the previous behaviour the daily data
for the current day wasn't available after midday and now it will be.
What the integration library does to workaround this is to fallback to the
12-24 interval data if the the 00-24 is no longer provided by the API.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Fix AEMET tests with v0.4.8

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-22 12:52:57 +01:00
Thomas55555
85be94e0a9 Add switch platform for husqvarna_automower (#110139)
* Add switch platform for husqvarna_automower

* Use RestrictedReasons const

* Typing

* Add snapshot testing

* Invert switch

* Test sucessfull servie calls

* Assert client mock calls

* Use getattr

* Update snapshot

* Add available property

* Add a new base class for control entities

* Make switch unavailabe if mower in error state

* Sort platforms

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-22 12:34:24 +01:00
Franck Nijhof
728399c09a Revert "Fix Shelly RPC RSSI sensor removal (#111035)"
This reverts commit 4eb1bac859.
2024-02-22 12:05:24 +01:00
dependabot[bot]
6fc4eea0e7 Bump dawidd6/action-download-artifact from 3.1.1 to 3.1.2 (#111120) 2024-02-22 11:50:45 +01:00
Franck Nijhof
c76c66c466 Bump version to 2024.2.3 2024-02-22 11:48:04 +01:00
Joost Lekkerkerker
2f8d8eed84 Ignore cloudhook already removed in mobile app (#111122) 2024-02-22 11:46:29 +01:00
Robert Resch
a372878aed Bump deebot-client to 5.2.2 (#111112) 2024-02-22 11:46:26 +01:00
Álvaro Fernández Rojas
f5d7e6f506 Bump aioairzone to v0.7.4 (#111105)
* Update aioairzone to v0.7.3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update aioairzone to v0.7.4

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-22 11:46:23 +01:00
Shay Levy
2cf87b8536 Bump pywebpush to 1.14.1 (#111082) 2024-02-22 11:46:20 +01:00
Christopher Bailey
68450bb594 Fixes UniFi Protect light state check (#111058) 2024-02-22 11:46:17 +01:00
G Johansson
4f5c808b40 Bump holidays to 0.43 (#111039) 2024-02-22 11:46:14 +01:00
Shay Levy
4eb1bac859 Fix Shelly RPC RSSI sensor removal (#111035) 2024-02-22 11:46:10 +01:00
starkillerOG
f6bef0081b Bump motionblinds to 0.6.21 (#110970) 2024-02-22 11:45:18 +01:00
Michael
f590f86cdd Reset error state when Ecovacs bot is operational again (#110962) 2024-02-22 11:45:15 +01:00
starkillerOG
85ad0a0e1e Bump reolink-aio to 0.8.8 (#110959) 2024-02-22 11:45:12 +01:00
Dominik Sander
bd08807b53 Bump deluge-client to 1.10.2 (#110905)
This mainly addresses the client hanging and not reconnecting whenever
the deluge server is restarted. See https://github.com/JohnDoee/deluge-client/pull/42

https://github.com/JohnDoee/deluge-client/compare/1.10.0...1.10.2
2024-02-22 11:45:09 +01:00
Robert Hillis
715c6a554c Bump deluge-client to 1.10.0 (#110663) 2024-02-22 11:45:04 +01:00
starkillerOG
e3074c6148 Reolink continue setup when internet blocked (#110888) 2024-02-22 11:43:20 +01:00
Chris Caron
b7c97880e9 Allow loading of more then 1 defined Apprise URL (#110868) 2024-02-22 11:37:35 +01:00
Galorhallen
6745814e59 Update govee-local-api library to 1.4.4 (#110854) 2024-02-22 11:37:32 +01:00
Jan-Philipp Benecke
adf24c970c Bump aiotankerkoenig to 0.4.1 (#110840) 2024-02-22 11:37:29 +01:00
Michael
f13052f9aa Detect reached API rate limit in Tankerkoenig (#110432) 2024-02-22 11:37:23 +01:00
Aaron Bach
2a12369e31 Ensure Tile timestamps are reported as UTC (#110773) 2024-02-22 11:35:56 +01:00
Michael
76ec26b23d Bump roombapy to 1.6.12 (#110762)
* bump roombapy to 1.6.11

* Apply suggestions from code review

* "fix" tests (make them pydantic fiendly?)

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-22 11:35:52 +01:00
Steven Barth
d85a92f5f1 Remove matplotlib pinning due to Python 3.12 incompatibility (#110706) 2024-02-22 11:35:49 +01:00
Michael
ac74eb7854 Fix scene activation with climate entities with None attribute values (#110684)
don't call service with attribute None
2024-02-22 11:35:46 +01:00
Chris Talkington
8769921d70 Update rokuecp to 0.19.1 (#110670) 2024-02-22 11:35:43 +01:00
wilburCforce
54c5c94f97 Fix uuid issue in Lutron (#110524) 2024-02-22 11:35:39 +01:00
Brett Adams
9cb425ae8b Fix set_temperature in Tessie climate platform (#110445)
* HVAC_MODE support for set_temperature

* Fix import
2024-02-22 11:35:36 +01:00
Brett Adams
eff82ba82c Add wake up timeout to Teslemetry (#109037) 2024-02-22 11:35:33 +01:00
Sid
f21313b622 Handle deep standby and poweroffs of enigma2 devices gracefully (#107462)
* handle deep standby and poweroff of enigma2 devices gracefully

* address review comments

* remove warning on deep standby

* use contextlib.suppress
2024-02-22 11:35:29 +01:00
Mick Vleeshouwer
bba7641c77 Fix reauth in Overkiz for config entries created prior to 2022.12 (#106251)
* Fix #106204

* Use api type variable
2024-02-22 11:35:23 +01:00
Federico D'Amico
6af7d7de41 Bump microBeesPy to 0.3.2 (#111067)
Bump microBeesPy 0.3.2
2024-02-22 11:34:48 +01:00
Åke Strandberg
c167001861 Add myuplink switch platform (#110810)
* Add switch platform

* Add mypulink switch platform

* Update tests according to review

* Address more review comments

* Adjust types

* More typing

* Fix typo

* Use constants in tests

* Revert constants

* Catch aiohttp.ClientError when API call fails

* Add test case for failed async_set_device_points call

* Test api failures for both toggle directions

* Use parametrize for testing switching
2024-02-22 11:27:46 +01:00
Joost Lekkerkerker
92c8c4b1ae Ignore cloudhook already removed in mobile app (#111122) 2024-02-22 11:19:27 +01:00
Brett Adams
767fcd707f Add wake up timeout to Teslemetry (#109037) 2024-02-22 10:50:44 +01:00
Michael
9348f99ce8 Bump roombapy to 1.6.12 (#110762)
* bump roombapy to 1.6.11

* Apply suggestions from code review

* "fix" tests (make them pydantic fiendly?)

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-22 10:39:53 +01:00
Joakim Sørensen
ec4e6c3a74 Move backup/* WS commands to the backup integration (#110651)
* Move backup/* WS commands to the backup integration

* Call correct command

* Use debug for logging

* Remove assertion of hass.data for setup test

* parametrize token fixture
2024-02-22 10:25:38 +01:00
ollo69
52621f9609 Remove reserved UpdateFailed exception in AsusWRT (#110910)
* Remove reserved UpdateFailed exception in AsusWRT

* Restore UpdateFailed exception in decorator
2024-02-22 09:53:40 +01:00
Thomas55555
6e91776d65 Add sensor platform for husqvarna_automower (#110410)
* Add sensor platform for husqvarna_automower

* Adress review comments

* Try to fix test

* Improve sensors

* Address review

* Adapt some values

* Add test

* Add test for cutting blade usage time

* Import TEST_MOWER_ID

* Use a parenthesis around the lambda and indent it so it's easier to distinguish the entity description parameters from the lambda
2024-02-22 09:26:38 +01:00
J. Nick Koston
e88dfd4f68 Migrate Bluetooth coordinators to use Debouncer async_schedule_call (#111077)
* Switch Bluetooth to use Debouncer async_schedule_call

If the debouncer does not fire the underlying call no task has to be
scheduled

* revert change in init

* revert change in init

* revert change in init
2024-02-21 22:03:22 -05:00
J. Nick Koston
5267e4f5db Fix race in otbr config flow (#111044)
* fix otbr

* Update homeassistant/components/otbr/config_flow.py

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

* unique ids should not change

* handle missing unique id

* handle missing unique id

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-21 22:02:44 -05:00
Robert Resch
345228429e Bump deebot-client to 5.2.2 (#111112) 2024-02-22 01:01:32 +02:00
David Knowles
424080f79f Bump pyschlage to 2024.2.0 (#111079) 2024-02-21 22:23:06 +01:00
Matthias Alphart
3028ad8ac2 KNX: Group address validators use more detailed error messages (#110875)
* GA validators use xknx exception message

* move validation functions to own module

* use type name
2024-02-21 22:09:27 +01:00
David F. Mulcahey
6bdb3357fa Remove ZHA storage file cleanup logic (#111088) 2024-02-21 22:02:41 +01:00
Álvaro Fernández Rojas
704230e3c1 Bump aioairzone to v0.7.4 (#111105)
* Update aioairzone to v0.7.3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update aioairzone to v0.7.4

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-21 22:00:09 +01:00
TimL
c8bf589384 Auto detect ZHA SMLIGHT SLZB-07 dongle (#110982) 2024-02-21 21:39:16 +01:00
Brett Adams
ff0ba5361f Add translation to Tessie exceptions (#106525)
* Fix HomeAssistantError

* Add error translations

* Add cable error

* remove underscore from fallback

* Add more exceptions

* Try again for name

* Improve messages

* Address review feedback
2024-02-21 20:58:38 +01:00
Jason Kossis
a5ab2dfb62 Add Vital 100S & Vital 200S to VeSync sensors (#111017) 2024-02-21 20:39:06 +01:00
Paul Bottein
0eef449526 Add icon translations to Tessie (#111096) 2024-02-21 19:49:04 +01:00
starkillerOG
ef02fca6ba Fix Motionblinds TDBU (#110871) 2024-02-21 19:47:02 +01:00
Shay Levy
53be4ebab5 Bump pywebpush to 1.14.1 (#111082) 2024-02-21 19:46:08 +01:00
J. Nick Koston
1de83140ab Avoid circular import in Storage.async_delay_save (#111086) 2024-02-21 12:45:59 -06:00
J. Nick Koston
d6fac87876 Avoid compressing application (tarfile) downloads from supervisor (#110224) 2024-02-21 12:45:47 -06:00
Christopher Bailey
a0b185d06d Fixes UniFi Protect light state check (#111058) 2024-02-21 19:45:32 +01:00
J. Nick Koston
7bf0fb9e48 Avoid late import of area registry in device registry if its not used (#111081) 2024-02-21 12:45:00 -06:00
Álvaro Fernández Rojas
395a452162 Update AEMET-OpenData to v0.4.9 (#111092)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-21 19:35:19 +01:00
Franck Nijhof
a906ae3647 Merge branch 'master' into dev 2024-02-21 16:58:45 +01:00
J. Nick Koston
ae7ebc25c7 Migrate shelly to use Debouncer.async_schedule_call (#111087) 2024-02-21 09:47:36 -06:00
Cyrill Raccaud
6e20cc8700 Support Bring! recently list (#109854)
* support bring recently list

* fix keyerror

---------

Co-authored-by: tr4nt0r <manni@zapto.de>
2024-02-21 07:27:59 -08:00
Andriy Kushnir
6f1cc7b3a4 Add code owner to roomba integration (#111071)
* Add Orhideous as code owner to roomba integration

* Update CODEOWNERS for roomba integration as well
2024-02-21 13:44:03 +01:00
J. Nick Koston
4bddf32cc4 Avoid the final write of every registry at the end of each test (#111053) 2024-02-21 06:01:19 -06:00
Åke Strandberg
2614d6fece Add tests to myuplink binary_sensor (#110995) 2024-02-21 12:32:25 +01:00
Jan Rothkegel
05b23c2e7b Replace Wolflink dependency with wolf_comm to support authentication via OpenID (#110249)
* Add OpenID authentication to wolflink integration

* Update wolf-comm to 0.0.2

* Upgrade wolf_comm to 0.0.3 + fix tests

* Version 0.0.4 of wolf_comm including LICENSE.txt

* Update requirements to wolf_comm 0.0.4

---------

Co-authored-by: Jan Rothkegel <jan.rothkegel@web.de>
2024-02-21 09:37:13 +01:00
J. Nick Koston
776a9b8691 Make device registry cleanup a callback function (#111052)
* Add async_schedule_call to the Debouncer

async_schedule_call allows the Debouncer to schedule a call
from a callback without having to create tasks to run
async_call

* Update homeassistant/helpers/debounce.py

* Make device registry cleanup all callback function

* fix typing, code supported callback functions, but typing did not

* fixes

* fixes

* fix

* we had no coverage for other job types

* we had no coverage for other job types
2024-02-21 09:34:49 +01:00
Jan Bouwhuis
c048b840fc Do not directly call async_setup_entry in MQTT tests (#111010) 2024-02-21 07:47:30 +01:00
J. Nick Koston
5b73adba20 Revert "Reduce dict lookups in entity registry indices" (#111055)
Revert "Reduce dict lookups in entity registry indices (#109712)"

This reverts commit 440212ddce.
2024-02-21 07:11:58 +01:00
J. Nick Koston
490c03d248 Add async_schedule_call to the Debouncer (#111051) 2024-02-21 00:09:45 -06:00
J. Nick Koston
aaa071e810 Increase unifiprotect fallback interval to 20s (#110870) 2024-02-20 23:48:41 -06:00
J. Nick Koston
b1cbf9840a Make adding new device in unifiprotect callback functions (#111054) 2024-02-20 23:47:31 -06:00
Christopher Bailey
7eb6614818 Guide users to migrate from Ubiquiti Cloud Accounts to local for UniFi Protect (#111018)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-20 23:32:47 -06:00
Christopher Bailey
fb04df5392 Improve UniFi Protect re-auth (#110021)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-20 23:31:42 -06:00
J. Nick Koston
da9d71cb6b Fix race in automation test_extraction_functions (#111056) 2024-02-20 23:25:19 -06:00
J. Nick Koston
1a02330bd9 Avoid creating tasks to remove entities (#110967) 2024-02-20 21:32:36 -06:00
Josef Zweck
db77e73a76 Add calendar platform to La Marzocco (#108237)
* add calendar

* rename function

* remove device from test

* requested changes

* extend range

* fix async_get_events

* catch and test edge cases

* remove commented code

* rebase snapshot
2024-02-20 19:15:47 -08:00
Shay Levy
c690a9df83 Fix Shelly RPC RSSI sensor removal (#111035) 2024-02-20 21:05:59 -06:00
J. Nick Koston
2f2cdedddd Avoid creating multiple tasks for config entry init (#110899) 2024-02-20 21:57:36 -05:00
J. Nick Koston
9ce1ec414e Reduce overhead to load multiple languages in translations (#111028)
* Reduce overhead to load multiple languages in translations

Instead of loading in a task, we now group everything
to be loaded into a single executor job

* fixes

* fixes

* fixes

* fixes

* fixes

* update tests

* add missing coverage (was existing)
2024-02-20 21:52:28 -05:00
J. Nick Koston
9c145b5faa Fix race in removing entities from the registry (#110978) 2024-02-20 20:48:31 -06:00
J. Nick Koston
94e372a345 Make ConfigEntry.async_shutdown a callback (#111027)
Nothing needed to be awaited here and this generated a task per config
entry at shutdown
2024-02-20 21:38:24 -05:00
J. Nick Koston
17ba96ffdb Avoid creating tasks to install dependent requirements (#111048) 2024-02-20 20:30:07 -06:00
J. Nick Koston
dc4008c518 Avoid creating tasks to shutdown entity platforms (#111026)
* Avoid creating tasks to shutdown entity platforms

Nothing needed to be awaited here

* fix mocking

* missed one test
2024-02-20 21:10:25 -05:00
J. Nick Koston
98d5f2fc01 Reduce registry overhead in tests (#110955)
* Avoid scheduling registry loads as tasks in tests

Since we patch out async_load in Store, these will not yield
to the event loop so it makes sense to await them instead
of creating tasks

This reduced my local test run times ~2.5% on average

* mock out save as well so we do not schedule tasks to save empty data

* tweaks

* fix lingering files

* another one

* too much for one PR, reduce

* fix targets
2024-02-20 21:01:50 -05:00
some-guy-23
a542b36997 Add state class to Motion Blinds battery sensor (#111016) 2024-02-20 23:45:37 +01:00
G Johansson
32a6662d1d Bump holidays to 0.43 (#111039) 2024-02-20 23:37:17 +01:00
J. Nick Koston
145c6163a4 Fix race in gardena_bluetooth config flow tests (#111042) 2024-02-20 16:08:06 -06:00
Brett Adams
5b00703ef7 Add presets to Advantage Air (#109485)
* Add presets

* Make hvac_modes dynamic

* Add supported features

* Fix set preset mode

* Add coverage

* Remove unused constants

* Remove the extra newline

* Add snapshot assertion to new test

* Add comments

* Use ServiceValidationError

* Test for ServiceValidationError

* Fix typo

* Refactor to use _handle_coordinator_update

* Remove preset_mode prop

* Apply suggestions from code review

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-20 22:00:52 +01:00
J. Nick Koston
9f8e4cecdd Remove update_before_add from legacy ios integration (#111033) 2024-02-20 21:26:24 +01:00
J. Nick Koston
8e9946afc9 Remove update_before_add from nut sensors (#111032) 2024-02-20 21:12:06 +01:00
Michael
f295382c92 Reset error state when Ecovacs bot is operational again (#110962) 2024-02-20 17:15:55 +01:00
Jeremy TRUFIER
86ea5c135f Bump pyOverkiz to 1.13.7 (#111004) 2024-02-20 15:42:29 +01:00
Marco Lettieri
cd05972276 Add sensor platform to microBees (#111008)
* add microBees sensor

* add a sensor.py in .coveragerc

* fixes review

---------

Co-authored-by: FedDam <noceracity@gmail.com>
2024-02-20 15:32:19 +01:00
J. Nick Koston
ad94534d37 Migrate sensibo to use async_update_reload_and_abort (#110986) 2024-02-20 14:41:14 +01:00
Mick Vleeshouwer
6471397d09 Fix reauth in Overkiz for config entries created prior to 2022.12 (#106251)
* Fix #106204

* Use api type variable
2024-02-20 14:15:16 +01:00
Federico D'Amico
93d6f0a780 Bump microBeesPy to 0.2.9 (#111006)
change library
2024-02-20 13:39:14 +01:00
Thomas55555
e6cfa7fa09 Bump aioautomower to 2024.2.7 (#110991)
bump aioautomower to 2024.2.7

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2024-02-20 12:04:42 +01:00
Federico D'Amico
ac926f9c64 Introduce actuator base entity to microBees (#111000)
* changed library imports and added sensors to coordinator and new entity

* revert library

* revert library
2024-02-20 11:55:36 +01:00
Simon Goodall
5b470ff16f Expose Hive Motion Sensor temperature (#105985) 2024-02-20 10:57:19 +01:00
J. Nick Koston
6ed221de5d Handle empty name in powerview config flow (#110969)
fixes

```
2024-02-19 13:51:58.128 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved:   File "/Users/bdraco/home-assistant/venv/bin/hass", line 8, in <module>
    sys.exit(main())
  File "/Users/bdraco/home-assistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/Users/bdraco/home-assistant/homeassistant/runner.py", line 188, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 673, in run_until_complete
    self.run_forever()
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 640, in run_forever
    self._run_once()
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 1965, in _run_once
    handle._run()
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/events.py", line 84, in _run
    self._context.run(self._callback, *self._args)
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 610, in async_add_entities
    await add_func(coros, entities, timeout)
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 561, in _async_add_entities
    await coro
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 652, in _async_add_entity
    entity.add_to_platform_start(
  File "/Users/bdraco/home-assistant/homeassistant/components/device_tracker/config_entry.py", line 356, in add_to_platform_start
    _async_connected_device_registered(
  File "/Users/bdraco/home-assistant/homeassistant/components/device_tracker/config_entry.py", line 94, in _async_connected_device_registered
    async_dispatcher_send(
  File "/Users/bdraco/home-assistant/homeassistant/helpers/dispatcher.py", line 227, in async_dispatcher_send
    hass.async_run_hass_job(job, *args)
  File "/Users/bdraco/home-assistant/homeassistant/core.py", line 701, in async_run_hass_job
    hassjob.target(*args)
  File "/Users/bdraco/home-assistant/homeassistant/util/logging.py", line 133, in _callback_wrapper
    func(*args)
  File "/Users/bdraco/home-assistant/homeassistant/components/dhcp/__init__.py", line 392, in _async_process_device_data
    self.async_process_client(ip_address, hostname, mac_address)
  File "/Users/bdraco/home-assistant/homeassistant/components/dhcp/__init__.py", line 268, in async_process_client
    discovery_flow.async_create_flow(
  File "/Users/bdraco/home-assistant/homeassistant/helpers/discovery_flow.py", line 32, in async_create_flow
    hass.async_create_task(init_coro, f"discovery flow {domain} {context}")
  File "/Users/bdraco/home-assistant/homeassistant/core.py", line 634, in async_create_task
    task = self.loop.create_task(target, name=name)
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 1017, in async_init
    flow, result = await self._async_init(flow_id, handler, context, data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 1047, in _async_init
    result = await self._async_handle_step(flow, flow.init_step, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/data_entry_flow.py", line 501, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/hunterdouglas_powerview/config_flow.py", line 127, in async_step_dhcp
    return await self.async_step_discovery_confirm()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/hunterdouglas_powerview/config_flow.py", line 152, in async_step_discovery_confirm
    assert self.discovered_ip and self.discovered_name
AssertionError
```
2024-02-20 10:41:38 +01:00
Robert Svensson
2f026ca963 Unifi rename controller to hub (#110976)
* Rename controller.py to hub.py

* Rename UniFiController to UnifiHub

* Rename controller instances into hub

* Rename controller to hub in tests

* Rename aiounifi Controller references to api

* Update strings

* Rename test_controller test_hub

* Narrow scope of test_remove_sensors
2024-02-20 08:51:22 +01:00
Mr. Bubbles
2b3f5319d6 Bump bring-api to 0.3.1 (#110769)
* bump bring-api

* unpinned dependencies
2024-02-20 08:46:02 +01:00
J. Nick Koston
54d005a3b8 Migrate xiaomi_miio to use async_update_reload_and_abort (#110988) 2024-02-20 07:08:21 +01:00
J. Nick Koston
8927769545 Migrate unifi to use async_update_reload_and_abort (#110987) 2024-02-20 07:07:55 +01:00
J. Nick Koston
059e1fbe37 Migrate yalexs_ble to use async_update_reload_and_abort (#110985) 2024-02-20 07:07:21 +01:00
Keilin Bickar
70542efc23 Fix last_reset set for Sense percentage sensors (#110977) 2024-02-19 21:45:09 -06:00
Michael Hansen
ec4bd9a421 Add new intents for cover, valve, vacuum, and media player (#110757)
* Add valve to HassTurnOn/Off

* Add set position for valves

* Add set position to covers

* Add HassTurnOn/Off for vacuums

* Add media player intents

* Split out vacuum intents

* Address comments

* Extra test
2024-02-19 22:28:42 -05:00
J. Nick Koston
015f9cdb35 Fix failing tessie tests (#110980) 2024-02-19 20:45:07 -06:00
Åke Strandberg
230ac417c0 Add check for myuplink startup ClientError (#110926)
* Raise ConfigEntryNotReady if appropriate

* Catchin exceptions during startup

* Change expected_state to SETUP_ERROR
2024-02-20 02:17:35 +01:00
J. Nick Koston
ae49b3a274 Add async_schedule_reload helper to the ConfigEntries manager (#110912)
* Add async_schedule_reload helper to the ConfigEntries manager

We have cases where the the setup retry kicks in right before
the reload happens causing the reload to fail with
OperationNotAllowed. The async_schedule_reload will
cancel the setup retry before the async_reload task
is created to avoid this problem.

I updated a few integrations that were most likely
to have this problem. Future PRs will do a more
extensive audit

* coverage

* revert for now since this needs more refactoring in a followup

* cover

* cleanup and fixes
2024-02-20 02:14:45 +01:00
starkillerOG
9361f3c443 Bump motionblinds to 0.6.21 (#110970) 2024-02-19 23:33:02 +01:00
Brett Adams
61766c0e59 Fix set_temperature in Tessie climate platform (#110445)
* HVAC_MODE support for set_temperature

* Fix import
2024-02-19 21:52:59 +01:00
Brett Adams
980413c57f Add new range sensors to Tessie (#110446)
* Add new sensors

* Fix tests
2024-02-19 21:50:20 +01:00
J. Nick Koston
b35490404a Make EntityRegistryDisabledHandler._handle_entry_updated a callback (#110966) 2024-02-19 14:44:57 -06:00
starkillerOG
e83c7c8770 Bump reolink-aio to 0.8.8 (#110959) 2024-02-19 21:35:41 +01:00
J. Nick Koston
1f1c66b3c2 Group adding unifi entities together to reduce number of tasks (#110965) 2024-02-19 13:58:44 -06:00
starkillerOG
aa9f0f5734 Reolink continue setup when internet blocked (#110888) 2024-02-19 20:53:18 +01:00
Oliver
3e5329d463 Do not turn on denonavr receiver when changing the source (#110964) 2024-02-19 20:33:48 +01:00
Jan Bouwhuis
f4fd3633b4 Improve timing mqtt integration discovery test (#110960)
* Improve timing mqtt integration discovery test

* Remove condition
2024-02-19 20:16:06 +01:00
J. Nick Koston
1bc0263ea4 Revert powerwall back to awaiting each api call (#110947)
We converted these to run as tasks in the hope that it would be faster,
but since the cost of establishing another connection and the task
overhead exceeded the savings, it makes sense to await them all in
series.
2024-02-19 20:13:49 +01:00
Martin Hjelmare
058eec114b Freeze light profiles for further development (#110946) 2024-02-19 16:02:27 +01:00
Marco Lettieri
3a4c6fc7f3 Add microBees integration (#99573)
* Create a new homeassistan integration for microBees

* black --fast homeassistant tests

* Switch platform

* rename folder

* rename folder

* Update owners

* aiohttp removed in favor of hass

* Update config_flow.py

* Update __init__.py

* Update const.py

* Update manifest.json

* Update string.json

* Update servicesMicrobees.py

* Update switch.py

* Update __init__.py

* Update it.json

* Create a new homeassistan integration for microBees

* black --fast homeassistant tests

* Switch platform

* rename folder

* rename folder

* Update owners

* aiohttp removed in favor of hass

* Update config_flow.py

* Update __init__.py

* Update const.py

* Update manifest.json

* Update string.json

* Update servicesMicrobees.py

* Update switch.py

* Update __init__.py

* Update it.json

* fixes review

* fixes review

* fixes review

* pyproject.toml

* Update package_constraints.txt

* fixes review

* bug fixes

* bug fixes

* delete microbees connector

* add other productID in switch

* added coordinator and enanchments

* added coordinator and enanchments

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* add test

* add test

* add test

* add test

* requested commit

* requested commit

* requested commit

* requested commit

* reverting .strict-typing and added microbees to .coveragerc

* remove log

* remove log

* remove log

* remove log

* add test for microbeesExeption and Exeption

* add test for microbeesExeption and Exeption

* add test for microbeesException and Exception

* add test for microbeesException and Exception

* add test for microbeesException and Exception

---------

Co-authored-by: FedDam <noceracity@gmail.com>
Co-authored-by: Federico D'Amico <48856240+FedDam@users.noreply.github.com>
2024-02-19 15:12:03 +01:00
J. Nick Koston
b349a466ba Fix concurrent reloads in yeelight tests (#110911) 2024-02-19 07:37:22 -06:00
Jevgeni Kiski
2250baab21 Update vallox_websocket_api to 5.0.2 (#110752)
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
2024-02-19 14:36:51 +01:00
starkillerOG
efac3b0a60 Add Motionblinds vitual integrations __init__.py (#110903) 2024-02-19 12:36:56 +01:00
dependabot[bot]
0c39b465b3 Bump dawidd6/action-download-artifact from 3.1.0 to 3.1.1 (#110925) 2024-02-19 12:29:09 +01:00
Franck Nijhof
e0a9dcd996 Add label registry (#110821) 2024-02-19 11:59:08 +01:00
ruohan.chen
8201ea4b3c Bump zhong-hong-hvac to 1.0.12 (#110701)
zhong_hong_hvac requirements upgrade to 1.0.12
2024-02-19 10:58:03 +01:00
Dominik Sander
8e78710f84 Bump deluge-client to 1.10.2 (#110905)
This mainly addresses the client hanging and not reconnecting whenever
the deluge server is restarted. See https://github.com/JohnDoee/deluge-client/pull/42

https://github.com/JohnDoee/deluge-client/compare/1.10.0...1.10.2
2024-02-19 10:49:57 +01:00
Kevin Stillhammer
03e8482aa9 Fix BroadlinkThermostat inheritance order (#110927)
fix BroadlinkThermostat inheritance order
2024-02-19 10:44:45 +01:00
J. Nick Koston
fd1f712d67 Bump esphome dependencies (#110892) 2024-02-19 10:38:28 +01:00
J. Nick Koston
136a31e4bc Avoid creating tasks to run homekit accessories (#110895) 2024-02-19 10:36:54 +01:00
J. Nick Koston
4bc28489c5 Improve performance of waiting for after dependencies and device config entries (#110902)
To wait for after dependencies we created a task to wait an asyncio.Event object,
instead of using an Event we can use an asyncio.Future instead and avoid the need
for a task wrapper
2024-02-19 10:28:50 +01:00
Marc Mueller
a21d65d025 Fix cloud test RuntimeWarning (#110909) 2024-02-19 10:09:59 +01:00
J. Nick Koston
764e628394 Add missing async_block_till_done to github config flow tests (#110913) 2024-02-19 09:58:57 +01:00
J. Nick Koston
6fc764330f Fix steamist not setting unique id when discovered in user flow (#110915) 2024-02-19 09:58:32 +01:00
J. Nick Koston
a2bd59ab3b Fix switcher_kis tests not holding patch while calling async_block_till_done (#110916) 2024-02-19 09:58:09 +01:00
J. Nick Koston
c74958dd36 Reduce one iteration of pending flows in the discovery flow helper (#110918) 2024-02-19 09:57:39 +01:00
J. Nick Koston
19cf80d5c5 Fix homekit_controller test race (#110917) 2024-02-19 08:42:17 +00:00
wilburCforce
88f72009c6 Fix uuid issue in Lutron (#110524) 2024-02-19 09:30:58 +01:00
Chris Caron
31ce43212a Allow loading of more then 1 defined Apprise URL (#110868) 2024-02-19 09:29:26 +01:00
J. Nick Koston
88b92ff2a8 Narrow bosch_shc patch target in config flow tests (#110922) 2024-02-19 09:24:44 +01:00
Marc Mueller
02eca17002 Update wheels artifact actions to v4 [ci] (#110894) 2024-02-19 09:23:51 +01:00
J. Nick Koston
b35d7a348b Fix mqtt discovery subscribe unsubscribe test with one less task (#110914)
This test currently relies on event loop overhead and since #110899
will remove another task in the config entry init flow, it needs
another async_block_till_done. In the future it should be refactored
to have better synchronization without having to rely on iterations
of the event loop.
2024-02-19 07:36:32 +01:00
Marc Mueller
795d90eb1b Update pre-commit to 3.6.2 (#110908) 2024-02-18 19:37:05 -06:00
J. Nick Koston
aab21105da Convert config entry subscriptions to callback (#110900) 2024-02-18 19:36:53 -06:00
Marc Mueller
af6b24d9bd Update pytest to 8.0.1 (#110907) 2024-02-19 01:52:40 +01:00
Marc Mueller
85864e77ac Partially revert setup typing update (#110901) 2024-02-19 00:36:47 +01:00
Lenn
3275b28e2a Fix Motionblinds brand name consistency (#110222) 2024-02-19 00:04:57 +01:00
Jan-Philipp Benecke
22e62f42e6 Use entity & device registry fixtures in unifi tests (#110889) 2024-02-18 23:47:10 +01:00
Marc Mueller
72ccc40c43 Add better HassJob typing for IntegrationPlatform process_job (#110896) 2024-02-18 16:46:48 -06:00
Álvaro Fernández Rojas
49e9c9dd48 Update AEMET-OpenData to v0.4.8 (#110890)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-18 23:33:06 +02:00
spycle
503af70985 Bump pyMicrobot to 0.0.16 (#110876)
* Update manifest.json

Up-version pyMicrobot

* Update requirements_all.txt

Up-version pyMicrobot

* Update requirements_test_all.txt

Up-version pyMicrobot
2024-02-18 23:32:01 +02:00
J. Nick Koston
314123e0ab Avoid creating two tasks to setup components at startup (#110828) 2024-02-18 14:17:41 -06:00
Jan-Philipp Benecke
85587f995b Use entity registry fixture in octoprint tests (#110887) 2024-02-18 20:55:12 +01:00
Paul Daumlechner
b358a03379 Fix Velux setup (#110886)
fix async_setup without configuration.yaml entry
2024-02-18 20:39:02 +01:00
J. Nick Koston
fdd45189ca Fix trigger attachment race in conversation tests (#110869) 2024-02-18 20:13:41 +01:00
Marc Mueller
f785bdf571 Update coverage artifact actions to v4 [ci] (#110344) 2024-02-18 20:13:20 +01:00
J. Nick Koston
93d56cc105 Enable compression on error log api (#110865) 2024-02-18 20:12:30 +01:00
J. Nick Koston
3633700d97 Fix sending multiple empty integration timing in bootstrap (#110872) 2024-02-18 19:53:05 +01:00
On Freund
e879ab0eef Show WebRTC cameras that also support HLS in the media browser (#108796)
* Show WebRTC cameras in the media browser

* Only show webrtc cameras with source in the browser

* Address code review

* Refactor BrowseMediaSource creation

* Refactor

* Address code review
2024-02-18 10:12:08 -08:00
Jc2k
8fa347fb4c Add Identify device class to homekit_controller (#110878) 2024-02-18 12:05:19 -06:00
Galorhallen
7d3755715f Update govee-local-api library to 1.4.4 (#110854) 2024-02-18 18:04:37 +01:00
J. Nick Koston
bd4f8e0cc0 Fix races in ESPHome manager tests (#110867) 2024-02-18 17:06:57 +01:00
Jan Bouwhuis
addc02fa86 Revert "Set up smtp integration via the UI" (#110862)
Revert "Set up smtp integration via the UI (#110817)"

This reverts commit 66a31407f9.
2024-02-18 16:21:27 +01:00
Franck Nijhof
67ac60d042 Add hex color validator (#110846) 2024-02-18 16:03:21 +01:00
Franck Nijhof
70d1bbb20d Improve floor registry event typing (#110844) 2024-02-18 14:57:15 +01:00
Franck Nijhof
1c55ba0cb2 Use covariant for fire event data type (#110843) 2024-02-18 13:21:55 +01:00
Jan Bouwhuis
66a31407f9 Set up smtp integration via the UI (#110817)
* Set up smtp integration via the UI

* Update homeassistant/components/smtp/config_flow.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/smtp/notify.py

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Update homeassistant/components/smtp/notify.py

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Update homeassistant/components/smtp/notify.py

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* Update homeassistant/components/smtp/notify.py

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

* ruff

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2024-02-18 13:20:45 +01:00
Joost Lekkerkerker
e2ab44903c Clean up twitch setup (#110849)
* Clean up twitch setup

* Clean up twitch setup
2024-02-18 13:16:22 +01:00
Allen Porter
babb436512 Fix local todo list persistence for due dates (#110830)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-18 12:59:50 +01:00
Jan-Philipp Benecke
9ac199a8f2 Bump aiotankerkoenig to 0.4.1 (#110840) 2024-02-18 11:58:33 +01:00
J. Nick Koston
16653ff5d0 Group loading of translations for integrations to reduce executor jobs at startup (#110674) 2024-02-17 21:08:55 -06:00
J. Nick Koston
def6c5c21c Refactor integration startup time tracking to reduce overhead (#110136)
* Refactor integration startup time tracking to reduce overhead

- Use monotonic time for watching integration startup time as it avoids incorrect values if time moves backwards because of ntp during startup and reduces many time conversions since we want durations in seconds and not local time

- Use loop scheduling instead of a task

- Moves all the dispatcher logic into the new _WatchPendingSetups

* websocket as well

* tweaks

* simplify logic

* preserve logic

* preserve logic

* lint

* adjust
2024-02-17 21:47:55 -05:00
J. Nick Koston
9bc130c131 Ensure translations for other integrations can be loaded if one integration fails (#110748)
* load failure

* merge
2024-02-17 21:01:36 -05:00
J. Nick Koston
0a01161cdd Cache JSON representation of ConfigEntry objects (#110823)
* Cache JSON representation of ConfigEntry objects

* fix recursive set

* tweak

* adjust

* order
2024-02-17 20:52:39 -05:00
J. Nick Koston
0d4c82b54d Convert Integration platforms processors where nothing is awaited to callbacks (#110825)
Convert Integration platforms processors where nothing is awaited callbacks
2024-02-17 20:49:47 -05:00
J. Nick Koston
165d79b553 Add typing of EVENT_COMPONENT_LOADED to integration_platform helper (#110826) 2024-02-17 20:48:46 -05:00
Aarni Koskela
5d23a1f84f Enable augmented-assignment operations in scripts (#108081) 2024-02-17 20:32:23 -05:00
J. Nick Koston
33ff6b5b6e Avoid creating tasks for checking integrations platforms (#110795)
* Avoid creating tasks for checking integrations platforms

This is a followup to #110743 to avoid creating a task to check
if the integration platform exists. We created tasks because
we needed to await async_get_integrations but since its always
called from EVENT_COMPONENT_LOADED firing, we can use the
async_get_loaded_integration version which does not need
to be awaited. This eliminates one task for every loaded
component

* there is no more race risk

* reduce

* coro or callback

* reduce

* tweak

* race safe

* fix type

* fixes

* use built-in helper to make it smaller

* use built-in helper to make it smaller

* use built-in helper to make it smaller

* add coverage to ensure exceptions are logged

* improve readability a bit

* platforms
2024-02-18 01:07:18 +01:00
Cody C
a656e14b20 Fix Local Calendar changing user-specified capitalisation of calendar names (#108454)
When you create a Local Calendar, say, "Home Maintenance", the integration overrides this to instead be "Home maintenance".
2024-02-17 16:03:13 -08:00
J. Nick Koston
0d6f4058ca Add typing for EVENT_COMPONENT_LOADED (#110812) 2024-02-17 23:03:52 +01:00
Allen Porter
bf1b5252c0 Bump ical to 7.0.0 (#110811) 2024-02-17 22:58:59 +01:00
Allen Porter
80abe7bfff Bump pyrainbird to 4.0.2 (#110814) 2024-02-17 22:56:09 +01:00
Joost Lekkerkerker
1417428880 Remove unneeded mock from Epion (#110815) 2024-02-17 22:53:38 +01:00
Franck Nijhof
4570eed6f6 Add floor registry (#110741)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-17 21:21:15 +01:00
Claudio Ruggeri - CR-Tech
1ded412061 Add modbus option to manage different setPoint registers (#107600)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-02-17 19:48:42 +01:00
J. Nick Koston
53944235d2 Improve performance of async_get_integration_with_requirements (#110770)
* Improve performance of async_get_integration_with_requirements

- Migrate to the future pattern instead of using asyncio.Event
- Use sets in a few places to avoid linear searching
- Check the cache when processing deps so we do not
  create tasks to process requirements for deps that
  have already been processed

* name

* add concurrency test

* Update homeassistant/requirements.py

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

* Update homeassistant/requirements.py

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

* Update homeassistant/requirements.py

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

* Update homeassistant/requirements.py

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

* reset_mock

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-17 19:26:41 +01:00
Franck Nijhof
aa8d8402b4 Cleanups in entity registry tests (#110788)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-17 19:07:46 +01:00
Sid
926a634ebf Handle deep standby and poweroffs of enigma2 devices gracefully (#107462)
* handle deep standby and poweroff of enigma2 devices gracefully

* address review comments

* remove warning on deep standby

* use contextlib.suppress
2024-02-17 18:23:29 +01:00
J. Nick Koston
664285b9d4 Small performance improvement in tracking template results (#110622)
- Avoid inner function creation each refresh
- remove extra unneeded checks from ratelimit
2024-02-17 18:08:24 +01:00
J. Nick Koston
094fd3d918 Simplify ConfigFlow._async_current_entries (#110799)
async_entries supports the flags needed for this function so we
can now hand it off instead
2024-02-17 18:04:27 +01:00
J. Nick Koston
b8143a7944 Improve performance of _async_when_setup (#110791)
* Improve performance of _async_when_setup

Use an event filter to avoid creating a task until the
filter matches

* Improve performance of _async_when_setup

Use an event filter to avoid creating a task until the
filter matches
2024-02-17 17:46:06 +01:00
J. Nick Koston
c4653be2fa Make template trigger callbacks when nothing needs to be awaited (#110771)
async_initialize_triggers supports a coro or a callback, and in most
cases the user will not have configured a script so we can avoid
creating a task
2024-02-17 17:37:46 +01:00
Arie Catsman
a4150fe8b2 Enable Enphase Envoy authentication credentials update (#110474) 2024-02-17 09:58:25 -06:00
kingy444
6e2f64fdc2 Add number platform to powerview to control velocity on gen 3 hubs (#110724)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-17 09:52:13 -06:00
Aidan Timson
4aafe14d4c Fix translations for binary sensors in System Bridge (#110095)
* Add translation keys for binary sensor names

* Update version_available string in system_bridge component

* Remove unused code in SystemBridgeBinarySensor class

* Restrict SystemBridgeBinarySensorEntityDescription name type to str

* Refactor binary sensor entity descriptions and remove unused translation keys
2024-02-17 16:10:29 +01:00
Aaron Bach
258f8bfed0 Ensure Tile timestamps are reported as UTC (#110773) 2024-02-17 07:43:28 -07:00
Shay Levy
833c0ee723 Cleanup Shelly async_setup_block_attribute_entities (#110792) 2024-02-17 08:29:35 -06:00
Franck Nijhof
0fbadc274a Cleanups in device registry tests (#110786) 2024-02-17 14:06:53 +01:00
J. Nick Koston
42cf081582 Avoid creating tasks to load integration platforms that do not exist (#110743) 2024-02-17 07:02:51 -06:00
Franck Nijhof
df3556f0d8 Cleanups in area registry tests (#110785)
* Cleanups in area registry tests

* Adjust typing
2024-02-17 13:20:33 +01:00
Chris Talkington
3491dd68b5 Update rokuecp to 0.19.1 (#110670) 2024-02-17 13:01:47 +01:00
J. Nick Koston
9b1ba19354 Bump aioesphomeapi to 21.0.3 (#110772) 2024-02-17 11:09:10 +01:00
J. Nick Koston
0bf95df4d6 Avoid creating tasks to setup ignored and disabled config entries (#110756)
* Avoid creating tasks to setup ignored and disabled config entries

* lint
2024-02-17 10:34:03 +01:00
Åke Strandberg
f5dad1d312 Add myuplink reauth flow (#110587)
* WIP test

* WIP

* WIP Reauth flow. Test fail otherways OK.

* Minor adjustments to tests

* Merge

* Merge

* Next level...

* Cleanup according to review

* It works!

* Simplify setup

* Remove default

* Remove files from PR

* Add back test_init

* Add back test_sensor

* Adjust error message

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-17 10:18:53 +01:00
J. Nick Koston
d99a7e2825 Fix race in wyoming test (#110766)
reverts #110751 and replaces it with a change to wait for the
assist_pipeline.async_pipeline_from_audio_stream to be called
which will actually solve the problem and unblock #110743
2024-02-17 08:24:21 +01:00
Michael
aa5695a859 Bump aiopegelonline to 0.0.9 (#110760)
bump aiopegelonline to 0.0.9
2024-02-17 01:12:53 +01:00
J. Nick Koston
50770ce436 Refactor config integration to use normal functions for setup (#110750)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-16 18:12:33 -06:00
Malte Franken
d7f650ed7c Bump georss-ign-sismologia-client to 0.8 (#110501)
* bump georss-ign-sismologia-client to 0.8

* fixed tests
2024-02-17 00:52:58 +02:00
Kanchana M
bc5ec4f2a3 Fix flo sensor native unit (#110745)
* use flow rate unit enums for proper unit conversions

* update typo for device class
2024-02-16 23:18:27 +01:00
J. Nick Koston
5adb9240c5 Wait for client to be created in wyoming tests (#110751)
* Add missing async_block_till_done in wyoming tests

* better fix

* better fix

* better fix

* better fix
2024-02-16 22:48:47 +01:00
Michael
58a6f26f66 Fix scene activation with climate entities with None attribute values (#110684)
don't call service with attribute None
2024-02-16 22:27:55 +01:00
J. Nick Koston
5292c3408e Bump cryptography to 42.0.3 (#110728) 2024-02-16 20:37:40 +01:00
Franck Nijhof
788b53534f Run codeql on schedule only (#110729) 2024-02-16 19:32:36 +01:00
J. Nick Koston
2cb0249f0a Add filter to translation event listeners to avoid creating tasks (#110732) 2024-02-16 12:13:23 -06:00
jimmyd-be
6f74ea9186 Add breeze switch to Renson integration (#101641)
* Add breeze switch

* Cleanup code

* Replace switch entity with new fan entity

* Revert "Replace switch entity with new fan entity"

This reverts commit 4fc1ac22e67091a7e980aefd217652f2a88bed17.
2024-02-16 17:56:09 +01:00
J. Nick Koston
d449eadac3 Guard ConfigEntry from being mutated externally without using the built-in interfaces (#110023)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-16 10:15:05 -06:00
J. Nick Koston
4c11371898 Adjust ConfigEntry.async_setup comments to be more clear (#110726) 2024-02-16 10:13:35 -06:00
Franck Nijhof
ef9f117baa Stop building Python 3.11 wheels (#110727) 2024-02-16 17:11:05 +01:00
J. Nick Koston
53062a81cc Simplify loading of icons (#110687) 2024-02-16 16:51:14 +01:00
Erik Montnemery
a0ead2b861 Remove hourly weather entity from met.no (#97023) 2024-02-16 16:46:37 +01:00
J. Nick Koston
1260c5a909 Speed up bootstrap by preloading manifests for base platforms (#110130) 2024-02-16 09:35:46 -06:00
Jan-Philipp Benecke
80b404f351 Raise translatable exceptions in entity set methods for BSBLan (#105693)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-16 16:23:47 +01:00
Artur Pragacz
3392660537 Add toggle service to climate (#100418)
* Add toggle service to climate

* Fix mqtt test

* Add comments

* Fix rebase

* Remove not needed properties

* Fix toggle service

* Fix test

* Test

* Mod mqtt test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-16 15:53:48 +01:00
G Johansson
cb776593cf Make context in data entry flow possible to modify for subclasses (#110561)
* Make context in data entry flow possible to modify for subclasses

* mypy

* Make get_context

* base view

* Review comments

* Remove context from options flow
2024-02-16 15:51:51 +01:00
Joakim Sørensen
23e81a45c8 Use snapshots in analytics tests (#110704) 2024-02-16 15:47:41 +01:00
Franck Nijhof
7aa14e20d1 2024.2.2 (#110720) 2024-02-16 15:47:38 +01:00
Denis Shulyaka
2d74dafd3f Generic Hygrostat: Do not log warning if the hygrostat is already not active (#102662)
* Generic Hygrostat: Do not log warning if the hygrostat is already not active

* add test
2024-02-16 15:29:14 +01:00
Imre Liessens
085f75ef1f Add media file playback to DuneHD (#105796)
* Add media player play file option

* Add media playback from HA

* Remove volume capability

* Add missing imports

* Apply suggestions from code review

* Update homeassistant/components/dunehd/media_player.py

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-16 15:20:09 +01:00
J. Nick Koston
f9dc92a9a0 Fix recorder ws_info blocking the event loop (#110657)
* Fix recorder ws_info blocking the event loop

Fixes
```
2024-02-15 06:37:55.423 WARNING (MainThread) [asyncio] Executing <Task pending name=websocket_api.async:ws_info coro=<_handle_async_response() running at /usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py:26> wait_for=<_GatheringFuture pending cb=[Task.task_wakeup()] created at /usr/local/lib/python3.12/asyncio/tasks.py:712> cb=[set.remove()] created at /usr/src/homeassistant/homeassistant/core.py:653> took 0.332 seconds
```

* no instance did not actually work
2024-02-16 15:11:09 +01:00
J. Nick Koston
95015fbb40 Small performance improvement to async_get_config_flows (#110666)
- Migrates to using a future instead of Event like we have done
  everywhere else
2024-02-16 14:32:26 +01:00
Franck Nijhof
b55b2c8da3 Bump version to 2024.2.2 2024-02-16 14:13:26 +01:00
Robert Resch
8c05ebd031 Bump deebot-client to 5.2.1 (#110683)
* Bump deebot-client to 5.2.0

* Bumb again

* Fix tests
2024-02-16 14:13:18 +01:00
Robert Svensson
34a3e88e0d Bump aiounifi to v71 (#110658) 2024-02-16 14:13:15 +01:00
J. Nick Koston
bf002ac0b0 Fix elkm1 service calls running in the executor (#110655)
fixes
```
  File "/usr/src/homeassistant/homeassistant/components/elkm1/__init__.py", line 416, in _set_time_service
    _getelk(service).panel.set_time(dt_util.now())
  File "/usr/local/lib/python3.11/site-packages/elkm1_lib/panel.py", line 55, in set_time
    self._connection.send(rw_encode(datetime))
  File "/usr/local/lib/python3.11/site-packages/elkm1_lib/connection.py", line 152, in send
    self._send(QueuedWrite(msg.message, msg.response_command), priority_send)
  File "/usr/local/lib/python3.11/site-packages/elkm1_lib/connection.py", line 148, in _send
    self._check_write_queue.set()
  File "/usr/local/lib/python3.11/asyncio/locks.py", line 192, in set
    fut.set_result(True)
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon
    self._check_thread()
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread
    raise RuntimeError(
RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one
```
2024-02-16 14:13:12 +01:00
jan iversen
6f529a2c77 Modbus, allow received int to be a float. (#110648) 2024-02-16 14:13:09 +01:00
J. Nick Koston
e5db7278e1 Fix tplink not updating IP from DHCP discovery and discovering twice (#110557)
We only called format_mac on the mac address if we connected
to the device during entry creation. Since the format of the
mac address from DHCP discovery did not match the format saved
in the unique id, the IP would not get updated and a second
discovery would appear

Thankfully the creation path does format the mac so we did not
create any entries with an inconsistantly formatted unique id

fixes #110460
2024-02-16 14:13:05 +01:00
J. Nick Koston
cdf67e9bb5 Bump orjson to 3.9.14 (#110552)
changelog: https://github.com/ijl/orjson/compare/3.9.13...3.9.14

fixes a crasher due to buffer overread (was only partially fixed in 3.9.13)
2024-02-16 14:13:03 +01:00
G Johansson
393359a546 Coerce to float in Sensibo climate react custom service (#110508) 2024-02-16 14:12:59 +01:00
Stefan Agner
9309e38302 Fix Raspberry Pi utilities installation on Alpine 3.19 (#110463) 2024-02-16 14:12:56 +01:00
wilburCforce
479ecc8b94 Update pylutron to 0.2.12 (#110414) 2024-02-16 14:12:53 +01:00
wilburCforce
ec7950aeda Update pylutron to 0.2.11 (#109853) 2024-02-16 14:12:48 +01:00
Robert Hillis
c763483049 Mitigate session closed error in Netgear LTE (#110412) 2024-02-16 14:10:34 +01:00
Steven Looman
fe84e7a576 Bump async-upnp-client to 0.38.2 (#110411) 2024-02-16 14:10:31 +01:00
Michael
5ba31290b8 Bump py-sucks to 0.9.9 (#110397)
bump py-sucks to 0.9.9
2024-02-16 14:10:28 +01:00
J. Nick Koston
de619e4ddc Fix zone radius calculation when radius is not 0 (#110354) 2024-02-16 14:10:25 +01:00
Nikolay Vasilchuk
56ceadaeeb Fix Starline GPS count sensor (#110348) 2024-02-16 14:10:22 +01:00
IceBotYT
da61564f82 Bump linear-garage-door to 0.2.9 (#110298) 2024-02-16 14:10:19 +01:00
starkillerOG
003673cd29 Fix TDBU naming in Motionblinds (#110283)
fix TDBU naming
2024-02-16 14:10:16 +01:00
Matthias Alphart
da6c571e65 Update xknxproject to 3.6.0 (#110282) 2024-02-16 14:10:13 +01:00
J. Nick Koston
159fab7025 Bump PySwitchbot to 0.45.0 (#110275) 2024-02-16 14:10:10 +01:00
Michael
96a10e76b8 Bump aiopegelonline to 0.0.8 (#110274) 2024-02-16 14:10:08 +01:00
G Johansson
e7068ae134 Fix cpu percentage in System Monitor (#110268)
* Fix cpu percentage in System Monitor

* Tests
2024-02-16 14:10:05 +01:00
Jan-Philipp Benecke
6a0c3f1b4f Handle no data error in Electricity Maps config flow (#110259)
Co-authored-by: Viktor Andersson <30777521+VIKTORVAV99@users.noreply.github.com>
2024-02-16 14:10:02 +01:00
Simon Lamon
a0ae18a1b6 Fix state classes issue translation in Group (#110238)
Fix state classes translation
2024-02-16 14:09:59 +01:00
David Bonnes
ad761bb2de Bump evohome-async to 0.4.19 (#110225)
bump client to 0.4.19
2024-02-16 14:09:56 +01:00
DustyArmstrong
edb69fb095 Bump datapoint to 0.9.9 + re-enable Met Office Integration (#110206) 2024-02-16 14:09:53 +01:00
Simon Lamon
58b28e6df1 Fix device class repairs issues placeholders in Group (#110181)
fix translation placeholders
2024-02-16 14:09:50 +01:00
Adam Goode
973a13abfa Properly report cover positions to prometheus (#110157) 2024-02-16 14:09:47 +01:00
J. Nick Koston
2a51377cef Bump yalexs to 1.11.2 (#110144)
changelog: https://github.com/bdraco/yalexs/compare/v1.11.1...v1.11.2
2024-02-16 14:09:44 +01:00
J. Nick Koston
87bd67656b Only schedule august activity update when a new activity is seen (#110141) 2024-02-16 14:09:41 +01:00
Maciej Bieniek
c79bc17d17 Fix typo in sensor icons configuration (#110133)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-16 14:09:38 +01:00
A Björck
54270df217 Bump yalexs to 1.11.1, fixing camera snapshots from Yale Home (#110089) 2024-02-16 14:09:35 +01:00
Malte Franken
5a87cde71e Bump aio-geojson-usgs-earthquakes to 0.3 (#110084) 2024-02-16 14:09:32 +01:00
Christophe Gagnier
e825bcc282 Update pytechnove to 1.2.2 (#110074) 2024-02-16 14:09:29 +01:00
Aurélien Grenotton
b54a3170f0 Fix freebox pairing in bridge mode (#106131) 2024-02-16 14:09:25 +01:00
Luke Lashley
349d8f5c28 Better teardown and setup of Roborock connections (#106092)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-16 14:08:20 +01:00
IceBotYT
35149a46fc Bump linear-garage-door to 0.2.9 (#110298) 2024-02-16 13:56:25 +01:00
dependabot[bot]
1f1042c034 Bump dawidd6/action-download-artifact from 3.0.0 to 3.1.0 (#110699)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 13:40:03 +01:00
Steven Barth
5d0d3a5c2b Remove matplotlib pinning due to Python 3.12 incompatibility (#110706) 2024-02-16 12:33:57 +01:00
J. Nick Koston
da55ef7901 Fix elkm1 service calls running in the executor (#110655)
fixes
```
  File "/usr/src/homeassistant/homeassistant/components/elkm1/__init__.py", line 416, in _set_time_service
    _getelk(service).panel.set_time(dt_util.now())
  File "/usr/local/lib/python3.11/site-packages/elkm1_lib/panel.py", line 55, in set_time
    self._connection.send(rw_encode(datetime))
  File "/usr/local/lib/python3.11/site-packages/elkm1_lib/connection.py", line 152, in send
    self._send(QueuedWrite(msg.message, msg.response_command), priority_send)
  File "/usr/local/lib/python3.11/site-packages/elkm1_lib/connection.py", line 148, in _send
    self._check_write_queue.set()
  File "/usr/local/lib/python3.11/asyncio/locks.py", line 192, in set
    fut.set_result(True)
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 763, in call_soon
    self._check_thread()
  File "/usr/local/lib/python3.11/asyncio/base_events.py", line 800, in _check_thread
    raise RuntimeError(
RuntimeError: Non-thread-safe operation invoked on an event loop other than the current one
```
2024-02-16 12:27:13 +01:00
J. Nick Koston
66f189ef26 Small performance improvements to collecting analytics (#110662)
- Use async_entity_ids_count instead of async_all

I also tried to make the code wrap a bit less but
I didn't want to refactor it to much in this PR

This one blocks the event loop for just a bit so there
are probably some more parts that could be optimized

`2024-02-15 07:17:30.034 WARNING (MainThread) [asyncio] Executing <Task
pending name='analytics schedule' coro=<Analytics.send_analytics()
running at
/usr/src/homeassistant/homeassistant/components/analytics/analytics.py:220>
wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel()
at /usr/local/lib/python3.12/asyncio/futures.py:387, Task.task_wakeup()]
created at /usr/local/lib/python3.12/asyncio/base_events.py:447>
cb=[set.remove()] created at
/usr/src/homeassistant/homeassistant/core.py:598> took 0.335 seconds`
2024-02-16 12:23:11 +01:00
dupondje
0aaa517217 add missing state class to dsmr sensors (#110712)
current_average_demand and maximum_demand_current_month are missing a state class, which gives errors in the statistics tab in HA.
So adding them to the sensor.
2024-02-16 12:08:09 +01:00
dependabot[bot]
81199af488 Bump github/codeql-action from 3.24.1 to 3.24.3 (#110700)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.1 to 3.24.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.24.1...v3.24.3)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 11:58:17 +01:00
dependabot[bot]
5618670fd1 Bump dorny/paths-filter from 3.0.0 to 3.0.1 (#110698)
Bumps [dorny/paths-filter](https://github.com/dorny/paths-filter) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/dorny/paths-filter/releases)
- [Changelog](https://github.com/dorny/paths-filter/blob/master/CHANGELOG.md)
- [Commits](https://github.com/dorny/paths-filter/compare/v3.0.0...v3.0.1)

---
updated-dependencies:
- dependency-name: dorny/paths-filter
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-16 11:55:30 +01:00
Robert Resch
bcce32e2de Bump deebot-client to 5.2.1 (#110683)
* Bump deebot-client to 5.2.0

* Bumb again

* Fix tests
2024-02-16 11:47:36 +01:00
Robert Hillis
2ac7d11b8d Mitigate session closed error in Netgear LTE (#110412) 2024-02-16 11:22:30 +01:00
Sid
d4a2dc7116 Bump openwebifpy to 4.2.4 (#110676) 2024-02-16 10:47:19 +01:00
Jan-Philipp Benecke
613b183898 Avoid calling internals when adding mock config entry in Nightscout (#110600) 2024-02-16 10:00:52 +01:00
Jan Rieger
4ededefe24 Add translations to AVM FRITZ!Box Call Monitor state attributes (#108412) 2024-02-16 09:41:59 +01:00
Matthew FitzGerald-Chamberlain
ce8cf314f9 Add Aprilaire integration (#95093)
* Add Aprilaire integration

* Fix test errors

* Update constants

* Code review cleanup

* Reuse coordinator from config flow

* Code review fixes

* Remove unneeded tests

* Improve translation

* Code review fixes

* Remove unneeded fixture

* Code review fixes

* Code review updates

* Use base data coordinator

* Deduplicate based on MAC

* Fix tests

* Check mac address on init

* Fix mypy error

* Use config entry ID for entity unique ID

* Fix tests

* Code review updates

* Fix mypy errors

* Code review updates

* Add data_description

* Update homeassistant/components/aprilaire/coordinator.py

Co-authored-by: Jon Oberheide <506986+jonoberheide@users.noreply.github.com>

* Update .coveragerc

* Update homeassistant/components/aprilaire/coordinator.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Jon Oberheide <506986+jonoberheide@users.noreply.github.com>
2024-02-16 08:30:51 +01:00
J. Nick Koston
f7b9b0da0e Migrate dependencies loader to use async_get_integrations (#110690) 2024-02-16 08:07:39 +01:00
J. Nick Koston
9cf45882a7 Use bytes join fast path for large states payload (#110694)
b"".join has a fast path for when there are more than two bytes-strings
to combine

f383ca1a6f/Objects/stringlib/join.h (L123)
2024-02-16 07:58:11 +01:00
J. Nick Koston
37897ee384 Move late import of config flows in loader to load time (#110688)
* Move late import of config flows in loader to load time

There does not seem to be any reason to import the
generated flows late. Import them at load time
with the rest of the generated files

* tests
2024-02-16 07:55:12 +01:00
J. Nick Koston
1608e05be6 Speed up registry config websocket api calls with list comps (#110693)
* Speed up registry config websocket api calls with list comps

list comps are faster than generator expressions, even more so in
python 3.12 since https://peps.python.org/pep-0709/

https://stackoverflow.com/questions/47789/generator-expressions-vs-list-comprehensions/62709748#62709748

* more readable
2024-02-16 07:41:55 +01:00
Robert Hillis
59d7bceaee Bump deluge-client to 1.10.0 (#110663) 2024-02-16 01:12:34 +01:00
J. Nick Koston
dd1cf2c593 Remove unneeded list copy in icon helper (#110680) 2024-02-15 16:33:24 -06:00
Erik Montnemery
5f00e15d35 Don't add fritz entities with update_before_add (#110667)
Co-authored-by: mib1185 <mail@mib85.de>
2024-02-15 21:49:26 +01:00
Erik Montnemery
ae39945a85 Correct config entry setup in fritz tests (#110669) 2024-02-15 20:52:40 +01:00
Robert Hillis
dbca65dffb Bump nextcord to 2.6.0 (#110485) 2024-02-15 20:33:07 +01:00
Erik Montnemery
06a21d4ed9 Bump pychromecast to 14.0.0 (#108374)
* Pass unregister callback to cast HomeAssisstantController

* Update tests

* Bump pychromecast to 14.0.0

* Fix lint warning, adjust tests

* Improve test coverage
2024-02-15 20:14:01 +01:00
Robert Svensson
dc09633cc2 Bump aiounifi to v71 (#110658) 2024-02-15 19:17:06 +01:00
jan iversen
286c98d70f Modbus, allow received int to be a float. (#110648) 2024-02-15 18:22:23 +01:00
Christopher Fenner
1372cf5a18 Categorize burner and compressor sensors as diagnostic entities in ViCare integration (#110653)
Categorize Burner and Compressor start and runtime counters as diagnostic entities in ViCare integration
2024-02-15 17:29:17 +01:00
Erik Montnemery
3526fd66df Add option to block remote enabling of HA Cloud remote (#109700)
* Allow blocking remote enabling of HA Cloud remote

* Fix test
2024-02-15 17:26:06 +01:00
G Johansson
619e7fbbce Coerce to float in Sensibo climate react custom service (#110508) 2024-02-15 11:11:16 -05:00
Livio Avalle
c4247205ed Add state_class to ring battery sensor for LTS (#109872)
* Add state_class to ring battery sensor for LTS

* Add test, in test_sensor.py, for state_class for battery entity; in response to comment in PR
2024-02-15 09:52:11 -06:00
J. Nick Koston
d49bccf123 Ensure lamarzocco tests add config entry before updating it (#110423) 2024-02-15 09:09:47 -06:00
kingy444
3529eb6044 Powerview Gen 3 functionality (#110158)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-15 08:27:11 -06:00
spycle
d6efdc47a5 Bump pyMicrobot to 0.0.15 (#110502) 2024-02-15 15:21:36 +01:00
Stackie Jia
636c7ce350 Enable strict type checking on apple_tv integration (#101688)
* Enable strict type checking on apple_tv integration

* move some instance variables to class variables

* fix type of attr_value

* fix tests for description_placeholders assertion

* nits

* Apply suggestions from code review

* Update remote.py

* Apply suggestions from code review

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Improve test coverage

* Update test_config_flow.py

* Update __init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-15 15:17:00 +01:00
Javier Fernández
d555f91702 Update wallbox to 0.6.0 (#110636)
* Update wallbox plugin version

Closes #110566

* Fix unit tests failing

* Fix import order

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-15 15:04:32 +01:00
Christopher Fenner
47cbe8f00c Add support for multiple devices linked to a Viessmann account (#96044)
* care about all devices

* use first device for diagnostics

* update constants

* handle multiple devices

* handle multiple devices

* handle multiple devices

* handle multiple devices

* handle multiple devices

* code style

* code style

* code style

* code style

* code style

* remove unused import

* remove unused import

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* use has_entity_name and add serial to device name

* remove unused constant

* Update const.py

* Update binary_sensor.py

* change format

* change format

* fix line duplication

* fix line duplication

* change format

* fix typo

* use serial in device name if multiple devices are found

* add common base class

* use base class

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update sensor.py

* Update binary_sensor.py

* correct import

* use base class

* fix cdestyle findings

* fix pylint findings

* fix mypy findings

* fix codestyle finidings

* move has_entity_name to base class

* Revert "fix mypy findings"

This reverts commit 2d78801a69.

* fix type issue

* move multiple device handling

* fix import

* remove special handling for device name

* extract api getter

* Update __init__.py

* Update __init__.py

* Update entity.py

* Update button.py

* Update binary_sensor.py

* Update climate.py

* Update sensor.py

* Update water_heater.py

* Apply suggestions from code review

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

* Update __init__.py

* fix mypy & black

* move get_device to utils

* rename const

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* store device in config entry

* extract types

* fix diagnostics

* handle new platform

* handle api rate limit

* add types

* add types

* rename

* add types

* ignore gateways for now

* Update .coveragerc

* adjust types

* fix merge issues

* rename

* Update types.py

* fix type

* add test method

* simplify

* ignore unused devices

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* fix findings

* handle unsupported devices

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Update types.py

* fix format

* adjust variable naming

* Update conftest.py

* Update conftest.py

* remove kw_only

* Apply suggestions from code review

* Update __init__.py

* Update binary_sensor.py

* Update button.py

* Update climate.py

* Update const.py

* Update diagnostics.py

* Update number.py

* Update sensor.py

* Update types.py

* Update water_heater.py

* fix comment

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-15 13:58:00 +01:00
Åke Strandberg
fd0f093299 Add some myuplink tests (#110521)
* Add some myuplink tests

* Update fixtures for api endpoints

* Adjust according to review

* Update snapshot file

* Remove unneded fixtures and improve typing

* More cleanup

* One last session scope removed

* Fix typing

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-15 13:44:45 +01:00
Joakim Sørensen
57d3f3f9f7 Split pre/post backup actions into dedicated methods (#110632)
* Split pre/post backup actions into dedicated methods

* Update homeassistant/components/backup/manager.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-15 12:38:36 +01:00
Aurélien Grenotton
b9a8b992d7 Fix freebox pairing in bridge mode (#106131) 2024-02-15 12:34:29 +01:00
On Freund
d4be6632cc Add monthly forecast sensor to RymPro (#101012)
* Add monthly forecast

* Apply suggestions from code review

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

* Remove state class and add precision

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Fix ruff and mypy

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-15 12:34:03 +01:00
Kristof Mariën
d7787cdfd8 Bump libpyfoscam to 1.2.2 (#110625)
Bump foscam dependency
2024-02-15 11:52:01 +01:00
J. Nick Koston
8da07f1bf2 Fix formatting of mac addresses from dhcp discovery mocking in axis (#110560)
dhcp returns addresses in lowercase without :
2024-02-14 20:37:31 -05:00
J. Nick Koston
d48a45fee7 Fix formatting of mac addresses from dhcp discovery mocking in config_entries test (#110617) 2024-02-14 16:32:02 -06:00
J. Nick Koston
499c42364e Fix formatting of mac addresses from dhcp discovery mocking in broadlink (#110558)
* Fix formatting of mac addresses from dhcp discovery mocking in broadlink

dhcp returns addresses in lowercase without :

* fix missed ones

* broadlink has same format
2024-02-14 17:26:14 -05:00
J. Nick Koston
78bc561700 Fix formatting of mac addresses from dhcp discovery mocking in nest (#110584)
dhcp returns addresses in lowercase without :
2024-02-14 17:25:52 -05:00
J. Nick Koston
7b4c5a112c Fix formatting of mac addresses from dhcp discovery mocking in radiotherm (#110593)
dhcp returns addresses in lowercase without :
2024-02-14 23:25:33 +01:00
J. Nick Koston
1f67e4fed1 Fix formatting of mac addresses from dhcp discovery mocking in ruuvi_gateway (#110597)
dhcp returns addresses in lowercase without :
2024-02-14 17:25:22 -05:00
J. Nick Koston
28afe9ff9e Correct misaligned formatting of mac addresses in samsungtv (#110599)
* Correct misaligned formatting of mac addresses in samsungtv

dhcp returns addresses in lowercase without : and there were places
were it was not passed through format_mac which resulted in the wrong
format being saved in the config entry

* safer
2024-02-14 17:25:08 -05:00
J. Nick Koston
0ea524659c Fix formatting of mac addresses from dhcp discovery mocking in roomba (#110596)
dhcp returns addresses in lowercase without :
2024-02-14 23:24:34 +01:00
J. Nick Koston
20d1cd1246 Fix formatting of mac addresses from dhcp discovery mocking in qnap_qsw (#110592)
dhcp returns addresses in lowercase without :
2024-02-14 23:23:43 +01:00
J. Nick Koston
c7e2f24303 Fix formatting of mac addresses from dhcp discovery mocking in lametric (#110580) 2024-02-14 23:23:22 +01:00
J. Nick Koston
b87e34ec67 Fix formatting of mac addresses from dhcp discovery mocking in screenlogic (#110602)
dhcp returns addresses in lowercase without :
2024-02-14 17:23:13 -05:00
J. Nick Koston
9105dd16e3 Fix formatting of mac addresses from dhcp discovery mocking in somfy_mylink (#110603)
dhcp returns addresses in lowercase without :
2024-02-14 17:23:02 -05:00
J. Nick Koston
35bcf2e9e4 Fix formatting of mac addresses from dhcp discovery mocking in squeezebox (#110604)
dhcp returns addresses in lowercase without :
2024-02-14 17:22:51 -05:00
J. Nick Koston
d4562f4674 Fix formatting of mac addresses from dhcp discovery mocking in steamist (#110605)
dhcp returns addresses in lowercase without :
2024-02-14 17:22:38 -05:00
J. Nick Koston
48cd973c62 Fix formatting of mac addresses from dhcp discovery mocking in tailwind (#110606)
dhcp returns addresses in lowercase without :
2024-02-14 17:22:24 -05:00
J. Nick Koston
334c177e67 Fix formatting of mac addresses from dhcp discovery mocking in tesla_wall_connector (#110607)
* Fix formatting of mac addresses from dhcp discovery mocking in tesla_wall_connector

dhcp returns addresses in lowercase without :

* Fix formatting of mac addresses from dhcp discovery mocking in tesla_wall_connector

dhcp returns addresses in lowercase without :
2024-02-14 17:22:09 -05:00
J. Nick Koston
cefaf0e065 Fix formatting of mac addresses from dhcp discovery mocking in tolo (#110608)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:56 -05:00
J. Nick Koston
77a44c54dd Fix formatting of mac addresses from dhcp discovery mocking in twinkly (#110609)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:33 -05:00
J. Nick Koston
2fe246441f Fix formatting of mac addresses from dhcp discovery mocking in unifiprotect (#110610)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:19 -05:00
J. Nick Koston
2a04eabe18 Fix formatting of mac addresses from dhcp discovery mocking in verisure (#110611)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:04 -05:00
J. Nick Koston
e6ac4c5f1f Fix formatting of mac addresses from dhcp discovery mocking in vicare (#110613)
dhcp returns addresses in lowercase without :
2024-02-14 17:20:47 -05:00
J. Nick Koston
fa026b7e12 Fix formatting of mac addresses from dhcp discovery mocking in wiz (#110615)
dhcp returns addresses in lowercase without :
wiz discovery returns addresses in lowercase without :
2024-02-14 17:20:32 -05:00
J. Nick Koston
79b2e465de Fix formatting of mac addresses from dhcp discovery mocking in yeelight (#110616)
dhcp returns addresses in lowercase without :
2024-02-14 17:20:15 -05:00
J. Nick Koston
c20d2d44ed Fix formatting of mac addresses from dhcp discovery mocking in fronius (#110572)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-02-14 16:18:19 -06:00
Thomas55555
72297a9044 Bump aioautomower to 2024.2.6 (#110598) 2024-02-14 23:14:41 +01:00
J. Nick Koston
dcfff6c138 Fix formatting of mac addresses from dhcp discovery mocking in powerwall (#110591)
dhcp returns addresses in lowercase without :
2024-02-14 23:11:25 +01:00
J. Nick Koston
cc3783f999 Fix misaligned mac formatting in goalzero (#110574)
The DHCP mac address was being set as aabbcceeddff but the user step
was setting it as aa:bb:cc:dd:ee:ff
2024-02-14 23:10:07 +01:00
J. Nick Koston
5988db1670 Fix formatting of mac addresses from dhcp discovery mocking in dlink (#110562)
* Fix formatting of mac addresses from dhcp discovery mocking in dlink

dhcp returns addresses in lowercase without :

* fix tests
2024-02-14 23:07:45 +01:00
J. Nick Koston
cd1c633ff9 Fix tplink not updating IP from DHCP discovery and discovering twice (#110557)
We only called format_mac on the mac address if we connected
to the device during entry creation. Since the format of the
mac address from DHCP discovery did not match the format saved
in the unique id, the IP would not get updated and a second
discovery would appear

Thankfully the creation path does format the mac so we did not
create any entries with an inconsistantly formatted unique id

fixes #110460
2024-02-14 23:03:30 +01:00
J. Nick Koston
c045e23000 Fix formatting of mac addresses from dhcp discovery mocking in overkiz (#110590) 2024-02-14 16:01:15 -06:00
Jan-Philipp Benecke
5da31a3f1d Avoid calling internals when adding mock config entry in Squeezebox (#110601) 2024-02-14 22:59:49 +01:00
Charles Garwood
d781dc4600 Add support for Fully Kiosk sound playing state (#105762) 2024-02-14 15:45:29 -05:00
J. Nick Koston
4627e8b1fc Fix formatting of mac addresses from dhcp discovery mocking in reolink (#110594)
dhcp returns addresses in lowercase without :
2024-02-14 21:39:30 +01:00
Marc Mueller
269f6be096 Improve hassio decorator typing (#110545)
* Improve hassio decorator typing

* Fix typing
2024-02-14 21:25:21 +01:00
J. Nick Koston
0bbe46d236 Fix formatting of mac addresses from dhcp discovery mocking in airzone (#110559)
dhcp returns addresses in lowercase without :
2024-02-14 20:59:16 +01:00
J. Nick Koston
16d2482fe6 Fix formatting of mac addresses from dhcp discovery mocking in elkm1 (#110564)
dhcp returns addresses in lowercase without :
2024-02-14 20:58:40 +01:00
J. Nick Koston
5ce39f2177 Fix formatting of mac addresses from dhcp discovery mocking in emonitor (#110565)
dhcp returns addresses in lowercase without :
2024-02-14 20:58:07 +01:00
J. Nick Koston
730e8ab5f3 Fix formatting of mac addresses from dhcp discovery mocking in esphome (#110567)
dhcp returns addresses in lowercase without :
2024-02-14 20:57:37 +01:00
J. Nick Koston
08f97d66ff Fix formatting of mac addresses from dhcp discovery mocking in flux_led (#110568)
dhcp returns addresses in lowercase without :
2024-02-14 20:56:00 +01:00
J. Nick Koston
a87960a323 Fix formatting of mac addresses from dhcp discovery mocking in onvif (#110589)
dhcp returns addresses in lowercase without :
2024-02-14 20:55:14 +01:00
J. Nick Koston
52e8f7f865 Fix formatting of mac addresses from dhcp discovery mocking in fully_kiosk (#110573)
dhcp returns addresses in lowercase without :
2024-02-14 20:54:44 +01:00
J. Nick Koston
efbfec0ece Fix formatting of mac addresses from dhcp discovery mocking in guardian (#110575)
dhcp returns addresses in lowercase without :
2024-02-14 20:54:16 +01:00
J. Nick Koston
cd0ce7d9f6 Fix formatting of mac addresses from dhcp discovery mocking in intellifire (#110579)
dhcp returns addresses in lowercase without :
2024-02-14 20:53:50 +01:00
J. Nick Koston
98263d7d76 Fix formatting of mac addresses from dhcp discovery mocking in lifx (#110581)
dhcp returns addresses in lowercase without :
2024-02-14 20:53:26 +01:00
J. Nick Koston
815232069a Fix formatting of mac addresses from dhcp discovery mocking in motion_blinds (#110583)
dhcp returns addresses in lowercase without :
2024-02-14 20:52:32 +01:00
J. Nick Koston
b0e87c0941 Fix formatting of mac addresses from dhcp discovery mocking in nuki (#110585)
dhcp returns addresses in lowercase without :
2024-02-14 20:51:44 +01:00
J. Nick Koston
4eca0371d5 Fix formatting of mac addresses from dhcp discovery mocking in obihai (#110586)
dhcp returns addresses in lowercase without :
2024-02-14 20:51:06 +01:00
J. Nick Koston
88fce6a76d Fix formatting of mac addresses from dhcp discovery mocking in insteon (#110578)
dhcp returns addresses in lowercase without :
2024-02-14 20:49:32 +01:00
J. Nick Koston
bba19a5bab Fix formatting of mac addresses from dhcp discovery mocking in hunterdouglas_powerview (#110577)
dhcp returns addresses in lowercase without :
2024-02-14 20:48:53 +01:00
J. Nick Koston
25fac03705 Bump orjson to 3.9.14 (#110552)
changelog: https://github.com/ijl/orjson/compare/3.9.13...3.9.14

fixes a crasher due to buffer overread (was only partially fixed in 3.9.13)
2024-02-14 18:57:47 +01:00
Joost Lekkerkerker
acca69f77a Migrate Vizio to has entity name (#96773) 2024-02-14 11:39:38 -05:00
Joost Lekkerkerker
f72efa9618 Add entity translations to OralB (#97402)
* Make bluetooth use the translation from the entity description

* Add entity translations to OralB

* Remove links to other platforms

* Remove links to other platforms

* Remove links to other platforms

* Add test

* Use is

* Fix tests

* Update homeassistant/components/oralb/strings.json
2024-02-14 17:21:47 +01:00
J. Nick Koston
3a053afac6 Create backups files without having to copy inner tarballs (#110267) 2024-02-14 10:08:22 -06:00
Joost Lekkerkerker
0e833c5fe3 Migrate Twinkly to has entity naming (#97206)
* Migrate Twinkly to has entity naming

* Update the device name after sync

* Fix tests

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-14 16:43:29 +01:00
Simone Chemelli
538ef7764e Move Shelly thermostat check to status endpoint (#110543)
* Move Shelly thermostat check to status endpoint

* fix key path
2024-02-14 16:36:42 +01:00
J. Nick Koston
eee6a119d5 Bump SQLAlchemy to 2.0.27 (#110517) 2024-02-14 10:32:05 +01:00
dependabot[bot]
29e6123220 Bump github/codeql-action from 3.24.0 to 3.24.1 (#110522)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.0 to 3.24.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.24.0...v3.24.1)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-14 09:55:04 +01:00
J. Nick Koston
b3452dc3f3 Refactor dhcp to move all mac formatting into the client processor (#110509) 2024-02-13 19:12:38 -06:00
DeerMaximum
9a8c5af0a6 Add DeerMaximum to velux codeowners (#110504) 2024-02-14 00:46:51 +02:00
DeerMaximum
d16d9d72c3 Add config flow to Velux (#89155)
* Add config_flow

* Add old config import

* Change from platform setup to entry setup

* Improve yaml config import

* Allow multiple hosts

* Apply recommendations

* Add DeerMaximum as codeowner

* Apply recommendations

* Fix config schema

* Fix hass data

* Remove DeerMaximum from CODEOWNERS

* Try to fix tests in ci

* Try to fix tests in ci 2

* Try to fix tests in ci 3

* Revert: Try to fix tests in ci 3

* Add end-to-end flow to connection error test

* Fix rebase

* Add required changes

* Change deprecation date

* Import only valid config entries

* Improve issue creation

* Fix error type

* Add missing test

* Optimize issue creation

* Optimize tests

* Add check for duplicate entries

* Add already_configured message

* Create issue for duplicate entries
2024-02-13 21:31:56 +01:00
J. Nick Koston
2981d7ed0e Fix logger message in samsungtv (#110484) 2024-02-13 11:12:37 -06:00
DustyArmstrong
3bf6d525fb Bump datapoint to 0.9.9 + re-enable Met Office Integration (#110206) 2024-02-13 17:24:08 +01:00
Shay Levy
43bd05ba82 Bump aiowebostv to 0.4.0 (#110477) 2024-02-13 16:15:15 +01:00
Jonas Fors Lellky
f7c43710dc Refactor flexit_bacnet to use icon translations (#110479) 2024-02-13 16:09:18 +01:00
Åke Strandberg
e2ff5bc248 Add myuplink binary_sensor platform (#110388)
* Add binary_sensor platform

* Address review comments

* Add one file more to .coveragerc
2024-02-13 15:59:38 +01:00
Stephen Brown II
171bb80b3f Add icon translations to Teslemetry (#109928)
* [Teslemetry] Create icons.json

Adds Icons to Teslemetry integration for climate presets.

* Update homeassistant/components/teslemetry/icons.json

Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>

* Update homeassistant/components/teslemetry/icons.json

Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>

---------

Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
2024-02-13 15:21:27 +01:00
Paul Bottein
70af81cf64 Set icons for switch without device class (#110470) 2024-02-13 15:11:09 +01:00
Stefan Agner
07e16ab073 Fix Raspberry Pi utilities installation on Alpine 3.19 (#110463) 2024-02-13 15:07:37 +01:00
Jonas Fors Lellky
6091ae55dc Add setpoints for fans to flexit_bacnet (#110262)
* Adds setpoints for fans to flexit_bacnet

* Add snapshot test for flexit_bacnet number

* Add test for flexit_bacnet number implementation

* Refactor set_native_value_fn

* Refactor names of number entities

Also refactor keys, translation keys
Order alphabetically
Update test snapshot

* Add icons to flexit_bacnet number entities

* Refactor to use icon translations, add unit of measurement

* Remove redundant assert
2024-02-13 14:55:02 +01:00
Michael
602380e111 Detect reached API rate limit in Tankerkoenig (#110432) 2024-02-13 14:34:01 +01:00
J. Nick Koston
01c3205635 Small performance improvements to config entry setup retry (#110448)
* Small performance improvements to config entry setup retry

- cache some properties that never change
- avoid loader.async_get_integration when we already have it
- avoid multiple integration.domain checks

* tweaks
2024-02-13 13:28:52 +01:00
Cyrill Raccaud
6812596cd7 Switch to new Bring! lib (#110355)
* switch to new bring lib

* rename lib again
2024-02-13 13:25:32 +01:00
J. Nick Koston
4d39a85553 Avoid creating many tasks when adding hue v2 entities (#110386)
Each entity creation would call async_add_entities which spawned a
seperate task

fixes
```
2024-02-12 18:06:09.819 WARNING (MainThread) [asyncio] Executing <Task pending name='config entry forward setup Philips Hue 2 hue fcb64edfc5ac2edbb656607d5193b583 light' coro=<ConfigEntries.async_forward_entry_setup() running at /usr/src/homeassistant/homeassistant/config_entries.py:1597> wait_for=<Future pending cb=[shield.<locals>._outer_done_callback() at /usr/local/lib/python3.12/asyncio/tasks.py:922, Task.task_wakeup()] created at /usr/local/lib/python3.12/asyncio/base_events.py:447> cb=[gather.<locals>._done_callback() at /usr/local/lib/python3.12/asyncio/tasks.py:767] created at /usr/local/lib/python3.12/asyncio/tasks.py:420> took 1.260 seconds
```
2024-02-13 13:04:29 +01:00
Martin Hjelmare
f140c1a46d Deprecate cloud tts platform config (#110461)
* Deprecate cloud tts platform config

* Add test
2024-02-13 13:00:42 +01:00
Joost Lekkerkerker
8fb04d759b Change function name in tesla_wall_connector (#110467) 2024-02-13 12:02:48 +01:00
Joost Lekkerkerker
5ab0bd5bbe Change function name in flexit_bacnet (#110465) 2024-02-13 12:02:32 +01:00
Joost Lekkerkerker
103aab2218 Change function name in tfiac (#110466) 2024-02-13 12:02:09 +01:00
Jan Bouwhuis
09f1ec78a5 Handle template errors on MQTT payload handling (#110180)
* Handle template errors on MQTT payload handling (alt)

* Handle mqtt event en image template errors correctly
2024-02-13 10:59:55 +01:00
Josef Zweck
ee25f6b960 Add additonal number entities to La Marzocco (#108258) 2024-02-13 09:47:39 +01:00
Jan Bouwhuis
545a34a849 Remove power_state_template from mqtt climate value template list (#110452) 2024-02-13 09:16:11 +01:00
wilburCforce
a317196bda Update pylutron to 0.2.12 (#110414) 2024-02-13 08:37:58 +01:00
J. Nick Koston
77f416fa04 Ensure cast tests add config entry before updating it (#110441)
* Ensure cast tests add config entry before updating it

* time to walk away for a bit

* missed two
2024-02-13 05:01:37 +01:00
J. Nick Koston
0e1cdc1f79 Ensure github tests add config entry before updating it (#110430) 2024-02-13 05:00:44 +01:00
J. Nick Koston
704ad67917 Ensure hue tests add config entry before updating it (#110428) 2024-02-13 04:59:26 +01:00
Åke Strandberg
a51ecd0614 Add myuplink unit-based sensor descriptions (#110370)
* Add more unit-based sensor descriptions

* Adjust energy sensor state class  to TOTAL_INCREASING
2024-02-13 04:41:29 +01:00
Aaron Bach
e3c838d512 Update Notion auth to store refresh tokens instead of account passwords (#109670) 2024-02-12 20:35:06 -07:00
Raman Gupta
92c3c401b9 Remove unused instance variable in Z-wave (#110442)
* Remove unused variable and fix typing in zwave_js

* remove redundant type
2024-02-13 03:55:49 +01:00
Raman Gupta
c1d61b9748 Improve climate turn_on/turn_off services for zwave_js (#109187)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-12 19:06:23 -05:00
Maciej Bieniek
b60f931e6d Improve tests for Shelly WallDisplay (#110435)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 16:51:34 -06:00
J. Nick Koston
da50e459bf Ensure knx tests add config entry before updating it (#110425) 2024-02-12 23:13:10 +01:00
J. Nick Koston
92842c28d2 Ensure cast tests add config entry before updating it (#110416) 2024-02-12 23:06:13 +01:00
J. Nick Koston
067645520a Ensure dlna_dmr tests add config entry before updating it (#110418) 2024-02-12 22:59:44 +01:00
J. Nick Koston
e605b96d84 Ensure config entry oauth2 tests add config entry before updating it (#110421) 2024-02-12 22:59:17 +01:00
J. Nick Koston
d9c581e2c8 Ensure homematicip_cloud tests add config entry before updating it (#110429) 2024-02-12 23:57:48 +02:00
J. Nick Koston
4e76e6b2b0 Ensure gdacs tests add config entry before updating it (#110431) 2024-02-12 23:56:48 +02:00
J. Nick Koston
b3d9e15fb4 Ensure blink tests add config entry before updating it (#110415) 2024-02-12 22:56:22 +01:00
J. Nick Koston
a3a1f8216c Migrate luftdaten to use async_update_entry to alter config entries (#110424) 2024-02-12 22:55:34 +01:00
J. Nick Koston
ddab106391 Migrate twentemilieu to use async_update_entry to alter config entries (#110419) 2024-02-12 22:55:05 +01:00
Steven Looman
147a1f7b0b Bump async-upnp-client to 0.38.2 (#110411) 2024-02-12 15:31:09 -06:00
J. Nick Koston
bb9ffa758d Ensure sonarr tests add config entry before updating it (#110422) 2024-02-12 15:30:01 -06:00
J. Nick Koston
8282018260 Migrate onewire to use async_update_entry to alter config entries (#110413) 2024-02-12 15:29:50 -06:00
J. Nick Koston
61610a5ef9 Ensure deconz tests add config entry before updating it (#110417) 2024-02-12 15:29:33 -06:00
J. Nick Koston
bc0a78d069 Migrate tplink to use async_update_entry to alter config entries (#110406) 2024-02-12 21:39:37 +01:00
J. Nick Koston
45f23f4458 Migrate trend to use async_update_entry to alter config entries (#110408) 2024-02-12 14:38:56 -06:00
J. Nick Koston
5c60ff19e9 Migrate plex to use async_update_entry to alter config entries (#110405) 2024-02-12 21:38:38 +01:00
J. Nick Koston
15e8d66fea Migrate unifiprotect to use async_update_entry to alter config entries (#110409) 2024-02-12 21:38:25 +01:00
J. Nick Koston
04dccc7ec6 Migrate mqtt to use async_update_entry to alter config entries (#110407) 2024-02-12 21:38:13 +01:00
J. Nick Koston
4a98f3f223 Migrate ping to use async_update_entry to alter config entries (#110404) 2024-02-12 21:25:17 +01:00
J. Nick Koston
7dcf2e94b4 Migrate zha to use async_update_entry to alter config entries (#110402) 2024-02-12 21:24:56 +01:00
J. Nick Koston
c3d9192384 Migrate smartthings to use async_update_entry to alter config entries (#110403) 2024-02-12 21:24:45 +01:00
J. Nick Koston
db9c08b2e0 Migrate verisure to use async_update_entry to alter config entries (#110400) 2024-02-12 21:24:32 +01:00
J. Nick Koston
7d1b9dce9d Migrate yale_smart_alarm to use async_update_entry to alter config entries (#110401) 2024-02-12 21:23:07 +01:00
J. Nick Koston
aa0e8625ad Migrate velbus to use async_update_entry to alter config entries (#110399) 2024-02-12 21:22:52 +01:00
Michael
9a672a1f31 Bump py-sucks to 0.9.9 (#110397)
bump py-sucks to 0.9.9
2024-02-12 21:13:47 +01:00
Åke Strandberg
78531ffbc6 Cleanup myuplink imports (#110374)
Cleanup imports
2024-02-12 20:21:33 +01:00
J. Nick Koston
cc13d7eec7 Migrate hue to use async_update_entry to alter config entries (#110310) 2024-02-12 20:20:10 +01:00
J. Nick Koston
5c7d3035ca Migrate ipp to use async_update_entry to alter config entries (#110311) 2024-02-12 20:19:48 +01:00
Franck Nijhof
7b881e1c6a Update Home Assistant base image to 2024.02.1 (#110395) 2024-02-12 20:17:24 +01:00
J. Nick Koston
a1f0e9015b Migrate openweathermap to use async_update_entry to alter config entries (#110372)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-12 13:15:57 -06:00
J. Nick Koston
fc1c513f33 Migrate obihai to use async_update_entry to alter config entries (#110368) 2024-02-12 20:13:53 +01:00
Maciej Bieniek
2bd64dba6b Add removal_condition for Shelly analog input sensors (#110331)
* Add remove condition for analog input sensors

* xpercent key is not present in the payload if it has not been configured

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 20:13:11 +01:00
J. Nick Koston
32e3f6c5a7 Migrate roku to use async_update_entry to alter config entries (#110363) 2024-02-12 20:10:06 +01:00
Erik Montnemery
e27e799dd5 Add power strip with 2 outlets to kitchen_sink (#110346) 2024-02-12 20:00:13 +01:00
Erik Montnemery
3086d24231 Add back supported_color_modes property to blebox light (#110350) 2024-02-12 19:59:04 +01:00
J. Nick Koston
5e5a9d9c59 Bump SQLAlchemy to 2.0.26 (#110358) 2024-02-12 19:57:53 +01:00
J. Nick Koston
96850c6524 Migrate minecraft_server to use async_update_entry to alter config entries (#110367) 2024-02-12 19:57:27 +01:00
J. Nick Koston
f5497cb0be Migrate foscam to use async_update_entry to alter config entries (#110365) 2024-02-12 19:57:09 +01:00
J. Nick Koston
e2ec23955e Migrate ps4 to use async_update_entry to alter config entries (#110373) 2024-02-12 19:52:04 +01:00
J. Nick Koston
df8a168c97 Migrate switchbee to use async_update_entry to alter config entries (#110392) 2024-02-12 19:51:45 +01:00
J. Nick Koston
332db5093f Migrate utility_meter to use async_update_entry to alter config entries (#110394) 2024-02-12 19:51:16 +01:00
J. Nick Koston
4d1e3cdf49 Bump securetar to 2024.2.0 (#110383) 2024-02-12 19:50:59 +01:00
J. Nick Koston
29146326fa Fix zone radius calculation when radius is not 0 (#110354) 2024-02-12 19:47:34 +01:00
J. Nick Koston
4bcfa9e315 Migrate sonarr to use async_update_entry to alter config entries (#110364) 2024-02-12 19:46:48 +01:00
J. Nick Koston
300f5670e0 Migrate sensibo to use async_update_entry to alter config entries (#110390) 2024-02-12 19:46:30 +01:00
J. Nick Koston
5f03b5ad41 Migrate smhi to use async_update_entry to alter config entries (#110391) 2024-02-12 19:45:28 +01:00
J. Nick Koston
2f0d294219 Migrate trafikverket_camera to use async_update_entry to alter config entries (#110393) 2024-02-12 19:45:07 +01:00
Erik Montnemery
6e4fd69326 Fix color mode in wiz light (#110328) 2024-02-12 19:44:46 +01:00
J. Nick Koston
3b409b07e3 Migrate zwave_js to use async_update_entry to alter config entries (#110376) 2024-02-12 19:42:02 +01:00
Erik Montnemery
a51d3b4286 Remove store from google_assistant AbstractConfig (#109877)
* Remove store from google_assistant AbstractConfig

* Bump minor version of google_assistant store

* Fix test

* Improve comments

* Fix typo

* Refactor

* Update homeassistant/components/google_assistant/http.py

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

* Fix bug, add tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-12 19:24:21 +01:00
J. Nick Koston
d78bb3894c Migrate samsungtv to use async_update_entry to alter config entries (#110362) 2024-02-12 11:41:46 -06:00
J. Nick Koston
542e306b0c Migrate recollect_waste to use async_update_entry to alter config entries (#110378) 2024-02-12 11:41:06 -06:00
J. Nick Koston
925e9eecce Migrate ridwell to use async_update_entry to alter config entries (#110380) 2024-02-12 11:40:23 -06:00
J. Nick Koston
fb622c6cc8 Migrate rainmachine to use async_update_entry to alter config entries (#110377) 2024-02-12 11:35:17 -06:00
J. Nick Koston
66607cd034 Migrate openuv to use async_update_entry to alter config entries (#110371) 2024-02-12 11:34:26 -06:00
Erik Montnemery
1764c031df Warn when lights violate color mode rules (#110336)
* Warn when lights violate color mode rules

* Update test

* Remove redundant warning, add tests

* Improve test coverage
2024-02-12 17:43:50 +01:00
Maciej Bieniek
8de038527f Improve type annotation in Shelly tests (#110361)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 10:23:55 -06:00
Nikolay Vasilchuk
1a22189262 Fix Starline GPS count sensor (#110348) 2024-02-12 17:07:22 +01:00
Åke Strandberg
29ed82332c Add myuplink specific sensor descriptions (#109867)
* Add specific sensor descriptions

* Address review suggestions

* Adress more review comments

* Change variable name according to code review

* Qualify parameter_id:s to avoid collisions

* Qualify sensor descriptions with a model group prefix

* Improve lookup of sensor descriptions

* Address review comments

* Add constant for unknown value from API

* Add raw value as attribute to enum sensors

* Create extra raw_value sensors with enum sensors

* Moved attributes to class attributes

* Move capitalize() to class setup
2024-02-12 16:37:44 +01:00
Joost Lekkerkerker
89331d0ff3 Change function name in hvv_departures (#110349) 2024-02-12 15:54:48 +01:00
Peter Winkler
0157026489 Upgrade myuplink package to 0.2.1 (#110343) 2024-02-12 15:33:58 +01:00
Adam Goode
5cdc3cec32 Properly report cover positions to prometheus (#110157) 2024-02-12 15:33:03 +01:00
Jan-Philipp Benecke
fb878836a8 Handle no data error in Electricity Maps config flow (#110259)
Co-authored-by: Viktor Andersson <30777521+VIKTORVAV99@users.noreply.github.com>
2024-02-12 15:03:29 +01:00
Minims
f792690e27 Update python rflink to 0.0.66 (#110060)
* Update python rflink to 0.0.66

Used to manage new data WIND from last R51 release

* Update requirements_all.txt

* Update requirements_test_all.txt
2024-02-12 13:27:01 +02:00
Marc Mueller
defbe3c067 Update pytest warnings filter (#110332) 2024-02-12 11:30:41 +01:00
Joakim Sørensen
30e932f36d Bump pytraccar from 2.0.0 to 2.1.0 (#110320) 2024-02-12 11:23:16 +01:00
Kevin Worrel
121f37b6b6 Correct screenlogic test's mock adapter name (#110317)
Correct mock adapter name
2024-02-12 11:20:33 +01:00
J. Nick Koston
aa67eb7f46 Migrate landisgyr_heat_meter to use async_update_entry to alter config entries (#110314) 2024-02-12 11:18:54 +01:00
J. Nick Koston
b5d9f275b9 Migrate google_assistant_sdk to use async_update_entry to alter config entries (#110307) 2024-02-12 11:16:44 +01:00
Åke Strandberg
8376c07969 Add myuplink diagnostics download (#109925)
* Dump all relevant data from API

* Cleanup and adjust

* Redact serialNumber

* WIP

* Add fixtures

* WIP

* Tests for diagnostics completed

* Address review comments

* Change to fake token

* Add missed redact

* Improve mocks

* Resolve review comments
2024-02-12 10:56:06 +01:00
Richard Kroegel
1b8bda6067 Remove old BMW vehicles/devices automatically (#110255)
* Remove not assigned vehicles from DeviceRegistry on startup

* Replace async_remove_device with async_update_device

* Add test

* Use generator

---------

Co-authored-by: Richard <rikroe@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-12 10:52:08 +01:00
Erik Montnemery
12709050ea Fix color mode in comelit light (#110326) 2024-02-12 10:41:28 +01:00
Erik Montnemery
9c9fa11654 Fix color mode in hive light (#110330) 2024-02-12 10:21:43 +01:00
Maciej Bieniek
4f277b9509 Add pulse counter sensors for Shelly (#110248)
* Add pulse counter sensors to Shelly

* Add a unit for the pulse counter

* Fix removal condition

* xtotal key is not present in the payload if it has not been configured

* Update test

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-12 09:42:38 +01:00
J. Nick Koston
5528ae9707 Migrate knx to use async_update_entry to alter config entries (#110312) 2024-02-12 09:39:05 +01:00
Luke Lashley
33cdcce191 Better teardown and setup of Roborock connections (#106092)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-12 09:37:37 +01:00
J. Nick Koston
2516eafba6 Migrate axis to use async_update_entry to alter config entries (#110302) 2024-02-12 09:22:44 +01:00
J. Nick Koston
e3813d4134 Migrate blink to use async_update_entry to alter config entries (#110303) 2024-02-12 08:30:38 +01:00
J. Nick Koston
55022767ac Migrate homematicip_cloud to use async_update_entry to alter config entries (#110308) 2024-02-12 08:29:37 +01:00
J. Nick Koston
303bb99da0 Migrate huawei_lte to use async_update_entry to alter config entries (#110309) 2024-02-12 08:28:54 +01:00
J. Nick Koston
73bb7d6830 Migrate forecast_solar to use async_update_entry to alter config entries (#110306) 2024-02-12 08:27:44 +01:00
J. Nick Koston
322b8b5be0 Migrate lametric to use async_update_entry to alter config entries (#110313) 2024-02-12 08:27:05 +01:00
J. Nick Koston
d6ba7bf506 Migrate ambient_station to use async_update_entry to alter config entries (#110305) 2024-02-11 21:45:34 -06:00
Marc Mueller
eadf2380d9 Update pytest to 8.0.0 (#109876) 2024-02-12 00:03:51 +01:00
Marc Mueller
2ef2172b01 Convert test helpers to get hass instance to contextmanagers (#109990)
* Convert get_test_home_assistant helper to contextmanager

* Convert async_test_home_assistant helper to contextmanager

* Move timezone reset to async_test_home_assistant helper
2024-02-11 21:23:51 +01:00
Jan-Philipp Benecke
3342e6ddbd Avoid calling hass internals when adding mock config entry in Fully Kiosk (#110291) 2024-02-11 21:17:54 +01:00
Jan-Philipp Benecke
932d930084 Avoid calling hass internals when adding mock config entry in Blink (#110290) 2024-02-11 21:17:22 +01:00
starkillerOG
589e3952de Fix TDBU naming in Motionblinds (#110283)
fix TDBU naming
2024-02-11 21:16:06 +01:00
G Johansson
7ce1ba9304 Fix cpu percentage in System Monitor (#110268)
* Fix cpu percentage in System Monitor

* Tests
2024-02-11 21:11:31 +01:00
Maciej Bieniek
326da81656 Add icon translations to Shelly (#110183)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-11 14:07:10 -06:00
Floris272
7dc9ad63bd Implement late feedback for Bluecurrent (#106918)
* Apply changes

* Fix MockClient

* Apply feedback

* Remove connector tests

* Change MockClient to inhert MagicMock

* Add reconnect tests and refactor mock client

* Refactor mock exception throwing

* Add future_fixture

* Move mocked client methods into create_client_mock

* Remove fixture and separate event from mock_client

* Add FutureContainer to store the loop_future
2024-02-11 20:57:38 +01:00
Marc Mueller
654ab54aa0 Update tqdm to 4.66.2 (#110277) 2024-02-11 20:11:08 +01:00
J. Nick Koston
e9f8bae693 Bump PySwitchbot to 0.45.0 (#110275) 2024-02-11 13:09:11 -06:00
J. Nick Koston
ab85ebb996 Bump thermopro-ble to 0.10.0 (#110279) 2024-02-11 13:08:49 -06:00
Marc Mueller
ba93cf0336 Update pre-commit to 3.6.1 (#110278) 2024-02-11 20:07:14 +01:00
Michael
ce37b84360 Bump aiopegelonline to 0.0.8 (#110274) 2024-02-11 20:06:47 +01:00
Matthias Alphart
8f2f869f46 Update xknxproject to 3.6.0 (#110282) 2024-02-11 20:01:16 +01:00
deosrc
e38cb01d81 Add missing log message for error resolving OAuth token (#107606) 2024-02-11 13:07:54 +00:00
David Bonnes
2e0ee11de5 Bump evohome-async to 0.4.19 (#110225)
bump client to 0.4.19
2024-02-11 13:31:51 +02:00
Martin Hjelmare
6b4920ffa6 Refactor tradfri tests (#110094)
* Refactor tradfri tests

* Refactor command store

* Fix fixture type annotations

* Fix test type errors
2024-02-11 12:01:12 +01:00
Maciej Bieniek
470de0a4de Add icon translations to NextDNS (#110179)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-11 10:20:01 +01:00
Simon Lamon
6c4e372908 Fix state classes issue translation in Group (#110238)
Fix state classes translation
2024-02-11 09:54:50 +01:00
Thomas55555
816f231e27 Bump aioautomower to 2024.2.4 (#110209)
* Bump aioautomower to 2024.2.3

* Bump aioautomower to 2023.2.4
2024-02-11 10:13:52 +02:00
Oliver
0c9f9486bf Update denonavr to 0.11.6 (#110231)
* Update `denonavr` to `0.11.5`

* Handle `AvrProcessingError` exception

* Remove obsolete `_telnet_was_healthy` property from receiver

* Update `denonavr` to `0.11.6`
2024-02-11 09:29:40 +02:00
J. Nick Koston
2f7d71347e Enable compression for manifest.json (#110229)
Now that compression is ~5x faster than base zlib, it makes
sense to compress this
2024-02-10 19:45:21 -05:00
chammp
a5cc0ae890 Improve package schema validation (#108125)
* Add failing tests for package config validation error wrapping

* Wrap package schema validation errors in HomeAssistantError

* Fix yamllint errors

* Rework package merge validation

Ignore invalid package definitions instead of failing startup.
Output error messages with locations if possible when a package
definition has errors.

* Ruff format

* Fix linter errors

* Move package_definition_schema to module scope

* Move inner function to module level

* Merge exception handlers

Merge exception handlers for config schema validation and package merge
to avoid untested code branches

* Fix long lines and doc strings

* More minor changes to exception handler

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-10 20:16:20 +01:00
Simon Lamon
fa4433c569 Fix device class repairs issues placeholders in Group (#110181)
fix translation placeholders
2024-02-10 20:09:02 +01:00
J. Nick Koston
1e7cd7c0c6 Update airvisual to set ConfigEntry version with async_update_entry (#110204)
* Update airvisual to set ConfigEntry version with async_update_entry

* Update airvisual to set ConfigEntry version with async_update_entry
2024-02-10 19:57:53 +01:00
J. Nick Koston
b3e46e3d64 Update airnow to set ConfigEntry version with async_update_entry (#110202) 2024-02-10 19:55:38 +01:00
J. Nick Koston
6b913546b9 Update swiss_public_transport to set ConfigEntry version with async_update_entry (#110197) 2024-02-10 19:54:35 +01:00
J. Nick Koston
991bef7ea0 Update prusalink to set ConfigEntry version with async_update_entry (#110196) 2024-02-10 19:53:35 +01:00
J. Nick Koston
118712d38d Update islamic_prayer_times to set ConfigEntry version with async_update_entry (#110194) 2024-02-10 19:52:45 +01:00
J. Nick Koston
087e52af6e Update switch_as_x to set ConfigEntry version with async_update_entry (#110193)
* Update switch_as_x to set ConfigEntry version with async_update_entry

* lint
2024-02-10 19:51:47 +01:00
J. Nick Koston
a48c1ac57e Only schedule august activity update when a new activity is seen (#110141) 2024-02-10 09:29:49 -06:00
J. Nick Koston
3441b93c5c Update systemmonitor to set config entry version using async_update_entry (#110192) 2024-02-10 09:20:16 -06:00
Maciej Bieniek
845071f8f0 Add icon translations to Brother (#110128)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-10 12:17:53 +01:00
Piotr Machowski
a2f4e99994 Add state_translated function to jinja templates (#96906)
* Add state_translated jinja function

* Add tests for load_state_translations_to_cache and get_cached_translations

* Cleanup state_translated template

* Add tests for state_translated jinja function

* Apply black formatting

* Improve code quality

* Apply suggestions from code review

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

* Apply suggestions from code review

* Prevent invalid components from loading translations

* Refactor loading translations to cache

* Adjust code issues

* Update homeassistant/helpers/translation.py

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

* Refactor listeners that trigger translation loading

* Apply suggestions from code review

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

* Apply suggestions from code review

* Adjust invalid function calls, fix code styling

* Adjust code quality

* Extract async_translate_state function

* Apply suggestions from code review

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

* Apply suggestions from code review

* Fix tests

* Fix tests

---------

Co-authored-by: Piotr Machowski <PiotrMachowski@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-10 10:47:56 +01:00
J. Nick Koston
d1f098c11f Use async_update_entry to update dlna_dmr options in tests (#110117)
needed for #110023
2024-02-10 07:57:58 +01:00
J. Nick Koston
f6d4617c7a Avoid directly changing config entry state in tests (part 2) (#110115)
followup to #110048 for more places
2024-02-10 07:20:15 +01:00
J. Nick Koston
567a179084 Simplify emulated_hue exposed entities cache (#109890)
Also avoids holding stale States in memory which can prevent
garbage collection of linked contexts
2024-02-09 21:43:46 -05:00
J. Nick Koston
b0d3cc150f Use async_update_entry to update esphome options in tests (#110118) 2024-02-09 20:01:33 -06:00
J. Nick Koston
327e54cbfb Bump yalexs to 1.11.2 (#110144)
changelog: https://github.com/bdraco/yalexs/compare/v1.11.1...v1.11.2
2024-02-09 23:30:42 +01:00
Maciej Bieniek
c2818dcb8e Add icon translations to Tractive (#110138)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-09 23:28:56 +01:00
Maciej Bieniek
57bec29266 Add icon translations to NAM (#110135)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-09 23:28:24 +01:00
Maciej Bieniek
0954e4cd73 Add icon translations to GIOS (#110131)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-09 23:28:11 +01:00
Maciej Bieniek
e81a9947e0 Fix typo in sensor icons configuration (#110133)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-09 20:05:01 +01:00
Franck Nijhof
3ac0833f8c Update sentry-sdk to 1.40.3 (#110109) 2024-02-09 20:01:29 +01:00
Marc Mueller
f793fbe492 Update pytest-asyncio to 0.23.5 (#110129) 2024-02-09 19:27:42 +01:00
J. Nick Koston
facf927626 Use async_update_entry in github tests (#110119)
needed for #110023
2024-02-09 18:11:05 +01:00
A Björck
14715c150e Bump yalexs to 1.11.1, fixing camera snapshots from Yale Home (#110089) 2024-02-09 09:09:45 -06:00
J. Nick Koston
9689cb448d Avoid linear search of entity registry in async_extract_referenced_entity_ids (#109667)
* Index area_ids in the entity registry

I missed that these are used in _resolve_area in search.

Eventually we can make async_extract_referenced_entity_ids
a bit faster with this as well

* Avoid linear search of entity registry in async_extract_referenced_entity_ids

needs https://github.com/home-assistant/core/pull/109660
2024-02-09 09:42:30 -05:00
J. Nick Koston
206aaac700 Reduce complexity in the homekit config flow filters (#109850)
* Add typing to entity filters

* Add typing to entity filters

* Add typing to entity filters

* Add typing to entity filters

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks
2024-02-09 09:33:21 -05:00
J. Nick Koston
8e4714c563 Avoid delaying startup in dlna_dmr (#109836)
* Avoid delaying startup in dlna_dmr

fixes #109834

* make sure device info is linked up at startup

* fixes

* update tests

* startup only

* override device info if we have it

* fixes

* make sure its set right away when adding the device

* revert test changes

* coverage

* coverage

* coverage

* coverage

* adjust

* fixes

* more fixes

* coverage

* coverage

* coverage

* tweaks

* tweaks

* Revert "revert test changes"

This reverts commit 014d29297d.

* coverage

* coverage
2024-02-09 09:05:27 -05:00
J. Nick Koston
6e134b325d Make ConfigEntryItems responsible for updating unique ids (#110018)
* Make ConfigEntryItems responsible for updating unique ids

* Make ConfigEntryItems responsible for updating unique ids

* Make ConfigEntryItems responsible for updating unique ids

* Make ConfigEntryItems responsible for updating unique ids

* Make ConfigEntryItems responsible for updating unique ids
2024-02-09 08:51:02 -05:00
J. Nick Koston
ced922bb1a Improve apple_tv error reporting when setup fails (#110071)
* Improve apple_tv error reporting when setup fails

* Improve apple_tv error reporting when setup fails

* Update homeassistant/components/apple_tv/__init__.py

* ensure cleaned up
2024-02-09 08:50:30 -05:00
Erik Montnemery
ae5bef6ffa Fix color mode in flux_led light (#110096) 2024-02-09 14:11:27 +01:00
Erik Montnemery
3ca202a338 Fix scene tests (#110097) 2024-02-09 14:10:59 +01:00
Malte Franken
6499be8528 Bump aio-geojson-usgs-earthquakes to 0.3 (#110084) 2024-02-09 11:31:16 +01:00
Jan Bouwhuis
8aa4157290 Add entry diagnostics to imap integration (#109460) 2024-02-09 11:30:27 +01:00
Franck Nijhof
cfd1f7809f 2024.2.1 (#110078) 2024-02-09 11:04:19 +01:00
Erik Montnemery
5f9cc2fec1 Prevent network access in emulated_hue tests (#109991) 2024-02-09 10:16:49 +01:00
Erik Montnemery
793b6aa97d Allow passing version to ConfigEntry.async_update_entry (#110077)
Allow passing minor_version and version to ConfigEntry.async_update_entry
2024-02-09 10:10:25 +01:00
Franck Nijhof
7caf78a926 Update debugpy to 1.8.1 (#110076) 2024-02-09 10:08:23 +01:00
Thomas55555
ec3af2462b Address late review on husqvarna_automower (#109896)
* Address late review on husqvarna_automower

* Add missing credentials string
2024-02-09 09:53:22 +01:00
Franck Nijhof
58d46f6dec Bump version to 2024.2.1 2024-02-09 09:02:01 +01:00
Brandon Rothweiler
74ea9e24df Bump py-aosmith to 1.0.8 (#110061) 2024-02-09 09:01:49 +01:00
David Bonnes
437a2a829f Bump evohome-async to 0.4.18 (#110056) 2024-02-09 09:01:46 +01:00
Michael Hansen
f5884c6279 Matching duplicate named entities is now an error in Assist (#110050)
* Matching duplicate named entities is now an error

* Update snapshot

* Only use area id
2024-02-09 09:01:43 +01:00
Michael
e4382a494c Log error and continue on parsing issues of translated strings (#110046) 2024-02-09 09:00:19 +01:00
Bram Kragten
56ff767969 Update frontend to 20240207.1 (#110039) 2024-02-09 09:00:17 +01:00
jan iversen
4a18f592c6 Avoid key_error in modbus climate with non-defined fan_mode. (#110017) 2024-02-09 09:00:14 +01:00
Robert Resch
7ff2f376d4 Bump aioecowitt to 2024.2.1 (#109999) 2024-02-09 09:00:10 +01:00
jan iversen
a18918bb73 Allow modbus negative min/max value. (#109995) 2024-02-09 09:00:06 +01:00
Robert Resch
49e5709826 Bump deebot-client to 5.1.1 (#109994) 2024-02-09 09:00:00 +01:00
jan iversen
c665903f9d Allow modbus min/max temperature to be negative. (#109977) 2024-02-09 08:59:58 +01:00
spycle
de44af2948 Bump pyMicrobot to 0.0.12 (#109970) 2024-02-09 08:59:55 +01:00
Erik Montnemery
95a800b6bc Don't blow up if config entries have unhashable unique IDs (#109966)
* Don't blow up if config entries have unhashable unique IDs

* Add test

* Add comment on when we remove the guard

* Don't stringify hashable non string unique_id
2024-02-09 08:59:52 +01:00
jan iversen
a9e9ec2c3d Allow modbus "scale" to be negative. (#109965) 2024-02-09 08:59:49 +01:00
Marcel van der Veldt
7309c3c290 Handle Matter nodes that become available after startup is done (#109956) 2024-02-09 08:59:46 +01:00
Malte Franken
f48d70654b Bump aio-geojson-geonetnz-volcano to 0.9 (#109940) 2024-02-09 08:59:43 +01:00
Marcel van der Veldt
a9b3c2e2b5 Skip polling of unavailable Matter nodes (#109917) 2024-02-09 08:59:41 +01:00
Jan-Philipp Benecke
19349e1779 Bump aioelectricitymaps to 0.4.0 (#109895) 2024-02-09 08:59:38 +01:00
Marcel van der Veldt
e320d715c7 Bump Python matter server to 5.5.0 (#109894) 2024-02-09 08:59:35 +01:00
Michael Hansen
44c9ea68eb Assist fixes (#109889)
* Don't pass entity ids in hassil slot lists

* Use first completed response

* Add more tests
2024-02-09 08:59:32 +01:00
Mike Degatano
dbfee24eb7 Allow disabling home assistant watchdog (#109818) 2024-02-09 08:59:27 +01:00
mkmer
3b7271d597 Catch APIRateLimit in Honeywell (#107806) 2024-02-09 08:58:44 +01:00
David Bonnes
86e6fdb57c Bump evohome-async to 0.4.18 (#110056) 2024-02-09 08:49:09 +01:00
Malte Franken
eef5b44282 Bump aio-geojson-geonetnz-volcano to 0.9 (#109940) 2024-02-09 08:45:55 +01:00
J. Nick Koston
b5afdf34f4 Improve ability to debug one time listeners blocking the event loop (#110064) 2024-02-09 08:44:14 +01:00
Christophe Gagnier
720fb7da59 Update pytechnove to 1.2.2 (#110074) 2024-02-09 08:41:48 +01:00
jan iversen
a0abc27612 Avoid key_error in modbus climate with non-defined fan_mode. (#110017) 2024-02-09 08:39:08 +01:00
Michael
d049928be7 Log error and continue on parsing issues of translated strings (#110046) 2024-02-09 08:35:12 +01:00
spycle
d3da6cbcfc Bump pyMicrobot to 0.0.12 (#109970) 2024-02-09 08:33:52 +01:00
Brandon Rothweiler
a3dbe42fa1 Bump py-aosmith to 1.0.8 (#110061) 2024-02-09 08:25:32 +01:00
Franck Nijhof
e7043f5dda Update sentry-sdk to 1.40.2 (#110049) 2024-02-09 08:15:21 +01:00
Jc2k
4f404881dd Remove homekit_controller entity registry entries when backing char or service is gone (#109952) 2024-02-09 07:05:08 +00:00
J. Nick Koston
122ac059bc Convert dhcp watcher to asyncio (#109938) 2024-02-08 22:23:42 -06:00
Allen Porter
261f9c5d62 Cleanup test config entry setup to use best practices (#110070)
* Cleanup test config entry setup to use best practices

* Add missed files
2024-02-08 19:52:40 -08:00
J. Nick Koston
2d8d6ce642 Bump aiodiscover 1.6.1 (#110059)
fixes decoding idna encoding hostnames

changelog: https://github.com/bdraco/aiodiscover/compare/v1.6.0...v1.6.1
2024-02-09 04:27:04 +01:00
Michael Hansen
2681dae60c Matching duplicate named entities is now an error in Assist (#110050)
* Matching duplicate named entities is now an error

* Update snapshot

* Only use area id
2024-02-08 19:38:03 -06:00
J. Nick Koston
02efe41564 Avoid directly changing config entry state in tests (#110048) 2024-02-08 16:31:17 -06:00
Michael
531f2e8443 bump wretry.action@v1.4.4 (#110053) 2024-02-08 23:15:22 +01:00
Bouwe Westerdijk
326c7c0495 Add option-icons for Plugwise Select (#109986) 2024-02-08 20:19:23 +01:00
dependabot[bot]
23fa9103d7 Bump Wandalen/wretry.action from 1.3.0 to 1.4.0 (#109950)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-08 20:14:49 +01:00
Mike Degatano
a0e515df1a Allow disabling home assistant watchdog (#109818) 2024-02-08 20:09:53 +01:00
Bram Kragten
35cb37ffb0 Update frontend to 20240207.1 (#110039) 2024-02-08 20:03:41 +01:00
Marc Mueller
1adbddb754 Update pylint-per-file-ignores to 1.3.2 (#110014) 2024-02-08 17:40:30 +01:00
Robert Resch
69af00b360 Bump deebot-client to 5.1.1 (#109994) 2024-02-08 15:41:37 +01:00
Robert Resch
fa0260a5d5 Bump aioecowitt to 2024.2.1 (#109999) 2024-02-08 15:41:19 +01:00
Erik Montnemery
2f15053311 Don't blow up if config entries have unhashable unique IDs (#109966)
* Don't blow up if config entries have unhashable unique IDs

* Add test

* Add comment on when we remove the guard

* Don't stringify hashable non string unique_id
2024-02-08 15:39:01 +01:00
jan iversen
97c6fd0f8d Allow modbus negative min/max value. (#109995) 2024-02-08 15:34:43 +01:00
Marc Mueller
b329397288 Fix callable import (#110003) 2024-02-08 15:29:55 +01:00
jan iversen
9f50153c8b Allow modbus min/max temperature to be negative. (#109977) 2024-02-08 13:48:33 +01:00
wilburCforce
29d3e17461 Update pylutron to 0.2.11 (#109853) 2024-02-08 13:32:57 +01:00
jan iversen
e968486594 Bump pymodbus to v3.6.4 (#109980) 2024-02-08 13:16:50 +01:00
Marcel van der Veldt
e7213a4192 Handle Matter nodes that become available after startup is done (#109956) 2024-02-08 13:14:10 +01:00
Erik Montnemery
c7957f8e94 Prevent network access in emulated_hue tests (#109991) 2024-02-08 13:00:45 +01:00
jan iversen
55f10656a7 Allow modbus "scale" to be negative. (#109965) 2024-02-08 12:40:32 +01:00
mkmer
168657b724 Catch APIRateLimit in Honeywell (#107806) 2024-02-08 10:51:20 +01:00
Marcel van der Veldt
2d88b77813 Skip polling of unavailable Matter nodes (#109917) 2024-02-08 09:01:48 +01:00
Marcel van der Veldt
d6e617eff8 Bump Python matter server to 5.5.0 (#109894) 2024-02-08 08:59:57 +01:00
Jan-Philipp Benecke
fc5f4bd5b8 Bump aioelectricitymaps to 0.4.0 (#109895) 2024-02-08 08:42:22 +01:00
Michael Hansen
1750f54da4 Assist fixes (#109889)
* Don't pass entity ids in hassil slot lists

* Use first completed response

* Add more tests
2024-02-07 15:13:42 -06:00
Franck Nijhof
9dbf84228e 2024.2.0 (#109883) 2024-02-07 18:31:28 +01:00
Maciej Bieniek
b276a7863b Add missing unique_id check for Shelly Analog Input sensor (#109888)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-07 11:20:53 -06:00
Åke Strandberg
8fd51fcbef Bump myuplink dependency to 0.1.1 (#109878)
Bump myuplink dependeny to 0.1.1
2024-02-07 18:07:53 +01:00
Joost Lekkerkerker
9e47d03086 Fix kitchen sink tests (#109243) 2024-02-07 17:40:10 +01:00
Marc Mueller
de066c7fc0 Reset log level in script tests (#109881) 2024-02-07 17:22:10 +01:00
Maciej Bieniek
b5b09446a1 Add analog input value sensor for Shelly (#109312)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-07 10:22:00 -06:00
Maciej Bieniek
d0384480f5 Test unique IDs for Shelly entities (#109879)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-07 10:18:00 -06:00
Franck Nijhof
f63aaf8b5a Bump version to 2024.2.0 2024-02-07 16:28:11 +01:00
Malte Franken
8375fc235d Bump aio-geojson-geonetnz-quakes to 0.16 (#109873) 2024-02-07 16:27:47 +01:00
Åke Strandberg
3030870de0 Remove soft hyphens from myuplink sensor names (#109845)
Remove soft hyphens from sensor names
2024-02-07 16:27:44 +01:00
Matrix
f61c70b686 Fix YoLink SpeakerHub support (#107925)
* improve

* Fix when hub offline/online message pushing

* fix as suggestion

* check config entry load state

* Add exception translation
2024-02-07 16:27:40 +01:00
Malte Franken
8dd1e741b2 Bump aio-geojson-geonetnz-quakes to 0.16 (#109873) 2024-02-07 16:24:25 +01:00
Jc2k
1ea9b1a158 Add support for air purifiers to HomeKit Device (#109880) 2024-02-07 15:19:42 +00:00
Erik Montnemery
aea81a180c Fix Shelly white light test (#109855) 2024-02-07 15:39:49 +01:00
Erik Montnemery
2e194c4ec3 Fix light color mode in tplink (#109831) 2024-02-07 15:39:36 +01:00
Åke Strandberg
5d1da0b3e4 Remove soft hyphens from myuplink sensor names (#109845)
Remove soft hyphens from sensor names
2024-02-07 15:26:00 +01:00
Matrix
34220200c1 Fix YoLink SpeakerHub support (#107925)
* improve

* Fix when hub offline/online message pushing

* fix as suggestion

* check config entry load state

* Add exception translation
2024-02-07 13:42:33 +01:00
Franck Nijhof
e720b398d2 Bump version to 2024.2.0b11 2024-02-07 12:44:50 +01:00
Bram Kragten
bd21490a57 Update frontend to 20240207.0 (#109871) 2024-02-07 12:34:36 +01:00
Malte Franken
75b308c1aa Bump aio-georss-gdacs to 0.9 (#109859) 2024-02-07 12:34:33 +01:00
Joakim Plate
881707e1fe Update nibe to 2.8.0 with LOG.SET fixes (#109825)
Update nibe to 2.8.0
2024-02-07 12:34:30 +01:00
Jiayi Chen
2ca3bbaea5 Update Growatt server URLs (#109122) 2024-02-07 12:34:24 +01:00
Bram Kragten
521e9eb869 Update frontend to 20240207.0 (#109871) 2024-02-07 12:29:06 +01:00
dcmeglio
1a037da9f5 Add sensor for Ecowitt raw soil moisture value (#109849) 2024-02-07 10:47:40 +01:00
Malte Franken
059c251194 Bump aio-georss-gdacs to 0.9 (#109859) 2024-02-07 10:27:10 +01:00
Marc Mueller
2ae019bfc2 Update syrupy to 4.6.1 (#109860) 2024-02-07 09:56:42 +01:00
Jiayi Chen
4e2f599720 Update Growatt server URLs (#109122) 2024-02-07 09:35:50 +01:00
Thomas55555
6d4ab6c758 Add Husqvarna Automower integration (#109073)
* Add Husqvarna Automower

* Update homeassistant/components/husqvarna_automower/__init__.py

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

* Update homeassistant/components/husqvarna_automower/config_flow.py

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

* Update homeassistant/components/husqvarna_automower/entity.py

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

* Update homeassistant/components/husqvarna_automower/entity.py

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

* Update homeassistant/components/husqvarna_automower/lawn_mower.py

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

* Update homeassistant/components/husqvarna_automower/lawn_mower.py

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

* address review

* add test_config_non_unique_profile

* add missing const

* WIP tests

* tests

* tests

* Update homeassistant/components/husqvarna_automower/api.py

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

* Update homeassistant/components/husqvarna_automower/config_flow.py

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

* Update homeassistant/components/husqvarna_automower/config_flow.py

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

* Update tests/components/husqvarna_automower/conftest.py

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

* .

* loop through test

* Update homeassistant/components/husqvarna_automower/entity.py

* Update homeassistant/components/husqvarna_automower/coordinator.py

* Update homeassistant/components/husqvarna_automower/coordinator.py

* Apply suggestions from code review

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-07 09:27:04 +01:00
Luke Lashley
6f3be3e505 Move Roborock map retrieval to coordinator and made map always diagnostic (#104680)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-02-07 09:13:51 +01:00
Erik Montnemery
586b4ab93d Simplify Hue v2 color mode calculation (#109857) 2024-02-07 08:56:35 +01:00
Josef Zweck
2fc56ff4e4 Add late PR changes to tedee (#109858)
requested changes
2024-02-07 08:53:19 +01:00
Franck Nijhof
ea4bdbb3a0 Bump version to 2024.2.0b10 2024-02-07 08:48:17 +01:00
puddly
40cfc31dcb Bump ZHA dependency zigpy to 0.62.3 (#109848) 2024-02-07 08:48:07 +01:00
starkillerOG
031aadff00 Bump motionblinds to 0.6.20 (#109837) 2024-02-07 08:48:04 +01:00
Vilppu Vuorinen
27691b7d48 Disable energy report based operations with API lib upgrade (#109832)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-07 08:48:01 +01:00
Joost Lekkerkerker
fe94107af7 Make integration fields in Analytics Insights optional (#109789) 2024-02-07 08:47:58 +01:00
Teemu R
d784a76d32 Add tapo virtual integration (#109765) 2024-02-07 08:47:55 +01:00
Joost Lekkerkerker
ebb1912617 Show domain in oauth2 error log (#109708)
* Show token url in oauth2 error log

* Fix tests

* Use domain
2024-02-07 08:47:50 +01:00
Vilppu Vuorinen
5521a39866 Disable energy report based operations with API lib upgrade (#109832)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-07 08:45:27 +01:00
Erik Montnemery
b420c65016 Fix hue fallback onoff colormode (#109856)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-02-07 08:14:55 +01:00
Teemu R
d9f97bc7ec Add tapo virtual integration (#109765) 2024-02-07 06:29:26 +01:00
Joost Lekkerkerker
905e25b3a1 Make integration fields in Analytics Insights optional (#109789) 2024-02-07 06:26:33 +01:00
starkillerOG
8e51affe50 Bump motionblinds to 0.6.20 (#109837) 2024-02-07 06:23:57 +01:00
puddly
26e6bc8a6a Bump ZHA dependency zigpy to 0.62.3 (#109848) 2024-02-07 06:22:54 +01:00
Åke Strandberg
9250dd0355 Add update platform to myuplink (#109786)
* Add update platform to myuplink

* Address comments from review
2024-02-06 23:14:31 +01:00
Joost Lekkerkerker
59e9010b65 Show domain in oauth2 error log (#109708)
* Show token url in oauth2 error log

* Fix tests

* Use domain
2024-02-06 23:03:35 +01:00
Marcel van der Veldt
fd5efd1f79 Add transition support to Matter light platform (#109803)
* Add support for transitions to Matter light platform

* fix the feature check

* add tests
2024-02-06 22:59:55 +01:00
Franck Nijhof
8c605c29c3 Bump version to 2024.2.0b9 2024-02-06 22:49:53 +01:00
Joakim Sørensen
74a75e709f Bump awesomeversion from 23.11.0 to 24.2.0 (#109830) 2024-02-06 22:49:41 +01:00
J. Nick Koston
2103875ff7 Bump aioesphomeapi to 21.0.2 (#109824) 2024-02-06 22:49:38 +01:00
Erik Montnemery
5c83b774bb Bump python-otbr-api to 2.6.0 (#109823) 2024-02-06 22:49:34 +01:00
Joost Lekkerkerker
2c870f9da9 Bump aioecowitt to 2024.2.0 (#109817) 2024-02-06 22:49:31 +01:00
Maciej Bieniek
40adb3809f Ignore trackable without details in Tractive integration (#109814)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-06 22:49:28 +01:00
wittypluck
8aa1242221 Mark Unifi bandwidth sensors as unavailable when client disconnects (#109812)
* Set sensor as unavailable instead of resetting value to 0 on disconnect

* Update unit test on unavailable bandwidth sensor
2024-02-06 22:49:25 +01:00
J. Nick Koston
8569ddc5f9 Fix entity services targeting entities outside the platform when using areas/devices (#109810) 2024-02-06 22:49:22 +01:00
Franck Nijhof
7032415528 Don't block Supervisor entry setup with refreshing updates (#109809) 2024-02-06 22:49:19 +01:00
puddly
d099fb2a26 Pin chacha20poly1305-reuseable>=0.12.1 (#109807)
* Pin `chacha20poly1305-reuseable`
Prevents a runtime `assert isinstance(cipher, AESGCM)` error

* Update `gen_requirements_all.py` as well
2024-02-06 22:49:16 +01:00
Jan-Philipp Benecke
35fad52913 Bump aioelectricitymaps to 0.3.1 (#109797) 2024-02-06 22:49:13 +01:00
Vilppu Vuorinen
c170132827 Update MELCloud codeowners (#109793)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-06 22:49:10 +01:00
Matthias Alphart
439f82a4ec Update xknx to 2.12.0 and xknxproject to 3.5.0 (#109787) 2024-02-06 22:49:07 +01:00
Steven B
2481d14632 Bump ring_doorbell to 0.8.7 (#109783) 2024-02-06 22:49:04 +01:00
Steven B
3cf826dc93 Bump ring_doorbell to 0.8.6 (#109199) 2024-02-06 22:48:59 +01:00
Jan-Philipp Benecke
e25ddf9650 Change state class of Tesla wall connector session energy entity (#109778) 2024-02-06 22:46:34 +01:00
puddly
8d79ac67f5 Bump ZHA dependencies (#109770)
* Bump ZHA dependencies

* Bump universal-silabs-flasher to 0.0.18

* Flip `Server_to_Client` enum in ZHA unit test

* Bump zigpy to 0.62.2
2024-02-06 22:46:31 +01:00
David F. Mulcahey
5025c15165 Buffer JsonDecodeError in Flo (#109767) 2024-02-06 22:46:28 +01:00
Joost Lekkerkerker
ffd5e04a29 Fix Radarr health check singularity (#109762)
* Fix Radarr health check singularity

* Fix comment
2024-02-06 22:46:25 +01:00
G Johansson
9fcdfd1b16 Bump holidays to 0.42 (#109760) 2024-02-06 22:46:21 +01:00
Vilppu Vuorinen
c1e5b2e6cc Fix compatibility issues with older pymelcloud version (#109757) 2024-02-06 22:42:58 +01:00
suaveolent
31c0d21204 Improve lupusec code quality (#109727)
* renamed async_add_devices

* fixed typo

* patch class instead of __init__

* ensure non blocking get_alarm

* exception handling

* added test case for json decode error

* avoid blockign calls

---------

Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2024-02-06 22:42:54 +01:00
spycle
3ba63fc78f Fix keymitt_ble config-flow (#109644)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-06 22:42:51 +01:00
spycle
0395315267 Bump pyMicrobot to 0.0.10 (#109628) 2024-02-06 22:42:48 +01:00
TheJulianJES
6b354457c2 Fix ZHA creating unnecessary "summ received" entity after upgrade (#109268)
* Do not create `current_summ_received` entity until initialized once

* Update zha_devices_list.py to not expect summation received entities

The attribute isn't initialized for these devices in the test (which our check now expects it to be), hence we need to remove them from this list.

* Update sensor tests to have initial state for current_summ_received entity

The attribute needs to be initialized for it to be created which we do by plugging the attribute read.
The test expects the initial state to be "unknown", but hence we plugged the attribute (to create the entity), the state is whatever we plug the attribute read as.

* Update sensor tests to expect not updating current_summ_received entity if it doesn't exist
2024-02-06 22:42:43 +01:00
Joost Lekkerkerker
252baa93aa Bump aioecowitt to 2024.2.0 (#109817) 2024-02-06 22:37:20 +01:00
Maciej Bieniek
a6f0b6a005 Ignore trackable without details in Tractive integration (#109814)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-06 22:36:12 +01:00
Franck Nijhof
db16b739a6 Don't block Supervisor entry setup with refreshing updates (#109809) 2024-02-06 22:34:53 +01:00
Joakim Plate
3ec0ea3ef9 Update nibe to 2.8.0 with LOG.SET fixes (#109825)
Update nibe to 2.8.0
2024-02-06 22:06:59 +01:00
Joakim Sørensen
7c233c2bd0 Bump awesomeversion from 23.11.0 to 24.2.0 (#109830) 2024-02-06 21:57:00 +01:00
J. Nick Koston
88086dfa0c Bump aioesphomeapi to 21.0.2 (#109824) 2024-02-06 21:01:10 +01:00
Erik Montnemery
b5f049b84c Bump python-otbr-api to 2.6.0 (#109823) 2024-02-06 21:14:45 +02:00
J. Nick Koston
09c609459d Fix entity services targeting entities outside the platform when using areas/devices (#109810) 2024-02-06 12:41:57 -06:00
Erik Montnemery
674e4ceb2c Make additional methods of google_assistant.AbstractConfig abstract (#109811) 2024-02-06 19:14:12 +01:00
Erik Montnemery
fabcf2948e Bump hass-nabucasa from 0.77.0 to 0.78.0 (#109813) 2024-02-06 19:02:32 +01:00
wittypluck
7d24ae88e6 Mark Unifi bandwidth sensors as unavailable when client disconnects (#109812)
* Set sensor as unavailable instead of resetting value to 0 on disconnect

* Update unit test on unavailable bandwidth sensor
2024-02-06 18:33:10 +01:00
Joost Lekkerkerker
6519b24319 Make bluetooth use naming from the entity description (#97401)
* Make bluetooth use the translation from the entity description

* Remove links to other platforms

* Remove links to other platforms

* Remove links to other platforms

* Add test

* Use is

* Fix test

* Update homeassistant/components/bluetooth/passive_update_processor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-06 17:12:15 +01:00
puddly
6295f91a1f Pin chacha20poly1305-reuseable>=0.12.1 (#109807)
* Pin `chacha20poly1305-reuseable`
Prevents a runtime `assert isinstance(cipher, AESGCM)` error

* Update `gen_requirements_all.py` as well
2024-02-06 16:55:51 +01:00
Marc Mueller
545b888034 Update ruff to 0.2.1 (#109796)
* Update ruff to 0.2.1

* Rename config sections

* Update remapped error codes

* Add ignores
2024-02-06 15:41:34 +01:00
puddly
a533fa222e Bump ZHA dependencies (#109770)
* Bump ZHA dependencies

* Bump universal-silabs-flasher to 0.0.18

* Flip `Server_to_Client` enum in ZHA unit test

* Bump zigpy to 0.62.2
2024-02-06 09:40:29 -05:00
Erik Montnemery
0cb913370f Rename google_assistant.AbstractConfig.get_local_agent_user_id (#109798)
* Rename google_assistant.AbstractConfig get_local_agent_user_id to get_local_user_id

* Fix
2024-02-06 15:40:12 +01:00
J. Nick Koston
cf188eabdf Add slots to bluetooth matcher objects (#109768) 2024-02-06 09:40:03 -05:00
Jan-Philipp Benecke
1e5ab3ad47 Bump aioelectricitymaps to 0.3.1 (#109797) 2024-02-06 15:16:15 +01:00
Matthias Alphart
78f21ecc58 Update xknx to 2.12.0 and xknxproject to 3.5.0 (#109787) 2024-02-06 14:30:53 +01:00
Vilppu Vuorinen
198cf28a2a Update MELCloud codeowners (#109793)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-02-06 13:27:50 +01:00
Erik Montnemery
1519df6e55 Improve typing of cloud HTTP API (#109780) 2024-02-06 13:09:14 +01:00
Åke Strandberg
25f065a980 Add myuplink sensor descriptions for current and frequency sensors (#109784)
Add device_descriptions for current and frequency sensors
2024-02-06 12:40:03 +01:00
Marc Mueller
5de76c0be0 Include exception when reraising inside except (#109706) 2024-02-06 12:17:39 +01:00
Steven B
6701806ed2 Use has_capability instead of hasattr for ring history (#109791) 2024-02-06 10:55:03 +01:00
Matrix
b8c4821e48 Bump yolink-api to 0.3.7 (#109776) 2024-02-06 10:52:41 +01:00
tronikos
d4c235622f Break long strings in Google generative ai conversation (#109771)
* Update test_init.py

* Update __init__.py
2024-02-06 10:50:58 +01:00
Steven B
f8862f64a1 Bump ring_doorbell to 0.8.7 (#109783) 2024-02-06 10:10:43 +01:00
Jan Bouwhuis
6ca002a6f4 Improve tests of mqtt device triggers (#108318)
Improve tests on mqtt device triggers
2024-02-06 09:38:15 +01:00
Jan Bouwhuis
00947b708f Remove aux heat support from mqtt climate (#109513) 2024-02-06 09:37:39 +01:00
Jan-Philipp Benecke
29462fc991 Change state class of Tesla wall connector session energy entity (#109778) 2024-02-06 09:34:02 +01:00
Joost Lekkerkerker
cc4274bcc0 Fix Radarr health check singularity (#109762)
* Fix Radarr health check singularity

* Fix comment
2024-02-06 07:18:33 +01:00
TheJulianJES
61ce328ce1 Fix docstring length in ZHA sensor class (#109774)
Fix ZHA sensor docstring length
2024-02-06 03:00:45 +01:00
G Johansson
1706156faf Add Process binary sensor in System Monitor (#108585)
* Process binary sensor in System Monitor

* Add repair flow

* add issue

* add platform

* fix repair

* Tests

* Fix tests

* add minor version

* migrate

* Mod repairs

* Fix tests

* config flow test

* Last fixes

* Review comments

* Remove entities during repair

* Remove snapshot
2024-02-06 02:09:05 +01:00
suaveolent
668d036f71 Improve lupusec code quality (#109727)
* renamed async_add_devices

* fixed typo

* patch class instead of __init__

* ensure non blocking get_alarm

* exception handling

* added test case for json decode error

* avoid blockign calls

---------

Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2024-02-06 01:20:14 +01:00
TheJulianJES
965f31a9e0 Fix ZHA creating unnecessary "summ received" entity after upgrade (#109268)
* Do not create `current_summ_received` entity until initialized once

* Update zha_devices_list.py to not expect summation received entities

The attribute isn't initialized for these devices in the test (which our check now expects it to be), hence we need to remove them from this list.

* Update sensor tests to have initial state for current_summ_received entity

The attribute needs to be initialized for it to be created which we do by plugging the attribute read.
The test expects the initial state to be "unknown", but hence we plugged the attribute (to create the entity), the state is whatever we plug the attribute read as.

* Update sensor tests to expect not updating current_summ_received entity if it doesn't exist
2024-02-05 19:12:56 -05:00
David F. Mulcahey
13bc018e23 Buffer JsonDecodeError in Flo (#109767) 2024-02-05 18:39:56 -05:00
Erik Montnemery
b7284b92ac Clean up Alexa when logging out from cloud (#109738)
* Clean up Alexa when logging out from cloud

* Add test
2024-02-05 23:58:34 +01:00
J. Nick Koston
6fce8a5403 Avoid linear search of the entity registry in ps4 (#109723) 2024-02-05 17:25:12 -05:00
J. Nick Koston
440212ddce Reduce dict lookups in entity registry indices (#109712) 2024-02-05 17:23:53 -05:00
J. Nick Koston
f73431ac06 Switch utc_to_timestamp to .timestamp() where possible (#109729)
* Switch utc_to_timestamp to .timestamp()

.timestamp() is faster now in newer cpython

```
from homeassistant.util.dt import utc_to_timestamp, utcnow
import timeit
now = utcnow()
print(timeit.timeit('utc_to_timestamp(now)',globals={"now":now,"utc_to_timestamp":utc_to_timestamp}))
print(timeit.timeit('now.timestamp()',globals={"now":now}))
```

utc_to_timestamp = 0.18721245788037777
timestamp = 0.11421508435159922

* compat

* revert

* revert

* revert

* revert

* revert
2024-02-05 23:04:52 +01:00
Vilppu Vuorinen
e399bebbcd Fix compatibility issues with older pymelcloud version (#109757) 2024-02-05 22:30:20 +01:00
G Johansson
4119d20f87 Bump holidays to 0.42 (#109760) 2024-02-05 15:59:02 -05:00
J. Nick Koston
908cedf981 Avoid linear search of entity registry in async_clear_config_entry (#109724) 2024-02-05 14:12:16 -06:00
J. Nick Koston
e9a41e5023 Avoid linear search in entity registry to clear an area (#109735) 2024-02-05 13:53:33 -06:00
Jirka
d27ca83694 Fix string in xiaomi_ble (#109758)
Update strings.json

Fixed typo:
From
"rotate_right_pressed": "Rotate left (pressed)"
to
"rotate_right_pressed": "Rotate right (pressed)"
2024-02-05 21:50:37 +02:00
Franck Nijhof
df88335370 Bump version to 2024.2.0b8 2024-02-05 20:27:40 +01:00
Joost Lekkerkerker
4c6c5ee63d Handle startup error in Analytics insights (#109755) 2024-02-05 20:27:29 +01:00
Vilppu Vuorinen
65476914ed Reduce MELCloud poll frequency to avoid throttling (#109750) 2024-02-05 20:27:26 +01:00
Bouwe Westerdijk
d30a2e3611 Fix incorrectly assigning supported features for plugwise climates (#109749) 2024-02-05 20:27:23 +01:00
G Johansson
eb510e3630 Add missing new climate feature flags to Mill (#109748) 2024-02-05 20:27:20 +01:00
Michael
532df5b5f1 Use tracked entity friendly name for proximity sensors (#109744)
user tracked entity friendly name
2024-02-05 20:27:17 +01:00
Jan Bouwhuis
1534f99c80 Fix generic camera error when template renders to an invalid URL (#109737) 2024-02-05 20:27:14 +01:00
Cyrill Raccaud
a19aa9595a Bump python-bring-api to 3.0.0 (#109720) 2024-02-05 20:27:11 +01:00
Joost Lekkerkerker
e3191d098f Add strings to Ruuvitag BLE (#109717) 2024-02-05 20:27:08 +01:00
Bram Kragten
cc36071612 Update frontend to 20240205.0 (#109716) 2024-02-05 20:27:04 +01:00
Joakim Sørensen
2d90ee8237 Fix log string in Traccar Server Coordinator (#109709) 2024-02-05 20:27:01 +01:00
Simone Chemelli
16266703df Queue climate calls for Comelit SimpleHome (#109707) 2024-02-05 20:26:58 +01:00
Joost Lekkerkerker
dd2cc52119 Set Analytics Insights as diagnostic (#109702)
* Set Analytics Insights as diagnostic

* Set Analytics Insights as diagnostic
2024-02-05 20:26:54 +01:00
Joost Lekkerkerker
c48c8c25fa Remove obsolete check from Proximity (#109701) 2024-02-05 20:26:51 +01:00
Joost Lekkerkerker
83a5659d57 Set shorthand attribute in Epion (#109695) 2024-02-05 20:26:48 +01:00
Joost Lekkerkerker
3183cd346d Add data descriptions to analytics insights (#109694) 2024-02-05 20:26:45 +01:00
Marcel van der Veldt
5930c841d7 Bump python matter server to 5.4.1 (#109692) 2024-02-05 20:26:42 +01:00
Myles Eftos
f05ba22b5c Show site state in Amberelectric config flow (#104702) 2024-02-05 20:26:38 +01:00
Michael Hansen
5b1e0b2602 Set default for OSTYPE in run-in-env script (#109731) 2024-02-05 20:23:52 +01:00
Erik Montnemery
49a99559c7 Remove lru cache size limit of TemperatureConverter (#109726) 2024-02-05 20:21:04 +01:00
Jan Bouwhuis
94ccd59123 Fix generic camera error when template renders to an invalid URL (#109737) 2024-02-05 20:19:38 +01:00
Michael
45f44e9216 Use tracked entity friendly name for proximity sensors (#109744)
user tracked entity friendly name
2024-02-05 20:18:59 +01:00
Vilppu Vuorinen
189f3dacfb Reduce MELCloud poll frequency to avoid throttling (#109750) 2024-02-05 20:18:01 +01:00
G Johansson
3752e14362 Add missing new climate feature flags to Mill (#109748) 2024-02-05 20:17:13 +01:00
Bouwe Westerdijk
2899c296a8 Fix incorrectly assigning supported features for plugwise climates (#109749) 2024-02-05 20:15:51 +01:00
Joost Lekkerkerker
2318d28127 Handle startup error in Analytics insights (#109755) 2024-02-05 20:14:34 +01:00
Erik Montnemery
9d42455955 Move async_deinitialize to google_assistant AbstractConfig (#109736) 2024-02-05 19:53:22 +01:00
Simone Chemelli
3294506190 Queue climate calls for Comelit SimpleHome (#109707) 2024-02-05 18:52:58 +01:00
Cyrill Raccaud
53d46acc50 Bump python-bring-api to 3.0.0 (#109720) 2024-02-05 18:51:01 +01:00
Marc Mueller
ed7307cdaf Use builtin TimeoutError [socket.timeout] (#109704) 2024-02-05 18:46:11 +01:00
Marc Mueller
46f8fb3ac1 Use builtin TimeoutError [misc] (#109703) 2024-02-05 18:45:16 +01:00
Jan Bouwhuis
5dfffb0818 Allow weight to be used as total_increasing state_class for sensors (#108505)
* Allow weight to be used as total_increasing state_class for sensors

* Add SensorStateClass.TOTAL
2024-02-05 18:01:06 +01:00
Pascal Reeb
be6399410e Use a single call to add entities in Nuki (#109696)
* Nuki: use a single call to add entities

* Clean up list addition

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-05 17:09:18 +01:00
J. Nick Koston
6f28d79651 Copy callbacks instead of slice for event dispatch (#109711)
We established copy is faster in
https://github.com/home-assistant/core/pull/108428#discussion_r1466932262
2024-02-05 17:07:21 +01:00
Joost Lekkerkerker
8df305c881 Remove obsolete check from Proximity (#109701) 2024-02-05 16:32:39 +01:00
Joost Lekkerkerker
aaff8a8c62 Add strings to Ruuvitag BLE (#109717) 2024-02-05 16:26:25 +01:00
Bram Kragten
0e9628bba0 Update frontend to 20240205.0 (#109716) 2024-02-05 16:09:33 +01:00
Joost Lekkerkerker
3bcd367b65 Set Analytics Insights as diagnostic (#109702)
* Set Analytics Insights as diagnostic

* Set Analytics Insights as diagnostic
2024-02-05 16:03:14 +01:00
Erik Montnemery
ebda0472e9 Bump hass-nabucasa from 0.76.0 to 0.77.0 (#109699) 2024-02-05 15:11:39 +01:00
Joakim Sørensen
d49eff651b Fix log string in Traccar Server Coordinator (#109709) 2024-02-05 15:10:32 +01:00
Marc Mueller
bf8bd5ff21 Use dict.get instead of inline if (#109693) 2024-02-05 13:56:10 +01:00
Erik Montnemery
30710815f0 Add test of remote enabling of remote UI (#109698) 2024-02-05 13:07:57 +01:00
Joost Lekkerkerker
70ceddf165 Set shorthand attribute in Epion (#109695) 2024-02-05 12:41:25 +01:00
Marcel van der Veldt
682fff73f5 Bump python matter server to 5.4.1 (#109692) 2024-02-05 12:40:40 +01:00
Joost Lekkerkerker
8022d758ea Add data descriptions to analytics insights (#109694) 2024-02-05 12:30:09 +01:00
Erik Montnemery
f1d3c417f9 Remove homeassistant_yellow config entry if hassio is not present (#109686) 2024-02-05 12:29:25 +01:00
Erik Montnemery
048d9e75e6 Remove homeassistant_green config entry if hassio is not present (#109685) 2024-02-05 12:26:58 +01:00
J. Nick Koston
40166ed51e Avoid linear search of device registry when no areas are referenced in service calls (#109669) 2024-02-05 12:26:08 +01:00
Erik Montnemery
93e0810938 Remove hardkernel config entry if hassio is not present (#109680) 2024-02-05 12:25:26 +01:00
Erik Montnemery
c096ac56db Remove raspberry_pi config entry if hassio is not present (#109687) 2024-02-05 12:23:30 +01:00
Marc Mueller
8b0c9d3d18 Use builtin TimeoutError [t-z] (#109683) 2024-02-05 12:20:36 +01:00
Marc Mueller
438d3b01b9 Use builtin TimeoutError [o-s] (#109682) 2024-02-05 12:14:37 +01:00
Marc Mueller
cd0ee98dba Use builtin TimeoutError [core + helpers] (#109684) 2024-02-05 12:09:54 +01:00
Marc Mueller
a9147cf3dd Use builtin TimeoutError [k-n] (#109681) 2024-02-05 12:08:18 +01:00
Marc Mueller
7a89e58873 Use builtin TimeoutError [e-i] (#109679) 2024-02-05 12:00:37 +01:00
Marc Mueller
c82933175d Use builtin TimeoutError [a-d] (#109678) 2024-02-05 11:31:33 +01:00
Myles Eftos
41a256a3ff Show site state in Amberelectric config flow (#104702) 2024-02-05 10:53:42 +01:00
spycle
bfebde0f79 Bump pyMicrobot to 0.0.10 (#109628) 2024-02-05 10:34:14 +01:00
Franck Nijhof
ecc6cc280a Bump version to 2024.2.0b7 2024-02-05 09:41:55 +01:00
David F. Mulcahey
f50afd6004 Buffer TImeoutError in Flo (#109675) 2024-02-05 09:41:45 +01:00
Michael
44ecaa740b Add missing translation string to Home Assistant Analytics Insights (#109666)
add missing string
2024-02-05 09:41:42 +01:00
Michael
91b1a8e962 Add icon translation to proximity (#109664)
add icon translations
2024-02-05 09:41:39 +01:00
Malte Franken
74f1b18b73 Bump georss-generic-client to 0.8 (#109658) 2024-02-05 09:41:36 +01:00
Michael
8ab1c044bd Add zone related sensors in proximity (#109630)
* move legacy needed convertions into legacy entity

* add zone related sensors

* fix test coverage

* fix typing

* fix entity name translations

* rename placeholder to tracked_entity
2024-02-05 09:41:33 +01:00
Leah Oswald
66d8856033 Fix home connect remaining progress time (#109525)
* fix remaining progress time for home connect component

The home connect API is sending some default values (on dishwashers) for
the remaining progress time after the program finished. This is a problem
because this value is stored and on every API event, for example opening
the door of a dishwasher, the value for remaining progress time is
updated with this wrong value. So I see a wrong value the whole time the
dishwasher is not running and therefore has no remaining progress time.
This coming fixes this problem and adds a check if the appliance is in
running, pause or finished state, because there we have valid data. In
the other states the new code just returns none like on other edge
cases. Now there is no value if there is no program running.

* fix some formating according to the ruff rules

* fix some formating according to the ruff rules again

* fix alphabetic order of imports

* add check if keys exist in dict before accessing them

check if BSH_OPERATION_STATE and ATTR_VALUE key values exist before
accessing them later in the elif statement

* fix formating because forgotten local ruff run
2024-02-05 09:41:30 +01:00
Kevin Worrel
5c1e4379a9 Screenlogic service refactor (#109041) 2024-02-05 09:41:27 +01:00
ollo69
bca9826e18 Don't create AsusWRT loadavg sensors when unavailable (#106790) 2024-02-05 09:41:23 +01:00
Kevin Worrel
0bfef71f1b Screenlogic service refactor (#109041) 2024-02-05 09:05:28 +01:00
ollo69
b56dd3f808 Don't create AsusWRT loadavg sensors when unavailable (#106790) 2024-02-05 09:03:43 +01:00
J. Nick Koston
458e1f3a5e Index area_ids in the entity registry (#109660) 2024-02-05 09:01:43 +01:00
Jan Bouwhuis
7ab1cdc2b3 Move nested code to class level as static method in imap coordinator (#109665)
* Move _decode_payload to module level in imap coordinator

* Make static method
2024-02-05 08:59:03 +01:00
David F. Mulcahey
c9fd97c6a3 Buffer TImeoutError in Flo (#109675) 2024-02-05 08:58:08 +01:00
dependabot[bot]
0a8e4b5958 Bump github/codeql-action from 3.23.2 to 3.24.0 (#109677)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-05 08:55:39 +01:00
J. Nick Koston
57f4f061a6 Use identity check in hassio websocket ingress (#109672) 2024-02-05 08:55:19 +01:00
jjlawren
a5bd0292da Bump plexapi to 4.15.9 (#109676) 2024-02-05 08:52:37 +01:00
Michael
c34f5dd0b9 Add icon translation to proximity (#109664)
add icon translations
2024-02-05 01:36:11 +01:00
Michael
31ad48b2b7 Add missing translation string to Home Assistant Analytics Insights (#109666)
add missing string
2024-02-05 01:27:42 +01:00
Michael
ffe9f0825a Add zone related sensors in proximity (#109630)
* move legacy needed convertions into legacy entity

* add zone related sensors

* fix test coverage

* fix typing

* fix entity name translations

* rename placeholder to tracked_entity
2024-02-05 00:42:07 +01:00
Ernst Klamer
a95a51da05 Add Xiaomi-ble remotes and dimmers (#109327) 2024-02-05 00:30:47 +01:00
Malte Franken
3def42726a Bump georss-generic-client to 0.8 (#109658) 2024-02-05 00:27:49 +01:00
Tucker Kern
3abc48b7c1 Add icons for fan preset modes (#109334)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-02-04 23:58:44 +01:00
Leah Oswald
02fb60b33e Fix home connect remaining progress time (#109525)
* fix remaining progress time for home connect component

The home connect API is sending some default values (on dishwashers) for
the remaining progress time after the program finished. This is a problem
because this value is stored and on every API event, for example opening
the door of a dishwasher, the value for remaining progress time is
updated with this wrong value. So I see a wrong value the whole time the
dishwasher is not running and therefore has no remaining progress time.
This coming fixes this problem and adds a check if the appliance is in
running, pause or finished state, because there we have valid data. In
the other states the new code just returns none like on other edge
cases. Now there is no value if there is no program running.

* fix some formating according to the ruff rules

* fix some formating according to the ruff rules again

* fix alphabetic order of imports

* add check if keys exist in dict before accessing them

check if BSH_OPERATION_STATE and ATTR_VALUE key values exist before
accessing them later in the elif statement

* fix formating because forgotten local ruff run
2024-02-04 23:56:12 +01:00
J. Nick Koston
73589015c3 Improve scalability of DHCP matchers (#109406) 2024-02-04 16:50:08 -06:00
Franck Nijhof
3a067d445d Bump version to 2024.2.0b6 2024-02-04 23:25:49 +01:00
Franck Nijhof
4d7c96205d Fix Tuya reauth_successful translation string (#109659) 2024-02-04 23:25:41 +01:00
Jan-Philipp Benecke
3934524d4a Add icon translations to Utility meter helper (#109656) 2024-02-04 23:25:37 +01:00
Franck Nijhof
5747f8ce9d Improve Tuya token/reauth handling (#109653) 2024-02-04 23:25:34 +01:00
Joost Lekkerkerker
02ebf1d7f8 Add icon translations to Random (#109652) 2024-02-04 23:25:31 +01:00
Joost Lekkerkerker
d789e83879 Add icon translations to Counter (#109651) 2024-02-04 23:25:28 +01:00
Joost Lekkerkerker
ce29b4a7e3 Add icon translations to derivative (#109650) 2024-02-04 23:25:25 +01:00
Joost Lekkerkerker
e2695ba88f Allow the helper integrations to omit icon translation field (#109648) 2024-02-04 23:25:22 +01:00
G Johansson
7ca83a7648 Add debug logger for cpu temp in System Monitor (#109627) 2024-02-04 23:25:19 +01:00
G Johansson
c0efec4a84 Fix repairs for remove dates in Workday (#109626) 2024-02-04 23:25:16 +01:00
Franck Nijhof
f766fbfb98 Fix Tuya QR code expiry, use native QR selector (#109615)
* Fix Tuya QR code expiry, use native QR selector

* Adjust tests
2024-02-04 23:25:14 +01:00
Franck Nijhof
bd78c44ac5 Update orjson to 3.9.13 (#109614) 2024-02-04 23:25:11 +01:00
Jan Bouwhuis
fd2469e2a7 Fix imap message part decoding (#109523) 2024-02-04 23:25:08 +01:00
Cody C
a7010e3e80 Handle GeoJSON int to str conversion when the name is an int (#108937)
Co-authored-by: Chris Roberts <NasaGeek@users.noreply.github.com>
2024-02-04 23:25:04 +01:00
Joost Lekkerkerker
52d27230bc Add icon translations to Random (#109652) 2024-02-04 23:23:10 +01:00
Jan-Philipp Benecke
f18448950c Add icon translations to Utility meter helper (#109656) 2024-02-04 23:21:57 +01:00
Franck Nijhof
945aff6050 Fix Tuya reauth_successful translation string (#109659) 2024-02-04 23:21:18 +01:00
Joost Lekkerkerker
0b3ed92a6e Add icon translations to derivative (#109650) 2024-02-04 23:20:46 +01:00
Joost Lekkerkerker
c3690e74c5 Add icon translations to Counter (#109651) 2024-02-04 23:20:14 +01:00
J. Nick Koston
9fef1938b4 Make get_entries_for_device_id skip disabled devices by default (#109645) 2024-02-04 23:11:56 +01:00
Joost Lekkerkerker
2c0b897658 Allow the helper integrations to omit icon translation field (#109648) 2024-02-04 22:57:11 +01:00
Franck Nijhof
10d3b10da4 Improve Tuya token/reauth handling (#109653) 2024-02-04 22:56:22 +01:00
spycle
63ec20ab5d Fix keymitt_ble config-flow (#109644)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-04 22:50:28 +01:00
Aaron Bach
edc6e3e2f9 Bump aionotion to 2024.02.0 (#109577) 2024-02-04 14:35:08 -07:00
Cody C
770119c8ad Handle GeoJSON int to str conversion when the name is an int (#108937)
Co-authored-by: Chris Roberts <NasaGeek@users.noreply.github.com>
2024-02-04 21:26:05 +01:00
Jan Bouwhuis
7cc0b8a2fe Fix imap message part decoding (#109523) 2024-02-04 21:25:14 +01:00
J. Nick Koston
f37db94f23 Avoid linear search of entity registry in async_get_device_automations (#109633) 2024-02-04 14:22:12 -06:00
J. Nick Koston
6003ae149a Avoid linear search of entity registry in ruckus_unleashed (#109643) 2024-02-04 15:20:55 -05:00
J. Nick Koston
74812261d4 Avoid linear search of entity registry in rainmachine (#109642) 2024-02-04 21:17:40 +01:00
J. Nick Koston
113d38361d Avoid linear search of entity registry in nmap_tracker (#109640) 2024-02-04 15:16:31 -05:00
G Johansson
bc45b31335 Fix repairs for remove dates in Workday (#109626) 2024-02-04 21:15:17 +01:00
J. Nick Koston
babfdaac54 Avoid linear search of entity registry in mikrotik (#109639) 2024-02-04 21:13:23 +01:00
J. Nick Koston
3531444e2e Avoid linear search of entity registry in huawei_lte (#109637) 2024-02-04 21:13:06 +01:00
J. Nick Koston
13a5038c17 Avoid linear search of entity registry in lcn (#109638) 2024-02-04 21:12:43 +01:00
J. Nick Koston
6ccf82d7b1 Avoid linear search of entity registry in keenetic_ndms2 (#109635) 2024-02-04 21:12:24 +01:00
J. Nick Koston
c988d3d427 Avoid linear search of entity registry in guardian (#109634) 2024-02-04 21:11:56 +01:00
J. Nick Koston
b24b4fc237 Use get_entries_for_config_entry_id helper in async_migrate_entries (#109629) 2024-02-04 21:05:48 +01:00
J. Nick Koston
7e3001f843 Remove default values from calls to async_fire (#109613)
There were a few places were we passing unnecessary default values. Since
this code tends to get copied, remove them
2024-02-04 14:49:42 -05:00
J. Nick Koston
a7c074e388 Reduce complexity of shelly button setup (#109625) 2024-02-04 13:38:36 -06:00
G Johansson
7572a73c16 Add debug logger for cpu temp in System Monitor (#109627) 2024-02-04 20:11:28 +01:00
Franck Nijhof
b553bb71e6 Fix Tuya QR code expiry, use native QR selector (#109615)
* Fix Tuya QR code expiry, use native QR selector

* Adjust tests
2024-02-04 18:58:09 +01:00
Joakim Sørensen
e96f574a79 Add diagnostics platform to Traccar Server (#109521) 2024-02-04 18:40:44 +01:00
Franck Nijhof
c14ad6455f Update orjson to 3.9.13 (#109614) 2024-02-04 11:37:16 -06:00
J. Nick Koston
8d4f32645d Add tests for shelly switch unique ids (#109617) 2024-02-04 11:23:33 -06:00
J. Nick Koston
e35c7fde89 Avoid many string lowers in the state machine (#109607) 2024-02-04 17:35:35 +01:00
Cody C
2c91b31233 Remove default name prefix of HomePods from Suggested Area in Apple TV integration (#109489) 2024-02-04 17:22:22 +01:00
David F. Mulcahey
8a9478b714 Update Flo test to address review comment (#109604)
* Update Flo test to address review comment

* update comment

* clean up

* cleanup

* change mock

* remove unnecessary assert

* review comment
2024-02-04 17:05:51 +01:00
Franck Nijhof
d379a9aaae Bump version to 2024.2.0b5 2024-02-04 15:59:46 +01:00
Michael
2dc630a4af Redact location names in proximity diagnostics (#109600) 2024-02-04 15:59:34 +01:00
Josef Zweck
ba0c065750 Bugfix lamarzocco issue (#109596) 2024-02-04 15:59:31 +01:00
tronikos
4fca06256b Fix Google generative AI service example (#109594)
Update strings.json
2024-02-04 15:59:28 +01:00
J. Nick Koston
0a25788822 Bump yalexs-ble to 2.4.1 (#109585)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.4.0...v2.4.1
2024-02-04 15:59:25 +01:00
G Johansson
94e1eaa15d Fix overkiz climate feature flags for valve heating (#109582)
* Fix overkiz climate feature flags for valve heating

* Update homeassistant/components/overkiz/climate_entities/valve_heating_temperature_interface.py
2024-02-04 15:59:22 +01:00
G Johansson
dfc26e4509 Fix group sensor uom's in not convertable device classes (#109580) 2024-02-04 15:59:20 +01:00
Matrix
b14add5914 Fix yolink abnormal status when LeakSensor detection mode changes to "no water detect" (#109575)
Add no water detect support
2024-02-04 15:59:17 +01:00
G Johansson
7be6aa455e Add back logging for core for feature flags in climate (#109572) 2024-02-04 15:59:14 +01:00
G Johansson
40636f2273 Add new climate feature flags to lyric (#109571) 2024-02-04 15:59:11 +01:00
G Johansson
f91f98e309 Add new climate feature flags to lookin (#109570) 2024-02-04 15:59:08 +01:00
G Johansson
838b1338b8 Add migrated climate feature flags to livisi (#109569) 2024-02-04 15:59:05 +01:00
G Johansson
d3aa7375f0 Add new climate feature flags to lightwave (#109568) 2024-02-04 15:59:02 +01:00
G Johansson
514ce59a8f Add new climate feature flags to lcn (#109566) 2024-02-04 15:58:59 +01:00
G Johansson
25063821e1 Add new climate feature flags to izone (#109565) 2024-02-04 15:58:56 +01:00
G Johansson
b3c257fb79 Add new climate feature flags to isy994 (#109564) 2024-02-04 15:58:53 +01:00
G Johansson
cb02c2e6d0 Fix new climate feature flags in intesishome (#109563) 2024-02-04 15:58:50 +01:00
G Johansson
1000fae905 Add new climate feature flags to intellifire (#109562) 2024-02-04 15:58:47 +01:00
G Johansson
30b9a28502 Add new climate feature flags to insteon (#109560) 2024-02-04 15:58:44 +01:00
G Johansson
42bf086c97 Add migrated climate feature flags to incomfort (#109559) 2024-02-04 15:58:41 +01:00
G Johansson
064f412da4 Add new climate feature flags to iaqualink (#109558) 2024-02-04 15:58:38 +01:00
G Johansson
122652b396 Add new climate feature flags to huum (#109557)
Adds new climate feature flags to huum
2024-02-04 15:58:36 +01:00
G Johansson
32b25c7e53 Add new climate feature flags to honeywell (#109556)
Adds new climate feature flags to honeywell
2024-02-04 15:58:33 +01:00
G Johansson
83c487a319 Add migrated climate feature flags to homematicip_cloud (#109555)
Adds migrated climate feature flags to homematicip_cloud
2024-02-04 15:58:30 +01:00
G Johansson
75c0c7bda0 Add new climate feature flags to homematic (#109554)
Adds new climate feature flags to homematic
2024-02-04 15:58:27 +01:00
G Johansson
4d7abbf8c5 Add new climate feature flags to hive (#109553)
Adds new climate feature flags to hive
2024-02-04 15:58:24 +01:00
G Johansson
bf4bc9d935 Add new climate feature flags to hisense (#109552)
Adds new climate feature flags to hisense
2024-02-04 15:58:21 +01:00
G Johansson
e1699b4d65 Add new climate feature flags to heatmiser (#109551)
Adds new climate feature flags to heatmiser
2024-02-04 15:58:18 +01:00
G Johansson
67362db547 Add new climate feature flags to gree (#109550)
Adds new climate feature flags to gree
2024-02-04 15:58:15 +01:00
G Johansson
dafdcd369c Add new climate feature flags to geniushub (#109549)
Adds new climate feature flags to geniushub
2024-02-04 15:58:12 +01:00
G Johansson
384070c158 Add new climate feature flags to generic_thermostat (#109548)
Adds new climate feature flags to generic_thermostat
2024-02-04 15:58:09 +01:00
G Johansson
46016004fa Add migrated climate feature flags to fritzbox (#109547)
Adds migrated climate feature flags to fritzbox
2024-02-04 15:58:07 +01:00
G Johansson
38fcc88c57 Add new climate feature flags to freedompro (#109546)
Adds new climate feature flags to freedompro
2024-02-04 15:58:04 +01:00
G Johansson
9cde864224 Add new climate feature flags to escea (#109545)
Adds new climate feature flags to escea
2024-02-04 15:58:01 +01:00
G Johansson
439f1766a0 Add new climate feature flags to ephember (#109544)
Adds new climate feature flags to ephember
2024-02-04 15:57:58 +01:00
G Johansson
12e32fb799 Adds new climate feature flags to elkm1 (#109543) 2024-02-04 15:57:55 +01:00
G Johansson
14ad2e91f3 Add new climate feature flags to electrasmart (#109542)
Adds new climate feature flags to electrasmart
2024-02-04 15:57:52 +01:00
G Johansson
8c0cd6bbab Add new climate feature flags to econet (#109541)
Adds new climate feature flags to econet
2024-02-04 15:57:49 +01:00
G Johansson
c02e96c5c0 Add new climate feature flags to ecobee (#109540)
Adds new climate feature flags to ecobee
2024-02-04 15:57:46 +01:00
G Johansson
3a08e3bec6 Add new climate feature flags to duotecno (#109539)
Adds new climate feature flags to duotecno
2024-02-04 15:57:43 +01:00
G Johansson
a62c05b983 Add migrated climate feature flags to devolo home control (#109538)
Adds migrated climate feature flags to devolo home control
2024-02-04 15:57:40 +01:00
G Johansson
79846d5668 Add migrated climate feature flags to daikin (#109537)
Adds migrated climate feature flags to daikin
2024-02-04 15:57:38 +01:00
G Johansson
482032cb87 Add migrated climate feature flags to coolmaster (#109536)
Adds migrated climate feature flags to coolmaster
2024-02-04 15:57:35 +01:00
G Johansson
9ebf985010 Add new climate feature flags to comelit (#109535)
Adds new climate feature flags to comelit
2024-02-04 15:57:32 +01:00
G Johansson
f16c0bd559 Add new climate feature flags to ccm15 (#109534)
Adds new climate feature flags to ccm15
2024-02-04 15:57:29 +01:00
Cody C
1df5ad23ef Fix empty error modal when adding duplicate Thread integration (#109530) 2024-02-04 15:57:26 +01:00
David F. Mulcahey
d99ba75ed8 Prevent Flo devices and entities from going unavailable when a single refresh fails (#109522)
* Prevent Flo devices and entities from going unavailable when a single refresh fails

* review comment
2024-02-04 15:57:23 +01:00
TheJulianJES
ceeef1eacc Move climate feature flags to child classes for airzone_cloud (#109515) 2024-02-04 15:57:20 +01:00
Klaas Schoute
856780ed30 Bump easyenergy lib to v2.1.1 (#109510) 2024-02-04 15:57:17 +01:00
Joakim Plate
500b0a9b52 Correct flow rate conversion review after merge (#109501) 2024-02-04 15:57:14 +01:00
G Johansson
855edba3a2 Add new climate feature flags for plugwise (#109464) 2024-02-04 15:57:11 +01:00
G Johansson
e7203d6015 Add new climate feature flags to switcher_kis (#109459) 2024-02-04 15:57:08 +01:00
G Johansson
97446a5af3 Add migrated climate feature flag to switchbee (#109458) 2024-02-04 15:57:05 +01:00
G Johansson
ac2e05b5c0 Add climate feature flags to spider (#109456) 2024-02-04 15:57:02 +01:00
G Johansson
af07ac120e Add new climate feature flags to tuya (#109434) 2024-02-04 15:57:00 +01:00
G Johansson
f2de666c54 Add new climate feature flags to esphome (#109428) 2024-02-04 15:56:57 +01:00
G Johansson
38288dd68e Add new climate feature flags for airtouch5 (#109422)
* Add new climate feature flags for airtouch5

* adapt
2024-02-04 15:56:54 +01:00
G Johansson
3e2f97d105 Add ClimateEntityFeatures to airtouch4 (#109421)
* Add ClimateEntityFeatures to airtouch4

* adapt
2024-02-04 15:56:51 +01:00
Michael
5f014f42ac Avoid duplicate entity names in proximity (#109413)
* avoid duplicate config entry title

* consecutive range 2..10

* use existing logic
2024-02-04 15:56:48 +01:00
Josef Zweck
4b2adab24d Revert "Add webhook support to tedee integration (#106846)" (#109408) 2024-02-04 15:56:45 +01:00
J. Nick Koston
3db0331378 Avoid converting to same units when compiling stats (#109531) 2024-02-04 15:21:05 +01:00
Klaas Schoute
9de9852c94 Add SamSam virtual integration (#109602) 2024-02-04 15:18:24 +01:00
Klaas Schoute
7042ae0596 Add ZonderGas virtual integration (#109601) 2024-02-04 15:16:25 +01:00
J. Nick Koston
2f724b042b Avoid looking up services to check if they support responses (#109588)
We already have the Service object as its the value in the
services_map so there is not need to look it up again
2024-02-04 15:15:51 +01:00
G Johansson
e877113b21 Add back logging for core for feature flags in climate (#109572) 2024-02-04 15:15:00 +01:00
J. Nick Koston
a74516a80d Cache path for Store helper (#109587) 2024-02-04 15:13:58 +01:00
Michael
ac8a4f4b05 Redact location names in proximity diagnostics (#109600) 2024-02-04 15:12:08 +01:00
G Johansson
8ef2bece59 Add new climate feature flags to lyric (#109571) 2024-02-04 15:03:48 +01:00
G Johansson
846dae675c Add new climate feature flags to lcn (#109566) 2024-02-04 15:03:14 +01:00
G Johansson
2950c402d7 Fix new climate feature flags in intesishome (#109563) 2024-02-04 15:02:52 +01:00
Josef Zweck
ae70729932 Revert "Add webhook support to tedee integration (#106846)" (#109408) 2024-02-04 15:02:21 +01:00
Joakim Plate
eefc6cd50a Correct flow rate conversion review after merge (#109501) 2024-02-04 15:01:06 +01:00
G Johansson
e109ed53eb Add new climate feature flags to switcher_kis (#109459) 2024-02-04 15:00:31 +01:00
G Johansson
c732668d6e Add migrated climate feature flag to switchbee (#109458) 2024-02-04 14:59:34 +01:00
G Johansson
9831da34ce Add new climate feature flags to esphome (#109428) 2024-02-04 14:57:26 +01:00
G Johansson
baa511b808 Fix group sensor uom's in not convertable device classes (#109580) 2024-02-04 14:56:23 +01:00
Michael
17f1aa644b Avoid duplicate entity names in proximity (#109413)
* avoid duplicate config entry title

* consecutive range 2..10

* use existing logic
2024-02-04 13:26:51 +01:00
G Johansson
6e5a085413 Add new climate feature flags to tuya (#109434) 2024-02-04 11:40:37 +01:00
G Johansson
37f3fcbdaf Add climate feature flags to spider (#109456) 2024-02-04 11:39:04 +01:00
G Johansson
89d77ee8ab Add new climate feature flags for plugwise (#109464) 2024-02-04 11:37:52 +01:00
J. Nick Koston
7d9935d24b Reduce overhead to convert history to float states (#109526) 2024-02-04 11:37:14 +01:00
TheJulianJES
9fbf00bdd3 Move climate feature flags to child classes for airzone_cloud (#109515) 2024-02-04 11:30:30 +01:00
Josef Zweck
6c41540ad8 Bugfix lamarzocco issue (#109596) 2024-02-04 11:29:32 +01:00
G Johansson
83380c0f7d Add new climate feature flags to insteon (#109560) 2024-02-04 10:42:32 +01:00
G Johansson
6e38da15f0 Add migrated climate feature flags to incomfort (#109559) 2024-02-04 10:41:53 +01:00
G Johansson
0b3f4f1720 Add new climate feature flags to honeywell (#109556)
Adds new climate feature flags to honeywell
2024-02-04 10:41:07 +01:00
G Johansson
552b14c5e8 Add new climate feature flags to homematic (#109554)
Adds new climate feature flags to homematic
2024-02-04 10:40:02 +01:00
G Johansson
b655507738 Add new climate feature flags to generic_thermostat (#109548)
Adds new climate feature flags to generic_thermostat
2024-02-04 10:38:09 +01:00
G Johansson
6b6d0606ac Add new climate feature flags to electrasmart (#109542)
Adds new climate feature flags to electrasmart
2024-02-04 10:31:23 +01:00
G Johansson
f154b7f2d9 Add new climate feature flags to econet (#109541)
Adds new climate feature flags to econet
2024-02-04 10:30:09 +01:00
G Johansson
7730efdaa2 Add new climate feature flags to ecobee (#109540)
Adds new climate feature flags to ecobee
2024-02-04 10:28:49 +01:00
G Johansson
d7c6e85cc4 Add new climate feature flags to comelit (#109535)
Adds new climate feature flags to comelit
2024-02-04 10:28:10 +01:00
Cody C
153c82c2d2 Fix empty error modal when adding duplicate Thread integration (#109530) 2024-02-04 10:25:31 +01:00
J. Nick Koston
0a248d0f87 Bump yalexs-ble to 2.4.1 (#109585)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.4.0...v2.4.1
2024-02-04 10:17:13 +01:00
tronikos
ac20d49c8f Fix Google generative AI service example (#109594)
Update strings.json
2024-02-04 10:13:35 +01:00
Matrix
630c8b28ca Fix yolink abnormal status when LeakSensor detection mode changes to "no water detect" (#109575)
Add no water detect support
2024-02-04 08:27:57 +01:00
G Johansson
f6d2f6117a Fix overkiz climate feature flags for valve heating (#109582)
* Fix overkiz climate feature flags for valve heating

* Update homeassistant/components/overkiz/climate_entities/valve_heating_temperature_interface.py
2024-02-04 03:52:33 +01:00
G Johansson
5041ee3c28 Add new climate feature flags to ephember (#109544)
Adds new climate feature flags to ephember
2024-02-04 03:29:29 +01:00
G Johansson
5f8248dc77 Add migrated climate feature flags to fritzbox (#109547)
Adds migrated climate feature flags to fritzbox
2024-02-04 02:32:35 +01:00
G Johansson
810e5f9f67 Add migrated climate feature flags to livisi (#109569) 2024-02-04 02:31:05 +01:00
G Johansson
a2d574355b Add new climate feature flags to izone (#109565) 2024-02-04 02:30:55 +01:00
G Johansson
470aef7483 Add new climate feature flags to lightwave (#109568) 2024-02-04 02:30:08 +01:00
G Johansson
c94eb436fb Add new climate feature flags to heatmiser (#109551)
Adds new climate feature flags to heatmiser
2024-02-04 02:29:56 +01:00
G Johansson
24be51b223 Add new climate feature flags to iaqualink (#109558) 2024-02-04 02:29:40 +01:00
G Johansson
b376f93fe6 Add migrated climate feature flags to homematicip_cloud (#109555)
Adds migrated climate feature flags to homematicip_cloud
2024-02-04 02:28:45 +01:00
G Johansson
cfeafb410c Add new climate feature flags to huum (#109557)
Adds new climate feature flags to huum
2024-02-04 02:28:33 +01:00
G Johansson
97db23fe82 Add new climate feature flags to intellifire (#109562) 2024-02-04 02:28:15 +01:00
G Johansson
a173655050 Add new climate feature flags to hive (#109553)
Adds new climate feature flags to hive
2024-02-04 02:27:42 +01:00
G Johansson
b5055df374 Add new climate feature flags to hisense (#109552)
Adds new climate feature flags to hisense
2024-02-04 02:27:30 +01:00
G Johansson
5f02d17873 Add new climate feature flags to duotecno (#109539)
Adds new climate feature flags to duotecno
2024-02-04 02:27:04 +01:00
G Johansson
f5ca82923d Add migrated climate feature flags to devolo home control (#109538)
Adds migrated climate feature flags to devolo home control
2024-02-04 02:26:53 +01:00
G Johansson
45d8581bf1 Add new climate feature flags to gree (#109550)
Adds new climate feature flags to gree
2024-02-04 02:26:44 +01:00
G Johansson
3429a4733d Add new climate feature flags to escea (#109545)
Adds new climate feature flags to escea
2024-02-04 02:24:28 +01:00
G Johansson
39bd9cf6a2 Add new climate feature flags to freedompro (#109546)
Adds new climate feature flags to freedompro
2024-02-04 02:24:18 +01:00
G Johansson
760cbaa939 Add new climate feature flags to geniushub (#109549)
Adds new climate feature flags to geniushub
2024-02-04 02:23:59 +01:00
G Johansson
ec6122abd5 Add migrated climate feature flags to daikin (#109537)
Adds migrated climate feature flags to daikin
2024-02-04 02:23:23 +01:00
G Johansson
6661b53530 Add new climate feature flags for airtouch5 (#109422)
* Add new climate feature flags for airtouch5

* adapt
2024-02-04 02:23:06 +01:00
G Johansson
e649fe9380 Add migrated climate feature flags to coolmaster (#109536)
Adds migrated climate feature flags to coolmaster
2024-02-04 02:22:43 +01:00
G Johansson
b49193caf7 Add new climate feature flags to lookin (#109570) 2024-02-03 19:11:02 -06:00
G Johansson
dd587d6fe5 Add new climate feature flags to isy994 (#109564) 2024-02-03 19:10:34 -06:00
G Johansson
ebf533f0ff Add new climate feature flags to ccm15 (#109534)
Adds new climate feature flags to ccm15
2024-02-04 01:18:25 +01:00
G Johansson
96f0fc9ae5 Add ClimateEntityFeatures to airtouch4 (#109421)
* Add ClimateEntityFeatures to airtouch4

* adapt
2024-02-04 00:47:05 +01:00
G Johansson
a7b52c8dd7 Adds new climate feature flags to elkm1 (#109543) 2024-02-04 00:46:47 +01:00
David F. Mulcahey
63da42f394 Prevent Flo devices and entities from going unavailable when a single refresh fails (#109522)
* Prevent Flo devices and entities from going unavailable when a single refresh fails

* review comment
2024-02-03 18:30:00 -05:00
Brett Adams
da29b4ef16 Add Speed Limit to Tessie lock platform (#106527)
* Add speed limit

* Make regex more readable

* Add tests

* Add test

* Ruff

* Remove extra line

* Update snapshot

* Remove bad snapshot
2024-02-03 22:21:19 +01:00
Klaas Schoute
7e299c2142 Bump easyenergy lib to v2.1.1 (#109510) 2024-02-03 20:20:17 +01:00
J. Nick Koston
1c268b1724 Bump mopeka-iot-ble to 0.7.0 (#109516) 2024-02-03 12:11:40 -06:00
Aidas Klimas
978d2a79f6 Bump qingping_ble to 0.10.0 - Add support for GCP22C (Qingping CO2 Temp RH) (#108567)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-03 11:23:19 -06:00
Matthias Alphart
ad0ee7d781 Update pyfronius to 0.7.3 (#109507) 2024-02-03 17:34:50 +02:00
Franck Nijhof
ef6fed5067 Bump version to 2024.2.0b4 2024-02-03 14:42:00 +01:00
Jan-Philipp Benecke
0a627aed6d Fix Tankerkoenig diagnostics file to use right format (#109494)
Fix tankerkoenig diagnostics file
2024-02-03 14:40:26 +01:00
Joakim Sørensen
cb03a6e29b Change IoT class for Traccar Client (#109493) 2024-02-03 14:40:23 +01:00
Joakim Sørensen
e630027455 Extend the history of Elvia history to 3 years (#109490)
Extend the history of Elvia data to 3 years
2024-02-03 14:40:21 +01:00
G Johansson
280d7ef4ec Add new climate feature flags to deconz (#109482) 2024-02-03 14:40:18 +01:00
G Johansson
93b7ffa807 Add new climate feature flags to demo (#109481) 2024-02-03 14:40:15 +01:00
G Johansson
cc8e9ac141 Adds new climate feature flags to bsblan (#109480) 2024-02-03 14:40:12 +01:00
G Johansson
2724b115da Adds new climate feature flags to broadlink (#109479) 2024-02-03 14:40:09 +01:00
G Johansson
150fb151fa Add new climate feature flags to blebox (#109478) 2024-02-03 14:40:06 +01:00
G Johansson
4b8cb35ba0 Adds migrated climate feature flags in balboa (#109477) 2024-02-03 14:40:03 +01:00
G Johansson
5cce878b85 Adds new climate feature flags in baf (#109476) 2024-02-03 14:40:00 +01:00
G Johansson
92ebc5b436 Adds new climate feature flags to ambiclimate (#109475) 2024-02-03 14:39:57 +01:00
G Johansson
463320c8ee Adds migrated climate feature flags in nuheat (#109474) 2024-02-03 14:39:54 +01:00
G Johansson
3bf5fa9302 Adds migrated climate feature flags to nobo_hub (#109473) 2024-02-03 14:39:51 +01:00
G Johansson
650ab70444 Add migrated climate feature flags to nexia (#109472) 2024-02-03 14:39:48 +01:00
G Johansson
bb8a74a3f4 Add new climate feature flags to mysensors (#109471)
Adds new climate feature flags to mysensors
2024-02-03 14:39:45 +01:00
G Johansson
49445c46a0 Add migrated climate feature flags to moehlenhoff (#109470) 2024-02-03 14:39:42 +01:00
G Johansson
490101fa92 Adds new climate feature flags to melissa (#109469) 2024-02-03 14:39:39 +01:00
G Johansson
2ac4bb8e9f Add new feature flags to melcloud (#109468) 2024-02-03 14:39:36 +01:00
G Johansson
1c0a6970e2 Adds new climate feature flags to maxcube (#109467) 2024-02-03 14:39:33 +01:00
G Johansson
f3f69a8107 Add new climate feature flags to radiotherm (#109466) 2024-02-03 14:39:30 +01:00
G Johansson
a77bcccbbb Adds migrated climate feature flags for proliphix (#109465) 2024-02-03 14:39:28 +01:00
G Johansson
e98da8596a Add migrated climate feature flags to overkiz (#109463) 2024-02-03 14:39:25 +01:00
G Johansson
5843c93371 Add migrated climate feature flags to opentherm_gw (#109462) 2024-02-03 14:39:22 +01:00
G Johansson
5991b06574 Add new climate feature flags to oem (#109461) 2024-02-03 14:39:19 +01:00
G Johansson
fecdfbfb9f Add new climate feature flags to stiebel_eltron (#109457) 2024-02-03 14:39:16 +01:00
G Johansson
8cfe3821da Add migrated climate feature flags to senz (#109455) 2024-02-03 14:39:13 +01:00
G Johansson
cba67d1525 Add new climate feature flags to screenlogic (#109454) 2024-02-03 14:39:10 +01:00
G Johansson
39df394414 Add migrated climate feature flags to schluter (#109452) 2024-02-03 14:39:07 +01:00
G Johansson
db91a40b55 Add migrated climate feature flags to touchline (#109451) 2024-02-03 14:39:04 +01:00
G Johansson
3181358484 Add migrated climate feature flags to toon (#109450) 2024-02-03 14:39:01 +01:00
G Johansson
776e2da4e6 Add migrated climate feature flags to tolo (#109449) 2024-02-03 14:38:58 +01:00
G Johansson
72ffdf4f4b Add new climate feature flags to tfiac (#109448) 2024-02-03 14:38:55 +01:00
G Johansson
36bba95fd0 Add migrated climate feature flags for tessie (#109447) 2024-02-03 14:38:52 +01:00
G Johansson
13fc69d8a8 Add migrated climate feature flags to teslemetry (#109446) 2024-02-03 14:38:49 +01:00
G Johansson
94464f220c Add migrated climate feature flags to zwave_me (#109445) 2024-02-03 14:38:46 +01:00
G Johansson
13decb9b10 Add new climate feature flags to zhong_hong (#109444) 2024-02-03 14:38:44 +01:00
G Johansson
b6226acd2b Add migrated climate feature flags to zha (#109443) 2024-02-03 14:38:41 +01:00
G Johansson
d04282a41c Add new climate feature flags to yolink (#109442) 2024-02-03 14:38:38 +01:00
G Johansson
a671d0bc6c Add migrated climate feature flags to xs1 (#109441) 2024-02-03 14:38:35 +01:00
G Johansson
6c84e8dff0 Add new climate feature flags to whirlpool (#109440) 2024-02-03 14:38:32 +01:00
G Johansson
57279b1c7b Add migrated climate feature flags to vicare (#109439) 2024-02-03 14:38:29 +01:00
G Johansson
a5646e0df2 Add migrated feature flags to vera (#109438) 2024-02-03 14:38:26 +01:00
Teemu R
63ad3ebdf4 Add new OUIs for tplink (#109437) 2024-02-03 14:38:23 +01:00
G Johansson
f2a9ef6591 Add new climate feature flags to venstar (#109436) 2024-02-03 14:38:21 +01:00
G Johansson
2a5bb66c06 Adds migrated climate entity feature for velbus (#109435) 2024-02-03 14:38:18 +01:00
G Johansson
0c0be6d6a1 Add migrated climate feature flags to homekit_controller (#109433) 2024-02-03 14:38:15 +01:00
G Johansson
e99a58ad53 Add new climate feature flags to flexit_bacnet (#109431) 2024-02-03 14:38:12 +01:00
G Johansson
6c4b773bc1 Add migrated climate entity features to flexit (#109430) 2024-02-03 14:38:09 +01:00
G Johansson
c571f36c6c Add new climate feature flags to evohome (#109429) 2024-02-03 14:38:06 +01:00
G Johansson
f1b041afbe Add migrated climate feature flags to smarttub (#109427) 2024-02-03 14:38:03 +01:00
G Johansson
183af92658 Add migrated climate feature flags to smartthings (#109426) 2024-02-03 14:38:00 +01:00
G Johansson
d71dd12263 Add migrated climate feature flags to shelly (#109425) 2024-02-03 14:37:57 +01:00
G Johansson
18a7aa20b4 Adds new climate feature flags for airzone_cloud (#109424) 2024-02-03 14:37:54 +01:00
G Johansson
f8fde71ef3 Add new climate feature flags to airzone (#109423) 2024-02-03 14:37:51 +01:00
G Johansson
966798b588 Add migrated ClimateEntityFeatures to advantage_air (#109420)
* Add migrated ClimateEntityFeatures to advantage_air

* AdvantageAirZone
2024-02-03 14:37:48 +01:00
G Johansson
66b6f81996 Add migrated ClimateEntityFeature to MQTT (#109419) 2024-02-03 14:37:45 +01:00
G Johansson
4a1a5b9e87 Adds migrated ClimateEntityFeature to Netatmo (#109418) 2024-02-03 14:37:42 +01:00
G Johansson
f01f033b3f Add ClimateEntityFeatures to Nest (#109417) 2024-02-03 14:37:39 +01:00
G Johansson
cd884de79e Add new ClimateEntityFeature for Tado (#109416) 2024-02-03 14:37:36 +01:00
G Johansson
14be7e4a72 Add Mill migrated ClimateEntityFeatures (#109415) 2024-02-03 14:37:32 +01:00
Jc2k
2be71d53c5 Bump aiohomekit to 3.1.4 (#109414) 2024-02-03 14:37:25 +01:00
Michael Hansen
1c960d300d Bump intents to 2024.2.2 (#109412)
Bump intents to 2024.2.2
2024-02-03 14:35:31 +01:00
Michael Hansen
87a1482e4d Pass slots to error messages instead of IDs [rework] (#109410)
Co-authored-by: tetele <tm.sandu@gmail.com>
2024-02-03 14:33:14 +01:00
Jan-Philipp Benecke
24b8e60978 Bump aiotankerkoenig to 0.3.0 (#109404) 2024-02-03 14:23:42 +01:00
Jurriaan Pruis
404e30911b Bump matrix-nio to 0.24.0 (#109403)
Update matrix-nio to 0.24.0
2024-02-03 14:23:38 +01:00
wilburCforce
9c599f7513 Fix device type in Lutron (#109401)
remove testing code
2024-02-03 14:23:35 +01:00
Jan-Philipp Benecke
f3e8360949 Bump aioelectricitymaps to 0.3.0 (#109399)
* Bump aioelectricitymaps to 0.3.0

* Fix tests
2024-02-03 14:23:32 +01:00
Teemu R
43f8731f8a Bump python-kasa to 0.6.2.1 (#109397) 2024-02-03 14:23:29 +01:00
Michael Hansen
4a60d36216 More thorough checks in ESPHome voice assistant UDP server (#109394)
* More thorough checks in UDP server

* Simplify and change to stop_requested

* Check transport
2024-02-03 14:23:26 +01:00
Michael
07a1ee0baa Add diagnostics to proximity (#109393) 2024-02-03 14:23:23 +01:00
Franck Nijhof
a57c30be88 Update elgato to 5.1.2 (#109391) 2024-02-03 14:23:20 +01:00
jjlawren
b1bf69689e Do not suggest area for portable Sonos speakers (#109350)
* Do not suggest area for portable speakers

* Update tests

* Improve readability, update tests
2024-02-03 14:23:17 +01:00
Christopher Fenner
4735aadaa8 Ignore gateway devices in ViCare integration (#106477)
* filter unsupported devices

* Update __init__.py

* use debug

* remove dead code
2024-02-03 14:23:13 +01:00
J. Nick Koston
5bda4be88f Remove useless _handle_pipeline_event function in ESPHome (#109484) 2024-02-03 14:15:56 +01:00
Cody C
897ea272d6 Update Twinkly DHCP discovery addresses (#109495) 2024-02-03 14:12:55 +01:00
Christopher Fenner
bb8d742423 Ignore gateway devices in ViCare integration (#106477)
* filter unsupported devices

* Update __init__.py

* use debug

* remove dead code
2024-02-03 12:53:22 +01:00
Jurriaan Pruis
3f7d2da35c Bump matrix-nio to 0.24.0 (#109403)
Update matrix-nio to 0.24.0
2024-02-03 12:31:48 +01:00
G Johansson
33f3fb32d8 Add migrated climate feature flags to overkiz (#109463) 2024-02-03 12:25:52 +01:00
Michael Hansen
c6ea57458c Pass slots to error messages instead of IDs [rework] (#109410)
Co-authored-by: tetele <tm.sandu@gmail.com>
2024-02-03 12:14:33 +01:00
G Johansson
29556465de Add migrated climate feature flags to vicare (#109439) 2024-02-03 12:13:52 +01:00
G Johansson
6c8636ae7b Add new climate feature flags to evohome (#109429) 2024-02-03 12:13:20 +01:00
G Johansson
96feec9cbf Add migrated climate feature flags to smartthings (#109426) 2024-02-03 12:11:39 +01:00
G Johansson
8bec20ffa7 Add ClimateEntityFeatures to Nest (#109417) 2024-02-03 12:11:19 +01:00
G Johansson
5b9a3d5bd5 Add migrated ClimateEntityFeature to MQTT (#109419) 2024-02-03 12:08:58 +01:00
Jan-Philipp Benecke
c233a12946 Fix Tankerkoenig diagnostics file to use right format (#109494)
Fix tankerkoenig diagnostics file
2024-02-03 11:51:23 +01:00
G Johansson
98892f5b41 Add new feature flags to melcloud (#109468) 2024-02-03 11:18:40 +01:00
G Johansson
e0f0159304 Add new climate feature flags to blebox (#109478) 2024-02-03 11:18:00 +01:00
G Johansson
f15aa037ef Add new climate feature flags to deconz (#109482) 2024-02-03 11:17:20 +01:00
G Johansson
28337fb941 Add new climate feature flags to demo (#109481) 2024-02-03 11:07:56 +01:00
jjlawren
68797feac5 Do not suggest area for portable Sonos speakers (#109350)
* Do not suggest area for portable speakers

* Update tests

* Improve readability, update tests
2024-02-03 09:20:10 +01:00
Joakim Sørensen
d44b00f851 Change IoT class for Traccar Client (#109493) 2024-02-03 09:14:52 +01:00
Erik Montnemery
fe4dd2cb93 Improve color mode handling in light groups (#109390)
* Improve color mode handling in light groups

* Update config flow test
2024-02-03 09:00:00 +01:00
Joakim Sørensen
6f9876d5e0 Extend the history of Elvia history to 3 years (#109490)
Extend the history of Elvia data to 3 years
2024-02-03 08:16:28 +01:00
G Johansson
a1cbc62ddc Add new climate feature flags to mysensors (#109471)
Adds new climate feature flags to mysensors
2024-02-03 08:03:38 +01:00
Teemu R
5f1d20c5e2 Add new OUIs for tplink (#109437) 2024-02-03 07:50:33 +01:00
J. Nick Koston
53db392150 Convert auth token removal websocket api to normal functions (#109432)
There was nothing being awaited here anymore
2024-02-03 07:47:07 +01:00
Jc2k
0884215130 Bump aiohomekit to 3.1.4 (#109414) 2024-02-03 07:39:35 +01:00
G Johansson
0d881dfc12 Adds new climate feature flags for airzone_cloud (#109424) 2024-02-03 07:06:53 +01:00
G Johansson
8f637d3ca7 Adds migrated climate feature flags for proliphix (#109465) 2024-02-03 07:06:21 +01:00
G Johansson
7666c432e4 Adds new climate feature flags to maxcube (#109467) 2024-02-03 07:05:46 +01:00
G Johansson
82a2980cbd Adds new climate feature flags to melissa (#109469) 2024-02-03 07:05:33 +01:00
G Johansson
eb7d125976 Add migrated climate feature flags to moehlenhoff (#109470) 2024-02-03 07:05:16 +01:00
G Johansson
366da3e01f Adds new climate feature flags to bsblan (#109480) 2024-02-03 07:04:26 +01:00
G Johansson
d4c0a9a847 Adds new climate feature flags to broadlink (#109479) 2024-02-03 07:04:11 +01:00
G Johansson
3e903495fa Adds migrated climate feature flags in balboa (#109477) 2024-02-03 07:03:59 +01:00
G Johansson
b990e96636 Adds new climate feature flags to ambiclimate (#109475) 2024-02-03 07:03:44 +01:00
G Johansson
69f5b5e78e Adds migrated climate feature flags in nuheat (#109474) 2024-02-03 07:03:34 +01:00
G Johansson
3039616133 Adds migrated climate feature flags to nobo_hub (#109473) 2024-02-03 07:03:14 +01:00
G Johansson
c0fd709b3e Add migrated climate feature flags to smarttub (#109427) 2024-02-03 06:42:10 +01:00
G Johansson
9360165ba7 Add migrated climate feature flags to opentherm_gw (#109462) 2024-02-02 22:54:01 -05:00
G Johansson
7b132dc189 Add new climate feature flags to oem (#109461) 2024-02-02 22:51:38 -05:00
G Johansson
9325243ef2 Add new climate feature flags to stiebel_eltron (#109457) 2024-02-02 22:45:06 -05:00
G Johansson
de308fbd55 Add migrated climate feature flags to senz (#109455) 2024-02-02 22:44:04 -05:00
G Johansson
88aec4af72 Add new climate feature flags to screenlogic (#109454) 2024-02-02 22:42:37 -05:00
G Johansson
b7f2ae4e3a Add migrated climate feature flags to schluter (#109452) 2024-02-02 22:41:28 -05:00
G Johansson
a69fe882ff Add migrated climate feature flags to touchline (#109451) 2024-02-02 22:41:08 -05:00
G Johansson
a6b912b282 Add migrated climate feature flags to xs1 (#109441) 2024-02-02 22:40:50 -05:00
G Johansson
3c8bfce3a4 Add migrated climate feature flags to toon (#109450) 2024-02-02 22:40:17 -05:00
G Johansson
26caa85179 Add migrated climate feature flags to tolo (#109449) 2024-02-02 22:39:37 -05:00
G Johansson
e308dcf398 Add new climate feature flags to tfiac (#109448) 2024-02-02 22:39:18 -05:00
G Johansson
f40e2ecb95 Add migrated climate feature flags for tessie (#109447) 2024-02-02 22:38:40 -05:00
G Johansson
04ce480d65 Add migrated climate feature flags to teslemetry (#109446) 2024-02-02 22:37:49 -05:00
G Johansson
96a3aac78e Add new climate feature flags to yolink (#109442) 2024-02-02 22:37:14 -05:00
G Johansson
5462badebf Add migrated climate feature flags to zwave_me (#109445) 2024-02-02 22:36:43 -05:00
G Johansson
1d3c5d92ea Add new climate feature flags to whirlpool (#109440) 2024-02-02 22:36:19 -05:00
G Johansson
bb6051f9c4 Add new climate feature flags to zhong_hong (#109444) 2024-02-02 22:35:16 -05:00
G Johansson
63f78dece0 Add new climate feature flags to venstar (#109436) 2024-02-02 22:33:55 -05:00
G Johansson
fe25975cab Adds migrated climate entity feature for velbus (#109435) 2024-02-02 22:33:42 -05:00
G Johansson
974cee2349 Add migrated feature flags to vera (#109438) 2024-02-02 22:33:03 -05:00
G Johansson
ab5163fb5e Add migrated climate entity features to flexit (#109430) 2024-02-02 22:32:47 -05:00
G Johansson
5c3707ec9c Add new climate feature flags to airzone (#109423) 2024-02-03 04:02:19 +01:00
G Johansson
79bcf60c73 Adds migrated ClimateEntityFeature to Netatmo (#109418) 2024-02-03 03:56:57 +01:00
G Johansson
1fba47fc8e Add new climate feature flags to radiotherm (#109466) 2024-02-03 03:50:24 +01:00
G Johansson
fbb7c9003f Add new ClimateEntityFeature for Tado (#109416) 2024-02-03 03:47:09 +01:00
G Johansson
268c84a379 Add Mill migrated ClimateEntityFeatures (#109415) 2024-02-03 03:41:25 +01:00
G Johansson
0ef95c2d4b Add migrated ClimateEntityFeatures to advantage_air (#109420)
* Add migrated ClimateEntityFeatures to advantage_air

* AdvantageAirZone
2024-02-03 03:30:53 +01:00
Michael Hansen
3347a3f8a6 More thorough checks in ESPHome voice assistant UDP server (#109394)
* More thorough checks in UDP server

* Simplify and change to stop_requested

* Check transport
2024-02-02 21:26:44 -05:00
G Johansson
ae210886c1 Add migrated climate feature flags to nexia (#109472) 2024-02-03 03:26:17 +01:00
G Johansson
61cf7862a0 Adds new climate feature flags in baf (#109476) 2024-02-03 03:26:04 +01:00
G Johansson
16b20403e6 Add migrated climate feature flags to zha (#109443) 2024-02-03 03:06:55 +01:00
Michael Hansen
595dd651bb Bump intents to 2024.2.2 (#109412)
Bump intents to 2024.2.2
2024-02-02 20:13:17 -05:00
G Johansson
3c15a2216d Add migrated climate feature flags to homekit_controller (#109433) 2024-02-03 01:46:27 +01:00
G Johansson
97e6391b9a Add migrated climate feature flags to shelly (#109425) 2024-02-03 01:46:14 +01:00
G Johansson
e0fc328e27 Add new climate feature flags to flexit_bacnet (#109431) 2024-02-03 01:43:32 +01:00
Jan-Philipp Benecke
99fcff47f9 Bump aioelectricitymaps to 0.3.0 (#109399)
* Bump aioelectricitymaps to 0.3.0

* Fix tests
2024-02-03 00:04:41 +02:00
Michael
e567236cac Add diagnostics to proximity (#109393) 2024-02-02 23:03:55 +01:00
Jan-Philipp Benecke
4809327124 Bump aiotankerkoenig to 0.3.0 (#109404) 2024-02-02 23:42:10 +02:00
Erik Montnemery
09ba46ddb9 Mask sensitive data in google_assistant logs (#109366)
* Mask sensitive data in google_assistant logs

* Move common code to homeassistant/util/redact.py

* Move to helpers

* Add tests

* Tweak

* Redact additional logs

* Fix stale docstring

* Don't reveal the length of masked data

* Update test
2024-02-02 22:10:30 +01:00
J. Nick Koston
ae5d4e183a Remove remaning ESPHome files from coveragerc (#109400) 2024-02-02 14:52:09 -06:00
wilburCforce
430b9cef43 Fix device type in Lutron (#109401)
remove testing code
2024-02-02 22:42:53 +02:00
Teemu R
e61864c0b5 Bump python-kasa to 0.6.2.1 (#109397) 2024-02-02 21:24:24 +01:00
Franck Nijhof
2c3a952ef8 Update elgato to 5.1.2 (#109391) 2024-02-02 14:34:00 -05:00
Franck Nijhof
f18f161efa Bump version to 2024.2.0b3 2024-02-02 17:36:51 +01:00
Bram Kragten
3c90e3d83f Update frontend to 20240202.0 (#109388) 2024-02-02 17:36:43 +01:00
Robert Resch
57a43ef151 Improve Ecovacs naming (#109372) 2024-02-02 17:36:40 +01:00
Franck Nijhof
6afc6ca126 Remove suggested area from Verisure (#109364) 2024-02-02 17:36:37 +01:00
Joakim Sørensen
92a3edc536 Specify end_time when importing Elvia data to deal with drift (#109361) 2024-02-02 17:36:34 +01:00
Robert Resch
e91e67b400 Bump deebot_client to 5.1.0 (#109360) 2024-02-02 17:36:31 +01:00
Franck Nijhof
7a7bcf1a92 Update cryptography to 42.0.2 (#109359) 2024-02-02 17:36:28 +01:00
karwosts
1383a0c13a Missing template helper translation keys (#109347) 2024-02-02 17:36:24 +01:00
J. Nick Koston
12e3077895 Ensure the purge entities service cleans up the states_meta table (#109344) 2024-02-02 17:36:21 +01:00
G Johansson
05c0973937 Add Adax migrated ClimateEntityFeatures (#109341) 2024-02-02 17:36:18 +01:00
G Johansson
7467d588c8 Add sensibo migrated ClimateEntityFeatures (#109340)
Adds sensibo migrated ClimateEntityFeatures
2024-02-02 17:36:15 +01:00
jan iversen
0c82e0a618 Correct modbus commit validation, too strict on integers (#109338) 2024-02-02 17:36:12 +01:00
J. Nick Koston
5a4f88349a Fix stale camera error message in img_util (#109325) 2024-02-02 17:36:09 +01:00
G Johansson
e720e82fd6 Add migrated ClimateEntityFeature for Nibe Heat Pump (#109140) 2024-02-02 17:36:05 +01:00
G Johansson
8ed0af2fb7 Add TURN_ON/OFF ClimateEntityFeature for KNX (#109138) 2024-02-02 17:36:02 +01:00
G Johansson
550c0bf3c3 Add migrated ClimateEntityFeature for SwitchBot Cloud (#109136) 2024-02-02 17:35:59 +01:00
G Johansson
8bb98b4146 Add TURN_ON/OFF ClimateEntityFeature for Modbus (#109133) 2024-02-02 17:35:56 +01:00
G Johansson
bd5bc6b83d Add TURN_ON/OFF ClimateEntityFeature for Matter (#108974)
* Add TURN_ON/OFF ClimateEntityFeature for Matter

* Adjust matter
2024-02-02 17:35:53 +01:00
G Johansson
a2b6b0a0bc Add TURN_ON/OFF ClimateEntityFeature for Fibaro (#108963) 2024-02-02 17:35:50 +01:00
G Johansson
41ad3d8987 Add migrated ClimateEntityFeature for Atag (#108961) 2024-02-02 17:35:45 +01:00
mkmer
3e7dc3588d Add independent session in honeywell (#108435) 2024-02-02 17:35:42 +01:00
Cyrill Raccaud
66d802b5e5 Follow up swiss_public_transport migration fix of unique ids (#107873)
improve migration fix of unique ids
- follow up to #107087
2024-02-02 17:35:38 +01:00
mkmer
7608f0c9ee Add independent session in honeywell (#108435) 2024-02-02 17:31:16 +01:00
Bram Kragten
6b7a984314 Update frontend to 20240202.0 (#109388) 2024-02-02 17:30:07 +01:00
Erik Montnemery
9d22f07fc6 Use send_json_auto_id in conversation tests (#109354) 2024-02-02 15:46:59 +01:00
Jan Rieger
0c3541c194 Add entity description to GPSD (#109320) 2024-02-02 14:44:50 +01:00
Robert Resch
343086a6c8 Improve Ecovacs naming (#109372) 2024-02-02 14:12:26 +01:00
Jan-Philipp Benecke
a6c697c80f Add entity name translations to Tibber (#108797) 2024-02-02 14:03:21 +01:00
Joakim Sørensen
3bab1d7cd5 Specify end_time when importing Elvia data to deal with drift (#109361) 2024-02-02 13:42:07 +01:00
Brett Adams
e328d3ec5e Add Charging sensor to Tessie (#108205) 2024-02-02 13:21:13 +01:00
jan iversen
90ec361fc9 Centralize validation for modbus config (#108906)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-02 12:42:12 +01:00
Brett Adams
d3dbd6fa70 Change device class of Auto Seat Heater sensors in Tessie (#109240) 2024-02-02 12:38:57 +01:00
Jan Rieger
a584429ce0 Use translation placeholders in 1-Wire (#109120) 2024-02-02 12:37:23 +01:00
Franck Nijhof
cd1ef93123 Remove suggested area from Verisure (#109364) 2024-02-02 11:43:05 +01:00
Franck Nijhof
a452ad6454 Update sentry-sdk to 1.40.0 (#109363) 2024-02-02 11:33:03 +01:00
Christopher Fenner
03daeda9db Disable less interesting sensors by default in ViCare integration (#109014) 2024-02-02 11:28:51 +01:00
Robert Resch
61e6882b91 Bump deebot_client to 5.1.0 (#109360) 2024-02-02 11:02:00 +01:00
Cyrill Raccaud
f22b71d803 Follow up swiss_public_transport migration fix of unique ids (#107873)
improve migration fix of unique ids
- follow up to #107087
2024-02-02 10:37:49 +01:00
Franck Nijhof
c868b79b5a Update cryptography to 42.0.2 (#109359) 2024-02-02 10:37:04 +01:00
Ståle Storø Hauknes
effd5b8ddd Hide unsupported devices in Airthings BLE config flow (#107648) 2024-02-02 10:24:53 +01:00
Erik Montnemery
4229c35fcd Improve color mode handling in MockLight (#109298) 2024-02-02 09:49:32 +01:00
G Johansson
e3f1997b6f Add TURN_ON/OFF ClimateEntityFeature for KNX (#109138) 2024-02-02 09:48:01 +01:00
jan iversen
543870d5f1 Correct modbus commit validation, too strict on integers (#109338) 2024-02-02 09:46:53 +01:00
Joakim Sørensen
025fe51322 Use a mocked API client in Traccar Server tests (#109358) 2024-02-02 09:36:26 +01:00
Erik Montnemery
1f466e737e Use send_json_auto_id in recorder tests (#109355) 2024-02-02 09:34:43 +01:00
G Johansson
596f61ff07 Add TURN_ON/OFF ClimateEntityFeature for Fibaro (#108963) 2024-02-02 09:33:54 +01:00
G Johansson
b379e9db60 Add migrated ClimateEntityFeature for SwitchBot Cloud (#109136) 2024-02-02 09:33:13 +01:00
G Johansson
8a22a8d4ba Add migrated ClimateEntityFeature for Atag (#108961) 2024-02-02 09:32:50 +01:00
J. Nick Koston
67e6febde4 Ensure the purge entities service cleans up the states_meta table (#109344) 2024-02-02 09:32:17 +01:00
G Johansson
2788576dc9 Add TURN_ON/OFF ClimateEntityFeature for Modbus (#109133) 2024-02-02 09:31:35 +01:00
G Johansson
d5d74005f4 Add migrated ClimateEntityFeature for Nibe Heat Pump (#109140) 2024-02-02 09:31:09 +01:00
Dan
72f1d8ec15 Add Duquesne Light virtual integration supported by opower (#109272)
Co-authored-by: Dan Swartz <3066652+swartzd@users.noreply.github.com>
2024-02-02 09:10:51 +01:00
G Johansson
449790c178 Add Adax migrated ClimateEntityFeatures (#109341) 2024-02-02 09:02:41 +01:00
J. Nick Koston
582d6968b2 Avoid de/recode of bytes to string to bytes when writing json files (#109348) 2024-02-02 09:02:26 +01:00
G Johansson
9204e85b61 Add sensibo migrated ClimateEntityFeatures (#109340)
Adds sensibo migrated ClimateEntityFeatures
2024-02-02 09:01:38 +01:00
J. Nick Koston
155499fafe Load json file as binary instead of decoding to string (#109351) 2024-02-02 09:00:46 +01:00
J. Nick Koston
1c84997c5c Reduce lock contention when all icons are already cached (#109352) 2024-02-02 08:58:55 +01:00
karwosts
b471b9926d Missing template helper translation keys (#109347) 2024-02-02 08:58:03 +01:00
G Johansson
b32371b5c9 Add TURN_ON/OFF ClimateEntityFeature for Matter (#108974)
* Add TURN_ON/OFF ClimateEntityFeature for Matter

* Adjust matter
2024-02-02 07:39:54 +01:00
J. Nick Koston
5a35c2e1e9 Fix stale camera error message in img_util (#109325) 2024-02-01 22:39:44 +01:00
Franck Nijhof
f77bd13cc0 Bump version to 2024.2.0b2 2024-02-01 22:29:58 +01:00
Paul Bottein
fe4ad30ade Add device class to tesla wall connector session energy (#109333) 2024-02-01 22:29:49 +01:00
Joakim Sørensen
15a1a4bfdf Fix custom attribute lookup in Traccar Server (#109331) 2024-02-01 22:29:46 +01:00
Franck Nijhof
3d80c4f7f6 Update Home Assistant base image to 2024.02.0 (#109329) 2024-02-01 22:29:42 +01:00
Michael Hansen
0015af0b3c Move default response out of sentence trigger registration and into agent (#109317)
* Move default response out of trigger and into agent

* Add test
2024-02-01 22:29:39 +01:00
J. Nick Koston
a535bda821 Fix race in loading service descriptions (#109316) 2024-02-01 22:29:36 +01:00
Maciej Bieniek
ca539630a6 Do not use a battery device class for Shelly analog input sensor (#109311)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-01 22:29:32 +01:00
Josef Zweck
faf2a90cd1 Bump pytedee_async to 0.2.13 (#109307)
bump
2024-02-01 22:29:30 +01:00
Robert Resch
6aba79d7b9 Verify Ecovacs mqtt config (#109306) 2024-02-01 22:29:26 +01:00
Ståle Storø Hauknes
b464e77112 Bump airthings-ble to 0.6.1 (#109302)
Bump airthings-ble
2024-02-01 22:29:23 +01:00
Josh Pettersen
a8b39ce332 Remove battery charge sensor from powerwall (#109271) 2024-02-01 22:29:19 +01:00
Michael Hansen
77b25553e3 Migrate to new intent error response keys (#109269) 2024-02-01 22:29:16 +01:00
G Johansson
c31dfd6d00 Don't log warning for core integrations on new feature flags in Climate (#109250)
* Don't log for core integration on Climate new feature flags

* Add test

* Fix test
2024-02-01 22:29:12 +01:00
Brett Adams
647ac10dd9 Add climate turn on/off feature to Teslemetry (#109241) 2024-02-01 22:29:06 +01:00
Brett Adams
50dfe4dec0 Add climate on/off feature to Tessie (#109239) 2024-02-01 22:29:03 +01:00
Raman Gupta
52a8216150 Add translations for zwave_js entities and services (#109188) 2024-02-01 22:28:59 +01:00
Paul Bottein
8038d833e8 Add device class to tesla wall connector session energy (#109333) 2024-02-01 22:28:02 +01:00
Franck Nijhof
26be6a677c Update Home Assistant base image to 2024.02.0 (#109329) 2024-02-01 22:13:41 +01:00
Joakim Sørensen
3511f35418 Fix custom attribute lookup in Traccar Server (#109331) 2024-02-01 22:06:34 +01:00
Ryan Fleming
c1f883519d Add connect octoprint printer service (#99899)
* Add connect octoprint printer service

* Review changes

* String updates

* Swap exception type
2024-02-01 21:15:41 +01:00
Michael Hansen
a1eaa5cbf2 Migrate to new intent error response keys (#109269) 2024-02-01 21:10:24 +01:00
Raman Gupta
c2525d53dd Add translations for zwave_js entities and services (#109188) 2024-02-01 21:07:47 +01:00
Josh Pettersen
0cc8b2edf9 Remove battery charge sensor from powerwall (#109271) 2024-02-01 14:01:05 -06:00
Michael Hansen
c2c98bd04c Move default response out of sentence trigger registration and into agent (#109317)
* Move default response out of trigger and into agent

* Add test
2024-02-01 20:40:29 +01:00
J. Nick Koston
ed726db974 Fix race in loading service descriptions (#109316) 2024-02-01 12:34:23 -06:00
Brett Adams
c61a2b46d4 Add climate turn on/off feature to Teslemetry (#109241) 2024-02-01 17:09:24 +01:00
Brett Adams
c41f33da71 Add climate on/off feature to Tessie (#109239) 2024-02-01 17:08:41 +01:00
Robert Resch
cb5be4901b Verify Ecovacs mqtt config (#109306) 2024-02-01 17:07:55 +01:00
Maciej Bieniek
fe0228139e Do not use a battery device class for Shelly analog input sensor (#109311)
Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-01 17:07:08 +01:00
Josef Zweck
fa17693e3c Bump pytedee_async to 0.2.13 (#109307)
bump
2024-02-01 17:05:02 +01:00
G Johansson
61c82718f2 Don't log warning for core integrations on new feature flags in Climate (#109250)
* Don't log for core integration on Climate new feature flags

* Add test

* Fix test
2024-02-01 16:53:53 +01:00
Marc Mueller
d2dee9e327 Update ruff to 0.1.15 (#109303) 2024-02-01 13:29:01 +01:00
Ståle Storø Hauknes
9bb6d756f1 Bump airthings-ble to 0.6.1 (#109302)
Bump airthings-ble
2024-02-01 12:59:41 +01:00
Franck Nijhof
c98228110a Bump version to 2024.2.0b1 2024-02-01 12:19:53 +01:00
Joakim Sørensen
403c2d8440 Bump hass-nabucasa from 0.75.1 to 0.76.0 (#109296) 2024-02-01 12:19:43 +01:00
Franck Nijhof
e4fc35c563 Fix device class repairs issues UOM placeholders in Group (#109294) 2024-02-01 12:19:41 +01:00
Jan Bouwhuis
e2bbdda016 Remove quality scale platinum from daikin integration (#109292) 2024-02-01 12:19:37 +01:00
Josef Zweck
0070d2171f Fix two icon translations for La Marzocco (#109284) 2024-02-01 12:19:34 +01:00
Luis Andrade
74ce778691 bugfix: name missing in getLogger (#109282) 2024-02-01 12:19:31 +01:00
Jan Bouwhuis
fc6cc45ee2 Fix dalkin climate warnings (#109279) 2024-02-01 12:19:28 +01:00
Jan-Philipp Benecke
1353c1d24c Address late review of Tankerkoenig package move (#109277) 2024-02-01 12:19:25 +01:00
J. Nick Koston
0b6df23ee5 Fix app name sorting in apple_tv (#109274) 2024-02-01 12:19:22 +01:00
J. Nick Koston
e34ebcb195 Restore support for packages being installed from urls with fragments (#109267) 2024-02-01 12:19:19 +01:00
TheJulianJES
29f4c2d513 Fix ZHA update entity not updating installed version (#109260) 2024-02-01 12:19:16 +01:00
Ernst Klamer
70f0d77ba5 Fix Xiaomi-ble automations for multiple button devices (#109251) 2024-02-01 12:19:13 +01:00
Michael
133b68a68d Apply review comments on proximity (#109249)
use a named tuple as TrackedEntityDescriptor
2024-02-01 12:19:10 +01:00
Raman Gupta
3f619a8022 Remove deprecation warnings for zwave_js climate TURN_ON/TURN_OFF features (#109242) 2024-02-01 12:19:07 +01:00
J. Nick Koston
ada37f558c Bump govee-ble to 0.31.0 (#109235) 2024-02-01 12:19:02 +01:00
Joost Lekkerkerker
f76689fb75 Pass verify_ssl to created session in Omada (#109212)
* Pass verify_ssl to created session in Omada

* Fix tests

* Fix tests
2024-02-01 12:18:59 +01:00
Raman Gupta
16ad2728a6 Make zwave_js last seen sensor enabled by default (#109191)
* Make zwave_js last seen sensor enabled by default

* Add test

* Fix test

* improve tests
2024-02-01 12:18:56 +01:00
Brett Adams
ddc1c4bb27 Fix time to arrival to timestamp in Tessie (#109172)
* Fix time to arrival

* Update snapshot

* Freeze time for snapshot

* Fix docstring

* Add available_fn

* Update snapshot

* Dont use variance for full charge

* Remove unrelated changes

* Revert snapshot

* Rename hours_to_datetime
2024-02-01 12:18:53 +01:00
Chris Talkington
bbe4483b4a Update rokuecp to 0.19 (#109100) 2024-02-01 12:18:49 +01:00
Raman Gupta
1af25bc010 Remove deprecation warnings for zwave_js climate TURN_ON/TURN_OFF features (#109242) 2024-02-01 11:21:40 +01:00
Jan-Philipp Benecke
286c5faa79 Address late review of Tankerkoenig package move (#109277) 2024-02-01 11:14:33 +01:00
Joakim Sørensen
f791c77f3b Bump hass-nabucasa from 0.75.1 to 0.76.0 (#109296) 2024-02-01 11:11:28 +01:00
Franck Nijhof
6869723003 Fix device class repairs issues UOM placeholders in Group (#109294) 2024-02-01 10:20:52 +01:00
Jan Bouwhuis
459022d030 Remove quality scale platinum from daikin integration (#109292) 2024-02-01 09:30:29 +01:00
Chris Talkington
f87550c909 Update rokuecp to 0.19 (#109100) 2024-02-01 09:08:32 +01:00
Ernst Klamer
697d4987c1 Fix Xiaomi-ble automations for multiple button devices (#109251) 2024-02-01 09:04:02 +01:00
Michael
e11e54fd50 Apply review comments on proximity (#109249)
use a named tuple as TrackedEntityDescriptor
2024-02-01 09:02:38 +01:00
Luis Andrade
175ec81269 bugfix: name missing in getLogger (#109282) 2024-02-01 09:00:22 +01:00
Jan Rieger
421e276185 Add icon translations to GPSd (#108602) 2024-02-01 08:58:32 +01:00
Josef Zweck
a075accbe3 Fix two icon translations for La Marzocco (#109284) 2024-02-01 08:57:12 +01:00
J. Nick Koston
8afcd53af6 Restore support for packages being installed from urls with fragments (#109267) 2024-02-01 08:56:57 +01:00
J. Nick Koston
5d3364521f Fix app name sorting in apple_tv (#109274) 2024-02-01 08:53:18 +01:00
Jan Bouwhuis
723d9c4c8a Fix dalkin climate warnings (#109279) 2024-02-01 08:52:07 +01:00
dependabot[bot]
0caed80320 Bump sigstore/cosign-installer from 3.3.0 to 3.4.0 (#109278)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-01 08:28:23 +01:00
TheJulianJES
c355dd77a4 Fix ZHA update entity not updating installed version (#109260) 2024-02-01 08:26:39 +01:00
J. Nick Koston
5c3bf13ca4 Only decode msg topic once when handling mqtt payloads (#109258) 2024-02-01 03:42:58 +01:00
Joost Lekkerkerker
31094e72a0 Pass verify_ssl to created session in Omada (#109212)
* Pass verify_ssl to created session in Omada

* Fix tests

* Fix tests
2024-02-01 03:38:16 +01:00
Raman Gupta
2b525ed2e9 Make zwave_js last seen sensor enabled by default (#109191)
* Make zwave_js last seen sensor enabled by default

* Add test

* Fix test

* improve tests
2024-02-01 02:55:48 +01:00
Dan
08f8f84f61 Bump opower to 0.3.0 (#109248)
Co-authored-by: Dan Swartz <3066652+swartzd@users.noreply.github.com>
2024-02-01 01:34:33 +01:00
Joost Lekkerkerker
2aead3eefc Fix kitchen sink tests (#109243) 2024-01-31 22:10:32 +01:00
Franck Nijhof
d1c61c911d Bump version to 2024.3.0dev0 (#109238) 2024-01-31 22:05:13 +01:00
Brett Adams
1584f02e71 Fix time to arrival to timestamp in Tessie (#109172)
* Fix time to arrival

* Update snapshot

* Freeze time for snapshot

* Fix docstring

* Add available_fn

* Update snapshot

* Dont use variance for full charge

* Remove unrelated changes

* Revert snapshot

* Rename hours_to_datetime
2024-01-31 15:52:58 -05:00
Steven B
552d14204d Bump ring_doorbell to 0.8.6 (#109199) 2024-01-31 10:32:27 -10:00
J. Nick Koston
729c6db082 Bump govee-ble to 0.31.0 (#109235) 2024-01-31 09:47:31 -10:00
Franck Nijhof
69416e7b76 Bump version to 2024.2.0b0 2024-01-31 20:45:31 +01:00
Jan Rieger
45f0e08395 Add translations to GPSd (#108600)
* Add config flow to GPSD

* Add translations to GPSd

* Add device class

* Apply feedback for unique_id and translation_key
2024-01-31 20:42:14 +01:00
Erik Montnemery
3ce4e53b32 Sort script actions (#108247) 2024-01-31 20:41:53 +01:00
Erik Montnemery
cf6bcd63dd Add reauth flow to kitchen sink (#109202) 2024-01-31 20:40:26 +01:00
Tucker Kern
340df38bd0 Suppress log warnings when a sensor group has non numeric members (#102828) 2024-01-31 20:02:21 +01:00
G Johansson
c59345338e Add test for integration migrated in climate (#109224) 2024-01-31 19:57:59 +01:00
Bram Kragten
3cbfae5cc7 Update frontend to 20240131.0 (#109231) 2024-01-31 19:49:50 +01:00
Steven B
605b7312a4 Fix ring chimes data update (#109220)
* Fix bug with chimes data update

* Trigger update in test with time change

* Fix test to use freezer

* Make test less fragile
2024-01-31 19:39:18 +01:00
Bram Kragten
d361d47516 Add qr code selector (#109214) 2024-01-31 19:27:03 +01:00
Jan Rieger
bbdb9b61c4 Add config flow to GPSD (#106196) 2024-01-31 18:38:14 +01:00
Joakim Sørensen
cd96fb381f Import Traccar YAML configuration to Traccar Server (#109226)
* Import Traccar YAML configuration to Traccar Server

* Remove import
2024-01-31 18:16:23 +01:00
Joakim Sørensen
0b0bf73780 Add brands definition for Traccar (#109219) 2024-01-31 18:15:40 +01:00
Paul Strawder
f4a2d7c612 Add ZHA support for Bosch Twinguard and siren install QR codes (#107460)
* Enable Bosch Outdoor Siren and Bosch Twinguard QR Codes

These devices contain inside their QR code device specific link keys instead of installation codes. Normally, the link key is generated from the installation code, but in this case we can directly pass the provided link key from QR code to zigpy application controller.

* Replace ZHA deprecated permit_with_key by permit_with_link_key

Convert installation code directly to link key

* Update tests

* formatting
2024-01-31 12:02:34 -05:00
Caius-Bonus
3b7ec8ed2c Use EnumSensor instead of custom formatter() in ZHA Sensor entities (#109218)
use EnumSensor for SonofPresenceSensorIlluminationStatus and AqaraPetFeederLastFeedingSource
2024-01-31 11:53:10 -05:00
Joakim Sørensen
a45d26c2bd Rename Traccar to Traccar Client (#109217) 2024-01-31 17:23:03 +01:00
Paul Bottein
c8bfb288a3 Add readable state for tesla wall connector (#107909)
* Add readable state for tesla wall connector

* Add test

* Display raw sensor by default

* Use none instead of unknown

* Remove old state from tests

* Rename raw state to status code

* Test unknown

* Update homeassistant/components/tesla_wall_connector/strings.json

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

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-01-31 17:22:45 +01:00
G Johansson
ddb56fe20d Modify climate turn_on/off backwards compatibility check (#109195)
* Modify climate turn_on/off backwards compatibility check

* Fix logger message

* Comments

* Fix demo

* devolo

* ecobee

* Some more

* Fix missing feature flag

* some more

* and some more

* Remove demo change

* Add back demo change

* Fix demo

* Update comments
2024-01-31 16:29:36 +01:00
Erik Montnemery
816c2e9500 Improve enabling of Google local fulfillment (#109192)
* Improve enabling of Google local fulfillment

* Add test

* Improve test coverage
2024-01-31 16:28:27 +01:00
Robert Resch
6fc5804818 Add Ecovacs switch entities (#109216) 2024-01-31 16:05:41 +01:00
Robert Svensson
7b9dbc2187 Support alternative modelid for LIDL doorbell in deCONZ device triggers (#107937)
Add support alternative modelid for LIDL doorbell
2024-01-31 16:03:12 +01:00
Jeroen van Ingen Schenau
3bd1162650 Fix Huisbaasje negative periodic gas readings (#103457) (#108090) 2024-01-31 15:13:48 +01:00
Erik Montnemery
ffdcdaf43b Create issues for reauth flows (#109105) 2024-01-31 15:05:52 +01:00
Jan-Philipp Benecke
71c2460161 Move tankerkoenig to new aiotankerkoenig package (#108913)
* Move tankerkoenig to new aiotankerkoenig package

* Fix config flow coverage

* Process code review suggestions

* Process code review suggestions
2024-01-31 14:57:08 +01:00
Joakim Sørensen
640463c559 Add Traccar server integration (#109002)
* Add Traccar server integration

* Add explination

* Update homeassistant/components/traccar_server/coordinator.py

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

* Add data_description

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-31 14:50:18 +01:00
Joakim Sørensen
52a692df3e Add Elvia integration (#107405) 2024-01-31 14:47:37 +01:00
Robert Resch
4f4d79137e Add Ecovacs number entities (#109209) 2024-01-31 14:43:35 +01:00
Marcel van der Veldt
68c633c317 Add Matter Websocket commands for node actions and diagnostics (#109127)
* bump python-matter-server to version 5.3.0

* Add all node related websocket services

* remove open_commissioning_window service

as it wasnt working anyways

* use device id instead of node id

* tests

* add decorator to get node

* add some tests for invalid device id

* add test for unknown node

* add explicit exception

* adjust test

* move exceptions

* remove the additional config entry check for now

to be picked up in follow up pR
2024-01-31 14:15:56 +01:00
Jan Rieger
fb04451c08 Set entity category for QNAP sensors (#109207) 2024-01-31 13:34:52 +01:00
Christopher Fenner
2f312f56f6 Add fuelcell gas consumption sensors to ViCare integration (#105461)
* add fuel cell gas consumption sensors

* add total gas consumption sensors

* add uom

* Update strings.json

* reorder

* Revert "reorder"

This reverts commit 0bcaa3b4e6.

* Revert "add uom"

This reverts commit b3c0dc4756.

* Update sensor.py
2024-01-31 13:23:51 +01:00
Jonas Fors Lellky
a61b18155b Make flexit bacnet switch more generic and prepare for more switches (#109154)
Make switch more generic and prepare for more switches
2024-01-31 13:19:23 +01:00
Robert Resch
4bad88b42c Update Ecovacs config_flow to support self-hosted instances (#108944)
* Update Ecovacs config_flow to support  self-hosted instances

* Selfhosted should add their instance urls

* Improve config flow

* Improve and adapt to version bump

* Add test for self-hosted

* Make ruff happy

* Update homeassistant/components/ecovacs/strings.json

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

* Implement suggestions

* Apply suggestions from code review

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

* Implement suggestions

* Remove ,

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-31 13:17:00 +01:00
Simone Chemelli
f77e4b24e6 Code quality for Vodafone tests (#109078)
vodafone pylance fixes
2024-01-31 13:15:26 +01:00
Jan Rieger
0bca728395 Add Qnap icon translations (#108484)
* Add Qnap icon translations

* Update homeassistant/components/qnap/icons.json

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-31 13:14:26 +01:00
Simone Chemelli
18a6ae081a Apply late review comments for Comelit climate (#109114)
* Apply late review comments for Comelit climate

* remove logging
2024-01-31 13:13:25 +01:00
Jan Bouwhuis
dcd677fea8 Make google_assistant report_state test timezone aware (#109200) 2024-01-31 13:12:26 +01:00
Christopher Fenner
2dbc59fbea Use home/sleep preset in ViCare climate entity (#105636)
* use home/sleep preset

* avoid setting reduced
2024-01-31 13:01:28 +01:00
Michael
30c5baf522 Add configflow to Proximity integration (#103894)
* add config flow

* fix tests

* adjust and fix tests

* fix tests

* config_zones as fixture

* add config flow tests

* use coordinator.async_config_entry_first_refresh

* use entry.entry_id for hass.data

* fix doc string

* remove unused unit_of_measurement string key

* don't store friendly_name, just use self.name

* abort on matching entiry

* break out legacy setup into seperate function

* make tracked entites required

* move _asnyc_setup_legacy to module level

* use zone name as config entry title

* add entity_used_in helper

* check entry source if imported

* create repair issue for removed tracked entities

* separate state change from registry change event handling

* migrate unique ids after tracked entity renamed

* use full words for the variable names

* use defaultdict

* add test

* remove unnecessary if not in check

* use unique_id of tracked entity

* use the entity registry entry id

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-31 12:47:23 +01:00
Jan Rieger
c587c69915 Migrate QNAP to has entity name (#107232)
* Migrate QNAP to has entity name

* Update homeassistant/components/qnap/strings.json

Co-authored-by: disforw <github@benzona.net>

* Apply suggestions from code review

Co-authored-by: disforw <github@benzona.net>

---------

Co-authored-by: disforw <github@benzona.net>
2024-01-31 11:40:23 +01:00
Brandon Rothweiler
a3352ce457 Minor fixes to A. O. Smith integration (#107421) 2024-01-31 11:22:25 +01:00
Mandar Patil
60fbb8b698 Add session energy sensor for Tesla Wall Connector (#102635)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-31 11:00:04 +01:00
Manuel Dipolt
0c83fd0897 Add romy vacuum integration (#93750)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2024-01-31 10:48:44 +01:00
Steven B
f725258ea9 Add coordinator to ring integration (#107088) 2024-01-31 10:37:55 +01:00
stegm
7fe4a343f9 Add state_class to Kostal plenticore sensors (#108096) 2024-01-31 10:37:23 +01:00
Franck Nijhof
559f1d77f7 Merge branch 'master' into dev 2024-01-31 09:40:09 +01:00
Christopher Fenner
7e3a459c2f Add test case for binary sensors in ViCare (#108769)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-31 09:30:51 +01:00
Noah Groß
db0486c5e1 Use constants in Picnic service functions (#109170)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-01-31 09:01:17 +01:00
Robert Resch
01df5f9cab Add Ecovacs button entities (#109189) 2024-01-31 09:00:43 +01:00
Robert Svensson
30fdb2a8b3 Add log to show last received UniFi websocket message (#109167) 2024-01-31 08:46:47 +01:00
Raman Gupta
9ed50d8b0c Add last seen sensor for zwave_js devices (#107345) 2024-01-31 01:17:43 -05:00
Josh Pettersen
b629ad9c3d Add individual battery banks as devices (#108339) 2024-01-30 19:03:01 -10:00
julienfreche
5fd6028d97 Intellifire: fix incorrect name attribute in debug log when setting flame height (#109168) 2024-01-30 23:52:02 -05:00
Jan-Philipp Benecke
7e99ddcac9 Bump aioelectricitymaps to 0.2.0 (#109150) 2024-01-30 23:48:56 -05:00
Jan Rieger
54b08ea675 Remove unused constants from QNAP (#109152) 2024-01-30 23:48:22 -05:00
J. Nick Koston
9c22226fed Ensure bluetooth auto recovery does not run in tests (#109163)
If time was moved forward too much the scanner would try to auto recover
2024-01-30 23:48:05 -05:00
Barry Williams
4c6ac74313 allow songcast source to be stopped and played (#109180) 2024-01-30 23:41:20 -05:00
Josh Pettersen
961a1c4d00 Change the suggested energy units to kWh (#109184)
* Change the suggested energy units to kWh since the practical value is pretty large.

* Fix unit tests
2024-01-30 23:40:05 -05:00
Raman Gupta
b8c9da4705 Add icon and state translations for zwave_js sensors (#109186) 2024-01-30 23:38:27 -05:00
David F. Mulcahey
ac8f555a70 Add additional entities for the Aqara E1 curtain motor to ZHA (#108243)
* aqara curtain motor opened by hand binary sensor

add icon and translation key for identify button

remove previous inversion entity

add window covering type sensor and aqara curtain motor sensors

add aqara curtain motor hook lock switch

add aqara curtain motor attributes zcl_init_attrs

add aqara curtain motor zcl_init_attrs

translations

* update translation string

* review comments

* use enum sensor after rebase

* remove button change
2024-01-30 22:40:33 -05:00
David F. Mulcahey
3115af1041 Add update platform to ZHA (bumps zigpy to 0.61.0) (#107612)
* stub out zha update entity

* update matcher

* updates based on assumptions / conversation

* hook into current installed version

* post rebase cleanup

* incorporate zigpy changes

* fix async_setup_entry

* fix sw_version

* make ota work with config diagnostic match

* fix version format

* sync up with latest Zigpy changes

* fix name attribute

* disable ota providers for tests

* update device list

* review comment

* add current_file_version to Ota ZCL_INIT_ATTRS

* updates to update and start tests

* get installed version from restore data

* better version handling

* remove done todo notes

* reorganize test

* move image notify to cluster handler

* add test for manual update check

* firmware update success test

* coverage

* use zigpy defs

* clean up after rebase

* bump Zigpy

* cleanup from review comments

* fix busted F string

* fix empty error

* move inside check

* guard zigbee network from bulk check for updates
2024-01-30 22:34:48 -05:00
Josh Pettersen
2f9f0bae46 Add generic typing for powerwall sensors (#109008) 2024-01-30 16:28:27 -10:00
Jan Bouwhuis
320bf53f75 Add OnOff trait for climate entities in google_assistant (#109160) 2024-01-30 21:27:36 -05:00
Caius-Bonus
a7a41e54f6 Add ZHA ZCL thermostat entities (#106563) 2024-01-31 03:26:19 +01:00
Franck Nijhof
82e1ed43f8 Migrate Tuya integration to new sharing SDK (#109155)
* Scan QR code to log in And Migrate Tuya integration to new sharing SDK (#104767)

* Remove non-opt-in/out reporting

* Improve setup, fix unload

* Cleanup token listner, remove logging of sensitive data

* Collection of fixes after extensive testing

* Tests happy user config flow path

* Test unhappy paths

* Add reauth

* Fix translation key

* Prettier manifest

* Ruff format

* Cleanup of const

* Process review comments

* Adjust update token handling

---------

Co-authored-by: melo <411787243@qq.com>
2024-01-30 21:22:22 -05:00
Jan Bouwhuis
712ba2fdca Add alexa PowerController on enabled features for climate entities (#109174)
Depend alexa PowerController on enabled features for climate entities
2024-01-30 20:38:32 -05:00
Duco Sebel
41fdcce226 Bumb python-homewizard-energy to 4.3.0 (#109131) 2024-01-31 01:50:00 +01:00
Noah Groß
95fca44e6d Fix schema validation for product_id in picnic integration (#109083) 2024-01-31 01:44:31 +01:00
Marcel van der Veldt
182d00be66 Bump python-matter-server to 5.4.0 (#109178) 2024-01-31 01:39:00 +01:00
Erik Montnemery
fcfacaaabd Store preferred border agent extended address for each thread dataset (#109065) 2024-01-31 00:57:46 +01:00
Robert Resch
09a89cd3e9 Fix Ecovacs duration sensors (#108868) 2024-01-31 00:43:39 +01:00
TheJulianJES
1aa9807e26 Fix "deprecated" typo in ZHA smartenergy comment (#109173)
* Fix "deprecated" typo in ZHA smartenergy comment

* Fix in both places
2024-01-31 00:07:59 +01:00
Josh Pettersen
b6126e7821 Convert gather calls into TaskGroups (#109010) 2024-01-30 12:38:45 -10:00
J. Nick Koston
bea7dd756a Bump regenmaschine to 2024.01.0 (#109157) 2024-01-30 12:34:48 -10:00
Jack
2909e1c4fe Fix ZHA handling of power factor ElectricalMeasurement attribute sensor (#107641)
* Correct handling of power_factor ElectricalMeasurement attribute

The Zigbee Cluster Library defines PowerFactor as an int8 with value supported from -100 to 100.

Currently the zha sensor handler attempts to apply the ac_power_divisor and ac_power_multiplier formatters against the attribute value, the spec outlines that this should not be the case.

The impact of the current code is that quirks not using the default values of 1 are multiplying/dividing
power and power factor values prior to updating the cluster attribute.

This results in either a non-conformant power_factor e.g. the value was multiplied by 10 so that an ac_power_divider of 10 could be used, or the power readings sacrificing a point of measurement for lower readings.

Two quirks currently use this workaround:
 * ts0601_din_power.py
 * ts0601_rcbo.py

* Update ZHA Metering formatter to perform None check on _div_mul_prefix

To address feedback:
https://github.com/home-assistant/core/pull/107641#discussion_r1447547054

* _div_mul_prefix needs self reference

* Simplify None check for _div_mul_prefix

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

* Updates to formatting and CI test typing fix

* Use ' | ' in place of Union

* Add tests for power_factor sensor

---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
2024-01-30 23:11:18 +01:00
Robert Resch
b409933d19 Add DurationConverter (#108865)
* Add DurationConverter

* Update withings snapshots

* Add sensor test

* Fix tests

* Update snapshots after #108902 was merged
2024-01-30 23:08:12 +01:00
escoand
e7d5ae7ef6 Add Nextcloud update entity (#106690)
* add nextcloud update entity

* don't init update entity on older nextcloud versions

* ruff

* pass skipUpdate to module

* bump deps

* bump requirements

* Update homeassistant/components/nextcloud/update.py

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Update homeassistant/components/nextcloud/update.py

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* bump requirements

* Update homeassistant/components/nextcloud/update.py

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Update homeassistant/components/nextcloud/update.py

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-01-30 23:01:26 +01:00
TheJulianJES
0b09ffbcde Bump zha-quirks to 0.0.110 (#109161)
* Bump zha-quirks to 0.0.110

* Reflect removal of `IasWd` cluster for Heiman sensor in tests
2024-01-30 16:39:59 -05:00
Simone Chemelli
d4c91bd0b7 Add a repair issue for Shelly devices with unsupported firmware (#109076)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-30 10:59:33 -10:00
Martin Hjelmare
e1576d5998 Handle deprecated cloud tts voice (#109124)
* Handle deprecated cloud tts voice

* Add test

* Fix test logic

* Add breaks in ha version

* Adjust translation string
2024-01-30 21:58:16 +01:00
puddly
758e7489f1 Fix ZHA cover inversion handling missing attributes (#109151)
* Allow `window_covering_type` to be `None`

* Create a `window_covering_mode` attribute and simplify inversion switch

* Revert "Create a `window_covering_mode` attribute and simplify inversion switch"

This reverts commit 048d649b4d.

* check both config status and mode

* coverage

---------

Co-authored-by: David Mulcahey <david.mulcahey@icloud.com>
2024-01-30 15:51:38 -05:00
karwosts
ef4e72f218 Fix precipitation typo in icons (#109156) 2024-01-30 10:32:53 -10:00
J. Nick Koston
a22244707b Create an issue when database backups fail because the system runs out of resources (#109020) 2024-01-30 10:23:58 -10:00
Simone Chemelli
6174aa4e59 Remove Shelly RSSI sensor if Wi-FI is not configured (#108390)
* Remove Shelly RSSI sensor if Wi-FI is not configured

* fix tests
2024-01-30 21:18:54 +01:00
puddly
7fbfd44636 Filter ZHA light group color modes (#108861)
Ensure ZHA light color modes have proper defaults and are filtered
2024-01-30 15:14:03 -05:00
Jack
4ec3a17ed0 Add missing ZHA metering device types (#109126)
* Update smartenergy.py metering_device_type enums

* Added missing enum 127

* Enum 127 is also electric metering type

* Meter type constants and status enums in smartenergy cluster handler

Addresses 
https://github.com/home-assistant/core/pull/109126#discussion_r1471383887

Whilst I have the code open I've also added status handlers for the non-electrical meter types.

* New tests for different metering device type statuses
2024-01-30 15:09:15 -05:00
J. Nick Koston
bcb9a10d5a Speed up listing issues via the repairs websocket api (#109149) 2024-01-30 09:57:08 -10:00
Jan Bouwhuis
04f0128a1c Simplify MQTT device triggers in automations (#108309)
* Simplify MQTT device trigger

* Add test non unique trigger_id

* Adjust deprecation warning

* Make discovery_id optional

* refactor double if

* Improve validation, add tests and deprecation comments

* Avoid breaking change

* Inmprove error message

* Match on discovery_id instead of discovery_info

* Revert an unrelated change

* follow up comments

* Add comment and test on device update with non unique trigger

* Update homeassistant/components/mqtt/device_trigger.py

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

* Update homeassistant/components/mqtt/device_trigger.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-30 20:50:39 +01:00
G Johansson
066a0ccc6d Add TURN_ON/OFF ClimateEntityFeature for HomeKit Device (#109137) 2024-01-30 08:57:41 -10:00
Ernst Klamer
70ee6a16ee Add event entity to Xiaomi-BLE integration (#108811) 2024-01-30 08:42:56 -10:00
Franck Nijhof
1f7bf7c2a9 2024.1.6 (#109129) 2024-01-30 19:38:38 +01:00
Paul Bottein
2b534af960 Update reload icons for automation and person service (#109147) 2024-01-30 19:36:57 +01:00
Jan Bouwhuis
6023980c2e Set TURN_ON and TURN_OFF feature on MQTT climate entities (#109146) 2024-01-30 19:35:46 +01:00
Robert Resch
7d2c6a1bb6 Add check for valid initial_suggested_unit (#108902)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-30 18:55:59 +01:00
Robert Resch
c363edad4a Update Ecovacs binary sensor keys (#109145) 2024-01-30 18:55:37 +01:00
G Johansson
2b1d1340b7 Add TURN_ON/OFF ClimateEntityFeature for Mill (#108977) 2024-01-30 18:16:51 +01:00
G Johansson
36e3ba4834 Add TURN_ON/OFF ClimateEntityFeature for Netatmo (#108973) 2024-01-30 18:15:11 +01:00
G Johansson
6d43a5627a Add TURN_ON/OFF ClimateEntityFeature for CoolMasterNet (#108972) 2024-01-30 18:14:16 +01:00
G Johansson
8395992dbe Add TURN_ON/OFF ClimateEntityFeature for Advantage Air (#108971) 2024-01-30 18:13:30 +01:00
G Johansson
8f9969131b Add TURN_ON/OFF ClimateEntityFeature for Nexia (#108970)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-01-30 18:13:08 +01:00
G Johansson
822d5b3ce8 Add TURN_ON/OFF ClimateEntityFeature for Vera (#108969) 2024-01-30 18:12:15 +01:00
G Johansson
1acc9007d4 Add TURN_ON/OFF ClimateEntityFeature for Adax (#108966) 2024-01-30 18:11:42 +01:00
G Johansson
96ee8ba9a8 Add TURN_ON/OFF ClimateEntityFeature for Fritzbox (#108964) 2024-01-30 18:11:08 +01:00
G Johansson
63594bac89 Add TURN_ON/OFF ClimateEntityFeature for IntesisHome (#109134) 2024-01-30 18:05:03 +01:00
G Johansson
9d664c0fdd Add TURN_ON/OFF ClimateEntityFeature for Sensibo (#108962) 2024-01-30 18:03:46 +01:00
G Johansson
c51a675893 Add TURN_ON/OFF ClimateEntityFeature for Overkiz (#109132) 2024-01-30 18:01:53 +01:00
G Johansson
cf1adfbf24 Add TURN_ON/OFF ClimateEntityFeature for TOLO Sauna (#108965) 2024-01-30 18:01:06 +01:00
G Johansson
73f670e793 Add TURN_ON/OFF ClimateEntityFeature for Vicare (#109135) 2024-01-30 17:59:58 +01:00
G Johansson
7827f7bbaa Add TURN_ON/OFF ClimateEntityFeature for Balboa (#109139) 2024-01-30 17:58:46 +01:00
G Johansson
b4c0e52ebd Add TURN_ON/OFF ClimateEntityFeature for ZHA (#108978) 2024-01-30 17:57:11 +01:00
G Johansson
cac0d07549 Add TURN_ON/OFF ClimateEntityFeature for smartthings (#108979) 2024-01-30 17:56:52 +01:00
Joost Lekkerkerker
360697836f Add support for custom integrations in Analytics Insights (#109110) 2024-01-30 17:52:28 +01:00
Robert Resch
d752ab3aa4 Update climate snapshots to fix CI (#109141) 2024-01-30 16:54:41 +01:00
G Johansson
f768dd8761 Add TURN_ON/OFF ClimateEntityFeature for Shelly (#108967) 2024-01-30 15:44:31 +01:00
Franck Nijhof
1dff998a25 Bump version to 2024.1.6 2024-01-30 15:22:32 +01:00
Joost Lekkerkerker
1c6c925a2b Add missing abort message for Spotify (#109102)
* Shield for unregistered Spotify users

* Shield for unregistered Spotify users
2024-01-30 15:21:47 +01:00
puddly
b7410fecb8 Bump ZHA dependency zigpy to 0.60.7 (#109082) 2024-01-30 15:21:43 +01:00
J. Nick Koston
8429a79796 Bump aiohttp to 3.9.3 (#109025)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-30 15:21:07 +01:00
Christopher Fenner
923259a8c6 Fix entity naming for heatpump heatings in ViCare (#109013)
Update strings.json
2024-01-30 15:19:55 +01:00
Joost Lekkerkerker
5903ec084b Add strings to Sensirion BLE (#109001) 2024-01-30 15:19:52 +01:00
Yuxin Wang
0532c4343a Fix stalls in config flow of APCUPSD (#108931)
Fix deadlock in config flow of APCUPSD
2024-01-30 15:19:49 +01:00
TheJulianJES
b66339dbfe Reduce log level for creating ZHA cluster handler (#108809) 2024-01-30 15:19:45 +01:00
Jan Bouwhuis
d697fd23b7 Fix processing supported color modes for emulated_hue (#108803) 2024-01-30 15:19:43 +01:00
Jan Bouwhuis
d220cb5102 Fix unhandled exception on humidifier intent when available_modes is None (#108802) 2024-01-30 15:19:39 +01:00
Jan Bouwhuis
12126ebfda Fix google_assistant climate modes might be None (#108793) 2024-01-30 15:19:35 +01:00
puddly
eeafb61b8f Reduce log level of ZHA endpoint handler init (#108749)
* Reduce the log level of endpoint handler init failure to debug

* Reduce log level in unit test
2024-01-30 15:19:32 +01:00
Jan Bouwhuis
58c96ff796 Fix alexa fails reporting the state in specific cases (#108743)
* Fix alexa fails reporting the state in specific cases

* More cases
2024-01-30 15:19:28 +01:00
Ståle Storø Hauknes
1b8c91dcb7 Bump airthings-ble to 0.6.0 (#108612) 2024-01-30 15:19:25 +01:00
Simone Chemelli
b17b4c3350 Bump aiovodafone to 0.5.4 (#108592) 2024-01-30 15:19:22 +01:00
Michal Ziemski
bbe80c6049 Update openerz-api to 0.3.0 (#108575) 2024-01-30 15:19:19 +01:00
Matrix
4db6f7ce59 Bump yolink-api to 0.3.6 fix aiomqtt breaking changes (#108555)
* bump yolink-api to 0.3.5

* bump yolink-api to 0.3.6
2024-01-30 15:19:16 +01:00
Florian Kisser
279f7264e7 Fix zha illuminance measured value mapping (#108547) 2024-01-30 15:19:12 +01:00
jmwaldrip
3a510f84a7 Fix SleepIQ setting FootWarmer timer (#108433)
* Fixing foot warmer timer bug

* Fixing bug where temperature wasnt assigned to number entity causing tests to fail
2024-01-30 15:19:05 +01:00
Allen Porter
18f663d498 Reduce overhead for google calendar state updates (#108133) 2024-01-30 15:16:35 +01:00
vexofp
8c6547f1b6 Pass default SSLContext instances to Octoprint custom HTTP sessions (#105351) 2024-01-30 15:16:30 +01:00
G Johansson
bc720b48b4 Add TURN_OFF and TURN_ON to ClimateEntityFeature (#101673)
* Add ClimateEntityFeature.TURN_OFF

* Fixes

* Fixes

* wording

* Change to services

* Fixing

* Fixing

* Last bits

* Review comments

* Add hvac_modes checks

* Fixes

* Add tests

* Review comments

* Update snapshots

* balboa

* coolmaster

* ecobee

* mqtt

* nest

* plugwise

* smarttub

* whirlpool

* zwave_js

* fix test climate

* test climate

* zwave

* nexia

* nuheat

* venstar

* tado

* smartthings

* self.hvac_modes not None

* more tests

* homekit_controller

* homekit controller snapshot
2024-01-30 15:07:47 +01:00
Joakim Plate
cece117c93 Flow rate unit conversions and device class (#106077)
* Add volume flow rate conversions

* Add missing translations

* Adjust liter unit and add gallons per minute

* Adjust to min instead of m for minutes

* Add matching class for number

* Add some tests for number and sensor platform

* Add deprecated constants

* Add explicit list of flow rate for check

This reverts commit 105171af31.
2024-01-30 15:01:08 +01:00
Mohamed
a8e3df7e50 Fix readme images (#108767) 2024-01-30 15:00:57 +01:00
David F. Mulcahey
92795fecf5 Clean up ZHA cover entity and add support for inverting cover entities derived from the window covering cluster (#108238) 2024-01-30 13:59:00 +01:00
Marc Mueller
14766b6992 Update coverage to 7.4.1 (#109116) 2024-01-30 13:30:22 +01:00
cbrherms
6d09788673 Add missing status's to Nut (#109085) 2024-01-30 13:23:33 +01:00
Paul Bottein
694059837d Add input boolean icon translations (#109108)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-01-30 13:22:55 +01:00
Paul Bottein
72a28d68d3 Add script icon translations (#109107)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-01-30 13:22:27 +01:00
Marcel van der Veldt
4576fea511 Bump python-matter-server to 5.3.1 (#109118) 2024-01-30 13:19:51 +01:00
Simone Chemelli
f7909ee34a Clean up Fritz options flow (#109111)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-01-30 13:19:40 +01:00
Christophe Gagnier
a8915b85a4 Bump pytechnove to 1.2.1 (#109098)
* Bump TechnoVE library to 1.2.0

* Bump TechnoVE library to 1.2.1

* Exclude unknown status from the options

* Regenerate test_sensor.ambr for TechnoVE snapshot test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-30 12:40:35 +01:00
Michael Hansen
9752e70675 Intents package combines sentences/responses per language (#109079) 2024-01-30 12:38:29 +01:00
Cody C
a1f36c25d4 Remove erroneous reference to Google from Calendar integration (#109089) 2024-01-30 12:34:01 +01:00
Paul Bottein
30dec53b07 Add device tracker icon translations (#109109) 2024-01-30 12:32:02 +01:00
Robert Resch
6fdad44941 Improve invalid error messages in the config flows (#108075) 2024-01-30 12:24:19 +01:00
Marc Mueller
8ad0226241 Update attrs to 23.2.0 (#109115) 2024-01-30 12:22:41 +01:00
Paul Bottein
bea3e63871 Add person icon translations (#109106) 2024-01-30 11:49:23 +01:00
Brett Adams
128700d41b Fix tessie tests (#109113)
* Fix device tracker test

* Snapshot cleanup
2024-01-30 11:34:30 +01:00
Simone Chemelli
09fb043f65 Add configure option to Vodafone Station for consider home (#108594)
* Add configure option to Vodafone Station for consider home

* add test

* improve tests

* reload on option change
2024-01-30 10:28:01 +01:00
Raman Gupta
821d273e4d Add support for ignoring zwave_js device config file changes (#108990)
* Add support for ignoring zwave_js device config file changes

* mistake

* fixes

* Small tweaks and add/update tests
2024-01-30 10:16:08 +01:00
Joost Lekkerkerker
dcb5c0d439 Add missing abort message for Spotify (#109102)
* Shield for unregistered Spotify users

* Shield for unregistered Spotify users
2024-01-30 10:07:23 +01:00
Simone Chemelli
7359449636 Code quality for Shelly integration (#109061) 2024-01-30 09:47:52 +01:00
peebles
b3c1e165db Bump simplisafe-python to 2024.01.0 (#109091) 2024-01-30 08:58:02 +01:00
Franck Nijhof
7268e9aa56 Bump/flush mypy cache (#109101) 2024-01-30 08:57:24 +01:00
Allen Porter
1069693292 Update calendar tests to use mock entities instead of demo platform (#105317)
* Update calendar tests to use mock entities instead of demo platform

* Add Generator type to fixture

* Fix generator syntax

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-30 06:36:14 +01:00
Raman Gupta
18d395821d Don't remove zwave_js devices automatically (#98145) 2024-01-29 21:36:41 -05:00
Simone Chemelli
03df4fde97 Code quality for Comelit tests (#109077) 2024-01-30 00:17:55 +01:00
puddly
b9f48f62de Bump ZHA dependency zigpy to 0.60.7 (#109082) 2024-01-29 23:59:56 +01:00
Cody C
c4fbf59e16 Fix duplicate Windy values showing in automations state selector (#108062) 2024-01-29 23:34:06 +01:00
Marcel van der Veldt
769da1ee23 Bump python-matter-server to version 5.3.0 (#109068) 2024-01-29 23:26:37 +01:00
Franck Nijhof
6ce16286d5 Update colorlog to 6.8.2 (#109072) 2024-01-29 23:24:17 +01:00
Franck Nijhof
3dec206421 Update apprise to 1.7.2 (#109071) 2024-01-29 23:17:44 +01:00
J. Nick Koston
825fed8319 Bump aiohttp to 3.9.3 (#109025)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-29 23:15:18 +01:00
Kristof Mariën
0013f184b3 Extract foscam base entity for reuse (#108893)
* Extract foscam base entity for reuse

* Cleanup

* More cleanup

* Cleanup constructor

* Use more constants
2024-01-29 23:02:19 +01:00
J. Nick Koston
b5c1d3feeb Bump tesla-powerwall to 0.5.1 (#109069) 2024-01-29 22:50:06 +01:00
Brett Adams
b711c491d5 Add doors and charge cable binary sensors to Tessie (#107172)
* Add doors

* Update homeassistant/components/tessie/strings.json

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

* Add charge cable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-29 22:00:26 +01:00
Paul Bottein
02ac985120 Use right initial attribute value for demo climate (#108719) 2024-01-29 21:46:04 +01:00
Robert Resch
872a59f405 Bump deebot-client to 5.0.0 (#109066) 2024-01-29 21:45:10 +01:00
Erik Montnemery
7ef3ed6107 Fix light color mode in govee_light_local (#108762) 2024-01-29 21:40:21 +01:00
Robert Svensson
f1392f8519 Try to reconnect to UniFi on 403 (#109067) 2024-01-29 21:39:15 +01:00
Teemu R
6f88cd3273 Bump python-kasa to 0.6.2 (#109064) 2024-01-29 10:19:44 -10:00
wilburCforce
39d263599e Add lutron fan entity (#107402)
* add support for fan entity

* removed unused variables

* removed preset leftovers - not needed

* added deprecation for fans

* Update __init__.py

* fix typing

* initial updates based on review

* updated to search on unique ID instead of entity ID.

* updates for nits

* nits updates

* updates for new callback

* removed async per nits

* wrapped comments into shorter lines

* Add comment comma

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-29 20:58:12 +01:00
Ellis Michael
a289ab9044 Don't check SSL certificate retrieving webos image (#104014)
I didn't test this in HA, but I did test this in a Python REPL, manually
querying my TV. The old method for ignoring SSL certificate validation
doesn't work at all. This method does and is supported by the aiohttp
documentation.

https://docs.aiohttp.org/en/stable/client_reference.html

Fixes #102109
2024-01-29 21:41:53 +02:00
Stephen Eisenhauer
a9fe63ed90 Reject unifi uptime sensor updates if time delta is small (#108464)
* Reject unifi uptime sensor updates if time delta is small

* Revise uptime change threshold tuning

* Use StateType helper

* Treat missing or zero uptime as None (unknown)
2024-01-29 20:30:07 +01:00
Jan-Philipp Benecke
80bfd4cef7 Raise ValueError when last_reset set and not total state class (#108391)
* Raise ValueError when last_reset set and not total state class

* Fix test

* Break long string into smaller ones
2024-01-29 20:21:35 +01:00
Joost Lekkerkerker
aefae5bdae Prepare Analytics insights for more sensors (#108976) 2024-01-29 19:34:53 +01:00
J. Nick Koston
a6b426ca3e Add discovery support for the 2023 pro check model to mopkea (#109033) 2024-01-29 19:33:10 +01:00
Paul Bottein
4170a447fc Allow system and helper integrations to provide entity_component icons (#109045) 2024-01-29 19:26:55 +01:00
Marc Mueller
be4631cbf8 Use unique artifact names for db jobs [ci] (#108653) 2024-01-29 19:15:36 +01:00
Jan-Philipp Benecke
0a0d4c37a9 Use constants instead of literals for api (#105955) 2024-01-29 18:09:00 +01:00
Martijn van der Pol
b386960661 Add default parameter to as_datetime template function/filter (#107229)
* improve as_datetime

* Improve `as_datetime` Jinja filter/function

* review

* resolve more review items

* change test for datetime input

* Update docstring

* update docstrings for tests

* remove whitespace

* only_default

* Update do string and comment

* improve comment

* Adjust comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-29 18:05:44 +01:00
kpine
be8af7bea3 Fix zwave_js set_config_parameter WS api regression (#109042) 2024-01-29 18:04:05 +01:00
karwosts
f456e3a071 Allow delete_all_refresh_tokens to delete a specific token_type (#106119)
* Allow delete_all_refresh_tokens to delete a specific token_type

* add a test

* minor string change

* test updates

* more test updates

* more test updates

* fix tests

* do not delete current token

* Update tests/components/auth/test_init.py

* Update tests/components/auth/test_init.py

* Option to not delete the current token

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-29 17:09:23 +01:00
Simone Chemelli
075dab250e Code quality for Shelly tests (#109054)
* Code quality for Shelly tests

* clean-up
2024-01-29 16:02:51 +01:00
Malte Franken
6cf48068b5 Bump aio-geojson-nsw-rfs-incidents to 0.7 (#108885) 2024-01-29 15:52:20 +01:00
Cyrill Raccaud
f82fb63dce Add bring integration (#108027)
* add bring integration

* fix typings and remove from strictly typed
- wait for python-bring-api to be ready for strictly typed

* make entity unique to user and list
- before it was only list, therefore the same list imported by two users would have failed

* simplify bring attribute

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

* cleanup and code simplification

* remove empty fields in manifest

* __init__.py aktualisieren

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

* __init__.py aktualisieren

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

* strings.json aktualisieren

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

* streamline async calls

* use coordinator refresh

* fix order in update call and simplify bring list

* simplify the config_flow

* Update homeassistant/components/bring/manifest.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* add unit testing for __init__.py

* cleanup comments

* use dict instead of list

* Update homeassistant/components/bring/todo.py

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

* clean up

* update attribute name

* update more attribute name

* improve unit tests

- remove patch and use mock in conftest

* clean up tests even more

* more unit test inprovements

* remove optional type

* minor unit test cleanup

* Update .coveragerc

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-01-29 15:08:11 +01:00
Duco Sebel
d631cad07f Add new sensors exposed by HomeWizard kWh meter (#108850)
* Add new sensors exposed by kWh meter

* Add entity translation placeholders

* Fix Mypy issue

* Adjusts tests

* Remove suggested display precision for disabled-by-default sensors

* Update test-snapshots

* Update snapshots
2024-01-29 14:42:16 +01:00
J. Nick Koston
e9e289286e Set hassio api json encoding to avoid looking it up every request (#109032) 2024-01-29 14:32:53 +01:00
J. Nick Koston
5183eed0bc Avoid re-encoding the hassio command URL each request (#109031)
* Avoid reconstructing the hassio command URL each request

The host had to be re-encoded every time which creates an ip_address object

By doing a join we avoid this. It was actually happening twice since
we passed constructed the URL for testing and than passed it as a string
so aiohttp did it as well

* make url the same
2024-01-29 14:25:27 +01:00
Marc Mueller
030727b078 Remove deprecated event_loop fixtures in tests (#109048) 2024-01-29 14:24:58 +01:00
Duco Sebel
dbc568cd53 Simplify HomeWizard sensor names (#108854)
* Simplify HomeWizard sensor names

* Simplify translations even more by using default device_class names
2024-01-29 13:24:00 +01:00
Isak Nyberg
789055fd68 Fix Permobil eula error (#107290)
* bump mypermobil to 0.1.8

* add eula check in config flow

* Update strings.json

* add test for email code with signed eula

* fix docstring character limit

* add placeholder description for MyPermobil
2024-01-29 12:48:55 +01:00
dependabot[bot]
0517e6049b Bump github/codeql-action from 3.23.1 to 3.23.2 (#109039)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.23.1 to 3.23.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v3.23.1...v3.23.2)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-29 12:02:53 +01:00
Christophe Gagnier
91e7e5e01a Add binary sensors to TechnoVE integration (#108938)
* Add binary sensors to TechnoVE integration

* Add unit tests for TechnoVE binary sensors

* Implement PR feedback for TechnoVE

* Limit to appropriate sensors in TechnoVE tests

* Removed leftover code

* Implement feedback in TechnoVE PR #108938
2024-01-29 11:56:57 +01:00
Brett Adams
d45227adbb Move asyncio lock in Teslemetry (#109044)
Use single wakelock per vehicle
2024-01-29 11:00:18 +01:00
Erik Montnemery
fd87fd9559 Update attributes in Entity.__init__ in matter (#108877) 2024-01-29 10:32:15 +01:00
Jan-Philipp Benecke
95aea1488d Add pylint plugin to check if coordinator is placed in its own module (#108174)
* Add pylint plugin to check if coordinator is placed in its own module

* Remove unintended changes

* Remove pylint disable and let CI only fail on W,E,F

* Make check conventional

* Apply review suggestion

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

* Use option instead

* Remove pylint arguments from pre-commit

* Partially revert "Remove pylint disable and let CI only fail on W,E,F"

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-29 10:30:19 +01:00
Joost Lekkerkerker
57622acabf Bump python-homewizard-energy to v4.2.2 (#109038) 2024-01-29 08:42:24 +01:00
Joost Lekkerkerker
b50f7041a3 Bump pytest-asyncio to 0.23.4 (#109027) 2024-01-29 07:10:17 +01:00
Arie Catsman
2b33feb341 Add phase entities to Enphase Envoy (#108725)
* add phase entities to Enphase Envoy

* Implement review feedback for translation strings

* Enphase Envoy multiphase review changes

Move device name logic to separate function.
Refactor native value for phases
Use dataclasses.replace for phase entities, add on-phase to base class as well, no need for phase entity descriptions anymore

* Enphase Envoy reviewe feedback

Move model determination to library.
Revert states test for future split to sensor test.

* Enphase_Envoy use model description from pyenphase library

* Enphase_Envoy refactor Phase Sensors

* Enphase_Envoy use walrus in phase sensor

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-28 22:46:47 +01:00
G Johansson
e13a34df0f Separate fixture in Sensibo (#109000) 2024-01-28 22:43:22 +01:00
J. Nick Koston
b54e282801 Remove follow symlinks support from CachingStaticResource (#109015) 2024-01-28 10:07:12 -10:00
Brett Adams
b28e8a3cf0 Add tests to Teslemetry (#108884)
* Add tests

* Add partial sleep test

* Remove useless AsyncMock

* Review feedback

* Patch imports

* Fix mock_test
2024-01-28 21:04:44 +01:00
Joost Lekkerkerker
a01e73a575 Add translation placeholder to Hue (#108848) 2024-01-28 20:40:21 +01:00
dependabot[bot]
7c59b0b43c Bump dorny/paths-filter from 2.12.0 to 3.0.0 (#108894)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-28 20:35:52 +01:00
J. Nick Koston
7667024a2f Remove extra confirmation step in tplink authenticated discovery flow (#109016)
Remove extra confirmation step in tplink discovery flow

After discovery, and manually entering credentials, we would ask
the user if they still wanted to set up the device. Instead we
now set create the config entry as soon as they enter correct
credentials as its clear that they want to proceed.
2024-01-28 20:23:07 +01:00
Tomer Shemesh
6de8304256 Update pylutron-caseta to 0.19.0 (#108987) 2024-01-28 09:18:28 -10:00
max2697
843c84a325 Add new virtual integration for opower City of Austin Utilities provider (#108337) 2024-01-28 19:54:16 +01:00
David F. Mulcahey
c3222ef733 Fix statuses for ZHA attribute reporting configuration event (#108532)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-01-28 19:28:06 +01:00
Erik Montnemery
8abb4e5f52 Improve display of errors with no message in script trace (#108735) 2024-01-28 19:27:14 +01:00
suaveolent
5818b6141a Added type information to lupusec (#109004)
Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2024-01-28 19:26:05 +01:00
Brett Adams
6ef0b9bf97 Bump tesla-fleet-api to 0.2.3 (#108992) 2024-01-28 19:25:17 +01:00
Joost Lekkerkerker
17b543513c Add strings to Sensirion BLE (#109001) 2024-01-28 19:18:22 +01:00
Christopher Fenner
19988b456c Fix entity naming for heatpump heatings in ViCare (#109013)
Update strings.json
2024-01-28 19:07:14 +01:00
Simone Chemelli
f413ff2837 Add clima support to Comelit integration (#108858)
* Add clima support to Comelit integration

* address first part of review comments

* applied more review comments

* remove old multiplier

* removed preset modes (not always configured)

* small tweak

* apply StrEnum class
2024-01-28 18:50:38 +01:00
suaveolent
f2100f80c4 Add device info to lupusec (#108910)
* added device info and unique id

* removed wrong attribute

* added base entity

* rename domain

* added entity.py to coveragerc

* added base entity for sensors and alarm panel

* add generic type translation

* rename functions

* rename device name to device model

* set _attr_name = None

* pass in only the entry_id instead of the full config_entry

* set unique id to device_id or entry id

* use deviceinfo class

* moved     _attr_name = None to entities

* Update homeassistant/components/lupusec/alarm_control_panel.py

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

* Update homeassistant/components/lupusec/entity.py

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

* Update homeassistant/components/lupusec/entity.py

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

* remove DOMAIN from unique id

* removed redundant function

* Update homeassistant/components/lupusec/alarm_control_panel.py

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

* Update homeassistant/components/lupusec/entity.py

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

---------

Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-28 16:06:57 +01:00
RJPoelstra
9413d15c25 Add enum sensor to Vogel's MotionMount integration (#108643)
Add enum sensor entity
2024-01-28 15:02:39 +01:00
karwosts
a2d707442a Fix error when passing a whole number to location selector (#108952)
* Fix error when passing an integer to location selector

* fix tests

* more fix tests

* don't mutate original dict

* remove string testcase
2024-01-28 14:13:00 +01:00
G Johansson
c6ffd453d2 Bump pytrafikverket to 0.3.10 (#108984) 2024-01-28 11:26:02 +01:00
myztillx
ba5d10be73 Separate ecobee start and end date/times for create_vacation service (#107255)
Separate start and end time msg and update service string
2024-01-28 11:21:52 +01:00
Matrix
40010620dd Bump yolink-api to 0.3.6 fix aiomqtt breaking changes (#108555)
* bump yolink-api to 0.3.5

* bump yolink-api to 0.3.6
2024-01-28 00:38:42 -05:00
Joost Lekkerkerker
a793a5445f Add options flow to Analytics Insights (#108716)
* Add options flow to Analytics Insights

* Fix options flow function
2024-01-27 22:24:35 +01:00
J. Nick Koston
601988ecf2 Bump cryptography to 42.0.1 and pyOpenSSL to 24.0.0 (#108956)
* Bump cryptography to 42.0.1

changes: https://github.com/pyca/cryptography/compare/41.0.7...42.0.1

Note that more of the non-rust backend code has been removed
I had to handle that in
https://github.com/bdraco/chacha20poly1305-reuseable/releases/tag/v0.12.1

So there may be other downstream consumers that have a problem

* need pyOpenSSL as well

* too early before coffee
2024-01-27 21:30:00 +01:00
Arie Catsman
49667a26b2 Bump pyenphase to 1.19.0 (#108951) 2024-01-27 10:10:03 -10:00
mkmer
019e80b204 Use version property in Blink (#108911) 2024-01-27 19:45:13 +01:00
David F. Mulcahey
7069fb9508 Add model check to ZHA Sonoff manufacturer specific cluster handler (#108947) 2024-01-27 10:40:23 -05:00
jan iversen
3cc5ffaa4b Replace modbus number_validator by HA standard (#108939) 2024-01-27 16:39:33 +01:00
Brett Adams
858fb1fa37 Add snapshot testing to Tessie (#108346)
* Redo Binary Sensors

* Redo Button

* Redo Climate

* Stage unfixed platforms

* Redo Cover

* Redo device tracker

* Redo lock

* Redo Media Player

* Redo Number

* Redo Select

* Redo Sensor

* Redo Switch

* Redo Update

* Fix setup_platform

* Add mixing snapshot

* Fix config flow

* Centralise entity testing

* Update snapshot

* Rename test_entities

* Fix assert_entities
2024-01-27 13:43:55 +01:00
David F. Mulcahey
950660b953 Reorganize ZHA device availability code (#108856)
* Correct ZHA device availability at startup

* don't set available property from gateway

* cleanup
2024-01-27 07:17:05 -05:00
Jan Bouwhuis
677b06f502 Add comment to explain not using the core API in MQTT client (#108942) 2024-01-27 02:05:31 -10:00
matt7aylor
dec9eb9ae4 Matter sensors for air quality measurements (#108173)
* Matter sensors for air quality measurements
Add sensors for CO2, PM1, PM2.5, PM10 and TVOC

* Add initial tests for matter air quality sensor

* Remove VOC data as requires unit extraction from cluster
2024-01-27 08:46:24 +01:00
Stefan Agner
f35e0d8a55 Add more Thread vendor to brand mappings (#108899)
Thread: Add additional vendor to brand mappings

Add additional vendor to brand mappings for known Thread border
router vendors.
2024-01-27 08:43:08 +01:00
Yuxin Wang
16a90f8f19 Fix stalls in config flow of APCUPSD (#108931)
Fix deadlock in config flow of APCUPSD
2024-01-27 08:34:29 +01:00
J. Nick Koston
5dac5d5c7e Refactor logbook helpers to reduce splits and lookups (#108933)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-26 20:07:24 -10:00
Michael Hansen
61c6c70a7d Improved Assist debug (#108889)
* Differentiate builtin/custom sentences and triggers in debug

* Refactor so async_process runs triggers

* Report relative path of custom sentences file

* Add sentence trigger test
2024-01-26 23:04:45 -05:00
J. Nick Koston
f96f4d31f7 Convert referenced registry functions to use cached_property (#108895)
* Convert referenced registry functions to use cached_property

These already implemented caching, but now that we can use cached_property
because the lock problem is solved, we can make the code simplier and faster

* missed one

* make them the same
2024-01-26 23:02:42 -05:00
J. Nick Koston
0120d00081 Switch unifiprotect to use async_update_reload_and_abort helper (#108934) 2024-01-26 22:55:58 -05:00
J. Nick Koston
5177d022e8 Switch imap to use async_update_reload_and_abort helper (#108935) 2024-01-26 22:55:26 -05:00
Robert Resch
b1b53ac893 Add Ecovacs image entities (#108924)
* Add Ecovacs image entities

* Fix
2024-01-26 20:33:21 +01:00
Michael
d007327cf5 Deprecate legacy Proximity entity (#108730)
* deprecate proximity entity

* add test

* extend tests

* adjust strings

* make issue fixable

* use default repairflow
2024-01-26 19:04:48 +01:00
Erik Montnemery
b074334c07 Fix light color mode in advantage_air (#108875) 2024-01-26 07:22:49 -10:00
Jan Bouwhuis
7bec5ef6bc Use unknown color_mode for MQTT json lights if color mode is not set (#108909) 2024-01-26 14:42:47 +01:00
Josef Zweck
00c2ba69f7 Add webhook support to tedee integration (#106846)
* start work on webhooks

* start work on webhooks

* use background task

* websocket improvement

* add test

* add webhook id to mock_config_entry

* some changes

* add webhook to manifest

* fix test

* reset poll timer on webhook update

* reset poll timer on webhook update

* code cleanup

* generate webhook id in config flow

* fix merge

* undo var rename

* remove

* ruff

* ruff

* only delete specific webhook

* clarify warning

* version bump

* minor improvements

* requested changes

* unregister function

* move more of unregistration logic

* test pushed data

* add comment

* Update config_flow.py

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

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-26 10:48:16 +01:00
Joost Lekkerkerker
d4ac5e492b Add entity registry test to Withings (#108900) 2024-01-26 09:33:56 +01:00
Christophe Gagnier
b91e9edd16 Remove "max_current" from TechnoVE sensors (#108898) 2024-01-26 09:05:36 +01:00
J. Nick Koston
dff5e45761 Small speed up to listing config entries in the websocket api (#108892) 2024-01-25 20:20:19 -10:00
J. Nick Koston
9de8409f48 Speed up security filter middleware (#108703)
* Speed up security filter middleware

Check the path and query string with the filter expression once instead
of checking the path and query string seperately. If we get a hit than
we check the query string to ensure we give a more verbose error about
where the filter hit.

Additionally since we see the same urls over and over, cache the unquote

* request.url is to expensive, cheaper to join

* aiohttp has a path_qs fast path

* construct the string outselves so it functions exactly as before
2024-01-26 00:17:18 -05:00
J. Nick Koston
617e8dd8a5 Small cleanup to entity platform translation fetching (#108890)
* Small cleanup to entity platform translation fetching

While I could not realize the performance improvemnet I had
hoped in #108800, I pulled this out since its a nice cleanup to avoid
constructing the inner function over and over.

* stale docstring
2024-01-26 00:14:44 -05:00
David F. Mulcahey
3f31a76692 Apply consistent naming to ZHA cluster handler implementations (#108851)
* Apply consistent naming to ZHA cluster handler implentations

* remove import alias

* remove if statement around assert in test
2024-01-25 20:09:38 -05:00
Massimo Savazzi
eb85f469e9 Add binary sensor platform to JVC Projector (#108668)
* JVC Projector Binary Sensor

* Fixed PR as per request, removed Name, removed Read_Only.

* Fixed as per Joostlek suggestions

* Update homeassistant/components/jvc_projector/coordinator.py

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

* Update homeassistant/components/jvc_projector/binary_sensor.py

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

* Added changes as per requests

* fixed docstring

* Update homeassistant/components/jvc_projector/strings.json

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

* Update homeassistant/components/jvc_projector/binary_sensor.py

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

* Added icon property to binary sensor. Removed icons.json file as not used anymore

* Fixed tests

* Added icons file

* Update homeassistant/components/jvc_projector/icons.json

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

* Update test_binary_sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-25 22:49:03 +01:00
Simone Chemelli
e1b1bb070d Bump aiocomelit to 0.8.2 (#108862)
* bump aicomelit to 0.8.1

* bump to 0.8.2
2024-01-25 21:40:06 +01:00
J. Nick Koston
3447e7fddb Fix ESPHome color modes for older firmwares (#108870) 2024-01-25 10:18:53 -10:00
Jonas Fors Lellky
2b799830db Add switch to flexit bacnet integration (#108866)
* Add platform switch to flecit_bacnet integration

* Move testing of the switch to it’s own test

* Assert correct method is called one time

* Test switch on/off error recovery

* Review comment
2024-01-25 20:59:36 +01:00
Diogo Gomes
12289f172d Filter only utility_meter select entities in reset service (#108855)
filter reset service to only utility_meters
2024-01-25 20:46:45 +01:00
dougiteixeira
7713cf377d Add utility meter option for the sensor to always be available (#103481)
* Adds option for the sensor to always be available

* Remove logger debug

* Add migration config entry version

* Update homeassistant/components/utility_meter/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/utility_meter/sensor.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Remove migration config entry version

* Change CONF_SENSOR_ALWAYS_AVAILABLE optional in CONFIG_SCHEMA

* Remove CONF_SENSOR_ALWAYS_AVAILABLE in tests

* Remove CONF_SENSOR_ALWAYS_AVAILABLE in tests

* Remove CONF_SENSOR_ALWAYS_AVAILABLE in tests

* Add option in yaml

* Update homeassistant/components/utility_meter/strings.json

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/utility_meter/strings.json

Co-authored-by: Robert Resch <robert@resch.dev>

* Changes tests

* Add test_always_available

* Use freezegun

* Update homeassistant/components/utility_meter/strings.json

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-25 20:46:33 +01:00
suaveolent
faad9a7584 Add ConfigFlow for Lupusec (#108740)
* init support for config flow for lupusec

* correctly iterate over BinarySensorDeviceClass values for device class

* bump lupupy to 0.3.2

* Updated device info for lupusec

* revert bump lupupy for separate pr

* fixed lupusec test-cases

* Change setup to async_setup

* remove redundant check for hass.data.setdefault

* init support for config flow for lupusec

* correctly iterate over BinarySensorDeviceClass values for device class

* bump lupupy to 0.3.2

* Updated device info for lupusec

* revert bump lupupy for separate pr

* fixed lupusec test-cases

* Change setup to async_setup

* remove redundant check for hass.data.setdefault

* resolve merge error lupupy

* connection check when setting up config entry

* removed unique_id and device_info for separate pr

* changed name to friendly name

* renamed LUPUSEC_PLATFORMS to PLATFORMS

* preparation for code review

* necessary changes for pr

* changed config access

* duplicate entry check

* types added for setup_entry and test_host_connection

* removed name for lupusec system

* removed config entry from LupusecDevice

* fixes for sensors

* added else block for try

* added integration warning

* pass config to config_flow

* fix test cases for new config flow

* added error strings

* changed async_create_entry invocation

* added tests for exception handling

* use parametrize

* use parametrize for tests

* recover test

* test unique id

* import from yaml tests

* import error test cases

* Update tests/components/lupusec/test_config_flow.py

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

* fixed test case

* removed superfluous test cases

* self._async_abort_entries_match added

* lib patching call

* _async_abort_entries_match

* patch lupupy lib instead of test connection

* removed statements

* test_flow_source_import_already_configured

* Update homeassistant/components/lupusec/config_flow.py

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

* removed unique_id from mockentry

* added __init__.py to .coveragerc

---------

Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-25 18:52:30 +01:00
Michael
bb8828c86f Address late review on auth (#108852) 2024-01-25 18:15:35 +01:00
Frank Wickström
1b7109fb95 Bump pyhuum to 0.7.10 (#108853)
* Upgrade pyhuum 0.7.9 -> 0.7.10

This fixes dependency issues with Black and ruff

* Update requirements_all.txt

* Update requirements_test_all.txt

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-25 17:52:03 +01:00
mkmer
24c9bddae0 Bump blinkpy to 0.22.6 (#108727)
Remove update after snap - now handled in library
2024-01-25 15:23:37 +01:00
David F. Mulcahey
74a60929e4 Use Zigpy definition objects in ZHA cluster handlers (#108383)
* use zigpy def objects in ZHA cluster handlers

* shorten with direct imports

* shorten with rename due to clash
2024-01-25 08:47:26 -05:00
TheJulianJES
4138b5c308 Reduce log level for creating ZHA cluster handler (#108809) 2024-01-25 08:45:11 -05:00
Martin Hjelmare
53b73bd0bd Make device tracker latitude and longitude optional (#108838)
* Make device tracker latitude and longitude optional

* Update test
2024-01-25 13:25:17 +01:00
Duco Sebel
1fa7ceede3 Use entity translations placeholders in HomeWizard (#108741)
* Adopt Entity placeholders

* Undo some snapshot changes
2024-01-25 13:15:20 +01:00
Cody C
6e59568ba3 Use feed name as entity name in GeoJSON (#108753)
* Add support for entity name in GeoJSON

Previously GeoJSON names were just the config entry ID. This is not very user friendly. Particularly so when there are many config entries and many, many entities from those same many config entries.

* Update GeoJSON tests to support entity names
2024-01-25 13:05:07 +01:00
Frank Wickström
6f81d21a35 Add Huum integration (#106420)
* Add Huum integration

* Use DeviceInfo instead of name property for huum climate

* Simplify entry setup for huum climate entry

* Don’t take status as attribute for huum climate init

* Remove unused import

* Set unique id as entity id in huum init

* Remove unused import for huum climate

* Use entry ID as unique ID for device entity

* Remove extra newline in huum climate

* Upgrade pyhuum to 0.7.4

This version no longer users Pydantic

* Parameterize error huum tests

* Update all requirements after pyhuum upgrade

* Use Huum specific naming for ConfigFlow

* Use constants for username and password in huum config flow

* Use constants for temperature units

* Fix typing and pylint issues

* Update pyhuum to 0.7.5

* Use correct enums for data entry flow in Huum tests

* Remove test for non-thrown CannotConnect in huum flow tests

* Refactor failure config test to also test a successful flow after failure

* Fix ruff-format issues

* Move _status outside of __init__ and type it

* Type temperature argument for _turn_on in huum climate

* Use constants for auth in huum config flow test

* Refactor validate_into into a inline call in huum config flow

* Refactor current and target temperature to be able to return None values

* Remove unused huum exceptions

* Flip if-statment in async_step_user flow setup to simplify code

* Change current and target temperature to be more future proof

* Log exception instead of error

* Use custom pyhuum exceptions

* Add checks for duplicate entries

* Use min temp if no target temp has been fetched yet when heating huum

* Fix tests so that mock config entry also include username and password

* Fix ruff styling issues

I don’t know why it keeps doing this. I run `ruff` locally, and then it does not complain, but CI must be doing something else here.

* Remove unneded setting of unique id

* Update requirements

* Refactor temperature setting to support settings target temparature properly
2024-01-25 12:55:55 +01:00
Brett Adams
909cdc2e5c Add Teslemetry Integration (#108147)
* Copy Paste Find Replace

* Small progress

* wip

* more wip

* Add SSE listen and close

* More rework

* Fix coordinator

* Get working

* Bump to 0.1.3

* Push to 0.1.4

* Lots of fixes

* Remove stream

* Add wakeup

* Improve set temp

* Be consistent with self

* Increase polling until streaming

* Work in progress

* Move to single climate

* bump to 0.2.0

* Update entity

* Data handling

* fixes

* WIP tests

* Tests

* Delete other tests

* Update comment

* Fix init

* Update homeassistant/components/teslemetry/entity.py

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

* Add Codeowner

* Update coverage

* requirements

* Add failure for subscription required

* Add VIN to model

* Add wake

* Add context manager

* Rename to wake_up_if_asleep

* Remove context from coverage

* change lock to context

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

* Improving Logger

* Add url to subscription error

* Errors cannot markdown

* Fix logger

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

* rename logger

* Fix error logging

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-25 12:54:47 +01:00
Joost Lekkerkerker
114bf0da34 Update Lutron in callback (#108779)
* Update Lutron in callback

* Update Lutron in callback

* Remove abstractmethod

* Don't do IO in constructor

* Split fetching and setting
2024-01-25 12:54:31 +01:00
Duco Sebel
0c9a30ab69 Add support for externally connected utility devices in HomeWizard (#100684)
* Backport code from #86386

* Add tests

* Remove local dev change

* Implement device class validation based on unit

* Swap sensor and externalsensor classes (based on importance)

* Use translations for external sensor entities

* Re-add meter identifier as sensor for external devices

* Add migration for Gas identifier

* Rename HomeWizardExternalIdentifierSensorEntity class

* Fix all existing tests

* Reimplement tests for extenal devices with smapshots

* Remove non-used 'None' type in unit

* Add migration test

* Clean up parameterize

* Add test to fix last coverage issue

* Fix non-frozen mypy issue

* Set device name via added EntityDescription field

* Remove device key translations for external sensors,

* Bring back translation keys

* Set device unique_id as serial number

* Remove meter identifier sensor

* Simplify external device initialization

* Adjust tests

* Remove unused gas_meter_id migration

* Remove external_devices redaction

* Remove old gas meter id sensor after migration
2024-01-25 12:51:50 +01:00
RoboMagus
c54b65fdf0 Add 'last_reset' for 'total' state_class template sensor (#100806)
* Add last_reset to trigger based template sensors

* Add last_reset to state based template sensors

* CI check fixes

* Add pytests

* Add test cases for last_reset datetime parsing

* Add test for static last_reset value

* Fix ruff-format
2024-01-25 11:12:03 +01:00
Teemu R
3965f20526 Bump python-kasa to 0.6.1 (#108831) 2024-01-25 10:50:01 +01:00
dependabot[bot]
7efc82b14c Bump dorny/paths-filter from 2.11.1 to 2.12.0 (#108826)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-25 10:36:13 +01:00
J. Nick Koston
82d21136bd Do not try to cleanup invalid config entries without an AccessoryPairingID (#108830) 2024-01-24 22:49:27 -10:00
Erik Montnemery
da7d2ef228 Fix light color mode in zwave_js (#108783) 2024-01-25 09:46:22 +01:00
Martin Hjelmare
fabf8802f5 Fix matter color modes (#108804)
* Fix matter light color modes

* Make onoff light fixture only onoff

* Make dimmable light only a dimmable light

* Make color temp light fixture only a color temp light
2024-01-25 09:15:38 +01:00
Josef Zweck
c9bef39c9a Update pytedee_async to 0.2.12 (#108800) 2024-01-25 08:47:05 +01:00
Robert Svensson
195ef6d769 Fix lights reporting unsupported colormodes in deCONZ (#108812) 2024-01-25 08:38:57 +01:00
J. Nick Koston
0628546a0e Add basic tests for powerview scenes (#108818) 2024-01-24 17:50:06 -10:00
J. Nick Koston
c01e8288c1 Convert http auth internals to normal functions (#108815)
Nothing was being awaited here anymore, these can be normal functions
2024-01-24 22:34:52 -05:00
J. Nick Koston
d588ec8202 Fix ESPHome not fully removing entities when entity info changes (#108823) 2024-01-24 17:29:11 -10:00
John Hess
7f56330e3b Bump thermopro-ble to 0.9.0 (#108820) 2024-01-24 17:26:58 -10:00
Michael
f5d439799b Add expiration of unused refresh tokens (#108428)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 13:24:22 -10:00
Robert Resch
0d22822ed0 Add Ecovacs diagnostics (#108791)
* Add Ecovacs diagnostics

* Fix test
2024-01-24 23:30:14 +01:00
Kevin Worrel
02f7165ca5 Add super chlorination services to screenlogic (#108048)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 12:28:27 -10:00
Jan Bouwhuis
134cc78400 Fix processing supported color modes for emulated_hue (#108803) 2024-01-24 22:15:00 +01:00
Jan Bouwhuis
066692506c Fix unhandled exception on humidifier intent when available_modes is None (#108802) 2024-01-24 22:14:15 +01:00
J. Nick Koston
de38e7a367 Bump aioshelly to 8.0.1 (#108805) 2024-01-24 10:56:26 -10:00
CR-Tech
df9faeae6f Add write_registers support for Fan Mode in modbus (#108053) 2024-01-24 20:48:55 +01:00
Paul Bottein
0d633f33fa Set right icon for set_humidity climate service (#108801) 2024-01-24 20:40:48 +01:00
Jan-Philipp Benecke
ddf02959f4 Bump area registry storage minor version to 4 (#108798) 2024-01-24 20:31:43 +01:00
J. Nick Koston
f883f721c8 Avoid copying translations for single components (#108645) 2024-01-24 19:52:34 +01:00
Martin Hjelmare
852e4c21c6 Complete device tracker entity tests (#108768) 2024-01-24 19:50:55 +01:00
Jan Bouwhuis
30c9a70dbf Fix google_assistant climate modes might be None (#108793) 2024-01-24 19:47:07 +01:00
Erik Montnemery
909e58066d Fix changed_variables in automation and script traces (#108788) 2024-01-24 19:12:45 +01:00
Luke Lashley
aa86d87a31 Bump python-roborock to 39.1 (#108751) 2024-01-24 19:11:39 +01:00
Erik Montnemery
9c727e5ea8 Add icon to areas (#108650) 2024-01-24 19:11:03 +01:00
Simone Chemelli
c6a1ec96f4 Add Shelly CoAP port to default container port (#108016)
* Add Shelly CoAP port to default container port

* Update devcontainer.json
2024-01-24 19:00:57 +01:00
Jan Bouwhuis
a90d8b6a0c Stabilize alexa discovery (#108787) 2024-01-24 18:56:21 +01:00
Robert Resch
5467fe8ff1 Add Ecovacs select entities (#108766)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-24 17:17:43 +01:00
Erik Montnemery
aaf1cc818a Fix light color mode in tradfri (#108761) 2024-01-24 16:55:18 +01:00
Erik Montnemery
4b2b4ae36b Add invert option to switch_as_x (#107535)
* Add invert option to switch_as_x

* Store invert flag in entity options

* Add options flow

* Update strings

* Add tests

* Address review comment

* Update homeassistant/components/switch_as_x/strings.json

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

* Address review comments

* Inline get_suggested which was only used once in tests

* Address review comments

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-24 16:35:08 +01:00
Erik Montnemery
c3de193e2e Adjust color_mode checks when lights render effects (#108737)
* Adjust color_mode checks when lights render effects

* Improve comment

* Avoid calling effect property if light does not support effects

* Fix test
2024-01-24 15:44:45 +01:00
Erik Montnemery
431e4b38ac Improve tests of script trace (#108733) 2024-01-24 15:29:35 +01:00
Erik Montnemery
97e038eb2e Fix light color mode in netatmo (#108759) 2024-01-24 15:29:16 +01:00
Erik Montnemery
afbd71514f Fix light color mode in advantage_air (#108757) 2024-01-24 15:28:59 +01:00
Erik Montnemery
4a2a7872fb Fix light color mode in tplink (#108760) 2024-01-24 15:28:40 +01:00
Erik Montnemery
dc672ff62c Fix light color mode in fritzbox (#108758) 2024-01-24 15:28:14 +01:00
Erik Montnemery
fcf72ae0c2 Fix race when deleting an automation (#108772) 2024-01-24 15:27:09 +01:00
Jack
af1ba4b22f Add ZHA metering summation received sensor (#107576)
* Add sensor for exposing Summation Received from Metering cluster

* Ruff format

* Test updates for new sensor

* Update test_sensor.py to support summation_received

* Correct report_count for smart meterning and some pylint warning fixes
2024-01-24 07:56:49 -05:00
Erik Montnemery
8fa93f6fe5 Bump comments in light indicating backwards compatibility plan (#108770) 2024-01-24 13:49:26 +01:00
Jan Klausa
f828b1ce85 Bump py-switchbot-api to 2.0.0 (#108721)
* Update switchbot-api to 2.0.0

* bump requirements
2024-01-24 12:36:41 +01:00
Daniel
a67113a95a Parse template result in async_render_with_possible_json_value (#99670)
* Optionally parse templates rendered with possible json

* Remove duplicate strip

* Add tests for parsing template result
2024-01-24 12:12:28 +01:00
Markus Jacobsen
1d7e0e7fe4 Add bang_olufsen integration (#93462)
* Add bangolufsen integration

* add untested files to .coveragerc

* Simplify integration to media_player platform

* Remove missing files from .coveragerc

* Add beolink_set_relative_volume custom service
Tweaks

* Remove custom services
Remove grouping as it was dependent on custom services

* Update API to 3.2.1.150.0
Reduce and optimize code with feedback from joostlek
Tweaks

* Updated testing

* Remove unused options schema

* Fix bugfix setting wrong state

* Fix wrong initial state

* Bump API

* Fix Beosound Level not reconnecting properly

* Remove unused constant

* Fix wrong variable checked to determine source

* Update integration with feedback from emontnemery

* Update integration with feedback from emontnemery

* Remove unused code

* Move API client into dataclass
Fix not all config_flow exceptions caught
Tweaks

* Add Bang & Olufsen brand

* Revert "Add Bang & Olufsen brand"

This reverts commit 57b2722078.

* Remove volume options from setup
Simplify device checks
rename integration to bang_olufsen
update tests to pass
Update API

* Remove _device from base
Add _device to websocket

* Move SW version device update to websocket
Sort websocket variables

* Add WebSocket connection test

* Remove unused constants

* Remove confirmation form
Make discovered devices get added to Home Assistant immediately
Fix device not being available on mdns discovery
Change config flow aborts to forms with error

* Update tests for new config_flow
Add missing api_exception test

* Restrict manual and discovered IP addresses to IPv4

* Re-add confirmation step for zeroconf discovery
Improve error messages
Move exception mapping dict to module level

* Enable remote control WebSocket listener

* Update tests
2024-01-24 12:00:51 +01:00
Steven B
393dee1524 Handle IP address changes properly for tplink (#108731)
* Update device config for SETUP_RETRY and use CONF_HOST on startup

* Make entry state checks use a constant

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

* Update tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-24 11:24:44 +01:00
Kristof Mariën
1cb15a398c Add more device info to foscam camera (#108177) 2024-01-24 11:13:45 +01:00
suaveolent
07449659a5 Bump lupupy to 0.3.2 (#108756)
bump lupupy to 0.3.2

Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2024-01-24 09:20:54 +01:00
J. Nick Koston
21f646c5a7 Add LeaOne integration (#108617) 2024-01-23 22:08:20 -10:00
Paul Bottein
80e66c12b8 Add humidifier attributes icon translations (#108718) 2024-01-24 08:45:30 +01:00
Paul Bottein
00c4913401 Add fan attributes icon translations (#108722) 2024-01-24 08:44:45 +01:00
Paul Bottein
8d1665df16 Use fixed state icon for climate domain (#108723) 2024-01-24 08:44:10 +01:00
Duco Sebel
f7b0a15aa5 Bumb python-homewizard-energy to 4.2.1 (#108738) 2024-01-24 08:31:23 +01:00
Joost Lekkerkerker
c7db8a0bee Add translation placeholders for TPLink power strip (#108710) 2024-01-24 08:23:39 +01:00
puddly
22eed5419e Reduce log level of ZHA endpoint handler init (#108749)
* Reduce the log level of endpoint handler init failure to debug

* Reduce log level in unit test
2024-01-23 21:04:59 -05:00
J. Nick Koston
87898b7487 Add 3C52A1 oui to tplink for tapo l5 devices (#108750) 2024-01-23 21:04:43 -05:00
Michael Hansen
cffd95a015 Pause Wyoming satellite on mute (#108322)
Pause satellite on mute
2024-01-23 20:37:25 -05:00
Michael Hansen
d8a1c58b12 Fix intent loading and incorporate unmatched entities more (#108423)
* Incorporate unmatched entities more

* Don't list targets when match is incomplete

* Add test for out of range
2024-01-23 20:31:57 -05:00
Jan Bouwhuis
c725238c20 Fix alexa fails reporting the state in specific cases (#108743)
* Fix alexa fails reporting the state in specific cases

* More cases
2024-01-23 23:36:44 +01:00
Erik Montnemery
823f268054 Randomize thread network names (#108302)
* Randomize thread network names

* Use PAN ID as network name suffix

* Apply suggestions from code review

Co-authored-by: Stefan Agner <stefan@agner.ch>

* Update tests

* Format code

* Change format of network name again

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-01-23 22:58:28 +01:00
jan iversen
d8f16c14ab Get modbus coverage back to 100% (#108734)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-23 21:50:25 +01:00
Marc Mueller
a6807b8a7f Improve vizio typing (#108042) 2024-01-23 21:20:15 +01:00
Robert Resch
37f5c75752 Add sensors to Ecovacs (#108686)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-23 21:17:18 +01:00
jan iversen
bfd9bd3ff2 Bump pymodbus to v2.6.3 (#108736) 2024-01-23 21:12:07 +01:00
Erik Montnemery
069c2b7e38 Improve tests of script trace (#108717)
* Improve tests of script trace

* Update tests after rebase

* Apply suggestions from code review

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

* Apply suggestions from code review

* Adjust

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-23 19:53:09 +01:00
mkmer
ad14ebe7e9 Use new config entry update/abort handler in Honeywell (#108726)
Use update_reload helper in Honeywell
2024-01-23 17:15:37 +01:00
mkmer
592794566e Bump AIOSomecomort to 0.0.25 (#107815) 2024-01-23 16:27:41 +01:00
Jan-Philipp Benecke
13887793a7 Remove home_plus_control and mark as virtual integration supported by Netatmo (#107587)
* Mark home_plus_control a virtual integration using Netatmo

* Apply code review suggestion

Co-authored-by: Robert Resch <robert@resch.dev>

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-23 16:18:03 +01:00
mkmer
f3b1f47d34 Return PRESET_NONE in Honeywell (#108599)
* Return PRESET_NONE

* format preset_hold

* Address Hold in tests

* Add translations
2024-01-23 15:57:55 +01:00
Michal Ziemski
074d59f849 Update openerz-api to 0.3.0 (#108575) 2024-01-23 15:14:41 +01:00
Erik Montnemery
9bff039d17 Add set_conversation_response script action (#108233)
* Add set_conversation_response script action

* Update homeassistant/components/conversation/trigger.py

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

* Revert accidental change

* Add test

* Ignore mypy

* Remove incorrect callback decorator

* Update homeassistant/helpers/script.py

* Add test with templated set_conversation_response

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-23 09:13:42 -05:00
Dave Leaver
e3a73c12bc Add airtouch5 (#98136)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-23 14:49:47 +01:00
Peter Hall
701404fa0b Add ZHA entities for snzb06p (#107379)
* Updating zha component to add entities for snzb06p

Sonoff snzb06p presence detector needs some custom entities.

* Updating ZCL_INIT_ATTRS for sonoff specific attrs

* updating cluster name due to change in quirk
2024-01-23 08:31:32 -05:00
Joost Lekkerkerker
5dbcdfc6fb Bump python-homeassistant-analytics to 0.6.0 (#108713) 2024-01-23 13:05:40 +01:00
Jan-Philipp Benecke
2e19829d88 Use new config entry update/abort handler in co2signal (#108715) 2024-01-23 13:03:16 +01:00
G Johansson
65581e94ea Add config flow for Time & Date (#104183)
Co-authored-by: Erik <erik@montnemery.com>
2024-01-23 12:18:31 +01:00
Michael
eaa32146a6 Add sensor platform to Proximity (#101497)
* add sensor platform

* transl. of distance already covered by dev.class

* add untested files to .coveragerc

* add missing state translations

* remove translation key for distance sensor

* proximity entity do not use HA number system

* fix

* extend tests

* make const final to be usable as key for TypedDict

* remove proximity from .coveragerc

* replace typeddict by simple dict definition

* make black happy

* rework to create proximity sensor for each tracked entity and always recalculate all entites

* apply review comments

* move direction of travel calc out of the loop

* make direction of travel an enum sensor

* remove unique_id from sensors

* don't set distance=0 when in monitored zone

* set None when direction is unknown

* keep distance 0 in case arrived for legacy entity

* exclude from nearest when in ignored zone

* keep distance=0 when arrived

* use description name for entity name

* remove uneeded typing

* uses consistent variable name

* fix debug messages

* use entity_id as loop var

* rename device_state to tracked_entity_state

* correct MRO for sensor entity classes
2024-01-23 10:56:02 +01:00
Allen Porter
fa63719161 Reduce overhead for google calendar state updates (#108133) 2024-01-23 10:50:00 +01:00
Joost Lekkerkerker
d9f1450ee6 Add Homeassistant Analytics Insights integration (#107634)
* Add Homeassistant Analytics integration

* Add Homeassistant Analytics integration

* Add Homeassistant Analytics integration

* Fix feedback

* Fix test

* Update conftest.py

* Add some testcases

* Make code clear

* log exception

* Bump python-homeassistant-analytics to 0.2.1

* Bump python-homeassistant-analytics to 0.3.0

* Change domain to homeassistant_analytics_consumer

* Add integration name to config flow selector

* Update homeassistant/components/homeassistant_analytics_consumer/manifest.json

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Fix hassfest

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Bump python-homeassistant-analytics to 0.4.0

* Rename to Home Assistant Analytics Insights

* Update homeassistant/components/analytics_insights/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/analytics_insights/manifest.json

Co-authored-by: Robert Resch <robert@resch.dev>

* Rename to Home Assistant Analytics Insights

* add test

* Fallback to 0 when there is no data found

* Allow to select any integration

* Fix tests

* Fix tests

* Update tests/components/analytics_insights/conftest.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update tests/components/analytics_insights/test_sensor.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Fix format

* Fix tests

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-23 10:32:31 +01:00
Teemu R
52ede95c4f Scrub internal data for newer tplink devices (#108704) 2024-01-23 09:08:03 +01:00
Koen van Zuijlen
acd07b4826 Fix for justnimbus integration (#99212)
* Fix for justnimbus integration

* Fixed tests and moved const

* fix: added reauth flow

* fix: fixed reauth config flow

* chore: added config_flow reauth test

* chore: Processed PR feedback

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-23 08:56:11 +01:00
G Johansson
f9a4840ce2 Group sensor calculate attributes (#106972)
* Group sensor calculate attributes

* Use entity helpers

* Fix sensor tests

* Test change of uom

* Add tests and fix UoM issue

* Fix test

* Fix state class

* repair and logs

* delete issues

* pass through hass

* Update descriotion text to be more descriptive

* Comments

* Add pr to comment

* fix if in updating

* Fix test valid units

* Fix strings

* Fix issues
2024-01-23 08:16:51 +01:00
Erik Montnemery
329eca4918 Store area registry entries in a UserDict (#108656)
* Store area registry entries in a UserDict

* Address review comments
2024-01-23 08:14:28 +01:00
J. Nick Koston
2eea658fd8 Convert getting and removing access tokens to normal functions (#108670) 2024-01-22 20:51:33 -10:00
J. Nick Koston
904032e944 Bump habluetooth to 2.4.0 (#108695)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.3.1...v2.4.0
2024-01-23 07:46:47 +01:00
J. Nick Koston
60149e9b9e Add OUI 5C628B to tplink (#108699)
Seen on 530E(US)
2024-01-23 07:21:44 +01:00
Christophe Gagnier
4358c24edd Add zeroconf to TechnoVE integration (#108340)
* Add zeroconf to TechnoVE integration

* Update homeassistant/components/technove/config_flow.py

Co-authored-by: Teemu R. <tpr@iki.fi>

* Update zeroconf test to test if update is called.

When a station is already configured and it is re-discovered through zeroconf, make sure we don't call its API for nothing.
2024-01-23 06:32:42 +01:00
J. Nick Koston
6fb86f179a Use new config entry update/abort helper in bond (#108690)
Use new config entry update/abort helper in bond

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-23 06:09:33 +01:00
J. Nick Koston
7c86ab14c3 Refactor service enumeration methods to better match existing use cases (#108671) 2024-01-22 14:21:17 -10:00
J. Nick Koston
f6bc5c98b3 Handle tplink credential change at run time (#108692) 2024-01-22 13:30:21 -10:00
J. Nick Koston
12b41c35ec Use new config entry update/abort helper in sense (#108691) 2024-01-22 13:24:15 -10:00
J. Nick Koston
426fce93aa Use new config entry update/abort helper in apple_tv (#108688) 2024-01-22 13:24:03 -10:00
J. Nick Koston
def42c6da0 Use new config entry update/abort helper in enphase-envoy (part 2) (#108689)
Use new config entry update/abort helper in enphase_envoy

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 17:19:55 -05:00
Jan-Philipp Benecke
0b79504cf0 Extend config entry update/abort helper to also update unique id (#108681)
* Extend config entry update/abort helper to also update unique id

* Move kwarg to end

* Make additionals kwargs only
2024-01-22 23:01:55 +01:00
J. Nick Koston
9ee8832367 Use new config entry update/abort helper in onvif (#108680)
Use new config entry update/abort helper in onvif

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 23:01:08 +01:00
J. Nick Koston
17202e21f3 Use new config entry update/abort helper in samsungtv (#108683)
Use new config entry update/abort helper in samsungtv

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:59:50 +01:00
J. Nick Koston
faf52aa2ed Use new config entry update/abort helper in shelly (#108684)
Use new config entry update/abort helper in shelly

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:59:17 +01:00
J. Nick Koston
d825c85351 Use new config entry update/abort helper in enphase_envoy (#108679)
Use new config entry update/abort helper in enphase_envoy

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:43:12 +01:00
J. Nick Koston
4bf4bc7e9b Use new config entry update/abort helper in synology_dsm (#108682) 2024-01-22 11:39:57 -10:00
J. Nick Koston
07926660bc Use new config entry update/abort helper in isy994 (#108678)
Use new config entry update/abort helper in isy994

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:33:49 +01:00
J. Nick Koston
4378a171b2 Use new config entry update/abort helper in yalexs_ble (#108675)
Use new config entry update/abort helper in yalexs_ble

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:25:48 +01:00
J. Nick Koston
bd7eb01546 Use new config entry update/abort helper in xiaomi_ble (#108677)
Use new config entry update/abort helper in xiaomi_ble

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:16:27 +01:00
J. Nick Koston
d7273d66ab Use new config entry update/abort helper in bthome (#108676)
Use new config entry update/abort helper in bthome

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:14:00 +01:00
J. Nick Koston
e7be9cb447 Use new config entry update/abort helper in powerwall (#108674)
Use new config entry update/abort helper in powerwall

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:12:56 +01:00
J. Nick Koston
3b6c85b904 Use new config entry update/abort helper in august (#108673)
Use new config entry update/abort helper in august

uses the new helper from https://github.com/home-assistant/core/pull/108034
2024-01-22 22:12:18 +01:00
J. Nick Koston
9811930470 Use new config entry update/abort helper in esphome (#108672) 2024-01-22 22:11:38 +01:00
Jan-Philipp Benecke
4760114408 Fix flaky sensibo test (#108669) 2024-01-22 21:47:28 +01:00
Brett Adams
e1fd5e83a7 Add time to charge sensor to Tessie (#108342)
* Add time to charge and type checking

* Revert drive_state_shift_state change

* Use original name

* Use function instead of lambda

* Update homeassistant/components/tessie/sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Fix callback

* Avoid having to test None

* Go back to if

* Use minutes instead of hours

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-22 21:45:08 +01:00
jmwaldrip
d75dd0973f Fix SleepIQ setting FootWarmer timer (#108433)
* Fixing foot warmer timer bug

* Fixing bug where temperature wasnt assigned to number entity causing tests to fail
2024-01-22 21:22:54 +01:00
Joost Lekkerkerker
21009bef02 Add icon translations to Airly (#108404)
* Add icon translations to Airly

* Fix test

* Fix tests
2024-01-22 21:17:04 +01:00
Joost Lekkerkerker
e47ed16980 Use snapshot testing in Airly sensor (#108608)
* Use snapshot testing in Airly sensor

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Fix tests

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-22 20:59:24 +01:00
Michael
3d1751bdfa Prevent runtime issue during entity registration in coordinator of AVM Fritz!Tools (#108667)
prevent dictionary changed size during iteration
2024-01-22 14:26:46 -05:00
Franck Nijhof
80207835d7 Move core fundamental components into bootstrap (#105560)
Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-22 20:09:48 +01:00
Bruno Pantaleão Gonçalves
31ef034c3f Update iOS configuration adding Action toggles to show in CarPlay and Watch (#108355) 2024-01-22 09:22:08 -08:00
Jan-Philipp Benecke
4d85f78b32 Cleanup Discovergy config flow (#108381)
* Cleanup Discovergy config flow

* Make use of the helper function
2024-01-22 18:20:20 +01:00
Jan-Philipp Benecke
988d72b8b6 Add helper function to update and reload config entry to config flow (#108034)
* Add helper function to update and reload config entry to config flow

* Use async_create_task

* Remove await

* Reload only when update & add task name

* Rename function
2024-01-22 17:40:20 +01:00
Martin Hjelmare
e086cd9fef Add cloud tts entity (#108293)
* Add cloud tts entity

* Test test_login_view_missing_entity

* Fix pipeline iteration for migration

* Update tests

* Make migration more strict

* Fix docstring
2024-01-22 17:24:15 +01:00
Joost Lekkerkerker
d0da457a04 Add device to Lutron (#107467)
* Add typing to Lutron platforms

* Add devices to Lutron

* Add devices to Lutron

* Fix typing

* Fix

* Add name

* Fix lights

* Comment out ESA

* Fix domain

* Fix domain

* Fix

* Make generic keypad base class
2024-01-22 15:52:59 +01:00
jmwaldrip
43daf20be3 Bump asyncsleepiq to 1.5.2 (#108431)
Upgrading asyncsleepiq to version 1.5.2
2024-01-22 15:27:47 +01:00
Erik Montnemery
ef5d46c79c Convert AreaEntry to dataclass (#108648)
* Convert AreaEntry to dataclass

* Correct typing of AreaEntry.id

* Move responsibility for generating area id to AreaRegistry
2024-01-22 14:45:27 +01:00
Simone Chemelli
8c31e67dbc Bump aiovodafone to 0.5.4 (#108592) 2024-01-22 13:51:17 +01:00
Franck Nijhof
516fa64da5 Update Pillow to 10.2.0 (#108422) 2024-01-22 13:43:06 +01:00
Robert Resch
881872fdb4 Add binary_sensor to Ecovacs (#108544) 2024-01-22 13:36:26 +01:00
Marc Mueller
0d8afc72c2 Update python-slugify to 8.0.1 (#108373) 2024-01-22 10:10:02 +01:00
J. Nick Koston
4a34cd25b2 Reduce lock contention when all translations are already cached (#108634) 2024-01-21 22:29:03 -10:00
Joost Lekkerkerker
62fe9144f1 Add icon translations to Adguard (#108406) 2024-01-22 09:10:26 +01:00
Joost Lekkerkerker
9d380cea21 Use default icon in Agent DVR (#108405) 2024-01-22 09:08:01 +01:00
Teemu R
fd1c9237a8 Bump songpal dependency to 0.16.1 (#108637) 2024-01-22 09:07:06 +01:00
Joost Lekkerkerker
ef7e2cfc08 Add icon translations to Abode (#108407) 2024-01-22 09:06:25 +01:00
Jan-Philipp Benecke
09be3ffc29 Add icon translations to WLED (#108604) 2024-01-22 09:04:37 +01:00
Jan-Philipp Benecke
2a24af14ff Remove obsolete services.yaml and translations from WLED (#108605) 2024-01-22 09:03:30 +01:00
Joakim Sørensen
94f1f3e40c Remove numbering from GitHub progress step to not deal with styling of list entries (#108639) 2024-01-22 08:57:48 +01:00
J. Nick Koston
fb62b6f01e Fix unifi test_tracked_clients test (#108638)
Fix unifi test_tracked_clients client

This test relied on the sensor platform getting set up and creating
the device before the device_tracker platform was setup since the
device_tracker platform will disable the entity because there is
not matching device entry for it via

4ee6735cbb/homeassistant/components/device_tracker/config_entry.py (L336)

There is no guarantee the sensor platform will get set up before
the device tracker platform so the test was subject to a race
where it would fail if the device tracker platform was setup first
2024-01-22 08:35:24 +01:00
J. Nick Koston
4ee6735cbb Small cleanup to zone async_active_zone (#108629) 2024-01-21 19:33:05 -10:00
J. Nick Koston
8d4a1f475e Bump habluetooth to 2.3.1 (#108628) 2024-01-21 18:39:17 -10:00
J. Nick Koston
e9a7870080 Small cleanups to async_get_all_descriptions (#108633) 2024-01-21 18:09:33 -10:00
J. Nick Koston
0b3bcca49b Avoid string decode/encode round trip in websocket_api get_services (#108632)
The cache was converting from bytes to str and when we read
the cache we converted it back to bytes again
2024-01-21 22:53:45 -05:00
J. Nick Koston
a3f9fc45e3 Refactor async_listen_once to remove nonlocal (#108627) 2024-01-21 22:52:47 -05:00
J. Nick Koston
740209912c Small performance improvements to handing revoke token callbacks (#108625)
- Use a set to avoid linear search for remove
- Avoid recreating the unregister function each time
2024-01-21 22:49:06 -05:00
J. Nick Koston
3d3f4ac293 Avoid recreating persistent notification update function when subscribing (#108624)
I recently came up with an idea to look for callback functions
that get created over and over frequently by adding logging to
homeassistant.core.callback when its called to decorate
a function. This one happens a lot at runtime.
2024-01-21 22:45:45 -05:00
J. Nick Koston
573de95f21 Speed up run time of admin services by using HassJob (#108623) 2024-01-21 22:41:41 -05:00
J. Nick Koston
dbb5645e63 Significantly reduce websocket api connection auth phase latency (#108564)
* Significantly reduce websocket api connection auth phase latancy

Since the auth phase has exclusive control over the websocket
until ActiveConnection is created, we can bypass the queue and
send messages right away. This reduces the latancy and reconnect
time since we do not have to wait for the background processing
of the queue to send the auth ok message.

* only start the writer queue after auth is successful
2024-01-21 22:33:31 -05:00
Cody C
da1d530889 Update August diagnostics.py to redact contentToken (#108626) 2024-01-21 14:05:10 -10:00
Aaron Godfrey
71e636572f Send recurrence data when updating a task in todoist (#108269)
* Send recurrence data when updating a task in todoist

* Update tests/components/todoist/test_todo.py

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

* Move logic into _task_api_data.

* Add comment about sending potentinally stale data.

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2024-01-21 15:09:08 -08:00
Erik Montnemery
e90b42d3d0 Fix FlowHandler show progress (#108586) 2024-01-21 22:40:48 +01:00
David Bonnes
0566ceca0f Tweak evohome code quality (#107596)
* initial commit

* lint

* initial commit
2024-01-21 22:22:04 +01:00
Ståle Storø Hauknes
fbe1f238d4 Bump airthings-ble to 0.6.0 (#108612) 2024-01-21 11:20:07 -10:00
Joost Lekkerkerker
883711fb35 Add icon translations to Withings (#108385)
* Add icon translations to Withings

* Add icon translations to Withings

* Add icon translations to Withings

* Add icon translations to Withings

* Add icon translations to Withings
2024-01-21 21:34:44 +01:00
J. Nick Koston
e94493f83d Use more shorthand attributes in tplink (#108284)
* Use more shorthand attributes in tplink

* naming

* unused
2024-01-21 21:34:06 +01:00
Jan-Philipp Benecke
4d5a511001 Add icon translations to co2signal (#108611) 2024-01-21 21:23:11 +01:00
Jonas Fors Lellky
702529627e Add missing property in flexit bacnet test (#108606)
Add missing property on mocked device

Also update the snapshot
2024-01-21 20:56:16 +01:00
J. Nick Koston
6525dad57a Add bthome event platform (#108268)
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
2024-01-21 08:17:55 -10:00
Erik Montnemery
b4ab1bac56 Fix numbered list in github config flow (#108587) 2024-01-21 18:02:31 +01:00
Steven B
9b3d3b3b2d Add authentication to tplink integration for newer devices (#105143)
* Add authentication flows to tplink integration to enable newer device protocol support

* Add websession passing to tplink integration discover methods

* Use SmartDevice.connect()

* Update to use DeviceConfig

* Use credential hashes

* Bump python-kasa to 0.6.0.dev0

* Fix tests and address review comments

* Add autodetection for L530, P110, and L900

This adds mac address prefixes for the devices I have.
The wildcards are left quite lax assuming different series may share the same prefix.

* Bump tplink to 0.6.0.dev1

* Add config flow tests

* Use short_mac if alias is None and try legacy connect on discovery timeout

* Add config_flow tests

* Add init tests

* Migrate to aiohttp

* add some more ouis

* final

* ip change fix

* add fixmes

* fix O(n) searching

* fix O(n) searching

* move code that cannot fail outside of try block

* fix missing reauth_successful string

* add doc strings, cleanups

* error message by password

* dry

* adjust discovery timeout

* integration discovery already formats mac

* tweaks

* cleanups

* cleanups

* Update post review and fix broken tests

* Fix TODOs and FIXMEs in test_config_flow

* Add pragma no cover

* bump, apply suggestions

* remove no cover

* use iden check

* Apply suggestions from code review

* Fix branched test and update integration title

* legacy typing

* Update homeassistant/components/tplink/__init__.py

* lint

* Remove more unused consts

* Update test docstrings

* Add sdb9696 to tplink codeowners

* Update docstring on test for invalid DeviceConfig

* Update test stored credentials test

---------

Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-21 16:25:12 +01:00
Jan Bouwhuis
c3da51db4e Icon translation for imap mail count sensor (#108576) 2024-01-21 14:57:00 +01:00
Malte Franken
a7c94dda73 Add unique id to geonetnz_volcano sensors (#108556)
add unique id to each sensor
2024-01-21 14:03:28 +01:00
Jan-Philipp Benecke
fcaa2fcf03 Make remaining WLED entities translatable (#108534) 2024-01-21 13:44:32 +01:00
Jan Rieger
48c434da86 Add icon translations to DWD Weather Warnings (#108501) 2024-01-21 13:34:26 +01:00
Jan Rieger
6a197e93aa Add icon translations to Roborock (#108508) 2024-01-21 13:32:56 +01:00
Jan Rieger
969ee5dd9f Add icon translation to Jellyfin (#108559) 2024-01-21 13:30:03 +01:00
Josef Zweck
5c0a67a3d2 Add icon translations for lamarzocco (#108569)
icon translations
2024-01-21 13:26:28 +01:00
Jonas Fors Lellky
ed270f558a Add binary sensors to flexit_bacnet integration (#108571)
* Adds binary sensors to flexit_bacnet integration

* Review comments

* Removes binary sensor for electric heater

Will add switch or service later
2024-01-21 12:35:21 +01:00
Jonas Fors Lellky
7c86ea7e16 Add sensors to the flexit_bacnet integration (#108297)
* Adds sensors to the flexit_bacnet integration

* Add one platform at a time

* Removes commented out code

And restores attributes that are needed

* Review changes

* More review fixes

* Adds translations for the flexit_bacnet sensors

* Review comments

* Adds test for flexit_bacnet sensor

* Refactors the sensor test

* Review comment

* Review comment

* Review comments
2024-01-21 12:04:46 +01:00
J. Nick Koston
d885bf886a Ensure button platform does not restore unavailable state (#108316) 2024-01-21 01:04:13 -10:00
Franck Nijhof
fa485513d5 Ensure icon translations aren't the same as the default (#108568) 2024-01-21 12:02:15 +01:00
J. Nick Koston
ec15b0def2 Always load auth storage at startup (#108543) 2024-01-20 16:16:43 -10:00
Michael
4d46f5ec07 Add icon translations for Pegelonline (#108554)
add icon translations
2024-01-20 20:37:39 -05:00
Florian Kisser
b5bb97c856 Fix zha illuminance measured value mapping (#108547) 2024-01-20 20:37:13 -05:00
J. Nick Koston
3c6e7b188e Remove OrderedDict from auth_store (#108546)
normal dicts keep track of insert order now so this should
no longer be needed
2024-01-20 20:36:43 -05:00
Jan Rieger
a042073d2f Add nut icon translations (#108471) 2024-01-20 15:17:28 -05:00
Jan Rieger
d81682e02a Add sun icon translations (#108462) 2024-01-20 15:16:32 -05:00
Jan Rieger
1d35665107 Change calendar icon based on state (#108451) 2024-01-20 15:04:29 -05:00
Franck Nijhof
8a5071ff82 Add time icon translations (#108458) 2024-01-20 14:42:28 -05:00
Erik Montnemery
88dfe8d33b Remove unused TypeVar from config.py (#108495) 2024-01-20 14:39:12 -05:00
Franck Nijhof
2b90d968b4 Fix hassfest icon schema for service only (#108494) 2024-01-20 14:39:05 -05:00
Franck Nijhof
6374ee9378 Add cover icon translations (#108460)
* Add cover icon translations

* States -> state
2024-01-20 14:38:53 -05:00
Franck Nijhof
1804141b27 Add lawn mower icon translations (#108466) 2024-01-20 14:34:10 -05:00
Franck Nijhof
360ca9de34 Add remote icon translations (#108469) 2024-01-20 14:33:47 -05:00
Franck Nijhof
a06308e6e6 Add stt icon translations (#108474) 2024-01-20 14:33:27 -05:00
Franck Nijhof
222e2c19f3 Add select icon translations (#108472) 2024-01-20 14:33:08 -05:00
Franck Nijhof
942636ffd6 Add todo icon translations (#108477) 2024-01-20 14:32:47 -05:00
Franck Nijhof
74ae79204a Add tts icon translations (#108476) 2024-01-20 14:32:24 -05:00
Ernst Klamer
0042a2fef2 Bump bthome-ble to 3.5.0 (#108475) 2024-01-20 14:31:57 -05:00
Franck Nijhof
70084dcefa Add vacuum icon translations (#108479) 2024-01-20 14:29:31 -05:00
Franck Nijhof
a0d9a1e507 Add valve icon translations (#108480) 2024-01-20 14:28:57 -05:00
Franck Nijhof
bb225e4b38 Add update icon translations (#108481)
* Add update icon translations

* Oops
2024-01-20 14:28:07 -05:00
Franck Nijhof
8a3b9000aa Add wake word icon translations (#108482) 2024-01-20 14:27:32 -05:00
Franck Nijhof
858b380e6b Add media player icon translations (#108486) 2024-01-20 14:22:55 -05:00
Franck Nijhof
06d748cee7 Add weather icon translations (#108488) 2024-01-20 14:21:28 -05:00
Franck Nijhof
408ba4d850 Add water heater icon translations (#108491) 2024-01-20 14:20:48 -05:00
Franck Nijhof
19bf8970d2 Add icon translations to Plugwise (#108498) 2024-01-20 14:15:53 -05:00
Franck Nijhof
e71efa0e2b Add icon translations to HomeWizard Energy (#108506)
* Add icon translations to HomeWizard Energy

* Update snapshots
2024-01-20 14:14:48 -05:00
Joakim Plate
d24636b179 Upgrade nibe to 2.7.0 (#108507) 2024-01-20 14:13:52 -05:00
Matthias Alphart
aa6d058c10 Update knx-frontend to 2024.1.20.105944 (#108511) 2024-01-20 20:12:15 +01:00
Franck Nijhof
0f3fb2eb85 2024.1.5 (#108502) 2024-01-20 19:58:13 +01:00
Franck Nijhof
4c4dc6a086 Pin pandas to 2.1.4 (#108509) 2024-01-20 18:09:33 +01:00
Franck Nijhof
6cf8a3e5d1 Pin pandas to 2.1.4 (#108509) 2024-01-20 18:08:35 +01:00
Jan Rieger
f40c8ce403 Add icon translations to Tankerkoenig (#108499) 2024-01-20 16:18:32 +01:00
Franck Nijhof
6901a80a70 Add siren icon translations (#108473) 2024-01-20 16:12:44 +01:00
Jan-Philipp Benecke
c2820e3cde Use right state class for volume and timestamp sensor in bthome (#107675) 2024-01-20 16:03:46 +01:00
Franck Nijhof
71370f65d5 Bump version to 2024.1.5 2024-01-20 15:51:05 +01:00
Erik Montnemery
ea8fc64dd6 Fix empty files included by !include_dir_named (#108489)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-20 15:50:50 +01:00
Steven Looman
fb700cc847 Bump async-upnp-client to 0.38.1 (#108382) 2024-01-20 15:50:45 +01:00
Erik Montnemery
1cb5bbf865 Fix empty files included by !include_dir_named (#108489)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-20 15:12:32 +01:00
Franck Nijhof
a3619e544e Add fan icon translations (#108461) 2024-01-20 13:29:43 +01:00
Franck Nijhof
16a85ab910 Add geo_location icon translations (#108463) 2024-01-20 13:29:08 +01:00
Franck Nijhof
5afbd34c64 Add humidifier icon translations (#108465) 2024-01-20 13:28:41 +01:00
Franck Nijhof
2c8981e100 Add text icon translations (#108457) 2024-01-20 13:28:23 +01:00
Franck Nijhof
618cfe587a Ensure pre-commit runs hassfest when icons change (#108470) 2024-01-20 13:28:11 +01:00
Franck Nijhof
8c55f8e7f5 Add lock icon translations (#108467) 2024-01-20 13:27:36 +01:00
Franck Nijhof
b2ba808779 Add camera icon translations (#108419)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-20 11:39:13 +01:00
Jan Rieger
8dacb4f9ea Add icon translations to AVM FRITZ!Box Call Monitor (#108417)
* Add icon translations to AVM FRITZ!Box Call Monitor

* Update homeassistant/components/fritzbox_callmonitor/icons.json

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

* Update homeassistant/components/fritzbox_callmonitor/icons.json

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-01-20 11:16:56 +01:00
Franck Nijhof
b3017c0f4e Add scene icon translations (#108456) 2024-01-20 11:07:29 +01:00
Franck Nijhof
dbaa02a5a8 Add event icon translations (#108453) 2024-01-20 11:06:41 +01:00
Franck Nijhof
576230da40 Add number icon translations (#108452) 2024-01-20 11:06:29 +01:00
Franck Nijhof
a9723df96c Add image icon translations (#108455) 2024-01-20 11:05:53 +01:00
Franck Nijhof
206e6dfd62 Add sensor icon translations (#108450)
* Add sensor icon translations

* Add missing moisture
2024-01-20 11:05:16 +01:00
Franck Nijhof
5a56cf3922 Add datetime icon translations (#108449) 2024-01-20 11:04:14 +01:00
Franck Nijhof
4f7ce28cb8 Add date icon translations (#108448) 2024-01-20 11:03:57 +01:00
Franck Nijhof
d3bb33bd50 Add climate icon translations (#108418) 2024-01-20 09:10:22 +01:00
Franck Nijhof
4a824284d6 Mark flaky fritz update test as xfail (#108447) 2024-01-20 08:51:23 +01:00
Franck Nijhof
2a58b6e56b Add light icon translations (#108414) 2024-01-20 08:35:49 +01:00
J. Nick Koston
52b5d2e370 Avoid json encoder default fallback when serializing config (#108360)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-01-19 19:22:17 -10:00
J. Nick Koston
3184d3b168 Bump thermopro-ble to 0.8.0 (#108319) 2024-01-19 17:56:35 -10:00
Franck Nijhof
89570a73a7 Add air_quality icon translations (#108420) 2024-01-19 22:50:11 -05:00
Franck Nijhof
16f6854f64 Update psutil to 5.9.8 (#108421) 2024-01-19 22:09:39 -05:00
Franck Nijhof
0f1cb8fa5c Add calendar icon translations (#108416) 2024-01-19 22:07:14 -05:00
Franck Nijhof
1e32f96b0c Add button icon translations (#108415) 2024-01-19 22:06:15 -05:00
Franck Nijhof
fb17b451c7 Add alarm_control_panel icon translations (#108413)
* Add alarm_control_panel icon translations

* Nest services correctly
2024-01-19 22:05:00 -05:00
Sid
b612fafb9b Use async_create_clientsession for enigma2 (#108395)
Use async_creeate_clientsession for enigma2
2024-01-19 22:04:03 -05:00
Steven Looman
2b389739d3 Bump async-upnp-client to 0.38.1 (#108382) 2024-01-19 16:48:08 -10:00
Joost Lekkerkerker
5d5a2d1381 Add icon translations to Aseko (#108398) 2024-01-19 20:29:52 +01:00
Joost Lekkerkerker
4f998acb78 Add icon translations to Ambient station (#108400) 2024-01-19 20:28:36 +01:00
Franck Nijhof
6e6a5ff52c 2024.1.4 (#108379) 2024-01-19 20:21:12 +01:00
Joost Lekkerkerker
94b39941e2 Add icon translations to Airthings BLE (#108401) 2024-01-19 20:11:19 +01:00
Joost Lekkerkerker
51dca66908 Add icon translations to AsusWRT (#108397) 2024-01-19 20:10:31 +01:00
Joost Lekkerkerker
3a6e640c73 Add icon translations to Airnow (#108403) 2024-01-19 20:09:12 +01:00
Joost Lekkerkerker
2f227677b6 Add icon translations to awair (#108408) 2024-01-19 20:08:34 +01:00
Joost Lekkerkerker
300b4f161c Add icon translations to Aussie Broadband (#108409) 2024-01-19 20:07:20 +01:00
Joost Lekkerkerker
fff1fc8d19 Add icon translations to August (#108396) 2024-01-19 20:07:04 +01:00
Joost Lekkerkerker
4f4f22ba36 Add icon translations to Aurora (#108410) 2024-01-19 20:06:14 +01:00
Joost Lekkerkerker
5a1d447730 Add icon translations to AirQ (#108402) 2024-01-19 20:06:06 +01:00
Joost Lekkerkerker
86f34f8216 Add icon translations to Anova (#108399) 2024-01-19 20:05:56 +01:00
Marc Mueller
4e11001a08 Update boto3 to 1.33.13 and aiobotocore to 2.9.1 (#108384) 2024-01-19 19:39:59 +01:00
Franck Nijhof
43f1c0927f Revert "Add debugging to assist in debugging already configured error (#108134)"
This reverts commit d2feee86b7.
2024-01-19 19:26:37 +01:00
Marc Mueller
7e60979abe Improve tplink_lte typing (#108393) 2024-01-19 19:06:52 +01:00
Marc Mueller
f0077ac27e Update coverage to 7.4.0 (#108370) 2024-01-19 17:09:51 +01:00
Franck Nijhof
01372024f5 Add icon translations support (#103294)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
2024-01-19 16:56:56 +01:00
Robert Resch
ed449a5abd Add support for MQTT based ecovacs vacuums (#108167)
* Add support for MQTT based ecovacs vacuums

* renames

* Add init import test

* bump deebot-client

* Translate continent options

* Apply suggestions from code review

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

* Remove continent

* use ServiceValidationError

* Small refactoring

* Simplify

* Fix tests

* Enable strict typing for ecovacs

* Apply suggestions from code review

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

* Implement suggestions

* improve test_async_setup_import

* Implement suggestions

* Update homeassistant/components/ecovacs/config_flow.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-19 16:52:30 +01:00
Marc Mueller
c1d6f740af Update types packages (#108371) 2024-01-19 16:36:44 +01:00
RJPoelstra
298b0d1105 Add binary sensor to MotionMount integration (#107659)
* Add binary sensor for `isMoving`

* Sort platforms alphabetically

* Update doc strings
2024-01-19 16:01:20 +01:00
Marc Mueller
4a0b6af8c1 Update dwdwfsapi to 1.0.7 (#108377) 2024-01-19 15:56:54 +01:00
Franck Nijhof
916e5de9d1 Bump version to 2024.1.4 2024-01-19 15:44:20 +01:00
puddly
e2a6097141 Bump ZHA dependency zigpy to 0.60.6 (#108266)
Bump zigpy to 0.60.6
2024-01-19 15:43:02 +01:00
Robert Svensson
005af2eb4c Bump aiounifi to v69 to improve websocket logging (#108265) 2024-01-19 15:42:57 +01:00
Erwin Douna
59e12ad0c1 Bump PyTado to 0.17.4 (#108255)
Bump to 17.4
2024-01-19 15:42:54 +01:00
starkillerOG
6ecb562a80 Bump reolink_aio to 0.8.7 (#108248) 2024-01-19 15:42:50 +01:00
starkillerOG
da5d4fe4ae Use cache update for WIFI blinds (#108224) 2024-01-19 15:42:47 +01:00
John Allen
901b7b6278 Send target temp to Shelly TRV in F when needed (#108188) 2024-01-19 15:42:44 +01:00
Allen Porter
d2feee86b7 Add debugging to assist in debugging already configured error (#108134) 2024-01-19 15:42:41 +01:00
cnico
5521ab0b35 Bump flipr-api to 1.5.1 (#108130)
Flipr-api version update for resolution of issue https://github.com/home-assistant/core/issues/105778
2024-01-19 15:42:38 +01:00
Aaron Bach
7fb2a8a3cd Bump aioridwell to 2024.01.0 (#108126) 2024-01-19 15:42:34 +01:00
puddly
304b950f1a Speed up ZHA initialization and improve startup responsiveness (#108103)
* Limit concurrency of startup traffic to allow for interactive usage

* Drop `retryable_req`, we already have request retrying

* Oops, `min` -> `max`

* Add a comment describing why `async_initialize` is not concurrent

* Fix existing unit tests

* Break out fetching mains state into its own function to unit test
2024-01-19 15:41:45 +01:00
Kevin Stillhammer
384b22c777 Expose TimeoutError during google_travel_time config_flow (#108179)
Expose TimeoutError during config_flow
2024-01-19 15:26:26 +01:00
Joost Lekkerkerker
99f9f0205a Use compat for supported features in media player (#108102) 2024-01-19 15:15:09 +01:00
Robert Resch
497d2f5677 Bump Jinja2 to 3.1.3 (#108082) 2024-01-19 15:15:06 +01:00
Marcel van der Veldt
7fee6c5279 Fix turning on the light with a specific color (#108080) 2024-01-19 15:15:03 +01:00
Cody C
70492a80cc Fix malformed user input error on MJPEG config flow (#108058) 2024-01-19 15:14:59 +01:00
Shay Levy
ed31adc6db Fix Shelly Gen1 entity description restore (#108052)
* Fix Shelly Gen1 entity description restore

* Update tests/components/shelly/test_sensor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-19 15:14:56 +01:00
Brett Adams
9c6f87dd11 Improve coordinator logic in Tessie to allow sleep (#107988)
* Poll status before state

* Tests
2024-01-19 15:14:52 +01:00
G Johansson
507cccdd53 Don't load entities for docker virtual ethernet interfaces in System Monitor (#107966) 2024-01-19 15:14:07 +01:00
puddly
8a3eb149b7 Reload ZHA only a single time when the connection is lost multiple times (#107963)
* Reload only a single time when the connection is lost multiple times

* Ignore when reset task finishes, allow only one reset per `ZHAGateway`
2024-01-19 15:14:04 +01:00
Simone Chemelli
20b88e30f5 Update sleep period for Shelly devices with buggy fw (#107961)
* update sleep period for Shelly devices with buggy fw

* code quality

* update model list

* add test

* Apply review comments

* fix test

* use costant
2024-01-19 15:14:01 +01:00
Arie Catsman
9551ff31ec Bump pyenphase to 1.17.0 (#107950) 2024-01-19 15:13:58 +01:00
G Johansson
488acc3252 Fix duplicate unique id in System Monitor (again) (#107947)
Fix duplicate unique id in System Monitor
2024-01-19 15:13:55 +01:00
G Johansson
80387be061 Skip disk types in System Monitor (#107943)
* Skip disk types in System Monitor

* change back
2024-01-19 15:13:52 +01:00
J. Nick Koston
c0c9fb0f00 Bump aiohomekit to 3.1.3 (#107929)
changelog: https://github.com/Jc2k/aiohomekit/compare/3.1.2...3.1.3

fixes maybe #97888
2024-01-19 15:13:49 +01:00
Sid
e2ef889687 Bump openwebifpy to 4.2.1 (#107894) 2024-01-19 15:13:45 +01:00
Pedro Lamas
5c99c6e823 Fix loading empty yaml files with include_dir_named (#107853) 2024-01-19 15:13:42 +01:00
Arie Catsman
a8be7c27ad Bump Pyenphase to 1.16.0 (#107719) 2024-01-19 15:13:39 +01:00
Paarth Shah
596f19055e Fix MatrixBot not resolving room aliases per-command (#106347) 2024-01-19 15:13:32 +01:00
Franck Nijhof
cdf3c07488 Add icon to entity registry list for display (#108313) 2024-01-19 15:11:27 +01:00
Sid
2e56d7d048 Bump openwebifpy to 4.2.1 (#107894) 2024-01-19 15:10:54 +01:00
J. Nick Koston
4d69515849 Use shorthand attributes for mobile_app sensor platforms (#108353) 2024-01-19 14:41:32 +01:00
Marc Mueller
42154bd684 Improve ifttt typing (#108308) 2024-01-19 13:45:59 +01:00
J. Nick Koston
8c71abe421 Avoid json encoder default fallback for APIComponentsView (#108359) 2024-01-19 13:44:29 +01:00
Marc Mueller
b07b952ae6 Enable strict typing for intent_script (#108367) 2024-01-19 13:37:33 +01:00
Marc Mueller
d7a9b7a4ab Enable strict typing for map (#108368) 2024-01-19 13:36:44 +01:00
Marc Mueller
e785b2f5bb Enable strict typing for my (#108369) 2024-01-19 13:35:12 +01:00
Marc Mueller
c6f1c4f550 Enable strict typing for default_config (#108366) 2024-01-19 13:34:40 +01:00
Marc Mueller
15bd31e8d8 Enable strict typing for api (#108363) 2024-01-19 13:33:20 +01:00
Marc Mueller
7e0e306c1f Enable strict typing for bluetooth_adapters (#108365) 2024-01-19 13:18:05 +01:00
J. Nick Koston
78d7562b41 Avoid json default fallback for area registry (#108358) 2024-01-19 13:16:05 +01:00
Erik Montnemery
3f5f1bc2f6 Fix homekit_controller test (#108375) 2024-01-19 13:05:55 +01:00
J. Nick Koston
6d979d21a6 Bump orjson to 3.9.12 (#108350) 2024-01-19 11:36:48 +01:00
Maikel Punie
4abf286a96 Bump pyDuotecno to 2024.1.2 (#108314) 2024-01-19 11:25:51 +01:00
Bouwe Westerdijk
54f23ff143 Bump plugwise to v0.36.3 (#108347) 2024-01-19 11:23:04 +01:00
Marc Mueller
bc2acb3c0e Improve ffmpeg* typing (#108092) 2024-01-19 08:46:34 +01:00
Marc Mueller
25b7bb4a4f Adjust require_admin decorator typing (#108306)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-18 14:12:14 -10:00
Marc Mueller
a21d5b5858 Improve person typing (#108218) 2024-01-18 14:11:55 -10:00
Marc Mueller
94c8c71ffb Improve august typing (5) (#108332) 2024-01-19 01:09:52 +01:00
Marc Mueller
0206833cfd Improve august typing (4) (#108331) 2024-01-19 00:59:26 +01:00
Marc Mueller
6e8e14fbe2 Improve august typing (3) (#108329) 2024-01-19 00:14:49 +01:00
Kostas Chatzikokolakis
6e8d491dae Add iBeacon UUID allowlist (#104790) 2024-01-18 13:06:11 -10:00
Marc Mueller
7c6fe31505 Improve api typing (#108307) 2024-01-18 12:45:15 -10:00
Steve Easley
a670ac25fd Fix remote control codes for jvc_projector (#108253)
Update dependency to add/fix remote codes
2024-01-18 23:36:57 +01:00
Marc Mueller
72667adeba Improve august typing (2) (#108327) 2024-01-18 23:24:41 +01:00
Marc Mueller
5f08e2a2d1 Improve august typing (1) (#108325) 2024-01-18 23:13:08 +01:00
Robert Resch
edd7feaf10 Add task to install all requirements of an integration (#108262)
* Add task to install the requirements of an integration

* Gather recursive requirements

* Move valid_integration to util

* Apply suggestions from code review

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

* Implement suggestions

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-18 22:11:02 +01:00
J. Nick Koston
c399cab427 Small speed up to checking core state (#107845) 2024-01-18 08:41:32 -10:00
Brett Adams
32b0bf6b4e Improve coordinator logic in Tessie to allow sleep (#107988)
* Poll status before state

* Tests
2024-01-18 17:40:36 +01:00
Erik Montnemery
cdb798bec0 Don't always set first thread dataset as preferred (#108278)
* Don't always set first thread dataset as preferred

* Update tests

* Make clarifying comments clearer

* Call asyncio.wait with return_when=ALL_COMPLETED

* Update otbr test

* Update homeassistant/components/thread/dataset_store.py

Co-authored-by: Stefan Agner <stefan@agner.ch>

* Update homeassistant/components/thread/dataset_store.py

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2024-01-18 16:32:29 +01:00
Jonas Fors Lellky
bfe21b33f0 Add coordinator to Flexit bacnet (#108295)
* Adds coordinator and base entity class

* Patch the coordinator

* Adds device property to base class

And refactors accordingly

* Use const instead of string

* Moves _attr_has_entity_name to base entity

* Argument as positional

* Use device_id from init
2024-01-18 15:45:56 +01:00
Joost Lekkerkerker
c4f033e61c Add test for failed initialization in Flexit BACnet (#108294) 2024-01-18 14:55:44 +01:00
Jonas Fors Lellky
7d5a672ed1 Add tests to flexit_bacnet integration (#108291)
* Add fixture for update method

* Mock flexit_bacnet

* Adds test for climate

* Adds snapshot testing

* Adds test for init, refactor test for config flow
2024-01-18 14:37:43 +01:00
Josef Zweck
65abbe5369 Bump lmcloud to 0.4.35 (#108288)
bump lmcloud
2024-01-18 13:08:24 +01:00
Josef Zweck
83e0a7528d Add diagnostics to La Marzocco (#108240)
* add diagnostics

* make firmware section easier to read
2024-01-18 10:57:41 +01:00
Marc Mueller
3761d13915 Improve daikin typing (#108039) 2024-01-18 09:24:48 +01:00
Marc Mueller
afcb7a26cd Enable strict typing for config (#108023) 2024-01-18 09:20:19 +01:00
J. Nick Koston
26cc6a5bb4 Add state caching to button entities (#108272) 2024-01-18 08:53:55 +01:00
J. Nick Koston
52e90b32df Avoid many replace calls in find_next_time_expression_time (#108273) 2024-01-18 08:44:40 +01:00
J. Nick Koston
b4b041d4bf Small cleanups to the websocket api handler (#108274) 2024-01-18 08:39:49 +01:00
dependabot[bot]
c656024365 Bump github/codeql-action from 3.23.0 to 3.23.1 (#108275) 2024-01-18 08:15:17 +01:00
J. Nick Koston
19258cb3df Fix benign typo in entity registry (#108270) 2024-01-18 07:45:44 +01:00
J. Nick Koston
cfbfdf7949 Fix apple_tv IP Address not being updated from discovery (#107611) 2024-01-17 17:43:14 -10:00
mkmer
2d1c5d84f3 Remove unused variables in honeywell (#108252)
Remove unused configuration keys
2024-01-17 21:37:21 -05:00
mkmer
484584084a Allow multiple config entries in Honeywell (#108263)
* Address popping all entires when unloading

* optimize hass data
2024-01-17 21:35:53 -05:00
starkillerOG
154fe8631a Use cache update for WIFI blinds (#108224) 2024-01-17 21:34:18 -05:00
Robert Svensson
274d501bca Bump aiounifi to v69 to improve websocket logging (#108265) 2024-01-17 21:33:31 -05:00
puddly
867caab70a Speed up ZHA initialization and improve startup responsiveness (#108103)
* Limit concurrency of startup traffic to allow for interactive usage

* Drop `retryable_req`, we already have request retrying

* Oops, `min` -> `max`

* Add a comment describing why `async_initialize` is not concurrent

* Fix existing unit tests

* Break out fetching mains state into its own function to unit test
2024-01-17 18:36:28 -05:00
puddly
3ae858e3bf Bump ZHA dependency zigpy to 0.60.6 (#108266)
Bump zigpy to 0.60.6
2024-01-17 18:34:10 -05:00
Jan Bouwhuis
f704a1a05a Remove legacy VacuumEntity base class support (#108189) 2024-01-17 23:19:49 +01:00
starkillerOG
a27eea9b9f Bump reolink_aio to 0.8.7 (#108248) 2024-01-17 16:28:15 -05:00
Joakim Plate
c827bba780 Let zigpy decide on default manufacturer id (#108257)
* zha: let cluster set default manufacturer id

* zha: allow forcing manufacturer id off
2024-01-17 15:42:20 -05:00
John Allen
a385ca93bd Send target temp to Shelly TRV in F when needed (#108188) 2024-01-17 22:06:11 +02:00
Erwin Douna
97956702c9 Bump PyTado to 0.17.4 (#108255)
Bump to 17.4
2024-01-17 20:54:13 +01:00
Cyrill Raccaud
802f0da493 Switch for swiss_public_transport to unique_id instead of unique_entry (#107910)
* use unique_id instead of unique_entry

* move entry mock out of patch context
2024-01-17 19:08:33 +01:00
Marc Mueller
3d410a1d6e Improve systemmonitor generic typing (#108220) 2024-01-17 18:19:10 +01:00
Josef Zweck
64496b802a Fix state after La Marzocco update (#108244)
request a refresh from coordinator after update
2024-01-17 17:26:15 +01:00
Martin Hjelmare
9d5f714e29 Decrease fitbit logging verbosity on connection error (#108228)
* Add test for connection error

* Decrease fitbit connection error log verbosity
2024-01-17 07:07:02 -08:00
Jan Bouwhuis
c47fb5d161 Remove deprecated redundant dry and fan modes from zwave_js climates (#108124)
Remove deprecated redundant dry and fan modes from zwave_js climates
2024-01-17 15:55:46 +01:00
Erik Montnemery
91815ed5f9 Assert default response from conversation trigger (#108231) 2024-01-17 15:47:06 +01:00
Josef Zweck
90f4900f2c Add button platform to La Marzocco (#108236)
* add button

* Update homeassistant/components/lamarzocco/button.py

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

* Update homeassistant/components/lamarzocco/strings.json

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

* update snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-17 15:20:24 +01:00
Josef Zweck
ee44e9d4d6 Add update platform to La Marzocco (#108235)
* add update

* requested changes

* improve

* docstring

* docstring
2024-01-17 14:49:08 +01:00
Franck Nijhof
3eb1283fa5 Disable Python 3.12 incompatible integrations (#108163) 2024-01-17 14:47:03 +01:00
J. Nick Koston
15384f4661 Remove unused entity_sources argument from shared_attrs_bytes_from_event (#108210) 2024-01-17 08:45:04 -05:00
Josef Zweck
2cd828b2d0 Add number platform to La Marzocco (#108229)
* add number

* remove key entities

* remove key numbers

* rename entities

* rename sensors
2024-01-17 14:15:48 +01:00
Josef Zweck
74d53a4231 Add select platform to La Marzocco integration (#108222)
* add select

* change check, icons

* fix docstrings, use []
2024-01-17 13:21:33 +01:00
Marc Mueller
1b2a4d2bf3 Improve aurora typing (#108217) 2024-01-17 12:11:34 +01:00
G Johansson
bdda38f274 Allow selecting camera in Trafikverket Camera (#105927)
* Allow selecting camera in Trafikverket Camera

* Final config flow

* Add tests

* Fix load_int

* naming
2024-01-17 11:54:13 +01:00
Josef Zweck
e811cf1ae8 Add binary sensor platforms to La Marzocco (#108212)
* add sensor

* remove switch

* requested changes

* property instead of function

* add missing snapshot

* rename var, fixture

* add binary sensors

* reorder strings

* rename sensor

* switch to supported_fn
2024-01-17 11:42:22 +01:00
Josef Zweck
a25653e167 Change the way an entity is supported in La Marzocco (#108216)
* refactor supported

* refactor supported
2024-01-17 11:07:43 +01:00
Christophe Gagnier
44f2b8e6a3 Implement TechnoVE integration (#106029)
* Implement TechnoVE integration

Only the basic sensors for now.

* Add technoVE to strict typing

* Implement TechnoVE PR suggestions

* Remove Diagnostic from TechnoVE initial PR

* Switch status sensor to Enum device class

* Revert zeroconf for adding it back in subsequent PR

* Implement changes from feedback in TechnoVE PR

* Update homeassistant/components/technove/models.py

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

* Update homeassistant/components/technove/sensor.py

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

* Update homeassistant/components/technove/models.py

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

* Remove unnecessary translation keys

* Fix existing technoVE tests

* Use snapshot testing for TechnoVE sensors

* Improve unit tests for TechnoVE

* Add missing coverage for technoVE config flow

* Add TechnoVE coordinator tests

* Modify device_fixture for TechnoVE from PR Feedback

* Change CONF_IP_ADDRESS to CONF_HOST for TechnoVE

* Update homeassistant/components/technove/config_flow.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/technove/models.py

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

* Update homeassistant/components/technove/models.py

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

* Implement feedback from TechnoVE PR

* Add test_sensor_update_failure to TechnoVE sensor tests

* Add test for error recovery during config flow of TechnoVE

* Remove test_coordinator.py from TechnoVE

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-01-17 11:04:35 +01:00
Josef Zweck
a8b67d5a0a Add sensor platform to La Marzocco integration (#108157)
* add sensor

* remove switch

* requested changes

* property instead of function

* add missing snapshot

* rename var, fixture
2024-01-17 09:12:49 +01:00
Brett Adams
3a26bc3ee0 Fix translation keys in Tessie (#108203) 2024-01-17 08:25:25 +01:00
dependabot[bot]
db9312cf9c Bump actions/cache from 3.3.3 to 4.0.0 (#108209)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-17 08:23:35 +01:00
G Johansson
d4f9ad9dd3 Create update coordinator for Systemmonitor (#106693) 2024-01-16 15:07:55 -10:00
Aaron Bach
d5c1049bfe Remove unnecessary RainMachine entity description mixins (#108190) 2024-01-16 15:04:32 -10:00
Aaron Bach
9bbf098901 Remove unnecessary Ambient PWS entity description mixins (#108191) 2024-01-16 15:01:07 -10:00
Aaron Bach
e553cf2241 Remove unnecessary AirVisual Pro entity description mixins (#108192) 2024-01-16 15:00:55 -10:00
Aaron Bach
70aff728fd Remove unnecessary Notion entity description mixins (#108194) 2024-01-16 15:00:45 -10:00
Aaron Bach
0a9ec1a351 Remove unnecessary PurpleAir entity description mixins (#108196) 2024-01-16 15:00:26 -10:00
Aaron Bach
cc9b874be3 Remove unnecessary SimpliSafe entity description mixins (#108197) 2024-01-16 15:00:14 -10:00
Aaron Bach
858004628e Remove unnecessary OpenUV entity description mixins (#108195) 2024-01-16 15:00:00 -10:00
Jan-Philipp Benecke
10014838ef Dynamically map state class, device class and UoM in ZHA smart energy metering sensor (#107685)
* Dynamically map state class, device class and UoM in ZHA smart energy metering sensor

* Fix some state & device classes and add scaling

* Fix added imperial gallons tests

* Use entity description instead of custom class & add one entity to tests

* Apply code review suggestion

* Scale only when needed

* Revert "Scale only when needed"

This reverts commit a9e0403402.

* Avoid second lookup of entity description

* Change test to not mix sensor types
2024-01-17 00:40:00 +01:00
Aaron Bach
f0a63f7189 Move Guardian coordinator to suggested location (#108182)
* Move Guardian coordinator to suggested location

* Fix coverage
2024-01-16 15:38:20 -07:00
Marc Mueller
bee53f6004 Add decorator typing [yeelight] (#107598) 2024-01-16 23:18:30 +01:00
Aaron Bach
25f4fe4a85 Bump aiokafka to 0.10.0 (#108165) 2024-01-16 23:16:31 +01:00
J. Nick Koston
d82abd93fb Bump dbus-fast to 2.21.1 (#108176) 2024-01-16 23:15:19 +01:00
Cyrille
030b1bc0e8 Upgrade python-mpd2 to v3.1.1 (#108143) 2024-01-16 23:01:01 +01:00
Klaas Schoute
0f185a9a09 Set minimal value for modules power - Forecast.solar (#108166) 2024-01-16 22:46:00 +01:00
Michael Hansen
db81f4d046 Wyoming satellite ping and bugfix for local wake word (#108164)
* Refactor with ping

* Fix tests

* Increase test coverage
2024-01-16 15:43:30 -06:00
G Johansson
7dffc9f515 Remove config import from netatmo (#107972)
* Remove config import from netatmo

* Fix tests
2024-01-16 22:17:18 +01:00
Franck Nijhof
0a758882e1 Deprecate Python 3.11 (#108160) 2024-01-16 22:07:22 +01:00
G Johansson
0ba0f57439 Add entity name translations to System Monitor (#107952) 2024-01-16 21:39:03 +01:00
J. Nick Koston
60ab360fe7 Avoid bytes to string to bytes conversion in websocket api (#108139) 2024-01-16 21:37:34 +01:00
G Johansson
ad35113e86 Remove config import in Neato (#107967)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 21:08:05 +01:00
Joost Lekkerkerker
bc9a85405e Delete removed channel devices in Youtube (#107907) 2024-01-16 21:06:58 +01:00
J. Nick Koston
6173bfe873 Cache commonly called Integration manifest properties (#108141) 2024-01-16 21:05:44 +01:00
Luke Lashley
fa5af8f187 Add Translation for Roborock exceptions (#105427)
* add translations to exceptions

* Make errors more user understandable

* make command not ternary operator

* removed non-user facing exceptions

* Add user facing exceptions and code coverage

* add match

* fix linting

* Apply suggestions from code review

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-01-16 21:00:20 +01:00
G Johansson
639f06843b Remove config import from surepetcare (#107971)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 20:57:23 +01:00
Galorhallen
ddaf194f91 Add Govee local light integration (#106697)
* Added govee_local_api

* Code cleanup

* Fix discovery

* Add missing supported device

* Fix autodiscovery

* Add missing quality scale in manifest.json

* QA

* QA: Moved coordinator creation to __init__.py

* QA

* Fix typo and update test

* QA

* Removed unecessary code

* Fix typo

* Fix typo

* QA, typing and strings

* Removed unsed logger in __init__.py

* QA, using ColorMode for lights capabilities

* Bump govee_local_api to 1.4.0

Moved capabilities to library.

* Update requirements

* Update library to 1.4.1 with unsupported dvice warning

* Fix tests after library update

* QA

* Add test for retry config

* Update integration name and domain

* Update homeassistant/components/govee_light_local/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-16 20:00:29 +01:00
Josef Zweck
95ed1ada50 Add late PR improvements to La Marzocco (#108162)
* add Martin's suggestions

* use password description

* fix for reauth + test

* fix invalid_auth test

* Update homeassistant/components/lamarzocco/config_flow.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-16 19:35:50 +01:00
Allen Porter
b24222bd1d Add debugging to assist in debugging already configured error (#108134) 2024-01-16 17:05:35 +01:00
Sebastian Lövdahl
d0f4780300 Bump vallox_websocket_api to 4.0.3 (#108109) 2024-01-16 17:04:44 +01:00
Jan Bouwhuis
3ff74fe20f Refactor demo vacuum's to only use StateVacuum base class and features (#108150)
* Demo cleanup

* Refactor vacuum demo to only use state vacuum base class

* Remove unneeded feature checks

* Remove exclusion issue for mqtt an demo
2024-01-16 16:44:12 +01:00
Josef Zweck
6bc36666b1 Add integration lamarzocco (#102291)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
Co-authored-by: Luke Lashley <conway220@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: dupondje <jean-louis@dupond.be>
2024-01-16 15:24:16 +01:00
Bouwe Westerdijk
a874895a81 Add gateway_mode Select to Plugwise (#108019) 2024-01-16 14:35:09 +01:00
J. Nick Koston
3d595fff13 Avoid duplicate timestamp conversions for websocket api and recorder (#108144)
* Avoid duplicate timestamp conversions for websocket api and recorder

We convert the time from datetime to timestamps one per
open websocket connection and the recorder for every
state update. Only do the conversion once since its
~30% of the cost of building the state diff

* more

* two more

* two more in live history
2024-01-16 14:05:01 +01:00
Jan Bouwhuis
26058bf922 Add serial_number attribute to MQTT device properties (#108105) 2024-01-16 14:02:34 +01:00
David Bonnes
7deebf8817 Handle renaming of evohome zones (#108089) 2024-01-16 13:45:24 +01:00
max2697
d4739cfa5c Bump opower to 0.2.0 (#108067) 2024-01-16 13:43:19 +01:00
DellanX
04bc8e09a5 Default tuya climate temperature unit to system unit (#108050) 2024-01-16 13:40:11 +01:00
Joakim Plate
523352c97e Avoid keeping config dir in path (#107760) 2024-01-16 13:38:47 +01:00
Robert Resch
7fe6fc987b Add config flow for Ecovacs (#108111)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-16 13:31:42 +01:00
Jan Bouwhuis
3e72c346b7 Remove MELCloud YAML import support (#108113) 2024-01-16 13:29:26 +01:00
G Johansson
fa2f9eac1a Remove config import in meteo_france (#107970)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 13:27:49 +01:00
Jan Bouwhuis
b46d0fb07c Remove YAML import support for plum_lightpad (#108114) 2024-01-16 13:13:33 +01:00
Aaron Bach
ef7ebcffd6 Bump aioridwell to 2024.01.0 (#108126) 2024-01-16 13:10:09 +01:00
J. Nick Koston
549ff6ddc6 Enable compression on frontend index page (#108148) 2024-01-16 13:06:21 +01:00
Willem-Jan van Rootselaar
09234ca3af Update python-bsblan version to 0.5.18 (#108145) 2024-01-16 13:05:58 +01:00
G Johansson
ef49e8a82f Bump holidays to 0.41 (#108132) 2024-01-16 12:13:41 +01:00
Michael
7942e9e3fe bump pyfritzhome to 0.6.10 (#108128) 2024-01-16 11:10:03 +01:00
Pedro Lamas
6cab4486f7 Fix loading empty yaml files with include_dir_named (#107853) 2024-01-16 10:23:04 +01:00
Paarth Shah
5afe155cd9 Fix MatrixBot not resolving room aliases per-command (#106347) 2024-01-16 10:07:51 +01:00
Jan-Philipp Benecke
28281523ec Add pylint plugin to check for sorted platforms list (#108115) 2024-01-16 09:47:53 +01:00
Erik Montnemery
fb24e086b2 Hide FlowResultType.SHOW_PROGRESS_DONE from frontend (#107799)
* Hide FlowResultType.SHOW_PROGRESS_DONE from frontend

* Update tests
2024-01-16 09:04:27 +01:00
Jan-Philipp Benecke
af6ad6be41 Remove deprecated vacuum services from tuya (#107896) 2024-01-16 08:51:57 +01:00
cnico
562798f037 Bump flipr-api to 1.5.1 (#108130)
Flipr-api version update for resolution of issue https://github.com/home-assistant/core/issues/105778
2024-01-16 06:56:54 +01:00
Leendert Gravendeel
5011a25ea6 Add Epion integration (#107570)
* Adding initial Epion Air integration logic

* Skipping sensors with missing data

* Patching Epion integration

* Adding additional Epion measurement types

* Cleaning up logging

* Cleaning up code

* Fixing error handling for invalid Epion keys

* Adding tests and improving error handling

* Patching Epion tests

* Cleaning up Epion integration code

* Bumping Epion package and including missing files

* Moving data updates to coordinator and addressing feedback

* Improve exception handling

* Exposing model name and firmware version

* Cleaning up code according to review

* Cleaning up code according to review

* Adding check to prevent duplicate account setup

* Refactoring tests and checking for duplicates

* Cleaning up test code according to review

* Cleaning up test code

* Removing entity name overrides

* Fix code format for tests

* Adding missing newlines in JSON files

* Fixing formatting

* Updating device method to always return a device

* Updating coordinator
2024-01-16 06:39:50 +01:00
Marc Mueller
e8b962ea89 Improve risco typing (#108041) 2024-01-15 23:32:58 +01:00
Marc Mueller
369ed5b701 Improve typing for the generic integration (#108094) 2024-01-15 23:11:46 +01:00
Marc Mueller
f28f2e4ed4 Improve google_translate typing (#108093) 2024-01-15 23:11:03 +01:00
Marc Mueller
c2dec8f84f Improve electric_kiwi generic typing (#108084) 2024-01-15 23:09:09 +01:00
Joost Lekkerkerker
b9e532cbb3 Use compat for supported features in media player (#108102) 2024-01-15 20:33:30 +01:00
Jan Bouwhuis
1a4d1907c9 Make ATTR_SERIAL_NUMBER a generic homeassistant constant (#108106) 2024-01-15 20:33:15 +01:00
Shay Levy
28e18ce7bf Fix Shelly Gen1 entity description restore (#108052)
* Fix Shelly Gen1 entity description restore

* Update tests/components/shelly/test_sensor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 20:53:56 +02:00
G Johansson
3bc20a072a Fix test_sensor_process_fails test in System Monitor (#108110) 2024-01-15 19:46:28 +01:00
G Johansson
5b3e1306f8 Add tests for System Monitor (#107891)
* Add tests

* no coordinator

* Coverage

* processes

* test init

* util

* test icon

* Add tests

* Mod tests

* Add tests

* Test attributes

* snapshots

* icon

* test disk mounts

* fixes

* svmem

* cache_clear

* test icon

* reset icon test

* test_processor_temperature

* fix tests on macos

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 18:26:49 +01:00
G Johansson
749ef45727 Add availability to command_line (#105300)
* Add availability to command_line

* Add tests

* freezer
2024-01-15 18:20:34 +01:00
Marc Mueller
6a9fdaae7a Enable strict typing for onboarding (#108097) 2024-01-15 16:53:24 +01:00
Grant
5dde45e01f Fix comment for SmartThings fan capability (#108086)
* Fix the fan to support preset modes

* Add more tests and fix some comments

* Don't override inherited member

* Don't check for supported feature as the check is already performed before here

* Do not check for feature on properties

* Update homeassistant/components/smartthings/fan.py

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

* Fix tests

* Fix comment

* Break line

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-15 13:53:16 +01:00
Robert Resch
ede6e01808 Bump Jinja2 to 3.1.3 (#108082) 2024-01-15 12:10:17 +01:00
David Bonnes
7f619579fa Harden zone schedule processing for evohome (#108079) 2024-01-15 11:24:55 +01:00
Marc Mueller
4d7186b6e6 Improve ffmpeg and freebox typing (#108026) 2024-01-15 11:23:26 +01:00
Jan-Philipp Benecke
bd37d3776b Set webhook local_only to True by default (#107670) 2024-01-15 11:09:40 +01:00
Marcel van der Veldt
52acc4bbab Fix turning on the light with a specific color (#108080) 2024-01-15 11:08:38 +01:00
Cody C
5cc1a761dd Fix malformed user input error on MJPEG config flow (#108058) 2024-01-15 09:41:44 +01:00
David Bonnes
dd2527db5b Bump evohome client to 0.4.17 (#108051) 2024-01-15 09:40:01 +01:00
Erik Montnemery
c3e8e931e6 Deprecate passing step_id to FlowHandler methods (#107944) 2024-01-15 09:37:57 +01:00
Marc Mueller
f968b43f6a Improve gdacs typing (#108040) 2024-01-15 09:32:30 +01:00
Marc Mueller
84038fb119 Enable strict typing for generic_thermostat (#108024) 2024-01-15 09:19:50 +01:00
Michael
9bca09a513 Remove obsolete .txt extension from diagnostics download (#108028) 2024-01-15 09:17:05 +01:00
Erik Montnemery
aa3e172a65 Bump pychromecast to 13.1.0 (#108073) 2024-01-15 09:10:09 +01:00
Marc Mueller
16f110658c Enable strict typing for duckdns (#108022) 2024-01-15 09:09:57 +01:00
Marc Mueller
5bde007048 Enable strict typing for prometheus (#108025) 2024-01-15 09:07:12 +01:00
Jan Bouwhuis
45acd56861 Remove YAML auth setup support from home_connect (#108072) 2024-01-15 09:00:59 +01:00
Keilin Bickar
9d47e1983e Update asyncsleepiq to 1.4.2 (#108054) 2024-01-14 20:55:02 -10:00
Ståle Storø Hauknes
76a1e97947 Update framework for Airthings cloud (#107653)
* Upgrade framework

* Improve code for model name
2024-01-14 21:22:27 +01:00
J. Nick Koston
b47861d973 Update shelly bluetooth scanner to version 2.0 (#107917) 2024-01-14 09:44:42 -10:00
jjlawren
c4fd45ef97 Bump SoCo to 0.30.2 (#108033) 2024-01-14 14:19:36 -05:00
Erik Montnemery
00165fef5b Improve the test class used for testing FlowManager.async_show_progress (#107786)
* Improve the test class used for testing FlowManager.async_show_progress

* Address review comments
2024-01-14 18:39:45 +01:00
G Johansson
7a6dca0987 Sensibo include mac in diagnostics redact filter (#107986)
* Add mac to redaction in Sensibo diagnostics

* Add full snapshot

* use constant
2024-01-14 15:34:14 +01:00
wittypluck
d94421e1a4 Reset UniFi bandwidth sensor when client misses heartbeat (#104522)
* Reset UniFi bandwidth sensor when client misses heartbeat

* Fix initialization sequence

* Code simplification: remove heartbeat_timedelta, unique_id and tracker logic

* Add unit tests

* Remove unused _is_connected attribute

* Remove redundant async_initiate_state

* Make is_connected_fn optional, heartbeat detection will only happen if not None

* Add checks on is_connected_fn
2024-01-14 15:19:43 +01:00
J. Nick Koston
1cdfb06d77 Add cached_property to State.name (#108011) 2024-01-14 11:50:40 +01:00
Jan-Philipp Benecke
7c848d78ab Remove deprecated services from Litterrobot (#107882) 2024-01-14 11:50:12 +01:00
Tobias Sauerwein
f808c2ff14 Add Netatmo fan platform (#107989)
* Add fan platform

to support NLLF centralized ventilation devices

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* add snapshots

* update snapshot

* fix docstring

* address comment

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-14 11:47:20 +01:00
Franck Nijhof
acbc2350d0 Update sentry-sdk to 1.39.2 (#108010) 2024-01-14 11:45:31 +01:00
Numa Perez
5d8bf86279 Fix lyric TCC set temperature when in Auto mode (#106853) 2024-01-14 11:29:03 +01:00
Numa Perez
75ba879c34 Fix autoChangeoverActive for lyric LCC devices (#106925) 2024-01-14 11:27:48 +01:00
Bouwe Westerdijk
b034d6d0a1 Bump plugwise to v0.36.2 (#108012) 2024-01-14 11:25:45 +01:00
Tobias Sauerwein
10d5382ae6 Dynamically adjust Netatmo polling frequency (#106742) 2024-01-14 11:22:02 +01:00
Joost Lekkerkerker
965499dd90 Add entity translations to Glances (#107189) 2024-01-14 11:12:30 +01:00
Erik Montnemery
5e79cd8715 Remove file/line annotations after config has been validated (#107139) 2024-01-14 11:07:39 +01:00
Erik Montnemery
7fc3f8e473 Improve calls to async_show_progress in octoprint (#107792) 2024-01-14 11:06:35 +01:00
Erik Montnemery
1c9764bc44 Improve calls to async_show_progress in snooz (#107793) 2024-01-14 11:00:10 +01:00
mkmer
e12dcfc1b4 Fix wifi sensor units in Blink (#107539) 2024-01-14 10:59:04 +01:00
Franck Nijhof
51cdb4ce36 Update pipdeptree to 2.13.2 (#108009) 2024-01-14 10:58:17 +01:00
J. Nick Koston
99b6c7d25f Refactor async_track_utc_time_change to avoid using nonlocal (#108007) 2024-01-14 10:57:54 +01:00
Erik Montnemery
3895defff9 Improve calls to async_show_progress in homeassistant_hardware (#107789) 2024-01-14 10:41:44 +01:00
Sam Reed
bca629ed31 Drop facebox integration (#107005) 2024-01-14 10:40:05 +01:00
Jan-Philipp Benecke
c86b45b454 Remove deprecated vacuum service from roborock (#107895) 2024-01-14 09:57:17 +01:00
Marc Mueller
01204356fa Enable strict typing for timer (#107915) 2024-01-14 09:40:14 +01:00
Marc Mueller
ec708811d0 Enable strict typing for trace (#107945) 2024-01-14 09:39:22 +01:00
Marc Mueller
88d7fc87c9 Enable strict typing for shopping_list (#107913) 2024-01-14 09:38:53 +01:00
Erik Montnemery
d4cb055d75 Improve calls to async_show_progress in improv_ble (#107790) 2024-01-14 09:37:54 +01:00
J. Nick Koston
93d363ea57 Improve apple_tv typing (#107694) 2024-01-14 09:37:04 +01:00
Jan Bouwhuis
4b8d8baa69 Remove deprecated YAML import from generic camera (#107992) 2024-01-14 09:36:00 +01:00
Jan Bouwhuis
f48d057307 Remove YAML support from gdacs (#107962) 2024-01-14 09:03:00 +01:00
Brett Adams
8b4d99f7d2 Add route sensors to Tessie (#106530)
* keys may be missing at startup

* Add route sensors and tracker location

* Fix keys and add translation

* Allow a sensor to have no value

* Move attribute to sensor

* Remove state attribute string
2024-01-14 08:08:54 +01:00
J. Nick Koston
07810926d0 Update habluetooth to 2.2.0 (#108000)
* Update habluetooth to 2.2.0

* fixes

* lib
2024-01-13 23:50:47 -05:00
J. Nick Koston
da9fc77333 Save the HassJob type in wemo discovery to avoid checking it each time (#107998) 2024-01-13 23:50:21 -05:00
J. Nick Koston
8d3f693907 Avoid useless time fetch in DataUpdateCoordinator (#107999)
* Avoid useless time fetch in DataUpdateCoordinator

Since we used the async_call_at helper, it would always call dt_util.utcnow()
to feed the _handle_refresh_interval which threw it away. This meant we had
to fetch time twice as much as needed for each update

* tweak

* compat

* adjust comment
2024-01-13 23:40:07 -05:00
J. Nick Koston
9033f1f3e8 Break long lines in powerwall integration (#108002) 2024-01-14 04:22:17 +01:00
J. Nick Koston
659ee51914 Refactor event time trackers to avoid using nonlocal (#107997) 2024-01-13 17:17:55 -10:00
J. Nick Koston
e7c25d1c36 Migrate powerwall unique ids to use the gateway din (#107509) 2024-01-13 16:17:37 -10:00
J. Nick Koston
e4a15354f4 Fix logger creating many thread locks when reloading the integrations page (#93768)
* Fix logger creating many thread locks

We call getLogger for each integration to get the current
log level when loading the integrations page. This creates
a storm of threading locks

* fixes
2024-01-13 21:11:34 -05:00
J. Nick Koston
d8564eba17 Bump lxml to 5.1.0 (#106696)
* Bump lxml to 5.0.0

cython 3.0.7+ is required ?

* bump

* Apply suggestions from code review

* 5.1.0
2024-01-13 21:08:42 -05:00
J. Nick Koston
454c62b5b4 Avoid total_seconds conversion every state write when context is set (#107617) 2024-01-13 21:04:32 -05:00
J. Nick Koston
bc2738c3a1 Avoid entity registry check in live logbook on each state update (#107622)
Avoid entity registry fetch in live logbook

There is no need to check the entity registry for the
state class since we already have the state
2024-01-13 21:04:04 -05:00
J. Nick Koston
f1228a1cfb Add H5106 support to govee-ble (#107781)
* Bump govee-ble to 0.27.0

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.26.0...v0.27.0

note: H5106 is partially supported, full support will be added in another PR + docs

* .1

* Add Govee H5106 support

* 0.27.2

* commit the tests
2024-01-13 21:02:38 -05:00
J. Nick Koston
9c82df4b98 Fix duplicate config entry additions in tests (#107984)
zha and plex still add the same config entry multiple times
but they are going to need seperate PRs as they have more
complex logic
2024-01-13 21:01:18 -05:00
Marc Mueller
3c1e2e17a0 Use prometheus_client module directly (#107918) 2024-01-14 02:56:22 +01:00
Dorian Benech
2584de6324 Add TICMeter Energy Metering sensors (#107956) 2024-01-13 16:53:53 -05:00
Simone Chemelli
ef8d394c16 Update sleep period for Shelly devices with buggy fw (#107961)
* update sleep period for Shelly devices with buggy fw

* code quality

* update model list

* add test

* Apply review comments

* fix test

* use costant
2024-01-13 22:33:02 +01:00
puddly
b0adaece25 Reload ZHA only a single time when the connection is lost multiple times (#107963)
* Reload only a single time when the connection is lost multiple times

* Ignore when reset task finishes, allow only one reset per `ZHAGateway`
2024-01-13 16:32:25 -05:00
J. Nick Koston
6ada825805 Use faster is_admin check for websocket state and event subscriptions (#107621) 2024-01-13 10:42:41 -10:00
Marc Mueller
5e79a0e583 Enable strict typing for search (#107912) 2024-01-13 10:40:50 -10:00
J. Nick Koston
3649cb96de Refactor config entry storage and index (#107590) 2024-01-13 10:34:15 -10:00
J. Nick Koston
2c6aa80bc7 Use more shorthand attributes in ESPHome fans (#107923) 2024-01-13 15:28:43 -05:00
J. Nick Koston
5a198e05ad Small cleanups to ESPHome (#107924)
- Remove unused variables
- Remove unneeded static info lookups
2024-01-13 15:27:58 -05:00
J. Nick Koston
b1d0c6a4f1 Refactor User attribute caching to be safer and more efficient (#96723)
* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* modernize

* coverage

* coverage

* verify caching

* verify caching

* fix type

* fix mocking
2024-01-13 15:10:50 -05:00
J. Nick Koston
d7910841ef Add an index for devices and config entries to the entity registry (#107516)
* Add an index for devices and config entries to the entity registry

* fixes

* tweak

* use a list for now since the tests check order
2024-01-13 14:49:41 -05:00
G Johansson
5d3e069655 Don't load entities for docker virtual ethernet interfaces in System Monitor (#107966) 2024-01-13 20:39:34 +01:00
J. Nick Koston
852a73267f Fix atag test mutating config entry after its adding to hass (#107603) 2024-01-13 20:34:49 +01:00
Marc Mueller
9221f5da10 Enable strict typing for webhook (#107946) 2024-01-13 09:08:26 -10:00
Antoni Czaplicki
ca421d4f86 Add support for Uonet+ Vulcan integration on Python 3.12 (#107959)
* Bump vulcan-api to 2.3.2

* Enable vulcan integration on Python 3.12

* Stop skipping tests for vulcan integration on Python 3.12
2024-01-13 19:58:02 +01:00
Daniel Gangl
d5c3c19d12 Bump zamg to 0.3.5 (#107939) 2024-01-13 19:53:28 +01:00
J. Nick Koston
1cf96a6558 Remove useless _update function in ESPHome (#107927)
This function is never overwritten so we can remove it
2024-01-13 19:39:27 +01:00
Brett Adams
6cbf1da76a Add charge cable lock to Tessie (#107212)
* Add cable lock

* Translate exception

* Use ServiceValidationError
2024-01-13 19:03:10 +01:00
J. Nick Koston
7db8a52c23 Bump aiohomekit to 3.1.3 (#107929)
changelog: https://github.com/Jc2k/aiohomekit/compare/3.1.2...3.1.3

fixes maybe #97888
2024-01-13 18:27:52 +01:00
Michael Arthur
b1a246b817 Add account sensors to electric kiwi integration (#97681)
* add account sensors

* tidy up same issues as other sensors

* add unit tests for sensors

edit and remove comments

assert state and remove HOP sensor types since they aren't being used

* try and fix tests

* add frozen true

* Update tests/components/electric_kiwi/test_sensor.py

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

* return proper native types

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

* tidy up attr unique id

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

* add entities once and use native values properly

* Improve conftest

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

* tidy tests/components/electric_kiwi/test_sensor.py

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

* add assert to component_setup

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

* add extra parameters to test

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

* Update tests/components/electric_kiwi/test_sensor.py

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

* Update tests/components/electric_kiwi/test_sensor.py

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

* change coordinator name

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

* tidy up sensor translation names

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 18:12:40 +01:00
Grant
8395d84bbb Add fan mode support to SmartThings fan entity (#106794)
* Fix the fan to support preset modes

* Add more tests and fix some comments

* Don't override inherited member

* Don't check for supported feature as the check is already performed before here

* Do not check for feature on properties

* Update homeassistant/components/smartthings/fan.py

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

* Fix tests

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 17:25:26 +01:00
Jan Rieger
058759c76a Bump python-holidays to 0.40 (#107888) 2024-01-13 17:21:49 +01:00
Marc Mueller
0cc43d0915 Enable strict typing for xiaomi_ble (#107948) 2024-01-13 16:57:54 +01:00
Arie Catsman
45fec1d404 Bump pyenphase to 1.17.0 (#107950) 2024-01-13 16:53:48 +01:00
G Johansson
1d2c23d81c Skip disk types in System Monitor (#107943)
* Skip disk types in System Monitor

* change back
2024-01-13 14:34:24 +01:00
G Johansson
c49246dd07 Fix duplicate unique id in System Monitor (again) (#107947)
Fix duplicate unique id in System Monitor
2024-01-13 13:48:02 +01:00
Erik Montnemery
24c23d7323 Warn if integrations call async_show_progress without passing a task (#107796) 2024-01-13 11:56:05 +01:00
Joost Lekkerkerker
9471f81a18 Give name to Netatmo device snapshots (#107938) 2024-01-13 11:09:47 +01:00
Joost Lekkerkerker
f601104418 Snapshot Netatmo devices (#107935) 2024-01-13 10:59:36 +01:00
Joost Lekkerkerker
902619a4db Add snapshot tests to Netatmo platforms (#107932)
* Add snapshot tests to Netatmo platforms

* Add snapshot tests to Netatmo platforms
2024-01-13 10:18:21 +01:00
J. Nick Koston
0458bd68d9 Avoid duplicate search for existing config entries in homekit_controller (#107613) 2024-01-12 22:11:42 -10:00
Marc Mueller
7c98c1e544 Enable strict typing for rest_command (#107911) 2024-01-13 08:48:42 +01:00
Marc Mueller
ca1aaacc90 Enable strict typing for system_log (#107914) 2024-01-12 21:21:11 -10:00
Joost Lekkerkerker
7bcfcfef5f Improve Netatmo tests (#107902)
* Improve Netatmo tests

* Improve Netatmo tests
2024-01-12 23:27:31 +01:00
Jan-Philipp Benecke
68698cacac Remove deprecated YAML support from litejet (#107884) 2024-01-12 16:50:15 -05:00
J. Nick Koston
71aecab38b Revert "Restrict Version Disclosure to Authenticated Requests in Home Assistant" (#107904) 2024-01-12 11:06:59 -10:00
J. Nick Koston
a7d21c709d Bump orjson to 3.9.10 (#107898) 2024-01-12 11:06:44 -10:00
J. Nick Koston
3a4c64b0a7 Fix missing timeout exception check in powerwall config flow (#107899)
* Fix missing timeout exception check in powerwall config flow

powerwall recently switched to asyncio, and every place we
check for unreachable we need to check for timeout error.
There was one missed

```
09:08 homeassistant homeassistant[546]: 2024-01-12 10:09:08.899 ERROR (MainThread) [homeassistant.components.powerwall.config_flow] Unexpected exception
Jan 12 20:09:08 homeassistant homeassistant[546]: Traceback (most recent call last):
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 168, in _async_try_connect
Jan 12 20:09:08 homeassistant homeassistant[546]:     info = await validate_input(self.hass, user_input)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 76, in validate_input
Jan 12 20:09:08 homeassistant homeassistant[546]:     site_info, gateway_din = await _login_and_fetch_site_info(
Jan 12 20:09:08 homeassistant homeassistant[546]:                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 43, in _login_and_fetch_site_info
Jan 12 20:09:08 homeassistant homeassistant[546]:     await power_wall.login(password)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 58, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.login_as(User.CUSTOMER, password, email, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 49, in login_as
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._api.login(user, email, password, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 172, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 146, in post
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._http_session.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 601, in _request
Jan 12 20:09:08 homeassistant homeassistant[546]:     await resp.start(conn)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 960, in start
Jan 12 20:09:08 homeassistant homeassistant[546]:     with self._timer:
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/helpers.py", line 735, in __exit__
Jan 12 20:09:08 homeassistant homeassistant[546]:     raise asyncio.TimeoutError from None
Jan 12 20:09:08 homeassistant homeassistant[546]: TimeoutError

```

* cov
2024-01-12 21:39:27 +01:00
Xitee
86e608d04f Handle missing fields from Roomba (#107893)
Add default values to mission_stats and run_stats
2024-01-12 21:35:09 +01:00
steffenrapp
d0e9e54f26 Extend Nuki integration to expose ringer through Nuki Opener (#107745)
* Expose ring_action_state and ring_action_timestamp of Nuki Opener

* add translation key

* address comments
2024-01-12 18:45:02 +01:00
Franck Nijhof
99ee57aefc 2024.1.3 (#107883) 2024-01-12 18:01:20 +01:00
Bram Kragten
28917011cb Update frontend to 20240112.0 (#107886) 2024-01-12 17:56:43 +01:00
Franck Nijhof
9c6cb5347c Bump version to 2024.1.3 2024-01-12 16:10:51 +01:00
Malte Franken
51c75b020d Bump aio_geojson_generic_client to 0.4 (#107866) 2024-01-12 16:09:18 +01:00
Kevin Worrel
061d2d3ccf Fix for exception in screenlogic.set_color_mode (#107850) 2024-01-12 16:09:12 +01:00
Franck Nijhof
97b596a00d Fix Tailwind cover stuck in closing state (#107827) 2024-01-12 16:09:08 +01:00
J. Nick Koston
e3a44e499c Bump bluetooth deps (#107816) 2024-01-12 16:08:26 +01:00
Ido Flatow
48766c08e0 Fix switcher kis logging incorrect property for device's name (#107775)
* use of incorrect property for device's name

* Update switch.py according to Ruff formatter
2024-01-12 16:04:20 +01:00
Christopher Bailey
f7ad7c4235 Rework events for UniFi Protect (#107771) 2024-01-12 16:04:17 +01:00
Christopher Bailey
38f9fd5734 Bump pyunifiprotect to 4.23.2 (#107769) 2024-01-12 16:04:13 +01:00
Christopher Bailey
05964d6bad Bump pyunifiprotect to 4.23.1 (#107758) 2024-01-12 16:04:10 +01:00
J. Nick Koston
70d1e6a270 Fix ld2410_ble not being able to setup because it has a stale connection (#107754) 2024-01-12 16:04:07 +01:00
Eugene Tiutiunnyk
28da1ac69e Fix Mac address check in kef integration (#107746)
Fix the check for Mac address in kef integration (#106072)

It might be due to an update of `getmac` dependency in some case the mac
was resolved to "00:00:00:00:00:00" instead of the anticipated `None`.
With that the original bug #47678 where a duplicated entity would be
created in case of HA is restarted while the KEF speaker is offline
came back. The PR #52902 was applied back in time to fix that issue.
Now, this change is a continuation of the previous efforts. The solution
was tested for about two months and it does address the bug with
creating duplicated entities in case of KEF speakers being offline.
2024-01-12 16:04:04 +01:00
Simone Chemelli
504e4a7923 Fix "not-logged" edge cases for Comelit VEDO (#107741) 2024-01-12 16:04:01 +01:00
Jan Bouwhuis
40547974fb Fix mqtt text text min max config params can not be equal (#107738)
Fix mqtt text text min max kan not be equal
2024-01-12 16:03:57 +01:00
YogevBokobza
b87bbd1529 Bump aioswitcher to 3.4.1 (#107730)
* switcher: added support for device_key logic included in aioswitcher==3.4.1

* switcher: small fix

* switcher: after lint

* switcher: fix missing device_key in tests

* remove device_key function

* fix missing device_key in tests
2024-01-12 16:03:54 +01:00
Jan-Philipp Benecke
d89659f196 Allow configuration of min_gradient from UI to be negative in Trend (#107720)
Allow configuration of min_gradient to be negative from UI
2024-01-12 16:03:50 +01:00
Martin Hjelmare
00b899ca3c Fix cloud tts loading (#107714) 2024-01-12 16:03:45 +01:00
J. Nick Koston
765c520d7a Clamp tplink color temp to valid range (#107695) 2024-01-12 15:59:05 +01:00
Maciej Bieniek
2a46f201cb Fix device_class type for Shelly Gen1 sleeping sensors (#107683) 2024-01-12 15:59:01 +01:00
Jan Bouwhuis
7f8a157788 Redact sensitive data in alexa debug logging (#107676)
* Redact sensitive data in alexa debug logging

* Add wrappers to diagnostics module

* Test http api log is redacted
2024-01-12 15:58:58 +01:00
Jan Bouwhuis
f993e923a3 Fix invalid alexa climate or water_heater state report with double listed targetSetpoint (#107673) 2024-01-12 15:58:55 +01:00
G Johansson
3386e0e766 Fix duplicated resource issue in System Monitor (#107671)
* Fix duplicated resource issue

* Only slug the argument
2024-01-12 15:58:52 +01:00
Jonas Fors Lellky
0705be607f Set max and min temp for flexit_bacnet climate entity (#107665)
107655: Set max and min temp for flexit_bacnet climate entity
2024-01-12 15:58:49 +01:00
Erik Montnemery
5b84e50dc0 Prevent overriding cached attribute as property (#107657)
* Prevent overriding cached attribute as property

* Remove debug
2024-01-12 15:58:46 +01:00
Marc Mueller
26da7402a2 Fix tplink_lte setup (#107642) 2024-01-12 15:58:42 +01:00
Erwin Douna
f1fc5abbc2 Fix Tado unique mobile device dispatcher (#107631)
* Add unique home ID device dispatch

* Adding fixture for new setup

* Minor refactor work

* Add check for unlinked to different homes

* If the interface returns an error

* Proper error handling

* Feedback fixes

* Comments for error in client

* Typo

* Update homeassistant/components/tado/__init__.py

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

* Update homeassistant/components/tado/__init__.py

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

* Update devices fix standard

* Dispatch out of loop

* Update dispatcher

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-12 15:58:39 +01:00
Shay Levy
644a823c45 Bump aioshelly to 7.1.0 (#107593) 2024-01-12 15:58:35 +01:00
elmurato
fcab683cc0 Bump mcstatus to v11.1.1 (#107546)
* Bump mcstatus to 11.1.0

* Bump mcstatus to v11.1.1
2024-01-12 15:58:32 +01:00
starkillerOG
7bdabce68f Bump reolink_aio to 0.8.6 (#107541) 2024-01-12 15:58:29 +01:00
mkmer
cf1a528b7a Bump blinkpy to 0.22.5 (#107537)
bump blinkpy 0.22.5
2024-01-12 15:58:26 +01:00
Erik Montnemery
f18ab5e1cc Don't include position in binary valve attributes (#107531) 2024-01-12 15:58:23 +01:00
nic
bee76db1c3 Retry zoneminder connection setup (#107519)
* zoneminder setup retry connection

Makes ZM setup be async for enabling connection retry attempts

This also requires zm-py version bump v0.5.4 as that
dependency was patched in conjunction to resolve this issue

Closes #105271

Signed-off-by: Nic Boet <nic@boet.cc>

* ruff format

Signed-off-by: Nic Boet <nic@boet.cc>

* ruff fixes

Signed-off-by: Nic Boet <nic@boet.cc>

* RequestsConnectionError

Signed-off-by: Nic Boet <nic@boet.cc>

* revert async changes

Signed-off-by: Nic Boet <nic@boet.cc>

---------

Signed-off-by: Nic Boet <nic@boet.cc>
2024-01-12 15:58:19 +01:00
nic
652fa7d693 Bump zm-py version to v0.5.3 for zoneminder (#107331)
zm-py version bump for zoneminder

Signed-off-by: Nic Boet <nic@boet.cc>
2024-01-12 15:58:14 +01:00
Manuel Rüger
73ba77deb6 Fix Luftdaten sensor id string (#107506)
Luftdaten: fix sensor id string
2024-01-12 15:54:24 +01:00
Marc Mueller
66307c5acb Fix asyncio.gather call (#107500) 2024-01-12 15:54:21 +01:00
Simone Chemelli
86822018d8 Fix reauth flow for Comelit VEDO (#107461) 2024-01-12 15:54:17 +01:00
Cyrill Raccaud
b333be8945 Fix Swiss public transport initial data for attributes (#107452)
faster initial data for attributes
2024-01-12 15:54:14 +01:00
Joost Lekkerkerker
a58483f93c Remove name from faa_delays (#107418) 2024-01-12 15:54:11 +01:00
G Johansson
7c06f05108 Handle OSError during setup for System Monitor (#107396)
* Handle OSError during setup for System Monitor

* Clean string copy

* debug

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-12 15:54:08 +01:00
G Johansson
175e07fe3b Fix language flavors in holiday (#107392) 2024-01-12 15:54:05 +01:00
Matthias Alphart
9bc0217738 Fix KNX telegram device trigger not firing after integration reload (#107388) 2024-01-12 15:54:02 +01:00
mkmer
53ab892575 Reduce polling rate in Blink (#107386) 2024-01-12 15:53:58 +01:00
David Bonnes
409a254fe5 Fix evohome high_precision temps not retreived consistently (#107366)
* initial commit

* doctweak

* remove hint

* doctweak
2024-01-12 15:53:56 +01:00
Ben Morton
54e62b4095 Add support for the Spotify DJ (#107268)
* Add support for the Spotify DJ playlist by mocking the playlist response
Add error handling for playlist lookup to ensure it doesn't break current playback state loading

* Run linters
Add exception type to playlist lookup error handling

* Fix typo in comment

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-12 15:53:53 +01:00
Cyrill Raccaud
4e991388fb Fix missing unique_id for spt integration (#107087)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-12 15:53:50 +01:00
vexofp
1acae5a62d Prevent toggle from calling stop on covers which do not support it (#106848)
* Prevent toggle from calling stop on covers which do not support it

* Update homeassistant/components/cover/__init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-12 15:53:46 +01:00
Arie Catsman
9fe351f363 Catch missing inverter in Enphase Envoy (#106730)
* bug: prevent invalid key when empty invereter arrays is returned.

Some envoy fw versions return an empty inverter array
every 4 hours when no production is taking place.
Prevent collection failure due to this as other data
seems fine. Inveretrs will show unknown during this cycle.

* refactor: replace try/catch with test and make warning debug

* Update homeassistant/components/enphase_envoy/sensor.py

* Update homeassistant/components/enphase_envoy/sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-12 15:53:43 +01:00
Brandon Rothweiler
f9dacedf0f Add diagnostics to A. O. Smith integration (#106343)
* Add diagnostics to A. O. Smith integration

* Bump py-aosmith to 1.0.4

* remove redactions from test fixture
2024-01-12 15:53:37 +01:00
Malte Franken
e840824a6e Bump aio_geojson_generic_client to 0.4 (#107866) 2024-01-12 15:50:42 +01:00
Marc Mueller
a9420bf05a Enable strict typing for ios (#107382) 2024-01-12 14:43:17 +01:00
Ernst Klamer
0257cd8bbe Bump xiaomi-ble to 0.21.2 (#107779) 2024-01-12 13:29:15 +01:00
Marc Mueller
8e83356ccb Add decorator typing [spotify] (#107560) 2024-01-12 12:58:19 +01:00
Marc Mueller
93dc0b9029 Enable strict typing for ecowitt (#107861) 2024-01-12 12:57:19 +01:00
Marc Mueller
b1f1ecb40a Improve meteo_france typing (#107863) 2024-01-12 12:56:40 +01:00
Marc Mueller
7e28c788cb Enable strict typing for bthome (#107859) 2024-01-12 12:56:13 +01:00
Cyrill Raccaud
96a9ebf137 Fix missing unique_id for spt integration (#107087)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-12 12:55:09 +01:00
Marc Mueller
e36141a4bc Improve onboarding provider call (#107864) 2024-01-12 12:41:37 +01:00
Marc Mueller
7023ac7366 Enable strict typing for cert_expiry (#107860) 2024-01-12 12:32:17 +01:00
Peter Winkler
2508b55b0f Add myUplink integration (#86522)
* First checkin for myUplink

* Refactored coordinator and sensor state classe

* Updated .coveragerc

* Update test_config_flow

* Fix test_config_flow for myuplink

* Only set state class for temperature sensor

* PR comment updates

* Type strong dict

* use asyncio.timeouts

* PR updates (part 1)

* Updated to myuplink 0.0.9

* Add strict typing

* Fix typing

* Inherit CoordinatorEntity

* Clean up coordinator and sensors

* Use common base entity

* Improve device point sensor

* Exclude entity from coverage

* Set device point entity name if there's no entity description

* Update homeassistant/components/myuplink/sensor.py

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

* Update homeassistant/components/myuplink/entity.py

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

* Update homeassistant/components/myuplink/entity.py

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

* Remvoed firmware + connstate sensors

* Always add device point parameter name

* Removed MyUplinkDeviceSensor

* Removed unused class

* key="celsius",

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-12 12:17:07 +01:00
Marc Mueller
c1faafc6a0 Add decorator typing [zha] (#107599) 2024-01-12 11:42:10 +01:00
Marc Mueller
827a1b1f48 Add decorator typing [homematicip_cloud] (#107555) 2024-01-12 11:32:03 +01:00
Marc Mueller
bec88e5e51 Add decorator typing [izone] (#107556) 2024-01-12 11:31:08 +01:00
Joost Lekkerkerker
68ddc1481e Rename netatmo base entity file (#107857) 2024-01-12 11:30:34 +01:00
Tobias Sauerwein
87b694298f Revert "Fix Netatmo camera name does not show under Media -> Media sources -> Camera" (#107856) 2024-01-12 11:30:23 +01:00
Marc Mueller
c9befe8700 Add decorator typing [limitlessled] (#107557) 2024-01-12 11:30:07 +01:00
Jonas Fors Lellky
668fc442e9 Set max and min temp for flexit_bacnet climate entity (#107665)
107655: Set max and min temp for flexit_bacnet climate entity
2024-01-12 10:52:17 +01:00
Simone Chemelli
8d5cdfaf36 Fix reauth flow for Comelit VEDO (#107461) 2024-01-12 10:32:35 +01:00
Kevin Worrel
ee9c6fa0d8 Fix for exception in screenlogic.set_color_mode (#107850) 2024-01-12 10:30:55 +01:00
J. Nick Koston
4b7a313ece Use identity checks for CoreState (#107846)
Some of the checks used ==, and some used is. Switch
everything to is as its faster
2024-01-12 10:21:26 +01:00
J. Nick Koston
b12291633c Fix ld2410_ble not being able to setup because it has a stale connection (#107754) 2024-01-12 09:56:52 +01:00
Simone Chemelli
79254c6867 Fix "not-logged" edge cases for Comelit VEDO (#107741) 2024-01-12 09:56:13 +01:00
Erik Montnemery
e7628d23d2 Don't include position in binary valve attributes (#107531) 2024-01-12 09:55:28 +01:00
Martin Hjelmare
f8318bbbc7 Fix cloud tts loading (#107714) 2024-01-12 09:47:08 +01:00
J. Nick Koston
ce11366b9c Bump bluetooth deps (#107816) 2024-01-12 09:45:49 +01:00
J. Nick Koston
fb0dad66db Add jinja_pass_arg to reserved template names (#107822) 2024-01-12 09:34:49 +01:00
Mikail Tunç
46a06bc8cd Restrict Version Disclosure to Authenticated Requests in Home Assistant (#107458) 2024-01-12 09:34:18 +01:00
J. Nick Koston
bef596d0dd Migrate unifiprotect descriptions to be kw_only (#107832) 2024-01-12 09:33:33 +01:00
J. Nick Koston
b6dfa1fa7c Bump nexia to 2.0.8 (#107835) 2024-01-12 09:32:38 +01:00
dependabot[bot]
72618c1bf2 Bump github/codeql-action from 3.22.12 to 3.23.0 (#107628)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 09:31:13 +01:00
dependabot[bot]
751b459f80 Bump actions/cache from 3.3.2 to 3.3.3 (#107840)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-12 09:26:01 +01:00
J. Nick Koston
6612de9a6d Bump govee-ble to 0.27.3 (#107839)
changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.27.2...v0.27.3
2024-01-12 09:16:30 +01:00
G Johansson
e715d6a7a1 Fix duplicated resource issue in System Monitor (#107671)
* Fix duplicated resource issue

* Only slug the argument
2024-01-12 08:44:38 +01:00
Matrix
83fbcb11ea Add YoLink SpeakerHub Service (#107787)
* Add YoLink SpeakerHub Service

* fix as suggestion

* service's params descriptions
2024-01-12 08:18:44 +01:00
Aaron Bach
dc10f3c204 Move Guardian valve attributes to diagnostics sensors (#107834) 2024-01-11 19:16:54 -07:00
dcmeglio
69a8f476e8 Improved tracking of switchbot opening/closing states (#106741)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-11 16:09:50 -10:00
dcmeglio
0d8073fddf Bump PySwitchbot to 0.44.0 (#107833) 2024-01-11 15:18:57 -10:00
Franck Nijhof
e71304580d Fix Tailwind cover stuck in closing state (#107827) 2024-01-11 23:25:33 +01:00
Phil Bruckner
24ddc939c0 Remove Life360 integration (#107805) 2024-01-11 21:49:39 +01:00
Cody C
ff811a33f5 Fix Netatmo camera name does not show under Media -> Media sources -> Camera (#107696)
* Fixes issue where Netatmo camera name does not show under Media -> Media sources ->Camera

Fixes #105268

* Remove entity name and change has_entity_name to False

has_entity_name has to be retained (per https://developers.home-assistant.io/docs/core/entity/#has_entity_name-true-mandatory-for-new-integrations)
2024-01-11 21:36:39 +01:00
Erik Montnemery
8a9f9b94ef Fix call to async_setup_component in translation test (#107807) 2024-01-11 10:09:32 -10:00
Erik Montnemery
44a6882c39 Make step_id parameter to FlowHandler.async_show_progress optional (#107802)
Drop step_id parameter from FlowHandler.async_show_progress
2024-01-11 21:05:20 +01:00
Erik Montnemery
ddf3a36061 Improve calls to async_show_progress in google (#107788) 2024-01-11 16:47:53 +01:00
Erik Montnemery
fbb6c1d0f0 Improve calls to async_show_progress in matter (#107791) 2024-01-11 13:08:54 +01:00
Erik Montnemery
2a0bd6654b Improve calls to async_show_progress in zwave_js (#107794) 2024-01-11 13:07:43 +01:00
Erik Montnemery
24cd6a8a52 Improve ergonomics of FlowManager.async_show_progress (#107668)
* Improve ergonomics of FlowManager.async_show_progress

* Don't include progress coroutine in web response

* Unconditionally reset progress task when show_progress finished

* Fix race

* Tweak, add tests

* Address review comments

* Improve error handling

* Allow progress jobs to return anything

* Add comment

* Remove unneeded check

* Change API according to discussion

* Adjust typing
2024-01-11 12:00:12 +01:00
J. Nick Koston
00b40c964a Bump govee-ble to 0.27.2 (#107778)
* Bump govee-ble to 0.27.0

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.26.0...v0.27.0

note: H5106 is partially supported, full support will be added in another PR + docs

* .1

* 0.27.2
2024-01-11 11:28:03 +01:00
Matrix
f217d438cd Add SpeakerHub support to YoLink (#104678)
* SpeakerHub support

* Remove unnecessary code

* fix entity description

* Fix as suggestion

* fixes

* fixes as suggestion & remove Speker Hub service
2024-01-11 11:04:14 +01:00
Ido Flatow
b12c53e94e Fix switcher kis logging incorrect property for device's name (#107775)
* use of incorrect property for device's name

* Update switch.py according to Ruff formatter
2024-01-11 11:39:50 +02:00
Robert Resch
1c669c6e84 Revert "Revert "Add preselect_remember_me to /auth/providers"" (#106867) 2024-01-11 10:37:19 +01:00
Erwin Douna
b08832a89a Fastdotcom service optimization (#107179)
* Startup mechanic

* Workable service (again)

* Optimized version, for now

* Minor refactoring

* Test cases

* Fixing test case

* Adding startup comment

* State_unknown added

* Update homeassistant/components/fastdotcom/services.py

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

* Check if config entries are not found

* Update tests/components/fastdotcom/test_service.py

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

* Update homeassistant/components/fastdotcom/services.py

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

* Update homeassistant/components/fastdotcom/services.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-11 08:27:15 +01:00
Jan Bouwhuis
e0457590d1 Fix mqtt text text min max config params can not be equal (#107738)
Fix mqtt text text min max kan not be equal
2024-01-11 07:17:48 +01:00
Christopher Bailey
b83f5b5932 Add new event sensors from UniFi Protect 2.11 (#107773) 2024-01-10 19:23:59 -10:00
Christopher Bailey
99e25d94c0 Rework events for UniFi Protect (#107771) 2024-01-10 19:02:16 -10:00
Christopher Bailey
ec8a33b52d Rework state change detection for UniFi Protect entities (#107766) 2024-01-10 18:06:45 -10:00
Christopher Bailey
335a1f6e09 Bump pyunifiprotect to 4.23.2 (#107769) 2024-01-10 18:04:37 -10:00
Thomas Kistler
28cdf5f1d2 Bump aioambient to 2024.01.0 (#107767) 2024-01-10 18:04:15 -10:00
jjlawren
0bdbb52694 Bump sonos-websocket to 0.1.3 (#107765) 2024-01-10 18:00:34 -10:00
Christopher Bailey
e595d24d78 Add leak sensor for UP Sense for UniFi Protect (#107762) 2024-01-10 15:32:05 -10:00
Shay Levy
28b5104cda Bump aioshelly to 7.1.0 (#107593) 2024-01-10 14:50:45 -10:00
Ernst Klamer
0ae86095d2 Bump bthome-ble to 3.4.1 (#107757) 2024-01-10 14:48:37 -10:00
Christopher Bailey
b5bd910963 Bump pyunifiprotect to 4.23.1 (#107758) 2024-01-10 14:38:56 -10:00
Aaron Bach
bc4c3bf9e7 Add valve platform to Guardian (#107423) 2024-01-10 13:03:18 -10:00
J. Nick Koston
b2f7fd12a2 Add comment to ConfigEntry.async_setup about race safety (#107756) 2024-01-10 13:03:09 -10:00
Eugene Tiutiunnyk
1bb76e2351 Fix Mac address check in kef integration (#107746)
Fix the check for Mac address in kef integration (#106072)

It might be due to an update of `getmac` dependency in some case the mac
was resolved to "00:00:00:00:00:00" instead of the anticipated `None`.
With that the original bug #47678 where a duplicated entity would be
created in case of HA is restarted while the KEF speaker is offline
came back. The PR #52902 was applied back in time to fix that issue.
Now, this change is a continuation of the previous efforts. The solution
was tested for about two months and it does address the bug with
creating duplicated entities in case of KEF speakers being offline.
2024-01-10 23:23:40 +01:00
Allen Porter
350806c036 Make to-do list item exception wording consistent (#107743) 2024-01-10 22:49:25 +01:00
bubonicbob
c74bef265a Update powerwall for tesla_powerwall 0.5.0 which is async (#107164)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-10 11:21:53 -10:00
YogevBokobza
bdba6f41c9 Bump aioswitcher to 3.4.1 (#107730)
* switcher: added support for device_key logic included in aioswitcher==3.4.1

* switcher: small fix

* switcher: after lint

* switcher: fix missing device_key in tests

* remove device_key function

* fix missing device_key in tests
2024-01-10 21:41:16 +02:00
Álvaro Fernández Rojas
9036d67588 Rename AEMET weather_update_coordinator (#107740)
* aemet: rename weather_update_coordinator

Use "coordinator" instead, like other integrations.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* coverage: remove AEMET coordinator

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-01-10 20:33:44 +01:00
J. Nick Koston
7d18ad6fe7 Reduce discovery flow matching overhead (#107709) 2024-01-10 07:14:18 -10:00
Álvaro Fernández Rojas
6a6c447c28 Use new AEMET library data for sensor platform (#102972)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-10 16:36:20 +01:00
Jan Bouwhuis
de9bb20135 Fix invalid alexa climate or water_heater state report with double listed targetSetpoint (#107673) 2024-01-10 16:23:42 +01:00
Jan Bouwhuis
5bdcbc4e8b Redact sensitive data in alexa debug logging (#107676)
* Redact sensitive data in alexa debug logging

* Add wrappers to diagnostics module

* Test http api log is redacted
2024-01-10 16:20:47 +01:00
Josef Zweck
956921a930 Improvements for tedee integration (#107238)
* improvements

* wait another second before creating the entry

* move delay to lib

* move library bump to separate PR

* move available back to lock from entity
2024-01-10 14:55:28 +01:00
Arie Catsman
e5eb58b456 Bump Pyenphase to 1.16.0 (#107719) 2024-01-10 14:34:25 +01:00
Marc Mueller
e91a159efa Add decorator typing [modern_forms] (#107558) 2024-01-10 14:14:33 +01:00
Marc Mueller
fbbe03c93c Add decorator typing [soma] (#107559) 2024-01-10 14:13:05 +01:00
Marc Mueller
402ead8df2 Add decorator typing [toon] (#107597) 2024-01-10 14:11:13 +01:00
elmurato
3fba02a692 Improve debug logs in Minecraft Server (#107672)
Improve debug logs
2024-01-10 14:06:49 +01:00
J. Nick Koston
49bdfbd9ca Bump govee-ble to 0.26.0 (#107706) 2024-01-10 14:03:15 +01:00
Jan-Philipp Benecke
08e3178682 Allow configuration of min_gradient from UI to be negative in Trend (#107720)
Allow configuration of min_gradient to be negative from UI
2024-01-10 14:03:02 +01:00
Cyrill Raccaud
598e18ca86 Set proper sensor device class for swiss_public_transport (#106485)
set proper sensor device class
2024-01-10 13:23:02 +01:00
Erwin Douna
15e3af72d1 Fix Tado unique mobile device dispatcher (#107631)
* Add unique home ID device dispatch

* Adding fixture for new setup

* Minor refactor work

* Add check for unlinked to different homes

* If the interface returns an error

* Proper error handling

* Feedback fixes

* Comments for error in client

* Typo

* Update homeassistant/components/tado/__init__.py

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

* Update homeassistant/components/tado/__init__.py

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

* Update devices fix standard

* Dispatch out of loop

* Update dispatcher

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-10 12:09:10 +01:00
Michaël Arnauts
093e35f4d4 Remove myself as a codeowner from tado (#107708) 2024-01-09 22:54:43 -10:00
Josef Zweck
0f79b6ac2a Bump pytedee_async to 0.2.11 (#107707) 2024-01-10 09:43:04 +01:00
Lars R
bf6b9175a1 Add 'bitwise_xor' filter to jinja templates (#104942)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-10 09:40:52 +01:00
J. Nick Koston
554c27a31a Clamp tplink color temp to valid range (#107695) 2024-01-09 17:08:49 -10:00
Maciej Bieniek
8181fbab5c Fix device_class type for Shelly Gen1 sleeping sensors (#107683) 2024-01-09 12:01:19 -10:00
Yuval Aboulafia
b739fa8c02 Add missing 'state class' to Airvisual (#107666) 2024-01-09 13:01:11 -07:00
Erik Montnemery
9859306718 Prevent overriding cached attribute as property (#107657)
* Prevent overriding cached attribute as property

* Remove debug
2024-01-09 19:16:45 +01:00
J. Nick Koston
ab6b9fe891 Avoid total_seconds conversion in bond keep alive (#107618) 2024-01-09 07:46:57 -10:00
Jan-Philipp Benecke
d1c1eb8428 Add test for avoid triggering ping device tracker home after reload (#107107) 2024-01-09 18:39:31 +01:00
Jan-Philipp Benecke
3141b92027 Remove deprecated services from Huawei LTE (#107578) 2024-01-09 18:39:05 +01:00
Jan-Philipp Benecke
71dcbb95ab Remove deprecated services from Ezviz (#107582) 2024-01-09 18:38:42 +01:00
Luke Lashley
29cac5b093 Bump Python-Roborock to 0.39.0 (#107547)
* bump to 0.39.0

* add new strings

* change strings
2024-01-09 16:48:01 +01:00
Jan-Philipp Benecke
33dd6f66e3 Correct device class in sql tests (#107663) 2024-01-09 16:30:21 +01:00
Jan-Philipp Benecke
1a6418d361 Use right state class in filter test (#107643) 2024-01-09 16:06:36 +01:00
Jan-Philipp Benecke
c62e79f9ee Use right state class for kWh sensor in homekit_controller (#107644) 2024-01-09 16:06:18 +01:00
mkmer
4dbaa576a7 Remove unused option flow from blink (#106735)
* Remove unused option flow

* remove update listener

* adjust scan_interval to original default

* default scn interval back to 30s
2024-01-09 16:06:04 +01:00
Ståle Storø Hauknes
5d259586e5 Airthings cloud: Add myself as codeowner (#107654)
Add myself as codeowner
2024-01-09 15:17:52 +01:00
J. Nick Koston
249e10d8c7 Fix dlink test mutating config entry after its adding to hass (#107604) 2024-01-09 14:55:20 +01:00
Jan-Philipp Benecke
15cee58637 Remove deprecated YAML support from zodiac (#107584) 2024-01-09 14:32:13 +01:00
Jan-Philipp Benecke
fd533e46dd Correct state class in mobile_app tests (#107646)
Correct right state class in `mobile_app` tests
2024-01-09 14:08:58 +01:00
Manuel Dipolt
c9d0134b8b Remove deprecated line in osoenergy (#107553) 2024-01-09 13:56:50 +01:00
Marc Mueller
29dd70ccfb Fix tplink_lte setup (#107642) 2024-01-09 13:08:40 +01:00
vexofp
3c53693fe3 Prevent toggle from calling stop on covers which do not support it (#106848)
* Prevent toggle from calling stop on covers which do not support it

* Update homeassistant/components/cover/__init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-09 12:32:27 +01:00
Abílio Costa
3a36117c08 Bump idasen-ha to 2.5 (#107607) 2024-01-08 22:27:16 -10:00
J. Nick Koston
1e4d10efe1 Add caching to the distance calculation utility (#107626) 2024-01-08 21:51:56 -10:00
J. Nick Koston
49e3c740cc Small cleanups to temperature helper (#107625) 2024-01-08 21:51:35 -10:00
Erwin Douna
9ca09bd6f0 Tado unavailable state to device tracker (#107542)
* Adding unavailable state to device tracker

* Small fixes
2024-01-09 08:18:22 +01:00
J. Nick Koston
a0b00d78b1 Avoid duplicate property lookups in camera state_attributes (#107627) 2024-01-09 08:16:19 +01:00
J. Nick Koston
955c70b8f1 Fix cloudflare tests using a dict for the unique id (#107601)
fix cloudflare tests using a dict for the unique id
2024-01-09 07:59:29 +01:00
J. Nick Koston
05d205ae7a Small cleanups to number entity (#107624) 2024-01-08 20:20:15 -10:00
Eric Severance
82dc8260c6 Bump pywemo to 1.4.0 (#107623) 2024-01-08 20:01:15 -10:00
J. Nick Koston
86603b332a Bump aiohttp-zlib-ng to 0.3.1 (#107595) 2024-01-08 13:24:57 -10:00
J. Nick Koston
ea2178a53d Fix tractive tests using a dict for the unique_id (#107602) 2024-01-08 13:10:15 -10:00
J. Nick Koston
bb78b75d49 Bump pymeteoclimatic to 0.1.0 (#107583) 2024-01-08 23:02:29 +01:00
Jan Rieger
9a81a29ce2 Let babel handle the locale separator in holiday (#107571) 2024-01-08 22:59:12 +01:00
Arie Catsman
e8acccce05 Catch missing inverter in Enphase Envoy (#106730)
* bug: prevent invalid key when empty invereter arrays is returned.

Some envoy fw versions return an empty inverter array
every 4 hours when no production is taking place.
Prevent collection failure due to this as other data
seems fine. Inveretrs will show unknown during this cycle.

* refactor: replace try/catch with test and make warning debug

* Update homeassistant/components/enphase_envoy/sensor.py

* Update homeassistant/components/enphase_envoy/sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-08 22:28:04 +01:00
Jan-Philipp Benecke
ca886de3ca Remove deprecated YAML support from OpenSky (#107585) 2024-01-08 22:03:25 +01:00
Marc Mueller
8150754b9b Improve led_ble generic typing (#107534) 2024-01-08 10:08:19 -10:00
mkmer
438ba7eaad Add software version to Blink device info (#107548)
* add firmware to device

* Version from attributes
2024-01-08 20:32:29 +01:00
nic
e349608f92 Retry zoneminder connection setup (#107519)
* zoneminder setup retry connection

Makes ZM setup be async for enabling connection retry attempts

This also requires zm-py version bump v0.5.4 as that
dependency was patched in conjunction to resolve this issue

Closes #105271

Signed-off-by: Nic Boet <nic@boet.cc>

* ruff format

Signed-off-by: Nic Boet <nic@boet.cc>

* ruff fixes

Signed-off-by: Nic Boet <nic@boet.cc>

* RequestsConnectionError

Signed-off-by: Nic Boet <nic@boet.cc>

* revert async changes

Signed-off-by: Nic Boet <nic@boet.cc>

---------

Signed-off-by: Nic Boet <nic@boet.cc>
2024-01-08 20:30:44 +01:00
Michael Hansen
4bb2a3ad92 Specific Assist errors for domain/device class (#107302)
* Specific errors for domain/device class

* Don't log exception

* Check device class first

* Refactor guard clauses

* Test default error
2024-01-08 12:23:06 -06:00
Jan Bouwhuis
20610645fb Pop the mocked config flow, restore the original with mock_config_flow (#107567)
Pop the mocked config flow, restore the original if it existed
2024-01-08 19:01:43 +01:00
Josef Zweck
0d946c62dc Bump pytedee_async to 0.2.10 (#107540)
* bump tedee

* bump tedee
2024-01-08 17:17:20 +01:00
starkillerOG
fdf71b2687 Bump reolink_aio to 0.8.6 (#107541) 2024-01-08 17:01:19 +01:00
FlorianOosterhof
13bfeef1da Unlock the precision of sensors of the opentherm_gw integration (#107227)
* Unlock the precision of sensors of the opentherm_gw integration

* Add a suggested_display_precision attribute to all opentherm_gw sensors.
2024-01-08 16:37:11 +01:00
elmurato
0d44a1eb66 Bump mcstatus to v11.1.1 (#107546)
* Bump mcstatus to 11.1.0

* Bump mcstatus to v11.1.1
2024-01-08 16:32:37 +01:00
mkmer
d7be7f5ae1 Bump blinkpy to 0.22.5 (#107537)
bump blinkpy 0.22.5
2024-01-08 15:11:19 +01:00
Josef Zweck
080484f2f6 Remove tedee device safely from registry (#107529)
remove device safely from registry
2024-01-08 13:10:16 +01:00
mkmer
cc67fd8a3c Reduce polling rate in Blink (#107386) 2024-01-08 10:51:58 +01:00
Marc Mueller
e7cc26d028 Improve folder_watcher typing (#107271) 2024-01-08 10:49:15 +01:00
Marc Mueller
3632d6be46 Enable strict typing for dlna_dms (#107305) 2024-01-08 10:45:51 +01:00
Marc Mueller
d0e6ce193c Enable strict typing for tod (#107284) 2024-01-08 10:44:47 +01:00
Marc Mueller
c30bf1f6e1 Enable strict typing for nightscout (#107307) 2024-01-08 10:43:40 +01:00
Marc Mueller
b22cd2deaa Enable strict typing for system_health (#107283) 2024-01-08 10:40:49 +01:00
Joost Lekkerkerker
82e0fc5f4e Use parametrize in drop connect binary sensor tests (#107111) 2024-01-08 10:38:44 +01:00
Josef Zweck
14bf778c10 Cleanup device registry for tedee when a lock is removed (#106994)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* smaller pr

* remove snapshot

* move lock removal to coordinator

* change comment

* Update tests/components/tedee/test_init.py

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

* Update tests/components/tedee/test_init.py

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

* test lock unavailable

* move logic to function

* resolve merge conflicts

* no need to call keys()

* no need to call keys()

* check for change first

* readability

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-08 10:37:35 +01:00
Joost Lekkerkerker
5fe96390f5 Add zone devices to AnthemAV (#107192) 2024-01-08 10:37:17 +01:00
Manuel Rüger
394385fdeb Fix Luftdaten sensor id string (#107506)
Luftdaten: fix sensor id string
2024-01-08 10:15:30 +01:00
Marc Mueller
3c7a9272fa Enable strict typing for intent (#107282) 2024-01-08 10:09:48 +01:00
Marc Mueller
5ef04fcc7b Improve hunterdouglas_powerview typing (#107445) 2024-01-08 10:08:52 +01:00
Marc Mueller
a6fc4c2bd5 Improve hassio typing (#107292) 2024-01-08 10:08:09 +01:00
Marc Mueller
78752264b3 Fully type homeassistant integration (#107380) 2024-01-08 10:07:30 +01:00
Marc Mueller
5ae419367e Enable strict typing for generic_hygrostat (#107272) 2024-01-08 09:59:31 +01:00
Marc Mueller
265f587768 Enable strict typing for history_stats (#107273) 2024-01-08 09:58:07 +01:00
Erwin Douna
3958d89ae6 Improve typing for Tado (#106992) 2024-01-08 09:57:01 +01:00
Lucas Mindêllo de Andrade
db53237b9a Bump SunWEG to 2.1.0 (#107459) 2024-01-08 09:51:06 +01:00
Marc Mueller
f5d5e1dcbb Enable strict typing for google_assistant_sdk (#107306) 2024-01-08 09:47:17 +01:00
Marc Mueller
fde7a6e9ef Improve dispatcher typing (#106872) 2024-01-08 09:45:37 +01:00
J. Nick Koston
ea4143154b Handle unknown state in HomeKit (#107039) 2024-01-08 09:42:28 +01:00
Jan-Philipp Benecke
40e1bab0ac Remove deprecated YAML for freebox (#107497) 2024-01-08 09:36:17 +01:00
Marc Mueller
442eb68d92 Fix asyncio.gather call (#107500) 2024-01-08 09:35:47 +01:00
tronikos
3709475cb5 Enable long term statistics for Flume water usage current sensor (#107512) 2024-01-08 09:31:56 +01:00
G Johansson
d8c139f211 Fix language flavors in holiday (#107392) 2024-01-08 09:31:44 +01:00
J. Nick Koston
d260ed938a Reduce overhead to call entity services (#106908) 2024-01-08 09:30:52 +01:00
Jan Bouwhuis
9ad3c8dbc9 Remove MQTT legacy vacuum support (#107274) 2024-01-08 09:22:43 +01:00
J. Nick Koston
3eb81bc461 Add coverage for scanning tags with ESPHome (#107337) 2024-01-08 09:20:27 +01:00
Joost Lekkerkerker
1171a7a3d9 Migrate kmtronic to has entity name (#107469) 2024-01-08 09:14:37 +01:00
Joost Lekkerkerker
af209fe2b8 Migrate Mullvad to has entity name (#107520) 2024-01-08 09:13:50 +01:00
Joost Lekkerkerker
7202126751 Add Met eireann to strict typing (#107486) 2024-01-08 09:13:15 +01:00
J. Nick Koston
d609344f40 Reduce duplicate code in ESPHome connection callback (#107338) 2024-01-08 09:10:58 +01:00
Joost Lekkerkerker
102fdbb237 Bump aiowithings to 2.1.0 (#107417) 2024-01-08 09:08:59 +01:00
J. Nick Koston
448d5bbf27 Increase pip timeout in image builds to match core (#107514) 2024-01-08 09:07:42 +01:00
J. Nick Koston
fc36c48acc Bump sensorpush-ble to 1.6.2 (#107410) 2024-01-07 22:06:12 -10:00
Joost Lekkerkerker
eaac01bc76 Introduce heat area property in moehlenhoff alpha2 (#107488) 2024-01-08 08:17:28 +01:00
Joost Lekkerkerker
8b0c96a212 Clean up met config flow (#107480) 2024-01-08 08:11:30 +01:00
Joost Lekkerkerker
f2483bf660 Use constants in Alpha2 config flow (#107518) 2024-01-08 08:05:51 +01:00
J. Nick Koston
efffbc08aa Add support for bluetooth local name matchers shorter than 3 chars (#107411) 2024-01-07 18:25:56 -10:00
J. Nick Koston
69307374f4 Signficantly reduce executor contention during bootstrap (#107312)
* Signficantly reduce executor contention during bootstrap

At startup we have a thundering herd wanting to use the executor
to load manifiest.json. Since we know which integrations we are
about to load in each resolver step, group the manifest loads
into single executor jobs by calling async_get_integrations on
the deps of the integrations after they are resolved.

In practice this reduced the number of executor jobs
by 80% during bootstrap

* merge

* naming

* tweak

* tweak

* not enough contention to be worth it there

* refactor to avoid waiting

* refactor to avoid waiting

* tweaks

* tweaks

* tweak

* background is fine

* comment
2024-01-07 22:55:40 -05:00
J. Nick Koston
acf78664e2 Reduce overhead to compile statistics (#106927)
* Reduce overhead to compile statistics

statistics uses LazyState for compatibility with State when pulling
data from the database.

After the previous round of refactoring to modern history, the setters
are never called and can be removed.

* reduce
2024-01-07 22:36:49 -05:00
J. Nick Koston
d04e2d56da Add support for JSON fragments (#107213) 2024-01-07 17:36:31 -10:00
J. Nick Koston
50edc334de Refactor sensor recorder _get_sensor_states to check for state class first (#107046)
The state class check is cheap and the entity filter check is much
more expensive, so do the state class check first
2024-01-07 22:36:03 -05:00
J. Nick Koston
0b9992260a Improve logbook context augment performance (#106926)
Makes LazyEventPartialState a bit lazier since almost all the
properties are never called.
2024-01-07 22:35:28 -05:00
J. Nick Koston
d8c6534aff Refactor recorder for common event case (#106753)
Almost 99% of items that are put into the recorder queue are
Events. Avoid wrapping them in tasks since we have to unwrap
them right away and its must faster to check for both RecorderTask
and Events since events are the common case.
2024-01-07 22:31:40 -05:00
J. Nick Koston
368feec712 Refactor translations to reduce dict lookups (#107425)
* Refactor translations to reduce dict lookups

All of our cache lookups used:

`cache[language][O(component)][category]`

The cache was designed as

`cache[language][component][category][flatted_key]`

The lookups are now

`cache[language][category][O(component)]`

The cache is now stored as

`cache[language][category][component][flatted_key]`

This allows the catch fetch to avoid looking up
the category each loop

* already a set, and we do not mutate
2024-01-07 22:29:27 -05:00
Matthias Alphart
f53109f513 Move KNX service registration to async_setup (#106635) 2024-01-07 23:26:46 +01:00
Joost Lekkerkerker
426a1511d5 Mark Ring battery and signal strength sensors as diagnostic (#107503) 2024-01-07 23:14:38 +01:00
tronikos
810c6ea5ae Google Generative AI: Add a service for prompts consisting of text and images using Gemini Pro Vision (#105789)
* Bump google-generativeai to 0.3.1

* Migrate to the new API and default to gemini-pro

* Add max output tokens option

* Add generate_content service

* Add  tests

* additional checks

* async read_bytes

* Add tests for all errors
2024-01-07 16:21:27 -05:00
Marc Mueller
fd52172c33 Improve harmony typing (#107447) 2024-01-07 09:35:55 -10:00
Matthias Alphart
a9b51f0255 Fix KNX telegram device trigger not firing after integration reload (#107388) 2024-01-07 20:32:17 +01:00
David Bonnes
2a8444b245 Fix evohome high_precision temps not retreived consistently (#107366)
* initial commit

* doctweak

* remove hint

* doctweak
2024-01-07 20:04:14 +01:00
J. Nick Koston
75d591593d Remove calls to distribution and legacy zip support from package util (#107427) 2024-01-07 07:39:48 -10:00
J. Nick Koston
901b9365b4 Small cleanups to ESPHome callbacks (#107428) 2024-01-07 07:39:33 -10:00
Joost Lekkerkerker
15ce70606f Add typing to Lutron platforms (#107408)
* Add typing to Lutron platforms

* Update homeassistant/components/lutron/switch.py

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

* Update homeassistant/components/lutron/__init__.py

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

* Update homeassistant/components/lutron/entity.py

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

* Update homeassistant/components/lutron/scene.py

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

* Fix typing

* Fix typing

---------

Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-07 17:48:23 +01:00
Cyrill Raccaud
3139e92696 Fix Swiss public transport initial data for attributes (#107452)
faster initial data for attributes
2024-01-07 16:19:58 +01:00
Cyrill Raccaud
da8ce7bbf3 Fix local_todo typo (#107454)
local todo typo
2024-01-07 14:20:37 +01:00
G Johansson
840089b8ac Handle OSError during setup for System Monitor (#107396)
* Handle OSError during setup for System Monitor

* Clean string copy

* debug

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-07 13:15:34 +01:00
Raman Gupta
d19037a36b Clean up zwave_js test_removed_device test (#107346) 2024-01-07 12:26:08 +01:00
Marc Mueller
cd8adfc84e Improve flume typing (#107444) 2024-01-07 11:39:41 +01:00
Joost Lekkerkerker
cecb12a93c Remove name from faa_delays (#107418) 2024-01-07 11:27:13 +01:00
Michael
84b20edeca Add missing wifi data in AVM!Fritz Tools tests (#107373) 2024-01-07 10:51:31 +01:00
RJPoelstra
c833f275d6 Add select platform to Vogel's MotionMount integration (#107132) 2024-01-06 23:44:28 -10:00
Marc Mueller
e4ff51fa9a Enable strict typing for youtube (#107440) 2024-01-07 10:43:54 +01:00
Marc Mueller
d8c79964c8 Enable strict typing for waqi (#107439) 2024-01-07 10:43:42 +01:00
Marc Mueller
be68feffdd Enable strict typing for enphase_envoy (#107436) 2024-01-06 23:42:38 -10:00
Marc Mueller
5a39503acc Enable strict typing for led_ble (#107437) 2024-01-06 23:41:54 -10:00
Marc Mueller
de3fde5901 Enable strict typing for oralb (#107438) 2024-01-06 23:41:31 -10:00
Aaron Bach
c96f9864c5 Remove leftover Guardian mixin (#107424) 2024-01-06 23:06:45 -07:00
Aaron Bach
e446857001 Clean up buggy Guardian switch context managers (#107426) 2024-01-06 23:06:28 -07:00
Aaron Bach
50fbcaf20f Streamline exception handling in Guardian (#107053) 2024-01-06 12:56:19 -10:00
Elvio
fce869248c Update Apprise to 1.7.1 (#107383) 2024-01-06 23:44:20 +01:00
Brandon Rothweiler
3f2170bd06 Bump py-aosmith to 1.0.6 (#107409) 2024-01-06 12:01:11 -10:00
Marc Mueller
4ea8c174f5 Improve homekit_controller typing (#107381) 2024-01-06 11:02:30 -10:00
Ben Morton
427f7a7866 Add support for the Spotify DJ (#107268)
* Add support for the Spotify DJ playlist by mocking the playlist response
Add error handling for playlist lookup to ensure it doesn't break current playback state loading

* Run linters
Add exception type to playlist lookup error handling

* Fix typo in comment

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-06 17:22:46 +01:00
Brandon Rothweiler
4af47a4815 Add diagnostics to A. O. Smith integration (#106343)
* Add diagnostics to A. O. Smith integration

* Bump py-aosmith to 1.0.4

* remove redactions from test fixture
2024-01-06 17:16:24 +01:00
Marc-Olivier Arsenault
94885b9868 remove marcolivierarsenault from ecobee codeowners (#107377) 2024-01-06 16:29:50 +01:00
Josef Zweck
7385da626e Add new locks automatically to tedee integration (#107372)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* remove other PR stuff

* add pullspring lock to test for coverage

* requested changes
2024-01-06 16:02:07 +01:00
Franck Nijhof
4eddbe7b47 2024.1.2 (#107365) 2024-01-06 13:17:47 +01:00
Franck Nijhof
cab833160d Bump version to 2024.1.2 2024-01-06 12:25:05 +01:00
David F. Mulcahey
003d2be477 Fix assertion error when unloading ZHA with pollable entities (#107311) 2024-01-06 12:24:35 +01:00
Sid
5a01b55fd1 enigma2: fix exception when device in deep sleep, fix previous track (#107296)
enigma2: fix exception when device in deep sleep; previous track
2024-01-06 12:24:32 +01:00
Shay Levy
0dbb4105bc Fix Shelly missing Gen value for older devices (#107294) 2024-01-06 12:24:29 +01:00
Joost Lekkerkerker
5ff6284e0f Fix passing correct location id to streamlabs water (#107291) 2024-01-06 12:24:25 +01:00
Aidan Timson
97674cee88 Fix support for play/pause functionality in System Bridge (#103423)
Fix support for play/pause functionality
2024-01-06 12:24:21 +01:00
Jan Bouwhuis
d6aaaf1f1a Only mock config_entries.HANDLERS for the current test in mock_config_flow (#107357) 2024-01-06 11:46:12 +01:00
J. Nick Koston
65985c4e0b Fix name of 64bit intel/amd arch in builder and wheels workflow (#107335) 2024-01-06 11:30:20 +01:00
Sid
9b1a8a1129 enigma2: fix exception when device in deep sleep, fix previous track (#107296)
enigma2: fix exception when device in deep sleep; previous track
2024-01-06 11:18:32 +01:00
Joost Lekkerkerker
a03ac3ddcd Fix passing correct location id to streamlabs water (#107291) 2024-01-06 10:50:06 +01:00
Marc Mueller
3086d33261 Fix rainforest_raven typing (#107309) 2024-01-06 10:41:25 +01:00
Marc Mueller
902d5a79ca Enable strict typing for p1_monitor (#107301) 2024-01-06 10:38:50 +01:00
Marc Mueller
135a718a0e Enable strict typing for energyzero (#107300) 2024-01-06 10:33:22 +01:00
Marc Mueller
28c0c2d2ad Enable strict typing for easyenergy (#107299) 2024-01-06 10:31:55 +01:00
J. Nick Koston
6ff990e2c2 Avoid fetching logger in check_if_deprecated_constant if there is nothing to log (#107341)
getLogger needs a threading lock so its nice to avoid
calling it if we are not going to log anything
2024-01-06 10:20:30 +01:00
J. Nick Koston
851ad21d11 Small cleanup to zeroconf properties matcher (#107342)
* Small cleanup to zeroconf properties matcher

- Switch to dict.items() to avoid dict key lookup
- return early when a match is rejected

* tweak
2024-01-06 10:16:57 +01:00
J. Nick Koston
44018a4183 Use faster identity checks for SupportsResponse Enum (#107351) 2024-01-06 10:12:31 +01:00
Aidan Timson
ba60290431 Fix support for play/pause functionality in System Bridge (#103423)
Fix support for play/pause functionality
2024-01-06 10:06:23 +01:00
jimmyd-be
ee67c97274 Add time entity to Renson (#105031)
* Add time entity to Renson

* Update homeassistant/components/renson/time.py

Co-authored-by: Robert Resch <robert@resch.dev>

* remove deleted sensors from strings.json

* Fix Ruff issue

* Fixed loading issue

* Try to fix frozen error

* Revert "Try to fix frozen error"

This reverts commit 803104c2925e6d5acecc0a9d45170a0c85ee7f0e.

* Try to fix frozen error

* Revert "Try to fix frozen error"

This reverts commit 8ba2dcce9444fadcf6bf79e86295f93359b6d7b8.

* Update homeassistant/components/renson/time.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Change import + api argument

* use _attr_has_entity_name

* Update homeassistant/components/renson/time.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-06 09:27:34 +01:00
Paulus Schoutsen
f1d2868fd0 Add API to fetch Assist devices (#107333)
* Add API to fetch Assist devices

* Revert some changes to fixture, make a single fixture for an Assist device
2024-01-05 23:30:18 -05:00
nic
6201e81eca Bump zm-py version to v0.5.3 for zoneminder (#107331)
zm-py version bump for zoneminder

Signed-off-by: Nic Boet <nic@boet.cc>
2024-01-05 19:19:35 -08:00
J. Nick Koston
c86d1b03fc Disable thermobeacon voltage sensors by default (#107326) 2024-01-05 16:06:31 -10:00
Marc Mueller
4e62dacc00 Fix lutron test AttributeError (2) (#107324) 2024-01-06 01:15:50 +01:00
Marc Mueller
133fd6ea5d Fix lutron test AttributeError (#107323) 2024-01-06 00:51:17 +01:00
Joost Lekkerkerker
49284fb469 Fix duplicate unique_ids in emonitor (#107320) 2024-01-05 13:33:04 -10:00
Shay Levy
ad3c78f848 Fix Shelly missing Gen value for older devices (#107294) 2024-01-05 13:32:04 -10:00
David F. Mulcahey
2ed9397611 Fix assertion error when unloading ZHA with pollable entities (#107311) 2024-01-05 16:53:43 -05:00
Joost Lekkerkerker
2b43271c3b Move Lutron entry data to typed class (#107256)
* Move Lutron entry data to typed class

* Move Lutron entry data to typed class

* Exclude file

* Update homeassistant/components/lutron/__init__.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-01-05 22:04:10 +01:00
Roman Sivriver
bb03579bd9 Fix typo in recorder strings.json (#107278) 2024-01-05 20:39:04 +01:00
Joost Lekkerkerker
9672ca5719 Extract LutronDevice into separate file (#107285) 2024-01-05 20:38:02 +01:00
wilburCforce
52653220e3 Add code owner for Lutron (#107280)
* hassfest enable

* update code owner

* fix code owner typo

* removed garbage
2024-01-05 20:07:08 +01:00
J. Nick Koston
81458dbf6f Add test coverage for ESPHome state subscription (#107045) 2024-01-05 19:51:49 +01:00
Jan-Philipp Benecke
c81f909ee3 Use call_soon_threadsafe in mqtt client unsubscribe callback (#107266) 2024-01-05 19:45:56 +01:00
Michael Hansen
a600a0e023 Expose all areas to Assist and ignore empty aliases (#107267)
* Expose all areas to Assist

* Skip empty entity/area aliases
2024-01-05 13:45:41 -05:00
J. Nick Koston
24ee64e20c Convert cert_expiry to use asyncio (#106919) 2024-01-05 08:03:53 -10:00
Jan-Philipp Benecke
9a15a5b6c2 Cleanup and migrate rest_command tests to be async (#107264)
Migrate rest_command tests to be async
2024-01-05 18:53:25 +01:00
Marc Mueller
833cddc8f5 Improve conversation typing (#106905) 2024-01-05 18:40:34 +01:00
Marc Mueller
b2a4de6eed Enable strict typing for duotecno (#107261) 2024-01-05 18:39:18 +01:00
Marc Mueller
de72bbfaad Enable strict typing for minecraft_server (#107262) 2024-01-05 18:38:31 +01:00
Joost Lekkerkerker
3a94dd6578 Migrate Suez Water to has entity name (#107251) 2024-01-05 18:36:21 +01:00
Marc Mueller
f0b47bf00c Enable strict typing for downloader (#107263) 2024-01-05 18:35:05 +01:00
Marc Mueller
221fa48ea5 Improve denonavr typing (#106907) 2024-01-05 18:34:32 +01:00
Jan-Philipp Benecke
e80138dfdf Remove duplicate assignment of median and statistical_mode jinja2 filter (#106953) 2024-01-05 17:36:55 +01:00
Joost Lekkerkerker
3d338b5719 Sort Lutron platforms (#107257) 2024-01-05 17:31:50 +01:00
SLaks
9be9bbad61 Allow selecting of counter entities in derivative/integration config flow (#105321) 2024-01-05 16:46:12 +01:00
wilburCforce
be6cf7d3ae Add Lutron config flow (#98489)
* rough in structure for config_flow

* updated json files

* initial conversion to config_flow

* minor updates

* Update binary_sensor.py

* Update config_flow.py

* Update __init__.py

* updates beased on requested changes

* Update const.py

added doc note for ruff

* updated based on suggestions

* updated load xmldb for efficiency

* updated references

* removed unneeded file

* updated config flow to use GUID from XML DB

* minor update to change logging

* updated based on PR feedback

* reverted change for line 30 based on testing

* corrected user_input

* updated based on latest comments

* exception handling

* added raising of issues for config flow

* updated issues strings

* config flow test shell - needs work

* minor changes

* Update strings.json

* Update config_flow.py

* Update __init__.py

* Create conftest.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update strings.json

* Update requirements_test_all.txt

* Update strings.json

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Create test_init.py

* Update __init__.py

* Delete tests/components/lutron/test_init.py

* Update strings.json

* updated import parts and tested

* updated strings to improve user feedback

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-05 16:39:14 +01:00
Franck Nijhof
80a08199f8 Update Home Assistant Wheels action to 2024.01.0 (#107240) 2024-01-05 16:35:20 +01:00
Alexander Somov
d754ea7e22 Add new Rabbit Air integration (#66130)
* Add new Rabbit Air integration

* Remove py.typed file

It is not needed and was just accidentally added to the commit.

* Enable strict type checking for rabbitair component

Keeping the code fully type hinted is a good idea.

* Add missing type annotations

* Remove translation file

* Prevent data to be added to hass.data if refresh fails

* Reload the config entry when the options change

* Add missing type parameters for generics

* Avoid using assert in production code

* Move zeroconf to optional dependencies

* Remove unnecessary logging

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

* Remove unused keys from the manifest

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

* Replace property with attr

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

* Allow to return None for power

The type of the is_on property now allows this.

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

* Remove unnecessary method call

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

* Update the python library

The new version properly re-exports names from the package root.

* Remove options flow

Scan interval should not be part of integration configuration. This was
the only option, so the options flow can be fully removed.

* Replace properties with attrs

* Remove multiline ternary operator

* Use NamedTuple for hass.data

* Remove unused logger variable

* Move async_setup_entry up in the file

* Adjust debouncer settings to use request_refresh

* Prevent status updates during the cooldown period

* Move device polling code to the update coordinator

* Fix the problem with the switch jumping back and forth

The UI seems to have a timeout of 2 seconds somewhere, which is just a
little bit less than what we normally need to get an updated state. So
the power switch would jump to its previous state and then immediately
return to the new state.

* Update the python library

The new version fixes errors when multiple requests are executed
simultaneously.

* Fix incorrect check for pending call in debouncer

This caused the polling to stop.

* Fix tests

* Update .coveragerc to exclude new file.
* Remove test for Options Flow.

* Update the existing entry when device access details change

* Add Zeroconf discovery step

* Fix tests

The ZeroconfServiceInfo constructor now requires one more argument.

* Fix typing for CoordinatorEntity

* Fix signature of async_turn_on

* Fix depreciation warnings

* Fix manifest formatting

* Fix warning about debouncer typing

relates to 5ae5ae5392

* Wait for config entry platform forwards

* Apply some of the suggested changes

* Do not put the MAC address in the title. Use a fixed title instead.
* Do not format the MAC to use as a unique ID.
* Do not catch exceptions in _async_update_data().
* Remove unused _entry field in the base entity class.
* Use the standard attribute self._attr_is_on to keep the power state.

* Store the MAC in the config entry data

* Change the order of except clauses

OSError is an ancestor class of TimeoutError, so TimeoutError should be
handled first

* Fix depreciation warnings

* Fix tests

The ZeroconfServiceInfo constructor arguments have changed.

* Fix DeviceInfo import

* Rename the method to make it clearer what it does

* Apply suggestions from code review

* Fix tests

* Change speed/mode logic to use is_on from the base class

* A zero value is more appropriate than None

since None means "unknown", but we actually know that the speed is zero
when the power is off.

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-05 16:34:28 +01:00
Franck Nijhof
24a8a512d6 2024.1.1 (#107239) 2024-01-05 16:25:49 +01:00
Jan-Philipp Benecke
8bbfee7801 Make exceptions in rest_command services translatable (#107252) 2024-01-05 15:44:31 +01:00
MisterCommand
0d7627da22 Add Hong Kong Observatory integration (#98703)
* Add Hong Kong Observatory integration

* Move coordinator to a separate file

* Map icons to conditions

* Fix code for review

* Skip name

* Add typings to data_coordinator

* Some small fixes

* Rename coordinator.py
2024-01-05 14:52:46 +01:00
Richard Kroegel
e7573c3ed4 Add python_script response (#97937)
* Add response to python_script

* Reset output to empty dict if not valid dict

* Add tests for python_script response

* Raise Exceptions on service execution

* Add info on exception type

* Raise ServiceValidationError instead of ValueError

* Raise only on return_response=True

* Fix exception logger if no service response

* Create issue if exception is not raised

* Revert "Create issue if exception is not raised"

This reverts commit a61dd8619f.

---------

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2024-01-05 14:30:15 +01:00
J. Nick Koston
8645d9c717 Bump aiohttp-zlib-ng to 0.3.0 (#107184) 2024-01-05 14:28:29 +01:00
RoboMagus
4485ece719 Add support for service response to RESTful command (#97208)
* Add ServiceResponse to rest_command

* Handle json and text responses.
Add Unit tests

* Rest command text output handling.
Prevent issue solved by PR#97777

* Re-raise exceptions as HomeAssistantError to enable 'continue_on_error' in scripts / automations.

* Improve test coverage

* Restructure to improve McCabe Complexity

* Remove LookupError

* Revert exception catching location

* Remove LookupError from exception handling
2024-01-05 14:27:42 +01:00
Scott K Logan
f249563608 Add Rainforest RAVEn integration (#80061)
* Add Rainforest RAVEn integration

* Add Rainforest Automation brand

* Add diagnostics to Rainforest RAVEn integration

* Drop a test assertion for an undefined behavior

* Add DEVICE_NAME test constant

* Catch up with reality

* Use Platform.SENSOR

Co-authored-by: Robert Resch <robert@resch.dev>

* Make rainforest_raven translatable

* Stop setting device_class on unsupported scenarios

* Rename rainforest_raven.data -> rainforest_raven.coordinator

* Make _generate_unique_id more reusable

* Move device synchronization into third party library

* Switch from asyncio_timeout to asyncio.timeout

* Ignore non-electric meters

Co-authored-by: Robert Resch <robert@resch.dev>

* Drop direct dependency on iso4217, bump aioraven

* Use RAVEn-specific exceptions

* Add timeouts to data updates

* Move DeviceInfo generation from Sensor to Coordinator

* Store meter macs as strings

* Convert to using SelectSelector

* Drop test_flow_user_invalid_mac

This test isn't necessary now that SelectSelector is used.

* Implement PR feedback

- Split some long format lines
- Simplify meter mac_id extraction in diagnostics
- Expose unique_id using an attribute instead of a property
- Add a comment about the meters dictionary shallow copy

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

* Simplify mac address redaction

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Freeze RAVEnSensorEntityDescription dataclass

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2024-01-05 14:00:54 +01:00
J. Nick Koston
824bb94d1d Add test coverage for ESPHome device info (#107034) 2024-01-05 14:00:38 +01:00
Maikel Punie
84d7be71e0 Bump velbus-aio to 2023.12.0 (#107066) 2024-01-05 13:40:00 +01:00
Grant
371ee1aa8e Add Tyua Product Category "dsd" for Filament Light (#106709)
* Add Product Category "dsd" support to tuya integration for Filament Lights

* remove unnecessary color_temp and color_data arguments

---------

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>
2024-01-05 13:36:57 +01:00
J. Nick Koston
bc539a946f Use identity checks for unifiprotect enums (#106795)
enums are singletons in this case and there is no need to use
the slower equality checks here
2024-01-05 13:27:10 +01:00
Franck Nijhof
658f1cf5c5 Bump version to 2024.1.1 2024-01-05 13:01:35 +01:00
Raman Gupta
d012817190 Bump zwave-js-server-python to 0.55.3 (#107225)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-05 13:01:06 +01:00
Joakim Sørensen
056701d218 Use supported_features_compat in update.install service (#107224) 2024-01-05 13:01:03 +01:00
Petru Paler
c3963b26e7 Fix entity property cache creation arguments (#107221) 2024-01-05 13:00:59 +01:00
tronikos
4ade5e46d9 Disable IPv6 in the opower integration to fix AEP utilities (#107203) 2024-01-05 13:00:55 +01:00
Brett Adams
c242dcd1f2 Hotfix cache logic bug in Tessie (#107187) 2024-01-05 13:00:52 +01:00
Michael
4e126d68b7 Fix switch states in AVM FRITZ!Box Tools (#107183) 2024-01-05 13:00:49 +01:00
Erwin Douna
d7e1a4fa20 Bump to PyTado 0.17.3 (#107181) 2024-01-05 13:00:46 +01:00
J. Nick Koston
3215dfee6d Bump aiohomekit to 3.1.2 (#107177) 2024-01-05 13:00:43 +01:00
Matt Emerick-Law
c78d691d30 Bump Orvibo to 1.1.2 (#107162)
* Bump python-orvibo version

Fixes https://github.com/home-assistant/core/issues/106923

* Add version number

* Remove version

* Bump python-orvibo version
2024-01-05 13:00:39 +01:00
Bram Kragten
04bf569308 Update frontend to 20240104.0 (#107155) 2024-01-05 13:00:36 +01:00
Erik Montnemery
b8576b8091 Include deprecated constants in wildcard imports (#107114) 2024-01-05 13:00:33 +01:00
J. Nick Koston
a7aa5c0e52 Bump habluetooth to 2.0.2 (#107097) 2024-01-05 13:00:29 +01:00
J. Nick Koston
d600b76801 Fix missing backwards compatibility layer for water_heater supported_features (#107091) 2024-01-05 13:00:26 +01:00
Erik Montnemery
c56d118e8b Deduplicate handling of duplicated constants (#107074)
* Deduplicate handling of duplicated constants

* Use DeprecatedConstant + DeprecatedConstantEnum

* Fixup

* Remove test cases with unnamed tuples
2024-01-05 13:00:23 +01:00
Robert Resch
80b45edb2e Fix mobile_app cloudhook creation (#107068) 2024-01-05 13:00:20 +01:00
Joost Lekkerkerker
5529a85a2b Fix data access in streamlabs water (#107062)
* Fix data access in streamlabs water

* Fix data access in streamlabs water
2024-01-05 13:00:17 +01:00
Joost Lekkerkerker
e2acc70128 Use async_register in streamlabswater (#107060) 2024-01-05 13:00:14 +01:00
J. Nick Koston
427077a4c9 Fix missing backwards compatiblity layer for humidifier supported_features (#107026)
fixes #107018
2024-01-05 13:00:10 +01:00
Maciej Bieniek
8c9875c3cc Get Shelly RPC device gen from config entry data (#107019)
Use gen from config entry data
2024-01-05 13:00:07 +01:00
Sid
ce5455fefc Bump openwebifpy to 4.0.4 (#107000) 2024-01-05 13:00:04 +01:00
Ståle Storø Hauknes
aef129afaf Close stale connections (Airthings BLE) (#106748)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-05 13:00:01 +01:00
Sid
1c94a94ba2 bump openwebifpy to 4.0.3 (#106593) 2024-01-05 12:59:56 +01:00
Patrick Frazer
d87baba96f Bump dropmqttapi to 1.0.2 (#106978) 2024-01-05 12:57:58 +01:00
Joe Neuman
5a0997bac0 Fix qBittorrent torrent count when empty (#106903)
* Fix qbittorrent torrent cound when empty

* lint fix

* Change based on comment
2024-01-05 12:57:55 +01:00
Marc Mueller
e70af204ee Enable strict typing for airthings_ble (#106815) 2024-01-05 12:57:50 +01:00
Raman Gupta
85cdbb5ade Bump zwave-js-server-python to 0.55.3 (#107225)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-05 12:38:00 +01:00
Joost Lekkerkerker
6033a7c3d4 Finish Efergy entity translations (#107152) 2024-01-05 12:32:32 +01:00
Erik Montnemery
c805ea7b4f Include deprecated constants in wildcard imports (#107114) 2024-01-05 11:46:45 +01:00
Robert Resch
c063bf403a Fix mobile_app cloudhook creation (#107068) 2024-01-05 10:53:59 +01:00
Joakim Sørensen
6da82cf07e Use supported_features_compat in update.install service (#107224) 2024-01-05 10:38:54 +01:00
J. Nick Koston
2641e4014a Add color temp support for older HomeKit devices (#107206) 2024-01-04 22:50:26 -10:00
Jan Bouwhuis
f0ec1235b1 Remove naming warnings and work-a-rounds for incorrectly configured MQTT entities (#107188)
* Remove naming warnings for MQTT entities

* Remove unused const
2024-01-05 09:32:22 +01:00
Jan Bouwhuis
8c4a29c200 Remove unneeded preset_mode checks for mqtt climate (#107190) 2024-01-05 09:27:48 +01:00
Jan Bouwhuis
c7b6c9da31 Remove work-a-round for mqtt sensors with an entity_category set to config (#107199)
* Remove work-a-round for mqtt sensors with an entity_category set to `config`

* Cleanup strings
2024-01-05 09:24:52 +01:00
Petru Paler
4a2958baeb Fix entity property cache creation arguments (#107221) 2024-01-05 09:18:25 +01:00
Brett Adams
ace4edf91c Hotfix cache logic bug in Tessie (#107187) 2024-01-05 08:23:43 +01:00
J. Nick Koston
298e2e2b99 Attempt to fix 32bit docker builds (#107210) 2024-01-05 08:23:04 +01:00
J. Nick Koston
8017661d31 Change default python version to 3.12 for image builds (#107209) 2024-01-05 08:21:26 +01:00
Martin Hjelmare
00ff93a69e Set zwave_js voltage sensor suggested precision (#107116) 2024-01-05 01:03:28 -05:00
J. Nick Koston
d67c8bb44f Bump bluetooth-adapters to 0.17.0 (#107195)
changelog: https://github.com/Bluetooth-Devices/bluetooth-adapters/compare/v0.16.2...v0.17.0

related https://github.com/home-assistant/operating-system/issues/2944
2024-01-05 06:54:46 +01:00
tronikos
2a9a046fab Disable IPv6 in the opower integration to fix AEP utilities (#107203) 2024-01-04 15:07:15 -10:00
Joost Lekkerkerker
72e908f6cc Fix conversation snapshots (#107196) 2024-01-05 00:41:52 +01:00
Michael Hansen
269500cb29 Report missing entities/areas instead of failing to match in Assist (#107151)
* Report missing entities/areas instead of failing

* Fix test

* Update assist pipeline test snapshots

* Test complete match failure

* Fix conflict
2024-01-04 17:09:20 -06:00
Erwin Douna
1a7b06f66a Bump to PyTado 0.17.3 (#107181) 2024-01-04 23:41:56 +01:00
Michael
9b8f0e1ee9 Fix switch states in AVM FRITZ!Box Tools (#107183) 2024-01-04 23:36:36 +01:00
J. Nick Koston
f5e7631e84 Fix tplink overloading power strips (#104208) 2024-01-04 12:15:35 -10:00
Ash Hopkins
0ff5ccb7fd Update sensorpush-ble library to 1.6.1 (#107168) 2024-01-04 12:00:06 -10:00
J. Nick Koston
61eb613128 Bump aiohomekit to 3.1.2 (#107177) 2024-01-04 11:21:01 -10:00
Joost Lekkerkerker
34a8812fc3 Introduce base entity in streamlabs water (#107095) 2024-01-04 21:52:38 +01:00
Aaron Bach
3caaf2931f Clean up outdated entity replacement logic in Guardian (#107160) 2024-01-04 21:50:45 +01:00
Denis Shulyaka
99bcc38284 Add conversation_id parameter to conversation.process service (#106078)
* Add conversation_id parameter to conversation.process service

* fix test

* fix tests
2024-01-04 14:46:06 -06:00
Josef Zweck
34e6fa3328 Pass aiohttp clientsession to tedee integration (#107089)
* pass aiohttpsession

* Update homeassistant/components/tedee/config_flow.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* Update homeassistant/components/tedee/__init__.py

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>

* move to coordinator

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-01-04 21:42:38 +01:00
Franck Nijhof
fd3a546cd8 Update Home Assistant base image to 2024.01.0 - Python 3.12 (#107175) 2024-01-04 21:42:03 +01:00
Joost Lekkerkerker
eee6693855 Remove precision in streamlabs water (#107096) 2024-01-04 21:41:45 +01:00
Paul Holzinger
11170c6345 Pass down language to hassil (#106490)
Hassil needs the language to convert numbers, this was added in
https://github.com/home-assistant/hassil/pull/78. This fixes an
annoying warning from the logs.

Fixes #104760
2024-01-04 14:40:49 -06:00
Joost Lekkerkerker
8b1db37a85 Use snapshots in Glances sensor tests (#107159)
* Use snapshots in Glances sensor tests

* yes
2024-01-04 21:32:31 +01:00
J. Nick Koston
bc26377c16 Cache homekit_controller supported features (#106702) 2024-01-04 10:31:09 -10:00
Jan Rieger
f2514c0bde Migrate AVM FRITZ!Box Call monitor to has entity name (#99752)
* Migrate AVM FRITZ!Box Call monitor to has entity name

* Update homeassistant/components/fritzbox_callmonitor/strings.json

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

* Update homeassistant/components/fritzbox_callmonitor/strings.json

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

* Update sensor.py

* Update sensor.py

* Update strings.json

* Use translation placeholders

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-04 21:26:12 +01:00
Joost Lekkerkerker
bf229be7bb Migrate Emonitor to has entity name (#107153) 2024-01-04 21:17:23 +01:00
Matt Emerick-Law
eb320b69bc Bump Orvibo to 1.1.2 (#107162)
* Bump python-orvibo version

Fixes https://github.com/home-assistant/core/issues/106923

* Add version number

* Remove version

* Bump python-orvibo version
2024-01-04 20:41:12 +01:00
Bram Kragten
afb5f3c031 Update frontend to 20240104.0 (#107155) 2024-01-04 19:45:18 +01:00
Jan Bouwhuis
5c82c39936 Reorganize drop_connect tests (#107148) 2024-01-04 17:48:31 +01:00
J. Nick Koston
0695bf8988 Move group helpers into their own module (#106924)
This gets rid of the legacy need to use bind_hass, and
the expand function no longer looses typing.
2024-01-04 17:34:56 +01:00
Jan Bouwhuis
6a02cadc13 Rework drop_connect switch, select and coordinator tests and cleanup fixtures (#107119)
* Refactor drop_connect switch and select tests

* Update coordinator tests, cleanup fixtures
2024-01-04 16:17:48 +01:00
J. Nick Koston
40d034cd8c Revert "Bump aiohttp-zlib-ng to 0.2.0 (#106691)" (#107109) 2024-01-04 15:34:43 +01:00
Martin Hjelmare
80a616d237 Remove zwave_js numeric sensor rounding (#107100) 2024-01-04 13:49:15 +01:00
J. Nick Koston
0ccf8ffbc6 Bump habluetooth to 2.0.2 (#107097) 2024-01-04 02:45:47 -10:00
Franck Nijhof
6debd112af Merge branch 'master' into dev 2024-01-04 13:35:57 +01:00
Erik Montnemery
9eefd95e91 Deduplicate handling of duplicated constants (#107074)
* Deduplicate handling of duplicated constants

* Use DeprecatedConstant + DeprecatedConstantEnum

* Fixup

* Remove test cases with unnamed tuples
2024-01-04 13:25:09 +01:00
J. Nick Koston
1a08bcce77 Fix missing backwards compatibility layer for water_heater supported_features (#107091) 2024-01-04 02:21:52 -10:00
Jan Bouwhuis
10f5ce2dc0 Refactor drop tests for binary_sensor (#107090) 2024-01-04 13:12:11 +01:00
Joost Lekkerkerker
5ae8b6bc02 Add entity descriptions to Streamlabs water (#107071)
* Add sensor tests to Streamlabs water

* Add sensor tests to Streamlabs water

* Use entity descriptions in streamlabs water

* Use entity descriptions in streamlabs water

* Use entity descriptions in streamlabs water

* Add translations
2024-01-04 11:53:04 +01:00
Jan Bouwhuis
5508bb3ef9 Refactor drop sensor tests (#106965)
* Refactor drop sensor tests

* Setup the config entry instead of the component
2024-01-04 10:43:04 +01:00
Franck Nijhof
26055ee636 Update home-assistant/builder to 2024.01.0 (#107069) 2024-01-04 10:19:45 +01:00
Joost Lekkerkerker
333711d951 Add sensor tests to Streamlabs water (#107065) 2024-01-04 09:57:00 +01:00
rappenze
254abeeb4f Remove dead code in fibaro light (#106890) 2024-01-04 09:45:08 +01:00
J. Nick Koston
9c69212ad5 Add test coverage for ESPHome service calls (#107042) 2024-01-04 09:37:56 +01:00
Thomas Kistler
4b3a1b5d2d Update pydrawise to 2024.1.0 (#107032) 2024-01-04 09:36:24 +01:00
J. Nick Koston
a83ab403c1 Small cleanups to denonavr (#107050) 2024-01-04 09:35:13 +01:00
Joost Lekkerkerker
dd6c5e89ef Fix data access in streamlabs water (#107062)
* Fix data access in streamlabs water

* Fix data access in streamlabs water
2024-01-04 09:13:34 +01:00
Joost Lekkerkerker
85a1d8b34c Use async_register in streamlabswater (#107060) 2024-01-04 09:11:44 +01:00
Joshua Krall
53717523e5 Add button platform to Opengarage (#103569)
* Add button entity to reboot OpenGarage device

* Addressing code review comments

* Another code-review fix

* Update homeassistant/components/opengarage/button.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-04 07:37:24 +01:00
Aaron Bach
4fa76801af Re-architect Guardian to use better entity descriptions and properties (#107028)
* Re-architect Guardian to use better entity descriptions and properties

* Reduce blast area

* Code review

* Remove mixins
2024-01-03 22:17:12 -07:00
Rami Mosleh
2331f89936 Issue warning if glances server version is 2 (#105887)
* Issue warning if glances server version is 2

* Auto detect api version

* Apply suggestions

* Add HA version deprecation

* Apply suggestions from code review

* update config flow tests

* Fix breaks in ha version

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-04 05:17:43 +01:00
Paulus Schoutsen
890615bb92 Ring: Add partial back (#107040) 2024-01-03 15:52:05 -10:00
Jan-Philipp Benecke
0183affc7c Use call_soon_threadsafe in token updater of Ring (#106984)
Use call_soon_threadsafe in token update of Ring
2024-01-03 19:59:02 -05:00
J. Nick Koston
4f213f6df3 Fix first ESPHome device update entity not offering install feature (#106993)
In the case where the user gets their first ESPHome device such as a RATGDO,
they will usually add the device first in HA, and than find the dashboard.

The install function will be missing because we do not know if the dashboard
supports updating devices until the first device is added. We now set the
supported features when we learn the version when the first device is added
2024-01-03 19:58:04 -05:00
J. Nick Koston
962c449009 Add missing coverage for esphome_state_property decorator (#106998) 2024-01-03 19:54:28 -05:00
J. Nick Koston
8d2ddb6a04 Small cleanups to ESPHome light platform (#107003)
- Remove unreachable code
- Cache filtering when possible
- Add missing coverage
2024-01-03 19:53:48 -05:00
Tom Harris
d535409349 Bump pyinsteon (#107010) 2024-01-03 19:48:57 -05:00
J. Nick Koston
01d0031e09 Fix ESPHome service removal when the device name contains a dash (#107015)
* Fix ESPHome service removal when the device name contains a dash

If the device name contains a dash the service name is mutated to
replace the dash with an underscore, but the remove function did
not do the same mutation so it would fail to remove the service

* add more coverage

* more cover
2024-01-03 19:47:49 -05:00
Maciej Bieniek
afcf8c9718 Get Shelly RPC device gen from config entry data (#107019)
Use gen from config entry data
2024-01-03 19:45:59 -05:00
J. Nick Koston
987663e4de Fix missing backwards compatiblity layer for humidifier supported_features (#107026)
fixes #107018
2024-01-03 19:41:50 -05:00
Sid
bcc7570d81 Bump openwebifpy to 4.0.4 (#107000) 2024-01-03 19:40:59 -05:00
Robbert Verbruggen
bba24a1251 Bump rachiopy to 1.1.0 (#106975) 2024-01-03 22:56:50 +01:00
Patrick Frazer
aad2f2cd45 Bump dropmqttapi to 1.0.2 (#106978) 2024-01-03 21:10:00 +01:00
Ståle Storø Hauknes
dde4217b2b Close stale connections (Airthings BLE) (#106748)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-03 10:08:58 -10:00
Franck Nijhof
fb0cc6c5d0 2024.1.0 (#106970) 2024-01-03 18:15:49 +01:00
Michael
eb01998395 Add support for placeholders in entity name translations (#104453)
* add placeholder support to entity name translation

* add negativ tests

* make property also available via description

* fix doc string in translation_placeholders()

* fix detection of placeholder

* validate placeholders for localized strings

* add test

* Cache translation_placeholders property

* Make translation_placeholders uncondotionally return dict

* Fall back to unsubstituted name in case of mismatch

* Only replace failing translations with English

* Update snapshots

* Blow up on non stable releases

* Fix test

* Update entity.py

---------

Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-03 17:34:47 +01:00
Franck Nijhof
15cecbd4a4 Bump version to 2024.1.0 2024-01-03 17:13:22 +01:00
Franck Nijhof
8cf47c4925 Bump version to 2024.1.0b8 2024-01-03 15:29:59 +01:00
Bram Kragten
cd8d95a04d Update frontend to 20240103.3 (#106963) 2024-01-03 15:29:51 +01:00
Jonas Fors Lellky
015752ff11 Set precision to halves in flexit_bacnet (#106959)
flexit_bacnet: set precision to halves for target temperature
2024-01-03 15:29:48 +01:00
jan iversen
9d697c5026 Only set precision in modbus if not configured. (#106952)
Only set precision if not configured.
2024-01-03 15:29:42 +01:00
Bram Kragten
4595c3edaa Update frontend to 20240103.1 (#106948) 2024-01-03 15:29:38 +01:00
Robert Resch
e745542431 Fix creating cloud hook twice for mobile_app (#106945) 2024-01-03 15:29:33 +01:00
Bram Kragten
d071299233 Update frontend to 20240103.3 (#106963) 2024-01-03 15:28:22 +01:00
Jonas Fors Lellky
e2b2732a90 Set precision to halves in flexit_bacnet (#106959)
flexit_bacnet: set precision to halves for target temperature
2024-01-03 14:43:17 +01:00
CR-Tech
df97b0e945 Removed double assignment of _attr_target_temperature_step in __init__ (#106611)
Removed double/wrong assignement of _attr_target_temperature_step into climate Init routine
2024-01-03 13:44:14 +01:00
jan iversen
40d4061fc5 Only set precision in modbus if not configured. (#106952)
Only set precision if not configured.
2024-01-03 13:42:55 +01:00
Bram Kragten
a7ec78601e Update frontend to 20240103.1 (#106948) 2024-01-03 13:18:09 +01:00
Robert Resch
c90f6f2fea Fix creating cloud hook twice for mobile_app (#106945) 2024-01-03 12:29:05 +01:00
Franck Nijhof
2be72fd891 Bump version to 2024.1.0b7 2024-01-03 11:35:43 +01:00
Bram Kragten
2b43f5fcda Update frontend to 20240103.0 (#106942) 2024-01-03 11:35:35 +01:00
Erwin Douna
3295722e70 Change Tado deprecation version to 2024.7.0 (#106938)
Change version to 2024.7.0
2024-01-03 11:35:30 +01:00
Bram Kragten
be6ceb020e Update frontend to 20240103.0 (#106942) 2024-01-03 11:32:48 +01:00
Erwin Douna
8ad66c11b0 Change Tado deprecation version to 2024.7.0 (#106938)
Change version to 2024.7.0
2024-01-03 10:30:32 +01:00
Franck Nijhof
f98bbf88b1 Bump version to 2024.1.0b6 2024-01-03 09:56:28 +01:00
Michael
0226b3f10c Remove group_members from significant attributes in media player (#106916) 2024-01-03 09:55:55 +01:00
Jan-Philipp Benecke
5986967db7 Avoid triggering ping device tracker home after restore (#106913) 2024-01-03 09:55:52 +01:00
Michael Hansen
95ef2dd7f9 Bump intents to 2024.1.2 (#106909) 2024-01-03 09:55:49 +01:00
Erwin Douna
527d9fbb6b Add try-catch for invalid auth to Tado (#106774)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-03 09:55:45 +01:00
Michael
5eb1073b4a Apply late review comments on media player (#106727) 2024-01-03 09:55:41 +01:00
Erwin Douna
59a01fcf9c Add try-catch for invalid auth to Tado (#106774)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-03 09:15:39 +01:00
J. Nick Koston
7b3ec60f90 Speed up getting the mean of statistics (#106930)
All the values we need to get the mean for are always list[float]
so we can use a much simpler algorithm to get the mean of the list
2024-01-03 09:13:23 +01:00
J. Nick Koston
710e55fb09 Bump SQLAlchemy to 2.0.25 (#106931)
* Bump SQLAlchemy to 2.0.25

changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.25

* drop unused ignore now that upstream is fixed
2024-01-03 09:12:35 +01:00
Marc Mueller
b3f997156a Enable strict typing for counter (#106906) 2024-01-03 09:06:26 +01:00
Jan-Philipp Benecke
32b6e4d5de Bump aioelectricitymaps to v0.1.6 (#106932) 2024-01-03 08:52:41 +01:00
Jan-Philipp Benecke
938c32d35e Avoid triggering ping device tracker home after restore (#106913) 2024-01-03 06:40:42 +01:00
Joe Neuman
711498793a Fix qBittorrent torrent count when empty (#106903)
* Fix qbittorrent torrent cound when empty

* lint fix

* Change based on comment
2024-01-03 00:19:00 +01:00
Michael
f66438b0ce Remove group_members from significant attributes in media player (#106916) 2024-01-02 23:47:32 +01:00
steffenrapp
608d52f167 Add translatable title to holiday (#106825) 2024-01-02 23:40:38 +01:00
Josef Zweck
87c79ef57f Add tedee bridge as via_device for tedee integration (#106914)
* add bridge as via_device

* add bridge as via_device

* move getting bridge to update_data

* add bridge property
2024-01-02 23:23:50 +01:00
Michael Hansen
5003993658 Bump intents to 2024.1.2 (#106909) 2024-01-02 15:35:48 -06:00
Marc Mueller
f0d520d91f Remove assert for unique_id (#106910)
* Remove assert for unique_id

* Use str | None return instead
2024-01-02 22:01:12 +01:00
Franck Nijhof
77cdc10883 Bump version to 2024.1.0b5 2024-01-02 20:59:49 +01:00
Bram Kragten
5100ba252f Update frontend to 20240102.0 (#106898) 2024-01-02 20:59:40 +01:00
Allen Porter
b5b8bc3102 Improve To-do service error handling (#106886) 2024-01-02 20:59:37 +01:00
Allen Porter
6f18a29241 Improve fitbit authentication error handling (#106885) 2024-01-02 20:59:34 +01:00
David F. Mulcahey
596f855eab Bump Zigpy to 0.60.4 (#106870) 2024-01-02 20:59:31 +01:00
J. Nick Koston
5877fe135c Close stale connections in yalexs_ble to ensure setup can proceed (#106842) 2024-01-02 20:59:28 +01:00
J. Nick Koston
26cf30fc3a Update switchbot to use close_stale_connections_by_address (#106835) 2024-01-02 20:59:25 +01:00
Sid
3419b8d082 Move urllib3 constraint to pyproject.toml (#106768) 2024-01-02 20:59:22 +01:00
Robert Groot
35fc26457b Changed setup of EnergyZero services (#106224)
* Changed setup of energyzero services

* PR review updates

* Dict access instead of get

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

* Added tests for unloaded state

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-02 20:59:18 +01:00
Marc Mueller
1526c321f1 Enable strict typing for axis (#106844) 2024-01-02 20:55:59 +01:00
J. Nick Koston
e1f078b70a Bump aiohttp-zlib-ng to 0.2.0 (#106691) 2024-01-02 20:50:26 +01:00
Marc Mueller
43fa51b696 Enable strict typing for blueprint (#106887) 2024-01-02 20:48:51 +01:00
J. Nick Koston
9231e00561 Update switchbot to use close_stale_connections_by_address (#106835) 2024-01-02 20:44:17 +01:00
Bram Kragten
584b6c2862 Update frontend to 20240102.0 (#106898) 2024-01-02 20:42:27 +01:00
J. Nick Koston
73b36086cf Avoid tuple construction to check HKC available (#106902) 2024-01-02 20:41:54 +01:00
Marc Mueller
fde03d7888 Enable strict typing for co2signal (#106888) 2024-01-02 20:41:39 +01:00
Marc Mueller
dcee8e67c4 Add strict typing to command_line (#106889)
* Add strict typing to command_line

* Code review
2024-01-02 20:04:28 +01:00
Allen Porter
943fb2791e Improve To-do service error handling (#106886) 2024-01-02 19:50:28 +01:00
J. Nick Koston
afed45d5d0 Replace intersection with isdisjoint in apple_tv config flow (#106633) 2024-01-02 17:58:00 +01:00
Allen Porter
2e4c4729c4 Improve fitbit authentication error handling (#106885) 2024-01-02 17:51:15 +01:00
J. Nick Koston
54ba00095b Close stale connections in yalexs_ble to ensure setup can proceed (#106842) 2024-01-02 17:50:10 +01:00
Phil Bruckner
4bfeb87377 Remove deprecated Life360 yaml configuration (#106286) 2024-01-02 17:43:33 +01:00
Franck Nijhof
2d0325a471 Mark stt entity component as strictly typed (#106723)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-02 17:07:47 +01:00
Erik Montnemery
e7b0bf2453 Disable polling in time_date sensor (#106881) 2024-01-02 16:50:07 +01:00
Erik Montnemery
a7f4d426ee Handle time zone change in time_date (#106880) 2024-01-02 16:28:22 +01:00
Erik Montnemery
03cbf8b28d Fix state update in time_date sensor (#106879) 2024-01-02 16:22:16 +01:00
Erik Montnemery
513261baff Improve time_date tests (#106878) 2024-01-02 16:04:38 +01:00
starkillerOG
ba0cb3bd05 Add Reolink image settings (#105415) 2024-01-02 15:39:28 +01:00
J. Nick Koston
09b65f14b9 Index entities by domain for entity services (#106759) 2024-01-02 15:28:58 +01:00
David F. Mulcahey
bf0d891f68 Bump Zigpy to 0.60.4 (#106870) 2024-01-02 08:59:45 -05:00
Erik Montnemery
8f8c0ef13b Deprecate 'beat' display option in Time & Date (#106871)
* Deprecate 'beat' display option in Time & Date

* Move deprecation warning

* Update homeassistant/components/time_date/const.py

Co-authored-by: Sander <developer@golles.nl>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Sander <developer@golles.nl>
2024-01-02 14:11:45 +01:00
Erik Montnemery
8f9bd75a36 Enable strict typing of date_time (#106868)
* Enable strict typing of date_time

* Fix parse_datetime

* Add test

* Add comments

* Update tests/util/test_dt.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-02 13:57:25 +01:00
Michael
15cdd42c99 Apply late review comments on media player (#106727) 2024-01-02 13:37:58 +01:00
Sid
729a0fbcd5 Move urllib3 constraint to pyproject.toml (#106768) 2024-01-02 13:34:19 +01:00
steffenrapp
0b9242f809 Add translatable title to logbook (#106810) 2024-01-02 13:30:04 +01:00
Marc Mueller
6e6575afe5 Enable strict typing for apache_kafka (#106823) 2024-01-02 13:29:38 +01:00
Franck Nijhof
06fa306821 Mark humidifier entity component as strictly typed (#106721)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-01-02 13:29:07 +01:00
Jan-Philipp Benecke
d2a03a4706 Avoid unnecessary domain dataclass in Discovergy (#106869) 2024-01-02 13:28:55 +01:00
Josef Zweck
f0132a6b88 Add reauthentication for tedee integration (#106667)
* start work

* add reauth

* title

* reuse user step for reauth

* Update strings.json

* simplify flow

* remove inline if

* remove await hass block
2024-01-02 13:28:15 +01:00
Robert Groot
2df9e5e7b9 Changed setup of EnergyZero services (#106224)
* Changed setup of energyzero services

* PR review updates

* Dict access instead of get

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

* Added tests for unloaded state

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-02 13:24:17 +01:00
Joost Lekkerkerker
0d7bb2d124 Improve entity descriptions in Tami4 (#106776)
* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4

* Improve entity descriptions in Tami4
2024-01-02 13:11:19 +01:00
Marc Mueller
4747460286 Enable strict typing for arwn (#106840) 2024-01-02 13:07:47 +01:00
Franck Nijhof
fc66dead64 Bump version to 2024.1.0b4 2024-01-02 12:59:23 +01:00
Erik Montnemery
056b06de13 Don't use entity_id in __repr__ of not added entity (#106861) 2024-01-02 12:59:11 +01:00
Matt Zimmerman
e604bc8c9b Map missing preset mapping for heat mode "ready" in smarttub (#106856) 2024-01-02 12:59:08 +01:00
J. Nick Koston
59bed57d48 Fix incorrect state in Yale Access Bluetooth when lock status is unknown (#106851) 2024-01-02 12:59:05 +01:00
J. Nick Koston
8c25e2610e Bump yalexs-ble to 2.4.0 (#106834) 2024-01-02 12:59:01 +01:00
J. Nick Koston
38b8a1f95d Bump pySwitchbot to 0.43.0 (#106833) 2024-01-02 12:58:58 +01:00
J. Nick Koston
54a87cf047 Bump bleak-retry-connector to 3.4.0 (#106831) 2024-01-02 12:58:55 +01:00
Bram Kragten
448e98eac5 Update frontend to 20240101.0 (#106808) 2024-01-02 12:58:52 +01:00
Maikel Punie
6ca3c7a673 Bump pyduotecno to 2024.1.1 (#106801)
* Bump pyduotecno to 2024.0.1

* Bump pyduotecno to 2024.1.0

* small update
2024-01-02 12:58:49 +01:00
J. Nick Koston
b1a55e9b19 Fix emulated_hue brightness check (#106783) 2024-01-02 12:58:46 +01:00
David Knowles
16d3d88fa3 Bump pyschlage to 2023.12.1 (#106782) 2024-01-02 12:58:43 +01:00
Christopher Bailey
39960caf36 Bump pyunifiprotect to v4.22.5 (#106781) 2024-01-02 12:58:40 +01:00
Benjamin Richter
e6d2721d1b Fix fints account type check (#106082) 2024-01-02 12:58:37 +01:00
David Knowles
fedb63720c Fix Hydrawise data not refreshing (#105923)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-02 12:58:34 +01:00
Luke Lashley
77286e8f59 Constrain dacite to at least 1.7.0 (#105709) 2024-01-02 12:58:31 +01:00
Jan-Philipp Benecke
bdaf269ba3 Migrate geo_rss_events test to use freezegun (#105895) 2024-01-02 12:53:36 +01:00
Jan-Philipp Benecke
e3b09a5470 Migrate vizio tests to use freezegun (#105417) 2024-01-02 12:53:03 +01:00
J. Nick Koston
038e55a2cb Fix emulated_hue brightness check (#106783) 2024-01-02 12:51:05 +01:00
J. Nick Koston
3f1263a533 Refactor light platform to avoid duplicate property calls (#106857) 2024-01-02 12:49:53 +01:00
J. Nick Koston
73bc65059b Use shorthand attr for screenlogic climate preset modes (#106858) 2024-01-02 12:48:34 +01:00
J. Nick Koston
bbdccede85 Refactor restore state saving to avoid a dict lookup of ATTR_RESTORED (#106854) 2024-01-02 12:48:14 +01:00
Stanislas
41646a6514 Xiaomi MIIO: fix typo in error log (#106852) 2024-01-02 12:47:16 +01:00
David Knowles
6f339541c6 Fix Hydrawise data not refreshing (#105923)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-02 12:46:39 +01:00
J. Nick Koston
1cbacd13aa Use identity checks for HassJobType (#106860) 2024-01-02 12:33:02 +01:00
vexofp
ef261842ac Pass default SSLContext instances to Octoprint custom HTTP sessions (#105351) 2024-01-02 11:59:40 +01:00
J. Nick Koston
93a29ebf2f Bump yalexs-ble to 2.4.0 (#106834) 2024-01-02 11:41:56 +01:00
J. Nick Koston
21fc3203a6 Bump pySwitchbot to 0.43.0 (#106833) 2024-01-02 11:39:04 +01:00
Marc Mueller
8903aecb77 Enable strict typing for airthings (#106814) 2024-01-02 11:38:20 +01:00
J. Nick Koston
d89683f980 Fix incorrect state in Yale Access Bluetooth when lock status is unknown (#106851) 2024-01-02 11:37:51 +01:00
J. Nick Koston
e40faf957e Bump bleak-esphome to 0.4.1 (#106832) 2024-01-02 11:37:18 +01:00
Erik Montnemery
599271fdc0 Don't use entity_id in __repr__ of not added entity (#106861) 2024-01-02 11:35:16 +01:00
Josef Zweck
97a5f0b2af Add diagnostics for tedee (#106662)
* add diagnostics

* don't redact lock name

* Update test_diagnostics.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-02 10:34:02 +01:00
Benjamin Richter
b27e830997 Fix fints account type check (#106082) 2024-01-02 09:59:13 +01:00
Robert Hillis
7396bc61d7 Set entity category and device class for Netgear LTE entities (#106661)
* Set entity category and device class for Netgear

* add suggested unit of measure and precision
2024-01-02 09:55:06 +01:00
J. Nick Koston
a4f0c84457 Reduce duplicate code in json_loads (#106859) 2024-01-01 20:25:23 -10:00
Bram Kragten
391123beb0 Update frontend to 20240101.0 (#106808) 2024-01-01 18:15:34 -10:00
Marc Mueller
d93d25a7d1 Enable strict typing for ambiclimate (#106819) 2024-01-01 18:09:22 -10:00
Luke Lashley
cc18b9a2d8 Constrain dacite to at least 1.7.0 (#105709) 2024-01-01 18:00:17 -10:00
Matt Zimmerman
370345ce2b Map missing preset mapping for heat mode "ready" in smarttub (#106856) 2024-01-01 17:58:12 -10:00
Maikel Punie
b074b23979 Bump pyduotecno to 2024.1.1 (#106801)
* Bump pyduotecno to 2024.0.1

* Bump pyduotecno to 2024.1.0

* small update
2024-01-01 23:45:31 +01:00
J. Nick Koston
25f09134b2 Bump bleak-retry-connector to 3.4.0 (#106831) 2024-01-01 12:16:17 -10:00
Marc Mueller
aec8dc13b2 Improve acmeda typing (#106812) 2024-01-01 22:16:22 +01:00
Marc Mueller
73ccd0d310 Enable strict typing for arcam_fmj (#106837) 2024-01-01 21:12:29 +01:00
Marc Mueller
33f8a364ab Enable strict typing for arris_tg2492lg (#106838) 2024-01-01 20:47:37 +01:00
Marc Mueller
8501b2e71b Enable strict typing for asterisk_cdr + asterisk_mbox (#106841) 2024-01-01 20:45:16 +01:00
Marc Mueller
3b0d877b5e Enable strict typing for amberelectric (#106817) 2024-01-01 20:35:34 +01:00
Marc Mueller
c5c132e1d4 Enable strict typing for airq (#106813) 2024-01-01 20:33:38 +01:00
Marc Mueller
f67bae2cde Enable strict typing for aruba (#106839) 2024-01-01 20:33:15 +01:00
Marc Mueller
800351287b Enable strict typing for aquostv (#106836) 2024-01-01 20:32:29 +01:00
Marc Mueller
0077989169 Enable strict typing for alpha_vantage (#106816) 2024-01-01 20:19:19 +01:00
Marc Mueller
4e0c0cf2ca Enable strict typing for androidtv (#106820) 2024-01-01 20:15:01 +01:00
Marc Mueller
06a5e25853 Enable strict typing for anel_pwrctrl (#106821) 2024-01-01 20:14:34 +01:00
Marc Mueller
c37e268030 Enable strict typing for aprs (#106824) 2024-01-01 20:14:00 +01:00
Marc Mueller
3433e1d349 Enable strict typing for airthings_ble (#106815) 2024-01-01 18:56:44 +01:00
Xitee
a64f912733 Use walrus operator for roomba total cleaned area sensor value (#106772) 2024-01-01 06:24:13 -10:00
J. Nick Koston
41f0eda712 Use shorthand attrs for tplink color temp min/max (#106796)
The valid_temperature_range property does a regex match over
every possible model. Avoid calling it more than once since
it will never change as its based on the model
2024-01-01 13:14:28 +01:00
Marc Mueller
74e02fe057 Update pytest to 7.4.4 (#106802) 2024-01-01 13:12:56 +01:00
Christopher Bailey
ce54a1259a Bump pyunifiprotect to v4.22.5 (#106781) 2023-12-31 09:26:21 -10:00
David Knowles
80f8102b83 Bump pyschlage to 2023.12.1 (#106782) 2023-12-31 20:17:51 +01:00
Franck Nijhof
a7d11120fa Bump version to 2024.1.0b3 2023-12-31 18:57:11 +01:00
Tobias Sauerwein
c06df1957f Bump pyatmo to v8.0.2 (#106758) 2023-12-31 18:56:59 +01:00
puddly
99d575261d Bump ZHA dependencies (#106756)
* Bump ZHA dependencies

* Revert "Remove bellows thread, as it has been removed upstream"

This reverts commit c28053f4bf.
2023-12-31 18:56:57 +01:00
J. Nick Koston
3dca39d0f9 Bump habluetooth to 2.0.1 (#106750)
fixes switching scanners to quickly since the manager failed
to account for jitter in the auto discovered advertising interval

replaces and closes #96531

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.0.0...v2.0.1
2023-12-31 18:56:53 +01:00
J. Nick Koston
a11fd2aaa6 Bump pyunifiprotect to 4.22.4 (#106749)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.3...v4.22.4
2023-12-31 18:56:51 +01:00
starkillerOG
05768f5fbd Bump reolink_aio to 0.8.5 (#106747) 2023-12-31 18:56:48 +01:00
David F. Mulcahey
3d75603b4f Fix Zlinky energy polling in ZHA (#106738) 2023-12-31 18:56:44 +01:00
Franck Nijhof
2179d4de3d Add missing vacuum toggle service description (#106729) 2023-12-31 18:56:41 +01:00
J. Nick Koston
2255f6737c Pin lxml to 4.9.4 (#106694) 2023-12-31 18:56:38 +01:00
J. Nick Koston
456cb20fcd Fix missed cached_property for hvac_mode in climate (#106692) 2023-12-31 18:56:35 +01:00
Keilin Bickar
8dfbe6849e Bump asyncsleepiq to v1.4.1 (#106682)
Update asyncsleepiq to v1.4.1
2023-12-31 18:56:32 +01:00
J. Nick Koston
3dd998b622 Bump roombapy to 1.6.10 (#106678)
changelog: https://github.com/pschmitt/roombapy/compare/1.6.8...1.6.10

fixes #105323
2023-12-31 18:56:29 +01:00
J. Nick Koston
84da1638e8 Bump thermobeacon-ble to 0.6.2 (#106676)
changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.6.0...v0.6.2
2023-12-31 18:56:26 +01:00
Erik Montnemery
362e5ca09a Fix changed_variables in automation traces (#106665) 2023-12-31 18:56:23 +01:00
G Johansson
494dd2ef07 Handle no permission for disks in Systemmonitor (#106653) 2023-12-31 18:56:20 +01:00
G Johansson
767c55fbac Use set instead of list in Systemmonitor (#106650) 2023-12-31 18:56:17 +01:00
Erik Montnemery
5f3389b8e4 Fix yolink entity descriptions (#106649) 2023-12-31 18:56:14 +01:00
Jaroslav Hanslík
c1e37a4cc3 Fixed native apparent temperature in WeatherEntity (#106645) 2023-12-31 18:56:11 +01:00
Jirka
3cd5f0568a Fix typo in Blink strings (#106641)
Update strings.json

Fixed typo.
2023-12-31 18:56:08 +01:00
Erik Montnemery
f9150b78b3 Ensure it's safe to call Entity.__repr__ on non added entity (#106032) 2023-12-31 18:56:04 +01:00
Erik Montnemery
c1f1b5c50b Ensure it's safe to call Entity.__repr__ on non added entity (#106032) 2023-12-31 18:54:34 +01:00
David F. Mulcahey
c83388fd2d Fix Zlinky energy polling in ZHA (#106738) 2023-12-31 12:12:06 -05:00
J. Nick Koston
bfda3f1ba8 Bump habluetooth to 2.0.1 (#106750)
fixes switching scanners to quickly since the manager failed
to account for jitter in the auto discovered advertising interval

replaces and closes #96531

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.0.0...v2.0.1
2023-12-31 06:44:55 -10:00
Guy Shefer
70e2ff351d Add Tami4 integration boil water button (#103400)
* Implement boil water button

* Sort platforms list

* Get API directly

* Cleanup

* Rename boil button string

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

* Add button to .coveragerc

* Change ButtonEntityDescription to EntityDescription

* Update homeassistant/components/tami4/button.py

* Update homeassistant/components/tami4/button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-31 15:39:00 +01:00
Josef Zweck
83b0934138 Add binary sensors for tedee (#106773)
* fix tests

* Update homeassistant/components/tedee/binary_sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-31 13:16:01 +01:00
Josef Zweck
0549c9e113 Add sensor platform for tedee integration (#106722)
* add sensors

* requested changes

* remove translation key from battery

* fix pullspring test

* loop instead of parametrize

* name snapshots

* fix snapshots
2023-12-31 12:24:44 +01:00
Álvaro Fernández Rojas
f7154cff9d Update aioairzone-cloud to v0.3.8 (#106736)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-31 11:50:53 +01:00
puddly
98c41f7398 Bump ZHA dependencies (#106756)
* Bump ZHA dependencies

* Revert "Remove bellows thread, as it has been removed upstream"

This reverts commit c28053f4bf.
2023-12-31 04:54:09 -05:00
Tobias Sauerwein
6a582b29f1 Bump pyatmo to v8.0.2 (#106758) 2023-12-31 10:04:42 +01:00
J. Nick Koston
92713c3f37 Bump pyunifiprotect to 4.22.4 (#106749)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.3...v4.22.4
2023-12-31 09:44:12 +01:00
Franck Nijhof
b1dd064f2d Mark time entity component as strictly typed (#106720) 2023-12-31 02:52:59 +01:00
starkillerOG
95f6336ecd Bump reolink_aio to 0.8.5 (#106747) 2023-12-31 00:45:05 +01:00
Franck Nijhof
82b15d9e38 Add missing vacuum toggle service description (#106729) 2023-12-30 23:16:06 +01:00
J. Nick Koston
969f9e2e3f Use more shorthand attrs in bond fan (#106740) 2023-12-30 20:49:06 +01:00
Franck Nijhof
1849d68e78 Mark siren entity component as strictly typed (#106719) 2023-12-30 20:21:33 +01:00
Franck Nijhof
ff25211bf9 Mark wake_word entity component as strictly typed (#106724) 2023-12-30 20:20:33 +01:00
Franck Nijhof
2a6a347cd0 Mark datetime entity component as strictly typed (#106717) 2023-12-30 15:47:08 +01:00
DiamondDrake
8140036d2e Add support for cookie file to media_extractor (#104973)
* media_extractor comp -> add support for cookie file

* Update __init__.py

* Update __init__.py

* fixed pr request, added test

* update test with valid cookie file

* move cookies to subdirectory

* use pathlib instead of os.path
2023-12-30 14:34:50 +01:00
Franck Nijhof
faa2129e96 Mark todo entity component as strictly typed (#106718) 2023-12-30 14:32:44 +01:00
Franck Nijhof
4764af96a8 Mark date entity component as strictly typed (#106716) 2023-12-30 14:23:43 +01:00
Jan-Philipp Benecke
9d36b716e7 Use call_soon_threadsafe in render_will_timeout of template helper (#106514) 2023-12-30 13:55:53 +01:00
Floris272
ee1b0b46ce Add reauth to Blue Current integration (#106658)
* Add reauth to Blue Current integration.

* Apply feedback

* Fix failing codecov check

* Fix patches

* Add wrong_account to strings.json
2023-12-30 13:53:35 +01:00
Josef Zweck
f17470cb29 Upper case tedee device name (#106685) 2023-12-30 13:15:22 +01:00
Michael
cc14d80d3d Add ffmpeg to dev-container (#106710) 2023-12-30 13:14:49 +01:00
J. Nick Koston
a49999e984 Pin lxml to 4.9.4 (#106694) 2023-12-30 11:29:19 +01:00
G Johansson
bcf75795c2 DNS IP implement retry (#105675)
* DNS IP implement retry

* Review comments
2023-12-30 10:51:34 +01:00
Sid
f22d6a4279 Use volume up/down from enigma2 API (#106674)
enigma2: use volume up/down from enigma2 API
2023-12-30 10:34:57 +01:00
J. Nick Koston
197525c697 Bump thermobeacon-ble to 0.6.2 (#106676)
changelog: https://github.com/Bluetooth-Devices/thermobeacon-ble/compare/v0.6.0...v0.6.2
2023-12-30 10:33:59 +01:00
Erik Montnemery
461dad3039 Fix changed_variables in automation traces (#106665) 2023-12-30 08:34:21 +01:00
J. Nick Koston
9e3869ae1c Avoid recreating ReadOnly dicts when attributes do not change (#106687) 2023-12-29 17:10:40 -10:00
Keilin Bickar
2177113c6e Bump asyncsleepiq to v1.4.1 (#106682)
Update asyncsleepiq to v1.4.1
2023-12-30 01:45:04 +01:00
J. Nick Koston
f3ecec9c44 Fix missed cached_property for hvac_mode in climate (#106692) 2023-12-29 14:12:19 -10:00
J. Nick Koston
8abfde2d15 Bump roombapy to 1.6.10 (#106678)
changelog: https://github.com/pschmitt/roombapy/compare/1.6.8...1.6.10

fixes #105323
2023-12-30 00:45:27 +01:00
J. Nick Koston
6e98f72f8b Bump SQLAlchemy to 2.0.24 (#106672) 2023-12-29 10:19:06 -10:00
Jaroslav Hanslík
e83aa86426 Fixed native apparent temperature in WeatherEntity (#106645) 2023-12-29 18:37:46 +01:00
Xitee
2add7707b4 Add roomba total cleaned area sensor (#106640)
* Add roomba total cleaned area sensor

* Use parentheses for multi-line lambda

* Update homeassistant/components/roomba/sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Update homeassistant/components/roomba/sensor.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

* Revert "Update homeassistant/components/roomba/sensor.py"

This reverts commit 819be6179f.

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-12-29 15:52:38 +01:00
Josef Zweck
02b863e968 Add tedee integration (#102846)
* init tedee

* init tests

* add config flow tests

* liniting

* test

* undo

* linting

* pylint

* add tests

* more tests

* more tests

* update snapshot

* more tests

* typing

* strict typing

* cleanups

* cleanups, fix tests

* remove extra platforms

* remove codeowner

* improvements

* catch tedeeclientexception

* allow bridge selection in CF

* allow bridge selection in CF

* allow bridge selection in CF

* allow bridge selection in CF

* abort earlier

* auto-select bridge

* remove cloud token, optionsflow to remove size

* remove options flow leftovers

* improve coverage

* defer coordinator setting to after first update

* define coordinator

* some improvements

* remove diagnostics, webhook

* remove reauth flow, freeze data classes

* fix lock test

* Update homeassistant/components/tedee/entity.py

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

* Update homeassistant/components/tedee/__init__.py

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

* Update homeassistant/components/tedee/config_flow.py

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

* Update homeassistant/components/tedee/entity.py

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

* Update homeassistant/components/tedee/entity.py

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

* requested changes

* requested changes

* Update lock.py

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

* Update entity.py

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

* Update lock.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* requested changes

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/conftest.py

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

* Update homeassistant/components/tedee/coordinator.py

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

* Update homeassistant/components/tedee/lock.py

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

* Update tests/components/tedee/test_config_flow.py

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/lock.py

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/lock.py

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

* requested changes

* requested changes

* requested changes

* revert load fixture

* change tests

* Update test_config_flow.py

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

* Update strings.json

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

* Update coordinator.py

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

* remove warning

* move stuff out of try

* add docstring

* tedee lowercase, time.time

* back to some uppercase, time.time

* awaitable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-29 14:55:41 +01:00
Erik Montnemery
56a58f9285 Improve tests of inheriting entity descriptions (#106647) 2023-12-29 13:22:52 +01:00
Erik Montnemery
95d7a66c16 Fix yolink entity descriptions (#106649) 2023-12-29 13:22:06 +01:00
G Johansson
853e4d87fa Handle no permission for disks in Systemmonitor (#106653) 2023-12-29 13:21:36 +01:00
G Johansson
4cd1965786 Use set instead of list in Systemmonitor (#106650) 2023-12-29 13:21:08 +01:00
Jirka
19e0f55fc8 Fix typo in Blink strings (#106641)
Update strings.json

Fixed typo.
2023-12-29 12:01:23 +01:00
Franck Nijhof
c54af00ce9 Bump version to 2024.1.0b2 2023-12-29 11:29:50 +01:00
Erik Montnemery
bb6f3bc830 Fix missing await when running shutdown jobs (#106632) 2023-12-29 11:28:15 +01:00
J. Nick Koston
f84d865c51 Migrate light entity to use contains for LightEntityFeature with deprecation warnings (#106622) 2023-12-29 11:28:12 +01:00
J. Nick Koston
2147df4418 Add deprecation warning for siren supported features when using magic numbers (#106621) 2023-12-29 11:28:09 +01:00
J. Nick Koston
af9f6a2b12 Add deprecation warning for lock supported features when using magic numbers (#106620) 2023-12-29 11:28:06 +01:00
J. Nick Koston
024d689b94 Add deprecation warning for alarm_control_panel supported features when using magic numbers (#106619) 2023-12-29 11:28:03 +01:00
J. Nick Koston
9f4790902a Add deprecation warning for cover supported features when using magic numbers (#106618) 2023-12-29 11:27:59 +01:00
J. Nick Koston
5d9177d6e6 Media player platform back-compat for custom components without MediaPlayerEntityFeature (#106616) 2023-12-29 11:27:56 +01:00
J. Nick Koston
70842f197e Vacuum platform back-compat for custom components without VacuumEntityFeature (#106614) 2023-12-29 11:27:53 +01:00
J. Nick Koston
f03bb4a2da Humidifier platform back-compat for custom components without HumidifierEntityFeature (#106613) 2023-12-29 11:27:50 +01:00
J. Nick Koston
aa6e904e86 Remote platform back-compat for custom components without RemoteEntityFeature (#106609) 2023-12-29 11:27:47 +01:00
J. Nick Koston
6224e630ac Water heater platform back-compat for custom components without WaterHeaterEntityFeature (#106608) 2023-12-29 11:27:44 +01:00
J. Nick Koston
04fe8260ab Fan platform back-compat for custom components without FanEntityFeature (#106607) 2023-12-29 11:27:41 +01:00
J. Nick Koston
4a98a6465e Climate platform back-compat for custom components without ClimateEntityFeature (#106605) 2023-12-29 11:27:38 +01:00
Joe Neuman
06f06b7595 Fix count bug in qBittorrent (#106603) 2023-12-29 11:27:35 +01:00
J. Nick Koston
16192cd7f2 Add helper to report deprecated entity supported features magic numbers (#106602) 2023-12-29 11:27:32 +01:00
Robert Hillis
982707afe6 Fix Netgear LTE halting startup (#106598) 2023-12-29 11:27:28 +01:00
Joost Lekkerkerker
911234ae8f Move aeptexas to aep_texas (#106595) 2023-12-29 11:25:58 +01:00
tronikos
55877b0953 Rename domain aepohio to aep_ohio (#106536)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-29 11:23:08 +01:00
J. Nick Koston
0623972ee0 Camera platform back-compat for custom components without CameraEntityFeature (#106529) 2023-12-29 11:11:03 +01:00
J. Nick Koston
d407b9fca8 Update platform back-compat for custom components without UpdateEntityFeature (#106528) 2023-12-29 11:10:58 +01:00
Joe Neuman
e17e372c94 Fix count bug in qBittorrent (#106603) 2023-12-29 11:08:40 +01:00
Robert Hillis
27bdbc6600 Add entity name and translations to Netgear LTE (#106599) 2023-12-29 11:07:56 +01:00
Brett Adams
149fdfb802 Minor improvements to Tessie device entries (#106623)
Add more fields to device info
2023-12-29 10:32:13 +01:00
Nikolay Vasilchuk
c2cfc8ab46 Add GPS satellites count to Starline sensor (#105740)
* GPS Satellites count Starline sensor

* Update homeassistant/components/starline/sensor.py

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

* Update homeassistant/components/starline/strings.json

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

* Capitalise units

* Revert capitalisation

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
2023-12-29 10:29:06 +01:00
Erik Montnemery
a4e9a053c7 Fix missing await when running shutdown jobs (#106632) 2023-12-29 10:04:16 +01:00
J. Nick Koston
7702f971fb Use built-in set methods for light supported checks (#106625) 2023-12-29 08:37:44 +01:00
J. Nick Koston
03fcb81a59 Small speed up to compressed state diff (#106624) 2023-12-29 08:36:20 +01:00
J. Nick Koston
7051f28547 Add deprecation warning for cover supported features when using magic numbers (#106618) 2023-12-29 08:34:08 +01:00
Kevin Worrel
ee2689de3c Refactor screenlogic numbers to use subclasses (#106574) 2023-12-28 15:45:34 -10:00
J. Nick Koston
a47587e3cd Add deprecation warning for siren supported features when using magic numbers (#106621) 2023-12-28 15:45:27 -10:00
J. Nick Koston
e4a25825d3 Migrate light entity to use contains for LightEntityFeature with deprecation warnings (#106622) 2023-12-28 15:45:06 -10:00
J. Nick Koston
e6c6327463 Add deprecation warning for alarm_control_panel supported features when using magic numbers (#106619) 2023-12-28 15:04:06 -10:00
J. Nick Koston
2b972f6dba Add deprecation warning for lock supported features when using magic numbers (#106620) 2023-12-28 15:03:14 -10:00
J. Nick Koston
e0b6d4e216 Media player platform back-compat for custom components without MediaPlayerEntityFeature (#106616) 2023-12-28 14:32:44 -10:00
J. Nick Koston
931e90ab20 Humidifier platform back-compat for custom components without HumidifierEntityFeature (#106613) 2023-12-28 14:10:46 -10:00
J. Nick Koston
4b6aaf6254 Update platform back-compat for custom components without UpdateEntityFeature (#106528) 2023-12-28 14:10:26 -10:00
J. Nick Koston
81726808e8 Vacuum platform back-compat for custom components without VacuumEntityFeature (#106614) 2023-12-28 14:06:25 -10:00
J. Nick Koston
6506a8d511 Camera platform back-compat for custom components without CameraEntityFeature (#106529) 2023-12-29 00:45:35 +01:00
J. Nick Koston
552d4e49f0 Climate platform back-compat for custom components without ClimateEntityFeature (#106605) 2023-12-29 00:36:28 +01:00
J. Nick Koston
3e7c44c612 Fan platform back-compat for custom components without FanEntityFeature (#106607) 2023-12-29 00:36:15 +01:00
J. Nick Koston
d0e9f2ce0d Water heater platform back-compat for custom components without WaterHeaterEntityFeature (#106608) 2023-12-29 00:16:02 +01:00
J. Nick Koston
97ee7e2c98 Remote platform back-compat for custom components without RemoteEntityFeature (#106609) 2023-12-29 00:15:48 +01:00
J. Nick Koston
a46fe94216 Add helper to report deprecated entity supported features magic numbers (#106602) 2023-12-28 12:24:36 -10:00
Robert Hillis
f93b0a4831 Fix Netgear LTE halting startup (#106598) 2023-12-28 22:26:19 +01:00
tronikos
858e01ea42 Rename domain aepohio to aep_ohio (#106536)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-28 22:24:11 +01:00
Sid
f99c37b2b5 bump openwebifpy to 4.0.3 (#106593) 2023-12-28 21:59:56 +01:00
Joost Lekkerkerker
c9ecf3af54 Move aeptexas to aep_texas (#106595) 2023-12-28 21:58:34 +01:00
Bram Kragten
2b7d37cbc2 Bump version to 2024.1.0b1 2023-12-28 21:21:15 +01:00
Bram Kragten
256e3e0597 Revert "Bump version to 2024.1.0"
This reverts commit c9f12d45b4.
2023-12-28 21:20:55 +01:00
Bram Kragten
c9f12d45b4 Bump version to 2024.1.0 2023-12-28 21:19:27 +01:00
J. Nick Koston
fc021f8633 Bump aiohomekit to 3.1.1 (#106591) 2023-12-28 21:19:19 +01:00
Erik Montnemery
2ffb033a46 Revert "Set volume_step in enigma2 media_player" (#106584) 2023-12-28 21:19:18 +01:00
jjlawren
9de482f429 Cleanup Sonos subscription used during setup (#106575) 2023-12-28 21:19:17 +01:00
J. Nick Koston
7441962211 Bump aiohomekit to 3.1.1 (#106591) 2023-12-28 21:18:05 +01:00
jjlawren
ad199aaba2 Cleanup Sonos subscription used during setup (#106575) 2023-12-28 21:08:55 +01:00
Erik Montnemery
90744b0a8e Revert "Set volume_step in enigma2 media_player" (#106584) 2023-12-28 21:08:16 +01:00
G Johansson
fa34cbc414 Systemmonitor always load imported disks (#106546)
* Systemmonitor always load legacy disks

* loaded_resources
2023-12-28 20:40:28 +01:00
G Johansson
67629111f9 Systemmonitor always load imported disks (#106546)
* Systemmonitor always load legacy disks

* loaded_resources
2023-12-28 20:39:39 +01:00
Erik Montnemery
df894acefa Revert "Set volume_step in frontier_silicon media_player" (#106583)
Revert "Set volume_step in frontier_silicon media_player (#105953)"

This reverts commit 3e50ca6cda.
2023-12-28 20:38:02 +01:00
Erik Montnemery
5125d8622d Revert "Set volume_step in bluesound media_player" (#106582)
Revert "Set volume_step in bluesound media_player (#105672)"

This reverts commit 7fa55ffdd2.
2023-12-28 20:38:01 +01:00
Erik Montnemery
35b9044187 Revert "Set volume_step in sonos media_player" (#106581)
Revert "Set volume_step in sonos media_player (#105671)"

This reverts commit 6dc8c2c370.
2023-12-28 20:38:00 +01:00
Erik Montnemery
e953587260 Revert "Set volume_step in monoprice media_player" (#106580)
Revert "Set volume_step in monoprice media_player (#105670)"

This reverts commit cffb51ebec.
2023-12-28 20:38:00 +01:00
Erik Montnemery
925b851366 Revert "Set volume_step in cmus media_player" (#106579)
Revert "Set volume_step in cmus media_player (#105667)"

This reverts commit c10b460c6b.
2023-12-28 20:37:59 +01:00
Erik Montnemery
72dd60e667 Revert "Set volume_step in clementine media_player" (#106578)
Revert "Set volume_step in clementine media_player (#105666)"

This reverts commit 36eeb15fee.
2023-12-28 20:37:58 +01:00
Erik Montnemery
104039e732 Revert "Set volume_step in aquostv media_player" (#106577)
Revert "Set volume_step in aquostv media_player (#105665)"

This reverts commit bb8dce6187.
2023-12-28 20:37:57 +01:00
jjlawren
e1e697c16e Bump plexapi to 4.15.7 (#106576) 2023-12-28 20:37:56 +01:00
Michael
a111e35026 Only check known attributes in significant change support (#106572)
only check known attributes
2023-12-28 20:37:55 +01:00
jan iversen
0e0cd8e7de Remove default value for modbus lazy_error (#106561) 2023-12-28 20:37:54 +01:00
G Johansson
d24a923a73 Replace dash in language if needed (#106559)
* Replace dash in language if needed

* Add tests
2023-12-28 20:37:53 +01:00
Bram Kragten
285bb5632d Update frontend to 20231228.0 (#106556) 2023-12-28 20:37:53 +01:00
G Johansson
d7a697faf4 Fix holiday HA language not supported (#106554) 2023-12-28 20:37:52 +01:00
jan iversen
1d0fafcf2d Remove default value from modbus retries (#106551)
Solve retries issue.
2023-12-28 20:37:51 +01:00
G Johansson
571ba0efb0 Bump python-holidays to 0.39 (#106550) 2023-12-28 20:37:50 +01:00
G Johansson
227a69da65 Add missing disks to Systemmonitor (#106541) 2023-12-28 20:37:49 +01:00
Brett Adams
0de6030911 Fix run errors in Tessie (#106521) 2023-12-28 20:37:48 +01:00
Brett Adams
42ffb51b76 Fix Tessie honk button (#106518) 2023-12-28 20:37:48 +01:00
Thomas Hollstegge
50acf85f48 Use correct state for emulated_hue covers (#106516) 2023-12-28 20:37:47 +01:00
Christopher Fenner
b8ddd61b26 Avoid changing state of reduced preset in ViCare integration (#105642) 2023-12-28 20:35:46 +01:00
Christopher Fenner
b685584b91 Handle AttributeError in ViCare integration (#106470) 2023-12-28 20:35:26 +01:00
Bart Janssens
924e47c2a8 Skip activating/deactivating Vicare standby preset (#106476) 2023-12-28 20:35:00 +01:00
mkmer
8e4fade725 Move services to entity services in blink (#105413)
* Use device name to lookup camera

* Fix device registry serial

* Move to entity based services

* Update tests

* Use config_entry
Move refresh service out of camera

* Use config entry for services

* Fix service schema

* Add depreciation note

* Depreciation note

* key error changes
deprecated (not depreciated)
repair issue

* tweak message

* deprication v2

* back out update field change

* backout update schema changes

* Finish rollback on update service

* update doc strings

* move to 2024.7.0
More verbosity to deprecation message
2023-12-28 20:32:38 +01:00
Thomas Hollstegge
6deb6ddbc4 Use correct state for emulated_hue covers (#106516) 2023-12-28 09:30:26 -10:00
Michael
756847eea8 Only check known attributes in significant change support (#106572)
only check known attributes
2023-12-28 20:20:59 +01:00
G Johansson
648afe121d Replace dash in language if needed (#106559)
* Replace dash in language if needed

* Add tests
2023-12-28 20:16:14 +01:00
mkmer
e7e0ae8f6a Move services to entity services in blink (#105413)
* Use device name to lookup camera

* Fix device registry serial

* Move to entity based services

* Update tests

* Use config_entry
Move refresh service out of camera

* Use config entry for services

* Fix service schema

* Add depreciation note

* Depreciation note

* key error changes
deprecated (not depreciated)
repair issue

* tweak message

* deprication v2

* back out update field change

* backout update schema changes

* Finish rollback on update service

* update doc strings

* move to 2024.7.0
More verbosity to deprecation message
2023-12-28 19:56:40 +01:00
Erik Montnemery
1909163c8e Revert "Set volume_step in bluesound media_player" (#106582)
Revert "Set volume_step in bluesound media_player (#105672)"

This reverts commit 7fa55ffdd2.
2023-12-28 19:54:51 +01:00
Erik Montnemery
20d1560b01 Revert "Set volume_step in monoprice media_player" (#106580)
Revert "Set volume_step in monoprice media_player (#105670)"

This reverts commit cffb51ebec.
2023-12-28 19:54:36 +01:00
Erik Montnemery
744f06b5a8 Revert "Set volume_step in cmus media_player" (#106579)
Revert "Set volume_step in cmus media_player (#105667)"

This reverts commit c10b460c6b.
2023-12-28 19:54:21 +01:00
Erik Montnemery
52cc6a1008 Revert "Set volume_step in clementine media_player" (#106578)
Revert "Set volume_step in clementine media_player (#105666)"

This reverts commit 36eeb15fee.
2023-12-28 19:54:10 +01:00
Erik Montnemery
1fc0a305e7 Revert "Set volume_step in aquostv media_player" (#106577)
Revert "Set volume_step in aquostv media_player (#105665)"

This reverts commit bb8dce6187.
2023-12-28 19:53:56 +01:00
Erik Montnemery
29dea2e0ea Revert "Set volume_step in frontier_silicon media_player" (#106583)
Revert "Set volume_step in frontier_silicon media_player (#105953)"

This reverts commit 3e50ca6cda.
2023-12-28 19:50:57 +01:00
Erik Montnemery
fb280229c2 Revert "Set volume_step in sonos media_player" (#106581)
Revert "Set volume_step in sonos media_player (#105671)"

This reverts commit 6dc8c2c370.
2023-12-28 19:48:34 +01:00
jjlawren
43384effcd Bump plexapi to 4.15.7 (#106576) 2023-12-28 19:36:57 +01:00
Isak Nyberg
756292234e Add Record distance sensor to MyPermobil (#106519)
* add record-distance-sensor

* simplify UOM property

* remove uom for record_distance description

* remove redundant code

* Update homeassistant/components/permobil/sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-28 19:27:06 +01:00
Robert Hillis
454201d0a8 Add device info to Netgear LTE (#106568)
* Add device info to Netgear LTE

* uno mas
2023-12-28 17:47:04 +01:00
G Johansson
353f33f4ac Add missing disks to Systemmonitor (#106541) 2023-12-28 17:45:21 +01:00
jan iversen
2abf7d75e9 Remove default value for modbus lazy_error (#106561) 2023-12-28 17:37:48 +01:00
Álvaro Fernández Rojas
5dd63d86f2 Update aioairzone-cloud to v0.3.7 (#106544)
Release v0.3.7

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-28 17:14:25 +01:00
G Johansson
34c9ef42e9 Add myself as codeowner for holiday (#106560) 2023-12-28 16:32:55 +01:00
G Johansson
b852eb7e23 Fix holiday HA language not supported (#106554) 2023-12-28 16:10:27 +01:00
G Johansson
0605c499aa Bump python-holidays to 0.39 (#106550) 2023-12-28 16:05:52 +01:00
Bram Kragten
1cbd9bded0 Update frontend to 20231228.0 (#106556) 2023-12-28 16:05:11 +01:00
jan iversen
21dbc57fc1 Remove default value from modbus retries (#106551)
Solve retries issue.
2023-12-28 14:20:56 +01:00
Marc Mueller
1a6e81767d Improve trace helper typing (#105964) 2023-12-28 14:00:24 +01:00
Christopher Fenner
6eec4998bd Avoid changing state of reduced preset in ViCare integration (#105642) 2023-12-28 11:17:13 +01:00
Christopher Fenner
af881d7ac8 Handle AttributeError in ViCare integration (#106470) 2023-12-28 09:35:39 +01:00
Bart Janssens
a6af2be675 Skip activating/deactivating Vicare standby preset (#106476) 2023-12-28 09:31:35 +01:00
Brett Adams
fb893a5315 Fix run errors in Tessie (#106521) 2023-12-28 09:02:04 +01:00
Brett Adams
5b706cedeb Fix Tessie honk button (#106518) 2023-12-28 09:00:34 +01:00
Franck Nijhof
7ad44a02b7 Bump version to 2024.2.0dev0 (#106504) 2023-12-28 02:08:16 +01:00
J. Nick Koston
178e4f9e25 Use converter factory in sensor platform (#106508)
This is a bit faster than calling .covert
2023-12-28 00:06:36 +01:00
dependabot[bot]
f59e2b0eec Bump dawidd6/action-download-artifact from 2 to 3.0.0 (#105712)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-27 21:52:32 +01:00
Franck Nijhof
0bb892588e Bump version to 2024.1.0b0 2023-12-27 21:23:25 +01:00
ollo69
ee25cb2616 Add AsusWrt temperature sensors provided by http protocol (#105692) 2023-12-27 21:20:03 +01:00
Daniel Schall
8778763a3e Synchronize and cache Generic Camera still image fetching (#105821) 2023-12-27 21:19:25 +01:00
Bernardus Jansen
5545883400 Opentherm gateway: Set unit of measurement for count sensors (#106313) 2023-12-27 21:16:55 +01:00
theorlangur
d0409e719b Add ZHA configuration number entity to set/get thermostat cluster local temperature offset (#105765) 2023-12-27 21:16:03 +01:00
David F. Mulcahey
11e4dd0764 Bump ZHA quirks to 109 and add associated configuration entities (#106492) 2023-12-27 21:15:45 +01:00
Martin Hjelmare
c462d5b8ca Bump zwave-js-server-python to 0.55.2 (#106496) 2023-12-27 21:05:26 +01:00
Mike Megally
9b2c67fcd2 Add Color Night Vision switch for UniFi Protect (#106500)
* Add a switch to enable and disable "Color Night Vision" for the Unifi Protect platform, which is a feature on the new G5 Pro cameras with a "Vision Enhancer" attached

* Updated tests for the new switch
2023-12-27 09:56:54 -10:00
J. Nick Koston
093c952c38 Bump aiohttp-zlib-ng to 0.1.3 (#106489)
Reverts the workaround that was created for #105254 since the original
issue is fixed in zlib_ng 0.3.0+ which the lib now requires as a minimum
version
2023-12-27 08:04:07 -10:00
Michael
389c8d39f5 Add significant Change support for cover (#106016) 2023-12-27 18:28:24 +01:00
Robert Resch
9508a23f95 Check and register cloud hook if needed for mobile_app (#106461) 2023-12-27 18:01:44 +01:00
Bram Kragten
eb437afc67 Update frontend to 20231227.0 (#106486) 2023-12-27 17:59:52 +01:00
dougiteixeira
65c21438a6 Add query type validation independent of declaration position for SQL (#105921)
* Add query type validation independent of declaration position

* Restore close sess

* Separates invalid query and non-read-only query tests

* Add more tests

* Use the SQLParseError exception for queries that are not read-only

* Add handling for multiple SQL queries.

* Fix test

* Clean ';' at the beginning of the SQL query

* Clean ';' at the beginning of the SQL query - init

* Query cleaning before storing

* Query cleaning before setup sesensor plataform - YAML

* Exception when the SQL query type is not detected

* Cleaning

* Cleaning

* Fix typing in tests

* Fix typing in tests

* Add test for query = ';;'

* Update homeassistant/components/sql/__init__.py

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

* Update homeassistant/components/sql/__init__.py

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

* Update __init__.py

* Update config_flow.py

* Clean query before storing

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 17:58:35 +01:00
Caius-Bonus
37707edc47 Match ZHA Custom ClusterHandler on a Custom Cluster using a unique id for the quirk (#101709)
* initial

* fix tests

* match on specific name and quirk name

* fix tests

* fix tests

* store cluster handlers in only one place

* edit tests

* use correct device for quirk id

* change quirk id

* fix tests

* even if there is a quirk id, it doesn't have to have a specific cluster handler

* add tests

* rename quirk_id

* add tests

* fix tests

* fix tests

* use quirk id from zha_quirks
2023-12-27 11:48:30 -05:00
Nikolay Vasilchuk
4330452212 Fix Starline attributes timezone (#105645)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-12-27 17:21:10 +01:00
Joost Lekkerkerker
e507d1c5a5 Add more Withings measurement sensors (#105561) 2023-12-27 16:55:42 +01:00
Marcel van der Veldt
13702d51b1 Add more fine grained control over Matter server commissioning for the Companion apps (#106237) 2023-12-27 16:55:07 +01:00
Michael
117ff21c48 Add significant Change support for number (#105863) 2023-12-27 16:54:08 +01:00
Simone Chemelli
a6d8a82f3e Add Comelit alarm zones sensor (#106421)
* Add Comelit alarm zones sensor

* apply review comment

* add translation key

* capitalize

* cleanup

* apply review comment

* apply review comment

* more review comment
2023-12-27 16:47:59 +01:00
David F. Mulcahey
817c71747f Delay all ZHA polling until initialization of entities has completed (#105814)
* Don't update entities until they are initialized

* fix hass reference

* only establish polling once

* fix log level and small cleanup

* start device availability checks after full initialization of network

* add logging

* clean up sensor polling and class hierarchy

* don't attempt restore sensor cleanup in this PR

* put check back

* fix race condition and remove parallel updates

* add sensor polling test

* cleanup switch polling and add a test

* clean up and actually fix race condition

* update light forced refresh

* only use flag

* unused flag

* reduce diff size

* collapse
2023-12-27 10:25:41 -05:00
Jon Caruana
45fde2db4e Remove hardcoded bits from LiteJet integration (#106281)
Use the new properties from pylitejet v0.6.0.
2023-12-27 15:43:00 +01:00
Cyrill Raccaud
1d9a2b53e7 Remove initial entity update from swiss_public_transport (#106478)
remove initial update
2023-12-27 15:28:59 +01:00
Martijn van der Pol
a823edf1c2 Jinja filter and function for median and statistical_mode (#105554)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-27 15:14:20 +01:00
Cyrill Raccaud
ed3ea5e5f4 Add device to swiss public transport (#106475)
add to device registry
2023-12-27 15:08:58 +01:00
G Johansson
83f4d3af5c Implement mode validation in Climate entity component (#105745)
* Implement mode validation in Climate entity component

* Fix some tests

* more tests

* Fix translations

* fix deconz tests

* Fix switcher_kis tests

* not None

* Fix homematicip_cloud test

* Always validate

* Fix shelly

* reverse logic in validation

* modes_str

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 14:51:39 +01:00
Jan-Philipp Benecke
e04fda3fad Add config flow to trend (#99761)
* Add config flow to trend

* Remove device_class from options flow

* Add min_samples and import step to config flow

* Fix import

* Fixing tests and some cleanup

* remove unneeded usefixtures

* Apply code review suggestions

* Re-add YAML support

* Re-add reload service

* Fix import

* Apply code review suggestions

* Add test coverage for yaml setup

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 14:46:57 +01:00
Erwin Douna
4decc2bbfb Refactor Tado to use OAuth in the DeviceTracker (#102610)
* Refactor to use TadoConnector in the DeviceTracker

* Proposing myself as code owner to be notified of issues

* Update homeassistant/components/tado/device_tracker.py

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

* Fixing method names

* Current progress, switching machines

* Updating DeviceTracker to working prototype

* Removing unnecessary callback

* Adding dispatcher logic

* Minor fine-tuning the intervals

* Removing unnecessary debug log

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Fix sorting

* Retrieve devices from the Tado connector data

* Asyncio feedback & dispatch generic mobile devices

* Updating const

* Fine-tuning unloading

* Making add_tracked_entites callback

* Adding unload over dispatcher_connect

* Convert on_demand_update to callback

* Removing now unused method

* Merging method to on_demand_u

* Adding create_issue to address repair

* Updating with better translation

* Converting to callback

* Adding _attr_should_poll

* Putting back the on_demand_update

* Adding unique_id

* Converting to TrackerEntity

* Adding import step (review needed!)

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Typing and location_name

* Changing to _attr_unique_id

* Import improvement attempt

* Property feedback

* Update homeassistant/components/tado/config_flow.py

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

* Adding CONF_HOME_ID and task in get_scanner

* Updating descriptions

* Removing the create_task

* Putting back PLATFORM_SCHEMA

* Adding device_tracker

* Adding get for HomeID

* Get it better ;)

* Retrieve HomeID from API

* Add integration title in dialogs

* Update homeassistant/components/tado/config_flow.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Fixing homeID and strings.json

* Delete request in strings

* Update deprecation date

* Adding test cases for import flow

* Update tests/components/tado/test_config_flow.py

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

* Update tests/components/tado/test_config_flow.py

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

* Update tests/components/tado/test_config_flow.py

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

* Removing none

* Fixing test cases

* Update homeassistant/components/tado/config_flow.py

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

* Removing from context manager

* Removing code owner

* Re-adding code owner

* Fix get scanner return value

* Fix device tracker interface

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-27 14:17:23 +01:00
Jan-Philipp Benecke
0694ff8965 Use snapshot assertion in homekit_controller diagnostics tests (#105647) 2023-12-27 13:49:09 +01:00
Daniel Schall
485a02c89d Fix Generic Camera interval calculation (#105820) 2023-12-27 13:45:49 +01:00
Christopher Fenner
50b960fb5e Bump PyViCare to 2.32.0 (#106467) 2023-12-27 13:43:45 +01:00
Joakim Sørensen
b5012a9964 Adjust the GitHub config flow (#105295) 2023-12-27 13:42:24 +01:00
Joost Lekkerkerker
2d5176d1f6 Use entity descriptions in Netgear LTE (#106414) 2023-12-27 13:39:01 +01:00
Greg Dowling
3911894599 Fix roon volume truncation bug (#105696) 2023-12-27 13:37:13 +01:00
Franck Nijhof
5c566770e0 Merge branch 'master' into dev 2023-12-27 13:35:31 +01:00
Franck Nijhof
0f3e6b0dec Revert "Add preselect_remember_me to /auth/providers" (#106472)
Revert "Add preselect_remember_me to `/auth/providers` (#106462)"

This reverts commit c19688e2d2.
2023-12-27 13:22:12 +01:00
David Knowles
7746a94543 Fix Hydrawise watering time duration unit (#105919)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-27 13:20:09 +01:00
Allen Porter
2497798b5d Allow clearing To-do list item extended fields (#106208) 2023-12-27 13:14:59 +01:00
steffenrapp
c51ac7171a Add translatable title to Persistent Notification (#104661) 2023-12-27 13:07:44 +01:00
Klaas Schoute
d0b6acd5e0 Changed setup of easyEnergy services (#106288) 2023-12-27 13:04:49 +01:00
Richard Kroegel
bd4177edc8 Add supports_response to ServiceRegistry.register() (#106164)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-27 13:01:20 +01:00
Michael
0824a1f4a2 Add significant Change support for media player (#105999) 2023-12-27 12:59:33 +01:00
Michael
d747b0891d Add significant Change support for fan (#105867) 2023-12-27 12:57:30 +01:00
Rami Mosleh
f71e01f652 Improve glances tests (#106402) 2023-12-27 12:55:10 +01:00
Cyrill Raccaud
b935facec8 Add coordinator to Swiss public transport (#106278) 2023-12-27 12:54:41 +01:00
Joost Lekkerkerker
9944047b35 Add typing to config flow A (#105721) 2023-12-27 12:51:24 +01:00
G Johansson
8cd0644035 Add translation to ServiceValidationError in Lock (#105746) 2023-12-27 12:50:27 +01:00
Jan Bouwhuis
dae8c0fc38 Fix MQTT retained event messages should be discarded (#106425) 2023-12-27 12:48:53 +01:00
kingy444
25f9c5f34b Fix RainMachine bugs (#106231) 2023-12-27 12:38:37 +01:00
Robert Resch
c19688e2d2 Add preselect_remember_me to /auth/providers (#106462) 2023-12-27 11:47:52 +01:00
Daniel Hjelseth Høyer
4f38d8cc5d Bump millheater to 0.11.8 (#106464) 2023-12-27 11:44:09 +01:00
Franck Nijhof
8fb5d5c299 Mark Tailwind a platinum quality integration (#106468) 2023-12-27 11:30:10 +01:00
Franck Nijhof
ae80d576bf 2023.12.4 (#106460) 2023-12-27 11:06:09 +01:00
Brett Adams
675d4f48b5 Fix update platform in Tessie (#106465)
Return up-to-date
2023-12-27 11:05:17 +01:00
Simone Chemelli
f7d482c85b Fix Comelit alarm state (#106466) 2023-12-27 11:04:20 +01:00
Franck Nijhof
a78ecb3895 Add error handling to Tailwind service methods (#106463) 2023-12-27 10:53:31 +01:00
Franck Nijhof
68ac4717dc Revert "Raise HomeAssistantError if event is triggered with invalid event_type" (#106458) 2023-12-27 10:22:37 +01:00
mkmer
2b8fc8e5ae Update quality scale for Aladdin (#99342)
update quality scale
2023-12-27 10:13:18 +01:00
Renat Sibgatulin
1031e416be Remove IP / mDNS validation in airq integration setup (#106326)
Original design relied on aioairq.AirQ.__init__ checking if the input
was a valid IP address or an mDNS of a very specific structure,
and raising an InvalidInput otherwise.
Now, aioairq==0.3.2 removes said check completely following a user's
request to allow arbitrary host name and DNS entries.
In the config flow, "cannot_connect" covers the cases of misspelled
inputs now, which previously were covered by a dedicated "invalid_input"
2023-12-27 09:56:13 +01:00
Franck Nijhof
d6d8e914bc Flip around Tailwind locked out binary sensor (#106457) 2023-12-27 09:52:16 +01:00
Joe Neuman
d33ad57dd3 Add qBittorrent torrent sensors (#105781)
* Upgrade QBittorrent integration to show torrents

This brings the QBittorrent integration to be more in line with the Transmission integration. It updates how the integration is written, along with adding sensors for Active Torrents, Inactive Torrents, Paused Torrents, Total Torrents, Seeding Torrents, Started Torrents.

* Remove unused stuff

* Fix codeowners

* Correct name in comments

* Update __init__.py

* Make get torrents a service with a response

* Update sensor.py

* Update sensor.py

* Update sensor.py

* Add new sensors

* remove service

* more removes

* more

* Address comments

* cleanup

* Update coordinator.py

* Fix most lint issues

* Update sensor.py

* Update sensor.py

* Update manifest.json

* Update sensor class

* Update sensor.py

* Fix lint issue with sensor class

* Adding codeowners

* Update homeassistant/components/qbittorrent/__init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-27 09:48:52 +01:00
Jan Bouwhuis
c7eab49c70 Raise ServiceValidationError on invalid select option (#106350)
* Raise ServiceValidationError on invalid select option

* Fix tests

* Correct place holders

* More test fixes
2023-12-27 09:45:55 +01:00
Franck Nijhof
fd8a3cf78f Bump version to 2023.12.4 2023-12-27 09:45:19 +01:00
mkmer
04c0dc7d91 Redact unique id from diagnostics in blink (#106413)
redact unique id
2023-12-27 09:45:06 +01:00
mkmer
690f68c571 Missing exception on relogin in Honeywell (#106324)
Missing exception on relogin
2023-12-27 09:45:03 +01:00
Erik Montnemery
2bf5f8563e Fix Shelly consumption_types (#106273) 2023-12-27 09:45:00 +01:00
Alan Murray
baa18eb0bd Bump aiopulse to 0.4.4 (#106239)
* Bump Rolease Acmeda version 

Bump aiopulse version to 0.4.4 to fix issue for blinds that use status structure to indicate blinds that are fully open or closed.

* Update manifest.json

* update requirements
2023-12-27 09:44:56 +01:00
fwestenberg
d420483869 Bump Devialet to 1.4.5 (#106184)
* Bump Devialet==1.4.4

* Bump Devialet to 1.4.5
2023-12-27 09:43:32 +01:00
sdb9696
b98cb82f41 Bump ring-doorbell to 0.8.5 (#106178) 2023-12-27 09:43:29 +01:00
fwestenberg
c76e1e8c80 Bump Devialet to 1.4.4 (#106171)
Bump Devialet==1.4.4
2023-12-27 09:43:26 +01:00
Tobias Sauerwein
5ab41c40a6 Fix Netatmo light switching states by assuming state until next update (#106162) 2023-12-27 09:43:23 +01:00
Aaron Bach
0beb47ac2c Fix bug with non-existent Notion bridge IDs (#106152) 2023-12-27 09:43:20 +01:00
Phil Bruckner
0ca8e52e57 Bump life360 to 6.0.1 (#106149)
* Bump life360 package to 6.0.1

Fix recent API issues.

* Update requirements files
2023-12-27 09:43:17 +01:00
puddly
e3cb90487c Bump ZHA dependencies (#106147) 2023-12-27 09:43:14 +01:00
J. Nick Koston
529d34235c Bump pyenphase to 1.15.2 (#106134) 2023-12-27 09:43:11 +01:00
Ben
56c6de7223 Bump surepy to 0.9.0 (#106101) 2023-12-27 09:43:08 +01:00
Tobias Sauerwein
59c5077557 Bump pyatmo to 8.0.1 (#106094)
Fix missing NLFE
2023-12-27 09:43:05 +01:00
On Freund
937b13dec6 Don't fetch unchanged OurGroceries lists (#105998) 2023-12-27 09:43:02 +01:00
mkmer
6291465313 Bump blinkpy 0.22.4 (#105993) 2023-12-27 09:42:59 +01:00
Stefan Agner
283f8f466f Add Raspberry Pi 5 to version and hardware integration (#105992) 2023-12-27 09:42:56 +01:00
Tobias Sauerwein
03009a2bb9 Fix unreachable Netatmo sensor returning false values (#105954)
* Fix unreachable sensor returning false values

* Clean up unnecessary code
2023-12-27 09:42:53 +01:00
starkillerOG
3b18eb214d Bump motionblinds to 0.6.19 (#105951) 2023-12-27 09:42:50 +01:00
starkillerOG
02919fc1a4 Bump reolink_aio to 0.8.4 (#105946) 2023-12-27 09:42:47 +01:00
starkillerOG
03d7e9182b Bump reolink_aio to 0.8.3 (#105489) 2023-12-27 09:42:42 +01:00
Michael
a6018c5f7e Set WiFi QR code entity to unknown when Fritzbox is not available (#105870) 2023-12-27 09:41:07 +01:00
Michael
e16fb3a9d3 Address late review comments on AVM FRITZ!SmartHome (#105860)
set copies dict keys by default
2023-12-27 09:41:04 +01:00
J. Nick Koston
5ea2471260 Bump pyunifiprotect to 4.22.3 (#105833)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.0...v4.22.3
2023-12-27 09:41:01 +01:00
Álvaro Fernández Rojas
7ae296b0f2 Fix Airzone temperature range on new climate card (#105830)
* airzone: climate: fix double setpoint

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone: fix double setpoint temperature

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone: fix swapped double setpoint

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-27 09:40:58 +01:00
Maciej Bieniek
b58c8eaaa9 Fix HVAC mode duplication for Shelly Gen2 climate platform (#105812)
Fix HVAC mode duplication
2023-12-27 09:40:55 +01:00
Álvaro Fernández Rojas
c5e3d922b0 Update aioairzone to v0.7.2 (#105811) 2023-12-27 09:40:52 +01:00
Álvaro Fernández Rojas
0e2677396a Bump aioairzone to v0.7.0 (#105807) 2023-12-27 09:40:49 +01:00
Michael Hansen
f1f3301edc Set todo item status in intent (#105743) 2023-12-27 09:40:46 +01:00
Stefan Agner
8bfb6b5745 Add Raspberry Pi 5 specific container image (#105488) 2023-12-27 09:40:42 +01:00
vexofp
6720580a9e Pass timeout to httpx in RESTful Switch (#105364)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 09:40:39 +01:00
Robert Resch
fbcb31b103 Deprecate deprecated unit of measurement constants (#106455) 2023-12-27 09:04:25 +01:00
Joost Lekkerkerker
f92e732f27 Use translation placeholders in Swiss public transport (#106416) 2023-12-27 09:01:53 +01:00
Jan Bouwhuis
65e8bbacc9 Raise HomeAssistantError if event is triggered with invalid event_type (#106357) 2023-12-27 08:50:46 +01:00
J. Nick Koston
99734a76aa Use faster contains check in water_heater (#106438) 2023-12-27 08:48:27 +01:00
Martin Hjelmare
59a01da0ed Improve cloud tts tests (#106427) 2023-12-27 08:48:07 +01:00
J. Nick Koston
2cc6fd1afb Add attr caching support to the geo_location platform (#106432) 2023-12-27 08:46:36 +01:00
J. Nick Koston
9b864e8130 Use faster contains check in humidifier (#106433) 2023-12-27 08:46:13 +01:00
J. Nick Koston
7a2a99db2e Use faster contains check in update (#106436) 2023-12-27 08:45:51 +01:00
J. Nick Koston
6dbfd70e30 Use faster contains check in remote (#106435) 2023-12-27 08:45:25 +01:00
J. Nick Koston
e801413c73 Use faster contains check in vacuum (#106437) 2023-12-27 08:45:07 +01:00
Robert Resch
b08268da31 Deprecate deprecated core constants (#106456) 2023-12-27 08:42:57 +01:00
Brett Adams
2afe3364ca Add names to all Tessie entities (#106267)
* Add name back to device tracker and lock

* Add name to media player

* Add name to update

* Update snapshot

* Keep none name on Update

* Re-add update
2023-12-27 07:56:23 +01:00
Brett Adams
91aea843fc Move Trunks from Button to Cover in Tessie (#106448)
* Move trunks from buttons to covers

* Add tests

* Cleanup snapshot

* Use Constants

* StrEnum to IntEnum
2023-12-27 06:56:09 +01:00
Brett Adams
2fe982c7f3 Handle failed updates in Tessie (#106450) 2023-12-26 17:19:44 -10:00
J. Nick Koston
4b19c28ad9 Use faster contains check in media_player (#106434) 2023-12-26 13:18:22 -10:00
Brett Adams
9dde42a023 Handle Auto Fan and MyFan in Advantage Air (#95594)
* Decouple climate from MyFan

* Add tests

* Prepare for auto change

* Handle both modes

* Fix import

* Remove reference to FAN map

* Correct auto fan logic

* Remove multiline ternary operator

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

* Fix coverage

* fix tests

* ruff

* Test auto fan mode with snapshot

* add more testing

* Add switch testing

* Fix a bug caught by new tests

* Remove ineffective snapshot tests

* Readd snapshots but use args

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-26 23:31:25 +01:00
Keilin Bickar
615cd56f03 Add Support for SleepIQ Foot Warmers (#105931)
* Add foot warmer support

* Add Tests for foot warmers

* Move attr options out of constructor

* Change options to lowercase

* Update test and translations

* Switch back to entity

* Update homeassistant/components/sleepiq/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-26 23:31:00 +01:00
J. Nick Koston
51a50fc134 Use faster contains check in fan (#106431) 2023-12-26 12:19:02 -10:00
J. Nick Koston
244a7bef39 Use faster contains check in climate (#106430) 2023-12-26 12:18:52 -10:00
Brett Adams
b51a242fd4 Add install to Tessie update platform (#106352) 2023-12-26 11:56:23 -10:00
Brett Adams
728bef20d6 Add more binary sensors to Tessie (#106212) 2023-12-26 11:54:28 -10:00
Joost Lekkerkerker
01ded7daea Add config flow to Streamlabs water (#104962)
* Add config flow to Streamlabs water

* Add config flow to Streamlabs water

* Add config flow to Streamlabs water

* Add issue when import is successful

* Remove import issue when entry already exists

* Remove import issue when entry already exists

* Fix feedback

* Fix feedback

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-26 22:24:28 +01:00
J. Nick Koston
c7b4f8f780 Use faster contains check in camera for stream feature (#106429) 2023-12-26 10:48:31 -10:00
Simone Chemelli
8be8524955 Fix freeze entity description (#106418) 2023-12-26 18:59:40 +01:00
Brett Adams
9b740c1111 Add missing translations to Tessie Button platform (#106232)
Add missing translations
2023-12-26 18:57:30 +01:00
G Johansson
4f0ee20ec5 Add config flow to System Monitor (#104906)
* Initial commit for config flow to System Monitor

* sensors

* Fixes

* Works

* Add import

* entity_registry_enabled_default = False

* entity_category = diagnostic

* Create issue

* issue in config flow

* Tests

* test requirement

* codeowner

* Fix names

* processes

* Fix type

* reviews

* get info during startup once

* Select process

* Legacy import of resources

* requirements

* Allow custom

* Fix tests

* strings

* strings

* Always enable process sensors

* Fix docstrings

* skip remove sensors if no sensors

* Modify sensors

* Fix tests
2023-12-26 18:29:32 +01:00
Simone Chemelli
2cd6c2b6bf Add alarm platform to Comelit (#104718)
* initial work on alarm

* final work on alarm

* coveragerc

* add tests

* add code validation

* remove sensor changes for a dedicated PR

* code optimization and cleanup

* tweaks

* tweak #2

* apply suggestion

* code quality

* code quality #2

* fix cover.py

* api typing

* use base classes where possibile

* apply const as per review comment

* cleanup unload entry

* apply review comments
2023-12-26 18:27:33 +01:00
Marc Mueller
c6d1f1ccc8 Fix pytest test collection warning (#106405) 2023-12-26 16:23:19 +01:00
mkmer
e9f28c2060 Redact unique id from diagnostics in blink (#106413)
redact unique id
2023-12-26 16:16:54 +01:00
Martin Hjelmare
e764372d1e Move cloud binary sensor to config entry (#106409)
* Move cloud binary sensor to config entry

* Fix docstring
2023-12-26 15:12:37 +01:00
Tobias Perschon
c8f9285aba Switch unifi_direct to external library (#105046)
* switch to external library

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* use mac as name if no hostname is available

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* update requirements_test_all

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* update .coveragerc

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* update codeowners and remove old tests

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* reverted get_device_name to old behaviour

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* typing and some cleanup

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* typing fix

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* code cleanup

Signed-off-by: Tobias Perschon <tobias@perschon.at>

---------

Signed-off-by: Tobias Perschon <tobias@perschon.at>
2023-12-26 13:22:53 +01:00
Marc Mueller
0d2ec6cd5c Improve drop_connect typing (#106404) 2023-12-26 13:11:05 +01:00
J. Nick Koston
1c96cf33b8 Avoid recreating a set each time sensor unit_of_measurement is called (#106401) 2023-12-25 21:11:48 -10:00
J. Nick Koston
b17bec2b0a Cache media player url hashing (#106400) 2023-12-25 21:03:35 -10:00
Maciej Bieniek
3eef1a3f6a Add valve platform for Shelly Gas Valve (#106087)
* Add valve platform

* Update BLOCK_PLATFORMS

* Add tests

* Use _attr_is_closed

* Fix mypy errors

* Make the valve switch to disabled by default

* Add deprecation issues

* Remove LOGGER

* Clean

* Add deprecation comments

* Suggested changes

* Set True for is_fixable

* Show valve entity and services in repair issue
2023-12-26 07:56:21 +01:00
J. Nick Koston
b800475242 Use shorthand attrs for more tplink light attributes (#106399)
* Use shorthand attrs for more tplink light attributes

supported_color_modes and features were having to be recalced every time
state was written

* preen
2023-12-26 07:28:40 +01:00
Raman Gupta
18ace16744 Bump zwave-js-server-python to 0.55.1 (#105502) 2023-12-25 23:29:05 -05:00
Robert Hillis
6f9bff7602 Add config flow to Netgear LTE (#93002)
* Add config flow to Netgear LTE

* uno mas

* uno mas

* forgot one

* uno mas

* uno mas

* apply suggestions

* tweak user step

* fix load/unload/dep

* clean up

* fix tests

* test yaml before importing

* uno mas

* uno mas

* uno mas

* uno mas

* uno mas

* fix startup hanging

* break out yaml import

* fix doc string

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-26 05:19:28 +01:00
Alessandro Mariotti
f0e080f958 Bump getmac 0.9.4 (#106321) 2023-12-25 09:18:06 -10:00
J. Nick Koston
eb3fde7261 Avoid clearing the attr cache in setter when nothing has changed (#106384) 2023-12-25 09:13:48 -10:00
J. Nick Koston
50f64e053e Use identity checks for sensor device class enums (#106383) 2023-12-25 08:35:44 -10:00
Jan Bouwhuis
3016dbc2bd Enable toggle on valve/cover start in google_assistant (#106378) 2023-12-25 15:40:17 +01:00
Brett Adams
04a56eaabe Add data model to Tessie (#106285)
Add data model
2023-12-25 13:01:13 +01:00
G Johansson
123b2669f3 Add full coverage to Fast.com (#105596)
* Add full test coverage for Fast.com

* Remove not needed

* Add service deprecated test

* Rename speedtest

* Extend delay test
2023-12-25 12:04:07 +01:00
Brett Adams
4c11cb78c8 Add delay to manual refresh in Advantage Air (#104918)
* Add debouncer

* Avoid having 3 calls

* Debounce causes extra refresh in reload window

* Seperate disabled test to avoid latent refresh

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-25 12:01:59 +01:00
Maciej Bieniek
d59142a595 Add missing sensors for Shelly Pro Dimmer 2PM (#105008)
Add missing sensors for Shelly Pro Dimmer 2
2023-12-25 07:02:57 +01:00
Kevin Worrel
f45f0b4327 Split out shared screenlogic switch code (#106344) 2023-12-24 11:51:43 -10:00
jan iversen
9066555feb Deprecate parameter "retries" in modbus (#105024) 2023-12-24 16:47:22 +01:00
Patrick Frazer
771409579a Add select platform to drop_connect integration (#106309)
* Add select platform to drop_connect integration

* Fix select test

* Fix minor issues

* Make function definition more specific

* Revert change to switch.py for inclusion in separate PR

* Improve typing

* Add translation keys for select options

* Fix set function typing

* Remove redundant value check

* Remove args that match defaults
2023-12-24 15:03:10 +01:00
Dave T
0a4e82f190 Bump temperusb to 1.6.1 (#106346) 2023-12-24 12:23:26 +01:00
Sid
4ee0666efd Bump openwebifpy to 4.0.2 (#106345)
bump openwebifpy to 4.0.2
2023-12-24 12:22:53 +01:00
mkmer
fc349b0875 Missing exception on relogin in Honeywell (#106324)
Missing exception on relogin
2023-12-23 21:11:51 -05:00
J. Nick Koston
3d6fb60e93 Add support for attribute caching to the vacuum platform (#106332) 2023-12-23 15:36:45 -10:00
Joost Lekkerkerker
c7cb508896 Add diagnostics to ccm15 (#106329)
* Add diagnostics to ccm15

* Update homeassistant/components/ccm15/diagnostics.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-24 02:34:36 +01:00
Joost Lekkerkerker
e469c6892b Add Airnow to strict typing (#105566) 2023-12-23 15:16:15 -10:00
J. Nick Koston
278c7ac2a5 Add support for attribute caching to the todo platform (#106341) 2023-12-23 15:15:09 -10:00
J. Nick Koston
2a52453f5d Add support for attribute caching to the datetime platform (#106340) 2023-12-23 15:14:48 -10:00
J. Nick Koston
b5e1074062 Add support for attribute caching to the time platform (#106339) 2023-12-23 15:14:31 -10:00
J. Nick Koston
b6c2842b01 Add support for attribute caching to the date platform (#106338) 2023-12-23 15:14:09 -10:00
J. Nick Koston
24b14d07de Add support for attribute caching to the water_heater platform (#106336) 2023-12-23 14:29:18 -10:00
J. Nick Koston
38e79bbf9d Add support for attribute caching to the lawn_mower platform (#106335) 2023-12-23 14:28:25 -10:00
J. Nick Koston
63f3c23968 Add support for attribute caching to the weather platform (#106334) 2023-12-23 14:28:08 -10:00
J. Nick Koston
68974a849f Add support for attribute caching to the siren platform (#106337) 2023-12-23 14:27:38 -10:00
J. Nick Koston
85e9bc6f5a Add support for attribute caching to the image platform (#106333) 2023-12-23 14:27:14 -10:00
J. Nick Koston
f097e2a2f6 Add support for attribute caching to the media_player platform (#106257) 2023-12-23 13:33:11 -10:00
J. Nick Koston
b757984031 Optimize use_device_name check in base entity class (#106209) 2023-12-24 00:30:33 +01:00
J. Nick Koston
6e6d7a0c92 Add support for attribute caching to the event platform (#106330) 2023-12-23 13:23:32 -10:00
Diogo Gomes
b674985b20 Add 4 more entities in V2C Trydan EVSE (#105531)
* adds EVSE Lock, Timer, Dynamic Intensity, Dynamic Intensity Pause

* fix casing
2023-12-24 00:20:46 +01:00
J. Nick Koston
e43f4412fa Fix native_step in number not looking at _attr_native_step (#106327) 2023-12-23 13:20:24 -10:00
J. Nick Koston
abd3c54cbe Add support for attribute caching to the camera platform (#106256) 2023-12-23 13:01:47 -10:00
Jan-Philipp Benecke
2f72d4f9f0 Remove unnecessary async_add_job in face processing of image_processing (#106323) 2023-12-23 12:30:31 -10:00
Sid
bd6e2c54e1 Use shorthand attributes in enigma2 (#106318)
* enigma2: add strict typing, change property functions to _attr_*

* applied changes of review

* changes from review
2023-12-23 23:12:03 +01:00
Kevin Worrel
4c912fcf1b Update test data for screenlogic (#106325) 2023-12-23 11:57:27 -10:00
J. Nick Koston
9052b89d63 Add support for attribute caching to the climate platform (#106266) 2023-12-23 11:29:33 -10:00
J. Nick Koston
6d14c265b4 Ensure MQTT attributes are bound to the respective platform entity (#106316) 2023-12-23 10:39:25 -10:00
Oscar Calvo
b2caf15434 New integration Midea ccm15 climate (#94824)
* Initial commit

* Correct settings for config flow

* Use scan interval

* Store proper data

* Remove circular dependency

* Remove circular dependency

* Integration can be initialized

* Fix defaults

* Add setup entry

* Add setup entry

* Dont block forever

* Poll during async_setup_entry

* Remove not needed async methods

* Add debug info

* Parse binary data

* Parse binary data

* Use data to update device

* Use data to update device

* Add CCM15DeviceState

* Use DataCoordinator

* Use DataCoordinator

* Use DataCoordinator

* Use CoordinatorEntity

* Use CoordinatorEntity

* Call update API

* Call update API

* Call update API

* Call update API

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Fix bugs

* Implement swing

* Support swing mode, read only

* Add unit test

* Swing should work

* Set swing mode

* Add DeviceInfo

* Add error code

* Add error code

* Add error code

* Add error code

* Initial commit

* Refactor

* Remove comment code

* Try remove circular ref

* Try remove circular ref

* Remove circular ref

* Fix bug

* Fix tests

* Fix tests

* Increase test coverage

* Increase test coverage

* Increase test coverrage

* Add more unit tests

* Increase coverage

* Update coordinator.py

* Fix ruff

* Set unit of temperature

* Add bounds check

* Fix unit tests

* Add test coverage

* Use Py-ccm15

* Update tests

* Upgrade dependency

* Apply PR feedback

* Upgrade dependency

* Upgrade dependency

* Upgrade dependency

* Force ruff

* Delete not needed consts

* Fix mypy

* Update homeassistant/components/ccm15/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Fix unit tests

* Move climate instance

* Revert "Move climate instance"

This reverts commit cc5b9916b7.

* Apply PR feedback

* Apply PR Feedback

* Remove scan internal parameter

* Update homeassistant/components/ccm15/coordinator.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Remove empty keys

* Fix tests

* Use attr fields

* Try refactor

* Check for multiple hosts

* Check for duplicates

* Fix tests

* Use PRECISION_WHOLE

* Use str(ac_index)

* Move {self._ac_host}.{self._ac_index} to construtor

* Make it fancy

* Update homeassistant/components/ccm15/coordinator.py

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

* Move const to class variables

* Use actual config host

* Move device info to construtor

* Update homeassistant/components/ccm15/climate.py

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

* Set name to none, dont ask for poll

* Undo name change

* Dont use coordinator in config flow

* Dont use coordinator in config flow

* Check already configured

* Apply PR comments

* Move above

* Use device info name

* Update tests/components/ccm15/test_coordinator.py

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

* Update tests/components/ccm15/test_config_flow.py

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

* Apply feedback

* Remove logger debug calls

* Add new test to check for dupplicates

* Test error

* Use better name for test

* Update homeassistant/components/ccm15/config_flow.py

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

* Update homeassistant/components/ccm15/climate.py

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

* Update homeassistant/components/ccm15/config_flow.py

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

* Use prop data for all getters

* Fix tests

* Improve tests

* Improve tests, v2

* Replace log message by comment

* No need to do bounds check

* Update config_flow.py

* Update test_config_flow.py

* Update test_coordinator.py

* Update test_coordinator.py

* Create test_climate.py

* Delete tests/components/ccm15/test_coordinator.py

* Update coordinator.py

* Update __init__.py

* Create test_climate.ambr

* Update conftest.py

* Update test_climate.py

* Create test_init.py

* Update .coveragerc

* Update __init__.py

* We need to check bounds after all

* Add more test coverage

* Test is not None

* Use better naming

* fix tests

* Add available property

* Update homeassistant/components/ccm15/climate.py

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

* Use snapshots to simulate netwrok failure or power failure

* Remove not needed test

* Use walrus

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-23 21:24:52 +01:00
J. Nick Koston
83e1ba338a Add support for attribute caching to the switch platform (#106258) 2023-12-23 09:22:02 -10:00
Robert Resch
ebdf7b9c8c Deprecate some deprecated const constants (#106230)
* Deprecate some deprecated const constants

* Improve code

* fix typing

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-23 20:18:51 +01:00
Franck Nijhof
55a5e9c4b5 Update psutil to 5.9.7 (#106295) 2023-12-23 09:04:34 -10:00
Joost Lekkerkerker
8c0594219f Add entity translations to Steamist (#96182)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-23 08:58:54 -10:00
Jan Bouwhuis
9234852e2a Improve typing on drop_connect switch entity description (#106314)
* Improve typing on drop_connext switch entity description

* Update homeassistant/components/drop_connect/switch.py

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

* Update homeassistant/components/drop_connect/switch.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-23 19:42:41 +01:00
J. Nick Koston
43757ecea5 Add support for attribute caching to the select platform (#106255) 2023-12-23 08:05:00 -10:00
J. Nick Koston
3d9fc8ed77 Add support for attribute caching to the light platform (#106260) 2023-12-23 08:04:30 -10:00
J. Nick Koston
1631a52b09 Add support for attribute caching to the alarm_control_panel platform (#106265) 2023-12-23 08:04:11 -10:00
J. Nick Koston
4ee961cd51 Add support for attribute caching to the cover platform (#106268) 2023-12-23 08:03:44 -10:00
c0ffeeca7
28dccc334d ISY994: remove reference to reload service (#106302) 2023-12-23 07:43:52 -10:00
Brandon Rothweiler
c629b434cd Add energy usage sensor to A. O. Smith integration (#105616)
* Add energy usage sensor to A. O. Smith integration

* Address review comments

* Address review comment

* Address review comment

* Create device outside of the entity class

* Address review comment

* remove platinum
2023-12-23 17:24:49 +01:00
Matt
345f7f2003 Fix feedreader date comparison to allow RSS entries with identical timestamps (#104925)
Change feedreader publishdate comparison
2023-12-23 16:48:36 +01:00
Jan Bouwhuis
e311a6835e Add valve platform support to google_assistant (#106139)
* Add valve platform to google_assistant

* Use constant for domains set
2023-12-23 16:46:25 +01:00
Patrick Frazer
c126022d4f Add switches to drop_connect integration (#106264)
* Add switches to drop_connect integration

* Let device update state

* Simplify icon property

* Use constants for icon names

* Add simulated responses from devices

* Use keyed form for switch value

* Clean up properties
2023-12-23 16:39:31 +01:00
Marco
d450a7f57e Improve mikrotik error handling (#106244)
* improve mikrotik error handling

* switch to debug

* fix mock command arguments

* add recommendations

---------

Co-authored-by: Marco98 <Marco98@users.noreply.github.com>
2023-12-23 16:26:27 +01:00
Sid
0af850cbb6 Restructure enigma2 integration to use async (#104206)
Restructure the enigma2 integration to use async
2023-12-23 16:08:53 +01:00
Jan Bouwhuis
6da2f98d34 Fix mqtt valve is not resetting opening or closing state (#106240)
* Fix mqtt valve is not resetting opening or closing state

* Require state or position attr in JSON state update

* Do not change `_attr_is_closed` if valve reports a position

* Add comment, use tuple

* Call _update_state
2023-12-23 15:18:44 +01:00
Brett Adams
043f3e640c Rework entity description functions in Tessie (#106287)
* use lamdba to return the library function

* Rename mocks

* lambda number

* Lambda button

* Add missing

* Remove context manager
2023-12-23 13:45:06 +01:00
doggkruse
ea7c839423 Apply units of measure provided in API when available in LaCrosse View (#106299)
* Apply units of measure provided in API when available to avoid mismatch of native units.  Improved fix for #106148

* Fix ruff error
2023-12-23 13:41:15 +01:00
Michael
da684d6a7b Add diagnostics support to Tankerkoenig (#106301) 2023-12-23 12:20:15 +01:00
J. Nick Koston
d83dafa14a Add support for attribute caching to the fan platform (#106269) 2023-12-23 11:26:40 +01:00
Robert Resch
060172fc24 Deprecate deprecated data entry flow constants (#106229) 2023-12-23 11:25:39 +01:00
Michael
859e7972ac Add significant Change support for vacuum (#106002) 2023-12-23 11:24:32 +01:00
J. Nick Koston
ff004a1c20 Add support for attribute caching to the sensor platform (#106252) 2023-12-23 11:13:02 +01:00
J. Nick Koston
97ed6570a7 Add support for attribute caching to the binary_sensor platform (#106253) 2023-12-23 11:11:50 +01:00
J. Nick Koston
1c8d961832 Add support for attribute caching to ToggleEntity (#106272) 2023-12-23 11:11:14 +01:00
J. Nick Koston
ca7daa21fe Add support for attribute caching to the text platform (#106262) 2023-12-23 11:10:46 +01:00
J. Nick Koston
ef0031cbcf Add support for attribute caching to the button platform (#106259) 2023-12-23 11:09:46 +01:00
J. Nick Koston
98dd69ba09 Add support for attribute caching to the remote platform (#106274) 2023-12-23 11:09:18 +01:00
J. Nick Koston
d1174593f9 Add support for attribute caching to the lock platform (#106275) 2023-12-23 11:08:35 +01:00
dependabot[bot]
01da8a089f Bump github/codeql-action from 2.22.10 to 3.22.12 (#106221)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-23 11:06:54 +01:00
J. Nick Koston
bb30bfa225 Reduce zeroconf matcher complexity (#105880) 2023-12-23 11:04:05 +01:00
Michael
321dc3984c Add significant Change support for humidifier (#106015) 2023-12-23 10:56:51 +01:00
Robert Resch
20ba764d92 Deprecate deprecated camera constants (#106095) 2023-12-23 10:46:23 +01:00
Franck Nijhof
3404bd4de5 Fix flaky Tailwind tests by fixing via_device (#106294) 2023-12-23 10:45:20 +01:00
Martin Hjelmare
1d0cee5e8a Improve cloud system health tests (#106235) 2023-12-23 10:35:16 +01:00
J. Nick Koston
5156a93b9e Add support for attribute caching to the update platform (#106261) 2023-12-23 10:29:55 +01:00
Aaron Bach
1e12c7fe12 Fix bug with non-existent Notion bridge IDs (#106152) 2023-12-23 10:26:00 +01:00
jjlawren
0ae4d017b9 Add subwoofer crossover support to Sonos Amp devices (#106290) 2023-12-23 10:25:20 +01:00
J. Nick Koston
5d2ddcb1d2 Add support for attribute caching to the number platform (#106254) 2023-12-22 15:22:18 -10:00
J. Nick Koston
634551dae0 Add support for attribute caching to the humidifier platform (#106271) 2023-12-22 15:22:06 -10:00
Phil Bruckner
963347b9c5 Reduce Life360 update time by fetching Places & Members in parallel (#106277) 2023-12-22 16:29:26 -06:00
Erik Montnemery
a4357409c8 Fix Shelly consumption_types (#106273) 2023-12-22 22:58:59 +01:00
Bram Kragten
7ba1736637 Filter by supported features for todo services (#106241) 2023-12-22 21:22:16 +01:00
Erik Montnemery
3a744d374b Add support for caching entity properties (#100601) 2023-12-22 09:02:55 -10:00
Martin Hjelmare
087eb86e37 Improve cloud binary sensor tests (#106238)
* Clean up cloud binary sensor test

* Test remove entity
2023-12-22 19:48:07 +01:00
Patrick Frazer
c41173bb29 Add binary sensors to drop_connect integration (#106248) 2023-12-22 19:26:52 +01:00
Allen Porter
656d0696bb Add support for re-ordering Google Tasks (#104769)
* Add reorder and task ordering

* Remove un-needed js id code

* Revert dead code deletion

* Remove reverted test and dead logger

* Update comment name
2023-12-22 18:49:41 +01:00
Kristof Mariën
32a5345a85 Add foscam coordinator (#92665)
* Add foscam coordinator

* Code cleanup

* Coordinator cleanup

* Coordinator cleanup

* Replace async_timeout with asyncio.timeout

* Ignore coordinator (requires external device)

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-22 17:44:52 +01:00
Cyrill Raccaud
181190d22d Log when swiss_public_transport loses connection (#106200)
* better handling of sensor init state

* sensor.py use integrated attr

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

* use parents implementation for availability

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-22 17:11:49 +01:00
G Johansson
d1d5c50b73 Add full test coverage to Trafikverket Train (#106247)
* Add full test coverage for Trafikverket Train

* Coordinator full coverage

* Now full coverage

* Add util
2023-12-22 16:53:51 +01:00
Floris272
8b0d19aca2 Add bluecurrent integration (#82483)
* Add bluecurrent integration

* Apply feedback

* Rename integration

* changed constants and removed strings.sensor.json

* update blue_current integration

* update bluecurrent-api to 1.0.4

* Update bluecurrent-api to 1.0.5

* Apply feedback

* Remove translation

* Apply feedback

* Use customer_id as unique id

* Apply feedback

* Add @pytest.mark.parametrize

* Replace loop.create_task with async_create_task
2023-12-22 16:34:16 +01:00
Joost Lekkerkerker
989a7e7b10 Clean up swiss public transport (#106245) 2023-12-22 15:59:01 +01:00
Rami Mosleh
c91ac22d3c Add location selector to Islamic prayer times (#105911)
* Add location selector to config flow

* Simplify entry data

* fix abort string

* Add migration with minor version

* Follow documented migration method
2023-12-22 15:24:50 +01:00
Alan Murray
b7661b4d79 Bump aiopulse to 0.4.4 (#106239)
* Bump Rolease Acmeda version 

Bump aiopulse version to 0.4.4 to fix issue for blinds that use status structure to indicate blinds that are fully open or closed.

* Update manifest.json

* update requirements
2023-12-22 15:23:39 +01:00
G Johansson
126a58a33e Return multiple trains in Trafikverket Train (#106206)
* Add list of trains to coordinator

* Fix to work

* snapshot

* Fixes

* Fix
2023-12-22 15:18:16 +01:00
Marc Mueller
f06d956da7 Update pytest warnings filter (#106234) 2023-12-22 14:52:31 +01:00
Jan-Philipp Benecke
13504d5fd5 Add consider home interval to ping (#104881)
* Add consider home interval to ping

* Run ruff after rebase

* Fix buggy consider home interval
2023-12-22 14:50:58 +01:00
Marc Mueller
a579a0c80a Update coverage to 7.3.4 (#106233) 2023-12-22 14:50:07 +01:00
Erik Montnemery
922cef2884 Don't make huawei_lte entity classes dataclasses (#106160) 2023-12-22 14:27:28 +01:00
Patrick Frazer
fce1b6d248 Add DROP integration (#104319)
* Add DROP integration

* Remove all but one platform for first PR

* Simplify initialization of hass.data[] structure

* Remove unnecessary mnemonic 'DROP_' prefix from DOMAIN constants

* Remove unnecessary whitespace

* Clarify configuration 'confirm' step description

* Remove unnecessary whitespace

* Use device class where applicable

* Remove unnecessary constructor and change its elements to class variables

* Change base entity inheritance to CoordinatorEntity

* Make sensor definitions more concise

* Rename HA domain from drop to drop_connect

* Remove underscores from class and function names

* Remove duplicate temperature sensor

* Change title capitalization

* Refactor using SensorEntityDescription

* Remove unnecessary intermediate dict layer

* Remove generated translations file

* Remove currently unused string values

* Use constants in sensor definitions

* Replace values with constants

* Move translation keys

* Remove unnecessary unique ID and config entry references

* Clean up DROPEntity initialization

* Clean up sensors

* Rename vars and functions according to style

* Remove redundant self references

* Clean up DROPSensor initializer

* Add missing state classes

* Simplify detection of configured devices

* Change entity identifiers to create device linkage

* Move device_info to coordinator

* Remove unnecessary properties

* Correct hub device IDs

* Remove redundant attribute

* Replace optional UID with assert

* Remove redundant attribute

* Correct coordinator initialization

* Fix mypy error

* Move API functionality to 3rd party library

* Abstract device to sensor map into a dict

* Unsubscribe MQTT on unload

* Move entity device information

* Make type checking for mypy conditional

* Bump dropmqttapi to 1.0.1

* Freeze dataclass to match parent class

* Fix race condition in MQTT unsubscribe setup

* Ensure unit tests begin with invalid MQTT state

* Change unit tests to reflect device firmware

* Move MQTT subscription out of the coordinator

* Tidy up initializer

* Move entirety of MQTT subscription out of the coordinator

* Make drop_api a class property

* Remove unnecessary type checks

* Simplify some unit test asserts

* Remove argument matching default

* Add entity category to battery and cartridge life sensors
2023-12-22 14:24:08 +01:00
Nikolay Vasilchuk
243ee2247b Add starline binary sensors (#105724)
* Additional attributes for starline

* Handsfree binary sensor

* Sensors

* Review
2023-12-22 13:22:44 +01:00
ashionky
102c7f1959 Add Refoss integration (#100573)
* refoss

* refoss

* refoss

* refoss

* refoss modify

* ip

* 8.22

* format

* format

* format

* bugfix

* test

* test

* test

* test

* test

* test

* 9.1

* refosss

* refoss

* refoss

* refoss

* refoss

* refoss

* refoss

* refoss

* test

* requirements_test_all.txt

* codeowners

* refoss

* Review feedback repair

* strings

* refoss

* refoss

* refoss

* 1.1.1

* 1.1.2

* refoss

* refoss

* refoss.1.1.7

* refoss-gree

* 1.1.7

* test

* refoss

* test refoss

* test refoss

* refoss-test

* refoss

* refoss

* test

* test

* refoss

* CODEOWNERS

* fix

* Update homeassistant/components/refoss/__init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-22 13:18:32 +01:00
Jan Bouwhuis
f536bc1d0c Add valve support to Amazon Alexa (#106053)
Add valve platform to Amazon Alexa
2023-12-22 12:08:06 +01:00
Brett Adams
b4f8fe8d4d Add media player platform to Tessie (#106214)
* Add media platform

* Add more props

* Fix platform filename

* Working

* Add a test

* Update test and fixture

* Refactor media player properties to handle null values

* Add comments

* add more assertions

* Fix test docstring

* Use walrus instead.

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

* Test  when media player is idle

* Fix tests

* Remove None type from volume_level

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

* Return media position only when a media duration is > 0

* Remove impossible None type

* Add snapshot and freezer

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-22 12:07:47 +01:00
RJPoelstra
2c2e6171e2 Add integration for Vogel's MotionMount (#103498)
* Skeleton for Vogel's MotionMount support.

* Generated updates.

* Add validation of the discovered information.

* Add manual configuration

* Use a mac address as a unique id

* Add tests for config_flow

* Add a 'turn' sensor entity.

* Add all needed sensors.

* Add number and select entity for control of MotionMount

* Update based on development checklist

* Preset selector now updates when a preset is chosen

* Fix adding presets selector to device

* Remove irrelevant TODO

* Bump python-MotionMount requirement

* Invert direction of turn slider

* Prepare for PR

* Make sure entities have correct values when created

* Use device's mac address as unique id for entities.

* Fix missing files in .coveragerc

* Remove typing ignore from device library.

Improved typing also gave rise to the need to improve the callback mechanism

* Improve typing

* Convert property to shorthand form

* Remove unneeded CONF_NAME in ConfigEntry

* Add small comment

* Refresh coordinator on notification from MotionMount

* Use translation for entity

* Bump python-MotionMount

* Raise `ConfigEntryNotReady` when connect fails

* Use local variable

* Improve exception handling

* Reduce duplicate code

* Make better use of constants

* Remove unneeded callback

* Remove other occurrence of unneeded callback

* Improve removal of suffix

* Catch 'getaddrinfo' exception

* Add config flow tests for invalid hostname

* Abort if device with same hostname is already configured

* Make sure we connect to a device with the same unique id as configured

* Convert function names to snake_case

* Remove unneeded commented-out code

* Use tuple

* Make us of config_entry id when mac is missing

* Prevent update of entities when nothing changed

* Don't store data in `hass.data` until we know we will proceed

* Remove coordinator

* Handle situation where mac is EMPTY_MAC

* Disable polling

* Fix failing hassfest

* Avoid calling unique-id-less discovery handler for situations where we've an unique id
2023-12-22 12:04:58 +01:00
Brett Adams
c824d06a8c Add number platform to Tessie (#106205)
* Add number platform

* Make self.set consistent

* Fix test docstring

* Use entity descriptions

* Add patch_description to tests

* Rename argument to arg

* Make max key mandatory

* Set SOC min to normal value
2023-12-22 11:57:21 +01:00
Nerdix
9237740103 Increase version default timeout from 10 to 30 seconds (#106158)
* Update __init__.py

* Update __init__.py

* Revert timeout changes

* Revert commit Revert timeout changes
2023-12-22 11:37:03 +01:00
Robert Resch
4d5bea7bcc Deprecate deprecated switch constants (#106225) 2023-12-22 11:23:21 +01:00
Robert Resch
06220849fc Deprecate deprecated water_heater constants (#106226) 2023-12-22 11:23:03 +01:00
Robert Resch
e18d2b8873 Deprecate deprecated device_registry helper constants (#106227) 2023-12-22 11:21:45 +01:00
Brett Adams
23fa86cc23 Add cover platform to Tessie (#105422)
* Add cover platform

* fix case

* Remove virtual key issue

* Remove redundant logic

* Fix logic that I missed

* Add missing types

* Add missing type

* Update entity

* Make window name better

* Fix test

* Update docstrings and comments
2023-12-22 10:17:23 +01:00
Brett Adams
1170e72913 Add lock platform to Tessie (#106216)
* Add lock platform

* Update tests

* fix test docstring
2023-12-22 10:11:48 +01:00
Brett Adams
abc57ea706 Quality improvements for Tessie (#106218)
Quality improvements
2023-12-22 10:11:18 +01:00
Jon Caruana
72da0a0e1d Bump pylitejet to v0.6.2 (#106222)
Bump pylitejet to 0.6.2
2023-12-22 10:04:16 +01:00
Tobias Sauerwein
7ef20c4431 Fix Netatmo light switching states by assuming state until next update (#106162) 2023-12-22 07:37:57 +01:00
Brett Adams
8918a9c2c4 Add button platform to Tessie (#106210) 2023-12-21 16:40:55 -10:00
Brett Adams
e86ac568e1 Add device tracker to Tessie (#105428)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-21 14:28:58 -10:00
Robert Resch
8b08b5e8d2 Deprecate legacy_templates (#105556)
* Deprecate legacy_templates

* Improve wording

* Implement suggestion

* simplify

* Add deleting of the repair issues back

* Update homeassistant/components/homeassistant/strings.json

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

* Test issue removal too

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-22 00:42:16 +01:00
Jan-Philipp Benecke
88ea5f7a54 Use call_soon_threadsafe in face processing of image_processing (#106168) 2023-12-22 00:38:49 +01:00
J. Nick Koston
e75357980a Bump aiohttp-zlib-ng to 0.1.2 (#106193)
fixes #105254
2023-12-22 00:03:42 +01:00
Diogo Alves
69f8514556 Fix lacrosse view sensor units (#106203)
Fixed Unit values from sensor.py

There was a mistake on the units from the sensor that where messing up the device readings on rain, windchill and feels like sensors
2023-12-21 23:28:19 +01:00
Robert Resch
c4c422de79 Skip logging deprecated constant if the calling integration couldn't be indentified (#106181)
* Add option to log only if a integreation is detected for a deprecated constant

* Require param

* Add test that log entry is not created

* typo
2023-12-21 23:19:40 +01:00
Cyrill Raccaud
9fbc15c28b Bump python-opendata-transport to 0.4.0 (#106199)
bump version to 0.4.0
2023-12-21 22:17:43 +01:00
Marc Mueller
d144d6cd68 Update mypy to 1.8.0 (#106189) 2023-12-21 22:01:49 +01:00
Denis Shulyaka
9ba53e03ee Bump httpx to 0.26.0 and httpcore to 1.0.2 (#106194) 2023-12-21 10:11:00 -10:00
Cyrill Raccaud
7e685f2bc7 Swiss public transport config flow (#105648)
* add config flow

* unit tests

* yaml config import flow

* change deprecation period and simply code

* keep name for legacy yaml
- removing the name now would break current implementations
- it will be removed together with the deprectation of  yaml config flow

* improve error handling, simpler unique_id, cleanup

* simplify issues for yaml import flow

* improve typing and clean name handling

* streamline unit tests
- happy path + errors
- mock opendata instead of aiohttp

* parametrize unit tests

* improve strings

* add missing aborts

* update coverage ignore

* remove redundant test

* minor clean up of constants
2023-12-21 20:38:00 +01:00
J. Nick Koston
54f460b7c9 Improve performance of dhcp on high activity networks (#105884)
* Improve performance of dhcp on high activity networks

Most of the overhead was constructing IPAddress objects
which is solved with https://github.com/bdraco/cached-ipaddress

* fix test

* fix: bump

* bump again

* lets do it on the correct branch
2023-12-21 20:36:09 +01:00
fwestenberg
f9c096687f Bump Devialet to 1.4.5 (#106184)
* Bump Devialet==1.4.4

* Bump Devialet to 1.4.5
2023-12-21 20:18:20 +01:00
DeerMaximum
dfc7ff8e64 Bump pyvlx to 0.2.21 (#105800)
* Bump pyvlx to 0.2.21

* Fix typing

* Optimize fix
2023-12-21 18:28:42 +01:00
Robert Groot
d5c7ae5b34 Add Energyzero get_gas_prices and get_energy_price services (#101374)
Co-authored-by: Klaas Schoute <klaas_schoute@hotmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-21 15:39:51 +01:00
Erik Montnemery
0534b0dee4 Improve entity tests (#106175) 2023-12-21 15:32:25 +01:00
fwestenberg
39a956cea3 Bump Devialet to 1.4.4 (#106171)
Bump Devialet==1.4.4
2023-12-21 15:00:11 +01:00
sdb9696
ab2f3381a5 Bump ring-doorbell to 0.8.5 (#106178) 2023-12-21 14:58:01 +01:00
Martin Hjelmare
e1f31194f7 Move cloud stt engine to config entry (#99608)
* Migrate cloud stt to config entry

* Update default engine

* Test config flow

* Migrate pipelines with cloud stt engine to new engine id

* Fix test after rebase

* Update and add comment

* Remove cloud specifics from default stt engine

* Refactor cloud assist pipeline

* Fix cloud stt entity_id

* Try to wait for platforms before creating default pipeline

* Clean up import

* Move function in cloud assist pipeline

* Wait for tts platform loaded in stt migration

* Update deprecation dates

* Clean up not used fixture

* Add test for async_update_pipeline

* Define pipeline update interface better

* Remove leftover

* Fix tests

* Change default engine test

* Add test for missing stt entity during login

* Add and update comments

* Update config entry title
2023-12-21 13:39:02 +01:00
Jan-Philipp Benecke
f0104d6851 Remove gios sensor description required fields mixin (#106174) 2023-12-21 13:25:21 +01:00
David Bonnes
aa9f00099d Make evohome strictly typed (#106012)
* initial commit

* return to conventional approach

* add type hint for wrapper

* use walrus operator
2023-12-21 13:22:42 +01:00
Richard Kroegel
2b65fb22d3 Remove warning message on BMW initialization (#106169)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-21 13:12:25 +01:00
Brett Adams
13908cf5a6 Add update platform to Tessie (#106093)
* Add version platform

* Add strings and test

* Remove potential for None

* Dont show progress when no update is running

* Return None for no update

* Add comment

* Remove future feature

* WIP

* Fix statuses

* update fixture

* Remove entity name

* Remove name correctly

* Use False for in_progress
2023-12-21 12:43:11 +01:00
Jan Bouwhuis
f263da843a Fix typo's en and improve language on MQTT data descriptions (#106165)
* Fix typo's en and prove language on MQTT data descriptions

* Update homeassistant/components/mqtt/strings.json

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

* Update homeassistant/components/mqtt/strings.json

* Update homeassistant/components/mqtt/strings.json

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

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-12-21 12:32:24 +01:00
Jan-Philipp Benecke
0ae0331c5c Migrate google related tests to use freezegun (#105552)
* Migrate google related tests to use freezegun

* retrigger CI

* Fix google tests

* Add timezone to config_entry_token_expiry

* Separate config_entry_token_expiry from token_expiry

* Also test token refresh for offset-naive tokens

* retrigger CI

* Apply code review suggestion

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

* Run ruff-format

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2023-12-21 12:23:01 +01:00
Jan Bouwhuis
f8f31627ce Refactor ranging utils for mqtt cover (#105739)
* Refactor ranging utils for mqtt cover

* Use literals for default min and max percentage
2023-12-21 11:54:05 +01:00
Michael
0614e291c1 Set WiFi QR code entity to unknown when Fritzbox is not available (#105870) 2023-12-21 10:29:01 +01:00
Matthias Alphart
46d63ad7ba Allow Fronius devices to be deleted (#106141) 2023-12-21 10:02:38 +01:00
J. Nick Koston
235914c63a Improve performance of dhcp integration client processing (#106137)
We were using run_callback_threadsafe here which has the overhead
of creating a future and waiting for the result when we throw
it away.
2023-12-21 09:28:04 +01:00
Brett Adams
1d63c34816 Add flags to EntityDescriptions in Tessie (#105847)
* Add SensorEntityDescription flags

* fix datclass attributes
2023-12-21 09:15:51 +01:00
J. Nick Koston
6845218a24 Bump bluetooth-data-tools to 1.19.0 (#106156) 2023-12-20 21:13:59 -10:00
Erik Montnemery
037eb33710 Refactor media_player test classes (#105630) 2023-12-21 08:11:27 +01:00
Lucas Mindêllo de Andrade
48241771f6 Bump SunWEG to 2.0.3 (#106135)
* chore(sunweg): bump version

* chore(sunweg): bump 2.0.3
2023-12-21 07:45:41 +01:00
puddly
bfaae77e51 Bump ZHA dependencies (#106147) 2023-12-21 07:44:36 +01:00
J. Nick Koston
e50fe79911 Update habluetooth to 2.0.0 (#106145) 2023-12-20 20:37:39 -10:00
Brett Adams
dbb726f41f Add Select platform to Tessie (#105423)
* Add select platform

* Add error coverage

* Fix case

* fix value

* Remove virtual key issue

* Add TessieSeatHeaterOptions enum and update TessieSeatHeaterSelectEntity options

* use ENUM in tests

* Porting other fixes

* Update entity
2023-12-21 07:34:31 +01:00
Phil Bruckner
126f0e4047 Bump life360 to 6.0.1 (#106149)
* Bump life360 package to 6.0.1

Fix recent API issues.

* Update requirements files
2023-12-21 07:18:49 +01:00
tronikos
aa51b5f6d4 Add virtual integrations for AEP utilities supported by opower (#106146) 2023-12-21 06:44:40 +01:00
Brett Adams
e2cf4244ea Add switch platform to Tessie (#106153)
* Add switch platform

* Make functions mandatory

* Underscores

* Improvements
2023-12-21 06:34:52 +01:00
Brett Adams
7c5824b4f3 Add climate platform to Tessie (#105420)
* Add climate platform

* Other fixes

* Use super native value

* change to _value

* Sentence case strings

* Add some more type definition

* Add return types

* Add some more assertions

* Remove VirtualKey error

* Add type to args

* rename climate to primary

* fix min max

* Use String Enum

* Add PRECISION_HALVES

* Fix string enum

* fix str enum

* Simplify run logic

* Rename enum to TessieClimateKeeper
2023-12-21 06:18:18 +01:00
J. Nick Koston
e2314565bb Fix ESPHome Bluetooth diagnostics (#106151) 2023-12-20 18:33:43 -10:00
J. Nick Koston
ced4123d4c Bump pyenphase to 1.15.2 (#106134) 2023-12-20 14:10:56 -10:00
J. Nick Koston
5722b4a1ce Break out the ESPHome Bluetooth scanner connection logic into bleak-esphome (#105908) 2023-12-20 13:36:37 -10:00
Robert Resch
d47ec91231 Deprecate deprecated sensor constants (#106120) 2023-12-21 00:02:20 +01:00
Robert Resch
494a897568 Deprecate deprecated climate constants (#106096) 2023-12-21 00:00:21 +01:00
J. Nick Koston
dfb08e7efd Remove unneeded usage of run_callback_threadsafe in entity helper (#106138)
We do not need to create a future here as we do not
need to wait for the result as its going to run
in the background in a task anyways
2023-12-20 23:57:20 +01:00
Ville Skyttä
24b1e01d71 Update Ruff to 0.1.8, avoid linter/formatter conflicts (#106080)
* Disable Ruff rules that may conflict with the formatter

* Upgrade Ruff to 0.1.8

- https://github.com/astral-sh/ruff/releases/tag/v0.1.7
- https://github.com/astral-sh/ruff/releases/tag/v0.1.8

* Format with Ruff 0.1.8
2023-12-20 23:55:09 +01:00
Jan Bouwhuis
f5f9b89848 Add water_heater to google_assistant (#105915)
* Add water_heater to google_assistant

* Follow up comments

* Add water_heater to default exposed domains
2023-12-20 23:26:55 +01:00
Jan Bouwhuis
c57cc85174 Add note on overkiz measurement sensor fix (#105141) 2023-12-20 23:07:31 +01:00
Jan Bouwhuis
65d3f7e1c7 Improve error mqtt valve error logging (#106129)
* Improve error mqtt valve error logging

* Update homeassistant/components/mqtt/valve.py

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

* Update homeassistant/components/mqtt/valve.py

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

* Update homeassistant/components/mqtt/valve.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-20 21:18:30 +01:00
Tobias Sauerwein
69dcc159ae Bump pyatmo to 8.0.1 (#106094)
Fix missing NLFE
2023-12-20 20:32:03 +01:00
Robert Resch
98f0ed1892 Deprecate deprecated siren constants (#106121) 2023-12-20 19:11:03 +01:00
Robert Resch
803e77bebd Move prusalink migration to async_migrate_entry and use a minor version bump (#106109)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-20 19:10:12 +01:00
Robert Resch
ea28b74fe9 Deprecate deprecated alarm control panel constants (#106058) 2023-12-20 18:41:17 +01:00
Robert Resch
491a50a2f1 Deprecate deprecated lock constants (#106113) 2023-12-20 18:07:17 +01:00
Robert Resch
9dd1b9e268 Deprecate deprecated device tracker constants (#106099) 2023-12-20 18:06:38 +01:00
Robert Resch
28e4358c53 Deprecate deprecated humidifier constants (#106112) 2023-12-20 18:05:43 +01:00
Robert Resch
9830f77e9e Deprecate deprecated cover constants (#106098) 2023-12-20 18:04:44 +01:00
Robert Resch
c9c072ff3e Deprecate deprecated fan constants (#106111) 2023-12-20 17:54:43 +01:00
J. Nick Koston
2403b21c4f Bump zeroconf to 0.131.0 (#106037) 2023-12-20 06:37:52 -10:00
Robert Resch
036c856500 Deprecate deprecated number constants (#106114) 2023-12-20 17:28:52 +01:00
Robert Resch
58759ff6b7 Deprecate deprecated remote constants (#106116) 2023-12-20 17:20:50 +01:00
Jan Bouwhuis
93c800c4e8 Add water_heater to alexa (#106011)
* Add water_heater support to alexa

* Improve test coverage

* Follow up comments
2023-12-20 16:48:02 +01:00
Robert Resch
5a3db078d5 Use patch.dict in deprecation test "test_check_if_deprecated_constant" (#106117) 2023-12-20 16:06:26 +01:00
Ben
56967a92e0 Bump surepy to 0.9.0 (#106101) 2023-12-20 15:46:54 +01:00
On Freund
3e07cf50ce Don't fetch unchanged OurGroceries lists (#105998) 2023-12-20 10:35:42 +01:00
Nikolay Vasilchuk
33bcf70bf3 Add Starline Service Mode switch (#105741)
* Starline Service Mode switch

* Update homeassistant/components/starline/strings.json

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-20 09:51:46 +01:00
Jan Bouwhuis
c7f6ab2457 Add MQTT valve platform (#105766)
* Add mqtt valve platform

* No stop topic-reports_position and validation

* Do not allow state_open, state_closed with position reporing valve

* Allow open/close feature to be disabled

* Follow up comments

* Rename

* Apply defaults in validator

* Update docstr
2023-12-20 07:49:49 +01:00
Sid
918ea8f56d Move shared enigma2 constants (#106064)
enigma2: move shared constants from media_player.py into its own const.py
2023-12-19 23:19:24 +01:00
J. Nick Koston
97a14f6b6c Bump aioesphomeapi to 21.0.1 (#106079) 2023-12-19 11:43:00 -10:00
vexofp
c5a3e58994 Pass timeout to httpx in RESTful Switch (#105364)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-19 10:47:42 -10:00
raww
f7a5b14cd6 Bump switchbot-api to 1.3.0 (#105594) 2023-12-19 10:27:31 -10:00
Franck Nijhof
63a535e9d9 Small cleanup in Tailwind (#106073) 2023-12-19 21:17:29 +01:00
Michael Chisholm
64a2c64419 Bump async-upnp-client to 0.38.0 (#105980) 2023-12-19 10:12:30 -10:00
Erik Montnemery
1ae6f1e9e2 Add valve support to switch_as_x (#105988) 2023-12-19 20:16:18 +01:00
Robert Resch
db985925c4 Deprecate deprecated automation constants (#106067) 2023-12-19 19:22:13 +01:00
Klaas Schoute
9275d35c0a Improve tests for easyEnergy (#105989) 2023-12-19 19:02:40 +01:00
Niklas Wagner
91f8d3faef Upgrade Prusa Link to new Digest Authentication and /v1/ API (#103396)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-19 18:07:27 +01:00
Robert Resch
c226d793d4 Move common function for testing derepcation constants to util (#106063) 2023-12-19 17:31:31 +01:00
Robert Resch
0e0fd39603 Add dir_with_deprecated_constants function to deprecation helper (#106059) 2023-12-19 16:37:21 +01:00
Franck Nijhof
63136572a5 Update gotailwind to 0.2.2 (#106054) 2023-12-19 13:35:29 +01:00
Joakim Sørensen
5b4000e759 Bump hass-nabucasa from 0.74.0 to 0.75.1 (#105958)
* Bump hass-nabucasa from 0.74.0 to 0.75.1

* Force sorting of parametrized test

* Simplify async_create_issue.severity

* use fixtures
2023-12-19 13:08:27 +01:00
Franck Nijhof
48740e6b05 Add cover platform to Tailwind integration (#106042) 2023-12-19 12:46:21 +01:00
Robert Resch
a4ccd6e13b Deprecate binary sensor device class constants (#105736)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-19 12:45:32 +01:00
G Johansson
c64c1c8f08 Workday create repair if named holiday missing (#101201) 2023-12-19 12:33:05 +01:00
Michael
c87f2027d4 Use check_valid_float helper in significant change support of sensor and weather (#106013) 2023-12-19 12:31:10 +01:00
Michael
a1614d6b7e Add significant Change support for climate (#106020) 2023-12-19 12:30:30 +01:00
Jan-Philipp Benecke
7d74c89606 Use freezegun in image_upload test (#106045) 2023-12-19 12:26:40 +01:00
Jan-Philipp Benecke
f84e43bc0a Use freezegun in qld_bushfire test (#106049) 2023-12-19 12:21:19 +01:00
Jan-Philipp Benecke
c50098a845 Use freezegun in nsw_rural_fire_service_feed test (#106050) 2023-12-19 12:20:56 +01:00
Jan-Philipp Benecke
2d31f9e984 Use freezegun in ign_sismologia test (#106051) 2023-12-19 12:20:28 +01:00
Jan-Philipp Benecke
f20e4b9df1 Add myself as code owner for rest_command (#106047) 2023-12-19 12:07:13 +01:00
Jan-Philipp Benecke
bb6f78dcc4 Remove sun entity description required fields mixin (#105848) 2023-12-19 11:16:35 +01:00
Franck Nijhof
ef59394ef4 Add binary sensor platform to Tailwind integration (#106033) 2023-12-19 10:38:56 +01:00
Michael
a4cb64e20e Add significant Change support for water heater (#106003) 2023-12-19 10:38:13 +01:00
mkmer
8c3911ffea Bump blinkpy 0.22.4 (#105993) 2023-12-19 10:36:13 +01:00
Jan-Philipp Benecke
40f30675dd Remove gree switch entity description required fields mixin (#105849) 2023-12-19 10:35:19 +01:00
Jan-Philipp Benecke
ed9e738985 Remove ipma entity description required fields mixin (#106039) 2023-12-19 10:35:04 +01:00
Guido Schmitz
24191545a1 Bump devolo_home_control_api to 0.18.3 (#106035) 2023-12-19 10:26:54 +01:00
Michael
458fcc6372 Add significant Change support for alarm control panel (#106021) 2023-12-19 09:58:02 +01:00
mkmer
061c144fe8 Correct logic in honeywell for cleaning up stale devices (#106018)
* code quality fixes

* remove unnecessary code

* Remove comment

* change config entry configuration order

* update based on aladdin connect pr
2023-12-19 07:58:35 +01:00
tronikos
09a0ace671 Fix opower for AEP utilities (#106010) 2023-12-18 20:49:18 -10:00
mkmer
69fccec147 Clean up device registry for doors that no longer exist in Aladdin Connect (#99743)
* Remove devices that no longer exist

* Run Black after merge

* config 2 devices then 1 devices

* clean up device assertions

* More generic device check

* Add request from Honeywell PR

* remove unnecesary test
optimize dont_remove

* remove unnecessary test

* Actually test same id different domain

* Test correct id

* refactor remove test

* Remove .get for non optional keys

* Comprehension for all_device_ids

* Fix DR test, remove `remove`

* fix entities for full test coverage

* remove unused variable assignment

* Additional assertions confirming other domain

* Assertion error

* new method for identifier loop

* device_entries for lists
2023-12-19 07:30:02 +01:00
Erik Montnemery
0c2485bc03 Freeze integration entity descriptions (#105984)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-18 16:28:13 -10:00
Joakim Plate
ae8db120e8 Upgrade gardena_bluetooth to 1.4.1 (#106017) 2023-12-18 16:27:31 -10:00
Luke Lashley
97e66ef9ee Bump Roborock to 0.38.0 (#106025) 2023-12-18 16:26:45 -10:00
Sid
953a035cb5 Update enigma2 codeowners (#106000) 2023-12-18 15:30:23 -10:00
Erik Montnemery
6f392a3b43 Avoid mutating entity descriptions in sunweg tests (#106024) 2023-12-18 15:26:59 -10:00
Erik Montnemery
649e8e689d Fix entity descriptions in upnp (#106023) 2023-12-18 15:26:38 -10:00
Erik Montnemery
d1f6b1271f Avoid mutating entity descriptions in screenlogic (#106022) 2023-12-18 15:26:17 -10:00
epenet
17b53d7acb Remove leftover logging in onewire (#105986)
Remove leftover logging
2023-12-19 00:23:51 +01:00
Michael
29e30e796a Add significant change helper check_valid_float (#106005) 2023-12-18 21:59:30 +01:00
Marc Mueller
446f560b59 Set aiohttp shutdown_timeout on AppRunner instead of TCPSite (#105973) 2023-12-18 10:59:23 -10:00
Guido Schmitz
b35afccdb7 Add PLC PHY rates as sensor to devolo Home Network (#87039)
* Add plc phyrate sensors

* Fix mypy

* Add tests

* Use suggested_display_precision

* Adapt to recent development

* Remove accidentally added constant

* Fix tests

* Fix pylint

* Use PHY rate instead of phyrate

* Adapt tests

* Hopefully fix mypy

* Hopefully fix mypy

* Use LogicalNetwork

* Apply mypy fixes
2023-12-18 21:11:06 +01:00
Eugenio Panadero
b96d2cadac Add new price sensors with API token access to pvpc hourly pricing (#85769)
*  Implement optional API token in config-flow + options

to make the data download from an authenticated path in ESIOS server

As this is an *alternative* access, and current public path works for the PVPC,
no user (current or new) is compelled to obtain a token,
and it can be enabled anytime in options, or doing the setup again

When enabling the token, it is verified (or "invalid_auth" error),
and a 'reauth' flow is implemented, which can change or disable the token if
it starts failing.

The 1st step of config/options flow adds a bool to enable this private access,
- if unchecked (default), entry is set for public access (like before)
- if checked, a 2nd step opens to input the token, with instructions
  of how to get one (with a direct link to create a 'request email').
  If the token is valid, the entry is set for authenticated access

The 'reauth' flow shows the boolean flag so the user could disable a bad token
by unchecking the boolean flag 'use_api_token'

* ♻️ Remove storage of flag 'use_api_token' in config entry

leaving it only to enable/disable the optional token in the config-flow

* ♻️ Adjust async_update_options

*  Add new price sensors with API token access

New price sensors added:
- Injection price: price of excess energy from self-consumption
- OMIE price: electricity price in the 'open' market
- MAG price: Temporal tax cost for gas compensation

*  Adapt tests to work with multiple sensors

* 🐛 Fix all integration sensors going unavailable

when any sensor lacks data for the current day (usually the 'OMIE price')

* Fix rebase

* Customize icons and display precision for new sensors

* Disable MAG Tax and OMIE price sensors by default

* Move logic to assign sensor unique ids to integration

* Move helper functions to helpers.py

* Fix sensor activation for API download
2023-12-18 21:06:02 +01:00
Erik Montnemery
1d1cd6be57 Avoid mutating entity descriptions in sunweg (#105982) 2023-12-18 10:03:40 -10:00
Erik Montnemery
27f81b3f63 Avoid mutating entity descriptions in unifiprotect (#105976) 2023-12-18 09:58:32 -10:00
Miguel Camba
5175737b60 Add Valve integration (#102184)
* Add Valve integration.

This adds the valve integration discussed in https://github.com/home-assistant/architecture/discussions/975
Most of the code is taken from the cover integration but simplified since valves
can't tilt.

There are a couple outstanding errors I'm not sure how to solve and prevents
me from even making this commit without `--no-verify`.

* Apply PR feedback

* Apply more feedback: Intruduce the bare minimum

* Remove file commited by mistake

* Hopefully this fixes tests

* Match cover's typing and mypy settings

* Change some configuration files

* Fix test

* Increase code coverage a little

* Code coverate inproved to 91%

* 95% code coverage

* Coverate up to 97%

* Coverage 98%

* Apply PR feedback

* Even more feedback

* Add line I shouldn't have removed

* Derive closed/open state from current position

* Hopefully last feedback

* Update homeassistant/components/valve/__init__.py

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

* Update homeassistant/components/valve/__init__.py

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

* Remove unnecesary translation

* Remove unused method arguments

* Complete code coverage

* Update homeassistant/components/valve/__init__.py

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

* Simplify tests

* Update homeassistant/components/valve/__init__.py

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

* Apply last feedback

* Update tests/components/valve/test_init.py

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

* Update tests/components/valve/test_init.py

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

* Update tests/testing_config/custom_components/test/valve.py

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

* More feedback

* Apply suggestion

* And more feedback

* Apply feedback

* Remove commented code

* Reverse logic to unindent

* Update homeassistant/components/valve/__init__.py

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

* Update homeassistant/components/valve/__init__.py

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

* Implement stop valve for Mock valve

* Fix tests now that I've implemented stop_valve

* Assert it's neither opening nor closing

* Use current position instead

* Avoid scheduling executor when opening or closing

* Fix incorrect bitwise operation

* Simplify toggle

* Remove uneeded partial functions

* Make is_last_toggle_direction_open private

* Remove valve from test custom integration

* Improve test coverage

* Address review comments

* Address review comments

* Address review comments

* Update homeassistant/components/valve/__init__.py

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

* Update tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2023-12-18 19:48:00 +01:00
Stefan Agner
93a9a9d1e2 Add Raspberry Pi 5 to version and hardware integration (#105992) 2023-12-18 19:31:37 +01:00
Erik Montnemery
0a6f541b27 Avoid mutating entity descriptions in screenlogic (#105983) 2023-12-18 19:14:10 +01:00
Rami Mosleh
ab40ba80a9 Improve Transmission Entity description class (#105924)
* Add entity mixin for transmission sensors

* use kw_only in EntityDescription class

* minor fix

* Update sensor.py uom
2023-12-18 19:09:01 +01:00
Franck Nijhof
5f2a13fec6 Add DHCP discovery to Tailwind (#105981) 2023-12-18 15:52:48 +01:00
Daniel Gangl
72fe30439e Rename zamg to GeoSphere Austria (#105494) 2023-12-18 15:47:44 +01:00
Erik Montnemery
2515e520c1 Allow step size any for number selector in slider mode (#105978) 2023-12-18 15:30:59 +01:00
Marc Mueller
b671de8942 Improve logging util typing (#105968) 2023-12-18 14:54:12 +01:00
Michael
58070e14a7 Add significant Change support for camera (#105866) 2023-12-18 14:40:55 +01:00
Jan-Philipp Benecke
0972dc5867 Migrate directv test to use freezegun (#105894) 2023-12-18 14:40:13 +01:00
Franck Nijhof
556be26040 Add button platform to Tailwind integration (#105961) 2023-12-18 14:11:43 +01:00
J. Nick Koston
4bdfea5d67 Remove HaAsyncServiceBrowser from zeroconf (#105881) 2023-12-18 14:11:06 +01:00
tronikos
4f11419ae7 Bump google-generativeai to 0.3.1 (#105783) 2023-12-18 14:07:08 +01:00
Franck Nijhof
79aa888ca0 Add diagnostics platform to Tailwind (#105965) 2023-12-18 14:05:15 +01:00
mkmer
a2a9a8e231 Fix typo in deprecated comment (#105969) 2023-12-18 14:04:19 +01:00
Erik Montnemery
bad9598baa Avoid mutating entity descriptions in ovo_energy (#105971) 2023-12-18 14:03:57 +01:00
Erik Montnemery
8518d46d28 Avoid mutating entity descriptions in radarr (#105972) 2023-12-18 14:03:41 +01:00
Erik Montnemery
7a9e303e20 Avoid mutating entity descriptions in onewire (#105970) 2023-12-18 13:58:57 +01:00
Tobias Sauerwein
57a6effd70 Fix unreachable Netatmo sensor returning false values (#105954)
* Fix unreachable sensor returning false values

* Clean up unnecessary code
2023-12-18 13:57:34 +01:00
Erik Montnemery
94d22c936e Avoid mutating entity descriptions in tomorrowio (#105975) 2023-12-18 13:57:11 +01:00
Erik Montnemery
77c72f2402 Avoid mutating entity descriptions in solaredge (#105974) 2023-12-18 13:55:12 +01:00
Robert Resch
393da7b2e0 Fix easyenergy async_setup_services declaration (#105947) 2023-12-18 13:27:37 +01:00
Marc Mueller
8d0ce6ead6 Improve rfxtrx typing (#105966) 2023-12-18 13:23:30 +01:00
tronikos
82f3f17537 Bump opower to 0.1.0 (#105957) 2023-12-18 12:16:32 +01:00
Franck Nijhof
3c73c0f17f Add reauth support to Tailwind (#105959) 2023-12-18 12:12:56 +01:00
starkillerOG
60fe6ff771 Bump motionblinds to 0.6.19 (#105951) 2023-12-18 11:30:44 +01:00
starkillerOG
253182c650 Reolink change ir to switch (#105916)
* Change IR from light to switch

* Remove old entity

* Add test

* Apply suggestions from code review

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-12-18 11:13:20 +01:00
Erik Montnemery
3e50ca6cda Set volume_step in frontier_silicon media_player (#105953) 2023-12-18 11:08:26 +01:00
Franck Nijhof
90fef6b9c9 Add Tailwind zeroconf discovery (#105949) 2023-12-18 10:39:15 +01:00
starkillerOG
f912b9c34a Bump reolink_aio to 0.8.4 (#105946) 2023-12-18 10:37:22 +01:00
Joost Lekkerkerker
0d049d73cf Add AndroidTV remote to strict typing (#105571)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-18 10:34:39 +01:00
Klaas Schoute
e59e1d7f8e Add prices service calls for easyEnergy (#105175) 2023-12-18 09:37:59 +01:00
Franck Nijhof
d50b79ba84 Add Tailwind integration (#105926)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-18 08:42:53 +01:00
Brandon Rothweiler
6acbbec839 Address late review comments for A. O. Smith reauth (#105941) 2023-12-18 07:10:14 +01:00
Keilin Bickar
017dc66046 Bump asyncsleepiq to v1.4.0 (#105939) 2023-12-17 17:19:29 -10:00
ollo69
2c54f8bf8e Bump pyasuswrt to 0.1.21 (#105922) 2023-12-17 15:34:19 -10:00
Brett Adams
a88335272a Implement Review Feedback for Tessie (#105937) 2023-12-17 15:33:26 -10:00
Marc Mueller
aac02d7b84 Add first TypeVarTuple annotations (#105379) 2023-12-18 00:38:07 +01:00
J. Nick Koston
5c503683b7 Bump lru-dict to 1.3.0 (#105914)
* Bump lru-dict to 1.3.0

changelog: https://github.com/amitdev/lru-dict/compare/v1.2.0...v1.3.0

* fix typing

* quote types

* quote types
2023-12-18 00:16:31 +01:00
David Bonnes
45b5ddfad7 Use library constants instead of literals in Evohome (#105039)
* initial commit

* roll back some consts

* doctweak

* tweak linting

* doctweak
2023-12-17 23:08:18 +01:00
J. Nick Koston
67d903ca99 Remove bluetooth-data-tools dep from ESPHome (#105912) 2023-12-17 09:18:20 -10:00
J. Nick Koston
9490da830c Bump bleak-esphome to 0.4.0 (#105909) 2023-12-17 06:15:55 -10:00
J. Nick Koston
3f68abdd3a Bump zeroconf to 0.130.0 (#105868) 2023-12-17 06:00:38 -10:00
Jan-Philipp Benecke
7772f60426 Migrate file test to use freezegun (#105892) 2023-12-17 05:09:10 -10:00
J. Nick Koston
89513efd8d Refactor ESPHome Bluetooth connection logic to prepare for esphome-bleak (#105747) 2023-12-17 04:42:28 -10:00
J. Nick Koston
e78588a585 Bump bluetooth-adapters to 0.16.2 (#105878)
changelog: https://github.com/Bluetooth-Devices/bluetooth-adapters/compare/v0.16.1...v0.16.2
2023-12-17 12:48:08 +01:00
J. Nick Koston
87c081e70d Bump aiodiscover to 1.6.0 (#105885) 2023-12-16 16:07:21 -10:00
J. Nick Koston
537dbd8375 Fix cloud tests doing socket I/O (#105874)
https://github.com/home-assistant/core/actions/runs/7233101649/job/19708631179?pr=105868
https://github.com/home-assistant/core/actions/runs/7232949349?pr=105834

I was hoping to only patch the library, but when I did that it still failed
because it had no access token
2023-12-17 01:23:56 +01:00
Ernst Klamer
299a2ef04e Bump qingping_ble to 0.9.0 (#105876) 2023-12-16 10:16:30 -10:00
Ernst Klamer
cd15283c2e Bump bthome_ble to 3.3.1 (#105834)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-16 09:08:28 -10:00
Michael
4cca174586 Address late review comments on AVM FRITZ!SmartHome (#105860)
set copies dict keys by default
2023-12-16 19:38:58 +01:00
Chris Cohen
5ce782d597 Bump glances-api to 0.5.0 (#105813)
bump glances API to 0.5.0
2023-12-16 19:27:46 +01:00
Álvaro Fernández Rojas
3be12c0611 Fix Airzone temperature range on new climate card (#105830)
* airzone: climate: fix double setpoint

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone: fix double setpoint temperature

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* tests: airzone: fix swapped double setpoint

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-16 18:42:58 +01:00
J. Nick Koston
755dcd8bc6 Ensure bluetooth auto recovery does not run in tests (#105841) 2023-12-16 06:09:03 -10:00
Marc Mueller
8549311d1d Update feedparser to 6.0.11 (#105857) 2023-12-16 14:48:51 +01:00
Marc Mueller
e7d7bb4f25 Update coverage to 7.3.3 (#105855) 2023-12-16 14:47:47 +01:00
Marc Mueller
80a164347a Update pre-commit to 3.6.0 (#105856) 2023-12-16 14:47:30 +01:00
Erik Montnemery
104bcc64b7 Allow inheriting base component entity descriptions in frozen dataclasses (#105512)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-15 23:33:50 -10:00
J. Nick Koston
47f8e08261 Reduce overhead to connect dispatcher (#105715)
Reduce overhead connect dispatcher

- We tend to have 1000s (or 10000s) of connected dispatchers which
  makes these prime targets to reduce overhead/memory

- Instead of creating new functions to wrap log exceptions each time
  use partials which reuses the function body and only create new
  arguments

Previous optimizations #103307 #93602
2023-12-16 10:16:58 +01:00
Joseph Block
1271f16385 Add Unifi device state for additional diagnostics (#105138)
* Add device state for additional diagnostics

* Add state test and fix existing tests

* Utilize IntEnum and dict for state lookup

* Update aiounifi to v68
2023-12-16 08:38:21 +01:00
jjlawren
9c134c6b51 Bump soco to 0.30.0 (#105823) 2023-12-16 08:06:04 +01:00
J. Nick Koston
19341863ba Bump pyunifiprotect to 4.22.3 (#105833)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.22.0...v4.22.3
2023-12-16 08:02:00 +01:00
Brett Adams
887f9a21e5 Add Binary Sensor platform to Tessie (#105421) 2023-12-15 18:56:38 -10:00
Brett Adams
59630460c6 Quality fixes for Tessie (#105838) 2023-12-15 16:11:20 -10:00
Álvaro Fernández Rojas
a12c490cff Update aioairzone to v0.7.2 (#105811) 2023-12-15 14:59:43 -10:00
Brett Adams
e02f4c9c60 Fix translation keys in Tessie (#105824) 2023-12-15 11:25:51 -10:00
Maciej Bieniek
67a30d71e6 Fix HVAC mode duplication for Shelly Gen2 climate platform (#105812)
Fix HVAC mode duplication
2023-12-15 18:14:53 +01:00
Jan Bouwhuis
b4741c2069 Add data descriptions to MQTT config flow. (#105301)
* Add data descriptions to MQTT config flow.

* Remove keep allive, correct text CA cert
2023-12-15 16:30:54 +01:00
Álvaro Fernández Rojas
af91a54663 Bump aioairzone to v0.7.0 (#105807) 2023-12-15 16:27:00 +01:00
tronikos
b344ac42a8 Bump opower to 0.0.41 (#105791) 2023-12-15 13:38:38 +01:00
Joost Lekkerkerker
ef5d9d7377 Partly migrate Plex to has entity name (#98841)
* Partly migrate Plex to has entity name

* Use friendly name for device name

* Lowercase
2023-12-15 08:56:26 +01:00
Jan Bouwhuis
3f2fc2fce9 Fix mqtt tests modifying globals (#105774) 2023-12-15 08:15:10 +01:00
Erik Montnemery
a2b31a06e3 Avoid mutating entity descriptions in solaredge tests (#105718) 2023-12-15 08:10:35 +01:00
Erik Montnemery
c10b460c6b Set volume_step in cmus media_player (#105667) 2023-12-15 00:52:52 +01:00
Erik Montnemery
36eeb15fee Set volume_step in clementine media_player (#105666) 2023-12-15 00:49:30 +01:00
Erik Montnemery
bb8dce6187 Set volume_step in aquostv media_player (#105665) 2023-12-15 00:48:02 +01:00
Erik Montnemery
7fa55ffdd2 Set volume_step in bluesound media_player (#105672) 2023-12-15 00:10:31 +01:00
Erik Montnemery
cffb51ebec Set volume_step in monoprice media_player (#105670) 2023-12-15 00:09:05 +01:00
Martin Hjelmare
4da04a358a Refactor cloud assist pipeline (#105723)
* Refactor cloud assist pipeline

* Return None early
2023-12-14 23:56:08 +01:00
G Johansson
f4c8920231 Bump brottsplatskartan 1.0.5 (#105759) 2023-12-14 23:36:12 +01:00
Michael Hansen
6c5ca58405 Set todo item status in intent (#105743) 2023-12-14 22:53:22 +01:00
G Johansson
e055306482 Bump pytrafikverket to 0.3.9.2 (#105752) 2023-12-14 22:05:39 +01:00
Franck Nijhof
d56b79a993 2023.12.3 (#105757) 2023-12-14 21:44:14 +01:00
J. Nick Koston
34c7685927 Bump bleak-esphome to 0.3.0 (#105748) 2023-12-14 10:27:52 -10:00
Franck Nijhof
07667a6aee Bump version to 2023.12.3 2023-12-14 20:37:09 +01:00
Franck Nijhof
dbfc5ea8f9 Disable user profiles on login screen (#105749) 2023-12-14 20:36:59 +01:00
Charles Garwood
4aa03b33f6 Fix Fully Kiosk Browser MQTT event callbacks with non-standard event topics (#105735) 2023-12-14 20:36:56 +01:00
epenet
25bfe7ec82 Fix issue clearing renault schedules (#105719)
* Fix issue clearing renault schedules

* Adjust
2023-12-14 20:36:52 +01:00
Jan-Philipp Benecke
f8e92ddcb3 Add missing rest_command reload service to services.yaml (#105714)
* Add missing rest_command reload service to services.yaml

* Add missing strings.json

* retrigger stale CI
2023-12-14 20:36:48 +01:00
J. Nick Koston
73e234dfa5 Bump zeroconf to 0.128.5 (#105694) 2023-12-14 20:36:16 +01:00
Robert Svensson
3adda6b110 Fix restoring UniFi clients with old unique id (#105691)
Fix restoring UniFi clients with bad unique id
2023-12-14 20:35:07 +01:00
Álvaro Fernández Rojas
d5ecc55f89 Update AEMET-OpenData to v0.4.7 (#105676) 2023-12-14 20:35:03 +01:00
Michael
bfdadd12e9 Ensure platform setup for all AVM FRITZ!SmartHome devices (#105515) 2023-12-14 20:34:59 +01:00
Franck Nijhof
cc75430af3 Disable user profiles on login screen (#105749) 2023-12-14 20:28:08 +01:00
Charles Garwood
032d120a26 Include Envoy firmware version in Enphase diagnostics (#105742)
* Include Envoy firmware version in Enphase diagnostics

* Update tests
2023-12-14 13:59:39 -05:00
Charles Garwood
40f914214b Fix Fully Kiosk Browser MQTT event callbacks with non-standard event topics (#105735) 2023-12-14 18:59:37 +01:00
Álvaro Fernández Rojas
a488d120b7 Update AEMET-OpenData to v0.4.7 (#105676) 2023-12-14 18:59:04 +01:00
J. Nick Koston
8d1a69ae84 Migrate ESPHome bleak implementation to bleak-esphome library (#105611) 2023-12-14 07:21:31 -10:00
J. Nick Koston
0d9a583f4d Small speed up to data entry flow steps (#105713)
Instead of checking if the flow is completed with
a linear tuple search each time, use a constant
set
2023-12-14 17:32:14 +01:00
Sylvain Rivierre
ffb963c4c5 Add France to picnic countries (#105722)
Picnic is also available in France "FR" country
2023-12-14 16:55:17 +01:00
Lucas Mindêllo de Andrade
d4a7361bc6 Bump sunweg to 2.0.1 (#105613)
* chore(sunweg): minor requested changes

* test(sunweg): use of fixtures

* feat(sunweg): provide bad auth result on expired authentication

* chore(sunweg): bump version

* chore(sunweg): removed reauth

* chore(sunweg): removed features out of scope

* chore(sunweg): fixtures moved to conftest.py

* chore(sunweg): devicetype moved to const

* chore(sunweg):  conftest comment

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-14 16:51:57 +01:00
J. Nick Koston
7e1dc2286f Bump bluetooth-data-tools to 1.18.0 (#105685)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.17.0...v1.18.0
2023-12-14 16:12:52 +01:00
Jan-Philipp Benecke
82218928e7 Add missing rest_command reload service to services.yaml (#105714)
* Add missing rest_command reload service to services.yaml

* Add missing strings.json

* retrigger stale CI
2023-12-14 15:20:34 +01:00
Nikolay Vasilchuk
356ad52d10 Replace Starline horn switch with button (#105728) 2023-12-14 15:00:23 +01:00
epenet
351b07b14d Fix issue clearing renault schedules (#105719)
* Fix issue clearing renault schedules

* Adjust
2023-12-14 12:54:03 +01:00
Erik Montnemery
9095027363 Avoid mutating entity descriptions in efergy tests (#105717) 2023-12-14 12:48:15 +01:00
Brig Lamoreaux
7721840298 Allow multiple configs for srp energy (#96573)
* Allow multiple configs.

* Rename test configs.

* Remove unused property

* Merge branch 'dev' into srp_energy_202307.coordinator

* Use title in device name.
2023-12-14 11:07:13 +01:00
Martin Hjelmare
2e448d2d13 Remove cloud details from assist pipeline (#105687)
* Remove cloud details from assist pipeline

* Update assist pipeline tests

* Update cloud tests
2023-12-14 10:15:59 +01:00
yangbo
82f0b28e89 Bump iammeter to 0.2.1 (#95885)
* Bump iammeter to 0.2.1

* Refactor sensor.

* Add const.py to .coveragerc.

* Add id migration.

* Modify translation file.

* Fix ruff test error

* update asyncio.timeout import.

* Delete homeassistant/components/iammeter/translations directory

* Add strings.json
2023-12-14 10:01:29 +01:00
Erik Montnemery
0ec3a222e3 Remove device_state_attributes property from entity base class (#105650) 2023-12-14 08:33:56 +01:00
Erik Montnemery
9020dbb093 Remove context_recent_time property from entity base class (#105652) 2023-12-14 08:33:31 +01:00
J. Nick Koston
aafdca88c9 Bump zeroconf to 0.129.0 (#105701)
* Bump zeroconf to 0.129.0

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.128.5...0.129.0

* cleanup typing

* remove redunant lru

* revert type narrowing
2023-12-14 07:52:37 +01:00
J. Nick Koston
a16ab0d1ac Bump zeroconf to 0.128.5 (#105694) 2023-12-13 12:14:07 -10:00
Robert Svensson
7084889b78 Fix restoring UniFi clients with old unique id (#105691)
Fix restoring UniFi clients with bad unique id
2023-12-13 22:35:41 +01:00
Erik Montnemery
72cb21d875 Set volume_step in enigma2 media_player (#105669) 2023-12-13 19:42:11 +01:00
G Johansson
08b6d2af5e Add error translations to Yale Smart Living (#105678) 2023-12-13 19:41:31 +01:00
G Johansson
65514fbd73 Add error translations for Sensibo (#105600) 2023-12-13 19:40:57 +01:00
Erik Montnemery
6dc8c2c370 Set volume_step in sonos media_player (#105671) 2023-12-13 19:40:51 +01:00
G Johansson
5f69749420 Use Textselector in Trafikverket Camera (#105677)
* Use Textselector in Trafikverket Camera

* Update homeassistant/components/trafikverket_camera/strings.json

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>

---------

Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2023-12-13 19:39:19 +01:00
Jan-Philipp Benecke
d322cb5fdf Migrate homekit_controller tests to use freezegun (#105646) 2023-12-13 19:37:51 +01:00
Franck Nijhof
711d9e21ab 2023.12.2 (#105655) 2023-12-13 18:48:43 +01:00
Michael
08ca3678da Ensure platform setup for all AVM FRITZ!SmartHome devices (#105515) 2023-12-13 18:07:29 +01:00
Erik Montnemery
dd5a48996a Keep capabilities up to date in the entity registry (#101748)
* Keep capabilities up to date in the entity registry

* Warn if entities update their capabilities very often

* Fix updating of device class

* Stop tracking capability updates once flooding is logged

* Only sync registry if state changed

* Improve test

* Revert "Only sync registry if state changed"

This reverts commit 1c52571596c06444df234d4b088242b494b630f2.

* Avoid calculating device class twice

* Address review comments

* Revert using dataclass

* Fix unintended revert

* Add helper method
2023-12-13 17:27:26 +01:00
Erik Montnemery
4f9f548929 Add volume_step property to MediaPlayerEntity (#105574)
* Add volume_step property to MediaPlayerEntity

* Improve tests

* Address review comments
2023-12-13 17:26:34 +01:00
puddly
ebb54d7a6c Bump ZHA dependencies (#105661) 2023-12-13 17:10:56 +01:00
puddly
db52b9b0e1 Reload ZHA integration on any error, not just recoverable ones (#105659) 2023-12-13 17:10:52 +01:00
Marc Mueller
75bdd84c80 Update pylint to 3.0.3 (#105491) 2023-12-13 17:10:48 +01:00
Joost Lekkerkerker
896ca8ce83 Fix timing issue in Withings (#105203) 2023-12-13 17:07:36 +01:00
puddly
4e9b9add29 Bump ZHA dependencies (#105661) 2023-12-13 17:06:46 +01:00
Joost Lekkerkerker
a82410d5e9 Deduplicate constants E-Z (#105657) 2023-12-13 17:05:37 +01:00
Erik Montnemery
bbfffbb47e Avoid mutating entity descriptions in melcloud (#105629) 2023-12-13 16:57:22 +01:00
Joost Lekkerkerker
e4453ace88 Add country code constant (#105640) 2023-12-13 16:50:46 +01:00
Joost Lekkerkerker
816a37f9fc Fix timing issue in Withings (#105203) 2023-12-13 16:48:46 +01:00
puddly
e475829ce6 Reload ZHA integration on any error, not just recoverable ones (#105659) 2023-12-13 16:24:26 +01:00
Erik Montnemery
2d59eba4c7 Avoid mutating entity descriptions in airthings_ble (#105627) 2023-12-13 15:23:38 +01:00
Erik Montnemery
7ab003c746 Avoid mutating entity descriptions in lidarr (#105628) 2023-12-13 15:22:29 +01:00
Erik Montnemery
abac68f158 Avoid mutating entity descriptions in efergy (#105626) 2023-12-13 15:20:29 +01:00
Franck Nijhof
8744b05468 Bump version to 2023.12.2 2023-12-13 14:53:10 +01:00
Erik Montnemery
dff7725c1f Fix goodwe tests (#105653) 2023-12-13 14:52:44 +01:00
Michael Hansen
36c56eb32a Rename "satellite enabled" to "mute" (#105619) 2023-12-13 14:51:25 +01:00
Michael Hansen
797af14012 Skip TTS events entirely with empty text (#105617) 2023-12-13 14:48:51 +01:00
Michael Hansen
8812ca13d9 Add name slot to HassClimateGetTemperature intent (#105585) 2023-12-13 14:48:48 +01:00
G Johansson
8b3ba452bc Fix setup Fast.com (#105580)
* Fix setup fastdotcom

* Add if
2023-12-13 14:48:44 +01:00
Khole
fbb315b0a8 Bump pyhiveapi to v0.5.16 (#105513)
Co-authored-by: Khole Jones <khole.jones@frasers.group>
2023-12-13 14:48:41 +01:00
Julien "_FrnchFrgg_" Rivaud
9d0fed8539 Bump caldav to 1.3.8 (#105508)
* Bump caldav to 1.3.8

1.3.8 fixes a bug where duplicate STATUS properties would be emitted for a single VTODO depending on the case of the arguments used.

That bug meant that even though that is the intended API usage, passing lowercase for the status argument name would be rejected by caldav servers checking conformance with the spec which forbids duplicate STATUS.

This in turn prevented HomeAssistant to add new items to a caldav todo list.

Bump the requirements to 1.3.8 to repair that feature

* Update global requirements
2023-12-13 14:48:38 +01:00
Michael Hansen
4849884467 Disconnect before reconnecting to satellite (#105500)
Disconnect before reconnecting
2023-12-13 14:48:35 +01:00
Joost Lekkerkerker
8a0b1637b1 Remove Aftership import issue when entry already exists (#105476) 2023-12-13 14:48:30 +01:00
J. Nick Koston
ba84af9374 Bump zeroconf to 0.128.4 (#105465)
* Bump zeroconf to 0.128.3

significant bug fixes

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.128.0...0.128.3

* .4
2023-12-13 14:47:27 +01:00
Allen Porter
557ce965cf Bump ical to 6.1.1 (#105462) 2023-12-13 14:42:03 +01:00
Arie Catsman
3b7add533b Write Enphase Envoy data to log when in debug mode (#105456) 2023-12-13 14:42:00 +01:00
Allen Porter
0683b8be21 Fix fitbit oauth reauth debug logging (#105450) 2023-12-13 14:41:56 +01:00
Jan Bouwhuis
399f98a726 Fix alexa calling not featured cover services (#105444)
* Fix alexa calls not supported cover services

* Follow up comment and additional tests
2023-12-13 14:41:53 +01:00
Bouwe Westerdijk
0023d66c80 Bump plugwise to v0.35.3 (#105442) 2023-12-13 14:41:49 +01:00
Erik Montnemery
164d0d2085 Bump hatasmota to 0.8.0 (#105440)
* Bump hatasmota to 0.8.0

* Keep devices with deep sleep support always available

* Add tests
2023-12-13 14:41:46 +01:00
Jan Schneider
a0e9772f52 Check if heat area exists when setting up valve opening and battery sensors in moehlenhoff alpha2 (#105437)
Check whether the referenced heat area exists

when setting up valve opening and battery sensors
2023-12-13 14:41:42 +01:00
Florian B
84c713894b Fix adding/updating todo items with due date in CalDAV integration (#105435)
* refactor: return date/datetime for due date

* fix: explicitly set due date on vTODO component

Using `set_due` automatically handles converting the Python-native
date/datetime values to the correct representation required by RFC5545.

* fix: fix tests with changed due date handling

* fix: item.due may not be a str

* refactor: keep local timezone of due datetime

* refactor: reorder import statement

To make ruff happy.

* fix: fix false-positive mypy error
2023-12-13 14:41:39 +01:00
mkmer
a02faaf489 Fix service missing key in Blink (#105387)
* fix update service
refactor service yaml

* Remove leftover target
2023-12-13 14:41:35 +01:00
G Johansson
15cf732463 Fix preset modes error in Smartthings (#105375) 2023-12-13 14:41:31 +01:00
David Knowles
ef17950d76 Bump pyschlage to 2023.12.0 (#105349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-13 14:41:28 +01:00
mkmer
2d1c716444 Add missing configuration for services.yaml in blink (#105310) 2023-12-13 14:41:24 +01:00
Jan Bouwhuis
c6339cb0c0 Fix CI test_invalid_rrule_fix test by freezing the time (#105294) 2023-12-13 14:41:20 +01:00
J. Nick Koston
7c0a5baf77 Bump zeroconf to 0.128.0 (#104936) 2023-12-13 14:41:16 +01:00
Alex Thompson
0fa3ce763e Fix Lyric LCC thermostats auto mode (#104853) 2023-12-13 14:41:07 +01:00
Jan-Philipp Benecke
61a99c911c Migrate demo test to use freezegun (#105644) 2023-12-13 14:33:59 +01:00
Joost Lekkerkerker
ac53b78a0c Deduplicate constants A-D (#105638) 2023-12-13 14:21:44 +01:00
Martin Hjelmare
02853a62f0 Clean cloud client fixture from cloud http api tests (#105649) 2023-12-13 14:21:33 +01:00
Martin Hjelmare
5bb233998e Improve cloud http api tests (#105610)
* Improve cloud http api tests

* Add comments to the cloud fixture

* Fix docstring
2023-12-13 13:53:22 +01:00
mletenay
0548f9f342 Add diagnostics download to goodwe integration (#102928)
* Add diagnostics download to goodwe integration

* Revert change not related to test

* Use MagicMock for mock inverter

* Use spec with mock
2023-12-13 12:35:53 +01:00
Joost Lekkerkerker
22b2c588eb Use issue registry fixture (#105633) 2023-12-13 11:23:38 +01:00
Joost Lekkerkerker
06f81251fb Reduce code duplication in Suez config flow (#105558) 2023-12-13 10:41:35 +01:00
Erik Montnemery
a91dfc7954 Fix entity descriptions in philips_js (#105625) 2023-12-13 10:24:34 +01:00
Erik Montnemery
22c3847c0e Allow inheriting FrozenOrThawed with custom init (#105624) 2023-12-13 10:13:34 +01:00
Arie Catsman
c318445a76 Write Enphase Envoy data to log when in debug mode (#105456) 2023-12-13 09:22:10 +01:00
J. Nick Koston
5dbd0dede1 Refactor Bluetooth scanners to avoid the need to pass a callback (#105607) 2023-12-13 09:17:48 +01:00
Michael Hansen
aaccf19013 Rename "satellite enabled" to "mute" (#105619) 2023-12-13 09:09:22 +01:00
Maciej Bieniek
66d24b38aa Add diagnostics platform to BraviaTV (#105603)
* Add diagnostics platform

* Add test

* Improve test

* Use consts

* Fix test

* Patch methods

* Patch methods
2023-12-13 08:18:50 +01:00
dependabot[bot]
9e9b518433 Bump github/codeql-action from 2.22.9 to 2.22.10 (#105620) 2023-12-13 07:38:42 +01:00
Michael Hansen
a73e86a741 Skip TTS events entirely with empty text (#105617) 2023-12-13 00:21:16 -05:00
Michael Hansen
431a44ab67 Add name slot to HassClimateGetTemperature intent (#105585) 2023-12-12 22:54:15 -05:00
J. Nick Koston
22f0e09b8c Bump aioesphomeapi to 21.0.0 (#105609) 2023-12-12 15:20:05 -10:00
Brandon Rothweiler
a595cd7141 Add sensor platform to A. O. Smith integration (#105604)
* Add sensor platform to A. O. Smith integration

* Fix typo

* Remove unnecessary mixin

* Simplify async_setup_entry
2023-12-13 00:52:15 +01:00
J. Nick Koston
98b1bc9bed Bump aioesphomeapi to 20.1.0 (#105602) 2023-12-12 12:51:18 -10:00
Maciej Bieniek
77283704a5 Bump brother library, use pysnmp-lextudio with SNMP integration (#105591) 2023-12-12 11:36:11 -10:00
Franck Nijhof
d144d6c9ab Mark more entities secondary on Fully Kiosk Browser (#105595) 2023-12-12 21:40:11 +01:00
Joost Lekkerkerker
283ff4fada Add Adax to strict typing (#105562) 2023-12-12 21:29:18 +01:00
J. Nick Koston
f002a6a732 Refactor all Bluetooth scanners to inherit from BaseHaRemoteScanner (#105523) 2023-12-12 21:28:43 +01:00
Erik Montnemery
5bd0833f49 Improve FrozenOrThawed (#105541) 2023-12-12 21:19:41 +01:00
Erwin Douna
8bd265c3ae Add Fastdotcom service (#105553)
* Add service for manual control

* Proper naming

* Removing old translation

* Reverting back service

* Removig services.yaml

* Putting back in service

* Putting back in service description and yaml

* Proper naming

* Adding create_issue

* Feedback fixes

* Fix deprecation date in strings

* Update homeassistant/components/fastdotcom/__init__.py

* Update homeassistant/components/fastdotcom/strings.json

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-12 21:18:12 +01:00
Joost Lekkerkerker
0e5d72a501 Add Android IP webcam to strict typing (#105570) 2023-12-12 20:54:35 +01:00
Joost Lekkerkerker
84bffcd2e1 Add Aranet to strict typing (#105577) 2023-12-12 20:54:00 +01:00
Joost Lekkerkerker
09b07c071b Add Apprise to strict typing (#105575) 2023-12-12 20:53:36 +01:00
Erwin Douna
32147dbdd9 Bump PyTado to 0.17.0 (#105573) 2023-12-12 20:52:59 +01:00
Jan-Philipp Benecke
d33aa6b8e7 Migrate homematicip_cloud tests to use freezegun (#105592) 2023-12-12 20:51:32 +01:00
G Johansson
4ad16b56f2 Fix setup Fast.com (#105580)
* Fix setup fastdotcom

* Add if
2023-12-12 20:43:09 +01:00
J. Nick Koston
54d314d1d0 Bump aioesphomeapi to 20.0.0 (#105586)
changelog: https://github.com/esphome/aioesphomeapi/compare/v19.3.1...v20.0.0

- Add happy eyeballs support (RFC 8305) (#789)

Note that nothing much happens yet on the HA side since
we only pass one IP in so its always going to fallback
at this point
2023-12-12 08:41:50 -10:00
J. Nick Koston
f58af0d717 Bump aiohomekit to 3.1.0 (#105584) 2023-12-12 19:07:20 +01:00
J. Nick Koston
c7a95d5654 Bump dbus-fast to 2.21.0 (#105536) 2023-12-12 07:55:12 -10:00
J. Nick Koston
ec1cde77f6 Add support for Happy Eyeballs to homekit_controller (#105454) 2023-12-12 07:54:33 -10:00
Joost Lekkerkerker
64c3cfca17 Add Airvisual pro to strict typing (#105568) 2023-12-12 17:27:41 +01:00
Jan Bouwhuis
280637822b Use mocked entity platform for lock service tests (#105020)
* Use mocked entity platform for lock service tests

* Cleanup old mock class

* Follow up on code review

* Improve mock entity platform

* Use entity_id of passed entity instead of constant
2023-12-12 15:49:01 +01:00
Joost Lekkerkerker
5c514b6b19 Add Suez Water to strict typing (#105559) 2023-12-12 14:44:17 +01:00
Martin Hjelmare
2631fde0f7 Patch aiohttp server app router freeze in tests (#105555)
* Add test for registering a http view late

* Patch aiohttp server app router freeze

* Correct language
2023-12-12 14:40:38 +01:00
Erwin Douna
fb615817b4 Add Tado error handling to fetching devices (#105546) 2023-12-12 10:55:22 +01:00
Erwin Douna
9d44dc4437 Add Fast.com Device Info (#105528)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-12 10:41:00 +01:00
Erik Montnemery
6908497c3d Add minor version to config entries (#105479) 2023-12-12 08:44:35 +01:00
Khole
ac656847cb Bump pyhiveapi to v0.5.16 (#105513)
Co-authored-by: Khole Jones <khole.jones@frasers.group>
2023-12-12 08:38:12 +01:00
J. Nick Koston
e2abd3b8d0 Bump bluetooth libraries (#105522) 2023-12-12 08:31:23 +01:00
Jan-Philipp Benecke
4859226496 Migrate geonetnz_* tests to use freezegun (#105521) 2023-12-12 08:30:08 +01:00
Jan-Philipp Benecke
319d6db55b Migrate device_sun_light_trigger tests to use freezegun (#105520) 2023-12-12 08:29:10 +01:00
Jan Bouwhuis
a66c9bb7b6 Update stale doc strings in entity platform tests (#105526) 2023-12-12 08:28:08 +01:00
J. Nick Koston
f4ee2a1ab4 Bump anyio to 4.1.0 (#105529) 2023-12-12 08:24:24 +01:00
dependabot[bot]
324aa171c6 Bump sigstore/cosign-installer from 3.2.0 to 3.3.0 (#105537)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 08:20:26 +01:00
Diogo Gomes
54c218c139 Updates V2C sensor icons (#105534)
update icons
2023-12-12 08:17:09 +01:00
Brett Adams
8922c93259 Improve tests in Tessie (#105430) 2023-12-11 20:30:54 -10:00
Julien "_FrnchFrgg_" Rivaud
bf9c2a08b7 Bump caldav to 1.3.8 (#105508)
* Bump caldav to 1.3.8

1.3.8 fixes a bug where duplicate STATUS properties would be emitted for a single VTODO depending on the case of the arguments used.

That bug meant that even though that is the intended API usage, passing lowercase for the status argument name would be rejected by caldav servers checking conformance with the spec which forbids duplicate STATUS.

This in turn prevented HomeAssistant to add new items to a caldav todo list.

Bump the requirements to 1.3.8 to repair that feature

* Update global requirements
2023-12-11 19:42:52 -08:00
Erik Montnemery
d4cf049016 Remove unneeded class _EntityDescriptionBase (#105518) 2023-12-11 23:10:11 +01:00
Maciej Bieniek
bf93929826 Add support for Shelly Gen3 devices (#104874)
* Add support for Gen3 devices

* Add RPC_GENERATIONS const

* Add gen3 to tests

* More tests

* Add BLOCK_GENERATIONS const

* Use *_GENERATIONS constants from aioshelly
2023-12-11 22:58:56 +01:00
Erwin Douna
662e19999d Add Fastdotcom DataUpdateCoordinator (#104839)
* Adding DataUpdateCoordinator

* Updating and adding test cases

* Optimizing test

* Fix typing

* Prevent speedtest at startup

* Removing typing on Coordinator

* Update homeassistant/components/fastdotcom/coordinator.py

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

* Putting back typing

* Update homeassistant/components/fastdotcom/__init__.py

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

* Adding proper StateType typing

* Fix linting

* Stricter typing

* Creating proper test case for coordinator

* Fixing typo

* Patching librbary

* Adding unavailable state test

* Putting back in asserts

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Coordinator workable proposal

* Update tests/components/fastdotcom/test_coordinator.py

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

* Working test cases

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Update tests/components/fastdotcom/test_coordinator.py

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

* Fixing tests and context

* Fix the freezer interval to 59 minutes

* Fix test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-11 22:28:04 +01:00
Joost Lekkerkerker
a187a39f0b Add config flow to Suez water (#104730)
* Add config flow to Suez water

* fix tests

* Complete coverage

* Change version to 2024.7

* Fix final test

* Add issue when import is successful

* Move hassdata

* Do unique_id

* Remove import issue when entry already exists

* Remove import issue when entry already exists
2023-12-11 22:06:16 +01:00
J. Nick Koston
e890671192 Relocate Bluetooth manager to habluetooth library (#105110)
* Relocate Bluetooth manager to habluetooth library

* Relocate Bluetooth manager to habluetooth library

* Relocate Bluetooth manager to habluetooth library

* fixes

* fix patching time

* fix more tests

* fix more tests

* split

* Bump habluetooth to 0.7.0

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v0.6.1...v0.7.0

This is the big change that will move the manager so the HA
PR that will follow this will be a bit larger than the rest of them
since the manager is connected to everything

* fix types

* fix types

* fix types

* fix patch targets

* fix flakey logbook tests (will need another PR)

* mock shutdown

* bump again

* value can be a float now

* Revert "value can be a float now"

This reverts commit b7e7127143.

* float
2023-12-11 15:42:00 -05:00
Erwin Douna
0dc61b3493 Add typing in Melcloud config flow (#105510)
* Add typing in config flow

* Patching functions with typing
2023-12-11 20:30:19 +01:00
Erik Montnemery
dd338799d4 Make it possible to inherit EntityDescription in frozen and mutable dataclasses (#105211) 2023-12-11 20:00:55 +01:00
Joakim Plate
bb0d082b25 Correctly report unavailable battery for value 255 of percentage (#104566)
* Ignore unavailable battery level for zha

* Adjust unavailable test
2023-12-11 19:17:06 +01:00
Stefan Agner
837ce99e30 Add Raspberry Pi 5 specific container image (#105488) 2023-12-11 17:39:48 +01:00
starkillerOG
d1ea04152a Bump reolink_aio to 0.8.3 (#105489) 2023-12-11 17:37:15 +01:00
Marc Mueller
6c2b3ef950 Update typing-extensions to 4.9.0 (#105490) 2023-12-11 17:30:24 +01:00
Michael Hansen
80607f7750 Disconnect before reconnecting to satellite (#105500)
Disconnect before reconnecting
2023-12-11 11:18:46 -05:00
Marc Mueller
b71f488d3e Update pylint to 3.0.3 (#105491) 2023-12-11 17:04:07 +01:00
Erik Montnemery
94fd7d0353 Improve test of config entry store (#105487)
* Improve test of config entry store

* Tweak test
2023-12-11 10:48:12 -05:00
Alex Thompson
4c0fda9ca0 Fix Lyric LCC thermostats auto mode (#104853) 2023-12-11 16:27:02 +01:00
jan iversen
3963f59121 Reduce modbus validator for "swap" (remove special handling) (#105021) 2023-12-11 16:12:32 +01:00
Stefan Agner
44e54e11d8 Follow Alpine 3.18 raspberrypi package updates (#105486)
Alpine 3.18 renamed the packages raspberrypi and raspberrypi-libs to
raspberrypi-userland and raspberrypi-userland-libs respectively. Follow
that rename. With this moderniziation raspistill and friends now gets
deployed to /usr/bin, which makes any symlinks obsolete.

Note that there is and was never a 64-bit variant of raspistill. So
these symlinks were essentially useless all along.

This effectively doesn't change anything for users: Alpine automatically
installed the renamed package already and Home Assistant Core picked
up the raspistill binary from /usr/bin already.
2023-12-11 15:58:51 +01:00
Denis Shulyaka
1242456ff1 Bump openai end switch from dall-e-2 to dall-e-3 (#104998)
* Bump openai

* Fix tests

* Apply suggestions from code review

* Undo conftest changes

* Raise repasir issue

* Explicitly use async mock for chat.completions.create

It is not always detected correctly as async because it uses a decorator

* removed duplicated message

* ruff

* Compatibility with old pydantic versions

* Compatibility with old pydantic versions

* More tests

* Apply suggestions from code review

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

* Apply suggestions from code review

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-12-11 09:47:26 -05:00
G Johansson
c0314cd05c Make Workday UI setup nicer (#105407) 2023-12-11 14:06:29 +01:00
Jan Rieger
cedac41407 Bump python-holidays to 0.38 (#105482) 2023-12-11 13:18:23 +01:00
Joost Lekkerkerker
32681acc79 Remove Aftership import issue when entry already exists (#105476) 2023-12-11 12:09:43 +01:00
Jan-Philipp Benecke
47819bde4f Migrate sonarr tests to use freezegun (#105410) 2023-12-11 10:47:51 +01:00
Jan-Philipp Benecke
b4731674f8 Migrate octoprint tests to use freezegun (#105408) 2023-12-11 10:42:16 +01:00
Bouwe Westerdijk
3e3f9cf092 Bump plugwise to v0.35.3 (#105442) 2023-12-11 10:29:50 +01:00
Jan-Philipp Benecke
fbfe434e8b Migrate tag & tts tests to use freezegun (#105411) 2023-12-11 09:09:23 +01:00
Jon Caruana
c89c2f9392 Bump pylitejet to v0.6.0 (#105472) 2023-12-11 08:40:13 +01:00
J. Nick Koston
c634e3f0ca Bump zeroconf to 0.128.4 (#105465)
* Bump zeroconf to 0.128.3

significant bug fixes

changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.128.0...0.128.3

* .4
2023-12-11 07:47:53 +01:00
Allen Porter
72c6eb8885 Bump ical to 6.1.1 (#105462) 2023-12-10 15:46:27 -08:00
Jan Schneider
77c722630e Check if heat area exists when setting up valve opening and battery sensors in moehlenhoff alpha2 (#105437)
Check whether the referenced heat area exists

when setting up valve opening and battery sensors
2023-12-10 23:59:54 +01:00
Brandon Rothweiler
58d9d0daa5 Add reauth to A. O. Smith integration (#105320)
* Add reauth to A. O. Smith integration

* Validate reauth uses the same email address

* Only show password field during reauth
2023-12-10 14:30:24 -08:00
Erik Montnemery
b5af987a18 Bump hatasmota to 0.8.0 (#105440)
* Bump hatasmota to 0.8.0

* Keep devices with deep sleep support always available

* Add tests
2023-12-10 23:16:06 +01:00
Allen Porter
4752d37df7 Fix fitbit oauth reauth debug logging (#105450) 2023-12-10 23:09:58 +01:00
Jan Bouwhuis
a7155b154e Fix alexa calling not featured cover services (#105444)
* Fix alexa calls not supported cover services

* Follow up comment and additional tests
2023-12-10 17:27:01 +01:00
Florian B
063ac53f01 Fix adding/updating todo items with due date in CalDAV integration (#105435)
* refactor: return date/datetime for due date

* fix: explicitly set due date on vTODO component

Using `set_due` automatically handles converting the Python-native
date/datetime values to the correct representation required by RFC5545.

* fix: fix tests with changed due date handling

* fix: item.due may not be a str

* refactor: keep local timezone of due datetime

* refactor: reorder import statement

To make ruff happy.

* fix: fix false-positive mypy error
2023-12-10 08:23:05 -08:00
Franck Nijhof
6a3c422d2f Improve Amazon Alexa endpoint validation (#105287)
* Improve Amazon Alexa endpoint validation

* Add source comment

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-10 13:38:10 +01:00
Jan-Philipp Benecke
ff85d0c290 Migrate mqtt tests to use freezegun (#105414) 2023-12-10 09:25:16 +01:00
Brett Adams
1cc47c0553 Add reauth to Tessie (#105419)
* First pass at Tessie

* Working POC

* async_step_reauth

* Config Flow tests

* WIP

* Add test requirement

* correctly gen test requirements

* 100% coverage

* Remove remnants of copy paste

* Add TPMS

* Fix docstring

* Remove redundant line

* Fix some more copied docstrings

* Grammar

* Create reusable StrEnum

* Streamline get

* Add a couple more sensors

* Removed need for a model

* Move MODELS

* Remove DOMAIN from config flow

* Add translation strings

* Remove unused parameter

* Simplify error handling

* Refactor coordinator to class

* Add missing types

* Add icon to shift state

* Simplify setdefault

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

* Use walrus for async_unload_platforms

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

* Reformat entity init

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

* Remove Unique ID

* Better Config Flow Tests

* Fix all remaining tests

* Standardise docstring

* Remove redudnant test

* Set TessieDataUpdateCoordinator on entity

* Correct some sensors

* add error types

* Make shift state a ENUM sensor

* Add more sensors

* Fix translation string

* Add precision suggestions

* Move session from init to coordinator

* Add api_key type

* Remove api_key parameter

* Meta changes

* Update TessieEntity and TessieSensor translations

* Goodbye translation keys

* bump tessie-api to 0.0.9

* Fix only_active to be True

* Per vehicle coordinator

* Rework coordinator

* Fix coverage

* WIP

* The grand rework

* Add comments

* Use ENUM more

* Add ENUM translations

* Update homeassistant/components/tessie/sensor.py

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

* Add entity_category

* Remove reauth

* Remove session

* Update homeassistant/components/tessie/__init__.py

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

* Add property tag

* Add error text

* Complete config flow tests

* Fix property and rename

* Fix init test

* Reworked coordinator tests

* Add extra checks

* Update homeassistant/components/tessie/__init__.py

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

* Update homeassistant/components/tessie/coordinator.py

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

* Apply suggestions from code review

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

* Ruff fix

* Update homeassistant/components/tessie/config_flow.py

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

* Remove future ENUMs

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

* Ruff fix

* Update homeassistant/components/tessie/config_flow.py

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

* Remove reauth and already configured strings

* Lowercase sensor values for translation

* Update homeassistant/components/tessie/__init__.py

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

* Fixed, before using lambda

* Add value lambda

* fix lambda

* Fix config flow test

* @bdraco fix for 500 errors

* format

* Add reauth

* Reuse string in reauth

* Ruff

* remove redundant check

* Improve error tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 23:37:57 -08:00
elmurato
7b32e4142e Make API init async in Minecraft Server (#105403)
* Make api init async

* Remove duplicate assignment of address and set server to None in constructor
2023-12-09 21:15:48 -08:00
Jan-Philipp Benecke
a8148cea65 Migrate roku tests to use freezegun (#105418) 2023-12-09 12:47:19 -10:00
Brett Adams
64a5271a51 Add Tessie Integration (#104684)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 12:46:32 -10:00
vexofp
327016eaeb Accept HTTP 200 through 206 as success for RESTful Switch (#105358) 2023-12-09 12:45:33 -10:00
Raman Gupta
4e1677e3f0 Remove zwave_js device on device reset (#104291)
* Reload zwave_js config entry on device reset

* remove device

* Just remove the device and don't reload

* revert change to notification message

* Assert device is no longer there
2023-12-09 23:33:31 +01:00
vexofp
885410bcfc Prevent duplicate default SSLContext instances (#105348)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-09 11:30:12 -10:00
Jan-Philipp Benecke
a090bcb8a5 Migrate time_date tests to use freezegun (#105409) 2023-12-09 21:35:52 +01:00
J. Nick Koston
a0bf170fb4 Avoid ffmpeg subprocess for many component tests (#105354) 2023-12-09 19:41:37 +01:00
mkmer
c96a588934 Fix service missing key in Blink (#105387)
* fix update service
refactor service yaml

* Remove leftover target
2023-12-09 19:18:59 +01:00
Maciej Bieniek
35b733fa2c Bump aioshelly to version 7.0.0 (#105384)
* Remove get_rpc_device_sleep_period() function

* Bump aioshelly version to 7.0.0

* Remove firmware compatibility check from BLE scanner

* Remove firmware compatibility check from light transition

* Update default fw ver

* Use LightEntityFeature in tests
2023-12-09 17:12:05 +02:00
G Johansson
f37f40c338 Fix preset modes error in Smartthings (#105375) 2023-12-09 13:49:32 +01:00
starkillerOG
25586f9efd Add data descriptions to Reolink (#105298) 2023-12-09 13:06:18 +01:00
Jan-Philipp Benecke
b5785003a3 Migrate unifi tests to use freezegun (#105343) 2023-12-09 12:55:40 +01:00
Marc Mueller
1eaf208450 Update freezegun to 1.3.1 (#105377) 2023-12-09 12:29:23 +01:00
Brett Adams
d54c36307a Fix the ruff-format error (#105376) 2023-12-09 11:53:47 +01:00
Jan-Philipp Benecke
2d02cdcd0d Migrate gree tests to use freezegun (#105340) 2023-12-09 10:19:42 +01:00
J. Nick Koston
cc85e89cf2 Make network fixture scoped to session to speed up tests (#105353) 2023-12-09 10:19:08 +01:00
Jan-Philipp Benecke
4d708f1931 Migrate template tests to use freezegun (#105341) 2023-12-09 09:47:28 +01:00
Lucas Mindêllo de Andrade
f567bf6dfe Sun WEG integration (#88272)
* feat(sunweg): initial support

* chore: removed commented out code

* chore: removed warning

* fix: set never_resets for total sensors

* test: some tests

* fix(sunweg): default plantid type

* fix(sunweg): return first plant id

* test(sunweg): improved code coverage

* chore(sunweg): missing FlowResult return type

* chore(sunweg): removed unused strings

* perf(sunweg): using only one api instance

* chore(sunweg): removed uneeded atribute

* refact(sunweg): small refactoring

* refact(sunweg): typing

* chore(sunweg): comments

* chore(sunweg): bump version

* chore(sunweg): bump lib version

* test(sunweg): different mocking and coverage

* test: fixed setup component parameter

* feat: dynamic metrics

* fix(sunweg): ruff

* fix(sunweg): mypy

* refact(sunweg): codereview suggestions

* chore(sunweg): removed unused string

* chore(sunweg): typehint and code formatting
2023-12-09 09:45:40 +01:00
David Knowles
906aa14b43 Bump pyschlage to 2023.12.0 (#105349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-08 22:01:40 -10:00
vexofp
617b045727 Fix SSLCipherList typing error in IMAP coordinator (#105362) 2023-12-08 21:34:01 -10:00
Brett Adams
e1df1f9ffe Replace aiohttp mock with patch in Advantage Air (#104932)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-08 15:15:57 -10:00
Franck Nijhof
9b10af612a 2023.12.1 (#105324) 2023-12-08 22:13:24 +01:00
mkmer
6a6956573f Add missing configuration for services.yaml in blink (#105310) 2023-12-08 21:30:41 +01:00
Viktor Andersson
12019ec77c Add myself as code owner for co2signal (#105302) 2023-12-08 21:22:34 +01:00
Bouwe Westerdijk
47dc48ca66 Bump plugwise to v0.34.5 (#105330) 2023-12-08 21:20:02 +01:00
Jan Bouwhuis
5220afa856 Workaround to_json template filter in parsing dict key (#105327)
* Work-a-round orjson for `to_json` fiter in case dict key is str subclass

* Add option instead

* Remove json.dumps work-a-round

* Update homeassistant/helpers/template.py

* Fix test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-08 21:19:59 +01:00
G Johansson
629731e2dd Add rollback on exception that needs rollback in SQL (#104948) 2023-12-08 21:19:56 +01:00
Jan-Philipp Benecke
a7845406a5 Migrate homeassistant component tests to use freezegun (#105333) 2023-12-08 21:18:09 +01:00
Bouwe Westerdijk
46e75ed94b Bump plugwise to v0.34.5 (#105330) 2023-12-08 21:15:33 +01:00
G Johansson
99cf4a6b2d Add rollback on exception that needs rollback in SQL (#104948) 2023-12-08 21:13:37 +01:00
Jan Bouwhuis
4bb0e13cda Workaround to_json template filter in parsing dict key (#105327)
* Work-a-round orjson for `to_json` fiter in case dict key is str subclass

* Add option instead

* Remove json.dumps work-a-round

* Update homeassistant/helpers/template.py

* Fix test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-08 20:57:53 +01:00
Franck Nijhof
9aaff618e2 Bump version to 2023.12.1 2023-12-08 19:08:47 +01:00
Erik Montnemery
35954128ad Add workaround for orjson not handling subclasses of str (#105314)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 19:08:02 +01:00
Michael Hansen
d9b31e9841 Use area id for context instead of name (#105313) 2023-12-08 19:07:58 +01:00
Erik Montnemery
1e3c154fdf Add test for energy cost sensor for late price sensor (#105312) 2023-12-08 19:07:24 +01:00
Paul Bottein
1777f6b935 Update frontend to 20231208.2 (#105299) 2023-12-08 19:06:25 +01:00
Øyvind Matheson Wergeland
c24af97514 Always set _attr_current_option in Nobø Hub select entities (#105289)
Always set _attr_current_option in select entities.
2023-12-08 19:06:08 +01:00
Jan Bouwhuis
892a7c36ca Fix mqtt json light state updates using deprecated color handling (#105283) 2023-12-08 19:06:03 +01:00
Michael Hansen
53cbde8dca Set device id and forward errors to Wyoming satellites (#105266)
* Set device id and forward errors

* Fix tests
2023-12-08 19:05:23 +01:00
J. Nick Koston
f3bb832b19 Bump pyunifiprotect to 4.22.0 (#105265) 2023-12-08 19:02:43 +01:00
On Freund
d89f6b5eb0 Fix update of uncategorized OurGroceries items (#105255)
* Fix update of uncategorized OurGroceries items

* Address code review comments
2023-12-08 19:02:40 +01:00
Duco Sebel
4953a36da8 Add migration for old HomeWizard sensors (#105251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 19:02:37 +01:00
Jan-Philipp Benecke
38e01b248f Explicit check for None in Discovergy entity if condition (#105248)
Fix checking for None in Discovergy
2023-12-08 19:02:34 +01:00
ollo69
f8d9c4c3ad Fix AsusWrt invalid data type with tuple type (#105247) 2023-12-08 19:02:31 +01:00
G Johansson
3a10ea1892 Fix check_date service in workday (#105241)
* Fix check_date service in workday

* Add test
2023-12-08 19:02:28 +01:00
Lars
c6187ed914 Fix Fritzbox light setup (#105232) 2023-12-08 19:02:24 +01:00
Erik Montnemery
d679764d3b Disable config flow progress in peco config flow (#105222) 2023-12-08 19:02:21 +01:00
haimn
f1169e0a0d fix supportedFanOscillationModes is null (#105205)
* fix supportedFanOscillationModes is null

* set default supported_swings to None

* return None if no fan oscillation modes listed
2023-12-08 19:02:18 +01:00
Greg Dowling
119c9c3a6b Fix bug in roon incremental volume control. (#105201) 2023-12-08 19:02:15 +01:00
Jan-Philipp Benecke
c5d1a0fbe1 Increase ping update interval to 30 seconds (#105199) 2023-12-08 19:02:12 +01:00
Sebastian Nohn
8ffb147926 Set ping interval to 15 seconds instead of 5 minutes (#105191)
set ping interval to a more sane value of 15 seconds instead of 5 minutes. fixes home-assistant/core#105163
2023-12-08 19:02:04 +01:00
lunmay
688fab49c3 Fix missing apostrophe in smtp (#105189)
Fix missing apostrophe
2023-12-08 19:01:20 +01:00
TheJulianJES
c035ffb06e Fix ZHA quirk ID custom entities matching all devices (#105184) 2023-12-08 19:00:39 +01:00
Quentame
054ede9663 Bump Météo-France to 1.3.0 (#105170) 2023-12-08 19:00:36 +01:00
Michael Hansen
614e9069c2 Don't return TTS URL in Assist pipeline (#105164)
* Don't return TTS URL

* Add test for empty queue
2023-12-08 19:00:33 +01:00
starkillerOG
b832a692d9 Bump reolink_aio to 0.8.2 (#105157) 2023-12-08 19:00:30 +01:00
Robert Svensson
cfa85956e1 Improve LIDL christmas light detection in deCONZ (#105155) 2023-12-08 19:00:25 +01:00
Mick Vleeshouwer
a2f9ffe50f Disable scenarios (scenes) for local API in Overkiz (#105153) 2023-12-08 19:00:22 +01:00
Michael Hansen
47032d055c Expose todo entities to Assist by default (#105150) 2023-12-08 19:00:14 +01:00
Jan Bouwhuis
b977fd6ab2 Correct smtp error message string (#105148) 2023-12-08 18:59:36 +01:00
Jan Bouwhuis
3972d8fc00 Correct smtp error message string (#105148) 2023-12-08 18:58:00 +01:00
TJ Horner
53497e3fad Bump apple_weatherkit to 1.1.2 (#105140) 2023-12-08 18:57:16 +01:00
Matrix
24f0e927f3 Bump yolink-api to 0.3.4 (#105124)
* Bump yolink-api to 0.3.3

* bump yolink api to 0.3.4
2023-12-08 18:57:10 +01:00
Excentyl
9527548207 Initialize energy_state without price (#97031)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-08 18:56:05 +01:00
Erik Montnemery
af715a4b9a Add workaround for orjson not handling subclasses of str (#105314)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 18:13:34 +01:00
Excentyl
46d626280e Initialize energy_state without price (#97031)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-08 17:46:08 +01:00
Brandon Rothweiler
1c7bd3f729 Add A. O. Smith integration (#104976) 2023-12-08 17:17:42 +01:00
Michael Hansen
fdeb9e36c3 Use area id for context instead of name (#105313) 2023-12-08 10:05:21 -06:00
Jan Bouwhuis
e5a115ce1f Fix mqtt json light state updates using deprecated color handling (#105283) 2023-12-08 16:54:02 +01:00
Erik Montnemery
b0ef9623f9 Add test for energy cost sensor for late price sensor (#105312) 2023-12-08 16:51:07 +01:00
Paul Bottein
05f67f745b Update frontend to 20231208.2 (#105299) 2023-12-08 16:45:34 +01:00
Raj Laud
45f7ffb34c Add support for accessing Squeezebox over over https (#95088)
* Supports access to squeezebox server behind https reverse proxy

* Update squeezebox test

* Update homeassistant/components/squeezebox/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update homeassistant/components/squeezebox/config_flow.py

Co-authored-by: Robert Resch <robert@resch.dev>

* Update squeezebox unit tests based on code review

* Migration unit test

* Run black on suggestions accepted in code review

* Apply suggestions from code review

Instead of upgrading squeezebox config, just assume a default of https=False.

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

* Update test_init.py

Remove migrate entry test since we are no longer migrating

* Delete tests/components/squeezebox/test_init.py

Remove unused test

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-08 15:51:19 +01:00
Øyvind Matheson Wergeland
a10f580815 Always set _attr_current_option in Nobø Hub select entities (#105289)
Always set _attr_current_option in select entities.
2023-12-08 14:42:42 +01:00
Jan-Philipp Benecke
6b7dace8d4 Migrate samsungtv tests to use freezegun (#105286) 2023-12-08 14:37:02 +01:00
Jan Bouwhuis
8721327176 Fix CI test_invalid_rrule_fix test by freezing the time (#105294) 2023-12-08 14:35:01 +01:00
Yuxin Wang
88ddc25129 Replace apcaccess dependency with aioapcaccess in apcupsd (#104571)
* Replace apcaccess dependency with async version aioapcaccess

* Upgrade the dependency to the latest version (v0.4.2)

* Handle asyncio.IncompleteReadError
2023-12-08 12:40:09 +01:00
Franck Nijhof
949ca6bafc Update yarl to 1.9.4 (#105282) 2023-12-08 12:11:59 +01:00
Øyvind Matheson Wergeland
9fb9ff4f90 Remove workaround for default lock code in Matter (#105173)
* Matter: Remove workaround for default lock code

* Review

* Review 2
2023-12-08 11:46:27 +01:00
Franck Nijhof
0eb7034f89 Adjust stale bot policy for PRs (#105280) 2023-12-08 10:59:38 +01:00
Duco Sebel
156dac394a Add migration for old HomeWizard sensors (#105251)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-12-08 09:39:39 +01:00
Lars
a09ccddaa3 Fix Fritzbox light setup (#105232) 2023-12-08 09:33:24 +01:00
ollo69
b29e9e2df0 Fix AsusWrt invalid data type with tuple type (#105247) 2023-12-08 09:01:22 +01:00
J. Nick Koston
97991cfa46 Bump pyunifiprotect to 4.22.0 (#105265) 2023-12-08 09:00:23 +01:00
J. Nick Koston
8aacd3ea1b Bump habluetooth to 0.10.0 (#105118) 2023-12-08 08:56:32 +01:00
dependabot[bot]
8879f7350a Bump github/codeql-action from 2.22.8 to 2.22.9 (#105274)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 08:55:25 +01:00
dependabot[bot]
a710491990 Bump actions/stale from 8.0.0 to 9.0.0 (#105275)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-08 08:54:27 +01:00
osohotwateriot
664d2410d5 Add OSO Energy integration (#70365)
* Add OSO Energy integration

* Add min/max for v40 level and bump pyosoenergyapi to 1.0.2

* OSO Energy address review comments

* Bump pyosoenergyapi to 1.0.3 and remove scan interval

* Remove unnecessary code

* Update homeassistant/components/osoenergy/__init__.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* Fixes to latest version

* Add support to set temperature

* Update homeassistant/components/osoenergy/config_flow.py

Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>

* Fixes after review

* Remove unused code

* Add support for translations and modify services

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Refactor services and constants according to the PR suggestions

* Remove unnecessary code

* Remove unused import in constants

* Refactoring and support for multiple instances

* Apply suggestions from code review

Co-authored-by: Robert Resch <robert@resch.dev>

* Refactor code and apply review suggestions

* Bump pyosoenergyapi to 1.0.5

* Remove services to reduce initial PR

* Remove extra state attributes and make OSO Entity generic

---------

Co-authored-by: Daniel Hjelseth Høyer <github@dahoiv.net>
Co-authored-by: Daniel Hjelseth Høyer <mail@dahoiv.net>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-08 08:51:59 +01:00
Michael Hansen
43daeb2630 Set device id and forward errors to Wyoming satellites (#105266)
* Set device id and forward errors

* Fix tests
2023-12-07 19:44:43 -06:00
Michael Hansen
e9f8e7ab50 Add Wyoming satellite audio settings (#105261)
* Add noise suppression level

* Add auto gain and volume multiplier

* Always use mock TTS dir in Wyoming tests

* More tests
2023-12-07 17:02:55 -05:00
Jan-Philipp Benecke
d1aa690c24 Migrate non-component tests to use freezegun/freezer (#105142) 2023-12-07 22:58:09 +01:00
Joost Lekkerkerker
00e87b9dff Migrate Gree to has entity name (#104739)
* Migrate Gree to has entity name

* Migrate Gree to has entity name
2023-12-07 22:47:52 +01:00
On Freund
c4d77877d2 Fix update of uncategorized OurGroceries items (#105255)
* Fix update of uncategorized OurGroceries items

* Address code review comments
2023-12-07 22:11:08 +01:00
Jan-Philipp Benecke
8a4b761c78 Use freezegun in cert_expiry tests (#105125) 2023-12-07 21:55:37 +01:00
Michael Hansen
4c4ad9404f Don't return TTS URL in Assist pipeline (#105164)
* Don't return TTS URL

* Add test for empty queue
2023-12-07 15:28:04 -05:00
Jan-Philipp Benecke
6666b796f2 Migrate auth tests to use freezegun (#105243) 2023-12-07 21:18:10 +01:00
G Johansson
2daa94b600 Fix check_date service in workday (#105241)
* Fix check_date service in workday

* Add test
2023-12-07 20:04:39 +01:00
Jan-Philipp Benecke
dd902bc956 Explicit check for None in Discovergy entity if condition (#105248)
Fix checking for None in Discovergy
2023-12-07 19:47:14 +01:00
haimn
83a1ca5e83 fix supportedFanOscillationModes is null (#105205)
* fix supportedFanOscillationModes is null

* set default supported_swings to None

* return None if no fan oscillation modes listed
2023-12-07 18:03:07 +01:00
Klaas Schoute
d86abf214b Bump energyzero lib to v2.1.0 (#105228) 2023-12-07 15:22:30 +01:00
Klaas Schoute
d80547519a Bump easyenergy lib to v2.1.0 (#105224) 2023-12-07 14:57:08 +01:00
Erik Montnemery
84329844fd Disable config flow progress in peco config flow (#105222) 2023-12-07 13:25:23 +01:00
Franck Nijhof
72b0904b41 Merge branch 'master' into dev 2023-12-07 11:15:00 +01:00
Greg Dowling
334673154c Fix bug in roon incremental volume control. (#105201) 2023-12-07 11:00:26 +01:00
dewdrop
de758fd7b3 Add Seattle City Light virtual integration via Opower (#104997) 2023-12-07 10:39:54 +01:00
jimmyd-be
d61814a1ed Add custom services for renson fans (#94497)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-07 09:57:01 +01:00
Jan-Philipp Benecke
0728106c98 Increase ping update interval to 30 seconds (#105199) 2023-12-07 09:50:21 +01:00
Duco Sebel
f8c216a5ea Use brightness scaling util in HomeWizard Number entity (#105147) 2023-12-07 09:37:20 +01:00
Jan Bouwhuis
f48e948871 Correct smtp error message string (#105148) 2023-12-07 09:35:22 +01:00
Mick Vleeshouwer
e40f486968 Disable scenarios (scenes) for local API in Overkiz (#105153) 2023-12-07 09:33:33 +01:00
dependabot[bot]
316776742f Bump actions/setup-python from 4.8.0 to 5.0.0 (#105193)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-07 09:27:48 +01:00
Duco Sebel
3d5329755f Add extra tests for HomeWizard for unsupported entity creation (#105149) 2023-12-07 09:24:27 +01:00
Michael Hansen
ebde8ccfe4 Expose todo entities to Assist by default (#105150) 2023-12-07 09:22:03 +01:00
Robert Svensson
2a8a60b381 Improve LIDL christmas light detection in deCONZ (#105155) 2023-12-07 09:19:38 +01:00
Quentame
f420dcbedc Bump Météo-France to 1.3.0 (#105170) 2023-12-07 09:18:34 +01:00
Cían Hughes
e051244927 Add Modbus fan speed support (#104577)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2023-12-07 08:19:03 +01:00
Sebastian Nohn
22119a2fd8 Set ping interval to 15 seconds instead of 5 minutes (#105191)
set ping interval to a more sane value of 15 seconds instead of 5 minutes. fixes home-assistant/core#105163
2023-12-07 07:44:19 +01:00
starkillerOG
0b6665ed09 Bump reolink_aio to 0.8.2 (#105157) 2023-12-07 07:39:37 +01:00
Matrix
4666d7e17f Bump yolink-api to 0.3.4 (#105124)
* Bump yolink-api to 0.3.3

* bump yolink api to 0.3.4
2023-12-07 07:30:27 +01:00
TheJulianJES
9181933619 Fix ZHA quirk ID custom entities matching all devices (#105184) 2023-12-07 07:15:31 +01:00
lunmay
16f6a57924 Fix missing apostrophe in smtp (#105189)
Fix missing apostrophe
2023-12-07 07:12:27 +01:00
Jan-Philipp Benecke
05e122e22b Modernize and cleanup trend tests (#105010)
Co-authored-by: Em <emmanuel.sciara@gmail.com>
2023-12-06 18:46:35 +01:00
TJ Horner
32febcda5a Bump apple_weatherkit to 1.1.2 (#105140) 2023-12-06 18:36:46 +01:00
Tucker Kern
ff21c02cb6 Add preset modes to ESPHome fan entities (#103781)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-06 06:53:52 -10:00
Franck Nijhof
ea1222bff3 2023.12.0 (#105135) 2023-12-06 17:44:26 +01:00
Franck Nijhof
af23580530 Bump version to 2023.12.0 2023-12-06 16:31:24 +01:00
Paul Bottein
d8b056b340 Update frontend to 20231206.0 (#105132) 2023-12-06 16:31:06 +01:00
Franck Nijhof
0958e8fadf Fix missing target in todo.remove_completed_items service (#105127) 2023-12-06 16:30:59 +01:00
Xidorn Quan
e165d6741e Bump thermopro-ble to 0.5.0 (#105126) 2023-12-06 16:30:52 +01:00
Tobias Perschon
6b3e9904c8 Add missing services and strings entries for reply_to_message_id (#105072) 2023-12-06 16:27:06 +01:00
Marc Mueller
c93abd9d20 Improve decorator type annotations [zwave_js] (#104825)
* Improve decorator type annotations [zwave_js]

* Improve _async_get_entry annotation
2023-12-06 16:22:32 +01:00
Joost Lekkerkerker
6721f9fdb2 Bump python-opensky to 1.0.0 (#105131) 2023-12-06 16:21:12 +01:00
Paul Bottein
297a7638ca Update frontend to 20231206.0 (#105132) 2023-12-06 14:51:36 +01:00
Jan-Philipp Benecke
a16819e0e5 Use freezegun in utility_meter tests (#105123) 2023-12-06 14:43:26 +01:00
Franck Nijhof
3f28354a00 Fix missing target in todo.remove_completed_items service (#105127) 2023-12-06 14:39:27 +01:00
Xidorn Quan
eb00259356 Bump thermopro-ble to 0.5.0 (#105126) 2023-12-06 13:30:31 +01:00
Ville Skyttä
a29695e622 Add Huawei LTE network mode select (#104614)
* Convert network mode from sensor to select for huawei_lte

This also introduces the select platform to huawei_lte integration.

* Move (networkmode, str) mapping to const

Also, rebase on top of the current dev

* Fix variable naming, initialize name

* Fix wrong key for router access

* Typing fixes

* Adapt to current way of registering subscriptions

* Simplify option management, make translatable

* Make use of custom entity description

* Add icon

* Revert sensor formatting changes, move to another PR

* Improve entity class naming

* Add test

* Make sure entity descriptions define a setter function

---------

Co-authored-by: Teemu Rytilahti <tpr@iki.fi>
2023-12-06 14:23:26 +02:00
Jan Rieger
81d05acd07 Address late review for Holiday (#105121) 2023-12-06 12:39:46 +01:00
Tobias Perschon
7424c296b7 Add missing services and strings entries for reply_to_message_id (#105072) 2023-12-06 11:01:05 +01:00
David Bonnes
88a4b74d4b bump evohome-async to 0.4.15 (#105119) 2023-12-06 10:32:10 +01:00
Franck Nijhof
9fcb722381 Bump version to 2023.12.0b5 2023-12-06 08:31:21 +01:00
Michael Hansen
da766bc7c5 Bump intents to 2023.12.05 (#105116) 2023-12-06 08:31:13 +01:00
lunmay
681a3fd271 Fix typo in v2c strings.json (#105104)
fo -> of
2023-12-06 08:31:10 +01:00
Robert Svensson
990fd31e84 Bump aiounifi to v67 (#105099)
* Bump aiounifi to v67

* Fix mypy
2023-12-06 08:31:06 +01:00
Jan Bouwhuis
f7c9d20472 Fix overkiz measurement sensor returns None if 0 (#105090) 2023-12-06 08:31:03 +01:00
TJ Horner
ae4811b776 Update apple_weatherkit to 1.1.1 (#105079) 2023-12-06 08:30:46 +01:00
dependabot[bot]
a904461b6a Bump actions/setup-python from 4.7.1 to 4.8.0 (#105117)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-06 08:28:02 +01:00
J. Nick Koston
bf8f78c041 Fix flakey logbook tests (#105111) 2023-12-06 08:15:48 +01:00
J. Nick Koston
a528183556 Bump habluetooth to 0.8.0 (#105109) 2023-12-06 08:15:24 +01:00
Michael Hansen
3fda43ef33 Bump intents to 2023.12.05 (#105116) 2023-12-06 08:14:34 +01:00
J. Nick Koston
2401a09600 Bump aioesphomeapi to 19.3.0 (#105114) 2023-12-06 08:13:35 +01:00
Klaas Schoute
9a3b4939a9 Update easyenergy lib to v2.0.0 (#105108) 2023-12-06 07:35:29 +01:00
lunmay
ad26af608b Fix typo in v2c strings.json (#105104)
fo -> of
2023-12-05 16:25:08 -05:00
Tudor Sandu
636e38f4b3 Trigger Home Assistant shutdown automations right before the stop event instead of during it (#91165)
Co-authored-by: Erik <erik@montnemery.com>
2023-12-05 11:24:41 -10:00
Robert Svensson
44810f9772 Bump aiounifi to v67 (#105099)
* Bump aiounifi to v67

* Fix mypy
2023-12-05 22:16:07 +01:00
jimmyd-be
712a401ee2 Bump renson library to version 1.7.1 (#105096) 2023-12-05 21:06:29 +01:00
TJ Horner
19e193ae1d Increase frequency of weatherkit updates (#105094) 2023-12-05 09:45:26 -10:00
TJ Horner
eadcceeed1 Update apple_weatherkit to 1.1.1 (#105079) 2023-12-05 09:45:00 -10:00
Jan Bouwhuis
be44de0a41 Fix overkiz measurement sensor returns None if 0 (#105090) 2023-12-05 20:00:53 +01:00
J. Nick Koston
3c635fdbf2 Split bluetooth manager so it can be extracted into the habluetooth lib (#105015) 2023-12-05 19:54:50 +01:00
J. Nick Koston
94d168e20e Move Bluetooth advertisement tracker to habluetooth library (#105083) 2023-12-05 19:53:29 +01:00
Michael
3310f4c130 Add significant Change support for weather (#104840) 2023-12-05 19:17:52 +01:00
Erik Montnemery
1edfaed7be Improve raise contains mocks (#105078)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-05 19:14:35 +01:00
Klaas Schoute
d4cbe89c2f Update energyzero lib to v2.0.0 (#105080) 2023-12-05 19:14:13 +01:00
Franck Nijhof
b0367d3d74 Bump version to 2023.12.0b4 2023-12-05 19:09:24 +01:00
Bram Kragten
30d529aab0 Update frontend to 20231205.0 (#105081) 2023-12-05 19:09:16 +01:00
Jan-Philipp Benecke
4018a28510 Remove device from known_devices upon import in ping device tracker (#105009)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-05 19:09:12 +01:00
Bram Kragten
dd37205a42 Update frontend to 20231205.0 (#105081) 2023-12-05 18:52:52 +01:00
Jan-Philipp Benecke
dc17780e5b Remove device from known_devices upon import in ping device tracker (#105009)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-05 18:52:22 +01:00
J. Nick Koston
b6245c834d Move local bluetooth scanner code into habluetooth library (#104970) 2023-12-05 07:19:02 -10:00
Erik Montnemery
428c184c75 Improve yamaha tests (#105077) 2023-12-05 07:17:56 -10:00
Erik Montnemery
5b55c7da5f Remove logic converting empty or falsy YAML to empty dict (#103912)
* Correct logic converting empty YAML to empty dict

* Modify according to github comments

* Add load_yaml_dict helper

* Update check_config script

* Update tests
2023-12-05 18:08:11 +01:00
Joost Lekkerkerker
a8ca73a7dd Finish scaffold config flow with either abort or create entry (#105012) 2023-12-05 17:13:29 +01:00
Robert Hillis
651df6b698 Add calendar entity to Radarr (#79077)
* Add calendar entity to Radarr

* address feedback/add tests

* black

* uno mas

* rework to coordinator

* uno mas

* move release atttribute writing

* fix calendar items and attributes
2023-12-05 07:51:51 -08:00
Franck Nijhof
a076b7d992 Bump version to 2023.12.0b3 2023-12-05 15:57:40 +01:00
Erik Montnemery
55c686ad03 Don't use deprecated_class decorator on deprecated YAML classes (#105063) 2023-12-05 15:55:27 +01:00
Robert Svensson
7cb383146a Make UniFi WiFi clients numerical (#105032) 2023-12-05 15:55:23 +01:00
Robert Svensson
2f727d5fe1 Fix stuck clients in UniFi options (#105028) 2023-12-05 15:55:18 +01:00
Robert Svensson
65c8aa3249 Make unifi RX-/TX-sensors diagnostic entities (#105022) 2023-12-05 15:55:15 +01:00
Bartosz Dokurno
c62c002657 Update Todoist config flow URL (#104992) 2023-12-05 15:55:12 +01:00
Erik Montnemery
fd4a05fc7a Minor improvements of deprecation helper (#104980) 2023-12-05 15:55:08 +01:00
Marco
56e325a2b1 Fix Mikrotik rename from wifiwave2 to wifi for upcoming RouterOS 7.13 (#104966)
Co-authored-by: Marco98 <Marco98@users.noreply.github.com>
2023-12-05 15:55:05 +01:00
Aaron Godfrey
48cce1a854 Exclude Todoist sub-tasks for the todo platform (#104914) 2023-12-05 15:55:01 +01:00
Marcel van der Veldt
99401c60c7 Add Matter custom cluster sensors (Eve Energy Plug energy measurements) (#104830)
* Support for sensors from custom clusters in Matter

* lint

* no need to write state twice

* Add test for eve energy plug

* Update homeassistant/components/matter/entity.py

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

* adjust comment

* debounce extra poll timer

* use async_call_later helper

* Update homeassistant/components/matter/entity.py

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

* wip extend test

* Update test_sensor.py

* fix state class for sensors

* trigger (fake) event callback on all subscribers

* Update eve-energy-plug.json

* add test for additionally polled value

* adjust delay to 3 seconds

* Adjust subscribe_events to always use kwargs

* Update tests/components/matter/common.py

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

* Update test_sensor.py

* remove redundant code

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-05 15:54:58 +01:00
Michael Hansen
5a49e1dd5c Add Wyoming satellite (#104759)
* First draft of Wyoming satellite

* Set up homeassistant in tests

* Move satellite

* Add devices with binary sensor and select

* Add more events

* Add satellite enabled switch

* Fix mistake

* Only set up necessary platforms for satellites

* Lots of fixes

* Add tests

* Use config entry id as satellite id

* Initial satellite test

* Add satellite pipeline test

* More tests

* More satellite tests

* Only support single device per config entry

* Address comments

* Make a copy of platforms
2023-12-05 15:54:55 +01:00
Allen Porter
db6b804298 Add due date and description fields to Todoist To-do entity (#104655)
* Add Todoist Due date and description fields

* Update entity features with new names

* Make items into walrus

* Update due_datetime field

* Add additional tests for adding new fields to items

* Fix call args in todoist test
2023-12-05 15:54:52 +01:00
Allen Porter
655b067277 Add due date and description to Google Tasks (#104654)
* Add tests for config validation function

* Add Google Tasks due date and description

* Revert test timezone

* Update changes after upstream

* Update homeassistant/components/google_tasks/todo.py

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

* Add google tasks tests for creating

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-05 15:54:48 +01:00
GeoffAtHome
55bafc260d Fix geniushub smart plug state at start-up (#102110)
* Smart plug did state wrong at start-up

* Update docstring to reflect code
2023-12-05 15:54:44 +01:00
Erik Montnemery
3bcc6194ef Add domain key config validation (#104242)
* Drop use of regex in helpers.extract_domain_configs

* Update test

* Revert test update

* Add domain_from_config_key helper

* Add validator

* Address review comment

* Update snapshots

* Inline domain_from_config_key in validator
2023-12-05 15:07:32 +01:00
Erik Montnemery
25bea91683 Use modern platform path when reporting platform config errors (#104238)
* Use modern platform path when reporting platform config errors

* Update tests

* Address review comment

* Explicitly pass platform domain to log helpers

* Revert overly complicated changes

* Try a simpler solution
2023-12-05 15:06:13 +01:00
dupondje
db9d6b401a Add optional dsmr timestamp sensor (#104979)
* Add optional timestamp sensor

* Apply suggestions from code review

Remove "timestamp" translation

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-05 14:28:57 +01:00
GeoffAtHome
c4fbc78c05 Fix geniushub smart plug state at start-up (#102110)
* Smart plug did state wrong at start-up

* Update docstring to reflect code
2023-12-05 14:03:39 +01:00
Marc Mueller
6e0ba8e726 Improve matrix typing (#105067) 2023-12-05 13:40:14 +01:00
Thomas Zahari
f460fdf632 Add fields cancelled & extra to result of the departure HVV sensor (#105030) 2023-12-05 13:15:16 +01:00
jan iversen
0638088aee Deprecate and remove lazy_error from modbus (#105037) 2023-12-05 13:08:33 +01:00
Erik Montnemery
5b59e043fa Don't use deprecated_class decorator on deprecated YAML classes (#105063) 2023-12-05 11:36:26 +01:00
Erik Montnemery
ae002e2f38 Remove breaks_in_ha_version from deprecated YAML classes (#105062) 2023-12-05 10:48:31 +01:00
Jan-Philipp Benecke
5cab64bfcd Make season types translatable (#105027) 2023-12-05 09:48:46 +01:00
Robert Svensson
4b87936779 Fix stuck clients in UniFi options (#105028) 2023-12-05 09:42:43 +01:00
J. Nick Koston
9b53fa6478 Bump habluetooth to 0.6.1 (#105029) 2023-12-05 09:30:21 +01:00
J. Nick Koston
c2cc8014dc Avoid double URL creation for hassio ingress (#105052) 2023-12-05 09:29:43 +01:00
Marco
b7bc49b863 Fix Mikrotik rename from wifiwave2 to wifi for upcoming RouterOS 7.13 (#104966)
Co-authored-by: Marco98 <Marco98@users.noreply.github.com>
2023-12-05 09:21:03 +01:00
Robert Svensson
482e087a85 Make unifi RX-/TX-sensors diagnostic entities (#105022) 2023-12-05 08:55:15 +01:00
Robert Svensson
e80ee09f5e Make UniFi WiFi clients numerical (#105032) 2023-12-05 08:50:32 +01:00
Erik Montnemery
84e74e4c74 Reverse component path (#104087)
* Reverse component path

* Update translations helper

* Fix

* Revert incorrect change of PLATFORM_FORMAT

* Fix use of PLATFORM_FORMAT in tts

* Fix ios
2023-12-05 08:43:58 +01:00
Michael Hansen
a9381d2590 Add Wyoming satellite (#104759)
* First draft of Wyoming satellite

* Set up homeassistant in tests

* Move satellite

* Add devices with binary sensor and select

* Add more events

* Add satellite enabled switch

* Fix mistake

* Only set up necessary platforms for satellites

* Lots of fixes

* Add tests

* Use config entry id as satellite id

* Initial satellite test

* Add satellite pipeline test

* More tests

* More satellite tests

* Only support single device per config entry

* Address comments

* Make a copy of platforms
2023-12-04 15:13:15 -05:00
Aaron Godfrey
677c50a7cc Exclude Todoist sub-tasks for the todo platform (#104914) 2023-12-04 20:37:09 +01:00
Erik Montnemery
35e2f591c1 Make cv.string return subclasses of str as is (#103916) 2023-12-04 20:36:16 +01:00
Marcel van der Veldt
516966db33 Add Matter custom cluster sensors (Eve Energy Plug energy measurements) (#104830)
* Support for sensors from custom clusters in Matter

* lint

* no need to write state twice

* Add test for eve energy plug

* Update homeassistant/components/matter/entity.py

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

* adjust comment

* debounce extra poll timer

* use async_call_later helper

* Update homeassistant/components/matter/entity.py

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

* wip extend test

* Update test_sensor.py

* fix state class for sensors

* trigger (fake) event callback on all subscribers

* Update eve-energy-plug.json

* add test for additionally polled value

* adjust delay to 3 seconds

* Adjust subscribe_events to always use kwargs

* Update tests/components/matter/common.py

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

* Update test_sensor.py

* remove redundant code

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-04 17:21:41 +01:00
Franck Nijhof
ca147060d9 Bump version to 2023.12.0b2 2023-12-04 15:00:20 +01:00
c0ffeeca7
8fd2e6451a W-Z: add host field description (#104996) 2023-12-04 15:00:09 +01:00
Bram Kragten
df8f462370 Update frontend to 20231204.0 (#104990) 2023-12-04 15:00:06 +01:00
Jan Bouwhuis
64f7855b94 Raise on smtp notification if attachment is not allowed (#104981)
* Raise smtp notification if attachment not allowed

* Pass url as placeholder

* Use variable in err message

* Add allow_list as placeholder
2023-12-04 15:00:02 +01:00
Jan Bouwhuis
204cc20bc2 Do not allow smtp to access insecure files (#104972) 2023-12-04 14:59:59 +01:00
Richard Kroegel
63ed4b0769 Bump bimmer-connected to 0.14.6 (#104961)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-04 14:59:56 +01:00
starkillerOG
cd86318b4b Do not fail if Reolink ONVIF cannot be connected (#104947) 2023-12-04 14:59:53 +01:00
Jan Bouwhuis
7d21ed41a2 Refactor lock default code handling (#104807) 2023-12-04 14:59:51 +01:00
G Johansson
214f214122 Only raise issue if switch used in Logitech Harmony Hub (#104941) 2023-12-04 14:59:49 +01:00
Alex Thompson
b53b1ab614 Fix Lyric HVAC mode reset on temperature change (#104910)
* Fix Lyric HVAC mode reset on temperature change

* Reduce code duplication

* Revert additional bugfix

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-04 14:59:46 +01:00
G Johansson
f5fae54c32 Fix get_events name in calendar strings (#104902) 2023-12-04 14:59:43 +01:00
Jan Bouwhuis
e1142e2ad8 Fix dsmr zero reconnect interval option could crash HA (#104900)
* Fix dsmr zero interval option could crash HA

* No change change the options
2023-12-04 14:59:40 +01:00
Patrick Decat
380e71d1b2 Fix incompatible 'measurement' state and 'volume' device class warnings in Overkiz (#104896) 2023-12-04 14:59:36 +01:00
Jan Bouwhuis
cda7863a45 Link second Hue host field description (#104885) 2023-12-04 14:59:33 +01:00
c0ffeeca7
9181d655f9 U-V add host field description (#104872)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-12-04 14:59:30 +01:00
c0ffeeca7
555e413edb T-add host field description (#104871) 2023-12-04 14:59:26 +01:00
starkillerOG
39026e3b53 Reolink schedule update after firmware update (#104867) 2023-12-04 14:59:23 +01:00
c0ffeeca7
8fd9761e7d Solar-Log to Soundtouch: add host field description (#104863) 2023-12-04 14:59:20 +01:00
c0ffeeca7
0cf4c6e568 SamsungTV to Snapcast: add host field description (#104862) 2023-12-04 14:59:17 +01:00
c0ffeeca7
0dc157dc31 Reolink to Ruckus: add host field description (#104861)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 14:59:14 +01:00
c0ffeeca7
9827ba7e60 Radio Thermostat to Renson: add host field description (#104860) 2023-12-04 14:59:10 +01:00
c0ffeeca7
f194ffcd52 Ping to Qnap: add host field description (#104859) 2023-12-04 14:59:07 +01:00
c0ffeeca7
42982de223 Obihai to OpenGarage: add host field description (#104858)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-04 14:59:04 +01:00
c0ffeeca7
1d04fcc485 Nanoleaf to Nut: add host field description (#104857)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 14:59:01 +01:00
c0ffeeca7
1378abab35 Modern Forms to MyStrom: add host field description (#104856) 2023-12-04 14:58:58 +01:00
c0ffeeca7
78cf9f2a01 Lifx, Lutron: add host field description (#104855) 2023-12-04 14:58:55 +01:00
Michael
074bcc8adc Fix handling of unrecognized mimetypes in Synology DSM photos integration (#104848) 2023-12-04 14:58:52 +01:00
Jan Bouwhuis
d67d2d9566 Filter out zero readings for DSMR enery sensors (#104843) 2023-12-04 14:58:49 +01:00
Robert Hillis
262e59f293 Fix Harmony switch removal version (#104838) 2023-12-04 14:58:46 +01:00
Daniel Hjelseth Høyer
11db0ab1e1 Bump Mill library (#104836) 2023-12-04 14:58:43 +01:00
Erik Montnemery
367bbf5709 Use deprecated_class decorator in deprecated YAML loader classes (#104835) 2023-12-04 14:58:40 +01:00
Bartosz Dokurno
13fdac23c1 Update Todoist config flow URL (#104992) 2023-12-04 14:58:37 +01:00
Marcel van der Veldt
0d318da9aa Update Matter test fixtures to schema version 5 (#104829) 2023-12-04 14:58:37 +01:00
mkmer
7ea4e15ff2 Late review updates for Blink (#104755) 2023-12-04 14:58:32 +01:00
Eric Härtel
cc0326548e Add CB3 descriptor to ZHA manifest (#104071) 2023-12-04 14:51:43 +01:00
c0ffeeca7
188d6a6eee W-Z: add host field description (#104996) 2023-12-04 14:48:56 +01:00
jan iversen
1629bdcd7f Remove "swap: none" from modbus (#104713) 2023-12-04 14:48:40 +01:00
Bram Kragten
157c4e31df Update frontend to 20231204.0 (#104990) 2023-12-04 13:10:51 +01:00
c0ffeeca7
8661aa96bd U-V add host field description (#104872)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-12-04 13:10:22 +01:00
Erik Montnemery
95f7db1970 Move config_per_platform and extract_domain_configs to config.py (#104989) 2023-12-04 12:48:49 +01:00
tronikos
53becaa976 Bump opower==0.0.40 (#104986) 2023-12-04 12:32:08 +01:00
Jan Bouwhuis
e8475b9b33 Add scaling utils for brightness and fanspeed (#104753)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-04 12:10:58 +01:00
c0ffeeca7
7222e2b2d6 T-add host field description (#104871) 2023-12-04 11:52:54 +01:00
Erik Montnemery
db51a8e1f7 Allow passing breaks_in_ha_version to deprecation helper decorators (#104985) 2023-12-04 11:52:10 +01:00
Jan Bouwhuis
d8a6d864c0 Raise on smtp notification if attachment is not allowed (#104981)
* Raise smtp notification if attachment not allowed

* Pass url as placeholder

* Use variable in err message

* Add allow_list as placeholder
2023-12-04 11:48:29 +01:00
Matthias Dunda
0f3cb9b1b6 Add telegram message timestamp to event data (#87493) 2023-12-04 10:53:59 +01:00
c0ffeeca7
bf49a3dcc2 Solar-Log to Soundtouch: add host field description (#104863) 2023-12-04 10:48:58 +01:00
Erik Montnemery
34d01719f2 Minor improvements of deprecation helper (#104980) 2023-12-04 10:47:49 +01:00
c0ffeeca7
7ac8f191bd Modern Forms to MyStrom: add host field description (#104856) 2023-12-04 10:46:49 +01:00
c0ffeeca7
ff84b82027 Squeezebox to Synology DSM: add host field description (#104864)
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>
2023-12-04 10:45:43 +01:00
c0ffeeca7
3cba10fa20 Lifx, Lutron: add host field description (#104855) 2023-12-04 10:44:52 +01:00
starkillerOG
3316f6980d Do not fail if Reolink ONVIF cannot be connected (#104947) 2023-12-04 10:44:29 +01:00
c0ffeeca7
bf63674af2 Nanoleaf to Nut: add host field description (#104857)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 10:38:52 +01:00
c0ffeeca7
ab4c6cddf2 Radio Thermostat to Renson: add host field description (#104860) 2023-12-04 10:37:51 +01:00
c0ffeeca7
9b9d9c6116 Reolink to Ruckus: add host field description (#104861)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2023-12-04 10:37:02 +01:00
J. Nick Koston
b0d0f15911 Bump dbus-fast to 2.20.0 (#104978) 2023-12-03 22:53:47 -10:00
Eric Härtel
557e9337bc Add CB3 descriptor to ZHA manifest (#104071) 2023-12-04 09:48:44 +01:00
Patrick Decat
8e42105b2d Fix incompatible 'measurement' state and 'volume' device class warnings in Overkiz (#104896) 2023-12-04 09:45:59 +01:00
Jan Bouwhuis
9c9d8669ec Link second Hue host field description (#104885) 2023-12-04 09:36:41 +01:00
Jirka
91463566c0 Update balboa strings.json (#104977) 2023-12-04 09:14:24 +01:00
c0ffeeca7
7ae6343b25 Obihai to OpenGarage: add host field description (#104858)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-04 09:13:48 +01:00
Richard Kroegel
6335c24568 Bump bimmer-connected to 0.14.6 (#104961)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-12-04 09:13:27 +01:00
J. Nick Koston
67039e0f26 Remove monotonic_time_coarse datetime helper (#104892) 2023-12-04 09:10:13 +01:00
Kevin Worrel
3b5e498c30 Bump screenlogicpy to v0.10.0 (#104866) 2023-12-04 09:07:46 +01:00
David Bonnes
6fd96f856d Bump evohome-async to 0.4.13 (#104960)
bump client to 0.4.13
2023-12-04 08:48:47 +01:00
J. Nick Koston
401c890364 Bump habluetooth to 0.5.1 (#104969)
* bump lib

* bump again to be patchable
2023-12-04 08:42:07 +01:00
Brett Adams
453f91a3ae Add virtual integration Fujitsu anywAIR (#102978)
Add anywair
2023-12-04 08:09:15 +01:00
Joost Lekkerkerker
374b1cfd0c Fix bug in config flow scaffold (#104965) 2023-12-04 07:48:05 +01:00
Joost Lekkerkerker
b56cd169ac Use constants in config flow scaffold (#104964) 2023-12-04 07:46:36 +01:00
Jan Bouwhuis
fe2906f159 Do not allow smtp to access insecure files (#104972) 2023-12-03 20:06:01 -05:00
J. Nick Koston
c1f68c3767 Bump habluetooth to 0.4.0 (#104958) 2023-12-03 12:18:10 -10:00
Alex Thompson
23cd66c54b Fix Lyric HVAC mode reset on temperature change (#104910)
* Fix Lyric HVAC mode reset on temperature change

* Reduce code duplication

* Revert additional bugfix

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-12-03 22:13:26 +01:00
Joost Lekkerkerker
833805f9be Add StreamLabsWater to strict typing (#104957) 2023-12-03 21:10:37 +01:00
jjlawren
ecc49e61f6 Bump plexapi to 4.15.6 (#104949) 2023-12-03 21:05:30 +01:00
J. Nick Koston
28584ad240 Relocate base Bluetooth scanner code into an external library (#104930) 2023-12-03 10:00:11 -10:00
J. Nick Koston
c8bb72935d Bump bluetooth-data-tools to 1.17.0 (#104935) 2023-12-03 08:53:17 -10:00
Jan Rieger
244edb488b Add Holiday integration (#103795)
* Add Holiday integration

* Localize holiday names

* Changes based on review feedback

* Add tests

* Add device info

* Bump holidays to 0.36

* Default to Home Assistant country setting

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/config_flow.py

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

* black

* Move time

* Stop creating duplicate holiday calendars

* Set default language using python-holiday

* Use common translation

* Set _attr_name to None to fix friendly name

* Fix location

* Update homeassistant/components/holiday/__init__.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Update tests/components/holiday/test_init.py

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

* cleanup

* Set up the integration and test the state

* Test that configuring more than one instance is rejected

* Set default_language to user's language, fallback to country's default language

* Improve tests

* Update homeassistant/components/holiday/calendar.py

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

* Cleanup

* Add next year so we don't run out

* Update tests/components/holiday/test_init.py

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

* Cleanup

* Set default language in `__init__`

* Add strict typing

* Change default language: HA's language `en` is `en_US` in holidays, apart from Canada

* CONF_PROVINCE can be None

* Fix test

* Fix default_language

* Refactor tests

* Province can be None

* Add test for translated title

* Address feedback

* Address feedback

* Change test to use service call

* Address feedback

* Apply suggestions from code review

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

* Changes based on review feedback

* Update homeassistant/components/holiday/calendar.py

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

* Update homeassistant/components/holiday/calendar.py

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

* Add a test if next event is missing

* Rebase

* Set device to service

* Remove not needed translation key

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-03 16:28:53 +01:00
G Johansson
67784def13 Only raise issue if switch used in Logitech Harmony Hub (#104941) 2023-12-03 11:57:48 +01:00
Jan Bouwhuis
5d6791e412 Remove CONF_PRECISION remainder from dsmr (#104919) 2023-12-03 11:53:09 +01:00
J. Nick Koston
edb52bb364 Bump zeroconf to 0.128.0 (#104936) 2023-12-03 11:51:34 +01:00
Jan Rieger
a5fe68c354 Bump python-holidays to 0.37 (#104937) 2023-12-03 11:15:07 +01:00
J. Nick Koston
dd9c22672a Refactor bluetooth scanners for better seperation of concerns (#104909) 2023-12-02 13:20:06 -10:00
Erwin Douna
7a9c3819e0 Add MELCloud token refresh upon firmware upgrade (#104391)
* Adding initial setup

* Update homeassistant/components/melcloud/__init__.py

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

* Adding ConfigEntryNotReady exception

* Update homeassistant/components/melcloud/__init__.py

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

* Update homeassistant/components/melcloud/config_flow.py

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

* Update homeassistant/components/melcloud/__init__.py

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

* Placing exception handling in setup_entry

* Expanding test cases

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-02 23:07:06 +01:00
Dave T
b48ad268b5 Add alarm sensor to Aurora ABB (#104503)
* Add new sensors

* Add strings

* Fix tests

* Only add alarm sensor, & refactor

* Address review comments

* Address review comments.

* Fix ruff
2023-12-02 23:04:37 +01:00
Christopher Fenner
7480945465 Add number entities for program temperature in ViCare integration (#103960)
* add number platform

* Update .coveragerc

* reset default value

* fix default value

* cast Any value to float

* Apply suggestions from code review

* Update strings.json

* add translation keys

* remove obsolete unique id handling

* add eco program

* reset type

* remove name from entity

* Update strings.json

* Update strings.json

* rename

* Apply suggestions from code review

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

* retype getter

* adjust interface

* use device classes

* check setter

* Revert "check setter"

This reverts commit 360e333159.

* remove eco entity

* Update strings.json

* add eco sensor entity

* Revert "add eco sensor entity"

This reverts commit d64b38c548.

* Update strings.json

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-02 22:44:49 +01:00
Jan Bouwhuis
c9306049b3 Correct SerialException import in dsmr, firmata, landysgyr_heat_meater and rfxtrx integrations (#104889)
* Fix SerialException import in dsmr integration

* Fix imports firmata, landysgyr_heat_meter, rfxtrx
2023-12-02 19:30:04 +01:00
Jan Bouwhuis
5106dd173c Fix dsmr zero reconnect interval option could crash HA (#104900)
* Fix dsmr zero interval option could crash HA

* No change change the options
2023-12-02 19:28:56 +01:00
Marc Mueller
559e8dfc69 Improve decorator type annotations [esphome] (#104878) 2023-12-02 06:57:58 -10:00
Marc Mueller
e9d4a02bb1 Adjust roku type hint (#104877) 2023-12-02 10:37:44 -05:00
G Johansson
06d663d33f Fix get_events name in calendar strings (#104902) 2023-12-02 10:35:52 -05:00
starkillerOG
381036e46a Reolink only fetch data for enabled entities (#104157) 2023-12-02 14:10:44 +01:00
J. Nick Koston
a3dd2b8ea9 Migrate to using faster monotonic_time_coarse from bluetooth-data-tools (#104882) 2023-12-01 10:57:09 -10:00
c0ffeeca7
e724414475 SamsungTV to Snapcast: add host field description (#104862) 2023-12-01 16:45:53 +01:00
Marc Mueller
5014e2f0c7 Fix powerwall typing (#104875) 2023-12-01 05:42:50 -10:00
Michael
dc708b8a18 Fix handling of unrecognized mimetypes in Synology DSM photos integration (#104848) 2023-12-01 15:58:15 +01:00
J. Nick Koston
970751a635 Bump bluetooth-data-tools to 0.16.0 (#104854) 2023-12-01 04:44:58 -07:00
starkillerOG
742e2dbbe4 Reolink schedule update after firmware update (#104867) 2023-12-01 12:26:18 +01:00
c0ffeeca7
450bc8dd2c Ping to Qnap: add host field description (#104859) 2023-12-01 12:18:34 +01:00
Niccolò Maggioni
0232c8dcb0 Add temperature to the light color mode parameter fallbacks (#86026)
* Add color temperature to the color mode fallbacks

* Manually add ATTR_COLOR_TEMP since ATTR_COLOR_TEMP_KELVIN is pre-parsed

* Include the legacy ATTR_COLOR_TEMP attribute in the tests

* Apply suggestions from code review

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

* Add citation for McCamy's approximation formula

If still existing, also see page 3 of https://www.st.com/resource/en/application_note/an5638-how-correlated-color-temperature-is-calculated-by-vd6283-stmicroelectronics.pdf

* Update homeassistant/util/color.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-12-01 08:26:07 +01:00
Franck Nijhof
7ec2980e52 Change pytest fixture scope from core fixtures (#104831) 2023-12-01 07:14:13 +01:00
Jan Bouwhuis
1273bc8ec4 Let executor CI test pass under worse conditions (#104849) 2023-11-30 20:05:26 -10:00
Jan Bouwhuis
7767bb328d Filter out zero readings for DSMR enery sensors (#104843) 2023-11-30 23:42:51 +01:00
Erik Montnemery
00e57ab9a4 Use deprecated_class decorator in deprecated YAML loader classes (#104835) 2023-11-30 22:43:34 +01:00
mkmer
99f28c7163 Late review updates for Blink (#104755) 2023-11-30 22:40:41 +01:00
Daniel Hjelseth Høyer
3e95c1c705 Bump Mill library (#104836) 2023-11-30 22:39:54 +01:00
Robert Hillis
b0f5b78b9a Fix Harmony switch removal version (#104838) 2023-11-30 22:21:34 +01:00
cdnninja
ea732349c9 Vesync constant cleanup (#104842) 2023-11-30 22:19:02 +01:00
Marcel van der Veldt
4829b21fd0 Update Matter test fixtures to schema version 5 (#104829) 2023-11-30 20:08:58 +01:00
Franck Nijhof
cd1ee70707 Use orjson to load HomeWizard test fixtures (#104832) 2023-11-30 19:58:33 +01:00
Franck Nijhof
93c8618f8a Bump version to 2023.12.0b1 2023-11-30 19:48:24 +01:00
Franck Nijhof
208622e8a7 Revert "Add Komfovent (#95722)" (#104819) 2023-11-30 19:48:08 +01:00
Erik Montnemery
45f79ee1ba Restore renamed yaml loader classes and warn when used (#104818) 2023-11-30 19:48:04 +01:00
Bram Kragten
7739f99233 Update frontend to 20231130.0 (#104816) 2023-11-30 19:48:01 +01:00
Maciej Bieniek
43e0ddc74e Address late review for the host field description in Shelly integration (#104815)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-30 19:47:57 +01:00
Mappenhei
7e012183da Add Humidity device class to LaCross humidity sensor (#104814) 2023-11-30 19:47:54 +01:00
Maciej Bieniek
7a36bdb052 Make Shelly Wall Display thermostat implementation compatible with firmware 1.2.5 (#104812) 2023-11-30 19:47:51 +01:00
Erik Montnemery
83d881459a Add NodeStrClass.__voluptuous_compile__ (#104808) 2023-11-30 19:47:47 +01:00
Marcel van der Veldt
9d53d6811a Bump python-matter-server to version 5.0.0 (#104805) 2023-11-30 19:47:44 +01:00
Charles Garwood
847fd4c653 Use .get for Fully Kiosk SSL settings in coordinator (#104801) 2023-11-30 19:47:40 +01:00
Michael
0eefc98b33 Fix runtime error in CalDAV (#104800) 2023-11-30 19:47:36 +01:00
Marcel van der Veldt
ea8a47d0e9 Fix device sync to Google Assistant if Matter integration is active (#104796)
* Only get Matter device info if device is an actual Matter device

* Return None if matter device does not exist

* lint

* fix test

* adjust google assistant test
2023-11-30 19:47:30 +01:00
c0ffeeca7
75d2ea9c57 KMtronic to LG Soundbar: add host field description (#104792) 2023-11-30 19:45:02 +01:00
c0ffeeca7
cf63cd33c5 iAlarm to Keenetic: add host field description (#104791)
Co-authored-by: Andrey Kupreychik <foxel@quickfox.ru>
2023-11-30 19:44:58 +01:00
c0ffeeca7
fd442fadf8 HLK to Hyperion: add host field description (#104789)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:52 +01:00
c0ffeeca7
62537aa63a Frontier to Glances: add host field description (#104787)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:48 +01:00
c0ffeeca7
d7de9c13fd Goalzero to HEOS: add host field description (#104786) 2023-11-30 19:44:45 +01:00
Erwin Douna
04b72953e6 Fix Fastdotcom no entity (#104785)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-30 19:44:41 +01:00
c0ffeeca7
ddba7d8ed8 Freebox to FRITZ!Box add host field description (#104784)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-11-30 19:44:38 +01:00
c0ffeeca7
40c7432e8a FiveM to Foscam: add host field description (#104782) 2023-11-30 19:44:35 +01:00
c0ffeeca7
e1504759fe Enphase to Evil: add host field description (#104779)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:31 +01:00
c0ffeeca7
b6b2cf194d Ecoforest to Emonitor: add host field description (#104778) 2023-11-30 19:44:28 +01:00
c0ffeeca7
c3566db339 Dremel to Duotecno: add host field description (#104776)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 19:44:25 +01:00
c0ffeeca7
4eec48de51 Deconz to DoorBird: add host field description (#104772)
* Deconz to DoorBird: add host field description

* Update homeassistant/components/deconz/strings.json

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-11-30 19:44:21 +01:00
c0ffeeca7
fe544f670f Comelit, Coolmaster: add host field description (#104771) 2023-11-30 19:44:18 +01:00
c0ffeeca7
816e524457 Broadlink, BSB-Lan: add host field description (#104770) 2023-11-30 19:44:15 +01:00
Allen Porter
4b22551af1 Fix bug in rainbird device ids that are int serial numbers (#104768) 2023-11-30 19:44:12 +01:00
Jan Bouwhuis
b4907800a9 Debug level logging for DSMR migration code (#104757) 2023-11-30 19:44:08 +01:00
Daniel Gangl
f366b37c52 Bump zamg to 0.3.3 (#104756) 2023-11-30 19:44:05 +01:00
Michael Hansen
90bcad31b5 Skip TTS when text is empty (#104741)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-30 19:44:01 +01:00
Franck Nijhof
34c65749e2 Revert "Add proj dependency to our wheels builder (#104699)" (#104704) 2023-11-30 19:43:58 +01:00
Christopher Fenner
5f549649de Update initial translation for ViCare water heater entity (#104696) 2023-11-30 19:43:55 +01:00
c0ffeeca7
78f1c0cb80 Axis: add host and user name field description (#104693) 2023-11-30 19:43:51 +01:00
Charles Garwood
6f45fafc11 Bump pynws to 1.6.0 (#104679) 2023-11-30 19:43:48 +01:00
Florian
4acea82ca1 Fix Philips TV none recordings_list (#104665)
Correct for missing recordings list in api client.
---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
2023-11-30 19:43:44 +01:00
Sergiy Maysak
f1e8c1c7ee Fix wirelesstag unique_id to use uuid instead of tag_id (#104394)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-30 19:43:40 +01:00
Marc Mueller
ca9d58c442 Improve decorator type annotations [sensibo] (#104824) 2023-11-30 19:06:36 +01:00
Joost Lekkerkerker
fed8e5e873 Always create APCUPS device (#104716) 2023-11-30 18:51:23 +01:00
Marc Mueller
2496c275c8 Improve decorator type annotations [core] (#104826) 2023-11-30 18:50:31 +01:00
Marc Mueller
46ba62a3c0 Improve decorator type annotations [sabnzbd] (#104823) 2023-11-30 18:47:58 +01:00
Marc Mueller
6ffc298986 Improve decorator type annotations [matter] (#104822) 2023-11-30 18:47:18 +01:00
Maciej Bieniek
8e2f4a347c Address late review for the host field description in Shelly integration (#104815)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-30 18:46:18 +01:00
Mappenhei
9bdb713408 Add Humidity device class to LaCross humidity sensor (#104814) 2023-11-30 18:45:52 +01:00
Marc Mueller
d597cfec49 Improve decorator type annotations (#104821) 2023-11-30 18:45:18 +01:00
Franck Nijhof
4bc1e5075a Revert "Add Komfovent (#95722)" (#104819) 2023-11-30 18:45:04 +01:00
Sergiy Maysak
689c0d14ec Added typing for return value for async_migrate func. (#104828) 2023-11-30 18:19:10 +01:00
David Bonnes
f50cd5ab5e Bump evohome-async to 0.4.9 (#103660) 2023-11-30 18:17:34 +01:00
Erik Montnemery
abc05451a2 Restore renamed yaml loader classes and warn when used (#104818) 2023-11-30 18:14:48 +01:00
cdnninja
9447d954d6 Add codeowner to vesync (#104809) 2023-11-30 18:14:22 +01:00
Bram Kragten
99523c96a2 Update frontend to 20231130.0 (#104816) 2023-11-30 17:49:31 +01:00
Erik Montnemery
12902b8a68 Add NodeStrClass.__voluptuous_compile__ (#104808) 2023-11-30 17:45:27 +01:00
Maciej Bieniek
b7bf1e9f3f Make Shelly Wall Display thermostat implementation compatible with firmware 1.2.5 (#104812) 2023-11-30 17:26:07 +01:00
c0ffeeca7
3133585d52 Enphase to Evil: add host field description (#104779)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 17:25:04 +01:00
c0ffeeca7
0c08081386 Deconz to DoorBird: add host field description (#104772)
* Deconz to DoorBird: add host field description

* Update homeassistant/components/deconz/strings.json

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

---------

Co-authored-by: Robert Svensson <Kane610@users.noreply.github.com>
2023-11-30 17:24:21 +01:00
Erwin Douna
b3d64c3949 Fix Fastdotcom no entity (#104785)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-11-30 17:11:28 +01:00
Marcel van der Veldt
b31d805de1 Bump python-matter-server to version 5.0.0 (#104805) 2023-11-30 17:09:53 +01:00
Michael
7ec6510221 Add significant Change support for remote (#104627) 2023-11-30 17:09:06 +01:00
c0ffeeca7
419dc8adb1 Freebox to FRITZ!Box add host field description (#104784)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2023-11-30 17:05:32 +01:00
c0ffeeca7
41fb8d50cc Goalzero to HEOS: add host field description (#104786) 2023-11-30 17:04:15 +01:00
c0ffeeca7
b9ab28150e iAlarm to Keenetic: add host field description (#104791)
Co-authored-by: Andrey Kupreychik <foxel@quickfox.ru>
2023-11-30 17:03:27 +01:00
Marcel van der Veldt
52450291cb Fix device sync to Google Assistant if Matter integration is active (#104796)
* Only get Matter device info if device is an actual Matter device

* Return None if matter device does not exist

* lint

* fix test

* adjust google assistant test
2023-11-30 16:59:26 +01:00
c0ffeeca7
cc2c7c7be1 KMtronic to LG Soundbar: add host field description (#104792) 2023-11-30 16:57:44 +01:00
c0ffeeca7
3bbed8965a Frontier to Glances: add host field description (#104787)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 16:55:53 +01:00
Jonas Fors Lellky
25ebbda3a9 Add Flexit bacnet integration (#104275)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Piotr Buliński <piotr@bulinski.no>
Co-authored-by: Piotr Buliński <piotr@qbee.io>
2023-11-30 16:50:13 +01:00
c0ffeeca7
1c78848c43 HLK to Hyperion: add host field description (#104789)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 16:38:40 +01:00
Jan-Philipp Benecke
f59588b413 Make the minimum number of samples used by the trend sensor configurable (#101102)
* Make the minimum of samples configurable & raise issue when min_samples > max_samples

* Wording

* Remove issue creation and use a custom schema validator

* Remove issue from strings.json

* Add test for validator and fix error message
2023-11-30 15:41:58 +01:00
Charles Garwood
aa4382e091 Use .get for Fully Kiosk SSL settings in coordinator (#104801) 2023-11-30 14:22:17 +01:00
starkillerOG
fa7a74c611 Cleanup Reolink formatting (late review) (#104793)
cleanup
2023-11-30 13:54:37 +01:00
Michael
68e883dc63 Fix runtime error in CalDAV (#104800) 2023-11-30 13:50:58 +01:00
Sergiy Maysak
1ab9357840 Fix wirelesstag unique_id to use uuid instead of tag_id (#104394)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-30 12:14:46 +01:00
c0ffeeca7
d1a2192e37 FiveM to Foscam: add host field description (#104782) 2023-11-30 11:59:20 +01:00
starkillerOG
69af4c8603 Add common reolink entity description (#104142)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-30 11:26:33 +01:00
c0ffeeca7
dd00357e9c Ecoforest to Emonitor: add host field description (#104778) 2023-11-30 09:44:18 +01:00
c0ffeeca7
da93daaa75 Dremel to Duotecno: add host field description (#104776)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-30 09:43:42 +01:00
c0ffeeca7
56350d1c0a Broadlink, BSB-Lan: add host field description (#104770) 2023-11-30 08:47:37 +01:00
c0ffeeca7
8bc1f9d03d Comelit, Coolmaster: add host field description (#104771) 2023-11-30 08:47:17 +01:00
Joost Lekkerkerker
6ac9a1d1f2 Migrate GDACS to has entity name (#104733) 2023-11-30 08:22:16 +01:00
c0ffeeca7
2f0846bd87 Axis: add host and user name field description (#104693) 2023-11-30 08:12:39 +01:00
Allen Porter
64a6a6a778 Add due date and description fields to Todoist To-do entity (#104655)
* Add Todoist Due date and description fields

* Update entity features with new names

* Make items into walrus

* Update due_datetime field

* Add additional tests for adding new fields to items

* Fix call args in todoist test
2023-11-30 07:01:57 +01:00
Allen Porter
c72e4e8b5c Fix bug in rainbird device ids that are int serial numbers (#104768) 2023-11-30 06:11:38 +01:00
starkillerOG
9fa163c107 Reolink cleanup when CAM disconnected from NVR (#103888)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-11-30 01:50:37 +01:00
Christopher Fenner
ec647677e9 Update initial translation for ViCare water heater entity (#104696) 2023-11-30 01:38:33 +01:00
Daniel Gangl
b957c4e3ee Bump zamg to 0.3.3 (#104756) 2023-11-30 01:31:39 +01:00
Michael Hansen
d793203163 Skip TTS when text is empty (#104741)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-11-30 01:31:27 +01:00
Jan Bouwhuis
04f1b11ef7 Debug level logging for DSMR migration code (#104757) 2023-11-30 00:32:12 +01:00
Franck Nijhof
ec3795ab97 Revert "Add proj dependency to our wheels builder (#104699)" (#104704) 2023-11-29 23:16:58 +01:00
Charles Garwood
e8091a47db Bump pynws to 1.6.0 (#104679) 2023-11-29 23:13:05 +01:00
Rami Mosleh
2437fb314f Add strict typing to push bullet (#99538)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-29 23:05:10 +01:00
Allen Porter
c8aed06438 Add due date and description to Google Tasks (#104654)
* Add tests for config validation function

* Add Google Tasks due date and description

* Revert test timezone

* Update changes after upstream

* Update homeassistant/components/google_tasks/todo.py

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

* Add google tasks tests for creating

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-29 22:37:43 +01:00
Joost Lekkerkerker
8e64eff626 Add entity translations to faa_delays (#104749) 2023-11-29 22:23:46 +01:00
Joost Lekkerkerker
9126b00dfe Move Faa delays state attributes to entity description (#104748) 2023-11-29 22:01:03 +01:00
Florian
7638b9bba1 Fix Philips TV none recordings_list (#104665)
Correct for missing recordings list in api client.
---------

Co-authored-by: Joakim Plate <elupus@ecce.se>
2023-11-29 21:54:05 +01:00
Joost Lekkerkerker
bdf4c61a05 Add faa_delays to strict typing (#104720) 2023-11-29 21:41:32 +01:00
Franck Nijhof
0a98a648bb Bump version to 2024.1.0dev0 (#104746) 2023-11-29 21:29:11 +01:00
Franck Nijhof
19f543214f Bump version to 2023.12.0b0 2023-11-29 20:40:14 +01:00
Allen Porter
af2f8699b7 Add due date and description to CalDAV To-do (#104656)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-29 19:35:36 +01:00
J. Nick Koston
1522118453 Remove aiohttp cancel on disconnect workaround (#104175) 2023-11-29 11:20:36 -07:00
J. Nick Koston
50f2c41145 Avoid db hit and executor job for impossible history queries (#104724) 2023-11-29 11:20:22 -07:00
Joost Lekkerkerker
1fefa93648 Use config entry callbacks in Gree (#104740) 2023-11-29 19:03:58 +01:00
Michael Hansen
e10d58ef3e Bump intents to 2023.11.29 (#104738) 2023-11-29 18:52:27 +01:00
J. Nick Koston
1b048ff388 Remove HomeAssistantAccessLogger (#104173) 2023-11-29 10:40:19 -07:00
Duco Sebel
1727c19e0d Address review comments for Picnic (#104732) 2023-11-29 18:35:55 +01:00
Paul Bottein
38eda9f46e Add multiple option to text selector (#104635)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-11-29 18:32:32 +01:00
J. Nick Koston
dfed10420c Remove aiohttp enable_compression helper (#104174) 2023-11-29 10:24:34 -07:00
Richard Kroegel
2287c45afc Bump bimmer-connected to 0.14.5 (#104715)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-11-29 18:11:04 +01:00
Michael Hansen
a894146cee Fix TTS streaming for VoIP (#104620)
* Use wav instead of raw tts audio in voip

* More tests

* Use mock TTS dir
2023-11-29 12:07:22 -05:00
Jan Bouwhuis
47426a3ddc Remove redundant websocket_api exception handler (#104727) 2023-11-29 16:56:26 +01:00
Jan Bouwhuis
4bf88b1690 Improve MQTT json light brightness scaling (#104510)
* Improve MQTT json light brightness scaling

* Revert unrelated changes

* Format
2023-11-29 16:42:10 +01:00
Joost Lekkerkerker
b36ddaa15c Change super class order in Withings Calendar (#104721) 2023-11-29 16:30:23 +01:00
Jan Bouwhuis
82264a0d6b Fix mqtt cover state is open after receiving stopped payload (#104726) 2023-11-29 16:29:42 +01:00
Bram Kragten
4628b03677 Update frontend to 20231129.1 (#104723) 2023-11-29 16:29:20 +01:00
Jan-Philipp Benecke
e2bab699b5 Avoid double refresh when adding entities in bsblan (#104647) 2023-11-29 16:24:30 +01:00
J. Nick Koston
608f4f7c52 Bump aiohttp to 3.9.1 (#104176) 2023-11-29 16:13:54 +01:00
dupondje
ba481001c3 Add support for multiple mbus devices in dsmr (#84097)
* Add support for multiple mbus devices in dsmr

A dsmr meter can have 4 mbus devices.
Support them all and also add support for a water meter on the mbus
device.

* Apply suggestions from code review

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Rewrite old gas sensor to new mbus sensor

* No force updates + fix mbus entity unique_id

* Remove old gas device

* Add additional tests

* Fix remarks from last review + move migrated 5b gas meter to new device_id

* Fix ruff error

* Last fixes

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-11-29 15:41:58 +01:00
Joost Lekkerkerker
36eb858d0a Rename variable in Epson tests (#104722) 2023-11-29 15:22:21 +01:00
Stefan Rado
c6c8bb6970 Bump aioesphomeapi to 19.2.1 (#104703) 2023-11-29 15:20:40 +01:00
Erik Montnemery
61d82ae9ab Tweak dockerfile generation (#104717) 2023-11-29 15:20:21 +01:00
Franck Nijhof
8f2e69fdb7 Revert "Update stookwijzer api to atlas leefomgeving (#103323)" (#104705) 2023-11-29 15:18:25 +01:00
Martin Hjelmare
e884933dbd Remove rest api service call timeout (#104709) 2023-11-29 14:46:19 +01:00
stegm
09d7679818 Add new sensors of Kostal Plenticore integration (#103802) 2023-11-29 14:24:09 +01:00
Marc Mueller
0a13968209 Improve devialet coordinator typing (#104707) 2023-11-29 14:17:15 +01:00
Jan Bouwhuis
953a212dd6 Use ServiceValidationError for invalid fan preset_mode and move check to fan entity component (#104560)
* Use ServiceValidationError for fan preset_mode

* Use _valid_preset_mode_or_raise to raise

* Move preset_mode validation to entity component

* Fix bond fan and comments

* Fixes baf, fjaraskupan and template

* More integration adjustments

* Add custom components mock and test code

* Make NotValidPresetModeError subclass

* Update homeassistant/components/fan/strings.json

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

* Keep bond has_action validation

* Move demo test asserts outside context block

* Follow up comment

* Update homeassistant/components/fan/strings.json

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

* Fix demo tests

* Remove pylint disable

* Remove unreachable code

* Update homeassistant/components/fan/__init__.py

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

* Use NotValidPresetModeError, Final methods

* Address comments

* Correct docst

* Follow up comments

* Update homeassistant/components/fan/__init__.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-29 13:56:51 +01:00
Bram Kragten
49381cefa3 Update frontend to 20231129.0 (#104710) 2023-11-29 13:37:23 +01:00
G Johansson
e5a7446afe Use id as location data in Trafikverket Camera (#104473) 2023-11-29 13:35:32 +01:00
Franck Nijhof
cf23de1c48 Add proj-dev dependency to our wheels builder (#104711) 2023-11-29 13:15:37 +01:00
Martin Hjelmare
5f44dadb66 Rename todo due_date_time parameter to due_datetime (#104698)
* Rename todo due_date_time parameter to due_datetime

* Apply suggestions from code review

---------

Co-authored-by: c0ffeeca7 <38767475+c0ffeeca7@users.noreply.github.com>
2023-11-29 13:11:15 +01:00
Jan Bouwhuis
861bb48ab6 Assign specific error code for HomeAssistantError on websocket_api connection exceptions (#104700)
Assign specific error code for HomeAssistantError
2023-11-29 13:07:52 +01:00
Franck Nijhof
9741380cc0 Add proj-util dependency to our wheels builder (#104708) 2023-11-29 12:41:47 +01:00
Simone Chemelli
fc7b17d35b Handle server disconnection for Comelit devices (#104583) 2023-11-29 12:33:25 +01:00
schelv
31cab5803c Add Option For Kelvin Unit To Color Temperature Selector (#103799) 2023-11-29 12:25:06 +01:00
Stefan Rado
d9c0acc1d2 Partially revert #103807: Remove deprecated aux heat support from ESPHome climate entities (#104694) 2023-11-29 04:45:15 -06:00
Franck Nijhof
6dc818b682 Add proj dependency to our wheels builder (#104699) 2023-11-29 11:38:23 +01:00
puddly
bd8f01bd35 Bump ZHA dependencies (#104335) 2023-11-29 11:30:15 +01:00
Erik Montnemery
999875d0e4 Autogenerate Dockerfile (#104669) 2023-11-29 11:26:50 +01:00
c0ffeeca7
bcfb5307f5 Balboa, Bond, Bosch: add host field description (#104695) 2023-11-29 11:06:50 +01:00
Jan Bouwhuis
efd330f182 Send localization info on websocket_api script errors (#104638)
* Send localization info on script errors

* Use connection exception hander

* Keep HomeAssistantError is unknown_error

* Move specific exception handling
2023-11-29 10:47:23 +01:00
Franck Nijhof
7dbaf40f48 Merge branch 'master' into dev 2023-11-29 10:13:51 +01:00
Ville Skyttä
afc3f1d933 Make huawei_lte operator search and preferred network modes translatable (#104673) 2023-11-29 10:07:54 +01:00
c0ffeeca7
634785a2d8 Atag: add host field description (#104691) 2023-11-29 10:02:49 +01:00
Sebastian YEPES
a3bad54583 Add Tuya Smart Water Timer (#95053)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-29 09:48:45 +01:00
Simone Chemelli
6a87876729 Handle server disconnection for Vodafone devices (#104650) 2023-11-29 09:39:30 +01:00
Maciej Bieniek
8c56b5ef82 Add a host field description for Bravia, Brother and NAM (#104689) 2023-11-29 09:35:38 +01:00
c0ffeeca7
4d00767081 ASUSWRT: add description of host field. Fix title (#104690)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-11-29 09:35:08 +01:00
Christopher Fenner
c4e3ae84f4 Optimize async executor use in ViCare integration (#104645)
* use one async executor

* use list comprehension

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* simplify

* add type

* Apply suggestions from code review

* fix ruff findings
2023-11-29 09:28:56 +01:00
TheJulianJES
2663a4d617 Bump zha-quirks to 0.0.107 (#104683) 2023-11-29 09:19:02 +01:00
Christopher Fenner
5dc64dd6b9 Fix HA state update in ViCare number platform (#104687)
use sync update fn
2023-11-29 09:16:58 +01:00
c0ffeeca7
8e8e8077a0 Agent DVR and Android IP webcam: Add description of host field (#104688) 2023-11-29 09:13:35 +01:00
IceBotYT
526180a8af Add PECO smart meter binary_sensor (#71034)
* Add support for PECO smart meter

* Add support for PECO smart meter

* Conform to black

* Fix tests and additional clean-up

* Return init file to original state

* Move to FlowResultType

* Catch up to upstream

* Remove commented code

* isort

* Merge smart meter and outage count into one entry

* Test coverage

* Remove logging exceptions from config flow verification

* Fix comments from @emontnemery

* Revert "Add support for PECO smart meter"

This reverts commit 36ca90856684f328e71bc3778fa7aa52a6bde5ca.

* More fixes
2023-11-29 09:08:27 +01:00
Maciej Bieniek
3aa9066a50 Add field description for Shelly host (#104686) 2023-11-29 08:45:47 +01:00
c0ffeeca7
4b667cff26 Host field description: implement review from #104658 (#104685) 2023-11-29 08:44:28 +01:00
Renat Sibgatulin
68722ce662 Bump aioairq to 0.3.1 (#104659) 2023-11-29 08:43:48 +01:00
Jan-Philipp Benecke
a9a95ad881 Revert "Introduce base entity for ping" (#104682) 2023-11-29 08:42:02 +01:00
Stefan Rado
017d05c03e Add humidity and aux heat support to ESPHome climate entities (#103807)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-29 17:57:30 +13:00
J. Nick Koston
3c25d95481 Bump aioesphomeapi to 19.2.0 (#104677) 2023-11-29 16:57:39 +13:00
J. Nick Koston
de3b608e78 Remove BLE connection state unsubscribe workaround from ESPHome (#104674)
aioesphomeapi now has explict coverage to ensure calling
the unsubscribe function after the connection drops is safe
and will not raise anymore
2023-11-28 23:38:00 +01:00
Alex Hermann
bdef0ba6e5 Significantly improve performance for some cases of the history start time state query (#99450)
* recorder: Apply filter in the outer query too

Function _get_start_time_state_for_entities_stmt() produced a query which
is dead-slow in my installation. On analysis, the outer query produced
millions of rows which had to be joined to the subquery. The subquery has
a filter which would eliminate almost all of the outer rows.

To speed up the query, apply the same filter to the outer query, so way
less rows have to be joined.

This reduced the query time on my system from more than half an hour to
mere milliseconds.

* lint

* merge filter

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-28 16:23:49 -06:00
Ville Skyttä
21d842cb58 Fix human readable huawei_lte sensor names (#104672)
Regression from 7c85d84133, #98631
2023-11-28 23:44:35 +02:00
Adrian Huber
2c196baa7a Add DeviceInfo to Wolf SmartSet Entities (#104642)
* Fix await warning

* Add DeviceInfo to Wolflink sensors

* Remove comment

* Don't pass device name to DeviceInfo

* Use _attr_device_info instead of property
2023-11-28 22:24:25 +01:00
J. Nick Koston
93aa31c835 Bump aioesphomeapi to 19.1.7 (#104644)
* Bump aioesphomeapi to 19.1.5

changelog: https://github.com/esphome/aioesphomeapi/compare/v19.1.4...v19.1.5

- Removes the need to watch for BLE connection drops with a seperate
  future as the library now raises BluetoothConnectionDroppedError when
  the connection drops during a BLE operation

* reduce stack

* .6

* tweak

* 19.1.7
2023-11-28 21:51:35 +01:00
Daniel Hjelseth Høyer
63ef9efa26 Bump pyAdax to 0.4.0 (#104660)
Updata Adax lib

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2023-11-28 21:22:48 +01:00
mkmer
595663778c Bump aiosomecomfort to 0.0.24 (#104649)
* Bump aiosomecomfort to 0.0.24

* PascalCase change
2023-11-28 19:34:30 +01:00
c0ffeeca7
9bdf82eb32 Add info what to enter into host field (#104658)
* Add info what to enter into host field

* Fix style
2023-11-28 19:32:11 +01:00
mkmer
56f2f17ed1 Bump aiosomecomfort to 0.0.23 (#104641) 2023-11-28 15:51:47 +01:00
glanch
7533895a3d Add tag name to tag_scanned event data (#97553)
* Add tag name to tag scanned event data

* Make name in event data optional, add test cases for events

* Simplify sanity None check of tag data

Co-authored-by: Robert Resch <robert@resch.dev>

* Apply suggestions from code review

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-11-28 13:58:40 +01:00
fwestenberg
d3b04a5a58 Add Devialet integration (#86551)
* Add Devialet

* Bump Devialet==1.4.0

* Bump Devialet==1.4.1

* Sort manifest and add shorthand

* Black formatting

* Fix incompatible type

* Add type guarding for name

* Rename host keywork in tests

* Fix Devialet tests

* Add update coordinator

* Update devialet tests

* Create unique_id from entry data
2023-11-28 13:56:17 +01:00
Jan-Philipp Benecke
61a5c0de5e Use shorthand attributes in HVV departures (#104637)
* Use shorthand attributes in HVV departures

* Apply code review suggestion

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>

* Apply code review sugesstion

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

---------

Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 13:44:40 +01:00
fwestenberg
9dc5d4a1bb Update stookwijzer api to atlas leefomgeving (#103323)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-11-28 13:23:51 +01:00
Allen Porter
b8cc3349be Add To-do due date and description fields (#104128)
* Add To-do due date and description fields

* Fix due date schema

* Revert devcontainer change

* Split due date and due date time

* Add tests for config validation function

* Add timezone converstion tests

* Add local todo due date/time and description implementation

* Revert configuration

* Revert test changes

* Add comments for the todo item field description

* Rename function _validate_supported_features

* Fix issues in items factory

* Readability improvements

* Apply suggestions from code review

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

* Rename CONF to ATTR usages

* Simplify local time validator

* Rename TodoListEntityFeature fields for setting extended fields

* Remove duplicate validations

* Update subscribe test

* Fix local_todo tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-28 13:01:12 +01:00
Franck Nijhof
ef89d1cd3d 2023.11.3 (#104348) 2023-11-22 12:51:36 +01:00
Allen Porter
9c4fd88a3d Bump ical to 6.1.0 (#103759) 2023-11-22 09:45:45 +01:00
Allen Porter
f5783cd3b5 Bump ical to 6.0.0 (#103482) 2023-11-22 09:45:40 +01:00
Franck Nijhof
1200ded24c Bumped version to 2023.11.3 2023-11-22 09:12:24 +01:00
Erik Montnemery
da992e9f45 Bump pychromecast to 13.0.8 (#104320) 2023-11-22 09:11:21 +01:00
Allen Porter
40326385ae Bump pyrainbird to 4.0.1 (#104293) 2023-11-22 09:11:17 +01:00
Richard Kroegel
da04c32893 Bump bimmer_connected to 0.14.3 (#104282)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-11-22 09:11:13 +01:00
Jan Bouwhuis
ae2ff926c1 Restore removed guard for non-string inputs in Alexa (#104263) 2023-11-22 09:11:10 +01:00
epenet
a5d48da07a Catch ClientOSError in renault integration (#104248) 2023-11-22 09:11:06 +01:00
Anton Tolchanov
669daabfdb Handle attributes set to None in prometheus (#104247)
Better handle attributes set to None
2023-11-22 09:11:02 +01:00
Jan Bouwhuis
b64ef24f20 Fix mqtt json light allows to set brightness value >255 (#104220) 2023-11-22 09:10:58 +01:00
Jan Bouwhuis
86beb9d135 Fix imap does not decode text body correctly (#104217) 2023-11-22 09:10:06 +01:00
Rene Nemec
64297aeb8f Increase Tomato request timeout (#104203)
* tomato integration timeout fixed

* update tests in tomato integration
2023-11-22 09:10:01 +01:00
mkmer
5650df5cfb Bump aiosomecomfort to 0.0.22 (#104202)
* Bump aiosomecomfort to 0.0.20

* Bump aiosomecomfort to 0.0.22
2023-11-22 09:09:56 +01:00
Allen Porter
83c59d4154 Fix Local To-do list bug renaming items (#104182)
* Fix Local To-do bug renaming items

* Fix renaming
2023-11-22 09:09:53 +01:00
Thomas Schamm
4680ac0cbf Bump boschshcpy to 0.2.75 (#104159)
Bumped to boschshcpy==0.2.75
2023-11-22 09:08:37 +01:00
J. Nick Koston
8b79d38497 Prevent Bluetooth reconnects from blocking shutdown (#104150) 2023-11-22 09:08:33 +01:00
J. Nick Koston
35b1051c67 Add debug logging for which adapter is used to connect bluetooth devices (#103264)
Log which adapter is used to connect bluetooth devices

This is a debug logging improvement to help users find problems
with their setup
2023-11-22 09:08:28 +01:00
J. Nick Koston
fcc7020946 Fix memory leak in ESPHome disconnect callbacks (#104149) 2023-11-22 08:35:58 +01:00
J. Nick Koston
d69d9863b5 Fix ESPHome BLE client raising confusing error when not connected (#104146) 2023-11-22 08:35:55 +01:00
Arie Catsman
885152df81 Bump pyenphase to 1.14.3 (#104101)
fix(101354):update pyenphase to 1.14.3
2023-11-22 08:35:51 +01:00
Martin Hjelmare
7ff1bdb098 Fix device tracker see gps accuracy selector (#104022) 2023-11-22 08:35:48 +01:00
deosrc
399299c13c Fix netatmo authentication when using cloud authentication credentials (#104021)
* Fix netatmo authentication loop

* Update unit tests

* Move logic to determine api scopes

* Add unit tests for new method

* Use pyatmo scope list (#1)

* Exclude scopes not working with cloud

* Fix linting error

---------

Co-authored-by: Tobias Sauerwein <cgtobi@users.noreply.github.com>
2023-11-22 08:35:44 +01:00
J. Nick Koston
c241c2f79c Fix emulated_hue with None values (#104020) 2023-11-22 08:35:40 +01:00
Martin Hjelmare
b010c6b793 Fix openexchangerates form data description (#103974) 2023-11-22 08:35:36 +01:00
Chuck Foster
2f380d4b75 Fix duplicate Ban file entries (#103953) 2023-11-22 08:35:33 +01:00
Matt Zimmerman
19f268a1e1 Update smarttub to 0.0.36 (#103948) 2023-11-22 08:35:29 +01:00
Raman Gupta
bcd371ac2b Bump zwave-js-server-python to 0.54.0 (#103943) 2023-11-22 08:35:25 +01:00
Tom Brien
a5a8d38d08 Fix Coinbase for new API Structure (#103930) 2023-11-22 08:35:22 +01:00
Simone Chemelli
56298b2c88 fix Comelit cover stop (#103911) 2023-11-22 08:35:18 +01:00
Allen Porter
cf35e9b154 Update Fitbit to avoid a KeyError when restingHeartRate is not present (#103872)
* Update Fitbit to avoid a KeyError when `restingHeartRate` is not present

* Explicitly handle none response values
2023-11-22 08:35:15 +01:00
Allen Porter
29a65d5620 Fix for Google Calendar API returning invalid RRULE:DATE rules (#103870) 2023-11-22 08:35:11 +01:00
Allen Porter
c352cf0bd8 Fix bug in Fitbit config flow, and switch to prefer display name (#103869) 2023-11-22 08:35:08 +01:00
Allen Porter
e89b47138d Bump gcal_sync to 6.0.1 (#103861) 2023-11-22 08:35:04 +01:00
suaveolent
339e9e7b48 Bump lupupy to 0.3.1 (#103835)
Co-authored-by: suaveolent <suaveolent@users.noreply.github.com>
2023-11-22 08:35:00 +01:00
J. Nick Koston
92780dd217 Bump pyunifiprotect to 4.21.0 (#103832)
changelog: https://github.com/AngellusMortis/pyunifiprotect/compare/v4.20.0...v4.21.0
2023-11-22 08:34:56 +01:00
Maikel Punie
6133ce0258 Bump velbusaio to 2023.11.0 (#103798) 2023-11-22 08:34:53 +01:00
Simone Chemelli
57c76b2ea3 Bump aiocomelit to 0.5.2 (#103791)
* Bump aoicomelit to 0.5.0

* bump to 0.5.2
2023-11-22 08:34:49 +01:00
Mick Vleeshouwer
149aef9a12 Bump pyOverkiz to 1.13.2 (#103790) 2023-11-22 08:34:45 +01:00
Mick Vleeshouwer
3dddf6b9f6 Bump pyOverkiz to 1.13.0 (#103582) 2023-11-22 08:34:41 +01:00
Allen Porter
2a26dea587 Fix Rainbird unique to use a more reliable source (mac address) (#101603)
* Fix rainbird unique id to use a mac address for new entries

* Fix typo

* Normalize mac address before using as unique id

* Apply suggestions from code review

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

* Update test check and remove dead code

* Update all config entries to the new format

* Update config entry tests for migration

* Fix rainbird entity unique ids

* Add test coverage for repair failure

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

* Remove unnecessary migration failure checks

* Remove invalid config entries

* Update entry when entering a different hostname for an existing host.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-22 08:34:36 +01:00
Jan Rieger
31ac03fe50 Fix typo in calendar translation (#103789) 2023-11-22 08:31:14 +01:00
Marcel van der Veldt
fb1dfb016e Fix race condition in Matter unsubscribe method (#103770) 2023-11-22 08:31:10 +01:00
Jan Bouwhuis
8a152a68d8 Fix raising vol.Invalid during mqtt config validation instead of ValueError (#103764) 2023-11-22 08:31:06 +01:00
Marcel van der Veldt
df3e49b24f Fix discovery schema for Matter switches (#103762)
* Fix discovery schema for matter switches

* fix typo in function that generates device name

* add test for switchunit
2023-11-22 08:31:02 +01:00
G-Two
db604170ba Bump subarulink to 0.7.9 (#103761) 2023-11-22 08:30:58 +01:00
J. Nick Koston
d8a6d3e1bc Bump python-matter-server to 4.0.2 (#103760)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2023-11-22 08:30:54 +01:00
Maciej Bieniek
6f086a27d4 Bump accuweather to version 2.1.0 (#103744) 2023-11-22 08:30:51 +01:00
Joost Lekkerkerker
3993c14f1d Lock Withings token refresh (#103688)
Lock Withings refresh
2023-11-22 08:30:44 +01:00
Allen Porter
d63d7841c3 Remove rainbird yaml config test fixtures (#103607) 2023-11-22 08:30:38 +01:00
Maciej Bieniek
e555671765 Bump accuweather to version 2.0.1 (#103532) 2023-11-22 08:30:33 +01:00
Franck Nijhof
a3319262ac 2023.11.2 (#103737) 2023-11-10 12:41:51 +01:00
Franck Nijhof
eaf711335d Bumped version to 2023.11.2 2023-11-10 10:04:50 +01:00
Bram Kragten
f120558750 Update frontend to 20231030.2 (#103706) 2023-11-10 10:04:33 +01:00
Joost Lekkerkerker
30dc05cdd7 Add name to Withings coordinator (#103692) 2023-11-10 10:04:29 +01:00
J. Nick Koston
8ce746972f Incease tplink setup timeout (#103671)
It can take longer than 5s to do the first update of the device
especially when the device is overloaded as seen in #103668

Wait 10 seconds for the discovery since when the power strips are loaded they cannot respond in time
2023-11-10 10:04:26 +01:00
starkillerOG
f946ed9e16 Fix Reolink DHCP IP update (#103654) 2023-11-10 10:04:23 +01:00
Joost Lekkerkerker
0ffc1bae76 Bump yt-dlp to 2023.10.13 (#103616) 2023-11-10 10:04:20 +01:00
Joost Lekkerkerker
d1a3a5895b Raise exception when data can't be fetched in Opensky (#103596) 2023-11-10 10:04:17 +01:00
suaveolent
f9c70fd3c8 fix: get_devices only checks for the first type (#103583) 2023-11-10 10:04:14 +01:00
dupondje
70f0ee81c9 Update dsmr-parser to 1.3.1 to fix parsing issues (#103572) 2023-11-10 10:04:10 +01:00
Charles Garwood
95d4254074 Bump pyenphase to 1.14.2 (#103553) 2023-11-10 10:04:07 +01:00
J. Nick Koston
c8d3e377f0 Bump aioesphomeapi to 18.2.4 (#103552) 2023-11-10 10:04:04 +01:00
epenet
da1c282c1b Fix invalid MAC in samsungtv (#103512)
* Fix invalid MAC in samsungtv

* Also adjust __init__
2023-11-10 10:04:01 +01:00
dupondje
35c0c9958d Fix 5B Gas meter in dsmr (#103506)
* Fix 5B Gas meter in dsmr

In commit 1b73219 the gas meter broke for 5B.
As the change can't be reverted easily without removing the peak usage
sensors, we implement a workaround.

The first MBUS_METER_READING2 value will contain the gas meter data just
like the previous BELGIUM_5MIN_GAS_METER_READING did.
But this without the need to touch dsmr_parser (version).

Fixes: #103306, #103293

* Use parametrize

* Apply suggestions from code review

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>

* Add additional tests + typo fix

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-11-10 10:03:57 +01:00
mkmer
93a0bd351a Bump blinkpy to 0.22.3 (#103438) 2023-11-10 10:00:11 +01:00
J. Nick Koston
dbdd9d74cf Bump bluetooth-data-tools to 0.14.0 (#103413)
changelog: https://github.com/Bluetooth-Devices/bluetooth-data-tools/compare/v1.13.0...v1.14.0
2023-11-10 10:00:08 +01:00
J. Nick Koston
3cac87cf30 Bump aioesphomeapi to 18.2.1 (#103156) 2023-11-10 10:00:05 +01:00
Jesse Hills
d019045199 ESPHome: Add suggested_area from device info (#102834) 2023-11-10 10:00:00 +01:00
Robert Resch
8f684ab102 Revert binary_sensor part of #103210 (#103499) 2023-11-06 17:56:53 +01:00
Matt Zimmerman
c17def27fc Fix litterrobot test failure due to time zone dependence (#103444)
* fix litterrobot test

* use a date in northern hemisehpere summer
2023-11-06 17:03:07 +01:00
dupondje
27d8d1011e Use right equipment identifier in DSMR setup (#103494) 2023-11-06 14:51:33 +01:00
Joost Lekkerkerker
e2270a305d Sort Withings sleep data on end date (#103454)
* Sort Withings sleep data on end date

* Sort Withings sleep data on end date
2023-11-06 14:51:30 +01:00
Matthias Alphart
6fd8973a00 Fix KNX expose default value when attribute is None (#103446)
Fix KNX expose default value when attribute is `null`
2023-11-06 14:51:27 +01:00
jan iversen
9a37868244 Modbus set device_class in slaves (#103442) 2023-11-06 14:51:24 +01:00
jan iversen
9327c51115 modbus Allow swap: byte for datatype: string. (#103441) 2023-11-06 14:51:21 +01:00
Michael
e56e75114a Fix serial in Flo device information (#103427) 2023-11-06 14:51:17 +01:00
Tobias Sauerwein
f45114371e Bump pyatmo to v7.6.0 (#103410)
Signed-off-by: Tobias Sauerwein <cgtobi@gmail.com>
2023-11-06 14:51:14 +01:00
Franck Nijhof
7e2c12b0a9 Update tailscale to 0.6.0 (#103409) 2023-11-06 14:51:10 +01:00
J. Nick Koston
050f1085d0 Pin jaraco.functools to fix builds and CI (#103406) 2023-11-06 14:51:07 +01:00
Matt Zimmerman
334a02bc2b Handle smarttub sensor values being None (#103385)
* [smarttub] handle sensor values being None

* empty commit to rerun CI

* lint

* use const in test

* reorder checks

* use None instead of STATE_UNKNOWN

* empty commit to rerun CI

* check for STATE_UNKNOWN in test

* empty commit to rerun CI
2023-11-06 14:51:04 +01:00
Nathan Spencer
412fa4c65a Handle null data in WeatherFlow sensors (#103349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-06 14:51:01 +01:00
Álvaro Fernández Rojas
2b36befe95 Update aioairzone-cloud to v0.3.5 (#103315)
* Update aioairzone-cloud to v0.3.3

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update aioairzone-cloud to v0.3.4

Reverts accidental TaskGroup changes.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Update aioairzone-cloud to v0.3.5

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

* Trigger Github CI

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-11-06 14:50:56 +01:00
Álvaro Fernández Rojas
aa623cc15c Update aioairzone-cloud to v0.3.2 (#103258)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-11-06 14:50:51 +01:00
Maciej Bieniek
b0bb91ec08 Don't assume that the sleep value is a dictionary in Tractive integration (#103138)
* Sleep value can be null

* Catch TypeError
2023-11-06 14:49:10 +01:00
Franck Nijhof
ce12d82624 2023.11.1 (#103301) 2023-11-04 14:27:14 +01:00
Raman Gupta
9eff9ee374 Fix zwave_js cover bug for Window Covering CC values (#103289)
* Fix cover bug for Window Covering CC values

* update test

* Fix fixture

* Remove no-op line from test
2023-11-04 12:53:50 +01:00
Rami Mosleh
1ef460cffe Fix sensor unique id in Islamic prayer times (#103356) 2023-11-04 12:53:24 +01:00
Robert Svensson
42243f1433 Handle UniFi traffic rules not supported on older versions (#103346) 2023-11-04 12:53:21 +01:00
Jan Rieger
8a07c10d88 Report correct weather condition at night for Met (#103334)
* Report correct weather condition at night for Met, fixes #68369, fixes #89001

* Update homeassistant/components/met/weather.py

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2023-11-04 12:53:18 +01:00
Joakim Sørensen
730a3f7870 Remove extra from traccar webhook (#103319) 2023-11-04 12:53:15 +01:00
Jan-Philipp Benecke
718901d2ad Fix typo in Todoist config flow (#103317) 2023-11-04 12:53:12 +01:00
Raman Gupta
d95d4d0184 Add script to convert zwave_js device diagnostics to fixture (#102799) 2023-11-04 12:53:06 +01:00
Ian
67ce51899f Bump py_nextbusnext to v1.0.2 to fix TypeError (#103214)
* Bump py_nextbusnext to v1.0.1 to fix TypeError

Currently throwing an error as a set is passed into the method that is currently
expecting a Sequence. That method is technically compatible with Iterable, so the
latest patch relaxes that restriction.

* Bump version to v1.0.2 to fix error message
2023-11-04 12:46:05 +01:00
starkillerOG
810681b357 Bump reolink-aio to 0.7.14 and improve typing of Reolink (#103129)
* Improve typing

* fix mypy

* Further improve typing

* Restore Literal typing

* Bump reolink_aio to 0.7.13

* Bump reolink-aio to 0.7.14
2023-11-04 12:46:01 +01:00
Franck Nijhof
0b0f099d27 Bumped version to 2023.11.1 2023-11-03 13:02:22 +01:00
tronikos
4a56d0ec1d Bump opower to 0.0.39 (#103292) 2023-11-03 13:02:04 +01:00
Raman Gupta
910654bf78 Fix firmware update failure (#103277) 2023-11-03 13:02:01 +01:00
Marcel van der Veldt
1a823376d8 Fix Matter 1.2 locks with specific unlatch/unbolt support (#103275) 2023-11-03 13:01:56 +01:00
Pedro Januário
ba634ac346 add library logger info on ecoforest integration manifest (#103274) 2023-11-03 13:01:24 +01:00
J. Nick Koston
92486b1ff0 Bump yalexs-ble to 2.3.2 (#103267) 2023-11-03 12:59:19 +01:00
Tom
06d26b7c7f Fix Plugwise Schedule selection (#103262) 2023-11-03 12:59:16 +01:00
Joakim Plate
1dcd66d75c Remove measurement flag from timestamp in gardena bluetooth (#103245)
Remove measurement flag from timestamp
2023-11-03 12:59:13 +01:00
Charles Garwood
c811e0db49 Bump pyenphase to 1.14.1 (#103239) 2023-11-03 12:59:09 +01:00
Matthias Alphart
dc30ddc24b Fix Fronius entity initialisation (#103211)
* Use None instead of raising ValueError if value invalid

* use async_dispatcher_send
2023-11-03 12:59:06 +01:00
Jan Bouwhuis
239fa04d02 Fix mqtt config validation error handling (#103210)
* Fix MQTT config check

* Fix handling invalid enity_category for sensors

* Improve docstr

* Update comment

* Use correct util for yaml dump
2023-11-03 12:59:03 +01:00
Xitee
2be229c5b5 Fix roomba error if battery stats are not available (#103196) 2023-11-03 12:59:00 +01:00
Xitee
5b4df0f7ff Fix roomba translation key mismatch (#103191) 2023-11-03 12:58:57 +01:00
mkmer
355b51d4c8 Catch unexpected response in Honeywell (#103169)
catch unexpected response
2023-11-03 12:58:54 +01:00
Joost Lekkerkerker
0c8074bab4 Bump aiowaqi to 3.0.0 (#103166) 2023-11-03 12:58:51 +01:00
G Johansson
acd98e9b40 Bump python-holidays to 0.35 (#103092) 2023-11-03 12:58:45 +01:00
Franck Nijhof
0b8d4235c3 2023.11.0 (#103164) 2023-11-01 15:59:51 +01:00
Franck Nijhof
4ce859b4e4 Bumped version to 2023.11.0 2023-11-01 11:24:41 +01:00
Franck Nijhof
18acec32b8 Bumped version to 2023.11.0b6 2023-11-01 11:22:25 +01:00
Bram Kragten
cfa2f2ce61 Update frontend to 20231030.1 (#103163) 2023-11-01 11:22:16 +01:00
Jan Bouwhuis
aa5ea5ebc3 Fix mqtt is not reloading without yaml config (#103159) 2023-11-01 11:22:13 +01:00
J. Nick Koston
bcea021c14 Allow non-admins to subscribe to the issue registry updated event (#103145) 2023-11-01 11:22:10 +01:00
Allen Porter
ea2d2ba7b7 Improve fitbit oauth token error handling in config flow (#103131)
* Improve fitbit oauth token error handling in config flow

* Apply suggestions from code review

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

* Update tests with updated error reason

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-11-01 11:22:07 +01:00
Teemu R
c5f21fefbe Bump python-kasa to 0.5.4 for tplink (#103038) 2023-11-01 11:22:03 +01:00
Franck Nijhof
9910f9e0ae Bumped version to 2023.11.0b5 2023-10-31 19:43:21 +01:00
J. Nick Koston
f0a06efa1f Fix race in starting reauth flows (#103130) 2023-10-31 19:43:05 +01:00
J. Nick Koston
8992d15ffc Bump aiohomekit to 3.0.9 (#103123) 2023-10-31 19:43:02 +01:00
Paul Bottein
e097dc02dd Don't try to load resources in safe mode (#103122) 2023-10-31 19:42:59 +01:00
starkillerOG
bfae1468d6 Bump reolink-aio to 0.7.12 (#103120) 2023-10-31 19:42:52 +01:00
Christopher Fenner
09ed6e9f9b Handle exception introduced with recent PyViCare update (#103110) 2023-10-31 19:42:48 +01:00
Erik Montnemery
040ecb74e0 Add todo to core files (#103102) 2023-10-31 19:42:45 +01:00
Erik Montnemery
a48e63aa28 Fix todoist todo tests (#103101) 2023-10-31 19:42:41 +01:00
Erik Montnemery
19479b2a68 Fix local_todo todo tests (#103099) 2023-10-31 19:42:36 +01:00
Franck Nijhof
9ae29e243d Bumped version to 2023.11.0b4 2023-10-31 13:30:10 +01:00
Joost Lekkerkerker
e309bd764b Abort config flow if Google Tasks API is not enabled (#103114)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-31 13:29:52 +01:00
Christopher Fenner
777ffe6946 Fix client id label in ViCare integration (#103111) 2023-10-31 13:29:49 +01:00
Robert Resch
fa0f679a9a Fix todo.remove_item frontend (#103108) 2023-10-31 13:29:46 +01:00
Erik Montnemery
26b7e94c4f Fix shopping_list todo tests (#103100) 2023-10-31 13:29:43 +01:00
Erik Montnemery
957998ea8d Fix google_tasks todo tests (#103098) 2023-10-31 13:29:40 +01:00
Erik Montnemery
abaeacbd6b Fix restore state for light when saved attribute is None (#103096) 2023-10-31 13:29:36 +01:00
Bram Kragten
d76c16fa3a Update frontend to 20231030.0 (#103086) 2023-10-31 13:29:33 +01:00
G Johansson
67edb98e59 Fix Met Device Info (#103082) 2023-10-31 13:29:30 +01:00
Robert Resch
376a79eb42 Refactor todo services and their schema (#103079) 2023-10-31 13:29:27 +01:00
Rami Mosleh
41500cbe9b Code cleanup for transmission integration (#103078) 2023-10-31 13:29:24 +01:00
Paul Manzotti
06f27e7e74 Update geniushub-client to v0.7.1 (#103071) 2023-10-31 13:29:19 +01:00
Franck Nijhof
a3ebfaebe7 Bumped version to 2023.11.0b3 2023-10-30 19:59:32 +01:00
Joost Lekkerkerker
8d781ff063 Add 2 properties to Withings diagnostics (#103067) 2023-10-30 19:59:21 +01:00
Joost Lekkerkerker
bac39f0061 Show a warning when no Withings data found (#103066) 2023-10-30 19:59:17 +01:00
David Knowles
c7b702f3c2 Bump pyschlage to 2023.10.0 (#103065) 2023-10-30 19:59:14 +01:00
Christopher Fenner
3728f3da69 Update PyViCare to v2.28.1 for ViCare integration (#103064) 2023-10-30 19:59:11 +01:00
tronikos
31d8f4b35d Fix Opower not refreshing statistics when there are no forecast entities (#103058)
Ensure _insert_statistics is periodically called
2023-10-30 19:59:08 +01:00
Mike Woudenberg
f113d9aa71 Use correct config entry field to update when IP changes in loqed (#103051) 2023-10-30 19:59:05 +01:00
Jack Boswell
891ad0b1be Bump starlink-grpc-core to 1.1.3 (#103043) 2023-10-30 19:59:02 +01:00
Jirka
5c16a8247a Update MQTT QoS description string (#103036)
Update strings.json
2023-10-30 19:58:58 +01:00
Allen Porter
483671bf9f Bump google-nest-sdm to 3.0.3 (#103035) 2023-10-30 19:58:54 +01:00
G-Two
6f73d2aac5 Bump to subarulink 0.7.8 (#103033) 2023-10-30 19:58:50 +01:00
Allen Porter
f5b3661836 Fix bug in fitbit credential import for expired tokens (#103024)
* Fix bug in fitbit credential import on token refresh

* Use stable test ids

* Update homeassistant/components/fitbit/sensor.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-10-30 19:58:47 +01:00
kpine
f70c13214c Revert "Fix temperature setting for multi-setpoint z-wave device (#102395)" (#103022)
This reverts commit 2d6dc2bccc.
2023-10-30 19:58:43 +01:00
Raman Gupta
70e8978123 Fix zwave_js siren name (#103016)
* Fix zwave_js.siren name

* Fix test
2023-10-30 19:58:40 +01:00
Diogo Gomes
031b1c26ce Fix utility_meter reset when DST change occurs (#103012) 2023-10-30 19:58:37 +01:00
Nortonko
13580a334f Bump python-androidtv to 0.0.73 (#102999)
* Update manifest.json

Bump python-androidtv to version 0.0.73

* bump androidtv 0.0.73

* bump androidtv 0.0.73
2023-10-30 19:58:34 +01:00
Michael
e81bfb959e Fix proximity entity id (#102992)
* fix proximity entity id

* extend test to cover entity id
2023-10-30 19:58:31 +01:00
Tom Puttemans
fefe930506 DSMR Gas currently delivered device state class conflict (#102991)
Fixes #102985
2023-10-30 19:58:28 +01:00
David Bonnes
5ac7e8b1ac Harden evohome against failures to retrieve high-precision temps (#102989)
fix hass-logger-period
2023-10-30 19:58:24 +01:00
tronikos
36512f7157 Bump opower to 0.0.38 (#102983) 2023-10-30 19:58:21 +01:00
Bouwe Westerdijk
cc3ae9e103 Correct total state_class of huisbaasje sensors (#102945)
* Change all cumulative-interval sensors to TOTAL
2023-10-30 19:58:18 +01:00
Robert Hillis
12482216f6 Fix Google Mail expired authorization (#102735)
* Fix Google Mail expired authorization

* add test

* raise HomeAssistantError

* handle in api module

* uno mas
2023-10-30 19:58:14 +01:00
David Knowles
20409d0124 Make Hydrawise initialize data immediately (#101936) 2023-10-30 19:58:11 +01:00
mkmer
a741bc9951 Add retry before unavailable to Honeywell (#101702)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-30 19:58:08 +01:00
Erwin Douna
59d2bce369 Enable dry mode for Tado AC's V3 (#99568) 2023-10-30 19:58:04 +01:00
Paulus Schoutsen
eef318f63c Bumped version to 2023.11.0b2 2023-10-28 23:29:03 -04:00
Paulus Schoutsen
9c8a4bb4eb Fix proximity zone handling (#102971)
* fix proximity zone

* fix test
2023-10-28 23:29:03 -04:00
Paulus Schoutsen
9c9f1ea685 Fix error message strings for Todoist configuration flow (#102968)
* Fix error message strings for Todoist configuration flow

* Update error code in test
2023-10-28 23:29:03 -04:00
Paulus Schoutsen
85d999b020 Add gas device class to dsmr_reader sensor (#102953)
DSMR reader integration - can't configure gas meter in energy dashboard posible due to missing device_class
Fixes #102367
2023-10-28 23:29:03 -04:00
Paulus Schoutsen
bcddf52364 Update xknxproject to 3.4.0 (#102946) 2023-10-28 23:29:03 -04:00
Paulus Schoutsen
07e4e1379a Improve diagnostic handling in HomeWizard Energy (#102935) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
f9f010643a Handle/extend number entity availability property in HomeWizard Energy (#102934) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
974c34e2b6 Small base entity cleanup for HomeWizard Energy entities (#102933) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
1c3de76b04 Move HomeWizard Energy identify button to config entity category (#102932) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
bee63ca654 Hide mac address from HomeWizard Energy config entry/discovery titles (#102931) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
29c99f419f Bump velbusaio to 2023.10.2 (#102919) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
3d321c5ca7 Update frontend to 20231027.0 (#102913) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
4617c16a96 Update aioairzone-cloud to v0.3.1 (#102899) 2023-10-28 23:29:02 -04:00
Paulus Schoutsen
a60656bf29 Improve fitbit oauth import robustness (#102833)
* Improve fitbit oauth import robustness

* Improve sensor tests and remove unnecessary client check

* Fix oauth client id/secret config key checks

* Add executor for sync call
2023-10-28 23:29:02 -04:00
Paulus Schoutsen
2eb2a65197 Use new API for Vasttrafik (#102570) 2023-10-28 23:29:02 -04:00
Franck Nijhof
867aaf10ee Bumped version to 2023.11.0b1 2023-10-27 14:02:42 +02:00
Franck Nijhof
7fe1ac901f Some textual fixes for todo (#102895) 2023-10-27 14:02:24 +02:00
Bram Kragten
5dca3844ef Add redirect from shopping list to todo (#102894) 2023-10-27 14:02:20 +02:00
Erik Montnemery
b5c75a2f2f Allow missing components in safe mode (#102891) 2023-10-27 14:02:17 +02:00
Erik Montnemery
62fc9dfd6c Allow missing components in safe mode (#102888) 2023-10-27 14:02:14 +02:00
Jan Bouwhuis
0573981d6f Fix mqtt schema import not available for mqtt_room (#102866) 2023-10-27 14:02:09 +02:00
Paul Bottein
cc7a4d01e3 Don't return resources in safe mode (#102865) 2023-10-27 14:02:06 +02:00
Paul Bottein
293025ab6c Update frontend to 20231026.0 (#102857) 2023-10-27 14:02:02 +02:00
Jan-Philipp Benecke
a490b5e286 Add connections to PassiveBluetoothProcessorEntity (#102854) 2023-10-27 14:01:58 +02:00
Joost Lekkerkerker
7e4da1d03b Bump aiowithings to 1.0.2 (#102852) 2023-10-27 14:01:53 +02:00
Ravaka Razafimanantsoa
9e140864eb Address late review of switchbot cloud (#102842)
For Martin's review
2023-10-27 14:01:47 +02:00
Kevin Worrel
a6f88fb123 Bump screenlogicpy to v0.9.4 (#102836) 2023-10-27 14:01:43 +02:00
J. Nick Koston
386c5ecc3e Bump bleak-retry-connector to 3.3.0 (#102825)
changelog: https://github.com/Bluetooth-Devices/bleak-retry-connector/compare/v3.2.1...v3.3.0
2023-10-27 14:01:39 +02:00
Erik Montnemery
0d7fb5b026 Use real devices in automation blueprint tests (#102824) 2023-10-27 14:01:35 +02:00
Erik Montnemery
767b7ba4d6 Correct logic for picking bluetooth local name (#102823)
* Correct logic for picking bluetooth local name

* make test more robust

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-10-27 14:01:31 +02:00
William Scanlon
f2cef7245a Bump pyeconet to 0.1.22 to handle breaking API change (#102820) 2023-10-27 14:01:27 +02:00
J. Nick Koston
701a5d7758 Bump HAP-python 4.9.1 (#102811) 2023-10-27 14:01:23 +02:00
mkmer
244fccdae6 Move coordinator first refresh in Blink (#102805)
Move coordinator first refresh
2023-10-27 14:01:18 +02:00
Erik Montnemery
10e6a26717 Fix fan device actions (#102797) 2023-10-27 14:01:15 +02:00
Allen Porter
5fe5013198 Change todo move API to reference previous uid (#102795) 2023-10-27 14:01:11 +02:00
Marc Mueller
0a0584b053 Fix velbus import (#102780) 2023-10-27 14:01:07 +02:00
Erik Montnemery
62733e830f Improve validation of device automations (#102766)
* Improve validation of device automations

* Improve comments

* Address review comment
2023-10-27 14:01:02 +02:00
Simone Chemelli
bbcfb5f30e Improve exception handling for Vodafone Station (#102761)
* improve exception handling for Vodafone Station

* address review comment

* apply review comment

* better except handling (bump library)

* cleanup
2023-10-27 14:00:55 +02:00
Amit Finkelstein
5b0e0b07b3 Apple TV: Use replacement commands for deprecated ones (#102056)
Co-authored-by: Robert Resch <robert@resch.dev>
2023-10-27 14:00:45 +02:00
Franck Nijhof
05fd64fe80 Bumped version to 2023.11.0b0 2023-10-25 17:41:53 +02:00
12367 changed files with 513921 additions and 144904 deletions

View File

@@ -1,12 +1,17 @@
# Sorted by hassfest.
#
# To sort, run python3 -m script.hassfest -p coverage
[run]
source = homeassistant
omit =
homeassistant/__main__.py
homeassistant/helpers/backports/aiohttp_resolver.py
homeassistant/helpers/signal.py
homeassistant/scripts/__init__.py
homeassistant/scripts/benchmark/__init__.py
homeassistant/scripts/check_config.py
homeassistant/scripts/ensure_config.py
homeassistant/scripts/benchmark/__init__.py
homeassistant/scripts/macos/__init__.py
# omit pieces of code that rely on external devices being present
@@ -28,7 +33,6 @@ omit =
homeassistant/components/adguard/sensor.py
homeassistant/components/adguard/switch.py
homeassistant/components/ads/*
homeassistant/components/aemet/weather_update_coordinator.py
homeassistant/components/aftership/__init__.py
homeassistant/components/aftership/sensor.py
homeassistant/components/agent_dvr/alarm_control_panel.py
@@ -47,6 +51,9 @@ omit =
homeassistant/components/airtouch4/__init__.py
homeassistant/components/airtouch4/climate.py
homeassistant/components/airtouch4/coordinator.py
homeassistant/components/airtouch5/__init__.py
homeassistant/components/airtouch5/climate.py
homeassistant/components/airtouch5/entity.py
homeassistant/components/airvisual/__init__.py
homeassistant/components/airvisual/sensor.py
homeassistant/components/airvisual_pro/__init__.py
@@ -71,6 +78,10 @@ omit =
homeassistant/components/apple_tv/browse_media.py
homeassistant/components/apple_tv/media_player.py
homeassistant/components/apple_tv/remote.py
homeassistant/components/aprilaire/__init__.py
homeassistant/components/aprilaire/climate.py
homeassistant/components/aprilaire/coordinator.py
homeassistant/components/aprilaire/entity.py
homeassistant/components/aqualogic/*
homeassistant/components/aquostv/media_player.py
homeassistant/components/arcam_fmj/__init__.py
@@ -87,7 +98,7 @@ omit =
homeassistant/components/aseko_pool_live/entity.py
homeassistant/components/aseko_pool_live/sensor.py
homeassistant/components/asterisk_cdr/mailbox.py
homeassistant/components/asterisk_mbox/*
homeassistant/components/asterisk_mbox/mailbox.py
homeassistant/components/aten_pe/*
homeassistant/components/atome/*
homeassistant/components/aurora/__init__.py
@@ -97,10 +108,8 @@ omit =
homeassistant/components/aurora/sensor.py
homeassistant/components/avea/light.py
homeassistant/components/avion/light.py
homeassistant/components/azure_devops/__init__.py
homeassistant/components/azure_devops/sensor.py
homeassistant/components/azure_service_bus/*
homeassistant/components/awair/coordinator.py
homeassistant/components/azure_service_bus/*
homeassistant/components/baf/__init__.py
homeassistant/components/baf/climate.py
homeassistant/components/baf/entity.py
@@ -110,6 +119,12 @@ omit =
homeassistant/components/baf/sensor.py
homeassistant/components/baf/switch.py
homeassistant/components/baidu/tts.py
homeassistant/components/bang_olufsen/__init__.py
homeassistant/components/bang_olufsen/const.py
homeassistant/components/bang_olufsen/entity.py
homeassistant/components/bang_olufsen/media_player.py
homeassistant/components/bang_olufsen/util.py
homeassistant/components/bang_olufsen/websocket.py
homeassistant/components/bbox/device_tracker.py
homeassistant/components/bbox/sensor.py
homeassistant/components/beewi_smartclim/sensor.py
@@ -142,6 +157,8 @@ omit =
homeassistant/components/braviatv/coordinator.py
homeassistant/components/braviatv/media_player.py
homeassistant/components/braviatv/remote.py
homeassistant/components/bring/coordinator.py
homeassistant/components/bring/todo.py
homeassistant/components/broadlink/climate.py
homeassistant/components/broadlink/light.py
homeassistant/components/broadlink/remote.py
@@ -173,9 +190,12 @@ omit =
homeassistant/components/coinbase/sensor.py
homeassistant/components/comed_hourly_pricing/sensor.py
homeassistant/components/comelit/__init__.py
homeassistant/components/comelit/alarm_control_panel.py
homeassistant/components/comelit/climate.py
homeassistant/components/comelit/const.py
homeassistant/components/comelit/cover.py
homeassistant/components/comelit/coordinator.py
homeassistant/components/comelit/cover.py
homeassistant/components/comelit/humidifier.py
homeassistant/components/comelit/light.py
homeassistant/components/comelit/sensor.py
homeassistant/components/comelit/switch.py
@@ -185,6 +205,7 @@ omit =
homeassistant/components/control4/__init__.py
homeassistant/components/control4/director_utils.py
homeassistant/components/control4/light.py
homeassistant/components/control4/media_player.py
homeassistant/components/coolmaster/coordinator.py
homeassistant/components/cppm_tracker/device_tracker.py
homeassistant/components/crownstone/__init__.py
@@ -221,8 +242,8 @@ omit =
homeassistant/components/dominos/*
homeassistant/components/doods/*
homeassistant/components/doorbird/__init__.py
homeassistant/components/doorbird/camera.py
homeassistant/components/doorbird/button.py
homeassistant/components/doorbird/camera.py
homeassistant/components/doorbird/device.py
homeassistant/components/doorbird/entity.py
homeassistant/components/doorbird/util.py
@@ -233,7 +254,7 @@ omit =
homeassistant/components/dormakaba_dkey/lock.py
homeassistant/components/dormakaba_dkey/sensor.py
homeassistant/components/dovado/*
homeassistant/components/downloader/*
homeassistant/components/downloader/__init__.py
homeassistant/components/dsmr_reader/__init__.py
homeassistant/components/dsmr_reader/definitions.py
homeassistant/components/dsmr_reader/sensor.py
@@ -242,12 +263,12 @@ omit =
homeassistant/components/dunehd/__init__.py
homeassistant/components/dunehd/media_player.py
homeassistant/components/duotecno/__init__.py
homeassistant/components/duotecno/entity.py
homeassistant/components/duotecno/switch.py
homeassistant/components/duotecno/cover.py
homeassistant/components/duotecno/light.py
homeassistant/components/duotecno/climate.py
homeassistant/components/duotecno/binary_sensor.py
homeassistant/components/duotecno/climate.py
homeassistant/components/duotecno/cover.py
homeassistant/components/duotecno/entity.py
homeassistant/components/duotecno/light.py
homeassistant/components/duotecno/switch.py
homeassistant/components/dwd_weather_warnings/const.py
homeassistant/components/dwd_weather_warnings/coordinator.py
homeassistant/components/dwd_weather_warnings/sensor.py
@@ -272,7 +293,12 @@ omit =
homeassistant/components/econet/climate.py
homeassistant/components/econet/sensor.py
homeassistant/components/econet/water_heater.py
homeassistant/components/ecovacs/*
homeassistant/components/ecovacs/controller.py
homeassistant/components/ecovacs/entity.py
homeassistant/components/ecovacs/image.py
homeassistant/components/ecovacs/number.py
homeassistant/components/ecovacs/util.py
homeassistant/components/ecovacs/vacuum.py
homeassistant/components/ecowitt/__init__.py
homeassistant/components/ecowitt/binary_sensor.py
homeassistant/components/ecowitt/entity.py
@@ -282,10 +308,12 @@ omit =
homeassistant/components/edl21/__init__.py
homeassistant/components/edl21/sensor.py
homeassistant/components/egardia/*
homeassistant/components/electrasmart/__init__.py
homeassistant/components/electrasmart/climate.py
homeassistant/components/electric_kiwi/__init__.py
homeassistant/components/electric_kiwi/api.py
homeassistant/components/electric_kiwi/oauth2.py
homeassistant/components/electric_kiwi/coordinator.py
homeassistant/components/electric_kiwi/oauth2.py
homeassistant/components/electric_kiwi/select.py
homeassistant/components/eliqonline/sensor.py
homeassistant/components/elkm1/__init__.py
@@ -303,6 +331,8 @@ omit =
homeassistant/components/elmax/cover.py
homeassistant/components/elmax/switch.py
homeassistant/components/elv/*
homeassistant/components/elvia/__init__.py
homeassistant/components/elvia/importer.py
homeassistant/components/emby/media_player.py
homeassistant/components/emoncms/sensor.py
homeassistant/components/emoncms_history/*
@@ -331,14 +361,21 @@ omit =
homeassistant/components/environment_canada/weather.py
homeassistant/components/envisalink/*
homeassistant/components/ephember/climate.py
homeassistant/components/epic_games_store/__init__.py
homeassistant/components/epic_games_store/coordinator.py
homeassistant/components/epion/__init__.py
homeassistant/components/epion/coordinator.py
homeassistant/components/epion/sensor.py
homeassistant/components/epson/__init__.py
homeassistant/components/epson/media_player.py
homeassistant/components/epsonworkforce/sensor.py
homeassistant/components/eq3btsmart/__init__.py
homeassistant/components/eq3btsmart/climate.py
homeassistant/components/eq3btsmart/const.py
homeassistant/components/eq3btsmart/entity.py
homeassistant/components/eq3btsmart/models.py
homeassistant/components/escea/__init__.py
homeassistant/components/escea/climate.py
homeassistant/components/escea/discovery.py
homeassistant/components/esphome/bluetooth/*
homeassistant/components/esphome/manager.py
homeassistant/components/etherscan/sensor.py
homeassistant/components/eufy/*
homeassistant/components/eufylife_ble/__init__.py
@@ -350,11 +387,11 @@ omit =
homeassistant/components/ezviz/binary_sensor.py
homeassistant/components/ezviz/button.py
homeassistant/components/ezviz/camera.py
homeassistant/components/ezviz/coordinator.py
homeassistant/components/ezviz/entity.py
homeassistant/components/ezviz/image.py
homeassistant/components/ezviz/light.py
homeassistant/components/ezviz/coordinator.py
homeassistant/components/ezviz/number.py
homeassistant/components/ezviz/entity.py
homeassistant/components/ezviz/select.py
homeassistant/components/ezviz/sensor.py
homeassistant/components/ezviz/siren.py
@@ -364,8 +401,6 @@ omit =
homeassistant/components/faa_delays/binary_sensor.py
homeassistant/components/faa_delays/coordinator.py
homeassistant/components/familyhub/camera.py
homeassistant/components/fastdotcom/sensor.py
homeassistant/components/fastdotcom/__init__.py
homeassistant/components/ffmpeg/camera.py
homeassistant/components/fibaro/__init__.py
homeassistant/components/fibaro/binary_sensor.py
@@ -404,6 +439,7 @@ omit =
homeassistant/components/fjaraskupan/sensor.py
homeassistant/components/fleetgo/device_tracker.py
homeassistant/components/flexit/climate.py
homeassistant/components/flexit_bacnet/climate.py
homeassistant/components/flic/binary_sensor.py
homeassistant/components/flick_electric/__init__.py
homeassistant/components/flick_electric/sensor.py
@@ -419,6 +455,8 @@ omit =
homeassistant/components/fortios/device_tracker.py
homeassistant/components/foscam/__init__.py
homeassistant/components/foscam/camera.py
homeassistant/components/foscam/coordinator.py
homeassistant/components/foscam/entity.py
homeassistant/components/foursquare/*
homeassistant/components/free_mobile/notify.py
homeassistant/components/freebox/camera.py
@@ -435,6 +473,10 @@ omit =
homeassistant/components/frontier_silicon/browse_media.py
homeassistant/components/frontier_silicon/media_player.py
homeassistant/components/futurenow/light.py
homeassistant/components/fyta/__init__.py
homeassistant/components/fyta/coordinator.py
homeassistant/components/fyta/entity.py
homeassistant/components/fyta/sensor.py
homeassistant/components/garadget/cover.py
homeassistant/components/garages_amsterdam/__init__.py
homeassistant/components/garages_amsterdam/binary_sensor.py
@@ -459,9 +501,11 @@ omit =
homeassistant/components/google_cloud/tts.py
homeassistant/components/google_maps/device_tracker.py
homeassistant/components/google_pubsub/__init__.py
homeassistant/components/gpsd/__init__.py
homeassistant/components/gpsd/sensor.py
homeassistant/components/greenwave/light.py
homeassistant/components/growatt_server/__init__.py
homeassistant/components/growatt_server/const.py
homeassistant/components/growatt_server/sensor.py
homeassistant/components/growatt_server/sensor_types/*
homeassistant/components/gstreamer/media_player.py
@@ -469,9 +513,11 @@ omit =
homeassistant/components/guardian/__init__.py
homeassistant/components/guardian/binary_sensor.py
homeassistant/components/guardian/button.py
homeassistant/components/guardian/coordinator.py
homeassistant/components/guardian/sensor.py
homeassistant/components/guardian/switch.py
homeassistant/components/guardian/util.py
homeassistant/components/guardian/valve.py
homeassistant/components/habitica/__init__.py
homeassistant/components/habitica/sensor.py
homeassistant/components/harman_kardon_avr/media_player.py
@@ -493,17 +539,15 @@ omit =
homeassistant/components/hive/sensor.py
homeassistant/components/hive/switch.py
homeassistant/components/hive/water_heater.py
homeassistant/components/hko/__init__.py
homeassistant/components/hko/coordinator.py
homeassistant/components/hko/weather.py
homeassistant/components/hlk_sw16/__init__.py
homeassistant/components/hlk_sw16/switch.py
homeassistant/components/home_connect/__init__.py
homeassistant/components/home_connect/api.py
homeassistant/components/home_connect/binary_sensor.py
homeassistant/components/home_connect/entity.py
homeassistant/components/home_connect/light.py
homeassistant/components/home_connect/sensor.py
homeassistant/components/home_connect/switch.py
homeassistant/components/home_plus_control/api.py
homeassistant/components/home_plus_control/switch.py
homeassistant/components/homematic/__init__.py
homeassistant/components/homematic/binary_sensor.py
homeassistant/components/homematic/climate.py
@@ -514,7 +558,6 @@ omit =
homeassistant/components/homematic/notify.py
homeassistant/components/homematic/sensor.py
homeassistant/components/homematic/switch.py
homeassistant/components/homeworks/*
homeassistant/components/horizon/media_player.py
homeassistant/components/hp_ilo/sensor.py
homeassistant/components/huawei_lte/__init__.py
@@ -528,14 +571,18 @@ omit =
homeassistant/components/hunterdouglas_powerview/coordinator.py
homeassistant/components/hunterdouglas_powerview/cover.py
homeassistant/components/hunterdouglas_powerview/entity.py
homeassistant/components/hunterdouglas_powerview/number.py
homeassistant/components/hunterdouglas_powerview/select.py
homeassistant/components/hunterdouglas_powerview/sensor.py
homeassistant/components/hunterdouglas_powerview/shade_data.py
homeassistant/components/hunterdouglas_powerview/util.py
homeassistant/components/huum/__init__.py
homeassistant/components/huum/climate.py
homeassistant/components/hvv_departures/__init__.py
homeassistant/components/hvv_departures/binary_sensor.py
homeassistant/components/hvv_departures/sensor.py
homeassistant/components/ialarm/alarm_control_panel.py
homeassistant/components/iammeter/const.py
homeassistant/components/iammeter/sensor.py
homeassistant/components/iaqualink/binary_sensor.py
homeassistant/components/iaqualink/climate.py
@@ -624,17 +671,15 @@ omit =
homeassistant/components/keyboard/*
homeassistant/components/keyboard_remote/*
homeassistant/components/keymitt_ble/__init__.py
homeassistant/components/keymitt_ble/coordinator.py
homeassistant/components/keymitt_ble/entity.py
homeassistant/components/keymitt_ble/switch.py
homeassistant/components/keymitt_ble/coordinator.py
homeassistant/components/kitchen_sink/weather.py
homeassistant/components/kiwi/lock.py
homeassistant/components/kodi/__init__.py
homeassistant/components/kodi/browse_media.py
homeassistant/components/kodi/media_player.py
homeassistant/components/kodi/notify.py
homeassistant/components/komfovent/__init__.py
homeassistant/components/komfovent/climate.py
homeassistant/components/konnected/__init__.py
homeassistant/components/konnected/panel.py
homeassistant/components/konnected/switch.py
@@ -660,10 +705,6 @@ omit =
homeassistant/components/lg_netcast/media_player.py
homeassistant/components/lg_soundbar/__init__.py
homeassistant/components/lg_soundbar/media_player.py
homeassistant/components/life360/__init__.py
homeassistant/components/life360/button.py
homeassistant/components/life360/coordinator.py
homeassistant/components/life360/device_tracker.py
homeassistant/components/lightwave/*
homeassistant/components/limitlessled/light.py
homeassistant/components/linksys_smart/device_tracker.py
@@ -691,10 +732,17 @@ omit =
homeassistant/components/loqed/sensor.py
homeassistant/components/luci/device_tracker.py
homeassistant/components/luftdaten/sensor.py
homeassistant/components/lupusec/*
homeassistant/components/lupusec/__init__.py
homeassistant/components/lupusec/alarm_control_panel.py
homeassistant/components/lupusec/binary_sensor.py
homeassistant/components/lupusec/entity.py
homeassistant/components/lupusec/switch.py
homeassistant/components/lutron/__init__.py
homeassistant/components/lutron/binary_sensor.py
homeassistant/components/lutron/cover.py
homeassistant/components/lutron/entity.py
homeassistant/components/lutron/event.py
homeassistant/components/lutron/fan.py
homeassistant/components/lutron/light.py
homeassistant/components/lutron/switch.py
homeassistant/components/lutron_caseta/__init__.py
@@ -709,7 +757,6 @@ omit =
homeassistant/components/lyric/climate.py
homeassistant/components/lyric/sensor.py
homeassistant/components/mailgun/notify.py
homeassistant/components/map/*
homeassistant/components/mastodon/notify.py
homeassistant/components/matrix/__init__.py
homeassistant/components/matrix/notify.py
@@ -735,6 +782,18 @@ omit =
homeassistant/components/meteoclimatic/__init__.py
homeassistant/components/meteoclimatic/sensor.py
homeassistant/components/meteoclimatic/weather.py
homeassistant/components/microbees/__init__.py
homeassistant/components/microbees/api.py
homeassistant/components/microbees/application_credentials.py
homeassistant/components/microbees/binary_sensor.py
homeassistant/components/microbees/button.py
homeassistant/components/microbees/const.py
homeassistant/components/microbees/coordinator.py
homeassistant/components/microbees/cover.py
homeassistant/components/microbees/entity.py
homeassistant/components/microbees/light.py
homeassistant/components/microbees/sensor.py
homeassistant/components/microbees/switch.py
homeassistant/components/microsoft/tts.py
homeassistant/components/mikrotik/hub.py
homeassistant/components/mill/climate.py
@@ -756,6 +815,17 @@ omit =
homeassistant/components/motion_blinds/cover.py
homeassistant/components/motion_blinds/entity.py
homeassistant/components/motion_blinds/sensor.py
homeassistant/components/motionblinds_ble/__init__.py
homeassistant/components/motionblinds_ble/button.py
homeassistant/components/motionblinds_ble/cover.py
homeassistant/components/motionblinds_ble/entity.py
homeassistant/components/motionblinds_ble/select.py
homeassistant/components/motionmount/__init__.py
homeassistant/components/motionmount/binary_sensor.py
homeassistant/components/motionmount/entity.py
homeassistant/components/motionmount/number.py
homeassistant/components/motionmount/select.py
homeassistant/components/motionmount/sensor.py
homeassistant/components/mpd/media_player.py
homeassistant/components/mqtt_room/sensor.py
homeassistant/components/msteams/notify.py
@@ -775,8 +845,15 @@ omit =
homeassistant/components/mysensors/switch.py
homeassistant/components/mystrom/binary_sensor.py
homeassistant/components/mystrom/light.py
homeassistant/components/mystrom/switch.py
homeassistant/components/mystrom/sensor.py
homeassistant/components/mystrom/switch.py
homeassistant/components/myuplink/__init__.py
homeassistant/components/myuplink/api.py
homeassistant/components/myuplink/application_credentials.py
homeassistant/components/myuplink/coordinator.py
homeassistant/components/myuplink/entity.py
homeassistant/components/myuplink/helpers.py
homeassistant/components/myuplink/sensor.py
homeassistant/components/nad/media_player.py
homeassistant/components/nanoleaf/__init__.py
homeassistant/components/nanoleaf/button.py
@@ -784,13 +861,13 @@ omit =
homeassistant/components/nanoleaf/light.py
homeassistant/components/neato/__init__.py
homeassistant/components/neato/api.py
homeassistant/components/neato/button.py
homeassistant/components/neato/camera.py
homeassistant/components/neato/entity.py
homeassistant/components/neato/hub.py
homeassistant/components/neato/sensor.py
homeassistant/components/neato/switch.py
homeassistant/components/neato/vacuum.py
homeassistant/components/neato/button.py
homeassistant/components/nederlandse_spoorwegen/sensor.py
homeassistant/components/netdata/sensor.py
homeassistant/components/netgear/__init__.py
@@ -801,7 +878,8 @@ omit =
homeassistant/components/netgear/sensor.py
homeassistant/components/netgear/switch.py
homeassistant/components/netgear/update.py
homeassistant/components/netgear_lte/*
homeassistant/components/netgear_lte/__init__.py
homeassistant/components/netgear_lte/notify.py
homeassistant/components/netio/switch.py
homeassistant/components/neurio_energy/sensor.py
homeassistant/components/nexia/climate.py
@@ -812,6 +890,7 @@ omit =
homeassistant/components/nextcloud/coordinator.py
homeassistant/components/nextcloud/entity.py
homeassistant/components/nextcloud/sensor.py
homeassistant/components/nextcloud/update.py
homeassistant/components/nfandroidtv/__init__.py
homeassistant/components/nfandroidtv/notify.py
homeassistant/components/nibe_heatpump/__init__.py
@@ -835,7 +914,9 @@ omit =
homeassistant/components/notify_events/notify.py
homeassistant/components/notion/__init__.py
homeassistant/components/notion/binary_sensor.py
homeassistant/components/notion/coordinator.py
homeassistant/components/notion/sensor.py
homeassistant/components/notion/util.py
homeassistant/components/nsw_fuel_station/sensor.py
homeassistant/components/nuki/__init__.py
homeassistant/components/nuki/binary_sensor.py
@@ -858,6 +939,7 @@ omit =
homeassistant/components/omnilogic/switch.py
homeassistant/components/ondilo_ico/__init__.py
homeassistant/components/ondilo_ico/api.py
homeassistant/components/ondilo_ico/coordinator.py
homeassistant/components/ondilo_ico/sensor.py
homeassistant/components/onkyo/media_player.py
homeassistant/components/onvif/__init__.py
@@ -869,7 +951,6 @@ omit =
homeassistant/components/onvif/sensor.py
homeassistant/components/onvif/util.py
homeassistant/components/open_meteo/weather.py
homeassistant/components/opencv/*
homeassistant/components/openevse/sensor.py
homeassistant/components/openexchangerates/__init__.py
homeassistant/components/openexchangerates/coordinator.py
@@ -892,16 +973,22 @@ omit =
homeassistant/components/openuv/binary_sensor.py
homeassistant/components/openuv/coordinator.py
homeassistant/components/openuv/sensor.py
homeassistant/components/openweathermap/__init__.py
homeassistant/components/openweathermap/sensor.py
homeassistant/components/openweathermap/weather.py
homeassistant/components/openweathermap/weather_update_coordinator.py
homeassistant/components/opnsense/__init__.py
homeassistant/components/opnsense/device_tracker.py
homeassistant/components/opower/__init__.py
homeassistant/components/opower/coordinator.py
homeassistant/components/opower/sensor.py
homeassistant/components/opnsense/device_tracker.py
homeassistant/components/opple/light.py
homeassistant/components/oru/*
homeassistant/components/orvibo/switch.py
homeassistant/components/osoenergy/__init__.py
homeassistant/components/osoenergy/const.py
homeassistant/components/osoenergy/sensor.py
homeassistant/components/osoenergy/water_heater.py
homeassistant/components/osramlightify/light.py
homeassistant/components/otp/sensor.py
homeassistant/components/overkiz/__init__.py
@@ -931,7 +1018,9 @@ omit =
homeassistant/components/pandora/media_player.py
homeassistant/components/pencom/switch.py
homeassistant/components/permobil/__init__.py
homeassistant/components/permobil/binary_sensor.py
homeassistant/components/permobil/coordinator.py
homeassistant/components/permobil/entity.py
homeassistant/components/permobil/sensor.py
homeassistant/components/philips_js/__init__.py
homeassistant/components/philips_js/light.py
@@ -991,8 +1080,14 @@ omit =
homeassistant/components/qrcode/image_processing.py
homeassistant/components/quantum_gateway/device_tracker.py
homeassistant/components/qvr_pro/*
homeassistant/components/rabbitair/__init__.py
homeassistant/components/rabbitair/const.py
homeassistant/components/rabbitair/coordinator.py
homeassistant/components/rabbitair/entity.py
homeassistant/components/rabbitair/fan.py
homeassistant/components/rachio/__init__.py
homeassistant/components/rachio/binary_sensor.py
homeassistant/components/rachio/coordinator.py
homeassistant/components/rachio/device.py
homeassistant/components/rachio/entity.py
homeassistant/components/rachio/switch.py
@@ -1014,23 +1109,31 @@ omit =
homeassistant/components/rainmachine/switch.py
homeassistant/components/rainmachine/update.py
homeassistant/components/rainmachine/util.py
homeassistant/components/renson/__init__.py
homeassistant/components/renson/const.py
homeassistant/components/renson/coordinator.py
homeassistant/components/renson/entity.py
homeassistant/components/renson/sensor.py
homeassistant/components/renson/button.py
homeassistant/components/renson/fan.py
homeassistant/components/renson/binary_sensor.py
homeassistant/components/renson/number.py
homeassistant/components/raspyrfm/*
homeassistant/components/recollect_waste/sensor.py
homeassistant/components/recorder/repack.py
homeassistant/components/recswitch/switch.py
homeassistant/components/reddit/sensor.py
homeassistant/components/refoss/__init__.py
homeassistant/components/refoss/bridge.py
homeassistant/components/refoss/coordinator.py
homeassistant/components/refoss/entity.py
homeassistant/components/refoss/switch.py
homeassistant/components/refoss/util.py
homeassistant/components/rejseplanen/sensor.py
homeassistant/components/remember_the_milk/__init__.py
homeassistant/components/remote_rpi_gpio/*
homeassistant/components/renson/__init__.py
homeassistant/components/renson/binary_sensor.py
homeassistant/components/renson/button.py
homeassistant/components/renson/const.py
homeassistant/components/renson/coordinator.py
homeassistant/components/renson/entity.py
homeassistant/components/renson/fan.py
homeassistant/components/renson/number.py
homeassistant/components/renson/sensor.py
homeassistant/components/renson/switch.py
homeassistant/components/renson/time.py
homeassistant/components/reolink/binary_sensor.py
homeassistant/components/reolink/button.py
homeassistant/components/reolink/camera.py
@@ -1055,6 +1158,12 @@ omit =
homeassistant/components/ripple/sensor.py
homeassistant/components/roborock/coordinator.py
homeassistant/components/rocketchat/notify.py
homeassistant/components/romy/__init__.py
homeassistant/components/romy/binary_sensor.py
homeassistant/components/romy/coordinator.py
homeassistant/components/romy/entity.py
homeassistant/components/romy/sensor.py
homeassistant/components/romy/vacuum.py
homeassistant/components/roomba/__init__.py
homeassistant/components/roomba/binary_sensor.py
homeassistant/components/roomba/braava.py
@@ -1068,26 +1177,26 @@ omit =
homeassistant/components/roon/media_player.py
homeassistant/components/roon/server.py
homeassistant/components/route53/*
homeassistant/components/rova/sensor.py
homeassistant/components/rpi_camera/*
homeassistant/components/rtorrent/sensor.py
homeassistant/components/russound_rio/media_player.py
homeassistant/components/russound_rnet/media_player.py
homeassistant/components/ruuvi_gateway/__init__.py
homeassistant/components/ruuvi_gateway/bluetooth.py
homeassistant/components/ruuvi_gateway/coordinator.py
homeassistant/components/russound_rio/media_player.py
homeassistant/components/russound_rnet/media_player.py
homeassistant/components/rympro/__init__.py
homeassistant/components/rympro/coordinator.py
homeassistant/components/rympro/sensor.py
homeassistant/components/sabnzbd/__init__.py
homeassistant/components/sabnzbd/coordinator.py
homeassistant/components/sabnzbd/sensor.py
homeassistant/components/saj/sensor.py
homeassistant/components/satel_integra/*
homeassistant/components/schluter/*
homeassistant/components/screenlogic/binary_sensor.py
homeassistant/components/screenlogic/climate.py
homeassistant/components/screenlogic/coordinator.py
homeassistant/components/screenlogic/const.py
homeassistant/components/screenlogic/coordinator.py
homeassistant/components/screenlogic/entity.py
homeassistant/components/screenlogic/light.py
homeassistant/components/screenlogic/number.py
@@ -1106,7 +1215,6 @@ omit =
homeassistant/components/serial_pm/sensor.py
homeassistant/components/sesame/lock.py
homeassistant/components/seven_segments/image_processing.py
homeassistant/components/seventeentrack/sensor.py
homeassistant/components/shodan/sensor.py
homeassistant/components/sia/__init__.py
homeassistant/components/sia/alarm_control_panel.py
@@ -1163,8 +1271,8 @@ omit =
homeassistant/components/solaredge/coordinator.py
homeassistant/components/solaredge_local/sensor.py
homeassistant/components/solarlog/__init__.py
homeassistant/components/solarlog/sensor.py
homeassistant/components/solarlog/coordinator.py
homeassistant/components/solarlog/sensor.py
homeassistant/components/solax/__init__.py
homeassistant/components/solax/sensor.py
homeassistant/components/soma/__init__.py
@@ -1201,6 +1309,16 @@ omit =
homeassistant/components/squeezebox/__init__.py
homeassistant/components/squeezebox/browse_media.py
homeassistant/components/squeezebox/media_player.py
homeassistant/components/starline/__init__.py
homeassistant/components/starline/account.py
homeassistant/components/starline/binary_sensor.py
homeassistant/components/starline/button.py
homeassistant/components/starline/device_tracker.py
homeassistant/components/starline/entity.py
homeassistant/components/starline/lock.py
homeassistant/components/starline/sensor.py
homeassistant/components/starline/switch.py
homeassistant/components/starlingbank/sensor.py
homeassistant/components/starlink/__init__.py
homeassistant/components/starlink/binary_sensor.py
homeassistant/components/starlink/button.py
@@ -1208,15 +1326,7 @@ omit =
homeassistant/components/starlink/device_tracker.py
homeassistant/components/starlink/sensor.py
homeassistant/components/starlink/switch.py
homeassistant/components/starline/__init__.py
homeassistant/components/starline/account.py
homeassistant/components/starline/binary_sensor.py
homeassistant/components/starline/device_tracker.py
homeassistant/components/starline/entity.py
homeassistant/components/starline/lock.py
homeassistant/components/starline/sensor.py
homeassistant/components/starline/switch.py
homeassistant/components/starlingbank/sensor.py
homeassistant/components/starlink/time.py
homeassistant/components/steam_online/sensor.py
homeassistant/components/stiebel_eltron/*
homeassistant/components/stookalert/__init__.py
@@ -1228,8 +1338,12 @@ omit =
homeassistant/components/stream/fmp4utils.py
homeassistant/components/stream/hls.py
homeassistant/components/stream/worker.py
homeassistant/components/streamlabswater/*
homeassistant/components/suez_water/*
homeassistant/components/streamlabswater/__init__.py
homeassistant/components/streamlabswater/binary_sensor.py
homeassistant/components/streamlabswater/coordinator.py
homeassistant/components/streamlabswater/sensor.py
homeassistant/components/suez_water/__init__.py
homeassistant/components/suez_water/sensor.py
homeassistant/components/supervisord/sensor.py
homeassistant/components/supla/*
homeassistant/components/surepetcare/__init__.py
@@ -1237,6 +1351,8 @@ omit =
homeassistant/components/surepetcare/entity.py
homeassistant/components/surepetcare/sensor.py
homeassistant/components/swiss_hydrological_data/sensor.py
homeassistant/components/swiss_public_transport/__init__.py
homeassistant/components/swiss_public_transport/coordinator.py
homeassistant/components/swiss_public_transport/sensor.py
homeassistant/components/swisscom/device_tracker.py
homeassistant/components/switchbee/__init__.py
@@ -1254,9 +1370,9 @@ omit =
homeassistant/components/switchbot/entity.py
homeassistant/components/switchbot/humidifier.py
homeassistant/components/switchbot/light.py
homeassistant/components/switchbot/lock.py
homeassistant/components/switchbot/sensor.py
homeassistant/components/switchbot/switch.py
homeassistant/components/switchbot/lock.py
homeassistant/components/switchbot_cloud/climate.py
homeassistant/components/switchbot_cloud/coordinator.py
homeassistant/components/switchbot_cloud/entity.py
@@ -1288,19 +1404,14 @@ omit =
homeassistant/components/system_bridge/notify.py
homeassistant/components/system_bridge/sensor.py
homeassistant/components/system_bridge/update.py
homeassistant/components/systemmonitor/sensor.py
homeassistant/components/tado/__init__.py
homeassistant/components/tado/binary_sensor.py
homeassistant/components/tado/climate.py
homeassistant/components/tado/device_tracker.py
homeassistant/components/tado/sensor.py
homeassistant/components/tado/water_heater.py
homeassistant/components/tami4/button.py
homeassistant/components/tank_utility/sensor.py
homeassistant/components/tankerkoenig/__init__.py
homeassistant/components/tankerkoenig/binary_sensor.py
homeassistant/components/tankerkoenig/coordinator.py
homeassistant/components/tankerkoenig/entity.py
homeassistant/components/tankerkoenig/sensor.py
homeassistant/components/tapsaff/binary_sensor.py
homeassistant/components/tautulli/__init__.py
homeassistant/components/tautulli/coordinator.py
@@ -1345,6 +1456,7 @@ omit =
homeassistant/components/tolo/number.py
homeassistant/components/tolo/select.py
homeassistant/components/tolo/sensor.py
homeassistant/components/tolo/switch.py
homeassistant/components/toon/__init__.py
homeassistant/components/toon/binary_sensor.py
homeassistant/components/toon/climate.py
@@ -1363,6 +1475,12 @@ omit =
homeassistant/components/tplink_omada/controller.py
homeassistant/components/tplink_omada/update.py
homeassistant/components/traccar/device_tracker.py
homeassistant/components/traccar_server/__init__.py
homeassistant/components/traccar_server/coordinator.py
homeassistant/components/traccar_server/device_tracker.py
homeassistant/components/traccar_server/entity.py
homeassistant/components/traccar_server/helpers.py
homeassistant/components/traccar_server/sensor.py
homeassistant/components/tractive/__init__.py
homeassistant/components/tractive/binary_sensor.py
homeassistant/components/tractive/device_tracker.py
@@ -1377,10 +1495,6 @@ omit =
homeassistant/components/tradfri/light.py
homeassistant/components/tradfri/sensor.py
homeassistant/components/tradfri/switch.py
homeassistant/components/trafikverket_train/__init__.py
homeassistant/components/trafikverket_train/coordinator.py
homeassistant/components/trafikverket_train/sensor.py
homeassistant/components/trafikverket_train/util.py
homeassistant/components/trafikverket_weatherstation/__init__.py
homeassistant/components/trafikverket_weatherstation/coordinator.py
homeassistant/components/trafikverket_weatherstation/sensor.py
@@ -1414,6 +1528,8 @@ omit =
homeassistant/components/ue_smart_radio/media_player.py
homeassistant/components/ukraine_alarm/__init__.py
homeassistant/components/ukraine_alarm/binary_sensor.py
homeassistant/components/unifi_direct/__init__.py
homeassistant/components/unifi_direct/device_tracker.py
homeassistant/components/unifiled/*
homeassistant/components/upb/__init__.py
homeassistant/components/upb/light.py
@@ -1424,7 +1540,6 @@ omit =
homeassistant/components/upnp/__init__.py
homeassistant/components/upnp/device.py
homeassistant/components/upnp/sensor.py
homeassistant/components/vasttrafik/sensor.py
homeassistant/components/v2c/__init__.py
homeassistant/components/v2c/binary_sensor.py
homeassistant/components/v2c/coordinator.py
@@ -1432,6 +1547,7 @@ omit =
homeassistant/components/v2c/number.py
homeassistant/components/v2c/sensor.py
homeassistant/components/v2c/switch.py
homeassistant/components/vasttrafik/sensor.py
homeassistant/components/velbus/__init__.py
homeassistant/components/velbus/binary_sensor.py
homeassistant/components/velbus/button.py
@@ -1439,8 +1555,8 @@ omit =
homeassistant/components/velbus/cover.py
homeassistant/components/velbus/entity.py
homeassistant/components/velbus/light.py
homeassistant/components/velbus/sensor.py
homeassistant/components/velbus/select.py
homeassistant/components/velbus/sensor.py
homeassistant/components/velbus/switch.py
homeassistant/components/velux/__init__.py
homeassistant/components/velux/cover.py
@@ -1464,12 +1580,12 @@ omit =
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/entity.py
homeassistant/components/vicare/number.py
homeassistant/components/vicare/sensor.py
homeassistant/components/vicare/types.py
homeassistant/components/vicare/utils.py
homeassistant/components/vicare/water_heater.py
homeassistant/components/vilfo/__init__.py
@@ -1507,6 +1623,10 @@ omit =
homeassistant/components/weatherflow/__init__.py
homeassistant/components/weatherflow/const.py
homeassistant/components/weatherflow/sensor.py
homeassistant/components/weatherflow_cloud/__init__.py
homeassistant/components/weatherflow_cloud/const.py
homeassistant/components/weatherflow_cloud/coordinator.py
homeassistant/components/weatherflow_cloud/weather.py
homeassistant/components/wiffi/__init__.py
homeassistant/components/wiffi/binary_sensor.py
homeassistant/components/wiffi/sensor.py
@@ -1584,9 +1704,12 @@ omit =
homeassistant/components/yolink/entity.py
homeassistant/components/yolink/light.py
homeassistant/components/yolink/lock.py
homeassistant/components/yolink/number.py
homeassistant/components/yolink/sensor.py
homeassistant/components/yolink/services.py
homeassistant/components/yolink/siren.py
homeassistant/components/yolink/switch.py
homeassistant/components/yolink/valve.py
homeassistant/components/youless/__init__.py
homeassistant/components/youless/sensor.py
homeassistant/components/zabbix/*
@@ -1599,12 +1722,12 @@ omit =
homeassistant/components/zeversolar/coordinator.py
homeassistant/components/zeversolar/entity.py
homeassistant/components/zeversolar/sensor.py
homeassistant/components/zha/websocket_api.py
homeassistant/components/zha/core/cluster_handlers/*
homeassistant/components/zha/core/device.py
homeassistant/components/zha/core/gateway.py
homeassistant/components/zha/core/helpers.py
homeassistant/components/zha/light.py
homeassistant/components/zha/websocket_api.py
homeassistant/components/zhong_hong/climate.py
homeassistant/components/ziggo_mediabox_xl/media_player.py
homeassistant/components/zoneminder/*
@@ -1621,8 +1744,7 @@ omit =
homeassistant/components/zwave_me/sensor.py
homeassistant/components/zwave_me/siren.py
homeassistant/components/zwave_me/switch.py
homeassistant/components/electrasmart/climate.py
homeassistant/components/electrasmart/__init__.py
[report]
# Regexes for lines to exclude from consideration

View File

@@ -4,8 +4,12 @@
"dockerFile": "../Dockerfile.dev",
"postCreateCommand": "script/setup",
"postStartCommand": "script/bootstrap",
"containerEnv": { "DEVCONTAINER": "1" },
"appPort": ["8123:8123"],
"containerEnv": {
"DEVCONTAINER": "1",
"PYTHONASYNCIODEBUG": "1"
},
// Port 5683 udp is used by Shelly integration
"appPort": ["8123:8123", "5683:5683/udp"],
"runArgs": ["-e", "GIT_EDITOR=code --wait"],
"customizations": {
"vscode": {
@@ -20,6 +24,7 @@
],
// Please keep this file in sync with settings in home-assistant/.vscode/settings.default.json
"settings": {
"python.experiments.optOutFrom": ["pythonTestAdapter"],
"python.pythonPath": "/usr/local/bin/python",
"python.testing.pytestArgs": ["--no-cov"],
"editor.formatOnPaste": false,

14
.git-blame-ignore-revs Normal file
View File

@@ -0,0 +1,14 @@
# Black
4de97abc3aa83188666336ce0a015a5bab75bc8f
# Switch formatting from black to ruff-format (#102893)
706add4a57120a93d7b7fe40e722b00d634c76c2
# Prettify json (component test fixtures) (#68892)
053c4428a933c3c04c22642f93c93fccba3e8bfd
# Prettify json (tests) (#68888)
496d90bf00429d9d924caeb0155edc0bf54e86b9
# Bump ruff to 0.3.4 (#112690)
6bb4e7d62c60389608acf4a7d7dacd8f029307dd

Binary file not shown.

After

Width:  |  Height:  |  Size: 65 KiB

BIN
.github/assets/screenshot-states.png vendored Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

View File

@@ -10,7 +10,10 @@ on:
env:
BUILD_TYPE: core
DEFAULT_PYTHON: "3.11"
DEFAULT_PYTHON: "3.12"
PIP_TIMEOUT: 60
UV_HTTP_TIMEOUT: 60
UV_SYSTEM_PYTHON: "true"
jobs:
init:
@@ -24,12 +27,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
with:
fetch-depth: 0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -48,41 +51,29 @@ jobs:
with:
ignore-dev: true
build_python:
name: Build PyPi package
environment: ${{ needs.init.outputs.channel }}
needs: ["init", "build_base"]
runs-on: ubuntu-latest
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.1
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Fail if translations files are checked in
run: |
if [ -n "$(find homeassistant/components/*/translations -type f)" ]; then
echo "Translations files are checked in, please remove the following files:"
find homeassistant/components/*/translations -type f
exit 1
fi
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Build package
- name: Archive translations
shell: bash
run: |
# Remove dist, build, and homeassistant.egg-info
# when build locally for testing!
pip install twine build
python -m build
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload package
shell: bash
run: |
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="${{ secrets.TWINE_TOKEN }}"
twine upload dist/* --skip-existing
- name: Upload translations
uses: actions/upload-artifact@v4.3.3
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
build_base:
name: Build ${{ matrix.arch }} base core image
@@ -94,15 +85,16 @@ jobs:
packages: write
id-token: write
strategy:
fail-fast: false
matrix:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v2
uses: dawidd6/action-download-artifact@v3.1.4
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/frontend
@@ -113,7 +105,7 @@ jobs:
- name: Download nightly wheels of intents
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v2
uses: dawidd6/action-download-artifact@v3.1.4
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/intents-package
@@ -124,17 +116,20 @@ jobs:
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Adjust nightly version
if: needs.init.outputs.channel == 'dev'
shell: bash
env:
UV_PRERELEASE: allow
run: |
python3 -m pip install packaging tomli
python3 -m pip install .
version="$(python3 script/version_bump.py nightly)"
python3 -m pip install "$(grep '^uv' < requirements_test.txt)"
uv pip install packaging tomli
uv pip install .
python3 script/version_bump.py nightly --set-nightly-version "${{ needs.init.outputs.version }}"
if [[ "$(ls home_assistant_frontend*.whl)" =~ ^home_assistant_frontend-(.*)-py3-none-any.whl$ ]]; then
echo "Found frontend wheel, setting version to: ${BASH_REMATCH[1]}"
@@ -146,7 +141,7 @@ jobs:
sed -i "s|home-assistant-frontend==.*|home-assistant-frontend==${BASH_REMATCH[1]}|" \
homeassistant/package_constraints.txt
python -m script.gen_requirements_all
sed -i "s|home-assistant-frontend==.*||" requirements_all.txt
fi
if [[ "$(ls home_assistant_intents*.whl)" =~ ^home_assistant_intents-(.*)-py3-none-any.whl$ ]]; then
@@ -164,7 +159,7 @@ jobs:
sed -i "s|home-assistant-intents==.*|home-assistant-intents==${BASH_REMATCH[1]}|" \
homeassistant/package_constraints.txt
python -m script.gen_requirements_all
sed -i "s|home-assistant-intents==.*||" requirements_all.txt
fi
- name: Adjustments for armhf
@@ -179,10 +174,15 @@ jobs:
sed -i "s|pyezviz|# pyezviz|g" requirements_all.txt
sed -i "s|pykrakenapi|# pykrakenapi|g" requirements_all.txt
- name: Download Translations
run: python3 -m script.translations download
env:
LOKALISE_TOKEN: ${{ secrets.LOKALISE_TOKEN }}
- name: Download translations
uses: actions/download-artifact@v4.1.6
with:
name: translations
- name: Extract translations
run: |
tar xvf translations.tar.gz
rm translations.tar.gz
- name: Write meta info file
shell: bash
@@ -190,14 +190,14 @@ jobs:
echo "${{ github.sha }};${{ github.ref }};${{ github.event_name }};${{ github.actor }}" > rootfs/OFFICIAL_IMAGE
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.0.0
uses: docker/login-action@v3.1.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2023.09.0
uses: home-assistant/builder@2024.03.5
with:
args: |
$BUILD_ARGS \
@@ -206,17 +206,6 @@ jobs:
--target /data \
--generic ${{ needs.init.outputs.version }}
- name: Archive translations
shell: bash
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload translations
uses: actions/upload-artifact@v3
with:
name: translations
path: translations.tar.gz
if-no-files-found: error
build_machine:
name: Build ${{ matrix.machine }} machine core image
if: github.repository_owner == 'home-assistant'
@@ -247,12 +236,13 @@ jobs:
- raspberrypi3-64
- raspberrypi4
- raspberrypi4-64
- raspberrypi5-64
- tinker
- yellow
- green
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set build additional args
run: |
@@ -266,14 +256,14 @@ jobs:
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.0.0
uses: docker/login-action@v3.1.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build base image
uses: home-assistant/builder@2023.09.0
uses: home-assistant/builder@2024.03.5
with:
args: |
$BUILD_ARGS \
@@ -289,7 +279,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -325,23 +315,28 @@ jobs:
contents: read
packages: write
id-token: write
strategy:
matrix:
registry: ["ghcr.io/home-assistant", "docker.io/homeassistant"]
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Install Cosign
uses: sigstore/cosign-installer@v3.2.0
uses: sigstore/cosign-installer@v3.4.0
with:
cosign-release: "v2.0.2"
cosign-release: "v2.2.3"
- name: Login to DockerHub
uses: docker/login-action@v3.0.0
if: matrix.registry == 'docker.io/homeassistant'
uses: docker/login-action@v3.1.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.0.0
if: matrix.registry == 'ghcr.io/home-assistant'
uses: docker/login-action@v3.1.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -355,41 +350,37 @@ jobs:
function create_manifest() {
local tag_l=${1}
local tag_r=${2}
local registry=${{ matrix.registry }}
for registry in "ghcr.io/home-assistant" "docker.io/homeassistant"
do
docker manifest create "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
"${registry}/i386-homeassistant:${tag_r}" \
"${registry}/armhf-homeassistant:${tag_r}" \
"${registry}/armv7-homeassistant:${tag_r}" \
"${registry}/aarch64-homeassistant:${tag_r}"
docker manifest create "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
"${registry}/i386-homeassistant:${tag_r}" \
"${registry}/armhf-homeassistant:${tag_r}" \
"${registry}/armv7-homeassistant:${tag_r}" \
"${registry}/aarch64-homeassistant:${tag_r}"
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
--os linux --arch amd64
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/amd64-homeassistant:${tag_r}" \
--os linux --arch amd64
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/i386-homeassistant:${tag_r}" \
--os linux --arch 386
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/i386-homeassistant:${tag_r}" \
--os linux --arch 386
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armhf-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v6
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armhf-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v6
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armv7-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v7
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/armv7-homeassistant:${tag_r}" \
--os linux --arch arm --variant=v7
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/aarch64-homeassistant:${tag_r}" \
--os linux --arch arm64 --variant=v8
docker manifest annotate "${registry}/home-assistant:${tag_l}" \
"${registry}/aarch64-homeassistant:${tag_r}" \
--os linux --arch arm64 --variant=v8
docker manifest push --purge "${registry}/home-assistant:${tag_l}"
cosign sign --yes "${registry}/home-assistant:${tag_l}"
done
docker manifest push --purge "${registry}/home-assistant:${tag_l}"
cosign sign --yes "${registry}/home-assistant:${tag_l}"
}
function validate_image() {
@@ -422,12 +413,14 @@ jobs:
validate_image "ghcr.io/home-assistant/armv7-homeassistant:${{ needs.init.outputs.version }}"
validate_image "ghcr.io/home-assistant/aarch64-homeassistant:${{ needs.init.outputs.version }}"
# Upload images to dockerhub
push_dockerhub "amd64-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "i386-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armhf-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armv7-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "aarch64-homeassistant" "${{ needs.init.outputs.version }}"
if [[ "${{ matrix.registry }}" == "docker.io/homeassistant" ]]; then
# Upload images to dockerhub
push_dockerhub "amd64-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "i386-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armhf-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "armv7-homeassistant" "${{ needs.init.outputs.version }}"
push_dockerhub "aarch64-homeassistant" "${{ needs.init.outputs.version }}"
fi
# Create version tag
create_manifest "${{ needs.init.outputs.version }}" "${{ needs.init.outputs.version }}"
@@ -448,3 +441,44 @@ jobs:
v="${{ needs.init.outputs.version }}"
create_manifest "${v%.*}" "${{ needs.init.outputs.version }}"
fi
build_python:
name: Build PyPi package
environment: ${{ needs.init.outputs.channel }}
needs: ["init", "build_base"]
runs-on: ubuntu-latest
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download translations
uses: actions/download-artifact@v4.1.6
with:
name: translations
- name: Extract translations
run: |
tar xvf translations.tar.gz
rm translations.tar.gz
- name: Build package
shell: bash
run: |
# Remove dist, build, and homeassistant.egg-info
# when build locally for testing!
pip install twine build
python -m build
- name: Upload package
shell: bash
run: |
export TWINE_USERNAME="__token__"
export TWINE_PASSWORD="${{ secrets.TWINE_TOKEN }}"
twine upload dist/* --skip-existing

View File

@@ -33,12 +33,12 @@ on:
type: boolean
env:
CACHE_VERSION: 5
PIP_CACHE_VERSION: 4
MYPY_CACHE_VERSION: 6
HA_SHORT_VERSION: "2023.12"
DEFAULT_PYTHON: "3.11"
ALL_PYTHON_VERSIONS: "['3.11', '3.12']"
CACHE_VERSION: 8
UV_CACHE_VERSION: 1
MYPY_CACHE_VERSION: 8
HA_SHORT_VERSION: "2024.5"
DEFAULT_PYTHON: "3.12"
ALL_PYTHON_VERSIONS: "['3.12']"
# 10.3 is the oldest supported version
# - 10.3.32 is the version currently shipped with Synology (as of 17 Feb 2022)
# 10.6 is the current long-term-support
@@ -56,7 +56,7 @@ env:
# - 15.2 is the latest (as of 9 Feb 2023)
POSTGRESQL_VERSIONS: "['postgres:12.14','postgres:15.2']"
PRE_COMMIT_CACHE: ~/.cache/pre-commit
PIP_CACHE: /tmp/pip-cache
UV_CACHE_DIR: /tmp/uv-cache
SQLALCHEMY_WARN_20: 1
PYTHONASYNCIODEBUG: 1
HASS_CI: 1
@@ -89,21 +89,23 @@ jobs:
runs-on: ubuntu-22.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: >-
echo "key=venv-${{ env.CACHE_VERSION }}-${{
hashFiles('requirements_test.txt') }}-${{
hashFiles('requirements_test.txt', 'requirements_test_pre_commit.txt') }}-${{
hashFiles('requirements.txt') }}-${{
hashFiles('requirements_all.txt') }}-${{
hashFiles('homeassistant/package_constraints.txt') }}" >> $GITHUB_OUTPUT
hashFiles('homeassistant/package_constraints.txt') }}-${{
hashFiles('script/gen_requirements_all.py') }}" >> $GITHUB_OUTPUT
- name: Generate partial pre-commit restore key
id: generate_pre-commit_cache_key
run: >-
echo "key=pre-commit-${{ env.CACHE_VERSION }}-${{
hashFiles('.pre-commit-config.yaml') }}" >> $GITHUB_OUTPUT
- name: Filter for core changes
uses: dorny/paths-filter@v2.11.1
uses: dorny/paths-filter@v3.0.2
id: core
with:
filters: .core_files.yaml
@@ -118,7 +120,7 @@ jobs:
echo "Result:"
cat .integration_paths.yaml
- name: Filter for integration changes
uses: dorny/paths-filter@v2.11.1
uses: dorny/paths-filter@v3.0.2
id: integrations
with:
filters: .integration_paths.yaml
@@ -222,16 +224,16 @@ jobs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.3.2
uses: actions/cache@v4.0.2
with:
path: venv
key: >-
@@ -243,10 +245,11 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
pip install "$(cat requirements_test.txt | grep pre-commit)"
pip install "$(grep '^uv' < requirements_test.txt)"
uv pip install "$(cat requirements_test.txt | grep pre-commit)"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v3.3.2
uses: actions/cache@v4.0.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
@@ -267,16 +270,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -285,7 +288,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -307,16 +310,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -325,7 +328,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -346,16 +349,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
id: python
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -364,7 +367,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -440,40 +443,45 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Generate partial pip restore key
id: generate-pip-key
run: >-
echo "key=pip-${{ env.PIP_CACHE_VERSION }}-${{
- name: Generate partial uv restore key
id: generate-uv-key
run: |
uv_version=$(cat requirements_test.txt | grep uv | cut -d '=' -f 3)
echo "version=${uv_version}" >> $GITHUB_OUTPUT
echo "key=uv-${{ env.UV_CACHE_VERSION }}-${uv_version}-${{
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v3.3.2
uses: actions/cache@v4.0.2
with:
path: venv
lookup-only: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore pip wheel cache
- name: Restore uv wheel cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache@v3.3.2
uses: actions/cache@v4.0.2
with:
path: ${{ env.PIP_CACHE }}
path: ${{ env.UV_CACHE_DIR }}
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
steps.generate-pip-key.outputs.key }}
steps.generate-uv-key.outputs.key }}
restore-keys: |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-pip-${{ env.PIP_CACHE_VERSION }}-${{ env.HA_SHORT_VERSION }}-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-uv-${{
env.UV_CACHE_VERSION }}-${{ steps.generate-uv-key.outputs.version }}-${{
env.HA_SHORT_VERSION }}-
- name: Install additional OS dependencies
if: steps.cache-venv.outputs.cache-hit != 'true'
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
@@ -483,6 +491,7 @@ jobs:
libavfilter-dev \
libavformat-dev \
libavutil-dev \
libgammu-dev \
libswresample-dev \
libswscale-dev \
libudev-dev
@@ -492,10 +501,13 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
PIP_CACHE_DIR=$PIP_CACHE pip install -U "pip>=21.3.1" setuptools wheel
PIP_CACHE_DIR=$PIP_CACHE pip install -r requirements_all.txt
PIP_CACHE_DIR=$PIP_CACHE pip install -r requirements_test.txt
pip install -e . --config-settings editable_mode=compat
pip install "$(grep '^uv' < requirements_test.txt)"
uv pip install -U "pip>=21.3.1" setuptools wheel
uv pip install -r requirements.txt
python -m script.gen_requirements_all ci
uv pip install -r requirements_all_pytest.txt
uv pip install -r requirements_test.txt
uv pip install -e . --config-settings editable_mode=compat
hassfest:
name: Check hassfest
@@ -508,16 +520,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -540,16 +552,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -573,16 +585,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -597,14 +609,14 @@ jobs:
run: |
. venv/bin/activate
python --version
pylint --ignore-missing-annotations=y homeassistant
pylint --ignore-missing-annotations=y --ignore-wrong-coordinator-module=y homeassistant
- name: Run pylint (partially)
if: needs.info.outputs.test_full_suite == 'false'
shell: bash
run: |
. venv/bin/activate
python --version
pylint --ignore-missing-annotations=y homeassistant/components/${{ needs.info.outputs.integrations_glob }}
pylint --ignore-missing-annotations=y --ignore-wrong-coordinator-module=y homeassistant/components/${{ needs.info.outputs.integrations_glob }}
mypy:
name: Check mypy
@@ -617,10 +629,10 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -633,7 +645,7 @@ jobs:
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -641,7 +653,7 @@ jobs:
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore mypy cache
uses: actions/cache@v3.3.2
uses: actions/cache@v4.0.2
with:
path: .mypy_cache
key: >-
@@ -668,14 +680,63 @@ jobs:
python --version
mypy homeassistant/components/${{ needs.info.outputs.integrations_glob }}
pytest:
prepare-pytest-full:
runs-on: ubuntu-22.04
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& (needs.info.outputs.test_full_suite == 'true' || needs.info.outputs.tests_glob)
&& needs.info.outputs.test_full_suite == 'true'
needs:
- info
- base
name: Split tests for full run
steps:
- name: Install additional OS dependencies
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run split_tests.py
run: |
. venv/bin/activate
python -m script.split_tests ${{ needs.info.outputs.test_group_count }} tests
- name: Upload pytest_buckets
uses: actions/upload-artifact@v4.3.3
with:
name: pytest_buckets
path: pytest_buckets.txt
overwrite: true
pytest-full:
runs-on: ubuntu-22.04
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& needs.info.outputs.test_full_suite == 'true'
needs:
- info
- base
@@ -684,6 +745,7 @@ jobs:
- lint-other
- lint-ruff
- mypy
- prepare-pytest-full
strategy:
fail-fast: false
matrix:
@@ -694,21 +756,23 @@ jobs:
steps:
- name: Install additional OS dependencies
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg
ffmpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -717,22 +781,18 @@ jobs:
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Install Pytest Annotation plugin
run: |
. venv/bin/activate
# Ideally this should be part of our dependencies
# However this plugin is fairly new and doesn't run correctly
# on a non-GitHub environment.
pip install pytest-github-actions-annotate-failures==0.1.3
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Download pytest_buckets
uses: actions/download-artifact@v4.1.6
with:
name: pytest_buckets
- name: Compile English translations
run: |
. venv/bin/activate
python3 -m script.translations develop --all
- name: Run pytest (fully)
if: needs.info.outputs.test_full_suite == 'true'
- name: Run pytest
timeout-minutes: 60
id: pytest-full
env:
@@ -753,60 +813,27 @@ jobs:
--durations=10 \
-n auto \
--dist=loadfile \
--test-group-count ${{ needs.info.outputs.test_group_count }} \
--test-group=${{ matrix.group }} \
${cov_params[@]} \
-o console_output_style=count \
-p no:sugar \
tests \
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt
- name: Run pytest (partially)
if: needs.info.outputs.test_full_suite == 'false'
timeout-minutes: 10
id: pytest-partial
shell: bash
env:
PYTHONDONTWRITEBYTECODE: 1
run: |
. venv/bin/activate
python --version
set -o pipefail
if [[ ! -f "tests/components/${{ matrix.group }}/__init__.py" ]]; then
echo "::error:: missing file tests/components/${{ matrix.group }}/__init__.py"
exit 1
fi
cov_params=()
if [[ "${{ needs.info.outputs.skip_coverage }}" != "true" ]]; then
cov_params+=(--cov="homeassistant.components.${{ matrix.group }}")
cov_params+=(--cov-report=xml)
cov_params+=(--cov-report=term-missing)
fi
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
-n auto \
${cov_params[@]} \
-o console_output_style=count \
--durations=0 \
--durations-min=1 \
-p no:sugar \
tests/components/${{ matrix.group }} \
$(sed -n "${{ matrix.group }},1p" pytest_buckets.txt) \
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt
- name: Upload pytest output
if: success() || failure() && (steps.pytest-full.conclusion == 'failure' || steps.pytest-partial.conclusion == 'failure')
uses: actions/upload-artifact@v3.1.2
if: success() || failure() && steps.pytest-full.conclusion == 'failure'
uses: actions/upload-artifact@v4.3.3
with:
name: pytest-${{ github.run_number }}
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ matrix.group }}
path: pytest-*.txt
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.3.3
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
overwrite: true
- name: Remove pytest_buckets
run: rm pytest_buckets.txt
- name: Check dirty
run: |
./script/check_dirty
@@ -845,22 +872,23 @@ jobs:
steps:
- name: Install additional OS dependencies
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
libmariadb-dev-compat
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -869,20 +897,13 @@ jobs:
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Install Pytest Annotation plugin
run: |
. venv/bin/activate
# Ideally this should be part of our dependencies
# However this plugin is fairly new and doesn't run correctly
# on a non-GitHub environment.
pip install pytest-github-actions-annotate-failures==0.1.3
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Install SQL Python libraries
run: |
. venv/bin/activate
pip install mysqlclient sqlalchemy_utils
uv pip install mysqlclient sqlalchemy_utils
- name: Compile English translations
run: |
. venv/bin/activate
@@ -898,6 +919,7 @@ jobs:
python --version
set -o pipefail
mariadb=$(echo "${{ matrix.mariadb-group }}" | sed "s/:/-/g")
echo "mariadb=${mariadb}" >> $GITHUB_OUTPUT
cov_params=()
if [[ "${{ needs.info.outputs.skip_coverage }}" != "true" ]]; then
cov_params+=(--cov="homeassistant.components.recorder")
@@ -921,16 +943,20 @@ jobs:
2>&1 | tee pytest-${{ matrix.python-version }}-${mariadb}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-partial.conclusion == 'failure'
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.3.3
with:
name: pytest-${{ github.run_number }}
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.mariadb }}
path: pytest-*.txt
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.3.3
with:
name: coverage-${{ matrix.python-version }}-mariadb
name: coverage-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.mariadb }}
path: coverage.xml
overwrite: true
- name: Check dirty
run: |
./script/check_dirty
@@ -969,22 +995,23 @@ jobs:
steps:
- name: Install additional OS dependencies
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
postgresql-server-dev-14
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v3.3.2
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
@@ -993,20 +1020,13 @@ jobs:
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Install Pytest Annotation plugin
run: |
. venv/bin/activate
# Ideally this should be part of our dependencies
# However this plugin is fairly new and doesn't run correctly
# on a non-GitHub environment.
pip install pytest-github-actions-annotate-failures==0.1.3
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Install SQL Python libraries
run: |
. venv/bin/activate
pip install psycopg2 sqlalchemy_utils
uv pip install psycopg2 sqlalchemy_utils
- name: Compile English translations
run: |
. venv/bin/activate
@@ -1022,6 +1042,7 @@ jobs:
python --version
set -o pipefail
postgresql=$(echo "${{ matrix.postgresql-group }}" | sed "s/:/-/g")
echo "postgresql=${postgresql}" >> $GITHUB_OUTPUT
cov_params=()
if [[ "${{ needs.info.outputs.skip_coverage }}" != "true" ]]; then
cov_params+=(--cov="homeassistant.components.recorder")
@@ -1046,51 +1067,178 @@ jobs:
2>&1 | tee pytest-${{ matrix.python-version }}-${postgresql}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-partial.conclusion == 'failure'
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.3.3
with:
name: pytest-${{ github.run_number }}
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.postgresql }}
path: pytest-*.txt
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v3.1.0
uses: actions/upload-artifact@v4.3.3
with:
name: coverage-${{ matrix.python-version }}-postgresql
name: coverage-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.postgresql }}
path: coverage.xml
overwrite: true
- name: Check dirty
run: |
./script/check_dirty
coverage:
name: Upload test coverage to Codecov
coverage-full:
name: Upload test coverage to Codecov (full suite)
if: needs.info.outputs.skip_coverage != 'true'
runs-on: ubuntu-22.04
needs:
- info
- pytest
- pytest-full
- pytest-postgres
- pytest-mariadb
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Download all coverage artifacts
uses: actions/download-artifact@v3
- name: Upload coverage to Codecov (full coverage)
uses: actions/download-artifact@v4.1.6
with:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'true'
uses: Wandalen/wretry.action@v1.3.0
uses: codecov/codecov-action@v4.3.0
with:
action: codecov/codecov-action@v3.1.3
with: |
fail_ci_if_error: true
flags: full-suite
token: ${{ env.CODECOV_TOKEN }}
attempt_limit: 5
attempt_delay: 30000
- name: Upload coverage to Codecov (partial coverage)
fail_ci_if_error: true
flags: full-suite
token: ${{ secrets.CODECOV_TOKEN }}
pytest-partial:
runs-on: ubuntu-22.04
if: |
(github.event_name != 'push' || github.event.repository.full_name == 'home-assistant/core')
&& github.event.inputs.lint-only != 'true'
&& github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& needs.info.outputs.tests_glob
&& needs.info.outputs.test_full_suite == 'false'
needs:
- info
- base
- gen-requirements-all
- hassfest
- lint-other
- lint-ruff
- mypy
strategy:
fail-fast: false
matrix:
group: ${{ fromJson(needs.info.outputs.test_groups) }}
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
name: >-
Run tests Python ${{ matrix.python-version }} (${{ matrix.group }})
steps:
- name: Install additional OS dependencies
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/python.json"
- name: Register pytest slow test problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Compile English translations
run: |
. venv/bin/activate
python3 -m script.translations develop --all
- name: Run pytest
timeout-minutes: 10
id: pytest-partial
shell: bash
env:
PYTHONDONTWRITEBYTECODE: 1
run: |
. venv/bin/activate
python --version
set -o pipefail
if [[ ! -f "tests/components/${{ matrix.group }}/__init__.py" ]]; then
echo "::error:: missing file tests/components/${{ matrix.group }}/__init__.py"
exit 1
fi
cov_params=()
if [[ "${{ needs.info.outputs.skip_coverage }}" != "true" ]]; then
cov_params+=(--cov="homeassistant.components.${{ matrix.group }}")
cov_params+=(--cov-report=xml)
cov_params+=(--cov-report=term-missing)
fi
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
-n auto \
${cov_params[@]} \
-o console_output_style=count \
--durations=0 \
--durations-min=1 \
-p no:sugar \
tests/components/${{ matrix.group }} \
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-partial.conclusion == 'failure'
uses: actions/upload-artifact@v4.3.3
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ matrix.group }}
path: pytest-*.txt
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.3.3
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
overwrite: true
- name: Check dirty
run: |
./script/check_dirty
coverage-partial:
name: Upload test coverage to Codecov (partial suite)
if: needs.info.outputs.skip_coverage != 'true'
runs-on: ubuntu-22.04
needs:
- info
- pytest-partial
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.3
- name: Download all coverage artifacts
uses: actions/download-artifact@v4.1.6
with:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'false'
uses: Wandalen/wretry.action@v1.3.0
uses: codecov/codecov-action@v4.3.0
with:
action: codecov/codecov-action@v3.1.3
with: |
fail_ci_if_error: true
token: ${{ env.CODECOV_TOKEN }}
attempt_limit: 5
attempt_delay: 30000
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}

View File

@@ -2,11 +2,6 @@ name: "CodeQL"
# yamllint disable-line rule:truthy
on:
push:
branches:
- dev
- rc
- master
schedule:
- cron: "30 18 * * 4"
@@ -26,14 +21,14 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2.22.8
uses: github/codeql-action/init@v3.25.2
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2.22.8
uses: github/codeql-action/analyze@v3.25.2
with:
category: "/language:python"

View File

@@ -11,16 +11,16 @@ jobs:
if: github.repository_owner == 'home-assistant'
runs-on: ubuntu-latest
steps:
# The 90 day stale policy for PRs
# The 60 day stale policy for PRs
# Used for:
# - PRs
# - No PRs marked as no-stale
# - No issues (-1)
- name: 90 days stale PRs policy
uses: actions/stale@v8.0.0
- name: 60 days stale PRs policy
uses: actions/stale@v9.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90
days-before-stale: 60
days-before-close: 7
days-before-issue-stale: -1
days-before-issue-close: -1
@@ -33,7 +33,11 @@ jobs:
pull request has been automatically marked as stale because of that
and will be closed if no further activity occurs within 7 days.
Thank you for your contributions.
If you are the author of this PR, please leave a comment if you want
to keep it open. Also, please rebase your PR onto the latest dev
branch to ensure that it's up to date with the latest changes.
Thank you for your contribution!
# Generate a token for the GitHub App, we use this method to avoid
# hitting API limits for our GitHub actions + have a higher rate limit.
@@ -53,7 +57,7 @@ jobs:
# - No issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: 90 days stale issues
uses: actions/stale@v8.0.0
uses: actions/stale@v9.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
days-before-stale: 90
@@ -83,7 +87,7 @@ jobs:
# - No Issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: Needs more information stale issues policy
uses: actions/stale@v8.0.0
uses: actions/stale@v9.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
only-labels: "needs-more-information"

View File

@@ -19,10 +19,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v4.7.1
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}

View File

@@ -14,6 +14,10 @@ on:
- "homeassistant/package_constraints.txt"
- "requirements_all.txt"
- "requirements.txt"
- "script/gen_requirements_all.py"
env:
DEFAULT_PYTHON: "3.12"
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name}}
@@ -28,7 +32,22 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Create Python virtual environment
run: |
python -m venv venv
. venv/bin/activate
python --version
pip install "$(grep '^uv' < requirements_test.txt)"
uv pip install -r requirements.txt
- name: Get information
id: info
@@ -63,16 +82,29 @@ jobs:
) > .env_file
- name: Upload env_file
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.3.3
with:
name: env_file
path: ./.env_file
overwrite: true
- name: Upload requirements_diff
uses: actions/upload-artifact@v3.1.2
uses: actions/upload-artifact@v4.3.3
with:
name: requirements_diff
path: ./requirements_diff.txt
overwrite: true
- name: Generate requirements
run: |
. venv/bin/activate
python -m script.gen_requirements_all ci
- name: Upload requirements_all_wheels
uses: actions/upload-artifact@v4.3.3
with:
name: requirements_all_wheels
path: ./requirements_all_wheels_*.txt
core:
name: Build Core wheels ${{ matrix.abi }} for ${{ matrix.arch }} (musllinux_1_2)
@@ -82,31 +114,31 @@ jobs:
strategy:
fail-fast: false
matrix:
abi: ["cp311", "cp312"]
abi: ["cp312"]
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Download env_file
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.6
with:
name: env_file
- name: Download requirements_diff
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.6
with:
name: requirements_diff
- name: Build wheels
uses: home-assistant/wheels@2023.10.5
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libffi-dev;openssl-dev;yaml-dev"
apk: "libffi-dev;openssl-dev;yaml-dev;nasm"
skip-binary: aiohttp
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
@@ -120,55 +152,34 @@ jobs:
strategy:
fail-fast: false
matrix:
abi: ["cp311", "cp312"]
abi: ["cp312"]
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.1
uses: actions/checkout@v4.1.3
- name: Download env_file
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.6
with:
name: env_file
- name: Download requirements_diff
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4.1.6
with:
name: requirements_diff
- name: (Un)comment packages
run: |
requirement_files="requirements_all.txt requirements_diff.txt"
for requirement_file in ${requirement_files}; do
sed -i "s|# fritzconnection|fritzconnection|g" ${requirement_file}
sed -i "s|# pyuserinput|pyuserinput|g" ${requirement_file}
sed -i "s|# evdev|evdev|g" ${requirement_file}
sed -i "s|# pycups|pycups|g" ${requirement_file}
sed -i "s|# homekit|homekit|g" ${requirement_file}
sed -i "s|# decora-wifi|decora-wifi|g" ${requirement_file}
sed -i "s|# python-gammu|python-gammu|g" ${requirement_file}
# Some packages are not buildable on armhf anymore
if [ "${{ matrix.arch }}" = "armhf" ]; then
# Pandas has issues building on armhf, it is expected they
# will drop the platform in the near future (they consider it
# "flimsy" on 386). The following packages depend on pandas,
# so we comment them out.
sed -i "s|env-canada|# env-canada|g" ${requirement_file}
sed -i "s|noaa-coops|# noaa-coops|g" ${requirement_file}
sed -i "s|pyezviz|# pyezviz|g" ${requirement_file}
sed -i "s|pykrakenapi|# pykrakenapi|g" ${requirement_file}
fi
done
- name: Download requirements_all_wheels
uses: actions/download-artifact@v4.1.6
with:
name: requirements_all_wheels
- name: Split requirements all
run: |
# We split requirements all into two different files.
# We split requirements all into multiple files.
# This is to prevent the build from running out of memory when
# resolving packages on 32-bits systems (like armhf, armv7).
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 3) requirements_all.txt requirements_all.txt
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 3) requirements_all_wheels_${{ matrix.arch }}.txt requirements_all.txt
- name: Create requirements for cython<3
run: |
@@ -192,7 +203,7 @@ jobs:
sed -i "/numpy/d" homeassistant/package_constraints.txt
- name: Build wheels (old cython)
uses: home-assistant/wheels@2023.10.5
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -207,42 +218,42 @@ jobs:
pip: "'cython<3'"
- name: Build wheels (part 1)
uses: home-assistant/wheels@2023.10.5
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtaa"
- name: Build wheels (part 2)
uses: home-assistant/wheels@2023.10.5
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtab"
- name: Build wheels (part 3)
uses: home-assistant/wheels@2023.10.5
uses: home-assistant/wheels@2024.01.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"

3
.gitignore vendored
View File

@@ -132,3 +132,6 @@ tmp_cache
# python-language-server / Rope
.ropeproject
# Will be created from script/split_tests.py
pytest_buckets.txt

View File

@@ -1,21 +1,21 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.1.6
rev: v0.4.1
hooks:
- id: ruff
args:
- --fix
- id: ruff-format
files: ^((homeassistant|pylint|script|tests)/.+)?[^/]+\.py$
files: ^((homeassistant|pylint|script|tests)/.+)?[^/]+\.(py|pyi)$
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
rev: v2.2.6
hooks:
- id: codespell
args:
- --ignore-words-list=additionals,alle,alot,bund,currenty,datas,farenheit,falsy,fo,haa,hass,iif,incomfort,ines,ist,nam,nd,pres,pullrequests,resset,rime,ser,serie,te,technik,ue,unsecure,withing,zar
- --ignore-words-list=additionals,alle,alot,astroid,bund,caf,convencional,currenty,datas,farenheit,falsy,fo,frequence,haa,hass,iif,incomfort,ines,ist,nam,nd,pres,pullrequests,resset,rime,ser,serie,te,technik,ue,unsecure,vor,withing,zar
- --skip="./.*,*.csv,*.json,*.ambr"
- --quiet-level=2
exclude_types: [csv, json]
exclude_types: [csv, json, html]
exclude: ^tests/fixtures/|homeassistant/generated/|tests/components/.*/snapshots/
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v4.4.0
@@ -30,7 +30,7 @@ repos:
- --branch=master
- --branch=rc
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.32.0
rev: v1.35.1
hooks:
- id: yamllint
- repo: https://github.com/pre-commit/mirrors-prettier
@@ -63,7 +63,7 @@ repos:
language: script
types: [python]
require_serial: true
files: ^(homeassistant|pylint)/.+\.py$
files: ^(homeassistant|pylint)/.+\.(py|pyi)$
- id: pylint
name: pylint
entry: script/run-in-env.sh pylint -j 0 --ignore-missing-annotations=y
@@ -83,7 +83,7 @@ repos:
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/(manifest|strings)\.json|homeassistant/brands/.*\.json|\.coveragerc|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py)$
files: ^(homeassistant/.+/(icons|manifest|strings)\.json|homeassistant/brands/.*\.json|\.coveragerc|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py|requirements_test.txt)$
- id: hassfest-metadata
name: hassfest-metadata
entry: script/run-in-env.sh python3 -m script.hassfest -p metadata

View File

@@ -1,6 +1,5 @@
*.md
.strict-typing
azure-*.yml
homeassistant/components/*/translations/*.json
homeassistant/generated/*
tests/components/lidarr/fixtures/initialize.js

View File

@@ -42,59 +42,103 @@ homeassistant.components
homeassistant.components.abode.*
homeassistant.components.accuweather.*
homeassistant.components.acer_projector.*
homeassistant.components.acmeda.*
homeassistant.components.actiontec.*
homeassistant.components.adax.*
homeassistant.components.adguard.*
homeassistant.components.aftership.*
homeassistant.components.air_quality.*
homeassistant.components.airly.*
homeassistant.components.airnow.*
homeassistant.components.airq.*
homeassistant.components.airthings.*
homeassistant.components.airthings_ble.*
homeassistant.components.airtouch5.*
homeassistant.components.airvisual.*
homeassistant.components.airvisual_pro.*
homeassistant.components.airzone.*
homeassistant.components.airzone_cloud.*
homeassistant.components.aladdin_connect.*
homeassistant.components.alarm_control_panel.*
homeassistant.components.alert.*
homeassistant.components.alexa.*
homeassistant.components.alpha_vantage.*
homeassistant.components.amazon_polly.*
homeassistant.components.amberelectric.*
homeassistant.components.ambiclimate.*
homeassistant.components.ambient_network.*
homeassistant.components.ambient_station.*
homeassistant.components.amcrest.*
homeassistant.components.ampio.*
homeassistant.components.analytics.*
homeassistant.components.analytics_insights.*
homeassistant.components.android_ip_webcam.*
homeassistant.components.androidtv.*
homeassistant.components.androidtv_remote.*
homeassistant.components.anel_pwrctrl.*
homeassistant.components.anova.*
homeassistant.components.anthemav.*
homeassistant.components.apache_kafka.*
homeassistant.components.apcupsd.*
homeassistant.components.api.*
homeassistant.components.apple_tv.*
homeassistant.components.apprise.*
homeassistant.components.aprs.*
homeassistant.components.aqualogic.*
homeassistant.components.aquostv.*
homeassistant.components.aranet.*
homeassistant.components.arcam_fmj.*
homeassistant.components.arris_tg2492lg.*
homeassistant.components.aruba.*
homeassistant.components.arwn.*
homeassistant.components.aseko_pool_live.*
homeassistant.components.assist_pipeline.*
homeassistant.components.asterisk_cdr.*
homeassistant.components.asterisk_mbox.*
homeassistant.components.asuswrt.*
homeassistant.components.auth.*
homeassistant.components.automation.*
homeassistant.components.awair.*
homeassistant.components.axis.*
homeassistant.components.backup.*
homeassistant.components.baf.*
homeassistant.components.bang_olufsen.*
homeassistant.components.bayesian.*
homeassistant.components.binary_sensor.*
homeassistant.components.bitcoin.*
homeassistant.components.blockchain.*
homeassistant.components.blue_current.*
homeassistant.components.blueprint.*
homeassistant.components.bluetooth.*
homeassistant.components.bluetooth_adapters.*
homeassistant.components.bluetooth_tracker.*
homeassistant.components.bmw_connected_drive.*
homeassistant.components.bond.*
homeassistant.components.braviatv.*
homeassistant.components.brother.*
homeassistant.components.browser.*
homeassistant.components.bthome.*
homeassistant.components.button.*
homeassistant.components.calendar.*
homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.cert_expiry.*
homeassistant.components.clickatell.*
homeassistant.components.clicksend.*
homeassistant.components.climate.*
homeassistant.components.cloud.*
homeassistant.components.co2signal.*
homeassistant.components.command_line.*
homeassistant.components.config.*
homeassistant.components.configurator.*
homeassistant.components.counter.*
homeassistant.components.cover.*
homeassistant.components.cpuspeed.*
homeassistant.components.crownstone.*
homeassistant.components.date.*
homeassistant.components.datetime.*
homeassistant.components.deconz.*
homeassistant.components.default_config.*
homeassistant.components.demo.*
homeassistant.components.derivative.*
homeassistant.components.device_automation.*
@@ -105,21 +149,35 @@ homeassistant.components.dhcp.*
homeassistant.components.diagnostics.*
homeassistant.components.discovergy.*
homeassistant.components.dlna_dmr.*
homeassistant.components.dlna_dms.*
homeassistant.components.dnsip.*
homeassistant.components.doorbird.*
homeassistant.components.dormakaba_dkey.*
homeassistant.components.downloader.*
homeassistant.components.dsmr.*
homeassistant.components.duckdns.*
homeassistant.components.dunehd.*
homeassistant.components.duotecno.*
homeassistant.components.easyenergy.*
homeassistant.components.ecovacs.*
homeassistant.components.ecowitt.*
homeassistant.components.efergy.*
homeassistant.components.electrasmart.*
homeassistant.components.electric_kiwi.*
homeassistant.components.elgato.*
homeassistant.components.elkm1.*
homeassistant.components.emulated_hue.*
homeassistant.components.energenie_power_sockets.*
homeassistant.components.energy.*
homeassistant.components.energyzero.*
homeassistant.components.enigma2.*
homeassistant.components.enphase_envoy.*
homeassistant.components.eq3btsmart.*
homeassistant.components.esphome.*
homeassistant.components.event.*
homeassistant.components.evil_genius_labs.*
homeassistant.components.evohome.*
homeassistant.components.faa_delays.*
homeassistant.components.fan.*
homeassistant.components.fastdotcom.*
homeassistant.components.feedreader.*
@@ -127,6 +185,7 @@ homeassistant.components.file_upload.*
homeassistant.components.filesize.*
homeassistant.components.filter.*
homeassistant.components.fitbit.*
homeassistant.components.flexit_bacnet.*
homeassistant.components.flux_led.*
homeassistant.components.forecast_solar.*
homeassistant.components.fritz.*
@@ -135,12 +194,15 @@ homeassistant.components.fritzbox_callmonitor.*
homeassistant.components.fronius.*
homeassistant.components.frontend.*
homeassistant.components.fully_kiosk.*
homeassistant.components.generic_hygrostat.*
homeassistant.components.generic_thermostat.*
homeassistant.components.geo_location.*
homeassistant.components.geocaching.*
homeassistant.components.gios.*
homeassistant.components.glances.*
homeassistant.components.goalzero.*
homeassistant.components.google.*
homeassistant.components.google_assistant_sdk.*
homeassistant.components.google_sheets.*
homeassistant.components.gpsd.*
homeassistant.components.greeneye_monitor.*
@@ -150,8 +212,9 @@ homeassistant.components.hardkernel.*
homeassistant.components.hardware.*
homeassistant.components.here_travel_time.*
homeassistant.components.history.*
homeassistant.components.homeassistant.exposed_entities
homeassistant.components.homeassistant.triggers.event
homeassistant.components.history_stats.*
homeassistant.components.holiday.*
homeassistant.components.homeassistant.*
homeassistant.components.homeassistant_alerts.*
homeassistant.components.homeassistant_green.*
homeassistant.components.homeassistant_hardware.*
@@ -168,8 +231,10 @@ homeassistant.components.homekit_controller.select
homeassistant.components.homekit_controller.storage
homeassistant.components.homekit_controller.utils
homeassistant.components.homewizard.*
homeassistant.components.homeworks.*
homeassistant.components.http.*
homeassistant.components.huawei_lte.*
homeassistant.components.humidifier.*
homeassistant.components.hydrawise.*
homeassistant.components.hyperion.*
homeassistant.components.ibeacon.*
@@ -182,6 +247,9 @@ homeassistant.components.input_button.*
homeassistant.components.input_select.*
homeassistant.components.input_text.*
homeassistant.components.integration.*
homeassistant.components.intent.*
homeassistant.components.intent_script.*
homeassistant.components.ios.*
homeassistant.components.ipp.*
homeassistant.components.iqvia.*
homeassistant.components.islamic_prayer_times.*
@@ -194,11 +262,13 @@ homeassistant.components.knx.*
homeassistant.components.kraken.*
homeassistant.components.lacrosse.*
homeassistant.components.lacrosse_view.*
homeassistant.components.lamarzocco.*
homeassistant.components.lametric.*
homeassistant.components.laundrify.*
homeassistant.components.lawn_mower.*
homeassistant.components.lcn.*
homeassistant.components.ld2410_ble.*
homeassistant.components.led_ble.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
@@ -214,22 +284,28 @@ homeassistant.components.london_underground.*
homeassistant.components.lookin.*
homeassistant.components.luftdaten.*
homeassistant.components.mailbox.*
homeassistant.components.map.*
homeassistant.components.mastodon.*
homeassistant.components.matrix.*
homeassistant.components.matter.*
homeassistant.components.media_extractor.*
homeassistant.components.media_player.*
homeassistant.components.media_source.*
homeassistant.components.met_eireann.*
homeassistant.components.metoffice.*
homeassistant.components.mikrotik.*
homeassistant.components.min_max.*
homeassistant.components.minecraft_server.*
homeassistant.components.mjpeg.*
homeassistant.components.modbus.*
homeassistant.components.modem_callerid.*
homeassistant.components.moon.*
homeassistant.components.mopeka.*
homeassistant.components.motionmount.*
homeassistant.components.mqtt.*
homeassistant.components.my.*
homeassistant.components.mysensors.*
homeassistant.components.myuplink.*
homeassistant.components.nam.*
homeassistant.components.nanoleaf.*
homeassistant.components.neato.*
@@ -238,20 +314,24 @@ homeassistant.components.netatmo.*
homeassistant.components.network.*
homeassistant.components.nextdns.*
homeassistant.components.nfandroidtv.*
homeassistant.components.nightscout.*
homeassistant.components.nissan_leaf.*
homeassistant.components.no_ip.*
homeassistant.components.notify.*
homeassistant.components.notion.*
homeassistant.components.number.*
homeassistant.components.nut.*
homeassistant.components.onboarding.*
homeassistant.components.oncue.*
homeassistant.components.onewire.*
homeassistant.components.open_meteo.*
homeassistant.components.openexchangerates.*
homeassistant.components.opensky.*
homeassistant.components.openuv.*
homeassistant.components.oralb.*
homeassistant.components.otbr.*
homeassistant.components.overkiz.*
homeassistant.components.p1_monitor.*
homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
@@ -260,13 +340,17 @@ homeassistant.components.plugwise.*
homeassistant.components.poolsense.*
homeassistant.components.powerwall.*
homeassistant.components.private_ble_device.*
homeassistant.components.prometheus.*
homeassistant.components.proximity.*
homeassistant.components.prusalink.*
homeassistant.components.pure_energie.*
homeassistant.components.purpleair.*
homeassistant.components.pushbullet.*
homeassistant.components.pvoutput.*
homeassistant.components.qnap_qsw.*
homeassistant.components.rabbitair.*
homeassistant.components.radarr.*
homeassistant.components.rainforest_raven.*
homeassistant.components.rainmachine.*
homeassistant.components.raspberry_pi.*
homeassistant.components.rdw.*
@@ -276,11 +360,14 @@ homeassistant.components.remote.*
homeassistant.components.renault.*
homeassistant.components.repairs.*
homeassistant.components.rest.*
homeassistant.components.rest_command.*
homeassistant.components.rfxtrx.*
homeassistant.components.rhasspy.*
homeassistant.components.ridwell.*
homeassistant.components.ring.*
homeassistant.components.rituals_perfume_genie.*
homeassistant.components.roku.*
homeassistant.components.romy.*
homeassistant.components.rpi_power.*
homeassistant.components.rss_feed_template.*
homeassistant.components.rtsp_to_webrtc.*
@@ -290,6 +377,7 @@ homeassistant.components.samsungtv.*
homeassistant.components.scene.*
homeassistant.components.schedule.*
homeassistant.components.scrape.*
homeassistant.components.search.*
homeassistant.components.select.*
homeassistant.components.sensibo.*
homeassistant.components.sensirion_ble.*
@@ -297,8 +385,10 @@ homeassistant.components.sensor.*
homeassistant.components.senz.*
homeassistant.components.sfr_box.*
homeassistant.components.shelly.*
homeassistant.components.shopping_list.*
homeassistant.components.simplepush.*
homeassistant.components.simplisafe.*
homeassistant.components.siren.*
homeassistant.components.skybell.*
homeassistant.components.slack.*
homeassistant.components.sleepiq.*
@@ -313,6 +403,9 @@ homeassistant.components.statistics.*
homeassistant.components.steamist.*
homeassistant.components.stookalert.*
homeassistant.components.stream.*
homeassistant.components.streamlabswater.*
homeassistant.components.stt.*
homeassistant.components.suez_water.*
homeassistant.components.sun.*
homeassistant.components.surepetcare.*
homeassistant.components.switch.*
@@ -320,20 +413,31 @@ homeassistant.components.switchbee.*
homeassistant.components.switchbot_cloud.*
homeassistant.components.switcher_kis.*
homeassistant.components.synology_dsm.*
homeassistant.components.system_health.*
homeassistant.components.system_log.*
homeassistant.components.systemmonitor.*
homeassistant.components.tag.*
homeassistant.components.tailscale.*
homeassistant.components.tailwind.*
homeassistant.components.tami4.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.technove.*
homeassistant.components.tedee.*
homeassistant.components.text.*
homeassistant.components.threshold.*
homeassistant.components.tibber.*
homeassistant.components.tile.*
homeassistant.components.tilt_ble.*
homeassistant.components.time.*
homeassistant.components.time_date.*
homeassistant.components.timer.*
homeassistant.components.tod.*
homeassistant.components.todo.*
homeassistant.components.tolo.*
homeassistant.components.tplink.*
homeassistant.components.tplink_omada.*
homeassistant.components.trace.*
homeassistant.components.tractive.*
homeassistant.components.tradfri.*
homeassistant.components.trafikverket_camera.*
@@ -353,13 +457,17 @@ homeassistant.components.uptimerobot.*
homeassistant.components.usb.*
homeassistant.components.vacuum.*
homeassistant.components.vallox.*
homeassistant.components.valve.*
homeassistant.components.velbus.*
homeassistant.components.vlc_telnet.*
homeassistant.components.wake_on_lan.*
homeassistant.components.wake_word.*
homeassistant.components.wallbox.*
homeassistant.components.waqi.*
homeassistant.components.water_heater.*
homeassistant.components.watttime.*
homeassistant.components.weather.*
homeassistant.components.webhook.*
homeassistant.components.webostv.*
homeassistant.components.websocket_api.*
homeassistant.components.wemo.*
@@ -368,8 +476,10 @@ homeassistant.components.withings.*
homeassistant.components.wiz.*
homeassistant.components.wled.*
homeassistant.components.worldclock.*
homeassistant.components.xiaomi_ble.*
homeassistant.components.yale_smart_alarm.*
homeassistant.components.yalexs_ble.*
homeassistant.components.youtube.*
homeassistant.components.zeroconf.*
homeassistant.components.zodiac.*
homeassistant.components.zone.*

14
.vscode/tasks.json vendored
View File

@@ -157,6 +157,20 @@
"kind": "build",
"isDefault": true
}
},
{
"label": "Install integration requirements",
"detail": "Install all requirements of a given integration.",
"type": "shell",
"command": "${command:python.interpreterPath} -m script.install_integration_requirements ${input:integrationName}",
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
}
}
],
"inputs": [

View File

@@ -1,5 +1,4 @@
ignore: |
azure-*.yml
tests/fixtures/core/config/yaml_errors/
rules:
braces:

View File

@@ -5,13 +5,30 @@
# https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
# Home Assistant Core
setup.cfg @home-assistant/core
.core_files.yaml @home-assistant/core
.git-blame-ignore-revs @home-assistant/core
.gitattributes @home-assistant/core
.gitignore @home-assistant/core
.hadolint.yaml @home-assistant/core
.pre-commit-config.yaml @home-assistant/core
.prettierignore @home-assistant/core
.yamllint @home-assistant/core
pyproject.toml @home-assistant/core
requirements_test.txt @home-assistant/core
/.devcontainer/ @home-assistant/core
/.github/ @home-assistant/core
/.vscode/ @home-assistant/core
/homeassistant/*.py @home-assistant/core
/homeassistant/auth/ @home-assistant/core
/homeassistant/backports/ @home-assistant/core
/homeassistant/helpers/ @home-assistant/core
/homeassistant/scripts/ @home-assistant/core
/homeassistant/util/ @home-assistant/core
/pylint/ @home-assistant/core
/script/ @home-assistant/core
# Home Assistant Supervisor
.dockerignore @home-assistant/supervisor
build.json @home-assistant/supervisor
/machine/ @home-assistant/supervisor
/rootfs/ @home-assistant/supervisor
@@ -45,12 +62,14 @@ build.json @home-assistant/supervisor
/tests/components/airnow/ @asymworks
/homeassistant/components/airq/ @Sibgatulin @dl2080
/tests/components/airq/ @Sibgatulin @dl2080
/homeassistant/components/airthings/ @danielhiversen
/tests/components/airthings/ @danielhiversen
/homeassistant/components/airthings/ @danielhiversen @LaStrada
/tests/components/airthings/ @danielhiversen @LaStrada
/homeassistant/components/airthings_ble/ @vincegio @LaStrada
/tests/components/airthings_ble/ @vincegio @LaStrada
/homeassistant/components/airtouch4/ @samsinnamon
/tests/components/airtouch4/ @samsinnamon
/homeassistant/components/airtouch5/ @danzel
/tests/components/airtouch5/ @danzel
/homeassistant/components/airvisual/ @bachya
/tests/components/airvisual/ @bachya
/homeassistant/components/airvisual_pro/ @bachya
@@ -71,11 +90,15 @@ build.json @home-assistant/supervisor
/tests/components/amberelectric/ @madpilot
/homeassistant/components/ambiclimate/ @danielhiversen
/tests/components/ambiclimate/ @danielhiversen
/homeassistant/components/ambient_network/ @thomaskistler
/tests/components/ambient_network/ @thomaskistler
/homeassistant/components/ambient_station/ @bachya
/tests/components/ambient_station/ @bachya
/homeassistant/components/amcrest/ @flacjacket
/homeassistant/components/analytics/ @home-assistant/core @ludeeus
/tests/components/analytics/ @home-assistant/core @ludeeus
/homeassistant/components/analytics_insights/ @joostlek
/tests/components/analytics_insights/ @joostlek
/homeassistant/components/android_ip_webcam/ @engrbm87
/tests/components/android_ip_webcam/ @engrbm87
/homeassistant/components/androidtv/ @JeffLIrion @ollo69
@@ -86,6 +109,8 @@ build.json @home-assistant/supervisor
/tests/components/anova/ @Lash-L
/homeassistant/components/anthemav/ @hyralex
/tests/components/anthemav/ @hyralex
/homeassistant/components/aosmith/ @bdr99
/tests/components/aosmith/ @bdr99
/homeassistant/components/apache_kafka/ @bachya
/tests/components/apache_kafka/ @bachya
/homeassistant/components/apcupsd/ @yuxincs
@@ -98,6 +123,8 @@ build.json @home-assistant/supervisor
/tests/components/application_credentials/ @home-assistant/core
/homeassistant/components/apprise/ @caronc
/tests/components/apprise/ @caronc
/homeassistant/components/aprilaire/ @chamberlain2007
/tests/components/aprilaire/ @chamberlain2007
/homeassistant/components/aprs/ @PhilRW
/tests/components/aprs/ @PhilRW
/homeassistant/components/aranet/ @aschmitz @thecode
@@ -105,6 +132,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/arcam_fmj/ @elupus
/tests/components/arcam_fmj/ @elupus
/homeassistant/components/arris_tg2492lg/ @vanbalken
/homeassistant/components/arve/ @ikalnyi
/tests/components/arve/ @ikalnyi
/homeassistant/components/aseko_pool_live/ @milanmeu
/tests/components/aseko_pool_live/ @milanmeu
/homeassistant/components/assist_pipeline/ @balloob @synesthesiam
@@ -143,16 +172,20 @@ build.json @home-assistant/supervisor
/tests/components/baf/ @bdraco @jfroy
/homeassistant/components/balboa/ @garbled1 @natekspencer
/tests/components/balboa/ @garbled1 @natekspencer
/homeassistant/components/bang_olufsen/ @mj23000
/tests/components/bang_olufsen/ @mj23000
/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
/homeassistant/components/bizkaibus/ @UgaitzEtxebarria
/homeassistant/components/blebox/ @bbx-a @riokuu
/tests/components/blebox/ @bbx-a @riokuu
/homeassistant/components/blebox/ @bbx-a @riokuu @swistakm
/tests/components/blebox/ @bbx-a @riokuu @swistakm
/homeassistant/components/blink/ @fronzbot @mkmer
/tests/components/blink/ @fronzbot @mkmer
/homeassistant/components/blue_current/ @Floris272 @gleeuwen
/tests/components/blue_current/ @Floris272 @gleeuwen
/homeassistant/components/bluemaestro/ @bdraco
/tests/components/bluemaestro/ @bdraco
/homeassistant/components/blueprint/ @home-assistant/core
@@ -170,6 +203,8 @@ build.json @home-assistant/supervisor
/tests/components/bosch_shc/ @tschamm
/homeassistant/components/braviatv/ @bieniu @Drafteed
/tests/components/braviatv/ @bieniu @Drafteed
/homeassistant/components/bring/ @miaucl @tr4nt0r
/tests/components/bring/ @miaucl @tr4nt0r
/homeassistant/components/broadlink/ @danielhiversen @felipediel @L-I-Am @eifinger
/tests/components/broadlink/ @danielhiversen @felipediel @L-I-Am @eifinger
/homeassistant/components/brother/ @bieniu
@@ -193,6 +228,8 @@ build.json @home-assistant/supervisor
/tests/components/camera/ @home-assistant/core
/homeassistant/components/cast/ @emontnemery
/tests/components/cast/ @emontnemery
/homeassistant/components/ccm15/ @ocalvo
/tests/components/ccm15/ @ocalvo
/homeassistant/components/cert_expiry/ @jjlawren
/tests/components/cert_expiry/ @jjlawren
/homeassistant/components/circuit/ @braam
@@ -205,8 +242,8 @@ build.json @home-assistant/supervisor
/tests/components/cloud/ @home-assistant/cloud
/homeassistant/components/cloudflare/ @ludeeus @ctalkington
/tests/components/cloudflare/ @ludeeus @ctalkington
/homeassistant/components/co2signal/ @jpbede
/tests/components/co2signal/ @jpbede
/homeassistant/components/co2signal/ @jpbede @VIKTORVAV99
/tests/components/co2signal/ @jpbede @VIKTORVAV99
/homeassistant/components/coinbase/ @tombrien
/tests/components/coinbase/ @tombrien
/homeassistant/components/color_extractor/ @GenericStudent
@@ -259,6 +296,8 @@ build.json @home-assistant/supervisor
/tests/components/denonavr/ @ol-iver @starkillerOG
/homeassistant/components/derivative/ @afaucogney
/tests/components/derivative/ @afaucogney
/homeassistant/components/devialet/ @fwestenberg
/tests/components/devialet/ @fwestenberg
/homeassistant/components/device_automation/ @home-assistant/core
/tests/components/device_automation/ @home-assistant/core
/homeassistant/components/device_tracker/ @home-assistant/core
@@ -281,8 +320,8 @@ build.json @home-assistant/supervisor
/tests/components/discovergy/ @jpbede
/homeassistant/components/dlink/ @tkdrob
/tests/components/dlink/ @tkdrob
/homeassistant/components/dlna_dmr/ @StevenLooman @chishm
/tests/components/dlna_dmr/ @StevenLooman @chishm
/homeassistant/components/dlna_dmr/ @chishm
/tests/components/dlna_dmr/ @chishm
/homeassistant/components/dlna_dms/ @chishm
/tests/components/dlna_dms/ @chishm
/homeassistant/components/dnsip/ @gjohansson-ST
@@ -291,12 +330,16 @@ build.json @home-assistant/supervisor
/tests/components/doorbird/ @oblogic7 @bdraco @flacjacket
/homeassistant/components/dormakaba_dkey/ @emontnemery
/tests/components/dormakaba_dkey/ @emontnemery
/homeassistant/components/downloader/ @erwindouna
/tests/components/downloader/ @erwindouna
/homeassistant/components/dremel_3d_printer/ @tkdrob
/tests/components/dremel_3d_printer/ @tkdrob
/homeassistant/components/drop_connect/ @ChandlerSystems @pfrazer
/tests/components/drop_connect/ @ChandlerSystems @pfrazer
/homeassistant/components/dsmr/ @Robbie1221 @frenck
/tests/components/dsmr/ @Robbie1221 @frenck
/homeassistant/components/dsmr_reader/ @depl0y @glodenox
/tests/components/dsmr_reader/ @depl0y @glodenox
/homeassistant/components/dsmr_reader/ @sorted-bits @glodenox
/tests/components/dsmr_reader/ @sorted-bits @glodenox
/homeassistant/components/duotecno/ @cereal2nd
/tests/components/duotecno/ @cereal2nd
/homeassistant/components/dwd_weather_warnings/ @runningman84 @stephan192 @andarotajo
@@ -307,13 +350,12 @@ build.json @home-assistant/supervisor
/tests/components/eafm/ @Jc2k
/homeassistant/components/easyenergy/ @klaasnicolaas
/tests/components/easyenergy/ @klaasnicolaas
/homeassistant/components/ecobee/ @marcolivierarsenault
/tests/components/ecobee/ @marcolivierarsenault
/homeassistant/components/ecoforest/ @pjanuario
/tests/components/ecoforest/ @pjanuario
/homeassistant/components/econet/ @w1ll1am23
/tests/components/econet/ @w1ll1am23
/homeassistant/components/ecovacs/ @OverloadUT @mib1185
/homeassistant/components/ecovacs/ @OverloadUT @mib1185 @edenhaus @Augar
/tests/components/ecovacs/ @OverloadUT @mib1185 @edenhaus @Augar
/homeassistant/components/ecowitt/ @pvizeli
/tests/components/ecowitt/ @pvizeli
/homeassistant/components/efergy/ @tkdrob
@@ -330,6 +372,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/elmax/ @albertogeniola
/tests/components/elmax/ @albertogeniola
/homeassistant/components/elv/ @majuss
/homeassistant/components/elvia/ @ludeeus
/tests/components/elvia/ @ludeeus
/homeassistant/components/emby/ @mezz64
/homeassistant/components/emoncms/ @borpin
/homeassistant/components/emonitor/ @bdraco
@@ -338,11 +382,14 @@ build.json @home-assistant/supervisor
/tests/components/emulated_hue/ @bdraco @Tho85
/homeassistant/components/emulated_kasa/ @kbickar
/tests/components/emulated_kasa/ @kbickar
/homeassistant/components/energenie_power_sockets/ @gnumpi
/tests/components/energenie_power_sockets/ @gnumpi
/homeassistant/components/energy/ @home-assistant/core
/tests/components/energy/ @home-assistant/core
/homeassistant/components/energyzero/ @klaasnicolaas
/tests/components/energyzero/ @klaasnicolaas
/homeassistant/components/enigma2/ @fbradyirl
/homeassistant/components/enigma2/ @autinerd
/tests/components/enigma2/ @autinerd
/homeassistant/components/enocean/ @bdurrer
/tests/components/enocean/ @bdurrer
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @dgomes @joostlek @catsmanac
@@ -351,9 +398,14 @@ build.json @home-assistant/supervisor
/homeassistant/components/environment_canada/ @gwww @michaeldavie
/tests/components/environment_canada/ @gwww @michaeldavie
/homeassistant/components/ephember/ @ttroy50
/homeassistant/components/epic_games_store/ @hacf-fr @Quentame
/tests/components/epic_games_store/ @hacf-fr @Quentame
/homeassistant/components/epion/ @lhgravendeel
/tests/components/epion/ @lhgravendeel
/homeassistant/components/epson/ @pszafer
/tests/components/epson/ @pszafer
/homeassistant/components/epsonworkforce/ @ThaStealth
/homeassistant/components/eq3btsmart/ @eulemitkeule @dbuezas
/tests/components/eq3btsmart/ @eulemitkeule @dbuezas
/homeassistant/components/escea/ @lazdavila
/tests/components/escea/ @lazdavila
/homeassistant/components/esphome/ @OttoWinter @jesserockz @kbx81 @bdraco
@@ -393,6 +445,8 @@ build.json @home-assistant/supervisor
/tests/components/fivem/ @Sander0542
/homeassistant/components/fjaraskupan/ @elupus
/tests/components/fjaraskupan/ @elupus
/homeassistant/components/flexit_bacnet/ @lellky @piotrbulinski
/tests/components/flexit_bacnet/ @lellky @piotrbulinski
/homeassistant/components/flick_electric/ @ZephireNZ
/tests/components/flick_electric/ @ZephireNZ
/homeassistant/components/flipr/ @cnico
@@ -408,8 +462,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/forked_daapd/ @uvjustin
/tests/components/forked_daapd/ @uvjustin
/homeassistant/components/fortios/ @kimfrellsen
/homeassistant/components/foscam/ @skgsergio
/tests/components/foscam/ @skgsergio
/homeassistant/components/foscam/ @krmarien
/tests/components/foscam/ @krmarien
/homeassistant/components/freebox/ @hacf-fr @Quentame
/tests/components/freebox/ @hacf-fr @Quentame
/homeassistant/components/freedompro/ @stefano055415
@@ -428,6 +482,8 @@ build.json @home-assistant/supervisor
/tests/components/frontier_silicon/ @wlcrs
/homeassistant/components/fully_kiosk/ @cgarwood
/tests/components/fully_kiosk/ @cgarwood
/homeassistant/components/fyta/ @dontinelli
/tests/components/fyta/ @dontinelli
/homeassistant/components/garages_amsterdam/ @klaasnicolaas
/tests/components/garages_amsterdam/ @klaasnicolaas
/homeassistant/components/gardena_bluetooth/ @elupus
@@ -482,7 +538,10 @@ build.json @home-assistant/supervisor
/tests/components/google_travel_time/ @eifinger
/homeassistant/components/govee_ble/ @bdraco @PierreAronnax
/tests/components/govee_ble/ @bdraco @PierreAronnax
/homeassistant/components/gpsd/ @fabaff
/homeassistant/components/govee_light_local/ @Galorhallen
/tests/components/govee_light_local/ @Galorhallen
/homeassistant/components/gpsd/ @fabaff @jrieger
/tests/components/gpsd/ @fabaff @jrieger
/homeassistant/components/gree/ @cmroche
/tests/components/gree/ @cmroche
/homeassistant/components/greeneye_monitor/ @jkeljo
@@ -516,12 +575,14 @@ build.json @home-assistant/supervisor
/tests/components/history/ @home-assistant/core
/homeassistant/components/hive/ @Rendili @KJonline
/tests/components/hive/ @Rendili @KJonline
/homeassistant/components/hko/ @MisterCommand
/tests/components/hko/ @MisterCommand
/homeassistant/components/hlk_sw16/ @jameshilliard
/tests/components/hlk_sw16/ @jameshilliard
/homeassistant/components/holiday/ @jrieger @gjohansson-ST
/tests/components/holiday/ @jrieger @gjohansson-ST
/homeassistant/components/home_connect/ @DavidMStraub
/tests/components/home_connect/ @DavidMStraub
/homeassistant/components/home_plus_control/ @chemaaa
/tests/components/home_plus_control/ @chemaaa
/homeassistant/components/homeassistant/ @home-assistant/core
/tests/components/homeassistant/ @home-assistant/core
/homeassistant/components/homeassistant_alerts/ @home-assistant/core
@@ -538,8 +599,10 @@ build.json @home-assistant/supervisor
/tests/components/homekit/ @bdraco
/homeassistant/components/homekit_controller/ @Jc2k @bdraco
/tests/components/homekit_controller/ @Jc2k @bdraco
/homeassistant/components/homematic/ @pvizeli @danielperna84
/tests/components/homematic/ @pvizeli @danielperna84
/homeassistant/components/homematic/ @pvizeli
/tests/components/homematic/ @pvizeli
/homeassistant/components/homematicip_cloud/ @hahn-th
/tests/components/homematicip_cloud/ @hahn-th
/homeassistant/components/homewizard/ @DCSBL
/tests/components/homewizard/ @DCSBL
/homeassistant/components/honeywell/ @rdfurman @mkmer
@@ -556,6 +619,10 @@ build.json @home-assistant/supervisor
/tests/components/humidifier/ @home-assistant/core @Shulyaka
/homeassistant/components/hunterdouglas_powerview/ @bdraco @kingy444 @trullock
/tests/components/hunterdouglas_powerview/ @bdraco @kingy444 @trullock
/homeassistant/components/husqvarna_automower/ @Thomas55555
/tests/components/husqvarna_automower/ @Thomas55555
/homeassistant/components/huum/ @frwickst
/tests/components/huum/ @frwickst
/homeassistant/components/hvv_departures/ @vigonotion
/tests/components/hvv_departures/ @vigonotion
/homeassistant/components/hydrawise/ @dknowles2 @ptcryan
@@ -623,8 +690,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/iqvia/ @bachya
/tests/components/iqvia/ @bachya
/homeassistant/components/irish_rail_transport/ @ttroy50
/homeassistant/components/islamic_prayer_times/ @engrbm87
/tests/components/islamic_prayer_times/ @engrbm87
/homeassistant/components/islamic_prayer_times/ @engrbm87 @cpfair
/tests/components/islamic_prayer_times/ @engrbm87 @cpfair
/homeassistant/components/iss/ @DurgNomis-drol
/tests/components/iss/ @DurgNomis-drol
/homeassistant/components/isy994/ @bdraco @shbatm
@@ -639,8 +706,8 @@ build.json @home-assistant/supervisor
/tests/components/juicenet/ @jesserockz
/homeassistant/components/justnimbus/ @kvanzuijlen
/tests/components/justnimbus/ @kvanzuijlen
/homeassistant/components/jvc_projector/ @SteveEasley
/tests/components/jvc_projector/ @SteveEasley
/homeassistant/components/jvc_projector/ @SteveEasley @msavazzi
/tests/components/jvc_projector/ @SteveEasley @msavazzi
/homeassistant/components/kaiterra/ @Michsior14
/homeassistant/components/kaleidescape/ @SteveEasley
/tests/components/kaleidescape/ @SteveEasley
@@ -661,8 +728,6 @@ build.json @home-assistant/supervisor
/tests/components/knx/ @Julius2342 @farmio @marvin-w
/homeassistant/components/kodi/ @OnFreund
/tests/components/kodi/ @OnFreund
/homeassistant/components/komfovent/ @ProstoSanja
/tests/components/komfovent/ @ProstoSanja
/homeassistant/components/konnected/ @heythisisnate
/tests/components/konnected/ @heythisisnate
/homeassistant/components/kostal_plenticore/ @stegm
@@ -673,6 +738,8 @@ build.json @home-assistant/supervisor
/tests/components/kulersky/ @emlove
/homeassistant/components/lacrosse_view/ @IceBotYT
/tests/components/lacrosse_view/ @IceBotYT
/homeassistant/components/lamarzocco/ @zweckj
/tests/components/lamarzocco/ @zweckj
/homeassistant/components/lametric/ @robbiet480 @frenck @bachya
/tests/components/lametric/ @robbiet480 @frenck @bachya
/homeassistant/components/landisgyr_heat_meter/ @vpathuis
@@ -689,13 +756,14 @@ build.json @home-assistant/supervisor
/tests/components/lcn/ @alengwenus
/homeassistant/components/ld2410_ble/ @930913
/tests/components/ld2410_ble/ @930913
/homeassistant/components/leaone/ @bdraco
/tests/components/leaone/ @bdraco
/homeassistant/components/led_ble/ @bdraco
/tests/components/led_ble/ @bdraco
/homeassistant/components/lg_netcast/ @Drafteed
/homeassistant/components/lg_netcast/ @Drafteed @splinter98
/tests/components/lg_netcast/ @Drafteed @splinter98
/homeassistant/components/lidarr/ @tkdrob
/tests/components/lidarr/ @tkdrob
/homeassistant/components/life360/ @pnbruckner
/tests/components/life360/ @pnbruckner
/homeassistant/components/light/ @home-assistant/core
/tests/components/light/ @home-assistant/core
/homeassistant/components/linear_garage_door/ @IceBotYT
@@ -732,10 +800,12 @@ build.json @home-assistant/supervisor
/homeassistant/components/luci/ @mzdrale
/homeassistant/components/luftdaten/ @fabaff @frenck
/tests/components/luftdaten/ @fabaff @frenck
/homeassistant/components/lupusec/ @majuss
/homeassistant/components/lutron/ @cdheiser
/homeassistant/components/lutron_caseta/ @swails @bdraco @danaues
/tests/components/lutron_caseta/ @swails @bdraco @danaues
/homeassistant/components/lupusec/ @majuss @suaveolent
/tests/components/lupusec/ @majuss @suaveolent
/homeassistant/components/lutron/ @cdheiser @wilburCForce
/tests/components/lutron/ @cdheiser @wilburCForce
/homeassistant/components/lutron_caseta/ @swails @bdraco @danaues @eclair4151
/tests/components/lutron_caseta/ @swails @bdraco @danaues @eclair4151
/homeassistant/components/lyric/ @timmo001
/tests/components/lyric/ @timmo001
/homeassistant/components/mastodon/ @fabaff
@@ -754,8 +824,6 @@ build.json @home-assistant/supervisor
/homeassistant/components/media_source/ @hunterjm
/tests/components/media_source/ @hunterjm
/homeassistant/components/mediaroom/ @dgomes
/homeassistant/components/melcloud/ @vilppuvuorinen
/tests/components/melcloud/ @vilppuvuorinen
/homeassistant/components/melissa/ @kennedyshead
/tests/components/melissa/ @kennedyshead
/homeassistant/components/melnor/ @vanstinator
@@ -771,6 +839,8 @@ build.json @home-assistant/supervisor
/tests/components/meteoclimatic/ @adrianmo
/homeassistant/components/metoffice/ @MrHarcombe @avee87
/tests/components/metoffice/ @MrHarcombe @avee87
/homeassistant/components/microbees/ @microBeesTech
/tests/components/microbees/ @microBeesTech
/homeassistant/components/mikrotik/ @engrbm87
/tests/components/mikrotik/ @engrbm87
/homeassistant/components/mill/ @danielhiversen
@@ -801,10 +871,14 @@ build.json @home-assistant/supervisor
/tests/components/mopeka/ @bdraco
/homeassistant/components/motion_blinds/ @starkillerOG
/tests/components/motion_blinds/ @starkillerOG
/homeassistant/components/motionblinds_ble/ @LennP @jerrybboy
/tests/components/motionblinds_ble/ @LennP @jerrybboy
/homeassistant/components/motioneye/ @dermotduffy
/tests/components/motioneye/ @dermotduffy
/homeassistant/components/mqtt/ @emontnemery @jbouwh
/tests/components/mqtt/ @emontnemery @jbouwh
/homeassistant/components/motionmount/ @RJPoelstra
/tests/components/motionmount/ @RJPoelstra
/homeassistant/components/mqtt/ @emontnemery @jbouwh @bdraco
/tests/components/mqtt/ @emontnemery @jbouwh @bdraco
/homeassistant/components/msteams/ @peroyvind
/homeassistant/components/mullvad/ @meichthys
/tests/components/mullvad/ @meichthys
@@ -816,12 +890,14 @@ build.json @home-assistant/supervisor
/tests/components/mysensors/ @MartinHjelmare @functionpointer
/homeassistant/components/mystrom/ @fabaff
/tests/components/mystrom/ @fabaff
/homeassistant/components/myuplink/ @pajzo @astrandb
/tests/components/myuplink/ @pajzo @astrandb
/homeassistant/components/nam/ @bieniu
/tests/components/nam/ @bieniu
/homeassistant/components/nanoleaf/ @milanmeu
/tests/components/nanoleaf/ @milanmeu
/homeassistant/components/neato/ @dshokouhi @Santobert
/tests/components/neato/ @dshokouhi @Santobert
/homeassistant/components/neato/ @Santobert
/tests/components/neato/ @Santobert
/homeassistant/components/nederlandse_spoorwegen/ @YarmoM
/homeassistant/components/ness_alarm/ @nickw444
/tests/components/ness_alarm/ @nickw444
@@ -833,6 +909,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/netgear/ @hacf-fr @Quentame @starkillerOG
/tests/components/netgear/ @hacf-fr @Quentame @starkillerOG
/homeassistant/components/netgear_lte/ @tkdrob
/tests/components/netgear_lte/ @tkdrob
/homeassistant/components/network/ @home-assistant/core
/tests/components/network/ @home-assistant/core
/homeassistant/components/nexia/ @bdraco
@@ -886,6 +963,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/octoprint/ @rfleming71
/tests/components/octoprint/ @rfleming71
/homeassistant/components/ohmconnect/ @robbiet480
/homeassistant/components/ollama/ @synesthesiam
/tests/components/ollama/ @synesthesiam
/homeassistant/components/ombi/ @larssont
/homeassistant/components/omnilogic/ @oliver84 @djtimca @gentoosu
/tests/components/omnilogic/ @oliver84 @djtimca @gentoosu
@@ -926,12 +1005,14 @@ build.json @home-assistant/supervisor
/homeassistant/components/oralb/ @bdraco @Lash-L
/tests/components/oralb/ @bdraco @Lash-L
/homeassistant/components/oru/ @bvlaicu
/homeassistant/components/osoenergy/ @osohotwateriot
/tests/components/osoenergy/ @osohotwateriot
/homeassistant/components/otbr/ @home-assistant/core
/tests/components/otbr/ @home-assistant/core
/homeassistant/components/ourgroceries/ @OnFreund
/tests/components/ourgroceries/ @OnFreund
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117
/homeassistant/components/ovo_energy/ @timmo001
/tests/components/ovo_energy/ @timmo001
/homeassistant/components/p1_monitor/ @klaasnicolaas
@@ -950,8 +1031,8 @@ build.json @home-assistant/supervisor
/tests/components/persistent_notification/ @home-assistant/core
/homeassistant/components/philips_js/ @elupus
/tests/components/philips_js/ @elupus
/homeassistant/components/pi_hole/ @johnluetke @shenxn
/tests/components/pi_hole/ @johnluetke @shenxn
/homeassistant/components/pi_hole/ @shenxn
/tests/components/pi_hole/ @shenxn
/homeassistant/components/picnic/ @corneyl
/tests/components/picnic/ @corneyl
/homeassistant/components/pilight/ @trekky12
@@ -985,8 +1066,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/proximity/ @mib1185
/tests/components/proximity/ @mib1185
/homeassistant/components/proxmoxve/ @jhollowe @Corbeno
/homeassistant/components/prusalink/ @balloob
/tests/components/prusalink/ @balloob
/homeassistant/components/prusalink/ @balloob @Skaronator
/tests/components/prusalink/ @balloob @Skaronator
/homeassistant/components/ps4/ @ktnrg45
/tests/components/ps4/ @ktnrg45
/homeassistant/components/pure_energie/ @klaasnicolaas
@@ -1003,10 +1084,10 @@ build.json @home-assistant/supervisor
/tests/components/pvoutput/ @frenck
/homeassistant/components/pvpc_hourly_pricing/ @azogue
/tests/components/pvpc_hourly_pricing/ @azogue
/homeassistant/components/qbittorrent/ @geoffreylagaisse
/tests/components/qbittorrent/ @geoffreylagaisse
/homeassistant/components/qingping/ @bdraco @skgsergio
/tests/components/qingping/ @bdraco @skgsergio
/homeassistant/components/qbittorrent/ @geoffreylagaisse @finder39
/tests/components/qbittorrent/ @geoffreylagaisse @finder39
/homeassistant/components/qingping/ @bdraco
/tests/components/qingping/ @bdraco
/homeassistant/components/qld_bushfire/ @exxamalte
/tests/components/qld_bushfire/ @exxamalte
/homeassistant/components/qnap/ @disforw
@@ -1017,8 +1098,10 @@ build.json @home-assistant/supervisor
/homeassistant/components/qvr_pro/ @oblogic7
/homeassistant/components/qwikswitch/ @kellerza
/tests/components/qwikswitch/ @kellerza
/homeassistant/components/rachio/ @bdraco
/tests/components/rachio/ @bdraco
/homeassistant/components/rabbitair/ @rabbit-air
/tests/components/rabbitair/ @rabbit-air
/homeassistant/components/rachio/ @bdraco @rfverbruggen
/tests/components/rachio/ @bdraco @rfverbruggen
/homeassistant/components/radarr/ @tkdrob
/tests/components/radarr/ @tkdrob
/homeassistant/components/radio_browser/ @frenck
@@ -1030,6 +1113,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/raincloud/ @vanstinator
/homeassistant/components/rainforest_eagle/ @gtdiehl @jcalbert @hastarin
/tests/components/rainforest_eagle/ @gtdiehl @jcalbert @hastarin
/homeassistant/components/rainforest_raven/ @cottsay
/tests/components/rainforest_raven/ @cottsay
/homeassistant/components/rainmachine/ @bachya
/tests/components/rainmachine/ @bachya
/homeassistant/components/random/ @fabaff
@@ -1046,7 +1131,8 @@ build.json @home-assistant/supervisor
/tests/components/recorder/ @home-assistant/core
/homeassistant/components/recovery_mode/ @home-assistant/core
/tests/components/recovery_mode/ @home-assistant/core
/homeassistant/components/rejseplanen/ @DarkFox
/homeassistant/components/refoss/ @ashionky
/tests/components/refoss/ @ashionky
/homeassistant/components/remote/ @home-assistant/core
/tests/components/remote/ @home-assistant/core
/homeassistant/components/renault/ @epenet
@@ -1058,6 +1144,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/repairs/ @home-assistant/core
/tests/components/repairs/ @home-assistant/core
/homeassistant/components/repetier/ @ShadowBr0ther
/homeassistant/components/rest_command/ @jpbede
/tests/components/rest_command/ @jpbede
/homeassistant/components/rflink/ @javicalle
/tests/components/rflink/ @javicalle
/homeassistant/components/rfxtrx/ @danielhiversen @elupus @RobBie1221
@@ -1078,8 +1166,10 @@ build.json @home-assistant/supervisor
/tests/components/roborock/ @humbertogontijo @Lash-L
/homeassistant/components/roku/ @ctalkington
/tests/components/roku/ @ctalkington
/homeassistant/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1
/tests/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1
/homeassistant/components/romy/ @xeniter
/tests/components/romy/ @xeniter
/homeassistant/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
/tests/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
/homeassistant/components/roon/ @pavoni
/tests/components/roon/ @pavoni
/homeassistant/components/rpi_power/ @shenxn @swetoast
@@ -1096,11 +1186,13 @@ build.json @home-assistant/supervisor
/tests/components/ruuvitag_ble/ @akx
/homeassistant/components/rympro/ @OnFreund @elad-bar @maorcc
/tests/components/rympro/ @OnFreund @elad-bar @maorcc
/homeassistant/components/sabnzbd/ @shaiu
/tests/components/sabnzbd/ @shaiu
/homeassistant/components/sabnzbd/ @shaiu @jpbede
/tests/components/sabnzbd/ @shaiu @jpbede
/homeassistant/components/saj/ @fredericvl
/homeassistant/components/samsungtv/ @chemelli74 @epenet
/tests/components/samsungtv/ @chemelli74 @epenet
/homeassistant/components/sanix/ @tomaszsluszniak
/tests/components/sanix/ @tomaszsluszniak
/homeassistant/components/scene/ @home-assistant/core
/tests/components/scene/ @home-assistant/core
/homeassistant/components/schedule/ @home-assistant/core
@@ -1138,6 +1230,8 @@ build.json @home-assistant/supervisor
/tests/components/senz/ @milanmeu
/homeassistant/components/serial/ @fabaff
/homeassistant/components/seven_segments/ @fabaff
/homeassistant/components/seventeentrack/ @shaiu
/tests/components/seventeentrack/ @shaiu
/homeassistant/components/sfr_box/ @epenet
/tests/components/sfr_box/ @epenet
/homeassistant/components/sharkiq/ @JeffResc @funkybunch
@@ -1185,12 +1279,15 @@ build.json @home-assistant/supervisor
/homeassistant/components/smhi/ @gjohansson-ST
/tests/components/smhi/ @gjohansson-ST
/homeassistant/components/sms/ @ocalvo
/tests/components/sms/ @ocalvo
/homeassistant/components/snapcast/ @luar123
/tests/components/snapcast/ @luar123
/homeassistant/components/snmp/ @nmaggioni
/tests/components/snmp/ @nmaggioni
/homeassistant/components/snooz/ @AustinBrunkhorst
/tests/components/snooz/ @AustinBrunkhorst
/homeassistant/components/solaredge/ @frenck
/tests/components/solaredge/ @frenck
/homeassistant/components/solaredge/ @frenck @bdraco
/tests/components/solaredge/ @frenck @bdraco
/homeassistant/components/solaredge_local/ @drobtravels @scheric
/homeassistant/components/solarlog/ @Ernst79
/tests/components/solarlog/ @Ernst79
@@ -1202,8 +1299,8 @@ build.json @home-assistant/supervisor
/tests/components/sonarr/ @ctalkington
/homeassistant/components/songpal/ @rytilahti @shenxn
/tests/components/songpal/ @rytilahti @shenxn
/homeassistant/components/sonos/ @jjlawren
/tests/components/sonos/ @jjlawren
/homeassistant/components/sonos/ @jjlawren @peterager
/tests/components/sonos/ @jjlawren @peterager
/homeassistant/components/soundtouch/ @kroimon
/tests/components/soundtouch/ @kroimon
/homeassistant/components/spaceapi/ @fabaff
@@ -1243,13 +1340,17 @@ build.json @home-assistant/supervisor
/homeassistant/components/subaru/ @G-Two
/tests/components/subaru/ @G-Two
/homeassistant/components/suez_water/ @ooii
/tests/components/suez_water/ @ooii
/homeassistant/components/sun/ @Swamp-Ig
/tests/components/sun/ @Swamp-Ig
/homeassistant/components/sunweg/ @rokam
/tests/components/sunweg/ @rokam
/homeassistant/components/supla/ @mwegrzynek
/homeassistant/components/surepetcare/ @benleb @danielhiversen
/tests/components/surepetcare/ @benleb @danielhiversen
/homeassistant/components/swiss_hydrological_data/ @fabaff
/homeassistant/components/swiss_public_transport/ @fabaff
/homeassistant/components/swiss_public_transport/ @fabaff @miaucl
/tests/components/swiss_public_transport/ @fabaff @miaucl
/homeassistant/components/switch/ @home-assistant/core
/tests/components/switch/ @home-assistant/core
/homeassistant/components/switch_as_x/ @home-assistant/core
@@ -1272,34 +1373,46 @@ build.json @home-assistant/supervisor
/homeassistant/components/synology_srm/ @aerialls
/homeassistant/components/system_bridge/ @timmo001
/tests/components/system_bridge/ @timmo001
/homeassistant/components/tado/ @michaelarnauts @chiefdragon
/tests/components/tado/ @michaelarnauts @chiefdragon
/homeassistant/components/systemmonitor/ @gjohansson-ST
/tests/components/systemmonitor/ @gjohansson-ST
/homeassistant/components/tado/ @chiefdragon @erwindouna
/tests/components/tado/ @chiefdragon @erwindouna
/homeassistant/components/tag/ @balloob @dmulcahey
/tests/components/tag/ @balloob @dmulcahey
/homeassistant/components/tailscale/ @frenck
/tests/components/tailscale/ @frenck
/homeassistant/components/tailwind/ @frenck
/tests/components/tailwind/ @frenck
/homeassistant/components/tami4/ @Guy293
/tests/components/tami4/ @Guy293
/homeassistant/components/tankerkoenig/ @guillempages @mib1185
/tests/components/tankerkoenig/ @guillempages @mib1185
/homeassistant/components/tankerkoenig/ @guillempages @mib1185 @jpbede
/tests/components/tankerkoenig/ @guillempages @mib1185 @jpbede
/homeassistant/components/tapsaff/ @bazwilliams
/homeassistant/components/tasmota/ @emontnemery
/tests/components/tasmota/ @emontnemery
/homeassistant/components/tautulli/ @ludeeus @tkdrob
/tests/components/tautulli/ @ludeeus @tkdrob
/homeassistant/components/technove/ @Moustachauve
/tests/components/technove/ @Moustachauve
/homeassistant/components/tedee/ @patrickhilker @zweckj
/tests/components/tedee/ @patrickhilker @zweckj
/homeassistant/components/tellduslive/ @fredrike
/tests/components/tellduslive/ @fredrike
/homeassistant/components/template/ @PhracturedBlue @tetienne @home-assistant/core
/tests/components/template/ @PhracturedBlue @tetienne @home-assistant/core
/homeassistant/components/tesla_wall_connector/ @einarhauks
/tests/components/tesla_wall_connector/ @einarhauks
/homeassistant/components/teslemetry/ @Bre77
/tests/components/teslemetry/ @Bre77
/homeassistant/components/tessie/ @Bre77
/tests/components/tessie/ @Bre77
/homeassistant/components/text/ @home-assistant/core
/tests/components/text/ @home-assistant/core
/homeassistant/components/tfiac/ @fredrike @mellado
/homeassistant/components/thermobeacon/ @bdraco
/tests/components/thermobeacon/ @bdraco
/homeassistant/components/thermopro/ @bdraco
/tests/components/thermopro/ @bdraco
/homeassistant/components/thermopro/ @bdraco @h3ss
/tests/components/thermopro/ @bdraco @h3ss
/homeassistant/components/thethingsnetwork/ @fabaff
/homeassistant/components/thread/ @home-assistant/core
/tests/components/thread/ @home-assistant/core
@@ -1324,12 +1437,14 @@ build.json @home-assistant/supervisor
/tests/components/tomorrowio/ @raman325 @lymanepp
/homeassistant/components/totalconnect/ @austinmroczek
/tests/components/totalconnect/ @austinmroczek
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey @bdraco
/tests/components/tplink/ @rytilahti @thegardenmonkey @bdraco
/homeassistant/components/tplink/ @rytilahti @thegardenmonkey @bdraco @sdb9696
/tests/components/tplink/ @rytilahti @thegardenmonkey @bdraco @sdb9696
/homeassistant/components/tplink_omada/ @MarkGodwin
/tests/components/tplink_omada/ @MarkGodwin
/homeassistant/components/traccar/ @ludeeus
/tests/components/traccar/ @ludeeus
/homeassistant/components/traccar_server/ @ludeeus
/tests/components/traccar_server/ @ludeeus
/homeassistant/components/trace/ @home-assistant/core
/tests/components/trace/ @home-assistant/core
/homeassistant/components/tractive/ @Danielhiversen @zhulik @bieniu
@@ -1360,6 +1475,7 @@ build.json @home-assistant/supervisor
/tests/components/ukraine_alarm/ @PaulAnnekov
/homeassistant/components/unifi/ @Kane610
/tests/components/unifi/ @Kane610
/homeassistant/components/unifi_direct/ @tofuSCHNITZEL
/homeassistant/components/unifiled/ @florisvdk
/homeassistant/components/unifiprotect/ @AngellusMortis @bdraco
/tests/components/unifiprotect/ @AngellusMortis @bdraco
@@ -1386,18 +1502,21 @@ build.json @home-assistant/supervisor
/tests/components/v2c/ @dgomes
/homeassistant/components/vacuum/ @home-assistant/core
/tests/components/vacuum/ @home-assistant/core
/homeassistant/components/vallox/ @andre-richter @slovdahl @viiru-
/tests/components/vallox/ @andre-richter @slovdahl @viiru-
/homeassistant/components/vallox/ @andre-richter @slovdahl @viiru- @yozik04
/tests/components/vallox/ @andre-richter @slovdahl @viiru- @yozik04
/homeassistant/components/valve/ @home-assistant/core
/tests/components/valve/ @home-assistant/core
/homeassistant/components/velbus/ @Cereal2nd @brefra
/tests/components/velbus/ @Cereal2nd @brefra
/homeassistant/components/velux/ @Julius2342
/homeassistant/components/velux/ @Julius2342 @DeerMaximum
/tests/components/velux/ @Julius2342 @DeerMaximum
/homeassistant/components/venstar/ @garbled1 @jhollowe
/tests/components/venstar/ @garbled1 @jhollowe
/homeassistant/components/versasense/ @imstevenxyz
/homeassistant/components/version/ @ludeeus
/tests/components/version/ @ludeeus
/homeassistant/components/vesync/ @markperdue @webdjoe @thegardenmonkey
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey
/homeassistant/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja
/homeassistant/components/vicare/ @CFenner
/tests/components/vicare/ @CFenner
/homeassistant/components/vilfo/ @ManneW
@@ -1436,10 +1555,14 @@ build.json @home-assistant/supervisor
/tests/components/weather/ @home-assistant/core
/homeassistant/components/weatherflow/ @natekspencer @jeeftor
/tests/components/weatherflow/ @natekspencer @jeeftor
/homeassistant/components/weatherflow_cloud/ @jeeftor
/tests/components/weatherflow_cloud/ @jeeftor
/homeassistant/components/weatherkit/ @tjhorner
/tests/components/weatherkit/ @tjhorner
/homeassistant/components/webhook/ @home-assistant/core
/tests/components/webhook/ @home-assistant/core
/homeassistant/components/webmin/ @autinerd
/tests/components/webmin/ @autinerd
/homeassistant/components/webostv/ @thecode
/tests/components/webostv/ @thecode
/homeassistant/components/websocket_api/ @home-assistant/core
@@ -1461,8 +1584,8 @@ build.json @home-assistant/supervisor
/tests/components/wiz/ @sbidy
/homeassistant/components/wled/ @frenck
/tests/components/wled/ @frenck
/homeassistant/components/wolflink/ @adamkrol93
/tests/components/wolflink/ @adamkrol93
/homeassistant/components/wolflink/ @adamkrol93 @mtielen
/tests/components/wolflink/ @adamkrol93 @mtielen
/homeassistant/components/workday/ @fabaff @gjohansson-ST
/tests/components/workday/ @fabaff @gjohansson-ST
/homeassistant/components/worldclock/ @fabaff
@@ -1516,7 +1639,7 @@ build.json @home-assistant/supervisor
/tests/components/zodiac/ @JulienTant
/homeassistant/components/zone/ @home-assistant/core
/tests/components/zone/ @home-assistant/core
/homeassistant/components/zoneminder/ @rohankapoorcom
/homeassistant/components/zoneminder/ @rohankapoorcom @nabbi
/homeassistant/components/zwave_js/ @home-assistant/z-wave
/tests/components/zwave_js/ @home-assistant/z-wave
/homeassistant/components/zwave_me/ @lawfulchaos @Z-Wave-Me @PoltoS

View File

@@ -1,42 +1,48 @@
# Automatically generated by hassfest.
#
# To update, run python3 -m script.hassfest -p docker
ARG BUILD_FROM
FROM ${BUILD_FROM}
# Synchronize with homeassistant/core.py:async_stop
ENV \
S6_SERVICES_GRACETIME=220000
S6_SERVICES_GRACETIME=240000 \
UV_SYSTEM_PYTHON=true
ARG QEMU_CPU
# Install uv
RUN pip3 install uv==0.1.35
WORKDIR /usr/src
## Setup Home Assistant Core dependencies
COPY requirements.txt homeassistant/
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/
RUN \
pip3 install \
--only-binary=:all: \
uv pip install \
--no-build \
-r homeassistant/requirements.txt
COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/
RUN \
if ls homeassistant/home_assistant_frontend*.whl 1> /dev/null 2>&1; then \
pip3 install homeassistant/home_assistant_frontend-*.whl; \
if ls homeassistant/home_assistant_*.whl 1> /dev/null 2>&1; then \
uv pip install homeassistant/home_assistant_*.whl; \
fi \
&& if ls homeassistant/home_assistant_intents*.whl 1> /dev/null 2>&1; then \
pip3 install homeassistant/home_assistant_intents-*.whl; \
fi \
&& \
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
pip3 install \
--only-binary=:all: \
-r homeassistant/requirements_all.txt
&& if [ "${BUILD_ARCH}" = "i386" ]; then \
linux32 uv pip install \
--no-build \
-r homeassistant/requirements_all.txt; \
else \
uv pip install \
--no-build \
-r homeassistant/requirements_all.txt; \
fi
## Setup Home Assistant Core
COPY . homeassistant/
RUN \
pip3 install \
--only-binary=:all: \
uv pip install \
-e ./homeassistant \
&& python3 -m compileall \
homeassistant/homeassistant

View File

@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/vscode/devcontainers/python:0-3.11
FROM mcr.microsoft.com/devcontainers/python:1-3.12
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
@@ -16,11 +16,13 @@ RUN \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
# Additional library needed by some tests and accordingly by VScode Tests Discovery
bluez \
ffmpeg \
libudev-dev \
libavformat-dev \
libavcodec-dev \
libavdevice-dev \
libavutil-dev \
libgammu-dev \
libswscale-dev \
libswresample-dev \
libavfilter-dev \

View File

@@ -22,7 +22,7 @@ of a component, check the `Home Assistant help section <https://home-assistant.i
.. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg
:target: https://www.home-assistant.io/join-chat/
.. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/master/docs/screenshots.png
.. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-states.png
:target: https://demo.home-assistant.io
.. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/docs/screenshot-integrations.png
:target: https://home-assistant.io/integrations/
.. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-integrations.png
:target: https://home-assistant.io/integrations/

View File

@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2023.10.1
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2023.10.1
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2023.10.1
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2023.10.1
i386: ghcr.io/home-assistant/i386-homeassistant-base:2023.10.1
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2024.03.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2024.03.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2024.03.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2024.03.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2024.03.0
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io

View File

@@ -1,4 +1,5 @@
"""Start Home Assistant."""
from __future__ import annotations
import argparse
@@ -145,9 +146,7 @@ def get_arguments() -> argparse.Namespace:
help="Skips validation of operating system",
)
arguments = parser.parse_args()
return arguments
return parser.parse_args()
def check_threads() -> None:

View File

@@ -1,23 +1,34 @@
"""Provide an authentication layer for Home Assistant."""
from __future__ import annotations
import asyncio
from collections import OrderedDict
from collections.abc import Mapping
from datetime import timedelta
from datetime import datetime, timedelta
from functools import partial
import time
from typing import Any, cast
import jwt
from homeassistant import data_entry_flow
from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.core import (
CALLBACK_TYPE,
HassJob,
HassJobType,
HomeAssistant,
callback,
)
from homeassistant.helpers.event import async_track_point_in_utc_time
from homeassistant.util import dt as dt_util
from . import auth_store, jwt_wrapper, models
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN, REFRESH_TOKEN_EXPIRATION
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .models import AuthFlowResult
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
from .session import SessionManager
EVENT_USER_ADDED = "user_added"
EVENT_USER_UPDATED = "user_updated"
@@ -47,6 +58,7 @@ async def auth_manager_from_config(
mfa modules exist in configs.
"""
store = auth_store.AuthStore(hass)
await store.async_load()
if provider_configs:
providers = await asyncio.gather(
*(
@@ -74,12 +86,17 @@ async def auth_manager_from_config(
module_hash[module.id] = module
manager = AuthManager(hass, store, provider_hash, module_hash)
await manager.async_setup()
return manager
class AuthManagerFlowManager(data_entry_flow.FlowManager):
class AuthManagerFlowManager(
data_entry_flow.FlowManager[AuthFlowResult, tuple[str, str]]
):
"""Manage authentication flows."""
_flow_result = AuthFlowResult
def __init__(self, hass: HomeAssistant, auth_manager: AuthManager) -> None:
"""Init auth manager flows."""
super().__init__(hass)
@@ -87,11 +104,11 @@ class AuthManagerFlowManager(data_entry_flow.FlowManager):
async def async_create_flow(
self,
handler_key: str,
handler_key: tuple[str, str],
*,
context: dict[str, Any] | None = None,
data: dict[str, Any] | None = None,
) -> data_entry_flow.FlowHandler:
) -> LoginFlow:
"""Create a login flow."""
auth_provider = self.auth_manager.get_auth_provider(*handler_key)
if not auth_provider:
@@ -99,8 +116,10 @@ class AuthManagerFlowManager(data_entry_flow.FlowManager):
return await auth_provider.async_login_flow(context)
async def async_finish_flow(
self, flow: data_entry_flow.FlowHandler, result: FlowResult
) -> FlowResult:
self,
flow: data_entry_flow.FlowHandler[AuthFlowResult, tuple[str, str]],
result: AuthFlowResult,
) -> AuthFlowResult:
"""Return a user as result of login flow."""
flow = cast(LoginFlow, flow)
@@ -157,7 +176,23 @@ class AuthManager:
self._providers = providers
self._mfa_modules = mfa_modules
self.login_flow = AuthManagerFlowManager(hass, self)
self._revoke_callbacks: dict[str, list[CALLBACK_TYPE]] = {}
self._revoke_callbacks: dict[str, set[CALLBACK_TYPE]] = {}
self._expire_callback: CALLBACK_TYPE | None = None
self._remove_expired_job = HassJob(
self._async_remove_expired_refresh_tokens, job_type=HassJobType.Callback
)
self.session = SessionManager(hass, self)
async def async_setup(self) -> None:
"""Set up the auth manager."""
hass = self.hass
hass.async_add_shutdown_job(
HassJob(
self._async_cancel_expiration_schedule, job_type=HassJobType.Callback
)
)
self._async_track_next_refresh_token_expiration()
await self.session.async_setup()
@property
def auth_providers(self) -> list[AuthProvider]:
@@ -423,6 +458,11 @@ class AuthManager:
else:
token_type = models.TOKEN_TYPE_NORMAL
if token_type is models.TOKEN_TYPE_NORMAL:
expire_at = time.time() + REFRESH_TOKEN_EXPIRATION
else:
expire_at = None
if user.system_generated != (token_type == models.TOKEN_TYPE_SYSTEM):
raise ValueError(
"System generated users can only have system type refresh tokens"
@@ -454,48 +494,81 @@ class AuthManager:
client_icon,
token_type,
access_token_expiration,
expire_at,
credential,
)
async def async_get_refresh_token(
self, token_id: str
) -> models.RefreshToken | None:
@callback
def async_get_refresh_token(self, token_id: str) -> models.RefreshToken | None:
"""Get refresh token by id."""
return await self._store.async_get_refresh_token(token_id)
return self._store.async_get_refresh_token(token_id)
async def async_get_refresh_token_by_token(
@callback
def async_get_refresh_token_by_token(
self, token: str
) -> models.RefreshToken | None:
"""Get refresh token by token."""
return await self._store.async_get_refresh_token_by_token(token)
return self._store.async_get_refresh_token_by_token(token)
async def async_remove_refresh_token(
self, refresh_token: models.RefreshToken
) -> None:
@callback
def async_remove_refresh_token(self, refresh_token: models.RefreshToken) -> None:
"""Delete a refresh token."""
await self._store.async_remove_refresh_token(refresh_token)
self._store.async_remove_refresh_token(refresh_token)
callbacks = self._revoke_callbacks.pop(refresh_token.id, [])
callbacks = self._revoke_callbacks.pop(refresh_token.id, ())
for revoke_callback in callbacks:
revoke_callback()
@callback
def _async_remove_expired_refresh_tokens(self, _: datetime | None = None) -> None:
"""Remove expired refresh tokens."""
now = time.time()
for token in self._store.async_get_refresh_tokens():
if (expire_at := token.expire_at) is not None and expire_at <= now:
self.async_remove_refresh_token(token)
self._async_track_next_refresh_token_expiration()
@callback
def _async_track_next_refresh_token_expiration(self) -> None:
"""Initialise all token expiration scheduled tasks."""
next_expiration = time.time() + REFRESH_TOKEN_EXPIRATION
for token in self._store.async_get_refresh_tokens():
if (
expire_at := token.expire_at
) is not None and expire_at < next_expiration:
next_expiration = expire_at
self._expire_callback = async_track_point_in_utc_time(
self.hass,
self._remove_expired_job,
dt_util.utc_from_timestamp(next_expiration),
)
@callback
def _async_cancel_expiration_schedule(self) -> None:
"""Cancel tracking of expired refresh tokens."""
if self._expire_callback:
self._expire_callback()
self._expire_callback = None
@callback
def _async_unregister(
self, callbacks: set[CALLBACK_TYPE], callback_: CALLBACK_TYPE
) -> None:
"""Unregister a callback."""
callbacks.remove(callback_)
@callback
def async_register_revoke_token_callback(
self, refresh_token_id: str, revoke_callback: CALLBACK_TYPE
) -> CALLBACK_TYPE:
"""Register a callback to be called when the refresh token id is revoked."""
if refresh_token_id not in self._revoke_callbacks:
self._revoke_callbacks[refresh_token_id] = []
self._revoke_callbacks[refresh_token_id] = set()
callbacks = self._revoke_callbacks[refresh_token_id]
callbacks.append(revoke_callback)
@callback
def unregister() -> None:
if revoke_callback in callbacks:
callbacks.remove(revoke_callback)
return unregister
callbacks.add(revoke_callback)
return partial(self._async_unregister, callbacks, revoke_callback)
@callback
def async_create_access_token(
@@ -552,16 +625,15 @@ class AuthManager:
if provider := self._async_resolve_provider(refresh_token):
provider.async_validate_refresh_token(refresh_token, remote_ip)
async def async_validate_access_token(
self, token: str
) -> models.RefreshToken | None:
@callback
def async_validate_access_token(self, token: str) -> models.RefreshToken | None:
"""Return refresh token if an access token is valid."""
try:
unverif_claims = jwt_wrapper.unverified_hs256_token_decode(token)
except jwt.InvalidTokenError:
return None
refresh_token = await self.async_get_refresh_token(
refresh_token = self.async_get_refresh_token(
cast(str, unverif_claims.get("iss"))
)

View File

@@ -1,10 +1,10 @@
"""Storage for auth models."""
from __future__ import annotations
import asyncio
from collections import OrderedDict
from datetime import timedelta
import hmac
import itertools
from logging import getLogger
from typing import Any
@@ -19,6 +19,7 @@ from .const import (
GROUP_ID_ADMIN,
GROUP_ID_READ_ONLY,
GROUP_ID_USER,
REFRESH_TOKEN_EXPIRATION,
)
from .permissions import system_policies
from .permissions.models import PermissionLookup
@@ -30,6 +31,17 @@ GROUP_NAME_ADMIN = "Administrators"
GROUP_NAME_USER = "Users"
GROUP_NAME_READ_ONLY = "Read Only"
# We always save the auth store after we load it since
# we may migrate data and do not want to have to do it again
# but we don't want to do it during startup so we schedule
# the first save 5 minutes out knowing something else may
# want to save the auth store before then, and since Storage
# will honor the lower of the two delays, it will save it
# faster if something else saves it.
INITIAL_LOAD_SAVE_DELAY = 300
DEFAULT_SAVE_DELAY = 1
class AuthStore:
"""Stores authentication info.
@@ -43,44 +55,28 @@ class AuthStore:
def __init__(self, hass: HomeAssistant) -> None:
"""Initialize the auth store."""
self.hass = hass
self._users: dict[str, models.User] | None = None
self._groups: dict[str, models.Group] | None = None
self._perm_lookup: PermissionLookup | None = None
self._loaded = False
self._users: dict[str, models.User] = None # type: ignore[assignment]
self._groups: dict[str, models.Group] = None # type: ignore[assignment]
self._perm_lookup: PermissionLookup = None # type: ignore[assignment]
self._store = Store[dict[str, list[dict[str, Any]]]](
hass, STORAGE_VERSION, STORAGE_KEY, private=True, atomic_writes=True
)
self._lock = asyncio.Lock()
async def async_get_groups(self) -> list[models.Group]:
"""Retrieve all users."""
if self._groups is None:
await self._async_load()
assert self._groups is not None
return list(self._groups.values())
async def async_get_group(self, group_id: str) -> models.Group | None:
"""Retrieve all users."""
if self._groups is None:
await self._async_load()
assert self._groups is not None
return self._groups.get(group_id)
async def async_get_users(self) -> list[models.User]:
"""Retrieve all users."""
if self._users is None:
await self._async_load()
assert self._users is not None
return list(self._users.values())
async def async_get_user(self, user_id: str) -> models.User | None:
"""Retrieve a user by id."""
if self._users is None:
await self._async_load()
assert self._users is not None
return self._users.get(user_id)
async def async_create_user(
@@ -94,12 +90,6 @@ class AuthStore:
local_only: bool | None = None,
) -> models.User:
"""Create a new user."""
if self._users is None:
await self._async_load()
assert self._users is not None
assert self._groups is not None
groups = []
for group_id in group_ids or []:
if (group := self._groups.get(group_id)) is None:
@@ -145,10 +135,6 @@ class AuthStore:
async def async_remove_user(self, user: models.User) -> None:
"""Remove a user."""
if self._users is None:
await self._async_load()
assert self._users is not None
self._users.pop(user.id)
self._async_schedule_save()
@@ -161,8 +147,6 @@ class AuthStore:
local_only: bool | None = None,
) -> None:
"""Update a user."""
assert self._groups is not None
if group_ids is not None:
groups = []
for grid in group_ids:
@@ -171,7 +155,6 @@ class AuthStore:
groups.append(group)
user.groups = groups
user.invalidate_permission_cache()
for attr_name, value in (
("name", name),
@@ -195,10 +178,6 @@ class AuthStore:
async def async_remove_credentials(self, credentials: models.Credentials) -> None:
"""Remove credentials."""
if self._users is None:
await self._async_load()
assert self._users is not None
for user in self._users.values():
found = None
@@ -221,6 +200,7 @@ class AuthStore:
client_icon: str | None = None,
token_type: str = models.TOKEN_TYPE_NORMAL,
access_token_expiration: timedelta = ACCESS_TOKEN_EXPIRATION,
expire_at: float | None = None,
credential: models.Credentials | None = None,
) -> models.RefreshToken:
"""Create a new token for a user."""
@@ -229,6 +209,7 @@ class AuthStore:
"client_id": client_id,
"token_type": token_type,
"access_token_expiration": access_token_expiration,
"expire_at": expire_at,
"credential": credential,
}
if client_name:
@@ -242,27 +223,17 @@ class AuthStore:
self._async_schedule_save()
return refresh_token
async def async_remove_refresh_token(
self, refresh_token: models.RefreshToken
) -> None:
@callback
def async_remove_refresh_token(self, refresh_token: models.RefreshToken) -> None:
"""Remove a refresh token."""
if self._users is None:
await self._async_load()
assert self._users is not None
for user in self._users.values():
if user.refresh_tokens.pop(refresh_token.id, None):
self._async_schedule_save()
break
async def async_get_refresh_token(
self, token_id: str
) -> models.RefreshToken | None:
@callback
def async_get_refresh_token(self, token_id: str) -> models.RefreshToken | None:
"""Get refresh token by id."""
if self._users is None:
await self._async_load()
assert self._users is not None
for user in self._users.values():
refresh_token = user.refresh_tokens.get(token_id)
if refresh_token is not None:
@@ -270,14 +241,11 @@ class AuthStore:
return None
async def async_get_refresh_token_by_token(
@callback
def async_get_refresh_token_by_token(
self, token: str
) -> models.RefreshToken | None:
"""Get refresh token by token."""
if self._users is None:
await self._async_load()
assert self._users is not None
found = None
for user in self._users.values():
@@ -287,6 +255,15 @@ class AuthStore:
return found
@callback
def async_get_refresh_tokens(self) -> list[models.RefreshToken]:
"""Get all refresh tokens."""
return list(
itertools.chain.from_iterable(
user.refresh_tokens.values() for user in self._users.values()
)
)
@callback
def async_log_refresh_token_usage(
self, refresh_token: models.RefreshToken, remote_ip: str | None = None
@@ -294,35 +271,34 @@ class AuthStore:
"""Update refresh token last used information."""
refresh_token.last_used_at = dt_util.utcnow()
refresh_token.last_used_ip = remote_ip
if refresh_token.expire_at:
refresh_token.expire_at = (
refresh_token.last_used_at.timestamp() + REFRESH_TOKEN_EXPIRATION
)
self._async_schedule_save()
async def _async_load(self) -> None:
async def async_load(self) -> None: # noqa: C901
"""Load the users."""
async with self._lock:
if self._users is not None:
return
await self._async_load_task()
if self._loaded:
raise RuntimeError("Auth storage is already loaded")
self._loaded = True
async def _async_load_task(self) -> None:
"""Load the users."""
dev_reg = dr.async_get(self.hass)
ent_reg = er.async_get(self.hass)
data = await self._store.async_load()
# Make sure that we're not overriding data if 2 loads happened at the
# same time
if self._users is not None:
return
perm_lookup = PermissionLookup(ent_reg, dev_reg)
self._perm_lookup = perm_lookup
self._perm_lookup = perm_lookup = PermissionLookup(ent_reg, dev_reg)
now_ts = dt_util.utcnow().timestamp()
if data is None or not isinstance(data, dict):
self._set_defaults()
return
users: dict[str, models.User] = OrderedDict()
groups: dict[str, models.Group] = OrderedDict()
credentials: dict[str, models.Credentials] = OrderedDict()
users: dict[str, models.User] = {}
groups: dict[str, models.Group] = {}
credentials: dict[str, models.Credentials] = {}
# Soft-migrating data as we load. We are going to make sure we have a
# read only group and an admin group. There are two states that we can
@@ -469,6 +445,14 @@ class AuthStore:
else:
last_used_at = None
if (
expire_at := rt_dict.get("expire_at")
) is None and token_type == models.TOKEN_TYPE_NORMAL:
if last_used_at:
expire_at = last_used_at.timestamp() + REFRESH_TOKEN_EXPIRATION
else:
expire_at = now_ts + REFRESH_TOKEN_EXPIRATION
token = models.RefreshToken(
id=rt_dict["id"],
user=users[rt_dict["user_id"]],
@@ -485,6 +469,7 @@ class AuthStore:
jwt_key=rt_dict["jwt_key"],
last_used_at=last_used_at,
last_used_ip=rt_dict.get("last_used_ip"),
expire_at=expire_at,
version=rt_dict.get("version"),
)
if "credential_id" in rt_dict:
@@ -494,20 +479,16 @@ class AuthStore:
self._groups = groups
self._users = users
@callback
def _async_schedule_save(self) -> None:
"""Save users."""
if self._users is None:
return
self._async_schedule_save(INITIAL_LOAD_SAVE_DELAY)
self._store.async_delay_save(self._data_to_save, 1)
@callback
def _async_schedule_save(self, delay: float = DEFAULT_SAVE_DELAY) -> None:
"""Save users."""
self._store.async_delay_save(self._data_to_save, delay)
@callback
def _data_to_save(self) -> dict[str, list[dict[str, Any]]]:
"""Return the data to store."""
assert self._users is not None
assert self._groups is not None
users = [
{
"id": user.id,
@@ -564,6 +545,7 @@ class AuthStore:
if refresh_token.last_used_at
else None,
"last_used_ip": refresh_token.last_used_ip,
"expire_at": refresh_token.expire_at,
"credential_id": refresh_token.credential.id
if refresh_token.credential
else None,
@@ -582,9 +564,9 @@ class AuthStore:
def _set_defaults(self) -> None:
"""Set default values for auth store."""
self._users = OrderedDict()
self._users = {}
groups: dict[str, models.Group] = OrderedDict()
groups: dict[str, models.Group] = {}
admin_group = _system_admin_group()
groups[admin_group.id] = admin_group
user_group = _system_user_group()

View File

@@ -1,8 +1,10 @@
"""Constants for the auth module."""
from datetime import timedelta
ACCESS_TOKEN_EXPIRATION = timedelta(minutes=30)
MFA_SESSION_EXPIRATION = timedelta(minutes=5)
REFRESH_TOKEN_EXPIRATION = timedelta(days=90).total_seconds()
GROUP_ID_ADMIN = "system-admin"
GROUP_ID_USER = "system-users"

View File

@@ -4,6 +4,7 @@ Since we decode the same tokens over and over again
we can cache the result of the decode of valid tokens
to speed up the process.
"""
from __future__ import annotations
from datetime import timedelta
@@ -77,7 +78,7 @@ class _PyJWTWithVerify(PyJWT):
key: str,
algorithms: list[str],
issuer: str | None = None,
leeway: int | float | timedelta = 0,
leeway: float | timedelta = 0,
options: dict[str, Any] | None = None,
) -> dict[str, Any]:
"""Verify a JWT's signature and claims."""

View File

@@ -1,7 +1,7 @@
"""Pluggable auth modules for Home Assistant."""
from __future__ import annotations
import importlib
import logging
import types
from typing import Any
@@ -14,6 +14,7 @@ from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.importlib import async_import_module
from homeassistant.util.decorator import Registry
MULTI_FACTOR_AUTH_MODULES: Registry[str, type[MultiFactorAuthModule]] = Registry()
@@ -148,7 +149,7 @@ async def _load_mfa_module(hass: HomeAssistant, module_name: str) -> types.Modul
module_path = f"homeassistant.auth.mfa_modules.{module_name}"
try:
module = importlib.import_module(module_path)
module = await async_import_module(hass, module_path)
except ImportError as err:
_LOGGER.error("Unable to load mfa module %s: %s", module_name, err)
raise HomeAssistantError(

View File

@@ -1,4 +1,5 @@
"""Example auth module."""
from __future__ import annotations
from typing import Any

View File

@@ -2,6 +2,7 @@
Sending HOTP through notify service
"""
from __future__ import annotations
import asyncio
@@ -152,7 +153,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
"""Return list of notify services."""
unordered_services = set()
for service in self.hass.services.async_services().get("notify", {}):
for service in self.hass.services.async_services_for_domain("notify"):
if service not in self._exclude:
unordered_services.add(service)

View File

@@ -1,4 +1,5 @@
"""Time-based One Time Password auth module."""
from __future__ import annotations
import asyncio

View File

@@ -1,14 +1,19 @@
"""Auth models."""
from __future__ import annotations
from datetime import datetime, timedelta
from functools import cached_property
import secrets
from typing import NamedTuple
from typing import Any, NamedTuple
import uuid
import attr
from attr import Attribute
from attr.setters import validate
from homeassistant.const import __version__
from homeassistant.data_entry_flow import FlowResult
from homeassistant.util import dt as dt_util
from . import permissions as perm_mdl
@@ -18,6 +23,8 @@ TOKEN_TYPE_NORMAL = "normal"
TOKEN_TYPE_SYSTEM = "system"
TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN = "long_lived_access_token"
AuthFlowResult = FlowResult[tuple[str, str]]
@attr.s(slots=True)
class Group:
@@ -29,19 +36,27 @@ class Group:
system_generated: bool = attr.ib(default=False)
@attr.s(slots=True)
def _handle_permissions_change(self: User, user_attr: Attribute, new: Any) -> Any:
"""Handle a change to a permissions."""
self.invalidate_cache()
return validate(self, user_attr, new)
@attr.s(slots=False)
class User:
"""A user."""
name: str | None = attr.ib()
perm_lookup: perm_mdl.PermissionLookup = attr.ib(eq=False, order=False)
id: str = attr.ib(factory=lambda: uuid.uuid4().hex)
is_owner: bool = attr.ib(default=False)
is_active: bool = attr.ib(default=False)
is_owner: bool = attr.ib(default=False, on_setattr=_handle_permissions_change)
is_active: bool = attr.ib(default=False, on_setattr=_handle_permissions_change)
system_generated: bool = attr.ib(default=False)
local_only: bool = attr.ib(default=False)
groups: list[Group] = attr.ib(factory=list, eq=False, order=False)
groups: list[Group] = attr.ib(
factory=list, eq=False, order=False, on_setattr=_handle_permissions_change
)
# List of credentials of a user.
credentials: list[Credentials] = attr.ib(factory=list, eq=False, order=False)
@@ -51,40 +66,27 @@ class User:
factory=dict, eq=False, order=False
)
_permissions: perm_mdl.PolicyPermissions | None = attr.ib(
init=False,
eq=False,
order=False,
default=None,
)
@property
@cached_property
def permissions(self) -> perm_mdl.AbstractPermissions:
"""Return permissions object for user."""
if self.is_owner:
return perm_mdl.OwnerPermissions
if self._permissions is not None:
return self._permissions
self._permissions = perm_mdl.PolicyPermissions(
return perm_mdl.PolicyPermissions(
perm_mdl.merge_policies([group.policy for group in self.groups]),
self.perm_lookup,
)
return self._permissions
@property
@cached_property
def is_admin(self) -> bool:
"""Return if user is part of the admin group."""
if self.is_owner:
return True
return self.is_owner or (
self.is_active and any(gr.id == GROUP_ID_ADMIN for gr in self.groups)
)
return self.is_active and any(gr.id == GROUP_ID_ADMIN for gr in self.groups)
def invalidate_permission_cache(self) -> None:
"""Invalidate permission cache."""
self._permissions = None
def invalidate_cache(self) -> None:
"""Invalidate permission and is_admin cache."""
for attr_to_invalidate in ("permissions", "is_admin"):
self.__dict__.pop(attr_to_invalidate, None)
@attr.s(slots=True)
@@ -110,6 +112,8 @@ class RefreshToken:
last_used_at: datetime | None = attr.ib(default=None)
last_used_ip: str | None = attr.ib(default=None)
expire_at: float | None = attr.ib(default=None)
credential: Credentials | None = attr.ib(default=None)
version: str | None = attr.ib(default=__version__)

View File

@@ -1,8 +1,8 @@
"""Permissions for Home Assistant."""
from __future__ import annotations
from collections.abc import Callable
from typing import Any
import voluptuous as vol
@@ -63,7 +63,7 @@ class PolicyPermissions(AbstractPermissions):
"""Return a function that can test entity access."""
return compile_entities(self._policy.get(CAT_ENTITIES), self._perm_lookup)
def __eq__(self, other: Any) -> bool:
def __eq__(self, other: object) -> bool:
"""Equals check."""
return isinstance(other, PolicyPermissions) and other._policy == self._policy

View File

@@ -1,4 +1,5 @@
"""Permission constants."""
CAT_ENTITIES = "entities"
CAT_CONFIG_ENTRIES = "config_entries"
SUBCAT_ALL = "all"

View File

@@ -1,4 +1,5 @@
"""Entity permissions."""
from __future__ import annotations
from collections import OrderedDict

View File

@@ -1,7 +1,8 @@
"""Permission for events."""
from __future__ import annotations
from typing import Final
from typing import Any, Final
from homeassistant.const import (
EVENT_COMPONENT_LOADED,
@@ -20,10 +21,11 @@ from homeassistant.helpers.area_registry import EVENT_AREA_REGISTRY_UPDATED
from homeassistant.helpers.device_registry import EVENT_DEVICE_REGISTRY_UPDATED
from homeassistant.helpers.entity_registry import EVENT_ENTITY_REGISTRY_UPDATED
from homeassistant.helpers.issue_registry import EVENT_REPAIRS_ISSUE_REGISTRY_UPDATED
from homeassistant.util.event_type import EventType
# These are events that do not contain any sensitive data
# Except for state_changed, which is handled accordingly.
SUBSCRIBE_ALLOWLIST: Final[set[str]] = {
SUBSCRIBE_ALLOWLIST: Final[set[EventType[Any] | str]] = {
EVENT_AREA_REGISTRY_UPDATED,
EVENT_COMPONENT_LOADED,
EVENT_CORE_CONFIG_UPDATE,

View File

@@ -1,4 +1,5 @@
"""Merging of policies."""
from __future__ import annotations
from typing import cast
@@ -57,10 +58,7 @@ def _merge_policies(sources: list[CategoryType]) -> CategoryType:
continue
seen.add(key)
key_sources = []
for src in sources:
if isinstance(src, dict):
key_sources.append(src.get(key))
key_sources = [src.get(key) for src in sources if isinstance(src, dict)]
policy[key] = _merge_policies(key_sources)

View File

@@ -1,4 +1,5 @@
"""Models for permissions."""
from __future__ import annotations
from typing import TYPE_CHECKING

View File

@@ -1,4 +1,5 @@
"""System policies."""
from .const import CAT_ENTITIES, POLICY_READ, SUBCAT_ALL
ADMIN_POLICY = {CAT_ENTITIES: True}

View File

@@ -1,4 +1,5 @@
"""Common code for permissions."""
from collections.abc import Mapping
# MyPy doesn't support recursion yet. So writing it out as far as we need.

View File

@@ -1,4 +1,5 @@
"""Helpers to deal with permissions."""
from __future__ import annotations
from collections.abc import Callable

View File

@@ -1,8 +1,8 @@
"""Auth providers for Home Assistant."""
from __future__ import annotations
from collections.abc import Mapping
import importlib
import logging
import types
from typing import Any
@@ -13,14 +13,14 @@ from voluptuous.humanize import humanize_error
from homeassistant import data_entry_flow, requirements
from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.importlib import async_import_module
from homeassistant.util import dt as dt_util
from homeassistant.util.decorator import Registry
from ..auth_store import AuthStore
from ..const import MFA_SESSION_EXPIRATION
from ..models import Credentials, RefreshToken, User, UserMeta
from ..models import AuthFlowResult, Credentials, RefreshToken, User, UserMeta
_LOGGER = logging.getLogger(__name__)
DATA_REQS = "auth_prov_reqs_processed"
@@ -157,7 +157,9 @@ async def load_auth_provider_module(
) -> types.ModuleType:
"""Load an auth provider."""
try:
module = importlib.import_module(f"homeassistant.auth.providers.{provider}")
module = await async_import_module(
hass, f"homeassistant.auth.providers.{provider}"
)
except ImportError as err:
_LOGGER.error("Unable to load auth provider %s: %s", provider, err)
raise HomeAssistantError(
@@ -181,9 +183,11 @@ async def load_auth_provider_module(
return module
class LoginFlow(data_entry_flow.FlowHandler):
class LoginFlow(data_entry_flow.FlowHandler[AuthFlowResult, tuple[str, str]]):
"""Handler for the login flow."""
_flow_result = AuthFlowResult
def __init__(self, auth_provider: AuthProvider) -> None:
"""Initialize the login flow."""
self._auth_provider = auth_provider
@@ -197,7 +201,7 @@ class LoginFlow(data_entry_flow.FlowHandler):
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the first step of login flow.
Return self.async_show_form(step_id='init') if user_input is None.
@@ -207,7 +211,7 @@ class LoginFlow(data_entry_flow.FlowHandler):
async def async_step_select_mfa_module(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of select mfa module."""
errors = {}
@@ -232,7 +236,7 @@ class LoginFlow(data_entry_flow.FlowHandler):
async def async_step_mfa(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of mfa validation."""
assert self.credential
assert self.user
@@ -282,6 +286,6 @@ class LoginFlow(data_entry_flow.FlowHandler):
errors=errors,
)
async def async_finish(self, flow_result: Any) -> FlowResult:
async def async_finish(self, flow_result: Any) -> AuthFlowResult:
"""Handle the pass of login flow."""
return self.async_create_entry(data=flow_result)

View File

@@ -1,4 +1,5 @@
"""Auth provider that validates credentials via an external command."""
from __future__ import annotations
import asyncio
@@ -10,10 +11,9 @@ from typing import Any, cast
import voluptuous as vol
from homeassistant.const import CONF_COMMAND
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from ..models import Credentials, UserMeta
from ..models import AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
CONF_ARGS = "args"
@@ -138,7 +138,7 @@ class CommandLineLoginFlow(LoginFlow):
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of the form."""
errors = {}

View File

@@ -1,4 +1,5 @@
"""Home Assistant auth provider."""
from __future__ import annotations
import asyncio
@@ -12,11 +13,10 @@ import voluptuous as vol
from homeassistant.const import CONF_ID
from homeassistant.core import HomeAssistant, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.storage import Store
from ..models import Credentials, UserMeta
from ..models import AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
STORAGE_VERSION = 1
@@ -321,7 +321,7 @@ class HassLoginFlow(LoginFlow):
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of the form."""
errors = {}

View File

@@ -1,4 +1,5 @@
"""Example auth provider."""
from __future__ import annotations
from collections.abc import Mapping
@@ -8,10 +9,9 @@ from typing import Any, cast
import voluptuous as vol
from homeassistant.core import callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
from ..models import Credentials, UserMeta
from ..models import AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
USER_SCHEMA = vol.Schema(
@@ -98,7 +98,7 @@ class ExampleLoginFlow(LoginFlow):
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of the form."""
errors = None

View File

@@ -2,6 +2,7 @@
It will be removed when auth system production ready
"""
from __future__ import annotations
from collections.abc import Mapping
@@ -11,12 +12,11 @@ from typing import Any, cast
import voluptuous as vol
from homeassistant.core import async_get_hass, callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from ..models import Credentials, UserMeta
from ..models import AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
AUTH_PROVIDER_TYPE = "legacy_api_password"
@@ -101,7 +101,7 @@ class LegacyLoginFlow(LoginFlow):
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of the form."""
errors = {}

View File

@@ -3,6 +3,7 @@
It shows list of users if access from trusted network.
Abort login flow if not access from trusted network.
"""
from __future__ import annotations
from collections.abc import Mapping
@@ -19,13 +20,12 @@ from typing import Any, cast
import voluptuous as vol
from homeassistant.core import callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.exceptions import HomeAssistantError
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.network import is_cloud_connection
from .. import InvalidAuthError
from ..models import Credentials, RefreshToken, UserMeta
from ..models import AuthFlowResult, Credentials, RefreshToken, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
IPAddress = IPv4Address | IPv6Address
@@ -226,7 +226,7 @@ class TrustedNetworksLoginFlow(LoginFlow):
async def async_step_init(
self, user_input: dict[str, str] | None = None
) -> FlowResult:
) -> AuthFlowResult:
"""Handle the step of the form."""
try:
cast(

View File

@@ -0,0 +1,205 @@
"""Session auth module."""
from __future__ import annotations
from datetime import datetime, timedelta
import secrets
from typing import TYPE_CHECKING, Final, TypedDict
from aiohttp.web import Request
from aiohttp_session import Session, get_session, new_session
from cryptography.fernet import Fernet
from homeassistant.core import CALLBACK_TYPE, HomeAssistant, callback
from homeassistant.helpers.event import async_call_later
from homeassistant.helpers.storage import Store
from homeassistant.util import dt as dt_util
from .models import RefreshToken
if TYPE_CHECKING:
from . import AuthManager
TEMP_TIMEOUT = timedelta(minutes=5)
TEMP_TIMEOUT_SECONDS = TEMP_TIMEOUT.total_seconds()
SESSION_ID = "id"
STORAGE_VERSION = 1
STORAGE_KEY = "auth.session"
class StrictConnectionTempSessionData:
"""Data for accessing unauthorized resources for a short period of time."""
__slots__ = ("cancel_remove", "absolute_expiry")
def __init__(self, cancel_remove: CALLBACK_TYPE) -> None:
"""Initialize the temp session data."""
self.cancel_remove: Final[CALLBACK_TYPE] = cancel_remove
self.absolute_expiry: Final[datetime] = dt_util.utcnow() + TEMP_TIMEOUT
class StoreData(TypedDict):
"""Data to store."""
unauthorized_sessions: dict[str, str]
key: str
class SessionManager:
"""Session manager."""
def __init__(self, hass: HomeAssistant, auth: AuthManager) -> None:
"""Initialize the strict connection manager."""
self._auth = auth
self._hass = hass
self._temp_sessions: dict[str, StrictConnectionTempSessionData] = {}
self._strict_connection_sessions: dict[str, str] = {}
self._store = Store[StoreData](
hass, STORAGE_VERSION, STORAGE_KEY, private=True, atomic_writes=True
)
self._key: str | None = None
self._refresh_token_revoke_callbacks: dict[str, CALLBACK_TYPE] = {}
@property
def key(self) -> str:
"""Return the encryption key."""
if self._key is None:
self._key = Fernet.generate_key().decode()
self._async_schedule_save()
return self._key
async def async_validate_request_for_strict_connection_session(
self,
request: Request,
) -> bool:
"""Check if a request has a valid strict connection session."""
session = await get_session(request)
if session.new or session.empty:
return False
result = self.async_validate_strict_connection_session(session)
if result is False:
session.invalidate()
return result
@callback
def async_validate_strict_connection_session(
self,
session: Session,
) -> bool:
"""Validate a strict connection session."""
if not (session_id := session.get(SESSION_ID)):
return False
if token_id := self._strict_connection_sessions.get(session_id):
if self._auth.async_get_refresh_token(token_id):
return True
# refresh token is invalid, delete entry
self._strict_connection_sessions.pop(session_id)
self._async_schedule_save()
if data := self._temp_sessions.get(session_id):
if dt_util.utcnow() <= data.absolute_expiry:
return True
# session expired, delete entry
self._temp_sessions.pop(session_id).cancel_remove()
return False
@callback
def _async_register_revoke_token_callback(self, refresh_token_id: str) -> None:
"""Register a callback to revoke all sessions for a refresh token."""
if refresh_token_id in self._refresh_token_revoke_callbacks:
return
@callback
def async_invalidate_auth_sessions() -> None:
"""Invalidate all sessions for a refresh token."""
self._strict_connection_sessions = {
session_id: token_id
for session_id, token_id in self._strict_connection_sessions.items()
if token_id != refresh_token_id
}
self._async_schedule_save()
self._refresh_token_revoke_callbacks[refresh_token_id] = (
self._auth.async_register_revoke_token_callback(
refresh_token_id, async_invalidate_auth_sessions
)
)
async def async_create_session(
self,
request: Request,
refresh_token: RefreshToken,
) -> None:
"""Create new session for given refresh token.
Caller needs to make sure that the refresh token is valid.
By creating a session, we are implicitly revoking all other
sessions for the given refresh token as there is one refresh
token per device/user case.
"""
self._strict_connection_sessions = {
session_id: token_id
for session_id, token_id in self._strict_connection_sessions.items()
if token_id != refresh_token.id
}
self._async_register_revoke_token_callback(refresh_token.id)
session_id = await self._async_create_new_session(request)
self._strict_connection_sessions[session_id] = refresh_token.id
self._async_schedule_save()
async def async_create_temp_unauthorized_session(self, request: Request) -> None:
"""Create a temporary unauthorized session."""
session_id = await self._async_create_new_session(
request, max_age=int(TEMP_TIMEOUT_SECONDS)
)
@callback
def remove(_: datetime) -> None:
self._temp_sessions.pop(session_id, None)
self._temp_sessions[session_id] = StrictConnectionTempSessionData(
async_call_later(self._hass, TEMP_TIMEOUT_SECONDS, remove)
)
async def _async_create_new_session(
self,
request: Request,
*,
max_age: int | None = None,
) -> str:
session_id = secrets.token_hex(64)
session = await new_session(request)
session[SESSION_ID] = session_id
if max_age is not None:
session.max_age = max_age
return session_id
@callback
def _async_schedule_save(self, delay: float = 1) -> None:
"""Save sessions."""
self._store.async_delay_save(self._data_to_save, delay)
@callback
def _data_to_save(self) -> StoreData:
"""Return the data to store."""
return StoreData(
unauthorized_sessions=self._strict_connection_sessions,
key=self.key,
)
async def async_setup(self) -> None:
"""Set up session manager."""
data = await self._store.async_load()
if data is None:
return
self._key = data["key"]
self._strict_connection_sessions = data["unauthorized_sessions"]
for token_id in self._strict_connection_sessions.values():
self._async_register_revoke_token_callback(token_id)

View File

@@ -6,10 +6,24 @@ Since we have dropped support for Python 3.10, we can remove this backport.
This file is kept for now to avoid breaking custom components that might
import it.
"""
from __future__ import annotations
from enum import StrEnum
from enum import StrEnum as _StrEnum
from functools import partial
__all__ = [
"StrEnum",
]
from homeassistant.helpers.deprecation import (
DeprecatedAlias,
all_with_deprecated_constants,
check_if_deprecated_constant,
dir_with_deprecated_constants,
)
# StrEnum deprecated as of 2024.5 use enum.StrEnum instead.
_DEPRECATED_StrEnum = DeprecatedAlias(_StrEnum, "enum.StrEnum", "2025.5")
__getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
__dir__ = partial(
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
)
__all__ = all_with_deprecated_constants(globals())

View File

@@ -1,81 +1,30 @@
"""Functools backports from standard lib."""
"""Functools backports from standard lib.
# This file contains parts of Python's module wrapper
# for the _functools C module
# to allow utilities written in Python to be added
# to the functools module.
# Written by Nick Coghlan <ncoghlan at gmail.com>,
# Raymond Hettinger <python at rcn.com>,
# and Łukasz Langa <lukasz at langa.pl>.
# Copyright © 2001-2023 Python Software Foundation; All Rights Reserved
This file contained the backport of the cached_property implementation of Python 3.12.
Since we have dropped support for Python 3.11, we can remove this backport.
This file is kept for now to avoid breaking custom components that might
import it.
"""
from __future__ import annotations
from collections.abc import Callable
from types import GenericAlias
from typing import Any, Generic, Self, TypeVar, overload
from functools import cached_property as _cached_property, partial
_T = TypeVar("_T")
from homeassistant.helpers.deprecation import (
DeprecatedAlias,
all_with_deprecated_constants,
check_if_deprecated_constant,
dir_with_deprecated_constants,
)
# cached_property deprecated as of 2024.5 use functools.cached_property instead.
_DEPRECATED_cached_property = DeprecatedAlias(
_cached_property, "functools.cached_property", "2025.5"
)
class cached_property(Generic[_T]):
"""Backport of Python 3.12's cached_property.
Includes https://github.com/python/cpython/pull/101890/files
"""
def __init__(self, func: Callable[[Any], _T]) -> None:
"""Initialize."""
self.func: Callable[[Any], _T] = func
self.attrname: str | None = None
self.__doc__ = func.__doc__
def __set_name__(self, owner: type[Any], name: str) -> None:
"""Set name."""
if self.attrname is None:
self.attrname = name
elif name != self.attrname:
raise TypeError(
"Cannot assign the same cached_property to two different names "
f"({self.attrname!r} and {name!r})."
)
@overload
def __get__(self, instance: None, owner: type[Any] | None = None) -> Self:
...
@overload
def __get__(self, instance: Any, owner: type[Any] | None = None) -> _T:
...
def __get__(
self, instance: Any | None, owner: type[Any] | None = None
) -> _T | Self:
"""Get."""
if instance is None:
return self
if self.attrname is None:
raise TypeError(
"Cannot use cached_property instance without calling __set_name__ on it."
)
try:
cache = instance.__dict__
# not all objects have __dict__ (e.g. class defines slots)
except AttributeError:
msg = (
f"No '__dict__' attribute on {type(instance).__name__!r} "
f"instance to cache {self.attrname!r} property."
)
raise TypeError(msg) from None
val = self.func(instance)
try:
cache[self.attrname] = val
except TypeError:
msg = (
f"The '__dict__' attribute on {type(instance).__name__!r} instance "
f"does not support item assignment for caching {self.attrname!r} property."
)
raise TypeError(msg) from None
return val
__class_getitem__ = classmethod(GenericAlias) # type: ignore[var-annotated]
__getattr__ = partial(check_if_deprecated_constant, module_globals=globals())
__dir__ = partial(
dir_with_deprecated_constants, module_globals_keys=[*globals().keys()]
)
__all__ = all_with_deprecated_constants(globals())

View File

@@ -1,8 +1,36 @@
"""Block blocking calls being done in asyncio."""
from http.client import HTTPConnection
import time
from .util.async_ import protect_loop
from contextlib import suppress
from http.client import HTTPConnection
import importlib
import sys
import time
from typing import Any
from .helpers.frame import get_current_frame
from .util.loop import protect_loop
_IN_TESTS = "unittest" in sys.modules
def _check_import_call_allowed(mapped_args: dict[str, Any]) -> bool:
# If the module is already imported, we can ignore it.
return bool((args := mapped_args.get("args")) and args[0] in sys.modules)
def _check_sleep_call_allowed(mapped_args: dict[str, Any]) -> bool:
#
# Avoid extracting the stack unless we need to since it
# will have to access the linecache which can do blocking
# I/O and we are trying to avoid blocking calls.
#
# frame[0] is us
# frame[1] is check_loop
# frame[2] is protected_loop_func
# frame[3] is the offender
with suppress(ValueError):
return get_current_frame(4).f_code.co_filename.endswith("pydevd.py")
return False
def enable() -> None:
@@ -13,8 +41,20 @@ def enable() -> None:
)
# Prevent sleeping in event loop. Non-strict since 2022.02
time.sleep = protect_loop(time.sleep, strict=False)
time.sleep = protect_loop(
time.sleep, strict=False, check_allowed=_check_sleep_call_allowed
)
# Currently disabled. pytz doing I/O when getting timezone.
# Prevent files being opened inside the event loop
# builtins.open = protect_loop(builtins.open)
if not _IN_TESTS:
# unittest uses `importlib.import_module` to do mocking
# so we cannot protect it if we are running tests
importlib.import_module = protect_loop(
importlib.import_module,
strict_core=False,
strict=False,
check_allowed=_check_import_call_allowed,
)

View File

@@ -1,11 +1,15 @@
"""Provide methods to bootstrap a Home Assistant instance."""
from __future__ import annotations
import asyncio
from collections import defaultdict
import contextlib
from datetime import datetime, timedelta
from functools import partial
from itertools import chain
import logging
import logging.handlers
from operator import contains, itemgetter
import os
import platform
import sys
@@ -13,13 +17,53 @@ import threading
from time import monotonic
from typing import TYPE_CHECKING, Any
# Import cryptography early since import openssl is not thread-safe
# _frozen_importlib._DeadlockError: deadlock detected by _ModuleLock('cryptography.hazmat.backends.openssl.backend')
import cryptography.hazmat.backends.openssl.backend # noqa: F401
import voluptuous as vol
import yarl
from . import config as conf_util, config_entries, core, loader
from .components import http
from . import (
block_async_io,
config as conf_util,
config_entries,
core,
loader,
requirements,
)
# Pre-import frontend deps which have no requirements here to avoid
# loading them at run time and blocking the event loop. We do this ahead
# of time so that we do not have to flag frontend deps with `import_executor`
# as it would create a thundering heard of executor jobs trying to import
# frontend deps at the same time.
from .components import (
api as api_pre_import, # noqa: F401
auth as auth_pre_import, # noqa: F401
config as config_pre_import, # noqa: F401
default_config as default_config_pre_import, # noqa: F401
device_automation as device_automation_pre_import, # noqa: F401
diagnostics as diagnostics_pre_import, # noqa: F401
file_upload as file_upload_pre_import, # noqa: F401
group as group_pre_import, # noqa: F401
history as history_pre_import, # noqa: F401
http, # not named pre_import since it has requirements
image_upload as image_upload_import, # noqa: F401 - not named pre_import since it has requirements
logbook as logbook_pre_import, # noqa: F401
lovelace as lovelace_pre_import, # noqa: F401
onboarding as onboarding_pre_import, # noqa: F401
recorder as recorder_import, # noqa: F401 - not named pre_import since it has requirements
repairs as repairs_pre_import, # noqa: F401
search as search_pre_import, # noqa: F401
sensor as sensor_pre_import, # noqa: F401
system_log as system_log_pre_import, # noqa: F401
webhook as webhook_pre_import, # noqa: F401
websocket_api as websocket_api_pre_import, # noqa: F401
)
from .components.sensor import recorder as sensor_recorder # noqa: F401
from .const import (
FORMAT_DATETIME,
KEY_DATA_LOGGING as DATA_LOGGING,
REQUIRED_NEXT_PYTHON_HA_RELEASE,
REQUIRED_NEXT_PYTHON_VER,
SIGNAL_BOOTSTRAP_INTEGRATIONS,
@@ -27,37 +71,51 @@ from .const import (
from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
category_registry,
config_validation as cv,
device_registry,
entity,
entity_registry,
floor_registry,
issue_registry,
label_registry,
recorder,
restore_state,
template,
translation,
)
from .helpers.dispatcher import async_dispatcher_send
from .helpers.storage import get_internal_store_manager
from .helpers.system_info import async_get_system_info
from .helpers.typing import ConfigType
from .setup import (
DATA_SETUP,
BASE_PLATFORMS,
DATA_SETUP_STARTED,
DATA_SETUP_TIME,
async_get_setup_timings,
async_notify_setup_error,
async_set_domains_to_be_loaded,
async_setup_component,
)
from .util import dt as dt_util
from .util.async_ import create_eager_task
from .util.logging import async_activate_log_queue_handler
from .util.package import async_get_user_site, is_virtual_env
with contextlib.suppress(ImportError):
# Ensure anyio backend is imported to avoid it being imported in the event loop
from anyio._backends import _asyncio # noqa: F401
if TYPE_CHECKING:
from .runner import RuntimeConfig
_LOGGER = logging.getLogger(__name__)
SETUP_ORDER_SORT_KEY = partial(contains, BASE_PLATFORMS)
ERROR_LOG_FILENAME = "home-assistant.log"
# hass.data key for logging information.
DATA_LOGGING = "logging"
DATA_REGISTRIES_LOADED = "bootstrap_registries_loaded"
LOG_SLOW_STARTUP_INTERVAL = 60
@@ -68,7 +126,6 @@ STAGE_2_TIMEOUT = 300
WRAP_UP_TIMEOUT = 300
COOLDOWN_TIME = 60
MAX_LOAD_CONCURRENTLY = 6
DEBUGGER_INTEGRATIONS = {"debugpy"}
CORE_INTEGRATIONS = {"homeassistant", "persistent_notification"}
@@ -105,6 +162,81 @@ STAGE_1_INTEGRATIONS = {
# Ensure supervisor is available
"hassio",
}
DEFAULT_INTEGRATIONS = {
# These integrations are set up unless recovery mode is activated.
#
# Integrations providing core functionality:
"analytics", # Needed for onboarding
"application_credentials",
"backup",
"frontend",
"hardware",
"logger",
"network",
"system_health",
#
# Key-feature:
"automation",
"person",
"scene",
"script",
"tag",
"zone",
#
# Built-in helpers:
"counter",
"input_boolean",
"input_button",
"input_datetime",
"input_number",
"input_select",
"input_text",
"schedule",
"timer",
}
DEFAULT_INTEGRATIONS_RECOVERY_MODE = {
# These integrations are set up if recovery mode is activated.
"frontend",
}
DEFAULT_INTEGRATIONS_SUPERVISOR = {
# These integrations are set up if using the Supervisor
"hassio",
}
CRITICAL_INTEGRATIONS = {
# Recovery mode is activated if these integrations fail to set up
"frontend",
}
SETUP_ORDER = (
# Load logging as soon as possible
("logging", LOGGING_INTEGRATIONS),
# Setup frontend and recorder
("frontend, recorder", {*FRONTEND_INTEGRATIONS, *RECORDER_INTEGRATIONS}),
# Start up debuggers. Start these first in case they want to wait.
("debugger", DEBUGGER_INTEGRATIONS),
)
#
# Storage keys we are likely to load during startup
# in order of when we expect to load them.
#
# If they do not exist they will not be loaded
#
PRELOAD_STORAGE = [
"core.logger",
"core.network",
"http.auth",
"image",
"lovelace_dashboards",
"lovelace_resources",
"core.uuid",
"lovelace.map",
"bluetooth.passive_update_processor",
"bluetooth.remote_scanners",
"assist_pipeline.pipelines",
"core.analytics",
"auth_module.totp",
]
async def async_setup_hass(
@@ -121,6 +253,9 @@ async def async_setup_hass(
runtime_config.log_no_color,
)
if runtime_config.debug or hass.loop.get_debug():
hass.config.debug = True
hass.config.safe_mode = runtime_config.safe_mode
hass.config.skip_pip = runtime_config.skip_pip
hass.config.skip_pip_packages = runtime_config.skip_pip_packages
@@ -136,6 +271,8 @@ async def async_setup_hass(
_LOGGER.info("Config directory: %s", runtime_config.config_dir)
loader.async_setup(hass)
block_async_io.enable()
config_dict = None
basic_setup_success = False
@@ -164,14 +301,14 @@ async def async_setup_hass(
_LOGGER.warning("Unable to set up core integrations. Activating recovery mode")
recovery_mode = True
elif (
"frontend" in hass.data.get(DATA_SETUP, {})
and "frontend" not in hass.config.components
):
_LOGGER.warning("Detected that frontend did not load. Activating recovery mode")
elif any(domain not in hass.config.components for domain in CRITICAL_INTEGRATIONS):
_LOGGER.warning(
"Detected that %s did not load. Activating recovery mode",
",".join(CRITICAL_INTEGRATIONS),
)
# Ask integrations to shut down. It's messy but we can't
# do a clean stop without knowing what is broken
with contextlib.suppress(asyncio.TimeoutError):
with contextlib.suppress(TimeoutError):
async with hass.timeout.async_timeout(10):
await hass.async_stop()
@@ -182,6 +319,7 @@ async def async_setup_hass(
hass = core.HomeAssistant(old_config.config_dir)
if old_logging:
hass.data[DATA_LOGGING] = old_logging
hass.config.debug = old_config.debug
hass.config.skip_pip = old_config.skip_pip
hass.config.skip_pip_packages = old_config.skip_pip_packages
hass.config.internal_url = old_config.internal_url
@@ -228,7 +366,7 @@ def open_hass_ui(hass: core.HomeAssistant) -> None:
)
async def load_registries(hass: core.HomeAssistant) -> None:
async def async_load_base_functionality(hass: core.HomeAssistant) -> None:
"""Load the registries and cache the result of platform.uname().processor."""
if DATA_REGISTRIES_LOADED in hass.data:
return
@@ -242,19 +380,26 @@ async def load_registries(hass: core.HomeAssistant) -> None:
asyncio event loop. By primeing the cache of uname we can
avoid the blocking call in the event loop.
"""
platform.uname().processor # pylint: disable=expression-not-assigned
_ = platform.uname().processor
# Load the registries and cache the result of platform.uname().processor
translation.async_setup(hass)
entity.async_setup(hass)
template.async_setup(hass)
await asyncio.gather(
area_registry.async_load(hass),
device_registry.async_load(hass),
entity_registry.async_load(hass),
issue_registry.async_load(hass),
create_eager_task(get_internal_store_manager(hass).async_initialize()),
create_eager_task(area_registry.async_load(hass)),
create_eager_task(category_registry.async_load(hass)),
create_eager_task(device_registry.async_load(hass)),
create_eager_task(entity_registry.async_load(hass)),
create_eager_task(floor_registry.async_load(hass)),
create_eager_task(issue_registry.async_load(hass)),
create_eager_task(label_registry.async_load(hass)),
hass.async_add_executor_job(_cache_uname_processor),
template.async_load_custom_templates(hass),
restore_state.async_load(hass),
create_eager_task(template.async_load_custom_templates(hass)),
create_eager_task(restore_state.async_load(hass)),
create_eager_task(hass.config_entries.async_initialize()),
create_eager_task(async_get_system_info(hass)),
)
@@ -269,8 +414,7 @@ async def async_from_config_dict(
start = monotonic()
hass.config_entries = config_entries.ConfigEntries(hass, config)
await hass.config_entries.async_initialize()
await load_registries(hass)
await async_load_base_functionality(hass)
# Set up core.
_LOGGER.debug("Setting up %s", CORE_INTEGRATIONS)
@@ -278,7 +422,7 @@ async def async_from_config_dict(
if not all(
await asyncio.gather(
*(
async_setup_component(hass, domain, config)
create_eager_task(async_setup_component(hass, domain, config))
for domain in CORE_INTEGRATIONS
)
)
@@ -434,7 +578,7 @@ def async_enable_logging(
err_log_path, when="midnight", backupCount=log_rotate_days
)
else:
err_handler = logging.handlers.RotatingFileHandler(
err_handler = _RotatingFileHandlerWithoutShouldRollOver(
err_log_path, backupCount=1
)
@@ -458,6 +602,19 @@ def async_enable_logging(
async_activate_log_queue_handler(hass)
class _RotatingFileHandlerWithoutShouldRollOver(logging.handlers.RotatingFileHandler):
"""RotatingFileHandler that does not check if it should roll over on every log."""
def shouldRollover(self, record: logging.LogRecord) -> bool:
"""Never roll over.
The shouldRollover check is expensive because it has to stat
the log file for every log record. Since we do not set maxBytes
the result of this check is always False.
"""
return False
async def async_mount_local_lib_path(config_dir: str) -> str:
"""Add local library to Python Path.
@@ -473,49 +630,93 @@ async def async_mount_local_lib_path(config_dir: str) -> str:
def _get_domains(hass: core.HomeAssistant, config: dict[str, Any]) -> set[str]:
"""Get domains of components to set up."""
# Filter out the repeating and common config section [homeassistant]
domains = {key.partition(" ")[0] for key in config if key != core.DOMAIN}
domains = {
domain for key in config if (domain := cv.domain_key(key)) != core.DOMAIN
}
# Add config entry domains
# Add config entry and default domains
if not hass.config.recovery_mode:
domains.update(DEFAULT_INTEGRATIONS)
domains.update(hass.config_entries.async_domains())
else:
domains.update(DEFAULT_INTEGRATIONS_RECOVERY_MODE)
# Make sure the Hass.io component is loaded
# Add domains depending on if the Supervisor is used or not
if "SUPERVISOR" in os.environ:
domains.add("hassio")
domains.update(DEFAULT_INTEGRATIONS_SUPERVISOR)
return domains
async def _async_watch_pending_setups(hass: core.HomeAssistant) -> None:
"""Periodic log of setups that are pending.
class _WatchPendingSetups:
"""Periodic log and dispatch of setups that are pending."""
Pending for longer than LOG_SLOW_STARTUP_INTERVAL.
"""
loop_count = 0
setup_started: dict[str, datetime] = hass.data[DATA_SETUP_STARTED]
previous_was_empty = True
while True:
now = dt_util.utcnow()
remaining_with_setup_started = {
domain: (now - setup_started[domain]).total_seconds()
for domain in setup_started
}
_LOGGER.debug("Integration remaining: %s", remaining_with_setup_started)
if remaining_with_setup_started or not previous_was_empty:
async_dispatcher_send(
hass, SIGNAL_BOOTSTRAP_INTEGRATIONS, remaining_with_setup_started
)
previous_was_empty = not remaining_with_setup_started
await asyncio.sleep(SLOW_STARTUP_CHECK_INTERVAL)
loop_count += SLOW_STARTUP_CHECK_INTERVAL
def __init__(
self,
hass: core.HomeAssistant,
setup_started: dict[tuple[str, str | None], float],
) -> None:
"""Initialize the WatchPendingSetups class."""
self._hass = hass
self._setup_started = setup_started
self._duration_count = 0
self._handle: asyncio.TimerHandle | None = None
self._previous_was_empty = True
self._loop = hass.loop
if loop_count >= LOG_SLOW_STARTUP_INTERVAL and setup_started:
def _async_watch(self) -> None:
"""Periodic log of setups that are pending."""
now = monotonic()
self._duration_count += SLOW_STARTUP_CHECK_INTERVAL
remaining_with_setup_started: defaultdict[str, float] = defaultdict(float)
for integration_group, start_time in self._setup_started.items():
domain, _ = integration_group
remaining_with_setup_started[domain] += now - start_time
if remaining_with_setup_started:
_LOGGER.debug("Integration remaining: %s", remaining_with_setup_started)
elif waiting_tasks := self._hass._active_tasks: # pylint: disable=protected-access
_LOGGER.debug("Waiting on tasks: %s", waiting_tasks)
self._async_dispatch(remaining_with_setup_started)
if (
self._setup_started
and self._duration_count % LOG_SLOW_STARTUP_INTERVAL == 0
):
# We log every LOG_SLOW_STARTUP_INTERVAL until all integrations are done
# once we take over LOG_SLOW_STARTUP_INTERVAL (60s) to start up
_LOGGER.warning(
"Waiting on integrations to complete setup: %s",
", ".join(setup_started),
self._setup_started,
)
loop_count = 0
_LOGGER.debug("Running timeout Zones: %s", hass.timeout.zones)
_LOGGER.debug("Running timeout Zones: %s", self._hass.timeout.zones)
self._async_schedule_next()
def _async_dispatch(self, remaining_with_setup_started: dict[str, float]) -> None:
"""Dispatch the signal."""
if remaining_with_setup_started or not self._previous_was_empty:
async_dispatcher_send(
self._hass, SIGNAL_BOOTSTRAP_INTEGRATIONS, remaining_with_setup_started
)
self._previous_was_empty = not remaining_with_setup_started
def _async_schedule_next(self) -> None:
"""Schedule the next call."""
self._handle = self._loop.call_later(
SLOW_STARTUP_CHECK_INTERVAL, self._async_watch
)
def async_start(self) -> None:
"""Start watching."""
self._async_schedule_next()
def async_stop(self) -> None:
"""Stop watching."""
self._async_dispatch({})
if self._handle:
self._handle.cancel()
self._handle = None
async def async_setup_multi_components(
@@ -524,11 +725,20 @@ async def async_setup_multi_components(
config: dict[str, Any],
) -> None:
"""Set up multiple domains. Log on failure."""
# Avoid creating tasks for domains that were setup in a previous stage
domains_not_yet_setup = domains - hass.config.components
# Create setup tasks for base platforms first since everything will have
# to wait to be imported, and the sooner we can get the base platforms
# loaded the sooner we can start loading the rest of the integrations.
futures = {
domain: hass.async_create_task(
async_setup_component(hass, domain, config), f"setup component {domain}"
domain: hass.async_create_task_internal(
async_setup_component(hass, domain, config),
f"setup component {domain}",
eager_start=True,
)
for domain in sorted(
domains_not_yet_setup, key=SETUP_ORDER_SORT_KEY, reverse=True
)
for domain in domains
}
results = await asyncio.gather(*futures.values(), return_exceptions=True)
for idx, domain in enumerate(futures):
@@ -541,76 +751,184 @@ async def async_setup_multi_components(
)
async def _async_set_up_integrations(
async def _async_resolve_domains_to_setup(
hass: core.HomeAssistant, config: dict[str, Any]
) -> None:
"""Set up all the integrations."""
hass.data[DATA_SETUP_STARTED] = {}
setup_time: dict[str, timedelta] = hass.data.setdefault(DATA_SETUP_TIME, {})
watch_task = asyncio.create_task(_async_watch_pending_setups(hass))
) -> tuple[set[str], dict[str, loader.Integration]]:
"""Resolve all dependencies and return list of domains to set up."""
domains_to_setup = _get_domains(hass, config)
needed_requirements: set[str] = set()
platform_integrations = conf_util.extract_platform_integrations(
config, BASE_PLATFORMS
)
# Ensure base platforms that have platform integrations are added to
# to `domains_to_setup so they can be setup first instead of
# discovering them when later when a config entry setup task
# notices its needed and there is already a long line to use
# the import executor.
#
# For example if we have
# sensor:
# - platform: template
#
# `template` has to be loaded to validate the config for sensor
# so we want to start loading `sensor` as soon as we know
# it will be needed. The more platforms under `sensor:`, the longer
# it will take to finish setup for `sensor` because each of these
# platforms has to be imported before we can validate the config.
#
# Thankfully we are migrating away from the platform pattern
# so this will be less of a problem in the future.
domains_to_setup.update(platform_integrations)
# Load manifests for base platforms and platform based integrations
# that are defined under base platforms right away since we do not require
# the manifest to list them as dependencies and we want to avoid the lock
# contention when multiple integrations try to load them at once
additional_manifests_to_load = {
*BASE_PLATFORMS,
*chain.from_iterable(platform_integrations.values()),
}
translations_to_load = additional_manifests_to_load.copy()
# Resolve all dependencies so we know all integrations
# that will have to be loaded and start rightaway
# that will have to be loaded and start right-away
integration_cache: dict[str, loader.Integration] = {}
to_resolve: set[str] = domains_to_setup
while to_resolve:
while to_resolve or additional_manifests_to_load:
old_to_resolve: set[str] = to_resolve
to_resolve = set()
integrations_to_process = [
int_or_exc
for int_or_exc in (
await loader.async_get_integrations(hass, old_to_resolve)
).values()
if isinstance(int_or_exc, loader.Integration)
]
resolve_dependencies_tasks = [
itg.resolve_dependencies()
for itg in integrations_to_process
if not itg.all_dependencies_resolved
]
if additional_manifests_to_load:
to_get = {*old_to_resolve, *additional_manifests_to_load}
additional_manifests_to_load.clear()
else:
to_get = old_to_resolve
manifest_deps: set[str] = set()
resolve_dependencies_tasks: list[asyncio.Task[bool]] = []
integrations_to_process: list[loader.Integration] = []
for domain, itg in (await loader.async_get_integrations(hass, to_get)).items():
if not isinstance(itg, loader.Integration):
continue
integration_cache[domain] = itg
needed_requirements.update(itg.requirements)
# Make sure manifests for dependencies are loaded in the next
# loop to try to group as many as manifest loads in a single
# call to avoid the creating one-off executor jobs later in
# the setup process
additional_manifests_to_load.update(
dep
for dep in chain(itg.dependencies, itg.after_dependencies)
if dep not in integration_cache
)
if domain not in old_to_resolve:
continue
integrations_to_process.append(itg)
manifest_deps.update(itg.dependencies)
manifest_deps.update(itg.after_dependencies)
if not itg.all_dependencies_resolved:
resolve_dependencies_tasks.append(
create_eager_task(
itg.resolve_dependencies(),
name=f"resolve dependencies {domain}",
loop=hass.loop,
)
)
if unseen_deps := manifest_deps - integration_cache.keys():
# If there are dependencies, try to preload all
# the integrations manifest at once and add them
# to the list of requirements we need to install
# so we can try to check if they are already installed
# in a single call below which avoids each integration
# having to wait for the lock to do it individually
deps = await loader.async_get_integrations(hass, unseen_deps)
for dependant_domain, dependant_itg in deps.items():
if isinstance(dependant_itg, loader.Integration):
integration_cache[dependant_domain] = dependant_itg
needed_requirements.update(dependant_itg.requirements)
if resolve_dependencies_tasks:
await asyncio.gather(*resolve_dependencies_tasks)
for itg in integrations_to_process:
integration_cache[itg.domain] = itg
for dep in itg.all_dependencies:
if dep in domains_to_setup:
continue
domains_to_setup.add(dep)
to_resolve.add(dep)
_LOGGER.info("Domains to be set up: %s", domains_to_setup)
# Optimistically check if requirements are already installed
# ahead of setting up the integrations so we can prime the cache
# We do not wait for this since its an optimization only
hass.async_create_background_task(
requirements.async_load_installed_versions(hass, needed_requirements),
"check installed requirements",
eager_start=True,
)
#
# Only add the domains_to_setup after we finish resolving
# as new domains are likely to added in the process
#
translations_to_load.update(domains_to_setup)
# Start loading translations for all integrations we are going to set up
# in the background so they are ready when we need them. This avoids a
# lot of waiting for the translation load lock and a thundering herd of
# tasks trying to load the same translations at the same time as each
# integration is loaded.
#
# We do not wait for this since as soon as the task runs it will
# hold the translation load lock and if anything is fast enough to
# wait for the translation load lock, loading will be done by the
# time it gets to it.
hass.async_create_background_task(
translation.async_load_integrations(hass, translations_to_load),
"load translations",
eager_start=True,
)
# Preload storage for all integrations we are going to set up
# so we do not have to wait for it to be loaded when we need it
# in the setup process.
hass.async_create_background_task(
get_internal_store_manager(hass).async_preload(
[*PRELOAD_STORAGE, *domains_to_setup]
),
"preload storage",
eager_start=True,
)
return domains_to_setup, integration_cache
async def _async_set_up_integrations(
hass: core.HomeAssistant, config: dict[str, Any]
) -> None:
"""Set up all the integrations."""
setup_started: dict[tuple[str, str | None], float] = {}
hass.data[DATA_SETUP_STARTED] = setup_started
watcher = _WatchPendingSetups(hass, setup_started)
watcher.async_start()
domains_to_setup, integration_cache = await _async_resolve_domains_to_setup(
hass, config
)
# Initialize recorder
if "recorder" in domains_to_setup:
recorder.async_initialize_recorder(hass)
# Load logging as soon as possible
if logging_domains := domains_to_setup & LOGGING_INTEGRATIONS:
_LOGGER.info("Setting up logging: %s", logging_domains)
await async_setup_multi_components(hass, logging_domains, config)
# Setup frontend
if frontend_domains := domains_to_setup & FRONTEND_INTEGRATIONS:
_LOGGER.info("Setting up frontend: %s", frontend_domains)
await async_setup_multi_components(hass, frontend_domains, config)
# Setup recorder
if recorder_domains := domains_to_setup & RECORDER_INTEGRATIONS:
_LOGGER.info("Setting up recorder: %s", recorder_domains)
await async_setup_multi_components(hass, recorder_domains, config)
# Start up debuggers. Start these first in case they want to wait.
if debuggers := domains_to_setup & DEBUGGER_INTEGRATIONS:
_LOGGER.debug("Setting up debuggers: %s", debuggers)
await async_setup_multi_components(hass, debuggers, config)
pre_stage_domains = [
(name, domains_to_setup & domain_group) for name, domain_group in SETUP_ORDER
]
# calculate what components to setup in what stage
stage_1_domains: set[str] = set()
@@ -634,14 +952,21 @@ async def _async_set_up_integrations(
deps_promotion.update(dep_itg.all_dependencies)
stage_2_domains = (
domains_to_setup
- logging_domains
- frontend_domains
- recorder_domains
- debuggers
- stage_1_domains
)
stage_2_domains = domains_to_setup - stage_1_domains
for name, domain_group in pre_stage_domains:
if domain_group:
stage_2_domains -= domain_group
_LOGGER.info("Setting up %s: %s", name, domain_group)
to_be_loaded = domain_group.copy()
to_be_loaded.update(
dep
for domain in domain_group
if (integration := integration_cache.get(domain)) is not None
for dep in integration.all_dependencies
)
async_set_domains_to_be_loaded(hass, to_be_loaded)
await async_setup_multi_components(hass, domain_group, config)
# Enables after dependencies when setting up stage 1 domains
async_set_domains_to_be_loaded(hass, stage_1_domains)
@@ -654,8 +979,11 @@ async def _async_set_up_integrations(
STAGE_1_TIMEOUT, cool_down=COOLDOWN_TIME
):
await async_setup_multi_components(hass, stage_1_domains, config)
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for stage 1 - moving forward")
except TimeoutError:
_LOGGER.warning(
"Setup timed out for stage 1 waiting on %s - moving forward",
hass._active_tasks, # pylint: disable=protected-access
)
# Add after dependencies when setting up stage 2 domains
async_set_domains_to_be_loaded(hass, stage_2_domains)
@@ -667,26 +995,28 @@ async def _async_set_up_integrations(
STAGE_2_TIMEOUT, cool_down=COOLDOWN_TIME
):
await async_setup_multi_components(hass, stage_2_domains, config)
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for stage 2 - moving forward")
except TimeoutError:
_LOGGER.warning(
"Setup timed out for stage 2 waiting on %s - moving forward",
hass._active_tasks, # pylint: disable=protected-access
)
# Wrap up startup
_LOGGER.debug("Waiting for startup to wrap up")
try:
async with hass.timeout.async_timeout(WRAP_UP_TIMEOUT, cool_down=COOLDOWN_TIME):
await hass.async_block_till_done()
except asyncio.TimeoutError:
_LOGGER.warning("Setup timed out for bootstrap - moving forward")
except TimeoutError:
_LOGGER.warning(
"Setup timed out for bootstrap waiting on %s - moving forward",
hass._active_tasks, # pylint: disable=protected-access
)
watch_task.cancel()
async_dispatcher_send(hass, SIGNAL_BOOTSTRAP_INTEGRATIONS, {})
watcher.async_stop()
_LOGGER.debug(
"Integration setup times: %s",
{
integration: timedelta.total_seconds()
for integration, timedelta in sorted(
setup_time.items(), key=lambda item: item[1].total_seconds()
)
},
)
if _LOGGER.isEnabledFor(logging.DEBUG):
setup_time = async_get_setup_timings(hass)
_LOGGER.debug(
"Integration setup times: %s",
dict(sorted(setup_time.items(), key=itemgetter(1), reverse=True)),
)

View File

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

View File

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

View File

@@ -0,0 +1,5 @@
{
"domain": "flexit",
"name": "Flexit",
"integrations": ["flexit", "flexit_bacnet"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "govee",
"name": "Govee",
"integrations": ["govee_ble", "govee_light_local"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "motionblinds",
"name": "Motionblinds",
"integrations": ["motion_blinds", "motionblinds_ble"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "rainforest_automation",
"name": "Rainforest Automation",
"integrations": ["rainforest_eagle", "rainforest_raven"]
}

View File

@@ -1,6 +1,6 @@
{
"domain": "tplink",
"name": "TP-Link",
"integrations": ["tplink", "tplink_omada", "tplink_lte"],
"integrations": ["tplink", "tplink_omada", "tplink_lte", "tplink_tapo"],
"iot_standards": ["matter"]
}

View File

@@ -0,0 +1,5 @@
{
"domain": "traccar",
"name": "Traccar",
"integrations": ["traccar", "traccar_server"]
}

View File

@@ -6,11 +6,14 @@ Component design guidelines:
format "<DOMAIN>.<OBJECT_ID>".
- Each component should publish services only under its own domain.
"""
from __future__ import annotations
import logging
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers.frame import report
from homeassistant.helpers.group import expand_entity_ids
_LOGGER = logging.getLogger(__name__)
@@ -20,8 +23,17 @@ def is_on(hass: HomeAssistant, entity_id: str | None = None) -> bool:
If there is no entity id given we will check all.
"""
report(
(
"uses homeassistant.components.is_on."
" This is deprecated and will stop working in Home Assistant 2024.9, it"
" should be updated to use the function of the platform directly."
),
error_if_core=True,
)
if entity_id:
entity_ids = hass.components.group.expand_entity_ids([entity_id])
entity_ids = expand_entity_ids(hass, [entity_id])
else:
entity_ids = hass.states.entity_ids()

View File

@@ -1,4 +1,5 @@
"""Support for the Abode Security System."""
from __future__ import annotations
from dataclasses import dataclass, field
@@ -63,12 +64,12 @@ AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
PLATFORMS = [
Platform.ALARM_CONTROL_PANEL,
Platform.BINARY_SENSOR,
Platform.LOCK,
Platform.SWITCH,
Platform.COVER,
Platform.CAMERA,
Platform.COVER,
Platform.LIGHT,
Platform.LOCK,
Platform.SENSOR,
Platform.SWITCH,
]

View File

@@ -1,10 +1,13 @@
"""Support for Abode Security System alarm control panels."""
from __future__ import annotations
from jaraco.abode.devices.alarm import Alarm as AbodeAl
from jaraco.abode.devices.alarm import Alarm
import homeassistant.components.alarm_control_panel as alarm
from homeassistant.components.alarm_control_panel import AlarmControlPanelEntityFeature
from homeassistant.components.alarm_control_panel import (
AlarmControlPanelEntity,
AlarmControlPanelEntityFeature,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
STATE_ALARM_ARMED_AWAY,
@@ -17,8 +20,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeDevice, AbodeSystem
from .const import DOMAIN
ICON = "mdi:security"
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
@@ -30,17 +31,16 @@ async def async_setup_entry(
)
class AbodeAlarm(AbodeDevice, alarm.AlarmControlPanelEntity):
class AbodeAlarm(AbodeDevice, AlarmControlPanelEntity):
"""An alarm_control_panel implementation for Abode."""
_attr_icon = ICON
_attr_name = None
_attr_code_arm_required = False
_attr_supported_features = (
AlarmControlPanelEntityFeature.ARM_HOME
| AlarmControlPanelEntityFeature.ARM_AWAY
)
_device: AbodeAl
_device: Alarm
@property
def state(self) -> str | None:

View File

@@ -1,10 +1,17 @@
"""Support for Abode Security System binary sensors."""
from __future__ import annotations
from typing import cast
from jaraco.abode.devices.sensor import BinarySensor as ABBinarySensor
from jaraco.abode.helpers import constants as CONST
from jaraco.abode.devices.sensor import BinarySensor
from jaraco.abode.helpers.constants import (
TYPE_CONNECTIVITY,
TYPE_MOISTURE,
TYPE_MOTION,
TYPE_OCCUPANCY,
TYPE_OPENING,
)
from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
@@ -26,11 +33,11 @@ async def async_setup_entry(
data: AbodeSystem = hass.data[DOMAIN]
device_types = [
CONST.TYPE_CONNECTIVITY,
CONST.TYPE_MOISTURE,
CONST.TYPE_MOTION,
CONST.TYPE_OCCUPANCY,
CONST.TYPE_OPENING,
TYPE_CONNECTIVITY,
TYPE_MOISTURE,
TYPE_MOTION,
TYPE_OCCUPANCY,
TYPE_OPENING,
]
async_add_entities(
@@ -43,7 +50,7 @@ class AbodeBinarySensor(AbodeDevice, BinarySensorEntity):
"""A binary sensor implementation for Abode device."""
_attr_name = None
_device: ABBinarySensor
_device: BinarySensor
@property
def is_on(self) -> bool:

View File

@@ -1,12 +1,14 @@
"""Support for Abode Security System cameras."""
from __future__ import annotations
from datetime import timedelta
from typing import Any, cast
from jaraco.abode.devices.base import Device as AbodeDev
from jaraco.abode.devices.base import Device
from jaraco.abode.devices.camera import Camera as AbodeCam
from jaraco.abode.helpers import constants as CONST, timeline as TIMELINE
from jaraco.abode.helpers import timeline
from jaraco.abode.helpers.constants import TYPE_CAMERA
import requests
from requests.models import Response
@@ -30,8 +32,8 @@ async def async_setup_entry(
data: AbodeSystem = hass.data[DOMAIN]
async_add_entities(
AbodeCamera(data, device, TIMELINE.CAPTURE_IMAGE)
for device in data.abode.get_devices(generic_type=CONST.TYPE_CAMERA)
AbodeCamera(data, device, timeline.CAPTURE_IMAGE)
for device in data.abode.get_devices(generic_type=TYPE_CAMERA)
)
@@ -41,7 +43,7 @@ class AbodeCamera(AbodeDevice, Camera):
_device: AbodeCam
_attr_name = None
def __init__(self, data: AbodeSystem, device: AbodeDev, event: Event) -> None:
def __init__(self, data: AbodeSystem, device: Device, event: Event) -> None:
"""Initialize the Abode device."""
AbodeDevice.__init__(self, data, device)
Camera.__init__(self)

View File

@@ -1,4 +1,5 @@
"""Config flow for the Abode Security System component."""
from __future__ import annotations
from collections.abc import Mapping
@@ -14,16 +15,15 @@ from jaraco.abode.helpers.errors import MFA_CODE_REQUIRED
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_PASSWORD, CONF_USERNAME
from homeassistant.data_entry_flow import FlowResult
from .const import CONF_POLLING, DOMAIN, LOGGER
CONF_MFA = "mfa_code"
class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
class AbodeFlowHandler(ConfigFlow, domain=DOMAIN):
"""Config flow for Abode."""
VERSION = 1
@@ -43,7 +43,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
self._polling: bool = False
self._username: str | None = None
async def _async_abode_login(self, step_id: str) -> FlowResult:
async def _async_abode_login(self, step_id: str) -> ConfigFlowResult:
"""Handle login with Abode."""
errors = {}
@@ -74,7 +74,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
return await self._async_create_entry()
async def _async_abode_mfa_login(self) -> FlowResult:
async def _async_abode_mfa_login(self) -> ConfigFlowResult:
"""Handle multi-factor authentication (MFA) login with Abode."""
try:
# Create instance to access login method for passing MFA code
@@ -92,7 +92,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
return await self._async_create_entry()
async def _async_create_entry(self) -> FlowResult:
async def _async_create_entry(self) -> ConfigFlowResult:
"""Create the config entry."""
config_data = {
CONF_USERNAME: self._username,
@@ -118,7 +118,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
) -> ConfigFlowResult:
"""Handle a flow initialized by the user."""
if self._async_current_entries():
return self.async_abort(reason="single_instance_allowed")
@@ -135,7 +135,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def async_step_mfa(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
) -> ConfigFlowResult:
"""Handle a multi-factor authentication (MFA) flow."""
if user_input is None:
return self.async_show_form(
@@ -146,7 +146,9 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
return await self._async_abode_mfa_login()
async def async_step_reauth(self, entry_data: Mapping[str, Any]) -> FlowResult:
async def async_step_reauth(
self, entry_data: Mapping[str, Any]
) -> ConfigFlowResult:
"""Handle reauthorization request from Abode."""
self._username = entry_data[CONF_USERNAME]
@@ -154,7 +156,7 @@ class AbodeFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def async_step_reauth_confirm(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
) -> ConfigFlowResult:
"""Handle reauthorization flow."""
if user_input is None:
return self.async_show_form(

View File

@@ -1,4 +1,5 @@
"""Constants for the Abode Security System component."""
import logging
LOGGER = logging.getLogger(__package__)

View File

@@ -1,8 +1,9 @@
"""Support for Abode Security System covers."""
from typing import Any
from jaraco.abode.devices.cover import Cover as AbodeCV
from jaraco.abode.helpers import constants as CONST
from jaraco.abode.devices.cover import Cover
from jaraco.abode.helpers.constants import TYPE_COVER
from homeassistant.components.cover import CoverEntity
from homeassistant.config_entries import ConfigEntry
@@ -21,14 +22,14 @@ async def async_setup_entry(
async_add_entities(
AbodeCover(data, device)
for device in data.abode.get_devices(generic_type=CONST.TYPE_COVER)
for device in data.abode.get_devices(generic_type=TYPE_COVER)
)
class AbodeCover(AbodeDevice, CoverEntity):
"""Representation of an Abode cover."""
_device: AbodeCV
_device: Cover
_attr_name = None
@property

View File

@@ -0,0 +1,14 @@
{
"entity": {
"switch": {
"automation": {
"default": "mdi:robot"
}
}
},
"services": {
"capture_image": "mdi:camera",
"change_setting": "mdi:cog",
"trigger_automation": "mdi:play"
}
}

View File

@@ -1,11 +1,12 @@
"""Support for Abode Security System lights."""
from __future__ import annotations
from math import ceil
from typing import Any
from jaraco.abode.devices.light import Light as AbodeLT
from jaraco.abode.helpers import constants as CONST
from jaraco.abode.devices.light import Light
from jaraco.abode.helpers.constants import TYPE_LIGHT
from homeassistant.components.light import (
ATTR_BRIGHTNESS,
@@ -34,14 +35,14 @@ async def async_setup_entry(
async_add_entities(
AbodeLight(data, device)
for device in data.abode.get_devices(generic_type=CONST.TYPE_LIGHT)
for device in data.abode.get_devices(generic_type=TYPE_LIGHT)
)
class AbodeLight(AbodeDevice, LightEntity):
"""Representation of an Abode light."""
_device: AbodeLT
_device: Light
_attr_name = None
def turn_on(self, **kwargs: Any) -> None:

View File

@@ -1,8 +1,9 @@
"""Support for the Abode Security System locks."""
from typing import Any
from jaraco.abode.devices.lock import Lock as AbodeLK
from jaraco.abode.helpers import constants as CONST
from jaraco.abode.devices.lock import Lock
from jaraco.abode.helpers.constants import TYPE_LOCK
from homeassistant.components.lock import LockEntity
from homeassistant.config_entries import ConfigEntry
@@ -21,14 +22,14 @@ async def async_setup_entry(
async_add_entities(
AbodeLock(data, device)
for device in data.abode.get_devices(generic_type=CONST.TYPE_LOCK)
for device in data.abode.get_devices(generic_type=TYPE_LOCK)
)
class AbodeLock(AbodeDevice, LockEntity):
"""Representation of an Abode lock."""
_device: AbodeLK
_device: Lock
_attr_name = None
def lock(self, **kwargs: Any) -> None:

View File

@@ -1,12 +1,21 @@
"""Support for Abode Security System sensors."""
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass
from typing import cast
from jaraco.abode.devices.sensor import Sensor as AbodeSense
from jaraco.abode.helpers import constants as CONST
from jaraco.abode.devices.sensor import Sensor
from jaraco.abode.helpers.constants import (
HUMI_STATUS_KEY,
LUX_STATUS_KEY,
STATUSES_KEY,
TEMP_STATUS_KEY,
TYPE_SENSOR,
UNIT_CELSIUS,
UNIT_FAHRENHEIT,
)
from homeassistant.components.sensor import (
SensorDeviceClass,
@@ -22,27 +31,22 @@ from . import AbodeDevice, AbodeSystem
from .const import DOMAIN
ABODE_TEMPERATURE_UNIT_HA_UNIT = {
CONST.UNIT_FAHRENHEIT: UnitOfTemperature.FAHRENHEIT,
CONST.UNIT_CELSIUS: UnitOfTemperature.CELSIUS,
UNIT_FAHRENHEIT: UnitOfTemperature.FAHRENHEIT,
UNIT_CELSIUS: UnitOfTemperature.CELSIUS,
}
@dataclass
class AbodeSensorDescriptionMixin:
"""Mixin for Abode sensor."""
value_fn: Callable[[AbodeSense], float]
native_unit_of_measurement_fn: Callable[[AbodeSense], str]
@dataclass
class AbodeSensorDescription(SensorEntityDescription, AbodeSensorDescriptionMixin):
@dataclass(frozen=True, kw_only=True)
class AbodeSensorDescription(SensorEntityDescription):
"""Class describing Abode sensor entities."""
value_fn: Callable[[Sensor], float]
native_unit_of_measurement_fn: Callable[[Sensor], str]
SENSOR_TYPES: tuple[AbodeSensorDescription, ...] = (
AbodeSensorDescription(
key=CONST.TEMP_STATUS_KEY,
key=TEMP_STATUS_KEY,
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement_fn=lambda device: ABODE_TEMPERATURE_UNIT_HA_UNIT[
device.temp_unit
@@ -50,13 +54,13 @@ SENSOR_TYPES: tuple[AbodeSensorDescription, ...] = (
value_fn=lambda device: cast(float, device.temp),
),
AbodeSensorDescription(
key=CONST.HUMI_STATUS_KEY,
key=HUMI_STATUS_KEY,
device_class=SensorDeviceClass.HUMIDITY,
native_unit_of_measurement_fn=lambda _: PERCENTAGE,
value_fn=lambda device: cast(float, device.humidity),
),
AbodeSensorDescription(
key=CONST.LUX_STATUS_KEY,
key=LUX_STATUS_KEY,
device_class=SensorDeviceClass.ILLUMINANCE,
native_unit_of_measurement_fn=lambda _: LIGHT_LUX,
value_fn=lambda device: cast(float, device.lux),
@@ -73,8 +77,8 @@ async def async_setup_entry(
async_add_entities(
AbodeSensor(data, device, description)
for description in SENSOR_TYPES
for device in data.abode.get_devices(generic_type=CONST.TYPE_SENSOR)
if description.key in device.get_value(CONST.STATUSES_KEY)
for device in data.abode.get_devices(generic_type=TYPE_SENSOR)
if description.key in device.get_value(STATUSES_KEY)
)
@@ -82,12 +86,12 @@ class AbodeSensor(AbodeDevice, SensorEntity):
"""A sensor implementation for Abode devices."""
entity_description: AbodeSensorDescription
_device: AbodeSense
_device: Sensor
def __init__(
self,
data: AbodeSystem,
device: AbodeSense,
device: Sensor,
description: AbodeSensorDescription,
) -> None:
"""Initialize a sensor for an Abode device."""

View File

@@ -1,10 +1,11 @@
"""Support for Abode Security System switches."""
from __future__ import annotations
from typing import Any, cast
from jaraco.abode.devices.switch import Switch as AbodeSW
from jaraco.abode.helpers import constants as CONST
from jaraco.abode.devices.switch import Switch
from jaraco.abode.helpers.constants import TYPE_SWITCH, TYPE_VALVE
from homeassistant.components.switch import SwitchEntity
from homeassistant.config_entries import ConfigEntry
@@ -15,9 +16,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AbodeAutomation, AbodeDevice, AbodeSystem
from .const import DOMAIN
DEVICE_TYPES = [CONST.TYPE_SWITCH, CONST.TYPE_VALVE]
ICON = "mdi:robot"
DEVICE_TYPES = [TYPE_SWITCH, TYPE_VALVE]
async def async_setup_entry(
@@ -43,7 +42,7 @@ async def async_setup_entry(
class AbodeSwitch(AbodeDevice, SwitchEntity):
"""Representation of an Abode switch."""
_device: AbodeSW
_device: Switch
_attr_name = None
def turn_on(self, **kwargs: Any) -> None:
@@ -63,7 +62,7 @@ class AbodeSwitch(AbodeDevice, SwitchEntity):
class AbodeAutomationSwitch(AbodeAutomation, SwitchEntity):
"""A switch implementation for Abode automations."""
_attr_icon = ICON
_attr_translation_key = "automation"
async def async_added_to_hass(self) -> None:
"""Set up trigger automation service."""

View File

@@ -1,14 +1,11 @@
"""The AccuWeather component."""
from __future__ import annotations
from asyncio import timeout
from datetime import timedelta
from dataclasses import dataclass
import logging
from typing import Any
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp import ClientSession
from aiohttp.client_exceptions import ClientConnectorError
from accuweather import AccuWeather
from homeassistant.components.sensor import DOMAIN as SENSOR_PLATFORM
from homeassistant.config_entries import ConfigEntry
@@ -16,43 +13,70 @@ from homeassistant.const import CONF_API_KEY, CONF_NAME, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import ATTR_FORECAST, CONF_FORECAST, DOMAIN, MANUFACTURER
from .const import DOMAIN, UPDATE_INTERVAL_DAILY_FORECAST, UPDATE_INTERVAL_OBSERVATION
from .coordinator import (
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
_LOGGER = logging.getLogger(__name__)
PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
@dataclass
class AccuWeatherData:
"""Data for AccuWeather integration."""
coordinator_observation: AccuWeatherObservationDataUpdateCoordinator
coordinator_daily_forecast: AccuWeatherDailyForecastDataUpdateCoordinator
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up AccuWeather as config entry."""
api_key: str = entry.data[CONF_API_KEY]
name: str = entry.data[CONF_NAME]
assert entry.unique_id is not None
location_key = entry.unique_id
forecast: bool = entry.options.get(CONF_FORECAST, False)
_LOGGER.debug("Using location_key: %s, get forecast: %s", location_key, forecast)
location_key = entry.unique_id
_LOGGER.debug("Using location_key: %s", location_key)
websession = async_get_clientsession(hass)
accuweather = AccuWeather(api_key, websession, location_key=location_key)
coordinator = AccuWeatherDataUpdateCoordinator(
hass, websession, api_key, location_key, forecast, name
coordinator_observation = AccuWeatherObservationDataUpdateCoordinator(
hass,
accuweather,
name,
"observation",
UPDATE_INTERVAL_OBSERVATION,
)
await coordinator.async_config_entry_first_refresh()
coordinator_daily_forecast = AccuWeatherDailyForecastDataUpdateCoordinator(
hass,
accuweather,
name,
"daily forecast",
UPDATE_INTERVAL_DAILY_FORECAST,
)
await coordinator_observation.async_config_entry_first_refresh()
await coordinator_daily_forecast.async_config_entry_first_refresh()
entry.async_on_unload(entry.add_update_listener(update_listener))
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = coordinator
hass.data.setdefault(DOMAIN, {})[entry.entry_id] = AccuWeatherData(
coordinator_observation=coordinator_observation,
coordinator_daily_forecast=coordinator_daily_forecast,
)
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
# Remove ozone sensors from registry if they exist
ent_reg = er.async_get(hass)
for day in range(0, 5):
unique_id = f"{coordinator.location_key}-ozone-{day}"
for day in range(5):
unique_id = f"{location_key}-ozone-{day}"
if entity_id := ent_reg.async_get_entity_id(SENSOR_PLATFORM, DOMAIN, unique_id):
_LOGGER.debug("Removing ozone sensor entity %s", entity_id)
ent_reg.async_remove(entity_id)
@@ -73,65 +97,3 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Update listener."""
await hass.config_entries.async_reload(entry.entry_id)
class AccuWeatherDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
"""Class to manage fetching AccuWeather data API."""
def __init__(
self,
hass: HomeAssistant,
session: ClientSession,
api_key: str,
location_key: str,
forecast: bool,
name: str,
) -> None:
"""Initialize."""
self.location_key = location_key
self.forecast = forecast
self.accuweather = AccuWeather(api_key, session, location_key=location_key)
self.device_info = DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, location_key)},
manufacturer=MANUFACTURER,
name=name,
# You don't need to provide specific details for the URL,
# so passing in _ characters is fine if the location key
# is correct
configuration_url=(
"http://accuweather.com/en/"
f"_/_/{location_key}/"
f"weather-forecast/{location_key}/"
),
)
# Enabling the forecast download increases the number of requests per data
# update, we use 40 minutes for current condition only and 80 minutes for
# current condition and forecast as update interval to not exceed allowed number
# of requests. We have 50 requests allowed per day, so we use 36 and leave 14 as
# a reserve for restarting HA.
update_interval = timedelta(minutes=40)
if self.forecast:
update_interval *= 2
_LOGGER.debug("Data will be update every %s", update_interval)
super().__init__(hass, _LOGGER, name=DOMAIN, update_interval=update_interval)
async def _async_update_data(self) -> dict[str, Any]:
"""Update data via library."""
forecast: list[dict[str, Any]] = []
try:
async with timeout(10):
current = await self.accuweather.async_get_current_conditions()
if self.forecast:
forecast = await self.accuweather.async_get_daily_forecast()
except (
ApiError,
ClientConnectorError,
InvalidApiKeyError,
RequestsExceededError,
) as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return {**current, **{ATTR_FORECAST: forecast}}

View File

@@ -1,7 +1,7 @@
"""Adds config flow for AccuWeather."""
from __future__ import annotations
import asyncio
from asyncio import timeout
from typing import Any
@@ -10,44 +10,23 @@ from aiohttp import ClientError
from aiohttp.client_exceptions import ClientConnectorError
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.config_entries import ConfigEntry
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_NAME
from homeassistant.core import callback
from homeassistant.data_entry_flow import FlowResult
from homeassistant.helpers.aiohttp_client import async_get_clientsession
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.schema_config_entry_flow import (
SchemaFlowFormStep,
SchemaOptionsFlowHandler,
)
from .const import CONF_FORECAST, DOMAIN
OPTIONS_SCHEMA = vol.Schema(
{
vol.Optional(CONF_FORECAST, default=False): bool,
}
)
OPTIONS_FLOW = {
"init": SchemaFlowFormStep(OPTIONS_SCHEMA),
}
from .const import DOMAIN
class AccuWeatherFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
class AccuWeatherFlowHandler(ConfigFlow, domain=DOMAIN):
"""Config flow for AccuWeather."""
VERSION = 1
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
) -> ConfigFlowResult:
"""Handle a flow initialized by the user."""
# Under the terms of use of the API, one user can use one free API key. Due to
# the small number of requests allowed, we only allow one integration instance.
if self._async_current_entries():
return self.async_abort(reason="single_instance_allowed")
errors = {}
if user_input is not None:
@@ -61,7 +40,7 @@ class AccuWeatherFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
longitude=user_input[CONF_LONGITUDE],
)
await accuweather.async_get_location()
except (ApiError, ClientConnectorError, asyncio.TimeoutError, ClientError):
except (ApiError, ClientConnectorError, TimeoutError, ClientError):
errors["base"] = "cannot_connect"
except InvalidApiKeyError:
errors[CONF_API_KEY] = "invalid_api_key"
@@ -94,9 +73,3 @@ class AccuWeatherFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
),
errors=errors,
)
@staticmethod
@callback
def async_get_options_flow(config_entry: ConfigEntry) -> SchemaOptionsFlowHandler:
"""Options callback for AccuWeather."""
return SchemaOptionsFlowHandler(config_entry, OPTIONS_FLOW)

View File

@@ -1,6 +1,8 @@
"""Constants for AccuWeather integration."""
from __future__ import annotations
from datetime import timedelta
from typing import Final
from homeassistant.components.weather import (
@@ -26,10 +28,8 @@ ATTR_CATEGORY: Final = "Category"
ATTR_DIRECTION: Final = "Direction"
ATTR_ENGLISH: Final = "English"
ATTR_LEVEL: Final = "level"
ATTR_FORECAST: Final = "forecast"
ATTR_SPEED: Final = "Speed"
ATTR_VALUE: Final = "Value"
CONF_FORECAST: Final = "forecast"
DOMAIN: Final = "accuweather"
MANUFACTURER: Final = "AccuWeather, Inc."
MAX_FORECAST_DAYS: Final = 4
@@ -55,3 +55,5 @@ CONDITION_MAP = {
for cond_ha, cond_codes in CONDITION_CLASSES.items()
for cond_code in cond_codes
}
UPDATE_INTERVAL_OBSERVATION = timedelta(minutes=40)
UPDATE_INTERVAL_DAILY_FORECAST = timedelta(hours=6)

View File

@@ -0,0 +1,124 @@
"""The AccuWeather coordinator."""
from asyncio import timeout
from datetime import timedelta
import logging
from typing import TYPE_CHECKING, Any
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp.client_exceptions import ClientConnectorError
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.update_coordinator import (
DataUpdateCoordinator,
TimestampDataUpdateCoordinator,
UpdateFailed,
)
from .const import DOMAIN, MANUFACTURER
EXCEPTIONS = (ApiError, ClientConnectorError, InvalidApiKeyError, RequestsExceededError)
_LOGGER = logging.getLogger(__name__)
class AccuWeatherObservationDataUpdateCoordinator(
DataUpdateCoordinator[dict[str, Any]]
):
"""Class to manage fetching AccuWeather data API."""
def __init__(
self,
hass: HomeAssistant,
accuweather: AccuWeather,
name: str,
coordinator_type: str,
update_interval: timedelta,
) -> None:
"""Initialize."""
self.accuweather = accuweather
self.location_key = accuweather.location_key
if TYPE_CHECKING:
assert self.location_key is not None
self.device_info = _get_device_info(self.location_key, name)
super().__init__(
hass,
_LOGGER,
name=f"{name} ({coordinator_type})",
update_interval=update_interval,
)
async def _async_update_data(self) -> dict[str, Any]:
"""Update data via library."""
try:
async with timeout(10):
result = await self.accuweather.async_get_current_conditions()
except EXCEPTIONS as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return result
class AccuWeatherDailyForecastDataUpdateCoordinator(
TimestampDataUpdateCoordinator[list[dict[str, Any]]]
):
"""Class to manage fetching AccuWeather data API."""
def __init__(
self,
hass: HomeAssistant,
accuweather: AccuWeather,
name: str,
coordinator_type: str,
update_interval: timedelta,
) -> None:
"""Initialize."""
self.accuweather = accuweather
self.location_key = accuweather.location_key
if TYPE_CHECKING:
assert self.location_key is not None
self.device_info = _get_device_info(self.location_key, name)
super().__init__(
hass,
_LOGGER,
name=f"{name} ({coordinator_type})",
update_interval=update_interval,
)
async def _async_update_data(self) -> list[dict[str, Any]]:
"""Update data via library."""
try:
async with timeout(10):
result = await self.accuweather.async_get_daily_forecast()
except EXCEPTIONS as error:
raise UpdateFailed(error) from error
_LOGGER.debug("Requests remaining: %d", self.accuweather.requests_remaining)
return result
def _get_device_info(location_key: str, name: str) -> DeviceInfo:
"""Get device info."""
return DeviceInfo(
entry_type=DeviceEntryType.SERVICE,
identifiers={(DOMAIN, location_key)},
manufacturer=MANUFACTURER,
name=name,
# You don't need to provide specific details for the URL,
# so passing in _ characters is fine if the location key
# is correct
configuration_url=(
"http://accuweather.com/en/"
f"_/_/{location_key}/weather-forecast/{location_key}/"
),
)

View File

@@ -1,4 +1,5 @@
"""Diagnostics support for AccuWeather."""
from __future__ import annotations
from typing import Any
@@ -8,7 +9,7 @@ from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE
from homeassistant.core import HomeAssistant
from . import AccuWeatherDataUpdateCoordinator
from . import AccuWeatherData
from .const import DOMAIN
TO_REDACT = {CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE}
@@ -18,13 +19,9 @@ async def async_get_config_entry_diagnostics(
hass: HomeAssistant, config_entry: ConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][
config_entry.entry_id
]
accuweather_data: AccuWeatherData = hass.data[DOMAIN][config_entry.entry_id]
diagnostics_data = {
return {
"config_entry_data": async_redact_data(dict(config_entry.data), TO_REDACT),
"coordinator_data": coordinator.data,
"observation_data": accuweather_data.coordinator_observation.data,
}
return diagnostics_data

View File

@@ -8,5 +8,6 @@
"iot_class": "cloud_polling",
"loggers": ["accuweather"],
"quality_scale": "platinum",
"requirements": ["accuweather==2.1.1"]
"requirements": ["accuweather==3.0.0"],
"single_config_entry": true
}

View File

@@ -1,4 +1,5 @@
"""Support for the AccuWeather service."""
from __future__ import annotations
from collections.abc import Callable
@@ -27,13 +28,12 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AccuWeatherDataUpdateCoordinator
from . import AccuWeatherData
from .const import (
API_METRIC,
ATTR_CATEGORY,
ATTR_DIRECTION,
ATTR_ENGLISH,
ATTR_FORECAST,
ATTR_LEVEL,
ATTR_SPEED,
ATTR_VALUE,
@@ -41,30 +41,32 @@ from .const import (
DOMAIN,
MAX_FORECAST_DAYS,
)
from .coordinator import (
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
PARALLEL_UPDATES = 1
@dataclass
class AccuWeatherSensorDescriptionMixin:
"""Mixin for AccuWeather sensor."""
value_fn: Callable[[dict[str, Any]], str | int | float | None]
@dataclass
class AccuWeatherSensorDescription(
SensorEntityDescription, AccuWeatherSensorDescriptionMixin
):
@dataclass(frozen=True, kw_only=True)
class AccuWeatherSensorDescription(SensorEntityDescription):
"""Class describing AccuWeather sensor entities."""
value_fn: Callable[[dict[str, Any]], str | int | float | None]
attr_fn: Callable[[dict[str, Any]], dict[str, Any]] = lambda _: {}
day: int | None = None
FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
@dataclass(frozen=True, kw_only=True)
class AccuWeatherForecastSensorDescription(AccuWeatherSensorDescription):
"""Class describing AccuWeather sensor entities."""
day: int
FORECAST_SENSOR_TYPES: tuple[AccuWeatherForecastSensorDescription, ...] = (
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="AirQuality",
icon="mdi:air-filter",
value_fn=lambda data: cast(str, data[ATTR_CATEGORY]),
@@ -76,7 +78,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="CloudCoverDay",
icon="mdi:weather-cloudy",
entity_registry_enabled_default=False,
@@ -88,7 +90,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="CloudCoverNight",
icon="mdi:weather-cloudy",
entity_registry_enabled_default=False,
@@ -100,7 +102,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="Grass",
icon="mdi:grass",
entity_registry_enabled_default=False,
@@ -113,7 +115,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="HoursOfSun",
icon="mdi:weather-partly-cloudy",
native_unit_of_measurement=UnitOfTime.HOURS,
@@ -124,7 +126,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="LongPhraseDay",
value_fn=lambda data: cast(str, data),
translation_key=f"condition_day_{day}d",
@@ -133,7 +135,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="LongPhraseNight",
value_fn=lambda data: cast(str, data),
translation_key=f"condition_night_{day}d",
@@ -142,7 +144,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="Mold",
icon="mdi:blur",
entity_registry_enabled_default=False,
@@ -155,7 +157,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="Ragweed",
icon="mdi:sprout",
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
@@ -168,7 +170,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="RealFeelTemperatureMax",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
@@ -179,7 +181,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="RealFeelTemperatureMin",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
@@ -190,7 +192,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="RealFeelTemperatureShadeMax",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
@@ -202,7 +204,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="RealFeelTemperatureShadeMin",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
@@ -214,7 +216,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="SolarIrradianceDay",
icon="mdi:weather-sunny",
entity_registry_enabled_default=False,
@@ -226,7 +228,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="SolarIrradianceNight",
icon="mdi:weather-sunny",
entity_registry_enabled_default=False,
@@ -238,7 +240,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="ThunderstormProbabilityDay",
icon="mdi:weather-lightning",
native_unit_of_measurement=PERCENTAGE,
@@ -249,7 +251,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="ThunderstormProbabilityNight",
icon="mdi:weather-lightning",
native_unit_of_measurement=PERCENTAGE,
@@ -260,7 +262,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="Tree",
icon="mdi:tree-outline",
native_unit_of_measurement=CONCENTRATION_PARTS_PER_CUBIC_METER,
@@ -273,7 +275,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="UVIndex",
icon="mdi:weather-sunny",
native_unit_of_measurement=UV_INDEX,
@@ -285,7 +287,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="WindGustDay",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
@@ -298,7 +300,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="WindGustNight",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
@@ -311,7 +313,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="WindDay",
device_class=SensorDeviceClass.WIND_SPEED,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
@@ -323,7 +325,7 @@ FORECAST_SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
for day in range(MAX_FORECAST_DAYS + 1)
),
*(
AccuWeatherSensorDescription(
AccuWeatherForecastSensorDescription(
key="WindNight",
device_class=SensorDeviceClass.WIND_SPEED,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
@@ -460,25 +462,33 @@ async def async_setup_entry(
) -> None:
"""Add AccuWeather entities from a config_entry."""
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
accuweather_data: AccuWeatherData = hass.data[DOMAIN][entry.entry_id]
sensors = [
AccuWeatherSensor(coordinator, description) for description in SENSOR_TYPES
observation_coordinator: AccuWeatherObservationDataUpdateCoordinator = (
accuweather_data.coordinator_observation
)
forecast_daily_coordinator: AccuWeatherDailyForecastDataUpdateCoordinator = (
accuweather_data.coordinator_daily_forecast
)
sensors: list[AccuWeatherSensor | AccuWeatherForecastSensor] = [
AccuWeatherSensor(observation_coordinator, description)
for description in SENSOR_TYPES
]
if coordinator.forecast:
for description in FORECAST_SENSOR_TYPES:
# Some air quality/allergy sensors are only available for certain
# locations.
if description.key not in coordinator.data[ATTR_FORECAST][description.day]:
continue
sensors.append(AccuWeatherSensor(coordinator, description))
sensors.extend(
[
AccuWeatherForecastSensor(forecast_daily_coordinator, description)
for description in FORECAST_SENSOR_TYPES
if description.key in forecast_daily_coordinator.data[description.day]
]
)
async_add_entities(sensors)
class AccuWeatherSensor(
CoordinatorEntity[AccuWeatherDataUpdateCoordinator], SensorEntity
CoordinatorEntity[AccuWeatherObservationDataUpdateCoordinator], SensorEntity
):
"""Define an AccuWeather entity."""
@@ -488,22 +498,15 @@ class AccuWeatherSensor(
def __init__(
self,
coordinator: AccuWeatherDataUpdateCoordinator,
coordinator: AccuWeatherObservationDataUpdateCoordinator,
description: AccuWeatherSensorDescription,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self.forecast_day = description.day
self.entity_description = description
self._sensor_data = _get_sensor_data(
coordinator.data, description.key, self.forecast_day
)
if self.forecast_day is not None:
self._attr_unique_id = f"{coordinator.location_key}-{description.key}-{self.forecast_day}".lower()
else:
self._attr_unique_id = (
f"{coordinator.location_key}-{description.key}".lower()
)
self._sensor_data = self._get_sensor_data(coordinator.data, description.key)
self._attr_unique_id = f"{coordinator.location_key}-{description.key}".lower()
self._attr_device_info = coordinator.device_info
@property
@@ -514,30 +517,78 @@ class AccuWeatherSensor(
@property
def extra_state_attributes(self) -> dict[str, Any]:
"""Return the state attributes."""
if self.forecast_day is not None:
return self.entity_description.attr_fn(self._sensor_data)
return self.entity_description.attr_fn(self.coordinator.data)
@callback
def _handle_coordinator_update(self) -> None:
"""Handle data update."""
self._sensor_data = _get_sensor_data(
self._sensor_data = self._get_sensor_data(
self.coordinator.data, self.entity_description.key
)
self.async_write_ha_state()
@staticmethod
def _get_sensor_data(
sensors: dict[str, Any],
kind: str,
) -> Any:
"""Get sensor data."""
if kind == "Precipitation":
return sensors["PrecipitationSummary"]["PastHour"]
return sensors[kind]
class AccuWeatherForecastSensor(
CoordinatorEntity[AccuWeatherDailyForecastDataUpdateCoordinator], SensorEntity
):
"""Define an AccuWeather entity."""
_attr_attribution = ATTRIBUTION
_attr_has_entity_name = True
entity_description: AccuWeatherForecastSensorDescription
def __init__(
self,
coordinator: AccuWeatherDailyForecastDataUpdateCoordinator,
description: AccuWeatherForecastSensorDescription,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self.forecast_day = description.day
self.entity_description = description
self._sensor_data = self._get_sensor_data(
coordinator.data, description.key, self.forecast_day
)
self._attr_unique_id = (
f"{coordinator.location_key}-{description.key}-{self.forecast_day}".lower()
)
self._attr_device_info = coordinator.device_info
@property
def native_value(self) -> str | int | float | None:
"""Return the state."""
return self.entity_description.value_fn(self._sensor_data)
@property
def extra_state_attributes(self) -> dict[str, Any]:
"""Return the state attributes."""
return self.entity_description.attr_fn(self._sensor_data)
@callback
def _handle_coordinator_update(self) -> None:
"""Handle data update."""
self._sensor_data = self._get_sensor_data(
self.coordinator.data, self.entity_description.key, self.forecast_day
)
self.async_write_ha_state()
def _get_sensor_data(
sensors: dict[str, Any],
kind: str,
forecast_day: int | None = None,
) -> Any:
"""Get sensor data."""
if forecast_day is not None:
return sensors[ATTR_FORECAST][forecast_day][kind]
if kind == "Precipitation":
return sensors["PrecipitationSummary"]["PastHour"]
return sensors[kind]
@staticmethod
def _get_sensor_data(
sensors: list[dict[str, Any]],
kind: str,
forecast_day: int,
) -> Any:
"""Get sensor data."""
return sensors[forecast_day][kind]

View File

@@ -11,15 +11,12 @@
}
},
"create_entry": {
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration.\nWeather forecast is not enabled by default. You can enable it in the integration options."
"default": "Some sensors are not enabled by default. You can enable them in the entity registry after the integration configuration."
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"invalid_api_key": "[%key:common::config_flow::error::invalid_api_key%]",
"requests_exceeded": "The allowed number of requests to Accuweather API has been exceeded. You have to wait or change API Key."
},
"abort": {
"single_instance_allowed": "[%key:common::config_flow::abort::single_instance_allowed%]"
}
},
"entity": {
@@ -793,16 +790,6 @@
}
}
},
"options": {
"step": {
"init": {
"description": "Due to the limitations of the free version of the AccuWeather API key, when you enable weather forecast, data updates will be performed every 80 minutes instead of every 40 minutes.",
"data": {
"forecast": "Weather forecast"
}
}
}
},
"system_health": {
"info": {
"can_reach_server": "Reach AccuWeather server",

View File

@@ -1,4 +1,5 @@
"""Provide info to system health."""
from __future__ import annotations
from typing import Any
@@ -23,7 +24,7 @@ async def system_health_info(hass: HomeAssistant) -> dict[str, Any]:
"""Get info for the info page."""
remaining_requests = list(hass.data[DOMAIN].values())[
0
].accuweather.requests_remaining
].coordinator_observation.accuweather.requests_remaining
return {
"can_reach_server": system_health.async_check_can_reach_url(hass, ENDPOINT),

View File

@@ -1,4 +1,5 @@
"""Support for the AccuWeather service."""
from __future__ import annotations
from typing import cast
@@ -16,8 +17,8 @@ from homeassistant.components.weather import (
ATTR_FORECAST_TIME,
ATTR_FORECAST_UV_INDEX,
ATTR_FORECAST_WIND_BEARING,
CoordinatorWeatherEntity,
Forecast,
SingleCoordinatorWeatherEntity,
WeatherEntityFeature,
)
from homeassistant.config_entries import ConfigEntry
@@ -30,19 +31,23 @@ from homeassistant.const import (
)
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import TimestampDataUpdateCoordinator
from homeassistant.util.dt import utc_from_timestamp
from . import AccuWeatherDataUpdateCoordinator
from . import AccuWeatherData
from .const import (
API_METRIC,
ATTR_DIRECTION,
ATTR_FORECAST,
ATTR_SPEED,
ATTR_VALUE,
ATTRIBUTION,
CONDITION_MAP,
DOMAIN,
)
from .coordinator import (
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
PARALLEL_UPDATES = 1
@@ -51,106 +56,134 @@ async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
) -> None:
"""Add a AccuWeather weather entity from a config_entry."""
accuweather_data: AccuWeatherData = hass.data[DOMAIN][entry.entry_id]
coordinator: AccuWeatherDataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
async_add_entities([AccuWeatherEntity(coordinator)])
async_add_entities([AccuWeatherEntity(accuweather_data)])
class AccuWeatherEntity(
SingleCoordinatorWeatherEntity[AccuWeatherDataUpdateCoordinator]
CoordinatorWeatherEntity[
AccuWeatherObservationDataUpdateCoordinator,
AccuWeatherDailyForecastDataUpdateCoordinator,
TimestampDataUpdateCoordinator,
TimestampDataUpdateCoordinator,
]
):
"""Define an AccuWeather entity."""
_attr_has_entity_name = True
_attr_name = None
def __init__(self, coordinator: AccuWeatherDataUpdateCoordinator) -> None:
def __init__(self, accuweather_data: AccuWeatherData) -> None:
"""Initialize."""
super().__init__(coordinator)
super().__init__(
observation_coordinator=accuweather_data.coordinator_observation,
daily_coordinator=accuweather_data.coordinator_daily_forecast,
)
self._attr_native_precipitation_unit = UnitOfPrecipitationDepth.MILLIMETERS
self._attr_native_pressure_unit = UnitOfPressure.HPA
self._attr_native_temperature_unit = UnitOfTemperature.CELSIUS
self._attr_native_visibility_unit = UnitOfLength.KILOMETERS
self._attr_native_wind_speed_unit = UnitOfSpeed.KILOMETERS_PER_HOUR
self._attr_unique_id = coordinator.location_key
self._attr_unique_id = accuweather_data.coordinator_observation.location_key
self._attr_attribution = ATTRIBUTION
self._attr_device_info = coordinator.device_info
if self.coordinator.forecast:
self._attr_supported_features = WeatherEntityFeature.FORECAST_DAILY
self._attr_device_info = accuweather_data.coordinator_observation.device_info
self._attr_supported_features = WeatherEntityFeature.FORECAST_DAILY
self.observation_coordinator = accuweather_data.coordinator_observation
self.daily_coordinator = accuweather_data.coordinator_daily_forecast
@property
def condition(self) -> str | None:
"""Return the current condition."""
return CONDITION_MAP.get(self.coordinator.data["WeatherIcon"])
return CONDITION_MAP.get(self.observation_coordinator.data["WeatherIcon"])
@property
def cloud_coverage(self) -> float:
"""Return the Cloud coverage in %."""
return cast(float, self.coordinator.data["CloudCover"])
return cast(float, self.observation_coordinator.data["CloudCover"])
@property
def native_apparent_temperature(self) -> float:
"""Return the apparent temperature."""
return cast(
float, self.coordinator.data["ApparentTemperature"][API_METRIC][ATTR_VALUE]
float,
self.observation_coordinator.data["ApparentTemperature"][API_METRIC][
ATTR_VALUE
],
)
@property
def native_temperature(self) -> float:
"""Return the temperature."""
return cast(float, self.coordinator.data["Temperature"][API_METRIC][ATTR_VALUE])
return cast(
float,
self.observation_coordinator.data["Temperature"][API_METRIC][ATTR_VALUE],
)
@property
def native_pressure(self) -> float:
"""Return the pressure."""
return cast(float, self.coordinator.data["Pressure"][API_METRIC][ATTR_VALUE])
return cast(
float, self.observation_coordinator.data["Pressure"][API_METRIC][ATTR_VALUE]
)
@property
def native_dew_point(self) -> float:
"""Return the dew point."""
return cast(float, self.coordinator.data["DewPoint"][API_METRIC][ATTR_VALUE])
return cast(
float, self.observation_coordinator.data["DewPoint"][API_METRIC][ATTR_VALUE]
)
@property
def humidity(self) -> int:
"""Return the humidity."""
return cast(int, self.coordinator.data["RelativeHumidity"])
return cast(int, self.observation_coordinator.data["RelativeHumidity"])
@property
def native_wind_gust_speed(self) -> float:
"""Return the wind gust speed."""
return cast(
float, self.coordinator.data["WindGust"][ATTR_SPEED][API_METRIC][ATTR_VALUE]
float,
self.observation_coordinator.data["WindGust"][ATTR_SPEED][API_METRIC][
ATTR_VALUE
],
)
@property
def native_wind_speed(self) -> float:
"""Return the wind speed."""
return cast(
float, self.coordinator.data["Wind"][ATTR_SPEED][API_METRIC][ATTR_VALUE]
float,
self.observation_coordinator.data["Wind"][ATTR_SPEED][API_METRIC][
ATTR_VALUE
],
)
@property
def wind_bearing(self) -> int:
"""Return the wind bearing."""
return cast(int, self.coordinator.data["Wind"][ATTR_DIRECTION]["Degrees"])
return cast(
int, self.observation_coordinator.data["Wind"][ATTR_DIRECTION]["Degrees"]
)
@property
def native_visibility(self) -> float:
"""Return the visibility."""
return cast(float, self.coordinator.data["Visibility"][API_METRIC][ATTR_VALUE])
return cast(
float,
self.observation_coordinator.data["Visibility"][API_METRIC][ATTR_VALUE],
)
@property
def uv_index(self) -> float:
"""Return the UV index."""
return cast(float, self.coordinator.data["UVIndex"])
return cast(float, self.observation_coordinator.data["UVIndex"])
@property
def forecast(self) -> list[Forecast] | None:
"""Return the forecast array."""
if not self.coordinator.forecast:
return None
# remap keys from library to keys understood by the weather component
@callback
def _async_forecast_daily(self) -> list[Forecast] | None:
"""Return the daily forecast in native units."""
return [
{
ATTR_FORECAST_TIME: utc_from_timestamp(item["EpochDate"]).isoformat(),
@@ -174,10 +207,5 @@ class AccuWeatherEntity(
ATTR_FORECAST_WIND_BEARING: item["WindDay"][ATTR_DIRECTION]["Degrees"],
ATTR_FORECAST_CONDITION: CONDITION_MAP.get(item["IconDay"]),
}
for item in self.coordinator.data[ATTR_FORECAST]
for item in self.daily_coordinator.data
]
@callback
def _async_forecast_daily(self) -> list[Forecast] | None:
"""Return the daily forecast in native units."""
return self.forecast

View File

@@ -1,4 +1,5 @@
"""Use serial protocol of Acer projector to obtain state of the projector."""
from __future__ import annotations
from typing import Final

View File

@@ -1,4 +1,5 @@
"""Use serial protocol of Acer projector to obtain state of the projector."""
from __future__ import annotations
import logging

View File

@@ -1,4 +1,5 @@
"""The Rollease Acmeda Automate integration."""
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant

View File

@@ -1,4 +1,5 @@
"""Base class for Acmeda Roller Blinds."""
from __future__ import annotations
import aiopulse
@@ -66,12 +67,12 @@ class AcmedaBase(entity.Entity):
@property
def unique_id(self) -> str:
"""Return the unique ID of this roller."""
return self.roller.id
return self.roller.id # type: ignore[no-any-return]
@property
def device_id(self) -> str:
"""Return the ID of this roller."""
return self.roller.id
return self.roller.id # type: ignore[no-any-return]
@property
def device_info(self) -> dr.DeviceInfo:

View File

@@ -1,7 +1,7 @@
"""Config flow for Rollease Acmeda Automate Pulse Hub."""
from __future__ import annotations
import asyncio
from asyncio import timeout
from contextlib import suppress
from typing import Any
@@ -9,14 +9,13 @@ from typing import Any
import aiopulse
import voluptuous as vol
from homeassistant import config_entries
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_HOST, CONF_ID
from homeassistant.data_entry_flow import FlowResult
from .const import DOMAIN
class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
class AcmedaFlowHandler(ConfigFlow, domain=DOMAIN):
"""Handle a Acmeda config flow."""
VERSION = 1
@@ -27,7 +26,7 @@ class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
async def async_step_user(
self, user_input: dict[str, Any] | None = None
) -> FlowResult:
) -> ConfigFlowResult:
"""Handle a flow initialized by the user."""
if (
user_input is not None
@@ -41,12 +40,13 @@ class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
entry.unique_id for entry in self._async_current_entries()
}
hubs: list[aiopulse.Hub] = []
with suppress(asyncio.TimeoutError):
with suppress(TimeoutError):
async with timeout(5):
async for hub in aiopulse.Hub.discover():
if hub.id not in already_configured:
hubs.append(hub)
hubs: list[aiopulse.Hub] = [
hub
async for hub in aiopulse.Hub.discover()
if hub.id not in already_configured
]
if not hubs:
return self.async_abort(reason="no_devices_found")
@@ -67,7 +67,7 @@ class AcmedaFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
),
)
async def async_create(self, hub: aiopulse.Hub) -> FlowResult:
async def async_create(self, hub: aiopulse.Hub) -> ConfigFlowResult:
"""Create the Acmeda Hub entry."""
await self.async_set_unique_id(hub.id, raise_on_progress=False)
return self.async_create_entry(title=hub.id, data={CONF_HOST: hub.host})

View File

@@ -1,4 +1,5 @@
"""Constants for the Rollease Acmeda Automate integration."""
import logging
LOGGER = logging.getLogger(__package__)

View File

@@ -1,4 +1,5 @@
"""Support for Acmeda Roller Blinds."""
from __future__ import annotations
from typing import Any
@@ -30,7 +31,7 @@ async def async_setup_entry(
current: set[int] = set()
@callback
def async_add_acmeda_covers():
def async_add_acmeda_covers() -> None:
async_add_acmeda_entities(
hass, AcmedaCover, config_entry, current, async_add_entities
)
@@ -95,7 +96,7 @@ class AcmedaCover(AcmedaBase, CoverEntity):
@property
def is_closed(self) -> bool:
"""Return if the cover is closed."""
return self.roller.closed_percent == 100
return self.roller.closed_percent == 100 # type: ignore[no-any-return]
async def async_close_cover(self, **kwargs: Any) -> None:
"""Close the roller."""

View File

@@ -1,4 +1,5 @@
"""Errors for the Acmeda Pulse component."""
from homeassistant.exceptions import HomeAssistantError

View File

@@ -1,6 +1,9 @@
"""Helper functions for Acmeda Pulse."""
from __future__ import annotations
from aiopulse import Roller
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import device_registry as dr
@@ -16,7 +19,7 @@ def async_add_acmeda_entities(
config_entry: ConfigEntry,
current: set[int],
async_add_entities: AddEntitiesCallback,
):
) -> None:
"""Add any new entities."""
hub = hass.data[DOMAIN][config_entry.entry_id]
LOGGER.debug("Looking for new %s on: %s", entity_class.__name__, hub.host)
@@ -34,7 +37,9 @@ def async_add_acmeda_entities(
async_add_entities(new_items)
async def update_devices(hass: HomeAssistant, config_entry: ConfigEntry, api):
async def update_devices(
hass: HomeAssistant, config_entry: ConfigEntry, api: dict[int, Roller]
) -> None:
"""Tell hass that device info has been updated."""
dev_registry = dr.async_get(hass)

View File

@@ -1,10 +1,14 @@
"""Code to handle a Pulse Hub."""
from __future__ import annotations
import asyncio
from collections.abc import Callable
import aiopulse
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.dispatcher import async_dispatcher_send
from .const import ACMEDA_ENTITY_REMOVE, ACMEDA_HUB_UPDATE, LOGGER
@@ -14,31 +18,29 @@ from .helpers import update_devices
class PulseHub:
"""Manages a single Pulse Hub."""
def __init__(self, hass, config_entry):
api: aiopulse.Hub
def __init__(self, hass: HomeAssistant, config_entry: ConfigEntry) -> None:
"""Initialize the system."""
self.config_entry = config_entry
self.hass = hass
self.api: aiopulse.Hub | None = None
self.tasks = []
self.current_rollers = {}
self.cleanup_callbacks = []
self.tasks: list[asyncio.Task[None]] = []
self.current_rollers: dict[int, aiopulse.Roller] = {}
self.cleanup_callbacks: list[Callable[[], None]] = []
@property
def title(self):
def title(self) -> str:
"""Return the title of the hub shown in the integrations list."""
return f"{self.api.id} ({self.api.host})"
@property
def host(self):
def host(self) -> str:
"""Return the host of this hub."""
return self.config_entry.data["host"]
return self.config_entry.data["host"] # type: ignore[no-any-return]
async def async_setup(self, tries=0):
async def async_setup(self, tries: int = 0) -> bool:
"""Set up a hub based on host parameter."""
host = self.host
hub = aiopulse.Hub(host)
self.api = hub
self.api = hub = aiopulse.Hub(self.host)
hub.callback_subscribe(self.async_notify_update)
self.tasks.append(asyncio.create_task(hub.run()))
@@ -46,7 +48,7 @@ class PulseHub:
LOGGER.debug("Hub setup complete")
return True
async def async_reset(self):
async def async_reset(self) -> bool:
"""Reset this hub to default state."""
for cleanup_callback in self.cleanup_callbacks:
@@ -66,7 +68,7 @@ class PulseHub:
return True
async def async_notify_update(self, update_type):
async def async_notify_update(self, update_type: aiopulse.UpdateType) -> None:
"""Evaluate entities when hub reports that update has occurred."""
LOGGER.debug("Hub {update_type.name} updated")

View File

@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/acmeda",
"iot_class": "local_push",
"loggers": ["aiopulse"],
"requirements": ["aiopulse==0.4.3"]
"requirements": ["aiopulse==0.4.4"]
}

View File

@@ -1,4 +1,5 @@
"""Support for Acmeda Roller Blind Batteries."""
from __future__ import annotations
from homeassistant.components.sensor import SensorDeviceClass, SensorEntity
@@ -25,7 +26,7 @@ async def async_setup_entry(
current: set[int] = set()
@callback
def async_add_acmeda_sensors():
def async_add_acmeda_sensors() -> None:
async_add_acmeda_entities(
hass, AcmedaBattery, config_entry, current, async_add_entities
)
@@ -48,4 +49,4 @@ class AcmedaBattery(AcmedaBase, SensorEntity):
@property
def native_value(self) -> float | int | None:
"""Return the state of the device."""
return self.roller.battery
return self.roller.battery # type: ignore[no-any-return]

View File

@@ -0,0 +1 @@
"""Virtual integration: Acomax."""

View File

@@ -0,0 +1,6 @@
{
"domain": "acomax",
"name": "Acomax",
"integration_type": "virtual",
"supported_by": "motion_blinds"
}

View File

@@ -1,4 +1,5 @@
"""Support for Actiontec MI424WR (Verizon FIOS) routers."""
from __future__ import annotations
import re
@@ -8,7 +9,7 @@ from typing import Final
LEASES_REGEX: Final[re.Pattern[str]] = re.compile(
r"(?P<ip>([0-9]{1,3}[\.]){3}[0-9]{1,3})"
+ r"\smac:\s(?P<mac>([0-9a-f]{2}[:-]){5}([0-9a-f]{2}))"
+ r"\svalid\sfor:\s(?P<timevalid>(-?\d+))"
+ r"\ssec"
r"\smac:\s(?P<mac>([0-9a-f]{2}[:-]){5}([0-9a-f]{2}))"
r"\svalid\sfor:\s(?P<timevalid>(-?\d+))"
r"\ssec"
)

View File

@@ -1,4 +1,5 @@
"""Support for Actiontec MI424WR (Verizon FIOS) routers."""
from __future__ import annotations
import logging

View File

@@ -1,4 +1,5 @@
"""Model definitions for Actiontec MI424WR (Verizon FIOS) routers."""
from dataclasses import dataclass

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