Compare commits

...

4899 Commits

Author SHA1 Message Date
Abílio Costa
a109f2dcdf Update homeassistant/components/websocket_api/commands.py
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-09-15 14:20:21 +01:00
Abílio Costa
b61b9bb606 Merge branch 'dev' into target_websocket_api 2025-09-08 16:11:44 +01:00
epenet
56c865dcfe Fix _is_valid_suggested_unit in sensor platform (#151912) 2025-09-08 16:35:33 +02:00
karwosts
b7360dfad8 Allow deleting kitchen_sink devices (#151826) 2025-09-08 15:01:08 +01:00
dependabot[bot]
f2204e97ab Bump github/codeql-action from 3.30.0 to 3.30.1 (#151890)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-08 14:49:05 +02:00
Artur Pragacz
98df5f5f0c Validate selectors in the condition helper (#151884) 2025-09-08 14:20:11 +02:00
Simone Chemelli
064d43480d Bump aiovodafone to 1.2.1 (#151901) 2025-09-08 12:58:26 +02:00
Jan Bouwhuis
1536375e82 Fix update of the entity ID does not clean up an old restored state (#151696)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-09-08 12:48:23 +02:00
Avi Miller
39e9ffff29 Bump aiolifx-themes to 1.0.2 to support newer LIFX devices (#151898)
Signed-off-by: Avi Miller <me@dje.li>
2025-09-08 13:45:42 +03:00
puddly
12f152d6e4 Home Assistant Connect ZBT-2 integration (#151015)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-09-08 11:18:31 +02:00
Jan Bouwhuis
c7f0560208 Deprecate object_id and instead suggest to use default_entity_id to set the suggested entity_id in MQTT entity configurations (#151775) 2025-09-08 09:22:12 +02:00
Denis Shulyaka
65603a3829 Add signature to ai_task generated images URL (#151882) 2025-09-07 16:58:51 -04:00
Robert Resch
38ea5c6813 Bump aioecowitt to 2025.9.1 (#151859) 2025-09-07 19:52:05 +02:00
Norbert Rittel
5b1fd8f58b Fix sentence-casing in volvooncall (#151863) 2025-09-07 19:51:16 +02:00
Maciej Bieniek
e5f99a617f Mark Tractive switches as unavailable when tacker is in the enegy saving zone (#151817) 2025-09-07 13:34:31 +02:00
Martins Sipenko
7f8b5f2288 Update pysmarty2 to 0.10.3 (#151855) 2025-09-07 09:36:45 +02:00
J. Nick Koston
75f69cd5b6 Bump aioharmony to 0.5.3 (#151853) 2025-09-06 23:55:27 -04:00
Paulus Schoutsen
d7fab27351 Remove myself as code owner of integrations (#151851) 2025-09-06 20:42:25 -05:00
David Knowles
6c6ec7534f Bump pydrawise to 2025.9.0 (#151842) 2025-09-06 23:07:56 +03:00
Norbert Rittel
8e3780264a Capitalize "AC" in nut (#151831) 2025-09-06 20:25:42 +02:00
jan iversen
78b009dd8f Allow delay > 1 in modbus. (#151832) 2025-09-06 21:21:12 +03:00
jan iversen
76d72ad280 max_temp / min_temp in modbus light could only be int, otherwise an assert was provoked. (#151833) 2025-09-06 21:20:49 +03:00
jan iversen
e5be9426a4 removed assert fron entity in modbus. (#151834) 2025-09-06 21:20:21 +03:00
Norbert Rittel
0922f12ec0 Use "credentials" only for username and password in overkiz (#151837) 2025-09-06 21:19:52 +03:00
Norbert Rittel
89f424e1d3 Fix sentence-casing of "Application credentials" in common strings (#151828) 2025-09-06 19:21:33 +02:00
Norbert Rittel
143eb20d99 Fix sentence-casing of two tesla_fleet user-facing strings (#151829) 2025-09-06 17:56:54 +02:00
Artur Pragacz
3187506eb9 Ignore incorrect themes (#151794) 2025-09-06 13:49:03 +02:00
Matthias Alphart
a328b23437 Fix KNX BinarySensor config_store data (#151808) 2025-09-06 13:02:35 +02:00
Norbert Rittel
7e6a949559 Fix exceptions of climate.set_temperature action to use friendly names (#151811) 2025-09-06 14:00:15 +03:00
J. Nick Koston
da7db5e22b Bump habluetooth to 5.3.1 (#151803) 2025-09-06 13:57:44 +03:00
Jan-Philipp Benecke
ec58943c8c Bump zeroconf to 0.147.2 (#151809) 2025-09-06 13:56:52 +03:00
Norbert Rittel
61a05490e9 Fix missing sentence-casing of "temperature" in bsblan (#151810) 2025-09-06 13:55:13 +03:00
Joakim Plate
6a1629d2ed Update philips_js to 3.2.4 (#151796) 2025-09-06 08:16:06 +02:00
Paulus Schoutsen
106e1ce224 Gen translations in script/bootstrap (#151806) 2025-09-06 07:22:47 +02:00
Abílio Costa
601d63e3b7 Add top-level target support to condition schema (#149634)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-09-05 22:55:28 +01:00
Jan Bouwhuis
6a5f5b9adc Mock discovery in lifx sensor tests to avoid socket access in tests (#151787) 2025-09-05 21:46:07 +02:00
karwosts
8ecf5a98a5 Catch more invalid themes in validation (#151719) 2025-09-05 20:09:33 +02:00
Tsvi Mostovicz
1728c577f7 Revert "Jewish Calendar add coordinator " (#151780) 2025-09-05 17:47:29 +02:00
wollew
1006d5e0ba Use position percentage for closed status in Velux (#151679)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-05 16:45:29 +01:00
Artur Pragacz
6c29d5dc49 Add entity info to device database analytics (#151670) 2025-09-05 16:12:35 +02:00
Carlos Morán
a4e086f0d9 Add manual mode to the map of Overkiz to HVAC modes (#151438) 2025-09-05 15:43:54 +02:00
Marko Todorić
0fecf012e6 SFTP/SSH as remote Backup location (#135844)
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-09-05 15:43:26 +02:00
blotus
63c8bfaa9b Fix support for Ecowitt soil moisture sensors (#151685) 2025-09-05 14:40:14 +02:00
Mark Adkins
435926fd41 Update SharkIQ authentication method (#151046) 2025-09-05 13:14:28 +02:00
Ludovic BOUÉ
c621f0c139 Matter RVC ServiceArea EstimatedEndTime attribute (#151384) 2025-09-05 12:49:32 +02:00
Artur Pragacz
fa9007777d Add myself as codeowner to Voice components (#151764) 2025-09-05 12:45:17 +02:00
jan iversen
e1afadb28c Fix enable/disable entity in modbus (#151626) 2025-09-05 12:31:33 +02:00
tronikos
34c45eae56 Translate exceptions in Android TV Remote media player (#151744) 2025-09-05 12:29:06 +02:00
tronikos
71b8da6497 Limit the scope of try except blocks in Android TV Remote (#151746) 2025-09-05 12:28:46 +02:00
tronikos
caa0e357ee Improve Android TV Remote tests by testing we can recover from errors (#151752) 2025-09-05 12:26:31 +02:00
Imeon-Energy
0721ac6c73 Fix, entities stay unavailable after timeout error, Imeon inverter integration (#151671)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-09-05 12:11:44 +02:00
Marcel van der Veldt
783c742e09 Add support for migrated Hue bridge (#151411)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-09-05 12:09:37 +02:00
tronikos
d2324086af Remove unused class variables in Android TV Remote entity (#151743) 2025-09-05 12:04:14 +02:00
Marc Mueller
2ffd5f4c97 Update types packages (#151760) 2025-09-05 11:54:14 +02:00
Norbert Rittel
aa4a110923 Improve action descriptions in homematic (#151751) 2025-09-05 11:46:28 +02:00
Artur Pragacz
0a3032e766 Fix recognition of entity names in default agent with interpunction (#151759) 2025-09-05 11:42:56 +02:00
Richard Kroegel
c4db422355 Bump bimmer_connected to 0.17.3 (#151756) 2025-09-05 11:37:51 +02:00
Michael Hansen
f4e0b9ba15 Handle match failures in intent HTTP API (#151726) 2025-09-05 10:28:37 +02:00
dependabot[bot]
f3b997720d Bump actions/github-script from 7 to 8 (#151747)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 10:18:31 +02:00
dependabot[bot]
f5d3a89f90 Bump codecov/codecov-action from 5.5.0 to 5.5.1 (#151748)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-05 10:17:12 +02:00
Norbert Rittel
b90296d853 Remove trailing periods from title strings in sia (#151754) 2025-09-05 10:07:37 +02:00
tronikos
c6d6349908 Remove extra whitespace in Android TV Remote strings (#151741) 2025-09-05 09:25:00 +02:00
J. Nick Koston
2be6f17505 Bump aioesphomeapi to 40.0.1 (#151737) 2025-09-05 09:24:28 +02:00
epenet
4c953f36c8 Bump tuya-device-sharing-sdk to 0.2.4 (#151742) 2025-09-05 09:21:34 +02:00
Dan Raper
ec2fa202e9 Require OhmeAdvancedSettingsCoordinator to run regardless of entities (#151701) 2025-09-05 07:37:40 +02:00
G Johansson
1a970e6c88 Make sensor startup code more dry in System monitor (#151164) 2025-09-05 07:36:37 +02:00
Dan Raper
b9db828df3 Bump ohmepy version to 1.5.2 (#151707) 2025-09-05 04:23:57 +02:00
Daniel Hjelseth Høyer
50c0f41e8f Update Mill library 0.13.1 (#151712) 2025-09-05 04:23:08 +02:00
David Knowles
8cc66ee96c Bump pyschlage to 2025.9.0 (#151731) 2025-09-05 04:21:09 +02:00
Louis Christ
71981975a4 Update pyblu to 2.0.5 and fix code (#151728) 2025-09-04 23:34:59 +01:00
Manu
b875af9667 Bump pyotp to v2.9.0 (#151721) 2025-09-05 00:09:23 +02:00
Manu
89cd55c878 Bump habiticalib to v0.4.5 (#151720) 2025-09-04 22:58:28 +01:00
Daniel Hjelseth Høyer
b25708cec2 Update Tibber library 0.31.7 (#151711)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2025-09-05 00:21:26 +03:00
Franck Nijhof
bb9c65bc4b Update debugpy to v1.8.16 (#151716) 2025-09-05 00:17:58 +03:00
Franck Nijhof
447c7b64a9 Update cryptography to 45.0.7 (#151715) 2025-09-04 23:40:08 +03:00
Marc Mueller
b111a33b8c Update ciso8601 to 2.3.3 (#151704) 2025-09-04 13:54:49 -05:00
Marc Mueller
4fcd02bc5d Update requests to 2.32.5 (#151705) 2025-09-04 20:53:16 +02:00
Marc Mueller
80d26b8d2e Update pytest to 8.4.2 (#151706) 2025-09-04 20:52:48 +02:00
flonou
a475ecb342 Shelly cover position update when moving (#139008)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-09-04 20:22:07 +03:00
Simone Chemelli
42aec9cd91 Remove attributes from all Shelly entities (#140386) 2025-09-04 20:21:32 +03:00
karwosts
5409181b79 Add missing device trigger duration localizations (#151578)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-09-04 17:25:25 +02:00
Marc Mueller
c1945211fa [ci] Add timeout to install os dependencies step (#151682) 2025-09-04 17:20:17 +02:00
Abílio Costa
29537dc87d Add tests for hassfest conditions module (#151646)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-04 17:18:51 +02:00
Bram Kragten
72e1a8f912 Update frontend to 20250903.3 (#151694) 2025-09-04 17:04:49 +02:00
epenet
b742e4898c Ensure Tuya fixtures are correctly referenced (#151691) 2025-09-04 16:53:48 +02:00
Marcel van der Veldt
e5565c75f6 Bump aiohue to 4.7.5 (#151684) 2025-09-04 14:44:10 +02:00
epenet
a7ca618327 Check badly formatted dhcp addresses in tests (#147814) 2025-09-04 13:43:51 +01:00
epenet
6cbb881647 Drop Tuya compatibility code for mqtt (#151666) 2025-09-04 12:10:58 +02:00
Kevin McCormack
eae1fe4a56 Add strict typing, shared constants, and fix OPNsense name casing (#151599) 2025-09-04 11:20:16 +02:00
epenet
8d945d89de Bump tuya-device-sharing-sdk to 0.2.3 (#151659) 2025-09-04 10:37:25 +02:00
dependabot[bot]
86e7f3713f Bump actions/stale from 9.1.0 to 10.0.0 (#151660)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 10:11:50 +02:00
Pete Sage
3bc772a196 Fix Sonos Dialog Select type conversion (#151649) 2025-09-04 09:33:43 +02:00
Felipe Santos
c2290d6edb Fix WebSocket proxy for add-ons not forwarding ping/pong frame data (#151654) 2025-09-04 09:30:23 +02:00
dependabot[bot]
2a458dcec9 Bump actions/setup-python from 5.6.0 to 6.0.0 (#151662)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 09:22:28 +02:00
dependabot[bot]
ab5ef3674f Bump pypa/gh-action-pypi-publish from 1.12.4 to 1.13.0 (#151661)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-04 09:22:22 +02:00
Norbert Rittel
f28251bc76 Small fixes of user-facing strings in fritz (#151663) 2025-09-04 09:20:15 +02:00
Mike Kelly
1cca65b5c5 Add MCF (1000 Cubic Feet) as an alternate unit of measure for volume (#150015) 2025-09-04 09:29:37 +03:00
karwosts
ed134e22f9 Allow defining the start weekday for statistic_during_period (#149033) 2025-09-04 09:27:12 +03:00
Paulus Schoutsen
300c582ea0 Devcontainer fixes for Debian 13 (#151655) 2025-09-04 06:23:45 +02:00
Franck Nijhof
52f7e20b5c Merge branch 'master' into dev 2025-09-03 21:32:40 +00:00
epenet
813098cb1a Use correctly formatted MAC in esphome tests (#151622) 2025-09-03 15:07:03 -05:00
Manu
000df08bca Correct capitalization of "FRITZ!Box" in FRITZ!Box Tools integration (#151637) 2025-09-03 21:23:48 +02:00
J. Nick Koston
9b80cf7d94 Prevent multiple Home Assistant instances from running with the same config directory (#151631) 2025-09-03 13:13:02 -05:00
Franck Nijhof
220c233c0b 2025.9.0 (#151263) 2025-09-03 19:49:19 +02:00
Franck Nijhof
cdf7d8df16 Bump version to 2025.9.0 2025-09-03 17:12:06 +00:00
karwosts
3385151c26 Test for async_show_menu sort (#151630) 2025-09-03 18:46:57 +02:00
Franck Nijhof
5db4057781 Bump version to 2025.9.0b6 2025-09-03 16:17:57 +00:00
Bram Kragten
5d9277e4ab Update frontend to 20250903.2 (#151629) 2025-09-03 16:16:36 +00:00
Michael Hansen
67d3a9623d Bump intents (#151627) 2025-09-03 16:14:25 +00:00
Norbert Rittel
0ad44e423b Fix naming of "State of charge" sensor in growatt_server (#151619) 2025-09-03 16:12:59 +00:00
jan iversen
cb7097cdf1 Simplify Modbus update methods (#151494) 2025-09-03 16:12:57 +00:00
mattreim
22b8ad9d0b Fix for deCONZ issue - Detected that integration 'deconz' calls device_registry.async_get_or_create referencing a non existing via_device - #134539 (#150355) 2025-09-03 16:12:56 +00:00
Michael Hansen
111fa78c57 Bump intents (#151627) 2025-09-03 18:11:37 +02:00
Erik Montnemery
e67df73c4e Clarify behavior of ConfigEntry.async_on_state_change (#151628) 2025-09-03 17:21:28 +02:00
Bram Kragten
b9f24bbb2a Update frontend to 20250903.2 (#151629) 2025-09-03 16:54:37 +02:00
karwosts
18ca9590f0 Sort template config menu step by user language (#151596) 2025-09-03 17:02:45 +03:00
Paulus Schoutsen
eccadd4a11 script/bootstrap to update core deps (#151624) 2025-09-03 09:58:29 -04:00
BenJewell
aeff62faea Correct critical notification variable name in Flo (#151523)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-09-03 14:15:13 +01:00
Norbert Rittel
e5a44e5966 Fix naming of "State of charge" sensor in growatt_server (#151619) 2025-09-03 15:13:04 +02:00
mattreim
1369a98fa3 Fix for deCONZ issue - Detected that integration 'deconz' calls device_registry.async_get_or_create referencing a non existing via_device - #134539 (#150355) 2025-09-03 14:28:52 +02:00
jan iversen
0e1dd04083 Simplify Modbus update methods (#151494) 2025-09-03 14:23:36 +02:00
G Johansson
df46816b2f Add reload support to schema options flow handler (#151260) 2025-09-03 12:55:21 +01:00
Jack
955ef3b5e7 Remove deprecated target position attributes from ZHA covers (#142534)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-09-03 13:43:29 +02:00
Franck Nijhof
26c9d283a4 Bump version to 2025.9.0b5 2025-09-03 11:38:27 +00:00
Bram Kragten
4dbccbc056 Update frontend to 20250903.1 (#151617) 2025-09-03 11:38:03 +00:00
Erik Montnemery
17466ce866 Bump device registry version to 1.12 (#151616) 2025-09-03 11:38:02 +00:00
Erik Montnemery
422862a699 Handle colliding aliases for floors (#151614) 2025-09-03 11:38:00 +00:00
Erik Montnemery
5be2e4e14b Handle colliding aliases for areas (#151613) 2025-09-03 11:37:59 +00:00
Bram Kragten
75ebbe60db Update frontend to 20250903.0 (#151612) 2025-09-03 11:37:58 +00:00
Robert Resch
f0e18cc63d Bump aioecowitt to 2025.9.0 (#151608) 2025-09-03 11:37:57 +00:00
Krisjanis Lejejs
c2b4e9b075 Bump hass-nabucasa from 1.0.0 to 1.1.0 (#151606) 2025-09-03 11:37:55 +00:00
jan iversen
baa1c51bcf Fix racing bug in slave entities in Modbus (#151522) 2025-09-03 11:37:54 +00:00
Bram Kragten
5fc6fb9cf3 Update frontend to 20250903.1 (#151617) 2025-09-03 13:31:33 +02:00
Erik Montnemery
9ee9e1775d Bump device registry version to 1.12 (#151616) 2025-09-03 13:12:49 +02:00
jan iversen
712c9b9edc Fix racing bug in slave entities in Modbus (#151522) 2025-09-03 13:09:42 +02:00
Erik Montnemery
d571857770 Handle colliding aliases for floors (#151614) 2025-09-03 12:43:03 +02:00
Bram Kragten
de90922297 Update frontend to 20250903.0 (#151612) 2025-09-03 12:42:27 +02:00
Erik Montnemery
e0b3a5337c Handle colliding aliases for areas (#151613) 2025-09-03 12:39:03 +02:00
Yevhenii Vaskivskyi
215603fae1 Bump asusrouter to 1.21.0 (#151607) 2025-09-03 12:16:00 +02:00
Krisjanis Lejejs
1a12c619e9 Bump hass-nabucasa from 1.0.0 to 1.1.0 (#151606) 2025-09-03 12:12:29 +02:00
yufeng
34c061df19 Add energy consumption/production for Tuya kg category (smart switches) (#149234) 2025-09-03 11:47:23 +02:00
yufeng
c12b638b3d Adds initial support for tuya category xnyjcn (solar inverter) (#151549)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-09-03 11:39:54 +02:00
Robert Resch
b9427deed2 Bump aioecowitt to 2025.9.0 (#151608) 2025-09-03 11:34:45 +02:00
yufeng
d66016588b Add support for new energy sensor entities for DLQ (circuit breaker) devices in the Tuya integration (#151551)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-09-03 11:34:08 +02:00
Franck Nijhof
a1d484fa73 Bump version to 2025.9.0b4 2025-09-03 09:24:19 +00:00
Paul Bottein
6013f50aa6 Update frontend to 20250902.1 (#151593) 2025-09-03 09:23:18 +00:00
Stefan Agner
b4ab63d9db Update Home Assistant base image to 2025.09.0 (#151582) 2025-09-03 09:23:16 +00:00
Thomas D
7229781aeb Bump volvocarsapi to v0.4.2 (#151579) 2025-09-03 09:23:15 +00:00
Erik Montnemery
465512b0ea Improve migration to device registry version 1.10 (#151571) 2025-09-03 09:23:14 +00:00
Erik Montnemery
75d6c0bb53 Improve migration to entity registry version 1.18 (#151570) 2025-09-03 09:23:12 +00:00
Erik Montnemery
7500406e36 Revert "Improve migration to device registry version 1.11" (#151563) 2025-09-03 09:23:11 +00:00
Erik Montnemery
2afbca9751 Revert "Improve migration to entity registry version 1.18" (#151561) 2025-09-03 09:23:09 +00:00
Simone Chemelli
6023a8e6b0 Remove config entry from device instead of deleting in Uptime robot (#151557) 2025-09-03 09:23:08 +00:00
Erik Montnemery
869801b643 Exclude non mowers from husqvarna_automower_ble discovery (#151507) 2025-09-03 09:23:07 +00:00
Stefan Agner
229d0bdc77 Update Home Assistant base image to 2025.09.0 (#151582) 2025-09-03 11:12:18 +02:00
Erik Montnemery
078425918e Improve migration to device registry version 1.10 (#151571) 2025-09-03 10:22:29 +02:00
Erik Montnemery
da2f154111 Improve migration to entity registry version 1.18 (#151570) 2025-09-03 10:08:59 +02:00
yufeng
270a9a5a98 Add support for new power sensor entities for ZNDB (smart energy meter) devices in the Tuya integration (#151554) 2025-09-03 09:22:20 +02:00
Lucas Mindêllo de Andrade
9f953c2e35 Tuya add missing sensors for Metering_3PN_ZB (dlq) device (#151601) 2025-09-03 09:13:24 +02:00
Artur Pragacz
8f16b09751 Accept None directly in the selector schemas (#151510)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-09-03 08:37:43 +02:00
dependabot[bot]
73ab041051 Bump github/codeql-action from 3.29.11 to 3.30.0 (#151600)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-09-03 08:10:07 +02:00
Paul Bottein
4bb76c6d94 Update frontend to 20250902.1 (#151593) 2025-09-02 22:55:03 -03:00
Brandon Rothweiler
7378d3607c Update py-aosmith to 1.0.14 (#151597) 2025-09-02 22:34:37 +01:00
Florian von Garrel
7d1e36af7f Raise paperless to platinum (#151588) 2025-09-02 22:27:56 +01:00
Petar Petrov
8b03a23ed8 Add option descriptions to Z-Wave reconfigure flow (#151558)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-09-02 22:06:07 +01:00
Michael Hansen
a023dfc013 Add required features to vacuum intents (#151581) 2025-09-02 14:10:31 -05:00
J. Nick Koston
fa0f707872 Add bluetooth websocket_api to subscribe to scanner state (#151452)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-02 15:17:27 -03:00
Joost Lekkerkerker
a8f56e4b96 Fix Slide local tests (#151569)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-09-02 18:21:38 +02:00
Marc Mueller
61c904d225 Update pytest-rerunfailures to 16.0.1 (#151573) 2025-09-02 17:11:15 +01:00
Thomas D
a8ff14ecb8 Bump volvocarsapi to v0.4.2 (#151579) 2025-09-02 17:09:21 +01:00
Michael Hansen
3909906823 Add required features for mowing intents (#151580) 2025-09-02 11:02:38 -05:00
Blear
e0bf7749e6 Adjust Zhong_Hong climate set_fan_mode to lowercase (#151559) 2025-09-02 17:00:05 +02:00
Paul Bottein
72128e9708 Add start mowing and dock intents for lawn mower (#140525) 2025-09-02 09:49:24 -05:00
cdnninja
1b9acdc233 Convert Vesync to 3.X version of library (#148239)
Co-authored-by: SapuSeven <sapuseven@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-09-02 15:31:38 +02:00
Maciej Bieniek
0f530485d1 Record current IQS for NextDNS (#146895)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-02 15:07:25 +02:00
Christopher Fenner
0928e9a6ee Add sensor for DHW storage temperature in ViCare integration (#151128) 2025-09-02 13:24:42 +02:00
Marc Mueller
75d792207a Add missing pychromecast imports (#151544) 2025-09-02 13:24:00 +02:00
yufeng
ceda62f6ea Add support for new energy sensor entities for TDQ (socket/outlet) devices in the Tuya integration (#151553) 2025-09-02 13:10:36 +02:00
Avi Miller
12ab84a5d9 Expose the transition field to the UI config of effect_colorloop (#151124)
Signed-off-by: Avi Miller <me@dje.li>
2025-09-02 13:07:48 +02:00
Simone Chemelli
8e85faf997 Update SamsungTV quality scale (#151552) 2025-09-02 13:06:33 +02:00
Simone Chemelli
b514a14c10 Remove config entry from device instead of deleting in Uptime robot (#151557) 2025-09-02 13:06:07 +02:00
Erik Montnemery
6b609b019e Exclude non mowers from husqvarna_automower_ble discovery (#151507) 2025-09-02 12:57:39 +02:00
Erik Montnemery
10baae92a0 Revert "Improve migration to device registry version 1.11" (#151563) 2025-09-02 11:58:27 +02:00
Erik Montnemery
8e1ee32190 Revert "Improve migration to entity registry version 1.18" (#151561) 2025-09-02 11:54:37 +02:00
Abílio Costa
814b98c2a3 Add tests for hassfest triggers module (#151318) 2025-09-02 10:45:55 +02:00
Franck Nijhof
ed9e46bbca Bump version to 2025.9.0b3 2025-09-02 08:42:14 +00:00
Abílio Costa
ac4eef0571 Add back missing controller cleanup to Govee Light Local (#151541) 2025-09-02 08:42:08 +00:00
Abílio Costa
1039936f39 Filter out IPv6 addresses in Govee Light Local (#151540) 2025-09-02 08:42:06 +00:00
Lukas
9910df2b21 Remove mac address from Pooldose device (#151536)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-09-02 08:42:05 +00:00
Bram Kragten
e57019a80b Update frontend to 20250901.0 (#151529) 2025-09-02 08:42:03 +00:00
Imeon-Energy
1f6853db28 Fix typo in const.py for Imeon inverter integration (#151515)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-09-02 08:42:02 +00:00
Andrew Jackson
dc4d6ddbef Bump aiomealie to 0.10.2 (#151514) 2025-09-02 08:42:00 +00:00
Antoni Czaplicki
399286deae Remove the vulcan integration (#151504) 2025-09-02 08:41:59 +00:00
Joost Lekkerkerker
1a2898cc89 Update Pooldose quality scale (#151499) 2025-09-02 08:41:57 +00:00
Iskra kranj
d9629affca Bump pyiskra to 0.1.26 (#151489) 2025-09-02 08:41:56 +00:00
Willem-Jan van Rootselaar
9581c705b9 Fix add checks for None values and check if DHW is available (#151376) 2025-09-02 08:41:55 +00:00
Andrea Turri
e2a4a9393e Miele refrigerators cause index out of range errors when offline (#151299) 2025-09-02 08:41:53 +00:00
Norbert Rittel
f32d12c519 Fix wrong description for numeric_state observation in bayesian (#151291) 2025-09-02 08:41:52 +00:00
Artur Pragacz
18ce6da4e6 Allow ignored Onkyo devices to be set up from the user flow (#150921) 2025-09-02 08:41:51 +00:00
Jozef Kruszynski
031ae3a921 Fix sort order in media browser for music assistant integration (#150910) 2025-09-02 08:41:49 +00:00
Artur Pragacz
bbe66f5cea Improve unpair schema in homekit (#150235) 2025-09-02 08:41:48 +00:00
Phil Male
9f4369dc8b Use average color for Hue light group state (#149499) 2025-09-02 08:41:46 +00:00
Abílio Costa
243569f6b8 Add back missing controller cleanup to Govee Light Local (#151541) 2025-09-02 10:37:43 +02:00
Abílio Costa
4b7817f1df Filter out IPv6 addresses in Govee Light Local (#151540) 2025-09-02 10:27:38 +02:00
Antoni Czaplicki
180f898bfa Remove the vulcan integration (#151504) 2025-09-02 01:10:07 +02:00
Mathis Dirksen-Thedens
e9dcde1bb5 Allow overriding default recipient in Signal messenger (#145654)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-09-01 23:20:26 +01:00
Bram Kragten
f44b6a3a39 Update frontend to 20250901.0 (#151529) 2025-09-01 23:37:49 +02:00
Lukas
9b6b8003ec Remove mac address from Pooldose device (#151536)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2025-09-01 23:19:24 +02:00
Jan-Philipp Benecke
2503157282 Deprecate LANnouncer integration (#151531) 2025-09-01 22:31:25 +02:00
Sab44
7b2b3e9e33 Add Libre Hardware Monitor integration (#140449) 2025-09-01 22:12:12 +02:00
Abílio Costa
2d5f228308 Use MockConfigEntry.start_reauth_flow in Roborock's tests (#151528) 2025-09-01 21:28:42 +02:00
Nolan Stover
19f36fc630 Bump zabbix-utils to 2.0.3 (#149450)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-09-01 20:07:11 +01:00
Andrea Turri
6b6553dae3 Miele time sensors 2/3 - Provide consistent behavior with appliance status (#146053)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-09-01 20:20:24 +02:00
Robert Resch
0865d3f749 Add support for stream orientation in go2rtc (#148832) 2025-09-01 19:06:01 +01:00
Ravaka Razafimanantsoa
095f73d84f Add Switchbot Cloud AC Off (#138648)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-09-01 19:52:43 +02:00
Andrea Turri
3b60961f02 Miele refrigerators cause index out of range errors when offline (#151299) 2025-09-01 19:28:08 +02:00
Yevhenii Vaskivskyi
0d9079ea72 Add model_id and serial_number to the device description (asuswrt) (#151516) 2025-09-01 18:08:53 +02:00
Andrew Jackson
f17db80428 Bump aiomealie to 0.10.2 (#151514) 2025-09-01 18:07:36 +02:00
Imeon-Energy
2d4b2e822a Fix typo in const.py for Imeon inverter integration (#151515)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-09-01 17:54:16 +02:00
Yuxin Wang
b08a72a53d Move APC UPS Daemon integration to platinum (#151335) 2025-09-01 17:26:31 +02:00
dontinelli
1e4fa40a77 Extend effect of invert_position to cover status for slide_local (#150418) 2025-09-01 17:25:59 +02:00
Jan Bouwhuis
ac0ff96f26 Sort MQTT test cases for subentry config flow (#151426) 2025-09-01 17:23:27 +02:00
Jan Bouwhuis
2e50cee555 Sort globals and helpers in MQTT config flow (#151419) 2025-09-01 17:22:58 +02:00
Artur Pragacz
51c6c1b0d2 Allow ignored Onkyo devices to be set up from the user flow (#150921) 2025-09-01 17:04:06 +02:00
Artur Pragacz
c4fce1c793 Improve unpair schema in homekit (#150235) 2025-09-01 09:57:24 -05:00
Willem-Jan van Rootselaar
581f8a9378 Fix add checks for None values and check if DHW is available (#151376) 2025-09-01 16:47:59 +02:00
Artur Pragacz
d7e6f84d28 Fix empty selector validation (#151340) 2025-09-01 16:22:41 +02:00
Artur Pragacz
5e22533fc0 Code quality improvements of the selector helper (#151505) 2025-09-01 16:18:17 +02:00
Fabian Leutgeb
ecae074dd7 Homekit valve duration properties (#150273)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-09-01 08:24:50 -05:00
Joost Lekkerkerker
55b0406960 Update Pooldose quality scale (#151499) 2025-09-01 15:15:21 +02:00
Phil Male
36483dd785 Use average color for Hue light group state (#149499) 2025-09-01 15:14:50 +02:00
Ludovic BOUÉ
ad154dce40 Add Matter occupancy sensing hold time (#150745) 2025-09-01 15:14:08 +02:00
G Johansson
3abf91af3a Use OptionsFlowWithReload in google (#151257) 2025-09-01 15:13:19 +02:00
Jozef Kruszynski
579d217c6b Fix sort order in media browser for music assistant integration (#150910) 2025-09-01 14:27:48 +02:00
Joakim Plate
7322bee4dd Add select entity to ToGrill (#151114)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-09-01 14:24:43 +02:00
Joost Lekkerkerker
8a36ec88f4 Add AC fixture to smartthings (#150891)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-09-01 14:24:33 +02:00
Michel van de Wetering
864f908257 Remove Hue Bridge v1 image in config flow (#151112) 2025-09-01 14:14:43 +02:00
alexqzd
5d86d8b380 SmartThings: Expose the entity to control the AC display light (#151404)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-09-01 14:12:18 +02:00
Iskra kranj
15245707a5 Bump pyiskra to 0.1.26 (#151489) 2025-09-01 14:09:19 +02:00
Martin Hjelmare
80e4451a3f Freeze development of alert integration (#151486) 2025-09-01 13:50:22 +02:00
Yuxin Wang
f051f4ea99 Add more test logic to APCUPSD (#151336) 2025-09-01 13:15:11 +02:00
starkillerOG
7717b5aca6 Add Reolink Home Hub siren (#151196) 2025-09-01 12:46:46 +02:00
Franck Nijhof
249dbf976f Bump version to 2025.9.0b2 2025-09-01 10:36:21 +00:00
Imeon-Energy
8d1a45bb8b Missing state for inverter state sensor in Imeon inverter (#151493)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-09-01 10:36:02 +00:00
Joost Lekkerkerker
e3d08d5f26 Set Aladdin Connect integration type to hub (#151491) 2025-09-01 10:36:00 +00:00
Marc Mueller
a67919fd7c Fix backup manager delete backup error filter (#151490) 2025-09-01 10:35:59 +00:00
Denis Shulyaka
5edb786aad Allow structure field of ai_task.generate_data for non-advanced users (#151481) 2025-09-01 10:35:57 +00:00
J. Nick Koston
bfa3b53409 Bump bluetooth-adapters to 2.1.0 and habluetooth to 5.3.0 (#151465) 2025-09-01 10:35:56 +00:00
tronikos
0050626d8c Bump opower to 0.15.4 (#151443) 2025-09-01 10:35:54 +00:00
Brett Adams
74c91e46f2 Fix history startup failures (#151439) 2025-09-01 10:35:52 +00:00
J. Nick Koston
d00bf4b014 Fix Yale Access Bluetooth key discovery timing issues (#151433)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-01 10:34:52 +00:00
Imeon-Energy
81d2bcdeb9 Missing state for inverter state sensor in Imeon inverter (#151493)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-09-01 12:34:27 +02:00
Marc Mueller
9934de18ae Remove unused code in bayesian binary_sensor (#151492) 2025-09-01 12:33:53 +02:00
Thomas55555
fbab53bd0c Bump aioautomower to 2.2.1 (#151427) 2025-09-01 10:29:59 +00:00
Maciej Bieniek
66442f1714 Allow integration to initialize when BraviaTV is offline (#151415) 2025-09-01 10:29:56 +00:00
Aaron Bach
281bf2f308 Bump aiopurpleair to 2025.08.1 (#151398) 2025-09-01 10:29:54 +00:00
Michael Hansen
d9af4f1b3c Bump intents to 2025.8.29 (#151397) 2025-09-01 10:28:53 +00:00
Russell VanderMey
b86c37f556 Avoid blocking IO in TRIGGERcmd (#151396) 2025-09-01 10:27:25 +00:00
karwosts
94081e011b Fix play media example data (#151394) 2025-09-01 10:27:23 +00:00
J. Nick Koston
5428c6fc23 Bump habluetooth to 5.2.1 (#151391) 2025-09-01 10:27:22 +00:00
Paul Bottein
737ee51b53 Update frontend to 20250829.0 (#151390) 2025-09-01 10:26:33 +00:00
J. Nick Koston
9d0e222671 Reduce log spam from unauthenticated websocket connections (#151388) 2025-09-01 10:25:29 +00:00
Arjan
a972c1e0b0 Fix typo in Meteo France mappings (#151344) 2025-09-01 10:25:27 +00:00
Simone Chemelli
aea39133d0 Change sounds list source for Alexa Devices (#151317) 2025-09-01 10:25:26 +00:00
jan iversen
12c9f6bea9 modbus: Do not modify registers (return wrong data). (#151131) 2025-09-01 10:25:25 +00:00
Yevhenii Vaskivskyi
afdb004aa0 Fix bug with the wrong temperature scale on new router firmware (asuswrt) (#151011) 2025-09-01 10:25:23 +00:00
Marc Mueller
aac015e822 Fix backup manager delete backup error filter (#151490) 2025-09-01 12:22:23 +02:00
Denis Shulyaka
1f584f011e Allow structure field of ai_task.generate_data for non-advanced users (#151481) 2025-09-01 07:06:09 -03:00
Joost Lekkerkerker
2106c4cfb9 Set Aladdin Connect integration type to hub (#151491) 2025-09-01 11:59:25 +02:00
jan iversen
a053142601 modbus: Do not modify registers (return wrong data). (#151131) 2025-09-01 11:48:19 +02:00
starkillerOG
dd0dce7968 Add Reolink encoding select entity (#151195) 2025-09-01 11:20:20 +02:00
Tom
bdfff6df2d Bump airOS to 0.5.1 (#151458) 2025-09-01 10:40:09 +02:00
J. Nick Koston
671c4e1eab Reduce log spam from unauthenticated websocket connections (#151388) 2025-09-01 10:35:22 +02:00
ChristianKuehnel
8aae2a935a Replace string literal in lacrosse (#151484) 2025-09-01 10:32:05 +02:00
Yevhenii Vaskivskyi
9e64f18439 Fix bug with the wrong temperature scale on new router firmware (asuswrt) (#151011) 2025-09-01 10:30:41 +02:00
Paul Bottein
e8a6f2f098 Update frontend to 20250829.0 (#151390) 2025-09-01 10:20:03 +02:00
Russell VanderMey
8faeb1fe98 Avoid blocking IO in TRIGGERcmd (#151396) 2025-09-01 10:19:35 +02:00
J. Nick Koston
edc48e0604 Fix Yale Access Bluetooth key discovery timing issues (#151433)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-09-01 10:18:53 +02:00
Manu
eab77f11b0 Rename brand Fritz!Box to FRITZ! (#151389) 2025-09-01 10:15:09 +02:00
Simone Chemelli
edb79b0337 Change sounds list source for Alexa Devices (#151317) 2025-09-01 09:50:57 +02:00
Brett Adams
41f33a106f Fix history startup failures (#151439) 2025-09-01 09:48:49 +02:00
Arjan
cf31401cc2 Fix typo in Meteo France mappings (#151344) 2025-09-01 09:46:21 +02:00
Niccolò Maggioni
8679c8e40c Expose MAC address in SNMP device_tracker entity attributes (#139941)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-09-01 09:40:50 +02:00
David Rapan
e675d0e8ed Starlink's Energy, Download and Upload accumulation after restart fix (#137855)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-09-01 09:00:09 +02:00
J. Nick Koston
c73289aed9 Bump bluetooth-adapters to 2.1.0 and habluetooth to 5.3.0 (#151465) 2025-08-31 17:13:03 -05:00
Marc Mueller
4420776977 Update anyio to 4.10.0 (#151455) 2025-08-31 21:14:37 +02:00
jan iversen
b77d6e7b59 Modbus: Ignore unknown parameters. (#151451) 2025-08-31 16:48:12 +02:00
Thomas55555
8f074e5724 Bump aioautomower to 2.2.1 (#151427) 2025-08-31 15:16:19 +02:00
tronikos
b1e46bcde4 Bump opower to 0.15.4 (#151443) 2025-08-31 12:14:14 +02:00
stephan-carstens
fc4b5f66ff Extend UnitOfApparentPower with 'kVA' (#151420) 2025-08-31 00:05:07 +01:00
Maciej Bieniek
55978f2827 Allow integration to initialize when BraviaTV is offline (#151415) 2025-08-30 23:06:01 +03:00
Yuxin Wang
010a8cc693 Attach serial_number to devices in APC UPS Daemon (#151421) 2025-08-30 18:20:46 +02:00
Joakim Plate
d31eadc8cd feat: bump fjaraskupan to 2.3.3 (#151408) 2025-08-30 10:35:30 +02:00
Manu
3190a523aa Remove device class from Habitica binary sensor quest status (#151338) 2025-08-30 09:40:36 +02:00
karwosts
8f82e451cd Fix play media example data (#151394) 2025-08-30 09:37:41 +02:00
Joakim Plate
5bbd71e594 Add icons to different temperatures for the ToGrill integration (#151392) 2025-08-30 07:11:33 +02:00
Aaron Bach
33257b8422 Bump aiopurpleair to 2025.08.1 (#151398) 2025-08-29 23:38:34 +02:00
Michael Hansen
b3a4cd5b76 Bump intents to 2025.8.29 (#151397) 2025-08-29 16:17:42 -05:00
J. Nick Koston
dcfa466dd4 Bump habluetooth to 5.2.1 (#151391) 2025-08-29 12:14:22 -05:00
Joakim Plate
846e6d96a4 Add minimum and maximum targets (#151387) 2025-08-29 17:42:28 +02:00
Erik Montnemery
d72b35a0cd Improve comment on disabled_by + hidden_by flag in registries (#151290)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-08-29 17:27:39 +02:00
Franck Nijhof
3ea0e9ee88 Bump version to 2025.9.0b1 2025-08-29 15:17:32 +00:00
Erik Montnemery
bec8cf3ea8 Fix restoring disabled_by flag of deleted devices (#151313) 2025-08-29 15:16:24 +00:00
J. Nick Koston
e21c2fa08b Bump aioesphomeapi to 39.0.1 (#151385) 2025-08-29 15:12:34 +00:00
Marc Mueller
900b59d148 Pin pytest-rerunfailures to 15.1 (#151383) 2025-08-29 15:12:33 +00:00
J. Nick Koston
0a9203e241 Bump bleak-esphome to 3.2.0 (#151380) 2025-08-29 15:12:31 +00:00
J. Nick Koston
c69c3e7d85 Bump nexia to 2.11.1 (#151379) 2025-08-29 15:12:30 +00:00
starkillerOG
a938a33e98 Bump reolink-aio to 0.15.0 (#151367)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-08-29 15:12:29 +00:00
Tom
2d62c5f8d6 Bump airOS to 0.4.4 (#151345) 2025-08-29 15:12:27 +00:00
J. Nick Koston
da4ec7b3dd Bump bleak-retry-connector to 4.4.3 (#151341) 2025-08-29 15:12:26 +00:00
J. Nick Koston
1ffc0560c5 Bump habluetooth to 5.2.0 (#151333) 2025-08-29 15:12:25 +00:00
Robert Resch
68ec41c43a Bump deebot-client to 13.7.0 (#151327) 2025-08-29 15:12:23 +00:00
Paul Bottein
24017a9555 Update frontend to 20250828.0 (#151321) 2025-08-29 15:12:22 +00:00
J. Nick Koston
6f17c1653c Bump nexia to 2.11.0 (#151319) 2025-08-29 15:12:21 +00:00
Erik Montnemery
f49ce2a77a Improve migration to device registry version 1.11 (#151315)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-08-29 15:12:19 +00:00
Yevhenii Vaskivskyi
282ec58c4e Bump asusrouter to 1.20.1 (#151311) 2025-08-29 15:07:34 +00:00
Erik Montnemery
32cbd2a239 Improve migration to entity registry version 1.18 (#151308)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-29 15:07:33 +00:00
Martin Hjelmare
12b161e154 Fix Z-Wave duplicate notification binary sensors (#151304) 2025-08-29 15:07:32 +00:00
starkillerOG
d0866704ba Fix Reolink duplicates due to wrong merge (#151298) 2025-08-29 15:07:30 +00:00
Simone Chemelli
b23bf164f1 Add missing state class to Alexa Devices sensors (#151296) 2025-08-29 15:07:29 +00:00
Simone Chemelli
894fb6ee66 Fix exception countries migration for Alexa Devices (#151292) 2025-08-29 15:07:28 +00:00
Arjan
d5e9d2b9dc Adding missing: Averses de grèle (#151288) 2025-08-29 15:07:27 +00:00
Felipe Santos
2de572ea11 Fix ONVIF not displaying sensor and binary_sensor entity names (#151285) 2025-08-29 15:07:25 +00:00
Jamie Magee
def27ab705 Remove uv.lock (#151282) 2025-08-29 15:07:24 +00:00
Andrew Jackson
ab7c5bf8d9 Fix endpoint deprecation warning in Mastodon (#151275) 2025-08-29 15:07:22 +00:00
G Johansson
a57d77899a Fix spelling in bayesian strings (#151265) 2025-08-29 15:07:21 +00:00
Florent Thoumie
e2ca439a3a Iaqualink: create parent device manually and link entities (#151215) 2025-08-29 15:07:20 +00:00
Manu
5d64dae3a0 Fix direct message notifiers in PlayStation Network (#150548) 2025-08-29 15:07:18 +00:00
Manu
821577dc21 Ignore errors when PlayStation Network group fetch is blocked by parental controls (#150364) 2025-08-29 15:07:17 +00:00
Ian Tewksbury
0eaf8c6946 Add multiple NICs in govee_light_local (#128123) 2025-08-29 15:07:15 +00:00
Foscam-wangzhengyu
5e003627b2 Update Foscam codeowners (#150972) 2025-08-29 16:59:46 +02:00
Manu
a4f71f37f6 Use subentry title as display name in ntfy integration (#151370) 2025-08-29 16:56:37 +02:00
Manu
c37b2f86b1 Change manufacturer name AVM to FRITZ! in FRITZ!Box Tools integration (#151371) 2025-08-29 16:54:53 +02:00
Manu
926aeef156 Change manufacturer name AVM to FRITZ! in FRITZ!Box Call Monitor integration (#151374) 2025-08-29 16:53:57 +02:00
Maciej Bieniek
ee86671d39 Bump brother to version 5.1.0 (#151368)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-08-29 16:53:26 +02:00
Manu
dc371cf46d Ignore errors when PlayStation Network group fetch is blocked by parental controls (#150364) 2025-08-29 16:53:13 +02:00
J. Nick Koston
c76e26508d Bump aioesphomeapi to 39.0.1 (#151385) 2025-08-29 16:52:27 +02:00
J. Nick Koston
a5cd316fa3 Bump bleak-esphome to 3.2.0 (#151380) 2025-08-29 16:51:56 +02:00
starkillerOG
736cc8a17d Bump reolink-aio to 0.15.0 (#151367)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-08-29 16:51:20 +02:00
J. Nick Koston
5278fce218 Bump nexia to 2.11.1 (#151379) 2025-08-29 16:49:57 +02:00
Erik Montnemery
8f04f22c65 Improve migration to device registry version 1.11 (#151315)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-08-29 16:48:29 +02:00
Manu
a01f638fc6 Change manufacturer name AVM to FRITZ! in FRITZ!SmartHome integration (#151373) 2025-08-29 16:17:32 +02:00
Marc Mueller
22005dd48a Pin pytest-rerunfailures to 15.1 (#151383) 2025-08-29 16:03:32 +02:00
Thomas55555
fff60b3863 Use _async_setup in Huqvarna Automower (#151325) 2025-08-29 13:16:24 +02:00
Manu
5cb5fe5b67 Fix direct message notifiers in PlayStation Network (#150548) 2025-08-29 11:37:01 +02:00
J. Nick Koston
24ea5eb9b5 Bump habluetooth to 5.2.0 (#151333) 2025-08-29 11:23:50 +02:00
dependabot[bot]
673c2a77e0 Bump actions/attest-build-provenance from 2.4.0 to 3.0.0 (#151347)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-29 11:21:42 +02:00
Yevhenii Vaskivskyi
ad3014e711 Bump asusrouter to 1.20.1 (#151311) 2025-08-29 11:21:18 +02:00
Tom
c19ae81cbc Bump airOS to 0.4.4 (#151345) 2025-08-29 11:20:20 +02:00
J. Nick Koston
959d99f333 Bump bleak-retry-connector to 4.4.3 (#151341) 2025-08-29 11:19:44 +02:00
Manu
7cfe6bf427 Add sensors for boss rage to Habitica (#151334) 2025-08-29 00:01:23 +01:00
Manu
765e2c1b6c Bump habiticalib to v0.4.4 (#151332) 2025-08-29 00:04:37 +02:00
Paul Bottein
0fd63df123 Update frontend to 20250828.0 (#151321) 2025-08-28 22:27:46 +02:00
Robert Resch
862fbd551a Bump deebot-client to 13.7.0 (#151327) 2025-08-28 22:23:46 +02:00
J. Nick Koston
6e79b76d15 Bump nexia to 2.11.0 (#151319) 2025-08-28 21:48:41 +02:00
Martin Hjelmare
f85307d86c Fix Z-Wave duplicate notification binary sensors (#151304) 2025-08-28 20:46:43 +02:00
Erik Montnemery
b01f93119f Fix restoring disabled_by flag of deleted devices (#151313) 2025-08-28 20:10:10 +02:00
Erik Montnemery
4130f3db2f Improve migration to entity registry version 1.18 (#151308)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-28 18:52:51 +02:00
Yuxin Wang
ffcd5167b5 Use fixtures instead of helper functions for APCUPSD tests (#151172)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2025-08-28 16:11:31 +02:00
Ludovic BOUÉ
e94a7b2ec1 Add product_id support to Matter discovery schemas (#151307) 2025-08-28 15:57:40 +02:00
Ludovic BOUÉ
6b3f2e9b7b Aqara door window p2 fixture (#151294) 2025-08-28 15:04:23 +02:00
Roland Moers
56545dacb0 Bump fritzconnection to 1.15.0 (#151252) 2025-08-28 14:26:07 +02:00
Norbert Rittel
cbf061183e Fix wrong description for numeric_state observation in bayesian (#151291) 2025-08-28 15:24:24 +03:00
Jamie Magee
5dcb5f4926 Remove uv.lock (#151282) 2025-08-28 12:33:30 +02:00
Andrew Jackson
5fbb99a79a Fix endpoint deprecation warning in Mastodon (#151275) 2025-08-28 11:59:37 +02:00
Felipe Santos
da65c52f2d Fix ONVIF not displaying sensor and binary_sensor entity names (#151285) 2025-08-28 11:58:13 +02:00
Simone Chemelli
08a850cfc7 Fix exception countries migration for Alexa Devices (#151292) 2025-08-28 11:57:32 +02:00
Simone Chemelli
12978092f7 Add missing state class to Alexa Devices sensors (#151296) 2025-08-28 11:53:46 +02:00
starkillerOG
210a9ad2de Fix Reolink duplicates due to wrong merge (#151298) 2025-08-28 11:38:08 +02:00
Artur Pragacz
61328129fc Remove is_new from device entry (#149835)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-08-28 08:07:54 +02:00
Ian Tewksbury
f4673f44ee Add multiple NICs in govee_light_local (#128123) 2025-08-28 08:04:50 +02:00
Arjan
3bdd532dcd Adding missing: Averses de grèle (#151288) 2025-08-28 07:50:48 +02:00
G Johansson
e23d3c8ab4 Use OptionsFlowWithReload in google_cloud (#151259) 2025-08-27 22:19:44 -07:00
Florent Thoumie
a7cb66c592 Iaqualink: create parent device manually and link entities (#151215) 2025-08-27 23:05:15 +01:00
Norbert Rittel
8544d1ebec Fix broken translation key for "update_percentage" in template (#151272) 2025-08-27 22:57:32 +01:00
G Johansson
240afd80c1 Fix spelling in bayesian strings (#151265) 2025-08-28 00:08:39 +03:00
Franck Nijhof
ccb1da3a97 Bump version to 2025.10.0dev0 (#151262) 2025-08-27 21:53:39 +02:00
Denis Shulyaka
de62991e5b OpenAI ai_task image generation support (#151238) 2025-08-27 14:43:27 -04:00
G Johansson
bad75222ed Use OptionsFlowWithReload in yalexs_ble (#151256) 2025-08-27 13:14:31 -05:00
Franck Nijhof
f955dec1ba Bump version to 2025.9.0b0 2025-08-27 18:06:45 +00:00
Jamie Magee
8fc334b338 Re-add aladdin_connect integration (#149029)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-27 19:06:53 +02:00
Martin Hjelmare
abb59f2233 Use Z-Wave notification event enums in binary sensor (#151236) 2025-08-27 19:06:38 +02:00
dependabot[bot]
f583dfe532 Bump actions/dependency-review-action from 4.7.2 to 4.7.3 (#151251)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 19:00:26 +02:00
Michael Hansen
cd40b7eed6 Bump intents to 2025.8.27 (#151250) 2025-08-27 18:45:43 +02:00
Abílio Costa
dad96598a3 Remove uneeded update listener from Idasen (#151243) 2025-08-27 18:22:34 +02:00
Norbert Rittel
669527b1e9 Capitalize "TV (show)" in media_player (#151249) 2025-08-27 17:11:26 +01:00
Petro31
090c74f18e Update object_id to default_entity_id and consolidate common schemas (#151235) 2025-08-27 18:06:03 +02:00
Simone Chemelli
4b9594b876 Bump aioamazondevices to 5.0.1 (#151246) 2025-08-27 18:05:01 +02:00
jvmahon
cd5bfd6baf Add Matter lock event changed_by (#149861)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-27 17:48:55 +02:00
Matthias Alphart
2ef335f403 KNX: Support external scene activation recording (#151218) 2025-08-27 17:13:49 +02:00
Ludovic BOUÉ
22e70723f4 Matter SensitivityLevel for Aqara Door and Window Sensor P2 (#151117) 2025-08-27 17:05:30 +02:00
Thomas D
aac572c457 Record scene activation for Qbus integration (#151232) 2025-08-27 17:02:12 +02:00
Simone Chemelli
8f9167abbe Followup async_migrate_entry fix for Alexa Devices (#151231) 2025-08-27 15:46:57 +02:00
Bram Kragten
d0deb16c10 Update frontend to 20250827.0 (#151237) 2025-08-27 15:46:17 +02:00
dependabot[bot]
ad37e00d1d Bump actions/ai-inference from 2.0.0 to 2.0.1 (#151147)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-27 14:04:01 +02:00
karwosts
4821c9ec29 Use media_selector for media_player.play_media (#150721) 2025-08-27 12:39:33 +02:00
Martin Hjelmare
81a5b4a684 Refactor zwave_js discovery schema foundation (#151146) 2025-08-27 12:01:34 +02:00
Denis Shulyaka
20e4d37cc6 Add ai_task.generate_image action (#151101) 2025-08-27 11:41:14 +02:00
Mike Degatano
adfdeff84c Use unhealthy/unsupported reason enums from aiohasupervisor (#150919) 2025-08-27 11:27:38 +02:00
Jan Bouwhuis
0d29b2d5a7 Add MQTT alarm control panel subentry support (#150395)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-27 11:00:31 +02:00
Sören Beye
e894a03c43 Person: Use the home zone lat/lon coordinates when detected home by a stationary tracker (#134075)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-08-27 10:57:25 +02:00
Petro31
43a1a679f9 Add object_id to modern template syntax (#150489)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-27 10:49:38 +02:00
Franck Nijhof
1759bfbfaf Merge branch 'master' into dev 2025-08-27 08:47:22 +00:00
epenet
fc1c0d22b9 Add online status to Tuya debug log (#151222) 2025-08-27 10:45:00 +02:00
Erik Montnemery
3a48c9569c Fix stale comment in entity registry (#151226) 2025-08-27 10:43:59 +02:00
Erik Montnemery
85f3f180ab Fix stale comment in device registry (#151227) 2025-08-27 10:43:41 +02:00
Erik Montnemery
bfd4f85225 Fix husqvarna_automower_ble activity mapping (#151228) 2025-08-27 10:37:32 +02:00
Erik Montnemery
2abb914867 Update husqvarna_automower_ble bluetooth discovery checks (#151225) 2025-08-27 10:36:42 +02:00
MosheL
8b10128c50 Fix CCM15 temperature set always changes the ac_mode to cool (#134719)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-08-27 10:16:29 +02:00
wollew
10bf1cb999 Add DeviceInfo to Velux entities (#149575)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-27 10:15:52 +02:00
Alistair Francis
6e45713d3a Ask for PIN in Husqvarna Automower BLE integration (#135440)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
2025-08-27 09:49:05 +02:00
Yuxin Wang
50a2eba66e Add platform patching in init_integration fixture in copilot-instructions.md (#151173) 2025-08-27 08:14:42 +02:00
Thomas55555
0bb16befbd Make event entity dependend on websocket in Husqvarna Automower (#151203) 2025-08-27 07:47:14 +02:00
Thomas55555
d72cc45ca8 Bump aioautomower to 2.2.0 (#151207) 2025-08-27 07:46:21 +02:00
J. Nick Koston
d4bc066cc4 Bump bleak-retry-connector to 4.4.1 (#151217) 2025-08-27 07:46:02 +02:00
Jonathan Jogenfors
c2c561bc21 Don't use custom bypass in SIA (#132628) 2025-08-27 07:43:53 +02:00
J. Nick Koston
5a6e26fedf Bump yalexs to 9.0.1 (#151216) 2025-08-26 22:13:06 -05:00
Lukas
51c7bafb41 Add Seko PoolDose integration (#146972)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-27 01:48:50 +02:00
Joakim Plate
c8964494a2 Move togrill entites to sub devices (#151100) 2025-08-27 01:17:33 +02:00
Matthias Alphart
5db5f36554 Update xknx to 3.9.0 (#151214) 2025-08-27 01:05:40 +02:00
Thomas D
11f1e376c4 Add binary sensors to Volvo integration (#150127) 2025-08-26 23:52:13 +02:00
jan iversen
0139407f52 modbus: add async_will_remove_from_hass() to do cleanup. (#150906) 2025-08-26 23:50:11 +02:00
Stefan Agner
d278d21561 Bump aiohasupervisor from version 0.3.2b0 to version 0.3.2 (#151202) 2025-08-26 23:39:55 +02:00
Jan-Philipp Benecke
efce6c8468 Bump aioelectricitymaps to v1.1.1 (#150928) 2025-08-26 22:16:17 +01:00
TheJulianJES
8c7e9bcf7c Bump ZHA to 0.0.70 (#151212) 2025-08-26 22:13:26 +01:00
Marc Mueller
8bcc9485c3 Update orjson to 3.11.3 (#151211) 2025-08-26 22:43:41 +02:00
felosity
bc8e00d9e0 Add support for HTTP Digest Authentication in REST commands (#150865)
Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2025-08-26 20:51:44 +02:00
Artur Pragacz
d5c208672e Add TARGET_FIELDS to config validation (#150238) 2025-08-26 19:40:39 +01:00
Marc Mueller
376f6ce4a7 Update h2 to 4.3.0 (#151194) 2025-08-26 19:35:47 +02:00
Álvaro Fernández Rojas
370bb14b46 Update aioairzone-cloud to v0.7.2 (#151200) 2025-08-26 19:34:25 +02:00
starkillerOG
3d1773fca5 Add Reolink chime silent time number entity (#151190) 2025-08-26 19:32:19 +02:00
starkillerOG
977d4c8f01 Add Reolink speak and doorbell volume entities (#151198)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-26 19:30:14 +02:00
Thomas55555
bf0bcc4c95 Remove unused constants in Husqvarna Automower (#151205) 2025-08-26 19:28:53 +02:00
HarvsG
ecb51ce185 Baysesian Config Flow (#122552)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-26 19:15:57 +02:00
Tomeroeni
87f0703be1 Add support for port control in UniFi switch integration (#150152) 2025-08-26 17:20:45 +02:00
Erik Montnemery
a90ac612f0 Allow dynamically creating menu options in SchemaFlowHandler (#151191) 2025-08-26 14:38:14 +02:00
Duco Sebel
e2faa7020b Bumb python-homewizard-energy to 9.3.0 (#151187) 2025-08-26 13:59:08 +02:00
Thomas D
ce523fc91d Expose method to set last activated on scene (#146884) 2025-08-26 12:44:07 +01:00
Erik Montnemery
5bb96f7f06 Adjust device disabled_by flag when changing config entry (#151155) 2025-08-26 12:37:56 +02:00
Michel van de Wetering
dfbe42fb21 Use device id instead of archetype to check for Hue bridge (#151097) 2025-08-26 12:30:28 +02:00
markhannon
c9876e2a2b Fix support for blinds in zimi integration (#150729)
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-08-26 12:24:54 +02:00
Paulus Schoutsen
4ee9eada41 Mark AI Task as integration type entity (#151188) 2025-08-26 12:23:47 +02:00
Thomas D
e82d91d394 Fix API field rename for Volvo integration (#151183) 2025-08-26 12:23:33 +02:00
tronikos
60e91555f8 Remove Arizona Public Service (APS) virtual integration (#150944) 2025-08-26 12:21:20 +02:00
Christian
e5f163fa56 Add clear cache button to Fully Kiosk integration (#150943)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-26 12:20:43 +02:00
Florent Thoumie
060f748287 Update iaqualink to 0.6.0 (#151176) 2025-08-26 12:20:14 +02:00
Simone Chemelli
0031bce832 Fix async_migrate_entry for Alexa Devices (#151038) 2025-08-26 12:15:46 +02:00
starkillerOG
4c166c2320 Bump reolink-aio to 0.14.7 (#151045)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-26 12:11:33 +02:00
epenet
340a5f92e5 Add battery and tamper to Tuya siren (#151132) 2025-08-26 12:06:17 +02:00
Jon Seager
32645bead0 Bump pytouchlinesl to 0.5.0 (#151140) 2025-08-26 12:01:31 +02:00
tronikos
04f00d7010 Bump opower to 0.15.3 (#151179) 2025-08-26 11:52:18 +02:00
J. Diego Rodríguez Royo
df9b0432b9 Bump aiohomeconnect to 0.19.0 (#151180) 2025-08-26 11:48:09 +02:00
hahn-th
47dbf923ed Bump to homematicip 2.3.0 (#151182) 2025-08-26 11:47:50 +02:00
epenet
d0c5f291fc Add Tuya test fixtures (#151185) 2025-08-26 11:46:53 +02:00
J. Nick Koston
4b5ab472ad Bump qingping-ble to 1.0.1 (#151170) 2025-08-26 10:52:52 +02:00
Paulus Schoutsen
ee9abd519d Default virtual environment location to .venv (#151181) 2025-08-26 09:44:04 +02:00
Erik Montnemery
1d2599184b Adjust entity disabled_by flag when moving entity to another config entry (#151151)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-08-25 23:35:28 +02:00
Marc Mueller
b67d34d428 Update HAP-python to 5.0.0 (#151156) 2025-08-25 22:57:01 +02:00
hanwg
b203a04f1b Add websocket command to rename config subentry (#150843)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-08-25 22:55:01 +02:00
Erik Montnemery
50108e23ed Adjust device disabled_by flag when restoring a deleted device (#151154) 2025-08-25 22:49:47 +02:00
Erik Montnemery
58339d79d3 Revert "Fix entities/devices stuck in disabled state after config entry re-add" (#151158) 2025-08-25 22:48:30 +02:00
Erik Montnemery
05c8e8b4fd Adjust entity disabled_by flag when restoring a deleted entity (#151150) 2025-08-25 22:47:55 +02:00
Christopher Fenner
ae676d6857 Bump PyViCare to 2.51.0 (#151153) 2025-08-25 22:43:50 +02:00
Michael Hansen
db4d51e617 Bump hassil to 3.2.0 (#151168) 2025-08-25 21:39:11 +01:00
Glenn Vandeuren (aka Iondependent)
bfe84ccd12 Add reconfigure flow to niko_home_control (#133993)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-08-25 22:03:05 +02:00
J. Nick Koston
ede948c277 Fix HomeKit Controller entity state restore issues for IP/COAP devices (#151087) 2025-08-25 19:50:13 +02:00
G Johansson
28e8405622 Fix correct breaking version in stiebel_eltron (#151163) 2025-08-25 19:43:19 +02:00
Marc Mueller
202d285286 Update typing-extensions to 4.15.0 (#151157) 2025-08-25 18:33:59 +01:00
Marc Mueller
c0b1536cd8 Fix hassfest requirements check (#151159) 2025-08-25 18:31:17 +02:00
Norbert Rittel
f1d2b102cf Fix broken reference for "event_types" in template (#151152) 2025-08-25 15:57:04 +01:00
Ludovic BOUÉ
8b29e3011e Matter Valve new attributes (#150788) 2025-08-25 15:43:00 +02:00
Jan Bouwhuis
dea5e7454a Add MQTT lock subentry support (#150860)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-25 15:37:36 +02:00
Petro31
58d4fd0b75 Add update platform to template integration (#150277) 2025-08-25 14:43:23 +02:00
epenet
ca37bc1506 Add Tuya test fixtures (#151022) 2025-08-25 11:28:55 +02:00
karwosts
1f25641e3b Fix schedule entity can't delete icon (#150995) 2025-08-25 10:56:33 +02:00
Maikel Punie
962b276a77 Bump velbusaio to 2025.8.0 (#151133) 2025-08-25 10:41:22 +02:00
Yuxin Wang
0786e333ce Remove tests for setting up multiple integrations for APCUPSD (#151125) 2025-08-25 10:33:00 +02:00
Matthias Alphart
d35271a214 Update knx-frontend to 2025.8.24.205840 (#151118) 2025-08-25 08:52:06 +02:00
Petro31
8fbf6dbd0b Add event platform to templates (#145408)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-25 07:50:22 +02:00
Retha Runolfsson
60d8353b10 Bump pyswitchbot to 0.69.0 (#151123) 2025-08-25 07:03:09 +02:00
Yuxin Wang
2d69d2ef1c Remove unnecessary tests for APCUPSD (#151126) 2025-08-25 07:00:13 +02:00
LG-ThinQ-Integration
e1e11db3d2 Add switch for AC's air_clean, ventilator and washers to LG (#140842)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-08-25 06:42:14 +02:00
jan iversen
91ef5fb429 modbus: Sensor caused hanging call_later method (#151033) 2025-08-24 22:37:26 +02:00
Christian Fetzer
0dc2a5a02c Add m³/min as volume flow rate unit (#151051) 2025-08-24 20:30:25 +01:00
Joakim Plate
b018465a4d Update togrill to 0.8.0 (#150945) 2025-08-24 20:07:55 +02:00
Joris Pelgröm
e797d651b5 Bump letpot to 0.6.2 (#151094) 2025-08-24 18:08:30 +02:00
J. Nick Koston
bc6f261105 Fix entities/devices stuck in disabled state after config entry re-add (#151075) 2025-08-24 15:55:58 +02:00
Marc Mueller
6c2ba15a73 Update lxml to 6.0.1 (#151093) 2025-08-24 15:16:41 +02:00
Simone Chemelli
ef0712a785 Handle TypeError in Alexa Devices (#151088) 2025-08-24 15:08:51 +02:00
Tom
2bd45e4625 Bump airos to 0.4.3 (#151042) 2025-08-24 13:04:41 +02:00
J. Nick Koston
03ca164fb3 Switch to August OAuth with official API (#151080) 2025-08-24 05:29:53 +02:00
J. Nick Koston
3c11f8e50e Bump yalexs to 8.12.0 (#151079) 2025-08-24 05:04:40 +02:00
Andrea Turri
f0e5325510 Provide elapsed time sensor consistent in Miele (#145093)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-08-23 20:50:19 +02:00
Yevhenii Vaskivskyi
4ff2da7553 Bump asusrouter to 1.20.0 (#151067) 2025-08-23 20:45:20 +02:00
LG-ThinQ-Integration
af951ff0d4 Modified to use built-in fan modes for "mid". (#150927)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-08-23 13:24:10 +02:00
Matthias Alphart
207e2f61ea Fix KNX strings for UI entity creation (#151053) 2025-08-22 23:43:05 +02:00
Manu
9e204cd347 Bump habiticalib to v0.4.3 (#151050) 2025-08-22 21:08:13 +02:00
dependabot[bot]
97a7e46579 Bump github/codeql-action from 3.29.10 to 3.29.11 (#151020)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-22 20:58:10 +02:00
Andrew Jackson
8175f4ba65 Bump mastodon to 2.1.2 (#150948) 2025-08-22 19:35:11 +02:00
Andre Lengwenus
22e307a48a Bump lcn-frontend to 0.2.7 (#151041) 2025-08-22 19:34:09 +02:00
TimL
6c69b36b7b Bump pysmlight to v0.2.8 (#151036) 2025-08-22 15:06:23 +02:00
J. Diego Rodríguez Royo
dd270f54fc Delete Home Connect deprecated actions (#150929) 2025-08-22 14:16:01 +02:00
Simone Chemelli
158fb35c5b Add account reconfigure to Alexa Devices config flow (#149637)
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-08-22 13:52:01 +02:00
Matthias Alphart
85e5081fc3 Use serialized schema from backend in UI entity configuration (#149496) 2025-08-22 12:24:05 +02:00
Billy Rowell
f6bb32c44b Add Tuya test fixtures for bzyd category (#150923)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-22 08:57:16 +02:00
Christopher Fenner
e16eff6f28 Improve device details for Husqvarna BLE mower device (#150993) 2025-08-22 08:15:35 +02:00
Aidan Timson
2b80a621af Update aiolyric to 2.0.2 (#150998) 2025-08-22 08:12:49 +02:00
Aidan Timson
80d2e08572 Update aioazuredevops to 2.2.2 (#151000) 2025-08-22 06:55:13 +02:00
puddly
e15166cbf3 Bump ZHA to 0.0.69 (#151010) 2025-08-22 06:49:38 +02:00
Paulus Schoutsen
3b1b095b47 2025.8.3 (#151008) 2025-08-21 20:22:43 +02:00
Matthias Alphart
72e78b6719 Allow nested translation schema for config panels (#149346) 2025-08-21 20:13:36 +02:00
J. Nick Koston
a50b035479 Bump habluetooth to 5.1.0 and bleak-retry-connector to 4.3.0 (#150962) 2025-08-21 10:19:39 -05:00
Paulus Schoutsen
bb4f8adffe Bump version to 2025.8.3 2025-08-21 15:13:51 +00:00
Bram Kragten
61a50e77cf Update frontend to 20250811.1 (#151005) 2025-08-21 15:13:37 +00:00
Simone Chemelli
82f94de0b8 Enable country site autodetection in Alexa Devices (#150989) 2025-08-21 15:13:36 +00:00
Erik Montnemery
71b2d46afd Except ujson from license check (#150980) 2025-08-21 15:13:35 +00:00
J. Nick Koston
edc1989ff6 Bump onvif-zeep-async to 4.0.4 (#150969) 2025-08-21 15:12:19 +00:00
Martin Hjelmare
2dad6fa298 Ask user for Z-Wave RF region if country is missing (#150959)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2025-08-21 15:12:18 +00:00
elsi06
2f4e29ba71 Bump python-mystrom to 2.5.0 (#150947) 2025-08-21 15:12:17 +00:00
Imeon-Energy
add75e06e3 Fix update retry for Imeon inverter integration (#150936)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-08-21 15:12:16 +00:00
Maciej Bieniek
9194ddd4fe Bump imgw-pib to version 1.5.4 (#150930) 2025-08-21 15:12:15 +00:00
J. Nick Koston
2e7821d64a Bump ESPHome minimum stable BLE version to 2025.8.0 (#150924) 2025-08-21 15:12:14 +00:00
Calvin Walton
bb9660269c Matter valve Open command doesn't support TargetLevel=0 (#150922) 2025-08-21 15:12:13 +00:00
Paulus Schoutsen
1bd5aa0ab0 Fix structured output object selector conversion for OpenAI (#150916) 2025-08-21 15:12:12 +00:00
Tobias Sauerwein
e4329ab8a5 update pyatmo to v9.2.3 (#150900) 2025-08-21 15:12:11 +00:00
J. Nick Koston
9414356a4d Bump bleak-retry-connector to 4.0.2 (#150899) 2025-08-21 15:12:10 +00:00
Paulus Schoutsen
0cd28e7fc1 Fix PWA theme color to match darker blue color scheme in 2025.8 (#150896)
Co-authored-by: Claude <noreply@anthropic.com>
2025-08-21 15:12:09 +00:00
Joost Lekkerkerker
6383f9365c Bump pysmartthings to 3.2.9 (#150892) 2025-08-21 15:12:08 +00:00
epenet
cb8669c84f Fix icloud service calls (#150881) 2025-08-21 15:12:07 +00:00
Stefan Agner
d1698222f4 Add missing unsupported reasons to list (#150866) 2025-08-21 15:12:05 +00:00
Noah Husby
a3f5c3f422 Bump aiorussound to 4.8.1 (#150858) 2025-08-21 15:12:04 +00:00
G Johansson
945771098e Bump holidays to 0.79 (#150857) 2025-08-21 15:12:03 +00:00
Imeon-Energy
59d73138e7 Use correct unit and class for the Imeon inverter sensors (#150847)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-08-21 15:12:02 +00:00
Martin Hjelmare
fe71b54c3e Handle Z-Wave RssiErrorReceived (#150846) 2025-08-21 15:12:01 +00:00
LG-ThinQ-Integration
7639e12ff2 Initialize the coordinator's data to include data.options. (#150839)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-08-21 15:12:00 +00:00
Joost Lekkerkerker
4b2a149072 Bump yt-dlp to 2025.08.11 (#150821) 2025-08-21 15:11:59 +00:00
Joost Lekkerkerker
92b988a292 Abort Nanoleaf discovery flows with user flow (#150818) 2025-08-21 15:11:58 +00:00
Joost Lekkerkerker
1ca6c4b5b8 Include device data in Withings diagnostics (#150816) 2025-08-21 15:11:57 +00:00
tronikos
81377be92f Bump opower to 0.15.2 (#150809) 2025-08-21 15:11:56 +00:00
Joost Lekkerkerker
38aba81f62 Pin gql to 3.5.3 (#150800) 2025-08-21 15:10:38 +00:00
Simone Chemelli
e175e3ed0b Enable country site autodetection in Alexa Devices (#150989) 2025-08-21 17:10:27 +02:00
Thomas D
27b32c5e93 Show charging power as 0 when not charging for the Volvo integration (#150797) 2025-08-21 15:08:25 +00:00
peteS-UK
332996cc38 Fix volume step error in Squeezebox media player (#150760) 2025-08-21 15:08:23 +00:00
Thomas Schamm
199b7e8ba7 Fix for bosch_shc: 'device_registry.async_get_or_create' referencing a non existing 'via_device' (#150756) 2025-08-21 15:08:23 +00:00
Thomas Schamm
122af46a92 Bump boschshcpy to 0.2.107 (#150754) 2025-08-21 15:08:21 +00:00
Marc Mueller
3dd091de44 Update hassfest package exceptions (#150744) 2025-08-21 15:08:20 +00:00
epenet
932c5ccf0f Bump renault-api to 0.4.0 (#150624) 2025-08-21 15:08:19 +00:00
JP-Ellis
4e52826664 fix(amberelectric): add request timeouts (#150613)
Signed-off-by: JP-Ellis <josh@jpellis.me>
2025-08-21 15:08:18 +00:00
markhannon
c30d778a54 Bump to zcc-helper==3.6 (#150608) 2025-08-21 15:08:16 +00:00
Bram Kragten
7cd767e920 Update frontend to 20250811.1 (#151005) 2025-08-21 17:02:02 +02:00
Calvin Walton
4c39936b81 Matter valve Open command doesn't support TargetLevel=0 (#150922) 2025-08-21 16:19:14 +02:00
elsi06
d90590b228 Bump python-mystrom to 2.5.0 (#150947) 2025-08-21 08:48:03 -05:00
J. Nick Koston
7914e6b135 Bump onvif-zeep-async to 4.0.4 (#150969) 2025-08-21 08:47:14 -05:00
Martin Hjelmare
1d646d06a6 Ask user for Z-Wave RF region if country is missing (#150959)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2025-08-21 14:44:19 +02:00
LG-ThinQ-Integration
135c80d194 Initialize the coordinator's data to include data.options. (#150839)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-08-21 13:40:22 +02:00
Imeon-Energy
aed853267a Fix update retry for Imeon inverter integration (#150936)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-08-21 13:31:06 +02:00
Erik Montnemery
62be31f899 Add test of automower_ble activity mapping (#150983)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-21 10:59:19 +02:00
Erik Montnemery
ca75581d43 Bump automower-ble to 0.2.7 (#150979) 2025-08-21 10:59:10 +02:00
Erik Montnemery
f8a8fb516b Except ujson from license check (#150980) 2025-08-21 10:33:37 +02:00
Andrea Turri
f9575a3b2f Add "profile" extra attribute to Miele program sensor on coffee machines (#145073) 2025-08-21 10:19:13 +02:00
Erik Montnemery
bbde98bc9f Bump pychromecast to 14.0.9 (#150939) 2025-08-21 10:18:29 +02:00
Paulus Schoutsen
90e8d74fcd Add HA version to device analytics (#150877) 2025-08-21 09:44:17 +02:00
dependabot[bot]
9489c19598 Bump github/codeql-action from 3.29.9 to 3.29.10 (#150913)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-21 09:42:36 +02:00
Erik Montnemery
210ec28f0a Fix bluetooth tests (#150978) 2025-08-21 09:38:42 +02:00
dependabot[bot]
88d853cfbd Bump codecov/codecov-action from 5.4.3 to 5.5.0 (#150977)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-21 09:26:35 +02:00
Yevhenii Vaskivskyi
069b21a5a5 Create a special cookie jar for aiohttp client session in asuswrt (#150973) 2025-08-21 06:35:12 +02:00
Ludovic BOUÉ
da864ca034 Matter Refrigerator DoorOpen alarm (#150759)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-20 23:01:03 +02:00
Joakim Plate
8d6b7bf950 Fix event affecting multiple probes (#150954) 2025-08-20 20:40:16 +02:00
Maciej Bieniek
cf8e7cfd28 Bump imgw-pib to version 1.5.4 (#150930) 2025-08-20 14:08:47 +03:00
Marc Mueller
8e5f9264b6 Fix togrill test warning (#150933) 2025-08-20 11:20:55 +02:00
J. Nick Koston
3d0ecf0585 Bump ESPHome minimum stable BLE version to 2025.8.0 (#150924) 2025-08-20 10:25:17 +03:00
JP-Ellis
19b2c6da23 fix(amberelectric): add request timeouts (#150613)
Signed-off-by: JP-Ellis <josh@jpellis.me>
2025-08-20 07:59:33 +02:00
Tobias Sauerwein
0b231ff042 update pyatmo to v9.2.3 (#150900) 2025-08-20 07:46:51 +02:00
Joost Lekkerkerker
d8ae89be6a Bump pysmartthings to 3.2.9 (#150892) 2025-08-20 07:45:35 +02:00
Keilin Bickar
e96ff77cbf Bump asyncsleepiq dependency to 1.6.0 (#150915) 2025-08-20 07:45:06 +02:00
Denis Shulyaka
9797d391af OpenAI external tools (#150599) 2025-08-19 23:36:23 +02:00
Paulus Schoutsen
e68df66028 Fix structured output object selector conversion for OpenAI (#150916) 2025-08-19 22:17:30 +02:00
dependabot[bot]
8d30d69af5 Bump actions/dependency-review-action from 4.7.1 to 4.7.2 (#150904)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-19 19:41:37 +02:00
J. Nick Koston
93e9fab6c7 Bump bleak-retry-connector to 4.0.2 (#150899) 2025-08-19 19:21:37 +02:00
Jan Bouwhuis
48300f4563 Use greek small letter mu "\u03bc" instead of micro sign "\u00B5" for micro unit prefix (alt 1) (#144853)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-08-19 18:48:50 +02:00
Erik Montnemery
48091e5995 Improve test of WS command get_services (#150901)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-19 17:47:12 +02:00
Erik Montnemery
26582cecbd Improve test of REST endpoint /api/services (#150897) 2025-08-19 17:32:52 +02:00
jan iversen
7ecf32390c Modbus: Avoid duplicate updates. (#150895) 2025-08-19 17:15:51 +02:00
Luke Heckman
cded163930 Update contributing guide links (#150159)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-19 17:15:31 +02:00
rossfoss
10fe479311 Add new attributes to Met Éireann (#150653)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-19 17:04:35 +02:00
Stefan Agner
65696f9b53 Bump aiohasupervisor from version 0.3.1 to version 0.3.2b0 (#150893) 2025-08-19 16:55:36 +02:00
Stefan Agner
08fc2ab03b Add missing unsupported reasons to list (#150866) 2025-08-19 16:55:16 +02:00
jan iversen
2290940638 Modbus: Remove unused variable. (#150894) 2025-08-19 16:54:05 +02:00
Matthias Alphart
63640af4d4 Update voluptuous-serialize to 2.7.0 (#150822) 2025-08-19 16:42:49 +02:00
Paulus Schoutsen
f4400516b8 Fix PWA theme color to match darker blue color scheme in 2025.8 (#150896)
Co-authored-by: Claude <noreply@anthropic.com>
2025-08-19 17:24:32 +03:00
Thomas D
b52a806b36 Show charging power as 0 when not charging for the Volvo integration (#150797) 2025-08-19 16:23:30 +02:00
Paul Warren
76f3397aa0 Bump pyDaikin to 2.16.0 (#150867) 2025-08-19 16:12:53 +02:00
Retha Runolfsson
89abe65e1d Add air purifier for switchbot cloud integration (#147001) 2025-08-19 16:02:18 +02:00
jan iversen
785c9ebc3b Modbus: Retry primary connect. (#150853) 2025-08-19 15:03:05 +02:00
Joakim Plate
a08be4fcb6 Add event entity to Togrill (#150812) 2025-08-19 15:01:57 +02:00
markhannon
e8409e7c42 Bump to zcc-helper==3.6 (#150608) 2025-08-19 14:40:12 +02:00
epenet
c46618cbd1 Bump renault-api to 0.4.0 (#150624) 2025-08-19 14:37:56 +02:00
Alexandre CUER
319e37384f Migrate Emoncms_history to external async library (#149824) 2025-08-19 14:32:13 +02:00
Imeon-Energy
4c1788e757 Add sensors to Imeon inverter integration (#146437)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-19 14:21:33 +02:00
epenet
e6a158b1ac Add temperature sensor to Tuya solar inverters (#150878) 2025-08-19 14:20:29 +02:00
epenet
69dbcb0627 Add sound switch to Tuya fan light (#150879) 2025-08-19 14:20:05 +02:00
Andrew Jackson
c62c52e8cf Bump mastodon.py to 2.1.1 (#150876) 2025-08-19 14:19:44 +02:00
epenet
c18dc9b63b Fix icloud service calls (#150881) 2025-08-19 14:19:10 +02:00
Matrix
69757bed52 Support for YoLink YS4102 YS4103 (#150464) 2025-08-19 11:35:36 +02:00
epenet
899f0e03c1 Add Tuya test fixtures (#150835) 2025-08-19 11:34:25 +02:00
Imeon-Energy
fc5e720764 Use correct unit and class for the Imeon inverter sensors (#150847)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-08-19 10:19:03 +02:00
Noah Husby
0c0e54b541 Bump aiorussound to 4.8.1 (#150858) 2025-08-19 09:45:42 +02:00
Retha Runolfsson
86e3eca57f Bump pyswitchbot to 0.68.4 (#150871) 2025-08-19 09:43:35 +02:00
Martin Hjelmare
15505cdd56 Handle Z-Wave RssiErrorReceived (#150846) 2025-08-18 22:14:52 +02:00
G Johansson
c7001dcfc4 Bump holidays to 0.79 (#150857) 2025-08-18 21:40:43 +02:00
epenet
40feefc0fa Cleanup sw_version in Renault (#150844) 2025-08-18 22:28:58 +03:00
Marc Mueller
f6d23b9b34 Check for forbidden files in dependencies with hassfest (#150772) 2025-08-18 17:44:31 +02:00
Andrew Jackson
ab4aeb65f2 Bump mastodon.py to 2.1.0 and change quality scale (#150836) 2025-08-18 17:35:37 +02:00
Foscam-wangzhengyu
019c4ab874 Bump libpyfoscamcgi to 0.0.7 (#150829) 2025-08-18 17:34:00 +02:00
jan iversen
53ca369395 Do not start modbus update process until connection+delay. (#150796) 2025-08-18 17:20:41 +02:00
Manu
9910480980 Bump aiontfy to v0.5.4 (#150825) 2025-08-18 12:06:09 +02:00
Maciej Bieniek
7ecbe53b15 Bump brother to version 5.0.1 (#150840) 2025-08-18 12:05:10 +02:00
Maciej Bieniek
6baa162963 Bump brother to version 5.0.1 (#150840) 2025-08-18 12:04:52 +02:00
Ludovic BOUÉ
2f5561aeba Matter Custom Eve Weather trend (#147620) 2025-08-18 11:32:08 +02:00
Erik Montnemery
330bb46cf9 Revert "Bump automower-ble to 0.2.7" (#150833) 2025-08-18 10:07:57 +02:00
Joost Lekkerkerker
2f8ddae24d Include device data in Withings diagnostics (#150816) 2025-08-18 10:04:54 +02:00
Joost Lekkerkerker
419315d9cf Clean up freebox entity (#150695) 2025-08-18 09:47:02 +02:00
Joost Lekkerkerker
9138930cb9 Abort Nanoleaf discovery flows with user flow (#150818) 2025-08-18 09:41:37 +02:00
Joost Lekkerkerker
a325596898 Bump yt-dlp to 2025.08.11 (#150821) 2025-08-18 09:39:08 +02:00
Claudio Ruggeri - CR-Tech
5fdb95e83c Fix Modbus issue 150453: correct transition update for climate without HVAC mode enabled (#150522)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2025-08-18 08:49:09 +02:00
Joost Lekkerkerker
fcbfca52f3 Bump spotifyaio to 1.0.0 (#150820) 2025-08-18 08:28:58 +02:00
Yuxin Wang
f44578f45f Add more exception types for cannot_connect test in APCUPSD (#150830) 2025-08-18 07:19:47 +02:00
Yuxin Wang
2b7bd923d6 Add a base entity to APCUPSD integration (#150828) 2025-08-18 07:18:08 +02:00
Joakim Plate
3ab4fd3035 Add number entity to togrill (#150609) 2025-08-17 23:48:53 +02:00
tronikos
794deaa5fd Bump opower to 0.15.2 (#150809) 2025-08-17 23:48:14 +02:00
Pete Sage
79bbae2fde Change the default name of the speech enhancement select for Sonos (#150815) 2025-08-17 23:41:51 +02:00
Pete Sage
9f17a8a943 Add tests and improve error handling for Sonos update_alarm service call (#150715) 2025-08-17 22:47:45 +02:00
Joost Lekkerkerker
b44c47cd80 Removing myself as codeowner of Enphase (#150811) 2025-08-17 22:35:23 +02:00
Joost Lekkerkerker
e80c090932 Pin gql to 3.5.3 (#150800) 2025-08-17 19:27:17 +02:00
Pete Sage
ff418f513a Add dialog mode select for Sonos Arc Ultra soundbar (#150637)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-17 17:15:29 +02:00
Joost Lekkerkerker
b222cc5889 Use lifecycle hook instead of storing callback in starline (#150707) 2025-08-17 17:08:35 +02:00
Yuxin Wang
db1707fd72 Mark config-flow-test-coverage as done in APCUPSD quality scale (#150733) 2025-08-17 17:08:25 +02:00
peteS-UK
6f6f5809d0 Fix volume step error in Squeezebox media player (#150760) 2025-08-17 17:07:23 +02:00
Aidan Timson
1f43f82ea6 Update systembridgeconnector to 4.1.10 (#150736) 2025-08-17 17:03:46 +02:00
Yevhenii Vaskivskyi
942274234e Add asusrouter logger definition to asuswrt (#150747) 2025-08-17 16:59:02 +02:00
Maciej Bieniek
f03955b773 NextDNS tests improvements (#150791) 2025-08-17 16:56:25 +02:00
jan iversen
27ac375183 Remove unused strings in modbus (#150795) 2025-08-17 16:21:28 +02:00
Jamin
c951728767 VOIP RTP cleanup (#150490) 2025-08-17 16:16:20 +02:00
Paulus Schoutsen
3496494290 Remove filters from device analytics payload (#150771) 2025-08-17 16:15:02 +02:00
jan iversen
e90183391e Modbus: Delay start after connection is made. (#150526) 2025-08-17 16:09:24 +02:00
Joost Lekkerkerker
90558c517b Add info to Bravia device (#150690) 2025-08-17 15:30:46 +02:00
epenet
7fba94747e Add Tuya test fixtures (#150793) 2025-08-17 14:05:58 +02:00
Thomas Schamm
3b4b478afa Fix for bosch_shc: 'device_registry.async_get_or_create' referencing a non existing 'via_device' (#150756) 2025-08-17 10:49:04 +02:00
Joakim Plate
a3640c5664 feat: switch to model id for togrill (#150750) 2025-08-17 06:30:05 +02:00
Michael
246a181ad4 Fix restrict-task-creation workflow (#150774) 2025-08-17 01:56:56 +02:00
Thomas Schamm
d642ecb302 Bump boschshcpy to 0.2.107 (#150754) 2025-08-17 00:37:44 +02:00
Yevhenii Vaskivskyi
53889165b5 Bump asusrouter to 1.19.0 (#150742) 2025-08-16 21:32:27 +02:00
Marc Mueller
fe32e74910 Update charset-normalizer to 3.4.3 (#150770) 2025-08-16 21:31:14 +02:00
dontinelli
a71ae4db37 Add min/max values as extra attributes for measurements for fyta (#150562) 2025-08-16 20:49:55 +02:00
Marc Mueller
0d5ebdb692 Update hassfest package exceptions (#150744) 2025-08-16 12:52:26 +02:00
Denis Shulyaka
80e720f663 Add external tools support for chat log (#150461) 2025-08-16 12:20:20 +02:00
epenet
616b031df8 Use constants in Tuya tests (#150739) 2025-08-16 11:00:08 +02:00
Tom
bcdece4455 Add additional sensors to airOS (#150712) 2025-08-16 08:43:47 +02:00
Joost Lekkerkerker
1aa3efaf8a Add support for fineDustSensor capability in SmartThings (#150714) 2025-08-16 08:41:28 +02:00
Luke Lashley
7f16b11776 Improve roborock resume cleaning logic (#150726) 2025-08-16 08:40:46 +02:00
Maciej Bieniek
078b7224fc Add "bypass age verification" switch to NextDNS integration (#150716) 2025-08-15 21:46:06 +03:00
Franck Nijhof
d7320f00ea 2025.8.2 (#150718) 2025-08-15 17:55:32 +02:00
Franck Nijhof
0bcc0f3fb9 Bump version to 2025.8.2 2025-08-15 15:22:30 +00:00
G Johansson
c551a133c1 Improve handling decode errors in rest (#150699) 2025-08-15 14:43:43 +00:00
G Johansson
22e19e768e Fix missing labels for subdiv in workday (#150684) 2025-08-15 14:43:42 +00:00
Luke Lashley
0647222402 Bump python-snoo to 0.8.3 (#150670) 2025-08-15 14:43:41 +00:00
J. Nick Koston
83226ed015 Bump onvif-zeep-async to 4.0.3 (#150663) 2025-08-15 14:43:39 +00:00
J. Nick Koston
837472c12d Bump uiprotect to 7.21.1 (#150657) 2025-08-15 14:43:38 +00:00
Tom
0b337c7e2a Bump airOS to 0.2.11 (#150627) 2025-08-15 14:43:36 +00:00
Åke Strandberg
1a0b61c98e Bump pymiele to 0.5.4 (#150605) 2025-08-15 14:43:35 +00:00
Åke Strandberg
87a2d3e6d9 Bump pymiele to 0.5.3 (#150216) 2025-08-15 14:43:34 +00:00
Joakim Plate
2c1407f159 Make sure we update the api version in philips_js discovery (#150604) 2025-08-15 14:43:05 +00:00
Luke Lashley
1643d5df67 Change Snoo to use MQTT instead of PubNub (#150570) 2025-08-15 14:43:05 +00:00
Luke Lashley
5a49007b86 Bump python-snoo to 0.8.2 (#150569) 2025-08-15 14:43:04 +00:00
Robert Resch
312d8aaff5 Bump uv to 0.8.9 (#150542) 2025-08-15 14:43:04 +00:00
Luke Lashley
776726a053 Bump python-snoo to 0.8.1 (#150530) 2025-08-15 14:43:03 +00:00
J. Nick Koston
4213427b9c Bump aiodhcpwatcher to 1.2.1 (#150519) 2025-08-15 14:43:03 +00:00
J. Nick Koston
82907e5b88 Bump bleak-retry-connector to 4.0.1 (#150515) 2025-08-15 14:43:02 +00:00
Shay Levy
56b4c554de Bump aiowebostv to 0.7.5 (#150514) 2025-08-15 14:43:02 +00:00
Tom
82390f6f7b Bump airOS to 0.2.8 (#150504) 2025-08-15 14:43:01 +00:00
Åke Strandberg
d9ebda4910 Add missing boost2 code for Miele hobs (#150481) 2025-08-15 14:43:01 +00:00
Martin Hjelmare
8f94657b0c Improve Z-Wave manual config flow step description (#150479) 2025-08-15 14:43:00 +00:00
Thomas D
b0ab3cddb8 Fix re-auth flow for Volvo integration (#150478) 2025-08-15 14:43:00 +00:00
peteS-UK
3d4d57fa32 Additional Fix error on startup when no Apps or Radio plugins are installed for Squeezebox (#150475) 2025-08-15 14:43:00 +00:00
Matrix
fed6f19edf Fix YoLink valve state when device running in class A mode (#150456) 2025-08-15 14:42:59 +00:00
Cyrill Raccaud
2725abf032 Bump cookidoo-api to 0.14.0 (#150450) 2025-08-15 14:42:59 +00:00
wedsa5
bd1b81493c Fix brightness command not sent when in white color mode (#150439)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-15 14:42:58 +00:00
Kevin David
c58a188179 Bump python-snoo to 0.7.0 (#150434) 2025-08-15 14:42:58 +00:00
David
ffbb7a2ab4 Fix error of the Powerfox integration in combination with the new Powerfox FLOW adapter (#150429)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-15 14:42:57 +00:00
Petro31
2ad470d172 Fix optimistic set to false for template entities (#150421) 2025-08-15 14:42:57 +00:00
Manu
8b2fce9c33 Bump habiticalib to version 0.4.2 (#150417) 2025-08-15 14:42:56 +00:00
HarvsG
e22e7f1bcf Pi_hole - Account for auth succeeding when it shouldn't (#150413) 2025-08-15 14:42:56 +00:00
Michael Hansen
b5bd61b20a Handle non-streaming TTS case correctly (#150218) 2025-08-15 14:42:55 +00:00
Arie Catsman
391c9a679e Fix enphase_envoy non existing via device warning at first config. (#149010)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-15 14:42:55 +00:00
Denis Shulyaka
d5970e7733 Anthropic thinking content (#150341) 2025-08-15 15:52:36 +02:00
Joost Lekkerkerker
d5a74892e6 Remove unnecessary hass assignment in coordinators (#150696)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-15 15:52:13 +02:00
Joost Lekkerkerker
793a829236 Add serial number to Vodafone Station device (#150709) 2025-08-15 15:52:01 +02:00
G Johansson
7670146faf Improve handling decode errors in rest (#150699) 2025-08-15 15:51:48 +02:00
Nick Kuiper
eaedefe105 Update bluecurrent-api to 1.3.1 (#150559) 2025-08-15 15:45:40 +02:00
Marc Mueller
4f20776e0e Add check for dependency package names in hassfest (#150630) 2025-08-15 15:44:47 +02:00
epenet
6c21a14be4 Add binary sensor to 1-Wire DS2405 (#150679) 2025-08-15 15:37:34 +02:00
Alex Thompson
9015743483 Bump tilt-ble to 0.3.1 (#150711) 2025-08-15 15:37:08 +02:00
Thomas D
2a62e033dd Add binary sensor platform to qbus integration (#149975) 2025-08-15 15:35:51 +02:00
Joost Lekkerkerker
f72f2a326a Add MAC address to Modern forms devices (#150698) 2025-08-15 15:34:31 +02:00
Joost Lekkerkerker
61de50dfc0 Add hw_version to Point device (#150704) 2025-08-15 15:34:10 +02:00
Joost Lekkerkerker
ef7ed026db Add serial number to Ondilo ICO (#150702) 2025-08-15 15:33:13 +02:00
Joost Lekkerkerker
abdb48e7ce Add serial number to Nobo hub devices (#150700) 2025-08-15 15:32:43 +02:00
Joost Lekkerkerker
9646aa232a Add serial number to Zeversolar device (#150710) 2025-08-15 15:31:29 +02:00
Joost Lekkerkerker
635cfe7d17 Remove hass assignment in Openhome (#150703) 2025-08-15 15:30:01 +02:00
Joost Lekkerkerker
1e2f7cadc7 Add unregister hook to Vera (#150708) 2025-08-15 15:27:49 +02:00
Tom
94e9f32da5 Bump airOS to 0.3.0 (#150693) 2025-08-15 15:24:23 +02:00
Maciej Bieniek
b7ba99ed17 Bump nextdns to version 4.1.0 (#150706) 2025-08-15 15:24:05 +02:00
Joost Lekkerkerker
ebbeef8021 Add mac to Ambient station device (#150689) 2025-08-15 15:15:22 +02:00
Joost Lekkerkerker
8da75490c0 Add hw_version to RainMachine device (#150705) 2025-08-15 15:04:59 +02:00
Joost Lekkerkerker
bc89e8fd3c Move Notion hardware revision to hw_version (#150701) 2025-08-15 15:03:30 +02:00
Joost Lekkerkerker
602497904b Set firmware version to the right field in Guardian (#150697) 2025-08-15 15:01:42 +02:00
G Johansson
facf217b99 Fix missing labels for subdiv in workday (#150684) 2025-08-15 13:59:35 +02:00
Joost Lekkerkerker
b300654e15 Add serial number to Dremel device (#150691) 2025-08-15 13:58:44 +02:00
Joost Lekkerkerker
a742125f13 Add serial number to Emonitor device (#150692) 2025-08-15 13:58:23 +02:00
Thomas D
64768b1036 Fix re-auth flow for Volvo integration (#150478) 2025-08-15 13:58:03 +02:00
epenet
8d49cb1195 Add pymodbus to package constraints (#150420) 2025-08-15 13:57:11 +02:00
Petro31
792bb5781d Fix optimistic set to false for template entities (#150421) 2025-08-15 13:53:48 +02:00
Jan Bouwhuis
7bd126dc8e Assert the MQTT config entry is reloaded on subentry creation and mutation (#150636) 2025-08-15 13:04:12 +02:00
Joakim Sørensen
83ee380b17 Bump hass-nabucasa from 0.111.2 to 1.0.0 and refactor related code (#150566) 2025-08-15 11:35:52 +02:00
Ludovic BOUÉ
58f8b3c401 Bump Python Matter server to 8.1.0 (#150631) 2025-08-15 11:29:49 +02:00
Marc Mueller
2a6d1180f4 Update py-madvr2 to 1.6.40 (#150647) 2025-08-15 08:13:22 +02:00
J. Nick Koston
00b765893d Bump onvif-zeep-async to 4.0.3 (#150663) 2025-08-15 05:49:31 +02:00
karwosts
3e9e9b0489 Fix demo media_player.browse browsing (#150669) 2025-08-15 05:47:55 +02:00
Luke Lashley
25f7c02498 Bump python-snoo to 0.8.3 (#150670) 2025-08-15 05:46:59 +02:00
Manu
a785f3d509 Increase test coverage of Habitica (#150671) 2025-08-15 05:45:42 +02:00
J. Nick Koston
9f36b2dcde Bump protobuf to 6.32.0 (#150667) 2025-08-15 02:31:10 +02:00
Michael Hansen
57265ac648 Add fuzzy matching to default agent (#150595) 2025-08-14 16:28:42 -05:00
J. Nick Koston
f5fe53a67f Bump uiprotect to 7.21.1 (#150657) 2025-08-14 16:16:04 -05:00
Arie Catsman
7e6ceee9d1 Add IQ Meter Collar and C6 Combiner to enphase_envoy integration (#150649) 2025-08-14 15:34:37 -05:00
DeerMaximum
9c21965a34 Add diagnostics to NINA (#150638) 2025-08-14 19:57:33 +02:00
rwrozelle
1ea740d81c Add media_player add off on capability to esphome (#147990) 2025-08-14 12:07:01 -05:00
rwrozelle
6e98446523 Media player API enumeration alignment and feature flags (#149597)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-08-14 11:24:43 -05:00
Ludovic BOUÉ
2248584a0f Add Matter Electrical measurements additional attributes (#150188)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-14 17:07:18 +02:00
Martin Hjelmare
d9b6f82639 Add Z-Wave Fortrezz SSA2 discovery (#150629) 2025-08-14 17:37:44 +03:00
DeerMaximum
3eecfa8e57 Set PARALLEL_UPDATES in NINA (#150635) 2025-08-14 16:36:04 +02:00
epenet
382e7dfd39 Add Tuya test fixtures (#150622) 2025-08-14 14:51:43 +02:00
Joost Lekkerkerker
5358c89bfd Add fixtures for one door refrigerator in SmartThings (#150632) 2025-08-14 14:51:20 +02:00
Tom
e6103fdcf4 Bump airOS to 0.2.11 (#150627) 2025-08-14 13:43:32 +02:00
Martin Dybal
02dca5f0ad Fix type annotation for climate _attr_current_humidity (#150615) 2025-08-14 12:55:54 +02:00
Ludovic BOUÉ
cc4b9e0eca Extend UnitOfReactivePower with 'mvar' (#150415) 2025-08-14 11:46:06 +02:00
Joost Lekkerkerker
7e28e3dcd3 Add sw_version to JustNimbus device (#150592) 2025-08-14 09:31:43 +02:00
Joakim Plate
bb3d571887 Make sure we update the api version in philips_js discovery (#150604) 2025-08-14 09:30:47 +02:00
Joakim Plate
5a789cbbc8 Bump togrill to 0.7.0 in preperation for number (#150611) 2025-08-14 09:30:02 +02:00
dependabot[bot]
4954c2a84b Bump actions/ai-inference from 1.2.8 to 2.0.0 (#150619)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-14 09:27:18 +02:00
G Johansson
f28e9f60ee Use runtime_data in pvpc_hourly_pricing (#150565) 2025-08-14 01:03:04 +02:00
Luke Lashley
6a4bf4ec72 Bump python-snoo to 0.8.2 (#150569) 2025-08-14 00:12:18 +02:00
Luke Lashley
12706178c2 Change Snoo to use MQTT instead of PubNub (#150570) 2025-08-14 00:11:52 +02:00
Samuel Xiao
ed39b18d94 Add cover platform for switchbot cloud (#148993) 2025-08-14 00:10:19 +02:00
G Johansson
9999807891 Use OptionsFlowWithReload in coinbase (#150587) 2025-08-13 23:48:20 +02:00
Arie Catsman
b5db0e98b4 Bump pyenphase to 2.3.0 (#150600) 2025-08-13 23:44:07 +02:00
Åke Strandberg
f58b2177a2 Bump pymiele to 0.5.4 (#150605) 2025-08-13 23:42:47 +02:00
G Johansson
4f64014816 Add wind gust sensor to OpenWeatherMap (#150607) 2025-08-13 23:34:12 +02:00
Michael Hansen
cf68214c4d Bump hassil to 3.1.0 (#150584) 2025-08-13 20:58:57 +02:00
Marc Mueller
b3d3284f5c Update types packages (#150586) 2025-08-13 20:55:22 +02:00
Marc Mueller
12c346f550 Update orjson to 3.11.2 (#150588) 2025-08-13 20:53:55 +02:00
HarvsG
bda82e19a5 Pi_hole - Account for auth succeeding when it shouldn't (#150413) 2025-08-13 20:53:21 +02:00
Marc Mueller
f7726a7563 Update pre-commit-hooks to 6.0.0 (#150583) 2025-08-13 19:23:26 +02:00
Michael Hansen
2c0ed2cbfe Add intent for setting fan speed (#150576) 2025-08-13 18:57:25 +02:00
Marc Mueller
13376ef896 Fix RuntimeWarning in asuswrt tests (#150580) 2025-08-13 18:33:02 +02:00
Marc Mueller
d18cc3d6c3 Fix RuntimeWarning in squeezebox tests (#150582) 2025-08-13 18:32:50 +02:00
karwosts
b40aab479a Change monetary translation to 'Monetary balance' (#150054) 2025-08-13 17:21:36 +02:00
Michael Hansen
721f9a40d8 Add volume up/down intents for media players (#150443) 2025-08-13 09:35:37 -05:00
Ludovic BOUÉ
eb4b75a9a7 Extend UnitOfApparentPower with 'mVA' (#150422)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-13 15:56:04 +02:00
epenet
b40f381164 Add Tuya test fixture (#150557) 2025-08-13 14:09:19 +02:00
epenet
51413b7a8d Ensure Tuya fans have at least one valid DPCode (#150550) 2025-08-13 13:40:11 +02:00
Foscam-wangzhengyu
ff694a0058 Foscam Add prompt language and modify the default port to a more compatible (#150536) 2025-08-13 13:21:39 +02:00
Joakim Sørensen
eea04558a9 Move alexa access token updates to new handler (#150466)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-13 13:21:28 +02:00
starkillerOG
5ad2a27918 Use camera name in Reolink tests (#150555) 2025-08-13 13:06:12 +02:00
G Johansson
f39305f64e Remove deprecated json helper constants and function (#150111) 2025-08-13 12:42:00 +02:00
karwosts
7fba0ca2c0 Add 'all' option to light/switch group config flow (#149671) 2025-08-13 12:34:58 +02:00
Pete Sage
51fbccd125 Fix Sonos CI issue part 2 (#150529)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-08-13 12:26:24 +02:00
G Johansson
5fc2e6ed53 Add async_update_reload_and_abort to config entry subentries (#149768)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-08-13 11:59:37 +02:00
Christopher Fenner
5a7f7d90a0 move Volvo car connection status sensor to diagnostic section (#150487) 2025-08-13 11:45:05 +02:00
Luke Lashley
6d34d34ce1 Bump python-snoo to 0.8.1 (#150530) 2025-08-13 11:38:18 +02:00
dependabot[bot]
6454f40c3c Bump github/codeql-action from 3.29.8 to 3.29.9 (#150539)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-13 11:36:43 +02:00
epenet
53e40a6b8c Ensure Tuya humidifiers have at least one valid DPCode (#150546) 2025-08-13 11:25:59 +02:00
J. Nick Koston
8a54a1d95c Bump aioesphomeapi to 39.0.0 (#150523) 2025-08-13 03:17:20 -05:00
Yevhenii Vaskivskyi
8a52e9ca01 Bump asusrouter to 1.18.2 (#150541) 2025-08-13 10:46:08 +03:00
Robert Resch
d9ca253c6c Bump uv to 0.8.9 (#150542) 2025-08-13 09:45:54 +02:00
Pete Sage
b7853ea9bd Fix Sonos CI Issue (#150518)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-12 23:18:59 +02:00
J. Nick Koston
d19e410ea8 Bump aiodhcpwatcher to 1.2.1 (#150519) 2025-08-12 22:07:25 +02:00
Shay Levy
83f911e4ff Bump aiowebostv to 0.7.5 (#150514) 2025-08-12 22:53:56 +03:00
jan iversen
452322e971 Modbus: Do not remove non-duplicate error log. (#150511) 2025-08-12 21:16:43 +02:00
Manu
6fa7c6cb81 Add party to Habitica (#149608) 2025-08-12 20:51:12 +02:00
J. Nick Koston
ed6072d46b Bump bleak-retry-connector to 4.0.1 (#150515) 2025-08-12 20:49:43 +02:00
Yevhenii Vaskivskyi
9fdc632780 Switch asuswrt http(s) library to asusrouter package (#150426) 2025-08-12 20:45:39 +02:00
Norbert Rittel
4d426c31f9 Fix missing sentence-case in hydrawise (#150513) 2025-08-12 20:10:43 +02:00
jan iversen
ea946c90b3 Modbus: Cancel connect background task if stopping/restarting. (#150507) 2025-08-12 19:38:17 +02:00
Tom
fb68b2d454 Bump airOS to 0.2.8 (#150504) 2025-08-12 19:27:27 +02:00
Ludovic BOUÉ
2ebe0a929e Matter SmokeCoAlarm SelfTestRequest (#150497) 2025-08-12 19:10:55 +02:00
Manu
c1e5a7efc9 Add icons to Sleep as Android sensor entities (#150451) 2025-08-12 18:23:27 +02:00
dependabot[bot]
561ef7015c Bump actions/checkout from 4.2.2 to 5.0.0 (#150494)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-12 18:17:44 +02:00
Robin Lintermann
b4270e019e Bump pysmarlaapi to 0.9.2 (#150496) 2025-08-12 18:14:32 +02:00
Joost Lekkerkerker
614bf96fb9 Add model_id to Philips Hue (#150499) 2025-08-12 18:09:14 +02:00
Tucker Kern
ca290ee631 Implement Snapcast grouping with standard HA actions (#146855)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-12 18:07:29 +02:00
epenet
ad3174f6e6 Rename Tuya parsing models (#150498) 2025-08-12 18:02:26 +02:00
jan iversen
218b0738ca Modbus: Remove wrong comment on non-existing parameter. (#150501) 2025-08-12 18:00:51 +02:00
Joakim Plate
98e6e20079 Mock habluetooth adapters (#148919) 2025-08-12 10:46:31 -05:00
Norbert Rittel
89aa349881 Fix spelling of "an HS color command" in template (#150495) 2025-08-12 17:18:27 +02:00
wedsa5
07930b12d0 Fix brightness command not sent when in white color mode (#150439)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-12 16:36:52 +02:00
Renat Sibgatulin
711afa306c Add number platform for LED brightness to air-Q (#150492) 2025-08-12 15:39:28 +02:00
epenet
a3904ce60c Sort Tuya DPCodes alphabetically (#150477) 2025-08-12 15:28:42 +02:00
hanwg
455cf2fb42 Add notify platform for Telegram bot (#149853)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-12 15:24:13 +02:00
Aarni Koskela
072ae2b955 ruuvitag_ble: add new sensors (#150435)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-12 14:19:15 +02:00
epenet
2b70639b11 Add device registry snapshots to Tuya (#150482)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-12 14:04:36 +02:00
Åke Strandberg
2612dbeb9b Add missing boost2 code for Miele hobs (#150481) 2025-08-12 13:58:38 +02:00
Matrix
7ebdd24224 Bump yolink api to 0.5.8 (#150480) 2025-08-12 13:55:04 +02:00
Martin Hjelmare
66ff1cf005 Improve Z-Wave manual config flow step description (#150479) 2025-08-12 13:47:11 +02:00
David
08aae4bf49 Fix error of the Powerfox integration in combination with the new Powerfox FLOW adapter (#150429)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-12 12:45:21 +02:00
Etienne C.
313b5a483c Remove rounding of Waze duration sensor (#150424) 2025-08-12 12:20:48 +02:00
Arie Catsman
8edbcc92d3 Fix enphase_envoy non existing via device warning at first config. (#149010)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-12 11:55:43 +02:00
peteS-UK
067cab71fa Additional Fix error on startup when no Apps or Radio plugins are installed for Squeezebox (#150475) 2025-08-12 11:55:21 +02:00
Nippey
596e4883b1 Add more sensors to Tuya weather station (#150442)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-12 11:33:51 +02:00
yufeng
fb4a452872 Add supply frequency sensors to Tuya energy monitoring devices (#149320)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-12 11:02:03 +02:00
yufeng
5b232226e9 Add timers and switches to Tuya irrigation systems (#149236) 2025-08-12 10:53:08 +02:00
J. Nick Koston
db81610983 Bump aioesphomeapi to 38.2.1 (#150455) 2025-08-12 10:46:53 +02:00
epenet
8f5c8caf07 Add mute switch to Tuya smoke detectors (#150469) 2025-08-12 10:45:39 +02:00
Matrix
f6af524ddf Fix YoLink valve state when device running in class A mode (#150456) 2025-08-12 10:42:40 +02:00
Norbert Rittel
e0a8c9b458 Fix missing sentence-casing in somfy_mylink (#150463) 2025-08-12 10:30:38 +02:00
Cyrill Raccaud
c46412ee5b Bump cookidoo-api to 0.14.0 (#150450) 2025-08-12 09:51:39 +02:00
Mike Degatano
a06df2a680 Make disk_lifetime issue into a repair (#150140) 2025-08-12 08:39:37 +02:00
epenet
68fbcc8665 Add pymodbus to package constraints (#150419)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-12 00:50:05 +02:00
Manu
6cde5cfdcc Add diagnostics platform to Sleep as Android (#150447) 2025-08-11 23:47:07 +02:00
Wesley Vos
5605f5896a Remove the battery feature from supported features (#150101) 2025-08-11 23:26:27 +02:00
Manu
93c30f1b59 Add sensor platform to Sleep as Android (#150440) 2025-08-11 23:25:51 +02:00
Pete Sage
6e3ccbefc2 Add quality scale for Sonos (#144928) 2025-08-11 22:50:47 +02:00
Noah Husby
715dc12792 Add media browsing to Russound RIO (#148248) 2025-08-11 22:40:40 +02:00
Denis Shulyaka
9cae0e0acc OpenAI thinking content (#150340) 2025-08-11 22:28:36 +02:00
Kevin David
e13702d9b1 Bump python-snoo to 0.7.0 (#150434) 2025-08-11 22:25:41 +02:00
Tsvi Mostovicz
3b358df9e7 Jewish Calendar add coordinator (#141456)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-11 22:22:13 +02:00
Foscam-wangzhengyu
e394435d7c Add more Foscam switches (#147409)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-11 22:14:32 +02:00
Aarni Koskela
9e398ffc10 Bump to ruuvitag-ble==0.2.1 (#150436) 2025-08-11 22:05:44 +02:00
tdfountain
065a53a90d Add quality scale and set Platinum for NUT (#143269)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-08-11 21:27:33 +02:00
Franck Nijhof
dc8aaac6fb 2025.8.1 (#150412) 2025-08-11 21:06:26 +02:00
Franck Nijhof
1e87f0cab1 Revert "Update pystiebeleltron to 0.2.3 (#150339)"
This reverts commit 3158aa8891.
2025-08-11 18:29:46 +00:00
epenet
1aeced0fe6 Fix issue with Tuya suggested unit (#150414) 2025-08-11 20:25:24 +02:00
Manu
91f6b8e1fe Add Sleep as Android integration (#142569) 2025-08-11 20:03:37 +02:00
Michael Hansen
1a9d1a9649 Handle non-streaming TTS case correctly (#150218) 2025-08-11 11:47:29 -05:00
MB901
cb7c7767b5 Add model_id for Freebox integration (#150430) 2025-08-11 18:46:57 +02:00
CubeZ2mDeveloper
d02029143c Add SONOFF Dongle Lite MG21 discovery support in ZHA (#148813)
Co-authored-by: zetao.zheng <1050713479@qq.com>
2025-08-11 12:41:41 -04:00
Robin Lintermann
3eda687d30 Smarla integration sensor platform (#145748) 2025-08-11 17:08:07 +02:00
Jamie Magee
7688c367cc Remove coinbase v2 API support (#148387)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-11 16:58:36 +02:00
Manu
a1dc3f3eac Bump habiticalib to version 0.4.2 (#150417) 2025-08-11 15:51:22 +02:00
Franck Nijhof
7ed14f0afd Bump version to 2025.8.1 2025-08-11 12:15:36 +00:00
Martin Hjelmare
dc5d159ffb Lower Z-Wave firmware check delay (#150411) 2025-08-11 12:14:57 +00:00
epenet
5fdd04b860 Handle empty electricity RAW sensors in Tuya (#150406) 2025-08-11 12:14:55 +00:00
Bram Kragten
6f5d72fd81 Update frontend to 20250811.0 (#150404) 2025-08-11 12:14:54 +00:00
Martin Hjelmare
d135d08813 Lower Z-Wave firmware check delay (#150411) 2025-08-11 14:09:04 +02:00
Brett Adams
9595759fd1 Add stale device cleanup to Teslemetry (#144523) 2025-08-11 13:54:44 +02:00
Etienne C.
d54f979612 Add a coordinator to Waze Travel Time (#148585) 2025-08-11 13:20:18 +02:00
Paulus Schoutsen
531073acc0 Allow specifying multiple integrations (#150349) 2025-08-11 13:12:29 +02:00
Bouwe Westerdijk
73cbc962f9 Implement snapshot testing for Plugwise binary_sensor platform (#150375) 2025-08-11 13:11:24 +02:00
epenet
34b0b71375 Add Tuya snapshot tests for empty electricity RAW sensors (#150407) 2025-08-11 12:05:33 +02:00
Manuel Stahl
3158aa8891 Update pystiebeleltron to 0.2.3 (#150339)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-11 09:59:45 +00:00
Philipp Waller
0c74e22069 Update knx-frontend to 2025.8.9.63154 (#150323) 2025-08-11 09:59:44 +00:00
Tom
a88549315c Bump airOS to 0.2.7 supporting firmware 8.7.11 (#150298) 2025-08-11 09:59:43 +00:00
steinmn
fde548b825 Set suggested display precision on Volvo energy/fuel consumption sensors (#150296) 2025-08-11 09:59:42 +00:00
Norbert Rittel
91b10fb6d7 Remove misleading "the" from Launch Library configuration (#150288) 2025-08-11 09:59:41 +00:00
Brett Adams
203c908730 Add charging and preconditioning actions to Teslemetry (#144184) 2025-08-11 11:59:39 +02:00
Thomas D
39f41fe17d Volvo: Skip unsupported API fields (#150285) 2025-08-11 09:59:39 +00:00
Denis Shulyaka
3d39fb08e5 Add GPT-5 support (#150281) 2025-08-11 09:59:38 +00:00
Thomas D
a1731cd210 Volvo: fix distance to empty battery (#150278) 2025-08-11 09:59:37 +00:00
Robert Resch
0c31ec9bb6 Constraint num2words to 0.5.14 (#150276) 2025-08-11 09:58:56 +00:00
tronikos
23e6148d3b Create an issue if Opower utility is no longer supported (#150315) 2025-08-11 11:58:12 +02:00
epenet
2a5a66f9d5 Handle empty electricity RAW sensors in Tuya (#150406) 2025-08-11 11:55:47 +02:00
dependabot[bot]
84ce5d65e1 Bump github/codeql-action from 3.29.7 to 3.29.8 (#150405)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-11 11:50:00 +02:00
Thomas D
762c179b80 Volvo: fix missing charging power options (#150272) 2025-08-11 09:30:40 +00:00
peteS-UK
66019953db Fix error on startup when no Apps or Radio plugins are installed for Squeezebox (#150267) 2025-08-11 09:30:39 +00:00
peteS-UK
a2931efeeb Fix handing for zero volume error in Squeezebox (#150265) 2025-08-11 09:30:38 +00:00
Martin Hjelmare
90c03f4115 Fix Tibber coordinator ContextVar warning (#150229) 2025-08-11 09:30:36 +00:00
Raphael Hehl
8afe3fed74 Handle Unifi Protect BadRequest exception during API key creation (#150223) 2025-08-11 09:30:35 +00:00
Martin Hjelmare
3ef332e168 Ignore MQTT vacuum battery warning (#150211) 2025-08-11 09:30:34 +00:00
puddly
8d821d9f98 Fix JSON serialization for ZHA diagnostics download (#150210) 2025-08-11 09:30:33 +00:00
Joakim Sørensen
23619fb2d3 Bump hass-nabucasa from 0.111.1 to 0.111.2 (#150209) 2025-08-11 09:30:31 +00:00
puddly
bc70aeea85 Bump ZHA to 0.0.68 (#150208) 2025-08-11 09:30:30 +00:00
Martin Hjelmare
beca01e857 Silence vacuum battery deprecation for built in integrations (#150204) 2025-08-11 09:30:29 +00:00
Manu
4765d9da92 Migrate unique_id only if monitor_id is present in Uptime Kuma (#150197) 2025-08-11 09:30:27 +00:00
Norbert Rittel
7951e822be Fix description of button.press action (#150181) 2025-08-11 09:30:26 +00:00
Maciej Bieniek
c653bfff9f Bump imgw_pib to version 1.5.3 (#150178) 2025-08-11 09:30:25 +00:00
Marco Gasparini
2223bdb48e Fix Progettihwsw config flow (#150149) 2025-08-11 09:30:23 +00:00
Thomas55555
42a3bef34a Handle HusqvarnaWSClientError (#150145) 2025-08-11 09:30:22 +00:00
Tom
6f4d405b26 Bump airOS to 0.2.6 improving device class matching more devices (#150134) 2025-08-11 09:30:21 +00:00
puddly
8edc5f0359 Bump ZHA to 0.0.67 (#150132) 2025-08-11 09:30:19 +00:00
Pete Sage
efcffd1016 Fix dialog enhancement switch for Sonos Arc Ultra (#150116) 2025-08-11 09:30:18 +00:00
Stefan H.
ee32992010 Fix Enigma2 startup hang (#149756) 2025-08-11 09:30:17 +00:00
epenet
319128043e Make Tuya complex type handling explicit (#149677) 2025-08-11 09:30:15 +00:00
Bram Kragten
00c7838587 Update frontend to 20250811.0 (#150404) 2025-08-11 10:58:03 +02:00
Stefan Agner
d8b576c087 Rename local OAuth2 source (#150403) 2025-08-11 10:37:25 +02:00
Tomeroeni
330dce24c5 Bump aiounifi to version 86 (#150321) 2025-08-11 10:32:35 +02:00
karwosts
0089d3efa1 Support multiple for StateSelector (#146288) 2025-08-11 11:24:20 +03:00
Manuel Stahl
167e9c8f4a Update pystiebeleltron to 0.2.3 (#150339)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-11 09:43:09 +02:00
Manu
c7f5e25d41 Update quality scale to platinum 🏆️ for Uptime Kuma (#148951) 2025-08-10 23:36:57 +02:00
Florian von Garrel
7b5dd4a0ec Paperless-ngx: Disable entities by default and extended docs (#149473) 2025-08-10 23:36:36 +02:00
Denis Shulyaka
84de6aacfc Remove native field from conversation chatlog delta listeners (#150389) 2025-08-10 22:41:37 +02:00
epenet
9561c84920 Fix issue with Tuya suggested unit (#150394) 2025-08-10 22:39:00 +02:00
jan iversen
7572b2a669 Bump pymodbus to v3.11.1. (#150383) 2025-08-10 22:38:49 +02:00
dontinelli
b48409ab1b Add new sensors with battery data for solarlog (#150385)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-10 22:28:50 +02:00
Austin Mroczek
ab04e2c501 TotalConnect major test updates (#139672)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-10 22:26:43 +02:00
epenet
38e6a7c6d4 Add Tuya test fixtures (#150387) 2025-08-10 22:17:14 +02:00
Vincent Wolsink
c2b284de2d Add humidity (steamer) control to Huum (#150330)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-10 21:55:20 +02:00
epenet
b760bf342a Add frost protection and valve status to Tuya thermostats (#150177) 2025-08-10 21:37:14 +02:00
Yuxin Wang
79cfea3fea Use mock_setup_entry fixture for APCUPSD (#150392) 2025-08-10 21:35:47 +02:00
dontinelli
69ace08c01 Bump solarlog_cli to 0.5.0 (#150384) 2025-08-10 20:57:03 +02:00
Yuxin Wang
bf33e286d6 Add recovery test logic for connection failure for APCUPSD (#150382)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-10 20:32:25 +02:00
epenet
6b83effc5f Simplify DEVICE_MOCKS in Tuya (#150381) 2025-08-10 17:58:51 +02:00
epenet
2b158fe690 Add Tuya snapshots tests for kt category (air conditioner) (#150256) 2025-08-10 17:45:40 +02:00
epenet
712ddc03c8 Add Tuya snapshots tests for kj category (air purifier) (#150171) 2025-08-10 17:44:55 +02:00
epenet
efe519faad Add mute support to Tuya wg2 category (gateway) (#150122) 2025-08-10 17:44:26 +02:00
epenet
1b7cb418eb Add Tuya snapshots tests for cwysj category (pet water fountain) (#150121) 2025-08-10 17:44:00 +02:00
Yuxin Wang
c678bcd4f1 Split test_config_flow_duplicate tests into two separate ones for APCUPSD (#150379) 2025-08-10 17:35:48 +02:00
Marc Mueller
0eaea13e8d Update pylint to 3.3.8 + astroid to 3.3.11 (#150327) 2025-08-10 16:41:59 +02:00
Norbert Rittel
b1e4513f7d Capitalize "Ice Plus" as feature name in lg_thinq (#150370) 2025-08-10 15:14:40 +02:00
Steven Looman
6d7f8bb7d7 Remove unused string scan_interval in upnp component (#150372) 2025-08-10 15:14:14 +02:00
Norbert Rittel
b481aaba77 Fix wrong translation of unlock_inside_the_door in xiaomi_ble (#150371)
thanks
2025-08-10 11:45:24 +02:00
Alexandre CUER
d539f37aa4 Remove CONF_EXCLUDE_FEEDID constant from the emoncms integration (#150333) 2025-08-10 09:52:17 +02:00
J. Nick Koston
865b3a6646 Add raw advertisement data to Bluetooth WebSocket API (#150358) 2025-08-10 09:44:15 +02:00
Denis Shulyaka
1c603f968f Bump openai to 1.99.5 (#150342) 2025-08-10 09:41:55 +02:00
J. Nick Koston
d821d27730 Bump habluetooth to 5.0.1 (#150320) 2025-08-10 09:41:25 +02:00
tronikos
dfa060a7e1 Remove Mercury NZ Limited virtual integration (#150316) 2025-08-10 09:38:48 +02:00
Alexandre CUER
5262cca8e6 Use "device_id" instead of "slave" in modbus integration (#150200) 2025-08-10 09:31:26 +02:00
Yuxin Wang
2c36a74da5 Also test unique ID in config flow test for APCUPSD (#150362) 2025-08-10 07:49:25 +02:00
G Johansson
084cde6ecf Add base entity to workday (#150329) 2025-08-09 21:52:39 +02:00
Denis Shulyaka
3e34aa5fb7 Add thinking and native content to chatlog (#149699) 2025-08-09 15:26:19 +02:00
Pete Sage
268f0d9e03 Add Tests for Sonos Alarms (#150014) 2025-08-09 13:47:16 +02:00
Thomas D
f8d3bc1b89 Volvo: Skip unsupported API fields (#150285) 2025-08-09 12:24:53 +02:00
Philipp Waller
fb64ff1d17 Update knx-frontend to 2025.8.9.63154 (#150323) 2025-08-09 12:14:31 +02:00
steinmn
ff72faf83a Set suggested display precision on Volvo energy/fuel consumption sensors (#150296) 2025-08-09 07:48:49 +02:00
Tom
acb58c41eb Bump airOS to 0.2.7 supporting firmware 8.7.11 (#150298) 2025-08-09 07:48:05 +02:00
epenet
586b197fc3 Speedup Tuya snapshot tests (#150198) 2025-08-09 07:46:48 +02:00
Manu
5c1d16d582 Abort config flow if user has no friends in PlayStation Network (#150301) 2025-08-09 07:44:35 +02:00
Tom
73be4625ae Add sensor uom suggestions to airOS (#150303) 2025-08-09 07:43:51 +02:00
Andrew Jackson
775701133d Remove deprecated notify platform from Mastodon (#149735) 2025-08-09 01:17:48 +02:00
MB901
1af0282091 Add hardware version to FreeboxRouter device info (#150004) 2025-08-09 00:54:53 +02:00
Joakim Plate
c876bed33f Add ToGrill integration (#150075)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-09 00:24:54 +02:00
G Johansson
e9d39a826e Remove deprecated horizontal vane select from Sensibo (#150108) 2025-08-09 00:24:38 +02:00
Thomas55555
f9e1c07c04 Add event platform to Husqvarna Automower (#148212)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-08-09 00:07:47 +02:00
Renat Sibgatulin
c0bef51563 Refactor airq tests to mock the API class in a fixture (#149712) 2025-08-09 00:01:39 +02:00
Willem-Jan van Rootselaar
b41a9575af Add protected call for data retrieval (#150035) 2025-08-08 23:58:19 +02:00
Norbert Rittel
e585b3abd1 Fix missing sentence-casing of "AC failure" in bosch_alarm (#150279) 2025-08-08 23:33:55 +02:00
mbo18
5d2877f454 Add absolute humidity sensor to Awair integration (#150110) 2025-08-08 22:55:24 +02:00
Artur Pragacz
2d89c60ac5 Improve service schemas in unifiprotect (#150236) 2025-08-08 22:51:24 +02:00
Marco Gasparini
860a7b7d91 Fix Progettihwsw config flow (#150149) 2025-08-08 22:29:50 +02:00
Ludovic BOUÉ
5585376b40 Switchbot Hub Light level (#150147) 2025-08-08 22:13:23 +02:00
Thomas55555
c4cb70fc06 Handle HusqvarnaWSClientError (#150145) 2025-08-08 22:12:18 +02:00
Pete Sage
981ae39182 Fix dialog enhancement switch for Sonos Arc Ultra (#150116) 2025-08-08 22:11:32 +02:00
Alexandre CUER
dff4f79925 Remove useless strings from emoncms (#150182) 2025-08-08 22:00:48 +02:00
Manu
bf64e11960 Migrate unique_id only if monitor_id is present in Uptime Kuma (#150197) 2025-08-08 21:38:27 +02:00
Thomas D
823d20c67f Volvo: fix distance to empty battery (#150278) 2025-08-08 21:28:29 +02:00
Norbert Rittel
1a654cd35d Use common strings "Low"/"High" for more states in tuya (#150283) 2025-08-08 20:52:03 +02:00
Denis Shulyaka
13e592edaf Bump anthropic to 0.62.0 (#150284) 2025-08-08 20:51:49 +02:00
Norbert Rittel
94191239c6 Remove misleading "the" from Launch Library configuration (#150288) 2025-08-08 20:50:14 +02:00
Denis Shulyaka
91a1ca09f7 Add GPT-5 support (#150281) 2025-08-08 20:49:09 +02:00
Tom
9f1fe8a067 Add binary_sensor to UISP airOS (#149803)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-08 20:34:40 +02:00
Yuxin Wang
f2c9cdb09e Add quality scale for APCUPSD integration (#146999) 2025-08-08 20:31:34 +02:00
Tom
712115cdb8 Bump airOS to 0.2.6 improving device class matching more devices (#150134) 2025-08-08 19:33:16 +02:00
dependabot[bot]
eb6ae9d2d6 Bump actions/cache from 4.2.3 to 4.2.4 (#150253)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 15:28:51 +02:00
puddly
b126f3fa66 Bump ZHA to 0.0.68 (#150208) 2025-08-08 15:27:17 +02:00
puddly
2d720f0d32 Fix JSON serialization for ZHA diagnostics download (#150210) 2025-08-08 15:27:00 +02:00
Raphael Hehl
c0155f5e80 Handle Unifi Protect BadRequest exception during API key creation (#150223) 2025-08-08 15:26:02 +02:00
Thomas D
23a2d69984 Volvo: fix missing charging power options (#150272) 2025-08-08 15:25:19 +02:00
peteS-UK
a8779d5f52 Fix error on startup when no Apps or Radio plugins are installed for Squeezebox (#150267) 2025-08-08 15:24:41 +02:00
Robert Resch
01c197e830 Constraint num2words to 0.5.14 (#150276) 2025-08-08 15:06:31 +02:00
peteS-UK
ef4f476844 Fix handing for zero volume error in Squeezebox (#150265) 2025-08-08 14:26:04 +02:00
dependabot[bot]
8aee05b8b0 Bump github/codeql-action from 3.29.5 to 3.29.7 (#150254)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-08 13:57:20 +02:00
Denis Shulyaka
0f3f8d5707 Bump openai to 1.99.3 (#150232) 2025-08-08 13:57:12 +02:00
epenet
2948b1c58e Cleanup Tuya fixture files (#150190) 2025-08-08 13:56:44 +02:00
Joris Pelgröm
4cb2af4d08 Add select platform to LetPot integration (#150212) 2025-08-08 13:47:13 +02:00
G Johansson
8e12d2028d Remove previously deprecated linear_garage_door (#150109)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-08 13:09:01 +02:00
G Johansson
5b046def8e Move holiday object to runtime data in workday (#149122) 2025-08-08 12:02:07 +02:00
Åke Strandberg
6a81bf6f5e Improve interface between Miele integration and pymiele library (#150214) 2025-08-08 11:40:04 +02:00
epenet
102d6a37c0 Use generated device id in tuya tests (#150196) 2025-08-08 09:15:42 +02:00
Yuxin Wang
fd6aba3022 Add missing strings for APCUPSD (#150242) 2025-08-08 08:41:03 +02:00
tronikos
a88eadf863 Update Opower strings (#150247) 2025-08-08 08:40:28 +02:00
Tom
52f0d04c38 Improve Roborock test teardown (#150144) 2025-08-07 20:32:05 -07:00
Denis Shulyaka
3ab80c6ff2 Bump google-genai to 1.29.0 (#150225) 2025-08-07 16:26:02 -07:00
abmantis
86e7ca9790 Rename to extract_from_target 2025-08-07 22:02:41 +01:00
Vincent Wolsink
71485871c8 Bump Huum requirement to 0.8.1 (#150220) 2025-08-07 21:59:58 +01:00
Martin Hjelmare
ba0da4c2a3 Remove switchbot vacuum battery attribute (#150227) 2025-08-07 22:39:45 +02:00
Martin Hjelmare
cbaadebac3 Fix Tibber coordinator ContextVar warning (#150229) 2025-08-07 22:39:24 +02:00
Åke Strandberg
fd0ae32058 Bump pymiele to 0.5.3 (#150216) 2025-08-07 20:48:25 +02:00
Martin Hjelmare
382bf78ee0 Ignore MQTT vacuum battery warning (#150211) 2025-08-07 20:11:39 +02:00
Martin Hjelmare
6aa077a48d Silence vacuum battery deprecation for built in integrations (#150204) 2025-08-07 19:43:36 +02:00
Joakim Sørensen
b638fcbaad Bump hass-nabucasa from 0.111.1 to 0.111.2 (#150209) 2025-08-07 19:42:22 +02:00
G Johansson
704edac9fd Remove deprecated state from backup schedule (#150114)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-07 17:42:53 +01:00
yufeng
ff9e2a8f1e Update tuya translation for reverse energy sensor (#149317) 2025-08-07 17:08:57 +02:00
Stefan H.
d778afe61a Fix Enigma2 startup hang (#149756) 2025-08-07 15:33:24 +01:00
Norbert Rittel
448084e2b5 Fix description of button.press action (#150181) 2025-08-07 15:22:36 +02:00
jan iversen
d99379ffdf modbus: use only 1 logger instance. (#150130) 2025-08-07 15:11:00 +02:00
Maciej Bieniek
b835b7f266 Bump imgw_pib to version 1.5.3 (#150178) 2025-08-07 13:31:55 +02:00
epenet
e96e97edca Add Tuya snapshots tests for sj category (rain sensor) (#150173) 2025-08-07 13:24:33 +02:00
epenet
df7c657d7e Add Tuya snapshots tests for wk category (thermostat) (#150175) 2025-08-07 12:53:19 +02:00
epenet
4f5502ab47 Add Tuya snapshots tests for ldcg category (luminance sensor) (#150169) 2025-08-07 12:50:46 +02:00
epenet
c30ee776e9 Add Tuya snapshots tests for zwjcy category (soil sensor) (#150168) 2025-08-07 10:44:51 +02:00
epenet
efebdc0181 Add Tuya snapshots tests for cl category (curtains) (#150167) 2025-08-07 10:42:36 +02:00
jan iversen
da7fc88f1f Bump pymodbus to v3.11.0. (#150129) 2025-08-07 08:13:11 +02:00
Joris Pelgröm
566aeb5e9a Bump letpot to 0.6.1 (#150137) 2025-08-07 08:08:47 +02:00
J. Nick Koston
d17f0ef55a Bump inkbird-ble to 1.1.0 to add support for IAM-T2 (#150158) 2025-08-07 08:07:31 +02:00
Abílio Costa
35025c4b59 Fix roborock config flow tests (#150135) 2025-08-07 00:05:31 +01:00
Abílio Costa
e5d512d5e5 Add entity filter to target state change tracker (#150064)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 20:03:09 +02:00
puddly
2b5028bfb7 Bump ZHA to 0.0.67 (#150132) 2025-08-06 19:56:44 +02:00
Franck Nijhof
f074d81c8b 2025.8.0 (#150115) 2025-08-06 19:53:07 +02:00
Franck Nijhof
d791d66104 Bump version to 2025.8.0 2025-08-06 17:19:42 +00:00
Paul Bottein
757fee9f73 Use state selector for climate set hvac mode service (#148963) 2025-08-06 17:48:55 +01:00
Artur Pragacz
06130219b4 Use relative condition keys (#150021) 2025-08-06 17:20:30 +01:00
AlCalzone
4e2fe63182 Check for Z-Wave firmware updates of sleeping devices (#150123) 2025-08-06 18:08:51 +02:00
Luca Angemi
dd9bd50a7b Deprecate Roborock battery feature (#150126) 2025-08-06 15:35:24 +00:00
Luca Angemi
d0cc9990dd Deprecate Roborock battery feature (#150126) 2025-08-06 17:32:23 +02:00
Åke Strandberg
6243517271 Improve miele climate test coverage (#149859) 2025-08-06 15:20:37 +00:00
epenet
76ca9ce3a4 Add comment to Tuya code for unsupported devices (#150125)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 17:12:32 +02:00
Abílio Costa
f8f4c7ddeb copilot: Update homeassistant/components/websocket_api/commands.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 15:57:16 +01:00
abmantis
8308be185e Add expand_target websocket command 2025-08-06 15:50:16 +01:00
epenet
124e7cf4c8 Add support for tuya ywcgq category (liquid level) (#150096)
Thanks @joostlek / @frenck
2025-08-06 15:38:50 +02:00
Franck Nijhof
ad8ff7570d Bump version to 2025.8.0b5 2025-08-06 13:34:19 +00:00
Bram Kragten
c4c14bee36 Update frontend to 20250806.0 (#150106)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-06 13:34:10 +00:00
Joost Lekkerkerker
2cf5badc17 Enable disabled Ollama config entries after entry migration (#150105) 2025-08-06 13:34:09 +00:00
G Johansson
0478f43b4b Bump holidays to 0.78 (#150103) 2025-08-06 13:34:08 +00:00
Martin Hjelmare
d18f6273a8 Fix update coordinator ContextVar log for custom integrations (#150100) 2025-08-06 13:34:07 +00:00
David Poll
94bade0202 Fix zero-argument functions with as_function (#150062) 2025-08-06 13:34:06 +00:00
G Johansson
260ea9a3be Remove previously deprecated raw value attribute from onewire (#150112) 2025-08-06 15:24:22 +02:00
Bram Kragten
e1f6820cb6 Update frontend to 20250806.0 (#150106)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-06 15:22:46 +02:00
David Poll
2215777cfb Fix zero-argument functions with as_function (#150062) 2025-08-06 15:20:03 +02:00
G Johansson
fa3ce62ae8 Bump holidays to 0.78 (#150103) 2025-08-06 14:55:00 +02:00
Joakim Sørensen
33421bddf3 Remove myself as codeowner from traccar_server (#150107) 2025-08-06 14:51:43 +02:00
markhannon
1efe2b437d Improve dependency transparency for Zimi integration (#145879) 2025-08-06 14:50:06 +02:00
Joost Lekkerkerker
a54f0adf74 Enable disabled Ollama config entries after entry migration (#150105) 2025-08-06 14:27:36 +02:00
epenet
afe574f74e Simplify DPCode lookup in Tuya (#150052) 2025-08-06 14:24:01 +02:00
epenet
25aae8944d Add Tuya snapshots tests for mzj category (sous-vide) (#150102) 2025-08-06 14:17:30 +02:00
Martin Hjelmare
f26e6ad211 Fix update coordinator ContextVar log for custom integrations (#150100) 2025-08-06 14:14:42 +02:00
Franck Nijhof
855e8b08e9 Bump version to 2025.8.0b4 2025-08-06 11:26:23 +00:00
Joost Lekkerkerker
9820956b46 Enable disabled OpenAI config entries after entry migration (#150099) 2025-08-06 11:26:10 +00:00
Joost Lekkerkerker
1693299652 Enable disabled Anthropic config entries after entry migration (#150098) 2025-08-06 11:26:09 +00:00
starkillerOG
75200a9426 Reduce Reolink fimware polling from 12h to 24h (#150095) 2025-08-06 11:24:58 +00:00
Robert Resch
fa587cec38 Fix hassio tests by only mocking supervisor id (#150093) 2025-08-06 11:24:57 +00:00
epenet
47946d0103 Add Tuya debug logging for new devices (#150091)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 11:24:56 +00:00
Joost Lekkerkerker
e9444a2e4d Enable disabled Anthropic config entries after entry migration (#150098) 2025-08-06 13:24:49 +02:00
Joost Lekkerkerker
60988534a9 Enable disabled OpenAI config entries after entry migration (#150099) 2025-08-06 13:24:37 +02:00
epenet
d2586ca4ff Remove tuya vacuum battery level attribute (#150086) 2025-08-06 11:23:14 +00:00
Michael
932bf81ac8 Add common constant ATTR_CONFIG_ENTRY_ID (#150067) 2025-08-06 12:42:51 +02:00
Philipp Waller
4e21ef5fbc Update knx-frontend to 2025.8.6.52906 (#150085) 2025-08-06 10:02:44 +00:00
Joakim Sørensen
a9998b41a5 Bump hass-nabucasa from 0.111.0 to 0.111.1 (#150082) 2025-08-06 10:01:07 +00:00
puddly
0a72f31504 Bump ZHA to 0.0.66 (#150081) 2025-08-06 10:00:41 +00:00
Retha Runolfsson
f3a50c176d Bump pyswitchbot to 0.68.3 (#150080) 2025-08-06 10:00:39 +00:00
J. Nick Koston
b6b422775a Bump habluetooth to 4.0.2 (#150078)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-08-06 09:58:55 +00:00
J. Nick Koston
00baecd01e Bump yalexs to 8.11.1 (#150073) 2025-08-06 09:57:46 +00:00
Pete Sage
b370b7a7f6 Bump soco to 0.30.11 (#150072) 2025-08-06 09:57:45 +00:00
Robert Svensson
baa2d751e4 Bump axis to v65 (#150065) 2025-08-06 09:57:43 +00:00
Martin Hjelmare
c8d54fcffc Remove matter vacuum battery level attribute (#150061) 2025-08-06 09:57:42 +00:00
karwosts
80e3655bac Fix template sensor uom string (#150057) 2025-08-06 09:57:41 +00:00
starkillerOG
e5b0a366fe Bump reolink-aio to 0.14.6 (#150055) 2025-08-06 09:57:40 +00:00
Joost Lekkerkerker
20e78a15b4 Change AI task strings (#150051) 2025-08-06 09:57:39 +00:00
Bram Kragten
9d806aef88 Update frontend to 20250805.0 (#150049) 2025-08-06 09:57:38 +00:00
Andrew Jackson
7e16973166 Default to zero quantity on new todo items in Mealie (#150047) 2025-08-06 09:57:36 +00:00
Martin Hjelmare
e5f776fdc3 Improve downloader service (#150046)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-06 09:57:35 +00:00
Joost Lekkerkerker
83ccdb35f1 Ignore vacuum entities that properly deprecate battery (#150043) 2025-08-06 09:57:34 +00:00
Stefan Agner
52984f2fd1 Add missing translations for unhealthy Supervisor issues (#150036) 2025-08-06 09:57:33 +00:00
Jan Bouwhuis
a548e13da5 Deprecate MQTT vacuum battery feature and remove it as default feature (#149877)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-06 09:57:32 +00:00
tronikos
55301a50b2 Fix PG&E and Duquesne Light Company in Opower (#149658)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-06 09:57:30 +00:00
Jan Bouwhuis
1302b6744e Deprecate MQTT vacuum battery feature and remove it as default feature (#149877)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-08-06 11:51:31 +02:00
tronikos
0aeff366bd Fix PG&E and Duquesne Light Company in Opower (#149658)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-06 11:32:42 +02:00
epenet
0db23b0da6 Add Tuya debug logging for new devices (#150091)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-06 11:23:34 +02:00
epenet
863e2074b6 Add more switches to Tuya tdq category (#150090) 2025-08-06 11:03:26 +02:00
epenet
13828f6713 Remove tuya vacuum battery level attribute (#150086) 2025-08-06 11:02:04 +02:00
starkillerOG
fdb38ec8ec Reduce Reolink fimware polling from 12h to 24h (#150095) 2025-08-06 10:58:52 +02:00
Robert Resch
55abb6e594 Fix hassio tests by only mocking supervisor id (#150093) 2025-08-06 10:53:55 +02:00
Stefan Agner
a83e4f5c63 Add missing translations for unhealthy Supervisor issues (#150036) 2025-08-06 10:07:36 +02:00
J. Nick Koston
cba15ee439 Bump habluetooth to 4.0.2 (#150078)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-08-06 09:51:44 +02:00
dependabot[bot]
400620399a Bump actions/download-artifact from 4.3.0 to 5.0.0 (#150084)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 09:48:10 +02:00
dependabot[bot]
28e19215ad Bump actions/ai-inference from 1.2.7 to 1.2.8 (#150083)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-06 09:46:02 +02:00
Philipp Waller
119d0a0170 Update knx-frontend to 2025.8.6.52906 (#150085) 2025-08-06 09:28:44 +02:00
Joakim Sørensen
69faf38e86 Bump hass-nabucasa from 0.111.0 to 0.111.1 (#150082) 2025-08-06 09:24:09 +02:00
puddly
d0ef1a1a8b Bump ZHA to 0.0.66 (#150081) 2025-08-06 09:22:07 +02:00
Retha Runolfsson
8f328810bf Bump pyswitchbot to 0.68.3 (#150080) 2025-08-05 19:20:37 -10:00
Pete Sage
4f1b75e3b4 Bump soco to 0.30.11 (#150072) 2025-08-05 22:56:27 +01:00
J. Nick Koston
445a7fc749 Bump yalexs to 8.11.1 (#150073) 2025-08-05 22:55:01 +01:00
Robert Svensson
977c0797aa Bump axis to v65 (#150065) 2025-08-05 11:36:48 -10:00
Ludovic BOUÉ
a24f027923 Add icon for esa_state in Matter integration (#149075) 2025-08-05 23:18:48 +02:00
Martin Hjelmare
7b45798e30 Remove matter vacuum battery level attribute (#150061) 2025-08-05 22:40:42 +02:00
Artur Pragacz
2b0cda0ad1 Adjust condition and trigger method names (#150060) 2025-08-05 19:46:03 +01:00
starkillerOG
12dca4b1bf Bump reolink-aio to 0.14.6 (#150055) 2025-08-05 18:58:22 +02:00
karwosts
8c509b11b2 Fix template sensor uom string (#150057) 2025-08-05 18:56:34 +02:00
Joost Lekkerkerker
991c9008bd Change AI task strings (#150051) 2025-08-05 16:35:41 +02:00
Martin Hjelmare
fe95f6e1c5 Improve downloader service (#150046)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-08-05 16:12:55 +02:00
Bram Kragten
37510aa316 Update frontend to 20250805.0 (#150049) 2025-08-05 16:01:47 +02:00
Marc Mueller
4e40e9bf74 Update mypy-dev to 1.18.0a4 (#150005) 2025-08-05 15:56:03 +02:00
Bouwe Westerdijk
70c9b1f095 Implement snapshot testing for Plugwise button platform (#149984) 2025-08-05 15:31:02 +02:00
dependabot[bot]
f714388130 Bump docker/login-action from 3.4.0 to 3.5.0 (#150034)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 15:25:58 +02:00
Joost Lekkerkerker
ffb2a693f4 Ignore vacuum entities that properly deprecate battery (#150043) 2025-08-05 15:22:21 +02:00
Andrew Jackson
9d8e253ad3 Default to zero quantity on new todo items in Mealie (#150047) 2025-08-05 15:15:08 +02:00
dependabot[bot]
31631cc882 Bump actions/ai-inference from 1.2.4 to 1.2.7 (#150038)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-05 14:40:01 +02:00
Franck Nijhof
808273962d Bump version to 2025.8.0b3 2025-08-05 12:01:54 +00:00
Martin Hjelmare
094fe43557 Fix Z-Wave duplicate provisioned device (#150008) 2025-08-05 11:56:00 +00:00
Michael Hansen
8f5bd51eef Bump wyoming to 1.7.2 (#150007) 2025-08-05 11:55:59 +00:00
Thomas55555
faf0ded854 Bump aioautomower to 2.1.2 (#150003) 2025-08-05 11:55:58 +00:00
Matthias Alphart
d20302f97b Update knx-frontend to 2025.8.4.154919 (#149991) 2025-08-05 11:55:57 +00:00
Grzegorz M
74c25496bc Bump icalendar from 6.1.0 to 6.3.1 for CalDav (#149990) 2025-08-05 11:55:56 +00:00
Petro31
67ecea0778 Create battery_level deprecation repair for template vacuum platform (#149987)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-05 11:55:55 +00:00
Robert Resch
164e5871cb Bump deebot-client to 13.6.0 (#149983) 2025-08-05 11:55:53 +00:00
Joakim Sørensen
7a9966120e Bump hass-nabucasa from 0.110.1 to 0.111.0 (#149977) 2025-08-05 11:55:52 +00:00
Martin Hjelmare
d810b4ca38 Bump zwave-js-server-python to 0.67.1 (#149972) 2025-08-05 11:55:51 +00:00
epenet
896062d669 Fix Tuya fan speeds with numeric values (#149971) 2025-08-05 11:54:02 +00:00
epenet
03bd133577 Rename Tuya fixture files (#149927) 2025-08-05 11:47:15 +00:00
Martin Hjelmare
4596c1644b Direct migrations with Z-Wave JS UI to docs (#149966) 2025-08-05 11:43:12 +00:00
Petro31
778fe96eb6 Fix optimistic covers (#149962) 2025-08-05 11:43:11 +00:00
Joost Lekkerkerker
a06557ed54 Pass config entry to Remote Calendar coordinator (#149958) 2025-08-05 11:43:10 +00:00
Joakim Sørensen
641621d184 Bump hass-nabucasa from 0.110.0 to 0.110.1 (#149956) 2025-08-05 11:43:09 +00:00
Joost Lekkerkerker
b163f2b855 Pass config entry to SMS coordinator (#149955) 2025-08-05 11:43:08 +00:00
Joost Lekkerkerker
0c0604e5bd Pass config entry to Fronius coordinator (#149954) 2025-08-05 11:43:07 +00:00
Joost Lekkerkerker
e0e4fc8afb Pass config entry to AsusWRT coordinator (#149953) 2025-08-05 11:43:05 +00:00
Joost Lekkerkerker
f832a2844f Pass config entry to Unifi coordinator (#149952) 2025-08-05 11:43:04 +00:00
Erik Montnemery
4b0b268227 Fix DeviceEntry.suggested_area deprecation warning (#149951) 2025-08-05 11:43:03 +00:00
Joost Lekkerkerker
dfc16d9f15 Pass config entry to Broadlink coordinator (#149949) 2025-08-05 11:43:02 +00:00
Joost Lekkerkerker
4e3309bd22 Pass config entry to Snoo coordinator (#149947) 2025-08-05 11:43:01 +00:00
Joost Lekkerkerker
a5a45ce59f Pass config entry to Smarttub coordinator (#149946) 2025-08-05 11:43:00 +00:00
Joost Lekkerkerker
6cb48da2f3 Pass config entry to Meteo France coordinator (#149945) 2025-08-05 11:42:59 +00:00
Joost Lekkerkerker
ab5aac47b2 Pass config entry to Kraken coordinator (#149944) 2025-08-05 11:42:58 +00:00
Joost Lekkerkerker
d50b9405f0 Pass config entry to Simplisafe coordinator (#149943) 2025-08-05 11:42:57 +00:00
Joost Lekkerkerker
a2722f08c4 Pass config entry to Mill coordinator (#149942) 2025-08-05 11:42:56 +00:00
Joost Lekkerkerker
aa700c3982 Pass config entry to hue coordinator (#149941) 2025-08-05 11:42:55 +00:00
Ståle Storø Hauknes
3b1bb41129 Airthings ContextVar warning (#149930) 2025-08-05 11:42:54 +00:00
Brett Adams
79ef51fb07 Fix credit sensor when there are no vehicles in Teslemetry (#149925) 2025-08-05 11:34:16 +00:00
andreimoraru
53769da55e Bump yt-dlp to 2025.07.21 (#149916)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-05 11:34:15 +00:00
Thomas55555
82d153a240 Fix options for error sensor in Husqvarna Automower (#149901) 2025-08-05 11:34:13 +00:00
Andrew Jackson
0dac635478 Bump aiomealie to 0.10.1 (#149890) 2025-08-05 11:34:12 +00:00
Tom
90fc7d314b Bump python-airos to 0.2.4 (#149885) 2025-08-05 11:34:10 +00:00
Mike Degatano
636c1b7e4f Add translation strings for unsupported OS version (#149837) 2025-08-05 11:34:09 +00:00
Christopher Fenner
49c23de2d2 Update sensor icons in Volvo integration (#149811) 2025-08-05 11:34:08 +00:00
Ludovic BOUÉ
e48820b2c1 Matter pump setpoint CurrentLevel limit (#149689) 2025-08-05 11:34:06 +00:00
epenet
3a64357201 Fix Tuya fan speeds with numeric values (#149971) 2025-08-05 13:22:45 +02:00
Thomas55555
20fdec9e9c Reduce polling in Husqvarna Automower (#149255)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-05 12:56:27 +02:00
Nippey
064a63fe1f Add support for Tuya "Bresser 7-in-1 Weatherstation" (#149498) 2025-08-05 12:54:40 +02:00
epenet
803654223a Revert "Do not create Tuya fan entities without control" (#150032) 2025-08-05 12:23:06 +02:00
epenet
a6148b50cf Add Tuya snapshots tests for button and vacuum platform (#149968) 2025-08-05 11:21:05 +02:00
Ludovic BOUÉ
02a3c5be14 Matter pump setpoint CurrentLevel limit (#149689) 2025-08-05 11:19:03 +02:00
Paulus Schoutsen
08ea640629 Do not allow overriding users when uuid is duplicate (#149408) 2025-08-05 11:13:32 +02:00
Grzegorz M
7dd761c9c3 Bump icalendar from 6.1.0 to 6.3.1 for CalDav (#149990) 2025-08-05 11:09:03 +02:00
epenet
6b827dfc33 Do not create Tuya fan entities without control (#149976)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-05 09:52:29 +02:00
Robert Resch
67c19087dd Bump deebot-client to 13.6.0 (#149983) 2025-08-05 09:08:33 +02:00
epenet
55c7c2f730 Redact terminal_id in Tuya fixture files (#149957) 2025-08-05 09:06:15 +02:00
Matthias Alphart
afee936c3d Update knx-frontend to 2025.8.4.154919 (#149991) 2025-08-05 09:03:23 +02:00
Marc Mueller
ed2ced6c36 Fix zimi test RuntimeWarnings (#150017) 2025-08-05 08:55:54 +02:00
Martin Hjelmare
4c5cf028d7 Fix Z-Wave duplicate provisioned device (#150008) 2025-08-05 08:50:42 +02:00
Thomas55555
68faa897ad Bump aioautomower to 2.1.2 (#150003) 2025-08-05 08:48:47 +02:00
Artur Pragacz
53c9c42148 Use relative trigger keys (#149846) 2025-08-04 23:01:40 +01:00
Michael Hansen
d48cc03be7 Bump wyoming to 1.7.2 (#150007) 2025-08-04 23:36:24 +02:00
starkillerOG
28236aa023 Reolink disable entities by default (#149986) 2025-08-04 23:03:38 +02:00
Tom
bfae07135a Bump python-airos to 0.2.4 (#149885) 2025-08-04 22:35:47 +02:00
Thomas55555
99d580e371 Add reset cutting blade usage time to Husqvarna Automower (#149628) 2025-08-04 22:28:34 +02:00
Petro31
4d53450cbf Create battery_level deprecation repair for template vacuum platform (#149987)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-04 21:54:50 +02:00
epenet
1fbce01e26 Add initial support for Tuya wg2 category (#149676) 2025-08-04 21:30:43 +02:00
markhannon
a9621ac811 Add tests for Zimi entitites (#144292) 2025-08-04 20:41:05 +02:00
Marc Mueller
94f2118b19 Fix flaky history_stats test case (#149974) 2025-08-04 20:34:07 +02:00
Mike Degatano
73ca6b4900 Add translation strings for unsupported OS version (#149837) 2025-08-04 17:40:11 +02:00
Joakim Sørensen
31e647b5b0 Bump hass-nabucasa from 0.110.1 to 0.111.0 (#149977) 2025-08-04 16:59:07 +02:00
epenet
fac5b2c09c Add Tuya snapshots tests for camera platform (#149959) 2025-08-04 16:58:46 +02:00
Martin Hjelmare
ae48179e95 Bump zwave-js-server-python to 0.67.1 (#149972) 2025-08-04 15:58:57 +02:00
Willem-Jan van Rootselaar
88c9d5dbe3 Fix bsblan reauthentication (#149926) 2025-08-04 15:35:41 +02:00
hanwg
b76f47cd9f Add bot details to Telegram bot events (#148638) 2025-08-04 14:32:48 +02:00
hanwg
822e1ffc8d Minor UI improvements for Telegram bot actions (#149889) 2025-08-04 14:27:15 +02:00
Martin Hjelmare
1632e0aef6 Direct migrations with Z-Wave JS UI to docs (#149966) 2025-08-04 13:36:12 +02:00
Petro31
e2bc73f153 Fix optimistic covers (#149962) 2025-08-04 13:35:13 +02:00
Joakim Sørensen
46cfdddc80 Move to the new handler for migrate_paypal_agreement (#149934) 2025-08-04 13:29:11 +02:00
Joost Lekkerkerker
0bdf6757c4 Pass config entry to Remote Calendar coordinator (#149958) 2025-08-04 13:28:59 +02:00
Joost Lekkerkerker
312e590360 Pass config entry to Broadlink coordinator (#149949) 2025-08-04 13:27:51 +02:00
Joost Lekkerkerker
7a6aaf667b Pass config entry to hue coordinator (#149941) 2025-08-04 13:27:10 +02:00
Joost Lekkerkerker
33eaca24d6 Pass config entry to Simplisafe coordinator (#149943) 2025-08-04 13:21:29 +02:00
Joost Lekkerkerker
3d27d501b1 Pass config entry to Mill coordinator (#149942) 2025-08-04 13:20:30 +02:00
Joost Lekkerkerker
39b651e075 Pass config entry to Kraken coordinator (#149944) 2025-08-04 13:17:27 +02:00
Joost Lekkerkerker
a962777a2e Pass config entry to Meteo France coordinator (#149945) 2025-08-04 13:14:50 +02:00
Joost Lekkerkerker
594ce8f266 Pass config entry to Smarttub coordinator (#149946) 2025-08-04 12:58:46 +02:00
Joost Lekkerkerker
9f867f268c Pass config entry to Snoo coordinator (#149947) 2025-08-04 12:58:19 +02:00
Joost Lekkerkerker
9edd242734 Pass config entry to SMS coordinator (#149955) 2025-08-04 12:49:26 +02:00
Bouwe Westerdijk
93e11aa8bc Refresh plugwise test-fixtures (#149875) 2025-08-04 12:35:24 +02:00
Joakim Sørensen
c2b298283e Bump hass-nabucasa from 0.110.0 to 0.110.1 (#149956) 2025-08-04 12:32:01 +02:00
Joost Lekkerkerker
106c086e8b Pass config entry to Unifi coordinator (#149952) 2025-08-04 12:29:27 +02:00
Markus Adrario
cbf4130bff Add zeroconf flow to Homee (#149820)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-04 12:26:22 +02:00
Erik Montnemery
afffe0b08b Fix DeviceEntry.suggested_area deprecation warning (#149951) 2025-08-04 12:20:30 +02:00
Joost Lekkerkerker
c1ccfee7cc Pass config entry to AsusWRT coordinator (#149953) 2025-08-04 12:08:03 +02:00
epenet
8d8383e1c1 Add extra Tuya snapshots for dc and dj category (lights) (#149940) 2025-08-04 12:07:25 +02:00
Marc Mueller
f350a1a1fa Add hassfest check to help with future dependency updates (#149624) 2025-08-04 12:03:39 +02:00
epenet
fe2bd8d09e Add Tuya snapshots for ywcgq category (#149948) 2025-08-04 12:02:34 +02:00
Joost Lekkerkerker
cf14226b02 Pass config entry to Fronius coordinator (#149954) 2025-08-04 12:02:21 +02:00
Brett Adams
bd3fe1d4ad Fix credit sensor when there are no vehicles in Teslemetry (#149925) 2025-08-04 11:26:14 +02:00
Christopher Fenner
377ca04be8 Update sensor icons in Volvo integration (#149811) 2025-08-04 11:24:51 +02:00
epenet
5837f55205 Add extra Tuya snapshots for cz category (#149938) 2025-08-04 11:23:58 +02:00
andreimoraru
0766edb9c4 Bump yt-dlp to 2025.07.21 (#149916)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-08-04 11:15:38 +02:00
epenet
e62e3778f3 Add Tuya snapshots for hps category (#149936) 2025-08-04 11:14:11 +02:00
epenet
aa8e4c1c15 Add Tuya snapshots for sgbj, sp, wfcon and ywbj category (#149933) 2025-08-04 11:11:06 +02:00
Erik Montnemery
46ed8a73fc Bump automower-ble to 0.2.7 (#149928) 2025-08-04 11:09:18 +02:00
dependabot[bot]
83f22497ae Bump actions/ai-inference from 1.2.3 to 1.2.4 (#149929)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-08-04 11:09:02 +02:00
epenet
3dda1685dc Add Tuya snapshots for pc and pir category (#149931) 2025-08-04 11:08:43 +02:00
Ståle Storø Hauknes
6fa9d42401 Airthings ContextVar warning (#149930) 2025-08-04 11:05:32 +02:00
Bram Kragten
2b7a434677 Bump version to 2025.8.0b2 2025-08-04 10:37:10 +02:00
puddly
9ef7c6c99a Bump ZHA to 0.0.65 (#149922) 2025-08-04 10:37:07 +02:00
J. Nick Koston
b789c11217 Bump dbus-fast to 2.44.3 (#149921) 2025-08-04 10:37:06 +02:00
J. Nick Koston
5e8cd19cc3 Bump aiodiscover to 2.7.1 (#149920) 2025-08-04 10:37:05 +02:00
J. Nick Koston
027052440d Bump yalexs-ble to 3.1.2 (#149917) 2025-08-04 10:37:04 +02:00
Maciej Bieniek
47a7ed4084 Bump imgw_pib to version 1.5.2 (#149892) 2025-08-04 10:37:03 +02:00
Martin Hjelmare
89f6cfeb81 Fix Z-Wave handling of driver ready event (#149879) 2025-08-04 10:37:02 +02:00
Joost Lekkerkerker
c268e57ba7 Bump python-open-router to 0.3.1 (#149873) 2025-08-04 10:37:01 +02:00
Andrea Turri
138c19126b Fix Miele hob translation keys (#149865) 2025-08-04 10:37:01 +02:00
Oliver
c459ceba73 Update denonavr to 1.1.2 (#149842) 2025-08-04 10:37:00 +02:00
Martin Hjelmare
8d0ceff652 Fix Z-Wave config entry state conditions in listen task (#149841) 2025-08-04 10:36:59 +02:00
peteS-UK
1d383e80a4 Fix initialisation of Apps and Radios list for Squeezebox (#149834) 2025-08-04 10:36:58 +02:00
Norbert Rittel
6a17a12be5 Update reference for volatile_organic_compounds_parts in template (#149831) 2025-08-04 10:36:57 +02:00
Norbert Rittel
3a8d962d34 Add translation for absolute_humidity device class to mqtt (#149818) 2025-08-04 10:36:56 +02:00
Norbert Rittel
7e5cf17cf4 Add translation for absolute_humidity device class to random (#149815) 2025-08-04 10:36:55 +02:00
Norbert Rittel
214940d04f Add translation for absolute_humidity device class to template (#149814) 2025-08-04 10:36:54 +02:00
Thomas D
6877fdaf5b Add scopes in config flow auth request for Volvo integration (#149813) 2025-08-04 10:36:53 +02:00
Norbert Rittel
35d0c254a2 Fix descriptions for template number fields (#149804) 2025-08-04 10:36:53 +02:00
epenet
9649fbc189 Fix tuya light supported color modes (#149793)
Co-authored-by: Erik <erik@montnemery.com>
2025-08-04 10:36:52 +02:00
Jamin
b60b1fc0c6 Bump VoIP utils to 0.3.4 (#149786) 2025-08-04 10:36:51 +02:00
Manu
6b93f6d75c Hide configuration URL when Uptime Kuma is installed locally (#149781) 2025-08-04 10:36:50 +02:00
starkillerOG
c8069a383e Bump motionblinds to 0.6.30 (#149764) 2025-08-04 10:36:49 +02:00
Nathan Spencer
6857e87b30 Bump pylitterbot to 2024.2.3 (#149763) 2025-08-04 10:36:48 +02:00
J. Nick Koston
a095631f4f Bump aioesphomeapi to 37.2.2 (#149755) 2025-08-04 10:36:48 +02:00
Copilot
c59fbdeec1 Fix ZHA ContextVar deprecation by passing config_entry (#149748)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joostlek <7083755+joostlek@users.noreply.github.com>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
Co-authored-by: TheJulianJES <6409465+TheJulianJES@users.noreply.github.com>
2025-08-04 10:36:47 +02:00
Erik Montnemery
b521b1e64c Make device suggested_area only influence new devices (#149758)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-08-04 10:34:42 +02:00
Erik Montnemery
073589ae19 Deprecate DeviceEntry.suggested_area (#149730) 2025-08-04 10:34:38 +02:00
Erik Montnemery
9435b0ad3a Fix flaky velbus test (#149743) 2025-08-04 10:34:15 +02:00
jvmahon
1a54d566f8 Apple vendor name update (#149845) 2025-08-04 10:26:11 +02:00
puddly
1a9cae0f89 Bump ZHA to 0.0.65 (#149922) 2025-08-04 10:17:25 +02:00
karwosts
1662d36125 Fix add_suggested_values_to_schema when the schema has sections (#149718)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-08-04 10:14:30 +02:00
Erik Montnemery
70e54fdadd Improve test of FlowHandler.add_suggested_values_to_schema (#149759) 2025-08-04 10:13:44 +02:00
Tom
38d0ebb8ba Add diagnostics to UISP AirOS (#149631) 2025-08-04 10:08:19 +02:00
epenet
551dcaa169 Rename Tuya fixture files (#149927) 2025-08-04 10:08:03 +02:00
epenet
5467db065b Make Tuya complex type handling explicit (#149677) 2025-08-04 07:59:47 +02:00
J. Nick Koston
6a8d752e56 Bump aiodiscover to 2.7.1 (#149920) 2025-08-03 16:42:38 -10:00
J. Nick Koston
179a56628d Bump dbus-fast to 2.44.3 (#149921) 2025-08-03 16:42:11 -10:00
J. Nick Koston
b3f830773a Bump yalexs-ble to 3.1.2 (#149917) 2025-08-03 15:02:30 -10:00
Joost Lekkerkerker
084e06ec7d Bump python-open-router to 0.3.1 (#149873) 2025-08-03 21:46:40 +02:00
Maciej Bieniek
e0190afd3c Bump imgw_pib to version 1.5.2 (#149892) 2025-08-03 20:07:01 +02:00
Jan-Philipp Benecke
b9e16d54c4 Add jitter sensor to Ping integration (#149899) 2025-08-03 20:06:14 +02:00
Thomas55555
627785edc1 Fix options for error sensor in Husqvarna Automower (#149901) 2025-08-03 20:05:23 +02:00
Andrew Jackson
4318e29ce8 Bump aiomealie to 0.10.1 (#149890) 2025-08-03 14:18:13 +02:00
Martin Hjelmare
fea5c63bba Fix Z-Wave handling of driver ready event (#149879) 2025-08-03 11:23:01 +02:00
Åke Strandberg
b2349ac2bd Improve miele climate test coverage (#149859) 2025-08-03 11:19:08 +02:00
Marc Mueller
08f7b708a4 Update pytest warnings filter (#149839) 2025-08-03 09:25:17 +02:00
Martin Hjelmare
1236801b7d Fix Z-Wave config entry state conditions in listen task (#149841) 2025-08-02 23:07:16 +02:00
Thomas D
72d9dbf39d Add scopes in config flow auth request for Volvo integration (#149813) 2025-08-02 22:17:13 +02:00
Thomas D
755864f9f3 Add sensor platform to Qbus integration (#149389)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-08-02 20:01:58 +02:00
peteS-UK
fa476d4e34 Fix initialisation of Apps and Radios list for Squeezebox (#149834) 2025-08-02 20:01:02 +02:00
Manu
018197e41a Add notifiers to send direct messages to friends in PlayStation Network (#149844) 2025-08-02 19:55:45 +02:00
Brett Adams
7dd2b9e422 Make history coordinator more reliable in Tesla Fleet (#149854) 2025-08-02 19:54:19 +02:00
hahn-th
3e615fd373 Improve code quality for garage door modules in homematicip_cloud (#149856) 2025-08-02 19:51:08 +02:00
Oliver
c0bf167e10 Update denonavr to 1.1.2 (#149842) 2025-08-02 19:44:01 +02:00
Andrea Turri
45f6778ff4 Fix Miele hob translation keys (#149865) 2025-08-02 18:37:57 +02:00
Jamin
bddd4d621a Bump VoIP utils to 0.3.4 (#149786) 2025-08-01 20:37:45 +01:00
Norbert Rittel
b0e75e9ee4 Update reference for volatile_organic_compounds_parts in template (#149831) 2025-08-01 20:36:10 +01:00
Norbert Rittel
d45c03a795 Update reference for volatile_organic_compounds_parts in random (#149832) 2025-08-01 20:35:04 +01:00
Norbert Rittel
8562c8d32f Add translations for recently introduced device classes to scrape (#149822) 2025-08-01 20:34:31 +01:00
Norbert Rittel
ae42d71123 Add translations for recently introduced device classes to sql (#149821) 2025-08-01 20:33:47 +01:00
Alexandre CUER
9616c8cd7b Bump pyemoncms to 0.1.2 (#149825) 2025-08-01 20:04:16 +01:00
kizovinh
9394546668 Add EZVIZ battery camera power status and online status sensor (#146822) 2025-08-01 20:00:53 +01:00
Norbert Rittel
d43f21c2e2 Fix descriptions for template number fields (#149804) 2025-08-01 20:35:48 +02:00
Norbert Rittel
8d68fee9f8 Add translation for absolute_humidity device class to template (#149814) 2025-08-01 18:30:59 +01:00
Willem-Jan van Rootselaar
b4a4e218ec Add re-authentication to BSBLan (#146280)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-08-01 16:42:59 +02:00
Norbert Rittel
fb2d62d692 Add translation for absolute_humidity device class to mqtt (#149818) 2025-08-01 15:57:47 +02:00
Erik Montnemery
f538807d6e Make device suggested_area only influence new devices (#149758)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-08-01 14:54:58 +02:00
Joost Lekkerkerker
a08c3c9f44 Improve Tado binary sensor tests (#149807) 2025-08-01 14:38:12 +02:00
Joost Lekkerkerker
506431c75f Improve Tado water heater tests (#149806) 2025-08-01 14:38:02 +02:00
Joost Lekkerkerker
37579440e6 Improve Tado climate tests (#149808) 2025-08-01 14:37:12 +02:00
Joost Lekkerkerker
5ce2729dc2 Improve Tado sensor tests (#149809) 2025-08-01 14:36:57 +02:00
Joost Lekkerkerker
b5e4ae4a53 Improve Tado switch tests (#149810)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-08-01 14:36:37 +02:00
Norbert Rittel
3d4386ea6d Add translation for absolute_humidity device class to random (#149815) 2025-08-01 14:32:14 +02:00
Alexandre CUER
9f1cec893e emoncms - fix missing data descriptions (#149733) 2025-08-01 13:22:46 +02:00
starkillerOG
bc87140a6f Update after Motion Blinds tilt change (#149779) 2025-08-01 11:15:49 +02:00
Erik Montnemery
d77a3fca83 Exclude is_new from DeviceEntry snapshots (#149801) 2025-08-01 11:01:26 +02:00
Joakim Sørensen
924a86dfb6 Add nameservers to supervisor system health response (#149749) 2025-08-01 10:51:48 +02:00
Erik Montnemery
0d7608f7c5 Deprecate DeviceEntry.suggested_area (#149730) 2025-08-01 10:34:34 +02:00
Tom
22e054f4cd Add diagnostics to UISP AirOS (#149631) 2025-08-01 09:24:22 +02:00
epenet
8b53b26333 Fix tuya light supported color modes (#149793)
Co-authored-by: Erik <erik@montnemery.com>
2025-08-01 09:13:53 +02:00
Erik Montnemery
4d59e8cd80 Fix flaky velbus test (#149743) 2025-08-01 07:49:51 +02:00
Fabian Leutgeb
61396d92a5 Homekit valve duration characteristics (#149698)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-07-31 15:21:48 -10:00
Philippe Lafoucrière
c72c600de4 Fix bootstrap script path resolution (#149721) 2025-07-31 23:47:25 +01:00
J. Nick Koston
b86b0c10bd Bump aioesphomeapi to 37.2.2 (#149755) 2025-07-31 12:23:24 -10:00
starkillerOG
eb222f6c5d Bump motionblinds to 0.6.30 (#149764) 2025-08-01 01:09:20 +03:00
Manu
4b5fe424ed Hide configuration URL when Uptime Kuma is installed locally (#149781) 2025-08-01 01:07:56 +03:00
Nathan Spencer
61ca42e923 Bump pylitterbot to 2024.2.3 (#149763) 2025-07-31 21:04:23 +02:00
Copilot
21c1427abf Fix ZHA ContextVar deprecation by passing config_entry (#149748)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joostlek <7083755+joostlek@users.noreply.github.com>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
Co-authored-by: TheJulianJES <6409465+TheJulianJES@users.noreply.github.com>
2025-07-31 14:52:17 -04:00
karwosts
aa6b37bc7c Fix add_suggested_values_to_schema when the schema has sections (#149718)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-31 20:50:26 +02:00
Bram Kragten
15cb48badb Bump version to 2025.8.0b1 2025-07-31 19:01:26 +02:00
Erik Montnemery
22214e8d31 Fix kitchen_sink option flow (#149760) 2025-07-31 19:01:02 +02:00
Bram Kragten
fc04e0b2cc Update frontend to 20250731.0 (#149757) 2025-07-31 19:01:01 +02:00
Petro31
3fc6ebdb43 Fix unique_id in config validation for legacy weather platform (#149742) 2025-07-31 19:01:00 +02:00
Petro31
3ccb7deb3c Nitpick default translations for template integration (#149740) 2025-07-31 19:00:59 +02:00
Erik Montnemery
f5f63b914a Make _EventDeviceRegistryUpdatedData_Remove JSON serializable (#149734) 2025-07-31 19:00:58 +02:00
J. Nick Koston
bd0a3f5a5d Bump aioesphomeapi to 37.2.0 (#149732) 2025-07-31 19:00:58 +02:00
J. Nick Koston
ab9eebd092 Bump aioesphomeapi to 37.1.6 (#149715) 2025-07-31 19:00:57 +02:00
J. Nick Koston
68c43099d9 Fix ESPHome unnecessary probing on DHCP discovery (#149713) 2025-07-31 19:00:56 +02:00
Åke Strandberg
041c417164 Fix bug when interpreting miele action response (#149710) 2025-07-31 19:00:55 +02:00
Andrea Turri
537d09c697 Fix Miele induction hob empty state (#149706) 2025-07-31 19:00:54 +02:00
Roman Sivriver
21e3b8da92 Fix typo in backup log message (#149705) 2025-07-31 19:00:53 +02:00
Jan Bouwhuis
d390681360 Fix inconsistent use of the term 'target' and a typo in MQTT translation strings (#149703) 2025-07-31 19:00:53 +02:00
Åke Strandberg
918ec78348 Add missing translations for miele dishwasher (#149702) 2025-07-31 19:00:52 +02:00
starkillerOG
1deae3ee1a Bump reolink-aio to 0.14.5 (#149700) 2025-07-31 19:00:51 +02:00
Petro31
59eace67df Add translations for all fields in template integration (#149692)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-31 19:00:50 +02:00
Åke Strandberg
7eb7c66e3f Explicitly pass config_entry to miele coordinator (#149691) 2025-07-31 19:00:49 +02:00
Copilot
aa2941592d Fix ContextVar deprecation warning in homeassistant_hardware integration (#149687)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joostlek <7083755+joostlek@users.noreply.github.com>
Co-authored-by: mib1185 <35783820+mib1185@users.noreply.github.com>
2025-07-31 19:00:48 +02:00
Manu
29daf136d2 Fix KeyError in friends coordinator (#149684) 2025-07-31 19:00:47 +02:00
puddly
3da3cf7f52 Bump ZHA to 0.0.64 (#149683)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: abmantis <amfcalt@gmail.com>
2025-07-31 19:00:47 +02:00
Michael Hansen
d8c93d54d5 Bump intents to 2025.7.30 (#149678) 2025-07-31 19:00:46 +02:00
Jan Bouwhuis
0799ee9fba Fix translation string reference for MQTT climate subentry option (#149673) 2025-07-31 19:00:45 +02:00
Marc Mueller
bbc1466cfc Update rpds-py to 0.26.0 (#149753) 2025-07-31 17:51:10 +01:00
Bram Kragten
21a9799060 Update frontend to 20250731.0 (#149757) 2025-07-31 18:46:10 +02:00
Erik Montnemery
f7d54b46ec Improve test of FlowHandler.add_suggested_values_to_schema (#149759) 2025-07-31 17:55:15 +02:00
Erik Montnemery
6ad1b8dcb1 Fix kitchen_sink option flow (#149760) 2025-07-31 17:49:09 +02:00
Abílio Costa
5f6b1212a3 Remove data flow step_id deprecation note (#149714) 2025-07-31 16:04:09 +02:00
dependabot[bot]
58dc6a952e Bump home-assistant/wheels from 2025.03.0 to 2025.07.0 (#149741) 2025-07-31 15:35:55 +02:00
Petro31
59d8df142d Nitpick default translations for template integration (#149740) 2025-07-31 15:19:43 +02:00
Petro31
04fb86b4ba Fix unique_id in config validation for legacy weather platform (#149742) 2025-07-31 15:19:37 +02:00
Erik Montnemery
3d744f032f Make _EventDeviceRegistryUpdatedData_Remove JSON serializable (#149734) 2025-07-31 12:35:13 +02:00
J. Nick Koston
f7c8cdb3a7 Bump aioesphomeapi to 37.2.0 (#149732) 2025-07-31 12:10:23 +02:00
Copilot
3952544822 Fix ContextVar deprecation warning in homeassistant_hardware integration (#149687)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: joostlek <7083755+joostlek@users.noreply.github.com>
Co-authored-by: mib1185 <35783820+mib1185@users.noreply.github.com>
2025-07-31 12:06:04 +02:00
Erik Montnemery
42101dd432 Remove result from FlowResult (#149202) 2025-07-31 10:58:36 +02:00
L.
f7eacaa48d Bump xiaomi-ble to 1.2.0 (#149711) 2025-07-31 09:01:06 +02:00
johanzander
ad0db5c83a Update growattServer to version 1.7.1 (#149716) 2025-07-31 08:17:33 +02:00
J. Nick Koston
63216b77c2 Bump aioesphomeapi to 37.1.6 (#149715) 2025-07-30 13:54:18 -10:00
Åke Strandberg
7a55373b0b Fix bug when interpreting miele action response (#149710) 2025-07-31 01:07:12 +02:00
J. Nick Koston
f9e7459901 Fix ESPHome unnecessary probing on DHCP discovery (#149713) 2025-07-31 01:06:08 +02:00
starkillerOG
94dc2e2ea3 Bump reolink-aio to 0.14.5 (#149700) 2025-07-30 22:54:32 +01:00
Åke Strandberg
2cf144fb25 Add missing translations for miele dishwasher (#149702) 2025-07-30 22:45:05 +01:00
Jan Bouwhuis
f318766021 Fix inconsistent use of the term 'target' and a typo in MQTT translation strings (#149703) 2025-07-30 22:42:53 +01:00
Andrea Turri
ec7fb140ac Fix Miele induction hob empty state (#149706) 2025-07-30 22:38:11 +01:00
Petro31
2706c7d67d Add translations for all fields in template integration (#149692)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-30 22:30:05 +01:00
Roman Sivriver
b4e50902eb Fix typo in backup log message (#149705) 2025-07-30 22:29:26 +01:00
Åke Strandberg
1ead01bc9a Explicitly pass config_entry to miele coordinator (#149691) 2025-07-30 20:19:01 +02:00
puddly
389a1251a1 Bump ZHA to 0.0.64 (#149683)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
Co-authored-by: abmantis <amfcalt@gmail.com>
2025-07-30 18:59:41 +01:00
Manu
8d27ca1e21 Fix KeyError in friends coordinator (#149684) 2025-07-30 19:59:01 +02:00
Michael Hansen
a76af50c10 Bump intents to 2025.7.30 (#149678) 2025-07-30 19:57:59 +02:00
Renat Sibgatulin
09b91bd76a Clean airq tests (#149682) 2025-07-30 18:48:36 +01:00
Jan Bouwhuis
736d582d04 Fix translation string reference for MQTT climate subentry option (#149673) 2025-07-30 18:53:21 +02:00
Bram Kragten
8114df4219 Bump version to 2025.9.0 (#149680) 2025-07-30 18:36:20 +02:00
Bram Kragten
9d31403984 2025.8.0b0 (#149675) 2025-07-30 17:13:15 +02:00
Bram Kragten
02f87cba9b Merge branch 'dev' into dev-rc 2025-07-30 17:07:48 +02:00
Joost Lekkerkerker
8193259e02 Revert "Add select for heating circuit to Tado zones" (#149670) 2025-07-30 17:06:55 +02:00
Petro31
6306baa3c9 Add config flow to template lock platform (#149449) 2025-07-30 17:04:39 +02:00
Petro31
d481a694f1 Add config flow to template vacuum platform (#149458) 2025-07-30 17:04:08 +02:00
Bram Kragten
5b54784378 Bump version to 2025.8.0b0 2025-07-30 16:56:55 +02:00
Robert Resch
edca3fc0b7 Add matter to Third Reality (#149659) 2025-07-30 16:52:20 +02:00
Bram Kragten
daea76c2f1 Update frontend to 20250730.0 (#149672) 2025-07-30 16:51:10 +02:00
Petro31
160b61e0b9 Add config flow to template fan platform (#149446)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-07-30 16:17:49 +02:00
epenet
fc900a632a Revert logging for unsupported Tuya devices (#149665) 2025-07-30 16:04:45 +02:00
Joost Lekkerkerker
1b58809655 Add AI Task to OpenRouter (#149275) 2025-07-30 16:01:44 +02:00
Åke Strandberg
223c34056d Add missing colons in miele messages (#149668) 2025-07-30 15:58:43 +02:00
Jeef
99ee56a4dd Add Precipitation sensors to Weatherflow Cloud (#149619)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-30 15:45:03 +02:00
lucasfijen
91be25a292 Add get recipes search service to Mealie integration (#149348)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-30 15:43:10 +02:00
Petro31
a21af78aa1 Add config flow to template light platform (#149448) 2025-07-30 15:27:43 +02:00
Manu
70cfdfa231 Remove unnecessary CONFIG_SCHEMA from Uptime Kuma integration (#149601) 2025-07-30 15:23:54 +02:00
Jan Bouwhuis
a5b075af68 Add climate support for MQTT subentries (#149451)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-30 15:20:23 +02:00
Manu
c4d4ef884e Add hassio discovery flow to Uptime Kuma (#148770) 2025-07-30 15:13:39 +02:00
Manu
ba4e7e50e0 Add friend tracking to PlayStation Network (#149546) 2025-07-30 15:10:30 +02:00
Alistair Francis
dd0b23afb0 husqvarna_automower_ble: Support battery percentage sensor (#146159)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
2025-07-30 15:07:47 +02:00
Manu
779f0afcc4 Refactor Habitica button and switch functions to use habiticalib instance directly (#149602) 2025-07-30 15:07:22 +02:00
Manu
d8016f7f41 Remove stale devices in Uptime Kuma (#149605) 2025-07-30 15:06:59 +02:00
Avery
25169e9075 Bump datadogpy to 0.52.0 (#149596) 2025-07-30 15:06:38 +02:00
Samuel Xiao
260ca70785 Add Light platform to Switchbot cloud (#146382) 2025-07-30 15:03:13 +02:00
Samuel Xiao
69e3a5bc34 Add support for more switchbot cloud vacuum models (#146637) 2025-07-30 15:02:37 +02:00
Simone Chemelli
1a75a88c76 Add actions to Alexa Devices (#145645) 2025-07-30 14:52:31 +02:00
Petro31
6c2a662838 Add config flow to template cover platform (#149433) 2025-07-30 14:48:24 +02:00
Artur Pragacz
749fc318ca Validate selectors in the trigger helper (#149662) 2025-07-30 14:22:55 +02:00
epenet
828f979c78 Use Tuya device listener in binary sensor tests (#148890) 2025-07-30 13:43:07 +02:00
Åke Strandberg
1eb6d5fe32 Add action for set_program_oven to miele (#149620) 2025-07-30 13:35:24 +02:00
epenet
5930ac6425 Use translation_placeholders in tuya switch descriptions (#149664) 2025-07-30 13:27:24 +02:00
Simone Chemelli
15e45df8a7 Use async_create_clientsession in Alexa Devices (#149432) 2025-07-30 12:49:21 +02:00
karwosts
a79d2da9a3 Move group toggle descriptions to data_description (#149625)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-30 12:31:32 +02:00
Robert Resch
ac86f2e2ba Add Frient brand (#149654) 2025-07-30 12:21:27 +02:00
Norbert Rittel
03ee97d38f Clarify description of turn_away_mode_on.osoenergy action (#149655) 2025-07-30 12:16:40 +02:00
J. Nick Koston
06233b5134 Bump aioesphomeapi to 37.1.5 (#149656) 2025-07-30 12:16:16 +02:00
Petro31
9d66b19c03 Add assumed optimistic to template number entities (#148499) 2025-07-30 11:20:04 +02:00
Martin Hjelmare
bb6bcfdd01 Add Z-Wave controller firmware updates (#149623) 2025-07-30 11:07:41 +02:00
Marc Mueller
8e9e304608 Update lxml to 6.0.0 (#149640) 2025-07-30 10:38:42 +02:00
dependabot[bot]
6b641411a0 Bump github/codeql-action from 3.29.4 to 3.29.5 (#149648)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-30 10:33:09 +02:00
Norbert Rittel
6f8214bbb4 Fix spelling mistakes in abort message of leaone (#149653) 2025-07-29 22:22:35 -10:00
Marcel van der Veldt
f66e83f33e Add dynamic encryption key support to the ESPHome integration (#148746)
Co-authored-by: Jesse Hills <3060199+jesserockz@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-07-29 21:54:00 -10:00
Robert Resch
2ee82e1d6f Remove battery attribute from Ecovacs vacuums (#149581) 2025-07-30 09:24:16 +02:00
Jan Bouwhuis
0dd1e0cabb Suppress exception stack trace when writing MQTT entity state if a ValueError occured (#149583) 2025-07-30 09:06:15 +02:00
Åke Strandberg
45ae34cc0e Strip leading and trailing whitespace in program names in miele action response (#149643) 2025-07-30 00:23:03 +02:00
hypnosiss
73e578b168 Bump pymysensors library version (#149632) 2025-07-29 22:29:53 +01:00
Arie Catsman
52ee5d53ee bump pyenphase to 2.2.3 (#149641) 2025-07-29 22:27:43 +01:00
Marc Mueller
62713b1371 Update pyblu to 2.0.4 (#149589) 2025-07-29 22:32:32 +02:00
Simone Chemelli
c4c4463c63 Update IQS for Alexa Devices (#149639) 2025-07-29 22:00:49 +02:00
Franck Nijhof
7e2fd6e47b Merge branch 'master' into dev 2025-07-29 18:52:18 +00:00
karwosts
9f45801409 Remove advanced mode from group all option. (#149626) 2025-07-29 20:03:27 +02:00
J. Nick Koston
aaec243bf4 Properly cleanup ONVIF events to prevent log flooding on setup errors (#149603) 2025-07-29 19:49:20 +02:00
Tom
b67e85e8da Introduce Ubiquiti UISP airOS (#148989)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-29 19:41:13 +02:00
J. Nick Koston
25407c0f4b Bump aiohttp to 3.12.15 (#149609) 2025-07-29 19:21:31 +02:00
Stefan Agner
09e7d8d1a5 Increase open file descriptor limit on startup (#148940)
Co-authored-by: Jan Čermák <sairon@sairon.cz>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-29 17:42:26 +02:00
Markus Adrario
ff7c125334 Upgrade Homee quality scale to silver (#149194) 2025-07-29 15:19:08 +02:00
Martin Hjelmare
3d6f868cbc Bump zwave-js-server-python to 0.67.0 (#149616) 2025-07-29 13:57:40 +02:00
Thomas D
378c3af9df Bump qbusmqttapi to 1.4.2 (#149622) 2025-07-29 13:51:32 +02:00
osohotwateriot
c7271d1af9 Add OSO Energy Custom Away Mode Service (#149612) 2025-07-29 13:50:31 +02:00
Klaas Schoute
87400c6a17 Bump odp-amsterdam to v6.1.2 (#149617) 2025-07-29 12:59:30 +02:00
Christopher Fenner
692a1119a6 Adjust suggested display precision on Volvo distance sensors (#149593) 2025-07-29 12:29:07 +02:00
Thomas55555
2e728eb7de Bump aioautomower to 2.1.1 (#149585) 2025-07-29 09:38:50 +02:00
Manu
45ec9c7dad Refactor coordinator setup in Iron OS (#149600) 2025-07-29 09:37:32 +02:00
Manu
62ee1fbc64 Remove unnecessary CONF_NAME usage in Habitica integration (#149595) 2025-07-29 08:55:32 +02:00
Jan-Philipp Benecke
3c1aa9d9de Make exceptions translatable in Tankerkoenig integration (#149611) 2025-07-29 08:52:42 +02:00
J. Nick Koston
bf568b22d7 Bump onvif-zeep-async to 4.0.2 (#149606) 2025-07-29 08:41:45 +02:00
Michael
596f6cd216 Add people and tags collections to Immich media source (#149340) 2025-07-28 23:21:04 +02:00
Åke Strandberg
cf05f1046d Add action to retrieve list of programs on miele appliance (#149307) 2025-07-28 22:19:51 +02:00
Thomas55555
7f9be420d2 Add details to Husqvarna Automower restricted reason sensor (#147678)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-28 19:54:54 +01:00
Abílio Costa
dda46e7e0b Use non-autospec mock in Reolink's remaining tests (#149565)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2025-07-28 18:38:06 +01:00
Michael
b1dd742a57 Move battery properties from legacy Ecovacs vacuum entity to separate entities (#149084) 2025-07-28 18:49:12 +02:00
Simone Chemelli
5af4290b77 Update IQS for Alexa Devices (#149440) 2025-07-28 18:33:39 +02:00
Petro31
8339516fb4 Add optimistic option to alarm control panel yaml (#149334) 2025-07-28 17:44:43 +02:00
Matrix
aa1314c1d5 Add YoLink YS6614 support. (#149153) 2025-07-28 17:43:20 +02:00
epenet
92ad922ddc Add fan mode support for Tuya air conditioner (aqoouq7x) (#149226) 2025-07-28 17:42:36 +02:00
epenet
e518e7beac Add service tests to Tuya select platform (#149156)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-28 17:42:18 +02:00
Thomas D
483d814a8f Add new Volvo integration (#142994)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-28 17:24:15 +02:00
Tom
8f795f021c Bump Plugwise to v1.7.8 preventing rogue KeyError (#149000) 2025-07-28 17:19:43 +02:00
Petro31
d823b574c0 Add optimistic option to light yaml (#149395) 2025-07-28 16:59:57 +02:00
Petro31
49bd15718c Add optimistic option to fan yaml (#149390) 2025-07-28 16:58:46 +02:00
Abílio Costa
d3f18c1678 Add quality scale to ring manifest (#149406) 2025-07-28 16:35:38 +02:00
Joost Lekkerkerker
5ef17c8588 Bump the required version of ruff to 0.12.1 (#149571) 2025-07-28 16:32:56 +02:00
Norbert Rittel
e8b8d31027 Make actions labels consistent for Template alarm control panel (#149574) 2025-07-28 16:31:13 +02:00
Manu
978ee3870c Add notify platform to PlayStation Network integration (#149557) 2025-07-28 16:18:57 +02:00
Petro31
b3862591ea Add optimism to vacuum platform (#149425) 2025-07-28 16:18:37 +02:00
Petro31
1895db0ddd Add optimistic option to switch yaml (#149402) 2025-07-28 16:17:39 +02:00
Petro31
ee2cf961f6 Add assumed optimistic functionality to lock platform (#149397) 2025-07-28 16:17:09 +02:00
Martin Hjelmare
9a364ec729 Fix Z-Wave removal of devices when connected to unknown controller (#149339) 2025-07-28 16:13:39 +02:00
starkillerOG
96529ec245 Add Reolink pre-recording entities (#149522)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-28 16:12:53 +02:00
David Knowles
8fc8220924 Teach Hydrawise to auto-add/remove devices (#149547)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-28 16:06:15 +02:00
osohotwateriot
386f709fd3 Osoenergy holiday mode services (#149430)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-28 16:00:22 +02:00
alvi kazi 🇧🇩
d088fccb88 VeSync: add support for LAP-V102S-WJP air purifier (#149102) 2025-07-28 15:51:07 +02:00
jennoian
2a5448835f Add Vacuum support to smartthings (#148724)
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-28 15:37:37 +02:00
Avery
a71eecaaa4 Update datadog test logic (#149459)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-28 15:10:55 +02:00
hanwg
46d810b9f9 Better error handling when setting up config entry for Telegram bot (#149444) 2025-07-28 14:52:40 +02:00
Petro31
48c4240a5d Delete unused switch platform code (#149468) 2025-07-28 14:48:45 +02:00
wittypluck
bf05c23414 Update OpenWeatherMap config step description to clarify API key documentation (#146843) 2025-07-28 14:40:00 +02:00
Michael
db1e6a0d98 Add quality scale and set Silver for Tankerkoenig (#143418) 2025-07-28 14:34:27 +02:00
Assaf Inbal
4ad35e8421 Add charging binary sensor to ituran (#149562)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-28 13:18:43 +02:00
wollew
850e04d9aa Add binary sensor for rain detection for Velux windows that have them (#148275)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-28 13:15:59 +02:00
Manu
95c5a91f01 Refactor active session handling in PlaystationNetwork (#149559) 2025-07-28 13:13:08 +02:00
Petro31
140f56aeaa Add common translation strings (#149472)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-28 13:12:52 +02:00
Michael
40ce228c9c Add upload_file action to immich integration (#147295)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-28 13:12:16 +02:00
Abílio Costa
18c5437fe7 Revert "Make default title configurable in XMPP" (#149544) 2025-07-28 13:42:40 +03:00
Norbert Rittel
ebad1ff4cc Fix capitalization of "IP address" in goalzero (#149563) 2025-07-28 11:59:11 +02:00
Ludovic BOUÉ
a68e722c92 Matter MicrowaveOven device (#148219)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-28 11:33:03 +02:00
Joakim Sørensen
05935bbc01 Bump hass-nabucasa from 0.108.0 to 0.110.0 (#149560) 2025-07-28 11:17:26 +02:00
Assaf Inbal
c67636b4f6 Add support for EVs in ituran (#149484) 2025-07-28 10:35:52 +02:00
Franck Nijhof
777b3128bb 2025.7.4 (#149526) 2025-07-28 10:15:08 +02:00
Shai Ungar
ab6cd0eb41 Bump israel-rail to 0.1.3 (#149555) 2025-07-28 08:42:40 +02:00
Brett Adams
f35558413a Bump tesla-fleet-api to 1.2.3 (#149550) 2025-07-28 07:58:59 +02:00
Michael
e30d405625 Enable strict typing in Tankerkoenig (#149535) 2025-07-27 22:48:15 +02:00
Thomas55555
622cce03a1 Bump aioautomower to 2.1.0 (#149541) 2025-07-27 22:46:59 +02:00
Raphael Hehl
1fa9141ce1 Bump uiprotect to version 7.20.0 (#149533) 2025-07-27 21:52:53 +02:00
Norbert Rittel
a060f7486f Replace duplicated strings and fix "street name" in waze_travel_time (#149512) 2025-07-27 21:36:25 +03:00
Manu
dbb5730389 Increase trophy titles retrieval page size to 500 for PlayStation Network (#149528) 2025-07-27 21:35:01 +03:00
Michael
431b2aa1d5 Add data description strings to Tankerkoenig (#149519)
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-27 20:13:05 +02:00
Michael
c99d81a554 Set PARALLEL_UPDATES in Tankerkoenig platforms (#149518) 2025-07-27 20:02:24 +02:00
starkillerOG
ff4dc393cf Bump reolink-aio to 0.14.4 (#149521) 2025-07-27 20:00:50 +02:00
Franck Nijhof
d384bee576 Bump version to 2025.7.4 2025-07-27 17:35:19 +00:00
Manu
f0cb5d5480 Bump habiticalib to v0.4.1 (#149523) 2025-07-27 17:35:01 +00:00
jb101010-2
725799c73e Bump pysuezV2 to 2.0.7 (#149436) 2025-07-27 17:34:59 +00:00
Simone Chemelli
dc6d2e3e84 Bump aioamazondevices to 3.5.1 (#149385) 2025-07-27 17:34:09 +00:00
Alex Hermann
4a7d06a68a Update slixmpp to 1.10.0 (#149374) 2025-07-27 17:29:37 +00:00
Brett Adams
cd800da357 Update Tesla OAuth Server in Tesla Fleet (#149280) 2025-07-27 17:29:35 +00:00
Antoine Reversat
4c8ab8eb64 Add fan off mode to the supported fan modes to fujitsu_fglair (#149277) 2025-07-27 17:29:33 +00:00
Martin Hjelmare
60f4d29d60 Add Z-Wave USB migration confirm step (#149243) 2025-07-27 17:29:31 +00:00
Avi Miller
68b7d09476 Fix brightness_step and brightness_step_pct via lifx.set_state (#149217)
Signed-off-by: Avi Miller <me@dje.li>
2025-07-27 17:29:29 +00:00
jvmahon
c3eb6dea11 Fix Matter light get brightness (#149186) 2025-07-27 17:29:28 +00:00
David Knowles
f428ffde87 Bump pyschlage to 2025.7.2 (#149148) 2025-07-27 17:29:26 +00:00
hanwg
fa207860a0 Fix multiple webhook secrets for Telegram bot (#149103) 2025-07-27 17:29:24 +00:00
Allen Porter
959c3a8a99 Fix a bug in rainbird device migration that results in additional devices (#149078) 2025-07-27 17:29:23 +00:00
Marc Hörsken
254ccca4e5 Fix warning about failure to get action during setup phase (#148923) 2025-07-27 17:29:21 +00:00
AlCalzone
5b08724d81 Keep entities of dead Z-Wave devices available (#148611) 2025-07-27 17:29:20 +00:00
Marc Mueller
ea2b3b3ff3 Update ical + gcal-sync (#149413) 2025-07-27 19:22:01 +02:00
Alex Hermann
a33760bc1a Update slixmpp to 1.10.0 (#149374) 2025-07-27 19:18:00 +02:00
Manu
4ea7ad52b1 Bump habiticalib to v0.4.1 (#149523) 2025-07-27 19:09:13 +02:00
Manu
dac75d1902 Add update platform to Uptime Kuma (#148973) 2025-07-27 18:02:33 +02:00
petep0p
0e9ced3c00 Correct core Purpleair integration's RSSI sensor to use RSSI value rather than barometric pressure (#149418) 2025-07-27 07:13:31 -06:00
Norbert Rittel
22d0fbcbd2 Fix spelling of "its" in mqtt (#149517) 2025-07-27 14:39:21 +02:00
Abílio Costa
57b641b97d Use non-autospec mock in Reolink's media source, number, sensor and siren tests (#149396) 2025-07-27 12:43:48 +02:00
J. Nick Koston
27bd6d2e38 Bump aioesphomeapi to 37.1.2 (#149460) 2025-07-26 22:48:48 -10:00
Assaf Inbal
427e5d81df Bump pyituran to 0.1.5 (#149486) 2025-07-26 19:03:51 +03:00
Shay Levy
b6bd92ed19 Shelly entity device info code quality (#149477) 2025-07-26 17:08:08 +03:00
Florian von Garrel
7976729e76 Paperless-ngx: Retry setup on initialization error (#149476) 2025-07-26 14:19:33 +02:00
Shay Levy
5aa0d0dc81 Remove Shelly redundant device info assignment in Button class (#149469) 2025-07-26 14:32:51 +03:00
jb101010-2
e1501d7510 Bump pysuezV2 to 2.0.7 (#149436) 2025-07-26 13:38:38 +03:00
Norbert Rittel
be5109fddf Change spelling of "Favorite x" to intl. English in bang_olufsen (#149464) 2025-07-26 13:35:11 +03:00
Norbert Rittel
c5cf9b07b7 Replace HA alarm (control panel) states with references in risco (#149466) 2025-07-26 13:34:24 +03:00
Norbert Rittel
002b7c6789 Fix descriptions in home_connect.set_program_and_options action (#149462) 2025-07-26 09:47:26 +02:00
Paul Bottein
e017dc80a0 Allow to reorder members within a group (#149003) 2025-07-26 01:07:51 +02:00
Erik Montnemery
aab7381553 Add test of ConfigSubentryFlow._subentry_type (#147565) 2025-07-26 00:27:04 +02:00
Norbert Rittel
cbf4409db3 Fix inconsistent spelling of "Wi-Fi" in unifiprotect (#149311)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-07-25 09:51:01 -10:00
Raphael Hehl
56fb59e48e Unifiprotect refactor device description ID retrieval in tests (#149445) 2025-07-25 09:21:57 -10:00
rappenze
971bd56bee Add Z-Box Hub virtual integration (#146678) 2025-07-25 20:37:36 +02:00
Matt Zimmerman
b2710c1bce Add smarttub cover sensor (#139134)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-25 20:10:39 +02:00
Petro31
a069b59efc Transition template types from string to platform keys (#149434) 2025-07-25 19:55:40 +02:00
osohotwateriot
02eb1dd533 Bump pyosoenergyapi to 1.2.4 (#149439) 2025-07-25 19:30:58 +02:00
Thomas55555
b3130c7929 Bump aioautomower to 2.0.2 (#149441) 2025-07-25 19:29:40 +02:00
Norbert Rittel
aad1dbecb4 Fix spelling of "IP" and improve action descriptions in lcn (#149314) 2025-07-25 19:28:43 +02:00
jvmahon
65109ea000 Fix Matter light get brightness (#149186) 2025-07-25 19:09:58 +02:00
Marc Mueller
356ac74fa5 Update orjson to 3.11.1 (#149442) 2025-07-25 19:07:07 +02:00
Norbert Rittel
f3513f7f29 Add missing hyphen to "case-sensitive" in tplink (#149363) 2025-07-25 19:01:57 +02:00
Marc Mueller
4bbb94f43d Update coverage to 7.10.0 (#149412) 2025-07-25 15:05:20 +02:00
Jan Bouwhuis
c1fa721a57 Revert "Use OptionsFlowWithReload in mqtt" (#149431) 2025-07-25 15:03:44 +02:00
Norbert Rittel
e3ffb41650 Improve some option and state names in home_connect (#149373) 2025-07-25 13:52:01 +02:00
Shay Levy
123cce6d96 Add configuration URL and model details to Shelly sub device info (#149404) 2025-07-25 14:26:32 +03:00
Guido Schmitz
6920dec352 Rework devolo Home Control config flow (#147121) 2025-07-25 12:55:42 +02:00
Guido Schmitz
f7cc260336 Add quality scale for devolo Home Network (#131510)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2025-07-25 12:20:33 +02:00
osohotwateriot
b7da31a021 Bump pyosoenergyapi to 1.2.3 (#149422) 2025-07-25 12:15:42 +02:00
Kevin Stillhammer
95d4dc678c Add option traffic_mode in here_travel_time (#146676) 2025-07-25 12:14:36 +02:00
Álvaro Fernández Rojas
7e9da052ca Update aioairzone-cloud to v0.7.1 (#149388)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-07-25 08:17:26 +02:00
Marc Mueller
59ece455d9 Update numpy to 2.3.2 (#149411) 2025-07-25 02:24:25 +02:00
Jake Martin
3ba144c8b2 Bump monzopy to 1.5.1 (#149410) 2025-07-25 02:38:48 +03:00
Petro31
4cc4bd3b9a Remove redundant async_set_context from platforms (#149403) 2025-07-24 22:28:56 +01:00
Raphael Hehl
dbc2b1354b UnifiProtect refactor sensor retrieval in tests to use get_sensor_by_key function (#149398) 2025-07-24 10:11:47 -10:00
Steven B.
fbe257f997 Add quality scale file to ring integration (#136454)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-24 20:19:30 +01:00
Alex Hermann
208dde10e6 Make default title configurable in XMPP (#149379) 2025-07-24 20:08:47 +01:00
Norbert Rittel
b7b733efc3 Use common state for "Normal" in switchbot (#149399) 2025-07-24 20:03:45 +01:00
Norbert Rittel
1d9f779b2a Add missing hyphen to "case-sensitive" in tuya (#149400) 2025-07-24 20:03:36 +01:00
Maciej Bieniek
56c53fdb9b Allow Bluetooth proxy for Shelly devices only if Zigbee firmware is not active (#149193)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-24 21:14:44 +03:00
LG-ThinQ-Integration
5c4862ffe1 Fix Air Conditioner set temperature error in LG ThinQ (#147008)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-07-24 20:12:41 +02:00
Abílio Costa
5c7913c3bd Remove door state from Whirlpool machine state sensor (#144078) 2025-07-24 20:07:57 +02:00
Norbert Rittel
36a98470cc Remove excessive comma from dsmr_reader issue description (#149393) 2025-07-24 19:20:42 +02:00
Norbert Rittel
f2c995cf86 Fix sentence-casing of "DSMR options" string (#149392) 2025-07-24 19:20:28 +02:00
Matěj 'Horm' Horák
eeca5a8030 Improve Airthings test coverage (#144750)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-24 19:10:01 +02:00
Norbert Rittel
56d97f5545 Drop duplicated lower-case "qnap" from setup description (#149384) 2025-07-24 18:49:46 +02:00
Simone Chemelli
995a99e256 Bump aioamazondevices to 3.5.1 (#149385) 2025-07-24 16:54:00 +01:00
Abílio Costa
ef7cd815b2 Add list of targeted entities to target state event (#149203) 2025-07-24 16:52:12 +01:00
Paulus Schoutsen
8b8616182d Allow downloading a device analytics dump (#149376) 2025-07-24 17:27:02 +02:00
Frank Wickström
760b69d458 Only send integers when setting Huum sauna temperature (#149380) 2025-07-24 17:13:54 +02:00
Norbert Rittel
6adcd34521 Remove space character from "autodetect" in xiaomi_miio (#149381) 2025-07-24 17:10:46 +02:00
Thomas55555
a0992498c6 Improve removal of stale entities/devices in Husqvarna Automower (#148428)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-24 15:52:43 +01:00
Marc Mueller
d6175fb383 Update mypy-dev to 1.18.0a3 (#149383) 2025-07-24 16:05:24 +02:00
G Johansson
dd3c9ab3af Use OptionsFlowWithReload in mqtt (#149092) 2025-07-24 15:34:00 +02:00
Maciej Bieniek
fea2ef1ac1 Bump imgw_pib to version 1.5.1 (#149368) 2025-07-24 15:37:01 +03:00
Álvaro Fernández Rojas
326bcc3f05 Update aioairzone-cloud to v0.7.0 (#149369)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-07-24 15:32:51 +03:00
Andrew Jackson
feeef88710 Bump aiomealie to 0.10.0 (#149370) 2025-07-24 13:07:35 +02:00
LG-ThinQ-Integration
f481c1b92f Add sensors for ventilator in LG ThinQ (#140846)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-07-24 12:33:34 +02:00
Avery
eea22d8079 Add config flow for datadog (#148104)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-07-24 12:29:07 +02:00
Maciej Bieniek
393087cf50 Bump aioshelly to 13.8.0 (#149365) 2025-07-24 11:50:26 +02:00
Norbert Rittel
f5718e1df6 Fix spelling of "autoplay" in music_assistant (#149364) 2025-07-24 11:15:57 +02:00
Artur Pragacz
15f2ae3002 Mark Onkyo quality scale as bronze (#149362) 2025-07-24 11:03:02 +02:00
Norbert Rittel
f458ede468 Small fixes to user-facing strings of webostv (#149359) 2025-07-24 11:53:33 +03:00
dependabot[bot]
d85ffee27a Bump github/codeql-action from 3.29.3 to 3.29.4 (#149354)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-24 10:29:34 +02:00
Norbert Rittel
2e12d67f2f Improve id_missing abort message in samsungtv (#149357) 2025-07-24 10:23:30 +02:00
Norbert Rittel
46a01c2060 Fix config entry name and description in rainbird.set_rain_delay action (#149358) 2025-07-24 10:23:17 +02:00
tronikos
53d77c4c10 Fix Chinese in Google Cloud STT (#149155) 2025-07-24 01:08:58 -07:00
Norbert Rittel
fcd514a06b Sentence-case "Still image URL" in mjpeg (#149356) 2025-07-24 09:23:21 +02:00
Norbert Rittel
049a698815 Add missing hyphen to "right-hand drive" in teslemetry (#149355) 2025-07-24 08:56:49 +02:00
Norbert Rittel
55f01e3485 Make descriptions of modbus.stop/restart actions consistent (#149341) 2025-07-24 08:23:42 +02:00
Artur Pragacz
c2b1932045 Bump aioonkyo to 0.3.0 (#149336) 2025-07-24 08:23:02 +02:00
Norbert Rittel
5543587527 Fix spelling of "sea level" in luftdaten (#149347) 2025-07-24 08:22:25 +02:00
J. Nick Koston
202d8ac802 Bump yalexs-ble to 3.1.0 (#149352) 2025-07-24 08:18:59 +02:00
Norbert Rittel
7613880645 Fix spelling of "the setup" in nest (#149345) 2025-07-24 02:50:39 +02:00
Norbert Rittel
3f77c13aad Fix spelling of "re-authenticate" in devolo_home_control (#149342) 2025-07-24 02:46:20 +02:00
Raphael Hehl
b966b59c09 Unifiprotect public api snapshot (#149213) 2025-07-23 13:37:34 -10:00
Michael
40cf47ae5a Bump aioimmich to 0.11.1 (#149335)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-23 20:48:04 +02:00
Norbert Rittel
da8ce52ed7 Fix grammar issues in re-interview description of zwave_js (#149337) 2025-07-23 19:00:55 +01:00
Norbert Rittel
b5190788ac Fix missing sentence-casing of "MAC address" in anthemav (#149333) 2025-07-23 19:29:31 +02:00
Norbert Rittel
bfa7ff3ede Make spelling of "Telldus Live" consistent (#149332) 2025-07-23 19:07:40 +02:00
Norbert Rittel
1312e04c57 Fix typos in update_failed message of fritz (#149330) 2025-07-23 18:53:19 +02:00
Matthias Alphart
d3771571cd Bump knx-frontend (#149287) 2025-07-23 17:18:41 +01:00
Norbert Rittel
5aa629edd0 Fix typo in "re-authentication" in devolo_home_network (#149312) 2025-07-23 17:16:00 +01:00
Norbert Rittel
3ed297676f Remove third "s" from "Home Assistant" in lametric (#149329) 2025-07-23 18:08:01 +02:00
Norbert Rittel
d735af505e Sentence-case "app" in laundrify (#149328) 2025-07-23 18:04:47 +02:00
Norbert Rittel
e337abb12d Clarify setup description in google_travel_time (#149327) 2025-07-23 17:57:45 +02:00
Maciej Bieniek
45edd12f13 Bump imgw_pib to version 1.5.0 (#149324) 2025-07-23 16:51:24 +01:00
Ludovic BOUÉ
5b94f5a99a Add more types in TYPE_MAP for Matter Cover (#149188) 2025-07-23 17:33:24 +02:00
Norbert Rittel
8b7295cd26 Fix three spelling issues in lg_thinq (#149322) 2025-07-23 17:16:28 +02:00
Marc Hörsken
15f7dade5e Fix warning about failure to get action during setup phase (#148923) 2025-07-23 17:05:35 +02:00
Norbert Rittel
61807412c4 Fix typo "optimisic" in mqtt (#149291) 2025-07-23 16:03:12 +01:00
Norbert Rittel
f679f33c56 Fix description of current field of keba.set_current action (#149326) 2025-07-23 17:02:59 +02:00
Sid
2abd203580 Bump eheimdigital quality scale to platinum (#148263) 2025-07-23 16:58:18 +02:00
Avi Miller
ccd22ce0d5 Fix brightness_step and brightness_step_pct via lifx.set_state (#149217)
Signed-off-by: Avi Miller <me@dje.li>
2025-07-23 16:55:44 +02:00
AlCalzone
391b144033 Update Z-Wave LED entity name for ZWA-2 (#149323) 2025-07-23 16:55:00 +02:00
tronikos
b6db10340e Update supported languages for Google Generative AI TTS and STT (#149154) 2025-07-23 16:54:06 +02:00
epenet
23b2936174 Replace RuntimeError with custom ServiceValidationError in Tuya (#149175) 2025-07-23 16:53:36 +02:00
Petro31
fad5f7a47b Move optimistic platform logic to AbstractTemplateEntity base class (#149245) 2025-07-23 14:52:25 +01:00
Marius
58ddf4ea95 Add note about re-interviewing Z-Wave battery powered devices (#149300) 2025-07-23 15:40:09 +02:00
AlCalzone
22fa863984 Discover ZWA-2 LED as a configuration entity in Z-Wave (#149298) 2025-07-23 15:33:52 +02:00
Imeon-Energy
d9b25770ad Remove sensors from Imeon Inverter (#148542)
Co-authored-by: TheBushBoy <theodavid@icloud.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-23 15:32:32 +02:00
Nick Kuiper
1c8ae8a21b Add switches for blue current integration. (#146210) 2025-07-23 15:12:53 +02:00
Norbert Rittel
6d3872252b Fix one inconsistent spelling of "AppArmor" in hassio (#149310) 2025-07-23 15:09:17 +02:00
epenet
4730c5b831 Add logging to Tuya for devices that cannot be supported (#149192)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 15:07:37 +02:00
Artur Pragacz
9a9f65dc36 Improve config flow tests in Onkyo (#149199) 2025-07-23 15:06:25 +02:00
G Johansson
7c83fd0bf9 Add twice_daily forecast to SMHI (#148882) 2025-07-23 15:05:39 +02:00
johanzander
70e03cdd4e Implements coordinator pattern for Growatt component data fetching (#143373) 2025-07-23 15:05:19 +02:00
J. Nick Koston
4d5c1b139b Consolidate REST sensor encoding tests using pytest parametrize (#149279)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 14:57:07 +02:00
Antoine Reversat
6dc5c9beb7 Add fan off mode to the supported fan modes to fujitsu_fglair (#149277) 2025-07-23 14:52:14 +02:00
Brett Adams
47611619db Update Tesla OAuth Server in Tesla Fleet (#149280) 2025-07-23 14:45:50 +02:00
Norbert Rittel
2a0a31bff8 Capitalize "HEPA" as an abbreviation in matter (#149306) 2025-07-23 14:27:49 +02:00
Joost Lekkerkerker
dcf29d12a7 Migrate Ollama to has entity name (#149303) 2025-07-23 14:27:32 +02:00
Norbert Rittel
edf6166a9f Fix spelling of "Domino's Pizza" in dominos (#149308) 2025-07-23 13:58:24 +02:00
Joost Lekkerkerker
eb8ca53a03 Migrate Anthropic to has entity name (#149302) 2025-07-23 12:58:28 +02:00
Joost Lekkerkerker
3dffd74607 Migrate OpenAI to has entity name (#149301) 2025-07-23 12:58:15 +02:00
Thomas55555
b37273ed33 Makes entites available in Husqvarna Automower when mower is in error state (#149261) 2025-07-23 12:39:17 +02:00
David Ferguson
232b34609c Avoid hardcoded max core climate timeout in SleepIQ (#149283) 2025-07-23 12:37:47 +02:00
Norbert Rittel
aeeabfcae7 Fix typo "hazlenut" in miele (#149299) 2025-07-23 11:55:35 +02:00
Vincent Wolsink
52abab8ae8 Use translation_key for entities in Huum (#149256) 2025-07-23 11:28:28 +02:00
Artur Pragacz
7aa4810b0a Clean up internal_get_tts_audio in TTS entity (#148946) 2025-07-23 11:26:54 +02:00
Norbert Rittel
c4d742f549 Add missing hyphen to "auto-renew period" in whois (#149296) 2025-07-23 12:01:19 +03:00
Raphael Hehl
51a46a128c Begin migrating unifiprotect to use the public API (#149126)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-07-22 22:46:52 -10:00
Norbert Rittel
9a6ba225e4 Fix typo "paela" in miele (#149295) 2025-07-23 10:33:31 +02:00
Norbert Rittel
a5ab523014 Fix sentence-casing in tomorrowio (#149293) 2025-07-23 10:03:04 +02:00
Norbert Rittel
40571dff3d Replace typo "effect" with "affect" in insteon (#149292) 2025-07-23 09:33:27 +02:00
J. Nick Koston
5f2f038609 Bump dbus-fast to 2.44.2 (#149281) 2025-07-23 08:14:41 +02:00
Matthias Alphart
9fd2ad425c Refactor KNX UI conditional selectors and migrate store data (#146067)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-23 07:22:48 +02:00
Michael
2f6c0a1b7f Bump aioimmich to 0.11.0 (#149272) 2025-07-23 00:30:23 +02:00
Artur Pragacz
dde73c05cb Order selectors alphabetically in helper (#149269) 2025-07-22 23:06:51 +02:00
Michael
993b0bbdd7 Use absolute humidity device class in HomematicIP Cloud (#148905) 2025-07-22 22:51:03 +02:00
Raphael Hehl
45dbf3ef1a Bump uiprotect to version 7.19.0 (#149266) 2025-07-22 22:50:55 +02:00
Paulus Schoutsen
71c1837f39 Update OpenAI title to drop "conversation" (#149263) 2025-07-22 22:43:02 +02:00
epenet
34eb99530f Use translation_placeholders in tuya cover descriptions (#149248)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
2025-07-22 22:21:59 +02:00
Thomas55555
55ac4d8855 Bump aioautomower to 2.0.1 (#149262) 2025-07-22 21:17:59 +02:00
epenet
ef3fb50018 Use translation_placeholders in tuya light descriptions (#149249) 2025-07-22 19:44:51 +02:00
epenet
316ac6253b Use translation_placeholders in tuya number descriptions (#149250) 2025-07-22 19:06:14 +02:00
epenet
252a46d141 Use translation_placeholders in tuya select descriptions (#149251) 2025-07-22 19:05:54 +02:00
Álvaro Fernández Rojas
969ad232aa Update aioairzone-cloud to v0.6.16 (#149254) 2025-07-22 17:23:38 +01:00
Martin Hjelmare
828a47db06 Add Z-Wave USB migration confirm step (#149243) 2025-07-22 17:09:11 +03:00
G Johansson
3947569132 Bump holidays to 0.77 (#149246) 2025-07-22 15:50:38 +02:00
Joakim Sørensen
e5f9788d24 Refactor cloud backup agent to use updated file handling methods (#149231) 2025-07-22 15:15:56 +02:00
Erik Montnemery
dd399ef59f Refactor EntityPlatform (#147927) 2025-07-22 14:35:57 +02:00
wedsa5
5a771b501d Fix ColorMode.WHITE support in Tuya (#126242)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-22 14:07:34 +02:00
hahn-th
3f67ba4c02 Add support for ELV-SH-WSM to homematicip (#149098) 2025-07-22 14:06:03 +02:00
Joost Lekkerkerker
c075134845 Use OpenRouterClient to get the models (#148903) 2025-07-22 13:58:33 +02:00
Joost Lekkerkerker
e5c7e04329 Introduce base entity in Open Router (#148910) 2025-07-22 13:43:41 +02:00
Åke Strandberg
49807c9fbe Add set_program service to Miele (#143442) 2025-07-22 13:33:03 +02:00
Norbert Rittel
e79d42ecfc Add missing hyphen to "post-heater" in vallox (#149222) 2025-07-22 13:32:45 +02:00
dependabot[bot]
1f07dd7946 Bump github/codeql-action from 3.29.2 to 3.29.3 (#149220)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-22 13:07:56 +02:00
epenet
8d1c789ca2 Replace RuntimeError with TYPE_CHECKING in Tuya (#149227) 2025-07-22 12:10:23 +02:00
Bram Kragten
456f992b7e 2025.7.3 (#149024) 2025-07-22 10:30:09 +02:00
Artur Pragacz
f5d68a4ea4 Simplify getting domains to resolve in bootstrap (#145829) 2025-07-22 10:10:59 +02:00
Artur Pragacz
2315bcbfe3 Set has_entity_name in Onkyo (#149223) 2025-07-22 10:02:15 +02:00
Raphael Hehl
df4e1411cc Bump uiprotect to version 7.18.1 (#149209) 2025-07-22 09:00:25 +02:00
Norbert Rittel
3e7974a638 Add missing hyphen to "post-processing" in nzbget (#149205) 2025-07-22 08:58:32 +02:00
David Ferguson
48b8827390 Bump asyncsleepiq to 1.5.3 (#149215) 2025-07-22 08:56:54 +02:00
hanwg
42cf4e8db7 Fix multiple webhook secrets for Telegram bot (#149103) 2025-07-22 07:42:40 +02:00
Ville Skyttä
ef2531d28d Add diagnostics support to Huawei LTE (#131085)
Co-authored-by: abmantis <amfcalt@gmail.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-21 21:52:48 +01:00
Vincent Wolsink
79dd91ebc6 Add sauna light control in Huum (#149169) 2025-07-21 22:52:24 +02:00
starkillerOG
ecb6cc50b9 Add Reolink post recording time select entity (#149201)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-21 21:48:02 +01:00
starkillerOG
b6014da121 Add Reolink wifi signal sensor for IPC cams (#149200) 2025-07-21 21:35:28 +02:00
Erik Montnemery
941d3c2be4 Improve integration sensor tests (#149180) 2025-07-21 18:23:58 +02:00
starkillerOG
7d895653fb Bump reolink-aio to 0.14.3 (#149191) 2025-07-21 18:19:56 +02:00
Erik Montnemery
3bd70a4698 Improve derivative sensor tests (#149179) 2025-07-21 17:51:26 +02:00
Petro31
b85ec55abb Add availability template to template helper config flow (#147623)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-21 17:41:56 +02:00
Michael Hansen
3f42911af4 Add streaming to cloud TTS (#148925) 2025-07-21 10:33:23 -05:00
G Johansson
3c70932357 Use OptionsFlowWithReload in enphase_envoy (#149171) 2025-07-21 16:52:25 +02:00
Artur Pragacz
40252763d7 Switch to a new library in Onkyo (#148613) 2025-07-21 16:31:28 +02:00
G Johansson
80b96b0007 Use OptionsFlowWithReload in roku (#149172) 2025-07-21 15:40:30 +02:00
David Knowles
f3db3ba3c8 Bump pyschlage to 2025.7.3 (#149184) 2025-07-21 14:36:12 +01:00
Joakim Sørensen
102ef257a0 Bump hass-nabucasa from 0.107.1 to 0.108.0 (#149189) 2025-07-21 14:35:35 +01:00
Joost Lekkerkerker
2476e7e47c Revert setting a user to download translations (#149190) 2025-07-21 15:27:29 +02:00
G Johansson
671523feb3 Use OptionsFlowWithReload in hyperion (#149163) 2025-07-21 14:52:14 +02:00
G Johansson
54fa4d635b Use OptionsFlowWithReload in sonarr (#149166) 2025-07-21 14:51:48 +02:00
G Johansson
af0480f2a4 Use OptionsFlowWithReload in slide_local (#149168) 2025-07-21 14:51:33 +02:00
Ludovic BOUÉ
64f190749a Add Demo Vacuum in entity name (#148629) 2025-07-21 14:39:42 +02:00
dependabot[bot]
6b489e0ab6 Bump sigstore/cosign-installer from 3.9.1 to 3.9.2 (#148985)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 14:34:12 +02:00
Norbert Rittel
1315095b4a Make spelling of "devolo Home Network" consistent (#149165) 2025-07-21 14:16:03 +02:00
David Ferguson
2d86fa079e SleepIQ add core climate for SleepNumber Climate 360 beds (#134718) 2025-07-21 14:14:33 +02:00
Paul Bottein
875219ccb5 Adds support for hide_states options in state selector (#148959) 2025-07-21 13:02:04 +01:00
Luuk Dobber
bc0162cf85 Add select for heating circuit to Tado zones (#147902)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-21 12:45:57 +01:00
Marc Mueller
d774de79db Update types packages (#149178) 2025-07-21 13:33:04 +02:00
G Johansson
be25a7bc70 Use OptionsFlowWithReload in ezviz (#149167) 2025-07-21 13:24:15 +02:00
Marc Mueller
05566e1621 Update websockets pin (#149004) 2025-07-21 13:23:42 +02:00
Erik Montnemery
b59d8b5730 Improve statistics sensor tests (#149181) 2025-07-21 13:20:04 +02:00
dependabot[bot]
75a90ab568 Bump actions/ai-inference from 1.1.0 to 1.2.3 (#149159)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-21 13:11:22 +02:00
Erik Montnemery
67c68dedba Make async_track_state_change/report_event listeners fire in order (#148766) 2025-07-21 13:07:52 +02:00
Marc Mueller
1fba61973d Update pytest-asyncio to 1.1.0 (#149177) 2025-07-21 12:03:53 +01:00
Simon Lamon
bf1a660dcb Bump Lokalise docker image to v2.6.14 (#149031) 2025-07-21 13:02:50 +02:00
G Johansson
94d077ea41 Use OptionsFlowWithReload in honeywell (#149162) 2025-07-21 12:47:38 +02:00
G Johansson
c22f65bd87 Use OptionsFlowWithReload in isy994 (#149174) 2025-07-21 12:47:24 +02:00
G Johansson
0dba32dbcd Use OptionsFlowWithReload in keenetic_ndms2 (#149173) 2025-07-21 12:47:11 +02:00
Elmo-S
8c964e64db Add support for UV index attribute in template weather entity (#149015) 2025-07-21 11:39:46 +01:00
epenet
c08aa74496 Cleanup Tuya climate/cover tests (#149157) 2025-07-21 12:27:37 +02:00
G Johansson
ff9fb6228b Use OptionsFlowWithReload in onewire (#149164) 2025-07-21 11:14:02 +02:00
Joost Lekkerkerker
6eab118a2d Bump airgradient to platinum (#149014) 2025-07-21 08:26:20 +02:00
G Johansson
c1e35cc9cf Use OptionsFlowWithReload in androidtv_remote (#149133) 2025-07-21 08:18:40 +02:00
G Johansson
11dd2dc374 Use OptionsFlowWithReload in file (#149108) 2025-07-21 08:17:12 +02:00
G Johansson
00c4b09773 Use OptionsFlowWithReload in motioneye (#149130) 2025-07-21 08:15:51 +02:00
Joakim Plate
bc9ad5eac6 Add device class to gardena (#149144) 2025-07-21 08:15:32 +02:00
Michael
eca80a1645 Use OptionsFlowWithReload in Feedreader (#149134) 2025-07-21 07:27:02 +02:00
Michael
bd7cef92c7 Use OptionsFlowWithReload in Proximity (#149136) 2025-07-21 07:26:29 +02:00
David Knowles
27787e0679 Bump pyschlage to 2025.7.2 (#149148) 2025-07-21 07:25:45 +02:00
Raphael Hehl
0a9fbb215d Bump uiprotect to version 7.16.0 (#149146) 2025-07-21 02:22:32 +02:00
G Johansson
77a954df9b Use OptionsFlowWithReload in reolink (#149132) 2025-07-20 23:44:39 +02:00
G Johansson
61ca0b6b86 Use OptionsFlowWithReload in vodafone_station (#149131) 2025-07-20 23:18:00 +02:00
G Johansson
e3577de9d8 Use OptionsFlowWithReload in onkyo (#149093) 2025-07-20 23:17:43 +02:00
J. Nick Koston
b8d45fba24 Bump aioesphomeapi to 37.0.2 (#149143) 2025-07-20 10:53:09 -10:00
Vincent Wolsink
44fec53bac Add binary_sensor for door status in Huum (#149135) 2025-07-20 22:50:53 +02:00
Raphael Hehl
ca48b9e375 Bump uiprotect to version 7.15.1 (#149124) 2025-07-20 08:41:49 -10:00
Abílio Costa
216e89dc5e Add battery charging state icons to Reolink (#149125) 2025-07-20 14:50:17 +02:00
Norbert Rittel
72d5578128 Fix typo in #device-discovery-payload anchor link of mqtt (#149116) 2025-07-20 14:29:18 +02:00
Thorsten
e3bdd12dad Add Bauknecht virtual integration (#146801) 2025-07-20 13:13:24 +01:00
G Johansson
43dc73c2e1 Use OptionsFlowWithReload in forecast_solar (#149112) 2025-07-20 13:09:07 +02:00
G Johansson
302b6f03ba Use OptionsFlowWithReload in speedtest (#149111) 2025-07-20 13:08:42 +02:00
G Johansson
b31e17f1f9 Use OptionsFlowWithReload in met (#149115) 2025-07-20 13:07:46 +02:00
G Johansson
1b8f3348b0 Use OptionsFlowWithReload in roborock (#149118) 2025-07-20 13:06:59 +02:00
G Johansson
0d42b24467 Use OptionsFlowWithReload in jewish_calendar (#149121) 2025-07-20 13:05:39 +02:00
G Johansson
0c858de1af Use OptionsFlowWithReload in lamarzocco (#149119) 2025-07-20 12:31:18 +02:00
G Johansson
5d653d46c3 Remove not used config entry update listener from nut (#149096) 2025-07-20 12:30:22 +02:00
G Johansson
b262a5c9b6 Use OptionsFlowWithReload in lastfm (#149113) 2025-07-20 12:05:24 +02:00
G Johansson
ead99c549f Use OptionsFlowWithReload in denonavr (#149109) 2025-07-20 11:12:51 +02:00
G Johansson
1a6bfc0310 Use OptionsFlowWithReload in knx (#149097) 2025-07-20 10:17:09 +02:00
hahn-th
507f29a209 Bump homematicip to 2.2.0 (#149038) 2025-07-19 21:12:49 +02:00
G Johansson
d796ab8fe7 Use OptionsFlowWithReload in kitchen_sink (#149091) 2025-07-19 21:12:17 +02:00
G Johansson
d35dca377f Use OptionsFlowWithReload in purpleair (#149095) 2025-07-19 21:11:15 +02:00
Michael
96766fc62a Use OptionsFlowWithReload in Synology DSM (#149086) 2025-07-19 21:08:37 +02:00
G Johansson
afbb0ee2f4 Use OptionsFlowWithReload in github (#149089) 2025-07-19 21:07:55 +02:00
G Johansson
e885ae1b15 Use OptionsFlowWithReload in holiday (#149090) 2025-07-19 21:07:23 +02:00
G Johansson
51d38f8f05 Use OptionsFlowWithReload in emoncms (#149094) 2025-07-19 21:06:14 +02:00
peteS-UK
be644ca96e Add type to coordinator for Squeezebox (#149087) 2025-07-19 20:39:22 +02:00
Michael
d266b6f6ab Use OptionsFlowWithReload in AVM Fritz!Box Tools (#149085) 2025-07-19 20:08:20 +02:00
G Johansson
dbdc666a92 Use OptionsFlowWithReload in control4 (#149058) 2025-07-19 19:51:01 +02:00
Allen Porter
2577d9f108 Fix a bug in rainbird device migration that results in additional devices (#149078) 2025-07-19 19:49:14 +02:00
peteS-UK
7dfb54c8e8 Paramaterize test for on/off for Squeezebox (#149048) 2025-07-19 19:30:40 +02:00
peteS-UK
a50d926e2a Check for error in test_squeezebox_play_media_with_announce_volume_invalid for Squeezebox (#149044) 2025-07-19 19:30:15 +02:00
peteS-UK
0cfb395ab5 Remove unnecessary getattr from init for Squeezebox (#149077) 2025-07-19 19:20:11 +02:00
peteS-UK
b3f049676d Move Squeezebox registry tests to test_init (#149050) 2025-07-19 19:17:34 +02:00
G Johansson
7e04a7ec19 Use OptionsFlowWithReload in unifiprotect (#149064) 2025-07-19 17:40:16 +02:00
G Johansson
c15bf097f0 Use OptionsFlowWithReload in airnow (#149049) 2025-07-19 16:50:41 +02:00
G Johansson
dba3d98a2b Use OptionsFlowWithReload in xiaomi_miio (#149051) 2025-07-19 16:50:13 +02:00
G Johansson
4a5e193ebb Use OptionsFlowWithReload in ws66i (#149052) 2025-07-19 16:49:19 +02:00
G Johansson
1bbd07fe48 Use OptionsFlowWithReload in wiffi (#149053) 2025-07-19 16:48:53 +02:00
G Johansson
b9d19ffb29 Use OptionsFlowWithReload in vera (#149055) 2025-07-19 16:48:23 +02:00
G Johansson
22b35030a9 Use OptionsFlowWithReload in analytics_insight (#149056) 2025-07-19 16:47:09 +02:00
G Johansson
69c26e5f1f Use OptionsFlowWithReload in dnsip (#149059) 2025-07-19 16:46:30 +02:00
G Johansson
cb4d17b24f Use OptionsFlowWithReload in Ping (#149061) 2025-07-19 16:45:39 +02:00
G Johansson
ff14f6b823 Use OptionsFlowWithReload in somfy_mylink (#149062) 2025-07-19 16:44:51 +02:00
G Johansson
ab964c8bca Use OptionsFlowWithReload in tankerkoenig (#149063) 2025-07-19 16:43:49 +02:00
peteS-UK
05f686cb86 Update comments in 3 Squeezebox platforms (#149065) 2025-07-19 16:42:21 +02:00
G Johansson
440a20340e Use OptionsFlowWithReload in nobo_hub (#149066) 2025-07-19 16:41:38 +02:00
G Johansson
676a931c48 Use OptionsFlowWithReload in nmap_tracker (#149067) 2025-07-19 16:40:57 +02:00
G Johansson
360da43868 Use OptionsFlowWithReload in nina (#149068) 2025-07-19 16:40:32 +02:00
Marc Mueller
12193587c9 Use OptionsFlowWithReload in fritzbox_callmonitor (#149071) 2025-07-19 16:39:38 +02:00
G Johansson
290f19dbd9 Use OptionsFlowWithReload in motion_blinds (#149070) 2025-07-19 16:38:28 +02:00
G Johansson
13434012e7 Use OptionsFlowWithReload in netgear (#149069) 2025-07-19 16:37:37 +02:00
peteS-UK
7202203f35 Update bool test in coordinator platform for Squeezebox (#149073) 2025-07-19 16:33:34 +02:00
G Johansson
31167f5da7 Use OptionsFlowWithReload in webostv (#149054) 2025-07-19 16:16:56 +03:00
G Johansson
665991a3c1 Use OptionsFlowWithReload in wled (#149046) 2025-07-19 13:27:46 +01:00
G Johansson
8a2493e9d2 Use OptionsFlowWithReload in Workday (#149043) 2025-07-19 13:26:54 +01:00
G Johansson
be6743d4fd Use OptionsFlowWithReload in yale_smart_alarm (#149040) 2025-07-19 13:14:38 +01:00
G Johansson
284b90d502 Use OptionsFlowWithReload in yeelight (#149045) 2025-07-19 13:14:13 +01:00
G Johansson
d7d2013ec8 Use OptionsFlowWithReload in sql (#149047) 2025-07-19 13:12:25 +01:00
G Johansson
b3bd882a80 Use OptionsFlowWithReload in Trafikverket Train (#149042) 2025-07-19 13:09:54 +01:00
J. Nick Koston
3a6f23b95f Bump aioesphomeapi to 37.0.1 (#149035) 2025-07-19 12:53:51 +01:00
G Johansson
6f59aaebdd Add extended class for OptionsFlow that automatically reloads (#146910)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-19 13:14:20 +02:00
Allen Porter
f90e06fde1 Add attachment support in ollama ai task (#148981) 2025-07-19 07:27:48 +02:00
Paul Bottein
380c737901 Add reorder option to entity selector (#149002) 2025-07-18 19:41:59 +01:00
Petro31
33cc257e75 Consolidate template integration's config schemas (#149018) 2025-07-18 19:38:53 +01:00
Franck Nijhof
3877a6211a Ensure Lokalise download runs as the same user as GitHub Actions (#149026) 2025-07-18 19:56:19 +02:00
J. Nick Koston
916b4368dd Bump aioesphomeapi to 36.0.1 (#148991) 2025-07-18 07:30:34 -10:00
Franck Nijhof
0675e34c62 Bump version to 2025.7.3 2025-07-18 17:05:52 +00:00
Simone Chemelli
190c98f5a8 Bump aioamazondevices to 3.5.0 (#149011) 2025-07-18 17:04:01 +00:00
Jan Bouwhuis
c6bb26be89 Ignore MQTT sensor unit of measurement if it is an empty string (#149006) 2025-07-18 17:02:02 +00:00
J. Nick Koston
d57c5ffa8f Bump PySwitchbot to 0.68.2 (#148996) 2025-07-18 17:02:01 +00:00
Bram Kragten
68889e1790 Update frontend to 20250702.3 (#148994) 2025-07-18 17:02:00 +00:00
Joost Lekkerkerker
8fdc50a29f Pass Syncthru entry to coordinator (#148974) 2025-07-18 17:01:58 +00:00
Steven Looman
5656b4c20d Bump async-upnp-client to 0.45.0 (#148961) 2025-07-18 17:01:57 +00:00
Maciej Bieniek
b6edcc9422 Bump gios to version 6.1.2 (#148884) 2025-07-18 17:01:56 +00:00
Maciej Bieniek
7a3eb53453 Bump gios to version 6.1.1 (#148414) 2025-07-18 17:01:54 +00:00
Arie Catsman
11a2c73e8a Bump pyenphase to 2.2.2 (#148870) 2025-07-18 17:00:32 +00:00
Brett Adams
1644484c92 Fix button platform parent class in Teslemetry (#148863) 2025-07-18 17:00:30 +00:00
Pete Sage
8e0a89dc2f Add guard to prevent exception in Sonos Favorites (#148854) 2025-07-18 17:00:29 +00:00
Robert Resch
9e4b8df344 Use ffmpeg for generic cameras in go2rtc (#148818) 2025-07-18 17:00:28 +00:00
Brett Adams
69fdc1d269 Bump Tesla Fleet API to 1.2.2 (#148776) 2025-07-18 17:00:26 +00:00
Joost Lekkerkerker
56e0aa103d Bump pySmartThings to 3.2.8 (#148761) 2025-07-18 17:00:25 +00:00
Maciej Bieniek
caf0492009 Fix Shelly n_current sensor removal condition (#148740) 2025-07-18 17:00:24 +00:00
hahn-th
c6d0aad3d3 Handle connection issues after websocket reconnected in homematicip_cloud (#147731) 2025-07-18 17:00:22 +00:00
Jan Bouwhuis
4c99fe9ae5 Ignore MQTT sensor unit of measurement if it is an empty string (#149006) 2025-07-18 18:57:03 +02:00
Marc Mueller
353b573707 Update bluecurrent-api to 1.2.4 (#149005) 2025-07-18 15:43:43 +02:00
Maciej Bieniek
109663f177 Bump imgw_pib to version 1.4.2 (#149009) 2025-07-18 15:36:17 +02:00
Simone Chemelli
3b89b2cbbe Bump aioamazondevices to 3.5.0 (#149011) 2025-07-18 15:35:38 +02:00
Abílio Costa
29d0d6cd43 Add top-level target support to trigger schema (#148894) 2025-07-18 14:32:16 +01:00
Erik Montnemery
1743766d17 Add last_reported to state reported event data (#148932) 2025-07-18 13:53:30 +02:00
G Johansson
277241c4d3 Adjust ManualTriggerSensorEntity to handle timestamp device classes (#145909) 2025-07-18 13:49:12 +02:00
Bram Kragten
17034f4d6a Update frontend to 20250702.3 (#148994) 2025-07-18 13:15:55 +02:00
Thomas55555
ec544b0430 Mark entities as unavailable when they don't have a value in Husqvarna Automower (#148563) 2025-07-18 12:49:50 +02:00
Marc Mueller
75c803e376 Update pysmarlaapi to 0.9.1 (#149001) 2025-07-18 12:48:39 +02:00
J. Nick Koston
a96e31f1d8 Bump PySwitchbot to 0.68.2 (#148996) 2025-07-18 12:48:09 +02:00
c0ffeeca7
43a30fad96 Home Assistant Cloud: fix capitalization (#148992) 2025-07-18 12:19:33 +02:00
Petar Petrov
39d323186f Disable "last seen" Z-Wave entity by default (#148987) 2025-07-18 09:53:47 +02:00
karwosts
57c024449c Fix broken invalid_config tests (#148965) 2025-07-18 09:02:44 +02:00
Manu
414057d455 Add image platform to PlayStation Network (#148928) 2025-07-18 08:33:30 +02:00
Joost Lekkerkerker
50688bbd69 Add support for calling tools in Open Router (#148881) 2025-07-18 05:49:27 +02:00
Álvaro Fernández Rojas
073ea813f0 Update aioairzone-cloud to v0.6.15 (#148947) 2025-07-17 23:08:45 +01:00
Vincent Wolsink
6b959f42f6 Introduce base entity for supporting multiple platforms in Huum (#148957) 2025-07-17 23:06:51 +01:00
Joost Lekkerkerker
0ff0902ccf Add icons to WAQI (#148976) 2025-07-17 22:36:18 +01:00
Joost Lekkerkerker
37a154b1df Migrate WAQI to runtime data (#148977) 2025-07-17 23:22:30 +02:00
Petro31
3c87a3e892 Add a preview to template config flow for alarm control panel, image, and select platforms (#148441) 2025-07-17 22:19:45 +01:00
Joost Lekkerkerker
aacaa9a20f Pass Syncthru entry to coordinator (#148974) 2025-07-18 00:14:19 +03:00
Joost Lekkerkerker
c074453763 Remove obsolete variables in WAQI (#148975) 2025-07-18 00:13:46 +03:00
Jan Bouwhuis
29afa891ec Add YAML and discovery info export feature for MQTT device subentries (#141896)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-17 23:06:47 +02:00
Steven Looman
3b6eb045c6 Bump async-upnp-client to 0.45.0 (#148961) 2025-07-17 21:19:47 +02:00
Joost Lekkerkerker
0d819f2389 Refactor WAQI tests (#148968) 2025-07-17 20:30:40 +02:00
Joakim Sørensen
9802441fea Bump hass-nabucasa from 0.106.0 to 0.107.1 (#148949) 2025-07-17 18:47:00 +01:00
Joakim Plate
fb13c8f4f2 Update arcam to 1.8.2 (#148956) 2025-07-17 18:34:58 +01:00
AlCalzone
a96e38871f Z-Wave JS: Simplify strings for RSSI sensors (#148936) 2025-07-17 18:49:34 +03:00
Vincent Wolsink
17920b6ec3 Use climate min/max temp from sauna configuration in Huum (#148955) 2025-07-17 15:34:15 +01:00
karwosts
40cabc8d70 Validate min/max for input_text config (#148909) 2025-07-17 16:27:41 +02:00
AlCalzone
b33a556ca5 Bump zwave-js-server-python to 0.66.0 (#148939)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2025-07-17 16:20:03 +03:00
Marc Mueller
9df97fb2e2 Add correct labels for dependabot PRs (#148944) 2025-07-17 12:31:55 +02:00
Erik Montnemery
ee35fc495d Improve derivative sensor tests (#148941) 2025-07-17 11:44:37 +02:00
Vincent Wolsink
9373bb287c Huum - Introduce coordinator to support multiple platforms (#148889)
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-07-17 11:43:26 +02:00
Erik Montnemery
d72fb021c1 Improve statistics tests (#148937) 2025-07-17 11:42:25 +02:00
Erik Montnemery
0e6a1e3242 Improve integration sensor tests (#148938)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-07-17 11:41:39 +02:00
asafhas
79b8e74d87 Add numbers configuration to Tuya alarm (#148907) 2025-07-17 11:26:33 +02:00
Aidan Timson
72d1c3cfc8 Fix Tuya support for climate fan modes which use "windspeed" function (#148646)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-07-17 09:47:54 +02:00
AlCalzone
3d278b626a Z-Wave JS: Add statistics sensors for channel 3 background RSSI (#148899) 2025-07-17 09:19:44 +02:00
Joakim Plate
5383ff96ef Make sure gardena bluetooth mock unload if it mocks load (#148920) 2025-07-17 09:00:44 +02:00
epenet
a0991134c4 Rename tuya fixture file to match category (#148892) 2025-07-17 08:59:34 +02:00
Jan-Philipp Benecke
9def44dca4 Bump inexogy quality scale to platinum (#148908) 2025-07-17 08:58:53 +02:00
Joris Pelgröm
656822b39c Bump letpot to 0.5.0 (#148922) 2025-07-17 08:57:11 +02:00
epenet
ae03fc2295 Fix missing unit of measurement in tuya numbers (#148924) 2025-07-17 08:55:47 +02:00
Abílio Costa
e32e06d7a0 Fix Husqvarna Automower coordinator listener list mutating (#148926) 2025-07-17 08:52:59 +02:00
Artur Pragacz
6dc2340c5a Fix docstring for WaitIntegrationOnboardingView (#148904) 2025-07-16 23:15:45 +01:00
Thomas55555
83cd2dfef3 Bump aioautomower to 2.0.0 (#148846) 2025-07-16 22:12:35 +02:00
Franck Nijhof
a5c301db1b Add code review guidelines to exclude imports and formatting feedback (#148912) 2025-07-16 21:55:37 +02:00
Norbert Rittel
5b41d5a795 Fix typo "barametric" in rainmachine (#148917) 2025-07-16 21:50:29 +02:00
Michael
9d178ad5f1 Deprecate the usage of ContextVar for config_entry in coordinator (#138161) 2025-07-16 21:45:22 +02:00
Franck Nijhof
e8fca19335 Fix flaky husqvarna_automower test with comprehensive race condition fix (#148911)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-16 21:40:44 +02:00
Joost Lekkerkerker
58bb2fa327 Bump python-open-router to 0.3.0 (#148900) 2025-07-16 18:51:52 +02:00
epenet
fca05f6bcf Add snapshot tests for tuya dj category (#148897) 2025-07-16 18:34:28 +02:00
Joost Lekkerkerker
a5f0f6c8b9 Add prompt as constant and common translation key (#148896) 2025-07-16 18:23:38 +02:00
Artur Pragacz
e2340314c6 Do not allow filters for services with no target in hassfest (#148869) 2025-07-16 17:40:35 +02:00
Erik Montnemery
aab6cd665f Fix flaky notify group test (#148895) 2025-07-16 17:06:35 +02:00
Paulus Schoutsen
1734b316d5 Return intent response from LLM chat log if available (#148522) 2025-07-16 16:16:01 +02:00
Maciej Bieniek
3449863eee Bump gios to version 6.1.2 (#148884) 2025-07-16 15:49:02 +02:00
Manu
b68de0af88 Change deprecated media_player state standby to off in PlayStation Network (#148885) 2025-07-16 15:48:39 +02:00
Artur Pragacz
840e0d1388 Clean up ModuleWrapper from loader (#148488) 2025-07-16 15:19:22 +02:00
Joost Lekkerkerker
412035b970 Add devices to OpenRouter (#148888) 2025-07-16 15:07:53 +02:00
Denis Shulyaka
3e465da892 Add Code Interpreter tool for OpenAI Conversation (#148383) 2025-07-16 14:52:53 +02:00
Marc Mueller
0d79f7db51 Update mypy-dev to 1.18.0a2 (#148880) 2025-07-16 14:43:55 +02:00
Erik Montnemery
62e3802ff2 Deprecate MediaPlayerState.STANDBY (#148151)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-16 14:22:42 +02:00
tronikos
02a11638b3 Add Google AI STT (#147563) 2025-07-16 14:11:29 +02:00
Josef Zweck
26a9af7371 Add search functionality to jellyfin (#148822) 2025-07-16 13:26:46 +02:00
epenet
e28f02d163 Add initial support for tuya qccdz (#148874) 2025-07-16 12:28:18 +02:00
G Johansson
a6828898d1 Add sensor platform to SMHI (#139295) 2025-07-16 12:25:10 +02:00
Paulus Schoutsen
29e105b0ef Set default mode for number selector to box (#148773) 2025-07-16 11:19:31 +01:00
Maciej Bieniek
ce4a811b96 Add hydrological alert sensor to IMGW-PIB integration (#148848) 2025-07-16 10:55:50 +01:00
Arie Catsman
fe8384719d Bump pyenphase to 2.2.2 (#148870) 2025-07-15 23:18:14 -10:00
Joost Lekkerkerker
a57d48fd31 Add OpenRouter integration (#143098) 2025-07-16 10:55:28 +02:00
Thomas55555
8a73511b02 Add inactive reason sensor to Husqvarna Automower (#147684) 2025-07-16 10:44:04 +02:00
epenet
033d8b3dfb Add snapshot tests for tuya co2bj and gyd categories (#148872) 2025-07-16 10:38:43 +02:00
epenet
6833bf1900 Add battery status and configuration entities to Tuya thermostat (wk) (#148821) 2025-07-16 10:15:44 +02:00
Brett Adams
84e3dac406 Update vehicle type handling in Teslemetry (#148862) 2025-07-16 10:05:17 +02:00
epenet
bafd342d5d Add initial support for tuya cwjwq (#148420) 2025-07-16 09:54:44 +02:00
epenet
fae6b375cd Fix incorrectly rejected device classes in tuya (#148596) 2025-07-16 09:39:22 +02:00
epenet
d8de6e34dd Add support for Tuya ks category (tower fan) (#148811) 2025-07-16 09:24:20 +02:00
Artur Pragacz
9db5b0b3b7 Validate selectors in the service helper (#148857) 2025-07-16 08:51:16 +02:00
Brett Adams
bcec29763f Fix button platform parent class in Teslemetry (#148863) 2025-07-16 08:16:36 +02:00
epenet
27ad459ae0 Add tuya snapshots for more humidifiers (cs category) (#148797) 2025-07-16 08:11:55 +02:00
hahn-th
9c933ef01f Add support for HmIPW-DRBL4 in homematicip_cloud (#148844) 2025-07-16 08:10:56 +02:00
Norbert Rittel
2011e64390 Different fixes in user-facing strings of nasweb (#148830) 2025-07-16 08:10:29 +02:00
Brett Adams
ffc2b0a8cf Add mock for listen in Teslemetry tests (#148853) 2025-07-16 08:09:54 +02:00
Pete Sage
549069e22c Add guard to prevent exception in Sonos Favorites (#148854) 2025-07-16 08:09:24 +02:00
Jan-Philipp Benecke
57e4270b7b Make exceptions translatable in inexogy integration (#148865) 2025-07-16 08:06:49 +02:00
Maciej Bieniek
38e4e18f60 Bump IMGW-PIB to version 1.4.1 (#148849) 2025-07-16 00:41:56 +01:00
Robert Resch
7f2a32d4eb Remove not needed go2rtc stream config (#148836) 2025-07-15 22:11:55 +01:00
Manu
d46e0e132b Add reconfigure flow to Uptime Kuma (#148833) 2025-07-15 22:46:37 +02:00
Álvaro Fernández Rojas
828f0f8b26 Update aioairzone-cloud to v0.6.14 (#148820) 2025-07-15 22:43:40 +02:00
Erik Montnemery
849a25e3cc Handle changes to source entities in mold_indicator helper (#148823)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-07-15 22:19:32 +02:00
Erik Montnemery
3cb579d585 Do not add statistics config entry to source device (#148731) 2025-07-15 22:13:26 +02:00
Erik Montnemery
381bd489d8 Do not add template config entry to source device (#148756) 2025-07-15 22:13:03 +02:00
Marc Mueller
f5b785acd5 Update youtubeaio to 2.0.0 (#148814) 2025-07-15 20:44:32 +02:00
Manu
648dce2fa3 Add diagnostics platform to Uptime Kuma (#148835) 2025-07-15 20:19:14 +02:00
Manu
d14a0e0191 Bump pythonkuma to v0.3.1 (#148834) 2025-07-15 20:18:47 +02:00
Maciej Bieniek
9caf46c68b Bump imgw_pib library to version 1.4.0 (#148831) 2025-07-15 20:17:54 +02:00
Artur Pragacz
e89ae021d8 Clean up validate_supported_features in selector helper (#148843) 2025-07-15 20:10:16 +02:00
Marc Mueller
36156d9c54 Update orjson to 3.11.0 (#148840) 2025-07-15 19:43:44 +02:00
Artur Pragacz
3e0628cec2 Fix entity and device selectors (#148580) 2025-07-15 18:58:42 +02:00
Robert Resch
8bd51a7fd1 Use ffmpeg for generic cameras in go2rtc (#148818) 2025-07-15 16:38:19 +01:00
Paul Bottein
5b29d6bbdf Set icon for off state for light domain (#148749) 2025-07-15 16:25:22 +01:00
karwosts
2c2ac4b669 Throw an error from reload_themes if themes are invalid (#148827)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-15 17:08:19 +02:00
Petro31
35097602d7 Remove unnecessary hass if check in AbstractTemplateEntity (#148828) 2025-07-15 17:04:31 +02:00
Petro31
e5fe243a86 Remove device id references from button and image (#148826) 2025-07-15 17:03:47 +02:00
Manu
fd10fa1fba Add reauthentication flow to Uptime Kuma (#148772) 2025-07-15 16:49:08 +02:00
Myles Eftos
087a938a7d Add forecast service to amberelectric (#144848)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-07-15 16:32:59 +02:00
Petro31
c058561162 Add initalize for abstract template entities (#147504) 2025-07-15 15:53:01 +02:00
epenet
b89b248b4c Add tuya snapshots for qxj category (#148802) 2025-07-15 14:18:14 +02:00
Samuel Xiao
cd94685b7d Add Fan platform to Switchbot cloud (#148304)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-15 13:55:13 +02:00
Matrix
0acfb81d50 Clean up YoLink entities on startup (#148718) 2025-07-15 13:53:29 +02:00
Andrea Turri
7d06aec8da Discovery of Miele temperature sensors (#144585)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-15 12:50:28 +02:00
Åke Strandberg
ee4325a927 Replace deprecated battery property on Miele vacuum with sensor (#148765) 2025-07-15 11:40:48 +01:00
Alex Leversen
c7aadcdd20 Add file name/size sensors to OctoPrint integration (#148636) 2025-07-15 12:35:20 +02:00
wuede
8256401f7f expose schedule id as an extra state attribute in Netatmo (#147076) 2025-07-15 12:16:59 +02:00
hahn-th
ab187f39c2 Add support for HmIP-RGBW and HmIP-LSC in homematicip_cloud integration (#148639) 2025-07-15 12:16:07 +02:00
hahn-th
1cb278966c Handle connection issues after websocket reconnected in homematicip_cloud (#147731) 2025-07-15 12:15:19 +02:00
Josef Zweck
b522bd5ef2 Get media player features elsewhere for jellyfin (#148805) 2025-07-15 12:07:57 +02:00
Álvaro Fernández Rojas
a6e1d96852 Update aioairzone-cloud to v0.6.13 (#148798)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2025-07-15 11:21:54 +02:00
Marc Mueller
3d74d02704 Update pytouchlinesl to 0.4.0 (#148801) 2025-07-15 11:15:06 +02:00
Artur Pragacz
db45f46c8a Fan support in WiZ (#146440) 2025-07-15 11:14:47 +02:00
ehendrix23
4f938d032d Bump elevenlabs to 2.3.0 (#147224) 2025-07-15 10:45:55 +02:00
nasWebio
e1f15dac39 Add Sensor platform to NASweb integration (#133063)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-15 10:39:53 +02:00
epenet
41e261096a Use suggested unit of measurement in Tuya (#148599) 2025-07-15 10:34:16 +02:00
Max Velitchko
f6aa4aa788 Bump amcrest to 1.9.9 (#148769) 2025-07-15 10:14:26 +02:00
Brett Adams
7d7767c93a Bump Tesla Fleet API to 1.2.2 (#148776) 2025-07-15 09:21:00 +02:00
J. Nick Koston
5e883cfb12 Fix flaky nuki tests by preventing teardown race condition (#148795) 2025-07-14 21:03:49 -10:00
Paulus Schoutsen
e2cc51f21d Allow AI Task to handle camera attachments (#148753) 2025-07-15 08:51:08 +02:00
Petro31
816977dd75 Refactor async_setup_platform for template platforms (#147379) 2025-07-15 08:26:34 +02:00
kingy444
a81e83cb28 Manually register powerview hub (#146709)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-14 22:38:01 +01:00
Maciej Bieniek
c476500c49 Fix Shelly n_current sensor removal condition (#148740) 2025-07-14 23:40:46 +03:00
Matthias Alphart
f65fa38429 Add reconfigure flow for KNX (#145067)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-14 21:49:52 +02:00
Manu
66641356cc Add Uptime Kuma integration (#146393) 2025-07-14 21:35:57 +02:00
Willem-Jan van Rootselaar
37ae476c67 Add Zeroconf support for bsblan integration (#146137)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-14 21:26:03 +02:00
Manu
5ec9c4e6e3 Add PS Vita support to PlayStation Network integration (#148186) 2025-07-14 21:24:50 +02:00
Marc Mueller
80eb4fb2f6 Replace asyncio.iscoroutinefunction (#148738) 2025-07-14 20:24:32 +01:00
Joost Lekkerkerker
9e3a78b7ef Bump pySmartThings to 3.2.8 (#148761) 2025-07-14 20:18:12 +01:00
hahn-th
c08c402409 Add switches for HmIPW-DRI16, HmIPW-DRI32, HmIPW-DRS4, HmIPW-DRS8 (#148571) 2025-07-14 21:16:29 +02:00
Vincent Wolsink
d42d270fb2 Bump Huum to version 0.8.0 (#148763) 2025-07-14 20:16:26 +01:00
fwestenberg
9068a09620 Add Stookwijzer forecast service (#138392)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-14 21:08:16 +02:00
Stephan Traub
1ef07544d5 Fix for ignored devices issue #137114 (#146562) 2025-07-14 21:07:47 +02:00
Erik Montnemery
ed4a23d104 Override connect method in RecorderPool (#148490) 2025-07-14 20:57:00 +02:00
peteS-UK
0729b3a2f1 Change hass.data storage to runtime.data for Squeezebox (#146482) 2025-07-14 20:53:53 +02:00
Manu
c9356868f7 Add add-on discovery flow to pyLoad integration (#148494) 2025-07-14 19:29:57 +01:00
Abílio Costa
1753baf186 Add method to track entity state changes from target selectors (#148086)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-14 19:28:53 +01:00
Petro31
8421ca7802 Add assumed optimistic state to template select (#148513) 2025-07-14 19:28:27 +01:00
Paulus Schoutsen
124931b2ee TTS to always stream when available (#148695)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-07-14 20:23:43 +02:00
Erik Montnemery
c27a67db82 Do not add integration config entry to source device (#148730) 2025-07-14 20:18:41 +02:00
Erik Montnemery
3ae9ea3f19 Do not add generic_thermostat config entry to source device (#148728) 2025-07-14 20:18:21 +02:00
Erik Montnemery
e35f7b12f1 Do not add generic_hygrostat config entry to source device (#148727) 2025-07-14 20:18:11 +02:00
Erik Montnemery
1a1e9e9f57 Add test for combining state change and state report listeners (#148721) 2025-07-14 20:15:39 +02:00
Erik Montnemery
254f766357 Do not add history_stats config entry to source device (#148729) 2025-07-14 20:05:34 +02:00
Erik Montnemery
7df0016fab Do not add threshold config entry to source device (#148732) 2025-07-14 20:05:20 +02:00
Erik Montnemery
57f89dd606 Do not add trend config entry to source device (#148733) 2025-07-14 20:00:49 +02:00
Erik Montnemery
92bb1f2551 Do not add utility_meter config entry to source device (#148735) 2025-07-14 20:00:21 +02:00
kanshurichard
f680e992ff Add support for Broadlink A2 air quality sensor (#142203)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-14 19:07:50 +02:00
Thomas55555
f08d1e547f Fix adding a work area in Husqvarna Automower (#148358) 2025-07-14 19:04:00 +02:00
Tsvi Mostovicz
9e022ad75e Quality fixes for Jewish Calendar (#148689) 2025-07-14 17:44:11 +02:00
Paulus Schoutsen
14ff04200e Make AI Task instructions multiline (#148606) 2025-07-14 15:24:44 +01:00
Michael
5e4ce46dae Use absolute humidity device class in Airq (#148568) 2025-07-14 14:38:33 +02:00
Erik Montnemery
155fc134b6 Do not add derivative config entry to source device (#148674)
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2025-07-14 13:33:00 +02:00
Franck Nijhof
1f59b735c6 2025.7.2 (#148725) 2025-07-14 13:12:29 +02:00
Franck Nijhof
87af9fc8ba Bump version to 2025.7.2 2025-07-14 10:30:35 +00:00
Simone Chemelli
691a0ca065 Bump aioamazondevices to 3.2.10 (#148709) 2025-07-14 10:27:45 +00:00
Shay Levy
80384b89a5 Bump aioshelly to 13.7.2 (#148706) 2025-07-14 10:25:24 +00:00
Jan Bouwhuis
f7672985ed Fix hide empty sections in mqtt subentry flows (#148692) 2025-07-14 10:25:23 +00:00
Christopher Fenner
d4374dbcc7 Bump PyViCare to 2.50.0 (#148679) 2025-07-14 10:25:22 +00:00
Brett Adams
c4ddcd64c8 Fix Charge Cable binary sensor in Teslemetry (#148675) 2025-07-14 10:25:21 +00:00
0xEF
c802430066 Bump nyt_games to 0.5.0 (#148654) 2025-07-14 10:25:20 +00:00
falconindy
649fbfc729 snoo: use correct value for right safety clip binary sensor (#148647) 2025-07-14 10:25:18 +00:00
Jan Bouwhuis
80c52ad8ea Fix - only enable AlexaModeController if at least one mode is offered (#148614) 2025-07-14 10:25:17 +00:00
Lưu Quang Vũ
150d4716fa Fix Google Cloud 504 Deadline Exceeded (#148589) 2025-07-14 10:25:16 +00:00
Bram Kragten
dc2736580f Update frontend to 20250702.2 (#148573) 2025-07-14 10:25:15 +00:00
J. Nick Koston
f1272ef513 Bump aiohttp to 3.12.14 (#148565) 2025-07-14 10:25:14 +00:00
Åke Strandberg
3c2fa023b4 Remove vg argument from miele auth flow (#148541) 2025-07-14 10:25:12 +00:00
Kristof Mariën
5cf5be8c9c Fix for Renson set Breeze fan speed (#148537) 2025-07-14 10:25:11 +00:00
Jan-Philipp Benecke
63b21fda1a Ensure response is fully read to prevent premature connection closure in rest command (#148532) 2025-07-14 10:25:10 +00:00
J. Diego Rodríguez Royo
d87379d083 Use the link to the issue instead of creating new issues at Home Connect (#148523) 2025-07-14 10:25:09 +00:00
J. Diego Rodríguez Royo
0990cef917 Add Home Connect resume command button when an appliance is paused (#148512) 2025-07-14 10:25:08 +00:00
Michael
962ad99c20 Add workaround for sub units without main device in AVM Fritz!SmartHome (#148507) 2025-07-14 10:25:07 +00:00
Michael
9c9836defd Bump aioimmich to 0.10.2 (#148503) 2025-07-14 10:25:06 +00:00
Jan Bouwhuis
e951fc401c Fix entity_id should be based on object_id the first time an entity is added (#148484) 2025-07-14 10:25:05 +00:00
Robert Resch
00e2a177a5 Revert "Deprecate hddtemp" (#148482) 2025-07-14 10:25:04 +00:00
Joakim Sørensen
b6d316c8f2 Bump hass-nabucasa from 0.105.0 to 0.106.0 (#148473) 2025-07-14 10:25:02 +00:00
Raphael Hehl
b8425de0d0 Bump uiprotect to version 7.14.2 (#148453) 2025-07-14 10:25:01 +00:00
Joost Lekkerkerker
d51a44acbc Bump pySmartThings to 3.2.7 (#148394) 2025-07-14 10:25:00 +00:00
Josef Zweck
435465e569 Bump pylamarzocco to 2.0.11 (#148386) 2025-07-14 10:24:59 +00:00
Josef Zweck
3b047859f9 Create own clientsession for lamarzocco (#148385) 2025-07-14 10:24:58 +00:00
Simone Chemelli
91cdf1a367 Bump aioamazondevices to 3.2.8 (#148365)
Co-authored-by: Joakim Plate <elupus@ecce.se>
2025-07-14 10:24:57 +00:00
Joakim Plate
2377b136f3 Handle binary coils with non default mappings in nibe heatpump (#148354) 2025-07-14 10:24:56 +00:00
Retha Runolfsson
186c4e7038 Bump pyswitchbot to 0.68.1 (#148335) 2025-07-14 10:24:55 +00:00
Samuel Xiao
d303a7d17e Fix Switchbot cloud plug mini current unit Issue (#148314) 2025-07-14 10:24:54 +00:00
jvits227
14f059c766 Add lamp states to smartthings selector (#148302)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-14 10:23:55 +00:00
Arie Catsman
4a10370932 Bump pyenphase to 2.2.1 (#148292) 2025-07-14 10:13:43 +00:00
J. Nick Koston
672ffa5984 Restore httpx compatibility for non-primitive REST query parameters (#148286) 2025-07-14 10:13:42 +00:00
Maciej Bieniek
3d3f2527cb Bump gios to version 6.1.0 (#148274) 2025-07-14 10:13:41 +00:00
Shay Levy
5c3b279f95 Bump aiowebostv to 0.7.4 (#148273) 2025-07-14 10:13:40 +00:00
starkillerOG
59bcf1167a bump motionblinds to 0.6.29 (#148265) 2025-07-14 10:13:39 +00:00
Mark Adkins
b4d789f8e2 Bump sharkiq to 1.1.1 (#148244) 2025-07-14 10:12:00 +00:00
Josef Zweck
f4ca56052b Bump pylamarzocco to 2.0.10 (#148233) 2025-07-14 10:11:59 +00:00
J. Nick Koston
74f9549431 Fix UTF-8 encoding for REST basic authentication (#148225) 2025-07-14 10:11:58 +00:00
J. Nick Koston
9650727515 Fix REST sensor charset handling to respect Content-Type header (#148223) 2025-07-14 10:11:57 +00:00
ekutner
25f64a2f36 Do not specify the code_format when a code is not required (#148698) 2025-07-14 12:11:36 +02:00
TimL
c965da6559 Bump pysmlight to v0.2.7 (#148101)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-14 10:09:19 +00:00
Sören Beye
9077965214 Squeezebox: Fix tracks not having thumbnails (#147187) 2025-07-14 10:09:18 +00:00
Sören Beye
2b7992e849 Squeezebox: Fix track selection in media browser (#147185) 2025-07-14 10:09:16 +00:00
Erik Montnemery
dcbdce4b2b Improve docstrings of event helpers related to state changes (#148722) 2025-07-14 11:57:27 +02:00
Michael
50047f0a4e Add new device class for absolute humidity (#148567) 2025-07-14 11:46:17 +02:00
Fredrik Mårtensson
21b1122f83 Add test fixture for Tuya cover (#148660) 2025-07-14 11:43:02 +02:00
Jan Bouwhuis
09104fca4d Fix hide empty sections in mqtt subentry flows (#148692) 2025-07-14 11:26:37 +02:00
Jan Bouwhuis
ad4e5459b1 Fix - only enable AlexaModeController if at least one mode is offered (#148614) 2025-07-14 11:25:22 +02:00
Joost Lekkerkerker
334d5f09fb Create Google Generative AI sub entries for an enabled entry (#148161)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-07-14 11:24:00 +02:00
Niccolò Maggioni
9f3d890e91 Bump pysnmp to v7 and brother to v5 (#129761)
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
2025-07-14 10:46:13 +02:00
Hessel
eae9f4f925 Wallbox Integration - Add repair action for insufficient rights (#148610)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-14 10:30:48 +02:00
Brett Adams
5e50c723a7 Fix Charge Cable binary sensor in Teslemetry (#148675) 2025-07-14 10:29:29 +02:00
MattMorgan
f761f7628a Minor update to keymitt_ble manifest. (#148708) 2025-07-14 08:50:25 +02:00
karwosts
26d71fcdba Fix derivative migration from 'none' unit_prefix (#147820) 2025-07-14 08:17:20 +02:00
Christopher Fenner
e4359e74c6 Bump PyViCare to 2.50.0 (#148679) 2025-07-14 08:08:54 +02:00
Marc Mueller
5e30e6cb91 Update python-mystrom to 2.4.0 (#148682) 2025-07-14 08:02:43 +02:00
Simone Chemelli
bc07030304 Bump aioamazondevices to 3.2.10 (#148709) 2025-07-14 01:18:35 +03:00
Shay Levy
25ba2437dd Bump aioshelly to 13.7.2 (#148706) 2025-07-14 01:15:50 +03:00
Kevin Worrel
cfc7cfcf37 Bump screenlogicpy to 0.10.2 (#148703) 2025-07-13 11:44:55 -10:00
J. Diego Rodríguez Royo
74288a3bc8 Re-enable Home Connect updates automatically (#148657)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-13 22:46:42 +02:00
Marc Mueller
b2fe17c6d4 Update PyMicroBot to 0.0.23 (#148700) 2025-07-13 22:12:00 +02:00
Paulus Schoutsen
611f86cf8c OpenAI: Add attachment support to AI task (#148676) 2025-07-13 21:51:46 +02:00
Paulus Schoutsen
23a8442abe Make attachments native to chat log (#148693)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-13 19:35:11 +02:00
Paulus Schoutsen
f3ad6bd9b6 Report correctly when no funds for OpenAI (#148677) 2025-07-13 17:55:24 +02:00
Robert Meijers
023dd9d523 Discover Heos players using Zeroconf (#144763) 2025-07-13 09:56:31 -05:00
Steven Tegreeny
f7d132b043 Add Z-WAVE discovery entry for the GE/JASCO in-wall smart fan control (#148246) 2025-07-13 13:46:37 +02:00
Brett Adams
bb17f34bae Remove history first refresh from Teslemetry (#148531) 2025-07-13 13:01:38 +02:00
Erik Montnemery
d22dd68119 Fix exception in EntityRegistry.async_device_modified (#148645) 2025-07-13 10:37:48 +02:00
Alex Leversen
4122af1d33 Bump pyoctoprintapi version to 0.1.14 (#148651) 2025-07-13 09:04:01 +02:00
J. Nick Koston
87fd45d4ab Add device_id parameter to ESPHome command calls for sub-device support (#148667) 2025-07-12 20:12:14 -10:00
asafhas
1c35aff510 Add configuration entities to Tuya multifunction alarm (#148556) 2025-07-13 07:55:37 +02:00
J. Nick Koston
ab6ac94af9 Bump aioesphomeapi to 35.0.0 (#148666) 2025-07-12 18:49:59 -10:00
Marc Mueller
d33f73fce2 Cleanup bleak warnings (#148665) 2025-07-12 16:26:31 -10:00
Marc Mueller
fca6dc264f Update bleak to 1.0.1 (#147742)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-07-12 13:11:37 -10:00
Amit Finkelstein
5287f4de81 Bump pyatv to 0.16.1 (#148659) 2025-07-12 21:52:26 +01:00
jvits227
ccc1f01ff6 Add lamp states to smartthings selector (#148302)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-12 20:51:09 +02:00
falconindy
531f1f1964 snoo: use correct value for right safety clip binary sensor (#148647) 2025-07-12 20:46:03 +02:00
Hessel
72dc2b15d5 Wallbox Add translation to exception config entry auth failed (#148649) 2025-07-12 20:40:39 +02:00
0xEF
cf2ef4cec1 Bump nyt_games to 0.5.0 (#148654) 2025-07-12 20:30:26 +02:00
Hessel
28994152ae Wallbox - Add translation to exception (#148644) 2025-07-12 12:24:59 +02:00
AlCalzone
ad881d892b Keep entities of dead Z-Wave devices available (#148611) 2025-07-11 23:45:57 +02:00
Paulus Schoutsen
87e641bf59 Update recommended model for Ollama to Qwen3 (#148627) 2025-07-11 16:15:13 -05:00
Paulus Schoutsen
6ecaca753d Update Anthropic max tokens to 3000 and recommended model to claude-3-5-haiku-latest (#148624)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 23:00:04 +02:00
Paulus Schoutsen
017cd0bf45 Update OpenAI conversation max tokens to 3000 (#148623)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 22:59:51 +02:00
Paulus Schoutsen
1920edd712 Update Google Generative AI Conversation max tokens to 3000 (#148625)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-11 13:10:12 -07:00
Erik Montnemery
2dca78efbb Improve entity registry handling of device changes (#148425) 2025-07-11 20:56:50 +02:00
Lưu Quang Vũ
e0179a7d45 Fix Google Cloud 504 Deadline Exceeded (#148589) 2025-07-11 11:53:38 -07:00
Abílio Costa
d393d5fdbb Use non-autospec mock for Reolink's util and view tests (#148579) 2025-07-11 16:27:06 +02:00
Joost Lekkerkerker
a34264f345 Add SmartThings RVC fixture (#148552) 2025-07-11 14:01:11 +02:00
epenet
73c9d99abf Add tuya snapshot tests for wxkg category (#148609) 2025-07-11 13:55:01 +02:00
Avi Miller
ec5991bc68 Add support for LIFX 26"x13" Ceiling (#148459)
Signed-off-by: Avi Miller <me@dje.li>
2025-07-11 13:42:50 +02:00
Arjan
87aecf0ed9 Linkplay: add select entity to set Audio Output hardware (#143329) 2025-07-11 12:45:21 +02:00
Norbert Rittel
0b2ce73eac Fix description of html5.dismiss action (#148591) 2025-07-11 11:43:29 +02:00
Hessel
22828568e2 Wallbox Integration - Type Config Entry (#148594) 2025-07-11 11:37:24 +02:00
Jan Bouwhuis
5a4c837328 Fix entity_id should be based on object_id the first time an entity is added (#148484) 2025-07-11 11:19:54 +02:00
Jan-Philipp Benecke
cd73824e3e Ensure response is fully read to prevent premature connection closure in rest command (#148532) 2025-07-11 09:06:18 +02:00
Robin Thoni
32121a073c Add release URL for Tessie updates (#148548)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-11 07:56:23 +02:00
Matrix
c6c622797d Add YoLink YS7A12 support (#148588) 2025-07-11 07:55:13 +02:00
jlestel
193b32218f Fix domain validation in Tesla Fleet (#148555) 2025-07-11 00:41:03 +01:00
Paulus Schoutsen
e6702d2392 Serialize Object Selector correctly if a field is required (#148577) 2025-07-10 22:45:56 +01:00
Paulus Schoutsen
19b3b6cb28 Add attachment support to Google Gemini (#148208) 2025-07-10 23:45:11 +02:00
Harry Heymann
a2220cc2e6 Add LED intensity custom attributes for Matter Inovelli Dimmers (#148074)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-10 23:36:51 +02:00
J. Nick Koston
18a89d5815 Bump aiohttp to 3.12.14 (#148565) 2025-07-10 23:10:48 +02:00
Bram Kragten
6eeec948a8 Update frontend to 20250702.2 (#148573) 2025-07-10 23:09:47 +02:00
Paulus Schoutsen
0e09a47476 Add OpenAI AI Task entity (#148295) 2025-07-10 23:08:56 +02:00
karwosts
f0a636949a Support all Energy units in Energy integration (#148566) 2025-07-10 19:29:48 +01:00
Allen Porter
d15baf9f9f Drop homeassistant agent and assist_pipeline migration code (#147968)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-07-10 17:30:54 +02:00
epenet
4f27058a68 Add fault binary sensors to tuya dehumidifer (#148485) 2025-07-10 16:15:07 +02:00
epenet
058e1ede10 Add tuya snapshot tests for wsdcg and zndb category (#148554) 2025-07-10 15:55:22 +02:00
epenet
d23321cf54 Add tuya snapshot tests for dlq category (#148549) 2025-07-10 15:55:03 +02:00
epenet
eb20292683 Move tuya models to separate module (#148550) 2025-07-10 15:54:05 +02:00
Norbert Rittel
12f913e737 Improve names and descriptions of rainmachine.push_weather_data (#148534) 2025-07-10 13:38:42 +02:00
tronikos
7e405d4ddb 100% test coverage in Google Assistant SDK (#148536) 2025-07-10 13:21:19 +02:00
Nathan Spencer
2829cc1248 Add visits today sensor for pets (#147459) 2025-07-10 11:24:54 +01:00
Matrix
8881919efd Add YS8009 support to Yolink (#148538) 2025-07-10 12:10:15 +02:00
Åke Strandberg
a00f61f7be Remove vg argument from miele auth flow (#148541) 2025-07-10 12:09:24 +02:00
Josh Barnard
c37b0a8f1d Adding precision for voltage and wind speed sensors in Ecowitt (#148462) 2025-07-10 11:21:44 +02:00
Kristof Mariën
c75b34a911 Fix for Renson set Breeze fan speed (#148537) 2025-07-10 10:52:03 +02:00
Denis Shulyaka
cbe2fbdc34 Encrypted reasoning items support for OpenAI Conversation (#148279) 2025-07-10 10:46:10 +02:00
J. Diego Rodríguez Royo
c2bc4a990e Use the link to the issue instead of creating new issues at Home Connect (#148523) 2025-07-10 09:35:30 +02:00
J. Diego Rodríguez Royo
49baa65f61 Add Home Connect resume command button when an appliance is paused (#148512) 2025-07-10 00:26:13 +02:00
Matthias Alphart
24a7ebd2bb Move KNXModule class to separate module (#146100) 2025-07-09 23:51:40 +02:00
Noah Husby
a4b9efa1b1 Support AM/FM channel name in Russound RIO (#148421) 2025-07-09 23:23:04 +02:00
Manu
15544769b6 Add action for activity reactions to Bring! (#138175) 2025-07-09 23:08:24 +02:00
Tsvi Mostovicz
3307132441 Jewish calendar: appropriate polling for sensors (2/3) (#144906)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-09 22:50:09 +02:00
Thomas55555
da255af8de Bump aioautomower to 1.2.2 (#148497) 2025-07-09 22:02:31 +02:00
Maciej Bieniek
a7e879714b Add water flow sensor to IMGW PIB integration (#148517) 2025-07-09 21:59:08 +02:00
Michael
8aaf5756e0 Add workaround for sub units without main device in AVM Fritz!SmartHome (#148507) 2025-07-09 21:44:50 +02:00
Maciej Bieniek
ce5f06b1e5 Add new sensors to GIOS integration (#148510) 2025-07-09 21:43:02 +02:00
Denis Shulyaka
e42ca06173 Bump openai to 1.93.3 (#148501) 2025-07-09 21:41:50 +02:00
Thomas55555
2807f057de Fix flaky test in Husqvarna Automower (#148515) 2025-07-09 22:34:37 +03:00
Mickael Goubin
283d0d16c0 Linkplay - when grouped, the first media player returned is the coordinator (#146295)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-09 21:33:15 +02:00
Michael
84959a0077 Add platinum quality scale to Pegel Online (#131382) 2025-07-09 21:33:07 +02:00
Michael
e012196af8 Bump aioimmich to 0.10.2 (#148503) 2025-07-09 21:22:31 +02:00
Maciej Bieniek
5d43938f0d Bump imgw_pib to version 1.2.0 (#148511) 2025-07-09 21:20:38 +02:00
Nathan Spencer
cbdc8e3800 Bump pylitterbot to 2024.2.2 (#148505) 2025-07-09 20:45:45 +02:00
Jan-Philipp Benecke
1b5bbda6b0 Add response headers to action response of rest command (#148480) 2025-07-09 20:37:00 +02:00
G Johansson
57083d877e Add repairs from issue registry to integration diagnostics (#148498) 2025-07-09 18:52:16 +01:00
Petro31
3045f67ae5 Modernize binary sensor template tests (#148367) 2025-07-09 17:49:28 +02:00
Joost Lekkerkerker
6f31057d30 Rework Snapcast config flow tests (#148434) 2025-07-09 16:01:17 +01:00
epenet
511ffdc03c Add tuya snapshot tests for kg category (#148492) 2025-07-09 16:20:29 +02:00
epenet
59fe6da47c Adjust tuya test docstrings (#148493) 2025-07-09 15:59:43 +02:00
epenet
e1cdc1af1c Add diagnostics tests to tuya (#148489) 2025-07-09 15:47:48 +02:00
epenet
f6e2b962fd Use SnapshotAssertion in lifx diagnostics tests (#148491) 2025-07-09 15:30:17 +02:00
epenet
fe0ce9bc6d Use real product_id in tuya fixture (#148415) 2025-07-09 14:44:18 +02:00
Robert Resch
b083919031 Revert "Deprecate hddtemp" (#148482) 2025-07-09 13:53:15 +02:00
epenet
ef2e699d2c Add tuya snapshot tests for curtain switch (#148465)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-09 13:05:53 +02:00
Raphael Hehl
71df8ffe6e Bump uiprotect to version 7.14.2 (#148453) 2025-07-09 12:37:45 +02:00
Joakim Sørensen
98604f09fc Bump hass-nabucasa from 0.105.0 to 0.106.0 (#148473) 2025-07-09 12:30:43 +02:00
Artur Pragacz
b97b04661e Improve logging in bootstrap (#148469) 2025-07-09 11:29:56 +01:00
Andrew Jackson
828037de1f Set quality scale on Mealie to silver (#148467) 2025-07-09 11:25:56 +01:00
Norbert Rittel
659504c91f Fix friendly name of increased_non_neutral_output in zha (#148468) 2025-07-09 12:24:44 +02:00
Franck Nijhof
434ac421d1 Tiny tweaks to task form (#148475) 2025-07-09 12:04:00 +02:00
Denis Shulyaka
de849b920a Enable web search for OpenAI reasoning models (#148393) 2025-07-09 10:54:49 +02:00
Artur Pragacz
e387d4834f Fix unloading update listener in Unifi (#148471) 2025-07-09 10:44:21 +02:00
Artur Pragacz
39ed877a17 Fix unloading update listener in Axis (#148470) 2025-07-09 10:43:55 +02:00
epenet
13d05a338b Sort tuya definitions by category (#148472) 2025-07-09 10:42:55 +02:00
Avi Miller
cb2095bcbe Bump aiolifx to 1.2.1 (#148464)
Signed-off-by: Avi Miller <me@dje.li>
2025-07-09 09:43:29 +02:00
Norbert Rittel
6de630ef3e Fix sentence-casing of trigger subtypes in xiaomi_ble (#148463) 2025-07-09 10:43:22 +03:00
Rico Hageman
a02359b25d Add dew point to Awair integration (#148403) 2025-07-09 09:28:55 +02:00
Oliver Heesakkers
afcd991262 Handle processing errors when writing to Zabbix (#148449) 2025-07-09 08:01:54 +02:00
J. Nick Koston
6b5b35fece Bump aioesphomeapi to 34.2.0 (#148456) 2025-07-08 22:34:35 -06:00
Norbert Rittel
ed8effa162 Fix spelling of "non-existent", "non-blocking" and "currently used" (#148440) 2025-07-08 22:58:39 +01:00
Simone Chemelli
70c01efe57 Update Alexa Devices quality scale to silver (#148435) 2025-07-08 17:58:35 +01:00
Norbert Rittel
ebffaed0bd Fix spelling of "non-resettable" in iskra (#148417) 2025-07-08 19:45:39 +03:00
Norbert Rittel
ab1e323d49 Fix spelling of "non-volatile memory" in z-wave_js (#148422) 2025-07-08 19:44:11 +03:00
Simone Chemelli
6e63c17b39 Improve exceptions in Alexa Devices (#148260) 2025-07-08 17:58:48 +02:00
Petro31
a35299d94c Add preview tests for number and sensor (#148426) 2025-07-08 16:04:06 +01:00
Tucker Kern
c97ad9657f Add metadata support to Snapcast media players (#132283)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-07-08 16:58:32 +02:00
Erik Montnemery
aab8908af8 Improve entity registry tests related to config entries in devices (#148399)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-08 16:24:06 +02:00
Maciej Bieniek
ae7bc14059 Make the update interval a property of the NextDNS coordinator class (#148410) 2025-07-08 16:14:02 +02:00
Maciej Bieniek
546f6afac2 Bump gios to version 6.1.1 (#148414) 2025-07-08 16:11:15 +02:00
epenet
8ccd097e98 Add tuya snapshot tests for bladeless tower fan (#148401) 2025-07-08 14:50:49 +02:00
epenet
77ae6048ef Add tuya snapshot tests for gas leak sensor (#148400) 2025-07-08 14:49:52 +02:00
Abílio Costa
420d1e169d Fix hassfest command in copilot-instructions (#148405) 2025-07-08 14:49:09 +02:00
hanwg
91b8262128 Update strings for Telegram bot (#148409) 2025-07-08 14:48:44 +02:00
Ludovic BOUÉ
e393929014 Matter EVSE StateOfCharge (#148213) 2025-07-08 14:28:13 +02:00
Samuel Xiao
11938762eb Fix Switchbot cloud plug mini current unit Issue (#148314) 2025-07-08 13:57:30 +02:00
Simone Chemelli
94862e6a50 Update Alexa Devices quality scale (#147259) 2025-07-08 13:49:00 +02:00
epenet
1a8d4c5041 Add tuya snapshot tests for Avatto WT598 thermostat (#148398) 2025-07-08 13:40:16 +02:00
Erik Montnemery
b775ba2955 Do not add switch_as_x config entry to source device (#148346) 2025-07-08 13:23:28 +02:00
Josef Zweck
d2bf27195a Bump pylamarzocco to 2.0.11 (#148386) 2025-07-08 13:06:43 +02:00
Josef Zweck
824006729b Create own clientsession for lamarzocco (#148385) 2025-07-08 13:06:05 +02:00
Joakim Plate
a7cba2b9bb Handle binary coils with non default mappings in nibe heatpump (#148354) 2025-07-08 13:05:16 +02:00
Joost Lekkerkerker
bd1917c9b6 Bump pySmartThings to 3.2.7 (#148394) 2025-07-08 12:34:51 +02:00
Josef Zweck
7541e266da Make api_version runtime_data in pi_hole (#148238) 2025-07-08 11:46:13 +02:00
Manu
f58c76c883 Fix error when personalDetail is missing in PlayStation Network integration (#148389) 2025-07-08 10:16:10 +02:00
Simone Chemelli
a77a071954 Bump aioamazondevices to 3.2.8 (#148365)
Co-authored-by: Joakim Plate <elupus@ecce.se>
2025-07-08 10:14:41 +02:00
Jiacheng Ma
0dc145aee3 Fix tuya vacuum return_to_base function (#144362)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-08 10:03:35 +02:00
Joakim Plate
ac5d4f4a81 Fix CI issues due to nibe heatpump (#148388) 2025-07-08 09:17:27 +02:00
Noah Husby
d44b822295 Add play media support to Russound RIO (#148240) 2025-07-08 08:51:18 +02:00
Paulus Schoutsen
6d0891e970 OpenAI: Extract file attachment logic (#148288) 2025-07-08 08:01:49 +02:00
Avi Miller
73730e3eb3 Bump aiolifx to 1.2.0 (#148382) 2025-07-08 07:57:41 +02:00
Alexandre CUER
87b00fdc7b Emoncms add reconfigure flow (#145108)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-08 07:28:16 +02:00
hahn-th
f780b9763d Add support for ELV-SH-CTV Sensor to homematicip_cloud (#143737) 2025-07-08 07:24:55 +02:00
Joakim Sørensen
7a7e16bbb6 Change how subscription information is fetched (#148337)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-08 06:52:41 +02:00
J. Nick Koston
dcf8d7f74d Track ESPHome entities by (device_id, key) to support sub-devices with overlaping names (#148297) 2025-07-08 06:41:20 +02:00
Ville Skyttä
ccc80c78a0 Add huawei_lte device registry upnp udn connection (#148370) 2025-07-08 06:32:29 +02:00
epenet
b0f7c985e4 Add snapshots tests for new platforms in tuya (#148334) 2025-07-08 06:25:53 +02:00
Joakim Sørensen
7875290256 Adds claude-code feature to the devcontainer (#148338) 2025-07-08 06:24:31 +02:00
Ruben van Dijk
f478812568 Allow multiple set-cookie headers with hassio ingress (#148148) 2025-07-08 06:13:08 +02:00
Joakim Plate
9ce03c79f0 Switch to box default for numbers in nibe_heatpump integration (#148364) 2025-07-08 06:09:22 +02:00
Joakim Plate
19951d9403 Handle when heat pump rejects same value writes in nibe_heatpump (#148366) 2025-07-08 06:07:41 +02:00
G Johansson
4b8dcc39b4 Bump holidays to 0.76 (#148363) 2025-07-08 06:05:18 +02:00
Joakim Plate
b151a9bf75 Add missing connection for gardena ble device (#148376) 2025-07-08 06:02:56 +02:00
Manu
e3cc4acdc6 Remove deprecated max_health, habits and rewards sensors from Habitica integration (#148377) 2025-07-08 05:57:46 +02:00
Ville Skyttä
fc53ddb3b4 Remove huawei_lte notify related timeout suppression (#148373) 2025-07-08 00:08:43 +02:00
hanwg
0409c05265 Add basic authentication option for Telegram bot (#148247) 2025-07-07 22:08:49 +02:00
jlanchares
9d2ffa6372 Goodwe TCP support (port 502) (#147900) 2025-07-07 19:37:20 +02:00
Joakim Plate
5c4f166f6f Add translation for write failures in nibe_heatpump (#148352) 2025-07-07 18:48:34 +02:00
Erik Montnemery
6396f54e0d Move zone conditions to the zone integration (#148157) 2025-07-07 18:27:44 +02:00
Denis Shulyaka
090b8f0659 Bump openai to 1.93.0 (#148350) 2025-07-07 18:07:28 +02:00
G Johansson
a46cc82916 Don't log deprecation warning in vacuum until after entity added to hass (#147959)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-07 16:52:29 +02:00
J. Nick Koston
8007bf1c31 Fix REST sensor charset handling to respect Content-Type header (#148223) 2025-07-07 14:32:58 +01:00
Manu
c296e1f818 Remove deprecated register_static_path method (#148303)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-07 14:27:19 +01:00
Retha Runolfsson
799dc97d4a Bump pyswitchbot to 0.68.1 (#148335) 2025-07-07 14:26:23 +01:00
Mark Adkins
e4c9df6d98 Bump sharkiq to 1.1.1 (#148244) 2025-07-07 15:18:15 +02:00
J. Nick Koston
03e295ace0 Restore httpx compatibility for non-primitive REST query parameters (#148286) 2025-07-07 08:01:48 -05:00
Abílio Costa
b71bcb002b Move target selector extractor method to common module (#148087) 2025-07-07 13:48:48 +01:00
Norbert Rittel
c60e06d32f Fix missing sentence-casing and spelling of "REST" in iskra (#148330) 2025-07-07 14:06:27 +02:00
Norbert Rittel
448d6041e5 Fix missing sentence-casing in wallbox (#148332) 2025-07-07 14:06:13 +02:00
tronikos
15c9ddea78 Bump gassist-text to 0.0.14 (#148312) 2025-07-07 04:10:50 -07:00
Erik Montnemery
0c783e87d1 Fix homee test (#148322) 2025-07-07 11:59:35 +02:00
Franck Nijhof
42b50c71ec Revert "Add tests for Sonos Alarms" (#148319) 2025-07-07 11:54:36 +02:00
Maciej Bieniek
991864a8af Bump gios to version 6.1.0 (#148274) 2025-07-07 11:43:39 +02:00
Arie Catsman
b79e770bcf Bump pyenphase to 2.2.1 (#148292) 2025-07-07 11:40:48 +02:00
Shay Levy
f02c1b0d4e Bump aiowebostv to 0.7.4 (#148273) 2025-07-07 11:37:39 +02:00
Norbert Rittel
a5d6bfd1b3 Reword option for 'Main' control in wled (#148309) 2025-07-07 10:30:39 +02:00
Norbert Rittel
21f6bf3914 Improve translation_key of EnergyEvseSupplyStateSensor in matter (#148280) 2025-07-07 10:26:20 +02:00
Hessel
0bce01da0b Address some Wallbox quality scale issues (#148200) 2025-07-07 10:09:07 +02:00
Ludovic BOUÉ
6351c3302e Matter OperationalState CountdownTime (#147705)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-06 23:40:05 +02:00
J. Nick Koston
2ea20ee2ab Fix UTF-8 encoding for REST basic authentication (#148225) 2025-07-06 12:40:19 -05:00
Paulus Schoutsen
008e2a3d10 Add attachment support to AI task (#148120) 2025-07-06 19:33:41 +02:00
Joakim Sørensen
699c60f293 Add the current version to the starting log to aid troubleshooting (#148271) 2025-07-06 19:06:27 +02:00
karwosts
404d17efca Translate number selector unit for utility_meter (#148276) 2025-07-06 18:36:38 +02:00
Allen Porter
4b5c04b2f0 Add AI Task support in Ollama (#148226)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-07-06 16:56:37 +02:00
Paulus Schoutsen
8cb9cadce9 Extract files_to_prompt from Gemini action (#148203)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-07-06 15:15:38 +02:00
Robin Thoni
075efb469a Bump sfrbox-api to 0.0.12 (#148259)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-07-06 13:08:27 +02:00
starkillerOG
0e7a4c91bf bump motionblinds to 0.6.29 (#148265) 2025-07-06 12:38:57 +02:00
Norbert Rittel
4ee930507d Fix typo in wrong_hub abort message of homee (#148261) 2025-07-06 12:11:44 +02:00
Markus Adrario
1b11ac9123 Add Homee general tests (#137128) 2025-07-06 12:05:43 +02:00
Norbert Rittel
8d7e387b46 Deduplicate strings in nordpool actions (#148258) 2025-07-06 11:23:57 +02:00
Joakim Sørensen
70e9c4e2d0 Add reauth flow to the Traccar Server integration (#148236)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-07-06 08:09:59 +02:00
Josef Zweck
26de1ea37b Update strings in pihole (#148234)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-05 23:14:59 +01:00
Josef Zweck
3ffcfa42ba Bump pylamarzocco to 2.0.10 (#148233) 2025-07-05 23:34:23 +02:00
G Johansson
e304022560 Add service in Nord Pool for fetching normalized price indices (#147979) 2025-07-05 21:39:48 +02:00
G Johansson
160e4e4d05 Block options flow for default hostname in dnsip (#148221) 2025-07-05 21:36:15 +02:00
Noah Husby
eb0f11a859 Bump aiorussound to 4.8.0 (#148235) 2025-07-05 21:13:48 +02:00
TheJulianJES
295b15ace9 Change ZHA string "autoshutdown" to "auto-shutdown" (#148230) 2025-07-05 20:23:03 +02:00
Pete Sage
d997efc500 Add tests for Sonos Alarms (#146308) 2025-07-05 17:39:52 +02:00
Jack Powell
736865c130 Add binary sensor platform to PlayStation Network Integration (#147639) 2025-07-05 17:27:23 +02:00
Paulus Schoutsen
4f4ec6f41a Add Google Gen AI structured data support (#148143) 2025-07-05 08:22:17 -07:00
Luka Matijević
33d05d99eb Fix Miele hob plate power step typo (#148214) 2025-07-05 16:44:41 +02:00
Guido Schmitz
8d82e34ba5 Make connected stations coordinator a dict in devolo Home Network (#147042) 2025-07-05 11:42:15 +02:00
Sören Beye
2ea09ff37a Squeezebox: Fix track selection in media browser (#147185) 2025-07-05 11:36:45 +02:00
Sören Beye
676567f471 Squeezebox: Fix tracks not having thumbnails (#147187) 2025-07-05 11:31:30 +02:00
Denis Shulyaka
3151713a34 Replace dot with underscores for NamespacedTool and ActionTool (#147764) 2025-07-05 11:27:27 +02:00
David Rapan
23773759ea Starlink's last boot time occasional, back and forth changes by 1 s fix (#147969) 2025-07-05 11:18:54 +02:00
Norbert Rittel
ef255788d2 Make lat/long attribute names localizable in dwd_weather_warnings (#147988) 2025-07-05 11:01:27 +02:00
Norbert Rittel
b72536acfa Make "autorelock" consistent across integrations in matter (#148023) 2025-07-05 10:59:57 +02:00
tronikos
fea7dc7eba Remember Opower utility and username on config flow errors (#148097) 2025-07-05 10:26:15 +02:00
Markus Adrario
f1698cdb75 Add reauth flow to homee (#147258) 2025-07-05 10:26:04 +02:00
HarvsG
1b21c986e8 Enable Pihole API v6 (#145890)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-07-05 10:21:32 +02:00
Paulus Schoutsen
1e164c94b1 Include path when media source file can be accessed on disk (#148180) 2025-07-05 10:14:52 +02:00
epenet
7898e3f0fb Add initial tuya snapshot tests (#148034)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-05 09:54:54 +02:00
Norbert Rittel
0d54e75940 Fix spelling of "auto" prefixes in zha (#148022) 2025-07-05 09:34:24 +02:00
karwosts
3cfff4de3a Add a preview to history_stats options flow (#145721) 2025-07-05 09:09:02 +02:00
Andrey Kupreychik
275d390a6c Add reconfiguration support for keenetic_ndms2 integration (#142191)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-05 08:52:43 +02:00
Matt Zimmerman
e63e6a6072 Bump python-smarttub to 0.0.43 (#147317) 2025-07-05 08:08:52 +02:00
Josef Zweck
e592e565c0 Make ready time sensors unavailable instead in lamarzocco (#147985) 2025-07-05 07:20:42 +02:00
Arie Catsman
12b90f3c8e Add debug logs to trace enphase auth process at load. (#148117) 2025-07-04 23:14:51 +01:00
epenet
76be2fdba1 Improve (and align) deprecation messages (#147948) 2025-07-05 00:02:36 +02:00
Thomas55555
528daad854 Constant polling for Husqvarna Automower (#147957) 2025-07-04 23:42:17 +02:00
Ville Skyttä
dcad5bbe04 Simplify unnecessary re.findall calls (#147907)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-04 23:26:36 +02:00
Michael Podhorodecki
ca85ffc068 Add Deadlock (SecureMode) support to the Yale Access Bluetooth integration (#144107)
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-07-04 23:07:13 +02:00
Kevin Stillhammer
9a5cbe483b Remove obsolete string unit_system in here_travel_time (#146656) 2025-07-04 23:06:47 +02:00
Pete Sage
be7735964b Sonos remove unneeded mocking from test (#147064) 2025-07-04 23:02:38 +02:00
Guido Schmitz
79683c8267 Log availability of devices in devolo Home Control (#147091) 2025-07-04 22:59:38 +02:00
Andre Lengwenus
8f24ebe967 Remove deprecated support for lock sensors and corresponding actions in lcn (#147143) 2025-07-04 22:55:20 +02:00
Andre Lengwenus
520d92b902 Use brightness stored in hardware device when switching LCN lights (#147375) 2025-07-04 22:53:11 +02:00
karwosts
22e46d9977 Make derivative sensor unavailable when source sensor is unavailable (#147468) 2025-07-04 22:48:48 +02:00
TimL
57c04f3a56 Bump pysmlight to v0.2.7 (#148101)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-04 22:35:44 +02:00
Franck Nijhof
c0368f2448 Add weekdays to time trigger (#147505)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-04 22:31:11 +02:00
Paulus Schoutsen
6a7f4953cd Fix media selector validation (#147855)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-04 22:30:35 +02:00
Joakim Plate
470baa782e Add zeroconf discovery to philips_js (#147913)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-07-04 22:24:40 +02:00
Sid
6e607ffa01 Add reconfigure flow to eheimdigital (#147930) 2025-07-04 22:18:13 +02:00
Wesley Vos
f5b51c6cf0 Add serial_numbers to device_info of inverters, encharge and enpower (#147964) 2025-07-04 22:04:48 +02:00
Franck Nijhof
5d6b02f470 2025.7.1 (#148171) 2025-07-04 22:00:18 +02:00
Hessel
bfccee17ef Wallbox, Improve test setup (#148036) 2025-07-04 21:56:44 +02:00
Erik Montnemery
b6b6de24ac Replace MediaPlayerState.STANDBY with MediaPlayerState.OFF in cambridge_audio (#148133) 2025-07-04 21:54:11 +02:00
Thomas55555
70624f72b6 Additional icon translation for Husqvarna Automower (#148167) 2025-07-04 21:51:47 +02:00
Franck Nijhof
a274961593 Bump version to 2025.7.1 2025-07-04 19:22:41 +00:00
Michael Freeman
4e163c4591 Bump venstarcolortouch to 0.21 (#148152) 2025-07-04 19:21:33 +00:00
Marc Mueller
3ffec2a655 [ci] Fix typing issue with aiohttp and aiosignal (#148141) 2025-07-04 19:21:31 +00:00
Bram Kragten
c646658643 Update frontend to 20250702.1 (#148131) 2025-07-04 19:21:30 +00:00
Simone Chemelli
342b4c3442 Bump aioamazondevices to 3.2.3 (#148082) 2025-07-04 19:21:28 +00:00
Arie Catsman
eb58c10e5e Cancel enphase mac verification on unload. (#148072) 2025-07-04 19:21:27 +00:00
Arie Catsman
f42e7d982f Bump pyenphase to 2.2.0 (#148070) 2025-07-04 19:21:25 +00:00
hanwg
898ef43750 Fix Telegram bots using plain text parser failing to load on restart (#148050) 2025-07-04 19:21:24 +00:00
Joakim Sørensen
f806e6ba49 Bump hass-nabucasa from 0.104.0 to 0.105.0 (#148040) 2025-07-04 19:21:23 +00:00
Marcel van der Veldt
c23bfb1b39 Fix state being incorrectly reported in some situations on Music Assistant players (#147997) 2025-07-04 19:21:22 +00:00
Robert Svensson
a2ffe32b02 Bump aiounifi to v84 (#147987) 2025-07-04 19:21:21 +00:00
puddly
0f32b6331d Bump ZHA to 0.0.62 (#147966) 2025-07-04 19:21:19 +00:00
epenet
9a4959560e Fix missing port in samsungtv (#147962)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-04 19:21:18 +00:00
Thomas55555
41ab7b346c Set timeout for remote calendar (#147024) 2025-07-04 19:21:17 +00:00
Thomas55555
c61cd422d1 Delete stale icon translation in Husqvarna Automower (#148168) 2025-07-04 20:47:32 +02:00
karwosts
0b2db2510f Support translating number selector UoM (#148162) 2025-07-04 21:06:33 +03:00
Erik Montnemery
bb1e263149 Remove cv.SUN_CONDITION_SCHEMA (#148158) 2025-07-04 18:34:55 +02:00
Michael Freeman
8e6b9c04f6 Bump venstarcolortouch to 0.21 (#148152) 2025-07-04 17:46:59 +02:00
Greg Dowling
cf931a75a7 Remove incorrect use of via_device in roon component (#146572) 2025-07-04 17:04:16 +02:00
Thomas55555
3250a2fb46 Bump aioautomower to 1.2.0 (#148078) 2025-07-04 16:43:36 +02:00
Franck Nijhof
6235adc69a Fix flaky emulated_roku/test_binding.py::test_events_fired_properly test (#148069) 2025-07-04 16:42:24 +02:00
Simone Chemelli
5d258c2f82 Bump aioamazondevices to 3.2.3 (#148082) 2025-07-04 16:33:16 +02:00
hanwg
cc2aca2c2c Fix Telegram bots using plain text parser failing to load on restart (#148050) 2025-07-04 16:32:46 +02:00
Erik Montnemery
04bd1967a7 Replace MediaPlayerState.STANDBY with MediaPlayerState.OFF in apple_tv (#148132) 2025-07-04 16:31:44 +02:00
Erik Montnemery
a046530eaf Replace MediaPlayerState.STANDBY with MediaPlayerState.IDLE in mediaroom (#148135) 2025-07-04 16:30:03 +02:00
Erik Montnemery
631523dfaf Replace MediaPlayerState.STANDBY with MediaPlayerState.OFF in lookin (#148134) 2025-07-04 16:27:54 +02:00
Erik Montnemery
dc20375506 Replace MediaPlayerState.STANDBY with MediaPlayerState.OFF in snapcast (#148138) 2025-07-04 16:27:33 +02:00
Erik Montnemery
811f085556 Replace MediaPlayerState.STANDBY with MediaPlayerState.IDLE in androidtv (#148130) 2025-07-04 16:27:01 +02:00
Erik Montnemery
fd86a43b28 Replace MediaPlayerState.STANDBY with MediaPlayerState.OFF in ps4 (#148136) 2025-07-04 16:25:59 +02:00
Bram Kragten
b7f830523e Update frontend to 20250702.1 (#148131) 2025-07-04 16:25:28 +02:00
Erik Montnemery
3f752e13ff Replace MediaPlayerState.STANDBY with MediaPlayerState.OFF in roku (#148137) 2025-07-04 16:23:18 +02:00
Marc Mueller
783102f2f6 [ci] Fix typing issue with aiohttp and aiosignal (#148141) 2025-07-04 16:22:38 +02:00
Erik Montnemery
8ce30d9559 Add tests of legacy entity without platform writing state (#148109) 2025-07-04 16:21:48 +02:00
Paulus Schoutsen
cde17fc0ca add extra tests for media source URI parsing (#148114) 2025-07-04 16:21:11 +02:00
David Knowles
83ae5f52da Bump pydrawise to 2025.7.0 (#148088) 2025-07-04 16:20:24 +02:00
tronikos
1cb9767bb8 Enable strict typing for Opower (#148096) 2025-07-04 16:19:04 +02:00
tronikos
e98fe7dc9c Add data_description to Opower forms (#148099) 2025-07-04 16:17:41 +02:00
tronikos
40ec51c0a3 Add redirect URL in Google Assistant SDK setup (#148076) 2025-07-04 16:17:10 +02:00
Harry Heymann
40fcc3b75b Rename Matter device conversion methods (#148090) 2025-07-04 16:13:40 +02:00
Erik Montnemery
510fd09163 Allow core integrations to describe their conditions (#147529)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-04 16:03:42 +02:00
epenet
e47bdc06a0 Set docstyle convention to google in ruff (#148142) 2025-07-04 16:00:37 +02:00
Allen Porter
b3d9908cd9 Add AI task structured output (#148083)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-07-04 15:03:34 +02:00
Erik Montnemery
99d63c49bb Add comment about error assigning in frame.report_usage (#148105) 2025-07-04 14:47:01 +02:00
Robin Thoni
4be2e84ce6 Add backward compatibility with older versions of Traccar server (#146639)
Co-authored-by: Joakim Sørensen <joasoe@proton.me>
2025-07-04 14:36:25 +02:00
Allen Porter
1fc624c7a7 Update LLM selector serializer to support ObjectSelector fields and arrays (#148094) 2025-07-04 13:05:16 +02:00
tronikos
8641a2141c Fix has-entity-name and entity-translations in Opower (#148098) 2025-07-04 10:10:21 +02:00
Paulus Schoutsen
04cc451c76 Add AI Task platform to Google Gen AI (#146766) 2025-07-03 23:36:34 -07:00
Erik Montnemery
a3b03caead Deduce integration from module in loader.async_get_issue_tracker (#148017) 2025-07-04 07:55:20 +02:00
Franck Nijhof
49d1d781b8 Fix ezviz test timeout (#148066) 2025-07-03 23:11:54 +02:00
HeroOfCanton16
11c75d7ef2 Add sensor attributes restore to modem_callerid integration (#147753) 2025-07-03 22:10:26 +01:00
Arie Catsman
8ef6b62d9a Cancel enphase mac verification on unload. (#148072) 2025-07-03 22:06:38 +02:00
tronikos
b410b414ec Add reconfigure flow in Android TV Remote (#148044) 2025-07-03 22:00:07 +02:00
Arie Catsman
e5f7421703 Bump pyenphase to 2.2.0 (#148070) 2025-07-03 21:04:13 +02:00
Marc Mueller
8330ae2d3a Update license-expression to 30.4.3 (#147941) 2025-07-03 20:22:10 +02:00
tronikos
4b162f09bd Bump androidtvremote2 to 0.2.3 (#148042) 2025-07-03 20:15:47 +02:00
tronikos
9c558fabcd Use AndroidTVRemoteConfigEntry (#148046) 2025-07-03 20:15:36 +02:00
tronikos
5f9cc0a5f6 Add data_description to forms in Android TV Remote (#148045)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Artem Draft <Drafteed@users.noreply.github.com>
2025-07-03 20:13:44 +02:00
Erik Montnemery
bc4a322e81 Improve helpers.frame.report_usage when called from outside the event loop (#148021) 2025-07-03 20:12:52 +02:00
Jeef
b999c5906e Bump weatherflow4py to 1.4.1 (#148054) 2025-07-03 20:11:33 +02:00
Erik Montnemery
d2825e1c80 Don't gather TRIGGER_PLATFORM_SUBSCRIPTIONS (#147954)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-03 19:33:28 +02:00
epenet
419e4f3b1d Remove unused module in tuya tests (#148058) 2025-07-03 19:14:27 +02:00
Thomas55555
4a937d2452 Set timeout for remote calendar (#147024) 2025-07-03 10:08:58 -07:00
Noah Husby
01b4a5ceed Bump aiorussound to 4.7.0 (#148057) 2025-07-03 19:04:18 +02:00
Abílio Costa
4e71745c62 Set assist_satellite preannounce default to True (#148060) 2025-07-03 18:41:08 +02:00
Franck Nijhof
6a88ee7a8f Add Task issue form (#148038) 2025-07-03 18:27:51 +02:00
J. Nick Koston
3c4ecffa1b Bump aioesphomeapi to 34.1.0 (#148048) 2025-07-03 17:33:44 +02:00
Joakim Sørensen
244e0f5ea8 Bump hass-nabucasa from 0.104.0 to 0.105.0 (#148040) 2025-07-03 14:24:51 +02:00
epenet
a656b6e26a Use HassKey in media_source (#148011) 2025-07-03 09:56:46 +02:00
epenet
691681a78a Move medcom_ble coordinator to separate module (#148009) 2025-07-03 09:32:57 +02:00
epenet
3bc00824e2 Use runtime_data in mystrom (#148020) 2025-07-03 09:27:38 +02:00
epenet
7d36a2e3a7 Move meteoclimatic coordinator to separate module (#148018) 2025-07-03 09:26:24 +02:00
Norbert Rittel
b1e3561ead Clarify description of autorelock setting in zwave_js (#148019) 2025-07-03 09:23:45 +02:00
epenet
bfc814c839 Use entry.async_on_unload in meteo_france (#148015) 2025-07-03 09:22:27 +02:00
epenet
5008151688 Use entry.async_on_unload in monoprice (#148016) 2025-07-03 09:20:50 +02:00
Franck Nijhof
d738c0d6b1 Merge branch 'master' into dev 2025-07-03 07:04:46 +00:00
epenet
e42235285d Use runtime_data in melcloud (#148012)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-03 08:57:22 +02:00
epenet
04e69479f4 Fix hass.data reference in lookin (#148008) 2025-07-03 08:54:20 +02:00
epenet
b973916032 Move met_eireann coordinator to separate module (#148014) 2025-07-03 08:53:22 +02:00
epenet
6f4757ef42 Use runtime_data in melnor (#148013) 2025-07-03 08:52:40 +02:00
epenet
a6962e9e1e Fix missing port in samsungtv (#147962)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-03 08:51:38 +02:00
Marcel van der Veldt
142c10cccc Fix state being incorrectly reported in some situations on Music Assistant players (#147997) 2025-07-03 08:50:41 +02:00
Matthias Alphart
c137c96cfd KNX: use async_load_json_object_fixture in tests (#147991) 2025-07-03 08:00:34 +02:00
Robert Svensson
f0e0c954e7 Bump aiounifi to v84 (#147987) 2025-07-02 23:10:21 +02:00
Norbert Rittel
681961d3a5 Use common config_flow strings in vegehub (#147984) 2025-07-02 22:14:55 +02:00
Matthias Alphart
53d2f6b0c6 KNX: Use a ConfigExtractor helper class for value retrieval (#147983) 2025-07-02 21:49:24 +02:00
G Johansson
78c39f8a06 Remove deprecated battery properties from demo vacuum (#147980) 2025-07-02 21:49:12 +02:00
Ludovic BOUÉ
a748525e03 Allow LevelControl Cluster for Matter Pump devices (#145004)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-07-02 21:48:15 +02:00
Manuel Rüger
8ca1fe83b7 Bump switchbot-api to v2.7.0 (#147978) 2025-07-02 21:36:06 +02:00
Matthias Alphart
8968cf704b Use send_json_auto_id in KNX tests (#147982) 2025-07-02 21:34:30 +02:00
puddly
ebe04466f4 Bump ZHA to 0.0.62 (#147966) 2025-07-02 21:19:32 +02:00
G Johansson
e31470ba5b Change breaking version for battery props in vacuum (#147956) 2025-07-02 19:06:56 +02:00
Franck Nijhof
4bc2951f44 2025.7.0 (#147533) 2025-07-02 18:01:06 +02:00
Franck Nijhof
8334a0398c Bump version to 2025.7.0 2025-07-02 15:12:16 +00:00
Ville Skyttä
80a1e0e4cd Improve huawei_lte config flow class naming (#147910) 2025-07-02 17:02:39 +02:00
Thomas55555
3778f537d5 Remove noisy debug logs in Husgvarna Automower (#147958) 2025-07-02 15:28:42 +01:00
Petro31
adec157d43 Allow trigger based numeric sensors to be set to unknown (#137047)
* Allow trigger based numeric sensors to be set to unknown

* resolve comments

* Do case insensitive check

* use _parse_result

---------

Co-authored-by: abmantis <amfcalt@gmail.com>
2025-07-02 15:35:47 +02:00
Franck Nijhof
8fc3fa51a8 Bump version to 2025.7.0b9 2025-07-02 13:30:51 +00:00
c0ffeeca7
4eb688b560 Z-Wave JS: rename controller to adapter according to term decision (#147955)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-02 13:30:31 +00:00
Simone Chemelli
9472ff5d36 Bump aioamazondevices to 3.2.2 (#147953) 2025-07-02 13:30:29 +00:00
Bram Kragten
12e8b81ec7 Update frontend to 20250702.0 (#147952) 2025-07-02 13:30:28 +00:00
Paulus Schoutsen
ec5e543c09 Ollama: Migrate pick model to subentry (#147944) 2025-07-02 13:30:27 +00:00
Paulus Schoutsen
116c745872 Split Ollama entity (#147769) 2025-07-02 13:30:26 +00:00
Robert Resch
1fdf152292 Bump deebot-client to 13.5.0 (#147938) 2025-07-02 13:27:47 +00:00
G Johansson
b816f1a408 Handle additional errors in Nord Pool (#147937) 2025-07-02 13:27:46 +00:00
John Hess
eb351e6505 Bump thermopro-ble to 0.13.1 (#147924) 2025-07-02 13:27:45 +00:00
Maciej Bieniek
2f27d55495 Open repair issue when outbound WebSocket is enabled for Shelly non-sleeping RPC device (#147901) 2025-07-02 13:26:03 +00:00
Space
fa1bed1849 Skip processing request body for HTTP HEAD requests (#147899)
* Skip processing request body for HTTP HEAD requests

* Use aiohttp's must_be_empty_body() to check whether ingress requests should be streamed

* Only call must_be_empty_body() once per request

* Fix incorrect use of walrus operator
2025-07-02 13:26:01 +00:00
Raphael Hehl
b8c19f23f3 UnifiProtect Change log level from debug to error for connection exceptions in ProtectFlowHandler (#147730) 2025-07-02 13:26:00 +00:00
Erwin Douna
b677ce6c90 SMA add DHCP strictness (#145753)
* Add DHCP strictness (needs beta check)

* Update to check on CONF_MAC

* Update to check on CONF_HOST

* Update hostname

* Polish it a bit

* Update to CONF_HOST, again

* Add split

* Add CONF_MAC add upon detection

* epenet feedback

* epenet round II
2025-07-02 13:25:59 +00:00
c0ffeeca7
d6da686ffe Z-Wave JS: rename controller to adapter according to term decision (#147955)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-07-02 15:23:08 +02:00
Paulus Schoutsen
f50ef79c72 Ollama: Migrate pick model to subentry (#147944) 2025-07-02 15:20:42 +02:00
Erik Montnemery
943fb9948b Adjust logic related to entity platform state (#147882)
* Adjust logic related to entity platform state

* Break up hard to read if-statement

* Add and improve tests
2025-07-02 14:57:53 +02:00
Raphael Hehl
7447cf329b UnifiProtect Change log level from debug to error for connection exceptions in ProtectFlowHandler (#147730) 2025-07-02 14:57:46 +02:00
Erwin Douna
3d27c0ce52 SMA add DHCP strictness (#145753)
* Add DHCP strictness (needs beta check)

* Update to check on CONF_MAC

* Update to check on CONF_HOST

* Update hostname

* Polish it a bit

* Update to CONF_HOST, again

* Add split

* Add CONF_MAC add upon detection

* epenet feedback

* epenet round II
2025-07-02 14:48:21 +02:00
Simone Chemelli
b7496be61f Bump aioamazondevices to 3.2.2 (#147953) 2025-07-02 14:27:51 +02:00
Bram Kragten
57a98240bd Update frontend to 20250702.0 (#147952) 2025-07-02 14:26:19 +02:00
Ville Skyttä
ff76017ba6 Simplify unnecessary re match.groups()[0] calls (#147909) 2025-07-02 14:12:26 +02:00
Maikel Punie
f10fcde6d8 Remove the deprecated interface paramater for velbus (#147868) 2025-07-02 14:07:47 +02:00
Marc Mueller
a7002e3a24 Update pytest to 8.4.1 (#147951) 2025-07-02 13:02:18 +01:00
tronikos
bbe03dcab7 Add missing Opower tests (#147934) 2025-07-02 13:46:40 +02:00
Andre Lengwenus
f77e6cc8fc Add missing exception translations to LCN (#147723) 2025-07-02 13:41:06 +02:00
Petro31
cb8e076703 Fix missing device_class and state_class on compensation entities (#146115)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-07-02 13:39:19 +02:00
G Johansson
73251fbb1c Handle additional errors in Nord Pool (#147937) 2025-07-02 13:26:47 +02:00
Maciej Bieniek
7ff90ca49d Open repair issue when outbound WebSocket is enabled for Shelly non-sleeping RPC device (#147901) 2025-07-02 13:06:27 +02:00
Manu
bab9ec9976 Add sensor for online status to PlayStation Network (#147842) 2025-07-02 11:47:41 +01:00
Marc Mueller
1051f85ac0 Update coverage to 7.9.1 (#147940) 2025-07-02 12:20:50 +02:00
Marc Mueller
6c7da57af2 Update pytest-cov to 6.2.1 (#147942) 2025-07-02 12:14:27 +02:00
Marc Mueller
73e505d48d Update pytest-xdist to 3.8.0 (#147943) 2025-07-02 12:11:09 +02:00
Marc Mueller
ec65066f5e Update mypy-dev to 1.17.0a4 (#147939) 2025-07-02 12:09:39 +02:00
Robert Resch
9c4951261c Bump deebot-client to 13.5.0 (#147938) 2025-07-02 12:00:48 +02:00
Space
00dfc04b86 Skip processing request body for HTTP HEAD requests (#147899)
* Skip processing request body for HTTP HEAD requests

* Use aiohttp's must_be_empty_body() to check whether ingress requests should be streamed

* Only call must_be_empty_body() once per request

* Fix incorrect use of walrus operator
2025-07-02 11:45:45 +02:00
Manu
bee07ad284 Fix Online ID string in PlayStation Network integration (#147915) 2025-07-02 10:45:07 +02:00
Paulus Schoutsen
b2108fdd40 Update Dockerfile.dev to only use uv for Python (#147926) 2025-07-02 10:40:16 +02:00
John Hess
3730a1a379 Bump thermopro-ble to 0.13.1 (#147924) 2025-07-02 10:11:49 +02:00
Sid
088c02d38a Complete tests for eheimdigital (#143337)
* Complete tests for eheimdigital

* Review

* Review

* Review

* Review

* Fix tests
2025-07-02 10:09:30 +02:00
Harry Heymann
afb247c907 Bump Python Matter server to 8.0.0 (#147783) 2025-07-02 08:12:47 +02:00
Franck Nijhof
0e6bbb30c1 Bump version to 2025.7.0b8 2025-07-02 06:04:14 +00:00
J. Nick Koston
fdba791f18 Bump bluetooth-data-tools to 1.28.2 (#147920) 2025-07-02 06:03:56 +00:00
Ivan Lopez Hernandez
d4dec6c7a9 Swap the Models label for the model name not it's display name, (#147918)
Swap display name for name.
2025-07-02 06:03:55 +00:00
Simone Chemelli
f838e85a79 Manager wrong country selection in Alexa Devices (#147914)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-02 06:03:54 +00:00
Simone Chemelli
04ae966544 Bump aioamazondevices to 3.2.1 (#147912) 2025-07-02 06:03:53 +00:00
Simone Chemelli
77dcba0984 Manager wrong country selection in Alexa Devices (#147914)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-07-02 08:02:53 +02:00
Simone Chemelli
48f9a12cca Bump aioamazondevices to 3.2.1 (#147912) 2025-07-02 07:36:41 +02:00
J. Nick Koston
bdd2ac9ae4 Bump bluetooth-data-tools to 1.28.2 (#147920) 2025-07-02 07:34:40 +02:00
Ivan Lopez Hernandez
2e7113d881 Swap the Models label for the model name not it's display name, (#147918)
Swap display name for name.
2025-07-01 21:12:58 -07:00
Sid
6842bfae4c Bump eheimdigital to 1.3.0 (#147908) 2025-07-01 23:00:25 +01:00
nadimz
392cde20d9 Add support for opening state in template lock (#147813)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-07-01 22:03:20 +01:00
cristianburrini
a6146fb5a9 Increase the number of irrigation zones up to 8 for Tuya enabled controllers. (#147793) 2025-07-01 22:40:36 +02:00
Franck Nijhof
b2c393db72 Bump version to 2025.7.0b7 2025-07-01 20:11:01 +00:00
Jesse Hills
6104731d53 Remove codeowner from ESPHome (#147850) 2025-07-01 22:09:23 +02:00
Marcel van der Veldt
3ed440a3af Bump Music Assistant Client to 1.2.3 (#147885) 2025-07-01 20:08:45 +00:00
Jamin
01e7efc7b4 Bump VoIP utils to 0.3.3 (#147880) 2025-07-01 20:08:44 +00:00
avee87
60a930554a Fix station name sensor for metoffice (#145500) 2025-07-01 20:08:43 +00:00
Erik Montnemery
66308a848a Set Entity._platform_state in google_assistant tests (#147892) 2025-07-01 21:46:36 +02:00
Erik Montnemery
c71dbd9d4d Set Entity._platform_state in universal tests (#147894) 2025-07-01 21:46:01 +02:00
Erik Montnemery
1195c2ec10 Set Entity._platform_state in core customize test (#147895) 2025-07-01 21:45:08 +02:00
Norbert Rittel
78a9cd9201 Use (new) common state "Empty" for water level in switchbot (#147836) 2025-07-01 21:43:21 +02:00
Erik Montnemery
639a749a0f Mock recorder in ista_ecotrend tests (#147893) 2025-07-01 20:09:48 +01:00
Simone Chemelli
058f3b8b6e Add reauth to Alexa Devices config flow (#147773) 2025-07-01 20:57:24 +02:00
Manu
926e9261ab Add switch to enable/disable boost in IronOS integration (#147831) 2025-07-01 20:53:13 +02:00
Erik Montnemery
d6fb860889 Use entity_registry_enabled_by_default fixture in dsmr_reader tests (#147891) 2025-07-01 20:50:38 +02:00
Marcel van der Veldt
5e03900e0a Bump Music Assistant Client to 1.2.3 (#147885) 2025-07-01 20:26:26 +02:00
Erik Montnemery
1e6e5ca1b6 Fix broadlink tests (#147890) 2025-07-01 18:32:58 +01:00
Erik Montnemery
60e3b38de1 Set Entity._platform_state in arcam_fmj tests (#147889) 2025-07-01 17:58:15 +02:00
epenet
852522219c Use correctly formatted MAC in bond tests (#147887) 2025-07-01 17:56:10 +02:00
epenet
23f1e8d1a3 Use correctly formatted MAC in elkm1 tests (#147888) 2025-07-01 17:55:46 +02:00
Franck Nijhof
c707bf6264 Bump version to 2025.7.0b6 2025-07-01 14:26:59 +00:00
avee87
655f009f07 Fix station name sensor for metoffice (#145500) 2025-07-01 16:18:13 +02:00
Paul Bottein
3548ab70fd Update frontend to 20250701.0 (#147879) 2025-07-01 14:10:30 +00:00
Erik Montnemery
e272ab1885 Initialize EsphomeEntity._has_state (#147877) 2025-07-01 14:10:29 +00:00
Erik Montnemery
d5d1b620d0 Correct openai conversation config entry migration (#147859) 2025-07-01 14:10:28 +00:00
Erik Montnemery
8b2f4f0f86 Correct ollama config entry migration (#147858) 2025-07-01 14:10:26 +00:00
Erik Montnemery
725269ecda Correct anthropic config entry migration (#147857) 2025-07-01 14:10:25 +00:00
Erik Montnemery
c42fc818bf Correct Google generative AI config entry migration (#147856) 2025-07-01 14:10:23 +00:00
Jesse Hills
5554e38171 Implement suggested_display_precision for ESPHome (#147849) 2025-07-01 14:10:22 +00:00
Jan Bouwhuis
b25acfe823 Fix invalid configuration of MQTT device QoS option in subentry flow (#147837) 2025-07-01 14:10:21 +00:00
micha91
ff25948e37 fix: Create new aiohttp session with DummyCookieJar (#147827) 2025-07-01 14:10:19 +00:00
Maciej Bieniek
f85fc7173f Bump Nettigo Air Monitor backend library to version 5.0.0 (#147812) 2025-07-01 14:10:18 +00:00
Bob Laz
748cc6386d fix state_class for water used today sensor (#147787) 2025-07-01 14:10:17 +00:00
Manu
47b232db49 Add more mac address prefixes for discovery to PlayStation Network (#147739) 2025-07-01 14:10:15 +00:00
hanwg
c61935fc41 Include chat ID in Telegram bot subentry title (#147643) 2025-07-01 14:10:14 +00:00
Jan-Philipp Benecke
414318f3fb Catch access denied errors in webdav and display proper message (#147093) 2025-07-01 14:10:12 +00:00
Paul Bottein
08985d783f Fix Meteo france Ciel clair condition mapping (#146965)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-07-01 14:10:11 +00:00
Thomas55555
e4bcde7d20 Fix wrong state in Husqvarna Automower (#146075) 2025-07-01 14:10:10 +00:00
Jamin
59bf39f4ed Bump VoIP utils to 0.3.3 (#147880) 2025-07-01 16:09:51 +02:00
Fredrik Mårtensson
510e3977df Add water_level sensor to Tuya pet fountain cwysj (#146602)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-07-01 14:57:17 +01:00
micha91
922720576a fix: Create new aiohttp session with DummyCookieJar (#147827) 2025-07-01 15:50:04 +02:00
Paul Bottein
e10b581d4b Fix Meteo france Ciel clair condition mapping (#146965)
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2025-07-01 15:43:34 +02:00
hanwg
e38eac9415 Include chat ID in Telegram bot subentry title (#147643) 2025-07-01 15:42:32 +02:00
Maciej Bieniek
11c9aa9280 Bump Nettigo Air Monitor backend library to version 5.0.0 (#147812) 2025-07-01 15:39:29 +02:00
Paul Bottein
52c86f8a6a Update frontend to 20250701.0 (#147879) 2025-07-01 15:38:04 +02:00
Marc Mueller
6364a9ad98 Update pillow to 11.3.0 (#147869) 2025-07-01 14:31:06 +01:00
Manu
651162b8e7 Fix error in last online sensor of PlayStation integration (#147844)
* Fix Last online sensor

* set unavailable

* available_fn
2025-07-01 15:17:10 +02:00
Denis Shulyaka
7deca35172 Add multiple LLM API support for MCP Server (#147785)
* Add multiple LLM API support for MCP Server

* Update homeassistant/components/mcp_server/config_flow.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* ruff

* Update tests/components/mcp_server/conftest.py

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

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-07-01 06:14:03 -07:00
epenet
073a467fb2 Use correctly formatted MAC in bond tests (#147870) 2025-07-01 14:41:31 +02:00
epenet
3f9590b03b Use correctly formatted MAC in gogogate2 tests (#147872) 2025-07-01 14:41:20 +02:00
epenet
b47f989c77 Use correctly formatted MAC in wmspro tests (#147876) 2025-07-01 14:40:41 +02:00
epenet
4ebffa8d23 Use correctly formatted MAC in palazzetti tests (#147875) 2025-07-01 14:40:27 +02:00
epenet
c5873c6dd0 Use correctly formatted MAC in dlink tests (#147871) 2025-07-01 14:40:12 +02:00
Erik Montnemery
2cb80e083e Initialize EsphomeEntity._has_state (#147877) 2025-07-01 07:33:33 -05:00
epenet
871296dff6 Use correctly formatted MAC in lamarzocco tests (#147874) 2025-07-01 14:13:21 +02:00
Claudio Ruggeri - CR-Tech
c92873bbff Change default slave id from 0 to 1 in modbus actions (#142865)
* set default slave id in service calls

* add test

* revert out of scope change
2025-07-01 13:15:32 +02:00
Norbert Rittel
5fea4915ef Use (new) common state "Empty" in litterrobot (#147835) 2025-07-01 13:13:12 +02:00
dependabot[bot]
8fa016059d Bump github/codeql-action from 3.29.1 to 3.29.2 (#147867)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-07-01 12:30:01 +02:00
Bob Laz
61a29db72c fix state_class for water used today sensor (#147787) 2025-07-01 12:28:13 +02:00
epenet
5a3aa7874d Use correctly formatted MAC in airthings tests (#147817) 2025-07-01 12:26:10 +02:00
Parker Brown
12e2493c42 Capitalize "version" in Tesla fleet strings (#146501) 2025-07-01 12:18:55 +02:00
Paulus Schoutsen
659cd42739 Move async_reload on updates in async_setup_entry in Anthropic (#147862)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-01 12:16:00 +02:00
Paulus Schoutsen
7fcea17e83 Move async_reload on updates in async_setup_entry in OpenAI Conversation (#147863)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-01 12:15:28 +02:00
Paulus Schoutsen
30a85c40da Move async_reload on updates in async_setup_entry in Ollama (#147861)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-01 12:14:46 +02:00
epenet
57a8f1e0cc Use correctly formatted MAC in rehlko tests (#147864) 2025-07-01 12:09:00 +02:00
epenet
78aeae577d Use correctly formatted MAC in roomba tests (#147865) 2025-07-01 11:24:08 +02:00
epenet
3f95cb37e6 Use correctly formatted MAC in sma tests (#147866) 2025-07-01 11:23:31 +02:00
epenet
12aef4aae5 Use correctly formatted MAC in knocki tests (#147821) 2025-07-01 11:22:48 +02:00
Thomas55555
2e12db001d Fix wrong state in Husqvarna Automower (#146075) 2025-07-01 10:53:55 +02:00
epenet
573325be97 Use correctly formatted MAC in home_connect tests (#147818) 2025-07-01 10:51:49 +02:00
Erik Montnemery
7021fe7495 Correct openai conversation config entry migration (#147859) 2025-07-01 10:49:07 +02:00
Erik Montnemery
b7999755bd Correct anthropic config entry migration (#147857) 2025-07-01 10:47:06 +02:00
Erik Montnemery
99f7a031d6 Correct Google generative AI config entry migration (#147856) 2025-07-01 10:46:13 +02:00
Erik Montnemery
8fc31283b7 Correct ollama config entry migration (#147858) 2025-07-01 10:45:17 +02:00
Jan-Philipp Benecke
5ff698c78d Catch access denied errors in webdav and display proper message (#147093) 2025-07-01 10:15:45 +02:00
Jesse Hills
9469c6ad1c Implement suggested_display_precision for ESPHome (#147849) 2025-07-01 09:16:23 +02:00
Norbert Rittel
35f0505c7b Use (new) common state "Empty" in whirlpool (#147847)
Use (new) common state "Empty"
2025-07-01 08:59:55 +02:00
Norbert Rittel
a180cabea9 Use (new) common state "Full" in overkiz (#147848)
Use (new) common state "Full"
2025-07-01 08:58:31 +02:00
Jan Bouwhuis
4f7348b8bc Fix invalid configuration of MQTT device QoS option in subentry flow (#147837) 2025-07-01 08:46:58 +02:00
On Freund
ddf56f053b Support device removal in CoolMasterNet integration (#147851) 2025-07-01 08:26:04 +02:00
G Johansson
9719d2ef2b Start deprecation of battery properties in vacuum (#146401)
* Start deprecation of battery properties in vacuum

* Small fixes

* Fixes

* Deprecate battery supported feature
2025-07-01 08:23:47 +02:00
Manu
2afe475234 Add more mac address prefixes for discovery to PlayStation Network (#147739) 2025-07-01 07:12:00 +02:00
Norbert Rittel
23c304fc75 Use (new) common state "Full" in enphase_envoy (#147834)
Use (new) common state "Full"
2025-06-30 20:13:05 -04:00
Norbert Rittel
84645d0ca6 Use (new) common states for "Full" and "Empty" in lg_thinq (#147833)
Use (new) common states for "Full" and "Empty"
2025-07-01 01:59:33 +02:00
Norbert Rittel
2bdfc8cf5e Add common states "Empty" and "Full" (#146646) 2025-06-30 22:08:55 +02:00
epenet
603e277a5b Add docstring to DhcpServiceInfo MAC address (#147823)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-06-30 21:54:05 +02:00
Paulus Schoutsen
38a7b21052 Split Anthropic entity (#147770) 2025-06-30 21:47:44 +02:00
Franck Nijhof
db04c77e62 Bump version to 2025.7.0b5 2025-06-30 19:39:34 +00:00
puddly
e8204e5f8e Await firmware installation task when flashing ZBT-1/Yellow firmware (#147824) 2025-06-30 19:39:03 +00:00
starkillerOG
66cf9c4ed5 Bump reolink_aio to 0.14.2 (#147797) 2025-06-30 19:39:02 +00:00
mkmer
1f6d28dcbf Honeywell: Don't use shared session (#147772) 2025-06-30 19:39:02 +00:00
Paulus Schoutsen
328e838351 Use media selector for Assist Satellite actions (#147767)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-06-30 19:39:01 +00:00
cdnninja
62a1c8af11 Fix Vesync set_percentage error (#147751) 2025-06-30 19:39:00 +00:00
tronikos
b50e599517 Move the async_reload on updates in async_setup_entry in Google Generative AI (#147748)
Move the async_reload on updates in async_setup_entry
2025-06-30 19:38:59 +00:00
Manu
3c7c9176d2 Fix sensor displaying unknown when getting readings from heat meters in ista EcoTrend (#147741) 2025-06-30 19:37:54 +00:00
J. Nick Koston
c771f5fe1e Preserve httpx boolean behavior in REST integration after aiohttp conversion (#147738) 2025-06-30 19:35:31 +00:00
hanwg
6dc464ad73 Fix Telegram bot proxy URL not initialized when creating a new bot (#147707) 2025-06-30 19:35:30 +00:00
Marc Hörsken
ae48e3716e Update pywmspro to 0.3.0 to wait for short-lived actions (#147679)
Replace action delays with detailed action responses.
2025-06-30 19:35:29 +00:00
Hessel
1543726095 Wallbox Integration, Reduce API impact by limiting the amount of API calls made (#147618) 2025-06-30 19:35:27 +00:00
Evan Severson
adbace95c3 Fixed pushbullet handling of fields longer than 255 characters (#146993) 2025-06-30 19:35:26 +00:00
Shay Levy
578b43cf61 Bump aioshelly to 13.7.1 (#146221)
* Bump aioshelly to 13.8.0

* Change version to 13.7.1
2025-06-30 19:35:25 +00:00
mvn23
a8b5d1511d Populate hvac_modes list in opentherm_gw (#142074) 2025-06-30 19:35:24 +00:00
Pete Sage
5a0a1bbbf4 Person ble_trackers for non-home zones not processed correctly (#138475)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-30 19:35:23 +00:00
Paulus Schoutsen
bf74ba990a Split Ollama entity (#147769) 2025-06-30 21:31:54 +02:00
Paulus Schoutsen
70856bd92a Split OpenAI entity (#147771) 2025-06-30 21:11:51 +02:00
Paulus Schoutsen
be6b624081 Improve validation for media selector (#147768) 2025-06-30 20:26:52 +02:00
mvn23
217fbb2849 Populate hvac_modes list in opentherm_gw (#142074) 2025-06-30 20:24:13 +02:00
epenet
22a14da19c Rename service registration method (#146615) 2025-06-30 20:21:38 +02:00
puddly
20f5d85800 Await firmware installation task when flashing ZBT-1/Yellow firmware (#147824) 2025-06-30 20:18:22 +02:00
hanwg
88feb5139b Fix Telegram bot proxy URL not initialized when creating a new bot (#147707) 2025-06-30 20:16:45 +02:00
Hessel
90cbe272a0 Wallbox Integration, Reduce API impact by limiting the amount of API calls made (#147618) 2025-06-30 20:15:48 +02:00
Paulus Schoutsen
511b739bf6 Use media selector for Assist Satellite actions (#147767)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-06-30 20:12:03 +02:00
Manu
9961a499ee Fix sensor displaying unknown when getting readings from heat meters in ista EcoTrend (#147741) 2025-06-30 20:11:46 +02:00
rubenbe
d8c7ed473b Bump xiaomi-ble to 1.1.0 (#147828)
Bump xiaomi-ble to 1.1.0
2025-06-30 20:11:03 +02:00
Manu
2c30a5a14c Improve exception handling of PlayStation Network (#147792) 2025-06-30 19:53:46 +02:00
Manu
5e3fc858d8 Add sensor last online to PlayStation Network integration (#147796) 2025-06-30 19:52:11 +02:00
epenet
f03af213d4 Use correctly formatted MAC in lg_thinq tests (#147822) 2025-06-30 19:50:50 +02:00
epenet
1e3ebd5650 Use correctly formatted MAC in incomfort tests (#147819) 2025-06-30 18:02:42 +02:00
epenet
53936ab062 Use async_load_fixture in weatherflow_cloud (#147816) 2025-06-30 18:01:14 +02:00
Bouwe Westerdijk
b52a248def Bump plugwise to v1.7.7 and adapt (#147809) 2025-06-30 14:40:10 +01:00
Jeef
ea70229426 Add Weatherflow Cloud wind support via websocket (#125611)
* rebase off of dev

* update tests

* update tests

* addressing PR finally

* API to back

* adding a return type

* need to test

* removed teh extra check on available

* some changes

* ready for re-review

* change assertions

* remove icon function

* update ambr

* ruff

* update snapshot and push

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* enhnaced tests

* better coverage

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* remove comments

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-30 15:26:17 +02:00
Erik Montnemery
741a3d5009 Remove backup helper (#143558)
* Remove backup helper

* Update aws_s3 tests
2025-06-30 14:11:10 +02:00
Pete Sage
ee8830cc77 Person ble_trackers for non-home zones not processed correctly (#138475)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-30 13:35:19 +02:00
Bouwe Westerdijk
7fbf25e862 Plugwise: remove outdated fixtures (#147806) 2025-06-30 12:15:52 +02:00
epenet
e642cd45ae Enforce async_load_fixture in async test functions (#145709) 2025-06-30 11:56:26 +02:00
dependabot[bot]
179e1c2b00 Bump github/codeql-action from 3.29.0 to 3.29.1 (#147799)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-30 11:53:30 +02:00
Phill (pssc)
52a99aea0c Squeezebox: Fix Allow server device details to merge with players with the same MAC (#133517)
* Disambiguate bewtween servers and player to stop them being merged

* ruff format

* make SqueezeLite players not a service

* ruff

* Tidy redunant code

* config url

* revert config url

* change to domain server

* use default to see how they are mereged with server device

* refactor to use defaults so where a player is part of a bigger ie server service device in the same intergration it doesnt replace its information

* ruff

* make test match the new data

* Fix merge

* Fix tests

* Fix meregd test data

* Fix all tests add new test for merged device in reg

* Remove info from device_info so its only a lookup

* manual merge of server player shared devices

* Fix format of merged entires

* fixes for testing

* Fix test with input from @peteS-UK device knowlonger exits for this test

* Fix test now device doesnt exits for tests

* Update homeassistant/components/squeezebox/media_player.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Fix Copilots formatting

* Apply suggestions from code review

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-30 11:41:22 +02:00
Paulus Schoutsen
c7b2f236be Type Z-Wave JS config entry (#147456)
* Type Z-Wave JS config entry

* Migrate to data class
2025-06-30 11:15:12 +02:00
Evan Severson
a6e3da43ca Fixed pushbullet handling of fields longer than 255 characters (#146993) 2025-06-30 11:08:50 +02:00
Steffen Rusitschka
4d58024d5d Add publish_string_states config to zabbix (#134773)
* Add include_strings config to zabbix

* Remove commented code

* Fix ruff formatting

* Update homeassistant/components/zabbix/__init__.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Update homeassistant/components/zabbix/__init__.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* Don't use dict.get, CONF_INCLUDE_STRINGS has a default value and will always be set.

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

* Convert to string only when include_strings is true

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

* change to guard

* Fix review comments

* ruff, mypy, pylint fixes

* more ruff, mypy fixes

* and another ruff format fix

---------

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-30 10:52:33 +02:00
Manu
c7603b39ec Fix inputs to correctly handle Fahrenheit in IronOS (#135421)
* Fix inputs to correctly handle Fahrenheit in IronOS

* some refactoring

* add boost switch entity

* Revert switch entity

* refactor

* remove commented code

* some changes
2025-06-30 10:44:39 +02:00
epenet
c17ee0d123 Allow binary sensor template to return state unknown (#128861)
* Allow binary sensor template to return state unknown

* Add tests

* Adjust TriggerBinarySensorEntity

* Add restore tests for BinarySensorTemplate

* Add tests for TriggerBinarySensorEntity

* Tweak

* Tweak

* Adjust tests

* Adjust
2025-06-30 10:06:05 +02:00
Alexandre CUER
97c1e21a69 Add possibility to synchronize automatically all available feeds in emoncms (#128122)
* Add checkbox in options to sync all feeds once

* Add sync mode selector in async_step_user
Remove checkbox in options

* Correct use of SYNC_MODE & SYNC_MODE_AUTO in tests

* Use dropdown for mode selection

* rmv_unused_const

* Add separate tests + use SelectSelector
2025-06-30 10:05:07 +02:00
starkillerOG
c9a6b1fd45 Bump reolink_aio to 0.14.2 (#147797) 2025-06-30 09:39:02 +02:00
mkmer
05ceee568e Honeywell: Don't use shared session (#147772) 2025-06-29 21:22:59 +02:00
Shay Levy
08a6b38699 Bump aioshelly to 13.7.1 (#146221)
* Bump aioshelly to 13.8.0

* Change version to 13.7.1
2025-06-29 21:41:50 +03:00
Norbert Rittel
4add346272 Deduplicate strings and fix sentence-casing in proximity (#147777)
* Deduplicate strings and fix sentence-casing in `proximity`

* Update test_init.py
2025-06-29 21:00:16 +03:00
Andre Lengwenus
369c8d1e0d Bump pypck to 0.8.10 (#147774) 2025-06-29 20:58:41 +03:00
tronikos
25ab47a587 Move the async_reload on updates in async_setup_entry in Google Generative AI (#147748)
Move the async_reload on updates in async_setup_entry
2025-06-29 07:56:37 +02:00
Marc Hörsken
617ea1925c Update pywmspro to 0.3.0 to wait for short-lived actions (#147679)
Replace action delays with detailed action responses.
2025-06-29 07:33:44 +02:00
cdnninja
8bacab4f9c Fix Vesync set_percentage error (#147751) 2025-06-29 07:22:04 +02:00
J. Nick Koston
6d28b99344 Preserve httpx boolean behavior in REST integration after aiohttp conversion (#147738) 2025-06-28 17:24:09 -05:00
cnico
bbd1cbf5c9 Correct Chlorine unit definition in flipr integration (#147537)
* Correction of bug 145683

* constant for chlorine unit correction

* constant name correction

* Review correction
2025-06-28 22:29:24 +01:00
Paulus Schoutsen
cf2e69ed74 Bump version to 2025.7.0b4 2025-06-28 20:27:42 +00:00
J. Nick Koston
c32b44b774 Improve rest error logging (#147736)
* Improve rest error logging

* Improve rest error logging

* Improve rest error logging

* Improve rest error logging

* Improve rest error logging

* top level
2025-06-28 20:27:20 +00:00
Florian von Garrel
2f69ed4a8a bump pypaperless to 4.1.1 (#147735) 2025-06-28 20:27:19 +00:00
Marc Hörsken
4b3449fe0c Fix error if cover position is not available or unknown (#147732) 2025-06-28 20:27:18 +00:00
starkillerOG
33e1c6de68 Reduce idle timeout of HLS stream to conserve camera battery life (#147728)
* Reduce IDLE timeout of HLS stream to conserve camera battery life

* adjust tests
2025-06-28 20:27:17 +00:00
Daniel Hjelseth Høyer
81e712ea49 Bump pytibber to 0.31.6 (#147703) 2025-06-28 20:27:16 +00:00
Shay Levy
d3c5684cd0 Fix Shelly Block entity removal (#147694) 2025-06-28 20:27:16 +00:00
Jan Bouwhuis
862b7460b5 Move MQTT device sw and hw version to collapsed section in subentry flow (#147685)
Move MQTT device sw and hw version to collapsed section
2025-06-28 20:27:15 +00:00
Samuel Xiao
a65eb57539 Add lock models to switchbot cloud (#147569) 2025-06-28 20:27:14 +00:00
Antoni Czaplicki
b537850f52 Bump vulcan-api to 2.4.2 (#146857) 2025-06-28 20:27:13 +00:00
starkillerOG
43450d4489 Reduce idle timeout of HLS stream to conserve camera battery life (#147728)
* Reduce IDLE timeout of HLS stream to conserve camera battery life

* adjust tests
2025-06-28 22:20:47 +02:00
J. Nick Koston
f8c052e0ce Improve rest error logging (#147736)
* Improve rest error logging

* Improve rest error logging

* Improve rest error logging

* Improve rest error logging

* Improve rest error logging

* top level
2025-06-28 22:18:46 +02:00
Florian von Garrel
1f3bdfc7b7 bump pypaperless to 4.1.1 (#147735) 2025-06-28 22:13:51 +02:00
Antoni Czaplicki
0652bffd68 Bump vulcan-api to 2.4.2 (#146857) 2025-06-28 22:11:59 +02:00
Manu
8322611099 Use test parametrization in ista EcoTrend integration (#147729) 2025-06-28 21:57:51 +02:00
Marc Hörsken
134967b817 Fix error if cover position is not available or unknown (#147732) 2025-06-28 21:57:26 +02:00
Shay Levy
39abae36f0 Fix Shelly Block entity removal (#147694) 2025-06-28 22:40:58 +03:00
Marc Mueller
227760f203 Fix RuntimeWarnings in homeassistant_yellow tests (#147724) 2025-06-28 20:31:01 +02:00
Jan Bouwhuis
969809456e Move MQTT device sw and hw version to collapsed section in subentry flow (#147685)
Move MQTT device sw and hw version to collapsed section
2025-06-28 11:25:59 +02:00
Daniel Hjelseth Høyer
d2e8a48b2c Bump pytibber to 0.31.6 (#147703) 2025-06-28 10:11:17 +02:00
epenet
ea6332ee42 Move backup services to separate module (#146427) 2025-06-27 20:54:56 +02:00
Erik Montnemery
91c3b43d7f Improve comment for helpers.entity.entity_sources (#146529) 2025-06-27 20:54:19 +02:00
Thomas55555
1d82d44794 Add device prefix to summary in Husqvarna Automower (#147405) 2025-06-27 20:34:50 +02:00
Thomas55555
571376badc Bump aioautomower to 1.0.1 (#147683) 2025-06-27 20:28:45 +02:00
Manu
32236b2f4d Add reconfiguration flow to PlayStation Network (#147552) 2025-06-27 20:17:06 +02:00
Samuel Xiao
18c1953bc5 Add lock models to switchbot cloud (#147569) 2025-06-27 20:16:21 +02:00
Franck Nijhof
16c6bd08f8 Bump version to 2025.7.0b3 2025-06-27 17:55:31 +00:00
Simone Chemelli
18834849c2 Bump aioamazondevices to 3.1.22 (#147681) 2025-06-27 17:54:40 +00:00
hanwg
e4d820799f Add codeowner for Telegram bot (#147680) 2025-06-27 17:54:38 +00:00
mkmer
013a35176a Bump aiosomecomfort to 0.0.33 (#147673) 2025-06-27 17:54:37 +00:00
Norbert Rittel
8230557aef Fix sentence-casing and spacing of button in thermopro (#147671) 2025-06-27 17:54:36 +00:00
Paul Bottein
5451063714 Update frontend to 20250627.0 (#147668) 2025-06-27 17:54:35 +00:00
Shay Levy
8cdc7523a4 Fix Shelly entity removal (#147665) 2025-06-27 17:54:33 +00:00
Josef Zweck
77ccfbd3a9 Fix: Unhandled NoneType sessions in jellyfin (#147659) 2025-06-27 17:54:32 +00:00
Josef Zweck
4977ee4998 Bump jellyfin-apiclient-python to 1.11.0 (#147658) 2025-06-27 17:54:31 +00:00
Josef Zweck
5c0f2d37f0 Make jellyfin not single config entry (#147656) 2025-06-27 17:54:29 +00:00
Thomas55555
0b5d2ab8e4 Respect availability of parent class in Husqvarna Automower (#147649) 2025-06-27 17:54:28 +00:00
Brett Adams
47f3bf29dd Fix energy history in Teslemetry (#147646) 2025-06-27 17:54:26 +00:00
Manu
62f7cbb51e Remove dweet.io integration (#147645) 2025-06-27 17:54:25 +00:00
Bernardus Jansen
b9e2c5d34c Add previously missing state classes to dsmr sensors (#147633) 2025-06-27 17:54:24 +00:00
Petar Petrov
1829acd0e1 Z-WaveJS config flow: Change keys question (#147518)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-27 17:54:22 +00:00
Bernardus Jansen
d874c28dc9 Add previously missing state classes to dsmr sensors (#147633) 2025-06-27 19:45:36 +02:00
Brett Adams
19d89c8952 Fix energy history in Teslemetry (#147646) 2025-06-27 19:43:03 +02:00
Ludovic BOUÉ
e3ba1f34ca Matter TemperatureControl (#145706)
* TemperatureControl

* Add tests

* Commands.SetTemperature

* Update homeassistant/components/matter/number.py

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

* Apply suggestions from code review

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

* Update number.py

* Update number.py

* Update number.py

* Update homeassistant/components/matter/number.py

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

* Refactor MatterRangeNumber to streamline command handling in async_set_native_value

* testing requested changes

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-27 19:41:39 +02:00
Thomas55555
b630fb0520 Respect availability of parent class in Husqvarna Automower (#147649) 2025-06-27 19:38:42 +02:00
Ville Skyttä
5129f89086 Finish config flow in huawei_lte SSDP test (#147542) 2025-06-27 19:00:01 +02:00
Ville Skyttä
0be0e22e76 Simplify rflink dimmable set_level parsing (#147636) 2025-06-27 18:59:10 +02:00
epenet
b8500b338a Improve tests for binary sensor template (#147657) 2025-06-27 18:58:16 +02:00
Simone Chemelli
4cab3a0465 Bump aioamazondevices to 3.1.22 (#147681) 2025-06-27 18:44:01 +02:00
hanwg
ff711324d5 Add codeowner for Telegram bot (#147680) 2025-06-27 18:18:01 +02:00
Michael
113e7dc003 Add data descriptions to PEGELONLINE integration (#147594) 2025-06-27 18:16:38 +02:00
Shay Levy
2120ff6a0a Fix Shelly entity removal (#147665) 2025-06-27 18:50:35 +03:00
Marc Mueller
8ee5c30754 Update ruff to 0.12.1 (#147677) 2025-06-27 17:40:08 +02:00
Paul Bottein
a1518b96c4 Update frontend to 20250627.0 (#147668) 2025-06-27 17:28:14 +02:00
Petar Petrov
bba7f5c3f0 Z-WaveJS config flow: Change keys question (#147518)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-27 17:27:43 +02:00
Manu
8a5671af76 Remove dweet.io integration (#147645) 2025-06-27 17:23:42 +02:00
Raphael Hehl
8a18dea8c7 UniFi Protect removing early access checks and issue creation (#147432)
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-27 17:15:34 +02:00
Thomas55555
4b02f22724 Bump aioautomower to 1.0.0 (#147676) 2025-06-27 17:02:52 +02:00
mkmer
7229c2ca2c Bump aiosomecomfort to 0.0.33 (#147673) 2025-06-27 16:32:25 +02:00
Norbert Rittel
d83eddf13b Fix sentence-casing and spacing of button in thermopro (#147671) 2025-06-27 15:53:18 +02:00
Josef Zweck
4a192a7b09 Bump jellyfin-apiclient-python to 1.11.0 (#147658) 2025-06-27 11:07:14 +02:00
Josef Zweck
58c434887e Fix: Unhandled NoneType sessions in jellyfin (#147659) 2025-06-27 11:00:23 +02:00
Abílio Costa
78c2405e61 Bump whirlpool to 0.21.1 (#147611) 2025-06-27 10:33:49 +02:00
Josef Zweck
8cc4105984 Make jellyfin not single config entry (#147656) 2025-06-27 10:31:13 +02:00
Franck Nijhof
41b9a7a9a3 Bump version to 2025.7.0b2 2025-06-27 08:08:02 +00:00
Norbert Rittel
9782637ec8 Clarify descriptions of subaru.unlock_specific_door action (#147655) 2025-06-27 08:05:06 +00:00
Manu
6bd6fa65d2 Bump pynecil to v4.1.1 (#147648) 2025-06-27 08:05:05 +00:00
Joost Lekkerkerker
85343a9f53 Make sure Ollama integration migration is clean (#147630) 2025-06-27 08:05:04 +00:00
Joost Lekkerkerker
bc607dd013 Make sure Anthropic integration migration is clean (#147629) 2025-06-27 08:05:02 +00:00
Joost Lekkerkerker
c2c388e0cc Make sure OpenAI integration migration is clean (#147627) 2025-06-27 08:05:01 +00:00
Joost Lekkerkerker
3fc154e1d7 Make sure Google Generative AI integration migration is clean (#147625) 2025-06-27 08:05:00 +00:00
Jack Powell
efb29d024e Add Diagnostics to PlayStation Network (#147607)
* Add Diagnostics support to PlayStation_Network

* Remove unused constant

* minor cleanup

* Redact additional data

* Redact additional data
2025-06-27 08:04:58 +00:00
Michael
263823c92c Fix config schema to make credentials optional in NUT flows (#147593) 2025-06-27 08:04:57 +00:00
hanwg
e5e6ed601b Fix Telegram bot yaml import for webhooks containing None value for URL (#147586) 2025-06-27 08:04:56 +00:00
Petar Petrov
28dfc997f3 Do not factory reset old Z-Wave controller during migration (#147576)
* Do not factory reset old Z-Wave controller during migration

* PR comments

* remove obsolete test
2025-06-27 08:04:55 +00:00
puddly
f93ab8d519 Allow setup of Zigbee/Thread for ZBT-1 and Yellow without internet access (#147549)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-27 08:04:54 +00:00
Josef Zweck
cb359da79e Make entities unavailable when machine is physically off in lamarzocco (#147426) 2025-06-27 08:04:52 +00:00
Josef Zweck
917f1e4c6f Make entities unavailable when machine is physically off in lamarzocco (#147426) 2025-06-27 10:03:14 +02:00
hanwg
3879f6d2ef Fix Telegram bot yaml import for webhooks containing None value for URL (#147586) 2025-06-27 10:03:03 +02:00
Norbert Rittel
78060e4833 Clarify descriptions of subaru.unlock_specific_door action (#147655) 2025-06-27 10:01:44 +02:00
Guido Schmitz
fda66c4be4 Handle deleted devices dynamically in devolo Home Control (#147585) 2025-06-27 09:52:00 +02:00
Michael
21131d00b3 Fix config schema to make credentials optional in NUT flows (#147593) 2025-06-27 09:51:28 +02:00
puddly
a84313de33 Allow setup of Zigbee/Thread for ZBT-1 and Yellow without internet access (#147549)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-27 09:50:45 +02:00
Manu
c73346e6b3 Bump pynecil to v4.1.1 (#147648) 2025-06-27 09:31:35 +02:00
Franck Nijhof
55a37a2936 Extend GitHub Copilot instructions with new learnings from reviews (#147652) 2025-06-27 09:01:09 +02:00
Abílio Costa
e481f14335 Simplify reolink light tests (#147637) 2025-06-27 08:58:09 +02:00
Petar Petrov
1ca03c8ae9 Do not factory reset old Z-Wave controller during migration (#147576)
* Do not factory reset old Z-Wave controller during migration

* PR comments

* remove obsolete test
2025-06-27 08:02:12 +02:00
Ville Skyttä
61b43ca1fc Remove unnecessary wilight trigger regex use (#147638) 2025-06-26 23:16:21 +01:00
Joost Lekkerkerker
1b2be083c2 Make sure Google Generative AI integration migration is clean (#147625) 2025-06-26 23:03:36 +02:00
Joost Lekkerkerker
4bdf3d6f30 Make sure OpenAI integration migration is clean (#147627) 2025-06-26 23:03:11 +02:00
Joost Lekkerkerker
43535ede8b Make sure Anthropic integration migration is clean (#147629) 2025-06-26 23:02:59 +02:00
Joost Lekkerkerker
9bd0762799 Make sure Ollama integration migration is clean (#147630) 2025-06-26 23:02:35 +02:00
Ville Skyttä
1bb653b4f7 Remove unused config regexps (#147631) 2025-06-26 23:02:14 +02:00
Franck Nijhof
2655edcfc8 Extend GitHub Copilot instructions and make it suitable for Claude Code (#147632) 2025-06-26 23:00:02 +02:00
Franck Nijhof
7a08edc3dd Add Claude to gitignore (#147622) 2025-06-26 21:06:34 +02:00
Abílio Costa
b3131355b0 Use non-autospec mock for Reolink's light tests (#147621) 2025-06-26 21:05:23 +02:00
Abílio Costa
06d04c001d Use non-autospec mock for Reolink's host tests (#147619) 2025-06-26 20:55:46 +02:00
Jack Powell
babecdf32c Add Diagnostics to PlayStation Network (#147607)
* Add Diagnostics support to PlayStation_Network

* Remove unused constant

* minor cleanup

* Redact additional data

* Redact additional data
2025-06-26 20:52:07 +02:00
Franck Nijhof
6a7385590a Bump version to 2025.7.0b1 2025-06-26 18:03:11 +00:00
Joost Lekkerkerker
c0ec987b07 Fix meaters not being added after a reload (#147614) 2025-06-26 18:02:49 +00:00
Joost Lekkerkerker
26521f8cc0 Hide Telegram bot proxy URL behind section (#147613)
Co-authored-by: Manu <4445816+tr4nt0r@users.noreply.github.com>
2025-06-26 18:02:48 +00:00
Manu
4df1f702bf Fix asset url in Habitica integration (#147612) 2025-06-26 18:02:46 +00:00
Joost Lekkerkerker
c8422c9fb8 Improve explanation on how to get API token in Telegram (#147605) 2025-06-26 18:02:45 +00:00
Luca Angemi
f8207a2e0e Remove default icon for wind direction sensor for Buienradar (#147603)
* Fix wind direction state class sensor

* Remove default icon for wind direction sensor
2025-06-26 18:02:44 +00:00
Bram Kragten
9cc75f3458 Update frontend to 20250626.0 (#147601) 2025-06-26 18:02:43 +00:00
Joost Lekkerkerker
a233b6b1e3 Add default title to migrated Ollama entry (#147599) 2025-06-26 18:02:42 +00:00
Joost Lekkerkerker
c7677b91da Add default title to migrated Claude entry (#147598) 2025-06-26 18:02:40 +00:00
Joost Lekkerkerker
1f57bba9cd Add default conversation name for OpenAI integration (#147597) 2025-06-26 18:02:39 +00:00
Joost Lekkerkerker
4cc10ca2e2 Set Google AI model as device model (#147582)
* Set Google AI model as device model

* fix
2025-06-26 18:02:38 +00:00
Marcel van der Veldt
153e1e43e8 Do not make the favorite button unavailable when no content playing on a Music Assistant player (#147579) 2025-06-26 18:02:36 +00:00
Joost Lekkerkerker
398dd3ae46 Set right model in OpenAI conversation (#147575) 2025-06-26 18:02:35 +00:00
Petar Petrov
17fd850fa6 Hide unnamed paths when selecting a USB Z-Wave adapter (#147571)
* Hide unnamed paths when selecting a USB Z-Wave adapter

* remove pointless sorting
2025-06-26 18:02:34 +00:00
Petar Petrov
ae062b230c Remove obsolete routing info when migrating a Z-Wave network (#147568) 2025-06-26 18:02:33 +00:00
Marcel van der Veldt
d523f85404 Fix sending commands to Matter vacuum (#147567) 2025-06-26 18:02:31 +00:00
tronikos
f28d6582c6 Refactor in Google AI TTS in preparation for STT (#147562) 2025-06-26 18:02:30 +00:00
Petar Petrov
1e81e5990e Bump zwave-js-server-python to 0.65.0 (#147561)
* Bump zwave-js-server-python to 0.65.0

* update tests
2025-06-26 18:02:29 +00:00
tronikos
5fe2e4b6ed Include subentries in Google Generative AI diagnostics (#147558) 2025-06-26 18:02:28 +00:00
tronikos
914bb3aa76 Use default title for migrated Google Generative AI entries (#147551) 2025-06-26 18:02:26 +00:00
Simone Chemelli
cfa6746115 Fix unload for Alexa Devices (#147548) 2025-06-26 18:02:25 +00:00
Simone Chemelli
03f9caf3eb Add action exceptions to Alexa Devices (#147546) 2025-06-26 18:02:24 +00:00
Joost Lekkerkerker
6b2aaf3fdb Show current Lametric version if there is no newer version (#147538) 2025-06-26 18:02:23 +00:00
Luca Angemi
2c4ea0d584 Fix wind direction state class sensor for AEMET (#147535) 2025-06-26 18:02:21 +00:00
Anders Peter Fugmann
e627811f7a Bump dependency on pyW215 for DLink integration to 0.8.0 (#147534) 2025-06-26 18:02:20 +00:00
Simone Chemelli
150f41641b Improve config flow strings for Alexa Devices (#147523) 2025-06-26 18:02:19 +00:00
Erik Montnemery
b9a7371996 Set end date for when allowing unique id collisions in config entries (#147516)
* Set end date for when allowing unique id collisions in config entries

* Update test
2025-06-26 18:02:17 +00:00
tronikos
7d0e99da43 Fixes in Google AI TTS (#147501)
* Fix Google AI not using correct config options after subentries migration

* Fixes in Google AI TTS

* Fix tests by @IvanLH

* Change type name.

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-06-26 18:02:16 +00:00
hanwg
71f281cc14 Fix Telegram bot default target when sending messages (#147470)
* handle targets

* updated error message

* validate chat id for single target

* add validation for chat id

* handle empty target

* handle empty target
2025-06-26 18:02:15 +00:00
Renat Sibgatulin
aec812a475 Create a new client session for air-Q to fix cookie polution (#147027) 2025-06-26 18:00:50 +00:00
Robin Lintermann
d4b548b169 Fixed issue when tests (should) fail in Smarla (#146102)
* Fixed issue when tests (should) fail

* Use usefixture decorator

* Throw ConfigEntryError instead of AuthFailed
2025-06-26 18:00:48 +00:00
Fabio Natanael Kepler
a296324c30 Fix playing TTS and local media source over DLNA (#134903)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-26 18:00:47 +00:00
Renat Sibgatulin
17cd39748b Create a new client session for air-Q to fix cookie polution (#147027) 2025-06-26 19:59:49 +02:00
Simone Chemelli
c2f1e86a4e Add action exceptions to Alexa Devices (#147546) 2025-06-26 19:59:02 +02:00
Joost Lekkerkerker
61a32466b6 Hide Telegram bot proxy URL behind section (#147613)
Co-authored-by: Manu <4445816+tr4nt0r@users.noreply.github.com>
2025-06-26 19:55:38 +02:00
Manu
aef08091f8 Fix asset url in Habitica integration (#147612) 2025-06-26 19:52:58 +02:00
Joost Lekkerkerker
1416f0f1e0 Fix meaters not being added after a reload (#147614) 2025-06-26 19:52:29 +02:00
HarvsG
af7b1a76bc Add description placeholders to SchemaFlowFormStep (#147544)
* test description placeholders

* Update test_schema_config_entry_flow.py

* fix copy and paste indentation

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-26 19:51:31 +02:00
Maximilian Arzberger
bf88fcd5bf Add Manual Charge Switch for Installers for Kostal Plenticore (#146932)
* Add Manual Charge Switch for Installers

* Update stale docstring

* Installer config fixture

* fix ruff
2025-06-26 19:50:27 +02:00
Joost Lekkerkerker
35478e3162 Set Google AI model as device model (#147582)
* Set Google AI model as device model

* fix
2025-06-26 19:44:15 +02:00
Joost Lekkerkerker
69af74a593 Improve explanation on how to get API token in Telegram (#147605) 2025-06-26 18:21:56 +02:00
tronikos
b4dd912bee Refactor in Google AI TTS in preparation for STT (#147562) 2025-06-26 11:53:16 -04:00
Bram Kragten
b5821ef499 Update frontend to 20250626.0 (#147601) 2025-06-26 17:46:45 +02:00
Fabio Natanael Kepler
1a92d4530e Fix playing TTS and local media source over DLNA (#134903)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-26 17:12:15 +02:00
Joost Lekkerkerker
7b80c1c693 Add default conversation name for OpenAI integration (#147597) 2025-06-26 17:11:48 +02:00
Joost Lekkerkerker
e7cc03c1d9 Add default title to migrated Claude entry (#147598) 2025-06-26 17:11:13 +02:00
Luca Angemi
69f0b6244a Remove default icon for wind direction sensor for Buienradar (#147603)
* Fix wind direction state class sensor

* Remove default icon for wind direction sensor
2025-06-26 17:05:59 +02:00
Joost Lekkerkerker
01205f8a14 Add default title to migrated Ollama entry (#147599) 2025-06-26 17:05:26 +02:00
hanwg
68924d23ab Fix Telegram bot default target when sending messages (#147470)
* handle targets

* updated error message

* validate chat id for single target

* add validation for chat id

* handle empty target

* handle empty target
2025-06-26 16:43:09 +02:00
Artur Pragacz
40f553a007 Migrate device connections to a normalized form (#140383)
* Normalize device connections migration

* Update version

* Slightly improve tests

* Update homeassistant/helpers/device_registry.py

* Add validators

* Fix validator

* Move format mac function too

* Add validator test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-26 15:33:34 +02:00
Robin Lintermann
bc46894b74 Fixed issue when tests (should) fail in Smarla (#146102)
* Fixed issue when tests (should) fail

* Use usefixture decorator

* Throw ConfigEntryError instead of AuthFailed
2025-06-26 15:30:03 +02:00
Anders Peter Fugmann
6f4615f012 Bump dependency on pyW215 for DLink integration to 0.8.0 (#147534) 2025-06-26 12:56:46 +02:00
Joost Lekkerkerker
4244d2f66f Set right model in OpenAI conversation (#147575) 2025-06-26 12:49:33 +02:00
Petar Petrov
a73dafe097 Hide unnamed paths when selecting a USB Z-Wave adapter (#147571)
* Hide unnamed paths when selecting a USB Z-Wave adapter

* remove pointless sorting
2025-06-26 12:15:02 +02:00
Stefan Agner
be49296547 Deduplicate shared logic in Matter vacuum commands (#147578)
Get the run mode by tag in a single place to avoid code duplication.
Also raise an error if the run mode (unexpectedly) is not found.
2025-06-26 11:54:52 +02:00
Marcel van der Veldt
d55ecd885e Do not make the favorite button unavailable when no content playing on a Music Assistant player (#147579) 2025-06-26 11:49:06 +02:00
Luca Angemi
076248c455 Fix wind direction state class sensor for AEMET (#147535) 2025-06-26 11:07:07 +02:00
Petar Petrov
13ce27c94c Remove obsolete routing info when migrating a Z-Wave network (#147568) 2025-06-26 11:06:36 +02:00
Joost Lekkerkerker
4b9b08ece5 Show current Lametric version if there is no newer version (#147538) 2025-06-26 10:55:31 +02:00
Simone Chemelli
79df38eff2 Improve config flow strings for Alexa Devices (#147523) 2025-06-26 10:52:14 +02:00
tronikos
fb133664e4 Include subentries in Google Generative AI diagnostics (#147558) 2025-06-26 10:50:47 +02:00
Marcel van der Veldt
38669ce96c Fix sending commands to Matter vacuum (#147567) 2025-06-26 10:47:24 +02:00
Petar Petrov
651b33d49b Bump zwave-js-server-python to 0.65.0 (#147561)
* Bump zwave-js-server-python to 0.65.0

* update tests
2025-06-26 10:11:25 +03:00
Erik Montnemery
3b64db5f76 Set end date for when allowing unique id collisions in config entries (#147516)
* Set end date for when allowing unique id collisions in config entries

* Update test
2025-06-26 08:20:26 +02:00
tronikos
0f95fe566c Use default title for migrated Google Generative AI entries (#147551) 2025-06-25 22:30:41 -04:00
Simone Chemelli
6290facffb Fix unload for Alexa Devices (#147548) 2025-06-26 01:55:58 +02:00
tronikos
f0a78aadbe Fixes in Google AI TTS (#147501)
* Fix Google AI not using correct config options after subentries migration

* Fixes in Google AI TTS

* Fix tests by @IvanLH

* Change type name.

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-06-25 18:12:23 -04:00
Pete Sage
345ec97dd5 Add enum sensor for Sonos Power Source (#147449)
* feat: add power source sensor

* fix: translations

* fix:cleanup

* fix: simpify

* fix: improve coverage

* fix: improve coverage

* fix: add missing test

* fix: call it charging_base

* fix: disable entity by default

* update snapshots

* Update homeassistant/components/sonos/strings.json

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

* fix: update test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-25 23:49:06 +02:00
Franck Nijhof
1286b5d9d8 Bump version to 2025.8.0dev0 (#147531) 2025-06-25 21:38:35 +02:00
Franck Nijhof
cff3d3d6ac Bump version to 2025.7.0b0 2025-06-25 18:51:19 +00:00
Erik Montnemery
26e3caea9a Add support for condition platforms to provide multiple conditions (#147376) 2025-06-25 18:10:30 +01:00
Bouwe Westerdijk
2b5f5f641d Bump plugwise to v1.7.6 (#147508) 2025-06-25 18:48:38 +02:00
Simone Chemelli
99079d2980 Bump aioamazondevices to 3.1.19 (#147462) 2025-06-25 18:47:09 +02:00
Retha Runolfsson
2800921a5d Remove force latch mode for locklite in switchbot integration (#147474) 2025-06-25 18:45:37 +02:00
Jan Bouwhuis
3268b9ee18 Fix typo's in MQTT translation strings (#147489) 2025-06-25 18:45:09 +02:00
Bram Kragten
02c3cdd5d4 Update frontend to 20250625.0 (#147521) 2025-06-25 18:44:46 +02:00
Manu
f34f17bc24 Update codeowners of PlayStation Network integration (#147510)
Add myself as codeowner
2025-06-25 18:35:48 +02:00
Erik Montnemery
1fb587bf03 Allow core integrations to describe their triggers (#147075)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-25 17:35:15 +01:00
Pete Sage
d8258924f7 Remove mapping of entity_ids to speakers in Sonos (#147506)
* fix

* fix: change entity_id mappings

* fix: translate errors

* fix:merge issues

* fix: translate error messages

* fix: improve test coverage

* fix: remove unneeded strings
2025-06-25 18:29:23 +02:00
Retha Runolfsson
c05d8aab1c Add floor lamp and strip light 3 for switchbot integration (#147517) 2025-06-25 18:01:10 +02:00
Nathan Larsen
e210681751 Fix API POST endpoints json parsing error-handling (#134326)
* Fix API POST endpoints json parsing error-handling

* Add tests

* Fix mypy and ruff errors

* Fix coverage by removing non-needed error handling

* Correct error handling and improve tests

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik <erik@montnemery.com>
2025-06-25 16:58:21 +02:00
Thomas D
809aced9cc Add cover platform to Qbus integration (#147420)
* Add scene platform

* Add cover platform

* Refactor receiving state

* Fix wrong auto-merged code
2025-06-25 15:38:43 +02:00
ocrease
977e8adbfb Fix operational state and vacuum state for matter vacuum (#147466) 2025-06-25 15:23:38 +02:00
Michael
c54ce7eabd Split models and helpers from coordinator module in AVM Fritz!Box tools (#147412)
* split models from coordinator

* split helpers from coordinator
2025-06-25 14:50:07 +02:00
Retha Runolfsson
c5f8acfe93 Add effect mode support for switchbot light (#147326)
* add support for strip light3 and floor lamp

* clear the color mode

* add led unit test

* use property for effect

* fix color mode issue

* remove new products

* fix adv data

* adjust log level

* add translation and icon
2025-06-25 14:45:07 +02:00
Pavel Skuratovich
8393f17bb3 Fix sensor state class for fuel sensor in StarLine integration (#146769) 2025-06-25 14:34:11 +02:00
Guido Schmitz
8918b0d7a9 Add missing reauth_confirm strings to devolo Home Control (#147496) 2025-06-25 14:33:37 +02:00
Manu
c447729ce4 Add sensor platform to PlayStation Network (#147469) 2025-06-25 14:33:02 +02:00
Guido Schmitz
12812049ea Split setup tests in devolo Home Network (#147498) 2025-06-25 14:14:33 +02:00
J. Nick Koston
47811e13a6 Bump PySwitchbot to 0.67.0 (#147503)
changelog: https://github.com/sblibs/pySwitchbot/compare/0.66.0...0.67.0
2025-06-25 13:58:39 +02:00
Erik Montnemery
7587fc985f Bump py-dormakaba-dkey to 1.0.6 (#147499) 2025-06-25 13:31:43 +02:00
puddly
716ec1eef2 Bump ZHA to 0.0.61 (#147472)
Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2025-06-25 13:27:57 +02:00
Gábor Kiss
b95af2d86b Fix ESPHome entity_id generation if name contains unicode characters (#146796)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-25 13:19:55 +02:00
Andre Lengwenus
bca7502611 Add quality scale for LCN (#147367)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-25 11:50:00 +01:00
J. Diego Rodríguez Royo
1e4fbebf49 Improve Home Connect diagnostics exposing more data (#147492) 2025-06-25 11:49:54 +02:00
Pete Sage
c9e9575a3d Add tests for join and unjoin service calls in Sonos (#145602)
* fix: add tests for join and unjoin

* fix: update comments

* fix: update comments

* fix: refactor to common functions

* fix: refactor to common functions

* fix: add type def

* fix: add return types

* fix: add return types

* fix: correct type annontation for uui_ds

* fix: update comments

* fix: merge issues

* fix: merge issue

* fix: raise homeassistanterror on timeout

* fix: add comments

* fix: simplify test

* fix: simplify test

* fix: simplify test
2025-06-25 11:38:51 +02:00
tronikos
f897a728f1 Fix Google AI not using correct config options after subentries migration (#147493) 2025-06-25 11:25:01 +02:00
J. Diego Rodríguez Royo
0bbb168862 Add Home Connect DHCP information (#147494)
* Add Home Connect DHCP information

* Add tests
2025-06-25 11:24:38 +02:00
J. Nick Koston
0a884c7253 Add subdevices support to ESPHome (#147343) 2025-06-25 21:24:30 +12:00
Joakim Sørensen
58e60fdfac Bump hass-nabucasa from 0.103.0 to 0.104.0 (#147488) 2025-06-25 11:15:09 +02:00
Joost Lekkerkerker
33bd35bff4 Migrate Meater to use HassKey (#147485)
* Migrate Meater to use HassKey

* Update homeassistant/components/meater/sensor.py

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

* Migrate Meater to use HassKey

* Migrate Meater to use HassKey

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-06-25 10:36:58 +02:00
Simone Rescio
f4b95ff5f1 Ezviz battery camera work mode (#130478)
* Add support for EzViz Battery Camera work mode

* feat: address review comment, add 'battery' to work mode string

* feat: optimize entity addition for Ezviz select component

* refactor: streamline error handling in Ezviz select actions

* Update library

* update library

* Bump api to pin mqtt to compatable version

* fix after rebase

* Update code owners

* codeowners

* Add support for EzViz Battery Camera work mode

* feat: address review comment, add 'battery' to work mode string

* feat: optimize entity addition for Ezviz select component

* refactor: streamline error handling in Ezviz select actions

* feat: address review item simplify Ezviz select actions by removing base class and moving methods

* chore: fix ruff lint

* feat: check for SupportExt before adding battery select

* chore: cleanup logging

* feat: restored battery work mode, separated defnitions for sound and battery selects, check SupportExt with type casting

* Apply suggestions from code review

---------

Co-authored-by: Pierre-Jean Buffard <pierre-jean.buffard@dataiku.com>
Co-authored-by: Renier Moorcroft <66512715+RenierM26@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-25 09:41:18 +02:00
Simone Chemelli
f800248c10 Add more binary sensors to Alexa Devices (#146402)
* Add more binary sensors to Amazon Devices

* apply review comment

* Add sensor platform to Amazon Devices

* Revert "Add sensor platform to Amazon Devices"

This reverts commit 25a9ca673e450634a17bdb79462b14aa855aca10.

* clean

* fix logic after latest changes

* apply review comments
2025-06-25 09:33:13 +02:00
Retha Runolfsson
d0b2d1dc92 Add evaporative humidifier for switchbot integration (#146235)
* add support for evaporative humidifier

* add evaporative humidifier unit test

* clear the humidifier action in pyswitchbot

* fix ruff

* fix Sentence-casing issue

* add icon translation

* remove last run success

* use icon translations for water level

* remove the translation for last run success
2025-06-25 09:32:33 +02:00
Jan Bouwhuis
85e9919bbd Add entity category option to entities set up via an MQTT subentry (#146776)
* Add entity category option to entities set up via an MQTT subentry

* Rephrase

* typo

* Move entity category to entity details - remove service to action

* Move entity category to entity platform config flow step
2025-06-25 09:28:37 +02:00
Joost Lekkerkerker
51fb1ab8b6 Refactor Meater availability (#146956)
* Refactor Meater availability

* Fix

* Fix
2025-06-25 09:23:27 +02:00
epenet
066e840e06 Migrate lookin to use runtime_data (#147479) 2025-06-25 09:17:43 +02:00
Joost Lekkerkerker
7031167895 Set has entity name to True in Meater (#146954)
* Set has entity name to True in Meater

* Fix

* Fix
2025-06-25 08:59:28 +02:00
epenet
69bf79d3bd Migrate local_calendar to use runtime_data (#147481) 2025-06-25 08:47:29 +02:00
epenet
909d950b50 Migrate luftdaten to use runtime_data (#147480) 2025-06-25 08:07:34 +02:00
epenet
51da1bc25a Migrate loqed to use runtime_data (#147478)
* Migrate loqed to use runtime_data

* Fix tests
2025-06-25 08:07:17 +02:00
epenet
f22b623968 Move luftdaten coordinator to separate module (#147477) 2025-06-25 07:48:56 +02:00
epenet
2bcdc03661 Migrate lupusec to use runtime_data (#147476) 2025-06-25 07:48:30 +02:00
epenet
10d1affd81 Migrate lyric to use runtime_data (#147475) 2025-06-25 07:48:20 +02:00
Manu
91e7b75a44 Fix errors in legacy platform in PlayStation Network integration (#147471)
fix legacy platform presence
2025-06-25 06:48:45 +02:00
natepugh
42aaa888a1 Bump pyairnow to 1.3.1 (#147388)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-24 23:47:56 +01:00
Guido Schmitz
7b8ebb0803 Move DevoloMultiLevelSwitchDeviceEntity in devolo Home Control (#147450) 2025-06-24 22:42:42 +02:00
Paulus Schoutsen
c270ea4e0c Fix media accept config type (#147445) 2025-06-24 16:41:43 -04:00
Paulus Schoutsen
c93e45c0f2 Add missing config entry type for Husqvarna (#147455)
Add missing type for husqvarna
2025-06-24 22:37:35 +02:00
Michael Hansen
19b773df85 Only send ESPHome intent progress when necessary (#147458)
* Only send intent progress when necessary

* cover

* Fix logic

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-24 16:35:38 -04:00
puddly
9e7c7ec97e Flash ZBT-1 and Yellow firmwares from Core instead of using addons (#145019)
* Make `async_flash_firmware` a public helper

* [ZBT-1] Implement flashing for Zigbee and Thread within the config flow

* WIP: Begin fixing unit tests

* WIP: Unit tests, pass 2

* WIP: pass 3

* Fix hardware unit tests

* Have the individual hardware integrations depend on the firmware flasher

* Break out firmware filter into its own helper

* Mirror to Yellow

* Simplify

* Simplify

* Revert "Have the individual hardware integrations depend on the firmware flasher"

This reverts commit 096f4297dc.

* Move `async_flash_silabs_firmware` into `util`

* Fix existing unit tests

* Unconditionally upgrade Zigbee firmware during installation

* Fix failing error case unit tests

* Fix remaining failing unit tests

* Increase test coverage

* 100% test coverage

* Remove old translation strings

* Add new translation strings

* Do not probe OTBR firmware when completing the flow

* More translation strings

* Probe OTBR firmware info before starting the addon
2025-06-24 16:21:02 -04:00
Paulus Schoutsen
f735331699 Convert Ollama to subentries (#147286)
* Convert Ollama to subentries

* Add latest changes from Google subentries

* Move config entry type to init
2025-06-24 16:13:34 -04:00
Maciej Bieniek
5a20ef3f3f Bump aioshelly to version 13.7.0 (#147453) 2025-06-24 23:03:22 +03:00
Simone Chemelli
5ef054f2e0 Add quality scale bronze to SamsungTV (#142288) 2025-06-24 21:41:39 +02:00
Manu
b9fc198a7e Set quality scale to 🥇 gold for ista EcoTrend integration (#143462) 2025-06-24 21:25:53 +02:00
HarvsG
ad4fae7f59 Custom sentence triggers should be marked as processed locally (#145704)
* Mark custom sentence triggers a local agent

* Don't change agent ID

* adds tests to confirm processed_locally is True

* move asserts to after null check
2025-06-24 14:25:40 -05:00
Paulus Schoutsen
265de91fba Add type for wiz (#147454) 2025-06-24 15:13:51 -04:00
Paul Bottein
7322fe40da Define fields for assist ask_question action (#147219)
* Define fields for assist ask_question action

* Update hassfest

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-06-24 15:00:14 -04:00
Paulus Schoutsen
8eb906fad9 Migrate OpenAI to config subentries (#147282)
* Migrate OpenAI to config subentries

* Add latest changes from Google subentries

* Update homeassistant/components/openai_conversation/__init__.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-24 15:00:05 -04:00
Sven Naumann
4d9843172b Fix nfandroidtv service notify disappears when restarting home assistant (#128958)
* move connect to android tv host from init to short before sending a message

* Don't swallow exceptions

* use string literals for exception

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-24 20:09:45 +02:00
Abílio Costa
e8a534be9c Add missing method mock to Reolink chime test (#147447) 2025-06-24 20:06:54 +02:00
Abílio Costa
3148719864 Use newer mock in recent Reolink test (#147448) 2025-06-24 19:06:42 +01:00
Nathan Spencer
abfb7afcb7 Bump pylitterbot to 2024.2.1 (#147443) 2025-06-24 19:26:35 +02:00
Abílio Costa
fe4ff4f835 Use non-autospec mock for Reolink switch tests (#147441) 2025-06-24 19:19:41 +02:00
Michael Hansen
cefc8822b6 Support streaming TTS in wyoming (#147392)
* Support streaming TTS in wyoming

* Add test

* Refactor to avoid repeated task creation

* Manually manage client lifecycle
2025-06-24 13:04:40 -04:00
Michael Hansen
3dc8676b99 Add TTS streaming to Wyoming satellites (#147438)
* Add TTS streaming using intent-progress

* Handle incomplete header
2025-06-24 12:00:02 -05:00
Abílio Costa
0f112bb9c4 Use non-autospec mock for Reolink service tests (#147440) 2025-06-24 18:37:05 +02:00
Nathan Spencer
54e5107c34 Add total cycles sensor for Litter-Robot (#147435)
* Add total cycles sensor for Litter-Robot

* Add translatable unit of measurement cycles
2025-06-24 18:24:15 +02:00
karwosts
657a068087 Cleanup some duplicated code (#147439) 2025-06-24 17:22:13 +01:00
Luca Angemi
af6c2b5c8a Add device class to wind direction sensors for AEMET (#147430) 2025-06-24 16:25:16 +01:00
Manu
d5a8fa9c5c Add DHCP discovery to PlayStation Network integration (#147422)
Add DHCP discovery for PSN
2025-06-24 17:17:02 +02:00
Abílio Costa
cefde21140 Update Shelly test snapshots (#147429) 2025-06-24 18:08:27 +03:00
hanwg
160163b0cc Remove deprecated proxy params from Telegram bot integration (#147288) 2025-06-24 16:46:31 +02:00
Michael Hansen
6ce594539f Bump wyoming to 1.7.1 (#147385)
* Bump wyoming to 1.7.0

* Bump to 1.7.1 for Python version fix

* Address mypy errors
2025-06-24 09:28:09 -05:00
Robert Resch
4ca39ec7c3 Add range icons for wind_direction sensor device class (#147090)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-24 15:00:03 +01:00
Paul Bottein
cfdd7fbbce Add fields and multiple support to object selector (#147215)
* Add schema supports to object selector

* Update format

* Update homeassistant/helpers/selector.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-06-24 09:54:06 -04:00
Paulus Schoutsen
1cb36f4c18 Convert Claude to use subentries (#147285)
* Convert Claude to use subentries

* Add latest changes from Google subentries

* Revert accidental change to Google
2025-06-24 15:36:09 +02:00
Petar Petrov
602c1c64b3 Update ZwaveJS config flow strings (#147421)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-24 14:30:12 +01:00
Andre Lengwenus
3b8d6eb851 Log LCN connection established with log level info (#147424) 2025-06-24 15:24:25 +02:00
Franck Nijhof
9bb98eb514 Merge branch 'master' into dev 2025-06-24 13:19:28 +00:00
karwosts
39c431c55c Add 'max_sub_interval' option to derivative sensor (#125870)
* Add 'max_sub_interval' option to derivative sensor

* add strings

* little coverage

* improve test accuracy

* reimplement at dev head

* string

* handle unavailable

* simplify

* Add self to codeowner

* fix on remove

* Update homeassistant/components/derivative/sensor.py

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

* Fix parenthesis

* sort strings

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-24 15:05:28 +02:00
Franck Nijhof
0171b527d8 2025.6.3 (#147419)
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
2025-06-24 14:58:48 +02:00
Paulus Schoutsen
7cccdf2205 Add accept keyword to Media selector (#145527)
* Add accept keyword to Media selector

* Adjust test
2025-06-24 07:36:48 -05:00
Petro31
97f3bb3da5 Add default to from_json (#146211) 2025-06-24 14:27:14 +02:00
Parker Wahle
fc62a6cd89 Add streaming support w/ audio to Android IP Webcam integration (#126009)
* Add streaming support w/ audio to Android IP Webcam integration

* ruff reformat

* Fix ruff

* Break long comments and strings

* Add camera test

* Fix docstring

* Remove dead code

* Call library function to get URL

* Simplify

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-24 13:54:34 +02:00
Josef Zweck
23b90f5984 Add door state sensors to tedee (#147386) 2025-06-24 12:30:13 +01:00
Paulus Schoutsen
63ac14a19b AI task generate_text -> generate_data (#147370) 2025-06-24 12:12:29 +01:00
Franck Nijhof
94fd9d1657 Bump version to 2025.6.3 2025-06-24 11:09:26 +00:00
Bram Kragten
2f89317fed Update frontend to 20250531.4 (#147414) 2025-06-24 11:09:03 +00:00
Manu
38c7eaf70a Add reauth flow to PlayStation Network integration (#147397)
* Add reauth flow to psn integration

* changes

* catch auth error in coordinator
2025-06-24 12:20:08 +02:00
dependabot[bot]
02e33c3551 Bump sigstore/cosign-installer from 3.8.2 to 3.9.0 (#147072)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-24 10:50:32 +02:00
Bram Kragten
d5187a6a40 Update frontend to 20250531.4 (#147414) 2025-06-24 10:49:51 +02:00
CubeZ2mDeveloper
703032ab27 Added auto-discovery configuration for SONOFF Dongle Max in zha. (#140574)
Co-authored-by: zetao.zheng <1050713479@qq.com>
2025-06-24 10:19:08 +02:00
Maciej Bieniek
438aa3486d Add full device snapshot tests for Shelly (#145620) 2025-06-24 10:16:46 +02:00
Duco Sebel
f2944f4d8e Add support for v2 API for HomeWizard kWh Meter (#147214) 2025-06-24 10:14:06 +02:00
Erik Montnemery
b8044f60fc Fix trigger config validation (#147408) 2025-06-24 10:13:44 +02:00
Michael Hansen
c67b497f30 Bump intents to 2025.6.23 (#147391) 2025-06-24 10:13:04 +02:00
puddly
aefd9c9b41 Bump universal-silabs-flasher to 0.0.31 (#147393) 2025-06-24 10:11:46 +02:00
Stefan Agner
e5d19baf3e Add container arch to system info (#147372) 2025-06-24 09:52:21 +02:00
Manu
121239bcf7 Fix unbound var and tests in PlayStation Network integration (#147398)
fix unbound var and test mocks
2025-06-24 08:53:45 +02:00
Geoff
eff35e93bd New core integration for VegeHub (#129598)
* Initial commit for VegeHub integration

* Moved several pieces to library, continuing.

* All device contact moved to library

* Updated documentation link

* Fixed an error in strings.json

* Removed commented out code and unused file

* Removed unneeded info logging, and a few missed lines of commented code

* Added/removed comments for clarity

* Converted integration to use webhooks.

* Update __init__.py to remove unnecessary code.

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

* Remove unnecessary code from config_flow.py

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

* Simplify unique_id assertion.

* Switch to CONF_ constant for user input

* Added explanation for passing exception.

* Got rid of try-except, since I don't really handle the exceptions her anyway.

* Moved data transform to vegehub library

* Changed references to use HA constants.

* Fixed assigning and returning _attr properties.

* Moved temperature sensor transform to the library.

* Moved sensor names to strings.json

* Made webhook names unique to avoid collisions when multiple devices are added.

* Converted to using entry.runtime_data

* Removed options flow for first PR

* Removed switch support to limit PR to one platform

* Removed/updated outdated tests

* Update homeassistant/components/vegehub/__init__.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Got rid of strings in favor of constants.

* Got rid of unnecessary check

* Imported constant directly.

* Added custom type for entry

* Expanded CONF_ constants into sensor.py

* Get rid of extra `str` and `get`

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Added type to errors

* Added try/except to MAC address retrieval

* Moved functionality out of ConfigFlow that shouldn't have been there

* Removed IP:MAC tracking from ConfigFlow

* Added retries to VegeHub PyPI package, and implemented them in integration

* Removed different sensor types for now

* Fixed typo

* Changed abort to error

* Fixed error reporting in config flow

* Further simplify sensor.py to handle all sensors the same

* Added comment to clarify

* Got rid of unused constants

* Removed unused strings in strings.json

* Added quality_scale.yaml

* Fixed problems in sensor init

* Moved config url and sw version storage into vegehub package

* Get rid of extra declaration

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Removed unnecessary task

* Fix type for entry

* Added a test before setup

* Fixed tests and got test coverage of config flow to 100%

* Fixed test descriptions

* Implemented a coordinator

* Removed unused property

* Fixed a few minor issues with the coordinator implementation

* Removed unused function

* Fixed some tests

* Trying to fix a problem with re-initialization when server reboots. Mostly working.

* Moved hub.setup from async_setup_entry to config flow to avoid running it on system reboot

* Delete tests/testing_config/.storage/http.auth

* Fixed errors in coordinator.py

* Added IP validation for manual input IP addresses

* Moved data into self._discovered to simplify

* Removed redundant typing

* Shortened sensor unique ID and added coordinator handler

* Added call to super()._handle_coordinator_update() so state gets handled correctly

* Fixed == and is

* Got rid of "slot" and moved functionality to lib

* Got rid of mocked aiohttp calls in favor of just mocking the vegehub library

* Rewrote config flow to make more sense.

* Changed order of data and data_description

* Changes to sensor.py

* Got rid of async_update_data in coordinator and moved async_set_updated_data into webhook callback

* Changed sensor updates so that they keep using last known values if update doesn't contain data for them

* Changed config flow to use homeassistant.helpers.service_info zeroconf instead of homeassistant.components zeroconf

* Added types to test parameters

* Changes and notes in config_flow.py

* Minor fix to get existing tests working before making changes to tests

* Removed unused data and simplified data passing

* Fixed tests, removed unused data, moved sensor tests to snapshots

* Mocked async_setup_entry and async_unload_entry

* Eliminated retry step so that retries just happen in the user flow or zeroconf_confirm

* Bumped the library version

* Bumped library version again

* Changed test-before-setup test

* Improved use of coordinator

* Almost done reworking tests. A few more changes still needed.

* Added via device to sensor.py and key reference to strings.json

* Webhook tests are almost, but not quite, working

* Fully functional again

* Change error to assert

* made identifiers and via_device the same

* made the via_device just be the mac

* Fixed strings.json and updated translations

* Fixed test_sensor.py

* Cleaned up tests and added autouse to several fixtures to simplify

* Switched from error to assert, and added exemption to quality scale.

* Cleaned up some tests and added update of IP if unique ID of discovered device is the same.

* Improved zeroconfig to update IP and hostname, and added a test to make sure those work.

* Fixed a comment.

* Improved ip/hostname update test.

* Changed Hub to VegeHub in strings.json for clarity.

* Switched to using a base entity to simplify and make adding platforms in the future easier.

* Moved the vegehub object into the coordinator to simplify.

* Removed actuators from sensors, and added unique name for battery sensor

* Changed coordinator to manage its own data, changed sensors to use descriptions and return their value as a property

* Updated data retrieval keys

* Minor updates to several files

* Fixed a few things for pytest

* Reverted to explicit check for None for pytest

* Fixed a comment and a variable name

* Fixed a comment

* Fix

* Bumped depenency version to eliminate pytest from dependencies.

---------

Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-24 06:55:34 +02:00
Paulus Schoutsen
0cf7952964 Remove duplicated subentry device update in Google Gen AI + add merge test (#147396)
* late comments on Google subentries

* Add test that merges 2 config entries
2025-06-23 22:34:06 -04:00
Paulus Schoutsen
56f4039ac2 Migrate Google Gen AI to use subentries (#147281)
* Migrate Google Gen AI to use subentries

* Add reconfig successful msg

* Address comments

* Do not allow addin subentry when not loaded

* Let HA do the migration

* Use config_entries.async_setup

* Remove fallback name on base entity

* Fix

* Fix

* Fix device name assignment in entity and tts modules

* Fix tests

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-23 20:59:32 -04:00
Andrey Kupreychik
6641cb3799 Handle router initialization, connection errors, and missing interfaces in options flow (#143475)
* Handle router initialization and connection errors in options flow

Added checks in the Keenetic NDMS2 options flow to handle cases where the integration is not initialized or there are connection errors. Relevant user feedback and abort reasons are now provided to ensure a better user experience.

* Add filtering saved/default options for interfaces before preparing an options form
2025-06-23 23:52:23 +02:00
Jack Powell
c671ff3cf1 Add PlayStation Network Integration (#133901)
* clean pull request

* Create one device per console

* Requested changes

* Pr/tr4nt0r/1 (#2)

* clean pull request

* Create one device per console

* device setup

* Merge PR1 - Dynamic Device Support

* Merge PR1 - Dynamic Device Support

---------

Co-authored-by: tr4nt0r <4445816+tr4nt0r@users.noreply.github.com>

* nitpicks

* Update config_flow test

* Update quality_scale.yaml

* repair integrations.json

* minor updates

* Add translation string for invalid account

* misc changes post review

* Minor strings updates

* strengthen config_flow test

* Requested changes

* Applied patch to commit a358725

* migrate PlayStationNetwork helper classes to HA

* Revert to standard psn library

* Updates to media_player logic

* add default_factory, change registered_platforms to set

* Improve test coverage

* Add snapshot test for media_player platform

* fix token parse error

* Parametrize media player test

* Add PS3 support

* Add PS3 support

* Add concurrent console support

* Adjust psnawp rate limit

* Convert to package PlatformType

* Update dependency to PSNAWP==3.0.0

* small improvements

* Add PlayStation PC Support

* Refactor active sessions list

* shift async logic to helper

* Implemented suggested changes

* Suggested changes

* Updated tests

* Suggested changes

* Fix test

* Suggested changes

* Suggested changes

* Update config_flow tests

* Group remaining api call in single executor

---------

Co-authored-by: tr4nt0r <4445816+tr4nt0r@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-23 23:46:06 +02:00
Manu
646ddf9c2d Add sensors to ntfy integration (#145262)
* Add sensors

* small changes

* test coverage

* changes

* update snapshot
2025-06-23 23:17:43 +02:00
Paulus Schoutsen
95abd69cc6 Add media class to media player search and play intent (#147097)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-06-23 16:12:32 -05:00
Arie Catsman
ab0ea753e9 Optimize Enphase envoy translation strings. (#147389)
optimize Enphase envoy translation strings.
2025-06-23 22:59:50 +02:00
Åke Strandberg
9b915e996b Refactor states and strings for Miele plate power steps (#144992)
* WIP

* Fix type check

* Empty commit
2025-06-23 22:40:46 +02:00
hanwg
dc948e3b6c Add strict typing for Telegram bot integration (#147262)
add strict typing
2025-06-23 22:22:00 +02:00
epenet
8b6205be25 Remove JuiceNet integration (#147206) 2025-06-23 21:46:51 +02:00
Paulus Schoutsen
7f99cd2d2b Clean up start_subentry_reconfigure_flow API for tests (#147381) 2025-06-23 21:45:33 +02:00
Petro31
b4fe6f3843 Add trigger based fan entities to template integration (#145497)
* Add trigger based fan entities to template integration

* more changes

* add tests

* update doc strings

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-23 21:20:55 +02:00
Erik Montnemery
c29879274a Refactor DeviceAutomationConditionProtocol (#147377) 2025-06-23 21:18:56 +02:00
Joost Lekkerkerker
512449a76d Add Bluetooth connection to LaMetric (#147342) 2025-06-23 21:01:01 +02:00
Alex Biddulph
fc91047d8d Add sensors for detailed Enphase inverter readings (#146916)
* Add extra details to Enphase inverters

* Bump pyenphase version to 2.1.0

* Add new inverter sensors and translations

* Add new endpoint

* Start updating tests

* Remove duplicate class

* Add `max_reported` sensor

* Move translation strings to correct location

* Update fixtures and snapshots

* Update unit tests

* Fix linting

* Apply suggestions from code review

Co-authored-by: Arie Catsman <120491684+catsmanac@users.noreply.github.com>

* Fix Telegram bot parsing of inline keyboard (#146376)

* bug fix for inline keyboard

* update inline keyboard test

* Update tests/components/telegram_bot/test_telegram_bot.py

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

* revert last_message_id and updated tests

* removed TypeError test

---------

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

* Handle the new JSON payload from traccar clients (#147254)

* Set `entity_id`

* Update unit tests

* Bump aioamazondevices to 3.1.14 (#147257)

* Bump pyseventeentrack to 1.1.1 (#147253)

Update pyseventeentrack requirement to version 1.1.1

* Bump uiprotect to version 7.14.1 (#147280)

* Fix `state_class`es for energy production

* Make `max_reported` `name` more descriptive

* Update snapshots

* Reuse some translations

* Remove unnecessary translation keys

* Update unit tests

* Update homeassistant/components/enphase_envoy/strings.json

* Update homeassistant/components/enphase_envoy/strings.json

* Fix

---------

Co-authored-by: Arie Catsman <120491684+catsmanac@users.noreply.github.com>
Co-authored-by: hanwg <han.wuguang@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Joakim Sørensen <joasoe@proton.me>
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
Co-authored-by: Shai Ungar <shai.ungar@riskified.com>
Co-authored-by: Raphael Hehl <7577984+RaHehl@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-23 20:59:18 +02:00
starkillerOG
6af290eb74 Add Reolink Telephoto main stream (#146975) 2025-06-23 20:53:09 +02:00
starkillerOG
dd3d6f116e Rename second Reolink lens from "autotrack" to "telephoto" (#146898)
* Rename second Reolink lens from "autotrack" to "telephoto"

* Adjust tests
2025-06-23 20:45:24 +02:00
starkillerOG
b4af9a31cb Add multiple cmd_id pushes for Reolink floodlight (#146685)
Allow for multiple cmd_id pushes
2025-06-23 20:44:35 +02:00
starkillerOG
2862f76fca Add support for Reolink Floodlight PoE/WiFi (#146778)
* Add support for Floodlight PoE/WiFi

* Adjust test

* Add test
2025-06-23 20:43:01 +02:00
Matthias Alphart
3806e5b65c Set KNX to quality scale "silver" (#144879)
Update KNX integration quality scale
2025-06-23 20:41:00 +02:00
Marcel van der Veldt
673a2e35ad Add button entity to Music Assistant to add currently playing item to favorites (#145626)
* Add action to Music Assistant to add currently playing item to favorites

* add test

* Convert to button entity

* review comments

* Update test_button.ambr

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-06-23 20:39:46 +02:00
Franck Nijhof
773c25041a 2025.6.2 (#147355)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Brian Rogers <brg468@hotmail.com>
Co-authored-by: Raphael Hehl <7577984+RaHehl@users.noreply.github.com>
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
Co-authored-by: Andre Lengwenus <alengwenus@gmail.com>
Co-authored-by: Chris Talkington <chris@talkingtontech.com>
Co-authored-by: Maciej Bieniek <bieniu@users.noreply.github.com>
Co-authored-by: elmurato <1382097+elmurato@users.noreply.github.com>
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
Co-authored-by: Hessel <hesselonline@users.noreply.github.com>
Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Ravaka Razafimanantsoa <3774520+SeraphicRav@users.noreply.github.com>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
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: J. Diego Rodríguez Royo <jdrr1998@hotmail.com>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
Co-authored-by: hahn-th <15319212+hahn-th@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joakim Sørensen <joasoe@proton.me>
Co-authored-by: Michael Hansen <mike@rhasspy.org>
Fix blocking open in Minecraft Server (#146820)
Fix missing key for ecosmart in older Wallbox models (#146847)
Fix device type filtering in sensor (#146945)
Fix incorrect use of zip in service.async_get_all_descriptions (#147013)
Fix Shelly entity names for gen1 sleeping devices (#147019)
Fix log in onedrive (#147029)
Fix Charge Cable binary sensor in Teslemetry (#147136)
fix too many requests by API (#147197)
Fix reload for Shelly devices with no script support (#147344)
2025-06-23 20:37:52 +02:00
Petro31
e494f66c02 Add label_description to template engine (#147138)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-23 19:21:29 +01:00
tronikos
2833e97625 Default to gemini-2.5-flash (#147334) 2025-06-23 20:11:16 +02:00
Joost Lekkerkerker
442fb88011 Add update platform to LaMetric (#147354) 2025-06-23 20:08:13 +02:00
epenet
6b242fd277 Migrate lifx to use runtime_data and HassKey (#147348) 2025-06-23 20:01:21 +02:00
Joost Lekkerkerker
06ed452d8f Add Matter protocol to Switchbot (#147356) 2025-06-23 17:45:31 +00:00
G Johansson
a7de947f00 Add vacuum activity to pylint type hints check (#147162) 2025-06-23 18:12:18 +01:00
epenet
dfa3fddd35 Migrate livisi to use runtime_data (#147352) 2025-06-23 19:09:38 +02:00
Josef Zweck
ce115cbfe1 Bump aiotedee to 0.2.25 (#147349)
* Bump aiotedee to 0.2.24

* bump to 25

* fix snapshot
2025-06-23 19:08:48 +02:00
epenet
e1d5d312b8 Migrate linear_garage_door to use runtime_data (#147351)
Migrate linear_garage_door to use runtime_data/HassKey
2025-06-23 19:08:32 +02:00
Andre Lengwenus
27565df86f Add PARALLEL_UPDATES constant to binary_sensor and sensor for LCN (#147369)
Add PARALLEL_UPDATES to binary_sensor and sensor
2025-06-23 19:08:18 +02:00
Petro31
7eaa60b17c Add trigger vacuum entities to template integration (#145534)
* Add trigger vacuum entities to template integration

* remove comment

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-06-23 18:10:44 +02:00
Foscam-wangzhengyu
7bb9936e81 Replace foscam dependency (#145766)
* Update Public Library

* Update conftest.py
2025-06-23 18:10:31 +02:00
J. Nick Koston
ccbc5ed65b Bump aioesphomeapi to 3.1.1 (#147345) 2025-06-23 17:50:56 +02:00
Ludovic BOUÉ
e98ec38ad8 Matter energy optimization opt-out attribute (#147096)
* ESAStateEnum

* Update snapshot

* Add test

* Update homeassistant/components/matter/strings.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Update homeassistant/components/matter/strings.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Update homeassistant/components/matter/icons.json

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

* Update homeassistant/components/matter/sensor.py

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

* Update homeassistant/components/matter/strings.json

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

* Update sensor.py

* Update snapshot

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-23 17:26:27 +02:00
Paulus Schoutsen
a11e274434 Address AI Task late comments (#147313) 2025-06-23 16:58:42 +02:00
Alena Bugrova
f8267b13d7 Add Altruist integration to Core (#146158)
* add altruist integration and tests

* requested fixes + remove some deprecated sensors

* add tests for unknown sensor and device attribute in config_flow

* use CONF_ in data_schema

* suggested fixes

* remove test_setup_entry_success

* create ZeroconfServiceInfo in tests

* use CONF_IP_ADDRESS in tests

* add unique id assert

* add integration to strict-typing, set unavailable if no sensor key in data, change device name

* use add_suggested_values_to_schema, mmHg for pressure

* update snapshots and config entry name in tests

* remove changes in devcontainer config

* fixture for create client error, typing in tests, remove "Altruist" from device name

* change native_value_fn return type

* change sensor.py docstring

* remove device id from entry data, fix docstrings

* remove checks for client and device attributes

* use less variables in tests

* change creating AltruistSensor, remove device from arguments

* Update homeassistant/components/altruist/sensor.py

* Update homeassistant/components/altruist/quality_scale.yaml

* Update homeassistant/components/altruist/quality_scale.yaml

* Update quality_scale.yaml

* hassfest run

* suggested fixes

* set suggested_unit_of_measurement for pressure

* use mock_config_entry, update snapshots

* abort if cant create client on zeroconf step

* move sensor names in translatin placeholders

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-06-23 16:57:51 +02:00
Sanjay Govind
3798e99ac8 Update bosch_alarm to platinum quality scale (#145027)
* update quality scale for bosch_alarm

* update quality scale

* update quality scale
2025-06-23 16:42:14 +02:00
LG-ThinQ-Integration
fa71c40ff5 Bump thinqconnect to 1.0.7 (#147073)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-06-23 16:12:28 +02:00
Petro31
8e6edf5e34 Add trigger based locks to template integration (#145528)
* Add trigger based locks to template integration

* fix comments
2025-06-23 16:11:15 +02:00
Petro31
c1e32aa9b7 Add trigger template alarm control panels (#145461)
* Add trigger template alarm control panels

* updates

* fix jumbled imports

* fix comments
2025-06-23 16:10:50 +02:00
Michael Heyman
b48ebeaa8a Tilt Pi integration (#139726)
* Create component via script.scaffold

* Create sensor definition

* Define coordinator

* Define config flow

* Refine sensor definition and add tests

* Refine coordinator after testing end to end

* Redefine sensor in a more idiomatic way

* Use entity (common-module)

* Follow config-flow conventions more closely

* Use custom ConfigEntry to conform to strict-typing

* Define API object instead of using aio directly

* Test before setup in init

* Add diagnostics

* Make some more quality changes

* Move scan interval to const

* Commit generated files

* Add quality scale

* feedback: Apply consistent language to Tilt Pi refs

* feedback: Remove empty manifest fields

* feedback: Use translations instead of hardcoded name

* feedback: Remove diagnostics

* feedback: Idiomatic and general improvements

* Use tilt-pi library

* feedback: Coordinator data returns dict

* feedback: Move client creation to coordinator

* feedback: Request only Tilt Pi URL from user

* Update homeassistant/components/tilt_pi/entity.py

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

* Update homeassistant/components/tilt_pi/sensor.py

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

* Update homeassistant/components/tilt_pi/entity.py

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

* feedback: Avoid redundant keyword arguments in function calls

* feedback: Remove unused models and variables

* feedback: Use icons.json

* feedback: Style best practices

* Update homeassistant/components/tilt_pi/entity.py

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

* Update tests/components/tilt_pi/test_config_flow.py

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

* feedback: Improve config flow unit tests

* feedback: Patch TiltPi client mock

* feedback: Mark entity-device-class as done

* feedback: Align quaity scale with current state

* feeback: Create brands file for Tilt brand

* feedback: Demonstrate recovery in config flow

* feedback: Test coordinator behavior via sensors

* Update homeassistant/components/tilt_pi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/tilt_pi/coordinator.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/tilt_pi/quality_scale.yaml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/tilt_pi/quality_scale.yaml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/tilt_pi/quality_scale.yaml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/tilt_pi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* feedback: Update tilt_pi quality scale

* feedback: Move const to coordinator

* feedback: Correct strings.json for incorrect and missing fields

* feedback: Use tiltpi package version published via CI

* Run ruff format manually

* Add missing string for invalid host

* Fix

* Fix

---------

Co-authored-by: Michael Heyman <michaelheyman@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-06-23 16:09:41 +02:00
Joost Lekkerkerker
0c08b4fc8b Add Matter protocol to Switchbot (#147356) 2025-06-23 16:06:19 +02:00
Ludovic BOUÉ
9ae3129f16 Matter battery storage (#147235)
* BatCapacity

* BatCapacity

* PowerSourceBatTimeRemaining

* BatChargeState

* Update strings.json

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* Review fixes

* Remove uneeded BatCapacity

* Update strings.json

* Update strings.json

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

* Update snapshots

* Update strings.json

* Update snapshot

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-23 16:04:40 +02:00
Joost Lekkerkerker
d38c880c45 Bump demetriek to 1.3.0 (#147350)
* Bump demetriek to 1.3.0

* Fix
2025-06-23 15:32:57 +02:00
epenet
7ec2e0c524 Move lyric coordinator to separate module (#147357) 2025-06-23 15:10:12 +02:00
Franck Nijhof
570315687f Bump version to 2025.6.2 2025-06-23 12:55:05 +00:00
Simone Chemelli
dfd42863bb Fix reload for Shelly devices with no script support (#147344) 2025-06-23 12:54:48 +00:00
J. Nick Koston
105618734c Bump aioesphomeapi to 33.0.0 (#147296)
fixes compat warning with protobuf 6.x

changelog: https://github.com/esphome/aioesphomeapi/compare/v32.2.4...v33.0.0

Not a breaking change for HA since we are already on protobuf 6
2025-06-23 12:54:47 +00:00
Michael Hansen
9d0701198f Bump aioesphomeapi to 32.2.4 (#147100)
Bump aioesphomeapi
2025-06-23 12:54:46 +00:00
Raphael Hehl
f9d5cb957f Bump uiprotect to version 7.14.1 (#147280) 2025-06-23 12:52:42 +00:00
Simone Chemelli
f7d9334445 Bump aioamazondevices to 3.1.14 (#147257) 2025-06-23 12:52:41 +00:00
Joakim Sørensen
60be2cb168 Handle the new JSON payload from traccar clients (#147254) 2025-06-23 12:52:40 +00:00
Robert Resch
ddf8e0de4b Bump deebot-client to 13.4.0 (#147221) 2025-06-23 12:50:27 +00:00
Hessel
7cc6e28916 Wallbox fix too many requests by API (#147197) 2025-06-23 12:50:26 +00:00
hahn-th
802fcab1c6 Bump homematicip to 2.0.6 (#147151) 2025-06-23 12:50:25 +00:00
Marc Mueller
3534396028 [ci] Bump cache key version (#147148) 2025-06-23 12:50:24 +00:00
Brett Adams
458aa3cc22 Fix Charge Cable binary sensor in Teslemetry (#147136) 2025-06-23 12:50:22 +00:00
Martin Hjelmare
39b64b0af3 Improve advanced Z-Wave battery discovery (#147127) 2025-06-23 12:50:21 +00:00
Raphael Hehl
c66d411826 Bump uiprotect to version 7.14.0 (#147102) 2025-06-23 12:50:20 +00:00
Simone Chemelli
0b383b7493 Bump aioamazondevices to 3.1.12 (#147055)
* Bump aioamazondevices to 3.1.10

* bump to 3.1.12
2025-06-23 12:50:19 +00:00
Simone Chemelli
1a3384e8b4 Bump aioamazondevices to 3.1.4 (#146883) 2025-06-23 12:50:18 +00:00
Josef Zweck
2c357265b0 Handle missing widget in lamarzocco (#147047) 2025-06-23 12:47:00 +00:00
Josef Zweck
c395c77cd3 Bump pylamarzocco to 2.0.9 (#147046) 2025-06-23 12:46:59 +00:00
puddly
57eceeea38 Bump ZHA to 0.0.60 (#147045) 2025-06-23 12:46:58 +00:00
J. Diego Rodríguez Royo
f75ba9172c Bump aiohomeconnect to 0.18.0 (#147044) 2025-06-23 12:46:57 +00:00
G Johansson
a15d722f0e Bump holidays lib to 0.75 (#147043) 2025-06-23 12:46:55 +00:00
Josef Zweck
a07531d0e7 Fix log in onedrive (#147029) 2025-06-23 12:46:54 +00:00
Martin Hjelmare
96d6cacae4 Disable Z-Wave idle notification button (#147026)
* Update test

* Disable Z-Wave idle notification button

* Update tests
2025-06-23 12:46:53 +00:00
Maciej Bieniek
766ddfaacc Fix Shelly entity names for gen1 sleeping devices (#147019) 2025-06-23 12:46:52 +00:00
Martin Hjelmare
5ea6cb3846 Disable Z-Wave indidator CC entities by default (#147018)
* Update discovery tests

* Disable Z-Wave indidator CC entities by default
2025-06-23 12:46:52 +00:00
Erik Montnemery
912c4804cb Fix incorrect use of zip in service.async_get_all_descriptions (#147013)
* Fix incorrect use of zip in service.async_get_all_descriptions

* Fix lint errors in test
2025-06-23 12:46:50 +00:00
Allen Porter
8f13520a1c Bump ical to 10.0.4 (#147005)
* Bump ical to 10.0.4

* Bump ical to 10.0.4 in google
2025-06-23 12:46:50 +00:00
Joost Lekkerkerker
d2d5b29e2b Bump pySmartThings to 3.2.5 (#146983) 2025-06-23 12:46:48 +00:00
Ravaka Razafimanantsoa
94a2642ce9 Switchbot Cloud: Fix device type filtering in sensor (#146945)
* Add Smart Lock Ultra support and fix device type filtering in sensor integration

* Adding fix in binary sensor

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-23 12:46:47 +00:00
Josef Zweck
d0060a2b21 Add debug log for update in onedrive (#146907) 2025-06-23 12:46:46 +00:00
starkillerOG
9b744e2fef Bump reolink-aio to 0.14.1 (#146903) 2025-06-23 12:46:45 +00:00
Ernst Klamer
d66dee5411 Bump bthome-ble to 3.13.1 (#146871) 2025-06-23 12:46:45 +00:00
Hessel
da97756157 Fix missing key for ecosmart in older Wallbox models (#146847)
* fix 146839, missing key

* added tests for this issue

* added tests for this issue

* added tests for this issue, formatting

* Prevent loading select on missing key

* Prevent loading select on missing key - formatting fixed

* Update homeassistant/components/wallbox/coordinator.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-23 12:46:43 +00:00
Andre Lengwenus
a7b2f800f8 Bump pypck to 0.8.8 (#146841) 2025-06-23 12:46:42 +00:00
starkillerOG
05831493e2 Bump motion blinds to 0.6.28 (#146831) 2025-06-23 12:46:42 +00:00
J. Nick Koston
8e685b1626 Bump aiohttp to 3.12.13 (#146830)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.12.12...v3.12.13

Likely does not affect us at all but just in case, tagging
2025-06-23 12:44:59 +00:00
Franck Nijhof
87ecf552dc Add unique ID support to Trend integration YAML configuration (#147346) 2025-06-23 14:44:58 +02:00
Simone Chemelli
a6e6b6db5a Bump aioamazondevices to 3.1.3 (#146828) 2025-06-23 12:42:08 +00:00
elmurato
d684360ebd Fix blocking open in Minecraft Server (#146820)
Fix blocking open by dnspython
2025-06-23 12:42:07 +00:00
Maciej Bieniek
01a133a2b8 Use Shelly main device area as suggested area for sub-devices (#146810) 2025-06-23 12:42:06 +00:00
Chris Talkington
b249ae408f Update rokuecp to 0.19.5 (#146788) 2025-06-23 12:42:05 +00:00
Andre Lengwenus
04b3227b9b Bump pypck to 0.8.7 (#146657) 2025-06-23 12:42:04 +00:00
starkillerOG
0a8d117129 Bump reolink-aio to 0.14.0 (#146566) 2025-06-23 12:42:03 +00:00
Raphael Hehl
83f26f7393 Bump uiprotect to 7.13.0 (#146410) 2025-06-23 12:42:02 +00:00
Raphael Hehl
9ed6f226c6 Bump uiprotect to 7.12.0 (#146337) 2025-06-23 12:42:00 +00:00
Brian Rogers
2ba9cb1510 Remove address info from Rachio calendar events (#145896)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-23 12:42:00 +00:00
Simone Chemelli
2e155831e6 Fix reload for Shelly devices with no script support (#147344) 2025-06-23 14:38:16 +02:00
Hessel
756b858840 Wallbox fix too many requests by API (#147197) 2025-06-23 14:10:50 +02:00
rrooggiieerr
b2520394f4 Lametric add configuration url (#147118)
* Set cofiguration URL to LaMetric device web interface

* Update LaMetric unit tests to accomodate fro configuration url
2025-06-23 13:47:52 +02:00
Maciej Bieniek
2a97b128c3 Bump IMGW-PIB backend library to version 1.1.0 (#147341) 2025-06-23 13:42:33 +02:00
epenet
d06da8c2da Migrate lcn to use runtime_data (#147333) 2025-06-23 13:41:53 +02:00
Erik Montnemery
2bfb09cb11 Improve test of WS command get_services cache handling (#147134) 2025-06-23 13:29:29 +02:00
Guido Schmitz
bf733fdec5 Remove config flow unique_id migration from devolo Home Control (#147327)
Remove config flow unique_id conversion from devolo Home Control
2025-06-23 13:16:57 +02:00
epenet
3b4eb7c749 Migrate lametric to use runtime_data (#147328)
* Migrate lametric to use runtime_data

* One more

* Drop unused hass_config
2025-06-23 13:15:08 +02:00
Artur Pragacz
1119716c32 Clean superfluous cloud deps from pyproject (#147223) 2025-06-23 13:15:01 +02:00
epenet
0ab23ccb51 Migrate landisgyr_heat_meter to use runtime_data (#147329) 2025-06-23 13:14:38 +02:00
Matrix
436fcb7e85 Fixed YoLink incorrect valve status (#147021)
* Fix valve status

* Fix as suggested
2025-06-23 13:14:18 +02:00
epenet
4d2f0f2de6 Migrate laundrify to use runtime_data (#147331)
* Migrate laundrify to use runtime_data

* Adjust test
2025-06-23 13:14:11 +02:00
Ludovic BOUÉ
82c1751f85 Matter dishwasher alarm (#146842)
* Update binary_sensor.py

* Update silabs_dishwasher.json

DishwasherAlarm

* DishwasherAlarm

* Update snapshot

* DishwasherAlarm

* test_dishwasher_alarm

* DishwasherAlarm

* Update silabs_dishwasher.json

* Update snapshot
2025-06-23 12:40:37 +02:00
epenet
a2785a86dc Migrate ld2410_ble to use runtime_data (#147335) 2025-06-23 12:13:10 +02:00
epenet
741e89383b Migrate leaone to use runtime_data (#147336) 2025-06-23 12:12:32 +02:00
epenet
f64533e9e0 Migrate led_ble to use runtime_data (#147337) 2025-06-23 12:11:03 +02:00
epenet
b13dd4e6ca Migrate lg_netcast to use runtime_data (#147338) 2025-06-23 12:09:51 +02:00
Noah Husby
35f310748e Add switch entity to Russound RIO (#147323)
* Add switch entity to Russound RIO

* Add switch snapshot
2025-06-23 10:42:36 +02:00
epenet
69d2cd0ac0 Migrate lastfm to use runtime_data (#147330) 2025-06-23 10:40:48 +02:00
Marc Mueller
10c573bbc3 Use PEP 695 TypeVar syntax for unifi (#147157) 2025-06-23 10:34:35 +02:00
Brian Rogers
93030ad48d Remove address info from Rachio calendar events (#145896)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-23 10:31:35 +02:00
Noah Husby
a7290f92cf Add number entity to Russound RIO (#147228)
* Add number entity to Russound RIO

* Fixes

* Fix tests

* Change entity name
2025-06-23 00:02:16 +02:00
Simone Chemelli
b47706f360 Add sensor platform to Alexa Devices (#146469)
* Add sensor platform to Amazon Devices

* fix merge after rename

* fix requirements

* cleanup

* Revert "cleanup"

This reverts commit f34892da8a.

* tests

* move logic in sensor entity description

* update tests

* apply review comment

* apply review comments
2025-06-23 00:01:15 +02:00
DeerMaximum
25968925e7 Use has_entity_name in NINA (#146755)
* Comply with has-entity-name rule.

* Fix tests
2025-06-22 23:57:33 +02:00
msw
fcba1183f8 Add water filter replacement and usage sensors to SmartThings (#147279)
* Add "Filter status" binary sensor for Samsung refrigerators

* Add "Water filter usage" sensor for Samsung refrigerators
2025-06-22 23:57:02 +02:00
Guido Schmitz
75946065f2 Combine executor calls in devolo Home Control (#147216) 2025-06-22 23:55:51 +02:00
Markus Adrario
3734c4e91d fix reconfig in case of no connection. (#147275) 2025-06-22 19:05:56 +02:00
Michael
7d421bf223 Fix regex patterns in foobot sensor tests (#147306) 2025-06-22 19:02:43 +02:00
Michael
41e53297c2 Add update entity to immich integration (#147273)
* add update entity

* remove unneccessary entity description

* rename update entity to version

* simplify test

* define static attribute outside of the constructor

* move min version check into coordinator
2025-06-22 16:54:48 +02:00
J. Nick Koston
d4e7667ea0 Bump aioesphomeapi to 33.0.0 (#147296)
fixes compat warning with protobuf 6.x

changelog: https://github.com/esphome/aioesphomeapi/compare/v32.2.4...v33.0.0

Not a breaking change for HA since we are already on protobuf 6
2025-06-22 10:24:16 -04:00
Ravaka Razafimanantsoa
daa4ddabfe Switchbot Cloud: Fix device type filtering in sensor (#146945)
* Add Smart Lock Ultra support and fix device type filtering in sensor integration

* Adding fix in binary sensor

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-22 14:12:09 +02:00
Michael
8cead00bc7 Bump aioimmich to 0.10.1 (#147293)
bump aioimmich to 0.10.1
2025-06-22 12:19:03 +02:00
G Johansson
db3090078b Remove deprecated support feature values in camera (#146988) 2025-06-22 09:31:16 +02:00
Ludovic BOUÉ
66e2fd997b Battery voltage translation key (#147238)
* Add translation_key

* Update strings.json

* Update snapshots

* Switch icon to DC

* Update snapshots
2025-06-22 09:27:44 +02:00
Raphael Hehl
a102eaf0cd Bump uiprotect to version 7.14.1 (#147280) 2025-06-22 02:14:26 +02:00
Shai Ungar
f3533dff44 Bump pyseventeentrack to 1.1.1 (#147253)
Update pyseventeentrack requirement to version 1.1.1
2025-06-21 22:50:53 +01:00
Simone Chemelli
c453eed32d Bump aioamazondevices to 3.1.14 (#147257) 2025-06-21 15:44:22 +02:00
Joakim Sørensen
79a9f34150 Handle the new JSON payload from traccar clients (#147254) 2025-06-21 11:53:17 +02:00
hanwg
7442f7af28 Fix Telegram bot parsing of inline keyboard (#146376)
* bug fix for inline keyboard

* update inline keyboard test

* Update tests/components/telegram_bot/test_telegram_bot.py

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

* revert last_message_id and updated tests

* removed TypeError test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-21 03:21:10 +02:00
Markus Adrario
2e5de732a7 Bump pyHomee to version 1.2.10 (#147248)
bump pyHomee to version 1.2.10
2025-06-21 00:32:14 +01:00
Michael Hansen
9bcd74c449 Change async_supports_streaming_input to an instance method (#147245) 2025-06-20 15:39:22 -05:00
Noah Husby
ace18e540b Bump aiorussound to 4.6.1 (#147233) 2025-06-20 21:59:59 +02:00
Michael Hansen
65f897793d Use string instead of boolean for voice event (#147244)
Use string instead of bool
2025-06-20 15:18:03 -04:00
Robert Resch
435c08685d Bump deebot-client to 13.4.0 (#147221) 2025-06-20 20:22:33 +02:00
J. Diego Rodríguez Royo
95f292c43d Bump aiohomeconnect to 0.18.1 (#147236) 2025-06-20 19:27:29 +02:00
Manu
9346c584c3 Add reconfigure flow to ntfy integration (#143743) 2025-06-20 18:42:47 +02:00
Michael Hansen
6738085391 Minor clean up missed in previous PR (#147229) 2025-06-20 10:54:11 -05:00
Markus Adrario
d9e5bad55e Use entity name in homee (#147142)
* add name to HomeeEntity

* review change
2025-06-20 16:55:48 +02:00
Maciej Bieniek
f7429f3431 Fix Shelly entity names for gen1 sleeping devices (#147019) 2025-06-20 15:19:39 +02:00
Petar Petrov
46aea5d9dc Bump zwave-js-server-python to 0.64.0 (#147176) 2025-06-20 14:59:54 +02:00
Paulus Schoutsen
33bde48c9c AI Task integration (#145128)
* Add AI Task integration

* Remove GenTextTaskType

* Add AI Task prefs

* Add action to LLM task

* Remove WS command

* Rename result to text for GenTextTaskResult

* Apply suggestions from code review

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

* Add supported feature for generate text

* Update const.py

Co-authored-by: HarvsG <11440490+HarvsG@users.noreply.github.com>

* Update homeassistant/components/ai_task/services.yaml

Co-authored-by: HarvsG <11440490+HarvsG@users.noreply.github.com>

* Use WS API to set preferences

* Simplify pref storage

* Simplify pref test

* Update homeassistant/components/ai_task/services.yaml

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

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: HarvsG <11440490+HarvsG@users.noreply.github.com>
2025-06-20 08:56:08 -04:00
Noah Husby
1b73acc025 Add sub-device support to Russound RIO (#146763) 2025-06-20 14:52:34 +02:00
Guido Schmitz
e28965770e Add translations for devolo Home Control exceptions (#147099)
* Add translations for devolo Home Control exceptions

* Adapt invalid_auth message

* Adapt connection_failed message
2025-06-20 14:31:16 +02:00
Kevin Stillhammer
f9d4bde0f6 Bump here-routing to 1.2.0 (#147204)
* Bump here-routing to 1.2.0

* Fix mypy typing errors

* Correct types for call assertion
2025-06-20 13:44:14 +02:00
Duco Sebel
a493bdc208 Implement battery group mode in HomeWizard (#146770)
* Implement battery group mode for HomeWizard P1

* Clean up test

* Disable 'entity_registry_enabled_default'

* Fix failing tests because of 'entity_registry_enabled_default'

* Proof entities are disabled by default

* Undo dev change

* Update homeassistant/components/homewizard/select.py

* Update homeassistant/components/homewizard/select.py

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

* Update homeassistant/components/homewizard/strings.json

* Apply suggestions from code review

* Update tests due to updated translations

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-20 13:19:45 +02:00
Markus Adrario
9ae9ad1e43 Improve test-coverage for homee locks (#147160)
test for unknown user
2025-06-20 12:28:49 +02:00
epenet
1b60ea8951 Migrate lutron to use runtime_data (#147198) 2025-06-20 12:26:07 +02:00
epenet
313eaff14e Migrate kaleidescape to use runtime_data (#147171)
* Migrate kaleidescape to use runtime_data

* Adjust tests
2025-06-20 12:25:57 +02:00
epenet
7dfd68f8c0 Migrate keenetic_ndms2 to use runtime_data (#147194)
* Migrate keenetic_ndms2 to use runtime_data

* Adjust tests
2025-06-20 12:23:59 +02:00
epenet
544fd2a4a6 Migrate lacrosse_view to use runtime_data (#147202) 2025-06-20 12:23:29 +02:00
epenet
cd51070219 Migrate kmtronic to use runtime_data (#147193) 2025-06-20 11:39:13 +02:00
Marc Mueller
3c91c78383 Use PEP 695 TypeVar syntax for ecovacs (#147153) 2025-06-20 10:41:25 +02:00
Brett Adams
96e0d1f5c6 Fix Charge Cable binary sensor in Teslemetry (#147136) 2025-06-20 10:39:43 +02:00
epenet
2859e7de9b Migrate kodi to use runtime_data (#147191) 2025-06-20 10:38:01 +02:00
Robert Resch
88683a318d Add support of taking a camera snapshot via go2rtc (#145205) 2025-06-20 10:34:43 +02:00
epenet
84e9422254 Move juicenet coordinator to separate module (#147168) 2025-06-20 10:33:17 +02:00
epenet
fde36d5034 Simplify update_listener in konnected (#147172) 2025-06-20 10:31:28 +02:00
Andre Lengwenus
8c1e43c07c Bump pypck to 0.8.9 (#147174) 2025-06-20 10:28:35 +02:00
epenet
05343392a7 Simplify update_listener in keenetic_ndms2 (#147173) 2025-06-20 10:27:47 +02:00
epenet
32314dbb13 Simplify update_listener in kmtronic (#147184) 2025-06-20 10:27:07 +02:00
epenet
8f661fc5cf Migrate kegtron to use runtime_data (#147177) 2025-06-20 10:26:53 +02:00
epenet
e315cb9859 Migrate kostal_plenticore to use runtime_data (#147188) 2025-06-20 10:25:08 +02:00
epenet
d0e77eb1e2 Migrate keymitt_ble to use runtime_data (#147179) 2025-06-20 10:24:56 +02:00
epenet
e23cac8bef Simplify remove listener in kodi (#147183) 2025-06-20 10:23:41 +02:00
epenet
973700542b Move kmtronic coordinator to separate module (#147182) 2025-06-20 10:19:19 +02:00
Krisjanis Lejejs
2e21493c19 Bump hass-nabucasa from 0.102.0 to 0.103.0 (#147186) 2025-06-20 10:18:03 +02:00
Markus Adrario
73bed96a0f remove unwanted attribute in homee sensor tests (#147158) 2025-06-20 08:11:20 +02:00
Markus Adrario
0a5d13f104 fix and improve cover tests for homee (#147164) 2025-06-20 08:10:44 +02:00
epenet
d16ec81727 Migrate justnimbus to use runtime_data (#147170) 2025-06-20 08:10:06 +02:00
Martin Hjelmare
11564e3df5 Fix Z-Wave device class endpoint discovery (#142171)
* Add test fixture and test for Glass 9 shutter

* Fix zwave_js device class discovery matcher

* Fall back to node device class

* Fix test_special_meters modifying node state

* Handle value added after node ready
2025-06-20 08:56:20 +03:00
Michael Hansen
341d9f15f0 Add ask_question action to Assist satellite (#145233)
* Add get_response to Assist satellite and ESPHome

* Rename get_response to ask_question

* Add possible answers to questions

* Add wildcard support and entity test

* Add ESPHome test

* Refactor to remove async_ask_question

* Use single entity_id instead of target

* Fix error message

* Remove ESPHome test

* Clean up

* Revert fix
2025-06-19 16:50:14 -05:00
Marc Mueller
2c13c70e12 Update ruff to 0.12.0 (#147106) 2025-06-19 20:39:09 +02:00
Marc Mueller
73d0d87705 Use PEP 695 TypeVar syntax for nextdns (#147155) 2025-06-19 20:26:07 +02:00
Marc Mueller
b8dfb2c850 Use PEP 695 TypeVar syntax for eheimdigital (#147154) 2025-06-19 20:25:45 +02:00
Marc Mueller
cf67a68454 Use PEP 695 TypeVar syntax for paperless_ngx (#147156) 2025-06-19 20:24:51 +02:00
karwosts
b003429912 Expose statistics selector, use for recorder.get_statistics (#147056)
* Expose statistics selector, use for `recorder.get_statistics`

* code review

* syntax formatting

* rerun ci
2025-06-19 20:04:28 +02:00
hahn-th
4aff032442 Bump homematicip to 2.0.6 (#147151) 2025-06-19 18:55:14 +02:00
Martin Hjelmare
da3d8a6332 Improve advanced Z-Wave battery discovery (#147127) 2025-06-19 18:56:47 +03:00
Marc Mueller
7a5c088149 [ci] Bump cache key version (#147148) 2025-06-19 17:42:30 +02:00
Norbert Rittel
31eec6f471 Add missing hyphen to "mains-powered" and "battery-powered" in zha (#147128)
Add missing hyphen to "mains-powered" and "battery-powered"
2025-06-19 14:36:40 +03:00
G Johansson
c602a0e279 Deprecated hass.http.register_static_path now raises error (#147039) 2025-06-19 13:14:42 +02:00
Marc Mueller
513045e489 Update pytest warnings filter (#147132) 2025-06-19 13:07:42 +02:00
Erik Montnemery
0db6520802 Add comment in helpers.llm.ActionTool explaining limitations (#147116) 2025-06-19 12:59:35 +02:00
Erik Montnemery
5bc2e271d2 Re-raise annotated_yaml.YAMLException as HomeAssistantError (#147129)
* Re-raise annotated_yaml.YAMLException as HomeAssistantError

* Fix comment
2025-06-19 12:52:01 +02:00
G Johansson
77dca49c75 Fix pylint plugin for vacuum entity (#146467)
* Clean out legacy VacuumEntity from pylint plugins

* Fix

* Fix pylint for vacuum

* More fixes

* Revert partial

* Add back state
2025-06-19 12:49:10 +02:00
Franck Nijhof
1baba8b880 Adjust feature request links in issue reporting (#147130) 2025-06-19 12:36:43 +02:00
Markus Adrario
875d81cab2 update pyHomee to v1.2.9 (#147094) 2025-06-19 12:04:59 +02:00
Raphael Hehl
956f726ef3 Bump uiprotect to version 7.14.0 (#147102) 2025-06-19 11:20:29 +02:00
epenet
fada81e1ce Bump ovoenergy to 2.0.1 (#147112) 2025-06-19 08:46:03 +02:00
Simon Lamon
6a16424bb4 Fix nightly build (#147110)
Update builder.yml
2025-06-19 08:20:19 +02:00
Abílio Costa
f90a740429 Use non-autospec mock for Reolink's binary_sensor, camera and diag tests (#147095) 2025-06-19 08:03:48 +02:00
Michael Hansen
3dba7e5bd2 Send intent progress events to ESPHome (#146966) 2025-06-18 22:12:37 -04:00
Erik Montnemery
8d8ff011fc Minor improvements of service helper (#147079) 2025-06-19 00:17:12 +01:00
Michael Hansen
6befd065a1 Bump aioesphomeapi to 32.2.4 (#147100)
Bump aioesphomeapi
2025-06-18 15:49:44 -05:00
Abílio Costa
9adf493acd Use non-autospec mock for Reolink's init tests (#146991) 2025-06-18 17:58:50 +01:00
Michael Hansen
a29d5fb56c tts_output is optional in run-start (#147092) 2025-06-18 12:08:53 -04:00
Petro31
bcb87cf812 Support variables, icon, and picture for all compatible template platforms (#145893)
* Fix template entity variables in blueprints

* add picture and icon tests

* add variable test for all platforms

* apply comments

* Update all test names
2025-06-18 16:49:46 +02:00
Jan Bouwhuis
d01758cea8 Ensure mqtt sensor has a valid native unit of measurement (#146722) 2025-06-18 15:48:38 +02:00
Joakim Sørensen
5487bfe1d9 Bump hass-nabucasa from 0.101.0 to 0.102.0 (#147087) 2025-06-18 15:47:01 +02:00
Simone Chemelli
fec65f40fc Bump aioamazondevices to 3.1.12 (#147055)
* Bump aioamazondevices to 3.1.10

* bump to 3.1.12
2025-06-18 10:20:51 +02:00
Guido Schmitz
596951ea9f Cleanup devolo Home Control tests (#147051) 2025-06-18 09:24:09 +02:00
Norbert Rittel
75d6b885cf Fix typo in state name references of homee (#146905)
Fix typo in state references

Replace wrong semicolons with colon.
2025-06-18 09:23:37 +02:00
Guido Schmitz
3fad76dfa1 Use missed typed ConfigEntry in devolo Home Control (#147049) 2025-06-18 09:22:37 +02:00
Pete Sage
43d8a151ab Remove internals from Sonos test_init.py (#147063)
* fix: test init

* fix: revert

* fix: revert

* fix: revert

* fix: revert

* fix: simplify
2025-06-18 09:21:21 +02:00
starkillerOG
07110e288d If no Reolink HTTP api available, do not set configuration_url (#146684)
* If no http api available, do not set configuration_url

* Add tests
2025-06-18 09:16:08 +02:00
Jan-Philipp Benecke
ba2aac4614 Bump aiowebdav2 to 0.4.6 (#147054) 2025-06-18 09:15:27 +02:00
msw
3449dae7a2 Capitalize "Ice Bites" and switch to "Cubed ice" (#147060) (#147061) 2025-06-18 09:14:45 +02:00
G Johansson
b8cd3f3635 Bump holidays lib to 0.75 (#147043) 2025-06-18 10:11:01 +03:00
Martin Hjelmare
be53ad5449 Disable Z-Wave idle notification button (#147026)
* Update test

* Disable Z-Wave idle notification button

* Update tests
2025-06-18 08:29:04 +03:00
J. Diego Rodríguez Royo
ffd940e07c Set quality scale at Home Connect manifest (#147050) 2025-06-17 21:42:40 +01:00
Josef Zweck
5e31b5ac4f Handle missing widget in lamarzocco (#147047) 2025-06-17 21:25:27 +02:00
puddly
81257f9d57 Bump ZHA to 0.0.60 (#147045) 2025-06-17 22:06:53 +03:00
Josef Zweck
ce1678719a Bump pylamarzocco to 2.0.9 (#147046) 2025-06-17 20:59:41 +02:00
Guido Schmitz
fc6844b3c9 Add _attr_has_entity_name to devolo Home Network device tracker platform (#146978)
* Add _attr_has_entity_name to devolo Home Network device tracker platform

* Set name

* Fix tests
2025-06-17 20:49:52 +02:00
J. Diego Rodríguez Royo
8e82e3aa3a Bump aiohomeconnect to 0.18.0 (#147044) 2025-06-17 20:48:09 +02:00
G Johansson
3bc68941e6 Remove not used constant in climate (#147041) 2025-06-17 20:43:16 +02:00
Josef Zweck
e69b38ab2c Fix log in onedrive (#147029) 2025-06-17 19:57:52 +02:00
Abílio Costa
ed9503324d Fix flaky Reolink webhook test (#147036) 2025-06-17 17:18:48 +01:00
Allen Porter
22a06a6c2e Bump ical to 10.0.4 (#147005)
* Bump ical to 10.0.4

* Bump ical to 10.0.4 in google
2025-06-17 07:06:51 -07:00
Michael Hansen
3b611b9b03 Add TTS response timeout for idle state (#146984)
* Add TTS response timeout for idle state

* Consider time spent sending TTS audio in timeout
2025-06-17 09:39:18 -04:00
Noah Husby
79cc3bffc6 Bump aiorussound to 4.6.0 (#147023) 2025-06-17 14:40:56 +02:00
Martin Hjelmare
5c455304a5 Disable Z-Wave indidator CC entities by default (#147018)
* Update discovery tests

* Disable Z-Wave indidator CC entities by default
2025-06-17 15:39:22 +03:00
Erik Montnemery
058f860be7 Fix incorrect use of zip in service.async_get_all_descriptions (#147013)
* Fix incorrect use of zip in service.async_get_all_descriptions

* Fix lint errors in test
2025-06-17 14:24:31 +02:00
Joost Lekkerkerker
ef319c966d Bump nextcord to 3.1.0 (#147020) 2025-06-17 14:11:55 +02:00
Robin Lintermann
adc4e9fdc1 Bump pysmarlaapi version to 0.9.0 (#146629)
Bump pysmarlaapi version
Fix default values of entities
2025-06-17 11:23:50 +02:00
Maciej Bieniek
40a00fb790 Address late review for NextDNS integration (#146980)
key instead of Key
2025-06-17 11:23:03 +02:00
G Johansson
0926b16095 Remove deprecated support feature values in cover (#146987) 2025-06-17 10:46:08 +02:00
G Johansson
308c89af4a Remove deprecated support feature values in media_player (#146986) 2025-06-17 10:33:41 +02:00
G Johansson
b0c2a47288 Remove deprecated support feature values in vacuum (#146982) 2025-06-17 10:32:58 +02:00
Joost Lekkerkerker
c446cce2cc Bump pySmartThings to 3.2.5 (#146983) 2025-06-16 22:44:14 +01:00
Abílio Costa
e02267ad89 Improve bootstrap file logging test (#146670) 2025-06-16 21:55:16 +01:00
Thomas55555
36381e6753 Bump aioautomower to 2025.6.0 (#146979) 2025-06-16 22:52:23 +02:00
Manu
6533562f4e Rename Xiaomi Miio integration to Xiaomi Home (#146555)
Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-16 21:51:54 +01:00
Ludovic BOUÉ
1bc6ea98ce Set Matter SolarPower tagList in fixture (#146837)
Update solar_power.json

Set tagList to [{"0":null,"1":15,"2":2,"3":"Solar"}]
2025-06-16 22:46:27 +02:00
elmurato
bab34b844b Fix blocking open in Minecraft Server (#146820)
Fix blocking open by dnspython
2025-06-16 22:46:11 +02:00
Etienne C.
ad3dac0373 Removed rounding of durations in Here Travel Time sensors (#146838)
* Removed rounding of durations

* Set duration sensors unit to seconds

* Updated Here Travel Time tests

* Update homeassistant/components/here_travel_time/sensor.py

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

* Update homeassistant/components/here_travel_time/sensor.py

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

* Updated Here Travel Time tests

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-16 22:20:01 +02:00
Maciej Bieniek
c5d93e5456 Fix translation key in NextDNS integration (#146976)
* Fix translation key

* Better wording
2025-06-16 21:37:19 +02:00
J. Diego Rodríguez Royo
ef9b46dce5 Record current IQS state for Home Connect (#131703)
* Home Connect quality scale

* Update current iqs

* Docs rules done

* parallel-updates rule

* Complete appropriate-polling's comment

* Apply suggestions

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-16 21:30:06 +02:00
Abílio Costa
6f3ceb83c2 Use non-autospec mock for Reolink's button tests (#146969) 2025-06-16 21:14:02 +02:00
Joost Lekkerkerker
589577a04c Add diagnostics support to Meater (#146967) 2025-06-16 20:17:30 +02:00
Joost Lekkerkerker
cb21bb6542 Make Meater cook state an enum (#146958) 2025-06-16 19:13:34 +01:00
mswilson
ad64139b8e Add switch for Samsung ice bites (and rename ice maker) (#146925)
* Add switch for ice bites (and rename ice maker)

Fixes: home-assistant/home-assistant.io#37826

* Fix tests

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-16 19:31:49 +02:00
Joost Lekkerkerker
9ae0cfc7e5 Create entities directly on setup in Meater (#146953)
* Don't wait an update when adding devices in Meater

* Fix
2025-06-16 18:23:20 +02:00
Joost Lekkerkerker
dffaf49eca Use runtime data in Meater (#146961) 2025-06-16 17:18:21 +02:00
Maciej Bieniek
4add783108 Use entity base class for NextDNS entities (#146934)
* Add entity module

* Add NextDnsEntityDescription class

* Remove NextDnsEntityDescription

* Create DeviceInfo in entity module

* Use property
2025-06-16 16:58:47 +02:00
Joost Lekkerkerker
421251308f Add Meater sensor tests (#146952) 2025-06-16 16:19:35 +02:00
Aviad Levy
cce878213f Add Telegram Bot message reactions (#146354) 2025-06-16 14:48:59 +01:00
Joost Lekkerkerker
664441eaec Improve Meater config flow tests (#146951) 2025-06-16 15:40:43 +02:00
Maciej Bieniek
d4686a3cce Add config flow data description for NextDNS (#146938)
* Add config flow data description

* Better wording
2025-06-16 15:28:25 +02:00
Hessel
6e92247799 Fix missing key for ecosmart in older Wallbox models (#146847)
* fix 146839, missing key

* added tests for this issue

* added tests for this issue

* added tests for this issue, formatting

* Prevent loading select on missing key

* Prevent loading select on missing key - formatting fixed

* Update homeassistant/components/wallbox/coordinator.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-16 15:15:17 +02:00
Etienne C.
f5355c833e Add duration device class in Here Travel Time sensors (#146804) 2025-06-16 15:14:43 +02:00
Joost Lekkerkerker
add9f4c5ab Move Meater coordinator to module (#146946)
* Move Meater coordinator to module

* Fix tests
2025-06-16 14:48:44 +02:00
starkillerOG
38973fe64a Add Reolink privacy mask switch (#146906) 2025-06-16 14:40:19 +02:00
epenet
d657964729 Simplify habitica service actions (#146746) 2025-06-16 14:37:38 +02:00
Nathan Spencer
25c408484c Set goalzero total run time sensor device class to duration (#146897) 2025-06-16 14:35:56 +02:00
Florian von Garrel
c335b5b37c Add verify ssl option to paperless-ngx integration (#146802)
* add verify ssl config option

* Refactoring

* Use .get() with default value instead of migration

* Reconfigure fix

* minor changes
2025-06-16 14:31:22 +02:00
Josef Zweck
61b00892c3 Add debug log for update in onedrive (#146907) 2025-06-16 14:17:36 +02:00
Maciej Bieniek
e47e2c92fe Change PARALLEL_UPDATES to 0 for read-only NextDNS platforms (#146939)
Change PARALLEL_UPDATES to 0 for read-only platforms
2025-06-16 14:11:48 +02:00
Duco Sebel
3283965b45 Re-enable v2 API support for HomeWizard P1 Meter (#146927) 2025-06-16 14:11:35 +02:00
epenet
4a9cbc79f2 Bump pysml to 0.1.5 (#146935) 2025-06-16 12:56:03 +01:00
epenet
33978ce59e Bump pyosoenergyapi to 1.1.5 (#146942) 2025-06-16 12:46:38 +01:00
epenet
d5262231a1 Bump pymysensors to 0.25.0 (#146941) 2025-06-16 13:37:39 +02:00
Brett Adams
b563f9078a Significantly improve Tesla Fleet config flow (#146794)
* Improved config flow

* Tests

* Improvements

* Dashboard url & tests

* Apply suggestions from code review

Co-authored-by: Norbert Rittel <norbert@rittel.de>

* revert oauth change

* fully restore oauth file

* remove CONF_DOMAIN

* Add pick_implementation back in

* Use try else

* Improve translation

* use CONF_DOMAIN

---------

Co-authored-by: Norbert Rittel <norbert@rittel.de>
2025-06-16 13:29:17 +02:00
epenet
e8667dfbe0 Bump nessclient to 1.2.0 (#146937) 2025-06-16 12:11:57 +01:00
dependabot[bot]
8d4f5d78ff Bump dawidd6/action-download-artifact from 10 to 11 (#146928)
Bumps [dawidd6/action-download-artifact](https://github.com/dawidd6/action-download-artifact) from 10 to 11.
- [Release notes](https://github.com/dawidd6/action-download-artifact/releases)
- [Commits](https://github.com/dawidd6/action-download-artifact/compare/v10...v11)

---
updated-dependencies:
- dependency-name: dawidd6/action-download-artifact
  dependency-version: '11'
  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>
2025-06-16 10:42:10 +02:00
mbo18
e354a850c9 Bump python-rflink to 0.0.67 (#146908)
* update python-rflink

* remove from FORBIDDEN_PACKAGE_EXCEPTIONS
2025-06-16 10:36:20 +02:00
Ernst Klamer
5ea026d369 Bump bthome-ble to 3.13.1 (#146871) 2025-06-16 11:29:00 +03:00
Brett Adams
ddfe17d0a4 Bump tesla-fleet-api to match Protobuf compatibility (#146918)
Bump for v1.2.0
2025-06-16 10:12:34 +02:00
Yuxin Wang
85aa7bef1e Add sensor categorizations for APCUPSD (#146863)
* Add sensor categorizations

* Fix snapshot problem

* Fix snapshot problem
2025-06-16 08:43:31 +02:00
Paulus Schoutsen
8498928e47 Move Google Gen AI fixture to allow reuse (#146921) 2025-06-15 23:00:27 -04:00
Paulus Schoutsen
fa21269f0d Simplify ChatLog dependencies (#146351) 2025-06-15 17:41:15 -04:00
starkillerOG
5f5869ffc6 Bump reolink-aio to 0.14.1 (#146903) 2025-06-15 20:53:32 +02:00
Nathan Spencer
7a2d99a450 Bump pylitterbot to 2024.2.0 (#146901) 2025-06-15 20:41:07 +02:00
Andre Lengwenus
6b669ce40c Bump pypck to 0.8.8 (#146841) 2025-06-15 19:32:13 +02:00
Markus Adrario
fdf4ed2aa5 Homee add button_state to event entities (#146860)
* use entityDescription

* Add new event and adapt tests

* change translation

* use references in strings
2025-06-15 18:17:52 +02:00
Simone Chemelli
1361d10cd7 Bump aioamazondevices to 3.1.4 (#146883) 2025-06-15 08:30:19 -07:00
Marc Mueller
8c7ba11493 Fix telegram_bot RuntimeWarning in tests (#146781) 2025-06-15 11:23:17 +03:00
Marc Mueller
29ce17abf4 Update eq3btsmart to 2.1.0 (#146335)
* Update eq3btsmart to 2.1.0

* Update import names

* Update register callbacks

* Updated data model

* Update Thermostat set value methods

* Update Thermostat init

* Thermostat status and device_data are always given

* Minor compatibility fixes

---------

Co-authored-by: Lennard Beers <l.beers@outlook.de>
2025-06-15 10:17:01 +02:00
Markus Lanthaler
c988d1ce36 Add support for Gemini's new TTS capabilities (#145872)
* Add support for Gemini TTS

* Add tests

* Use wave library and update a few comments
2025-06-14 22:21:04 -07:00
Paulus Schoutsen
ec02f6d010 Extract Google LLM base entity class (#146817) 2025-06-14 22:17:52 -07:00
Simone Chemelli
9f19c4250a Bump aioamazondevices to 3.1.3 (#146828) 2025-06-15 01:45:28 +03:00
Marc Mueller
d7b583ae51 Update pydantic to 2.11.7 (#146835) 2025-06-14 23:31:09 +02:00
Maciej Bieniek
152e5254e2 Use Shelly main device area as suggested area for sub-devices (#146810) 2025-06-14 13:53:51 -04:00
starkillerOG
3f8f7cd578 Bump motion blinds to 0.6.28 (#146831) 2025-06-14 19:01:41 +02:00
Chris Talkington
ed3fb62ffc Update rokuecp to 0.19.5 (#146788) 2025-06-14 18:49:16 +02:00
J. Nick Koston
1d14e1f018 Bump aiohttp to 3.12.13 (#146830)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.12.12...v3.12.13

Likely does not affect us at all but just in case, tagging
2025-06-14 17:13:20 +01:00
hahn-th
2ac8901a0d Improve code quality in async_setup_entry of switches in homematicip_cloud (#146816)
improve setup of switches
2025-06-14 17:26:08 +02:00
Joris Pelgröm
6204fd5363 Add polling to LetPot coordinator (#146823)
- Adds polling (update_interval) to the coordinator for the LetPot integration. Push remains the primary update mechanism for all entities, but:
   - Polling makes entities go unavailable when the device can't be reached, which otherwise won't happen.
   - Pump changes do not always trigger a status push by the device (not sure why), polling makes the integration catch up to reality.
2025-06-14 16:24:48 +02:00
Brett Adams
ce52ef64db Bump tesla-fleet-api to 1.1.3 (#146793) 2025-06-14 08:39:27 -05:00
Paulus Schoutsen
059c12798d Drop user prompt from LLMContext (#146787) 2025-06-13 22:01:39 -04:00
epenet
56aa809074 Simplify google_photos service actions (#146744) 2025-06-13 18:57:11 -07:00
Marc Mueller
3d2dca5f0c Adjust scripts for compatibility with Python 3.14 (#146774) 2025-06-13 21:54:25 -04:00
starkillerOG
cdb2b407be Add Reolink baby cry sensitivity (#146773)
* Add baby cry sensitivity

* Adjust tests
2025-06-14 00:11:13 +01:00
Ian
186ed451a9 Bump nextbus client to 2.3.0 (#146780) 2025-06-14 00:09:29 +01:00
Franck Nijhof
a75646d047 2025.6.1 (#146764) 2025-06-13 22:15:26 +02:00
Franck Nijhof
25d1480f2a Hotfix ruff warnings 2025-06-13 18:09:05 +00:00
hahn-th
2175754a1f Fix throttling issue in HomematicIP Cloud (#146683)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 17:57:39 +00:00
hahn-th
761a0877e6 Fix throttling issue in HomematicIP Cloud (#146683)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 19:57:03 +02:00
Franck Nijhof
df5f253146 Bump version to 2025.6.1 2025-06-13 17:20:24 +00:00
J. Nick Koston
a017d9415b Bump aiodns to 3.5.0 (#146758) 2025-06-13 17:20:09 +00:00
Marc Mueller
e89c3b1e92 Ignore lingering pycares shutdown thread (#146733) 2025-06-13 17:20:07 +00:00
Allen Porter
d4ffeedc87 Partial revert of update to remote calendar to fix issue where calendar does not update (#146702)
Partial revert
2025-06-13 17:20:06 +00:00
Allen Porter
cb74b2663f Revert scan interval change in local calendar (#146700) 2025-06-13 17:20:05 +00:00
tronikos
4ec711bd63 Fix opower to work with aiohttp>=3.12.7 by disabling cookie quoting (#146697)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 17:20:03 +00:00
Simone Chemelli
e81c8ce44d Bump aioamazondevices to 3.1.2 (#146690) 2025-06-13 17:20:02 +00:00
Simone Chemelli
c2cf348255 Filter speak notify entity for WHA devices in Alexa Devices (#146688) 2025-06-13 17:20:00 +00:00
Simon Lamon
e048a3da38 Bump linkplay to v0.2.12 (#146669) 2025-06-13 17:19:59 +00:00
Tsvi Mostovicz
7cf3116f5b Bump hdate to 1.1.2 (#146659) 2025-06-13 17:19:58 +00:00
epenet
5cd7ea06ad Bump wakeonlan to 3.1.0 (#146655)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 17:19:56 +00:00
Simone Chemelli
52c62b31fd Fix cookies with aiohttp >= 3.12.7 for Vodafone Station (#146647) 2025-06-13 17:19:55 +00:00
Paul Bottein
b2bb0aeb64 Update frontend to 20250531.3 (#146638) 2025-06-13 17:19:53 +00:00
Vasilis Valatsos
f0fc87e2b6 Drop HostKeyAlgorithms in aruba (#146619) 2025-06-13 17:19:52 +00:00
epenet
e7a88e99f9 Fix fan is_on status in xiaomi_miio (#146592) 2025-06-13 17:19:50 +00:00
Avi Miller
c3e3a36b4c Fix palette handling for LIFX Ceiling SKY effect (#146582)
Signed-off-by: Avi Miller <me@dje.li>
2025-06-13 17:19:49 +00:00
J. Nick Koston
91bc56b15c Bump aiodns to 3.5.0 (#146758) 2025-06-13 19:12:52 +02:00
Paulus Schoutsen
d1e2c62433 Remove unnecessary string formatting. (#146762) 2025-06-13 10:10:47 -07:00
Duco Sebel
524c16fbe1 Bumb python-homewizard-energy to 9.1.1 (#146723)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 18:59:28 +02:00
Marc Mueller
2fdd3d66bc Update pydantic to 2.11.6 (#146745) 2025-06-13 18:53:05 +02:00
Simone Chemelli
6a1e3b60ee Filter speak notify entity for WHA devices in Alexa Devices (#146688) 2025-06-13 18:49:18 +02:00
DeerMaximum
434cd95a66 Use ConfigEntry.runtime_data to store runtime data in NINA (#146754)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-06-13 18:47:21 +02:00
Vasilis Valatsos
1a5bc2c7e0 Drop HostKeyAlgorithms in aruba (#146619) 2025-06-13 18:47:07 +02:00
epenet
a66e9a1a2c Simplify reolink service actions (#146751) 2025-06-13 18:08:59 +02:00
Paulus Schoutsen
d880ce6bb4 Clean up Google conversation entity (#146736) 2025-06-13 10:30:14 -04:00
Paulus Schoutsen
c96023dcae Clean up Anthropic conversation entity (#146737) 2025-06-13 10:29:26 -04:00
Paulus Schoutsen
2f8ad4d5bf Clean up Ollama conversation entity (#146738) 2025-06-13 10:29:19 -04:00
Marc Mueller
038a848d53 Fix androidtv isfile patcher in tests (#146696) 2025-06-13 16:25:09 +02:00
epenet
ff17d79e73 Bump wakeonlan to 3.1.0 (#146655)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 08:58:44 -05:00
tronikos
a8201009f3 Fix opower to work with aiohttp>=3.12.7 by disabling cookie quoting (#146697)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-13 08:58:27 -05:00
Simone Chemelli
a349653282 Bump aioamazondevices to 3.1.2 (#146690) 2025-06-13 16:53:18 +03:00
epenet
355ee1178e Add callback decorator to async_setup_services (#146729) 2025-06-13 15:16:55 +02:00
Marc Mueller
30c5df3eaa Adjust core create_task tests with event_loop patch (#146699) 2025-06-13 15:16:28 +02:00
Marc Mueller
10874af19a Ignore lingering pycares shutdown thread (#146733) 2025-06-13 15:09:37 +02:00
Marc Mueller
704118b3d0 Remove unnecessary patch from toon tests (#146691) 2025-06-13 12:53:33 +02:00
Marc Mueller
7c575d0316 Fix asuswrt test patch (#146692) 2025-06-13 12:52:56 +02:00
starkillerOG
ab3f11bfe7 Add Reolink IR brightness entity (#146717) 2025-06-13 12:50:12 +02:00
Allen Porter
f0357539ad Add myself as a remote calendar code owner (#146703) 2025-06-13 12:48:24 +02:00
Allen Porter
e70a2dd257 Partial revert of update to remote calendar to fix issue where calendar does not update (#146702)
Partial revert
2025-06-13 12:47:56 +02:00
Allen Porter
5ef99a15a5 Revert scan interval change in local calendar (#146700) 2025-06-13 12:46:01 +02:00
Marc Mueller
6421973cd6 Remove unnecessary patch from panel_custom tests (#146695) 2025-06-13 10:46:26 +02:00
Marc Mueller
7201171eb5 Replace unnecessary pydantic import in matrix tests (#146693) 2025-06-13 10:45:54 +02:00
Abílio Costa
1fb438fa6c Add missing mock value to Reolink test (#146689) 2025-06-13 07:43:21 +02:00
starkillerOG
89ae68c5af Reolink check if camera and motion supported (#146666) 2025-06-12 22:19:46 +01:00
Paul Bottein
c78b66d5d5 Update frontend to 20250531.3 (#146638) 2025-06-12 16:52:09 -04:00
starkillerOG
d756cf91ce Add model_id to Reolink IPC camera (#146664) 2025-06-12 20:41:13 +01:00
Simon Lamon
8d13bf93ab Bump linkplay to v0.2.12 (#146669) 2025-06-12 20:38:42 +01:00
Franck Nijhof
e86e793842 Tweak non-English issue detection (#146636) 2025-06-12 13:38:20 -04:00
Tsvi Mostovicz
7e6bb021ce Bump hdate to 1.1.2 (#146659) 2025-06-12 18:29:47 +01:00
starkillerOG
680b70aa29 Reolink add diagnostics for baichuan (#146667)
* Add baichuan diagnostics

* adjust tests
2025-06-12 19:26:37 +02:00
Andre Lengwenus
8eebebc586 Bump pypck to 0.8.7 (#146657) 2025-06-12 17:36:50 +01:00
epenet
48e4624ba0 Add basic xiaomi_miio fan tests (#146593) 2025-06-12 17:33:45 +01:00
epenet
b0cf974b34 Simplify swiss public transport service actions (#146611) 2025-06-12 16:27:20 +02:00
Simone Chemelli
171f7c5f81 Fix cookies with aiohttp >= 3.12.7 for Vodafone Station (#146647) 2025-06-12 16:24:10 +02:00
Avi Miller
8807c530a9 Fix palette handling for LIFX Ceiling SKY effect (#146582)
Signed-off-by: Avi Miller <me@dje.li>
2025-06-12 14:32:04 +02:00
dependabot[bot]
28bd90aeb0 Bump actions/attest-build-provenance from 2.3.0 to 2.4.0 (#146594)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 14:18:04 +02:00
dependabot[bot]
af1eccabce Bump github/codeql-action from 3.28.19 to 3.29.0 (#146595)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-06-12 14:17:36 +02:00
Pete Sage
afc0a2789d Update Sonos to use SonosConfigEntry and runtime data (#145512)
* fix: initial

* fix: cleanup

* fix: cleanup

* fix: cleanup

* fix: SonosConfigEntry

* add config_entry.py

* fix: sonos_data to runtime_data

* fix: move to helpers.py
2025-06-12 14:05:51 +02:00
epenet
78ed1097c4 Simplify netgear_lte service actions (#146606) 2025-06-12 14:02:17 +02:00
epenet
2991726d35 Simplify screenlogic service actions (#146609) 2025-06-12 14:02:06 +02:00
epenet
c34596e54d Simplify seventeentrack service actions (#146610)
* Simplify seventeentrack service actions

* callback
2025-06-12 14:01:53 +02:00
epenet
74a92e2cd8 Simplify tado service actions (#146614) 2025-06-12 14:01:45 +02:00
Franck Nijhof
e19f178864 Make duplicate issue detection more strict (#146633) 2025-06-12 13:55:26 +02:00
epenet
9dfbccf0cb Improve type hints in xiaomi_miio fan (#146596) 2025-06-12 12:18:46 +02:00
epenet
64e503bc27 Fix fan is_on status in xiaomi_miio (#146592) 2025-06-12 12:18:23 +02:00
epenet
9d1e60cf7e Simplify mealie service actions (#146601) 2025-06-12 12:17:27 +02:00
epenet
4160521349 Simplify overseerr service actions (#146607) 2025-06-12 12:17:00 +02:00
epenet
14c30ef2df Mark async_setup_services as callback (#146617) 2025-06-12 11:34:56 +02:00
epenet
e14cf8a5b9 Remove deprecated service in plex (#146608)
* Remove deprecated service in plex

* Update json/yaml
2025-06-12 10:43:03 +02:00
epenet
30dbd5a900 Simplify synology_dsm service actions (#146612) 2025-06-12 10:42:40 +02:00
G Johansson
25e6eab008 Not valid hvac modes now fails in Climate (#145242)
* Not valid hvac modes now fails

* Fix some tests

* Some more

* More

* fix ruff

* HVAC

* Fritzbox

* Clean up

* Use dict[key]

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-12 07:15:07 +02:00
Thomas55555
8bf562b7b6 Add strings for pick implementation (#146557)
* Add string for pick implementation

* add missing
2025-06-12 06:02:26 +02:00
rappenze
7cb3c397b2 Support more dimmer devices in fibaro (#145864) 2025-06-11 23:55:38 +02:00
Christopher Boyd
f44f2522ef Add 'AdvancedToggle' to list of supported Lutron button types (#145676) 2025-06-11 23:54:22 +02:00
Denis Shulyaka
8c9acf5a4d Separate steps for openai_conversation options flow (#141533) 2025-06-11 23:54:01 +02:00
starkillerOG
e46e7f5a81 Bump reolink-aio to 0.14.0 (#146566) 2025-06-11 23:52:31 +02:00
Franck Nijhof
7aa6c8b941 2025.6.0 (#145650) 2025-06-11 21:28:56 +02:00
Calvin C
c01f521199 Bump hyperion-py to 0.7.6 and add switch for Audio Capture to Hyperion Integration (#145952)
Co-authored-by: ToniCipriani <ToniCipriani@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-06-11 21:20:22 +02:00
Franck Nijhof
54d8d71de5 Bump version to 2025.6.0 2025-06-11 19:14:05 +00:00
Robert Resch
fb4c77d43b Add aiofiles to pyproject.toml (#146561) 2025-06-11 18:39:53 +00:00
Robert Resch
4a15f12a0b Add aiofiles to pyproject.toml (#146561) 2025-06-11 20:32:38 +02:00
Franck Nijhof
cada2f84a9 Hotfix ruff warnings 2025-06-11 18:13:03 +00:00
Franck Nijhof
dc4627f413 Bump version to 2025.6.0b9 2025-06-11 18:07:37 +00:00
Joost Lekkerkerker
02524b8b9b Make issue creation check architecture instead of uname (#146537) 2025-06-11 18:06:36 +00:00
Ståle Storø Hauknes
8d24d775f1 Set suggested precision for Airthings sensors (#145966) 2025-06-11 20:04:03 +02:00
epenet
aca0e69081 Simplify service registration in recorder (#146237) 2025-06-11 20:01:13 +02:00
andreimoraru
60b8230ecc Bump yt-dlp to 2025.06.09 (#146553)
* Bumped yt-dlp to 2025.06.09

* fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-11 18:00:53 +00:00
Paul Bottein
75e6f23a82 Update frontend to 20250531.2 (#146551) 2025-06-11 18:00:52 +00:00
Petar Petrov
1f221712a2 Remove the Delete button on the ZwaveJS device page (#146544) 2025-06-11 18:00:51 +00:00
Paul Bottein
43797c03cc Update frontend to 20250531.1 (#146542) 2025-06-11 18:00:49 +00:00
Erik Montnemery
89637a618e Handle changes to source entities in generic_thermostat helper (#146541) 2025-06-11 18:00:48 +00:00
Erik Montnemery
fd605e0abe Handle changes to source entities in generic_hygrostat helper (#146538) 2025-06-11 17:58:52 +00:00
G Johansson
f4e5036275 New helper for templating args in command_line (#145899) 2025-06-11 19:58:28 +02:00
rappenze
59aba339d8 Add support for more cover devices in Fibaro (#146486) 2025-06-11 19:56:38 +02:00
Franck Nijhof
e73bcc73b5 Bump version to 2025.6.0b8 2025-06-11 17:26:20 +00:00
Erik Montnemery
c02707a90f Handle changes to source entity in statistics helper (#146523) 2025-06-11 17:25:57 +00:00
Erik Montnemery
232f853d68 Simplify helper_integration.async_handle_source_entity_changes (#146516) 2025-06-11 17:22:28 +00:00
Tsvi Mostovicz
91e296a0c8 Bump hdate to 1.1.1 (#146536) 2025-06-11 16:58:43 +00:00
Simon Lamon
bcedb06862 Bump linkplay to v0.2.11 (#146530) 2025-06-11 16:56:36 +00:00
Erik Montnemery
2ab32220ed Handle changes to source entity in utility_meter (#146526) 2025-06-11 16:56:35 +00:00
Erik Montnemery
273ccb3929 Handle changes to source entity in trend helper (#146525) 2025-06-11 16:56:33 +00:00
Erik Montnemery
caaa4d5f35 Handle changes to source entity in threshold helper (#146524) 2025-06-11 16:56:32 +00:00
Erik Montnemery
0cf1fd1d41 Handle changes to source entity in integration helper (#146522) 2025-06-11 16:54:26 +00:00
Erik Montnemery
5ee39df330 Handle changes to source entity in history_stats helper (#146521) 2025-06-11 16:54:25 +00:00
Martin Hjelmare
cc972d20f6 Remove Z-Wave useless reconfigure options (#146520)
* Remove emulate hardware option

* Remove log level option
2025-06-11 16:54:24 +00:00
Erik Montnemery
e0f32cfd54 Allow removing entity registry items twice (#146519) 2025-06-11 16:54:22 +00:00
Jesse Hills
6384c800c3 Fix solax state class of Today's Generated Energy (#146492) 2025-06-11 16:50:15 +00:00
tronikos
82de2ed8e1 Rename Amazon Devices to Alexa Devices (#146362)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-11 16:50:14 +00:00
Aidan Timson
af72d1854f Add guide for Honeywell Lyric application credentials setup (#146281)
* Add guide for Honeywell Lyric application credentials setup

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-11 16:50:13 +00:00
Shay Levy
0cff7cbccd Remove stale Shelly BLU TRV devices (#145994)
* Remove stale Shelly BLU TRV devices

* Add test

* Remove config entry from device
2025-06-11 16:50:11 +00:00
Kevin Stillhammer
6f4e16eed1 Fix stale options in here_travel_time (#145911) 2025-06-11 16:50:10 +00:00
Petro31
66be2f9240 Fix delay_on and delay_off restarting when a new trigger occurs during the delay (#145050) 2025-06-11 16:50:09 +00:00
Joost Lekkerkerker
864e440685 Make issue creation check architecture instead of uname (#146537) 2025-06-11 18:39:46 +02:00
tronikos
2f6fcb5801 Rename Amazon Devices to Alexa Devices (#146362)
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-11 18:35:26 +02:00
G Johansson
bdb6124aa3 Remove previously deprecated cached_property (#146478)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-06-11 18:22:11 +02:00
epenet
613e2fd4b3 Simplify google_mail service actions (#146511) 2025-06-11 18:19:57 +02:00
Kevin Stillhammer
0e71ef3861 Fix stale options in here_travel_time (#145911) 2025-06-11 18:17:11 +02:00
andreimoraru
5076c10959 Bump yt-dlp to 2025.06.09 (#146553)
* Bumped yt-dlp to 2025.06.09

* fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-11 17:53:25 +02:00
Shay Levy
ab2fc4e9a6 Remove stale Shelly BLU TRV devices (#145994)
* Remove stale Shelly BLU TRV devices

* Add test

* Remove config entry from device
2025-06-11 17:39:49 +02:00
Erik Montnemery
e39edcc234 Remove unused attribute EntityInfo.custom_component (#146550) 2025-06-11 17:27:17 +02:00
Paul Bottein
54c8e59bcd Update frontend to 20250531.2 (#146551) 2025-06-11 17:12:34 +02:00
Franck Nijhof
c806555879 Add non-English issue detection using GitHub AI models (#146547) 2025-06-11 16:52:35 +02:00
G Johansson
4836930cb1 Remove previously deprecated StrEnum backport (#146477) 2025-06-11 16:41:40 +02:00
epenet
4a8faad62e Simplify fully_kiosk service actions (#146509) 2025-06-11 16:34:48 +02:00
peteS-UK
ba69301dda Move available property to entity.py for Squeezebox (#146531) 2025-06-11 16:34:08 +02:00
Aidan Timson
724c349194 Add guide for Honeywell Lyric application credentials setup (#146281)
* Add guide for Honeywell Lyric application credentials setup

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-06-11 16:24:37 +02:00
epenet
9346f8d658 Simplify blink service actions (#146508) 2025-06-11 16:21:42 +02:00
hanwg
0af41d9cb1 Bug fix for Telegram bot integration: Handle plain text parse_mode (#146535) 2025-06-11 16:19:22 +02:00
Marc Mueller
b02c0419b4 Update types packages (#146546) 2025-06-11 16:15:54 +02:00
Marc Mueller
0bc6408137 Update pytest-unordered to 0.7.0 (#146545) 2025-06-11 15:01:27 +01:00
Tsvi Mostovicz
3f1d2b1b71 Bump hdate to 1.1.1 (#146536) 2025-06-11 15:46:52 +02:00
Paul Bottein
bcfdee23e3 Update frontend to 20250531.1 (#146542) 2025-06-11 15:46:19 +02:00
Franck Nijhof
4a50f4ffc1 Add duplicate issue detection using GitHub AI models (#146487) 2025-06-11 15:42:37 +02:00
Petar Petrov
9ee45518e9 Remove the Delete button on the ZwaveJS device page (#146544) 2025-06-11 15:39:02 +02:00
Erik Montnemery
09a5ac5979 Handle changes to source entities in generic_thermostat helper (#146541) 2025-06-11 15:26:52 +02:00
Erik Montnemery
296b5c627a Handle changes to source entities in generic_hygrostat helper (#146538) 2025-06-11 15:18:04 +02:00
Erik Montnemery
120338d510 Handle changes to source entity in utility_meter (#146526) 2025-06-11 15:17:52 +02:00
Erik Montnemery
9b4ab60adb Handle changes to source entity in trend helper (#146525) 2025-06-11 15:17:42 +02:00
Erik Montnemery
51b0642789 Handle changes to source entity in threshold helper (#146524) 2025-06-11 15:17:34 +02:00
Erik Montnemery
cb9c213496 Handle changes to source entity in statistics helper (#146523) 2025-06-11 15:17:19 +02:00
Erik Montnemery
cb42d99c28 Handle changes to source entity in integration helper (#146522) 2025-06-11 15:17:08 +02:00
Erik Montnemery
cf5cdf3cdb Handle changes to source entity in history_stats helper (#146521) 2025-06-11 15:16:51 +02:00
epenet
acf31f609a Adjust urllib3 constraint (#145485)
* Remove urllib3 upper bound constraint

* Disable neato

* Disable neato tests

* Simplify test ignore

* Add to PACKAGE_CHECK_VERSION_RANGE

* Adjust

* Adjust

* Force 2.0
2025-06-11 15:11:58 +02:00
Simon Lamon
42377ff7ac Bump linkplay to v0.2.11 (#146530) 2025-06-11 15:10:00 +02:00
Petro31
3e0aab55a8 Fix delay_on and delay_off restarting when a new trigger occurs during the delay (#145050) 2025-06-11 14:08:10 +01:00
Erik Montnemery
0362012bb3 Correct misleading comment for const.ATTR_RESTORED (#146528) 2025-06-11 13:29:16 +02:00
Jesse Hills
ba5d0f2723 Fix solax state class of Today's Generated Energy (#146492) 2025-06-11 12:46:40 +02:00
Erik Montnemery
167e688139 Allow removing entity registry items twice (#146519) 2025-06-11 12:42:09 +02:00
Martin Hjelmare
c49d95b230 Remove Z-Wave useless reconfigure options (#146520)
* Remove emulate hardware option

* Remove log level option
2025-06-11 13:31:07 +03:00
Erik Montnemery
c4c8f88765 Simplify helper_integration.async_handle_source_entity_changes (#146516) 2025-06-11 12:27:51 +02:00
epenet
f908e0cf4d Bump pybotvac to 0.0.28 (#146513) 2025-06-11 12:19:54 +02:00
epenet
29c720a66d Bump weheat to 2025.6.10 (#146515) 2025-06-11 12:19:06 +02:00
epenet
4e628dbd9f Bump sensorpush-api to 2.1.3 (#146514) 2025-06-11 12:18:55 +02:00
Franck Nijhof
b6c8718ae4 Bump version to 2025.6.0b7 2025-06-11 10:17:18 +00:00
Åke Strandberg
c8b70cc0fb Graceful handling of missing datapoint in myuplink (#146517) 2025-06-11 10:17:09 +00:00
Robert Resch
6d1f621e55 Bump deebot-client to 13.3.0 (#146507) 2025-06-11 10:17:08 +00:00
Erik Montnemery
671a33b31c Do not remove derivative config entry when input sensor is removed (#146506)
* Do not remove derivative config entry when input sensor is removed

* Add comments

* Update homeassistant/helpers/helper_integration.py

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

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-11 10:17:06 +00:00
Michael Hansen
7afc469306 Bump intents to 2025.6.10 (#146491) 2025-06-11 10:17:05 +00:00
Felix Schneider
8fd52248b7 Bump apsystems to 2.7.0 (#146485) 2025-06-11 10:17:04 +00:00
Joost Lekkerkerker
69ba2aab11 Remove DHCP discovery from Amazon Devices (#146476) 2025-06-11 10:17:02 +00:00
Tsvi Mostovicz
f1df6dcda5 Fix Jewish calendar not updating (#146465) 2025-06-11 10:17:01 +00:00
Joost Lekkerkerker
43e16bb913 Split deprecated system issue in 2 places (#146453) 2025-06-11 10:15:11 +00:00
Petro31
4147211f94 Add color_temp_kelvin to set_temperature action variables (#146448) 2025-06-11 10:10:40 +00:00
Joost Lekkerkerker
63e49c5d3c Explain Nest setup (#146217) 2025-06-11 10:10:39 +00:00
hahn-th
35580c0849 Bump homematicip to 2.0.4 (#144096)
* Bump to 2.0.2 with all necessary changes

* bump to prerelease

* add addiional tests

* Bump to homematicip 2.0.3

* do not delete device

* Setup BRAND_SWITCH_MEASURING as light

* bump to 2.0.4

* refactor test_remove_obsolete_entities

* move test

* use const from homematicip lib
2025-06-11 10:10:38 +00:00
Petro31
37d904dfdc Add color_temp_kelvin to set_temperature action variables (#146448) 2025-06-11 11:58:07 +02:00
Åke Strandberg
a53997dfc7 Graceful handling of missing datapoint in myuplink (#146517) 2025-06-11 11:55:28 +02:00
Joost Lekkerkerker
dd216ac15b Split deprecated system issue in 2 places (#146453) 2025-06-11 11:35:14 +02:00
Erik Montnemery
2afdec4711 Do not remove derivative config entry when input sensor is removed (#146506)
* Do not remove derivative config entry when input sensor is removed

* Add comments

* Update homeassistant/helpers/helper_integration.py

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

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-11 11:19:44 +02:00
karwosts
5b4c309170 Create a deprecation/repair for sensor.sun_solar_rising (#146462)
* Create a deprecation/repair for `sensor.sun_solar_rising`

* test

* Update homeassistant/components/sun/strings.json
2025-06-11 11:02:14 +02:00
hanwg
8deec55204 Add service validation for send file for Telegram bot integration (#146192)
* added service validation for send file

* update strings

* Apply suggestions from code review

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

* updated exception in tests

* removed TypeError since it is not thrown

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-11 10:59:08 +02:00
Robert Resch
f0a2c4e30a Bump deebot-client to 13.3.0 (#146507) 2025-06-11 10:49:38 +02:00
Joost Lekkerkerker
e9a71a8d7f Explain Nest setup (#146217) 2025-06-11 10:31:08 +02:00
Felix Schneider
1462366764 Bump apsystems to 2.7.0 (#146485) 2025-06-11 10:26:01 +02:00
Artur Pragacz
33528eb6bd Update pywizlight to 0.6.3 (#146490) 2025-06-11 08:26:55 +02:00
epenet
776a014ab0 Drop deprecated add_event service in google (#146432) 2025-06-10 20:35:17 -07:00
Michael Hansen
ea202eff66 Bump intents to 2025.6.10 (#146491) 2025-06-10 18:16:18 -05:00
Tsvi Mostovicz
b7404f5a05 Fix Jewish calendar not updating (#146465) 2025-06-10 21:25:47 +02:00
Joost Lekkerkerker
d015dff855 Remove DHCP discovery from Amazon Devices (#146476) 2025-06-10 20:55:00 +02:00
Joost Lekkerkerker
2f1977fa0c Fix typo in hassio (#146474) 2025-06-10 20:52:43 +02:00
Erik Montnemery
26fe23eb5c Improve support for trigger platforms with multiple triggers (#144827)
* Improve support for trigger platforms with multiple triggers

* Adjust zwave_js

* Refactor the Trigger class

* Silence mypy

* Adjust

* Revert "Adjust"

This reverts commit 17b3d16a26.

* Revert "Silence mypy"

This reverts commit c2a011b16f.

* Reapply "Adjust"

This reverts commit c64ba202dd.

* Apply suggestions from code review

* Revert "Apply suggestions from code review"

This reverts commit 0314955c5a.
2025-06-10 20:48:51 +02:00
hahn-th
dbfecf99dc Bump homematicip to 2.0.4 (#144096)
* Bump to 2.0.2 with all necessary changes

* bump to prerelease

* add addiional tests

* Bump to homematicip 2.0.3

* do not delete device

* Setup BRAND_SWITCH_MEASURING as light

* bump to 2.0.4

* refactor test_remove_obsolete_entities

* move test

* use const from homematicip lib
2025-06-10 20:44:06 +02:00
hanwg
4d28992f2b Add Telegram bot webhooks tests (#146436)
* add tests for webhooks

* added asserts
2025-06-10 19:58:15 +02:00
Franck Nijhof
8949a595fe Bump version to 2025.6.0b6 2025-06-10 17:45:26 +00:00
Markus Adrario
7a428a66bd Add support for HeatIt Thermostat TF056 to homee (#145515)
* adapt climate for Heatit TF 056

* add sensors & numbers for Heatit TF056

* Add select for Heatit TF056

* Adapt climat tests for changes

* Fix sentence case

* fix review comments

* Update homeassistant/components/homee/climate.py

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

* fix tests

* update diagnostics snapshot for this change

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-06-10 19:41:13 +02:00
Simone Chemelli
bf8ef0a767 Fix EntityCategory for binary_sensor platform in Amazon Devices (#146472)
* Fix EntityCategory for  binary_sensor platform in Amazon Devices

* update snapshots
2025-06-10 17:41:02 +00:00
Simone Chemelli
39962a3f48 Avoid closing shared aiohttp session in Vodafone Station (#146471) 2025-06-10 17:41:00 +00:00
G Johansson
4964621014 Fix incorrect categories handling in holiday (#146470) 2025-06-10 17:40:59 +00:00
Joost Lekkerkerker
18e1a26da1 Catch exception before retrying in AirGradient (#146460) 2025-06-10 17:40:58 +00:00
Joost Lekkerkerker
1d91ca5716 Bump pySmartThings to 3.2.4 (#146459) 2025-06-10 17:40:57 +00:00
Luca Schröder
1040646610 Update caldav to 1.6.0 (#146456)
Fixes #140798
2025-06-10 17:40:56 +00:00
Robert Resch
fcd71931e7 Update wording deprecated system package integration repair (#146450)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-10 17:40:55 +00:00
Joost Lekkerkerker
bdbb74aff1 Return expected state in SmartThings water heater (#146449) 2025-06-10 17:40:53 +00:00
Marc Mueller
6f4029983a Update requests to 2.32.4 (#146445) 2025-06-10 17:40:52 +00:00
J. Diego Rodríguez Royo
b2d25b1883 Improvements for Home Connect application credentials string (#146443) 2025-06-10 17:40:51 +00:00
J. Diego Rodríguez Royo
ba19d4f043 Fix typo at application credentials string at Home Connect integration (#146442)
Fix typos
2025-06-10 17:40:50 +00:00
tronikos
b222fe5afa Handle grpc errors in Google Assistant SDK (#146438) 2025-06-10 17:40:49 +00:00
Franck Nijhof
f945defa2b Reformat Dockerfile to reduce merge conflicts (#146435) 2025-06-10 17:38:37 +00:00
G Johansson
481bf2694b Fix incorrect categories handling in holiday (#146470) 2025-06-10 19:28:48 +02:00
Simone Chemelli
5cc9cc3c99 Fix EntityCategory for binary_sensor platform in Amazon Devices (#146472)
* Fix EntityCategory for  binary_sensor platform in Amazon Devices

* update snapshots
2025-06-10 19:28:37 +02:00
Whitney Young
87ce683b39 Add tests for initial state of OpenUV sensors (#146464)
This is a followup to #146408 to add test coverage.
2025-06-10 19:28:29 +02:00
J. Nick Koston
4f0e4bc1ca Bump aiohttp to 3.12.12 (#146426) 2025-06-10 17:28:13 +00:00
J. Nick Koston
41abc8404d Bump yarl to 1.20.1 (#146424) 2025-06-10 17:26:03 +00:00
Jamin
2b08c4c344 Check hangup error in voip (#146423)
Check hangup error

Prevent an error where the call end future may have already been set
when a hangup is detected.
2025-06-10 17:26:02 +00:00
J. Nick Koston
97d91ddddb Bump propcache to 0.3.2 (#146418) 2025-06-10 17:26:01 +00:00
Whitney Young
ec30b12fd1 Fix initial state of UV protection window (#146408)
The `binary_sensor` is created when the config entry is loaded after the
`async_config_entry_first_refresh` has completed (during the forward of
setup to platforms). Therefore, the update coordinator will already have
data and will not trigger the invocation of
`_handle_coordinator_update`.

Fixing this just means performing the same update at initialization.
2025-06-10 17:25:59 +00:00
Erik Montnemery
9997fc11b1 Handle changes to source entity in derivative helper (#146407)
* Handle changes to source entity in derivative helper

* Rename helper function, improve docstring

* Add tests

* Improve derivative tests

* Deduplicate tests

* Rename helpers/helper_entity.py to helpers/helper_integration.py

* Rename tests
2025-06-10 17:25:59 +00:00
wittypluck
c6ff0e6492 Fix CO concentration unit in OpenWeatherMap (#146403) 2025-06-10 17:25:58 +00:00
G Johansson
a3220ecae6 Bump pynordpool to 0.3.0 (#146396) 2025-06-10 17:25:57 +00:00
Erik Montnemery
218864d08c Update switch_as_x to handle wrapped switch moved to another device (#146387)
* Update switch_as_x to handle wrapped switch moved to another device

* Reload switch_as_x config entry after updating device

* Make sure the switch_as_x entity is not removed
2025-06-10 17:25:56 +00:00
Erik Montnemery
3d0d70ece6 Fix switch_as_x entity_id tracking (#146386) 2025-06-10 17:25:55 +00:00
Simone Chemelli
f629731930 Bump aioamazondevices to 3.0.6 (#146385) 2025-06-10 17:25:53 +00:00
Simone Chemelli
936d56f9af Avoid closing shared aiohttp session in Vodafone Station (#146471) 2025-06-10 19:18:19 +02:00
J. Nick Koston
e7a7b2417b Bump aioesphomeapi to 32.2.1 (#146375) 2025-06-10 17:03:20 +00:00
Michael Davie
0b24a9abc3 Bump env-canada to v0.11.2 (#146371) 2025-06-10 17:03:19 +00:00
David Knowles
ca77b5210f Bump pydrawise to 2025.6.0 (#146369) 2025-06-10 17:03:18 +00:00
Simon Lamon
0874f1c350 Bump python-linkplay to v0.2.10 (#146359) 2025-06-10 17:03:17 +00:00
Jan-Philipp Benecke
d89b99f42b Improve error logging in trend binary sensor (#146358) 2025-06-10 17:03:16 +00:00
J. Diego Rodríguez Royo
7bd6ec68a8 Explain Home Connect setup (#146356)
* Explain Home Connect setup

* Avoid using "we"

* Fix login spelling

* Fix signup spelling
2025-06-10 17:03:15 +00:00
J. Nick Koston
bfe2eeb833 Shift ESPHome log parsing to the library (#146349) 2025-06-10 17:03:14 +00:00
Klaas Schoute
e97ab1fe3c Change interval for Powerfox integration (#146348) 2025-06-10 17:03:13 +00:00
J. Nick Koston
b3ee2a8885 Bump aioesphomeapi to 32.2.0 (#146344) 2025-06-10 17:03:12 +00:00
Michael
80b09e3212 Bump py-synologydsm-api to 2.7.3 (#146338)
bump py-synologydsm-api to 2.7.3
2025-06-10 17:03:11 +00:00
tronikos
0eb3714abc Allow different manufacturer than Amazon in Amazon Devices (#146333) 2025-06-10 17:03:10 +00:00
Sanjay Govind
7991977443 Fix bosch alarm areas not correctly subscribing to alarms (#146322)
* Fix bosch alarm areas not correctly subscribing to alarms

* add test
2025-06-10 17:03:09 +00:00
J. Nick Koston
5e5431c9f9 Use entity unique id for ESPHome media player formats (#146318) 2025-06-10 17:03:08 +00:00
Simon Lamon
1fc05d1a30 Do not probe linkplay device if another config entry already contains the host (#146305)
* Do not probe if config entry already contains the host

* Add unit test

* Use common fixture
2025-06-10 17:03:07 +00:00
J. Nick Koston
21833e7c31 Bump aiohttp to 3.12.11 (#146298) 2025-06-10 16:59:07 +00:00
G Johansson
79daeb23a9 Bump holidays to 0.74 (#146290) 2025-06-10 16:55:33 +00:00
J. Nick Koston
761c2578fb Bump aiohttp-fast-zlib to 0.3.0 (#146285)
changelog: https://github.com/Bluetooth-Devices/aiohttp-fast-zlib/compare/v0.2.3...v0.3.0

proper aiohttp 3.12 support
2025-06-10 16:48:33 +00:00
Brett Adams
4d3145e559 Add missing write state to Teslemetry (#146267) 2025-06-10 16:47:33 +00:00
Michael
91e29a3bf1 Bump aioimmich to 0.9.1 (#146222)
bump aioimmich to 0.9.1
2025-06-10 16:47:32 +00:00
Joost Lekkerkerker
f6a4486c65 Explain Withings setup (#146216) 2025-06-10 16:47:31 +00:00
Joost Lekkerkerker
fc8b512931 Remove zeroconf discovery from Spotify (#146213) 2025-06-10 16:47:30 +00:00
Brett Adams
e5dd15da82 Fix Export Rule Select Entity in Tessie (#146203)
Fix TessieExportRuleSelectEntity
2025-06-10 16:47:29 +00:00
Brett Adams
e4140d71ab Prevent energy history returning zero in Teslemetry (#146202) 2025-06-10 16:47:28 +00:00
J. Nick Koston
8312780c47 Bump aiohttp to 3.12.9 (#146178) 2025-06-10 16:44:14 +00:00
Raphael Hehl
5accc3dec2 Bump uiprotect to 7.11.0 (#146171)
Bump uiprotect to version 7.11.0
2025-06-10 16:42:40 +00:00
Iskra kranj
d875989866 Bump pyiskra to 0.1.21 (#146156) 2025-06-10 16:42:39 +00:00
Michael
38c92a2338 Bump aioimmich to 0.9.0 (#146154)
bump aioimmich to 0.9.0
2025-06-10 16:42:38 +00:00
J. Nick Koston
ce76b5db16 Bump aiohttp to 3.12.8 (#146153) 2025-06-10 16:39:58 +00:00
Ian
dfc4889d45 Throttle Nextbus if we are reaching the rate limit (#146064)
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-06-10 16:32:59 +00:00
Andrea Turri
41431282ee Add evaporate water program id for Miele oven (#145996) 2025-06-10 16:32:58 +00:00
Arie Catsman
5821b2f03c fix possible mac collision in enphase_envoy (#145549)
* fix possible mac collision in enphase_envoy

* remove redundant device registry async_get
2025-06-10 16:32:57 +00:00
starkillerOG
78d2bf736c Reolink conserve battery (#145452) 2025-06-10 16:32:56 +00:00
starkillerOG
d71ddcf69e Reolink conserve battery (#145452) 2025-06-10 18:05:55 +02:00
Robert Resch
3af2746fea Update wording deprecated system package integration repair (#146450)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-10 18:04:22 +02:00
Joost Lekkerkerker
5b6d7142fb Bump pySmartThings to 3.2.4 (#146459) 2025-06-10 17:37:21 +02:00
Whitney Young
7aa9301038 Fix initial state of UV protection window (#146408)
The `binary_sensor` is created when the config entry is loaded after the
`async_config_entry_first_refresh` has completed (during the forward of
setup to platforms). Therefore, the update coordinator will already have
data and will not trigger the invocation of
`_handle_coordinator_update`.

Fixing this just means performing the same update at initialization.
2025-06-10 17:35:40 +02:00
hanwg
627831dfaf Fix Telegram bot leave_chat service action (#146139)
* bug fix for leave chat

* update strings
2025-06-10 17:33:54 +02:00
Joost Lekkerkerker
db8a6f8583 Catch exception before retrying in AirGradient (#146460) 2025-06-10 17:31:30 +02:00
Paulus Schoutsen
014010acbd Assist Pipeline: Intent progress event when we start streaming (#146388)
Intent progress event when we start streaming
2025-06-10 09:55:43 -05:00
Arie Catsman
9b90ed04e5 fix possible mac collision in enphase_envoy (#145549)
* fix possible mac collision in enphase_envoy

* remove redundant device registry async_get
2025-06-10 16:25:26 +02:00
hanwg
0f27d0bf4a Bug fix for Telegram bot integration: fix async_unload_entry error for polling bot (#146277)
* removed reload from update_listener

* removed reload from update_listener
2025-06-10 16:24:51 +02:00
Andrea Turri
1fa55f96f8 Add evaporate water program id for Miele oven (#145996) 2025-06-10 16:23:55 +02:00
Jamin
2d60115ec6 Check hangup error in voip (#146423)
Check hangup error

Prevent an error where the call end future may have already been set
when a hangup is detected.
2025-06-10 16:22:53 +02:00
Luca Schröder
3b81480091 Update caldav to 1.6.0 (#146456)
Fixes #140798
2025-06-10 16:20:35 +02:00
Will Schlitzer
255acfa8c0 Fix typo in overseerr component docstring (#146457)
Change 'airgradient' to 'overseerr' in sensor.py
2025-06-10 16:15:40 +02:00
Marc Mueller
4617cc4e0a Update awesomeversion to 25.5.0 (#146032) 2025-06-10 15:44:53 +02:00
tronikos
b9e8cfb291 Handle grpc errors in Google Assistant SDK (#146438) 2025-06-10 15:31:32 +02:00
J. Nick Koston
7da1671b06 Shift ESPHome log parsing to the library (#146349) 2025-06-10 15:30:19 +02:00
Marc Mueller
6c5f7eabff Fix RuntimeWarning in rest tests (#146452) 2025-06-10 15:26:07 +02:00
Ian
f448f488ba Throttle Nextbus if we are reaching the rate limit (#146064)
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-06-10 15:03:20 +02:00
Marc Mueller
20b5d5a755 Add requests to hassfest requirements check (#146446) 2025-06-10 15:01:05 +02:00
Marc Mueller
bb38a3a8ac Update requests to 2.32.4 (#146445) 2025-06-10 15:00:41 +02:00
Brett Adams
d0d1fb2da7 Prevent energy history returning zero in Teslemetry (#146202) 2025-06-10 15:00:02 +02:00
Marc Mueller
d82be09ed4 Update aiomealie to 0.9.6 (#146447) 2025-06-10 14:53:56 +02:00
Joost Lekkerkerker
110627e16e Return expected state in SmartThings water heater (#146449) 2025-06-10 14:52:24 +02:00
Klaas Schoute
b77ef7304a Change interval for Powerfox integration (#146348) 2025-06-10 14:38:52 +02:00
Erik Montnemery
16a0b7f44e Handle changes to source entity in derivative helper (#146407)
* Handle changes to source entity in derivative helper

* Rename helper function, improve docstring

* Add tests

* Improve derivative tests

* Deduplicate tests

* Rename helpers/helper_entity.py to helpers/helper_integration.py

* Rename tests
2025-06-10 14:31:18 +02:00
Joost Lekkerkerker
4fdbb9c0e2 Remove __all__ from switch_as_x (#146331)
* Remove `__all__` from switch_as_x

* Update homeassistant/components/switch_as_x/__init__.py
2025-06-10 14:21:01 +02:00
J. Diego Rodríguez Royo
c32a988838 Improvements for Home Connect application credentials string (#146443) 2025-06-10 14:11:07 +02:00
Jan-Philipp Benecke
927c9d3480 Improve error logging in trend binary sensor (#146358) 2025-06-10 14:10:49 +02:00
Joost Lekkerkerker
bf776d33b2 Explain Withings setup (#146216) 2025-06-10 14:10:35 +02:00
epenet
279539265b Use async_load_fixture in modern_forms tests (#146011) 2025-06-10 12:38:25 +02:00
J. Diego Rodríguez Royo
4acad77437 Fix typo at application credentials string at Home Connect integration (#146442)
Fix typos
2025-06-10 11:56:24 +02:00
J. Nick Koston
0c5b7401b9 Use entity unique id for ESPHome media player formats (#146318) 2025-06-10 11:48:11 +02:00
Erik Montnemery
ce739fd9b6 Restore entity ID and user customizations of deleted entities (#145278)
* Restore entity ID and user customizations of deleted entities

* Clear removed areas, categories and labels from deleted entities

* Correct test

* Fix logic for disabled_by and hidden_by

* Improve test coverage

* Fix sorting

* Always restore disabled_by and hidden_by

* Update mqtt test

* Update pglab tests
2025-06-10 11:47:54 +02:00
Erik Montnemery
11d9014be0 Restore user customizations of deleted devices (#145191)
* Restore user customizations of deleted devices

* Apply suggestions from code review

* Improve test coverage

* Always restore disabled_by
2025-06-10 11:47:39 +02:00
J. Nick Koston
c9dcb1c11b Bump propcache to 0.3.2 (#146418) 2025-06-10 11:44:34 +02:00
J. Diego Rodríguez Royo
ef7f32a28d Explain Home Connect setup (#146356)
* Explain Home Connect setup

* Avoid using "we"

* Fix login spelling

* Fix signup spelling
2025-06-10 11:41:36 +02:00
J. Nick Koston
4f5cf5797f Bump yarl to 1.20.1 (#146424) 2025-06-10 11:26:29 +02:00
Retha Runolfsson
4c5485ad04 Bump pyswitchbot to 0.66.0 (#146430)
bump pyswitchbot to 0.66.0
2025-06-10 11:16:08 +02:00
Franck Nijhof
5ad96dedfa Reformat Dockerfile to reduce merge conflicts (#146435) 2025-06-10 11:14:31 +02:00
epenet
0c18fe35e5 Migrate cloudflare to use runtime data (#146429) 2025-06-10 09:50:31 +02:00
epenet
6a23ad96ca Move google assistant sdk services to separate module (#146434) 2025-06-10 00:49:56 -07:00
J. Nick Koston
def0384608 Bump aiohttp to 3.12.12 (#146426) 2025-06-10 09:39:53 +02:00
Raphael Hehl
a4d12694da Bump uiprotect to 7.13.0 (#146410) 2025-06-09 19:26:54 -05:00
J. Nick Koston
2278e3f06f Bump aioesphomeapi to 32.2.1 (#146375) 2025-06-09 19:25:29 -05:00
Will Schlitzer
0144a0bb1f Fix minor docstring typos in jellyfin component media_source.py (#146398) 2025-06-09 20:12:32 +02:00
Imeon-Energy
7cc8f91bf9 Basic entity class for Imeon inverter integration (#145778)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: TheBushBoy <theodavid@icloud.com>
2025-06-09 20:04:25 +02:00
hanwg
d58157ca9e Bug fix for Telegram bot integration: handle last message id (#146378) 2025-06-09 20:01:16 +02:00
David Knowles
f401ffb08c Bump pydrawise to 2025.6.0 (#146369) 2025-06-09 20:00:37 +02:00
Simone Chemelli
8f7b831b94 Bump aioamazondevices to 3.0.6 (#146385) 2025-06-09 19:59:02 +02:00
wittypluck
9ed6b591a5 Fix CO concentration unit in OpenWeatherMap (#146403) 2025-06-09 19:55:09 +02:00
Michael Davie
98ea067285 Bump env-canada to v0.11.2 (#146371) 2025-06-09 12:53:44 -05:00
G Johansson
7e507dd378 Bump pynordpool to 0.3.0 (#146396) 2025-06-09 19:51:46 +02:00
Erik Montnemery
8e87223c40 Update switch_as_x to handle wrapped switch moved to another device (#146387)
* Update switch_as_x to handle wrapped switch moved to another device

* Reload switch_as_x config entry after updating device

* Make sure the switch_as_x entity is not removed
2025-06-09 17:04:55 +02:00
Abílio Costa
0cce4d1b81 Test all device classes in Sensor device condition/trigger tests (#146366) 2025-06-09 14:22:58 +01:00
Erik Montnemery
46dcc91510 Fix switch_as_x entity_id tracking (#146386) 2025-06-09 13:24:40 +02:00
Markus Adrario
b1a2af9fd3 Add Homee diagnostics platform (#146340)
* Initial dignostics implementation

* Add diagnostics tests

* change data-set for device diagnostics

* adapt for upcoming pyHomee release

* other solution

* fix review and more
2025-06-09 13:24:07 +02:00
Michael Arthur
5d58cdd98e DNSIP: Add literal to querytype (#146367) 2025-06-09 09:36:17 +02:00
Simon Lamon
a8aebbce9a Bump python-linkplay to v0.2.10 (#146359) 2025-06-08 16:43:20 -05:00
tronikos
f1244c182a Allow different manufacturer than Amazon in Amazon Devices (#146333) 2025-06-08 11:47:46 -07:00
Simon Lamon
560eeac457 Do not probe linkplay device if another config entry already contains the host (#146305)
* Do not probe if config entry already contains the host

* Add unit test

* Use common fixture
2025-06-08 19:47:00 +02:00
J. Nick Koston
d33080d79e Bump aioesphomeapi to 32.2.0 (#146344) 2025-06-08 11:15:00 -05:00
Michael
25f02c5b38 Bump py-synologydsm-api to 2.7.3 (#146338)
bump py-synologydsm-api to 2.7.3
2025-06-08 17:02:06 +01:00
Raphael Hehl
cb01af9f92 Bump uiprotect to 7.12.0 (#146337) 2025-06-08 10:57:50 -05:00
Sanjay Govind
9a6ebb0848 Fix bosch alarm areas not correctly subscribing to alarms (#146322)
* Fix bosch alarm areas not correctly subscribing to alarms

* add test
2025-06-08 14:35:54 +02:00
Pete Sage
fd30dd0aee Add tests for sonos switch alarms on and off (#146314)
* fix: add tests for switch on/off

* fix: simplify

* fix: simplify

* fix: comment

* fix: comment
2025-06-08 11:45:20 +02:00
tronikos
4a5e261709 Fix typo in Utility Meter always_available (#146320) 2025-06-08 10:53:48 +03:00
Marc Mueller
2842f55460 Add additional package version range checks (#146299)
* Add additional package version range checks

* Add exception for scipy
2025-06-08 00:06:20 +02:00
J. Nick Koston
7573a74cb0 Migrate rest to use aiohttp (#146306) 2025-06-07 13:44:25 -05:00
J. Nick Koston
636b484d9d Migrate onvif to use onvif-zeep-async 4.0.1 with aiohttp (#146297) 2025-06-07 13:39:59 -05:00
G Johansson
a979f884f9 Bump holidays to 0.74 (#146290) 2025-06-07 20:18:24 +03:00
J. Nick Koston
990ea78dec Bump aiohttp to 3.12.11 (#146298) 2025-06-07 12:08:32 -05:00
Marc Mueller
ee6db3bd23 Update numpy to 2.3.0 (#146296) 2025-06-07 18:43:18 +02:00
Arie Catsman
ae5606aa2f Migrate Enphase envoy from httpx to aiohttp (#146283)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-06-07 10:52:54 -05:00
Marc Mueller
7f9f106729 Update airtouch5py to 0.3.0 (#146278) 2025-06-07 16:58:53 +02:00
J. Nick Koston
44c63ce6f1 Bump aiohttp-fast-zlib to 0.3.0 (#146285)
changelog: https://github.com/Bluetooth-Devices/aiohttp-fast-zlib/compare/v0.2.3...v0.3.0

proper aiohttp 3.12 support
2025-06-07 17:30:43 +03:00
hanwg
cbf7ca6a9a Add bronze quality scale for Telegram bot integration (#146148)
* added quality scale

* updated appropriate-polling comment

* Remove entities comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-07 14:47:48 +02:00
Brett Adams
eb892df65a Change default range sensors in Teslemetry (#146268) 2025-06-07 10:51:57 +02:00
Brett Adams
24b5886d88 Add missing write state to Teslemetry (#146267) 2025-06-07 04:43:16 +02:00
Willem-Jan van Rootselaar
d5e902a170 Update python-bsblan requirement to version 2.1.0 (#146253) 2025-06-06 22:47:44 +03:00
hanwg
d907e4c10b Handle error in setup_entry for Telegram Bot (#146242)
* handle error in setup_entry

* Update homeassistant/components/telegram_bot/__init__.py

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

---------

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-06-06 15:00:48 +01:00
Robin Lintermann
c4be3c4de2 Smarla integration number platform (#145747)
Add number platform to smarla integration
2025-06-06 12:13:06 +02:00
Retha Runolfsson
626591f832 Fix unit test for switchbot integration (#146247)
fix unit test
2025-06-06 12:06:01 +02:00
epenet
2bd3196183 Move abode services to separate module (#146142)
* Move abode services to separate module

* Rename

* Adjust test imports
2025-06-06 10:20:57 +02:00
epenet
fd93cf375d Tweak zwave_js service registration (#146244) 2025-06-06 09:41:51 +02:00
epenet
6bf8b84d26 Rename service registration method (#146236) 2025-06-06 08:08:06 +02:00
Michael
c72fea57a1 Bump aioimmich to 0.9.1 (#146222)
bump aioimmich to 0.9.1
2025-06-05 21:50:19 +02:00
Renat Sibgatulin
17dad7d8ae Bump aioairq to v0.4.6 (#146169)
This version exposes an API to control LED brightness.
2025-06-05 18:27:20 +02:00
Joost Lekkerkerker
14664719d9 Remove zeroconf discovery from Spotify (#146213) 2025-06-05 18:02:11 +02:00
epenet
b14cd1e14b Move elkm1 services to separate module (#146147)
* Move elkm1 services to separate module

* Rename
2025-06-05 16:51:01 +02:00
Retha Runolfsson
fd38d9788d Bump pyswitchbot to 0.65.0 (#146133)
* update pyswitchbot to 0.65.0

* fix relay switch 1pm test

* fix ma to a
2025-06-05 16:42:24 +02:00
epenet
0b3b641328 Move services to separate module in opentherm_gw (#146098)
* Move services to separate module in opentherm_gw

* Rename
2025-06-05 16:40:18 +02:00
Brett Adams
6ef77f8243 Fix Export Rule Select Entity in Tessie (#146203)
Fix TessieExportRuleSelectEntity
2025-06-05 16:39:55 +02:00
Ludovic BOUÉ
3a27143012 Matter add Service Area Cluster to vacuum_cleaner fixture (#145743)
Update vacuum_cleaner.json

Service Area Cluster
2025-06-05 16:39:08 +02:00
Samuel Xiao
9a6c642bdf Bump switchbot-api to 2.5.0 (#146205)
* update switchbot-api to 2.5.0

* update switchbot-api to 2.5.0
2025-06-05 16:16:45 +02:00
epenet
38b8d0b018 Move google_sheets services to separate module (#146160)
* Move google_sheets services to separate module

* Move to async_setup

* Do not remove the services

* hassfest

* Rename
2025-06-05 15:07:15 +02:00
epenet
4d3443dbf5 Move amcrest services to separate module (#146144)
* Move amcrest services to separate module

* Rename
2025-06-05 14:43:22 +02:00
Marc Mueller
4f99e54402 Update pandas to 2.3.0 (#146206) 2025-06-05 14:42:21 +02:00
epenet
d6615e3d44 Move ffmpeg services to separate module (#146149)
* Move ffmpeg services to separate module

* Fix tests

* Rename
2025-06-05 14:39:44 +02:00
Willem-Jan van Rootselaar
9c23331ead Bump python-bsblan to version 2.0.1 (#146198)
* Bump python-bsblan to version 2.0.1

* Remove 'bsblan' exception for 'python-bsblan' from forbidden package exceptions
2025-06-05 13:07:16 +02:00
epenet
5fb2802bf4 Move zoneminder services to separate module (#146151) 2025-06-05 06:35:32 +02:00
epenet
b4864e6a8a Move matrix services to separate module (#146161) 2025-06-05 06:35:10 +02:00
Raphael Hehl
04c34877f4 Bump uiprotect to 7.11.0 (#146171)
Bump uiprotect to version 7.11.0
2025-06-04 23:32:44 +03:00
Ludovic BOUÉ
bdeb61fafc Matter Extractor hood fixture (#146174)
* Create extractor_hood.json

* Matter Extractor hood fixture

* Format document
2025-06-04 21:17:51 +02:00
J. Nick Koston
76d4257f51 Bump aiohttp to 3.12.9 (#146178) 2025-06-04 20:12:19 +02:00
Markus Adrario
c6c7e7eae1 Add homee reconfiguration flow (#146065)
* Add a reconfigure flow to homee

* Add tests for reconfiguration flow

* string refinement

* fix review comments

* more review fixes
2025-06-04 15:27:07 +02:00
Iskra kranj
07557e27b0 Bump pyiskra to 0.1.21 (#146156) 2025-06-04 14:51:40 +02:00
J. Nick Koston
f211da60e0 Bump aiohttp to 3.12.8 (#146153) 2025-06-04 12:57:40 +01:00
Michael
64b74d00f7 Bump aioimmich to 0.9.0 (#146154)
bump aioimmich to 0.9.0
2025-06-04 13:35:16 +02:00
Franck Nijhof
6c098c3e0a Bump version to 2025.6.0b5 2025-06-04 09:02:53 +00:00
J. Nick Koston
bfb140d2e9 Bump aioesphomeapi to 32.0.0 (#146135) 2025-06-04 09:00:59 +00:00
J. Nick Koston
f71a1a7a89 Bump protobuf to 6.31.1 (#146128)
changelog: https://github.com/protocolbuffers/protobuf/compare/v30.2...v31.1
2025-06-04 09:00:57 +00:00
Erwin Douna
e8aab39620 SMA fix strings (#146112)
* Fix

* Feedback
2025-06-04 09:00:55 +00:00
J. Nick Koston
1d578d8563 Bump habluetooth to 3.49.0 (#146111)
* Bump habluetooth to 3.49.0

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v3.48.2...v3.49.0

* update diag

* diag
2025-06-04 09:00:53 +00:00
J. Nick Koston
abfd443541 Bump bleak-esphome to 2.16.0 (#146110) 2025-06-04 09:00:51 +00:00
Brett Adams
81cbb6e5cf Fix BMS and Charge states in Teslemetry (#146091)
Fix BMS and Charge states
2025-06-04 09:00:49 +00:00
Retha Runolfsson
010c5cab87 Fix nightlatch option for all switchbot locks (#146090) 2025-06-04 09:00:47 +00:00
SNoof85
415858119a Add state class measurement to Freebox temperature sensors (#146074) 2025-06-04 09:00:44 +00:00
Simone Chemelli
1838a731d6 Bump aioamazondevices to 3.0.5 (#146073) 2025-06-04 09:00:42 +00:00
Shay Levy
1e304fad65 Fix Shelly BLU TRV calibrate button (#146066) 2025-06-04 09:00:40 +00:00
Michael
999c9b3dc5 Don't use multi-line conditionals in immich (#146062) 2025-06-04 09:00:37 +00:00
epenet
e15edbd54b Adjust SamsungTV on/off logging (#146045)
* Adjust SamsungTV on/off logging

* Update coordinator.py
2025-06-04 09:00:35 +00:00
epenet
e5cb77d168 Adjust ConnectionFailure logging in SamsungTV (#146044) 2025-06-04 09:00:32 +00:00
starkillerOG
cf521d4c7c Improve debug logging Reolink (#146033)
Add debug logging
2025-06-04 09:00:25 +00:00
J. Nick Koston
6f09474193 Bump grpcio to 1.72.1 (#146029) 2025-06-04 09:00:21 +00:00
Robert Resch
7626933352 Bump go2rtc-client to 0.2.1 (#146019)
* Bump go2rtc-client to 0.2.0

* Bump go2rtc-client to 0.2.1

* Clean up hassfest exception

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-04 08:56:07 +00:00
starkillerOG
9e1d8c2fc6 Bump reolink-aio to 0.13.5 (#145974)
* Add debug logging

* Bump reolink-aio to 0.13.5

* Revert "Add debug logging"

This reverts commit f96030a6c8.
2025-06-04 08:43:30 +00:00
Simone Chemelli
6defed2915 Bump aioamazondevices to 3.0.4 (#145971) 2025-06-04 08:43:28 +00:00
Simone Chemelli
d729eed7c2 Add diagnostics to Amazon devices (#145964) 2025-06-04 08:43:26 +00:00
Noah Groß
f280032dcf Bump python-picnic-api2 to 1.3.1 (#145962) 2025-06-04 08:43:21 +00:00
Allen Porter
7e85137012 Bump ical to 10.0.0 (#145954) 2025-06-04 08:43:18 +00:00
TimL
88f2c3abd3 Bump pysmlight to v0.2.5 (#145949) 2025-06-04 08:43:15 +00:00
Michael
1a21e01f85 Bump aioimmich to 0.8.0 (#145908) 2025-06-04 08:43:13 +00:00
Ian
d302e817c8 NextBus: Bump py_nextbusnext to 2.2.0 (#145904) 2025-06-04 08:43:09 +00:00
Martin Hjelmare
1e1b0424d7 Fix removal of devices during Z-Wave migration (#145867) 2025-06-04 08:43:07 +00:00
Robert Resch
03f028b7e2 Deprecate hddtemp (#145850) 2025-06-04 08:43:05 +00:00
Robert Resch
b1d35de8e4 Deprecate eddystone temperature integration (#145833) 2025-06-04 08:43:02 +00:00
Erwin Douna
ea6b9e5260 SMA add missing strings for DHCP (#145782) 2025-06-04 08:42:59 +00:00
J. Nick Koston
96cb645644 Bump aioesphomeapi to 32.0.0 (#146135) 2025-06-04 09:34:04 +01:00
Claudio Ruggeri - CR-Tech
9b0db3bd51 Bump pymodbus to 3.9.2 (#145948) 2025-06-04 10:28:34 +02:00
Robert Resch
ffdefd1e0f Deprecate eddystone temperature integration (#145833) 2025-06-04 10:00:50 +02:00
Max Velitchko
59ad0268a9 Bump pyvera to 0.3.16 (#146089)
* Update vera integration with the latest pyvera package

* python3 -m script.gen_requirements_all

* Fix license
2025-06-04 07:47:41 +01:00
dependabot[bot]
f28851e76f Bump github/codeql-action from 3.28.18 to 3.28.19 (#146131)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.18 to 3.28.19.
- [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.28.18...v3.28.19)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.19
  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>
2025-06-04 07:41:34 +01:00
J. Nick Koston
4f5c1d544b Bump protobuf to 6.31.1 (#146128)
changelog: https://github.com/protocolbuffers/protobuf/compare/v30.2...v31.1
2025-06-04 07:40:10 +01:00
Marc Mueller
a8ccf1c6fc Update pytest to 8.4.0 (#146114) 2025-06-04 08:09:19 +02:00
Ian
e3f7e5706b Add config option for controlling Ollama think parameter (#146000)
* Add config option for controlling Ollama think parameter

Allows enabling or disable thinking for supported models. Neither option
will dislay thinking content in the chat. Future support for displaying
think content will require frontend changes for formatting.

* Add thinking strings
2025-06-03 20:42:16 -07:00
Erwin Douna
7ad1e756e7 SMA fix strings (#146112)
* Fix

* Feedback
2025-06-03 21:54:44 +02:00
Norbert Rittel
8868f214f3 Replace "numbers" with "digits" in invalid_backbone_key message of knx (#146124)
The KNX Backbone Key has a length of 128 bits, so written as a hexadecimal number that yields 32 digits.

This fix thus replaces "numbers" with "digits" in the `invalid_backbone_key` message.
2025-06-03 20:47:54 +02:00
J. Nick Koston
3ecff19a45 Bump habluetooth to 3.49.0 (#146111)
* Bump habluetooth to 3.49.0

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v3.48.2...v3.49.0

* update diag

* diag
2025-06-03 16:56:20 +02:00
Ian
74421db747 NextBus: Bump py_nextbusnext to 2.2.0 (#145904) 2025-06-03 13:20:14 +02:00
J. Nick Koston
1cccfac3dc Bump bleak-esphome to 2.16.0 (#146110) 2025-06-03 11:57:58 +01:00
David Bonnes
c254548a64 Add required_features to WaterHeater entity service registrations (#141873) 2025-06-03 12:51:46 +02:00
epenet
7f8b782e95 Adjust SamsungTV on/off logging (#146045)
* Adjust SamsungTV on/off logging

* Update coordinator.py
2025-06-03 12:30:18 +02:00
Erwin Douna
cd518d4a46 SMA add missing strings for DHCP (#145782) 2025-06-03 12:12:56 +02:00
Retha Runolfsson
c5db07e84d Fix nightlatch option for all switchbot locks (#146090) 2025-06-03 12:11:02 +02:00
epenet
d1e0225520 Adjust ConnectionFailure logging in SamsungTV (#146044) 2025-06-03 12:05:33 +02:00
Robin Lintermann
d439bb68eb Smarla integration improve tests (#145803)
* Improve smarla integration tests

* Do not import descriptions instead use seperate list
2025-06-03 11:49:24 +02:00
Matthias Alphart
980dbf364d Add exception translations for KNX services (#146104) 2025-06-03 11:31:32 +02:00
SNoof85
842e7ce171 Add state class measurement to Freebox temperature sensors (#146074) 2025-06-03 11:23:52 +02:00
epenet
8afec8ada9 Use async_load_fixture in youtube tests (#146018) 2025-06-03 11:07:56 +02:00
Simone Chemelli
7b699f7733 Avoid services unload for Homematicip Cloud (#146050)
* Avoid services unload

* fix tests

* apply review comments

* cleanup

* apply review comment
2025-06-03 11:01:23 +02:00
Noah Groß
d448ef9f16 Bump python-picnic-api2 to 1.3.1 (#145962) 2025-06-03 10:57:59 +02:00
epenet
03912a1704 Use async_load_fixture in tplink_omada tests (#146014) 2025-06-03 10:54:22 +02:00
epenet
54c20d5d5a Use async_load_fixture in remaining tests (#146021) 2025-06-03 10:52:51 +02:00
epenet
2dbf24e798 Use async_load_fixture in skybell tests (#146017) 2025-06-03 10:47:03 +02:00
epenet
791654a420 Move services to separate module in nzbget (#146093) 2025-06-03 10:41:40 +02:00
epenet
5fe07e49e4 Move services to separate module in insteon (#146094) 2025-06-03 10:41:13 +02:00
epenet
0bd287788c Move service registration to async_setup in icloud (#146095) 2025-06-03 10:40:48 +02:00
Brett Adams
40e0c0f98d Fix BMS and Charge states in Teslemetry (#146091)
Fix BMS and Charge states
2025-06-03 10:40:20 +02:00
Pär Holmdahl
85b608912b Add energy sensor to adax (#145995)
* 2nd attempt to add energysensors to Adax component

* Ruff format changes

* I did not reuse the first call for information.. Now i do..

* Fixed some tests after the last change

* Remove extra attributes

* Dont use info logger

* aggregate if not rooms

* Raise error if no rooms are discovered

* Move code out of try catch

* Catch more specific errors

* removed platforms from manifest.json

* remove attribute translation key

* Getting rid of the summation of energy used..

* Fixed errorness in test

* set roomproperty in Init

* concatenated the two functions

* use raw Wh values and suggest a konversion for HomeAssistant

* Use snapshot testing

* Update homeassistant/components/adax/coordinator.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/strings.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Removing un needed logg

* Removing initial value

* Changing tests to snapshot_platform

* Removing available property from sensor.py and doing a ruff formating..

* Fix a broken indent

* Add fix for coordinator updates in Adax energisensor and namesetting

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/coordinator.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/coordinator.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* generated snapshots

* Ruff changes

* Even more ruff changes, that did not appear on ruff command locally

* Trying to fix CI updates

* Update homeassistant/components/adax/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Improve AdaxEnergySensor by simplifying code and ensuring correct handling of energy values. Adjust how room and device information is retrieved to avoid duplication and improve readability.

* Removed a test för device_id as per request..

* Make supersure that value is int and not "Any"

* removing executable status

* Update tests/components/adax/test_sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-06-03 10:36:43 +02:00
Pete Sage
987753dd1c Bump aiokem to 1.0.1 (#146085) 2025-06-03 10:16:08 +02:00
epenet
5df05fb6dd Move async_register_services to async_setup (#146092) 2025-06-03 08:38:02 +02:00
Simone Chemelli
f295ca27af Bump aioamazondevices to 3.0.5 (#146073) 2025-06-03 01:18:49 +03:00
Marc Mueller
8f75cc6a33 Update pyatmo to 9.2.1 (#146077) 2025-06-02 23:47:50 +02:00
Marc Mueller
19c71f0f49 Update python-homewizard-energy to 8.3.3 (#146076) 2025-06-02 23:34:50 +02:00
Marc Mueller
22c2028c00 Update typing-extensions to 4.14.0 (#146054) 2025-06-02 23:15:53 +02:00
Ian
39f687e3a3 Bump ollama to 0.5.1 (#146063)
* Bump ollama to 0.5.1
* Add ollama to license exceptions
2025-06-02 22:43:00 +02:00
Shay Levy
6692b9b71f Fix Shelly BLU TRV calibrate button (#146066) 2025-06-02 22:38:17 +03:00
J. Nick Koston
2f5787e7be Bump aiohttp to 3.12.7 (#146028) 2025-06-02 21:27:08 +02:00
Simone Chemelli
bbda1761bf Avoid services unload for Isy994 (#146069)
* Avoid services unload for Isy994

* cleanup
2025-06-02 21:19:10 +02:00
Robert Resch
ecc10e9793 Bump go2rtc-client to 0.2.1 (#146019)
* Bump go2rtc-client to 0.2.0

* Bump go2rtc-client to 0.2.1

* Clean up hassfest exception

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-02 20:48:40 +02:00
Simone Chemelli
9e1e889fd7 Rename mispelled services python files (#146049) 2025-06-02 20:41:31 +02:00
Michael
eefe1e6f0f Don't use multi-line conditionals in immich (#146062) 2025-06-02 19:58:54 +02:00
Marc Mueller
397ed87f2d Update aiohomekit to 3.2.15 (#146059)
* Update aiohomekit to 3.2.15

* Remove Python version exception for homekit_controller
2025-06-02 18:23:04 +01:00
Marc Mueller
15830f383e Update pyoverkiz to 1.17.2 (#146056) 2025-06-02 18:21:26 +01:00
epenet
87395efc6e Add awesomeversion to dependency version checks (#146047) 2025-06-02 17:28:13 +02:00
Marc Mueller
27d79bb10a Update yamllint to 1.37.1 (#146038) 2025-06-02 16:35:31 +02:00
Simone Chemelli
7427db70aa Move async_setup_services to async_setup (#146048)
* Moved async_setup_services to async_setup

* fix schema missing
2025-06-02 16:23:20 +02:00
Marc Mueller
77d5bffa85 Update pytest warnings filter (#146024) 2025-06-02 16:01:23 +02:00
Marc Mueller
ab7c7b8d89 Update ruff to 0.11.12 (#146037)
* Update ruff to 0.11.12
* Replace ruff legacy alias with ruff-check
2025-06-02 16:01:10 +02:00
Simon Lamon
93b8cc38d8 Small nmbs sensor attributes refactoring (#145956)
Attributes refactoring
2025-06-02 15:13:23 +02:00
Pete Sage
e5f95b3aff Add diagnostics tests for Sonos (#146040)
* fix: add tests for diagnostics

* fix: add new files

* fix: add new files
2025-06-02 15:12:34 +02:00
starkillerOG
613728ad3b Improve debug logging Reolink (#146033)
Add debug logging
2025-06-02 15:12:13 +02:00
starkillerOG
cb1bfe6ebe Bump reolink-aio to 0.13.5 (#145974)
* Add debug logging

* Bump reolink-aio to 0.13.5

* Revert "Add debug logging"

This reverts commit f96030a6c8.
2025-06-02 15:11:56 +02:00
Joost Lekkerkerker
434179ab3f Remove NMBS YAML import (#145733)
* Remove NMBS YAML import

* Remove NMBS YAML import
2025-06-02 15:10:46 +02:00
TimL
eb53277fcc Bump pysmlight to 0.2.6 (#146039)
Co-authored-by: Tim Lunn <tim@feathertop.org>
2025-06-02 15:04:34 +02:00
J. Nick Koston
850ddb3667 Bump grpcio to 1.72.1 (#146029) 2025-06-02 15:04:02 +02:00
epenet
5a727a4fa3 Avoid constant alias for integration DOMAIN (#145788)
* Avoid constant alias for integration DOMAIN

* Tweak

* Improve

* Three more

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-06-02 10:37:29 +02:00
karwosts
33fc700952 Make sun solar_rising a binary_sensor (#140956)
* Make sun solar_rising a binary_sensor.

* Add a state translation

* code review

* fix test

* move PLATFORMS

* Update strings.json
2025-06-02 10:32:48 +02:00
Joakim Sørensen
ad493e077e Submit legacy integrations for analytics (#145787)
* Submit legacy integrations for analytics

* adjustments
2025-06-02 10:29:17 +02:00
Marc Mueller
a2b2f6f20a Update pre-commit to 4.2.0 (#145986) 2025-06-02 09:56:20 +02:00
Marc Mueller
ee57fd413a Update freezegun to 1.5.2 (#145982) 2025-06-02 09:53:12 +02:00
Martin Hjelmare
f5d585e0f0 Fix removal of devices during Z-Wave migration (#145867) 2025-06-02 09:52:02 +02:00
Simone Chemelli
1899388f35 Add diagnostics to Amazon devices (#145964) 2025-06-02 09:48:42 +02:00
Allen Porter
4d833e9b1c Bump ical to 10.0.0 (#145954) 2025-06-02 09:47:05 +02:00
Robert Resch
6d827cd412 Deprecate hddtemp (#145850) 2025-06-02 09:45:14 +02:00
epenet
ebfbea39ff Use async_load_fixture in twitch tests (#146016) 2025-06-02 09:27:53 +02:00
dependabot[bot]
89a40f1c48 Bump dawidd6/action-download-artifact from 9 to 10 (#146015) 2025-06-02 09:21:26 +02:00
epenet
664eb7af10 Use async_load_fixture in moehlenhoff_alpha2 tests (#146012) 2025-06-02 08:59:19 +02:00
epenet
33b99b6627 Use async_load_fixture in netatmo tests (#146013) 2025-06-02 08:59:11 +02:00
epenet
0cf2ee0bcb Remove unnecessary DOMAIN alias in tests (l-r) (#146009)
* Remove unnecessary DOMAIN alias in tests (l-r)

* Keep late import in lirc
2025-06-02 08:54:55 +02:00
hanwg
85a86c3f11 Add config flow for telegram bot integration (#144617)
* added config flow for telegram integration

* added chat id in config entry title and added config flow tests

* fix import issue when there are no notifiers in configuration.yaml

* Revert "fix import issue when there are no notifiers in configuration.yaml"

This reverts commit b5b83e2a9a.

* Revert "added chat id in config entry title and added config flow tests"

This reverts commit 30c2bb4ae4.

* Revert "added config flow for telegram integration"

This reverts commit 1f44afcd45.

* added config and subentry flows

* added options flow to configure webhooks

* refactor module setup so it only load once

* moved service registration from async_setup_entry to async_setup

* Apply suggestions from code review

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

* import only last yaml config

* import only last yaml config

* reduced scope of try-block

* create issue when importing from yaml

* Apply suggestions from code review

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

* handle options update by reloading telegram bot

* handle import errors for create issue

* include bot's platform when creating issues

* handle options reload without needing HA restart

* moved url and trusted_networks inputs from options to new config flow step

* Apply suggestions from code review

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

* minor fixes

* refactor config flow

* moved constants to const.py

* Apply suggestions from code review

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

* Update homeassistant/components/telegram_bot/config_flow.py

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

* Update homeassistant/components/telegram_bot/config_flow.py

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

* Update homeassistant/components/telegram_bot/config_flow.py

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

* added options flow tests

* Update homeassistant/components/telegram_bot/__init__.py

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

* Update homeassistant/components/telegram_bot/__init__.py

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

* Update homeassistant/components/telegram_bot/__init__.py

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

* Update homeassistant/components/telegram_bot/config_flow.py

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

* Update homeassistant/components/telegram_bot/config_flow.py

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

* added reconfigure flow

* added reauth flow

* added tests for reconfigure flow

* added tests for reauth

* added tests for subentry flow

* added tests for user and webhooks flow with error scenarios

* added import flow tests

* handle webhook deregister exception

* added config entry id to all services

* fix leave chat bug

* Update homeassistant/components/telegram_bot/__init__.py

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

* removed leave chat bug fixes

* Update homeassistant/components/telegram_bot/strings.json

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

* handle other error types for import

* reuse translations

* added test for duplicated config entry for user step

* added tests

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-02 08:52:31 +02:00
epenet
de4a5fa30b Remove unnecessary DOMAIN alias in tests (s-z) (#146010) 2025-06-02 08:48:37 +02:00
Marc Mueller
43ac550ca0 Update pydantic to 2.11.5 (#145985)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-06-02 08:48:22 +02:00
Marc Mueller
c3c4d224b2 Update PyTurboJPEG to 1.8.0 (#145984)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-06-02 08:40:10 +02:00
Marc Mueller
6f865beacd Update attrs to 25.3.0 (#145977) 2025-06-02 07:58:35 +02:00
Marc Mueller
de25195383 Update bcrypt to 4.3.0 (#145978) 2025-06-02 07:56:51 +02:00
Marc Mueller
0139d2cabf Update cryptography to 45.0.3 (#145979) 2025-06-02 07:53:58 +02:00
Marc Mueller
17542614b5 Update aiohttp-cors to 0.8.1 (#145976)
* Update aiohttp-cors to 0.8.1

* Fix mypy
2025-06-02 07:52:23 +02:00
Marc Mueller
885367e690 Update coverage to 7.8.2 (#145983) 2025-06-02 07:47:56 +02:00
Marc Mueller
f8c44aad25 Update pytest-cov to 6.1.1 (#145989) 2025-06-02 07:34:11 +02:00
Marc Mueller
2323cc2869 Update numpy to 2.2.6 (#145981) 2025-06-01 21:23:30 -07:00
Marc Mueller
7f0249bbf7 Update pytest-timeout to 2.4.0 (#145990) 2025-06-02 06:17:39 +02:00
Marc Mueller
7a23b778a4 Update pytest-xdist to 3.7.0 (#145991) 2025-06-02 06:16:17 +02:00
Marc Mueller
d910924032 Update syrupy to 4.9.1 (#145992) 2025-06-02 06:14:52 +02:00
Marc Mueller
0b93a8c2f2 Update types packages (#145993) 2025-06-02 06:13:08 +02:00
Marc Mueller
5e377b89fc Update pytest-asyncio to 1.0.0 (#145988)
* Update pytest-asyncio to 1.0.0

* Remove event_loop fixture uses
2025-06-02 06:12:22 +02:00
Marc Mueller
dd85a1e5f0 Update mypy-dev to 1.17.0a2 (#146002)
* Update mypy-dev to 1.17.0a2

* Fix
2025-06-02 06:06:38 +02:00
Simone Chemelli
b96a7aebcd Bump aioamazondevices to 3.0.4 (#145971) 2025-06-01 21:15:18 +02:00
Michael
3cfcf382da Bump aioimmich to 0.8.0 (#145908) 2025-06-01 21:14:19 +02:00
epenet
ed9fd2c643 Use async_load_fixture in async test functions (b-i) (#145714)
* Use async_load_fixture in async test functions (b-i)

* Adjust
2025-06-01 06:31:37 -07:00
epenet
a007e8dc26 Use async_load_fixture in async test functions (l-z) (#145717)
* Use async_load_fixture in async test functions (l-z)

* Adjust
2025-06-01 06:29:17 -07:00
TimL
b318644998 Bump pysmlight to v0.2.5 (#145949) 2025-06-01 03:14:08 +02:00
Ståle Storø Hauknes
0434eea3ab Add sound pressure to Airthings (#145946)
Add sound pressure
2025-06-01 02:05:19 +02:00
Bram Kragten
06d869aaa5 Bump version to 2025.6.0b4 2025-05-31 21:25:06 +02:00
Josef Zweck
907cebdd6d Increase update intervals in lamarzocco (#145939) 2025-05-31 21:25:02 +02:00
Josef Zweck
745902bc7e Bump pylamarzocco to 2.0.8 (#145938) 2025-05-31 21:25:01 +02:00
Bram Kragten
ef0b3c9f9c Update frontend to 20250531.0 (#145933) 2025-05-31 21:25:00 +02:00
J. Nick Koston
532c077ddf Bump aiohttp to 3.12.6 (#145919)
* Bump aiohttp to 3.12.5

changelog: https://github.com/aio-libs/aiohttp/compare/v3.12.4...v3.12.5

* .6

* fix mock
2025-05-31 21:24:59 +02:00
tronikos
cd905a6593 Bump opower to 0.12.3 (#145918) 2025-05-31 21:24:59 +02:00
Josef Zweck
d0bf9d9bfb Move server device creation to init in jellyfin (#145910)
* Move server device creation to init in jellyfin

* move device creation to after coordinator refresh
2025-05-31 21:24:58 +02:00
Jordan Harvey
ddc79a631d Bump pyprobeplus to 1.0.1 (#145897) 2025-05-31 21:24:57 +02:00
Simon Lamon
6015f60db4 Bump python-linkplay to v0.2.9 (#145892) 2025-05-31 21:24:57 +02:00
Iskra kranj
a6608bd7ea Bump pyiskra to 0.1.19 (#145889) 2025-05-31 21:24:56 +02:00
Brett Adams
fb2d8c6406 Add streaming to charge cable connected in Teslemetry (#145880) 2025-05-31 21:24:55 +02:00
Brett Adams
c84ffb54d2 Bump tesla-fleet-api to 1.1.1. (#145869)
bump
2025-05-31 21:24:54 +02:00
Samuel Xiao
306bbdc697 Bump switchbot-api to 2.4.0 (#145786)
* update switchbot-api version to 2.4.0

* debug for test code
2025-05-31 21:24:54 +02:00
Robert Resch
9879ecad85 Deprecate snips integration (#145784) 2025-05-31 21:24:53 +02:00
Joost Lekkerkerker
f0fcef5744 Add more Amazon Devices DHCP matches (#145776) 2025-05-31 21:24:52 +02:00
Josef Zweck
c19b984660 Increase update intervals in lamarzocco (#145939) 2025-05-31 20:25:57 +02:00
Josef Zweck
0d6bb8a325 Bump pylamarzocco to 2.0.8 (#145938) 2025-05-31 20:25:47 +02:00
Joost Lekkerkerker
094b969301 Add more Amazon Devices DHCP matches (#145776) 2025-05-31 20:25:24 +02:00
Brett Adams
ddef6fdb98 Add streaming to charge cable connected in Teslemetry (#145880) 2025-05-31 20:01:10 +02:00
Robert Resch
cabf7860b3 Deprecate snips integration (#145784) 2025-05-31 20:00:34 +02:00
Bram Kragten
0c0a2403e5 Update frontend to 20250531.0 (#145933) 2025-05-31 17:54:36 +02:00
tronikos
be6c3d8bbd Bump opower to 0.12.3 (#145918) 2025-05-31 11:22:49 +02:00
Josef Zweck
c01536ee58 Move server device creation to init in jellyfin (#145910)
* Move server device creation to init in jellyfin

* move device creation to after coordinator refresh
2025-05-31 11:19:32 +02:00
J. Nick Koston
a9f36a50e4 Bump aiohttp to 3.12.6 (#145919)
* Bump aiohttp to 3.12.5

changelog: https://github.com/aio-libs/aiohttp/compare/v3.12.4...v3.12.5

* .6

* fix mock
2025-05-31 11:12:00 +02:00
Samuel Xiao
6d11c0395f Bump switchbot-api to 2.4.0 (#145786)
* update switchbot-api version to 2.4.0

* debug for test code
2025-05-30 20:22:40 +02:00
Brett Adams
66bb638dd0 Bump tesla-fleet-api to 1.1.1. (#145869)
bump
2025-05-30 20:21:51 +02:00
Iskra kranj
0d72bfef70 Bump pyiskra to 0.1.19 (#145889) 2025-05-30 20:21:14 +02:00
markhannon
6e44552d41 Minor cleanup of Zimi Integration (#144293) 2025-05-30 19:53:33 +02:00
Simon Lamon
9ec02633b3 Bump python-linkplay to v0.2.9 (#145892) 2025-05-30 19:35:08 +02:00
Jordan Harvey
5d340332bf Bump pyprobeplus to 1.0.1 (#145897) 2025-05-30 19:33:03 +02:00
Bram Kragten
aa8a6058b5 Bump version to 2025.6.0b3 2025-05-30 12:56:51 +02:00
J. Diego Rodríguez Royo
48103bd244 Bump aiohomeconnect to 0.17.1 (#145873) 2025-05-30 12:56:45 +02:00
Robert Resch
600ac17a5f Deprecate sms integration (#145847) 2025-05-30 12:56:44 +02:00
Michael
d46f28792c Bump aioimmich to 0.7.0 (#145845) 2025-05-30 12:56:43 +02:00
starkillerOG
0f7379c941 Reolink fallback to download command for playback (#145842) 2025-05-30 12:56:43 +02:00
J. Nick Koston
4317fad798 Bump aiohttp to 3.12.4 (#145838) 2025-05-30 12:56:42 +02:00
J. Nick Koston
5cfccb7e1d Bump aiohttp to 3.12.3 (#145837) 2025-05-30 12:56:41 +02:00
Matthew FitzGerald-Chamberlain
097eecd78a Bump pyaprilaire to 0.9.1 (#145836) 2025-05-30 12:56:40 +02:00
Brett Adams
64b4642c49 Fix Tessie volume max and step (#145835)
* Use fixed volume max and step

* Update snapshot
2025-05-30 12:56:39 +02:00
Michael
0e87d14ca8 Use mime type provided by Immich (#145830)
use mime type from immich instead of guessing it
2025-05-30 12:56:38 +02:00
Josef Zweck
4d22b35a9f Bump aiotedee to 0.2.23 (#145822)
* Bump aiotedee to 0.2.23

* update snapshot
2025-05-30 12:56:37 +02:00
G Johansson
26586b4514 Fix language selections in workday (#145813) 2025-05-30 12:56:36 +02:00
Robert Resch
95fb2a7d7f Deprecate decora integration (#145807) 2025-05-30 12:56:35 +02:00
Robert Resch
fa66ea31d3 Deprecate tensorflow (#145806)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-05-30 12:56:34 +02:00
André Lersveen
e0d3b819e5 Set correct nobo_hub max temperature (#145751)
Max temperature 30°C is implemented upstream in pynobo and the Nobø Energy Hub app also stops at 30°C.
2025-05-30 12:56:34 +02:00
J. Diego Rodríguez Royo
1e973c1d74 Bump aiohomeconnect to 0.17.1 (#145873) 2025-05-30 01:40:11 +02:00
starkillerOG
618ada64f8 Ensure Reolink host device is setup first (#145843) 2025-05-29 19:32:21 +02:00
Robert Resch
2d6802e06a Deprecate tensorflow (#145806)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-05-29 14:35:35 +01:00
starkillerOG
9687a34a70 Reolink fallback to download command for playback (#145842) 2025-05-29 15:31:50 +02:00
Michael
5ba0ceb6c2 Bump aioimmich to 0.7.0 (#145845) 2025-05-29 15:30:02 +02:00
G Johansson
d8e3e88c63 Fix language selections in workday (#145813) 2025-05-29 15:28:54 +02:00
Robert Resch
d1d1bca29d Deprecate sms integration (#145847) 2025-05-29 14:12:51 +02:00
Michael
80189495c5 Use mime type provided by Immich (#145830)
use mime type from immich instead of guessing it
2025-05-29 10:28:02 +02:00
Josef Zweck
cad6c72cfa Bump aiotedee to 0.2.23 (#145822)
* Bump aiotedee to 0.2.23

* update snapshot
2025-05-29 10:35:05 +03:00
J. Nick Koston
23ac22e213 Remove default args to ESPHome test fixture calls (#145840) 2025-05-29 01:45:37 -05:00
J. Nick Koston
55e664fc0d Bump aiohttp to 3.12.4 (#145838) 2025-05-28 21:08:01 -05:00
Brett Adams
881ce45afa Fix Tessie volume max and step (#145835)
* Use fixed volume max and step

* Update snapshot
2025-05-29 03:58:29 +02:00
André Lersveen
b80195df81 Set correct nobo_hub max temperature (#145751)
Max temperature 30°C is implemented upstream in pynobo and the Nobø Energy Hub app also stops at 30°C.
2025-05-29 03:52:05 +02:00
Matthew FitzGerald-Chamberlain
e57ce0a9df Bump pyaprilaire to 0.9.1 (#145836) 2025-05-29 03:43:28 +02:00
J. Nick Koston
ff66ad7705 Bump aiohttp to 3.12.3 (#145837) 2025-05-28 19:38:06 -05:00
Robert Resch
33e98ebffa Remove decora-wifi from excluded requirements (#145832) 2025-05-29 00:14:38 +02:00
Robert Resch
8fd9e2046e Deprecate decora integration (#145807) 2025-05-28 23:54:48 +02:00
Bram Kragten
17a0b4f3d0 Bump version to 2025.6.0b2 2025-05-28 23:18:38 +02:00
Bram Kragten
d0d228d9f4 Update frontend to 20250528.0 (#145828)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-05-28 23:18:33 +02:00
Michael
309acb961b Fix Immich media source browsing with multiple config entries (#145823)
fix media source browsing with multiple config entries
2025-05-28 23:18:32 +02:00
Michael Hansen
12f8ebb3ea Bump intents to 2025.5.28 (#145816) 2025-05-28 23:18:32 +02:00
David Bonnes
612861061c Fix HOMEASSISTANT_STOP unsubscribe in data update coordinator (#145809)
* initial commit

* a better approach

* Add comment
2025-05-28 23:18:31 +02:00
Robert Resch
83af5ec36b Deprecate keyboard integration (#145805) 2025-05-28 23:18:30 +02:00
starkillerOG
74102d0319 Bump reolink-aio to 0.13.4 (#145799) 2025-05-28 23:18:29 +02:00
Robert Resch
fbd05a0fcf Deprecate lirc integration (#145797) 2025-05-28 23:18:29 +02:00
Robert Resch
a53c786fe0 Deprecate pandora integration (#145785) 2025-05-28 23:18:28 +02:00
Josef Zweck
eb2728e5b9 Fix uom for prebrew numbers in lamarzocco (#145772) 2025-05-28 23:18:27 +02:00
J. Diego Rodríguez Royo
3f17223387 Add more information about possible hostnames at Home Connect (#145770) 2025-05-28 23:18:26 +02:00
Robert Resch
74104cf107 Deprecate GStreamer integration (#145768) 2025-05-28 23:18:25 +02:00
Robert Resch
13b4879723 Deprecate dlib image processing integrations (#145767) 2025-05-28 23:18:25 +02:00
Erik Montnemery
f1ec0b2c59 Handle late abort when creating subentry (#145765)
* Handle late abort when creating subentry

* Move error handling to the base class

* Narrow down expected error in test
2025-05-28 23:18:24 +02:00
Josef Zweck
6d44daf599 Bump pylamarzocco to 2.0.7 (#145763) 2025-05-28 23:18:23 +02:00
Joost Lekkerkerker
644a6f5569 Add more Amazon Devices DHCP matches (#145754) 2025-05-28 23:18:22 +02:00
Abílio Costa
fb83396522 Add Shelly zwave virtual integration (#145749) 2025-05-28 23:18:22 +02:00
Raphael Hehl
e825bd0bdb Bump uiprotect to version 7.10.1 (#145737)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-05-28 23:18:21 +02:00
G Johansson
61823ec7e2 Fix dns resolver error in dnsip config flow validation (#145735)
Fix dns resolver error in dnsip
2025-05-28 23:18:20 +02:00
Michael
cd133cbbe3 Add level of collections in Immich media source tree (#145734)
* add layer for collections in media source tree

* re-arange tests, add test for collection layer

* fix
2025-05-28 23:18:19 +02:00
Erik Montnemery
0e7a1bb76c Make async_remove_stale_devices_links_keep_entity_device move entities (#145719)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-28 23:18:18 +02:00
Josef Zweck
f86bf69ebc Update otp description for amazon_devices (#145701)
* Update otp description from amazon_devices

* separate

* Update strings.json
2025-05-28 23:18:18 +02:00
Jan Bouwhuis
adddf330fd Ensure mqtt sensor unit of measurement validation for state class measurement_angle (#145648) 2025-05-28 23:18:17 +02:00
Bram Kragten
32c2f47ab5 Update frontend to 20250528.0 (#145828)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-05-28 23:17:14 +02:00
Ståle Storø Hauknes
e2fc2dce84 Move Airthings coordinator to separate module (#145827)
* Create coordinator

* Fix sensor.py
2025-05-28 22:38:33 +02:00
Michael
afa97f8ec1 Add level of collections in Immich media source tree (#145734)
* add layer for collections in media source tree

* re-arange tests, add test for collection layer

* fix
2025-05-28 20:51:27 +02:00
Michael
2708c1c94c Fix Immich media source browsing with multiple config entries (#145823)
fix media source browsing with multiple config entries
2025-05-28 20:49:20 +02:00
Michael Hansen
d76ed6a3c2 Bump intents to 2025.5.28 (#145816) 2025-05-28 21:14:13 +03:00
epenet
695f69bd90 Remove unnecessary DOMAIN alias in tests (e-k) (#145818) 2025-05-28 21:06:25 +03:00
epenet
7da8e24e21 Remove unnecessary DOMAIN alias in tests (a-d) (#145817) 2025-05-28 21:00:38 +03:00
David Bonnes
9d0fc0d513 Fix HOMEASSISTANT_STOP unsubscribe in data update coordinator (#145809)
* initial commit

* a better approach

* Add comment
2025-05-28 17:52:51 +01:00
Robert Resch
ca567aa7fc Deprecate lirc integration (#145797) 2025-05-28 17:28:37 +01:00
Robert Resch
27af2d8ec6 Deprecate keyboard integration (#145805) 2025-05-28 17:22:18 +02:00
Lennart Nederstigt
59ea6f375a Add hardwired chime toggle to Reolink Battery Doorbell (#145779)
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
2025-05-28 17:10:38 +02:00
Marc Mueller
6c365c94ed Update sqlalchemy to 2.0.41 (#145790) 2025-05-28 16:39:10 +02:00
Marc Mueller
6693fc764f Update httpcore to 1.0.9 and h11 to 0.16.0 (#145789) 2025-05-28 16:35:11 +02:00
starkillerOG
e855b6c2bc Bump reolink-aio to 0.13.4 (#145799) 2025-05-28 16:33:20 +02:00
Abílio Costa
23a1dddc23 Add Shelly zwave virtual integration (#145749) 2025-05-28 14:56:47 +01:00
epenet
bd5fef1ddb Use async_load_fixture in async test functions (a) (#145718) 2025-05-28 15:51:49 +02:00
epenet
c3ade400fb Use Platform constant in tests (#145801)
* Use Platform constant in tests

* spelling

* Fix platform
2025-05-28 15:51:37 +02:00
epenet
1889f0ef66 Use Platform constant in hue tests (#145798) 2025-05-28 14:43:48 +02:00
epenet
6b28af8282 Remove unnecessary DOMAIN alias in components (#145791) 2025-05-28 14:04:35 +02:00
Robert Resch
f59001d45f Deprecate pandora integration (#145785) 2025-05-28 13:12:55 +02:00
Erik Montnemery
a857461059 Handle late abort when creating subentry (#145765)
* Handle late abort when creating subentry

* Move error handling to the base class

* Narrow down expected error in test
2025-05-28 12:26:28 +02:00
epenet
e4cc842584 Use async_load_json_(array/object)_fixture in async test functions (#145773) 2025-05-28 12:09:05 +02:00
Robert Resch
bb52058920 Deprecate GStreamer integration (#145768) 2025-05-28 11:16:08 +02:00
J. Diego Rodríguez Royo
c1676570da Add more information about possible hostnames at Home Connect (#145770) 2025-05-28 10:57:01 +02:00
G Johansson
4858b2171e Modernize tests for smhi (#139334)
* Modernize tests for smhi

* Fixes

* Mods

* Fix weather

* Coverage 100%

* Fix init test

* Fixes

* Fixes

* Remove waits
2025-05-28 10:56:07 +02:00
Jan Bouwhuis
192aa76cd7 Ensure mqtt sensor unit of measurement validation for state class measurement_angle (#145648) 2025-05-28 10:16:40 +02:00
Josef Zweck
ddf611bfdf Fix uom for prebrew numbers in lamarzocco (#145772) 2025-05-28 10:15:24 +02:00
Robert Resch
3164394982 Deprecate dlib image processing integrations (#145767) 2025-05-28 09:58:44 +02:00
Josef Zweck
b250a03ff5 Bump pylamarzocco to 2.0.7 (#145763) 2025-05-28 09:39:33 +02:00
dependabot[bot]
2dd7f035f6 Bump docker/build-push-action from 6.17.0 to 6.18.0 (#145764)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-28 09:10:37 +02:00
Joost Lekkerkerker
2c08b3f30c Add more Amazon Devices DHCP matches (#145754) 2025-05-28 08:43:59 +02:00
Josef Zweck
c3ec30ce3b Update otp description for amazon_devices (#145701)
* Update otp description from amazon_devices

* separate

* Update strings.json
2025-05-28 08:13:28 +02:00
Erik Montnemery
9d4375ca76 Make async_remove_stale_devices_links_keep_entity_device move entities (#145719)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-27 23:00:52 +02:00
Raphael Hehl
3870b87db9 Bump uiprotect to version 7.10.1 (#145737)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-05-27 22:58:46 +02:00
Joost Lekkerkerker
ff2fd7e9ef Add DHCP discovery to LG ThinQ (#145746) 2025-05-27 16:45:30 -04:00
G Johansson
719dd09eb3 Fix dns resolver error in dnsip config flow validation (#145735)
Fix dns resolver error in dnsip
2025-05-27 22:17:34 +02:00
Bram Kragten
10adb57b83 Bump version to 2025.6.0b1 2025-05-27 22:16:13 +02:00
Bram Kragten
3160fe9abc Update frontend to 20250527.0 (#145741) 2025-05-27 22:14:02 +02:00
Erwin Douna
6adb27d173 Tado update mobile devices interval (#145738)
Update the mobile devices interval to five minutes
2025-05-27 22:14:01 +02:00
Joost Lekkerkerker
6e6aae2ea3 Fix unbound local variable in Acmeda config flow (#145729) 2025-05-27 22:14:00 +02:00
Kevin Stillhammer
41a140d16c Debug log the update response in google_travel_time (#145725)
Debug log the update response
2025-05-27 22:14:00 +02:00
Kevin Stillhammer
8880ab6498 Catch PermissionDenied(Route API disabled) in google_travel_time (#145722)
Catch PermissionDenied(Route API disabled)
2025-05-27 22:13:59 +02:00
Martin Hjelmare
389becc4f6 Disable advanced window cover position Matter sensor by default (#145713)
* Disable advanced window cover position Matter sensor by default

* Enanble disabled sensors in snapshot test
2025-05-27 22:13:58 +02:00
Martin Hjelmare
923530972a Remove static pin code length Matter sensors (#145711)
* Remove static Matter sensors

* Clean up translation strings
2025-05-27 22:13:57 +02:00
Martin Hjelmare
b84850df9f Fix error stack trace for HomeAssistantError in websocket service call (#145699)
* Add test

* Fix error stack trace for HomeAssistantError in websocket service call
2025-05-27 22:13:56 +02:00
Joost Lekkerkerker
9e7dc1d11d Use string type for amazon devices OTP code (#145698) 2025-05-27 22:13:56 +02:00
Petar Petrov
2830ed6147 Change description on recommended/custom Z-Wave install step (#145688)
Change description on recommended/custom Z-WaveJS step
2025-05-27 22:13:55 +02:00
Petar Petrov
bfa919d078 Remove confirm screen after Z-Wave usb discovery (#145682)
* Remove confirm screen after Z-Wave usb discovery

* Simplify async_step_usb
2025-05-27 22:13:54 +02:00
Jan Bouwhuis
f09c28e61f Fix justnimbus CI test (#145681) 2025-05-27 22:13:54 +02:00
J. Nick Koston
bfdba7713e Bump aiohttp to 3.12.2 (#145671) 2025-05-27 22:13:53 +02:00
Kevin Stillhammer
d6cadc1e3f Support addresses with comma in google_travel_time (#145663)
Support addresses with comma
2025-05-27 22:13:52 +02:00
Joost Lekkerkerker
20a6a3f195 Handle Google Nest DHCP flows (#145658)
* Handle Google Nest DHCP flows

* Handle Google Nest DHCP flows
2025-05-27 22:13:51 +02:00
Joost Lekkerkerker
f60de45b52 Fix Amazon devices offline handling (#145656) 2025-05-27 22:13:50 +02:00
Joost Lekkerkerker
77031d1ae4 Fix Aquacell snapshot (#145651) 2025-05-27 22:13:49 +02:00
Jan Bouwhuis
9483a88ee1 Fix translation for sensor measurement angle state class (#145649) 2025-05-27 22:13:48 +02:00
Bram Kragten
2cf2613dbd Update frontend to 20250527.0 (#145741) 2025-05-27 22:12:07 +02:00
Jan Bouwhuis
181a3d142e Revert "squeezebox Better result for testing (#144622)" (#145739)
This reverts commit 987af8f7df.
2025-05-27 21:36:51 +02:00
Elias Wernicke
c20ad5fde1 Add complete intent function for shopping list component (#128565)
* add intent

* add tests

* raise IntentHandleError

* add check for non completed

* Prefer completing non complete items

* cleanup

* cleanup tests

* rename test

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>

* remove duplicated test

* update test

* complete all items

* fix event

* remove type def

* return speech slots

---------

Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-05-27 14:35:14 -05:00
Erwin Douna
4fcebf18dc Tado update mobile devices interval (#145738)
Update the mobile devices interval to five minutes
2025-05-27 21:27:52 +02:00
Joost Lekkerkerker
a6e04be076 Remove niko_home_control YAML import (#145732) 2025-05-27 19:58:05 +02:00
Erwin Douna
330a8e197d MELCloud remove deprecated YAML import strings (#145731)
Remove deprecated YAML import strings
2025-05-27 19:50:31 +02:00
Joost Lekkerkerker
4300e846e6 Fix unbound local variable in Acmeda config flow (#145729) 2025-05-27 19:29:04 +02:00
Kevin Stillhammer
07fd1f99df Support addresses with comma in google_travel_time (#145663)
Support addresses with comma
2025-05-27 18:53:45 +02:00
Kevin Stillhammer
481639bcf9 Catch PermissionDenied(Route API disabled) in google_travel_time (#145722)
Catch PermissionDenied(Route API disabled)
2025-05-27 18:45:49 +02:00
Martin Hjelmare
376008940b Disable advanced window cover position Matter sensor by default (#145713)
* Disable advanced window cover position Matter sensor by default

* Enanble disabled sensors in snapshot test
2025-05-27 17:46:21 +02:00
epenet
b2c2db3394 Add check for transient packages restricting Python version (#145695) 2025-05-27 17:45:51 +02:00
Kevin Stillhammer
a636e38d24 Debug log the update response in google_travel_time (#145725)
Debug log the update response
2025-05-27 17:44:48 +02:00
Martin Hjelmare
ae1294830c Remove static pin code length Matter sensors (#145711)
* Remove static Matter sensors

* Clean up translation strings
2025-05-27 17:35:11 +02:00
Robin Lintermann
d87fdf028b Improve smarla base entity (#145710) 2025-05-27 15:58:19 +02:00
Petar Petrov
6f5d5d4cdb Change text of installing and starting Z-WaveJs add-on steps (#145702) 2025-05-27 14:51:22 +02:00
epenet
12fdd7034a Simplify boolean check in onewire (#145700) 2025-05-27 13:30:44 +02:00
Martin Hjelmare
f295d72cd9 Fix error stack trace for HomeAssistantError in websocket service call (#145699)
* Add test

* Fix error stack trace for HomeAssistantError in websocket service call
2025-05-27 12:54:57 +02:00
Petar Petrov
2605fda185 Remove confirm screen after Z-Wave usb discovery (#145682)
* Remove confirm screen after Z-Wave usb discovery

* Simplify async_step_usb
2025-05-27 12:53:30 +02:00
Joost Lekkerkerker
2189dc3e2a Use string type for amazon devices OTP code (#145698) 2025-05-27 12:33:02 +02:00
Franck Nijhof
8364d8a2e3 Bump version to 2025.7.0dev0 (#145647)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-27 10:59:34 +02:00
epenet
96c9636086 Add check for packages restricting Python version (#145690)
* Add check for packages restricting Python version

* Apply suggestions from code review

* until

* until
2025-05-27 10:44:00 +02:00
Petar Petrov
7b1dfc35d1 Change description on recommended/custom Z-Wave install step (#145688)
Change description on recommended/custom Z-WaveJS step
2025-05-27 10:04:29 +02:00
Norbert Rittel
2e94730491 Replace "Invalid API key" with common string in overseerr (#145689)
Replace "Invalid API key" with common string
2025-05-27 09:56:16 +02:00
Markus Adrario
11c6998bf2 Add homee siren platform (#145675)
* port siren.py from custom component

* Add Siren Tests

* last small nits
2025-05-27 09:48:59 +02:00
epenet
055a024d10 Add async-timeout to forbidden packages (#145679) 2025-05-27 08:57:35 +02:00
Joost Lekkerkerker
f73afd71fd Fix Amazon devices offline handling (#145656) 2025-05-27 08:49:25 +02:00
Jan Bouwhuis
ec64194ab9 Fix justnimbus CI test (#145681) 2025-05-27 08:48:06 +02:00
karwosts
d49a613c62 Add read_only entity_id to Trend options flow (#145657) 2025-05-27 08:42:08 +02:00
Artur Pragacz
6fc064fa6a Test that recorder is not promoted to earlier stage in bootstrap (#142695)
Test that recorder is not promoted to earlier stage
2025-05-27 08:23:39 +02:00
Artur Pragacz
b36b591ccf Improve error message for global timeout (#141563)
* Improve error message for global timeout

* Add test

* Message works with zone too
2025-05-27 07:49:18 +02:00
J. Nick Koston
d25ba79427 Bump aiohttp to 3.12.2 (#145671) 2025-05-26 21:58:46 -05:00
Joost Lekkerkerker
df35f30321 Handle Google Nest DHCP flows (#145658)
* Handle Google Nest DHCP flows

* Handle Google Nest DHCP flows
2025-05-26 15:01:35 -07:00
Jan Bouwhuis
1e3d06a993 Fix translation for sensor measurement angle state class (#145649) 2025-05-26 22:47:53 +01:00
Florian von Garrel
2ee6bf7340 Add update platform to paperless integration (#145638)
* Add uüdate platform to paperless integration

* Add tests to paperless

* Add translation

* Fixed update unavailable

* Fetch remote version in update platform

* changed diagnostics

* changed diagnostic data

* Code quality

* revert changes

* code quality
2025-05-26 23:24:53 +02:00
Joost Lekkerkerker
13a8e5e021 Fix Aquacell snapshot (#145651) 2025-05-26 23:08:07 +02:00
Franck Nijhof
3438a4f063 Bump version to 2025.6.0b0 2025-05-26 20:31:18 +00:00
Markus Jacobsen
9a73006681 Simplify Bang & Olufsen testing setup (#139830)
* Add and use integration fixture

* Simplify WebSocket testing

* Remove integration fixture return value

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 22:14:27 +02:00
Joost Lekkerkerker
4aade14c9e Fix CI (#145644)
* Fix CI

* Fix CI
2025-05-26 21:55:33 +02:00
epenet
8abbd35c54 Add ability to load test fixtures on the executor (#144534) 2025-05-26 21:50:28 +02:00
Allen Porter
34f92d584b Bump gcal_sync to 7.1.0 (#145642) 2025-05-26 21:48:13 +02:00
Guido Schmitz
a7919c5ce7 Move coordinator and getting data closer together in devolo Home Network (#144814) 2025-05-26 21:44:45 +02:00
ngolf
405725f8ee Add last update to aquacell (#143661) 2025-05-26 21:43:55 +02:00
Cerallin
393ea0251b Add add_package action to seventeentrack (#144488)
* Fix schema name, add_packages -> get_packages

* Add "add_package" service

* Update description

* Update descriptions
2025-05-26 21:40:12 +02:00
LG-ThinQ-Integration
cdd3ce428f Add select for ventilator's control (#140849)
* Add select for ventilator's control

* Removed wind_strength and it will be provided by fan

---------

Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-05-26 21:37:05 +02:00
wittypluck
b17d62177c Add Air Pollution support to OpenWeatherMap (#137949)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 21:34:48 +02:00
tdfountain
16394061cb Add additional outlet sensors to NUT (#143309)
Add outlet sensors for current, power, and real powre
2025-05-26 21:34:15 +02:00
Jan Bouwhuis
b1403838bb Add translation string and references for sensor Measurement Angle state class (#145639) 2025-05-26 21:22:10 +02:00
jukrebs
e857db281f Set new IOmeter datacoordinator debouncer cooldown (#143665) 2025-05-26 21:21:35 +02:00
Sören Beye
5f63612b66 Increase resolution of sun updates around sunrise/sundown (#140403) 2025-05-26 21:20:18 +02:00
Phill (pssc)
987af8f7df squeezebox Better result for testing (#144622) 2025-05-26 21:16:11 +02:00
Matthew FitzGerald-Chamberlain
0ab7d46d7c Support AprilAire humidifier auto mode (#144647) 2025-05-26 21:15:40 +02:00
peteS-UK
072d0dc567 Update coordinator logging levels for Squeezebox (#144620) 2025-05-26 21:14:15 +02:00
Jason Mahdjoub
9b9d4d7dab Set correct state_class for battery_stored and increase timeout to prevent Imeon integration disconnections (#144925) 2025-05-26 21:13:47 +02:00
Gaylord GIRARD
84305563ab Add state class measurement to Freebox rate sensors (#142757)
* Update sensor.py

Update sensor.py to add state_class=SensorStateClass.MEASUREMENT as per long-term-statistics requierment

* Update sensor.py

remove duplicate import of SensorStateClass in freebox sensor to satisfy ruff

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 21:13:35 +02:00
Brett Adams
db489a5069 Improve device tracker platform in Teslemetry (#145268) 2025-05-26 21:12:39 +02:00
Allen Porter
2ef0a8557f Bump ical to 9.2.5 (#145636) 2025-05-26 21:12:05 +02:00
Brett Adams
001164ce1b Remove available property for streaming in Teslemetry (#145352) 2025-05-26 21:11:35 +02:00
karwosts
848eb797e0 Add read_only selectors to Filter Options Flow (#145526) 2025-05-26 21:08:30 +02:00
asafhas
fd4dafaac5 Fix trigger condition and alarm message in Tuya Alarm (#132963)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-26 21:05:09 +02:00
Erwin Douna
0b6ea36e24 Add Tado user agent (#145637) 2025-05-26 21:04:46 +02:00
Claudio Ruggeri - CR-Tech
b667fb2728 Fix NaN values in Modbus slaves sensors (#139969)
* Fix NaN values in Modbus slaves sensors

* fixXbdraco
2025-05-26 21:04:38 +02:00
J. Diego Rodríguez Royo
2dc2b0ffac Delete Home Connect program switches related strings (#144610) 2025-05-26 21:02:27 +02:00
Dave Ingram
d6375a79a1 Expose filter/pump timers for Tuya pet fountains (#131863)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-26 21:01:45 +02:00
Speak to the Geek
c36f8c38ae YouTube Component - Enable SensorStateClass for Long Term Statistic Support (#142670)
* Youtube Component Support SensorStateClass in sensor.py

Added support for long term statistics by including the appropriate state class type for subscriber and view counts.

* Update sensor.py

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 20:59:07 +02:00
Chuck Deal
c4485c1814 Add Sunbeam Dual Zone Heated Bedding to Tuya integration (#135405) 2025-05-26 20:58:11 +02:00
Joost Lekkerkerker
e2a916ff9d Make sure we can set up OAuth based integrations via discovery (#145144) 2025-05-26 20:48:07 +02:00
Joost Lekkerkerker
a2b02537a6 Add deprecation issues for supervised and core installation methods (#145323)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-26 20:45:12 +02:00
thargor
b8a96d2a76 update pyfronius to 0.8.0 (#141984) 2025-05-26 20:23:41 +02:00
David Poll
670e8dd434 Add as_function to allow macros to return values (#142033) 2025-05-26 20:22:45 +02:00
Florian von Garrel
27b0488f05 Update Paperless strings (#145633)
* minor changed

* Update snapshots
2025-05-26 19:53:54 +02:00
Simone Chemelli
6003f3d135 Add action exceptions to UptimeRobot integration (#143587)
* Add action exceptions to UptimeRobot integration

* fix tests and strings
2025-05-26 19:47:46 +02:00
epenet
c3dec7fb2f Add ability to set exceptions in dependency version checks (#145442)
* Add ability to set exceptions in dependency version checks

* Fix message

* Improve

* Auto-load from requirements.txt

* Revert "Auto-load from requirements.txt"

This reverts commit f893d4611a4b6ebedccaa639622c3f8f4ea64005.
2025-05-26 19:45:26 +02:00
TheJulianJES
cfa4d37909 Add icons for ZHA fan modes (#145634) 2025-05-26 19:44:31 +02:00
Bram Kragten
8ce3ead782 Update frontend to 20250526.0 (#145628) 2025-05-26 19:44:22 +02:00
Abílio Costa
b626204f63 Add default device class display precision for Sensor (#145013)
* Add default device class display precision for Sensor

* Renaming, docstrings, cleanup

* Simplify units list

* Fix tests

* Fix missing precision when suggested is specified

* Update snapshots

* Fix when unit of measurement is not valid

* Fix tests

* Fix deprecated unit usage

* Fix goalzero tests

The sensor native_value method was accessing the data dict and trowing,
since the mock did not have any data for the sensors.

Since now the precision is always specified (it was missing for those
sensors), the throw was hitting async_update_entity_options in _update_suggested_precision.
Previously, async_update_entity_options was not called since it had no
precision.

* Fix metoffice

* Fix smartthings

* Add default sensor data for Tesla Wall Connector tests

* Update snapshots

* Revert spaces

* Update smartthings snapshots

* Add missing sensor mock for tesla wall connector

* Address review comments

* Add doc comment

* Add cap to doc comment

* Update comment

* Update snapshots

* Update comment
2025-05-26 19:40:29 +02:00
Joost Lekkerkerker
b15989f2bf Make tests less dependent on issue registry size (#145631)
* Make tests less dependent on issue registry size

* Make tests less dependent on issue registry size
2025-05-26 19:39:11 +02:00
Erik Montnemery
eec7666416 Update squeezebox test snapshots (#145632) 2025-05-26 19:35:07 +02:00
TheJulianJES
5ea6811d01 Add translation for ZHA light effect (#145630)
* Add translations for ZHA light effects

* Add icons for ZHA light effects

* Fix capitalization of "Color loop"

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-26 19:31:25 +02:00
Erik Montnemery
4e1d5fbeb0 Add WS command to help reset custom entity_id (#145504)
* Add WS command to help reset custom entity_id

* Calculate suggested object id from entity properties

* Fix logic and add additional tests

* Adjust test

* Update folder_watcher test

* Handle current entity id matches the automatic entity id

* Don't store calculated_object_id

* Update snapshots

* Update snapshots

* Update test

* Tweak logic for reusing current entity_id

* Improve test

* Don't assign same entity_id to several entities

* Prioritize custom entity name

* Update snapshots

* Update snapshots
2025-05-26 19:28:27 +02:00
Sid
bf92db6fd5 Add diagnostics to eheimdigital (#145382)
* Add diagnotics to eheimdigital

* Diagnostics are now with data in tests
2025-05-26 19:25:15 +02:00
Sid
03a26836ed Refactor eheimdigital tests to use fixtures (#145428) 2025-05-26 19:13:20 +02:00
Adrian Freund
99ebac5452 Add translation keys for zha fan states (#145629) 2025-05-26 19:02:52 +02:00
J. Nick Koston
01ea58eb9b Bump aiohttp to 3.12.1 (#145627)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.12.1rc0...v3.12.1

No changes since 3.12.1rc0, only the version number
2025-05-26 11:54:00 -05:00
epenet
039383ab22 Add pyserial-asyncio to forbidden packages (#145625) 2025-05-26 18:40:13 +02:00
Perchun Pak
8fb4f1f7f9 Update mcstatus to 12.0.1 in Minecraft Server (#144704)
Update mcstatus to 12.0.1
2025-05-26 18:39:13 +02:00
Simone Chemelli
15a7d13768 Use model details data from library for Amazon Devices (#145601)
* Log warning for unknown models for Amazon Devices

* use method from library

* apply review comment

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 18:24:23 +02:00
J. Nick Koston
51562e5ab4 Bump aiohttp to 3.12.1rc0 (#145624) 2025-05-26 11:05:26 -05:00
peteS-UK
8623d96deb Squeezebox add alarms support - switch platform. Part 1 (#141055)
* initial

* remove dupe name definition

* snapshot update

* name def updates

* test update for new entity name

* remove attributes

* icon translations

* merge fixes

* Snapshot update post merge

* update to class initialisation

* move entity delete to coordinator

* remove some comments

* move known_alarms to coordinator

* test_switch update for syrupy change

* listener and sets

* check self.available

* remove refresh from conftest

* test update

* test tweak

* move listener to switch platform

* updates revew

* SWITCH_DOMAIN
2025-05-26 17:41:28 +02:00
Sören Beye
3dc7b75e4b Allow nested schema validation in event automation trigger (#126771)
* Allow nested schema validation in event automation trigger

* Fix rfxtrx device trigger

* Don't create nested voluptuous schemas

* Fix editing mistake

* Fix format

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-26 17:34:13 +02:00
Florian von Garrel
c14d17f88c Add status sensors to paperless (#145591)
* Add first status sensor and coordinator

* New snapshot

* Add comment

* Add test for forbidden status endpoint

* Changed comment

* Fixed translation

* Minor changes and code optimization

* Add common translation; minor tweaks

* Moved translation from common to integration
2025-05-26 17:24:23 +02:00
Simone Chemelli
b7ce0f63a9 Add notify platform to Amazon Devices (#145589)
* Add notify platform to Amazon Devices

* apply review comment

* leftover

* tests leftovers

* remove sound notification

* missing await
2025-05-26 17:17:32 +02:00
Marcel van der Veldt
c2a5e1aaf9 Prefer source name in Music Assistant integration (#145622)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-26 17:07:05 +02:00
David Poll
13d7234f97 Add apply to make macros/callables useful in filters and tests (#144227) 2025-05-26 17:00:07 +02:00
avee87
ca50fca738 Add twice-daily forecasts to MetOffice (#145472) 2025-05-26 16:56:15 +02:00
epenet
acbfe54c7b Drop obsolete IGNORE_PIN in gen_requirements_all.py (#145487)
Drop IGNORE_PIN in gen_requirements_all.py
2025-05-26 16:49:42 +02:00
Robert Resch
49f9166646 Deprecate cups integration (#145615) 2025-05-26 16:48:41 +02:00
Åke Strandberg
42cacd28e7 Add tests to miele fan entity and api push data pathway (#144481)
* Use device class transation

* WIP

* Test api push

* Use constants

* Use callbacks registered with mock

* Add comment

* Adress review comments

* Empty commit

* Fix tests

* Updates after review
2025-05-26 16:38:41 +02:00
Marcel van der Veldt
6f9a39ab89 Add select source action to Music Assistant (#145619) 2025-05-26 16:28:18 +02:00
starkillerOG
0d81694640 Add event browsing to Reolink recordings (#144259) 2025-05-26 16:20:55 +02:00
epenet
109bcf362a Use shorthand attributes in xiaomi_miio (part 3) (#145617) 2025-05-26 16:16:18 +02:00
Erik Montnemery
0260a03447 Store information about add-ons and folders which could not be backed up (#145367)
* Store information about add-ons and folders which could not be backed up

* Address review comments
2025-05-26 16:07:33 +02:00
Simone Chemelli
0802fc8a21 Add switch platform to Amazon Devices (#145588)
* Add switch platform to Amazon Devices

* apply review comment

* make logic generic

* test cleanup
2025-05-26 16:01:11 +02:00
epenet
c346b932f0 Use shorthand attributes in xiaomi_miio (part 2) (#145616)
* Use shorthand attributes in xiaomi_miio (part 2)

* Brightness

* Is_on
2025-05-26 15:57:01 +02:00
avee87
a14f3ab6b1 Fix clear night weather condition for metoffice (#145470) 2025-05-26 15:43:28 +02:00
dontinelli
14cd00a116 Add user picture to fyta (#140934)
* Add user picture

* FYTA integration: Add separate entities for both default and user plant images (#12)

* Refactor FYTA integration to provide both default and user plant images as separate entities

* Refactor FYTA tests by removing unused CONF_USER_IMAGE option and related test cases

* Update FytaPlantImageEntity to set entity name based on image type

* Refactor FYTA image tests to accommodate separate plant and user image entities, updating assertions and snapshots accordingly.

* Enhance FYTA image handling by introducing FytaImageEntityDescription for better separation of plant and user images, and update image URL retrieval logic. Additionally, add localized strings for image entities in strings.json.

* Correct typo

* Update FYTA image snapshots to reflect changes in translation keys for plant and user images.

* Update homeassistant/components/fyta/image.py

* Update homeassistant/components/fyta/image.py

---------

Co-authored-by: dontinelli <73341522+dontinelli@users.noreply.github.com>

* Update QS + ruff

* Revert MINOR_VERSION increase and remove obsolete migration test

* Update snapshot

* Resolve comments

* Update snapshot

* Fix

---------

Co-authored-by: Alexander <chimera88@gmx.de>
2025-05-26 15:40:15 +02:00
Thomas D
486535c189 Add scene platform to Qbus integration (#144032)
* Add scene platform

* Remove updating last_activated

* Simplify device info

* Move _attr_name to specific classes

* Refactor device info

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-26 15:37:07 +02:00
Abílio Costa
54dce53628 Add sensor tests for device class enums (#145523) 2025-05-26 14:28:30 +01:00
starkillerOG
a3b7cd7b4d Implement NVR download for Reolink recordings (#144121) 2025-05-26 15:23:11 +02:00
Robin Lintermann
dafda420e5 Add smarla integration (#143081)
* Added smarla integration

* Apply suggested changes

* Bump pysmarlaapi version and reevaluate quality scale

* Focus on switch platform

* Bump pysmarlaapi version

* Change default name of device

* Code refactoring

* Removed obsolete reload function

* Code refactoring and clean up

* Bump pysmarlaapi version

* Refactoring and changed access token format

* Fix tests for smarla config_flow

* Update quality_scale

* Major rework of tests and refactoring

* Bump pysmarlaapi version

* Use object equality operator when applicable

* Refactoring

* Patch both connection objects

* Refactor tests

* Fix leaking tests

* Implemented full test coverage

* Bump pysmarlaapi version

* Fix tests

* Improve tests

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 15:21:23 +02:00
Yuxin Wang
68a4e1a112 Add reconfigure config flow to APCUPSD (#143801)
* Add reconfigure config flow

* Add reconfigure config flow

* Add more subtests for wrong device

* Reduce the patch scopes

* Address comments

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 15:10:30 +02:00
epenet
d3275c3833 Use shorthand attributes in xiaomi_miio (#145614) 2025-05-26 15:07:05 +02:00
Retha Runolfsson
2d5867cab6 Add switchbot air purifier support (#144552)
* add support for air purifier

* add unit tests for air purifier

* fix aqi translation

* fix aqi translation

* add air purifier table

* fix air purifier

* remove init and add options for aqi level
2025-05-26 15:06:33 +02:00
Retha Runolfsson
49cf66269c Set quality scale to 🥇 gold for switchbot integration (#144608)
* update quality scale

* update to gold
2025-05-26 15:06:07 +02:00
G Johansson
5642d6450f Add template to command args in command_line notify (#125170)
* Add template to command args in command_line notify

* coverage

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-05-26 15:05:44 +02:00
Sid
6ddc2193d6 Add exception handler and exception translations to eheimdigital (#145476)
* Add exception handler and exception translations to eheimdigital

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 15:05:11 +02:00
Jeef
5202bbb6af Update Weatherflow wind direction icons to use Ranged Icon Translation (#140166)
* feat: Wind direction icons

* optimize funciton

* float to int

* no-verify

* pre-change for icon translation changes

---------

Co-authored-by: Jeff Stein <6491743+jeffor@users.noreply.github.com>
2025-05-26 15:05:00 +02:00
avee87
39906cf65b Add state_class to metoffice sensors (#145496)
* Add state_class to metoffice sensors

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-26 15:04:26 +02:00
peteS-UK
c7745e0d02 Add support for SEARCH_MEDIA feature (#143261)
* initial

* initial

* add tests

* Update for list return

* translate exception

* tests for errors

* review tweaks

* test fix

* force content_type to lowercase

* Allow media_content_type = None

* new test
2025-05-26 15:01:17 +02:00
Simone Chemelli
1c1f5a779b Cleanup non-existing climate and humidifier devices for Comelit (#144624)
* Cleanup non-existing climate and humidifier devices for Comelit

* skip removing main hub device

* add tests

* complete tests

* improve logging

* fix post rebase

* apply  review comments

* typos

* fix identifiers

* fix ruff post merge

* clean post merge
2025-05-26 14:59:01 +02:00
Jan Rieger
ba0f6c3ba2 Add translations to Unifi Protect (#145548)
* Add translations to Unifi Protect

* address comments

* change `CO` to `CO alarm`
2025-05-26 14:56:55 +02:00
Andrea Turri
150110e221 add/fix miele program ids mapping (#145577)
* add/fix miele program ids mapping

* fix mistyped keys and base translations
2025-05-26 14:56:16 +02:00
Sasha Hilton
e95e9e1a33 bump starlink-grpc-core to 1.2.3 due to API change upstream (#145261) 2025-05-26 14:47:00 +02:00
epenet
c68ab714b7 Add init type hints to XiaomiMiioEntity derived entities (#145611) 2025-05-26 14:46:07 +02:00
epenet
2d2e0d0fb9 Add init type hints to XiaomiCoordinatedMiioEntity derived entities (#145612) 2025-05-26 14:45:55 +02:00
G Johansson
970359c6a0 Empty response returns empty list in Nord Pool (#145514) 2025-05-26 14:25:07 +02:00
Markus Adrario
e22fbe553b Add Homee event platform (#145569)
* add event.py

* Add strings and code improvements

* Add tests for event

* last fixes

* fix review comments

* update test snapshot
2025-05-26 14:00:30 +02:00
Petar Petrov
87c3e2c7ce Download backup if restore fails in Z-Wave migration (#145434)
* ZWaveJS migration: Download backup if restore fails

* update test

* PR comment
2025-05-26 13:56:37 +02:00
Petro31
13a6c13b89 Allow base64_encode to support bytes and strings (#145227) 2025-05-26 13:56:11 +02:00
epenet
cc504da03a Improve type hints in XiaomiGatewayDevice derived entities (#145605) 2025-05-26 13:21:00 +02:00
Petro31
25f3ab3640 Add from_hex filter (#145229) 2025-05-26 13:16:56 +02:00
Åke Strandberg
2cf09abb4c Fulfilled quality rules - gold and platinum tiers for Miele integration (#144773)
Fulfilled quality rules - gold and platinum tiers
2025-05-26 11:24:01 +02:00
Maciej Bieniek
c1c74a6f61 Mark Shelly quality as silver (#145610) 2025-05-26 12:22:46 +03:00
Avi Miller
8f9f531dd7 Bump aiolifx to 1.1.5 to improve the identification of LIFX Luna (#145416)
Signed-off-by: Avi Miller <me@dje.li>
2025-05-26 11:22:11 +02:00
Jan Bouwhuis
34d11521c0 Fix reference to "tilt command topic" in MQTT translation strings (#145563)
* Fix reference to "tilt command topic" in MQTT translation strings

* Missed one
2025-05-26 11:13:24 +02:00
Josef Zweck
561be22a60 Disable last cleaning sensor for gs3mp model in lamarzocco (#145576)
* Disable last cleaning sensor for gs3mp model in lamarzocco

* is comparison
2025-05-26 11:13:15 +02:00
Jan Bouwhuis
301d308d5a Add payload ON and OFF options to MQTT switch subentry component (#144627)
* Add payload ON and OFF options to MQTT switch component

* Add `state_on` and `state_off` options
2025-05-26 11:12:42 +02:00
Simone Chemelli
d975135a7c Improve Bluetooth binary_sensor for Amazon Devices (#145600)
Improve blueetooth binary_sensor for Amazon Devices
2025-05-26 11:00:09 +02:00
Simone Chemelli
19ee8886d6 Add more mac-addresses for Amazon Devices autodiscovery (#145598)
* Add more mac-addresses for Amazon Devices autodiscovery

* some more
2025-05-26 10:59:13 +02:00
Maciej Bieniek
7f4cc99a3e Use sub-devices for Shelly multi-channel devices (#144100)
* Shelly RPC sub-devices

* Better varaible name

* Add get_rpc_device_info helper

* Revert channel name changes

* Use get_rpc_device_info

* Add get_rpc_device_info helper

* Use get_block_device_info

* Use helpers in the button platform

* Fix channel name and roller mode for block devices

* Fix EM3 gen1

* Fix channel name for RPC devices

* Revert test changes

* Fix/improve test_block_get_block_channel_name

* Fix test_get_rpc_channel_name_multiple_components

* Fix tests

* Fix tests

* Fix tests

* Use key instead of index to generate sub-device identifier

* Improve logic for Pro RGBWW PM

* Split channels for em1

* Better channel name

* Cleaning

* has_entity_name is True

* Add get_block_sub_device_name() function

* Improve block functions

* Add get_rpc_sub_device_name() function

* Remove _attr_name

* Remove name for button with device class

* Fix names of virtual components

* Better Input name

* Fix get_rpc_channel_name()

* Fix names for Inputs

* get_rpc_channel_name() improvement

* Better variable name

* Clean RPC functions

* Fix input_name type

* Fix test

* Fix entity_ids for Blu Trv

* Fix get_block_channel_name()

* Fix for Blu Trv, once again

* Revert name for reboot button

* Fix button tests

* Fix tests

* Fix coordinator tests

* Fix tests for cover platform

* Fix tests for event platform

* Fix entity_ids in init tests

* Fix get_block_channel_name() for lights

* Fix tests for light platform

* Fix test for logbook

* Update snapshots for number platform

* Fix tests for sensor platform

* Fix tests for switch platform

* Fix tests for utils

* Uncomment

* Fix tests for flood

* Fix Valve entity name

* Fix climate tests

* Fix test for diagnostics

* Fix tests for init

* Remove old snapshots

* Add tests for 2PM Gen3

* Add comment

* More tests

* Cleaning

* Clean fixtures

* Update tests

* Anonymize coordinates in fixtures

* Split Pro 3EM entities into sub-devices

* Make sub-device names more unique

* 3EM (gen1) does not support sub-devices

* Coverage

* Rename "device temperature" sensor to the "relay temperature"

* Update tests after rebase

* Support sub-devices for 3EM (gen1)

* Mark has-entity-name rule as done 🎉

* Rename `relay temperature` to `temperature`
2025-05-26 10:47:22 +02:00
epenet
d4333665fc Add issue trackers to requirements script exceptions (#145608) 2025-05-26 10:21:38 +02:00
TheJulianJES
ba0c03ddbb Bump ZHA to 0.0.59 (#145597) 2025-05-26 06:53:09 +02:00
Ivan Lopez Hernandez
32eb4af6ef Enable message Streaming in the Gemini integration. (#144937)
* Added streaming implementation

* Indicate the entity supports streaming

* Added tests

* Removed unused snapshots

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-05-25 21:50:55 -04:00
Josef Zweck
e4b519d77a Bump pylamarzocco to 2.0.6 (#145595) 2025-05-25 23:59:06 +02:00
Raphael Hehl
14c4cf7b63 Bump uiprotect to version 7.10.0 (#145596) 2025-05-25 23:51:52 +02:00
Paulus Schoutsen
1cc2baa95e Pipeline to stream TTS on tool call (#145477) 2025-05-25 14:59:07 -05:00
Raphael Hehl
f472bf7c87 Bump uiprotect to version 7.9.2 (#145583) 2025-05-25 18:42:02 +02:00
Joost Lekkerkerker
bc9683312e Change cooler name to fridge in SmartThings (#145590) 2025-05-25 18:40:04 +02:00
Joost Lekkerkerker
6634efa3aa Add DHCP discovery to Amazon Devices (#145587)
* Add DHCP discovery to Amazon Devices

* Add DHCP discovery to Amazon Devices

* Add DHCP discovery to Amazon Devices
2025-05-25 18:20:44 +02:00
Simone Chemelli
d0b2331a5f New integration Amazon Devices (#144422)
* New integration Amazon Devices

* apply review comments

* bump aioamazondevices

* Add notify platform

* pylance

* full coverage for coordinator tests

* cleanup imports

* Add switch platform

* update quality scale: docs items

* update quality scale: brands

* apply review comments

* fix new ruff rule

* simplify EntityDescription code

* remove additional platforms for first PR

* apply review comments

* update IQS

* apply last review comments

* snapshot update

* apply review comments

* apply review comments
2025-05-25 17:42:07 +02:00
Maciej Bieniek
46951bf223 Add returned energy sensor for Shelly RPC switch component (#145490)
* Add returned energy sensor for switch component

* Add test

* More tests

* Make returned energy sensor disabled by default
2025-05-25 16:16:55 +02:00
Marc Mueller
565f051ffc Fix aiohttp MockPayloadWriter (#145579) 2025-05-25 14:38:08 +02:00
Florian von Garrel
8c971904ca Add reauth and reconfigure to paperless (#145469)
* Add reauth and reconfigure

* Reauth and reconfigure in different functions

* Add duplicate check

* Add test for reconfigure duplicate

* Removed seconds config entry fixture
2025-05-25 14:03:13 +02:00
Josef Zweck
d0bc71752b Safe get for backflush status in lamarzocco (#145559)
* Safe get for backflush status in lamarzocco

* add correct default
2025-05-25 14:01:15 +02:00
Franck Nijhof
6b1484a7f0 Merge branch 'master' into dev 2025-05-25 10:40:31 +00:00
Joost Lekkerkerker
5eebadc730 Add SmartThings freezer and cooler temperatures (#145468) 2025-05-25 10:38:57 +02:00
tronikos
fa37bc272e Bump opower to 0.12.2 (#145573) 2025-05-25 10:37:50 +02:00
Simone Chemelli
535d128f8a Remove global registry reference in coordinator for UptimeRobot (#142938)
* Remove global registry reference in coordinator for UptimeRobot

* rework current_monitors listing

* fix logic
2025-05-25 02:03:07 +02:00
J. Nick Koston
13d530d110 Bump aiohttp to 3.12.0 (#145570) 2025-05-24 18:10:58 -05:00
Pete Sage
57f754b42b Bump aiokem to 0.5.12 (#145565) 2025-05-24 18:04:26 -05:00
Josef Zweck
1e0a2b704f Bump pylamarzocco to 2.0.5 (#145560) 2025-05-24 23:46:51 +02:00
Simone Chemelli
526a8ee31f Add preset mode to Comelit climate (#145195) 2025-05-25 00:37:21 +03:00
J. Nick Koston
ce02a5544d Bump aiohttp to 3.12.0rc1 (#145562) 2025-05-24 16:12:16 -05:00
Simon Lamon
1044a5341d Bump python-linkplay to v0.2.8 (#145550)
* Bump linkplay to v0.2.7

* Bump linkplay to v0.2.8
2025-05-24 21:53:41 +02:00
Jan Bouwhuis
a707cbc51b Fix translation strings for MQTT subentries (#145529) 2025-05-24 21:26:49 +02:00
tronikos
adf8e50313 Add data descriptions in the Android TV Remote Configure Android apps (#145537)
* Add data descriptions in the Android TV Remote Configure Android apps

* Update homeassistant/components/androidtv_remote/strings.json

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-05-24 21:20:04 +02:00
tronikos
8356bdb506 Bump androidtvremote2 to 0.2.2 (#145542) 2025-05-24 17:41:40 +02:00
Abílio Costa
5c7aa833ec Simplify ZBT-1 setup string (#145532) 2025-05-24 11:41:16 +02:00
Jan Bouwhuis
f92d14d87c Bump incomfort-client to v0.6.9 (#145546) 2025-05-24 10:53:08 +02:00
J. Nick Koston
2d3a6d780c Bump aiohttp to 3.12.0rc0 (#145540)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.12.0b3...v3.12.0rc0
2025-05-24 09:52:48 +02:00
Petro31
c359765a29 Remove inactive codeowner from template integration (#145535) 2025-05-23 23:59:22 +02:00
Michael
d8ed10bcc7 Use _handle_coordinator_update() instead of own callback in Feedreader event entity (#145520)
use _handle_coordinator_update() instead of own callback
2025-05-23 21:10:26 +02:00
karwosts
19259d5cad Add read_only selectors to Statistics Options Flow (#145522) 2025-05-23 17:58:45 +02:00
epenet
102230bf9d Remove repoze.lru from license exceptions (#145519)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-23 17:46:09 +02:00
Jan Bouwhuis
2a38f03ec9 Add MQTT fan as entity platform on MQTT subentries (#144698) 2025-05-23 17:40:54 +02:00
Ludovic BOUÉ
e22ea85e84 Add Matter Pump device type (#145335)
* Pump status

* Pump speed

* PumpStatusRunning

* ControlModeEnum

* Add tests

* Clean code

* Update tests and sensors

* Review fixes

* Add RPM unit

* Fix for unknown value

* Update snapshot

* OperationMode

* Update snapshots

* Update snapshot

* Update tests/components/matter/test_select.py

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

* Handle SupplyFault bit enabled too

* Review fix

* Unmove

* Remove pump_operation_mode

* Update snapshot

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2025-05-23 17:20:27 +02:00
Michael
ed0ff93d1e Bump py-sucks to 0.9.11 (#145518)
bump py-sucks to 0.9.11
2025-05-23 17:12:43 +02:00
Franck Nijhof
3e6473d130 2025.5.3 (#145516) 2025-05-23 17:09:32 +02:00
karwosts
7af731694f Support readonly selectors in config_flows (#129456)
* Allow disabled selectors in config flows. Show hidden options for history_stats.

* fix tests

* use optional instead of required

* rename flag to readonly

* rename to read_only

* Update to use read_only field as part of selector definition

* lint fix

* Fix test

* All selectors
2025-05-23 17:05:43 +02:00
epenet
83ec45e4fc Use runtime_data in xiaomi_miio (#145517)
* Use runtime_data in xiaomi_miio

* Reduce changes
2025-05-23 17:03:33 +02:00
Michael
086e97821f Add automatic backup event entity to Home Assistant Backup system (#145350)
* add automatic backup event entity

* add tests

* fix test

* Apply suggestions from code review

Co-authored-by: Josef Zweck <josef@zweck.dev>

* implement _handle_coordinator_update

* add translations for event attributes

* simplify condition

* Apply suggestions from code review

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-23 17:01:57 +02:00
Petro31
5048d1512c Add trigger based template cover (#145455)
* Add trigger based template cover

* address comments

* update position template in test
2025-05-23 16:32:21 +02:00
Denis Shulyaka
199c565bf2 Add Anthropic Claude 4 support (#145505)
Add Claude 4 support

Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-23 10:31:44 -04:00
epenet
cbeefdaf26 Mark humidifier methods and properties as mandatory in pylint plugin (#145507) 2025-05-23 16:26:22 +02:00
Michael
4747de4703 Don't manipulate hvac modes based on device active mode in AVM Fritz!SmartHome (#145513) 2025-05-23 16:12:13 +02:00
Franck Nijhof
9a183bc16a Bump version to 2025.5.3 2025-05-23 14:03:47 +00:00
Robert Resch
e540247c14 Bump deebot-client to 13.2.1 (#145492) 2025-05-23 14:03:02 +00:00
rappenze
0aef8b58d8 Bump pyfibaro to 0.8.3 (#145488) 2025-05-23 14:03:01 +00:00
tronikos
f0501f917b Fix strings related to Google search tool in Google AI (#145480) 2025-05-23 14:02:59 +00:00
tronikos
97004e13cb Make Gemma models work in Google AI (#145479)
* Make Gemma models work in Google AI

* move one line to be improve readability
2025-05-23 14:02:58 +00:00
tronikos
f867a0af24 Bump opower to 0.12.1 (#145464) 2025-05-23 14:02:57 +00:00
Joost Lekkerkerker
d3b3839ffa Bump pysmartthings to 3.2.3 (#145444) 2025-05-23 14:02:56 +00:00
starkillerOG
1a227d6a10 Reolink fix device migration (#145443) 2025-05-23 14:02:54 +00:00
Joost Lekkerkerker
fc8c403a3a Bump yt-dlp to 2025.05.22 (#145441) 2025-05-23 14:02:53 +00:00
Josef Zweck
c1bf596eba Mark backflush binary sensor not supported for GS3 MP in lamarzocco (#145406) 2025-05-23 14:02:52 +00:00
Michael
63f69a9e3d Bump py-synologydsm-api to 2.7.2 (#145403)
bump py-synologydsm-api to 2.7.2
2025-05-23 14:02:51 +00:00
Josef Zweck
e13b014b6f Bump pylamarzocco to 2.0.4 (#145402) 2025-05-23 14:02:49 +00:00
c0ffeeca7
be0d4d926c OTBR: remove links to obsolete multiprotocol docs (#145394) 2025-05-23 14:02:48 +00:00
Raj Laud
2403fff81f Bump pysqueezebox to v0.12.1 (#145384) 2025-05-23 14:02:47 +00:00
Andy
8c475787cc Fix: Revert Ecovacs mower total_stats_area unit to square meters (#145380) 2025-05-23 14:02:45 +00:00
peteS-UK
d9fe1edd82 Add initial coordinator refresh for players in Squeezebox (#145347)
* initial

* add test for new player
2025-05-23 14:02:44 +00:00
Michael
f5cf64700a Fix limit of shown backups on Synology DSM location (#145342) 2025-05-23 14:02:43 +00:00
Josef Zweck
777b04d7a5 Handle more exceptions in azure_storage (#145320) 2025-05-23 14:02:41 +00:00
Josef Zweck
9fc78ed4e2 Add cloud as after_dependency to onedrive (#145301) 2025-05-23 14:02:40 +00:00
Matthew FitzGerald-Chamberlain
d03af549d4 Bump pyaprilaire to 0.9.0 (#145260) 2025-05-23 14:02:39 +00:00
G Johansson
d91f01243c Bump holidays to 0.73 (#145238) 2025-05-23 14:02:38 +00:00
Martin Hjelmare
5094208db6 Fix Z-Wave config entry unique id after NVM restore (#145221)
* Fix Z-Wave config entry unique id after NVM restore

* Remove stale comment
2025-05-23 14:01:37 +00:00
Simone Chemelli
006f66a841 Bump aiocomelit to 0.12.3 (#145209) 2025-05-23 14:01:36 +00:00
Maikel Punie
64b7d77840 Bump velbusaio to 2025.5.0 (#145198) 2025-05-23 14:01:35 +00:00
Martin Hjelmare
abf6a809b8 Fix Z-Wave unique id update during controller migration (#145185) 2025-05-23 14:01:33 +00:00
Martin Hjelmare
1b7dd205c7 Improve Z-Wave config flow tests (#144871)
* Improve Z-Wave config flow tests

* Fix test

* Use identify check for result type
2025-05-23 14:01:32 +00:00
Keilin Bickar
3e00366a61 Bump sense-energy to 0.13.8 (#145156) 2025-05-23 13:50:34 +00:00
karwosts
a17275b559 Fix history_stats with sliding window that ends before now (#145117) 2025-05-23 13:50:33 +00:00
Jan-Philipp Benecke
9534a919ce Add missing device condition translations to lock component (#145104) 2025-05-23 13:45:44 +00:00
Joost Lekkerkerker
422dbfef88 Map auto to heat_cool for thermostat in SmartThings (#145098) 2025-05-23 13:45:43 +00:00
Robert Resch
8e44684a61 Fix proberly Ecovacs mower area sensors (#145078) 2025-05-23 13:45:41 +00:00
Manu
642e7fd487 Bump aiontfy to 0.5.2 (#145044) 2025-05-23 13:45:40 +00:00
peteS-UK
9bb9132e7b Fix album and artist returning "None" rather than None for Squeezebox media player. (#144971)
* fix

* snapshot update

* cast type
2025-05-23 13:45:39 +00:00
J. Nick Koston
41be82f167 Bump ESPHome stable BLE version to 2025.5.0 (#144857) 2025-05-23 13:45:37 +00:00
Marc Hörsken
47140e14d9 Postpone update in WMSPro after service call (#144836)
* Reduce stress on WMS WebControl pro with higher scan interval

Avoid delays and connection issues due to overloaded hub.
Fixes #133832 and #134413

* Schedule an entity state update after performing an action

Avoid delaying immediate status updates, e.g. on/off changes.

* Replace scheduled state updates with delayed action completion

Suggested-by: joostlek
2025-05-23 13:45:36 +00:00
TheOneValen
926502b0f1 Allow image send with read-only access (matrix notify) (#144819) 2025-05-23 13:45:35 +00:00
disforw
78351ff7a7 Fix QNAP fail to load (#144675)
* Update coordinator.py

* Update coordinator.py

@peternash

* Update coordinator.py

* Update coordinator.py

* Update coordinator.py

* Update coordinator.py
2025-05-23 13:45:33 +00:00
wuede
c333726867 Netatmo: do not fail on schedule updates (#142933)
* do not fail on schedule updates

* add test to check that the store data remains unchanged
2025-05-23 13:45:32 +00:00
starkillerOG
fc2fe32f34 Reolink fix device migration (#145443) 2025-05-23 15:33:03 +02:00
epenet
528a509479 Mark light methods and properties as mandatory in pylint plugin (#145510) 2025-05-23 14:28:41 +01:00
Franck Nijhof
bca4793c69 Add concentration conversion support for mg/m³ (#145325) 2025-05-23 14:24:18 +01:00
Josef Zweck
0c9b1b5c58 Add cloud as after_dependency to onedrive (#145301) 2025-05-23 15:07:06 +02:00
Robert Resch
7bf4239789 Bump deebot-client to 13.2.1 (#145492) 2025-05-23 14:54:18 +02:00
epenet
71ac2d3d75 Improve type hints in xiaomi_miio humidifier (#145506) 2025-05-23 14:54:09 +02:00
Denis Shulyaka
f019e8a36c Bump Anthropic library to 0.52.0 (#145494) 2025-05-23 14:48:54 +02:00
J. Nick Koston
44560dd298 Bump aiohttp to 3.12.0b3 (#145358) 2025-05-23 14:44:47 +02:00
Jan Bouwhuis
e8ea5c9d62 Add MQTT cover as entity platform on MQTT subentries (#144381)
* Add MQTT cover as entity platform on MQTT subentries

* Revert change vol.Coerce wrappers on cover schema

* Fix template validator and cleanup redundant validators

* Cleanup more redundant validators
2025-05-23 14:25:00 +02:00
Jan Bouwhuis
17297ab929 Improve mqtt subentry selector validation and remove redundant validators (#145499) 2025-05-23 13:23:36 +02:00
rappenze
041c09380b Bump pyfibaro to 0.8.3 (#145488) 2025-05-23 12:05:13 +02:00
Markus Lanthaler
553d420db9 Add support for Tuya Wireless Switch entity (#123284)
Add support for Tuya Wireless Switch entity
2025-05-23 08:42:09 +02:00
Joost Lekkerkerker
3f99a0bb65 Add diagnostics to Paperless-ngx (#145465)
* Add diagnostics to Paperless-ngx

* Add diagnostics to Paperless-ngx
2025-05-23 08:09:54 +02:00
Joost Lekkerkerker
c3d318ff51 Add paperless-ngx to strict typing (#145466) 2025-05-23 08:08:44 +02:00
Erik Montnemery
19345b0e18 Prefer to create backups in local storage if selected (#145331) 2025-05-23 08:00:35 +02:00
tronikos
e13abf2034 Make Gemma models work in Google AI (#145479)
* Make Gemma models work in Google AI

* move one line to be improve readability
2025-05-22 22:02:30 -07:00
tronikos
61248c561d Fix strings related to Google search tool in Google AI (#145480) 2025-05-22 22:01:48 -07:00
epenet
8561721faf Add pytest/codecov to forbidden runtime dependencies (#145447)
Add pytest/codecov to forbidden runtime packages
2025-05-22 23:15:21 +02:00
Manu
2f318927bc Add pending damage and pending quest items sensors (#145449)
Add pending damage and quest items sensors
2025-05-22 23:10:49 +02:00
tronikos
a15572bb8c Bump opower to 0.12.1 (#145464) 2025-05-22 22:22:20 +02:00
Bonne Eggleston
b532776d78 Make Powerwall energy sensors TOTAL_INCREASING to fix hardware swaps (#145165) 2025-05-22 14:49:39 -05:00
Abílio Costa
4ad34c57b5 Replace empty mock in GoalZero tests (#145463) 2025-05-22 20:22:09 +01:00
Abílio Costa
228beacca8 Add default sensor data for Tesla Wall Connector tests (#145462) 2025-05-22 21:20:57 +02:00
Norbert Rittel
c130a9f31c Fix typo in reauth_confirm description of metoffice (#145458) 2025-05-22 21:12:37 +02:00
Michael
622ab922b5 Add configuration url to Immich device info (#145456)
add configuration url to device info
2025-05-22 21:09:28 +02:00
epenet
6de2258325 Mark device_tracker methods and properties as mandatory in pylint plugin (#145309) 2025-05-22 19:15:00 +01:00
jz-v
d8e0be69d1 Add HomeKit thermostat fan state mapping for preheating, defrosting (#145353)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-05-22 11:57:01 -05:00
Petro31
4ee9fdc9fb Add AbstractTemplateVacuum to prepare for trigger based template vacuums (#144990)
* Add AbstractTemplateVacuum

* fix typo from copypaste

* update after rebase
2025-05-22 17:50:26 +02:00
Petro31
a8823cc1d1 Add AbstractTempleAlarmControlPanel class to prepare for trigger based template alarm control panels (#144974)
* Add AbstractTempleAlarmControlPanel class

* update after rebase

* remove unused list
2025-05-22 17:50:15 +02:00
Petro31
83ee9e9540 Add AbstractTemplate cover to prepare for trigger based template covers (#144907)
* Add AbstractTemplate cover to prepare for trigger based template covers

* add reflection and improve test coverage

* update class after rebase

* remove test
2025-05-22 17:49:50 +02:00
Petro31
9a74390143 Add AbstractTemplateLock to prepare for trigger based template locks (#144978)
* Add AbstractTemplateLock

* update after rebase
2025-05-22 17:33:57 +02:00
Joost Lekkerkerker
64d6552890 Bump pysmartthings to 3.2.3 (#145444) 2025-05-22 17:26:59 +02:00
Joost Lekkerkerker
65ebdb4292 Bump yt-dlp to 2025.05.22 (#145441) 2025-05-22 17:26:04 +02:00
Petro31
7a55abaa42 Add AbstractTemplateFan class in preparation for trigger based entity (#144968)
* Add AbstractTemplateFan class in preparation for trigger based entity

* update after rebase
2025-05-22 17:18:48 +02:00
dalan
8f05a639f3 HomeKit Bridge integration: Adding h264_qsv as valid VIDEO_CODEC option (#145448) 2025-05-22 09:52:58 -05:00
TimL
917b467b85 Add SMLIGHT button entities for second radio (#141463)
* Add button entities for second radio

* Update tests for second router reconnect button
2025-05-22 14:50:22 +02:00
J. Diego Rodríguez Royo
a938001805 Don't add dynamically Home Connect event sensors and disable them by default (#144757)
* Don't add dynamically Home Connect sensors and disable them by default

* Fix test

* Check for None

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-22 12:55:11 +02:00
Ludovic BOUÉ
9e6de48a22 Matter Device Energy Management cluster ESAState attribute (#144430)
* ESAState

* Update strings.json

* Add test
2025-05-22 12:53:08 +02:00
jvmahon
569aeff054 Add matter attributes (#140843)
* Add Matter attributes

* Add Matter attributes

* Add Matter attributes

* Add Matter attributes

* Update strings.json

* Update homeassistant/components/matter/select.py

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>

* Update select.py

Deleted items to be added as switch entities instead.

* Update strings.json

* Update select.py

* Update strings.json

* Fix

* Update strings.json

* Update strings.json

* Fix

* Update select.py

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-22 12:42:05 +02:00
Joost Lekkerkerker
c86ba49a79 Add Matter test to select attribute (#145440) 2025-05-22 12:40:56 +02:00
epenet
3b4004607d Mark image_processing methods and properties as mandatory in pylint plugin (#145435) 2025-05-22 12:19:22 +02:00
Gigatrappeur
c68e663a1c Add webhook in switchbot cloud integration (#132882)
* add webhook in switchbot cloud integration

* Rename _need_initialized to _is_initialized and reduce nb line in async_setup_entry

* Add unit tests

* Enhance poll management

* fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-22 12:19:08 +02:00
Tamer Wahba
d870410413 Quantum Gateway device tracker tests (#145161)
* move constants to central const file

* add none return type to device scanner constructor

* add quantum gateway device tracker tests

* fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-22 12:18:56 +02:00
Florian von Garrel
9a8c29e05d Add paperless integration (#145239)
* add paperless integration - config flow and initialisation

* Add first sensors - documents, inbox, storage total and available

* Add status sensors with error attributes

* add status coordinator and organized code

* Fixed None error

* Organized code and moved requests to coordinator

* Organized code

* optimized code

* Add statustype state strings

* Error handling

* Organized code

* Add update sensor and one coordinator for integration

* add sanity sensor and timer for version request

* Add sensors and icons.json. better errorhandling

* Add tests and error handling

* FIxed tests

* Add tests for coverage

* Quality scale

* Stuff

* Improved code structure

* Removed sensor platform and reauth / reconfigure flow

* bump pypaperless to 4.1.0

* Optimized tests; update sensor as update platform; little optimizations

* Code optimizations with update platform

* Add sensor platform

* Removed update platform

* quality scale

* removed unused const

* Removed update snapshot; better code

* Changed name of entry

* Fixed bugs

* Minor changes

* Minor changed and renamed sensors

* Sensors to measurement

* Fixed snapshot; test data to json; minor changes

* removed mypy errors

* Changed translation

* minor changes

* Update homeassistant/components/paperless_ngx/strings.json

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-22 12:17:38 +02:00
epenet
a54c8a88ff Improve type hints in microsoft_face_detect (#145421)
* Improve type hints in microsoft_face_detect

* Improve
2025-05-22 11:52:26 +02:00
Manuel Rüger
ca914d8e4f switchbot_cloud: Add Smart Lock door and calibration state (#143695)
* switchbot_cloud: Add Smart Lock door and calibration state

* Incorporate review
2025-05-22 11:51:28 +02:00
epenet
687bedd251 Improve type hints in sighthound (#145432)
* Improve type hints in sighthound

* More
2025-05-22 11:35:06 +02:00
Franck Nijhof
5ddadcbd65 Add range support to icon translations (#145340) 2025-05-22 11:32:33 +02:00
epenet
981842ee87 Improve type hints in seven_segments (#145431)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-22 11:31:17 +02:00
epenet
ab69223d75 Improve type hints in openalpr_cloud (#145429)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-22 11:30:53 +02:00
epenet
69f0f38a09 Improve type hints in qrcode (#145430)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-22 11:30:38 +02:00
epenet
40267760fd Improve type hints in tensorflow (#145433)
* Improve type hints in tensorflow

* Use ANTIALIAS again

* Use Image.Resampling.LANCZOS
2025-05-22 11:23:33 +02:00
marc7s
6e74b56649 Catch invalid settings error in geocaching (#139944)
Refactoring and preparation for other sensor types
2025-05-22 11:22:33 +02:00
epenet
d35802a996 Improve type hints in microsoft_face (#145417)
* Improve type hints in microsoft_face

* Remove hass from init
2025-05-22 11:21:45 +02:00
Martin Hjelmare
c007286fd6 Improve Z-Wave config flow test typing (#145438) 2025-05-22 11:11:38 +02:00
Joost Lekkerkerker
b5a3cedacd Move to explicit exports in test helpers (#145392) 2025-05-22 10:44:31 +02:00
epenet
3d53bdc6c5 Improve type hints in dlib_face_identify (#145423) 2025-05-22 10:37:44 +02:00
epenet
a7f6a6f22c Improve type hints in dlib_face_detect (#145422) 2025-05-22 10:37:03 +02:00
epenet
7893eaa389 Improve type hints in microsoft_face_identify (#145419) 2025-05-22 10:36:12 +02:00
Lektri.co
e410977e64 Add new button to the Lektrico integration (#145420) 2025-05-22 10:34:14 +02:00
peteS-UK
d48ca1d858 Hotfix for incorrect bracket in messages for Squeezebox (#145418)
hotfix for wrong bracket
2025-05-22 10:07:10 +02:00
epenet
8758a086c1 Improve type hints in doods (#145426) 2025-05-22 09:18:28 +02:00
Pete Sage
1db5c514e6 Add binary_sensor platform to Rehlko (#145391)
* feat: add binary_sensor platform to Rehlko

* feat: add binary sensor platform

* fix: simplify availability logic

* fix: simplify availability logic

* fix: simplify

* fix: rename sensor

* fix: rename sensor

* fix: rename sensor

* fix: remove unneeded type

* fix: rename sensor to 'Auto run'

* fix: use device_class name
2025-05-22 09:07:38 +02:00
Joost Lekkerkerker
613aa9b2cf Add climate entity for heatpump zones in SmartThings (#144991)
* Add climate entity for heatpump zones in SmartThings

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Sync SmartThings EHS fixture
2025-05-22 08:27:01 +02:00
Joost Lekkerkerker
4c6e854cad Add valve position capability to SmartThings (#144923)
* Add another EHS SmartThings fixture

* Add another EHS

* Add valve position capability to SmartThings

* Fix

* Fix
2025-05-22 08:25:41 +02:00
Michael
66a6e55310 Centralise MockStreamReaderChunked helper (#145404)
centralize MockStreamReaderChunked helper
2025-05-22 08:22:02 +02:00
Pete Sage
bffbd5607b Remove unneeded parenthesis in comparison for Sonos (#145413)
fix: remove unneeded paren
2025-05-22 08:17:31 +02:00
Ludovic BOUÉ
12b5dbdd83 Add CancelBoost for Matter Water heater (#145316)
* Update water_heater.py

Add CancelBoost

* Add test for CancelBoost

* Update water_heater.py
2025-05-22 08:01:42 +02:00
epenet
9e7ae1daa4 Catch blocking version pinning in dependencies early (#145364)
* Catch upper bindings in dependencies early

* One more

* Apply suggestions from code review
2025-05-22 07:56:18 +02:00
Petro31
f36ee88a87 Clean up AbstractTemplateEntity (#145409)
Clean up abstract templates
2025-05-22 07:23:44 +02:00
Manu
8b3bad1f54 Bump habiticalib to v.0.4.0 (#145414)
Bump habiticalib to v0.4.0
2025-05-22 07:22:50 +02:00
epenet
b407792bd1 Mark geo_location methods and properties as mandatory in pylint plugin (#145313) 2025-05-22 01:57:39 +03:00
Paulus Schoutsen
12376a2338 Mark LLMs that support streaming as such (#145405) 2025-05-22 01:54:29 +03:00
epenet
088cfc3576 Mark fan methods and properties as mandatory in pylint plugin (#145311) 2025-05-21 23:29:33 +02:00
epenet
01b8f97201 Mark cover methods and properties as mandatory in pylint plugin (#145308) 2025-05-21 22:27:53 +01:00
Lektri.co
195e34cc09 Bump lektricowifi to 0.1 (#145393)
Use lektricowifi 0.1: add a new command
2025-05-21 22:43:42 +02:00
peteS-UK
fbab6741af Update exception handling for initialization for Squeezebox (#144674)
* initial

* tests

* translate exceptions

* updates

* tests updates

* remove bare exception

* merge fix
2025-05-21 22:37:07 +02:00
J. Nick Koston
e2b9e21c6a Bump ESPHome stable BLE version to 2025.5.0 (#144857) 2025-05-21 16:23:04 -04:00
Michael
4a26352c50 Bump py-synologydsm-api to 2.7.2 (#145403)
bump py-synologydsm-api to 2.7.2
2025-05-21 22:22:33 +02:00
Josef Zweck
d43371ed2f Bump pylamarzocco to 2.0.4 (#145402) 2025-05-21 22:02:14 +02:00
avee87
4f24d63de1 Update metoffice to use DataHub API (#131425)
* Update metoffice to use DataHub API

* Reauth test

* Updated to datapoint 0.11.0

* Less hacky check for day/night in twice-daily forecasts

* Updated to datapoint 0.12.1, added daily forecast

* addressed review comments

* one more nit

* validate credewntials in reauth flow

* Addressed review comments

* Attempt to improve coverage

* Addressed comments

* Reverted unnecessary reordering

* Update homeassistant/components/metoffice/sensor.py

* Update tests/components/metoffice/test_sensor.py

* Update homeassistant/components/metoffice/sensor.py

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-21 21:56:32 +02:00
Joost Lekkerkerker
cd9339903f Add thermostat fixture to SmartThings (#145407) 2025-05-21 21:17:03 +02:00
Josef Zweck
ca01bdc481 Mark backflush binary sensor not supported for GS3 MP in lamarzocco (#145406) 2025-05-21 21:12:43 +02:00
Joost Lekkerkerker
39a5341ab8 Add SmartThings capability for Washer soil level (#145041) 2025-05-21 20:27:38 +02:00
c0ffeeca7
3c93f6e3f9 ZHA repairs: remove links to obsolete docs (#145398) 2025-05-21 20:23:05 +02:00
Tsvi Mostovicz
13ce4322ac Reword sunset event exception (#145400) 2025-05-21 20:21:06 +02:00
Jeremiah Paige
b3ba506e6c wsdot component adopts wsdot package (#144914)
* wsdot component adopts wsdot package

* update generated files

* format code

* move wsdot to async_setup_platform

* Fix tests

* cast wsdot travel id

* bump wsdot to 0.0.1

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-21 20:15:26 +02:00
Joost Lekkerkerker
ea9fc6052d Add power cool and power freeze to SmartThings (#145102) 2025-05-21 20:14:13 +02:00
Joost Lekkerkerker
c8ceea4be8 Add SmartThings capability for Washer spin level (#145039) 2025-05-21 20:01:12 +02:00
Marc Mueller
3df993b9a4 Update igloohome-api to 0.1.1 (#145401) 2025-05-21 19:42:13 +02:00
Marc Mueller
980f19173f Update sensorpro-ble to 0.7.1 (#145397) 2025-05-21 18:40:32 +02:00
Marc Mueller
b1da600269 Update inkbird-ble to 0.16.2 (#145396) 2025-05-21 18:40:24 +02:00
Marc Mueller
34c5f79983 Update bluetooth-auto-recovery to 1.5.2 (#145395) 2025-05-21 18:40:18 +02:00
Joost Lekkerkerker
4cd3527761 Enable B009 (#144192) 2025-05-21 16:37:51 +01:00
TheOneValen
1dbe1955eb Allow image send with read-only access (matrix notify) (#144819) 2025-05-21 17:18:34 +02:00
c0ffeeca7
743abadfcf OTBR: remove links to obsolete multiprotocol docs (#145394) 2025-05-21 17:11:19 +02:00
Tsvi Mostovicz
bbd223af1f Jewish Calendar: Make exception translatable (#145376) 2025-05-21 17:07:36 +02:00
Martin Hjelmare
cb717c0ec6 Improve Z-Wave config flow test fixtures (#145378) 2025-05-21 17:06:36 +02:00
Martin Hjelmare
4956cf3727 Fix Z-Wave installation type string (#145390) 2025-05-21 17:04:48 +02:00
epenet
f76165e761 Prevent types-*/setuptools/wheel runtime requirements in dependencies (#145381)
Prevent setuptools/wheel runtime requirements in dependencies
2025-05-21 16:17:24 +02:00
Erik Montnemery
dd00d0daad Improve failing backup repair messages (#145388) 2025-05-21 16:16:50 +02:00
Andre Lengwenus
77ec87d0ac Bump lcn-frontend to 0.2.5 (#144983) 2025-05-21 16:10:25 +02:00
Raj Laud
2209f0b884 Bump pysqueezebox to v0.12.1 (#145384) 2025-05-21 15:17:51 +02:00
Andy
61fd073a5c Fix: Revert Ecovacs mower total_stats_area unit to square meters (#145380) 2025-05-21 14:19:37 +02:00
Petar Petrov
efa7fe0dc9 Recommended installation option for Z-Wave (#145327)
Recommended installation option for ZWave
2025-05-21 13:30:59 +02:00
Erik Montnemery
00a1d9d1b0 Improve comment explaining planned backup store version bump (#145368) 2025-05-21 13:22:05 +02:00
Retha Runolfsson
630c438834 Add lock ultra and lock lite for switchbot integration (#145373) 2025-05-21 12:37:47 +02:00
Sid
3ada93b293 Bump eheimdigital to 1.2.0 (#145372) 2025-05-21 12:35:10 +02:00
c0ffeeca7
291499d5e1 Update links to user docs: Connect-ZBT-1, Green, Yellow (#145374) 2025-05-21 10:57:20 +01:00
Retha Runolfsson
08c453581c Add hub3 support for switchbot integration (#145371)
add support for hub3
2025-05-21 11:12:08 +02:00
Michael
5e25bbba2d Fix limit of shown backups on Synology DSM location (#145342) 2025-05-21 10:22:47 +02:00
Erik Montnemery
eb85185072 Minor code deduplication in backup manager (#145366) 2025-05-21 10:19:53 +02:00
Retha Runolfsson
3f72030d5f Bump pyswitchbot to 0.64.1 (#145360) 2025-05-21 10:08:32 +02:00
peteS-UK
69a4d2107f Add initial coordinator refresh for players in Squeezebox (#145347)
* initial

* add test for new player
2025-05-20 23:29:55 +02:00
Joris Drenth
46fe132e83 Add sensors to Wallbox (#145247) 2025-05-20 22:02:07 +01:00
Ernst Klamer
c60f19b35b Bump xiaomi-ble to 0.39.0 (#145348) 2025-05-20 22:37:27 +02:00
Petar Petrov
ba44986524 Remove the old ZWave controller from the list of migration targets (#145281)
* Remove the old ZWave controller from the list of migration targets

* ensure addon device path is serial/by_id

* Use executor

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-20 22:11:03 +02:00
Pete Sage
73811eac0a Add support for music library folder to Sonos (#139554)
* initial prototype

* use constants

* make playing work

* remove unneeded code

* remove unneeded code

* fix regressions issues

* refactor add_to_queue

* refactor add_to_queue

* refactor add_to_queue

* simplify

* add tests

* remove bad test

* rename constants

* comments

* comments

* comments

* use snapshot

* refactor to use add_to_queue

* refactor to use add_to_queue

* add comments, redo snapshots

* update comment

* merge formatting

* code review changes

* fix: merge issue

* fix: update snapshot to include new can_search field
2025-05-20 21:48:33 +02:00
Pete Sage
3ff3cb975b Add date sensors to Rehlko (#145314)
* feat: add datetime sensors

* fix: constants

* fix: constants

* fix: move tz conversion to api

* fix: update typing
2025-05-20 21:47:45 +02:00
Lode Smets
8ec5472b79 Added support for shared spaces in Synology DSM (Photo Station) (#144044)
* Added shared space to the list of all the albums

* Added tests

* added more tests

* Apply suggestions from code review

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2025-05-20 21:17:43 +02:00
Michael
b0415588d7 Add support for videos in Immich media source (#145254)
add support for videos
2025-05-20 20:40:22 +02:00
Paulus Schoutsen
abcf925b79 Assist Pipeline stream TTS when supported and long response (#145264)
* Assist Pipeline stream TTS when supported and long response

* Indicate in run-start if streaming supported

* Simplify a little bit

* Trigger streaming based on characters

* 60
2025-05-20 13:00:27 -05:00
Josef Zweck
37e13505cf Handle more exceptions in azure_storage (#145320) 2025-05-20 19:42:10 +02:00
Pete Sage
5d76d92bcf bump aiokem to 0.5.11 (#145332)
fix: bump aiokem
2025-05-20 19:13:40 +02:00
Tsvi Mostovicz
b71870aba3 Jewish calendar: move value calculation to entity description (1/3) (#144272)
* Move make_zmanim() method to entity

* Move enum values to setup

* Create a Jewish Calendar Sensor Description

* Hold a single variable for the runtime data in the entity

* Move value calculation to sensor description

* Use a base class to keep timestamp sensor inheritance

* Move attr to entity description as well

* Move options to entity description as well

* Fix tests after merge

* Put multiline in parentheses

* Fix diagnostics tests
2025-05-20 19:01:24 +02:00
Michael
734d6cd247 bump aioimmich to 0.6.0 (#145334) 2025-05-20 18:52:52 +02:00
Tsvi Mostovicz
40faa156e2 Jewish calendar : icon translations (#145329)
* Move icons to icons.json

* Fix tests
2025-05-20 17:35:24 +02:00
jb101010-2
4737091722 Suez water: fetch historical data in statistics (#131166)
* Suez water: fetch historical data in statistics

* test review

* wip: fix few things

* Python is smarter than me

* use snapshots for statistics and add hard limit for historical stats

* refactor refresh + handle missing price

* No more auth error raised

* fix after rebase

* Review - much cleaner <3

* fix changes

* test without snapshots

* fix imports
2025-05-20 16:22:35 +02:00
Bram Kragten
4160ed190c Add Albanian (Shqip) language (#145324) 2025-05-20 16:20:06 +02:00
Erik Montnemery
8e74f63d47 Create repair issue if not all add-ons or folders were backed up (#144999)
* Create repair issue if not all add-ons or folders were backed up

* Fix spelling

* Fix _collect_errors

* Make time patching by freezegun work with mashumaro

* Addd test to hassio

* Add fixture

* Fix generating list of folders

* Add issue creation tests

* Include name of failing add-on in message

* Improve code formatting

* Rename AddonError to AddonErrorData
2025-05-20 15:23:52 +02:00
Joris Drenth
fc62bc5fc1 Add solar charging options to Wallbox integration (#139286)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-05-20 14:19:48 +01:00
G Johansson
010b4f6b15 Remove deprecated aux heat from Climate Entity component (#145151) 2025-05-20 14:48:33 +02:00
Norbert Rittel
b16d4dd94b Use preferred spelling of "setpoint" in smartthings (#145319)
* Use preferred spelling of "setpoint" in `smartthings`

Change three occurrences of "set point" to "setpoint" to match the preferred spelling in Home Assistant.

* Update test_sensor.ambr

* Update test_sensor.ambr (2)
2025-05-20 14:31:51 +02:00
Sanjay Govind
0813adc327 Update binary sensor translations for bosch_alarm (#145315)
update binary sensor translations
2025-05-20 14:19:51 +02:00
Norbert Rittel
e68cf80531 Make spelling of "setpoint" consistent in opentherm_gw (#145318) 2025-05-20 15:07:57 +03:00
epenet
258c91d483 Mark climate methods and properties as mandatory in pylint plugin (#145280)
* Mark climate methods and properties as mandatory in pylint plugin

* One more
2025-05-20 13:40:17 +02:00
epenet
64d6101fb7 Mark camera methods and properties as mandatory in pylint plugin (#145272) 2025-05-20 12:30:22 +01:00
Franck Nijhof
fb0cb7cad6 Add Wh/km unit for energy distance (#145243) 2025-05-20 12:16:27 +01:00
Brett Adams
a3c0b83dee Bump teslemetry_stream to 0.7.9 in Teslemetry (#145303)
Bump stream to 0.7.9
2025-05-20 12:33:49 +02:00
Sanjay Govind
1ff5dd8ef5 Fix issues with bosch alarm dhcp discovery (#145034)
* fix issues with checking mac address for panels added manually

* add test

* don't allow discovery to pick up a host twice

* make sure we validate tests without a mac address

* check entry is loaded

* Update config_flow.py

* apply changes from review

* assert unique id

* assert unique id
2025-05-20 12:26:41 +02:00
epenet
f3f5fca0b9 Mark turn_on/turn_off/toggle as mandatory in pylint plugin (#145249)
* Mark turn_on/turn_off/toggle as mandatory in pylint plugin

* Fixes
2025-05-20 12:00:10 +02:00
Sanjay Govind
d15a1a6711 Tidy up service call for bosch_alarm (#145306)
tidy up service call for bosch_alarm
2025-05-20 11:56:53 +02:00
epenet
e39c8e350c Add class init type hint to xiaomi_aqara (#145255) 2025-05-20 11:56:17 +02:00
epenet
c1da554eb1 Mark calendar methods and properties as mandatory in pylint plugin (#145271) 2025-05-20 11:50:31 +02:00
epenet
1f1fd8de87 Mark alarm_control_panel methods and properties as mandatory in pylint plugin (#145270) 2025-05-20 11:50:22 +02:00
Norbert Rittel
cf6cb0bd39 Fix typos in user-facing strings of zha (#145305) 2025-05-20 11:49:50 +02:00
epenet
a8264ae8ae Mark button methods and properties as mandatory in pylint plugin (#145269) 2025-05-20 11:48:33 +02:00
epenet
642dc5b49c Use shorthand attributes in rpi_camera camera (#145274)
* Use shorthand attributes in rpi_camera camera

* Improve
2025-05-20 11:47:49 +02:00
epenet
43ae0f2541 Use shorthand attributes in xiaomi_aqara (#145253)
* Use shorthand attributes for is_on/is_locked in xiaomi_aqara

* Use _attr_changed_by

* Use _attr_device_class

* Remove unused class variable

* More
2025-05-20 11:47:26 +02:00
epenet
f2233b3034 Refactor set_temperature in venstar climate (#145297)
Clarify logic in venstar climate set_temperature
2025-05-20 11:46:53 +02:00
Sanjay Govind
c3fe5f012e add date and time service to bosch_alarm (#142243)
* add date and time service

* update quality scale

* add changes from review

* fix issues after merge

* fix icons

* apply changes from review

* remove list from service schema

* update quality scale

* update strings

* Update homeassistant/components/bosch_alarm/services.py

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

* apply changes from review

* apply changes from review

* Update tests/components/bosch_alarm/test_services.py

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

* validate exception messages

* use schema to validate service call

* update docstring

* update error message

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-20 11:09:46 +02:00
epenet
7f9b454922 Improve type hints in xs1 entities (#145299) 2025-05-20 10:44:34 +02:00
epenet
15915680b5 Use shorthand attributes in xs1 climate (#145298)
* Use shorthand attributes in xs1 climate

* Improve
2025-05-20 10:42:41 +02:00
epenet
2e4226d7d3 Use shorthand attributes in venstar climate (#145294) 2025-05-20 10:25:22 +02:00
epenet
0cd93e7e65 Use shorthand attributes in vivotek camera (#145275) 2025-05-20 10:15:04 +02:00
epenet
611d5be40a Use shorthand attributes in touchline climate (#145292) 2025-05-20 10:12:20 +02:00
epenet
072bf75d71 Improve type hints in homematic climate (#145283) 2025-05-20 10:11:23 +02:00
epenet
f9000ae08c Use shorthand attributes in push camera (#145273)
* Use shorthand attributes in push camera

* Improve
2025-05-20 10:10:42 +02:00
epenet
c8183bd35a Use shorthand attributes in intesishome climate (#145285) 2025-05-20 10:10:24 +02:00
epenet
99f91003d8 Use shorthand attributes in melissa climate (#145286) 2025-05-20 10:10:12 +02:00
epenet
ed2024e67a Drop useless unit conversion in smarttub (#145287) 2025-05-20 10:09:47 +02:00
epenet
cd91aca3b5 Use shorthand attributes in tfiac climate (#145289) 2025-05-20 10:09:25 +02:00
Matthew FitzGerald-Chamberlain
77ea654a1f Bump pyaprilaire to 0.9.0 (#145260) 2025-05-20 09:51:29 +02:00
Manu
ef6d3a5236 Bump aiontfy to 0.5.3 (#145263) 2025-05-20 09:49:27 +02:00
epenet
502574e86f Use shorthand attributes in yi camera (#145276) 2025-05-20 09:32:50 +02:00
epenet
fd1ddbd93d Improve type hints in blebox climate (#145282) 2025-05-20 09:31:42 +02:00
epenet
a12bc70543 Use runtime_data in smarttub (#145279) 2025-05-20 09:15:26 +02:00
Petar Petrov
b84e93f462 Sort usb ports in Z-Wave flow so unknown devices are last (#145211)
* Sort usb ports in Z-Wave flow so unknown devices are last

* tweak

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-20 08:25:44 +03:00
epenet
f4b0baecd3 Improve type hints in omnilogic (#145259) 2025-05-20 00:21:44 +02:00
epenet
f700a1faa3 Use shorthand attributes in raspyrfm (#145250) 2025-05-20 00:11:52 +02:00
epenet
eb90f5a581 Improve type hints in xiaomi_aqara light turn_on (#145257) 2025-05-20 00:11:34 +02:00
Jordan Harvey
20ce879471 Add new Probe Plus integration (#143424)
* Add probe_plus integration

* Changes for quality scale

* sentence-casing

* Update homeassistant/components/probe_plus/config_flow.py

Co-authored-by: Erwin Douna <e.douna@gmail.com>

* Update homeassistant/components/probe_plus/config_flow.py

Co-authored-by: Erwin Douna <e.douna@gmail.com>

* Update tests/components/probe_plus/test_config_flow.py

Co-authored-by: Erwin Douna <e.douna@gmail.com>

* Update tests/components/probe_plus/test_config_flow.py

Co-authored-by: Erwin Douna <e.douna@gmail.com>

* remove version from configflow

* remove address var from async_step_bluetooth_confirm

* move timedelta to SCAN_INTERVAL in coordinator

* update tests

* updates from review

* add voltage device class

* remove unused logger

* remove names

* update tests

* Update config flow tests

* Update unit tests

* Reorder successful tests

* Update config entry typing

* Remove icons

* ruff

* Update async_add_entities logic

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

* sensor platform formatting

---------

Co-authored-by: Erwin Douna <e.douna@gmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-19 22:50:09 +02:00
epenet
df3688ef08 Mark entity methods and properties as mandatory in pylint plugin (#145210)
* Mark entity methods and properties as mandatory in pylint plugin

* Fixes
2025-05-19 22:47:24 +02:00
Michael
e76bd1bbb9 Add media_source platform to Immich integration (#145159)
* add media_source platform

* fix error messages

* use mime-type from asset info, instead of guessing it

* add dependency for http

* add tests

* use direct imports and set can_play=False for images

* fix tests
2025-05-19 22:39:04 +02:00
Nick Kuiper
d580f8a8a2 Updated code owners for the blue current integration. (#144962)
Changed code owners for the blue current integration.
2025-05-19 22:21:06 +02:00
Brett Adams
ffb485aa87 Fix streaming window cover entity in Teslemetry (#145012) 2025-05-19 22:13:15 +02:00
Paulus Schoutsen
741cb23776 Only pass serializable data to media player intent (#145244) 2025-05-19 15:03:21 -05:00
Tsvi Mostovicz
6afb60d31b Jewish Calendar - quality scale - use specific config flow (#144408) 2025-05-19 21:52:06 +02:00
disforw
761bb65ac6 Fix QNAP fail to load (#144675)
* Update coordinator.py

* Update coordinator.py

@peternash

* Update coordinator.py

* Update coordinator.py

* Update coordinator.py

* Update coordinator.py
2025-05-19 21:47:01 +02:00
Tsvi Mostovicz
7464e3944e Jewish calendar: set parallel updates to 0 (#144986)
* Set all Jewish calendar parallel updates to 0

* Update homeassistant/components/jewish_calendar/service.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-19 21:44:28 +02:00
Tsvi Mostovicz
e2f2c13e5e Jewish calendar - quality scale - fix missing translations (#144410) 2025-05-19 21:44:13 +02:00
Åke Strandberg
0ee0b2fcba Add missing Miele tumble dryer program codes (#145236) 2025-05-19 21:34:36 +02:00
G Johansson
1e9c585e8b Bump holidays to 0.73 (#145238) 2025-05-19 21:12:51 +02:00
Paulus Schoutsen
e78f4d2a29 TTS to only use stream entity method when streaming request comes in (#145167)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-19 20:54:21 +02:00
Tsvi Mostovicz
1f6faaacab Jewish Calendar: Implement diagnostics (#145180)
* Implement diagnostics

* Add testing

* Remove implicitly tested code
2025-05-19 20:41:00 +02:00
karwosts
7e895f7d10 Fix history_stats with sliding window that ends before now (#145117) 2025-05-19 20:03:59 +02:00
Norbert Rittel
5031ffe767 Fix wording of "Estimated power production" sensors in forecast_solar (#145201) 2025-05-19 20:02:37 +02:00
Paulus Schoutsen
37fe25cfdc Add support_streaming to ConversationEntity (#144998)
* Add support_streaming to ConversationEntity

* pipeline tests
2025-05-19 13:43:06 -04:00
epenet
cff7aa229e Add missing type hint in plex (#145217) 2025-05-19 19:18:22 +02:00
Paulus Schoutsen
e09dde2ea9 Allow TTS streams to generate temporary media source IDs (#145080)
* Allow TTS streams to generate temporary media source IDs

* Update tests/components/tts/test_media_source.py

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* Update assist snapshots

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-05-19 12:04:19 -04:00
epenet
cadbe885d1 Add missing type hint in homematic (#145214) 2025-05-19 17:52:35 +02:00
epenet
366f592a8a Fix invalid type hints in netgear switch (#145226)
* Fix invalid type hints in netgear switch

* Adjust
2025-05-19 17:52:23 +02:00
epenet
e491629143 Split update method in pioneer media player (#145212)
Split method in pioneer media player
2025-05-19 17:40:12 +02:00
Simone Chemelli
f44cb9b03e Add action exceptions to Comelit integration (#143581)
* Add action exceptions to Comelit integration

* missing decorator

* update quality scale
2025-05-19 17:30:34 +02:00
Petro31
752c73a2ed Add trigger_variables to template trigger 'for' field (#136672)
* Add trigger_variables to template trigger for

* address comments
2025-05-19 17:26:42 +02:00
Simone Chemelli
a8ecdb3bff Finish reconfigure test for Vodafone Station (#145230) 2025-05-19 16:34:41 +02:00
Simone Chemelli
9c798cbb5d Add device reconfigure to Comelit config flow (#142866)
* Add device reconfigure to Comelit config flow

* tweak

* tweak

* update quality scale

* apply review comment

* apply review comment

* review comment

* complete test
2025-05-19 16:12:27 +02:00
Erik Montnemery
8938c109c2 Improve entity registry restore test (#145220) 2025-05-19 16:09:23 +02:00
Martin Hjelmare
85448ea903 Fix Z-Wave config entry unique id after NVM restore (#145221)
* Fix Z-Wave config entry unique id after NVM restore

* Remove stale comment
2025-05-19 17:05:48 +03:00
epenet
e3d2f917e2 Use shorthand attributes in yandex transport sensor (#145225) 2025-05-19 15:58:34 +02:00
epenet
05795d0ad8 Use _attr_native_value in repetier (#145219) 2025-05-19 15:56:27 +02:00
epenet
a38e033e13 Improve type hints in rtorrent (#145222) 2025-05-19 15:53:41 +02:00
epenet
8df447091d Add missing type hint in vlc (#145223) 2025-05-19 15:52:40 +02:00
Simone Chemelli
760f2d1959 Remove pylance warnings for Comelit tests (#145199) 2025-05-19 15:27:41 +02:00
Simone Chemelli
e64f76bebe Add full test coverage for Comelit cover (#144761) 2025-05-19 15:01:41 +02:00
epenet
7c5090d627 Add missing type hint in zestimate (#145218) 2025-05-19 14:55:48 +02:00
Robert Resch
f6a0d630c3 Fix typo in Ecovacs get_supported_entities (#145215) 2025-05-19 14:45:30 +02:00
markhannon
880f5faeec Add cover entity to Zimi integration (#144330) 2025-05-19 14:24:25 +02:00
Retha Runolfsson
0cf503d871 Add exception translation for switchbot device initialization (#144828) 2025-05-19 14:22:10 +02:00
epenet
9d050360c8 Prevent import from syrupy.SnapshotAssertion (#145208) 2025-05-19 14:18:35 +02:00
Simone Chemelli
0c0c61f9e0 Bump aiocomelit to 0.12.3 (#145209) 2025-05-19 14:16:12 +02:00
Erik Montnemery
e868b3e8ff Sort and simplify DeletedRegistryEntry (#145207) 2025-05-19 14:13:57 +02:00
Simone Chemelli
555215a848 Update quality_scale rules status for Comelit (#143592) 2025-05-19 14:05:08 +02:00
Simone Chemelli
484a547758 Fix pylance warning on SnapshotAssertion import (#145206) 2025-05-19 13:55:48 +02:00
wuede
7d25f68fa5 update pyatmo to version 9.2.0 (#145203) 2025-05-19 13:21:19 +02:00
Maikel Punie
8b22ab93c1 Bump velbusaio to 2025.5.0 (#145198) 2025-05-19 13:20:02 +02:00
epenet
78e3a2d0c6 Mark all _CLASS_MATCH as mandatory in pylint plugin (#145200) 2025-05-19 12:12:17 +01:00
Robert Resch
241c89e885 Bump go2rtc-client to 0.1.3b0 (#145192) 2025-05-19 12:11:07 +01:00
Marc Mueller
7d96a2a620 [ci] Skip step if coverage is skipped (#145202) 2025-05-19 12:46:38 +02:00
Martin Hjelmare
08104eec56 Fix Z-Wave unique id update during controller migration (#145185) 2025-05-19 13:43:06 +03:00
Michael
0fc81d6b33 Add diagnostics platform to Immich integration (#145162)
* add diagnostics platform

* also redact host
2025-05-19 12:23:04 +02:00
Joost Lekkerkerker
cb84e55c34 Map auto to heat_cool for thermostat in SmartThings (#145098) 2025-05-19 12:09:27 +02:00
Joost Lekkerkerker
68c3d5a159 Add lamp capability for hood component in SmartThings (#145036) 2025-05-19 12:07:50 +02:00
epenet
77bab39ed0 Move downloader service to separate module (#145183) 2025-05-19 12:05:33 +02:00
Maciej Bieniek
92e570ffc1 Revert "Link Shelly device entry with Shelly BT scanner entry (#144626)" (#145177)
This reverts commit b15c9ad130.
2025-05-19 13:01:54 +03:00
Paulus Schoutsen
919684e20a Minor cleanup for pipeline tts stream test (#145146) 2025-05-19 11:58:58 +02:00
G Johansson
a1d6df6ce9 Remove deprecated aux heat from ephember (#145152) 2025-05-19 11:58:35 +02:00
epenet
07c3c3bba8 Mark type hint as compulsory for entity.assumed_state property (#145187) 2025-05-19 11:56:05 +02:00
epenet
f11e040662 Mark all _FUNCTION_MATCH as mandatory in pylint plugin (#145194) 2025-05-19 11:55:15 +02:00
epenet
8d83341308 Mark type hint as compulsory for entity.available property (#145189) 2025-05-19 11:50:41 +02:00
Erik Montnemery
f27b2c4df1 Improve device registry restore tests (#145186) 2025-05-19 11:06:16 +02:00
Matrix
717b84bab9 Add battery entity for LockV2 in yolink (#145169)
Add battery entity for LockV2
2025-05-19 11:01:30 +02:00
epenet
a34bce6202 Fix runtime_data in iqvia (#145181) 2025-05-19 10:59:46 +02:00
epenet
bd190b9b4c Use runtime_data in icloud (#145179) 2025-05-19 10:59:06 +02:00
epenet
da6c6c5201 Use runtime_data in ialarm (#145178) 2025-05-19 10:58:34 +02:00
epenet
f50afae1c3 Use runtime_data in hvv_departures (#144951) 2025-05-19 10:58:01 +02:00
epenet
177afea5ad Use runtime_data in huisbaasje (#144953) 2025-05-19 10:57:22 +02:00
Joost Lekkerkerker
a3aae68229 Add athmospheric pressure capability to SmartThings (#145103) 2025-05-19 10:41:22 +02:00
Robert Resch
9ff9d9230e Fix test results parsing error (#145077) 2025-05-19 10:40:03 +02:00
epenet
2bb0843c30 Add ability to mark type hints as compulsory on specific functions (#139730) 2025-05-19 10:27:07 +02:00
Joakim Sørensen
5f2425f421 Bump hass-nabucasa from 0.100.0 to 0.101.0 (#145172) 2025-05-19 10:24:08 +02:00
J. Nick Koston
e46ca41697 Bump aioesphomeapi to 31.1.0 (#145170) 2025-05-19 10:22:47 +02:00
dependabot[bot]
fa5a7aea7e Bump github/codeql-action from 3.28.17 to 3.28.18 (#145173)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-19 10:14:37 +02:00
Tsvi Mostovicz
030681a443 Jewish calendar: use const in action code (#145007)
* Use const defines in code

* Added exception raises

* Revert "Added exception raises"

This reverts commit e8849e586c.
2025-05-19 10:14:22 +02:00
epenet
aa3cbf2473 Cleanup unused string in samsungtv (#145174) 2025-05-19 09:10:01 +02:00
Erik Montnemery
ce71f6444c Sort and simplify DeletedDeviceEntry (#145171)
* Sort and simplify DeletedDeviceEntry

* Fix sort

* Fix sort
2025-05-19 08:40:22 +02:00
J. Nick Koston
eb4d561b96 Bump grpcio to 1.72.0 and protobuf to 6.30.2 (#143633) 2025-05-18 20:10:38 -04:00
peteS-UK
075a41c69a Fix album and artist returning "None" rather than None for Squeezebox media player. (#144971)
* fix

* snapshot update

* cast type
2025-05-18 23:37:06 +02:00
G Johansson
2ba2248f67 Remove deprecated aux heat from econet (#145149) 2025-05-18 23:03:13 +02:00
starkillerOG
ff5ed82de8 Add Kaiser Nienhaus virtual motionblinds integration (#145096)
* Add Kaiser Nienhaus virtual motionblinds integration

* fix typo
2025-05-18 23:01:02 +02:00
wuede
541b969d3b Netatmo: do not fail on schedule updates (#142933)
* do not fail on schedule updates

* add test to check that the store data remains unchanged
2025-05-18 23:00:36 +02:00
javicalle
3d83c6299b Enable RFDEBUG on RFLink "Enable debug logging" (#138571)
* Enable RFDEBUG on "Enable debug logging"

* fix checks

* fix checks

* one more lap

* fix test

* wait to init rflink 

In my dev env this is not needed

* use hass.async_create_task(handle_logging_changed())

instead async_at_started(hass, handle_logging_changed)

* revert unneeded async_block_till_done

* Remove the startup management

There's a race condition at startup that can't be managed nicely
2025-05-18 22:51:42 +02:00
generically-named
3ecde49dca Add energy/water forecast for Miele integration (#144822)
* Add energy/water forecast & fix drying_step error

Adding the energy forecast and water forecast entities that are present in the HACS version of this integration but absent in the HA Core implantation. 

Also fixed the state_drying_step sensor which wasn't handling casting of the API value to an int correctly due to the API sometimes giving a None value.

* Fix formatting issues from previous commit

* Fix missing translation_key line 202

* Remove icon entries

* Update icons.json

* Update strings.json

* Update strings.json (correcting mixed up energy/water forecast names)

* Update homeassistant/components/miele/strings.json

Co-authored-by: Åke Strandberg <ake@strandberg.eu>

* Update homeassistant/components/miele/strings.json

Co-authored-by: Åke Strandberg <ake@strandberg.eu>

* Fix tests

---------

Co-authored-by: Åke Strandberg <ake@strandberg.eu>
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-18 22:33:27 +02:00
Nils Müller
c1fcd8ea7f Fix Nanoleaf light state propagation after change from home asisstant (#144291)
* Fix Nanoleaf light state propagation after change from home asisstant

* Add tests to check if nanoleaf light is triggering async_write_ha_state

* Fix pylint for test case

* Fix use coordinator.async_refresh instead of async_write_ha_state

* Fix tests

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-18 22:26:02 +02:00
G Johansson
78ac8ba841 Remove deprecated aux heat from Nexia (#145147) 2025-05-18 16:14:22 -04:00
Keilin Bickar
d9cfab4c8e Bump sense-energy to 0.13.8 (#145156) 2025-05-18 21:45:11 +02:00
Oliver
4c10502b0e Update denonavr to 1.1.1 (#145155) 2025-05-18 21:44:53 +02:00
Michael
a576f7baf3 Add Immich integration (#145125)
* add immich integration

* bump aioimmich==0.3.1

* rework to require an url as input and pare it afterwards

* fix doc strings

* remove name attribute from deviceinfo as it is default behaviour

* add translated uom for count sensors

* explicitly pass in the config_entry in coordinator

* fix url in strings to uppercase

* use data_updates attribute instead of data

* remove left over

* match entries only by host

* remove quotes

* import SOURCE_USER directly, instead of config_entries

* split happy and sad flow tests

* remove unneccessary async_block_till_done() calls

* replace url example by "full URL"

* bump aioimmich==0.4.0

* bump aioimmich==0.5.0

* allow multiple users for same immich instance

* Fix tests

* limit entities when user has no admin rights

* Fix tests

* Fix tests

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-18 21:28:15 +02:00
G Johansson
520c964656 Remove deprecated aux heat from elkm1 (#145148) 2025-05-18 20:50:33 +02:00
Matrix
3f59b1c376 Add YoLink new device types support 5009 & 5029 (#144323)
* Leak Stop

* Fix as suggested.
2025-05-18 19:59:19 +02:00
Markus Adrario
3ff095cc51 Add Homee alarm-control-panel platform (#140041)
* Add alarm control panel

* Add alarm control panel tests

* add disarm function

* reuse state setting code

* change sleeping to night

* review change 1

* fix review comments

* fix review comments
2025-05-18 17:25:09 +02:00
Marc Hörsken
aa4c41abe8 Postpone update in WMSPro after service call (#144836)
* Reduce stress on WMS WebControl pro with higher scan interval

Avoid delays and connection issues due to overloaded hub.
Fixes #133832 and #134413

* Schedule an entity state update after performing an action

Avoid delaying immediate status updates, e.g. on/off changes.

* Replace scheduled state updates with delayed action completion

Suggested-by: joostlek
2025-05-18 17:23:21 +02:00
Sid
906b3901fb Add select platform to eheimdigital (#145031)
* Add select platform to eheimdigital

* Review

* Review

* Fix tests
2025-05-18 16:52:27 +02:00
Andre Lengwenus
2aba4f261f Add has_entity_name attribute to LCN entities (#145045)
* Add _attr_has_entity_name

* Fix tests
2025-05-18 16:48:44 +02:00
elmurato
3eb0c8ddff Add Pterodactyl binary sensor tests (#142401)
* Add binary sensor tests

* Wait for background tasks as well in test_binary_sensor_update_failure

* Fix module docstring

* Use snapshot_platform, move constants to const.py, do not use snapshot for testing state updates

* Use JSON fixtures

* Use helper for loading JSON fixtures, remove unneeded mock in setup_integration

* Move mocks to pytest markers where possible
2025-05-18 16:46:11 +02:00
Andrea Turri
705a987547 Fix enum values for program phases by appliance type on Miele appliances (#144916) 2025-05-18 11:00:21 +02:00
J. Nick Koston
888f17c504 Bump google-maps-routing to 0.6.15 (#145130) 2025-05-18 09:11:13 +02:00
markhannon
2f4d0ede0f Bump zcc-helper to 3.5.2 (#144926) 2025-05-18 07:13:23 +02:00
Paulus Schoutsen
6fd9857666 OpenAI Conversation split out chat log processing (#145129) 2025-05-17 22:00:24 -07:00
XiaoXianNv-boot
f07265ece4 Set the default upgrade icon for the MQTT device to the default icon for Home Assistant instead of the icon for the MQTT integration (#144295)
* Set the default upgrade icon for the MQTT device to the default icon for Home Assistant instead of the icon for the MQTT integration

* Set the default upgrade icon for the MQTT device to the default icon for Home Assistant instead of the icon for the MQTT integration

* Set the default upgrade icon for the MQTT device to the default icon for Home Assistant instead of the icon for the MQTT integration

* Set the default upgrade icon for the MQTT device to the default icon for Home Assistant instead of the icon for the MQTT integration

* Fix failed tests

* Fix failed tests

* Cleanup unused helper option

* ruff

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2025-05-18 01:30:04 +02:00
J. Nick Koston
a169d6ca97 Bump cryptography to 45.0.1 and pyopenssl to 25.1.0 (#145121) 2025-05-17 23:57:28 +02:00
Joost Lekkerkerker
ebed38c1dc Add Steam closet sanitize to SmartThings (#145110) 2025-05-17 21:03:24 +02:00
Joost Lekkerkerker
5619042fe7 Add Steam closet auto cycle link to SmartThings (#145111) 2025-05-17 20:39:17 +02:00
Joost Lekkerkerker
67b3428b07 Add Steam closet keep fresh mode to SmartThings (#145107) 2025-05-17 20:19:31 +02:00
Jan-Philipp Benecke
2302a3bb33 Add missing device condition translations to lock component (#145104) 2025-05-17 20:18:14 +02:00
Åke Strandberg
a83eafd949 Fix mapping from program_phase to vacuum_activity for Miele integration (#145115) 2025-05-17 20:17:15 +02:00
Paulus Schoutsen
2956f4fea1 Ensure that OpenAI tool call deltas have a role (#145085) 2025-05-17 09:36:14 -07:00
Robert Resch
180e1f462c Fix proberly Ecovacs mower area sensors (#145078) 2025-05-17 16:44:53 +02:00
cdnninja
2dc63eb8c5 Refactor fan in vesync (#135744)
* Refactor Fan

* Add tower fan tests and mode

* Schedule update after turn off

* Adjust updates to refresh library

* correct off command

* Revert changes

* Merge corrections

* Remove unused code to increase test coverage

* Ruff

* Tests

* Test for preset mode

* Adjust to increase coverage

* Test Corrections

* tests to match other PR

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-17 15:57:55 +02:00
Manu
4c40ec4948 Bump aiontfy to 0.5.2 (#145044) 2025-05-17 13:06:02 +02:00
starkillerOG
56b3dc02a7 Bump motionblinds to 0.6.27 (#145094) 2025-05-17 12:45:18 +02:00
Franck Nijhof
f66feabaaf 2025.5.2 (#145072)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: TimL <tl@smlight.tech>
Co-authored-by: Seweryn Zeman <seweryn.zeman@jazzy.pro>
Co-authored-by: hahn-th <15319212+hahn-th@users.noreply.github.com>
Co-authored-by: Luke Lashley <conway220@gmail.com>
Co-authored-by: starkillerOG <starkiller.og@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Arie Catsman <120491684+catsmanac@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
Co-authored-by: Ruben van Dijk <15885455+RubenNL@users.noreply.github.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Simone Chemelli <simone.chemelli@gmail.com>
Co-authored-by: Thomas55555 <59625598+Thomas55555@users.noreply.github.com>
Co-authored-by: Øyvind Matheson Wergeland <oyvind@wergeland.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
Co-authored-by: rjblake <richard.blake@gmail.com>
Co-authored-by: Daniel Hjelseth Høyer <github@dahoiv.net>
Co-authored-by: Matthias Alphart <farmio@alphart.net>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Odd Stråbø <oddstr13@openshell.no>
Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
fix privacy mode availability for NVR IPC cams (#144569)
fix enphase_envoy diagnostics home endpoint name (#144634)
Close Octoprint aiohttp session on unload (#144670)
Fix strings typo for Comelit (#144672)
Fix wrong state in Husqvarna Automower (#144684)
Fix Netgear handeling of missing MAC in device registry (#144722)
Fix blocking call in azure storage (#144803)
Fix Z-Wave unique id after controller reset (#144813)
Fix blocking call in azure_storage config flow (#144818)
Fix wall connector states in Teslemetry (#144855)
Fix Reolink setup when ONVIF push is unsupported (#144869)
Fix some Home Connect translation strings (#144905)
Fix unknown Pure AQI in Sensibo (#144924)
Fix Home Assistant Yellow config entry data (#144948)
Fix ESPHome entities unavailable if deep sleep enabled after entry setup (#144970)
fix from ZHA event `unique_id` (#145006)
Fix climate idle state for Comelit (#145059)
Fix fan AC mode in SmartThings AC (#145064)
Fix Ecovacs mower area sensors (#145071)
2025-05-16 23:08:52 +02:00
Franck Nijhof
0ef098a9f3 Pin rpds-py to 0.24.0 (#145074) 2025-05-16 20:40:02 +00:00
Franck Nijhof
db5bcd9fc4 Pin rpds-py to 0.24.0 (#145074) 2025-05-16 22:39:05 +02:00
jb101010-2
c845f4e9b2 Bump pysuezV2 to 2.0.5 (#145047) 2025-05-16 22:33:14 +02:00
Joost Lekkerkerker
5aff3499a0 Add number entities for freezer setpoint in SmartThings (#145069) 2025-05-16 22:29:00 +02:00
Andre Lengwenus
a501451038 Remove address parameter from services.yaml (#145052) 2025-05-16 22:27:09 +02:00
Paulus Schoutsen
0deed82bea OpenAI prompt is optional (#145065) 2025-05-16 22:22:46 +02:00
starkillerOG
f9231de824 Add additional explanation for Reolink password requirements (#145000) 2025-05-16 22:12:59 +02:00
Joost Lekkerkerker
757c66613d Deprecate SmartThings water heater sensors (#145060) 2025-05-16 21:59:12 +02:00
epenet
9d2302f2f5 Use runtime_data in homeworks (#144944) 2025-05-16 21:57:36 +02:00
epenet
0bbbd2cd54 Use runtime_data in hydrawise (#144950) 2025-05-16 21:45:11 +02:00
Franck Nijhof
02b028add3 Bump version to 2025.5.2 2025-05-16 19:31:36 +00:00
Robert Resch
34455f9743 Fix Ecovacs mower area sensors (#145071) 2025-05-16 19:31:15 +00:00
Joost Lekkerkerker
8c4eec231f Don't create entities for Smartthings smarttags (#145066) 2025-05-16 19:31:14 +00:00
Joost Lekkerkerker
621a14d7cc Fix fan AC mode in SmartThings AC (#145064) 2025-05-16 19:31:12 +00:00
Joost Lekkerkerker
4906e78a5c Only set suggested area for new SmartThings devices (#145063) 2025-05-16 19:31:11 +00:00
Bram Kragten
146e440d59 Update frontend to 20250516.0 (#145062) 2025-05-16 19:31:10 +00:00
Joost Lekkerkerker
e2ede3ed19 Map SmartThings auto mode correctly (#145061) 2025-05-16 19:31:09 +00:00
Simone Chemelli
b76ac68fb1 Fix climate idle state for Comelit (#145059) 2025-05-16 19:31:07 +00:00
Joost Lekkerkerker
0691ad9362 Set SmartThings oven setpoint to unknown if its 1 Fahrenheit (#145038) 2025-05-16 19:31:06 +00:00
Joost Lekkerkerker
715f116954 Bump pySmartThings to 3.2.2 (#145033) 2025-05-16 19:31:05 +00:00
puddly
9f0db98745 Strip _CLIENT suffix from ZHA event unique_id (#145006) 2025-05-16 19:31:03 +00:00
Odd Stråbø
0ba55c31e8 Fix ESPHome entities unavailable if deep sleep enabled after entry setup (#144970) 2025-05-16 19:31:02 +00:00
Robert Resch
19b7cfbd4a Bump deebot-client to 13.2.0 (#144957) 2025-05-16 19:31:01 +00:00
Erik Montnemery
a9520888cf Fix Home Assistant Yellow config entry data (#144948) 2025-05-16 19:31:00 +00:00
Matthias Alphart
f086f4a955 Ignore Fronius Gen24 firmware 1.35.4-1 SSL verification issue for new setups (#144940) 2025-05-16 19:30:59 +00:00
G Johansson
a657964c25 Fix unknown Pure AQI in Sensibo (#144924)
* Fix unknown Pure AQI in Sensibo

* Fix mypy
2025-05-16 19:30:57 +00:00
Daniel Hjelseth Høyer
543104b36c Update mill library 0.12.5 (#144911)
* Update mill library 0.12.5

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

* Update mill library 0.12.5

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

---------

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2025-05-16 19:30:56 +00:00
Daniel Hjelseth Høyer
bf1d2069e4 Update Tibber lib 0.31.2 (#144908)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2025-05-16 19:30:55 +00:00
rjblake
e5e1c9fb05 Fix some Home Connect translation strings (#144905)
* Update strings.json

Corrected program names:
changed "Pre_rinse" to "Pre-Rinse"
changed "Kurz 60°C" to "Speed 60°C"

Both match the Home Connect app; although the UK documentation refers to "Speed 60°C" as "Quick 60°C"

* Adjust casing

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-16 19:30:53 +00:00
starkillerOG
4c4be88323 Fix Reolink setup when ONVIF push is unsupported (#144869)
* Fix setup when ONVIF push is not supported

* fix styling
2025-05-16 19:30:52 +00:00
Brett Adams
5a83627dc5 Fix wall connector states in Teslemetry (#144855)
* Fix wall connector

* Update snapshot
2025-05-16 19:30:51 +00:00
Allen Porter
3123a7b168 Bump ical to 9.2.4 (#144852) 2025-05-16 19:30:50 +00:00
Luke Lashley
8161ce6ea8 Bump python-snoo to 0.6.6 (#144849) 2025-05-16 19:30:49 +00:00
Josef Zweck
d9cbd1b65f Bump pylamarzocco to 2.0.3 (#144825) 2025-05-16 19:30:47 +00:00
Josef Zweck
b7c07209b8 Fix blocking call in azure_storage config flow (#144818)
* Fix blocking call in azure_storage config flow

* Fix blocking call in azure_storage config_flow as well

* move session getting to event flow
2025-05-16 19:30:46 +00:00
Martin Hjelmare
6c3a4f17f0 Fix Z-Wave unique id after controller reset (#144813) 2025-05-16 19:30:45 +00:00
Josef Zweck
d82feb807f Fix blocking call in azure storage (#144803) 2025-05-16 19:30:43 +00:00
Jan Bouwhuis
c373fa9296 Do not show an empty component name on MQTT device subentries not as None if it is not set (#144792) 2025-05-16 19:30:42 +00:00
starkillerOG
139b48440f Cleanup wrongly combined Reolink devices (#144771) 2025-05-16 19:30:41 +00:00
Joost Lekkerkerker
9de1d3b143 Fill in Plaato URL via placeholders (#144754) 2025-05-16 19:29:35 +00:00
Martin Hjelmare
b69ebdaecb Repair Z-Wave unknown controller (#144738)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-16 19:23:25 +00:00
starkillerOG
f25e50b017 Fix Netgear handeling of missing MAC in device registry (#144722) 2025-05-16 19:23:24 +00:00
Simone Chemelli
a4a7601f9f Bump aiocomelit to 0.12.1 (#144720) 2025-05-16 19:23:22 +00:00
Øyvind Matheson Wergeland
41a503f76f Bump gcal-sync to 7.0.1 (#144718)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-05-16 19:23:21 +00:00
Allen Porter
f1a3d62db2 Bump ical to 9.2.2 (#144713) 2025-05-16 19:23:20 +00:00
Allen Porter
e465276464 Bump voluptuous-openapi to 0.1.0 (#144703) 2025-05-16 19:23:18 +00:00
Robert Resch
dbc15a2dda Fix Ecovacs mower area sensors (#145071) 2025-05-16 21:22:43 +02:00
Thomas55555
47b45444eb Fix wrong state in Husqvarna Automower (#144684) 2025-05-16 19:22:02 +00:00
Simone Chemelli
cf0911cc56 Avoid closing shared session for Comelit (#144682) 2025-05-16 19:22:00 +00:00
Simone Chemelli
da79d5b2e3 Fix strings typo for Comelit (#144672) 2025-05-16 19:21:59 +00:00
G Johansson
358b0c1c17 Bump holidays to 0.72 (#144671) 2025-05-16 19:21:58 +00:00
Ruben van Dijk
543348fe58 Close Octoprint aiohttp session on unload (#144670) 2025-05-16 19:21:57 +00:00
Simon Lamon
0635856761 Bump python-linkplay to v0.2.5 (#144666)
Bump linkplay to 0.2.5
2025-05-16 19:21:55 +00:00
Allen Porter
081afe6034 Bump ical to 9.2.1 (#144642) 2025-05-16 19:21:54 +00:00
Arie Catsman
ca14322227 bump pyenphase to 1.26.1 (#144641) 2025-05-16 19:21:53 +00:00
Josef Zweck
a54816a6e5 Bump pylamarzocco to 2.0.2 (#144635)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-05-16 19:21:51 +00:00
Arie Catsman
27db4e90b5 fix enphase_envoy diagnostics home endpoint name (#144634) 2025-05-16 19:21:50 +00:00
J. Nick Koston
e9cc624d93 Mark inkbird coordinator as not needing connectable (#144584) 2025-05-16 19:19:59 +00:00
starkillerOG
5a95f43992 Bump reolink_aio to 0.13.3 (#144583) 2025-05-16 19:19:58 +00:00
J. Nick Koston
36a35132c0 Bump aiodiscover to 2.7.0 (#144571) 2025-05-16 19:19:57 +00:00
starkillerOG
2fbc75f89b Reolink fix privacy mode availability for NVR IPC cams (#144569)
* Correct "available" for IPC cams

* Check privacy mode when updating
2025-05-16 19:19:56 +00:00
Luke Lashley
48aa6be889 Don't scale Roborock mop Path (#144421)
don't scale mop path
2025-05-16 19:19:55 +00:00
hahn-th
bde04bc47b Doorbell Event is fired just once in homematicip_cloud (#144357)
* fire event if event type if correct

* Fix requested changes
2025-05-16 19:19:53 +00:00
Seweryn Zeman
7d163aa659 Removed unused file_id param from open_ai_conversation request (#143878) 2025-05-16 19:19:52 +00:00
TimL
010b044379 Allow dns hostnames to be retained for SMLIGHT user flow. (#142514)
* Dont overwrite host with local IP

* adjust test for user flow change
2025-05-16 19:19:50 +00:00
Joost Lekkerkerker
7fefd58b84 Don't create entities for Smartthings smarttags (#145066) 2025-05-16 21:17:07 +02:00
Joost Lekkerkerker
87b60967a6 Map SmartThings auto mode correctly (#145061) 2025-05-16 20:14:41 +02:00
Joost Lekkerkerker
e80069545f Only set suggested area for new SmartThings devices (#145063) 2025-05-16 19:53:46 +02:00
Joost Lekkerkerker
be5685695e Fix fan AC mode in SmartThings AC (#145064) 2025-05-16 19:38:18 +02:00
Bram Kragten
6b769ac263 Update frontend to 20250516.0 (#145062) 2025-05-16 19:37:22 +02:00
Simone Chemelli
9114816384 Fix climate idle state for Comelit (#145059) 2025-05-16 18:51:30 +02:00
Ludovic BOUÉ
db3e596e48 Update Matter MicrowaveOven fixture (#145057)
Update microwave_oven.json

PowerInWatts feature
2025-05-16 18:19:36 +02:00
Joost Lekkerkerker
bdc21da076 Sync SmartThings EHS fixture (#145042) 2025-05-16 15:08:24 +02:00
epenet
a500eeb831 Use runtime_data in hue (#144946)
* Use runtime_data in hue

* More

* Tests
2025-05-16 08:35:46 -04:00
Joost Lekkerkerker
119d0c576a Add hood fan speed capability to SmartThings (#144919) 2025-05-16 13:39:03 +02:00
Bouwe Westerdijk
38cee53999 Small code optimization for Plugwise (#145037) 2025-05-16 13:28:31 +02:00
Joost Lekkerkerker
2ca9d4689e Set SmartThings oven setpoint to unknown if its 1 Fahrenheit (#145038) 2025-05-16 13:17:56 +02:00
Joost Lekkerkerker
8a32ffc7b9 Bump pySmartThings to 3.2.2 (#145033) 2025-05-16 13:10:58 +02:00
Matthias Alphart
6475b1a446 Ignore Fronius Gen24 firmware 1.35.4-1 SSL verification issue for new setups (#144940) 2025-05-16 12:58:59 +02:00
starkillerOG
07db244f91 Cleanup wrongly combined Reolink devices (#144771) 2025-05-16 12:58:28 +02:00
Joost Lekkerkerker
ff4aed1f6e Fix errors in strings in SmartThings (#145030) 2025-05-16 12:22:17 +02:00
Joost Lekkerkerker
3208815e10 Fix non-DHW heat pump in SmartThings (#145008) 2025-05-16 12:08:32 +02:00
epenet
b4a1bdcb83 Move huisbaasje coordinator to separate module (#144955) 2025-05-16 12:07:19 +02:00
epenet
97869636f8 Use typed config entry in Habitica coordinator (#144956) 2025-05-16 11:59:11 +02:00
epenet
cbb092f792 Move icloud services to separate module (#144980) 2025-05-16 11:56:07 +02:00
Sanjay Govind
0c5ee37721 Update bosch_alarm door switch strings so they are more user friendly (#144607)
* Update door switch strings so they are more user friendly

* Update door switch strings so they are more user friendly

* Update door switch strings so they are more user friendly

* update strings

* update strings
2025-05-16 11:43:31 +02:00
epenet
e74aeeab1a Use runtime_data in iaqualink (#144988) 2025-05-16 11:41:16 +02:00
Sanjay Govind
b8df9c7e97 Set parallel_updates for bosch_alarm (#145028) 2025-05-16 11:26:22 +02:00
epenet
82a9e67b7e Use generic in iaqualink entity (#144989) 2025-05-16 10:53:24 +02:00
Joost Lekkerkerker
7410b8778a Deprecate DHW switch for SmartThings (#145011) 2025-05-16 10:47:23 +02:00
epenet
3e92f23680 Cleanup huisbaasje tests (#144954) 2025-05-16 10:38:17 +02:00
rjblake
3942e6a841 Fix some Home Connect translation strings (#144905)
* Update strings.json

Corrected program names:
changed "Pre_rinse" to "Pre-Rinse"
changed "Kurz 60°C" to "Speed 60°C"

Both match the Home Connect app; although the UK documentation refers to "Speed 60°C" as "Quick 60°C"

* Adjust casing

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-16 10:37:11 +02:00
Joost Lekkerkerker
e76b483067 Add lamp capability to SmartThings (#144918) 2025-05-16 10:36:58 +02:00
Retha Runolfsson
3de740ed1e Bump PySwitchbot to 0.62.2 (#145018) 2025-05-16 10:30:30 +02:00
Bouwe Westerdijk
bbe975baef Bump plugwise to v1.7.4 (#145021) 2025-05-16 10:28:57 +02:00
Sid
6dff975711 Initialize select _attr_current_option with None (#145026) 2025-05-16 10:27:59 +02:00
Jan Bouwhuis
71108d9ca0 Do not show an empty component name on MQTT device subentries not as None if it is not set (#144792) 2025-05-16 10:26:00 +02:00
puddly
053e5417a7 Strip _CLIENT suffix from ZHA event unique_id (#145006) 2025-05-16 10:25:24 +02:00
Sanjay Govind
9bbc49e842 Add DHCP discovery flow to bosch_alarm (#142250)
* Add dhcp discovery

* Update homeassistant/components/bosch_alarm/config_flow.py

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

* put mac address in entry instead of unique id

* Update host and mac via dhcp discovery

* add mac to connections

* Abort dhcp flow if there is already an ongoing flow

* apply changes from review

* apply change from review

* remove outdated test

* fix snapshots

* apply change from review

* clean definition for connections

* update quality scale

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-16 10:21:41 +02:00
dependabot[bot]
270780ef5f Bump docker/build-push-action from 6.16.0 to 6.17.0 (#145022)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-16 09:42:24 +02:00
dependabot[bot]
e15963b422 Bump codecov/codecov-action from 5.4.2 to 5.4.3 (#145023)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-16 08:54:13 +02:00
starkillerOG
52e8196d0a Mark Reolink doorbell visitor sensor as always available (#145002)
Mark doorbell visitor sensor as always available
2025-05-15 20:34:55 -04:00
Odd Stråbø
cc62943835 Fix ESPHome entities unavailable if deep sleep enabled after entry setup (#144970) 2025-05-15 18:57:16 -05:00
epenet
d195726ed2 Use runtime_data in isy994 (#144961) 2025-05-15 13:50:48 -05:00
epenet
50e6c83dd8 Fix missing mock in hue v2 bridge tests (#144947) 2025-05-15 13:53:12 -04:00
alorente
3a58d97496 Fix wrong UNIT_CLASS for reactive energy converter (#144982) 2025-05-15 18:27:16 +01:00
epenet
ace12958d1 Use runtime_data in iqvia (#144984) 2025-05-15 17:48:02 +02:00
Joost Lekkerkerker
d33a0f75fd Add water heater support to SmartThings (#144927)
* Add another EHS SmartThings fixture

* Add another EHS

* Add water heater support to SmartThings

* Add water heater support to SmartThings

* Add water heater support to SmartThings

* Add water heater support to SmartThings

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Add more tests

* Make target temp setting conditional

* Make target temp setting conditional

* Finish tests

* Fix
2025-05-15 17:42:38 +02:00
Erik Montnemery
d24a60777b Fix Home Assistant Yellow config entry data (#144948) 2025-05-15 10:07:53 -04:00
epenet
f2a3a5cbbd Move iqvia coordinator to separate module (#144969)
* Move iqvia coordinator to separate module

* Adjust
2025-05-15 15:50:46 +02:00
Petro31
3bf9908789 Add template vacuum modern style (#144843)
* Add template vacuum modern style

* address comments and add tests for coverage

* address comments

* update vacuum and sort domains
2025-05-15 15:46:00 +02:00
epenet
912798ee34 Use runtime_data in intellifire (#144979) 2025-05-15 14:57:26 +02:00
epenet
28990e1db5 Use runtime_data in ipma (#144972)
* Use runtime_data in ipma

* Cleanup const
2025-05-15 14:43:58 +02:00
epenet
e8281bb009 Use runtime_data in iotawatt (#144977) 2025-05-15 14:43:35 +02:00
Robert Resch
334f9deaec Bump deebot-client to 13.2.0 (#144957) 2025-05-15 13:46:15 +02:00
alorente
1d47dc41c9 Add reactive energy device class and units (#143941) 2025-05-15 12:05:46 +01:00
Petro31
66ecc4d69d Add modern configuration for template alarm control panel (#144834)
* Add modern configuration for template alarm control panel

* address comments and add tests for coverage

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-05-15 11:46:57 +02:00
starkillerOG
fa3edb5c01 Fix Netgear handeling of missing MAC in device registry (#144722) 2025-05-15 10:56:54 +02:00
Petro31
ea046f32be Add modern style template lock (#144756)
* Add modern style lock

* add tests

* Add tests and address comments

* Update homeassistant/components/template/lock.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-05-15 10:43:56 +02:00
markhannon
fd09476b28 Add sensor entity to Zimi integration (#144329)
* Import sensor.py

* Light design alignment

* Fix merge error

* Refactor with extend

* Update homeassistant/components/zimi/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* value_fn and inline refactoring

* strings.json and translation_key

* Add sensor_name

* Revert "Add sensor_name"

This reverts commit ad3da048e9.

* Default naming for sensors

* Remove uneeded 'garage' and use default battery name

* Bump to zcc-helper 3.5.2 which maps "Garage Controller" tp "Garage" in device.name

* Update homeassistant/components/zimi/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/sensor.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update strings.json

* Revert "Bump to zcc-helper 3.5.2 which maps "Garage Controller" tp "Garage" in device.name"

This reverts commit 345ef8a485.

* Update homeassistant/components/zimi/sensor.py

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-05-15 10:12:18 +02:00
Alexandre CUER
7c306acd5d Emoncms remove useless var in tests (#144942) 2025-05-15 09:48:01 +02:00
G Johansson
9c4733595a Fix unknown Pure AQI in Sensibo (#144924)
* Fix unknown Pure AQI in Sensibo

* Fix mypy
2025-05-15 10:27:48 +03:00
Petro31
c7cf9585ae Add modern style configuration for template fan (#144751)
* add modern template fan

* address comments and add tests for coverage
2025-05-15 08:18:37 +02:00
J. Nick Koston
301ca88f41 Bump aioesphomeapi to 31.0.1 (#144939) 2025-05-14 22:27:25 -05:00
peteS-UK
9a0fed89bd Translate raised exceptions for Squeezebox (#144842)
* initial

* tweak

* review updates
2025-05-14 19:39:00 -04:00
Joost Lekkerkerker
2050b0b375 Add another EHS SmartThings fixture (#144920)
* Add another EHS SmartThings fixture

* Add another EHS
2025-05-14 23:23:18 +02:00
epenet
34c7c3f384 Use runtime_data in homematicip_cloud (#144892) 2025-05-14 23:14:02 +02:00
epenet
3b9d8e00bc Use runtime_data and HassKey in geofency (#144886) 2025-05-14 23:13:37 +02:00
Abílio Costa
6b35b069b2 Remove duplicated code in unit conversion util (#144912) 2025-05-14 22:05:29 +01:00
Paulus Schoutsen
9428127021 Add media search and play intent (#144269)
* Add media search intent

* Add PLAY_MEDIA as required feature and remove explicit responses

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2025-05-14 15:45:40 -04:00
Sanjay Govind
1e8843947c Add sensor for alarm status in bosch_alarm (#142564)
* Add sensor for alarm status

* style fixes

* fix icons

* style fixes

* update tests

* apply change from code review

* add alarm to alarm sensor state

* Apply changes from review
2025-05-14 21:00:41 +02:00
Sanjay Govind
dbdffbba23 Add binary sensors to bosch_alarm (#142147)
* Add binary sensors to bosch_alarm

* make one device per sensor, remove device class guessing

* fix tests

* update tests

* Apply suggested changes

* add binary sensors

* make fault sensors diagnostic

* update tests

* update binary sensors to use base entity

* fix strings

* fix icons

* add state translations for area ready sensors

* use constants in tests

* apply changes from review

* remove fault prefix, use default translation for battery low

* update tests
2025-05-14 20:56:08 +02:00
Daniel Hjelseth Høyer
460f02ede5 Update mill library 0.12.5 (#144911)
* Update mill library 0.12.5

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

* Update mill library 0.12.5

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

---------

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2025-05-14 20:46:28 +02:00
Sid
0eb6c88bc5 Add system LED brightness to eheimdigital (#144915) 2025-05-14 20:45:58 +02:00
Nick Kuiper
4b7650f2d2 Add buttons to Blue current integration (#143964)
* Add buttons to Blue current integration

* Apply feedback

* Changed configEntry to use the BlueCurrentConfigEntry.

The connector is now accessed via the entry instead of hass.data.

* Changed test_buttons_created test to use the snapshot_platform function.

Also removed the entry.unique_id check in the test_charge_point_buttons function because this is not needed anymore, according to https://github.com/home-assistant/core/pull/114000#discussion_r1627201872

* Applied requested changes.

Changes requested by joostlek.

* Moved has_value from BlueCurrentEntity to class level.

This value was still inside the __init__ function, so the value was not overwritten by the ChargePointButton.

---------

Co-authored-by: Floris272 <florispuijk@outlook.com>
2025-05-14 19:37:16 +02:00
Daniel Hjelseth Høyer
8004c6605b Update Tibber lib 0.31.2 (#144908)
Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2025-05-14 19:25:01 +02:00
Marc Hörsken
9d451b6358 Add support for identify buttons to WMS WebControl pro (#143339)
* Remove _attr_name = None from generic base class

* Add support for identify buttons to WMS WebControl pro

* Fix PERF401 as suggested by joostlek

* Fix fixture name after rebase

* Split test

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-14 18:06:21 +02:00
LG-ThinQ-Integration
7963665c40 Add fan for ventilator (#142444)
Add ventilator device

Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-05-14 17:58:25 +02:00
Erik Montnemery
d44a34ce1e Refactor DeviceAutomationTriggerProtocol (#144888) 2025-05-14 17:24:19 +02:00
Joost Lekkerkerker
49b7559b1f Fix snapshots in APC (#144901) 2025-05-14 17:14:57 +02:00
Glenn Vandeuren (aka Iondependent)
43b1dd64a7 Handle unit conversion in lib for niko_home_control (#141837)
* handle unit conversion in lib

* bump lib

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-14 17:13:06 +02:00
Matthias Alphart
2d0c1fac24 Fix "tunneling" spelling in KNX (#144895) 2025-05-14 17:05:45 +02:00
Andre Lengwenus
a0f35a84ae Positioning for LCN covers (#143588)
* Fix motor control function names

* Add position logic for BS4

* Use helper methods from pypck

* Add motor positioning to domain_data schema

* Fix tests

* Add motor positioning via module

* Invert motor cover positions

* Merge relay cover classes back into one class

* Update snapshot for covers

* Revert bump lcn-frontend to 0.2.4
2025-05-14 16:49:30 +02:00
epenet
4bc5987f36 Use runtime_data in rachio (#144896) 2025-05-14 16:46:36 +02:00
Yuxin Wang
11644d48ee Use snapshot testing for APCUPSD integration (#130770)
* First try to use snapshot testing for sensors

* Use snapshot testing

* Add ambr files

* Update comment

* Address review comments

* Remove duplicate async init integration call

* Add device test for cases w/o SERIALNO

* Use friendlier snapshot names

* Use * to mandate keyed argument for async_init_integration

* Always pass mock config entry ID

* Fix incorrect ID
2025-05-14 16:04:07 +02:00
Petro31
d273a92a19 Refactor template optional configuration attributes (#144887) 2025-05-14 15:54:40 +02:00
Brian Rogers
b0ff4b5841 Add flow detection to Rachio hose timer (#144075)
* flow binary sensor

* rename property

* Move const and update coordinator reference

* update controller descriptions

* Address review comments

* Use lookup for rain sensor

* Update online binary sensor

* make it a bit more readable

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-05-14 15:01:01 +02:00
epenet
ef99658919 Use runtime_data in gpslogger (#144884) 2025-05-14 14:59:10 +02:00
epenet
a9238c7577 Use entry.async_on_unload in gpslogger (#144883) 2025-05-14 14:31:50 +02:00
Brett Adams
993e98a43f Fix pin strings in Teslemetry (#144873)
pinstring
2025-05-14 14:31:41 +02:00
epenet
10dd11f257 Use HassKey in greeneye_monitor (#144878) 2025-05-14 14:30:45 +02:00
epenet
fb9be3da79 Use entry.async_on_unload in geofency (#144882) 2025-05-14 14:30:02 +02:00
Åke Strandberg
3b1a33d606 Fix substitutions in strings.json in Miele integration (#144881)
Fix substitutions in strings.json
2025-05-14 14:14:48 +02:00
epenet
710e18f399 Use runtime_data in gree (#144880) 2025-05-14 14:06:40 +02:00
Maximilian Arzberger
67b9904740 Add Kostal plenticore Installer login support (#133773)
* feat: Add Installer login, Add ManualCharge Switch

* remove unnecessary field

* replace strings with consts

* change to CONF and camel_case

* Improve existing code

* Add translation string

* format code

* add service code test

* format code

* format code

* remove manual charge switch

* add reconfigure config flow

* fix flow

* add return type

* add reconfigure strings

* adjust tests

* change string

* simlify tests

* add reconfigure test

* add more tests

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-14 14:05:23 +02:00
Robert Resch
e413e9b93b Add mac address to airgradient devices (#144876) 2025-05-14 13:40:38 +02:00
Matthias Alphart
5c86042b31 Add Fronius current and voltage for up to 4 MPP trackers (#140120)
Support current and voltage of up to 4 MPP trackers
2025-05-14 13:37:02 +02:00
Martin Hjelmare
e89333811e Improve Z-Wave config flow tests (#144871)
* Improve Z-Wave config flow tests

* Fix test

* Use identify check for result type
2025-05-14 13:08:26 +02:00
Dmytro Tkach
4f723232e3 Add modbus light brightness and color temperature (#139703)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-05-14 12:07:19 +01:00
Åke Strandberg
48520d90ef Add plate sensors for Miele hobs (#144400)
* Add plate sensors for miele hobs

* Address review comments

* Update snapshot
2025-05-14 13:02:05 +02:00
Jeremiah Paige
2fdda91cb8 Fix pandora.media_player to not sleep during event loop (#141957)
* Fix pandora.media_player to not sleep during event loop

* factor out pianobar spawn

* linting cleanup

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-14 12:34:40 +02:00
Sören Beye
c023f610dd Introduce recorder.get_statistics service (#142602)
Co-authored-by: abmantis <amfcalt@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-05-14 11:28:32 +01:00
epenet
161b62d8fa Drop alias from local DOMAIN import (#144867) 2025-05-14 12:24:46 +02:00
Brett Adams
8ccedd4064 Add credit balance sensor to Teslemetry (#144365)
* Add credits

* Credits string and icon

* Add test

* tests and fixes

* Add units

* Update homeassistant/components/teslemetry/sensor.py

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

* Update snapshot with unit

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-14 12:21:45 +02:00
Rob Bierbooms
9a06584a1d Bump influxdb-client to 1.48.0 (#144845)
* Bump influxdb-client to 1.48.0

* Adjust typing, fix mypy

* Update homeassistant/components/influxdb/__init__.py

* Update homeassistant/components/influxdb/__init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-14 12:21:26 +02:00
Daniël van den Berg
a21e586140 Show Sonos playlists under favorites (#142357)
* Update media_browser.py

* Update favorites.py

* Update media_player.py

* Update media_browser.py

* Update media_player.py

* Update favorites.py

* Update media_browser.py

* Update media_player.py

* Update favorites.py

* Added/fixed testing for showing sonos native playlists in the media browser

* Create a DidlFavorite to wrap playlists.

* Processed PR feedback
2025-05-14 12:14:20 +02:00
epenet
91f01d660f Move ps4 services to separate module (#144870) 2025-05-14 12:04:43 +02:00
peteS-UK
1748dbd60f Add parallel_updates to new updates platform for Squeezebox (#144864)
initial
2025-05-14 11:59:28 +02:00
starkillerOG
5acae7f86d Fix Reolink setup when ONVIF push is unsupported (#144869)
* Fix setup when ONVIF push is not supported

* fix styling
2025-05-14 11:58:29 +02:00
epenet
30ecba9944 Finish cleaning up SamsungTV init tests (#144865)
FInish cleaning up SamsungTV init tests
2025-05-14 11:58:01 +02:00
epenet
4287df5f3d Use HassKey in ps4 (#144868) 2025-05-14 11:51:32 +02:00
hahn-th
063deab3cb Doorbell Event is fired just once in homematicip_cloud (#144357)
* fire event if event type if correct

* Fix requested changes
2025-05-14 11:44:59 +02:00
dependabot[bot]
27798a6004 Bump actions/dependency-review-action from 4.7.0 to 4.7.1 (#144856)
Bumps [actions/dependency-review-action](https://github.com/actions/dependency-review-action) from 4.7.0 to 4.7.1.
- [Release notes](https://github.com/actions/dependency-review-action/releases)
- [Commits](https://github.com/actions/dependency-review-action/compare/v4.7.0...v4.7.1)

---
updated-dependencies:
- dependency-name: actions/dependency-review-action
  dependency-version: 4.7.1
  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>
2025-05-14 11:43:14 +02:00
Luke Lashley
577ddd9021 Bump python-snoo to 0.6.6 (#144849) 2025-05-14 11:42:43 +02:00
Allen Porter
34663e160d Bump ical to 9.2.4 (#144852) 2025-05-14 11:42:22 +02:00
Norbert Rittel
ac54b81289 Fix spelling of "IP address" in plugwise (#144861) 2025-05-14 11:01:14 +03:00
Penny Wood
67174fb07e Remove myself as code owner of sun component (#144854)
* Remove myself as code owner

I'm haven't actively been working on this for some time. Have removed myself as a code owner.

* cleanup

* cleanup

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-05-14 09:37:51 +03:00
Brett Adams
d2a692393f Fix wall connector states in Teslemetry (#144855)
* Fix wall connector

* Update snapshot
2025-05-14 08:08:24 +02:00
Åke Strandberg
9aa2664188 Change unknown to unknown_code for missing Miele codes to avoid confusion (#144699)
* Change unknown to unknown_code

* Update snapshot

* Automatically replace missing codes with None

* Update snapshot
2025-05-14 08:07:38 +02:00
David Rapan
ab5d60e33d Make DHCP discovery aware of the network integration (#144767)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-05-14 00:59:48 -05:00
epenet
31847d8cfb Adjust handling of SamsungTV misaligned MAC (#144810)
* Cleanup SamsungTV misaligned MAC formatting

* Simplify

* One more

* Revert and add comment

* Adjust comment

* One more
2025-05-14 07:57:33 +02:00
John Hillery
9729f1f38b Provide ability to select nexia RoomIQ sensors (#144278)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-05-13 23:16:05 -05:00
peteS-UK
6bc6733c40 Add config flow data descriptions to Squeezebox (#144619)
* add data_descriptions

* tweaks

* review updates
2025-05-13 21:10:47 -07:00
Tsvi Mostovicz
b1ffcb4245 Jewish calendar - Fix Parasha values (#144646)
* Fix Parasha values

* Fix test

* Update sensor.py
2025-05-13 21:08:47 -07:00
Josef Zweck
f0c5fbfb8a Bump pylamarzocco to 2.0.3 (#144825) 2025-05-13 21:04:38 -07:00
J. Nick Koston
c76239806d Bump aioesphomeapi to 31.0.0 (#144778)
* aioesphomeapi update

* Bump aioesphomeapi to 31.0.0

There are some breaking changes with the protobuf naming and types
required some refactoring

changelog: https://github.com/esphome/aioesphomeapi/compare/v30.2.0...v31.0.0

* actually include the commit to bump the lib
2025-05-13 20:39:53 -04:00
Abílio Costa
6d809b0b5a Add service response support to admin services (#144837) 2025-05-13 21:57:15 +01:00
Norbert Rittel
de2cbb7f5c Improve user-facing strings of incomfort (#144844)
* Improvements in user-facing strings of `incomfort`

Fix spelling of "IP address" and "timeout"

Remove "temperature" from "Shortcut outside sensor temperature" as this makes no sense and leads to completely wrong translations. This is to indicate an electrical shortcut on the sensor so this should be the last word.

This also matches the naming in the user manual.

* Suggestion from review

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

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-05-13 22:47:21 +02:00
Erik Montnemery
cd61f37df7 Remove support for condition platforms defining only a CONDITION_SCHEMA (#144832) 2025-05-13 20:53:08 +02:00
epenet
26796f87cd Add device registry snapshots to samsungtv tests (#144804)
* Add device registry snapshots to samsungtv tests

* Simplify

* Adjust

* Reduce
2025-05-13 18:20:43 +02:00
Åke Strandberg
e2dd897ac7 Bump dependency pymiele -> 0.5.2 (#144758) 2025-05-13 18:19:49 +02:00
Retha Runolfsson
3bbe4baaf7 Update codeowner for switchbot Integration (#144829)
update codeowners
2025-05-13 18:16:05 +02:00
Alistair Francis
d409b86217 Bump automower-ble to 0.2.1 (#144817) 2025-05-13 14:21:56 +01:00
Josef Zweck
7928c15849 Fix blocking call in azure_storage config flow (#144818)
* Fix blocking call in azure_storage config flow

* Fix blocking call in azure_storage config_flow as well

* move session getting to event flow
2025-05-13 14:23:41 +02:00
epenet
d197debbc0 Improve SamsungTV config flow type hints (#144820) 2025-05-13 14:02:07 +02:00
Martin Hjelmare
55b9dee448 Fix Z-Wave unique id after controller reset (#144813) 2025-05-13 14:12:00 +03:00
epenet
5c6984d326 Do not abort on invalid host in SamsungTV user flow (#144794) 2025-05-13 10:47:26 +02:00
Josef Zweck
a7787d6080 Fix blocking call in azure storage (#144803) 2025-05-13 10:46:46 +02:00
Jeremiah Paige
2db60340c2 Add typing to wsdot (#143117)
* increase wsdot typing

* remove Final types

* help out mypy

* simplify wsdot types

* minor wsdot type changes

* type wsdot state
2025-05-13 10:43:03 +02:00
Mick Vleeshouwer
c121631fef Refactor config flow tests to improve result variable usage in Overkiz (#143374)
* Refactor test setup for unique ID migration in Overkiz integration

* Refactor test cases to unify result variable usage in Overkiz config flow tests (resultn -> result)

* Revert change in test_init
2025-05-13 10:35:32 +02:00
epenet
b0fb16d48d Remove obsolete compatibility code from SamsungTV (#144800) 2025-05-13 09:54:26 +02:00
Franck Nijhof
3e07f6543e Update debugpy to v1.8.14 (#144755) 2025-05-13 08:14:55 +02:00
Brett Adams
d4c2356c70 Create stream on demand in Teslemetry (#144777)
Create stream on demand
2025-05-13 08:05:33 +02:00
epenet
eec617b391 Add comments to samsungtv config flow tests (#144787) 2025-05-13 07:54:37 +02:00
Maciej Bieniek
b15c9ad130 Link Shelly device entry with Shelly BT scanner entry (#144626)
* Add BT address to DeviceInfo.connections

* Cleaning

* Use bluetooth_source property

* Add test

* Add connections property
2025-05-13 07:19:07 +02:00
Erik Montnemery
0128d85999 Move sun conditions to the sun integration (#144742) 2025-05-12 23:03:37 +01:00
David Rapan
e69ca0cf80 Bump aiodhcpwatcher to 1.2.0 (#144769) 2025-05-12 17:00:17 -05:00
Åke Strandberg
0719753be3 Set PARALLEL_UPDATES and update quality_scale for Miele integration (#144770)
Set PARALLEL_UPDATES and update quality_scale
2025-05-12 23:53:54 +02:00
Franck Nijhof
ba3181d4e7 Update pipdeptree to 2.26.1 (#144775) 2025-05-12 23:52:27 +02:00
Guido Schmitz
e58750555e Rework platform setup tests for devolo Home Network (#143114)
* Rework platform setup tests for devolo Home Network

* Fix sensor test

* Remove unload
2025-05-12 23:21:14 +02:00
Guido Schmitz
026687299d Assert resulting data in devolo Home Network test_form_reauth (#144760) 2025-05-12 21:28:40 +02:00
Martin Hjelmare
3eed552c56 Repair Z-Wave unknown controller (#144738)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-12 21:18:55 +02:00
J. Diego Rodríguez Royo
15a4514c7d Add MAC connection through DHCP discovery to Home Connect devices (#144611)
* Add MAC connection through DHCP discovery to Home Connect devices

* Update snapshots
2025-05-12 21:11:12 +02:00
Joakim Sørensen
b5445c0061 Allow subscription_expired repair issue in cloud (#144316)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-12 19:48:20 +02:00
Øyvind Matheson Wergeland
1d0584a90d Bump gcal-sync to 7.0.1 (#144718)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-05-12 19:45:34 +02:00
Matthias Alphart
158b795c70 Update xknx to 3.8.0 (#144753) 2025-05-12 19:45:02 +02:00
Paulus Schoutsen
4994229215 Track if TTS entity supports streaming input (#144697)
* Track if entity supports streaming

* Make class method
2025-05-12 13:44:39 -04:00
Andre Lengwenus
c022c32d2f Simplify unique config_entry check for LCN (#135756)
* Simplify check for unique config_entry

* Fix tests

* Fix reconfigure flow

* Add check for unchanging IP/port combination

* Remove explicit check for unchanged IP/port combination
2025-05-12 19:44:24 +02:00
Joost Lekkerkerker
d2ef3ca100 Fill in Plaato URL via placeholders (#144754) 2025-05-12 19:37:45 +02:00
Manu
00faadcfea Improve config flow description in ntfy integration (#144581) 2025-05-12 19:36:53 +02:00
Norbert Rittel
a6ff52b300 Fix outdated help center URL in plaato (#144748)
* Fix outdated help center URL in `plaato`

* Remove excessive space character
2025-05-12 19:12:49 +02:00
Joakim Sørensen
da0d65ca5b Log instead of ValueError for missing cloud translation key (#144732)
* Log instead of ValueError for missing translation key

* Update homeassistant/components/cloud/client.py
2025-05-12 18:59:38 +02:00
Paulus Schoutsen
2266e97417 Add a test for Assist Pipeline streaming deltas to TTS (#144711)
* Add a test for Assist Pipeline streaming deltas to TTS

* Adjust tests to new TTS engine
2025-05-12 12:15:05 -04:00
Norbert Rittel
d471de5645 Spelling fixes in user-facing strings of fronius (#144744) 2025-05-12 16:54:22 +02:00
Norbert Rittel
38674f0dc2 Add missing hyphen to "password-protected" in Shelly (#144746) 2025-05-12 17:47:14 +03:00
Erik Montnemery
b192ca4bad Make it possible to subscribe to frontend user store (#144724) 2025-05-12 16:01:42 +02:00
epenet
73a59523f5 Merge websocket test constants in samsungtv tests (#144741) 2025-05-12 15:51:21 +02:00
Erik Montnemery
05324dedd0 Deduplicate condition schemas (#144739) 2025-05-12 15:38:31 +02:00
Norbert Rittel
f1e5f73d7e Improve user-facing strings of velbus (#144716)
- add the missing hyphen to "password-protected"
- resolve missing genitive in `sync_clock` action description
- resolve singular/plural mismatch in `set_memo_text` action description
2025-05-12 16:35:06 +03:00
Robert Resch
7b23f21712 Remove deprecated camera async_handle_web_rtc_offer function (#144561) 2025-05-12 14:47:49 +02:00
epenet
4dde314338 Remove obsolete tests in SamsungTV (#144735) 2025-05-12 13:45:20 +02:00
Erik Montnemery
cba12fb598 Refactor frontend user store (#144723)
* Refactor frontend user store

* Address review comments
2025-05-12 12:00:32 +02:00
epenet
63e38b4d8d Rename samsung encrypted websocket test fixtures and constants (#144726)
* Rename samsung encrypted websocket test fixtures and constants

* More

* More
2025-05-12 11:36:22 +02:00
Simone Chemelli
7eded95315 Bump aiocomelit to 0.12.1 (#144720) 2025-05-12 11:23:44 +02:00
epenet
e493fe1105 Rename samsung websocket test fixtures and constants (#144719) 2025-05-12 10:27:29 +02:00
Åke Strandberg
646c230940 Add target temp sensor to Miele washing machines (#144507) 2025-05-12 09:42:27 +02:00
Thomas55555
5276a3688e Fix wrong state in Husqvarna Automower (#144684) 2025-05-12 09:39:30 +02:00
Allen Porter
0616bf16f4 Bump ical to 9.2.2 (#144713) 2025-05-12 09:37:57 +02:00
epenet
fbe1811e2b Improve SamsungTV test coverage (#144717) 2025-05-12 09:23:55 +02:00
epenet
2333c10915 Rename samsung legacy test fixtures and constants (#144715)
* Rename samsung legacy test fixtures and constants

* More
2025-05-12 09:13:23 +02:00
Manu
77e9142722 Increase test coverage for ntfy integration (#144701)
Increase test coverage
2025-05-11 22:25:43 -07:00
Allen Porter
943998e57e Bump voluptuous-openapi to 0.1.0 (#144703) 2025-05-11 21:01:20 -04:00
starkillerOG
58802b71c4 Bump reolink_aio to 0.13.3 (#144583) 2025-05-11 23:15:30 +01:00
Manu
ca89aa7a94 Sort list items alphabetically in Bring integration (#144700) 2025-05-11 22:42:02 +02:00
Paulus Schoutsen
4faa920318 Move Assist Pipeline tests to right file (#144696) 2025-05-11 21:38:21 +02:00
peteS-UK
b394c07a3d Override available property in button platform for Squeezebox (#144693) 2025-05-11 21:15:12 +02:00
Ruben van Dijk
554cb27703 Close Octoprint aiohttp session on unload (#144670) 2025-05-11 21:06:04 +02:00
Åke Strandberg
80a04314fc Add program phases for Miele washer-dryer (#144664) 2025-05-11 21:05:43 +02:00
Simone Chemelli
6516cd388f Avoid closing shared session for Comelit (#144682) 2025-05-11 21:00:21 +02:00
Åke Strandberg
4f6141581e Bump dependency pymiele to 0.5.1 (#144688) 2025-05-11 20:59:23 +02:00
Norbert Rittel
597c386bc2 Fix missing sentence-casing in alarmdecoder (#144690) 2025-05-11 20:58:13 +02:00
Seweryn Zeman
494c7aa3da Removed unused file_id param from open_ai_conversation request (#143878) 2025-05-11 20:33:17 +02:00
Norbert Rittel
8840970d64 Add missing hyphen to "WebSocket-based" in mqtt (#144686)
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-05-11 20:30:19 +02:00
Simone Chemelli
867624fc59 Take into account coordinator availability for SamsungTV (#144545) 2025-05-11 19:38:53 +02:00
Norbert Rittel
ea4120a7d4 Add missing hyphens to "condition-based" and "pre-entry" in bmw_connected_drive (#144685) 2025-05-11 17:44:27 +02:00
Erik Montnemery
158bbf1f52 Remove unused constant from entity_platform tests (#144601) 2025-05-11 17:33:09 +02:00
Andrea Turri
61f8970aca Fix typos in Miele device names to match enum (#144609) 2025-05-11 17:26:02 +02:00
peteS-UK
6f41fbeb22 Add PARALLEL_UPDATES to Squeezebox (#144618) 2025-05-11 17:21:01 +02:00
Josef Zweck
a540c62594 Bump pylamarzocco to 2.0.2 (#144635)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-05-11 17:07:33 +02:00
Simone Chemelli
3e6a216806 Fix strings typo for Comelit (#144672) 2025-05-11 17:01:51 +02:00
G Johansson
85535b2cbd Bump holidays to 0.72 (#144671) 2025-05-11 17:00:44 +02:00
Norbert Rittel
05796dcd51 Fix grammar in description of unifi.remove_clients action (#144632) 2025-05-11 14:53:42 +03:00
Norbert Rittel
40e2c7b9b7 Improve user-facing strings of plaato (#144633)
- make all references to "auth token" consistent, using sentence-casing
- remove "Paste … here" so the description correctly refers to the field name 'Auth token'
- make the clickable URL text longer by using "these instructions" instead of just "these"
- slightly reword using "If you prefer to …"
- add the missing hyphen to "built-in"
2025-05-11 14:53:21 +03:00
Arie Catsman
d0fe7de501 bump pyenphase to 1.26.1 (#144641) 2025-05-11 14:07:35 +03:00
Norbert Rittel
0dadd31221 Add missing hyphen to "volume-weighted" in kraken (#144636)
Also fix sentence-casing in one string.
2025-05-11 13:58:55 +03:00
Norbert Rittel
09515bf174 Add missing hyphen to "time-weighted" in derivative (#144637) 2025-05-11 13:58:04 +03:00
Norbert Rittel
773a2a9db6 Add missing hyphen to "time-based" in integration (#144638) 2025-05-11 13:57:44 +03:00
Norbert Rittel
31a576b206 Add missing hyphen to "time-based" in filter (#144639)
Fix spelling of "time-based" in `filter`

Also sentence-case the complete string.
2025-05-11 13:57:28 +03:00
Simon Lamon
58161b5fa2 Bump python-linkplay to v0.2.5 (#144666)
Bump linkplay to 0.2.5
2025-05-11 12:56:40 +02:00
Norbert Rittel
ebb61caa53 Add missing hyphen to "file-based" in file (#144640) 2025-05-11 13:20:30 +03:00
Manu
54a7691a80 Fix typo in ntfy integration (#144650)
fix typo in ntfy integratrion
2025-05-11 11:14:10 +03:00
Norbert Rittel
996839cb67 Fix sentence-casing and spelling of "SIA-based" in sia (#144659)
Fix sentence-casing and spelling of `SIA-based` in `sia`
2025-05-11 11:12:35 +03:00
Marc Mueller
e065f1e097 Update pylint to 3.3.7 + astroid to 3.3.10 (#144630)
* Update pylint to 3.3.7 + astroid to 3.3.10

* Remove unnecessary pylint disable comment
2025-05-11 07:06:42 +02:00
Allen Porter
882565a8e5 Bump ical to 9.2.1 (#144642) 2025-05-10 23:59:01 -04:00
Marc Mueller
4501303beb Fix licenses check for jaraco.itertools (#144631) 2025-05-10 22:11:32 +02:00
Arie Catsman
1416580f8b fix enphase_envoy diagnostics home endpoint name (#144634) 2025-05-10 13:23:52 -05:00
wittypluck
5e58032745 Add Codeowner to OpenWeatherMap (#144605) 2025-05-10 10:54:11 +02:00
J. Diego Rodríguez Royo
86cf01a901 Delete deprecated program switches from Home Connect (#144606) 2025-05-10 10:53:16 +02:00
Erik Montnemery
45c0a19a68 Fix squeezebox test serializing mocks (#144600) 2025-05-10 09:44:55 +02:00
Ludovic BOUÉ
35ab2a21d6 Matter Oven fixture (#144603)
* Create cooktop.json

* Update conftest.py

* Fix format

* Add snapshots

* Add snapshots

* Oven fixture

* Oven fixture

* Add snapshot
2025-05-10 09:43:40 +02:00
Retha Runolfsson
977d2fe8b3 Add switchbot vacuum support (#144550)
* add support for vacuum

* add vacuum unit test
2025-05-10 09:34:51 +02:00
Peter Åslund
626f8a9166 Add codeowner to Adax (#144587)
* Add codeowner to Adax

* Reformatted manifest file
2025-05-10 00:54:36 +02:00
tdfountain
1654249dab Use strict typing for ConfigEntry on remove in NUT (#144588) 2025-05-09 17:20:03 -05:00
J. Nick Koston
5fadc56475 Mark inkbird coordinator as not needing connectable (#144584) 2025-05-09 17:19:00 -05:00
Erwin Douna
2bce697aa7 SMA add snapshots & tests (#144555)
* Refactor the sensor test to use snapshots

* Review feedback

* Remove leftover
2025-05-09 22:55:08 +02:00
Norbert Rittel
970edbed40 Sentence-case names and remove "True/False" in emulated_roku setup (#144579)
Sentence-case names and remove "True/False" in `emulated_roku`setup

As a binary field is shown as an on/off toggle in the UI there is no need to  include "(True/False)" in the field label.
2025-05-09 22:06:07 +03:00
Norbert Rittel
131ba3cdef Fix sentence-casing in config fields of aurora_abb_powerone (#144577)
* Fix sentence-casing in data field names of `aurora_abb_powerone`

* Add suggestion from review.

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 20:12:32 +02:00
Åke Strandberg
85f1c89808 Fix sensor setup during dynamic addition of Miele devices (#144551)
Fix sensors when dynamic addition of devices
2025-05-09 20:07:23 +02:00
J. Nick Koston
2940cb0fa0 Bump aiodiscover to 2.7.0 (#144571) 2025-05-09 11:59:38 -05:00
Markus Adrario
ba8d40f7d3 Add homee fan platform (#143524)
* Initial fan

* add more tests

* add last fan tests and small fixes

* fix tests after latest change

* another small correction

* use common strings

* add snapshot test

* fix review comments

* fix typing

* remove uneeded None

* remove unwanted file

* fix turn_on function

* typo

* Use constants for preset modes.

* fix  review notes.
2025-05-09 18:51:57 +02:00
Luke Lashley
cac0e0f6e8 Don't scale Roborock mop Path (#144421)
don't scale mop path
2025-05-09 18:50:55 +02:00
Ståle Storø Hauknes
ad7cfe49c8 Airthings DHCP discovery (#144280)
* Add DHCP to Airthings manifest

* Update manifest

* Update manifest

* Add tests

* Fix pr comments

* fix naming for all tests

* Fix pr comment
2025-05-09 18:49:22 +02:00
wittypluck
e29fc37bb1 Use device and entity name for OpenWeather map entities (#144513)
* Use entity name

* Update snapshot with expected chnages
2025-05-09 18:47:18 +02:00
starkillerOG
e892744328 Reolink fix privacy mode availability for NVR IPC cams (#144569)
* Correct "available" for IPC cams

* Check privacy mode when updating
2025-05-09 18:46:32 +02:00
Matrix
356775c19b Add water flowing status for YoLink water meter(YS5018). (#144535)
* Add water flowing status for YoLink water meter(YS5018).

* Fixes
2025-05-09 18:44:43 +02:00
Ludovic BOUÉ
87bd6e3ca0 Matter pump fixture (#144572)
* Create pump.json

* Add pump fixture

* Add snapshots
2025-05-09 18:40:56 +02:00
TimL
ad6f66c945 Allow dns hostnames to be retained for SMLIGHT user flow. (#142514)
* Dont overwrite host with local IP

* adjust test for user flow change
2025-05-09 18:31:00 +02:00
Ted van den Brink
9537229c92 Add status to whois (#141051)
* Add status to whois component

* Fix tests

* Added translations for statuses

* Convert status to enum

* Fix tests, add test for status sensor
2025-05-09 18:23:50 +02:00
Sanjay Govind
c18b6d736a Add switch platform to bosch alarm (#142157)
* add switch platform to bosch alarm

* fix tests

* one device per output

* add switch for door

* add switch entities for door

* fix switch devices

* apply changes from review

* update identifiers

* add missing entity

* use base entity for switch

* rename var

* fix icons

* give user a nice error if they try to lock or secure a door that is in the process of being cycled

* fix test

* Update homeassistant/components/bosch_alarm/switch.py

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

* Update homeassistant/components/bosch_alarm/switch.py

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

* use service constants

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 18:17:26 +02:00
wittypluck
a7afeb078c Avoid split of unique id to build OpenWeatherMap sensors (#144546)
* Avoid split of unique id

* Assert that unique_id is not None
2025-05-09 17:14:02 +02:00
Franck Nijhof
00627b82e0 2025.5.1 (#144564) 2025-05-09 17:03:40 +02:00
Manu
9a2f17c2b2 Refactor Bring! integration to poll activity data at a slower interval (#142621)
* Refactor Bring integration to poll activity with slower interval

* add test
2025-05-09 16:42:22 +02:00
Louis Christ
4cecb6c851 Replace custom actions for sleep timer with buttons in bluesound integration (#133604)
* Use entity services

* Add buttons for sleep timer

* Fix merge

* Replace hass.data with runtime_data from config_entries

* Disable button by default

* Remove duplicate dispatchers

* Add tests for buttons

* Fix merge commit

* Fix merge commit

* Update deprecation version

* Remove update_before_add

* Use entity_registry_enabled_by_default

* Use EnitiyDescriptions for buttons

* Update version for deprecate

* Use tranlation_key; Move default disable to EntityDescription

* Fix merge commit

* Fix callback type; fix breaks version

* Use normal issue

* Apply suggestions from code review

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 16:15:52 +02:00
Andre Lengwenus
b6c4b06fc7 Skip check for entry updated by current flow in _async_abort_entries_match (#141003)
* Ignore entries with source reconfigure in _async_abort_entries_match

* Exclude reconfigure and reauth entry from match check

* Add tests

* Fix tests for other components

* Revert unrelated changes

* Update docstring

* Make test more realistic

* Change name and docstring for sabnzbd test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 16:15:17 +02:00
ichbinsteffen
3e0e807c96 Add control bus mode selector to Cambridge Audio (#139131)
* [CambridgeAudio Integration] Add switch to enable Control Bus Mode

* remove load_fn

* Add import for ControlBusMode

* Add strings for control_bus_mode

* Add icons for control_bus_mode

* Add test case for the select ControlBusMode.Amplifier

* Change the set of icons

* Fix the usage of the wrong property name

* Fix test

* Fix test 2

* add new snapshot

* fix test name

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 15:53:37 +02:00
Renier Moorcroft
7dad6ebe67 Switch to PyEzvizApi (#135926)
* Update library

* update library

* Bump api to pin mqtt to compatable version

* fix after rebase

* Update code owners

* codeowners
2025-05-09 15:45:18 +02:00
Markus Adrario
75b8cb19cf Deprecate Homee valve sensor (#139578)
* remove valve sensor

* deprecate valve sensor

* fix

* Add deprecation issue test

* Add test for deleting disabled deprecated entities

* parametrize issue test

* eliminate one if iteration

* review change 1

* review change 2

* add info where to find valve

* Update homeassistant/components/homee/sensor.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 15:37:23 +02:00
Phill (pssc)
bd28452807 Add Squeezebox service update entities (#125764)
* first cut at update entties

* remove sensors for now

* make update vserion less wordy

* fix re escape

* Use name

* use Caps

* fix translation

* move all data manipulation to data prepare fn, refine regexes and provide as much info as possible

* fix formatting

* update return type

* fix class inherit

* Fix ruff

* update tests

* fix spelling

* ruff

* Update homeassistant/components/squeezebox/update.py

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>

* Update tests/components/squeezebox/test_update.py

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>

* Update tests/components/squeezebox/test_update.py

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>

* Update tests/components/squeezebox/test_update.py

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>

* Update tests/components/squeezebox/test_update.py

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>

* Update tests/components/squeezebox/test_update.py

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>

* fix tests

* ruff

* update text based on feedback from docs

* make the plugin update entity smarter

* update plugin updater tests

* define attr

* Callable type

* callable guard

* ruff

* add local release info page

* fix typing

* refactor use release notes for LMS update

* Make update simple and produce a release summary instead

* Update tests

* Fix tests

* Tighten english

* test for restart fail

* be more explicit with coordinator error

* remove unused regex

* revert error msg unrealted

* Fix newline

* Fix socket usage during tests

* Simplify based on new lib version

* CI Fixes

* fix typing

* fix enitiy call back

* fix enitiy call back types

* remove some unrelated titdying

---------

Co-authored-by: Raj Laud <50647620+rajlaud@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-09 15:35:10 +02:00
Guido Schmitz
ed6cfa42f0 Make all devolo Home Network conflig flow tests end correctly (#144378) 2025-05-09 15:33:13 +02:00
Franck Nijhof
13aba6201e Bump version to 2025.5.1 2025-05-09 13:29:29 +00:00
starkillerOG
f392e0c1c7 Prevent errors during cleaning of connections/identifiers in device registry (#144558) 2025-05-09 13:28:33 +00:00
starkillerOG
181eca6c82 Reolink clean device registry mac (#144554) 2025-05-09 13:28:32 +00:00
Bram Kragten
196d923ac6 Update frontend to 20250509.0 (#144549) 2025-05-09 13:28:30 +00:00
Josef Zweck
4ad387c967 Fix statistics coordinator subscription for lamarzocco (#144541) 2025-05-09 13:28:29 +00:00
J. Nick Koston
cb475bf153 Bump aiodns to 3.4.0 (#144511) 2025-05-09 13:28:28 +00:00
Michael
47acceea08 Fix removing of smarthome templates on startup of AVM Fritz!SmartHome integration (#144506) 2025-05-09 13:28:26 +00:00
J. Nick Koston
fd6fb7e3bc Bump forecast-solar to 4.2.0 (#144502) 2025-05-09 13:28:25 +00:00
Erik Montnemery
30f7e9b441 Don't encrypt or decrypt unknown files in backup archives (#144495) 2025-05-09 13:28:24 +00:00
Matthias Alphart
a8beec2691 Ignore Fronius Gen24 firmware 1.35.4-1 SSL verification issue (#144463) 2025-05-09 13:28:23 +00:00
Fredrik Erlandsson
23244fb79f Fix point import error (#144462)
* fix import error

* fix failing tests

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 13:28:22 +00:00
Martin Hjelmare
e5c56629e2 Fix Z-Wave reset accumulated values button entity category (#144459) 2025-05-09 13:28:20 +00:00
Josef Zweck
a793503c8a Bump pylamarzocco to 2.0.1 (#144454) 2025-05-09 13:28:19 +00:00
DukeChocula
054c7a0adc Add LAP-V102S-AUSR to VeSync (#144437)
Update const.py

Added LAP-V102S-AUSR to Vital 100S
2025-05-09 13:28:18 +00:00
Tamer Wahba
6eb2d1aa7c fix homekit air purifier temperature sensor to convert unit (#144435) 2025-05-09 13:28:16 +00:00
Martin Hjelmare
619fdea5df Fix Z-Wave restore nvm command to wait for driver ready (#144413) 2025-05-09 13:28:15 +00:00
Robert Resch
763f2bcfcc Remove deprecated address argument in all lcn services (#144557) 2025-05-09 15:15:09 +02:00
agorecki
9e3684b001 Add Lux sensor to Airthings Cloud (#141035)
* change light to lux for airthings cloud

* Add back light sensor for airthings

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-09 15:11:22 +02:00
starkillerOG
93fd82d1fa Prevent errors during cleaning of connections/identifiers in device registry (#144558) 2025-05-09 14:50:00 +02:00
starkillerOG
9757009d8f Reolink clean device registry mac (#144554) 2025-05-09 14:47:38 +02:00
Robert Resch
920d281d45 Remove deprecated core set_time_zone function (#144559) 2025-05-09 14:40:23 +02:00
Robert Resch
d2bdc85a7b Remove deprecated async_forward_entry_setup function (#144560) 2025-05-09 14:34:55 +02:00
Robert Resch
1f84c5e1f1 Remove deprecated legacy WebRTC provider (#144547) 2025-05-09 13:50:38 +02:00
Åke Strandberg
a93bf3c150 Add vacuum platform to miele (#143757)
* Add vacuum platform

* Add comments

* Update snapshot

* Use class defined in pymiele

* Use device class transation

* Fix typo

* Cleanup consts

* Clean up activity property

* Address review comments

* Address review comments
2025-05-09 13:17:37 +02:00
Brett Adams
7bad07ac10 Add left & right temp request entities to Teslemetry (#144364)
Add left right
2025-05-09 13:16:54 +02:00
Simone Chemelli
af019144e5 Exempt entity categories for Comelit (#142858)
* Add entity categories to Comelit

* update snapshots

* revert EntityCategory changes

* update quality scale

* update tests
2025-05-09 13:15:35 +02:00
markhannon
e69b3ebf1e Add fan entity to Zimi integration (#144327)
* Import fan.py

* Align to light design

* Consistency for debug message

* ruff (post merge)

* Fixed stale docstring

* refactor init

* Combine aysnc_add_entities
Use _attr_speed_range instead of property

* Remove unused self._speed (and useless init)

* Refactor self._device to device in Entity init
2025-05-09 13:10:28 +02:00
Retha Runolfsson
4271d3f32f Add exception-translations for switchbot integration (#143444)
* add exception handler

* add unit test

* test exception per platform

* optimize unit tests

* update quality scale
2025-05-09 13:09:18 +02:00
Bram Kragten
d6e5fdceb7 Update frontend to 20250509.0 (#144549) 2025-05-09 13:09:05 +02:00
Robert Resch
c4ceb4759a Remove deprecated camera frontend_stream_type (#144539) 2025-05-09 13:08:34 +02:00
wittypluck
6350ed3415 Add snapshot tests for OpenWeatherMap sensors (#139657)
* Add snapshot tests for sensors

* Code cleanup

* Patch during async_setup only

* Use snapshot_platform, split platforms for snapshot tests

* Make mock_config_entry and mode fixtures

* Update snapshots with  latest device and state class changes

* Move setup_platform to __init__.py and patch HA object instead of library

* Remove if statements in tests

* Add client mock fixture to patch get_weather instead of internal call

* Code cleanup

* Test explicit list of modes

* Fix

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2025-05-09 13:06:38 +02:00
wittypluck
031b25cd1e Remove redundant coordinator reference in OpenWeatherMap sensor (#144548)
Remove redundant coordinator reference
2025-05-09 12:44:36 +02:00
Erwin Douna
47455fee41 SMA add re-authentication flow (#144538)
* Add reauth flow

* Small adjustment

* Update homeassistant/components/sma/config_flow.py

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

* Review feedback

* Update tests/components/sma/test_config_flow.py

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

* Update tests/components/sma/test_config_flow.py

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

* Feedback

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-09 12:16:49 +02:00
Åke Strandberg
9abb4ffc97 Add drying step sensor for Miele tumble dryers (#144515)
Add drying step sensor for tumple dryers
2025-05-09 11:52:30 +02:00
DukeChocula
90a7ecdce3 Add LAP-V102S-AUSR to VeSync (#144437)
Update const.py

Added LAP-V102S-AUSR to Vital 100S
2025-05-09 11:49:26 +02:00
Matthias Alphart
a84b8b49f3 Update knx-frontend to 2025.4.1.91934 - Enable UI to create KNX Cover entities (#141993)
Update knx-frontend to 2025.4.1.91934
2025-05-09 11:43:05 +02:00
Ludovic BOUÉ
ff6f213664 Matter refrigerator fixture (#144491)
* Add files via upload

* Add snapshots
2025-05-09 11:41:52 +02:00
Retha Runolfsson
e4b686bc43 Bump PySwitchbot to 0.62.0 (#144527)
bump pyswitchbot to 0.62.0
2025-05-09 11:40:56 +02:00
Matthias Alphart
307bb05653 Add support to create KNX Cover entities from UI (#141944)
* Add UI to create KNX Cover entities

* Use common constants source for UI and YAML config keys
2025-05-09 11:28:25 +02:00
epenet
b4ae08f83d Move hardware initialisation to package module (#144540) 2025-05-09 10:55:41 +02:00
Matthias Alphart
21e2bbd066 Ignore Fronius Gen24 firmware 1.35.4-1 SSL verification issue (#144463) 2025-05-09 10:39:00 +02:00
Josef Zweck
0d85cec770 Fix statistics coordinator subscription for lamarzocco (#144541) 2025-05-09 10:37:48 +02:00
Brett Adams
a1e6f596d7 Add common translation section to Teslemetry (#144361) 2025-05-09 10:04:43 +02:00
epenet
eab1d5717f Use HassKey in hardware (#144337) 2025-05-09 10:04:11 +02:00
Erik Montnemery
19b1dc8d65 Add backup tests showing that unknown files are not ciphered (#144529) 2025-05-09 09:56:07 +02:00
Erik Montnemery
2c8e33558e Catch and log unexpected backup ciphering errors (#144531) 2025-05-09 09:55:32 +02:00
dependabot[bot]
7287f302f6 Bump actions/dependency-review-action from 4.6.0 to 4.7.0 (#144532)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-09 09:51:56 +02:00
Åke Strandberg
1342dc142c Update test fixture for Miele dishwasher (#144537) 2025-05-09 09:50:32 +02:00
Tamer Wahba
96a8902365 fix homekit air purifier temperature sensor to convert unit (#144435) 2025-05-08 17:41:14 -05:00
Marc Mueller
d1b85cd452 Fix voip test RuntimeWarning (#144519) 2025-05-09 00:26:43 +02:00
Franck Nijhof
8977458e48 Merge branch 'master' into dev 2025-05-08 22:07:36 +00:00
Tsvi Mostovicz
a37f8b1f4e Jewish calendar entity translations (#144414)
* Move strings from entity descriptions to strings.json

* Use the original name values

* Fix casing

* Use "real" english names as well as transliterated names
2025-05-09 00:00:28 +02:00
Jesse Hills
bdf4a21976 Use async_release_notes in ESPHome update entity (#144440) 2025-05-08 23:52:43 +02:00
epenet
1322d54371 Use runtime_data in hive (#144367) 2025-05-08 23:47:24 +02:00
epenet
fbe63e8d03 Use runtime_data in hlk_sw16 (#144370) 2025-05-08 23:44:44 +02:00
epenet
6b2a4c975c Cleanup unused CONF_IP_ADDRESS from SamsungTV tests (#144379) 2025-05-08 23:44:06 +02:00
J. Nick Koston
b1392e1fc8 Bump aiodns to 3.4.0 (#144511) 2025-05-08 22:43:45 +02:00
Thomas55555
7100481abc Improve Husqvarna Automower tests (#143113) 2025-05-08 22:38:26 +02:00
DeerMaximum
4c43640d0d Bump pynina to 0.3.6 (#144494) 2025-05-08 22:36:22 +02:00
Erik Montnemery
42f53ff917 Don't encrypt or decrypt unknown files in backup archives (#144495) 2025-05-08 22:30:35 +02:00
Petar Petrov
e0fb612e82 Show warning message for Z-Wave devices in interview stage (#144483)
* Show warning message for devices in interview stage

* remove debug code
2025-05-08 16:21:43 -04:00
wittypluck
d13f9be9d8 Remove unused OpenWeatherMap const values (#144510) 2025-05-08 21:57:20 +02:00
J. Nick Koston
2396b1e73c Bump forecast-solar to 4.2.0 (#144502) 2025-05-08 21:55:03 +02:00
Michael
374b3ac6c6 Fix removing of smarthome templates on startup of AVM Fritz!SmartHome integration (#144506) 2025-05-08 21:54:49 +02:00
Norbert Rittel
5df09c4f13 Add missing hyphen to "single-board computers" in homekit (#144505) 2025-05-08 21:54:09 +02:00
Åke Strandberg
337c64d69d Add miele devices dynamically (#144216)
* Use device class transation

* WIP Cleanup tests

* First 3

* First 3

* Button

* Climate

* Light

* Switch

* New and cleaner variant

* Update homeassistant/components/miele/entity.py

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-05-08 21:20:02 +02:00
Joost Lekkerkerker
34dbd1fb10 Add hob support to SmartThings (#144493)
* Add hob support to SmartThings

* Add hob support to SmartThings

* Add hob support to SmartThings

* Fix

* Update homeassistant/components/smartthings/icons.json
2025-05-08 21:03:41 +02:00
Joost Lekkerkerker
7ee9f0af2d Add cooktop operating state to SmartThings (#144500) 2025-05-08 20:41:04 +02:00
Joost Lekkerkerker
cb6847b64c Remove deprecated services in SABnzbd (#144405)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-05-08 20:02:24 +02:00
Norbert Rittel
04867f6ecc Fix capitalization and grammar in simplefin (#144246) 2025-05-08 19:16:37 +02:00
Robert Resch
9e94e94075 Remove RTSPtoWebRTC (#144328) 2025-05-08 17:38:13 +02:00
Martin Hjelmare
014c5dc764 Set Z-Wave platforms fixture in config flow tests (#144470) 2025-05-08 17:46:41 +03:00
Martin Hjelmare
a1599d5f7d Set Z-Wave platforms fixture in helpers tests (#144472) 2025-05-08 17:46:00 +03:00
Martin Hjelmare
2fd678bb59 Set Z-Wave platforms fixture in light tests (#144473) 2025-05-08 17:45:26 +03:00
Fredrik Erlandsson
3c4c3dc08e Fix point import error (#144462)
* fix import error

* fix failing tests

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-05-08 14:28:56 +02:00
Martin Hjelmare
bbc3862fec Fix Z-Wave reset accumulated values button entity category (#144459) 2025-05-08 11:59:20 +02:00
Josef Zweck
678e25d0b1 Bump pylamarzocco to 2.0.1 (#144454) 2025-05-08 11:13:42 +03:00
Norbert Rittel
a6f91177b6 Small fixes in user-facing strings of nest (#144444)
- add the missing hyphen to "one-time setup fee"
- capitalize one occurrence of "Cloud Project" (treated as name in all other strings)
- sentence-case "name" as this can be translated
2025-05-08 11:13:00 +03:00
starkillerOG
ff637ef046 Include channel in Reolink device URL (#144456)
Include channel in device URL
2025-05-08 11:12:22 +03:00
Norbert Rittel
1cb813e0c5 Fix sentence-casing and missing hyphen in electrasmart (#144443) 2025-05-08 11:01:14 +03:00
J. Nick Koston
ce4e51078f Add test coverage for inkbird IBS-P02B (#144433)
Was reported not working in https://github.com/Bluetooth-Devices/inkbird-ble/issues/95#issuecomment-2860473798
but cannot reproduce the issue. The tests are still useful
2025-05-08 11:00:32 +03:00
Norbert Rittel
066d0f4143 Add missing hyphen to "two-factor authentication" in subaru (#144446) 2025-05-08 10:59:58 +03:00
Norbert Rittel
1294918f5b Add missing hyphen to "two-factor authentication" in august (#144447) 2025-05-08 10:58:30 +03:00
Norbert Rittel
4a556f89aa Add missing hyphen to "two-factor authentication" in nextcloud (#144448) 2025-05-08 10:58:16 +03:00
Norbert Rittel
e74a29c87a Sentence-case "multi-factor authentication" in sense (#144450) 2025-05-08 10:58:07 +03:00
Marc Mueller
50d57852a6 Include runner arch in CI cache key (#144038) 2025-05-08 09:27:17 +02:00
Ludovic BOUÉ
744d5f7bd4 Matter Mounted dimmable load control fixture (#144097)
* Create mounted_dimmable_load_control_fixture.json

* Add fixture

* Add snapshots
2025-05-08 09:10:30 +02:00
Norbert Rittel
0b0a239ed4 Fix sentence-casing in user-facing strings of isy994 (#144428) 2025-05-07 23:28:08 +03:00
Josef Zweck
4cc538b5ae Add sensor for brew start time to lamarzocco (#144423)
* Add sensor for brew start time to lamarzocco

* pytestmark
2025-05-07 22:48:52 +03:00
Norbert Rittel
f5c67e2fd1 Fix user-facing strings in totalconnect (#144411)
- replace two inconsistent occurrences of camel-cased "TotalConnect" with "Total Connect"
- apply sentence-casing to all strings
- add a missing hyphen to "4-digit numer"
2025-05-07 22:48:40 +03:00
Norbert Rittel
9ec5d90f4d Add missing hyphen to "6-digit … codes" in opower (#144417) 2025-05-07 12:21:43 -07:00
Norbert Rittel
e1344fca6c Fix spelling of "HomeKit" and "Gateway" in tradfri (#144420) 2025-05-07 20:11:41 +02:00
Franck Nijhof
e8bdc7286e 2025.5.0 (#144406) 2025-05-07 19:13:53 +02:00
Norbert Rittel
e290829bc0 Add missing hyphen to "eight-digit HomeKit pairing code" (#144416) 2025-05-07 11:53:38 -05:00
Martin Hjelmare
dc0998d95d Fix Z-Wave restore nvm command to wait for driver ready (#144413) 2025-05-07 19:50:45 +03:00
Norbert Rittel
5456cd0ac1 Fix spelling in user-facing strings of auth component (#144412) 2025-05-07 17:06:46 +01:00
Franck Nijhof
18f2b120ef Bump version to 2025.5.0 2025-05-07 14:31:26 +00:00
Michael Hansen
43d8345821 Bump intents to 2025.5.7 (#144404) 2025-05-07 14:30:48 +00:00
Michael Hansen
1ce44800ab Bump intents to 2025.5.7 (#144404) 2025-05-07 09:05:08 -05:00
Ludovic BOUÉ
c26b3f519a Add discovery schema for Matter CumulativeEnergyExported (#144061)
* Update sensor.py to add CumulativeEnergyExported attribute

* Report exported energy as positive value

* Add snapshot

* Add translation key
2025-05-07 15:25:18 +02:00
Franck Nijhof
999e930fc8 Bump version to 2025.5.0b10 2025-05-07 13:04:15 +00:00
Petar Petrov
d4e99efc46 Add more missing device_class translations for template helper (#144399) 2025-05-07 13:04:08 +00:00
Bram Kragten
fb01a0a9f1 Update frontend to 20250507.0 (#144398) 2025-05-07 13:04:07 +00:00
Robert Resch
9556285c59 Bump deebot-client to 13.1.0 (#144397) 2025-05-07 13:04:06 +00:00
Guido Schmitz
2d40b1ec75 Bump devolo_home_control_api to 0.19.0 (#144374) 2025-05-07 13:04:04 +00:00
Thomas55555
7eb690b125 Improve activity logic in Husqvarna Automower (#144057)
* Improve activity logic in Husqvarna Automower

* add test
2025-05-07 13:04:03 +00:00
Thomas55555
a23644debc Fix test in Husqvarna Automower (#144055) 2025-05-07 13:04:02 +00:00
epenet
2f7fcb4f5e Do not duplicate model and model_id in SamsungTV device info (#144402) 2025-05-07 14:50:18 +02:00
Robert Resch
c4e4c52c6c Bump deebot-client to 13.1.0 (#144397) 2025-05-07 14:36:28 +02:00
Bram Kragten
e6912b94df Update frontend to 20250507.0 (#144398) 2025-05-07 14:14:39 +02:00
epenet
704e4221f7 Improve SamsungTV ssdp test fixtures (#144376)
* Improve SamsungTV ssdp fixtures

* More

* More

* More

* More

* Improve
2025-05-07 14:13:38 +02:00
Petar Petrov
48a2dde16b Add more missing device_class translations for template helper (#144399) 2025-05-07 15:08:17 +03:00
Thomas55555
293e01f2e9 Improve activity logic in Husqvarna Automower (#144057)
* Improve activity logic in Husqvarna Automower

* add test
2025-05-07 13:12:10 +02:00
Guido Schmitz
e2820787bf Bump devolo_home_control_api to 0.19.0 (#144374) 2025-05-07 13:09:43 +02:00
Franck Nijhof
c98ba7f6ba Bump version to 2025.5.0b9 2025-05-07 11:09:32 +00:00
Joost Lekkerkerker
aa2b61f133 Fix variables in MELCloud (#144396) 2025-05-07 11:09:07 +00:00
Joost Lekkerkerker
f85d4afe45 Set SmartThings power energy state class to Total (#144395) 2025-05-07 11:09:06 +00:00
Joost Lekkerkerker
b4ab9177b8 Bump pySmartThings to 3.2.1 (#144393) 2025-05-07 11:09:05 +00:00
Petar Petrov
e7c310ca58 Add missing device_class translations for template helper (#144392) 2025-05-07 11:09:04 +00:00
Joost Lekkerkerker
85a83f2553 Fix SmartThings machine operating state with no options (#144390) 2025-05-07 11:09:02 +00:00
Martin Hjelmare
d2e7baeb38 Fix Z-Wave controller hard reset (#144389) 2025-05-07 11:09:01 +00:00
Barry vd. Heuvel
07b2ce28b1 Bump wh-python to 2025.4.29 for Weheat integration (#144384) 2025-05-07 11:09:00 +00:00
Joost Lekkerkerker
ed1eea9b50 Set SmartThings power energy state class to Total (#144395) 2025-05-07 13:06:53 +02:00
Wilbert
f7d8e4e7b9 Add typing to smartthings climate target_temperature_low (#143713)
Fix climate target_temperature_low
2025-05-07 13:06:07 +02:00
Joakim Sørensen
a2ab28286f Bump hass-nabucasa from 0.96.0 to 0.100.0 (#144341)
* Bump hass-nabucasa from 0.96.0 to 0.98.0

* Bump hass-nabucasa from 0.98.0 to 0.99.0

* Bump hass-nabucasa from 0.99.0 to 0.100.0
2025-05-07 13:05:56 +02:00
Barry vd. Heuvel
99f55665a5 Bump wh-python to 2025.4.29 for Weheat integration (#144384) 2025-05-07 13:04:46 +02:00
Joost Lekkerkerker
0aa817e300 Bump pySmartThings to 3.2.1 (#144393) 2025-05-07 13:00:19 +02:00
Petar Petrov
4cdb7a9887 Add missing device_class translations for template helper (#144392) 2025-05-07 12:55:43 +02:00
Joost Lekkerkerker
92a19357d3 Fix variables in MELCloud (#144396) 2025-05-07 12:55:28 +02:00
epenet
dded1305ec Cleanup old config flow IMPORT constants in samsungtv tests (#144394) 2025-05-07 12:40:01 +02:00
Joost Lekkerkerker
d6e85eef48 Fix SmartThings machine operating state with no options (#144390) 2025-05-07 12:37:53 +02:00
Martin Hjelmare
0b1875de14 Fix Z-Wave controller hard reset (#144389) 2025-05-07 13:32:27 +03:00
Joakim Sørensen
c5ef8659a7 Allow no_subscription repair issue in cloud (#144380) 2025-05-07 11:07:15 +02:00
epenet
9a332f19c2 Use runtime_data in hko (#144368) 2025-05-07 10:47:36 +02:00
Franck Nijhof
35c90d9bde Bump version to 2025.5.0b8 2025-05-07 07:38:18 +00:00
Raphael Hehl
a9632bd0ff Bump uiprotect to version 7.6.0 (#144369) 2025-05-07 07:38:12 +00:00
epenet
983e134ae9 Bump renault-api to 0.3.1 (#144366)
* Bump renault-api to 0.3.1

* Adjust tests
2025-05-07 07:38:10 +00:00
Jan Bouwhuis
e217532f9e Fix field validation for mqtt subentry options in sections (#144355) 2025-05-07 07:38:09 +00:00
Erik Montnemery
65ad39f5be Modify require_admin decorator to take parameters for Unauthorized (#144346) 2025-05-07 09:30:40 +02:00
Jan Bouwhuis
358d904c2c Fix field validation for mqtt subentry options in sections (#144355) 2025-05-07 09:24:51 +02:00
epenet
65278100a0 Remove entity name input from Samsung TV config flow (#144372) 2025-05-07 09:13:14 +02:00
Raphael Hehl
dbffd8c0ff Bump uiprotect to version 7.6.0 (#144369) 2025-05-07 09:11:31 +02:00
epenet
2a25dcd44e Bump renault-api to 0.3.1 (#144366)
* Bump renault-api to 0.3.1

* Adjust tests
2025-05-07 09:44:55 +03:00
markhannon
6e7f57383a Add switch entity to Zimi integration (#144236)
* Import switch.py

* Alignment to light.py

* Use default switch attributes

* Update homeassistant/components/zimi/switch.py

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-05-07 08:34:32 +02:00
John Hillery
946172d530 Bump nexia to 2.10.0 (#144363) 2025-05-06 23:23:06 -05:00
Brett Adams
2791329460 Use config location for Homelink in Teslemetry (#144171) 2025-05-06 23:45:07 +02:00
Franck Nijhof
1eeab28eec Bump version to 2025.5.0b7 2025-05-06 19:30:08 +00:00
Bram Kragten
2a3bd45901 Update frontend to 20250506.0 (#144354) 2025-05-06 19:29:59 +00:00
Paulus Schoutsen
d16453a465 Remove some media player intent checks for when paused (#144351) 2025-05-06 19:29:59 +00:00
Jan Bouwhuis
de63dddc96 Ensure all default MQTT subentry option values are saved (#144347)
* Ensure all default MQTT subentry option values are saved

* Apply correct filter
2025-05-06 19:29:58 +00:00
J. Nick Koston
ccffe19611 Bump bluemaestro-ble to 0.4.1 (#144345)
changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.4.0...v0.4.1

fixes #https://github.com/home-assistant/core/issues/144339
2025-05-06 19:29:57 +00:00
Martin Hjelmare
806bcf47d9 Fix Z-Wave migration flow to unload config entry before unplugging controller (#144343)
* Fix Z-Wave migration unload config entry before unplugging controller

* Remove typo
2025-05-06 19:29:56 +00:00
Paulus Schoutsen
320df710a4 Remove some media player intent checks for when paused (#144351) 2025-05-06 21:24:32 +02:00
Bram Kragten
76df7de0cf Update frontend to 20250506.0 (#144354) 2025-05-06 21:24:09 +02:00
Jan Bouwhuis
da7e9f3ab6 Ensure all default MQTT subentry option values are saved (#144347)
* Ensure all default MQTT subentry option values are saved

* Apply correct filter
2025-05-06 19:30:48 +02:00
epenet
a673bd7a91 Use runtime_data in here_travel_time (#144340) 2025-05-06 19:16:14 +02:00
J. Nick Koston
121e9e4e7f Bump aioesphomeapi to 30.2.0 (#144348) 2025-05-06 19:13:51 +02:00
J. Nick Koston
452e946509 Bump bluemaestro-ble to 0.4.1 (#144345)
changelog: https://github.com/Bluetooth-Devices/bluemaestro-ble/compare/v0.4.0...v0.4.1

fixes #https://github.com/home-assistant/core/issues/144339
2025-05-06 18:32:35 +03:00
Martin Hjelmare
c3ce82d874 Fix Z-Wave migration flow to unload config entry before unplugging controller (#144343)
* Fix Z-Wave migration unload config entry before unplugging controller

* Remove typo
2025-05-06 17:57:11 +03:00
epenet
253217958b Use runtime_data in google (#144331)
* Use runtime_data in google

* Quality scale
2025-05-06 07:55:04 -07:00
epenet
1447392847 Use runtime_data in guardian (#144344)
* Use runtime_data in guardian

* Adjust tests
2025-05-06 16:16:16 +02:00
epenet
32a6b8a0f8 Use runtime_data in goodwe (#144325) 2025-05-06 16:04:12 +02:00
Franck Nijhof
5ed3f18d70 Bump version to 2025.5.0b6 2025-05-06 13:57:05 +00:00
Martin Hjelmare
7cc142dd59 Fix Z-Wave to reload config entry after migration nvm restore (#144338) 2025-05-06 13:56:58 +00:00
Robert Resch
9150c78901 Add endpoint validation for AWS S3 (#144334) 2025-05-06 13:56:56 +00:00
Stefan Agner
4b7c337dc9 Update Home Assistant base image to 2025.05.0 (#144333) 2025-05-06 13:56:55 +00:00
Robert Resch
1aa79c71cc Rename S3 to AWS_S3 (#144324) 2025-05-06 13:56:54 +00:00
Robert Resch
5f70140e72 Revert "Disable S3 checksums" (#144092) (#144318) 2025-05-06 13:56:52 +00:00
Martin Hjelmare
58f7a8a51e Fix Z-Wave USB discovery to use serial by id path (#144314) 2025-05-06 13:56:51 +00:00
Ivan Lopez Hernandez
a91ae71139 Fixes #140182 by checking file status before sending the prompt. (#144131)
* Added unit tests

* Addressed review comments

* Fixed tests

* PR comments
2025-05-06 13:56:50 +00:00
Cerallin
576b4ef60d Bump xiaomi-ble to 0.38.0 (#143885) 2025-05-06 13:56:48 +00:00
Robert Resch
0ec7dc5654 Add endpoint validation for AWS S3 (#144334) 2025-05-06 15:54:42 +02:00
epenet
bdf6f7f590 Use config entry title to name SamsungTV entities (#144254) 2025-05-06 15:52:33 +02:00
epenet
fbae79fab2 Use runtime_data in google_assistant_sdk (#144335) 2025-05-06 15:52:00 +02:00
epenet
2c34712069 Move service definitions to separate module in guardian (#144306)
* Move service definitions to separate module in guardian

* docstring
2025-05-06 15:37:10 +02:00
Martin Hjelmare
40e3038775 Fix Z-Wave to reload config entry after migration nvm restore (#144338) 2025-05-06 15:26:45 +02:00
epenet
e2c02706a0 Use runtime_data in google_assistant (#144332) 2025-05-06 15:20:18 +02:00
Stefan Agner
313be7b30a Update Home Assistant base image to 2025.05.0 (#144333) 2025-05-06 14:49:47 +02:00
Jan Bouwhuis
d0ed8b67c4 Add MQTT button as entity platform on MQTT subentries (#144204) 2025-05-06 13:57:27 +02:00
epenet
deaaf2f082 Drop alias from local const DOMAIN import (#144312) 2025-05-06 13:35:27 +02:00
Robert Resch
ce95876d03 Rename S3 to AWS_S3 (#144324) 2025-05-06 13:29:37 +02:00
epenet
5475d7ef58 Use runtime_data in freebox (#144326) 2025-05-06 13:09:56 +02:00
epenet
687c74ee4c Remove deprecated freebox reboot service (#144303) 2025-05-06 12:21:48 +02:00
Simone Chemelli
c9a9488ff5 Manage unsupported sources on Samsung TV (#144221) 2025-05-06 12:20:04 +02:00
epenet
57217b46ed Use runtime_data in gogogate2 (#144322) 2025-05-06 12:14:46 +02:00
epenet
5a01521ff8 Use runtime_data in geonetnz_volcano (#144320) 2025-05-06 12:06:00 +02:00
Robert Resch
19a0a16915 Revert "Disable S3 checksums" (#144092) (#144318) 2025-05-06 12:01:27 +02:00
epenet
62877c2c58 Use runtime_data in geonetnz_quakes (#144319) 2025-05-06 11:58:25 +02:00
Joakim Sørensen
9479874bb4 Remove ThingTalk server configuration and related websocket command from cloud integration (#144301) 2025-05-06 11:49:44 +02:00
epenet
241b6a0170 Improve type hints in gc100 (#144308) 2025-05-06 11:01:46 +02:00
Arnie97
babc183834 Allow liter for gas sensor device class (#141518) 2025-05-06 10:59:09 +02:00
Joakim Sørensen
f3371bcf39 Add async_delete_repair_issue method to CloudClient (#144302) 2025-05-06 10:57:56 +02:00
epenet
33da5465bd Use runtime_data in gdacs (#144309) 2025-05-06 10:44:16 +02:00
epenet
5df3a9d76d Use runtime_data in geocaching (#144310) 2025-05-06 10:41:56 +02:00
Martin Hjelmare
ec4f4a4a1f Fix Z-Wave USB discovery to use serial by id path (#144314) 2025-05-06 11:33:58 +03:00
Jan Bouwhuis
46df29b390 Add MQTT binary_sensor as entity platform on MQTT subentries (#144142)
Add MQTT binary_sensor subentry support
2025-05-06 10:23:19 +02:00
epenet
60846434d3 Invert DOMAIN alias in telegram (#144313) 2025-05-06 10:05:12 +02:00
epenet
66c86c0461 Drop alias from local DOMAIN import (#144311) 2025-05-06 09:55:57 +02:00
Cerallin
73996fb916 Bump xiaomi-ble to 0.38.0 (#143885) 2025-05-06 09:55:43 +02:00
Ivan Lopez Hernandez
0edfbded23 Fixes #140182 by checking file status before sending the prompt. (#144131)
* Added unit tests

* Addressed review comments

* Fixed tests

* PR comments
2025-05-05 23:45:39 -07:00
Norbert Rittel
212c3ddcca Use international English spelling for "authorization" in reolink (#144305)
Use international English for "authorization" in `reolink`
2025-05-06 08:34:40 +02:00
Paulus Schoutsen
918499a85c Bump version to 2025.5.0b5 2025-05-06 02:54:14 +00:00
Jamin
46ef578986 Bump VoIP utils to 0.3.2 (#144298) 2025-05-06 02:54:01 +00:00
Pete Sage
86162eb660 Rehlko adjust timeouts for coordinator polls (#144297) 2025-05-06 02:54:00 +00:00
Jan Bouwhuis
7f7a33b027 Fix mqtt subentry device name is not required but should be (#144289)
Fix mqtt subentry device name is not required
2025-05-06 02:53:59 +00:00
Michael
867df99353 Fix un-/re-load of Feedreader integration (#144285)
fix unload platforms call
2025-05-06 02:53:58 +00:00
Martin Hjelmare
283e9d073b Fix Z-Wave config flow forms (#144279) 2025-05-06 02:53:57 +00:00
Jan Bouwhuis
38f26376a1 Fix default entity name not the device default entity when no name set on MQTT subentry entity (#144263) 2025-05-06 02:53:56 +00:00
Jamin
0322dd0e0f Improve Voip pipeline stability (#137620)
* Improve Voip pipeline stability

It appears the pipeline is being unexpectedly cancelled in some
instances. In order to mitigate this issue hang ups will be detected
using a separate task rather than relying on timeouts in the STT read
method. Also reading STT events will be retried once if it is cancelled.
The pipeline will also catch and log any CancelledErrors to help with
further debugging.

* Update Voip tests

* Remove unnecessary changes

Remove unnecessary logging and cancelled error handling in wyoming STT.

* Remove comment about clearing system prompt

The test no longer checks for clearing the system prompt. Since that
logic exists completely in the assist_satellite component I think it is
reasonable to only test that logic in the unit tests for that component.

* Re-raise cancellation

Re-raise CancelledError if the current task is cancelling in the check hangup task

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

* Re-raise CancelledError in pipeline as well

* Fix formatting issue

* Remove unnecessary logging

* Add MockResultStream import to tests

This was presumably missed while merging

* Cancel check hangup task on disconnect

* Add myself as codeowner for VoIP

* Update CODEOWNERS

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-05-06 02:53:55 +00:00
Jamin
edcb090209 Bump VoIP utils to 0.3.2 (#144298) 2025-05-05 22:50:46 -04:00
Michael
92010e1fca Fix un-/re-load of Feedreader integration (#144285)
fix unload platforms call
2025-05-05 22:39:25 -04:00
Jan Bouwhuis
12f9a11716 Fix mqtt subentry device name is not required but should be (#144289)
Fix mqtt subentry device name is not required
2025-05-05 22:39:03 -04:00
Pete Sage
0dd21f4c89 Rehlko adjust timeouts for coordinator polls (#144297) 2025-05-05 21:37:54 -05:00
Jamin
14f967cdd0 Improve Voip pipeline stability (#137620)
* Improve Voip pipeline stability

It appears the pipeline is being unexpectedly cancelled in some
instances. In order to mitigate this issue hang ups will be detected
using a separate task rather than relying on timeouts in the STT read
method. Also reading STT events will be retried once if it is cancelled.
The pipeline will also catch and log any CancelledErrors to help with
further debugging.

* Update Voip tests

* Remove unnecessary changes

Remove unnecessary logging and cancelled error handling in wyoming STT.

* Remove comment about clearing system prompt

The test no longer checks for clearing the system prompt. Since that
logic exists completely in the assist_satellite component I think it is
reasonable to only test that logic in the unit tests for that component.

* Re-raise cancellation

Re-raise CancelledError if the current task is cancelling in the check hangup task

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

* Re-raise CancelledError in pipeline as well

* Fix formatting issue

* Remove unnecessary logging

* Add MockResultStream import to tests

This was presumably missed while merging

* Cancel check hangup task on disconnect

* Add myself as codeowner for VoIP

* Update CODEOWNERS

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-05-05 20:25:52 -04:00
Norbert Rittel
f3b23afc92 Change "recognized" to international English spelling in hive (#144284)
Change "recognized" to international English in `hive`
2025-05-06 00:15:24 +03:00
Jan Bouwhuis
0bf807b96e Fix default entity name not the device default entity when no name set on MQTT subentry entity (#144263) 2025-05-05 21:26:56 +02:00
Martin Hjelmare
1879b8c27f Fix Z-Wave config flow forms (#144279) 2025-05-05 15:02:20 -04:00
Paulus Schoutsen
3798802557 Bump version to 2025.5.0b4 2025-05-05 14:51:20 -04:00
Paul Bottein
f7833bdbd4 Update frontend to 20250502.1 (#144276) 2025-05-05 14:51:14 -04:00
Josef Zweck
e3a156c9b7 Bump pylamarzocco to 2.0.0 (#144275) 2025-05-05 14:51:13 -04:00
Luke Lashley
6247ec73a3 Bump Roborock Map Parser to 0.1.4 (#144260)
Bump to 0.1.4
2025-05-05 14:51:12 -04:00
Luke Lashley
3feda06e60 Bump python-roborock to 2.18.2 (#144235) 2025-05-05 14:51:11 -04:00
Åke Strandberg
56e895fdd4 Remove program phase sensor from miele vacuum robot (#144257)
* Use device class transation

* Remove program pghses sensor from robot vacuum cleaner
2025-05-05 14:49:10 -04:00
tronikos
541506cbdb Fix Invalid statistic_id for Opower: National Grid (#144243)
Co-authored-by: J. Nick Koston <nick+github@koston.org>
2025-05-05 14:49:09 -04:00
Allen Porter
1f4cda6282 Bump ical to 9.2.0 (#144240) 2025-05-05 14:49:08 -04:00
Allen Porter
6f77d0b0d5 Update local calendar to process calendar events in the executor (#144233) 2025-05-05 14:49:07 -04:00
Allen Porter
7976e1b104 Update remote calendar to do all event handling in an executor (#144232) 2025-05-05 14:49:05 -04:00
Eliz
1c260cfb00 Fix missing head forwarding in ingress (#144231)
* Add support for connect, head and trace in ingress

* added tests

* update the testutil

* fix

* fix empty space

* removed connect

* remove trace
2025-05-05 14:49:04 -04:00
Allen Porter
8424f179e4 Fix Office 365 calendars to be compatible with rfc5545 (#144230) 2025-05-05 14:49:03 -04:00
Pete Sage
00a14a0824 bump aiokem to 0.5.10 (#144203) 2025-05-05 14:49:02 -04:00
Pete Sage
34bec1c50f Avoid delaying HA startup in Rehlko (#144202) 2025-05-05 14:49:01 -04:00
tronikos
1d0c520f64 Use names instead of statistic IDs in the Opower repair issue (#144018)
* Use names instead of statistic IDs in the Opower repair issue

* target_ids
2025-05-05 14:49:00 -04:00
Luca De Petrillo
d51eda40b3 Fix message corruption in picotts component (#141182) 2025-05-05 14:48:59 -04:00
Paul Bottein
e3ed9fac78 Update frontend to 20250502.1 (#144276) 2025-05-05 14:47:15 -04:00
Josef Zweck
b98a27d3d0 Bump pylamarzocco to 2.0.0 (#144275) 2025-05-05 20:43:51 +02:00
Eliz
c73383ded3 Fix missing head forwarding in ingress (#144231)
* Add support for connect, head and trace in ingress

* added tests

* update the testutil

* fix

* fix empty space

* removed connect

* remove trace
2025-05-05 19:11:41 +02:00
Erik Montnemery
36a08d04c5 Fail tests which JSON serialize mocks (#144261)
* Fail tests which JSON serialize mocks

* Patch JSON helper earlier

* Check type instead of attribute
2025-05-05 19:06:54 +02:00
Åke Strandberg
8a95fffbab Remove program phase sensor from miele vacuum robot (#144257)
* Use device class transation

* Remove program pghses sensor from robot vacuum cleaner
2025-05-05 18:41:45 +02:00
Erik Montnemery
633c770a48 Fix matter mocks (#144271) 2025-05-05 17:59:57 +02:00
Erik Montnemery
826d28974b Fix fibaro mocks (#144270) 2025-05-05 17:59:50 +02:00
Erik Montnemery
135df5a24e Fix palazzetti mocks (#144268) 2025-05-05 17:59:17 +02:00
Erik Montnemery
2e8e13bffb Fix velbus mocks (#144267) 2025-05-05 17:59:08 +02:00
Erik Montnemery
5e8def837e Fix imeon_inverter mocks (#144266) 2025-05-05 17:58:58 +02:00
Erik Montnemery
14735cce26 Fix deako mocks (#144265) 2025-05-05 17:58:48 +02:00
Erik Montnemery
d775e443f8 Fix balboa mocks (#144264) 2025-05-05 17:58:39 +02:00
Luke Lashley
aa8dfa760d Bump Roborock Map Parser to 0.1.4 (#144260)
Bump to 0.1.4
2025-05-05 07:40:48 -07:00
tronikos
0043b18135 Use names instead of statistic IDs in the Opower repair issue (#144018)
* Use names instead of statistic IDs in the Opower repair issue

* target_ids
2025-05-05 08:36:58 -04:00
Luca De Petrillo
c14ddedfae Fix message corruption in picotts component (#141182) 2025-05-05 14:30:36 +02:00
Markus Jacobsen
a073a6b01e Fix hassfest expecting strings file for custom components (#135789)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-05-05 14:23:02 +02:00
epenet
0713ac4977 Cleanup invalid CONF_ID from samsungtv tests (#144252) 2025-05-05 13:47:07 +02:00
Allen Porter
3390dc0dbb Fix Office 365 calendars to be compatible with rfc5545 (#144230) 2025-05-05 13:13:08 +02:00
dependabot[bot]
445b38f25d Bump github/codeql-action from 3.28.16 to 3.28.17 (#144245)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.16 to 3.28.17.
- [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.28.16...v3.28.17)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.17
  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>
2025-05-05 12:51:19 +02:00
John Hillery
9e4a20c267 Bump nexia to 2.9.0 (#144153)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-05-05 11:40:37 +01:00
epenet
d88cd72d13 Move more SamsungTV test constants to fixture files (#144249)
* Add SSDP fixtures to SamsungTV

* Adjust

* Improve

* Improve
2025-05-05 11:58:24 +02:00
tronikos
66b2e06cd3 Fix Invalid statistic_id for Opower: National Grid (#144243)
Co-authored-by: J. Nick Koston <nick+github@koston.org>
2025-05-05 11:35:32 +02:00
Michael
58906008b9 Add last attempted automatic backup sensor (#144194)
add last_attempted_automatic_backup sensor
2025-05-05 10:39:06 +02:00
Ville Skyttä
aa062515b8 Remove unused huawei_lte YAML schemas, error out on YAML config (#144217) 2025-05-05 10:46:30 +03:00
Norbert Rittel
65da1e79b9 Change some strings to international English in fronius (#144244)
Change to international English in `fronius`
2025-05-05 10:39:23 +03:00
Brett Adams
41ecb24135 Set api type more specifically in Teslemetry (#144178)
* Set api type more specifically

* remove extra spacing

* Fix class after rebase

---------

Co-authored-by: Allen Porter <allen@thebends.org>
2025-05-04 21:54:00 -07:00
Brett Adams
e3b3c32751 Add valet switch to Teslemetry (#144167)
* Add valet switch

* Add snapshot
2025-05-05 06:28:01 +02:00
Allen Porter
e2a8137140 Bump ical to 9.2.0 (#144240) 2025-05-04 23:40:49 -04:00
Allen Porter
fa6a2f08ab Update remote calendar to do all event handling in an executor (#144232) 2025-05-04 23:07:02 -04:00
Allen Porter
68d62ab58e Update local calendar to process calendar events in the executor (#144233) 2025-05-04 23:06:27 -04:00
Allen Porter
c6b9a40234 Increase the local calendar update interval to avoid re-parsing the calendar state unnecessarily (#144234) 2025-05-04 23:05:33 -04:00
Luke Lashley
e0916fdd26 Change roborock to use home_data_v3 (#144238) 2025-05-04 20:02:32 -07:00
Luke Lashley
cad2d72ed9 Bump python-roborock to 2.18.2 (#144235) 2025-05-04 16:59:49 -07:00
Norbert Rittel
8eaddbf2b2 Replace "log-in" with "log in" in zwave_me (#144223) 2025-05-04 21:56:33 +03:00
Norbert Rittel
9b30f32cad Replace "Sign-in …" with "Sign in …" in ring (#144222)
The config flow titles in Home Assistant use verbs by default ("Set up …" / "Configure …" / "Select …" etc.

Therefore "Sign-in …" (noun) for the initial setup in `ring` is replaced with "Sign in …" (verb).
2025-05-04 21:12:01 +03:00
Norbert Rittel
c2a69bcb20 Improve user-facing strings of blink (#144219)
- treat "sign in" as verb for consistency, removing the hyphen
- fix sentence-casing of two strings
2025-05-04 20:36:57 +03:00
Norbert Rittel
2e7b60c3ca Fix spelling of "sign in" and "setup" in verisure (#144214)
- use "sign in" for the verb
- use "setup" for the noun
- fix sentence-casing of "Verification code"
2025-05-04 20:36:24 +03:00
Norbert Rittel
eca811d0d4 Fix sentence-casing in user-facing strings of tami4 (#144212)
Fix sentence-casing in user-facing string of `tami4`
2025-05-04 20:35:59 +03:00
Norbert Rittel
8e202bc202 Improve the user-facing strings of heos (#144218) 2025-05-04 12:13:53 -05:00
J. Nick Koston
429682cecd Remove unnecessary intermediate functions in entry_data for ESPHome (#144173) 2025-05-04 11:42:07 -05:00
Pete Sage
9cd2080de2 Avoid delaying HA startup in Rehlko (#144202) 2025-05-04 11:41:39 -05:00
Pete Sage
2960271b81 bump aiokem to 0.5.10 (#144203) 2025-05-04 11:15:01 -05:00
Paulus Schoutsen
2d3259413a Bump version to 2025.5.0b3 2025-05-04 16:11:29 +00:00
Paulus Schoutsen
7a7bd9c621 Fix intent TurnOn creating stack trace for buttons (#144205) 2025-05-04 16:11:22 +00:00
Maciej Bieniek
8ce0b6b4b3 Add missing pollen category to AccuWeather (#144185)
* Add extreme level to pollen map

* Sort

* Sort
2025-05-04 16:11:21 +00:00
hahn-th
63679333cc Bump homematicip to 2.0.1.1 (#144182)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-05-04 16:11:20 +00:00
Marc Mueller
5b12bdca00 Fix licenses check for setuptools (#144181) 2025-05-04 16:11:18 +00:00
Åke Strandberg
99e13278e3 Bump pymiele to 0.4.3 (#144176)
* Use device class transation

* Bump pymiele to 0.4.3

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-05-04 16:11:17 +00:00
Paulus Schoutsen
07a03ee10d Point thumbnail TTS media source to right logo (#144162) 2025-05-04 16:11:16 +00:00
J. Nick Koston
fb9f8e3581 Bump zeroconf to 0.147.0 (#144158) 2025-05-04 16:11:15 +00:00
J. Nick Koston
ee125cd9a4 Bump habluetooth to 3.48.2 (#144157) 2025-05-04 16:11:14 +00:00
Josef Zweck
35a1429e2b Switch to common clientsession for lamarzocco (#144137) 2025-05-04 16:11:13 +00:00
J. Nick Koston
89916b38e9 Add tests to ensure ESPHome entity_ids are preserved on upgrade (#144116) 2025-05-04 16:11:10 +00:00
tronikos
c560439545 Skip the update right after the migration in Opower (#144088)
* Wait for the migration to finish in Opower

* Don't call async_block_till_done since this can timeout and seems to meant for tests

* Don't call async_block_till_done since this can timeout and seems to meant for tests
2025-05-04 16:11:10 +00:00
Charlie Rusbridger
7322be2006 Use kodi posters, fall back to thumbnails if unavailable. (#144066) 2025-05-04 16:11:08 +00:00
Florian Sabonchi
e95ed12ba1 Fix check for locked device in AVM Fritz!SmartHome (#141697)
* feat: raise execption on hvac mode while device is locked

* fix: test for setting hvac mode while device is locked.

* feat: update translation

* feat: add separate translations for HVAC and temperature

* fix: test cases

* fix: test cases for test_set_preset_mode_boost

* rev: code review

* rev: exception string

* feat: updated  error message and added helper function

* Update homeassistant/components/fritzbox/strings.json

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* fix: translation key

* remove check_active_or_lock_mode from async_set_preset_mode

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2025-05-04 16:11:07 +00:00
Paulus Schoutsen
8048d2bfb8 Fix intent TurnOn creating stack trace for buttons (#144205) 2025-05-04 09:00:40 -07:00
Norbert Rittel
490bb46a82 Make spelling of "Auto-charge" switch consistent in TechnoVE (#144206)
* Make spelling of "Auto-charge" switch consistent in TechnoVE

Also fix sentence-casing in "Charging enabled" switch.

* Update test_switch.ambr
2025-05-04 18:56:25 +03:00
Norbert Rittel
1199353204 Fix sentence-casing of "Phone number" in peco (#144208) 2025-05-04 18:55:58 +03:00
Oliver
2c368c79d1 Update denonavr to 1.1.0 (#144199) 2025-05-04 16:41:44 +02:00
Michael Hannon
095318114b Add Zimi Cloud Connect Integration (#129876)
* Give entry unique id with MAC, strings.json tweaks

* Update codeowners

* Add config_flow tests

* Update requirements

* Update homeassistant/components/zimi/__init__.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Store controller reference in entry.runtime_data instead of hass.data

* Add typing

* Removed hass data pop on unload.  (No longer needed when hass data moved for runtime_data)

* Refactor config_flow based on feedback from @zweckj with inline validation, simpler defaults, better description data

* Add Michael to codeowners

* Remove manual debug override in entity

* Populate via_device

* remove empty keys from manifest.json

* Refactor with DataUpdateCoordinator
Device Entities use existing push update method

* set via_device to match zcc identifier

* Changed logger to use debug level

* Define the zimi constants

* Move extraaneous code out from try

* Move __del__ to async_wil_remove_from_hass

* Use zcc device for name

* Print debug if mac mismatch
Add final exception if api is not ready after connect

* Re-work configuration flow:
1. Remove unused CONF_TIMEOUT, CONF_VERBOSITY and CONF_WATCHDOG
2. Move connect() logic out of ZimiCoordinator
3. Add fast connect check during ConfigFlow to check mac matches
4. Use zcc version 3.2.3 with default watchdog time value (and remove this from HA)

* Add error detail to mac mismatch

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/const.py

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

* Update homeassistant/components/zimi/coordinator.py

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

* Update homeassistant/components/zimi/coordinator.py

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

* Update homeassistant/components/zimi/light.py

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

* Remove coordinator and move setup to __init__

* Set name in _attr_name

* Use _light directly for status etc; Remove _state and _brightness; SImplify update()

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* No need to delete device, fix return

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

* Remove non-failing items from try
Abort duplicate configurations

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

* Move attr change to notify

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

* Update homeassistant/components/zimi/__init__.py

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

* Remove superflous defalt

* Update homeassistant/components/zimi/light.py

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

* Update homeassistant/components/zimi/light.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Move aysnc_connect_to_controller to helpers.py

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

* Invert if api

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

* Update homeassistant/components/zimi/config_flow.py

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

* Added ZimiConfigEntry to type runtime_data correctly.
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

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

* Invert error logic for cleaner flow
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>

* Add ZimiDimmer class

* Set colour_mode only in ZimiDimmer

* Use device name instead of entity name
Update deviceinfo for zcc
Update deviceinfo for lights
More ZimiDimmer and ZimiLight cleanup

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/__init__.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Add missing import for CONNECTION_NETWORK_MAC

* @mhannon11 Fixed some minor style changes BUT these tests need re-working now that the config_flow has a second call to the zcc helper to check the API.   The tests as written now fail with connect_fail

* Remove some code from try

* Moved static items from initialiser

* Remove superflous assert when unloading entry

* refactor - move title out of data

* One call to async_add_entities
Update ZimiDimmer to initialise color_modes after calling super()

* Create ZimiEntity base class
(as ToggleEntity)

* Updated test of config_flow

* Move api_mock parameters to test cases

* Much improved tests

* Test for input value mismatch and then recovery of flow

* Import FlowResultType

* Implement Entities event setup correctly

* Initial quality_scale.yml

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/manifest.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Add link to zcc repo

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Removed unecessary f-strings

* Filled in all of the quality scale

* Updated in line with latest documentation improvements

* FIx missing import for Entity

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/strings.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Simplify logger and throw

* Update homeassistant/components/zimi/helpers.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Re-factor config_flow with multi-stage steps

* Add comments to notify

* Don't set hw_version

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* mark docs-troubleshooting done

* Update with zcc-helper version supporting PEP 625 sdist rules on PyPi

* Comment re characteristic ID

* Pulls in latest zcc that closes UDP listening port correctly after discovery timeout

* Re-factored config_flow

1. Try discovery and auto-populate
2. Try manual configuration (with optional values for port and mac)

In most cases, auto-discovery does it all.

Discovery will only fail if UDP broadcast is not possible to/from zcc.

* Do not show error message if discovery fails

* Refactor with self.data and async_show_step_finish()

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/quality_scale.yml

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/entity.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/light.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* refactor import to use ConfigFlow

* Change status for discovery

* Add dynamic title to config flow

* string

* Revert title from form but add IP:port to static title

* Automatically finish configuration if possible, if not show form

* Use StrEnum instead of Exception class

* Remove MAC from user forms

* Disconnect api before form completion

* Assign to self.mac instead of returning as detail

* Updated test suite

* Update test status

* mark action exemptions todo

* Remove mac related error cases from flow completely

* Remove unused MAC error strings

* Moved error details to logs
Removed _error_tuple
Removed error details

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* rename check_errors

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Update zcc-helper and support HA devices via zcc manufacter_info fields

* Partial implementation - Use updated zcc-helper to discover multiple controllers

* Config_flow with support for auto-discovery of one or more zcc or fallback to manual configuration.

* Don't re-connect to api if validate_connection already did

* Make fast=False is used for creation

* Pull in improved zcc_helper version to address data completeness after machine_info implementation

* Update homeassistant/components/zimi/config_flow.py

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Import and use ConfigFlowResult

* Latest zcc to fix discovers() return value bug

* Update config_flow.py

* Update homeassistant/components/zimi/manifest.json

Co-authored-by: Josef Zweck <josef@zweck.dev>

* Use latest release version of 3.3 (no changes to rc4)

* Improved sentence casing

* Update strings.json

* Update homeassistant/components/zimi/entity.py

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

* Remove superflous logging
Use Zimi network_name as ZCC name
Cleanup device info inputs

* Remove __del__

* Rename arguments

* Update homeassistant/components/zimi/config_flow.py

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

* Move PLATFORMS to init

* Update homeassistant/components/zimi/light.py

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

* Remove debug at init

* Update homeassistant/components/zimi/helpers.py

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

* Remove _attr_has_entity = False

* More naming changes

* Revised config_flow to use zcc-helper for validation using new zcc-helper version

* Update homeassistant/components/zimi/__init__.py

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

* Update homeassistant/components/zimi/__init__.py

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

* Removed commented enum

* s/_entity/_device/g

* Update homeassistant/components/zimi/entity.py

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

* Update homeassistant/components/zimi/helpers.py

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

* Don't log error when raising exception

* Updated tests for new config_flow

* Refactor with new zcc that uses Exception classes to pass errors

* Updated tests for config_flow to use Exceptions

* Device name is based on model

* Device name is None

Maps better to ZCC concept where devices do not have a name but the individual entities have names.

* Fix quality filename

* Bump zcc-helper to 3.4 release version

* Remove name override

* Bump zcc-helper to 3.4.1 with new device_name attribute used to populate devinfo

* Update homeassistant/components/zimi/light.py

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

* Add missing transalation picked up by CI

* Update homeassistant/components/zimi/light.py

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

* Bump zcc-helper to only classify light and dimmer controlPointType as lights

* Bump to non dev version of zcc-helper

* Ruff fixes

* Add missing data description for pytest

* Remove confusing comment

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/const.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/config_flow.py

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

* Update homeassistant/components/zimi/const.py

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

* Update homeassistant/components/zimi/const.py

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

* Update homeassistant/components/zimi/strings.json

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

* Update homeassistant/components/zimi/strings.json

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

* Update tests/components/zimi/test_config_flow.py

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

* Update homeassistant/components/zimi/light.py

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

* f-strings

* Update tests/components/zimi/test_config_flow.py

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

* Update tests/components/zimi/test_config_flow.py

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

* Assert result type, step and errors between each step

* test for duplicate entry

* Update tests/components/zimi/test_config_flow.py

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

* Update tests/components/zimi/test_config_flow.py

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

* Update tests/components/zimi/test_config_flow.py

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

* Update tests/components/zimi/test_config_flow.py

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

* Update tests/components/zimi/test_config_flow.py

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

* Remove duplicate test for discovery failure

* Calculate brightness

* Don't re-raise Exception in helper

* Fix ruff and mypi errors

* Add tests for missing connection exceptions

* Added standard invalid_host and timeout strings

* Explain limitations in discovery.

* Update quality_scale.yaml

* Update quality_scale.yaml

* Removed duplicate strings with reference

---------

Co-authored-by: markhannon <mark.hannon@gmail.com>
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-05-04 15:58:32 +02:00
Norbert Rittel
9e388f5b13 Fix spelling of "comma-separated (network addresses)" in nmap_tracker (#144197) 2025-05-04 15:21:06 +03:00
Brett Adams
87fab1fa14 Rename classes in Teslemetry (#144179) 2025-05-04 14:18:39 +02:00
Brett Adams
8046684179 Update models const in Teslemetry (#144175) 2025-05-04 13:44:56 +02:00
Brett Adams
5a475ec7ea Improve typing of binary sensors in Teslemetry (#144169) 2025-05-04 13:42:25 +02:00
Brett Adams
8c6edd8b81 Add better typing to Teslemetry switch platform (#144168) 2025-05-04 13:41:45 +02:00
Brett Adams
de496c693e Add hazard lights binary sensor to Teslemetry (#144166) 2025-05-04 13:36:13 +02:00
Norbert Rittel
cb37d4d36a Fix spelling of "comma-separated (list / event name)" in doorbird (#144190) 2025-05-04 13:09:31 +03:00
Norbert Rittel
2aa82da615 Fix spelling of "comma-separated (list)" in huawei_lte (#144189) 2025-05-04 13:09:09 +03:00
Maciej Bieniek
04982f5e12 Add missing pollen category to AccuWeather (#144185)
* Add extreme level to pollen map

* Sort

* Sort
2025-05-04 13:08:07 +03:00
Norbert Rittel
b9e11b0f45 Fix spelling of "comma-separated" and "IP address" in cast (#144188) 2025-05-04 13:07:30 +03:00
hahn-th
1e0d1c46ab Bump homematicip to 2.0.1.1 (#144182)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-05-04 12:07:18 +02:00
Norbert Rittel
b5d499dda8 Fix spelling of "comma-separated (list)" in fritzbox_callmonitor (#144191)
Also fix one missing sentence-casing in corresponding "title" string.
2025-05-04 13:06:46 +03:00
Åke Strandberg
d1615f9a6e Bump pymiele to 0.4.3 (#144176)
* Use device class transation

* Bump pymiele to 0.4.3

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-05-04 11:30:37 +02:00
Marc Mueller
516a3c0504 Fix licenses check for setuptools (#144181) 2025-05-04 11:02:11 +03:00
J. Nick Koston
2a5c0d9b88 Add support for updating ESPHome deep sleep devices (#144161)
Co-authored-by: Keith Burzinski <kbx81x@gmail.com>
2025-05-03 20:50:17 -05:00
J. Nick Koston
a15a3c12d5 Pass requestor_uuid to bond API calls (#144128) 2025-05-03 20:40:28 -04:00
J. Nick Koston
a6131b3ebf Bump habluetooth to 3.48.2 (#144157) 2025-05-03 18:22:48 -05:00
Paulus Schoutsen
b9aadb252f Point thumbnail TTS media source to right logo (#144162) 2025-05-03 17:21:22 -04:00
J. Nick Koston
1264c2cbfa Bump zeroconf to 0.147.0 (#144158) 2025-05-03 14:21:03 -05:00
tronikos
716b559e5d Skip the update right after the migration in Opower (#144088)
* Wait for the migration to finish in Opower

* Don't call async_block_till_done since this can timeout and seems to meant for tests

* Don't call async_block_till_done since this can timeout and seems to meant for tests
2025-05-03 15:12:01 -04:00
Charlie Rusbridger
30e4264aa9 Use kodi posters, fall back to thumbnails if unavailable. (#144066) 2025-05-03 15:10:33 -04:00
Michael
fb94f8ea18 Make the network device tracking feature optional in AVM Fritz!Tools (#144149)
* make the network device tracking feature optional

* fix doc strings

* Apply suggestions from code review

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

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-05-03 21:04:59 +02:00
Florian Sabonchi
aea5760424 Fix check for locked device in AVM Fritz!SmartHome (#141697)
* feat: raise execption on hvac mode while device is locked

* fix: test for setting hvac mode while device is locked.

* feat: update translation

* feat: add separate translations for HVAC and temperature

* fix: test cases

* fix: test cases for test_set_preset_mode_boost

* rev: code review

* rev: exception string

* feat: updated  error message and added helper function

* Update homeassistant/components/fritzbox/strings.json

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* fix: translation key

* remove check_active_or_lock_mode from async_set_preset_mode

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2025-05-03 20:25:27 +02:00
Jan Bouwhuis
debec3bfbc Improve supported color modes description (#144144) 2025-05-03 17:13:43 +01:00
J. Diego Rodríguez Royo
4122f94fb6 Add DHCP discovery to Home Connect (#144095)
* Add DHCP discovery to Home Connect

* Added tests

* Use enums

* Use more enums
2025-05-03 17:16:02 +02:00
J. Nick Koston
b48a2cf2b5 Add tests to ensure ESPHome entity_ids are preserved on upgrade (#144116) 2025-05-03 10:12:37 -05:00
Shay Levy
0ca9ad1cc0 Mark Shelly docs-data-update as done (#144151) 2025-05-03 16:17:37 +02:00
Shay Levy
ee555a3700 Mark Shelly icon-translations as done (#144148) 2025-05-03 17:08:34 +03:00
Josef Zweck
a2bc3e3908 Switch to common clientsession for lamarzocco (#144137) 2025-05-03 14:44:18 +02:00
Thomas55555
64b7f2c285 Improve select platform in Husqvarna Automower (#144117) 2025-05-03 15:39:46 +03:00
Marc Mueller
db2435dc36 Fix litterrobot entity typing (#144147) 2025-05-03 14:35:17 +02:00
Marc Mueller
1d500fda67 Fix fritz coordinator typing (#144146) 2025-05-03 14:35:04 +02:00
Jan Bouwhuis
558b0ec3b1 Fix small issues with mqtt translations and improve readability (#144091) 2025-05-03 11:51:26 +02:00
J. Nick Koston
9780db1c22 Bump Bluetooth deps to improve auto recovery process (#144133) 2025-05-03 10:09:28 +02:00
J. Nick Koston
5e39fb6da1 Bump bleak-esphome to 2.15.1 (#144129) 2025-05-03 10:08:56 +02:00
J. Nick Koston
4450f919c3 Bump PyISY to 3.4.1 (#144127) 2025-05-02 17:46:59 -05:00
Marc Hörsken
3183bb78ff Update pywmspro to 0.2.2 to make error handling more robust (#144124) 2025-05-03 00:16:49 +02:00
J. Nick Koston
e74f918382 Bump aiodns to 3.3.0 (#144115) 2025-05-02 15:53:19 -05:00
Thomas55555
247d2e7efd Bump aioautomower to 2025.5.1 (#144118) 2025-05-02 22:35:34 +02:00
Bram Kragten
32b7edb608 Update frontend to 20250502.0 (#144114) 2025-05-02 22:33:39 +02:00
Josef Zweck
df4297be62 Fix intermittent unavailability for lamarzocco brew active sensor (#144120)
* Fix brew active intermittent unavailability for lamarzocco

* Whitespaces
2025-05-02 22:29:54 +02:00
Brett Adams
4c2e9fc759 Bump teslemetry-stream to 0.7.7 (#144085) 2025-05-02 21:13:12 +02:00
J. Nick Koston
2890fc7dd2 Only create a single resolver object if there are multiple aiohttp sessions (#144090) 2025-05-02 13:43:06 -05:00
Ian
97be2c4ac9 Bump py-nextbusnext to 2.1.2 (#144081)r
Bump py-nextbusnext version

Fixes #144059
2025-05-02 20:17:58 +02:00
Åke Strandberg
762d284102 Improve naming of miele freezers and fridges (#144062)
* Use device class transation

* Improve naming of miele freezers and fridges

* Address review

* Address review comment

* Simplify
2025-05-02 19:31:56 +02:00
Joost Lekkerkerker
4967c287f8 Add DHCP discovery to Knocki (#144048)
* Add DHCP discovery to Knocki

* Update homeassistant/components/knocki/quality_scale.yaml

Co-authored-by: Josef Zweck <josef@zweck.dev>

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-05-02 18:34:09 +02:00
Pete Sage
5e463d6af4 bump aiokem to 0.5.9 (#144098)
fix: bump aiokem to 0.5.9
2025-05-02 17:34:58 +02:00
Åke Strandberg
cbf4676ae4 Improve handling of missing miele program codes (#144093)
* Use device class transation

* Improve handling of unknown program codes

* Address review comment
2025-05-02 17:31:11 +02:00
Tomáš Bedřich
81444c8f4a Disable S3 checksums (#144092)
Disable S3 checksums (#143995)
2025-05-02 13:49:33 +02:00
J. Nick Koston
9861bd88b9 Avoid working out suggested id in entity_platform when already registered (#144079)
If the entity is already registered, avoid trying to work
out the suggested_entity_id and suggested_object_id as
async_get_or_create will discard them anyways.
2025-05-02 11:44:38 +02:00
Simone Chemelli
b0f1c71129 Handle missing action exceptions in SamsungTV (#143630)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-05-02 11:39:28 +02:00
Shay Levy
86b845f04a Mark exception-translations done in Shelly (#144073) 2025-05-02 12:32:41 +03:00
J. Diego Rodríguez Royo
3af0d6e484 Use is instead of == on check against enum value at Home Connect (#144083)
* Use `is` instead of `==` on check against enum value at Home Connect

* Revert HTTP status checks
2025-05-02 10:08:46 +02:00
epenet
fca62f1ae8 Move SamsungTV test constants to fixture files (#144086) 2025-05-02 08:32:44 +02:00
Andreas Kölsch
4e8d68a2ef Fix brightness calculation when using brightness_step_pct (#143786) 2025-05-01 23:07:52 +01:00
J. Diego Rodríguez Royo
883ab44437 Move Home Connect entry state assertion at tests (#144027) 2025-05-01 23:04:03 +02:00
tronikos
abd17d9af9 Pass empty set instead of empty dict to get_last_statistics (#144022) 2025-05-01 16:47:48 -04:00
J. Nick Koston
a906a1754e Avoid DomainData lookup in ESPHome update platform (#144072)
We can get this from entry.runtime_data
2025-05-01 16:45:44 -04:00
Josef Zweck
255beafe08 Add connect/disconnect callbacks to lamarzocco (#144011) 2025-05-01 16:29:44 -04:00
Josef Zweck
e2679004a1 Add bluetooth connection availability to diagnostics for lamarzocco (#144012)
* Add bluetooth connection availability to diagnostics for lamarzocco

* make even more detailed
2025-05-01 16:26:50 -04:00
J. Nick Koston
06bb692522 Bump inkbird-ble to 0.16.1 (#144074)
I made a mistake in one of the data lengths as I forgot to add
the length of the id which is 2 bytes. I really wish vendors
would stop putting raw data in this field.

changelog: https://github.com/Bluetooth-Devices/inkbird-ble/compare/v0.16.0...v0.16.1
2025-05-01 23:23:56 +03:00
Shay Levy
71599b8e75 Set Shelly PARALLEL_UPDATES (#144070) 2025-05-01 21:20:50 +02:00
J. Nick Koston
79f8bea48d Avoid validation of ESPHome MAC when discovered entry is ignored or unchanged (#144071)
fixes #144033
fixes #143991
2025-05-01 14:51:38 -04:00
Åke Strandberg
82b335a2c1 Flag strict typing for miele (#144060) 2025-05-01 19:10:24 +02:00
Thomas55555
361d93eb96 Remove deprecated binary sensor in Husqvarna Automower (#144064)
* Remove deprecated binary sensor in Husqvarna Automower

* snapshot
2025-05-01 18:35:48 +02:00
Ludovic BOUÉ
bab699eb0c Matter Solar power fixture (#144058) 2025-05-01 17:06:08 +02:00
Thomas55555
b8881ed85b Fix test in Husqvarna Automower (#144055) 2025-05-01 16:36:05 +02:00
Åke Strandberg
4013b418dd Use device class transation for door in miele (#144053) 2025-05-01 16:33:30 +02:00
Åke Strandberg
80d714b865 Use action property defined in MieleEntity (#144052) 2025-05-01 16:06:49 +02:00
Åke Strandberg
7fcad580cb Update miele program codes and strings (#144049) 2025-05-01 15:14:11 +02:00
Ludovic BOUÉ
60b6ff4064 Matter Laundry Dryer fixture (#144043)
* Create laundry_dryer.json

* Add snapshots

* Format fixture

* Set CurrentPhase attribute

* Set OperationalState attribute

* Update snapshot
2025-05-01 14:52:32 +02:00
Josef Zweck
24252edf38 Handle TimeoutError for lamarzocco (#144042) 2025-05-01 14:02:39 +02:00
J. Diego Rodríguez Royo
79aa7aacec Sort Home Connect test params (#144035) 2025-05-01 12:04:25 +02:00
OzGav
92944fa509 Media Player strings adjust grammar (#144030) 2025-05-01 11:40:04 +02:00
J. Diego Rodríguez Royo
c0f0a4a1ac Listen for an event just once at Home Connect test (#144031) 2025-05-01 11:24:29 +02:00
J. Diego Rodríguez Royo
a084b9fdde Set autouse to setup_credentials Home Connect fixture (#144028) 2025-05-01 11:24:05 +02:00
Andrea Turri
83b9b8b032 Fix state of fan entity for Miele hobs with extractor when turned off (#144025) 2025-05-01 10:42:27 +02:00
J. Diego Rodríguez Royo
bc47049d42 Remove non required Home Connect tests (#144024) 2025-05-01 10:18:32 +02:00
J. Diego Rodríguez Royo
17360ede28 Use common percentage const at Home Connect (#144021) 2025-05-01 09:57:42 +02:00
J. Diego Rodríguez Royo
f441f4d7c0 Remove translation key for battery level in Home Connect sensor (#144020) 2025-05-01 09:57:30 +02:00
J. Diego Rodríguez Royo
5ddc449247 Remove default brightness values from Home Connect light entities (#144019) 2025-05-01 09:57:17 +02:00
J. Diego Rodríguez Royo
dd8d714c94 Remove _attr_should_poll from Home Connect base entity (#144016) 2025-05-01 09:49:49 +02:00
J. Diego Rodríguez Royo
c2079ddf6f Remove unused client param at Home Connect diagnostics (#144017) 2025-05-01 09:49:25 +02:00
Manu
5250590b17 Remove deprecated action api_call from Habitica integration (#143978) 2025-05-01 09:28:25 +02:00
Jan-Philipp Benecke
93f4f14b2a Default backup encryption to true when updating only location retention (#143997) 2025-04-30 22:45:41 +01:00
Ville Skyttä
ba712ed514 Move huawei_lte sensor icons to icons.json where applicable (#143999) 2025-04-30 23:26:10 +02:00
Norbert Rittel
6e76ca0fb3 Add translations for "energy_distance" and "wind_direction" in random (#143994)
* Add translations for "energy_distance" and "wind_direction" in `random`

* Comma
2025-05-01 00:13:04 +03:00
Megamind
b0345cce68 Bump pushover-complete to 1.2.0 (#143966)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-04-30 23:04:56 +02:00
Paulus Schoutsen
c4eddc8d11 Ensure legacy TTS providers are hidden if entity exists (#143992) 2025-04-30 16:57:02 -04:00
Josef Zweck
7d89804a87 Bump pylamarzocco to 2.0.0b7 (#143989) 2025-04-30 22:56:04 +02:00
Ludovic BOUÉ
b92f718e08 Matter Cooktop fixture (#143984) 2025-04-30 22:09:29 +02:00
Franck Nijhof
ad0209a4a0 Bump version to 2025.6.0dev0 (#143983) 2025-04-30 21:44:19 +02:00
J. Diego Rodríguez Royo
d23d25c6b7 Add units of measurement for Home Connect counter entities (#143982) 2025-04-30 21:03:17 +02:00
7019 changed files with 505906 additions and 93950 deletions

View File

@@ -8,6 +8,9 @@
"PYTHONASYNCIODEBUG": "1"
},
"features": {
// Node feature required for Claude Code until fixed https://github.com/anthropics/devcontainer-features/issues/28
"ghcr.io/devcontainers/features/node:1": {},
"ghcr.io/anthropics/devcontainer-features/claude-code:1.0": {},
"ghcr.io/devcontainers/features/github-cli:1": {}
},
// Port 5683 udp is used by Shelly integration

View File

@@ -14,7 +14,8 @@ tests
# Other virtualization methods
venv
.venv
.vagrant
# Temporary files
**/__pycache__
**/__pycache__

View File

@@ -1,15 +1,14 @@
name: Report an issue with Home Assistant Core
description: Report an issue with Home Assistant Core.
type: Bug
body:
- type: markdown
attributes:
value: |
This issue form is for reporting bugs only!
If you have a feature or enhancement request, please use the [feature request][fr] section of our [Community Forum][fr].
If you have a feature or enhancement request, please [request them here instead][fr].
[fr]: https://community.home-assistant.io/c/feature-requests
[fr]: https://github.com/orgs/home-assistant/discussions
- type: textarea
validations:
required: true

View File

@@ -10,8 +10,8 @@ contact_links:
url: https://www.home-assistant.io/help
about: We use GitHub for tracking bugs, check our website for resources on getting help.
- name: Feature Request
url: https://community.home-assistant.io/c/feature-requests
about: Please use our Community Forum for making feature requests.
url: https://github.com/orgs/home-assistant/discussions
about: Please use this link to request new features or enhancements to existing features.
- name: I'm unsure where to go
url: https://www.home-assistant.io/join-chat
about: If you are unsure where to go, then joining our chat is recommended; Just ask!

53
.github/ISSUE_TEMPLATE/task.yml vendored Normal file
View File

@@ -0,0 +1,53 @@
name: Task
description: For staff only - Create a task
type: Task
body:
- type: markdown
attributes:
value: |
## ⚠️ RESTRICTED ACCESS
**This form is restricted to Open Home Foundation staff, authorized contributors, and integration code owners only.**
If you are a community member wanting to contribute, please:
- For bug reports: Use the [bug report form](https://github.com/home-assistant/core/issues/new?template=bug_report.yml)
- For feature requests: Submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)
---
### For authorized contributors
Use this form to create tasks for development work, improvements, or other actionable items that need to be tracked.
- type: textarea
id: description
attributes:
label: Description
description: |
Provide a clear and detailed description of the task that needs to be accomplished.
Be specific about what needs to be done, why it's important, and any constraints or requirements.
placeholder: |
Describe the task, including:
- What needs to be done
- Why this task is needed
- Expected outcome
- Any constraints or requirements
validations:
required: true
- type: textarea
id: additional_context
attributes:
label: Additional context
description: |
Any additional information, links, research, or context that would be helpful.
Include links to related issues, research, prototypes, roadmap opportunities etc.
placeholder: |
- Roadmap opportunity: [link]
- Epic: [link]
- Feature request: [link]
- Technical design documents: [link]
- Prototype/mockup: [link]
- Dependencies: [links]
validations:
required: false

File diff suppressed because it is too large Load Diff

View File

@@ -6,3 +6,6 @@ updates:
interval: daily
time: "06:00"
open-pull-requests-limit: 10
labels:
- dependency
- github_actions

View File

@@ -27,12 +27,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -90,11 +90,11 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v9
uses: dawidd6/action-download-artifact@v11
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/frontend
@@ -105,10 +105,10 @@ jobs:
- name: Download nightly wheels of intents
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v9
uses: dawidd6/action-download-artifact@v11
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/intents-package
repo: OHF-Voice/intents-package
branch: main
workflow: nightly.yaml
workflow_conclusion: success
@@ -116,7 +116,7 @@ jobs:
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -175,7 +175,7 @@ jobs:
sed -i "s|pykrakenapi|# pykrakenapi|g" requirements_all.txt
- name: Download translations
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: translations
@@ -190,7 +190,7 @@ 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.4.0
uses: docker/login-action@v3.5.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -242,7 +242,7 @@ jobs:
- green
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set build additional args
run: |
@@ -256,7 +256,7 @@ jobs:
fi
- name: Login to GitHub Container Registry
uses: docker/login-action@v3.4.0
uses: docker/login-action@v3.5.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -279,7 +279,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -321,23 +321,23 @@ jobs:
registry: ["ghcr.io/home-assistant", "docker.io/homeassistant"]
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Install Cosign
uses: sigstore/cosign-installer@v3.8.2
uses: sigstore/cosign-installer@v3.9.2
with:
cosign-release: "v2.2.3"
- name: Login to DockerHub
if: matrix.registry == 'docker.io/homeassistant'
uses: docker/login-action@v3.4.0
uses: docker/login-action@v3.5.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Login to GitHub Container Registry
if: matrix.registry == 'ghcr.io/home-assistant'
uses: docker/login-action@v3.4.0
uses: docker/login-action@v3.5.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
@@ -454,15 +454,15 @@ jobs:
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
- name: Download translations
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: translations
@@ -480,7 +480,7 @@ jobs:
python -m build
- name: Upload package to PyPI
uses: pypa/gh-action-pypi-publish@v1.12.4
uses: pypa/gh-action-pypi-publish@v1.13.0
with:
skip-existing: true
@@ -499,17 +499,17 @@ jobs:
HASSFEST_IMAGE_TAG: ghcr.io/home-assistant/hassfest:${{ needs.init.outputs.version }}
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Login to GitHub Container Registry
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 # v3.4.0
uses: docker/login-action@184bdaa0721073962dff0199f1fb9940f07167d1 # v3.5.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
@@ -522,7 +522,7 @@ jobs:
- name: Push Docker image
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
id: push
uses: docker/build-push-action@14487ce63c7a62a4a324b0bfb37086795e31c6c1 # v6.16.0
uses: docker/build-push-action@263435318d21b8e681c14492fe198d362a7d2c83 # v6.18.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
@@ -531,7 +531,7 @@ jobs:
- name: Generate artifact attestation
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
uses: actions/attest-build-provenance@db473fddc028af60658334401dc6fa3ffd8669fd # v2.3.0
uses: actions/attest-build-provenance@977bb373ede98d70efdf65b84cb5f73e068dcc2a # v3.0.0
with:
subject-name: ${{ env.HASSFEST_IMAGE_NAME }}
subject-digest: ${{ steps.push.outputs.digest }}

View File

@@ -37,10 +37,10 @@ on:
type: boolean
env:
CACHE_VERSION: 12
CACHE_VERSION: 7
UV_CACHE_VERSION: 1
MYPY_CACHE_VERSION: 9
HA_SHORT_VERSION: "2025.5"
MYPY_CACHE_VERSION: 1
HA_SHORT_VERSION: "2025.10"
DEFAULT_PYTHON: "3.13"
ALL_PYTHON_VERSIONS: "['3.13']"
# 10.3 is the oldest supported version
@@ -94,7 +94,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: |
@@ -246,20 +246,20 @@ jobs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v4.2.3
uses: actions/cache@v4.2.4
with:
path: venv
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Create Python virtual environment
if: steps.cache-venv.outputs.cache-hit != 'true'
@@ -271,12 +271,12 @@ jobs:
uv pip install "$(cat requirements_test.txt | grep pre-commit)"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v4.2.3
uses: actions/cache@v4.2.4
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Install pre-commit dependencies
if: steps.cache-precommit.outputs.cache-hit != 'true'
@@ -292,30 +292,30 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Run ruff-format
run: |
@@ -332,35 +332,35 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Run ruff
run: |
. venv/bin/activate
pre-commit run --hook-stage manual ruff --all-files --show-diff-on-failure
pre-commit run --hook-stage manual ruff-check --all-files --show-diff-on-failure
env:
RUFF_OUTPUT_FORMAT: github
@@ -372,30 +372,30 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-venv-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-venv-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.pre-commit_cache_key }}
- name: Register yamllint problem matcher
@@ -462,7 +462,7 @@ jobs:
- script/hassfest/docker/Dockerfile
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Register hadolint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
@@ -481,10 +481,10 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
@@ -497,26 +497,27 @@ jobs:
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@v4.2.3
uses: actions/cache@v4.2.4
with:
path: venv
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore uv wheel cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache@v4.2.3
uses: actions/cache@v4.2.4
with:
path: ${{ env.UV_CACHE_DIR }}
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
steps.generate-uv-key.outputs.key }}
restore-keys: |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-uv-${{
${{ runner.os }}-${{ runner.arch }}-${{ 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'
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
@@ -578,27 +579,28 @@ jobs:
- base
steps:
- name: Install additional OS dependencies
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
libturbojpeg
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run hassfest
run: |
@@ -617,21 +619,21 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run gen_requirements_all.py
run: |
@@ -651,9 +653,9 @@ jobs:
&& github.event_name == 'pull_request'
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Dependency review
uses: actions/dependency-review-action@v4.6.0
uses: actions/dependency-review-action@v4.7.3
with:
license-check: false # We use our own license audit checks
@@ -674,21 +676,21 @@ jobs:
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Extract license data
run: |
@@ -717,21 +719,21 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register pylint problem matcher
run: |
@@ -764,21 +766,21 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register pylint problem matcher
run: |
@@ -809,10 +811,10 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -825,22 +827,22 @@ 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@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore mypy cache
uses: actions/cache@v4.2.3
uses: actions/cache@v4.2.4
with:
path: .mypy_cache
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
steps.generate-mypy-key.outputs.key }}
restore-keys: |
${{ runner.os }}-${{ steps.python.outputs.python-version }}-mypy-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-mypy-${{
env.MYPY_CACHE_VERSION }}-${{ steps.generate-mypy-key.outputs.version }}-${{
env.HA_SHORT_VERSION }}-
- name: Register mypy problem matcher
@@ -877,6 +879,7 @@ jobs:
name: Split tests for full run
steps:
- name: Install additional OS dependencies
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
@@ -886,21 +889,21 @@ jobs:
libturbojpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run split_tests.py
run: |
@@ -937,6 +940,7 @@ jobs:
Run tests Python ${{ matrix.python-version }} (${{ matrix.group }})
steps:
- name: Install additional OS dependencies
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
@@ -944,22 +948,24 @@ jobs:
bluez \
ffmpeg \
libturbojpeg \
libgammu-dev
libgammu-dev \
libxml2-utils
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
key: >-
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
@@ -968,7 +974,7 @@ jobs:
run: |
echo "::add-matcher::.github/workflows/matchers/pytest-slow.json"
- name: Download pytest_buckets
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: pytest_buckets
- name: Compile English translations
@@ -1019,6 +1025,12 @@ jobs:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
overwrite: true
- name: Beautify test results
# For easier identification of parsing errors
if: needs.info.outputs.skip_coverage != 'true'
run: |
xmllint --format "junit.xml" > "junit.xml-tmp"
mv "junit.xml-tmp" "junit.xml"
- name: Upload test results artifact
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
uses: actions/upload-artifact@v4.6.2
@@ -1062,6 +1074,7 @@ jobs:
Run ${{ matrix.mariadb-group }} tests Python ${{ matrix.python-version }}
steps:
- name: Install additional OS dependencies
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
@@ -1069,22 +1082,24 @@ jobs:
bluez \
ffmpeg \
libturbojpeg \
libmariadb-dev-compat
libmariadb-dev-compat \
libxml2-utils
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
key: >-
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
@@ -1152,6 +1167,12 @@ jobs:
steps.pytest-partial.outputs.mariadb }}
path: coverage.xml
overwrite: true
- name: Beautify test results
# For easier identification of parsing errors
if: needs.info.outputs.skip_coverage != 'true'
run: |
xmllint --format "junit.xml" > "junit.xml-tmp"
mv "junit.xml-tmp" "junit.xml"
- name: Upload test results artifact
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
uses: actions/upload-artifact@v4.6.2
@@ -1194,31 +1215,34 @@ jobs:
Run ${{ matrix.postgresql-group }} tests Python ${{ matrix.python-version }}
steps:
- name: Install additional OS dependencies
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
sudo apt-get -y install \
bluez \
ffmpeg \
libturbojpeg
libturbojpeg \
libxml2-utils
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y
sudo apt-get -y install \
postgresql-server-dev-14
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
key: >-
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
@@ -1287,6 +1311,12 @@ jobs:
steps.pytest-partial.outputs.postgresql }}
path: coverage.xml
overwrite: true
- name: Beautify test results
# For easier identification of parsing errors
if: needs.info.outputs.skip_coverage != 'true'
run: |
xmllint --format "junit.xml" > "junit.xml-tmp"
mv "junit.xml-tmp" "junit.xml"
- name: Upload test results artifact
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
uses: actions/upload-artifact@v4.6.2
@@ -1310,14 +1340,14 @@ jobs:
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Download all coverage artifacts
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'true'
uses: codecov/codecov-action@v5.4.2
uses: codecov/codecov-action@v5.5.1
with:
fail_ci_if_error: true
flags: full-suite
@@ -1347,6 +1377,7 @@ jobs:
Run tests Python ${{ matrix.python-version }} (${{ matrix.group }})
steps:
- name: Install additional OS dependencies
timeout-minutes: 5
run: |
sudo rm /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update
@@ -1354,22 +1385,24 @@ jobs:
bluez \
ffmpeg \
libturbojpeg \
libgammu-dev
libgammu-dev \
libxml2-utils
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.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.2.3
uses: actions/cache/restore@v4.2.4
with:
path: venv
fail-on-cache-miss: true
key: ${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
key: >-
${{ runner.os }}-${{ runner.arch }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Register Python problem matcher
run: |
@@ -1432,6 +1465,12 @@ jobs:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
overwrite: true
- name: Beautify test results
# For easier identification of parsing errors
if: needs.info.outputs.skip_coverage != 'true'
run: |
xmllint --format "junit.xml" > "junit.xml-tmp"
mv "junit.xml-tmp" "junit.xml"
- name: Upload test results artifact
if: needs.info.outputs.skip_coverage != 'true' && !cancelled()
uses: actions/upload-artifact@v4.6.2
@@ -1452,14 +1491,14 @@ jobs:
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Download all coverage artifacts
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'false'
uses: codecov/codecov-action@v5.4.2
uses: codecov/codecov-action@v5.5.1
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
@@ -1479,7 +1518,7 @@ jobs:
timeout-minutes: 10
steps:
- name: Download all coverage artifacts
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
pattern: test-results-*
- name: Upload test results to Codecov

View File

@@ -21,14 +21,14 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Initialize CodeQL
uses: github/codeql-action/init@v3.28.16
uses: github/codeql-action/init@v3.30.1
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.28.16
uses: github/codeql-action/analyze@v3.30.1
with:
category: "/language:python"

View File

@@ -0,0 +1,385 @@
name: Auto-detect duplicate issues
# yamllint disable-line rule:truthy
on:
issues:
types: [labeled]
permissions:
issues: write
models: read
jobs:
detect-duplicates:
runs-on: ubuntu-latest
steps:
- name: Check if integration label was added and extract details
id: extract
uses: actions/github-script@v8
with:
script: |
// Debug: Log the event payload
console.log('Event name:', context.eventName);
console.log('Event action:', context.payload.action);
console.log('Event payload keys:', Object.keys(context.payload));
// Check the specific label that was added
const addedLabel = context.payload.label;
if (!addedLabel) {
console.log('No label found in labeled event payload');
core.setOutput('should_continue', 'false');
return;
}
console.log(`Label added: ${addedLabel.name}`);
if (!addedLabel.name.startsWith('integration:')) {
console.log('Added label is not an integration label, skipping duplicate detection');
core.setOutput('should_continue', 'false');
return;
}
console.log(`Integration label added: ${addedLabel.name}`);
let currentIssue;
let integrationLabels = [];
try {
const issue = await github.rest.issues.get({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number
});
currentIssue = issue.data;
// Check if potential-duplicate label already exists
const hasPotentialDuplicateLabel = currentIssue.labels
.some(label => label.name === 'potential-duplicate');
if (hasPotentialDuplicateLabel) {
console.log('Issue already has potential-duplicate label, skipping duplicate detection');
core.setOutput('should_continue', 'false');
return;
}
integrationLabels = currentIssue.labels
.filter(label => label.name.startsWith('integration:'))
.map(label => label.name);
} catch (error) {
core.error(`Failed to fetch issue #${context.payload.issue.number}:`, error.message);
core.setOutput('should_continue', 'false');
return;
}
// Check if we've already posted a duplicate detection comment recently
let comments;
try {
comments = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
per_page: 10
});
} catch (error) {
core.error('Failed to fetch comments:', error.message);
// Continue anyway, worst case we might post a duplicate comment
comments = { data: [] };
}
// Check if we've already posted a duplicate detection comment
const recentDuplicateComment = comments.data.find(comment =>
comment.user && comment.user.login === 'github-actions[bot]' &&
comment.body.includes('<!-- workflow: detect-duplicate-issues -->')
);
if (recentDuplicateComment) {
console.log('Already posted duplicate detection comment, skipping');
core.setOutput('should_continue', 'false');
return;
}
core.setOutput('should_continue', 'true');
core.setOutput('current_number', currentIssue.number);
core.setOutput('current_title', currentIssue.title);
core.setOutput('current_body', currentIssue.body);
core.setOutput('current_url', currentIssue.html_url);
core.setOutput('integration_labels', JSON.stringify(integrationLabels));
console.log(`Current issue: #${currentIssue.number}`);
console.log(`Integration labels: ${integrationLabels.join(', ')}`);
- name: Fetch similar issues
id: fetch_similar
if: steps.extract.outputs.should_continue == 'true'
uses: actions/github-script@v8
env:
INTEGRATION_LABELS: ${{ steps.extract.outputs.integration_labels }}
CURRENT_NUMBER: ${{ steps.extract.outputs.current_number }}
with:
script: |
const integrationLabels = JSON.parse(process.env.INTEGRATION_LABELS);
const currentNumber = parseInt(process.env.CURRENT_NUMBER);
if (integrationLabels.length === 0) {
console.log('No integration labels found, skipping duplicate detection');
core.setOutput('has_similar', 'false');
return;
}
// Use GitHub search API to find issues with matching integration labels
console.log(`Searching for issues with integration labels: ${integrationLabels.join(', ')}`);
// Build search query for issues with any of the current integration labels
const labelQueries = integrationLabels.map(label => `label:"${label}"`);
// Calculate date 6 months ago
const sixMonthsAgo = new Date();
sixMonthsAgo.setMonth(sixMonthsAgo.getMonth() - 6);
const dateFilter = `created:>=${sixMonthsAgo.toISOString().split('T')[0]}`;
let searchQuery;
if (labelQueries.length === 1) {
searchQuery = `repo:${context.repo.owner}/${context.repo.repo} is:issue ${labelQueries[0]} ${dateFilter}`;
} else {
searchQuery = `repo:${context.repo.owner}/${context.repo.repo} is:issue (${labelQueries.join(' OR ')}) ${dateFilter}`;
}
console.log(`Search query: ${searchQuery}`);
let result;
try {
result = await github.rest.search.issuesAndPullRequests({
q: searchQuery,
per_page: 15,
sort: 'updated',
order: 'desc'
});
} catch (error) {
core.error('Failed to search for similar issues:', error.message);
if (error.status === 403 && error.message.includes('rate limit')) {
core.error('GitHub API rate limit exceeded');
}
core.setOutput('has_similar', 'false');
return;
}
// Filter out the current issue, pull requests, and newer issues (higher numbers)
const similarIssues = result.data.items
.filter(item =>
item.number !== currentNumber &&
!item.pull_request &&
item.number < currentNumber // Only include older issues (lower numbers)
)
.map(item => ({
number: item.number,
title: item.title,
body: item.body,
url: item.html_url,
state: item.state,
createdAt: item.created_at,
updatedAt: item.updated_at,
comments: item.comments,
labels: item.labels.map(l => l.name)
}));
console.log(`Found ${similarIssues.length} issues with matching integration labels`);
console.log('Raw similar issues:', JSON.stringify(similarIssues.slice(0, 3), null, 2));
if (similarIssues.length === 0) {
console.log('No similar issues found, setting has_similar to false');
core.setOutput('has_similar', 'false');
return;
}
console.log('Similar issues found, setting has_similar to true');
core.setOutput('has_similar', 'true');
// Clean the issue data to prevent JSON parsing issues
const cleanedIssues = similarIssues.slice(0, 15).map(item => {
// Handle body with improved truncation and null handling
let cleanBody = '';
if (item.body && typeof item.body === 'string') {
// Remove control characters
const cleaned = item.body.replace(/[\u0000-\u001F\u007F-\u009F]/g, '');
// Truncate to 1000 characters and add ellipsis if needed
cleanBody = cleaned.length > 1000
? cleaned.substring(0, 1000) + '...'
: cleaned;
}
return {
number: item.number,
title: item.title.replace(/[\u0000-\u001F\u007F-\u009F]/g, ''), // Remove control characters
body: cleanBody,
url: item.url,
state: item.state,
createdAt: item.createdAt,
updatedAt: item.updatedAt,
comments: item.comments,
labels: item.labels
};
});
console.log(`Cleaned issues count: ${cleanedIssues.length}`);
console.log('First cleaned issue:', JSON.stringify(cleanedIssues[0], null, 2));
core.setOutput('similar_issues', JSON.stringify(cleanedIssues));
- name: Detect duplicates using AI
id: ai_detection
if: steps.extract.outputs.should_continue == 'true' && steps.fetch_similar.outputs.has_similar == 'true'
uses: actions/ai-inference@v2.0.1
with:
model: openai/gpt-4o
system-prompt: |
You are a Home Assistant issue duplicate detector. Your task is to identify TRUE DUPLICATES - issues that report the EXACT SAME problem, not just similar or related issues.
CRITICAL: An issue is ONLY a duplicate if:
- It describes the SAME problem with the SAME root cause
- Issues about the same integration but different problems are NOT duplicates
- Issues with similar symptoms but different causes are NOT duplicates
Important considerations:
- Open issues are more relevant than closed ones for duplicate detection
- Recently updated issues may indicate ongoing work or discussion
- Issues with more comments are generally more relevant and active
- Older closed issues might be resolved differently than newer approaches
- Consider the time between issues - very old issues may have different contexts
Rules:
1. ONLY mark as duplicate if the issues describe IDENTICAL problems
2. Look for issues that report the same problem or request the same functionality
3. Different error messages = NOT a duplicate (even if same integration)
4. For CLOSED issues, only mark as duplicate if they describe the EXACT same problem
5. For OPEN issues, use a lower threshold (90%+ similarity)
6. Prioritize issues with higher comment counts as they indicate more activity/relevance
7. When in doubt, do NOT mark as duplicate
8. Return ONLY a JSON array of issue numbers that are duplicates
9. If no duplicates are found, return an empty array: []
10. Maximum 5 potential duplicates, prioritize open issues with comments
11. Consider the age of issues - prefer recent duplicates over very old ones
Example response format:
[1234, 5678, 9012]
prompt: |
Current issue (just created):
Title: ${{ steps.extract.outputs.current_title }}
Body: ${{ steps.extract.outputs.current_body }}
Other issues to compare against (each includes state, creation date, last update, and comment count):
${{ steps.fetch_similar.outputs.similar_issues }}
Analyze these issues and identify which ones describe IDENTICAL problems and thus are duplicates of the current issue. When sorting them, consider their state (open/closed), how recently they were updated, and their comment count (higher = more relevant).
max-tokens: 100
- name: Post duplicate detection results
id: post_results
if: steps.extract.outputs.should_continue == 'true' && steps.fetch_similar.outputs.has_similar == 'true'
uses: actions/github-script@v8
env:
AI_RESPONSE: ${{ steps.ai_detection.outputs.response }}
SIMILAR_ISSUES: ${{ steps.fetch_similar.outputs.similar_issues }}
with:
script: |
const aiResponse = process.env.AI_RESPONSE;
console.log('Raw AI response:', JSON.stringify(aiResponse));
let duplicateNumbers = [];
try {
// Clean the response of any potential control characters
const cleanResponse = aiResponse.trim().replace(/[\u0000-\u001F\u007F-\u009F]/g, '');
console.log('Cleaned AI response:', cleanResponse);
duplicateNumbers = JSON.parse(cleanResponse);
// Ensure it's an array and contains only numbers
if (!Array.isArray(duplicateNumbers)) {
console.log('AI response is not an array, trying to extract numbers');
const numberMatches = cleanResponse.match(/\d+/g);
duplicateNumbers = numberMatches ? numberMatches.map(n => parseInt(n)) : [];
}
// Filter to only valid numbers
duplicateNumbers = duplicateNumbers.filter(n => typeof n === 'number' && !isNaN(n));
} catch (error) {
console.log('Failed to parse AI response as JSON:', error.message);
console.log('Raw response:', aiResponse);
// Fallback: try to extract numbers from the response
const numberMatches = aiResponse.match(/\d+/g);
duplicateNumbers = numberMatches ? numberMatches.map(n => parseInt(n)) : [];
console.log('Extracted numbers as fallback:', duplicateNumbers);
}
if (!Array.isArray(duplicateNumbers) || duplicateNumbers.length === 0) {
console.log('No duplicates detected by AI');
return;
}
console.log(`AI detected ${duplicateNumbers.length} potential duplicates: ${duplicateNumbers.join(', ')}`);
// Get details of detected duplicates
const similarIssues = JSON.parse(process.env.SIMILAR_ISSUES);
const duplicates = similarIssues.filter(issue => duplicateNumbers.includes(issue.number));
if (duplicates.length === 0) {
console.log('No matching issues found for detected numbers');
return;
}
// Create comment with duplicate detection results
const duplicateLinks = duplicates.map(issue => `- [#${issue.number}: ${issue.title}](${issue.url})`).join('\n');
const commentBody = [
'<!-- workflow: detect-duplicate-issues -->',
'### 🔍 **Potential duplicate detection**',
'',
'I\'ve analyzed similar issues and found the following potential duplicates:',
'',
duplicateLinks,
'',
'**What to do next:**',
'1. Please review these issues to see if they match your issue',
'2. If you find an existing issue that covers your problem:',
' - Consider closing this issue',
' - Add your findings or 👍 on the existing issue instead',
'3. If your issue is different or adds new aspects, please clarify how it differs',
'',
'This helps keep our issues organized and ensures similar issues are consolidated for better visibility.',
'',
'*This message was generated automatically by our duplicate detection system.*'
].join('\n');
try {
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
body: commentBody
});
console.log(`Posted duplicate detection comment with ${duplicates.length} potential duplicates`);
// Add the potential-duplicate label
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.payload.issue.number,
labels: ['potential-duplicate']
});
console.log('Added potential-duplicate label to the issue');
} catch (error) {
core.error('Failed to post duplicate detection comment or add label:', error.message);
if (error.status === 403) {
core.error('Permission denied or rate limit exceeded');
}
// Don't throw - we've done the analysis, just couldn't post the result
}

View File

@@ -0,0 +1,193 @@
name: Auto-detect non-English issues
# yamllint disable-line rule:truthy
on:
issues:
types: [opened]
permissions:
issues: write
models: read
jobs:
detect-language:
runs-on: ubuntu-latest
steps:
- name: Check issue language
id: detect_language
uses: actions/github-script@v8
env:
ISSUE_NUMBER: ${{ github.event.issue.number }}
ISSUE_TITLE: ${{ github.event.issue.title }}
ISSUE_BODY: ${{ github.event.issue.body }}
ISSUE_USER_TYPE: ${{ github.event.issue.user.type }}
with:
script: |
// Get the issue details from environment variables
const issueNumber = process.env.ISSUE_NUMBER;
const issueTitle = process.env.ISSUE_TITLE || '';
const issueBody = process.env.ISSUE_BODY || '';
const userType = process.env.ISSUE_USER_TYPE;
// Skip language detection for bot users
if (userType === 'Bot') {
console.log('Skipping language detection for bot user');
core.setOutput('should_continue', 'false');
return;
}
console.log(`Checking language for issue #${issueNumber}`);
console.log(`Title: ${issueTitle}`);
// Combine title and body for language detection
const fullText = `${issueTitle}\n\n${issueBody}`;
// Check if the text is too short to reliably detect language
if (fullText.trim().length < 20) {
console.log('Text too short for reliable language detection');
core.setOutput('should_continue', 'false'); // Skip processing for very short text
return;
}
core.setOutput('issue_number', issueNumber);
core.setOutput('issue_text', fullText);
core.setOutput('should_continue', 'true');
- name: Detect language using AI
id: ai_language_detection
if: steps.detect_language.outputs.should_continue == 'true'
uses: actions/ai-inference@v2.0.1
with:
model: openai/gpt-4o-mini
system-prompt: |
You are a language detection system. Your task is to determine if the provided text is written in English or another language.
Rules:
1. Analyze the text and determine the primary language of the USER'S DESCRIPTION only
2. IGNORE markdown headers (lines starting with #, ##, ###, etc.) as these are from issue templates, not user input
3. IGNORE all code blocks (text between ``` or ` markers) as they may contain system-generated error messages in other languages
4. IGNORE error messages, logs, and system output even if not in code blocks - these often appear in the user's system language
5. Consider technical terms, code snippets, URLs, and file paths as neutral (they don't indicate non-English)
6. Focus ONLY on the actual sentences and descriptions written by the user explaining their issue
7. If the user's explanation/description is in English but includes non-English error messages or logs, consider it ENGLISH
8. Return ONLY a JSON object with two fields:
- "is_english": boolean (true if the user's description is primarily in English, false otherwise)
- "detected_language": string (the name of the detected language, e.g., "English", "Spanish", "Chinese", etc.)
9. Be lenient - if the user's explanation is in English with non-English system output, it's still English
10. Common programming terms, error messages, and technical jargon should not be considered as non-English
11. If you cannot reliably determine the language, set detected_language to "undefined"
Example response:
{"is_english": false, "detected_language": "Spanish"}
prompt: |
Please analyze the following issue text and determine if it is written in English:
${{ steps.detect_language.outputs.issue_text }}
max-tokens: 50
- name: Process non-English issues
if: steps.detect_language.outputs.should_continue == 'true'
uses: actions/github-script@v8
env:
AI_RESPONSE: ${{ steps.ai_language_detection.outputs.response }}
ISSUE_NUMBER: ${{ steps.detect_language.outputs.issue_number }}
with:
script: |
const issueNumber = parseInt(process.env.ISSUE_NUMBER);
const aiResponse = process.env.AI_RESPONSE;
console.log('AI language detection response:', aiResponse);
let languageResult;
try {
languageResult = JSON.parse(aiResponse.trim());
// Validate the response structure
if (!languageResult || typeof languageResult.is_english !== 'boolean') {
throw new Error('Invalid response structure');
}
} catch (error) {
core.error(`Failed to parse AI response: ${error.message}`);
console.log('Raw AI response:', aiResponse);
// Log more details for debugging
core.warning('Defaulting to English due to parsing error');
// Default to English if we can't parse the response
return;
}
if (languageResult.is_english) {
console.log('Issue is in English, no action needed');
return;
}
// If language is undefined or not detected, skip processing
if (!languageResult.detected_language || languageResult.detected_language === 'undefined') {
console.log('Language could not be determined, skipping processing');
return;
}
console.log(`Issue detected as non-English: ${languageResult.detected_language}`);
// Post comment explaining the language requirement
const commentBody = [
'<!-- workflow: detect-non-english-issues -->',
'### 🌐 Non-English issue detected',
'',
`This issue appears to be written in **${languageResult.detected_language}** rather than English.`,
'',
'The Home Assistant project uses English as the primary language for issues to ensure that everyone in our international community can participate and help resolve issues. This allows any of our thousands of contributors to jump in and provide assistance.',
'',
'**What to do:**',
'1. Re-create the issue using the English language',
'2. If you need help with translation, consider using:',
' - Translation tools like Google Translate',
' - AI assistants like ChatGPT or Claude',
'',
'This helps our community provide the best possible support and ensures your issue gets the attention it deserves from our global contributor base.',
'',
'Thank you for your understanding! 🙏'
].join('\n');
try {
// Add comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
body: commentBody
});
console.log('Posted language requirement comment');
// Add non-english label
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
labels: ['non-english']
});
console.log('Added non-english label');
// Close the issue
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: issueNumber,
state: 'closed',
state_reason: 'not_planned'
});
console.log('Closed the issue');
} catch (error) {
core.error('Failed to process non-English issue:', error.message);
if (error.status === 403) {
core.error('Permission denied or rate limit exceeded');
}
}

View File

@@ -0,0 +1,84 @@
name: Restrict task creation
# yamllint disable-line rule:truthy
on:
issues:
types: [opened]
jobs:
check-authorization:
runs-on: ubuntu-latest
# Only run if this is a Task issue type (from the issue form)
if: github.event.issue.type.name == 'Task'
steps:
- name: Check if user is authorized
uses: actions/github-script@v8
with:
script: |
const issueAuthor = context.payload.issue.user.login;
// First check if user is an organization member
try {
await github.rest.orgs.checkMembershipForUser({
org: 'home-assistant',
username: issueAuthor
});
console.log(`✅ ${issueAuthor} is an organization member`);
return; // Authorized, no need to check further
} catch (error) {
console.log(` ${issueAuthor} is not an organization member, checking codeowners...`);
}
// If not an org member, check if they're a codeowner
try {
// Fetch CODEOWNERS file from the repository
const { data: codeownersFile } = await github.rest.repos.getContent({
owner: context.repo.owner,
repo: context.repo.repo,
path: 'CODEOWNERS',
ref: 'dev'
});
// Decode the content (it's base64 encoded)
const codeownersContent = Buffer.from(codeownersFile.content, 'base64').toString('utf-8');
// Check if the issue author is mentioned in CODEOWNERS
// GitHub usernames in CODEOWNERS are prefixed with @
if (codeownersContent.includes(`@${issueAuthor}`)) {
console.log(`✅ ${issueAuthor} is a integration code owner`);
return; // Authorized
}
} catch (error) {
console.error('Error checking CODEOWNERS:', error);
}
// If we reach here, user is not authorized
console.log(`❌ ${issueAuthor} is not authorized to create Task issues`);
// Close the issue with a comment
await github.rest.issues.createComment({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
body: `Hi @${issueAuthor}, thank you for your contribution!\n\n` +
`Task issues are restricted to Open Home Foundation staff, authorized contributors, and integration code owners.\n\n` +
`If you would like to:\n` +
`- Report a bug: Please use the [bug report form](https://github.com/home-assistant/core/issues/new?template=bug_report.yml)\n` +
`- Request a feature: Please submit to [Feature Requests](https://github.com/orgs/home-assistant/discussions)\n\n` +
`If you believe you should have access to create Task issues, please contact the maintainers.`
});
await github.rest.issues.update({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
state: 'closed'
});
// Add a label to indicate this was auto-closed
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['auto-closed']
});

View File

@@ -17,7 +17,7 @@ jobs:
# - No PRs marked as no-stale
# - No issues (-1)
- name: 60 days stale PRs policy
uses: actions/stale@v9.1.0
uses: actions/stale@v10.0.0
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 60
@@ -57,7 +57,7 @@ jobs:
# - No issues marked as no-stale or help-wanted
# - No PRs (-1)
- name: 90 days stale issues
uses: actions/stale@v9.1.0
uses: actions/stale@v10.0.0
with:
repo-token: ${{ steps.token.outputs.token }}
days-before-stale: 90
@@ -87,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@v9.1.0
uses: actions/stale@v10.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.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}

View File

@@ -32,11 +32,11 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.6.0
uses: actions/setup-python@v6.0.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -135,20 +135,20 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Download env_file
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: env_file
- name: Download build_constraints
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: build_constraints
- name: Download requirements_diff
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: requirements_diff
@@ -159,7 +159,7 @@ jobs:
sed -i "/uv/d" requirements_diff.txt
- name: Build wheels
uses: home-assistant/wheels@2025.03.0
uses: home-assistant/wheels@2025.07.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -184,25 +184,25 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.2.2
uses: actions/checkout@v5.0.0
- name: Download env_file
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: env_file
- name: Download build_constraints
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: build_constraints
- name: Download requirements_diff
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: requirements_diff
- name: Download requirements_all_wheels
uses: actions/download-artifact@v4.3.0
uses: actions/download-artifact@v5.0.0
with:
name: requirements_all_wheels
@@ -219,7 +219,7 @@ jobs:
sed -i "/uv/d" requirements_diff.txt
- name: Build wheels
uses: home-assistant/wheels@2025.03.0
uses: home-assistant/wheels@2025.07.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2

6
.gitignore vendored
View File

@@ -137,4 +137,8 @@ tmp_cache
.ropeproject
# Will be created from script/split_tests.py
pytest_buckets.txt
pytest_buckets.txt
# AI tooling
.claude

View File

@@ -1,8 +1,8 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.11.0
rev: v0.12.1
hooks:
- id: ruff
- id: ruff-check
args:
- --fix
- id: ruff-format
@@ -18,7 +18,7 @@ repos:
exclude_types: [csv, json, html]
exclude: ^tests/fixtures/|homeassistant/generated/|tests/components/.*/snapshots/
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v5.0.0
rev: v6.0.0
hooks:
- id: check-executables-have-shebangs
stages: [manual]
@@ -30,7 +30,7 @@ repos:
- --branch=master
- --branch=rc
- repo: https://github.com/adrienverge/yamllint.git
rev: v1.35.1
rev: v1.37.1
hooks:
- id: yamllint
- repo: https://github.com/pre-commit/mirrors-prettier

View File

@@ -53,6 +53,7 @@ homeassistant.components.air_quality.*
homeassistant.components.airgradient.*
homeassistant.components.airly.*
homeassistant.components.airnow.*
homeassistant.components.airos.*
homeassistant.components.airq.*
homeassistant.components.airthings.*
homeassistant.components.airthings_ble.*
@@ -65,7 +66,9 @@ homeassistant.components.aladdin_connect.*
homeassistant.components.alarm_control_panel.*
homeassistant.components.alert.*
homeassistant.components.alexa.*
homeassistant.components.alexa_devices.*
homeassistant.components.alpha_vantage.*
homeassistant.components.altruist.*
homeassistant.components.amazon_polly.*
homeassistant.components.amberelectric.*
homeassistant.components.ambient_network.*
@@ -270,6 +273,7 @@ homeassistant.components.image_processing.*
homeassistant.components.image_upload.*
homeassistant.components.imap.*
homeassistant.components.imgw_pib.*
homeassistant.components.immich.*
homeassistant.components.incomfort.*
homeassistant.components.input_button.*
homeassistant.components.input_select.*
@@ -303,10 +307,10 @@ homeassistant.components.ld2410_ble.*
homeassistant.components.led_ble.*
homeassistant.components.lektrico.*
homeassistant.components.letpot.*
homeassistant.components.libre_hardware_monitor.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
homeassistant.components.linear_garage_door.*
homeassistant.components.linkplay.*
homeassistant.components.litejet.*
homeassistant.components.litterrobot.*
@@ -332,6 +336,7 @@ homeassistant.components.media_player.*
homeassistant.components.media_source.*
homeassistant.components.met_eireann.*
homeassistant.components.metoffice.*
homeassistant.components.miele.*
homeassistant.components.mikrotik.*
homeassistant.components.min_max.*
homeassistant.components.minecraft_server.*
@@ -373,10 +378,13 @@ homeassistant.components.onedrive.*
homeassistant.components.onewire.*
homeassistant.components.onkyo.*
homeassistant.components.open_meteo.*
homeassistant.components.open_router.*
homeassistant.components.openai_conversation.*
homeassistant.components.openexchangerates.*
homeassistant.components.opensky.*
homeassistant.components.openuv.*
homeassistant.components.opnsense.*
homeassistant.components.opower.*
homeassistant.components.oralb.*
homeassistant.components.otbr.*
homeassistant.components.overkiz.*
@@ -384,6 +392,7 @@ homeassistant.components.overseerr.*
homeassistant.components.p1_monitor.*
homeassistant.components.pandora.*
homeassistant.components.panel_custom.*
homeassistant.components.paperless_ngx.*
homeassistant.components.peblar.*
homeassistant.components.peco.*
homeassistant.components.pegel_online.*
@@ -433,7 +442,6 @@ homeassistant.components.roku.*
homeassistant.components.romy.*
homeassistant.components.rpi_power.*
homeassistant.components.rss_feed_template.*
homeassistant.components.rtsp_to_webrtc.*
homeassistant.components.russound_rio.*
homeassistant.components.ruuvi_gateway.*
homeassistant.components.ruuvitag_ble.*
@@ -452,6 +460,7 @@ homeassistant.components.sensorpush_cloud.*
homeassistant.components.sensoterra.*
homeassistant.components.senz.*
homeassistant.components.sfr_box.*
homeassistant.components.sftp_storage.*
homeassistant.components.shell_command.*
homeassistant.components.shelly.*
homeassistant.components.shopping_list.*
@@ -460,6 +469,7 @@ homeassistant.components.simplisafe.*
homeassistant.components.siren.*
homeassistant.components.skybell.*
homeassistant.components.slack.*
homeassistant.components.sleep_as_android.*
homeassistant.components.sleepiq.*
homeassistant.components.smhi.*
homeassistant.components.smlight.*
@@ -495,10 +505,12 @@ homeassistant.components.tag.*
homeassistant.components.tailscale.*
homeassistant.components.tailwind.*
homeassistant.components.tami4.*
homeassistant.components.tankerkoenig.*
homeassistant.components.tautulli.*
homeassistant.components.tcp.*
homeassistant.components.technove.*
homeassistant.components.tedee.*
homeassistant.components.telegram_bot.*
homeassistant.components.text.*
homeassistant.components.thethingsnetwork.*
homeassistant.components.threshold.*
@@ -529,6 +541,7 @@ homeassistant.components.unifiprotect.*
homeassistant.components.upcloud.*
homeassistant.components.update.*
homeassistant.components.uptime.*
homeassistant.components.uptime_kuma.*
homeassistant.components.uptimerobot.*
homeassistant.components.usb.*
homeassistant.components.uvc.*
@@ -538,6 +551,7 @@ homeassistant.components.valve.*
homeassistant.components.velbus.*
homeassistant.components.vlc_telnet.*
homeassistant.components.vodafone_station.*
homeassistant.components.volvo.*
homeassistant.components.wake_on_lan.*
homeassistant.components.wake_word.*
homeassistant.components.wallbox.*

2
.vscode/tasks.json vendored
View File

@@ -45,7 +45,7 @@
{
"label": "Ruff",
"type": "shell",
"command": "pre-commit run ruff --all-files",
"command": "pre-commit run ruff-check --all-files",
"group": {
"kind": "test",
"isDefault": true

1
CLAUDE.md Symbolic link
View File

@@ -0,0 +1 @@
.github/copilot-instructions.md

178
CODEOWNERS generated
View File

@@ -46,8 +46,8 @@ build.json @home-assistant/supervisor
/tests/components/accuweather/ @bieniu
/homeassistant/components/acmeda/ @atmurray
/tests/components/acmeda/ @atmurray
/homeassistant/components/adax/ @danielhiversen
/tests/components/adax/ @danielhiversen
/homeassistant/components/adax/ @danielhiversen @lazytarget
/tests/components/adax/ @danielhiversen @lazytarget
/homeassistant/components/adguard/ @frenck
/tests/components/adguard/ @frenck
/homeassistant/components/ads/ @mrpasztoradam
@@ -57,6 +57,8 @@ build.json @home-assistant/supervisor
/tests/components/aemet/ @Noltari
/homeassistant/components/agent_dvr/ @ispysoftware
/tests/components/agent_dvr/ @ispysoftware
/homeassistant/components/ai_task/ @home-assistant/core
/tests/components/ai_task/ @home-assistant/core
/homeassistant/components/air_quality/ @home-assistant/core
/tests/components/air_quality/ @home-assistant/core
/homeassistant/components/airgradient/ @airgradienthq @joostlek
@@ -65,6 +67,8 @@ build.json @home-assistant/supervisor
/tests/components/airly/ @bieniu
/homeassistant/components/airnow/ @asymworks
/tests/components/airnow/ @asymworks
/homeassistant/components/airos/ @CoMPaTech
/tests/components/airos/ @CoMPaTech
/homeassistant/components/airq/ @Sibgatulin @dl2080
/tests/components/airq/ @Sibgatulin @dl2080
/homeassistant/components/airthings/ @danielhiversen @LaStrada
@@ -83,12 +87,18 @@ build.json @home-assistant/supervisor
/tests/components/airzone/ @Noltari
/homeassistant/components/airzone_cloud/ @Noltari
/tests/components/airzone_cloud/ @Noltari
/homeassistant/components/aladdin_connect/ @swcloudgenie
/tests/components/aladdin_connect/ @swcloudgenie
/homeassistant/components/alarm_control_panel/ @home-assistant/core
/tests/components/alarm_control_panel/ @home-assistant/core
/homeassistant/components/alert/ @home-assistant/core @frenck
/tests/components/alert/ @home-assistant/core @frenck
/homeassistant/components/alexa/ @home-assistant/cloud @ochlocracy @jbouwh
/tests/components/alexa/ @home-assistant/cloud @ochlocracy @jbouwh
/homeassistant/components/alexa_devices/ @chemelli74
/tests/components/alexa_devices/ @chemelli74
/homeassistant/components/altruist/ @airalab @LoSk-p
/tests/components/altruist/ @airalab @LoSk-p
/homeassistant/components/amazon_polly/ @jschlyter
/homeassistant/components/amberelectric/ @madpilot
/tests/components/amberelectric/ @madpilot
@@ -144,12 +154,12 @@ build.json @home-assistant/supervisor
/tests/components/arve/ @ikalnyi
/homeassistant/components/aseko_pool_live/ @milanmeu
/tests/components/aseko_pool_live/ @milanmeu
/homeassistant/components/assist_pipeline/ @balloob @synesthesiam
/tests/components/assist_pipeline/ @balloob @synesthesiam
/homeassistant/components/assist_satellite/ @home-assistant/core @synesthesiam
/tests/components/assist_satellite/ @home-assistant/core @synesthesiam
/homeassistant/components/asuswrt/ @kennedyshead @ollo69
/tests/components/asuswrt/ @kennedyshead @ollo69
/homeassistant/components/assist_pipeline/ @synesthesiam @arturpragacz
/tests/components/assist_pipeline/ @synesthesiam @arturpragacz
/homeassistant/components/assist_satellite/ @home-assistant/core @synesthesiam @arturpragacz
/tests/components/assist_satellite/ @home-assistant/core @synesthesiam @arturpragacz
/homeassistant/components/asuswrt/ @kennedyshead @ollo69 @Vaskivskyi
/tests/components/asuswrt/ @kennedyshead @ollo69 @Vaskivskyi
/homeassistant/components/atag/ @MatsNL
/tests/components/atag/ @MatsNL
/homeassistant/components/aten_pe/ @mtdcr
@@ -171,6 +181,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/avea/ @pattyland
/homeassistant/components/awair/ @ahayworth @danielsjf
/tests/components/awair/ @ahayworth @danielsjf
/homeassistant/components/aws_s3/ @tomasbedrich
/tests/components/aws_s3/ @tomasbedrich
/homeassistant/components/axis/ @Kane610
/tests/components/axis/ @Kane610
/homeassistant/components/azure_data_explorer/ @kaareseras
@@ -200,8 +212,8 @@ build.json @home-assistant/supervisor
/tests/components/blebox/ @bbx-a @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/blue_current/ @gleeuwen @NickKoepr @jtodorova23
/tests/components/blue_current/ @gleeuwen @NickKoepr @jtodorova23
/homeassistant/components/bluemaestro/ @bdraco
/tests/components/bluemaestro/ @bdraco
/homeassistant/components/blueprint/ @home-assistant/core
@@ -286,8 +298,8 @@ build.json @home-assistant/supervisor
/tests/components/configurator/ @home-assistant/core
/homeassistant/components/control4/ @lawtancool
/tests/components/control4/ @lawtancool
/homeassistant/components/conversation/ @home-assistant/core @synesthesiam
/tests/components/conversation/ @home-assistant/core @synesthesiam
/homeassistant/components/conversation/ @home-assistant/core @synesthesiam @arturpragacz
/tests/components/conversation/ @home-assistant/core @synesthesiam @arturpragacz
/homeassistant/components/cookidoo/ @miaucl
/tests/components/cookidoo/ @miaucl
/homeassistant/components/coolmaster/ @OnFreund
@@ -301,6 +313,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/crownstone/ @Crownstone @RicArch97
/tests/components/crownstone/ @Crownstone @RicArch97
/homeassistant/components/cups/ @fabaff
/tests/components/cups/ @fabaff
/homeassistant/components/daikin/ @fredrike
/tests/components/daikin/ @fredrike
/homeassistant/components/date/ @home-assistant/core
@@ -322,8 +335,8 @@ build.json @home-assistant/supervisor
/tests/components/demo/ @home-assistant/core
/homeassistant/components/denonavr/ @ol-iver @starkillerOG
/tests/components/denonavr/ @ol-iver @starkillerOG
/homeassistant/components/derivative/ @afaucogney
/tests/components/derivative/ @afaucogney
/homeassistant/components/derivative/ @afaucogney @karwosts
/tests/components/derivative/ @afaucogney @karwosts
/homeassistant/components/devialet/ @fwestenberg
/tests/components/devialet/ @fwestenberg
/homeassistant/components/device_automation/ @home-assistant/core
@@ -411,6 +424,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/emby/ @mezz64
/homeassistant/components/emoncms/ @borpin @alexandrecuer
/tests/components/emoncms/ @borpin @alexandrecuer
/homeassistant/components/emoncms_history/ @alexandrecuer
/tests/components/emoncms_history/ @alexandrecuer
/homeassistant/components/emonitor/ @bdraco
/tests/components/emonitor/ @bdraco
/homeassistant/components/emulated_hue/ @bdraco @Tho85
@@ -427,8 +442,8 @@ build.json @home-assistant/supervisor
/tests/components/enigma2/ @autinerd
/homeassistant/components/enocean/ @bdurrer
/tests/components/enocean/ @bdurrer
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @joostlek @catsmanac
/tests/components/enphase_envoy/ @bdraco @cgarwood @joostlek @catsmanac
/homeassistant/components/enphase_envoy/ @bdraco @cgarwood @catsmanac
/tests/components/enphase_envoy/ @bdraco @cgarwood @catsmanac
/homeassistant/components/entur_public_transport/ @hfurubotten
/homeassistant/components/environment_canada/ @gwww @michaeldavie
/tests/components/environment_canada/ @gwww @michaeldavie
@@ -443,18 +458,16 @@ build.json @home-assistant/supervisor
/tests/components/eq3btsmart/ @eulemitkeule @dbuezas
/homeassistant/components/escea/ @lazdavila
/tests/components/escea/ @lazdavila
/homeassistant/components/esphome/ @OttoWinter @jesserockz @kbx81 @bdraco
/tests/components/esphome/ @OttoWinter @jesserockz @kbx81 @bdraco
/homeassistant/components/esphome/ @jesserockz @kbx81 @bdraco
/tests/components/esphome/ @jesserockz @kbx81 @bdraco
/homeassistant/components/eufylife_ble/ @bdr99
/tests/components/eufylife_ble/ @bdr99
/homeassistant/components/event/ @home-assistant/core
/tests/components/event/ @home-assistant/core
/homeassistant/components/evil_genius_labs/ @balloob
/tests/components/evil_genius_labs/ @balloob
/homeassistant/components/evohome/ @zxdavb
/tests/components/evohome/ @zxdavb
/homeassistant/components/ezviz/ @RenierM26 @baqs
/tests/components/ezviz/ @RenierM26 @baqs
/homeassistant/components/ezviz/ @RenierM26
/tests/components/ezviz/ @RenierM26
/homeassistant/components/faa_delays/ @ntilley905
/tests/components/faa_delays/ @ntilley905
/homeassistant/components/fan/ @home-assistant/core
@@ -500,8 +513,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/forked_daapd/ @uvjustin
/tests/components/forked_daapd/ @uvjustin
/homeassistant/components/fortios/ @kimfrellsen
/homeassistant/components/foscam/ @krmarien
/tests/components/foscam/ @krmarien
/homeassistant/components/foscam/ @Foscam-wangzhengyu
/tests/components/foscam/ @Foscam-wangzhengyu
/homeassistant/components/freebox/ @hacf-fr @Quentame
/tests/components/freebox/ @hacf-fr @Quentame
/homeassistant/components/freedompro/ @stefano055415
@@ -635,6 +648,8 @@ build.json @home-assistant/supervisor
/tests/components/homeassistant/ @home-assistant/core
/homeassistant/components/homeassistant_alerts/ @home-assistant/core
/tests/components/homeassistant_alerts/ @home-assistant/core
/homeassistant/components/homeassistant_connect_zbt2/ @home-assistant/core
/tests/components/homeassistant_connect_zbt2/ @home-assistant/core
/homeassistant/components/homeassistant_green/ @home-assistant/core
/tests/components/homeassistant_green/ @home-assistant/core
/homeassistant/components/homeassistant_hardware/ @home-assistant/core
@@ -663,8 +678,8 @@ build.json @home-assistant/supervisor
/tests/components/http/ @home-assistant/core
/homeassistant/components/huawei_lte/ @scop @fphammerle
/tests/components/huawei_lte/ @scop @fphammerle
/homeassistant/components/hue/ @balloob @marcelveldt
/tests/components/hue/ @balloob @marcelveldt
/homeassistant/components/hue/ @marcelveldt
/tests/components/hue/ @marcelveldt
/homeassistant/components/huisbaasje/ @dennisschroer
/tests/components/huisbaasje/ @dennisschroer
/homeassistant/components/humidifier/ @home-assistant/core @Shulyaka
@@ -675,8 +690,8 @@ build.json @home-assistant/supervisor
/tests/components/husqvarna_automower/ @Thomas55555
/homeassistant/components/husqvarna_automower_ble/ @alistair23
/tests/components/husqvarna_automower_ble/ @alistair23
/homeassistant/components/huum/ @frwickst
/tests/components/huum/ @frwickst
/homeassistant/components/huum/ @frwickst @vincentwolsink
/tests/components/huum/ @frwickst @vincentwolsink
/homeassistant/components/hvv_departures/ @vigonotion
/tests/components/hvv_departures/ @vigonotion
/homeassistant/components/hydrawise/ @dknowles2 @thomaskistler @ptcryan
@@ -708,6 +723,8 @@ build.json @home-assistant/supervisor
/tests/components/imeon_inverter/ @Imeon-Energy
/homeassistant/components/imgw_pib/ @bieniu
/tests/components/imgw_pib/ @bieniu
/homeassistant/components/immich/ @mib1185
/tests/components/immich/ @mib1185
/homeassistant/components/improv_ble/ @emontnemery
/tests/components/improv_ble/ @emontnemery
/homeassistant/components/incomfort/ @jbouwh
@@ -734,8 +751,8 @@ build.json @home-assistant/supervisor
/tests/components/integration/ @dgomes
/homeassistant/components/intellifire/ @jeeftor
/tests/components/intellifire/ @jeeftor
/homeassistant/components/intent/ @home-assistant/core @synesthesiam
/tests/components/intent/ @home-assistant/core @synesthesiam
/homeassistant/components/intent/ @home-assistant/core @synesthesiam @arturpragacz
/tests/components/intent/ @home-assistant/core @synesthesiam @arturpragacz
/homeassistant/components/intesishome/ @jnimmo
/homeassistant/components/iometer/ @MaestroOnICe
/tests/components/iometer/ @MaestroOnICe
@@ -777,8 +794,6 @@ build.json @home-assistant/supervisor
/tests/components/jellyfin/ @RunC0deRun @ctalkington
/homeassistant/components/jewish_calendar/ @tsvi
/tests/components/jewish_calendar/ @tsvi
/homeassistant/components/juicenet/ @jesserockz
/tests/components/juicenet/ @jesserockz
/homeassistant/components/justnimbus/ @kvanzuijlen
/tests/components/justnimbus/ @kvanzuijlen
/homeassistant/components/jvc_projector/ @SteveEasley @msavazzi
@@ -845,14 +860,14 @@ build.json @home-assistant/supervisor
/tests/components/lg_netcast/ @Drafteed @splinter98
/homeassistant/components/lg_thinq/ @LG-ThinQ-Integration
/tests/components/lg_thinq/ @LG-ThinQ-Integration
/homeassistant/components/libre_hardware_monitor/ @Sab44
/tests/components/libre_hardware_monitor/ @Sab44
/homeassistant/components/lidarr/ @tkdrob
/tests/components/lidarr/ @tkdrob
/homeassistant/components/lifx/ @Djelibeybi
/tests/components/lifx/ @Djelibeybi
/homeassistant/components/light/ @home-assistant/core
/tests/components/light/ @home-assistant/core
/homeassistant/components/linear_garage_door/ @IceBotYT
/tests/components/linear_garage_door/ @IceBotYT
/homeassistant/components/linkplay/ @Velleman
/tests/components/linkplay/ @Velleman
/homeassistant/components/linux_battery/ @fabaff
@@ -1093,8 +1108,8 @@ build.json @home-assistant/supervisor
/tests/components/onvif/ @hunterjm @jterrace
/homeassistant/components/open_meteo/ @frenck
/tests/components/open_meteo/ @frenck
/homeassistant/components/openai_conversation/ @balloob
/tests/components/openai_conversation/ @balloob
/homeassistant/components/open_router/ @joostlek
/tests/components/open_router/ @joostlek
/homeassistant/components/openerz/ @misialq
/tests/components/openerz/ @misialq
/homeassistant/components/openexchangerates/ @MartinHjelmare
@@ -1109,8 +1124,8 @@ build.json @home-assistant/supervisor
/tests/components/opentherm_gw/ @mvn23
/homeassistant/components/openuv/ @bachya
/tests/components/openuv/ @bachya
/homeassistant/components/openweathermap/ @fabaff @freekode @nzapponi
/tests/components/openweathermap/ @fabaff @freekode @nzapponi
/homeassistant/components/openweathermap/ @fabaff @freekode @nzapponi @wittypluck
/tests/components/openweathermap/ @fabaff @freekode @nzapponi @wittypluck
/homeassistant/components/opnsense/ @mtreinish
/tests/components/opnsense/ @mtreinish
/homeassistant/components/opower/ @tronikos
@@ -1136,6 +1151,8 @@ build.json @home-assistant/supervisor
/tests/components/palazzetti/ @dotvav
/homeassistant/components/panel_custom/ @home-assistant/frontend
/tests/components/panel_custom/ @home-assistant/frontend
/homeassistant/components/paperless_ngx/ @fvgarrel
/tests/components/paperless_ngx/ @fvgarrel
/homeassistant/components/peblar/ @frenck
/tests/components/peblar/ @frenck
/homeassistant/components/peco/ @IceBotYT
@@ -1158,6 +1175,8 @@ build.json @home-assistant/supervisor
/tests/components/ping/ @jpbede
/homeassistant/components/plaato/ @JohNan
/tests/components/plaato/ @JohNan
/homeassistant/components/playstation_network/ @jackjpowell @tr4nt0r
/tests/components/playstation_network/ @jackjpowell @tr4nt0r
/homeassistant/components/plex/ @jjlawren
/tests/components/plex/ @jjlawren
/homeassistant/components/plugwise/ @CoMPaTech @bouwew
@@ -1166,6 +1185,8 @@ build.json @home-assistant/supervisor
/tests/components/plum_lightpad/ @ColinHarrington @prystupa
/homeassistant/components/point/ @fredrike
/tests/components/point/ @fredrike
/homeassistant/components/pooldose/ @lmaertin
/tests/components/pooldose/ @lmaertin
/homeassistant/components/poolsense/ @haemishkyd
/tests/components/poolsense/ @haemishkyd
/homeassistant/components/powerfox/ @klaasnicolaas
@@ -1174,6 +1195,8 @@ build.json @home-assistant/supervisor
/tests/components/powerwall/ @bdraco @jrester @daniel-simpson
/homeassistant/components/private_ble_device/ @Jc2k
/tests/components/private_ble_device/ @Jc2k
/homeassistant/components/probe_plus/ @pantherale0
/tests/components/probe_plus/ @pantherale0
/homeassistant/components/profiler/ @bdraco
/tests/components/profiler/ @bdraco
/homeassistant/components/progettihwsw/ @ardaseremet
@@ -1185,8 +1208,6 @@ 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/ps4/ @ktnrg45
/tests/components/ps4/ @ktnrg45
/homeassistant/components/pterodactyl/ @elmurato
@@ -1220,6 +1241,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/qnap_qsw/ @Noltari
/tests/components/qnap_qsw/ @Noltari
/homeassistant/components/quantum_gateway/ @cisasteelersfan
/tests/components/quantum_gateway/ @cisasteelersfan
/homeassistant/components/qvr_pro/ @oblogic7
/homeassistant/components/qwikswitch/ @kellerza
/tests/components/qwikswitch/ @kellerza
@@ -1262,8 +1284,8 @@ build.json @home-assistant/supervisor
/tests/components/rehlko/ @bdraco @peterager
/homeassistant/components/remote/ @home-assistant/core
/tests/components/remote/ @home-assistant/core
/homeassistant/components/remote_calendar/ @Thomas55555
/tests/components/remote_calendar/ @Thomas55555
/homeassistant/components/remote_calendar/ @Thomas55555 @allenporter
/tests/components/remote_calendar/ @Thomas55555 @allenporter
/homeassistant/components/renault/ @epenet
/tests/components/renault/ @epenet
/homeassistant/components/renson/ @jimmyd-be
@@ -1279,8 +1301,8 @@ build.json @home-assistant/supervisor
/tests/components/rflink/ @javicalle
/homeassistant/components/rfxtrx/ @danielhiversen @elupus @RobBie1221
/tests/components/rfxtrx/ @danielhiversen @elupus @RobBie1221
/homeassistant/components/rhasspy/ @balloob @synesthesiam
/tests/components/rhasspy/ @balloob @synesthesiam
/homeassistant/components/rhasspy/ @synesthesiam
/tests/components/rhasspy/ @synesthesiam
/homeassistant/components/ridwell/ @bachya
/tests/components/ridwell/ @bachya
/homeassistant/components/ring/ @sdb9696
@@ -1305,8 +1327,6 @@ build.json @home-assistant/supervisor
/tests/components/rpi_power/ @shenxn @swetoast
/homeassistant/components/rss_feed_template/ @home-assistant/core
/tests/components/rss_feed_template/ @home-assistant/core
/homeassistant/components/rtsp_to_webrtc/ @allenporter
/tests/components/rtsp_to_webrtc/ @allenporter
/homeassistant/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/tests/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/homeassistant/components/russound_rio/ @noahhusby
@@ -1318,8 +1338,6 @@ 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/s3/ @tomasbedrich
/tests/components/s3/ @tomasbedrich
/homeassistant/components/sabnzbd/ @shaiu @jpbede
/tests/components/sabnzbd/ @shaiu @jpbede
/homeassistant/components/saj/ @fredericvl
@@ -1372,12 +1390,14 @@ build.json @home-assistant/supervisor
/tests/components/seventeentrack/ @shaiu
/homeassistant/components/sfr_box/ @epenet
/tests/components/sfr_box/ @epenet
/homeassistant/components/sftp_storage/ @maretodoric
/tests/components/sftp_storage/ @maretodoric
/homeassistant/components/sharkiq/ @JeffResc @funkybunch
/tests/components/sharkiq/ @JeffResc @funkybunch
/homeassistant/components/shell_command/ @home-assistant/core
/tests/components/shell_command/ @home-assistant/core
/homeassistant/components/shelly/ @balloob @bieniu @thecode @chemelli74 @bdraco
/tests/components/shelly/ @balloob @bieniu @thecode @chemelli74 @bdraco
/homeassistant/components/shelly/ @bieniu @thecode @chemelli74 @bdraco
/tests/components/shelly/ @bieniu @thecode @chemelli74 @bdraco
/homeassistant/components/shodan/ @fabaff
/homeassistant/components/sia/ @eavanvalkenburg
/tests/components/sia/ @eavanvalkenburg
@@ -1401,6 +1421,8 @@ build.json @home-assistant/supervisor
/tests/components/skybell/ @tkdrob
/homeassistant/components/slack/ @tkdrob @fletcherau
/tests/components/slack/ @tkdrob @fletcherau
/homeassistant/components/sleep_as_android/ @tr4nt0r
/tests/components/sleep_as_android/ @tr4nt0r
/homeassistant/components/sleepiq/ @mfugate1 @kbickar
/tests/components/sleepiq/ @mfugate1 @kbickar
/homeassistant/components/slide/ @ualex73
@@ -1412,6 +1434,8 @@ build.json @home-assistant/supervisor
/tests/components/sma/ @kellerza @rklomp @erwindouna
/homeassistant/components/smappee/ @bsmappee
/tests/components/smappee/ @bsmappee
/homeassistant/components/smarla/ @explicatis @rlint-explicatis
/tests/components/smarla/ @explicatis @rlint-explicatis
/homeassistant/components/smart_meter_texas/ @grahamwetzler
/tests/components/smart_meter_texas/ @grahamwetzler
/homeassistant/components/smartthings/ @joostlek
@@ -1486,8 +1510,8 @@ build.json @home-assistant/supervisor
/tests/components/subaru/ @G-Two
/homeassistant/components/suez_water/ @ooii @jb101010-2
/tests/components/suez_water/ @ooii @jb101010-2
/homeassistant/components/sun/ @Swamp-Ig
/tests/components/sun/ @Swamp-Ig
/homeassistant/components/sun/ @home-assistant/core
/tests/components/sun/ @home-assistant/core
/homeassistant/components/supla/ @mwegrzynek
/homeassistant/components/surepetcare/ @benleb @danielhiversen
/tests/components/surepetcare/ @benleb @danielhiversen
@@ -1500,8 +1524,8 @@ build.json @home-assistant/supervisor
/tests/components/switch_as_x/ @home-assistant/core
/homeassistant/components/switchbee/ @jafar-atili
/tests/components/switchbee/ @jafar-atili
/homeassistant/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/tests/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/homeassistant/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski @zerzhang
/tests/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski @zerzhang
/homeassistant/components/switchbot_cloud/ @SeraphicRav @laurence-presland @Gigatrappeur
/tests/components/switchbot_cloud/ @SeraphicRav @laurence-presland @Gigatrappeur
/homeassistant/components/switcher_kis/ @thecode @YogevBokobza
@@ -1520,8 +1544,8 @@ build.json @home-assistant/supervisor
/tests/components/systemmonitor/ @gjohansson-ST
/homeassistant/components/tado/ @erwindouna
/tests/components/tado/ @erwindouna
/homeassistant/components/tag/ @balloob @dmulcahey
/tests/components/tag/ @balloob @dmulcahey
/homeassistant/components/tag/ @home-assistant/core
/tests/components/tag/ @home-assistant/core
/homeassistant/components/tailscale/ @frenck
/tests/components/tailscale/ @frenck
/homeassistant/components/tailwind/ @frenck
@@ -1539,10 +1563,12 @@ build.json @home-assistant/supervisor
/tests/components/technove/ @Moustachauve
/homeassistant/components/tedee/ @patrickhilker @zweckj
/tests/components/tedee/ @patrickhilker @zweckj
/homeassistant/components/telegram_bot/ @hanwg
/tests/components/telegram_bot/ @hanwg
/homeassistant/components/tellduslive/ @fredrike
/tests/components/tellduslive/ @fredrike
/homeassistant/components/template/ @Petro31 @PhracturedBlue @home-assistant/core
/tests/components/template/ @Petro31 @PhracturedBlue @home-assistant/core
/homeassistant/components/template/ @Petro31 @home-assistant/core
/tests/components/template/ @Petro31 @home-assistant/core
/homeassistant/components/tesla_fleet/ @Bre77
/tests/components/tesla_fleet/ @Bre77
/homeassistant/components/tesla_wall_connector/ @einarhauks
@@ -1568,6 +1594,8 @@ build.json @home-assistant/supervisor
/tests/components/tile/ @bachya
/homeassistant/components/tilt_ble/ @apt-itude
/tests/components/tilt_ble/ @apt-itude
/homeassistant/components/tilt_pi/ @michaelheyman
/tests/components/tilt_pi/ @michaelheyman
/homeassistant/components/time/ @home-assistant/core
/tests/components/time/ @home-assistant/core
/homeassistant/components/time_date/ @fabaff
@@ -1577,6 +1605,8 @@ build.json @home-assistant/supervisor
/tests/components/todo/ @home-assistant/core
/homeassistant/components/todoist/ @boralyl
/tests/components/todoist/ @boralyl
/homeassistant/components/togrill/ @elupus
/tests/components/togrill/ @elupus
/homeassistant/components/tolo/ @MatthiasLohr
/tests/components/tolo/ @MatthiasLohr
/homeassistant/components/tomorrowio/ @raman325 @lymanepp
@@ -1591,8 +1621,6 @@ build.json @home-assistant/supervisor
/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
@@ -1640,6 +1668,8 @@ build.json @home-assistant/supervisor
/tests/components/upnp/ @StevenLooman
/homeassistant/components/uptime/ @frenck
/tests/components/uptime/ @frenck
/homeassistant/components/uptime_kuma/ @tr4nt0r
/tests/components/uptime_kuma/ @tr4nt0r
/homeassistant/components/uptimerobot/ @ludeeus @chemelli74
/tests/components/uptimerobot/ @ludeeus @chemelli74
/homeassistant/components/usb/ @bdraco
@@ -1656,17 +1686,19 @@ build.json @home-assistant/supervisor
/tests/components/vallox/ @andre-richter @slovdahl @viiru- @yozik04
/homeassistant/components/valve/ @home-assistant/core
/tests/components/valve/ @home-assistant/core
/homeassistant/components/vegehub/ @ghowevege
/tests/components/vegehub/ @ghowevege
/homeassistant/components/velbus/ @Cereal2nd @brefra
/tests/components/velbus/ @Cereal2nd @brefra
/homeassistant/components/velux/ @Julius2342 @DeerMaximum @pawlizio
/tests/components/velux/ @Julius2342 @DeerMaximum @pawlizio
/homeassistant/components/velux/ @Julius2342 @DeerMaximum @pawlizio @wollew
/tests/components/velux/ @Julius2342 @DeerMaximum @pawlizio @wollew
/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 @cdnninja @iprak
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja @iprak
/homeassistant/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja @iprak @sapuseven
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja @iprak @sapuseven
/homeassistant/components/vicare/ @CFenner
/tests/components/vicare/ @CFenner
/homeassistant/components/vilfo/ @ManneW
@@ -1678,14 +1710,14 @@ build.json @home-assistant/supervisor
/tests/components/vlc_telnet/ @rodripf @MartinHjelmare
/homeassistant/components/vodafone_station/ @paoloantinori @chemelli74
/tests/components/vodafone_station/ @paoloantinori @chemelli74
/homeassistant/components/voip/ @balloob @synesthesiam
/tests/components/voip/ @balloob @synesthesiam
/homeassistant/components/voip/ @synesthesiam @jaminh
/tests/components/voip/ @synesthesiam @jaminh
/homeassistant/components/volumio/ @OnFreund
/tests/components/volumio/ @OnFreund
/homeassistant/components/volvo/ @thomasddn
/tests/components/volvo/ @thomasddn
/homeassistant/components/volvooncall/ @molobrakos
/tests/components/volvooncall/ @molobrakos
/homeassistant/components/vulcan/ @Antoni-Czaplicki
/tests/components/vulcan/ @Antoni-Czaplicki
/homeassistant/components/wake_on_lan/ @ntilley905
/tests/components/wake_on_lan/ @ntilley905
/homeassistant/components/wake_word/ @home-assistant/core @synesthesiam
@@ -1736,8 +1768,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/wirelesstag/ @sergeymaysak
/homeassistant/components/withings/ @joostlek
/tests/components/withings/ @joostlek
/homeassistant/components/wiz/ @sbidy
/tests/components/wiz/ @sbidy
/homeassistant/components/wiz/ @sbidy @arturpragacz
/tests/components/wiz/ @sbidy @arturpragacz
/homeassistant/components/wled/ @frenck
/tests/components/wled/ @frenck
/homeassistant/components/wmspro/ @mback2k
@@ -1750,8 +1782,8 @@ build.json @home-assistant/supervisor
/tests/components/worldclock/ @fabaff
/homeassistant/components/ws66i/ @ssaenger
/tests/components/ws66i/ @ssaenger
/homeassistant/components/wyoming/ @balloob @synesthesiam
/tests/components/wyoming/ @balloob @synesthesiam
/homeassistant/components/wyoming/ @synesthesiam
/tests/components/wyoming/ @synesthesiam
/homeassistant/components/xbox/ @hunterjm
/tests/components/xbox/ @hunterjm
/homeassistant/components/xiaomi_aqara/ @danielhiversen @syssi
@@ -1796,6 +1828,8 @@ build.json @home-assistant/supervisor
/tests/components/zeversolar/ @kvanzuijlen
/homeassistant/components/zha/ @dmulcahey @adminiuga @puddly @TheJulianJES
/tests/components/zha/ @dmulcahey @adminiuga @puddly @TheJulianJES
/homeassistant/components/zimi/ @markhannon
/tests/components/zimi/ @markhannon
/homeassistant/components/zodiac/ @JulienTant
/tests/components/zodiac/ @JulienTant
/homeassistant/components/zone/ @home-assistant/core

View File

@@ -14,5 +14,8 @@ Still interested? Then you should take a peek at the [developer documentation](h
## Feature suggestions
If you want to suggest a new feature for Home Assistant (e.g., new integrations), please open a thread in our [Community Forum: Feature Requests](https://community.home-assistant.io/c/feature-requests).
We use [GitHub for tracking issues](https://github.com/home-assistant/core/issues), not for tracking feature requests.
If you want to suggest a new feature for Home Assistant (e.g. new integrations), please [start a discussion](https://github.com/orgs/home-assistant/discussions) on GitHub.
## Issue Tracker
If you want to report an issue, please [create an issue](https://github.com/home-assistant/core/issues) on GitHub.

2
Dockerfile generated
View File

@@ -31,7 +31,7 @@ RUN \
&& go2rtc --version
# Install uv
RUN pip3 install uv==0.7.1
RUN pip3 install uv==0.8.9
WORKDIR /usr/src

View File

@@ -1,18 +1,9 @@
FROM mcr.microsoft.com/devcontainers/python:1-3.13
FROM mcr.microsoft.com/vscode/devcontainers/base:debian
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
# Uninstall pre-installed formatting and linting tools
# They would conflict with our pinned versions
RUN \
pipx uninstall pydocstyle \
&& pipx uninstall pycodestyle \
&& pipx uninstall mypy \
&& pipx uninstall pylint
RUN \
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add - \
&& apt-get update \
apt-get update \
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
# Additional library needed by some tests and accordingly by VScode Tests Discovery
bluez \
@@ -32,21 +23,18 @@ RUN \
libxml2 \
git \
cmake \
autoconf \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Add go2rtc binary
COPY --from=ghcr.io/alexxit/go2rtc:latest /usr/local/bin/go2rtc /bin/go2rtc
# Install uv
RUN pip3 install uv
WORKDIR /usr/src
# Setup hass-release
RUN git clone --depth 1 https://github.com/home-assistant/hass-release \
&& uv pip install --system -e hass-release/ \
&& chown -R vscode /usr/src/hass-release/data
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
RUN uv python install 3.13.2
USER vscode
ENV VIRTUAL_ENV="/home/vscode/.local/ha-venv"
@@ -55,6 +43,10 @@ ENV PATH="$VIRTUAL_ENV/bin:$PATH"
WORKDIR /tmp
# Setup hass-release
RUN git clone --depth 1 https://github.com/home-assistant/hass-release ~/hass-release \
&& uv pip install -e ~/hass-release/
# Install Python dependencies from requirements
COPY requirements.txt ./
COPY homeassistant/package_constraints.txt homeassistant/package_constraints.txt
@@ -65,4 +57,4 @@ RUN uv pip install -r requirements_test.txt
WORKDIR /workspaces
# Set the default shell to bash instead of sh
ENV SHELL /bin/bash
ENV SHELL=/bin/bash

View File

@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2025.02.1
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2025.02.1
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2025.02.1
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2025.02.1
i386: ghcr.io/home-assistant/i386-homeassistant-base:2025.02.1
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2025.09.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2025.09.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2025.09.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2025.09.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2025.09.0
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io

View File

@@ -38,8 +38,7 @@ def validate_python() -> None:
def ensure_config_path(config_dir: str) -> None:
"""Validate the configuration directory."""
# pylint: disable-next=import-outside-toplevel
from . import config as config_util
from . import config as config_util # noqa: PLC0415
lib_dir = os.path.join(config_dir, "deps")
@@ -80,8 +79,7 @@ def ensure_config_path(config_dir: str) -> None:
def get_arguments() -> argparse.Namespace:
"""Get parsed passed in arguments."""
# pylint: disable-next=import-outside-toplevel
from . import config as config_util
from . import config as config_util # noqa: PLC0415
parser = argparse.ArgumentParser(
description="Home Assistant: Observe, Control, Automate.",
@@ -177,8 +175,7 @@ def main() -> int:
validate_os()
if args.script is not None:
# pylint: disable-next=import-outside-toplevel
from . import scripts
from . import scripts # noqa: PLC0415
return scripts.run(args.script)
@@ -188,39 +185,44 @@ def main() -> int:
ensure_config_path(config_dir)
# pylint: disable-next=import-outside-toplevel
from . import config, runner
from . import config, runner # noqa: PLC0415
safe_mode = config.safe_mode_enabled(config_dir)
# Ensure only one instance runs per config directory
with runner.ensure_single_execution(config_dir) as single_execution_lock:
# Check if another instance is already running
if single_execution_lock.exit_code is not None:
return single_execution_lock.exit_code
runtime_conf = runner.RuntimeConfig(
config_dir=config_dir,
verbose=args.verbose,
log_rotate_days=args.log_rotate_days,
log_file=args.log_file,
log_no_color=args.log_no_color,
skip_pip=args.skip_pip,
skip_pip_packages=args.skip_pip_packages,
recovery_mode=args.recovery_mode,
debug=args.debug,
open_ui=args.open_ui,
safe_mode=safe_mode,
)
safe_mode = config.safe_mode_enabled(config_dir)
fault_file_name = os.path.join(config_dir, FAULT_LOG_FILENAME)
with open(fault_file_name, mode="a", encoding="utf8") as fault_file:
faulthandler.enable(fault_file)
exit_code = runner.run(runtime_conf)
faulthandler.disable()
runtime_conf = runner.RuntimeConfig(
config_dir=config_dir,
verbose=args.verbose,
log_rotate_days=args.log_rotate_days,
log_file=args.log_file,
log_no_color=args.log_no_color,
skip_pip=args.skip_pip,
skip_pip_packages=args.skip_pip_packages,
recovery_mode=args.recovery_mode,
debug=args.debug,
open_ui=args.open_ui,
safe_mode=safe_mode,
)
# It's possible for the fault file to disappear, so suppress obvious errors
with suppress(FileNotFoundError):
if os.path.getsize(fault_file_name) == 0:
os.remove(fault_file_name)
fault_file_name = os.path.join(config_dir, FAULT_LOG_FILENAME)
with open(fault_file_name, mode="a", encoding="utf8") as fault_file:
faulthandler.enable(fault_file)
exit_code = runner.run(runtime_conf)
faulthandler.disable()
check_threads()
# It's possible for the fault file to disappear, so suppress obvious errors
with suppress(FileNotFoundError):
if os.path.getsize(fault_file_name) == 0:
os.remove(fault_file_name)
return exit_code
check_threads()
return exit_code
if __name__ == "__main__":

View File

@@ -120,6 +120,9 @@ class AuthStore:
new_user = models.User(**kwargs)
while new_user.id in self._users:
new_user = models.User(**kwargs)
self._users[new_user.id] = new_user
if credentials is None:

View File

@@ -27,7 +27,7 @@ from . import (
SetupFlow,
)
REQUIREMENTS = ["pyotp==2.8.0"]
REQUIREMENTS = ["pyotp==2.9.0"]
CONF_MESSAGE = "message"
@@ -52,28 +52,28 @@ _LOGGER = logging.getLogger(__name__)
def _generate_secret() -> str:
"""Generate a secret."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
return str(pyotp.random_base32())
def _generate_random() -> int:
"""Generate a 32 digit number."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
return int(pyotp.random_base32(length=32, chars=list("1234567890")))
def _generate_otp(secret: str, count: int) -> str:
"""Generate one time password."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
return str(pyotp.HOTP(secret).at(count))
def _verify_otp(secret: str, otp: str, count: int) -> bool:
"""Verify one time password."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
return bool(pyotp.HOTP(secret).verify(otp, count))

View File

@@ -20,7 +20,7 @@ from . import (
SetupFlow,
)
REQUIREMENTS = ["pyotp==2.8.0", "PyQRCode==1.2.1"]
REQUIREMENTS = ["pyotp==2.9.0", "PyQRCode==1.2.1"]
CONFIG_SCHEMA = MULTI_FACTOR_AUTH_MODULE_SCHEMA.extend({}, extra=vol.PREVENT_EXTRA)
@@ -37,7 +37,7 @@ DUMMY_SECRET = "FPPTH34D4E3MI2HG"
def _generate_qr_code(data: str) -> str:
"""Generate a base64 PNG string represent QR Code image of data."""
import pyqrcode # pylint: disable=import-outside-toplevel
import pyqrcode # noqa: PLC0415
qr_code = pyqrcode.create(data)
@@ -59,7 +59,7 @@ def _generate_qr_code(data: str) -> str:
def _generate_secret_and_qr_code(username: str) -> tuple[str, str, str]:
"""Generate a secret, url, and QR code."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
ota_secret = pyotp.random_base32()
url = pyotp.totp.TOTP(ota_secret).provisioning_uri(
@@ -107,7 +107,7 @@ class TotpAuthModule(MultiFactorAuthModule):
def _add_ota_secret(self, user_id: str, secret: str | None = None) -> str:
"""Create a ota_secret for user."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
ota_secret: str = secret or pyotp.random_base32()
@@ -163,7 +163,7 @@ class TotpAuthModule(MultiFactorAuthModule):
def _validate_2fa(self, user_id: str, code: str) -> bool:
"""Validate two factor authentication code."""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
if (ota_secret := self._users.get(user_id)) is None: # type: ignore[union-attr]
# even we cannot find user, we still do verify
@@ -196,7 +196,7 @@ class TotpSetupFlow(SetupFlow[TotpAuthModule]):
Return self.async_show_form(step_id='init') if user_input is None.
Return self.async_create_entry(data={'result': result}) if finish.
"""
import pyotp # pylint: disable=import-outside-toplevel
import pyotp # noqa: PLC0415
errors: dict[str, str] = {}

View File

@@ -33,7 +33,10 @@ class AuthFlowContext(FlowContext, total=False):
redirect_uri: str
AuthFlowResult = FlowResult[AuthFlowContext, tuple[str, str]]
class AuthFlowResult(FlowResult[AuthFlowContext, tuple[str, str]], total=False):
"""Typed result dict for auth flow."""
result: Credentials # Only present if type is CREATE_ENTRY
@attr.s(slots=True)

View File

@@ -1,29 +0,0 @@
"""Enum backports from standard lib.
This file contained the backport of the StrEnum of Python 3.11.
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 as _StrEnum
from functools import partial
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,31 +0,0 @@
"""Functools backports from standard lib.
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
# pylint: disable-next=hass-deprecated-import
from functools import cached_property as _cached_property, partial
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"
)
__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

@@ -75,8 +75,8 @@ from .core_config import async_process_ha_core_config
from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
backup,
category_registry,
condition,
config_validation as cv,
device_registry,
entity,
@@ -89,6 +89,7 @@ from .helpers import (
restore_state,
template,
translation,
trigger,
)
from .helpers.dispatcher import async_dispatcher_send_internal
from .helpers.storage import get_internal_store_manager
@@ -171,8 +172,6 @@ FRONTEND_INTEGRATIONS = {
# Stage 0 is divided into substages. Each substage has a name, a set of integrations and a timeout.
# The substage containing recorder should have no timeout, as it could cancel a database migration.
# Recorder freezes "recorder" timeout during a migration, but it does not freeze other timeouts.
# The substages preceding it should also have no timeout, until we ensure that the recorder
# is not accidentally promoted as a dependency of any of the integrations in them.
# If we add timeouts to the frontend substages, we should make sure they don't apply in recovery mode.
STAGE_0_INTEGRATIONS = (
# Load logging and http deps as soon as possible
@@ -333,6 +332,9 @@ async def async_setup_hass(
if not is_virtual_env():
await async_mount_local_lib_path(runtime_config.config_dir)
if hass.config.safe_mode:
_LOGGER.info("Starting in safe mode")
basic_setup_success = (
await async_from_config_dict(config_dict, hass) is not None
)
@@ -385,8 +387,6 @@ async def async_setup_hass(
{"recovery_mode": {}, "http": http_conf},
hass,
)
elif hass.config.safe_mode:
_LOGGER.info("Starting in safe mode")
if runtime_config.open_ui:
hass.add_job(open_hass_ui, hass)
@@ -396,7 +396,7 @@ async def async_setup_hass(
def open_hass_ui(hass: core.HomeAssistant) -> None:
"""Open the UI."""
import webbrowser # pylint: disable=import-outside-toplevel
import webbrowser # noqa: PLC0415
if hass.config.api is None or "frontend" not in hass.config.components:
_LOGGER.warning("Cannot launch the UI because frontend not loaded")
@@ -454,6 +454,8 @@ async def async_load_base_functionality(hass: core.HomeAssistant) -> None:
create_eager_task(restore_state.async_load(hass)),
create_eager_task(hass.config_entries.async_initialize()),
create_eager_task(async_get_system_info(hass)),
create_eager_task(condition.async_setup(hass)),
create_eager_task(trigger.async_setup(hass)),
)
@@ -563,8 +565,7 @@ async def async_enable_logging(
if not log_no_color:
try:
# pylint: disable-next=import-outside-toplevel
from colorlog import ColoredFormatter
from colorlog import ColoredFormatter # noqa: PLC0415
# basicConfig must be called after importing colorlog in order to
# ensure that the handlers it sets up wraps the correct streams.
@@ -694,10 +695,10 @@ 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 = {
domain for key in config if (domain := cv.domain_key(key)) != core.DOMAIN
}
# The common config section [homeassistant] could be filtered here,
# but that is not necessary, since it corresponds to the core integration,
# that is always unconditionally loaded.
domains = {cv.domain_key(key) for key in config}
# Add config entry and default domains
if not hass.config.recovery_mode:
@@ -725,34 +726,28 @@ async def _async_resolve_domains_and_preload(
together with all their dependencies.
"""
domains_to_setup = _get_domains(hass, config)
platform_integrations = conf_util.extract_platform_integrations(
config, BASE_PLATFORMS
)
# Ensure base platforms that have platform integrations are added to `domains`,
# so they can be setup first instead of discovering them later when a config
# entry setup task notices that it's needed and there is already a long line
# to use the import executor.
# Also process all base platforms since we do not require the manifest
# to list them as dependencies.
# We want to later avoid lock contention when multiple integrations try to load
# their manifests at once.
#
# Additionally process integrations that are defined under base platforms
# to speed things up.
# 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
# `template` has to be loaded to validate the config for sensor.
# 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)
# Additionally process base platforms since we do not require the manifest
# to list them as dependencies.
# We want to later avoid lock contention when multiple integrations try to load
# their manifests at once.
# Also process integrations that are defined under base platforms
# to speed things up.
platform_integrations = conf_util.extract_platform_integrations(
config, BASE_PLATFORMS
)
additional_domains_to_process = {
*BASE_PLATFORMS,
*chain.from_iterable(platform_integrations.values()),
@@ -870,9 +865,9 @@ async def _async_set_up_integrations(
domains = set(integrations) & all_domains
_LOGGER.info(
"Domains to be set up: %s | %s",
domains,
all_domains - domains,
"Domains to be set up: %s\nDependencies: %s",
domains or "{}",
(all_domains - domains) or "{}",
)
async_set_domains_to_be_loaded(hass, all_domains)
@@ -881,10 +876,6 @@ async def _async_set_up_integrations(
if "recorder" in all_domains:
recorder.async_initialize_recorder(hass)
# Initialize backup
if "backup" in all_domains:
backup.async_initialize_backup(hass)
stages: list[tuple[str, set[str], int | None]] = [
*(
(name, domain_group, timeout)
@@ -917,19 +908,24 @@ async def _async_set_up_integrations(
stage_all_domains = stage_domains | stage_dep_domains
_LOGGER.info(
"Setting up stage %s: %s | %s\nDependencies: %s | %s",
"Setting up stage %s: %s; already set up: %s\n"
"Dependencies: %s; already set up: %s",
name,
stage_domains,
stage_domains_unfiltered - stage_domains,
stage_dep_domains,
stage_dep_domains_unfiltered - stage_dep_domains,
(stage_domains_unfiltered - stage_domains) or "{}",
stage_dep_domains or "{}",
(stage_dep_domains_unfiltered - stage_dep_domains) or "{}",
)
if timeout is None:
await _async_setup_multi_components(hass, stage_all_domains, config)
continue
try:
async with hass.timeout.async_timeout(timeout, cool_down=COOLDOWN_TIME):
async with hass.timeout.async_timeout(
timeout,
cool_down=COOLDOWN_TIME,
cancel_message=f"Bootstrap stage {name} timeout",
):
await _async_setup_multi_components(hass, stage_all_domains, config)
except TimeoutError:
_LOGGER.warning(
@@ -941,7 +937,11 @@ async def _async_set_up_integrations(
# 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):
async with hass.timeout.async_timeout(
WRAP_UP_TIMEOUT,
cool_down=COOLDOWN_TIME,
cancel_message="Bootstrap startup wrap up timeout",
):
await hass.async_block_till_done()
except TimeoutError:
_LOGGER.warning(

View File

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

View File

@@ -0,0 +1,5 @@
{
"domain": "frient",
"name": "Frient",
"iot_standards": ["zigbee"]
}

View File

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

View File

@@ -0,0 +1,6 @@
{
"domain": "shelly",
"name": "shelly",
"integrations": ["shelly"],
"iot_standards": ["zwave"]
}

View File

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

View File

@@ -1,5 +1,6 @@
{
"domain": "switchbot",
"name": "SwitchBot",
"integrations": ["switchbot", "switchbot_cloud"]
"integrations": ["switchbot", "switchbot_cloud"],
"iot_standards": ["matter"]
}

View File

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

View File

@@ -0,0 +1,5 @@
{
"domain": "tilt",
"name": "Tilt",
"integrations": ["tilt_ble", "tilt_pi"]
}

View File

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

View File

@@ -14,30 +14,24 @@ from jaraco.abode.exceptions import (
)
from jaraco.abode.helpers.timeline import Groups as GROUPS
from requests.exceptions import ConnectTimeout, HTTPError
import voluptuous as vol
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
ATTR_DATE,
ATTR_DEVICE_ID,
ATTR_ENTITY_ID,
ATTR_TIME,
CONF_PASSWORD,
CONF_USERNAME,
EVENT_HOMEASSISTANT_STOP,
Platform,
)
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant, ServiceCall
from homeassistant.core import CALLBACK_TYPE, Event, HomeAssistant
from homeassistant.exceptions import ConfigEntryAuthFailed, ConfigEntryNotReady
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.dispatcher import dispatcher_send
from homeassistant.helpers.typing import ConfigType
from .const import CONF_POLLING, DOMAIN, LOGGER
SERVICE_SETTINGS = "change_setting"
SERVICE_CAPTURE_IMAGE = "capture_image"
SERVICE_TRIGGER_AUTOMATION = "trigger_automation"
from .services import async_setup_services
ATTR_DEVICE_NAME = "device_name"
ATTR_DEVICE_TYPE = "device_type"
@@ -45,22 +39,12 @@ ATTR_EVENT_CODE = "event_code"
ATTR_EVENT_NAME = "event_name"
ATTR_EVENT_TYPE = "event_type"
ATTR_EVENT_UTC = "event_utc"
ATTR_SETTING = "setting"
ATTR_USER_NAME = "user_name"
ATTR_APP_TYPE = "app_type"
ATTR_EVENT_BY = "event_by"
ATTR_VALUE = "value"
CONFIG_SCHEMA = cv.removed(DOMAIN, raise_if_present=False)
CHANGE_SETTING_SCHEMA = vol.Schema(
{vol.Required(ATTR_SETTING): cv.string, vol.Required(ATTR_VALUE): cv.string}
)
CAPTURE_IMAGE_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
PLATFORMS = [
Platform.ALARM_CONTROL_PANEL,
Platform.BINARY_SENSOR,
@@ -85,7 +69,7 @@ class AbodeSystem:
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Set up the Abode component."""
setup_hass_services(hass)
async_setup_services(hass)
return True
@@ -138,60 +122,6 @@ async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return unload_ok
def setup_hass_services(hass: HomeAssistant) -> None:
"""Home Assistant services."""
def change_setting(call: ServiceCall) -> None:
"""Change an Abode system setting."""
setting = call.data[ATTR_SETTING]
value = call.data[ATTR_VALUE]
try:
hass.data[DOMAIN].abode.set_setting(setting, value)
except AbodeException as ex:
LOGGER.warning(ex)
def capture_image(call: ServiceCall) -> None:
"""Capture a new image."""
entity_ids = call.data[ATTR_ENTITY_ID]
target_entities = [
entity_id
for entity_id in hass.data[DOMAIN].entity_ids
if entity_id in entity_ids
]
for entity_id in target_entities:
signal = f"abode_camera_capture_{entity_id}"
dispatcher_send(hass, signal)
def trigger_automation(call: ServiceCall) -> None:
"""Trigger an Abode automation."""
entity_ids = call.data[ATTR_ENTITY_ID]
target_entities = [
entity_id
for entity_id in hass.data[DOMAIN].entity_ids
if entity_id in entity_ids
]
for entity_id in target_entities:
signal = f"abode_trigger_automation_{entity_id}"
dispatcher_send(hass, signal)
hass.services.async_register(
DOMAIN, SERVICE_SETTINGS, change_setting, schema=CHANGE_SETTING_SCHEMA
)
hass.services.async_register(
DOMAIN, SERVICE_CAPTURE_IMAGE, capture_image, schema=CAPTURE_IMAGE_SCHEMA
)
hass.services.async_register(
DOMAIN, SERVICE_TRIGGER_AUTOMATION, trigger_automation, schema=AUTOMATION_SCHEMA
)
async def setup_hass_events(hass: HomeAssistant) -> None:
"""Home Assistant start and stop callbacks."""

View File

@@ -0,0 +1,90 @@
"""Support for the Abode Security System."""
from __future__ import annotations
from jaraco.abode.exceptions import Exception as AbodeException
import voluptuous as vol
from homeassistant.const import ATTR_ENTITY_ID
from homeassistant.core import HomeAssistant, ServiceCall, callback
from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.dispatcher import dispatcher_send
from .const import DOMAIN, LOGGER
SERVICE_SETTINGS = "change_setting"
SERVICE_CAPTURE_IMAGE = "capture_image"
SERVICE_TRIGGER_AUTOMATION = "trigger_automation"
ATTR_SETTING = "setting"
ATTR_VALUE = "value"
CHANGE_SETTING_SCHEMA = vol.Schema(
{vol.Required(ATTR_SETTING): cv.string, vol.Required(ATTR_VALUE): cv.string}
)
CAPTURE_IMAGE_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
AUTOMATION_SCHEMA = vol.Schema({ATTR_ENTITY_ID: cv.entity_ids})
def _change_setting(call: ServiceCall) -> None:
"""Change an Abode system setting."""
setting = call.data[ATTR_SETTING]
value = call.data[ATTR_VALUE]
try:
call.hass.data[DOMAIN].abode.set_setting(setting, value)
except AbodeException as ex:
LOGGER.warning(ex)
def _capture_image(call: ServiceCall) -> None:
"""Capture a new image."""
entity_ids = call.data[ATTR_ENTITY_ID]
target_entities = [
entity_id
for entity_id in call.hass.data[DOMAIN].entity_ids
if entity_id in entity_ids
]
for entity_id in target_entities:
signal = f"abode_camera_capture_{entity_id}"
dispatcher_send(call.hass, signal)
def _trigger_automation(call: ServiceCall) -> None:
"""Trigger an Abode automation."""
entity_ids = call.data[ATTR_ENTITY_ID]
target_entities = [
entity_id
for entity_id in call.hass.data[DOMAIN].entity_ids
if entity_id in entity_ids
]
for entity_id in target_entities:
signal = f"abode_trigger_automation_{entity_id}"
dispatcher_send(call.hass, signal)
@callback
def async_setup_services(hass: HomeAssistant) -> None:
"""Home Assistant services."""
hass.services.async_register(
DOMAIN, SERVICE_SETTINGS, _change_setting, schema=CHANGE_SETTING_SCHEMA
)
hass.services.async_register(
DOMAIN, SERVICE_CAPTURE_IMAGE, _capture_image, schema=CAPTURE_IMAGE_SCHEMA
)
hass.services.async_register(
DOMAIN,
SERVICE_TRIGGER_AUTOMATION,
_trigger_automation,
schema=AUTOMATION_SCHEMA,
)

View File

@@ -67,6 +67,7 @@ POLLEN_CATEGORY_MAP = {
2: "moderate",
3: "high",
4: "very_high",
5: "extreme",
}
UPDATE_INTERVAL_OBSERVATION = timedelta(minutes=40)
UPDATE_INTERVAL_DAILY_FORECAST = timedelta(hours=6)

View File

@@ -72,6 +72,7 @@
"level": {
"name": "Level",
"state": {
"extreme": "Extreme",
"high": "[%key:common::state::high%]",
"low": "[%key:common::state::low%]",
"moderate": "Moderate",
@@ -89,6 +90,7 @@
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"extreme": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::extreme%]",
"high": "[%key:common::state::high%]",
"low": "[%key:common::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::moderate%]",
@@ -123,6 +125,7 @@
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"extreme": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::extreme%]",
"high": "[%key:common::state::high%]",
"low": "[%key:common::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::moderate%]",
@@ -167,6 +170,7 @@
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"extreme": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::extreme%]",
"high": "[%key:common::state::high%]",
"low": "[%key:common::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::moderate%]",
@@ -181,6 +185,7 @@
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"extreme": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::extreme%]",
"high": "[%key:common::state::high%]",
"low": "[%key:common::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::moderate%]",
@@ -195,6 +200,7 @@
"level": {
"name": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::name%]",
"state": {
"extreme": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::extreme%]",
"high": "[%key:common::state::high%]",
"low": "[%key:common::state::low%]",
"moderate": "[%key:component::accuweather::entity::sensor::grass_pollen::state_attributes::level::state::moderate%]",

View File

@@ -40,9 +40,10 @@ class AcmedaFlowHandler(ConfigFlow, domain=DOMAIN):
entry.unique_id for entry in self._async_current_entries()
}
hubs: list[aiopulse.Hub] = []
with suppress(TimeoutError):
async with timeout(5):
hubs: list[aiopulse.Hub] = [
hubs = [
hub
async for hub in aiopulse.Hub.discover()
if hub.id not in already_configured

View File

@@ -8,7 +8,7 @@ from homeassistant.core import HomeAssistant
from .const import CONNECTION_TYPE, LOCAL
from .coordinator import AdaxCloudCoordinator, AdaxConfigEntry, AdaxLocalCoordinator
PLATFORMS = [Platform.CLIMATE]
PLATFORMS = [Platform.CLIMATE, Platform.SENSOR]
async def async_setup_entry(hass: HomeAssistant, entry: AdaxConfigEntry) -> bool:

View File

@@ -41,7 +41,30 @@ class AdaxCloudCoordinator(DataUpdateCoordinator[dict[str, dict[str, Any]]]):
async def _async_update_data(self) -> dict[str, dict[str, Any]]:
"""Fetch data from the Adax."""
rooms = await self.adax_data_handler.get_rooms() or []
try:
if hasattr(self.adax_data_handler, "fetch_rooms_info"):
rooms = await self.adax_data_handler.fetch_rooms_info() or []
_LOGGER.debug("fetch_rooms_info returned: %s", rooms)
else:
_LOGGER.debug("fetch_rooms_info method not available, using get_rooms")
rooms = []
if not rooms:
_LOGGER.debug(
"No rooms from fetch_rooms_info, trying get_rooms as fallback"
)
rooms = await self.adax_data_handler.get_rooms() or []
_LOGGER.debug("get_rooms fallback returned: %s", rooms)
if not rooms:
raise UpdateFailed("No rooms available from Adax API")
except OSError as e:
raise UpdateFailed(f"Error communicating with API: {e}") from e
for room in rooms:
room["energyWh"] = int(room.get("energyWh", 0))
return {r["id"]: r for r in rooms}

View File

@@ -1,7 +1,7 @@
{
"domain": "adax",
"name": "Adax",
"codeowners": ["@danielhiversen"],
"codeowners": ["@danielhiversen", "@lazytarget"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/adax",
"iot_class": "local_polling",

View File

@@ -0,0 +1,77 @@
"""Support for Adax energy sensors."""
from __future__ import annotations
from typing import cast
from homeassistant.components.sensor import (
SensorDeviceClass,
SensorEntity,
SensorStateClass,
)
from homeassistant.const import UnitOfEnergy
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AdaxConfigEntry
from .const import CONNECTION_TYPE, DOMAIN, LOCAL
from .coordinator import AdaxCloudCoordinator
async def async_setup_entry(
hass: HomeAssistant,
entry: AdaxConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback,
) -> None:
"""Set up the Adax energy sensors with config flow."""
if entry.data.get(CONNECTION_TYPE) != LOCAL:
cloud_coordinator = cast(AdaxCloudCoordinator, entry.runtime_data)
# Create individual energy sensors for each device
async_add_entities(
AdaxEnergySensor(cloud_coordinator, device_id)
for device_id in cloud_coordinator.data
)
class AdaxEnergySensor(CoordinatorEntity[AdaxCloudCoordinator], SensorEntity):
"""Representation of an Adax energy sensor."""
_attr_has_entity_name = True
_attr_translation_key = "energy"
_attr_device_class = SensorDeviceClass.ENERGY
_attr_native_unit_of_measurement = UnitOfEnergy.WATT_HOUR
_attr_suggested_unit_of_measurement = UnitOfEnergy.KILO_WATT_HOUR
_attr_state_class = SensorStateClass.TOTAL_INCREASING
_attr_suggested_display_precision = 3
def __init__(
self,
coordinator: AdaxCloudCoordinator,
device_id: str,
) -> None:
"""Initialize the energy sensor."""
super().__init__(coordinator)
self._device_id = device_id
room = coordinator.data[device_id]
self._attr_unique_id = f"{room['homeId']}_{device_id}_energy"
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, device_id)},
name=room["name"],
manufacturer="Adax",
)
@property
def available(self) -> bool:
"""Return True if entity is available."""
return (
super().available and "energyWh" in self.coordinator.data[self._device_id]
)
@property
def native_value(self) -> int:
"""Return the native value of the sensor."""
return int(self.coordinator.data[self._device_id]["energyWh"])

View File

@@ -8,7 +8,7 @@ from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from . import AdvantageAirDataConfigEntry
from .const import ADVANTAGE_AIR_STATE_ON, DOMAIN as ADVANTAGE_AIR_DOMAIN
from .const import ADVANTAGE_AIR_STATE_ON, DOMAIN
from .entity import AdvantageAirEntity, AdvantageAirThingEntity
from .models import AdvantageAirData
@@ -52,8 +52,8 @@ class AdvantageAirLight(AdvantageAirEntity, LightEntity):
self._id: str = light["id"]
self._attr_unique_id += f"-{self._id}"
self._attr_device_info = DeviceInfo(
identifiers={(ADVANTAGE_AIR_DOMAIN, self._attr_unique_id)},
via_device=(ADVANTAGE_AIR_DOMAIN, self.coordinator.data["system"]["rid"]),
identifiers={(DOMAIN, self._attr_unique_id)},
via_device=(DOMAIN, self.coordinator.data["system"]["rid"]),
manufacturer="Advantage Air",
model=light.get("moduleType"),
name=light["name"],

View File

@@ -6,7 +6,7 @@ from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from . import AdvantageAirDataConfigEntry
from .const import DOMAIN as ADVANTAGE_AIR_DOMAIN
from .const import DOMAIN
from .entity import AdvantageAirEntity
from .models import AdvantageAirData
@@ -32,9 +32,7 @@ class AdvantageAirApp(AdvantageAirEntity, UpdateEntity):
"""Initialize the Advantage Air App."""
super().__init__(instance)
self._attr_device_info = DeviceInfo(
identifiers={
(ADVANTAGE_AIR_DOMAIN, self.coordinator.data["system"]["rid"])
},
identifiers={(DOMAIN, self.coordinator.data["system"]["rid"])},
manufacturer="Advantage Air",
model=self.coordinator.data["system"]["sysType"],
name=self.coordinator.data["system"]["name"],

View File

@@ -185,6 +185,7 @@ FORECAST_SENSORS: Final[tuple[AemetSensorEntityDescription, ...]] = (
keys=[AOD_TOWN, AOD_FORECAST_DAILY, AOD_FORECAST_CURRENT, AOD_WIND_DIRECTION],
name="Daily forecast wind bearing",
native_unit_of_measurement=DEGREE,
device_class=SensorDeviceClass.WIND_DIRECTION,
),
AemetSensorEntityDescription(
entity_registry_enabled_default=False,
@@ -192,6 +193,7 @@ FORECAST_SENSORS: Final[tuple[AemetSensorEntityDescription, ...]] = (
keys=[AOD_TOWN, AOD_FORECAST_HOURLY, AOD_FORECAST_CURRENT, AOD_WIND_DIRECTION],
name="Hourly forecast wind bearing",
native_unit_of_measurement=DEGREE,
device_class=SensorDeviceClass.WIND_DIRECTION,
),
AemetSensorEntityDescription(
entity_registry_enabled_default=False,
@@ -334,7 +336,8 @@ WEATHER_SENSORS: Final[tuple[AemetSensorEntityDescription, ...]] = (
keys=[AOD_WEATHER, AOD_WIND_DIRECTION],
name="Wind bearing",
native_unit_of_measurement=DEGREE,
state_class=SensorStateClass.MEASUREMENT,
state_class=SensorStateClass.MEASUREMENT_ANGLE,
device_class=SensorDeviceClass.WIND_DIRECTION,
),
AemetSensorEntityDescription(
key=ATTR_API_WIND_MAX_SPEED,

View File

@@ -10,7 +10,7 @@ from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN as AGENT_DOMAIN, SERVER_URL
from .const import DOMAIN, SERVER_URL
ATTRIBUTION = "ispyconnect.com"
DEFAULT_BRAND = "Agent DVR by ispyconnect.com"
@@ -46,7 +46,7 @@ async def async_setup_entry(
device_registry.async_get_or_create(
config_entry_id=config_entry.entry_id,
identifiers={(AGENT_DOMAIN, agent_client.unique)},
identifiers={(DOMAIN, agent_client.unique)},
manufacturer="iSpyConnect",
name=f"Agent {agent_client.name}",
model="Agent DVR",

View File

@@ -12,7 +12,7 @@ from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from . import AgentDVRConfigEntry
from .const import DOMAIN as AGENT_DOMAIN
from .const import DOMAIN
CONF_HOME_MODE_NAME = "home"
CONF_AWAY_MODE_NAME = "away"
@@ -47,7 +47,7 @@ class AgentBaseStation(AlarmControlPanelEntity):
self._client = client
self._attr_unique_id = f"{client.unique}_CP"
self._attr_device_info = DeviceInfo(
identifiers={(AGENT_DOMAIN, client.unique)},
identifiers={(DOMAIN, client.unique)},
name=f"{client.name} {CONST_ALARM_CONTROL_PANEL_NAME}",
manufacturer="Agent",
model=CONST_ALARM_CONTROL_PANEL_NAME,

View File

@@ -15,7 +15,7 @@ from homeassistant.helpers.entity_platform import (
)
from . import AgentDVRConfigEntry
from .const import ATTRIBUTION, CAMERA_SCAN_INTERVAL_SECS, DOMAIN as AGENT_DOMAIN
from .const import ATTRIBUTION, CAMERA_SCAN_INTERVAL_SECS, DOMAIN
SCAN_INTERVAL = timedelta(seconds=CAMERA_SCAN_INTERVAL_SECS)
@@ -82,7 +82,7 @@ class AgentCamera(MjpegCamera):
still_image_url=f"{device.client._server_url}{device.still_image_url}&size={device.mjpegStreamWidth}x{device.mjpegStreamHeight}", # noqa: SLF001
)
self._attr_device_info = DeviceInfo(
identifiers={(AGENT_DOMAIN, self.unique_id)},
identifiers={(DOMAIN, self.unique_id)},
manufacturer="Agent",
model="Camera",
name=f"{device.client.name} {device.name}",

View File

@@ -0,0 +1,231 @@
"""Integration to offer AI tasks to Home Assistant."""
import logging
from typing import Any
from aiohttp import web
import voluptuous as vol
from homeassistant.components.http import KEY_HASS, HomeAssistantView
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import ATTR_ENTITY_ID, CONF_DESCRIPTION, CONF_SELECTOR
from homeassistant.core import (
HassJobType,
HomeAssistant,
ServiceCall,
ServiceResponse,
SupportsResponse,
callback,
)
from homeassistant.helpers import config_validation as cv, selector, storage
from homeassistant.helpers.entity_component import EntityComponent
from homeassistant.helpers.typing import UNDEFINED, ConfigType, UndefinedType
from .const import (
ATTR_ATTACHMENTS,
ATTR_INSTRUCTIONS,
ATTR_REQUIRED,
ATTR_STRUCTURE,
ATTR_TASK_NAME,
DATA_COMPONENT,
DATA_IMAGES,
DATA_PREFERENCES,
DOMAIN,
SERVICE_GENERATE_DATA,
SERVICE_GENERATE_IMAGE,
AITaskEntityFeature,
)
from .entity import AITaskEntity
from .http import async_setup as async_setup_http
from .task import (
GenDataTask,
GenDataTaskResult,
GenImageTask,
GenImageTaskResult,
ImageData,
async_generate_data,
async_generate_image,
)
__all__ = [
"DOMAIN",
"AITaskEntity",
"AITaskEntityFeature",
"GenDataTask",
"GenDataTaskResult",
"GenImageTask",
"GenImageTaskResult",
"ImageData",
"async_generate_data",
"async_generate_image",
"async_setup",
"async_setup_entry",
"async_unload_entry",
]
_LOGGER = logging.getLogger(__name__)
CONFIG_SCHEMA = cv.config_entry_only_config_schema(DOMAIN)
STRUCTURE_FIELD_SCHEMA = vol.Schema(
{
vol.Optional(CONF_DESCRIPTION): str,
vol.Optional(ATTR_REQUIRED): bool,
vol.Required(CONF_SELECTOR): selector.validate_selector,
}
)
def _validate_structure_fields(value: dict[str, Any]) -> vol.Schema:
"""Validate the structure fields as a voluptuous Schema."""
if not isinstance(value, dict):
raise vol.Invalid("Structure must be a dictionary")
fields = {}
for k, v in value.items():
field_class = vol.Required if v.get(ATTR_REQUIRED, False) else vol.Optional
fields[field_class(k, description=v.get(CONF_DESCRIPTION))] = selector.selector(
v[CONF_SELECTOR]
)
return vol.Schema(fields, extra=vol.PREVENT_EXTRA)
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Register the process service."""
entity_component = EntityComponent[AITaskEntity](_LOGGER, DOMAIN, hass)
hass.data[DATA_COMPONENT] = entity_component
hass.data[DATA_PREFERENCES] = AITaskPreferences(hass)
hass.data[DATA_IMAGES] = {}
await hass.data[DATA_PREFERENCES].async_load()
async_setup_http(hass)
hass.http.register_view(ImageView)
hass.services.async_register(
DOMAIN,
SERVICE_GENERATE_DATA,
async_service_generate_data,
schema=vol.Schema(
{
vol.Required(ATTR_TASK_NAME): cv.string,
vol.Optional(ATTR_ENTITY_ID): cv.entity_id,
vol.Required(ATTR_INSTRUCTIONS): cv.string,
vol.Optional(ATTR_STRUCTURE): vol.All(
vol.Schema({str: STRUCTURE_FIELD_SCHEMA}),
_validate_structure_fields,
),
vol.Optional(ATTR_ATTACHMENTS): vol.All(
cv.ensure_list, [selector.MediaSelector({"accept": ["*/*"]})]
),
}
),
supports_response=SupportsResponse.ONLY,
job_type=HassJobType.Coroutinefunction,
)
hass.services.async_register(
DOMAIN,
SERVICE_GENERATE_IMAGE,
async_service_generate_image,
schema=vol.Schema(
{
vol.Required(ATTR_TASK_NAME): cv.string,
vol.Required(ATTR_ENTITY_ID): cv.entity_id,
vol.Required(ATTR_INSTRUCTIONS): cv.string,
vol.Optional(ATTR_ATTACHMENTS): vol.All(
cv.ensure_list, [selector.MediaSelector({"accept": ["*/*"]})]
),
}
),
supports_response=SupportsResponse.ONLY,
job_type=HassJobType.Coroutinefunction,
)
return True
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up a config entry."""
return await hass.data[DATA_COMPONENT].async_setup_entry(entry)
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.data[DATA_COMPONENT].async_unload_entry(entry)
async def async_service_generate_data(call: ServiceCall) -> ServiceResponse:
"""Run the data task service."""
result = await async_generate_data(hass=call.hass, **call.data)
return result.as_dict()
async def async_service_generate_image(call: ServiceCall) -> ServiceResponse:
"""Run the image task service."""
return await async_generate_image(hass=call.hass, **call.data)
class AITaskPreferences:
"""AI Task preferences."""
KEYS = ("gen_data_entity_id",)
gen_data_entity_id: str | None = None
def __init__(self, hass: HomeAssistant) -> None:
"""Initialize the preferences."""
self._store: storage.Store[dict[str, str | None]] = storage.Store(
hass, 1, DOMAIN
)
async def async_load(self) -> None:
"""Load the data from the store."""
data = await self._store.async_load()
if data is None:
return
for key in self.KEYS:
setattr(self, key, data[key])
@callback
def async_set_preferences(
self,
*,
gen_data_entity_id: str | None | UndefinedType = UNDEFINED,
) -> None:
"""Set the preferences."""
changed = False
for key, value in (("gen_data_entity_id", gen_data_entity_id),):
if value is not UNDEFINED:
if getattr(self, key) != value:
setattr(self, key, value)
changed = True
if not changed:
return
self._store.async_delay_save(self.as_dict, 10)
@callback
def as_dict(self) -> dict[str, str | None]:
"""Get the current preferences."""
return {key: getattr(self, key) for key in self.KEYS}
class ImageView(HomeAssistantView):
"""View to generated images."""
url = f"/api/{DOMAIN}/images/{{filename}}"
name = f"api:{DOMAIN}/images"
async def get(
self,
request: web.Request,
filename: str,
) -> web.Response:
"""Serve image."""
hass = request.app[KEY_HASS]
image_storage = hass.data[DATA_IMAGES]
image_data = image_storage.get(filename)
if image_data is None:
raise web.HTTPNotFound
return web.Response(
body=image_data.data,
content_type=image_data.mime_type,
)

View File

@@ -0,0 +1,49 @@
"""Constants for the AI Task integration."""
from __future__ import annotations
from enum import IntFlag
from typing import TYPE_CHECKING, Final
from homeassistant.util.hass_dict import HassKey
if TYPE_CHECKING:
from homeassistant.helpers.entity_component import EntityComponent
from . import AITaskPreferences
from .entity import AITaskEntity
from .task import ImageData
DOMAIN = "ai_task"
DATA_COMPONENT: HassKey[EntityComponent[AITaskEntity]] = HassKey(DOMAIN)
DATA_PREFERENCES: HassKey[AITaskPreferences] = HassKey(f"{DOMAIN}_preferences")
DATA_IMAGES: HassKey[dict[str, ImageData]] = HassKey(f"{DOMAIN}_images")
IMAGE_EXPIRY_TIME = 60 * 60 # 1 hour
MAX_IMAGES = 20
SERVICE_GENERATE_DATA = "generate_data"
SERVICE_GENERATE_IMAGE = "generate_image"
ATTR_INSTRUCTIONS: Final = "instructions"
ATTR_TASK_NAME: Final = "task_name"
ATTR_STRUCTURE: Final = "structure"
ATTR_REQUIRED: Final = "required"
ATTR_ATTACHMENTS: Final = "attachments"
DEFAULT_SYSTEM_PROMPT = (
"You are a Home Assistant expert and help users with their tasks."
)
class AITaskEntityFeature(IntFlag):
"""Supported features of the AI task entity."""
GENERATE_DATA = 1
"""Generate data based on instructions."""
SUPPORT_ATTACHMENTS = 2
"""Support attachments with generate data."""
GENERATE_IMAGE = 4
"""Generate images based on instructions."""

View File

@@ -0,0 +1,126 @@
"""Entity for the AI Task integration."""
from collections.abc import AsyncGenerator
import contextlib
from typing import final
from propcache.api import cached_property
from homeassistant.components.conversation import (
ChatLog,
UserContent,
async_get_chat_log,
)
from homeassistant.const import STATE_UNAVAILABLE, STATE_UNKNOWN
from homeassistant.helpers import llm
from homeassistant.helpers.chat_session import ChatSession
from homeassistant.helpers.restore_state import RestoreEntity
from homeassistant.util import dt as dt_util
from .const import DEFAULT_SYSTEM_PROMPT, DOMAIN, AITaskEntityFeature
from .task import GenDataTask, GenDataTaskResult, GenImageTask, GenImageTaskResult
class AITaskEntity(RestoreEntity):
"""Entity that supports conversations."""
_attr_should_poll = False
_attr_supported_features = AITaskEntityFeature(0)
__last_activity: str | None = None
@property
@final
def state(self) -> str | None:
"""Return the state of the entity."""
if self.__last_activity is None:
return None
return self.__last_activity
@cached_property
def supported_features(self) -> AITaskEntityFeature:
"""Flag supported features."""
return self._attr_supported_features
async def async_internal_added_to_hass(self) -> None:
"""Call when the entity is added to hass."""
await super().async_internal_added_to_hass()
state = await self.async_get_last_state()
if (
state is not None
and state.state is not None
and state.state not in (STATE_UNAVAILABLE, STATE_UNKNOWN)
):
self.__last_activity = state.state
@final
@contextlib.asynccontextmanager
async def _async_get_ai_task_chat_log(
self,
session: ChatSession,
task: GenDataTask | GenImageTask,
) -> AsyncGenerator[ChatLog]:
"""Context manager used to manage the ChatLog used during an AI Task."""
# pylint: disable-next=contextmanager-generator-missing-cleanup
with (
async_get_chat_log(
self.hass,
session,
None,
) as chat_log,
):
await chat_log.async_provide_llm_data(
llm.LLMContext(
platform=self.platform.domain,
context=None,
language=None,
assistant=DOMAIN,
device_id=None,
),
user_llm_prompt=DEFAULT_SYSTEM_PROMPT,
)
chat_log.async_add_user_content(
UserContent(task.instructions, attachments=task.attachments)
)
yield chat_log
@final
async def internal_async_generate_data(
self,
session: ChatSession,
task: GenDataTask,
) -> GenDataTaskResult:
"""Run a gen data task."""
self.__last_activity = dt_util.utcnow().isoformat()
self.async_write_ha_state()
async with self._async_get_ai_task_chat_log(session, task) as chat_log:
return await self._async_generate_data(task, chat_log)
async def _async_generate_data(
self,
task: GenDataTask,
chat_log: ChatLog,
) -> GenDataTaskResult:
"""Handle a gen data task."""
raise NotImplementedError
@final
async def internal_async_generate_image(
self,
session: ChatSession,
task: GenImageTask,
) -> GenImageTaskResult:
"""Run a gen image task."""
self.__last_activity = dt_util.utcnow().isoformat()
self.async_write_ha_state()
async with self._async_get_ai_task_chat_log(session, task) as chat_log:
return await self._async_generate_image(task, chat_log)
async def _async_generate_image(
self,
task: GenImageTask,
chat_log: ChatLog,
) -> GenImageTaskResult:
"""Handle a gen image task."""
raise NotImplementedError

View File

@@ -0,0 +1,54 @@
"""HTTP endpoint for AI Task integration."""
from typing import Any
import voluptuous as vol
from homeassistant.components import websocket_api
from homeassistant.core import HomeAssistant, callback
from .const import DATA_PREFERENCES
@callback
def async_setup(hass: HomeAssistant) -> None:
"""Set up the HTTP API for the conversation integration."""
websocket_api.async_register_command(hass, websocket_get_preferences)
websocket_api.async_register_command(hass, websocket_set_preferences)
@websocket_api.websocket_command(
{
vol.Required("type"): "ai_task/preferences/get",
}
)
@callback
def websocket_get_preferences(
hass: HomeAssistant,
connection: websocket_api.ActiveConnection,
msg: dict[str, Any],
) -> None:
"""Get AI task preferences."""
preferences = hass.data[DATA_PREFERENCES]
connection.send_result(msg["id"], preferences.as_dict())
@websocket_api.websocket_command(
{
vol.Required("type"): "ai_task/preferences/set",
vol.Optional("gen_data_entity_id"): vol.Any(str, None),
}
)
@websocket_api.require_admin
@callback
def websocket_set_preferences(
hass: HomeAssistant,
connection: websocket_api.ActiveConnection,
msg: dict[str, Any],
) -> None:
"""Set AI task preferences."""
preferences = hass.data[DATA_PREFERENCES]
msg.pop("type")
msg_id = msg.pop("id")
preferences.async_set_preferences(**msg)
connection.send_result(msg_id, preferences.as_dict())

View File

@@ -0,0 +1,15 @@
{
"entity_component": {
"_": {
"default": "mdi:star-four-points"
}
},
"services": {
"generate_data": {
"service": "mdi:file-star-four-points-outline"
},
"generate_image": {
"service": "mdi:star-four-points-box-outline"
}
}
}

View File

@@ -0,0 +1,10 @@
{
"domain": "ai_task",
"name": "AI Task",
"after_dependencies": ["camera", "http"],
"codeowners": ["@home-assistant/core"],
"dependencies": ["conversation", "media_source"],
"documentation": "https://www.home-assistant.io/integrations/ai_task",
"integration_type": "entity",
"quality_scale": "internal"
}

View File

@@ -0,0 +1,90 @@
"""Expose images as media sources."""
from __future__ import annotations
from datetime import timedelta
import logging
from homeassistant.components.http.auth import async_sign_path
from homeassistant.components.media_player import BrowseError, MediaClass
from homeassistant.components.media_source import (
BrowseMediaSource,
MediaSource,
MediaSourceItem,
PlayMedia,
Unresolvable,
)
from homeassistant.core import HomeAssistant
from .const import DATA_IMAGES, DOMAIN, IMAGE_EXPIRY_TIME
_LOGGER = logging.getLogger(__name__)
async def async_get_media_source(hass: HomeAssistant) -> ImageMediaSource:
"""Set up image media source."""
_LOGGER.debug("Setting up image media source")
return ImageMediaSource(hass)
class ImageMediaSource(MediaSource):
"""Provide images as media sources."""
name: str = "AI Generated Images"
def __init__(self, hass: HomeAssistant) -> None:
"""Initialize ImageMediaSource."""
super().__init__(DOMAIN)
self.hass = hass
async def async_resolve_media(self, item: MediaSourceItem) -> PlayMedia:
"""Resolve media to a url."""
image_storage = self.hass.data[DATA_IMAGES]
image = image_storage.get(item.identifier)
if image is None:
raise Unresolvable(f"Could not resolve media item: {item.identifier}")
return PlayMedia(
async_sign_path(
self.hass,
f"/api/{DOMAIN}/images/{item.identifier}",
timedelta(seconds=IMAGE_EXPIRY_TIME or 1800),
),
image.mime_type,
)
async def async_browse_media(
self,
item: MediaSourceItem,
) -> BrowseMediaSource:
"""Return media."""
if item.identifier:
raise BrowseError("Unknown item")
image_storage = self.hass.data[DATA_IMAGES]
children = [
BrowseMediaSource(
domain=DOMAIN,
identifier=filename,
media_class=MediaClass.IMAGE,
media_content_type=image.mime_type,
title=image.title or filename,
can_play=True,
can_expand=False,
)
for filename, image in image_storage.items()
]
return BrowseMediaSource(
domain=DOMAIN,
identifier=None,
media_class=MediaClass.APP,
media_content_type="",
title="AI Generated Images",
can_play=False,
can_expand=True,
children_media_class=MediaClass.IMAGE,
children=children,
)

View File

@@ -0,0 +1,59 @@
generate_data:
fields:
task_name:
example: "home summary"
required: true
selector:
text:
instructions:
example: "Generate a funny notification that the garage door was left open"
required: true
selector:
text:
multiline: true
entity_id:
required: false
selector:
entity:
filter:
domain: ai_task
supported_features:
- ai_task.AITaskEntityFeature.GENERATE_DATA
structure:
required: false
example: '{ "name": { "selector": { "text": }, "description": "Name of the user", "required": "True" } } }, "age": { "selector": { "number": }, "description": "Age of the user" } }'
selector:
object:
attachments:
required: false
selector:
media:
accept:
- "*"
generate_image:
fields:
task_name:
example: "picture of a dog"
required: true
selector:
text:
instructions:
example: "Generate a high quality square image of a dog on transparent background"
required: true
selector:
text:
multiline: true
entity_id:
required: true
selector:
entity:
filter:
domain: ai_task
supported_features:
- ai_task.AITaskEntityFeature.GENERATE_IMAGE
attachments:
required: false
selector:
media:
accept:
- "*"

View File

@@ -0,0 +1,52 @@
{
"services": {
"generate_data": {
"name": "Generate data",
"description": "Uses AI to run a task that generates data.",
"fields": {
"task_name": {
"name": "Task name",
"description": "Name of the task."
},
"instructions": {
"name": "Instructions",
"description": "Instructions on what needs to be done."
},
"entity_id": {
"name": "Entity ID",
"description": "Entity ID to run the task on. If not provided, the preferred entity will be used."
},
"structure": {
"name": "Structured output",
"description": "When set, the AI Task will output fields with this in structure. The structure is a dictionary where the keys are the field names and the values contain a 'description', a 'selector', and an optional 'required' field."
},
"attachments": {
"name": "Attachments",
"description": "List of files to attach for multi-modal AI analysis."
}
}
},
"generate_image": {
"name": "Generate image",
"description": "Uses AI to generate image.",
"fields": {
"task_name": {
"name": "Task name",
"description": "Name of the task."
},
"instructions": {
"name": "Instructions",
"description": "Instructions that explains the image to be generated."
},
"entity_id": {
"name": "Entity ID",
"description": "Entity ID to run the task on."
},
"attachments": {
"name": "Attachments",
"description": "List of files to attach for using as references."
}
}
}
}
}

View File

@@ -0,0 +1,366 @@
"""AI tasks to be handled by agents."""
from __future__ import annotations
from dataclasses import dataclass
from datetime import datetime, timedelta
from functools import partial
import mimetypes
from pathlib import Path
import tempfile
from typing import Any
import voluptuous as vol
from homeassistant.components import camera, conversation, media_source
from homeassistant.components.http.auth import async_sign_path
from homeassistant.core import HomeAssistant, ServiceResponse, callback
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.chat_session import ChatSession, async_get_chat_session
from homeassistant.helpers.event import async_call_later
from homeassistant.helpers.network import get_url
from homeassistant.util import RE_SANITIZE_FILENAME, slugify
from .const import (
DATA_COMPONENT,
DATA_IMAGES,
DATA_PREFERENCES,
DOMAIN,
IMAGE_EXPIRY_TIME,
MAX_IMAGES,
AITaskEntityFeature,
)
def _save_camera_snapshot(image: camera.Image) -> Path:
"""Save camera snapshot to temp file."""
with tempfile.NamedTemporaryFile(
mode="wb",
suffix=mimetypes.guess_extension(image.content_type, False),
delete=False,
) as temp_file:
temp_file.write(image.content)
return Path(temp_file.name)
async def _resolve_attachments(
hass: HomeAssistant,
session: ChatSession,
attachments: list[dict] | None = None,
) -> list[conversation.Attachment]:
"""Resolve attachments for a task."""
resolved_attachments: list[conversation.Attachment] = []
created_files: list[Path] = []
for attachment in attachments or []:
media_content_id = attachment["media_content_id"]
# Special case for camera media sources
if media_content_id.startswith("media-source://camera/"):
# Extract entity_id from the media content ID
entity_id = media_content_id.removeprefix("media-source://camera/")
# Get snapshot from camera
image = await camera.async_get_image(hass, entity_id)
temp_filename = await hass.async_add_executor_job(
_save_camera_snapshot, image
)
created_files.append(temp_filename)
resolved_attachments.append(
conversation.Attachment(
media_content_id=media_content_id,
mime_type=image.content_type,
path=temp_filename,
)
)
else:
# Handle regular media sources
media = await media_source.async_resolve_media(hass, media_content_id, None)
if media.path is None:
raise HomeAssistantError(
"Only local attachments are currently supported"
)
resolved_attachments.append(
conversation.Attachment(
media_content_id=media_content_id,
mime_type=media.mime_type,
path=media.path,
)
)
if not created_files:
return resolved_attachments
def cleanup_files() -> None:
"""Cleanup temporary files."""
for file in created_files:
file.unlink(missing_ok=True)
@callback
def cleanup_files_callback() -> None:
"""Cleanup temporary files."""
hass.async_add_executor_job(cleanup_files)
session.async_on_cleanup(cleanup_files_callback)
return resolved_attachments
async def async_generate_data(
hass: HomeAssistant,
*,
task_name: str,
entity_id: str | None = None,
instructions: str,
structure: vol.Schema | None = None,
attachments: list[dict] | None = None,
) -> GenDataTaskResult:
"""Run a data generation task in the AI Task integration."""
if entity_id is None:
entity_id = hass.data[DATA_PREFERENCES].gen_data_entity_id
if entity_id is None:
raise HomeAssistantError("No entity_id provided and no preferred entity set")
entity = hass.data[DATA_COMPONENT].get_entity(entity_id)
if entity is None:
raise HomeAssistantError(f"AI Task entity {entity_id} not found")
if AITaskEntityFeature.GENERATE_DATA not in entity.supported_features:
raise HomeAssistantError(
f"AI Task entity {entity_id} does not support generating data"
)
if (
attachments
and AITaskEntityFeature.SUPPORT_ATTACHMENTS not in entity.supported_features
):
raise HomeAssistantError(
f"AI Task entity {entity_id} does not support attachments"
)
with async_get_chat_session(hass) as session:
resolved_attachments = await _resolve_attachments(hass, session, attachments)
return await entity.internal_async_generate_data(
session,
GenDataTask(
name=task_name,
instructions=instructions,
structure=structure,
attachments=resolved_attachments or None,
),
)
def _cleanup_images(image_storage: dict[str, ImageData], num_to_remove: int) -> None:
"""Remove old images to keep the storage size under the limit."""
if num_to_remove <= 0:
return
if num_to_remove >= len(image_storage):
image_storage.clear()
return
sorted_images = sorted(
image_storage.items(),
key=lambda item: item[1].timestamp,
)
for filename, _ in sorted_images[:num_to_remove]:
image_storage.pop(filename, None)
async def async_generate_image(
hass: HomeAssistant,
*,
task_name: str,
entity_id: str,
instructions: str,
attachments: list[dict] | None = None,
) -> ServiceResponse:
"""Run an image generation task in the AI Task integration."""
entity = hass.data[DATA_COMPONENT].get_entity(entity_id)
if entity is None:
raise HomeAssistantError(f"AI Task entity {entity_id} not found")
if AITaskEntityFeature.GENERATE_IMAGE not in entity.supported_features:
raise HomeAssistantError(
f"AI Task entity {entity_id} does not support generating images"
)
if (
attachments
and AITaskEntityFeature.SUPPORT_ATTACHMENTS not in entity.supported_features
):
raise HomeAssistantError(
f"AI Task entity {entity_id} does not support attachments"
)
with async_get_chat_session(hass) as session:
resolved_attachments = await _resolve_attachments(hass, session, attachments)
task_result = await entity.internal_async_generate_image(
session,
GenImageTask(
name=task_name,
instructions=instructions,
attachments=resolved_attachments or None,
),
)
service_result = task_result.as_dict()
image_data = service_result.pop("image_data")
if service_result.get("revised_prompt") is None:
service_result["revised_prompt"] = instructions
image_storage = hass.data[DATA_IMAGES]
if len(image_storage) + 1 > MAX_IMAGES:
_cleanup_images(image_storage, len(image_storage) + 1 - MAX_IMAGES)
current_time = datetime.now()
ext = mimetypes.guess_extension(task_result.mime_type, False) or ".png"
sanitized_task_name = RE_SANITIZE_FILENAME.sub("", slugify(task_name))
filename = f"{current_time.strftime('%Y-%m-%d_%H%M%S')}_{sanitized_task_name}{ext}"
image_storage[filename] = ImageData(
data=image_data,
timestamp=int(current_time.timestamp()),
mime_type=task_result.mime_type,
title=service_result["revised_prompt"],
)
def _purge_image(filename: str, now: datetime) -> None:
"""Remove image from storage."""
image_storage.pop(filename, None)
if IMAGE_EXPIRY_TIME > 0:
async_call_later(hass, IMAGE_EXPIRY_TIME, partial(_purge_image, filename))
service_result["url"] = get_url(hass) + async_sign_path(
hass,
f"/api/{DOMAIN}/images/{filename}",
timedelta(seconds=IMAGE_EXPIRY_TIME or 1800),
)
service_result["media_source_id"] = f"media-source://{DOMAIN}/images/{filename}"
return service_result
@dataclass(slots=True)
class GenDataTask:
"""Gen data task to be processed."""
name: str
"""Name of the task."""
instructions: str
"""Instructions on what needs to be done."""
structure: vol.Schema | None = None
"""Optional structure for the data to be generated."""
attachments: list[conversation.Attachment] | None = None
"""List of attachments to go along the instructions."""
def __str__(self) -> str:
"""Return task as a string."""
return f"<GenDataTask {self.name}: {id(self)}>"
@dataclass(slots=True)
class GenDataTaskResult:
"""Result of gen data task."""
conversation_id: str
"""Unique identifier for the conversation."""
data: Any
"""Data generated by the task."""
def as_dict(self) -> dict[str, Any]:
"""Return result as a dict."""
return {
"conversation_id": self.conversation_id,
"data": self.data,
}
@dataclass(slots=True)
class GenImageTask:
"""Gen image task to be processed."""
name: str
"""Name of the task."""
instructions: str
"""Instructions on what needs to be done."""
attachments: list[conversation.Attachment] | None = None
"""List of attachments to go along the instructions."""
def __str__(self) -> str:
"""Return task as a string."""
return f"<GenImageTask {self.name}: {id(self)}>"
@dataclass(slots=True)
class GenImageTaskResult:
"""Result of gen image task."""
image_data: bytes
"""Raw image data generated by the model."""
conversation_id: str
"""Unique identifier for the conversation."""
mime_type: str
"""MIME type of the generated image."""
width: int | None = None
"""Width of the generated image, if available."""
height: int | None = None
"""Height of the generated image, if available."""
model: str | None = None
"""Model used to generate the image, if available."""
revised_prompt: str | None = None
"""Revised prompt used to generate the image, if applicable."""
def as_dict(self) -> dict[str, Any]:
"""Return result as a dict."""
return {
"image_data": self.image_data,
"conversation_id": self.conversation_id,
"mime_type": self.mime_type,
"width": self.width,
"height": self.height,
"model": self.model,
"revised_prompt": self.revised_prompt,
}
@dataclass(slots=True)
class ImageData:
"""Image data for stored generated images."""
data: bytes
"""Raw image data."""
timestamp: int
"""Timestamp when the image was generated, as a Unix timestamp."""
mime_type: str
"""MIME type of the image."""
title: str
"""Title of the image, usually the prompt used to generate it."""
def __str__(self) -> str:
"""Return image data as a string."""
return f"<ImageData {self.title}: {id(self)}>"

View File

@@ -51,9 +51,16 @@ class AirGradientCoordinator(DataUpdateCoordinator[AirGradientData]):
async def _async_setup(self) -> None:
"""Set up the coordinator."""
self._current_version = (
await self.client.get_current_measures()
).firmware_version
try:
self._current_version = (
await self.client.get_current_measures()
).firmware_version
except AirGradientError as error:
raise UpdateFailed(
translation_domain=DOMAIN,
translation_key="update_error",
translation_placeholders={"error": str(error)},
) from error
async def _async_update_data(self) -> AirGradientData:
try:

View File

@@ -6,6 +6,7 @@ from typing import Any, Concatenate
from airgradient import AirGradientConnectionError, AirGradientError, get_model_name
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity
@@ -29,6 +30,7 @@ class AirGradientEntity(CoordinatorEntity[AirGradientCoordinator]):
model_id=measures.model,
serial_number=coordinator.serial_number,
sw_version=measures.firmware_version,
connections={(dr.CONNECTION_NETWORK_MAC, coordinator.serial_number)},
)

View File

@@ -6,6 +6,7 @@
"documentation": "https://www.home-assistant.io/integrations/airgradient",
"integration_type": "device",
"iot_class": "local_polling",
"quality_scale": "platinum",
"requirements": ["airgradient==0.9.2"],
"zeroconf": ["_airgradient._tcp.local."]
}

View File

@@ -14,9 +14,9 @@ rules:
status: exempt
comment: |
This integration does not provide additional actions.
docs-high-level-description: todo
docs-installation-instructions: todo
docs-removal-instructions: todo
docs-high-level-description: done
docs-installation-instructions: done
docs-removal-instructions: done
entity-event-setup:
status: exempt
comment: |
@@ -34,7 +34,7 @@ rules:
docs-configuration-parameters:
status: exempt
comment: No options to configure
docs-installation-parameters: todo
docs-installation-parameters: done
entity-unavailable: done
integration-owner: done
log-when-unavailable: done
@@ -43,23 +43,19 @@ rules:
status: exempt
comment: |
This integration does not require authentication.
test-coverage: todo
test-coverage: done
# Gold
devices: done
diagnostics: done
discovery-update-info:
status: todo
comment: DHCP is still possible
discovery:
status: todo
comment: DHCP is still possible
docs-data-update: todo
docs-examples: todo
docs-known-limitations: todo
docs-supported-devices: todo
docs-supported-functions: todo
docs-troubleshooting: todo
docs-use-cases: todo
discovery-update-info: done
discovery: done
docs-data-update: done
docs-examples: done
docs-known-limitations: done
docs-supported-devices: done
docs-supported-functions: done
docs-troubleshooting: done
docs-use-cases: done
dynamic-devices:
status: exempt
comment: |

View File

@@ -61,7 +61,7 @@
"display_pm_standard": {
"name": "Display PM standard",
"state": {
"ugm3": "µg/m³",
"ugm3": "μg/m³",
"us_aqi": "US AQI"
}
},

View File

@@ -39,14 +39,14 @@ class AirlyFlowHandler(ConfigFlow, domain=DOMAIN):
)
self._abort_if_unique_id_configured()
try:
location_point_valid = await test_location(
location_point_valid = await check_location(
websession,
user_input["api_key"],
user_input["latitude"],
user_input["longitude"],
)
if not location_point_valid:
location_nearest_valid = await test_location(
location_nearest_valid = await check_location(
websession,
user_input["api_key"],
user_input["latitude"],
@@ -88,7 +88,7 @@ class AirlyFlowHandler(ConfigFlow, domain=DOMAIN):
)
async def test_location(
async def check_location(
client: ClientSession,
api_key: str,
latitude: float,

View File

@@ -45,9 +45,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bo
# Store Entity and Initialize Platforms
entry.runtime_data = coordinator
# Listen for option changes
entry.async_on_unload(entry.add_update_listener(update_listener))
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
# Clean up unused device entries with no entities
@@ -88,8 +85,3 @@ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: AirNowConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
async def update_listener(hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Handle options update."""
await hass.config_entries.async_reload(entry.entry_id)

View File

@@ -13,7 +13,7 @@ from homeassistant.config_entries import (
ConfigEntry,
ConfigFlow,
ConfigFlowResult,
OptionsFlow,
OptionsFlowWithReload,
)
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_RADIUS
from homeassistant.core import HomeAssistant, callback
@@ -126,7 +126,7 @@ class AirNowConfigFlow(ConfigFlow, domain=DOMAIN):
return AirNowOptionsFlowHandler()
class AirNowOptionsFlowHandler(OptionsFlow):
class AirNowOptionsFlowHandler(OptionsFlowWithReload):
"""Handle an options flow for AirNow."""
async def async_step_init(

View File

@@ -71,7 +71,7 @@ class AirNowDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
async def _async_update_data(self) -> dict[str, Any]:
"""Update data via library."""
data = {}
data: dict[str, Any] = {}
try:
obs = await self.airnow.observations.latLong(
self.latitude,

View File

@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/airnow",
"iot_class": "cloud_polling",
"loggers": ["pyairnow"],
"requirements": ["pyairnow==1.2.1"]
"requirements": ["pyairnow==1.3.1"]
}

View File

@@ -0,0 +1,45 @@
"""The Ubiquiti airOS integration."""
from __future__ import annotations
from airos.airos8 import AirOS8
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .coordinator import AirOSConfigEntry, AirOSDataUpdateCoordinator
_PLATFORMS: list[Platform] = [
Platform.BINARY_SENSOR,
Platform.SENSOR,
]
async def async_setup_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool:
"""Set up Ubiquiti airOS from a config entry."""
# By default airOS 8 comes with self-signed SSL certificates,
# with no option in the web UI to change or upload a custom certificate.
session = async_get_clientsession(hass, verify_ssl=False)
airos_device = AirOS8(
host=entry.data[CONF_HOST],
username=entry.data[CONF_USERNAME],
password=entry.data[CONF_PASSWORD],
session=session,
)
coordinator = AirOSDataUpdateCoordinator(hass, entry, airos_device)
await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator
await hass.config_entries.async_forward_entry_setups(entry, _PLATFORMS)
return True
async def async_unload_entry(hass: HomeAssistant, entry: AirOSConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, _PLATFORMS)

View File

@@ -0,0 +1,106 @@
"""AirOS Binary Sensor component for Home Assistant."""
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass
import logging
from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
BinarySensorEntity,
BinarySensorEntityDescription,
)
from homeassistant.const import EntityCategory
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from .coordinator import AirOS8Data, AirOSConfigEntry, AirOSDataUpdateCoordinator
from .entity import AirOSEntity
_LOGGER = logging.getLogger(__name__)
PARALLEL_UPDATES = 0
@dataclass(frozen=True, kw_only=True)
class AirOSBinarySensorEntityDescription(BinarySensorEntityDescription):
"""Describe an AirOS binary sensor."""
value_fn: Callable[[AirOS8Data], bool]
BINARY_SENSORS: tuple[AirOSBinarySensorEntityDescription, ...] = (
AirOSBinarySensorEntityDescription(
key="portfw",
translation_key="port_forwarding",
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data.portfw,
),
AirOSBinarySensorEntityDescription(
key="dhcp_client",
translation_key="dhcp_client",
device_class=BinarySensorDeviceClass.RUNNING,
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data.services.dhcpc,
),
AirOSBinarySensorEntityDescription(
key="dhcp_server",
translation_key="dhcp_server",
device_class=BinarySensorDeviceClass.RUNNING,
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data.services.dhcpd,
entity_registry_enabled_default=False,
),
AirOSBinarySensorEntityDescription(
key="dhcp6_server",
translation_key="dhcp6_server",
device_class=BinarySensorDeviceClass.RUNNING,
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data.services.dhcp6d_stateful,
entity_registry_enabled_default=False,
),
AirOSBinarySensorEntityDescription(
key="pppoe",
translation_key="pppoe",
device_class=BinarySensorDeviceClass.CONNECTIVITY,
entity_category=EntityCategory.DIAGNOSTIC,
value_fn=lambda data: data.services.pppoe,
entity_registry_enabled_default=False,
),
)
async def async_setup_entry(
hass: HomeAssistant,
config_entry: AirOSConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback,
) -> None:
"""Set up the AirOS binary sensors from a config entry."""
coordinator = config_entry.runtime_data
async_add_entities(
AirOSBinarySensor(coordinator, description) for description in BINARY_SENSORS
)
class AirOSBinarySensor(AirOSEntity, BinarySensorEntity):
"""Representation of a binary sensor."""
entity_description: AirOSBinarySensorEntityDescription
def __init__(
self,
coordinator: AirOSDataUpdateCoordinator,
description: AirOSBinarySensorEntityDescription,
) -> None:
"""Initialize the binary sensor."""
super().__init__(coordinator)
self.entity_description = description
self._attr_unique_id = f"{coordinator.data.host.device_id}_{description.key}"
@property
def is_on(self) -> bool:
"""Return the state of the binary sensor."""
return self.entity_description.value_fn(self.coordinator.data)

View File

@@ -0,0 +1,82 @@
"""Config flow for the Ubiquiti airOS integration."""
from __future__ import annotations
import logging
from typing import Any
from airos.exceptions import (
AirOSConnectionAuthenticationError,
AirOSConnectionSetupError,
AirOSDataMissingError,
AirOSDeviceConnectionError,
AirOSKeyDataMissingError,
)
import voluptuous as vol
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_HOST, CONF_PASSWORD, CONF_USERNAME
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN
from .coordinator import AirOS8
_LOGGER = logging.getLogger(__name__)
STEP_USER_DATA_SCHEMA = vol.Schema(
{
vol.Required(CONF_HOST): str,
vol.Required(CONF_USERNAME, default="ubnt"): str,
vol.Required(CONF_PASSWORD): str,
}
)
class AirOSConfigFlow(ConfigFlow, domain=DOMAIN):
"""Handle a config flow for Ubiquiti airOS."""
VERSION = 1
async def async_step_user(
self,
user_input: dict[str, Any] | None = None,
) -> ConfigFlowResult:
"""Handle the initial step."""
errors: dict[str, str] = {}
if user_input is not None:
# By default airOS 8 comes with self-signed SSL certificates,
# with no option in the web UI to change or upload a custom certificate.
session = async_get_clientsession(self.hass, verify_ssl=False)
airos_device = AirOS8(
host=user_input[CONF_HOST],
username=user_input[CONF_USERNAME],
password=user_input[CONF_PASSWORD],
session=session,
)
try:
await airos_device.login()
airos_data = await airos_device.status()
except (
AirOSConnectionSetupError,
AirOSDeviceConnectionError,
):
errors["base"] = "cannot_connect"
except (AirOSConnectionAuthenticationError, AirOSDataMissingError):
errors["base"] = "invalid_auth"
except AirOSKeyDataMissingError:
errors["base"] = "key_data_missing"
except Exception:
_LOGGER.exception("Unexpected exception")
errors["base"] = "unknown"
else:
await self.async_set_unique_id(airos_data.derived.mac)
self._abort_if_unique_id_configured()
return self.async_create_entry(
title=airos_data.host.hostname, data=user_input
)
return self.async_show_form(
step_id="user", data_schema=STEP_USER_DATA_SCHEMA, errors=errors
)

View File

@@ -0,0 +1,9 @@
"""Constants for the Ubiquiti airOS integration."""
from datetime import timedelta
DOMAIN = "airos"
SCAN_INTERVAL = timedelta(minutes=1)
MANUFACTURER = "Ubiquiti"

View File

@@ -0,0 +1,70 @@
"""DataUpdateCoordinator for AirOS."""
from __future__ import annotations
import logging
from airos.airos8 import AirOS8, AirOS8Data
from airos.exceptions import (
AirOSConnectionAuthenticationError,
AirOSConnectionSetupError,
AirOSDataMissingError,
AirOSDeviceConnectionError,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryError
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import DOMAIN, SCAN_INTERVAL
_LOGGER = logging.getLogger(__name__)
type AirOSConfigEntry = ConfigEntry[AirOSDataUpdateCoordinator]
class AirOSDataUpdateCoordinator(DataUpdateCoordinator[AirOS8Data]):
"""Class to manage fetching AirOS data from single endpoint."""
config_entry: AirOSConfigEntry
def __init__(
self, hass: HomeAssistant, config_entry: AirOSConfigEntry, airos_device: AirOS8
) -> None:
"""Initialize the coordinator."""
self.airos_device = airos_device
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_interval=SCAN_INTERVAL,
)
async def _async_update_data(self) -> AirOS8Data:
"""Fetch data from AirOS."""
try:
await self.airos_device.login()
return await self.airos_device.status()
except (AirOSConnectionAuthenticationError,) as err:
_LOGGER.exception("Error authenticating with airOS device")
raise ConfigEntryError(
translation_domain=DOMAIN, translation_key="invalid_auth"
) from err
except (
AirOSConnectionSetupError,
AirOSDeviceConnectionError,
TimeoutError,
) as err:
_LOGGER.error("Error connecting to airOS device: %s", err)
raise UpdateFailed(
translation_domain=DOMAIN,
translation_key="cannot_connect",
) from err
except (AirOSDataMissingError,) as err:
_LOGGER.error("Expected data not returned by airOS device: %s", err)
raise UpdateFailed(
translation_domain=DOMAIN,
translation_key="error_data_missing",
) from err

View File

@@ -0,0 +1,33 @@
"""Diagnostics support for airOS."""
from __future__ import annotations
from typing import Any
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.const import CONF_HOST, CONF_PASSWORD
from homeassistant.core import HomeAssistant
from .coordinator import AirOSConfigEntry
IP_REDACT = ["addr", "ipaddr", "ip6addr", "lastip"] # IP related
HW_REDACT = ["apmac", "hwaddr", "mac"] # MAC address
TO_REDACT_HA = [CONF_HOST, CONF_PASSWORD]
TO_REDACT_AIROS = [
"hostname", # Prevent leaking device naming
"essid", # Network SSID
"lat", # GPS latitude to prevent exposing location data.
"lon", # GPS longitude to prevent exposing location data.
*HW_REDACT,
*IP_REDACT,
]
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: AirOSConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
return {
"entry_data": async_redact_data(entry.data, TO_REDACT_HA),
"data": async_redact_data(entry.runtime_data.data.to_dict(), TO_REDACT_AIROS),
}

View File

@@ -0,0 +1,36 @@
"""Generic AirOS Entity Class."""
from __future__ import annotations
from homeassistant.const import CONF_HOST
from homeassistant.helpers.device_registry import CONNECTION_NETWORK_MAC, DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from .const import DOMAIN, MANUFACTURER
from .coordinator import AirOSDataUpdateCoordinator
class AirOSEntity(CoordinatorEntity[AirOSDataUpdateCoordinator]):
"""Represent a AirOS Entity."""
_attr_has_entity_name = True
def __init__(self, coordinator: AirOSDataUpdateCoordinator) -> None:
"""Initialise the gateway."""
super().__init__(coordinator)
airos_data = self.coordinator.data
configuration_url: str | None = (
f"https://{coordinator.config_entry.data[CONF_HOST]}"
)
self._attr_device_info = DeviceInfo(
connections={(CONNECTION_NETWORK_MAC, airos_data.derived.mac)},
configuration_url=configuration_url,
identifiers={(DOMAIN, str(airos_data.host.device_id))},
manufacturer=MANUFACTURER,
model=airos_data.host.devmodel,
name=airos_data.host.hostname,
sw_version=airos_data.host.fwversion,
)

View File

@@ -0,0 +1,10 @@
{
"domain": "airos",
"name": "Ubiquiti airOS",
"codeowners": ["@CoMPaTech"],
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/airos",
"iot_class": "local_polling",
"quality_scale": "bronze",
"requirements": ["airos==0.5.1"]
}

View File

@@ -0,0 +1,70 @@
rules:
# Bronze
action-setup:
status: exempt
comment: airOS does not have actions
appropriate-polling: done
brands: done
common-modules: done
config-flow-test-coverage: done
config-flow: done
dependency-transparency: done
docs-actions:
status: exempt
comment: airOS does not have actions
docs-high-level-description: done
docs-installation-instructions: done
docs-removal-instructions: done
entity-event-setup:
status: exempt
comment: local_polling without events
entity-unique-id: done
has-entity-name: done
runtime-data: done
test-before-configure: done
test-before-setup: done
unique-config-entry: done
# Silver
action-exceptions:
status: exempt
comment: airOS does not have actions
config-entry-unloading: done
docs-configuration-parameters: done
docs-installation-parameters: done
entity-unavailable: todo
integration-owner: done
log-when-unavailable: todo
parallel-updates: todo
reauthentication-flow: todo
test-coverage: done
# Gold
devices: done
diagnostics: done
discovery-update-info: todo
discovery: todo
docs-data-update: done
docs-examples: todo
docs-known-limitations: done
docs-supported-devices: done
docs-supported-functions: todo
docs-troubleshooting: done
docs-use-cases: todo
dynamic-devices: todo
entity-category: done
entity-device-class: done
entity-disabled-by-default: done
entity-translations: done
exception-translations: done
icon-translations:
status: exempt
comment: no (custom) icons used or envisioned
reconfiguration-flow: todo
repair-issues: todo
stale-devices: todo
# Platinum
async-dependency: done
inject-websession: done
strict-typing: done

View File

@@ -0,0 +1,194 @@
"""AirOS Sensor component for Home Assistant."""
from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass
import logging
from airos.data import DerivedWirelessMode, DerivedWirelessRole, NetRole
from homeassistant.components.sensor import (
SensorDeviceClass,
SensorEntity,
SensorEntityDescription,
SensorStateClass,
)
from homeassistant.const import (
PERCENTAGE,
SIGNAL_STRENGTH_DECIBELS,
UnitOfDataRate,
UnitOfFrequency,
UnitOfLength,
UnitOfTime,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.typing import StateType
from .coordinator import AirOS8Data, AirOSConfigEntry, AirOSDataUpdateCoordinator
from .entity import AirOSEntity
_LOGGER = logging.getLogger(__name__)
NETROLE_OPTIONS = [mode.value for mode in NetRole]
WIRELESS_MODE_OPTIONS = [mode.value for mode in DerivedWirelessMode]
WIRELESS_ROLE_OPTIONS = [mode.value for mode in DerivedWirelessRole]
PARALLEL_UPDATES = 0
@dataclass(frozen=True, kw_only=True)
class AirOSSensorEntityDescription(SensorEntityDescription):
"""Describe an AirOS sensor."""
value_fn: Callable[[AirOS8Data], StateType]
SENSORS: tuple[AirOSSensorEntityDescription, ...] = (
AirOSSensorEntityDescription(
key="host_cpuload",
translation_key="host_cpuload",
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=1,
value_fn=lambda data: data.host.cpuload,
entity_registry_enabled_default=False,
),
AirOSSensorEntityDescription(
key="host_netrole",
translation_key="host_netrole",
device_class=SensorDeviceClass.ENUM,
value_fn=lambda data: data.host.netrole.value,
options=NETROLE_OPTIONS,
),
AirOSSensorEntityDescription(
key="wireless_frequency",
translation_key="wireless_frequency",
native_unit_of_measurement=UnitOfFrequency.MEGAHERTZ,
device_class=SensorDeviceClass.FREQUENCY,
state_class=SensorStateClass.MEASUREMENT,
value_fn=lambda data: data.wireless.frequency,
),
AirOSSensorEntityDescription(
key="wireless_essid",
translation_key="wireless_essid",
value_fn=lambda data: data.wireless.essid,
),
AirOSSensorEntityDescription(
key="wireless_antenna_gain",
translation_key="wireless_antenna_gain",
native_unit_of_measurement=SIGNAL_STRENGTH_DECIBELS,
device_class=SensorDeviceClass.SIGNAL_STRENGTH,
state_class=SensorStateClass.MEASUREMENT,
value_fn=lambda data: data.wireless.antenna_gain,
),
AirOSSensorEntityDescription(
key="wireless_throughput_tx",
translation_key="wireless_throughput_tx",
native_unit_of_measurement=UnitOfDataRate.KILOBITS_PER_SECOND,
device_class=SensorDeviceClass.DATA_RATE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
suggested_unit_of_measurement=UnitOfDataRate.MEGABITS_PER_SECOND,
value_fn=lambda data: data.wireless.throughput.tx,
),
AirOSSensorEntityDescription(
key="wireless_throughput_rx",
translation_key="wireless_throughput_rx",
native_unit_of_measurement=UnitOfDataRate.KILOBITS_PER_SECOND,
device_class=SensorDeviceClass.DATA_RATE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
suggested_unit_of_measurement=UnitOfDataRate.MEGABITS_PER_SECOND,
value_fn=lambda data: data.wireless.throughput.rx,
),
AirOSSensorEntityDescription(
key="wireless_polling_dl_capacity",
translation_key="wireless_polling_dl_capacity",
native_unit_of_measurement=UnitOfDataRate.KILOBITS_PER_SECOND,
device_class=SensorDeviceClass.DATA_RATE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
suggested_unit_of_measurement=UnitOfDataRate.MEGABITS_PER_SECOND,
value_fn=lambda data: data.wireless.polling.dl_capacity,
),
AirOSSensorEntityDescription(
key="wireless_polling_ul_capacity",
translation_key="wireless_polling_ul_capacity",
native_unit_of_measurement=UnitOfDataRate.KILOBITS_PER_SECOND,
device_class=SensorDeviceClass.DATA_RATE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
suggested_unit_of_measurement=UnitOfDataRate.MEGABITS_PER_SECOND,
value_fn=lambda data: data.wireless.polling.ul_capacity,
),
AirOSSensorEntityDescription(
key="host_uptime",
translation_key="host_uptime",
native_unit_of_measurement=UnitOfTime.SECONDS,
device_class=SensorDeviceClass.DURATION,
suggested_display_precision=0,
suggested_unit_of_measurement=UnitOfTime.DAYS,
value_fn=lambda data: data.host.uptime,
entity_registry_enabled_default=False,
),
AirOSSensorEntityDescription(
key="wireless_distance",
translation_key="wireless_distance",
native_unit_of_measurement=UnitOfLength.METERS,
device_class=SensorDeviceClass.DISTANCE,
suggested_display_precision=1,
suggested_unit_of_measurement=UnitOfLength.KILOMETERS,
value_fn=lambda data: data.wireless.distance,
),
AirOSSensorEntityDescription(
key="wireless_mode",
translation_key="wireless_mode",
device_class=SensorDeviceClass.ENUM,
value_fn=lambda data: data.derived.mode.value,
options=WIRELESS_MODE_OPTIONS,
entity_registry_enabled_default=False,
),
AirOSSensorEntityDescription(
key="wireless_role",
translation_key="wireless_role",
device_class=SensorDeviceClass.ENUM,
value_fn=lambda data: data.derived.role.value,
options=WIRELESS_ROLE_OPTIONS,
entity_registry_enabled_default=False,
),
)
async def async_setup_entry(
hass: HomeAssistant,
config_entry: AirOSConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback,
) -> None:
"""Set up the AirOS sensors from a config entry."""
coordinator = config_entry.runtime_data
async_add_entities(AirOSSensor(coordinator, description) for description in SENSORS)
class AirOSSensor(AirOSEntity, SensorEntity):
"""Representation of a Sensor."""
entity_description: AirOSSensorEntityDescription
def __init__(
self,
coordinator: AirOSDataUpdateCoordinator,
description: AirOSSensorEntityDescription,
) -> None:
"""Initialize the sensor."""
super().__init__(coordinator)
self.entity_description = description
self._attr_unique_id = f"{coordinator.data.derived.mac}_{description.key}"
@property
def native_value(self) -> StateType:
"""Return the state of the sensor."""
return self.entity_description.value_fn(self.coordinator.data)

View File

@@ -0,0 +1,117 @@
{
"config": {
"flow_title": "Ubiquiti airOS device",
"step": {
"user": {
"data": {
"host": "[%key:common::config_flow::data::host%]",
"username": "[%key:common::config_flow::data::username%]",
"password": "[%key:common::config_flow::data::password%]"
},
"data_description": {
"host": "IP address or hostname of the airOS device",
"username": "Administrator username for the airOS device, normally 'ubnt'",
"password": "Password configured through the UISP app or web interface"
}
}
},
"error": {
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]",
"invalid_auth": "[%key:common::config_flow::error::invalid_auth%]",
"key_data_missing": "Expected data not returned from the device, check the documentation for supported devices",
"unknown": "[%key:common::config_flow::error::unknown%]"
},
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]"
}
},
"entity": {
"binary_sensor": {
"port_forwarding": {
"name": "Port forwarding"
},
"dhcp_client": {
"name": "DHCP client"
},
"dhcp_server": {
"name": "DHCP server"
},
"dhcp6_server": {
"name": "DHCPv6 server"
},
"pppoe": {
"name": "PPPoE link"
}
},
"sensor": {
"host_cpuload": {
"name": "CPU load"
},
"host_netrole": {
"name": "Network role",
"state": {
"bridge": "Bridge",
"router": "Router"
}
},
"wireless_frequency": {
"name": "Wireless frequency"
},
"wireless_essid": {
"name": "Wireless SSID"
},
"wireless_antenna_gain": {
"name": "Antenna gain"
},
"wireless_throughput_tx": {
"name": "Throughput transmit (actual)"
},
"wireless_throughput_rx": {
"name": "Throughput receive (actual)"
},
"wireless_polling_dl_capacity": {
"name": "Download capacity"
},
"wireless_polling_ul_capacity": {
"name": "Upload capacity"
},
"wireless_remote_hostname": {
"name": "Remote hostname"
},
"host_uptime": {
"name": "Uptime"
},
"wireless_distance": {
"name": "Wireless distance"
},
"wireless_role": {
"name": "Wireless role",
"state": {
"access_point": "Access point",
"station": "Station"
}
},
"wireless_mode": {
"name": "Wireless mode",
"state": {
"point_to_point": "Point-to-point",
"point_to_multipoint": "Point-to-multipoint"
}
}
}
},
"exceptions": {
"invalid_auth": {
"message": "[%key:common::config_flow::error::invalid_auth%]"
},
"cannot_connect": {
"message": "[%key:common::config_flow::error::cannot_connect%]"
},
"key_data_missing": {
"message": "Key data not returned from device"
},
"error_data_missing": {
"message": "Data incomplete or missing"
}
}
}

View File

@@ -9,7 +9,7 @@ from homeassistant.core import HomeAssistant
from .const import CONF_CLIP_NEGATIVE, CONF_RETURN_AVERAGE
from .coordinator import AirQCoordinator
PLATFORMS: list[Platform] = [Platform.SENSOR]
PLATFORMS: list[Platform] = [Platform.NUMBER, Platform.SENSOR]
AirQConfigEntry = ConfigEntry[AirQCoordinator]

View File

@@ -6,6 +6,5 @@ CONF_RETURN_AVERAGE: Final = "return_average"
CONF_CLIP_NEGATIVE: Final = "clip_negatives"
DOMAIN: Final = "airq"
MANUFACTURER: Final = "CorantGmbH"
CONCENTRATION_GRAMS_PER_CUBIC_METER: Final = "g/m³"
ACTIVITY_BECQUEREL_PER_CUBIC_METER: Final = "Bq/m³"
UPDATE_INTERVAL: float = 10.0

View File

@@ -10,7 +10,7 @@ from aioairq.core import AirQ, identify_warming_up_sensors
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_IP_ADDRESS, CONF_PASSWORD
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.aiohttp_client import async_create_clientsession
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
@@ -39,7 +39,7 @@ class AirQCoordinator(DataUpdateCoordinator):
name=DOMAIN,
update_interval=timedelta(seconds=UPDATE_INTERVAL),
)
session = async_get_clientsession(hass)
session = async_create_clientsession(hass)
self.airq = AirQ(
entry.data[CONF_IP_ADDRESS], entry.data[CONF_PASSWORD], session
)
@@ -75,6 +75,7 @@ class AirQCoordinator(DataUpdateCoordinator):
return_average=self.return_average,
clip_negative_values=self.clip_negative,
)
data["brightness"] = await self.airq.get_current_brightness()
if warming_up_sensors := identify_warming_up_sensors(data):
_LOGGER.debug(
"Following sensors are still warming up: %s", warming_up_sensors

View File

@@ -4,9 +4,6 @@
"health_index": {
"default": "mdi:heart-pulse"
},
"absolute_humidity": {
"default": "mdi:water"
},
"oxygen": {
"default": "mdi:leaf"
},

View File

@@ -7,5 +7,5 @@
"integration_type": "hub",
"iot_class": "local_polling",
"loggers": ["aioairq"],
"requirements": ["aioairq==0.4.4"]
"requirements": ["aioairq==0.4.6"]
}

View File

@@ -0,0 +1,85 @@
"""Definition of air-Q number platform used to control the LED strips."""
from __future__ import annotations
from collections.abc import Awaitable, Callable
from dataclasses import dataclass
import logging
from aioairq.core import AirQ
from homeassistant.components.number import NumberEntity, NumberEntityDescription
from homeassistant.const import PERCENTAGE
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AirQConfigEntry, AirQCoordinator
_LOGGER = logging.getLogger(__name__)
@dataclass(frozen=True, kw_only=True)
class AirQBrightnessDescription(NumberEntityDescription):
"""Describes AirQ number entity responsible for brightness control."""
value: Callable[[dict], float]
set_value: Callable[[AirQ, float], Awaitable[None]]
AIRQ_LED_BRIGHTNESS = AirQBrightnessDescription(
key="airq_led_brightness",
translation_key="airq_led_brightness",
native_min_value=0.0,
native_max_value=100.0,
native_step=1.0,
native_unit_of_measurement=PERCENTAGE,
value=lambda data: data["brightness"],
set_value=lambda device, value: device.set_current_brightness(value),
)
async def async_setup_entry(
hass: HomeAssistant,
entry: AirQConfigEntry,
async_add_entities: AddConfigEntryEntitiesCallback,
) -> None:
"""Set up number entities: a single entity for the LEDs."""
coordinator = entry.runtime_data
entities = [AirQLEDBrightness(coordinator, AIRQ_LED_BRIGHTNESS)]
async_add_entities(entities)
class AirQLEDBrightness(CoordinatorEntity[AirQCoordinator], NumberEntity):
"""Representation of the LEDs from a single AirQ."""
_attr_has_entity_name = True
def __init__(
self,
coordinator: AirQCoordinator,
description: AirQBrightnessDescription,
) -> None:
"""Initialize a single sensor."""
super().__init__(coordinator)
self.entity_description: AirQBrightnessDescription = description
self._attr_device_info = coordinator.device_info
self._attr_unique_id = f"{coordinator.device_id}_{description.key}"
@property
def native_value(self) -> float:
"""Return the brightness of the LEDs in %."""
return self.entity_description.value(self.coordinator.data)
async def async_set_native_value(self, value: float) -> None:
"""Set the brightness of the LEDs to the value in %."""
_LOGGER.debug(
"Changing LED brighntess from %.0f%% to %.0f%%",
self.coordinator.data["brightness"],
value,
)
await self.entity_description.set_value(self.coordinator.airq, value)
await self.coordinator.async_request_refresh()

View File

@@ -14,6 +14,7 @@ from homeassistant.components.sensor import (
SensorStateClass,
)
from homeassistant.const import (
CONCENTRATION_GRAMS_PER_CUBIC_METER,
CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
CONCENTRATION_MILLIGRAMS_PER_CUBIC_METER,
CONCENTRATION_PARTS_PER_BILLION,
@@ -28,10 +29,7 @@ from homeassistant.helpers.entity_platform import AddConfigEntryEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AirQConfigEntry, AirQCoordinator
from .const import (
ACTIVITY_BECQUEREL_PER_CUBIC_METER,
CONCENTRATION_GRAMS_PER_CUBIC_METER,
)
from .const import ACTIVITY_BECQUEREL_PER_CUBIC_METER
_LOGGER = logging.getLogger(__name__)
@@ -195,7 +193,7 @@ SENSOR_TYPES: list[AirQEntityDescription] = [
),
AirQEntityDescription(
key="humidity_abs",
translation_key="absolute_humidity",
device_class=SensorDeviceClass.ABSOLUTE_HUMIDITY,
native_unit_of_measurement=CONCENTRATION_GRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
value=lambda data: data.get("humidity_abs"),

View File

@@ -35,6 +35,11 @@
}
},
"entity": {
"number": {
"airq_led_brightness": {
"name": "LED brightness"
}
},
"sensor": {
"acetaldehyde": {
"name": "Acetaldehyde"
@@ -93,9 +98,6 @@
"health_index": {
"name": "Health index"
},
"absolute_humidity": {
"name": "Absolute humidity"
},
"hydrogen": {
"name": "Hydrogen"
},

View File

@@ -5,24 +5,20 @@ from __future__ import annotations
from datetime import timedelta
import logging
from airthings import Airthings, AirthingsDevice, AirthingsError
from airthings import Airthings
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_ID, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import CONF_SECRET, DOMAIN
from .const import CONF_SECRET
from .coordinator import AirthingsConfigEntry, AirthingsDataUpdateCoordinator
_LOGGER = logging.getLogger(__name__)
PLATFORMS: list[Platform] = [Platform.SENSOR]
SCAN_INTERVAL = timedelta(minutes=6)
type AirthingsDataCoordinatorType = DataUpdateCoordinator[dict[str, AirthingsDevice]]
type AirthingsConfigEntry = ConfigEntry[AirthingsDataCoordinatorType]
async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry) -> bool:
"""Set up Airthings from a config entry."""
@@ -32,21 +28,8 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry) ->
async_get_clientsession(hass),
)
async def _update_method() -> dict[str, AirthingsDevice]:
"""Get the latest data from Airthings."""
try:
return await airthings.update_devices() # type: ignore[no-any-return]
except AirthingsError as err:
raise UpdateFailed(f"Unable to fetch data: {err}") from err
coordinator = AirthingsDataUpdateCoordinator(hass, airthings, entry)
coordinator = DataUpdateCoordinator(
hass,
_LOGGER,
config_entry=entry,
name=DOMAIN,
update_method=_update_method,
update_interval=SCAN_INTERVAL,
)
await coordinator.async_config_entry_first_refresh()
entry.runtime_data = coordinator

View File

@@ -45,6 +45,8 @@ class AirthingsConfigFlow(ConfigFlow, domain=DOMAIN):
)
errors = {}
await self.async_set_unique_id(user_input[CONF_ID])
self._abort_if_unique_id_configured()
try:
await airthings.get_token(
@@ -60,9 +62,6 @@ class AirthingsConfigFlow(ConfigFlow, domain=DOMAIN):
_LOGGER.exception("Unexpected exception")
errors["base"] = "unknown"
else:
await self.async_set_unique_id(user_input[CONF_ID])
self._abort_if_unique_id_configured()
return self.async_create_entry(title="Airthings", data=user_input)
return self.async_show_form(

View File

@@ -0,0 +1,45 @@
"""The Airthings integration."""
from datetime import timedelta
import logging
from airthings import Airthings, AirthingsDevice, AirthingsError
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import DOMAIN
_LOGGER = logging.getLogger(__name__)
SCAN_INTERVAL = timedelta(minutes=6)
type AirthingsConfigEntry = ConfigEntry[AirthingsDataUpdateCoordinator]
class AirthingsDataUpdateCoordinator(DataUpdateCoordinator[dict[str, AirthingsDevice]]):
"""Coordinator for Airthings data updates."""
def __init__(
self,
hass: HomeAssistant,
airthings: Airthings,
config_entry: AirthingsConfigEntry,
) -> None:
"""Initialize the coordinator."""
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=DOMAIN,
update_method=self._update_method,
update_interval=SCAN_INTERVAL,
)
self.airthings = airthings
async def _update_method(self) -> dict[str, AirthingsDevice]:
"""Get the latest data from Airthings."""
try:
return await self.airthings.update_devices() # type: ignore[no-any-return]
except AirthingsError as err:
raise UpdateFailed(f"Unable to fetch data: {err}") from err

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