Compare commits

..

3380 Commits

Author SHA1 Message Date
Mike Degatano 645cdf5692 Backup method to aiohasupervisor 2024-11-11 19:49:24 +00:00
J. Nick Koston e388e9f396 Fix missing title placeholders in powerwall reauth (#130389) 2024-11-11 20:48:49 +01:00
Markus Lanthaler 96c12fdd10 Update tuya-device-sharing-sdk to version 0.2.1 (#130333) 2024-11-11 20:40:37 +01:00
Noah Husby e97a5f927c Bump aiorussound to 4.1.0 (#130382) 2024-11-11 20:26:45 +01:00
epenet 313309a7e0 Remove deprecated YAML loaders (#130364) 2024-11-11 20:24:51 +01:00
Barry vd. Heuvel ebe62501d6 Bump Weheat wh-python to 2024.11.02 (#130337) 2024-11-11 20:14:12 +01:00
Robert Resch c54369fe93 Add go2rtc to devcontainer (#130380) 2024-11-11 20:13:20 +01:00
Marc Mueller c89bf6a9aa Update pillow to 11.0.0 (#130194) 2024-11-11 20:12:32 +01:00
epenet 906bdda6fa Use report_usage in integrations (#130366) 2024-11-11 20:09:26 +01:00
Andre Lengwenus f3708549f0 Code cleanup for LCN integration (#130385) 2024-11-11 20:08:38 +01:00
Andre Lengwenus 3f34ddd74f Bump lcn-frontend to 0.2.2 (#130383) 2024-11-11 20:07:12 +01:00
Marc Mueller b19c44b4a5 Update pydantic to 1.10.19 (#130373) 2024-11-11 12:01:47 -06:00
Erik Montnemery 0cc50bc7bc Fix copy-paste error in STATISTIC_UNIT_TO_UNIT_CONVERTER (#130375) 2024-11-11 11:09:06 -06:00
Joost Lekkerkerker e56dec2c8e Bump spotifyaio to 0.8.8 (#130372) 2024-11-11 17:35:54 +01:00
Olivier Corradi e797149a16 Rename "CO2 Signal" display name to Electricity Maps for consistency (#130242)
* Update strings.json for Electricity Maps

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Fix test
2024-11-11 17:34:29 +01:00
Simon Lamon c96f1c87a6 Bump python-linkplay to 0.0.20 (#130348) 2024-11-11 17:30:27 +01:00
Erik Elkins 388c5807ea Add Switchbot Hub 2, Switchbot Meter Pro and Switchbot Meter Pro (CO2) devices to Switchbot Cloud integration. (#130295) 2024-11-11 16:10:52 +01:00
Robert Resch 41c6eeedca Bump deebot-client to 8.4.1 (#130357) 2024-11-11 15:41:18 +01:00
Lennard Beers 829632b0af Add binary sensor platform to eq3btsmart (#130352) 2024-11-11 14:27:52 +01:00
Erik Montnemery 5293fc73d8 Sort some code in cloud preferences (#130345)
Sort some code in cloud prefs
2024-11-11 13:21:16 +01:00
Simon Lamon 870bf388e0 Add seek support to LinkPlay (#130349) 2024-11-11 12:49:56 +01:00
Simon Lamon 7a4dac1eb1 Add Spotify and Tidal to playingmode mapping (#130351) 2024-11-11 12:46:02 +01:00
Erik Montnemery 88480d154a Fix typo in BaseBackupManager.async_restore_backup (#130329) 2024-11-11 12:10:49 +01:00
Lennard Beers 5497c440d9 Prepare eq3btsmart base entity for additional platforms (#130340) 2024-11-11 11:46:11 +01:00
Lennard Beers 1e26cf13d6 Use runtime data for eq3btsmart (#130334) 2024-11-11 10:59:50 +01:00
Nerdix 0dd208a4b9 Add alarm count sensor for Kostal Inverters (#130324) 2024-11-11 09:07:47 +01:00
dependabot[bot] c3492bc0ed Bump github/codeql-action from 3.27.0 to 3.27.1 (#130323) 2024-11-11 08:14:42 +01:00
G Johansson 85bf8d1374 Fix Homekit error handling alarm state unknown or unavailable (#130311) 2024-11-10 22:40:23 +00:00
Jan Bouwhuis e040eb0ff2 Remove extra state attributes from some QNAP sensors (#130310) 2024-11-10 22:26:00 +01:00
Max Shcherbina d7f41ff8a9 Update generic thermostat strings for clarity and accuracy (#130243) 2024-11-10 22:13:38 +01:00
Jan Bouwhuis de5437f61e Remove YAML warning for thethingsnetwork after warning for 6 months (#130307) 2024-11-10 22:12:31 +01:00
Jan Bouwhuis c52a893e21 Remove YAML import from lcl integration after 6 months deprecation (#130305) 2024-11-10 21:10:18 +01:00
Joost Lekkerkerker f7f1830b7e Add support for binary sensor states in Google Assistant (#127652) 2024-11-10 20:34:24 +01:00
Simon Lamon 784ad20fb6 Add diagnostics to LinkPlay (#126768) 2024-11-10 20:31:40 +01:00
Richard Cox 0468e7e7a3 Update Sonarr config flow to standardize ports (#127625)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-11-10 20:23:23 +01:00
dotvav 88c227681d Bump pypalazzetti to 0.1.11 (#130293) 2024-11-10 20:13:31 +01:00
Lennard Beers 3a37ff13a6 Bump eq3btsmart to 1.2.1 (#130297) 2024-11-10 20:12:46 +01:00
Simone Chemelli 73929e6791 Avoid Shelly data update during shutdown (#130301) 2024-11-10 20:11:42 +01:00
Manu 980b0fa5e6 Deprecate api_call action in Habitica integration (#128119) 2024-11-10 19:37:41 +01:00
Tsvi Mostovicz fbc4a87166 Remove Jewish Calendar config flow upgrade (#129612) 2024-11-10 19:35:01 +01:00
Allen Porter 7f9ec2a79e Ignore WebRTC candidates for nest cameras (#130294) 2024-11-10 19:27:40 +01:00
Jan Bouwhuis d8b55d39e4 Remove tibber legacy notify service after 6 months of deprecation (#130292) 2024-11-10 19:27:11 +01:00
Jan Bouwhuis ee41725b53 Remove jewish_calendar yaml support after 6 months of deprecation (#130291) 2024-11-10 16:51:08 +01:00
J. Diego Rodríguez Royo ae1203336d Add links to deprecation issue message for Home Connect Binary door (#129779) 2024-11-10 16:37:53 +01:00
Michael f10063c9be Fix translation key for done response in conversation (#130247) 2024-11-10 16:28:58 +01:00
Åke Strandberg 1da4579a09 Add more f-series models to myuplink (#130283) 2024-11-10 15:46:50 +01:00
Jan Bouwhuis 7fd9339ad8 Remove unused file CONFIG_SCHEMA (#130287) 2024-11-10 15:34:08 +01:00
Jan Bouwhuis de391fa98b Remove geniushub yaml support after 6 months of deprecation (#130285)
* Remove geniushub YAML import after 6 moths of deprecation

* Update homeassistant/components/geniushub/__init__.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-10 14:58:44 +01:00
J. Nick Koston 70211ab78e Bump aiohttp to 3.11.0rc0 (#130284) 2024-11-10 13:45:46 +00:00
Nicholas Romyn a1a08f7755 Ecobee aux cutover threshold (#129474)
* removing extra blank space

* Adding EcobeeAuxCutoverThreshold

First pass.

* minor reorg and changes; testing local check-in

* Adding entity, setting device class and name

* Bumping max value slightly to hopefully accomodate celsius, setting numberMode=box

* fixing the entity name for aux cutover threshold

* Combined async_add_entities

* Using a list comprehension

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

* fixing stuff with listcomprehension

* exchanging call to list.append() to extend with list comprehension

* Updating the class name and the entity name to match the device UI.
Removing abbreviations from entity names

* Fixing tests to match new entity names

* respecting 88 column limit

* Formatting

* Adding test coverage for update/set compressorMinTemp values

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-10 14:13:01 +01:00
G Johansson 433321136d Remove incorrect mark fixture in nordpool (#130278) 2024-11-10 12:28:18 +01:00
Manu 0677bba5bd Add actions for scoring habits and rewards in Habitica (#129605) 2024-11-10 12:26:07 +01:00
G Johansson d0ad834d93 Move manual trigger entity tests (#130134) 2024-11-10 12:14:13 +01:00
Simon Lamon 7d2d6a82b0 Allow dynamic max preset in linkplay play preset (#130160) 2024-11-10 12:02:55 +01:00
Allen Porter e8dc62411a Improve nest camera stream expiration to be defensive against errors (#130265) 2024-11-10 12:01:59 +01:00
G Johansson 7925007ab4 Bump psutil to 6.1.0 (#130254) 2024-11-10 12:00:45 +01:00
dotvav 7515deddab Palazzetti DHCP Discovery (#129731)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-11-10 11:48:52 +01:00
Marc Mueller e382f924e6 Add support for Python 3.13 (#129442) 2024-11-10 11:38:56 +01:00
Max Shcherbina 7fdcb98518 Update description for generic hygrostat description (#130244) 2024-11-10 11:25:32 +01:00
Noah Husby d0dbca41f7 Support additional media player states for Russound RIO (#130261) 2024-11-10 11:20:55 +01:00
G Johansson f3229c723c Bump pynordpool to 0.2.2 (#130257) 2024-11-10 11:19:10 +01:00
J. Nick Koston cafa598fd6 Bump aiohttp to 3.11.0b5 (#130264) 2024-11-10 11:18:12 +01:00
Allen Porter 73a62a09b0 Update nest tests to unload config entries to perform clean teardown (#130266) 2024-11-10 09:54:52 +01:00
Lothar Bach ecd8dde347 Fix path to tesla fleet key file in config folder (#130124)
* Tesla Fleet load key file from config folder

* Fix test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-11-09 23:21:29 +01:00
Marc Mueller 31a2bb1b98 Fix flaky modbus tests (#130252) 2024-11-09 22:58:16 +01:00
Max Shcherbina 0fc019305e Fix typo in reminder date language string in Todoist integration (#130241) 2024-11-09 21:38:29 +01:00
Marc Mueller adb1c59859 Update grpcio to 1.67.1 (#130240) 2024-11-09 21:37:56 +01:00
Manu 5d0277a0d1 Add actions for quest handling to Habitica (#129650) 2024-11-09 19:34:25 +01:00
Allen Porter 21d81d5a5c Bump google-nest-sdm to 6.1.5 (#130229) 2024-11-09 19:02:15 +01:00
DeerMaximum 0de4bfcc2c Add missing translation string for NINA (#129826) 2024-11-09 18:33:28 +01:00
jjlawren 2cc5486794 Bump SoCo to 0.30.6 (#130223) 2024-11-09 17:14:40 +01:00
Noah Husby e3315383ab Improve entity test coverage for Russound RIO (#129828) 2024-11-09 17:13:57 +01:00
Markus Jacobsen 31b505828b Simplify Bang & Olufsen source determination (#130072) 2024-11-09 17:13:07 +01:00
Daniel Oltmanns b61580a937 Add fan preset mode icons and strings to vesync (#129584) 2024-11-09 16:48:00 +01:00
Markus Jacobsen 928e5348e4 Add custom integration action sections support to hassfest (#130148) 2024-11-09 16:47:02 +01:00
Josef Zweck 622682eb43 Change update after button press for lamarzocco (#129616) 2024-11-09 16:42:10 +01:00
Simon Lamon 97fa568876 No longer thrown an error when device is offline in linkplay (#130161) 2024-11-09 16:11:34 +01:00
Manu c10f078f2a Add sensors for attribute points (str, int, per, con) to Habitica (#130186) 2024-11-09 16:04:10 +01:00
Simone Chemelli e6d16f06fc Fix uptime sensor for Vodafone Station (#130215) 2024-11-09 15:55:39 +01:00
Daniel Hjelseth Høyer c89ab7a142 Bump pyTibber (#130216) 2024-11-09 15:54:58 +01:00
Jan Bouwhuis 6837ea947c Cleanup yaml import and legacy file notify service (#130219) 2024-11-09 15:54:18 +01:00
Marco 5f0f29704b Add smarty reset filters timer button (#129637) 2024-11-09 13:32:00 +01:00
Manu 1f43dc6676 Fix cast skill test in Habitica (#130213) 2024-11-09 13:12:04 +01:00
Marc Mueller 4d7405de2c Install zlib-dev for pillow wheel build (#130211) 2024-11-09 13:03:26 +01:00
Max Shcherbina 4adffdd1a6 Fix wording in Google Calendar create_event strings for consistency (#130183) 2024-11-09 13:01:59 +01:00
Manu 4e2f5bdb7d Add tests for cast skill action in Habitica (#129596) 2024-11-09 12:45:50 +01:00
starkillerOG 03bc711c51 Add Reolink chime vehicle tone (#129835) 2024-11-09 12:25:06 +01:00
Marc Mueller 8b8e949bdf Update wheel builder to 2024.11.0 (#130209) 2024-11-09 12:07:20 +01:00
Erik Montnemery 69ba0d3a50 Report update_percentage in ezviz update entity (#129377) 2024-11-09 11:35:18 +01:00
epenet 25fb70f281 Add blood glucose concentration device class (#129340) 2024-11-09 11:29:24 +01:00
Tom Gamull 0304588bb8 Fix missing unit of measurement for blink wifi strength (#128409) 2024-11-09 11:19:36 +01:00
Josef Zweck 08f5081197 Rename lamarzocco library (#130204) 2024-11-09 11:03:48 +01:00
jb101010-2 701f35488c Add water price sensor to suez water (#130141)
* Suez water: add water price sensor

* sensor description

* clean up
2024-11-09 10:57:22 +01:00
G Johansson d11012b2b7 Move check thresholds valid to platform schema in threshold (#129540) 2024-11-09 10:50:11 +01:00
Josef Zweck 8384100e1b Rename tedee library (#130203) 2024-11-09 10:46:38 +01:00
Tristan Bastian cd0349ee4d Bump tplink-omada-client to 1.4.3 (#130184) 2024-11-09 10:41:08 +01:00
Marc Mueller b413e481cb Update numpy to 2.1.3 (#130191) 2024-11-09 10:12:52 +01:00
Diogo Gomes 9f7e6048f8 Code quality improvements on utility_meter (#129918)
* clean

* update snapshot

* move name, native_value and native_unit_of_measurement to _attr's

* Apply suggestions from code review

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-09 00:17:43 +01:00
IceBotYT 2802b77f21 Bump nice-go to 0.3.10 (#130173)
Bump Nice G.O. to 0.3.10
2024-11-09 00:12:14 +01:00
J. Nick Koston 964ad43a27 Bump orjson to 3.10.11 (#130182) 2024-11-09 00:07:05 +01:00
TheJulianJES 182be6e0ea Fix failing UniFi Protect tests on some systems (#129516) 2024-11-08 23:10:29 +01:00
Jakob Schlyter cd11f01ace Add support for MW/GW/TW and GWh/TWh (#130089) 2024-11-08 22:12:16 +01:00
G Johansson 742eca5927 Use TemplateStateFromEntityId in Template trigger entity (#130136) 2024-11-08 22:09:43 +01:00
murfy76 48e7fed901 Add voc and formaldehyde to Tuya CO2 Detector (#130119) 2024-11-08 22:03:01 +01:00
Marc Mueller 0a4c0fe7cc Add option to specify additional markers for wheel build requirements (#129949) 2024-11-08 21:09:53 +01:00
Jan Bouwhuis 9037cb8a7d Fix typo in go2rtc (#130165)
Fix typo in original
2024-11-08 20:38:38 +01:00
Jan Bouwhuis c97cc34879 Use f-strings in go2rtc code and test and do not use abbreviation (#130158) 2024-11-08 20:16:46 +01:00
Sheldon Ip 1ac9217630 Fix translations in ollama (#130164) 2024-11-08 20:15:17 +01:00
Simon Lamon e4036a2f14 Bump python-linkplay to v0.0.18 (#130159) 2024-11-08 20:14:33 +01:00
G Johansson da9c73a767 Add reconfigure flow to Nord Pool (#130151) 2024-11-08 19:53:52 +01:00
Diogo Gomes e4aaaf10c3 Fix utility_meter on DST changes (#129862)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-08 18:44:15 +01:00
Louis Christ a7be76ba0a Fix volume_up not working in some cases in bluesound integration (#130146) 2024-11-08 18:40:43 +01:00
Allen Porter f7cc91903c Fix bugs in nest stream expiration handling (#130150) 2024-11-08 18:37:00 +01:00
Jan Bouwhuis 4a8a674bd3 Refrase imap fetch service description string (#130152) 2024-11-08 18:36:19 +01:00
Robert Resch a8db25fbd8 Split test doesn't need to be executed per Python version (#130147) 2024-11-08 18:05:05 +01:00
Klaas Schoute 2dc81ed866 Force int value on port in P1Monitor (#130084) 2024-11-08 16:15:57 +01:00
Shai Ungar c4762f3ff4 Fix issue when timestamp is None (#130133)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-08 16:15:28 +01:00
Martin Hjelmare 14285973b8 Bump ha-ffmpeg to 3.2.2 (#130142) 2024-11-08 16:00:24 +01:00
epenet 353ccf3ea7 Only apply OptionsFlowWithConfigEntry deprecation to core (#130054)
* Only apply OptionsFlowWithConfigEntry deprecation to core

* Fix match string in pytest.raises

* Improve coverage
2024-11-08 15:55:19 +01:00
Lektri.co 6b90d8ff1a Add binary sensor platform to the Lektrico integration (#129872) 2024-11-08 15:54:46 +01:00
Robert Resch 51e691f832 Add go2rtc workaround for HA managed one until upstream fixes it (#130139) 2024-11-08 15:54:14 +01:00
Joost Lekkerkerker 6c7ac7a6ef Bump spotifyaio to 0.8.7 (#130140) 2024-11-08 15:53:26 +01:00
Bram Kragten 52ed1bf44a Update frontend to 20241106.2 (#130128) 2024-11-08 15:13:05 +01:00
Petar Petrov 3eab0b704e Get/Set custom config parameter for zwave_js node (#129332)
* Get/Set custom config parameter for zwave_js node

* add tests

* handle errors on set

* test FailedCommand
2024-11-08 15:12:18 +01:00
G Johansson 1f32e02ba2 Add Nord Pool integration (#129983) 2024-11-08 15:10:51 +01:00
epenet 074418f8f7 Drop OptionsFlowWithConfigEntry usage in homeassistant_hardware (#130078)
* Drop OptionsFlowWithConfigEntry usage in homeassistant_hardware

* Add homeassistant_hardware as other components rely on it

* Maybe core_files not needed after all
2024-11-08 14:53:46 +01:00
Martin Hjelmare b711b17193 Remove Z-Wave incorrect lock service descriptions (#130034) 2024-11-08 14:50:41 +01:00
Steven B. 03c3d09583 Enable overriding connection port for tplink devices (#129619)
Enable setting a port override during manual config entry setup.

The feature will be undocumented as it's quite a specialized use case generally used for testing purposes.
2024-11-08 14:41:00 +01:00
Robert Resch f49547d598 Bump uv to 0.5.0 (#130127) 2024-11-08 14:19:46 +01:00
jb101010-2 7678be8e2b Suez water: simplify config flow (#130083)
Simplify config flow for suez water. Counter_id can now be automatically be fetched by the integration.
The value is provided only in the source code of suez website and therefore not easily accessible to user not familiar with devlopment.
Still possible to explicitly set the value for user with multiple value or value defined elsewhere.
2024-11-08 14:01:36 +01:00
epenet 7672215095 Trigger full CI run on homeassistant_hardware integration changes (#130129)
Add components/homeassistant_hardware to core files
2024-11-08 13:46:40 +01:00
epenet 18cf96b92b Bring emoncms coverage to 100% (#130092)
Remove mock_setup_entry from emoncms OptionsFlow test
2024-11-08 13:42:19 +01:00
epenet 94d597fd41 Add checks for flow title/description placeholders (#129140)
* Add checks for title placeholders

* Check both title and description

* Improve comment
2024-11-08 13:33:19 +01:00
Alexandre CUER 24b47b50ea Migrate from entry unique id to emoncms unique id (#129133)
* Migrate from entry unique id to emoncms unique id

* Use a placeholder for the documentation URL

* Use async_set_unique_id in config_flow

* use _abort_if_unique_id_configured in config_flow

* Avoid single-use variable

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

* Add async_migrate_entry

* Remove commented code

* Downgrade version if user add server without uuid

* Improve code quality

* Move code migrating HA to emoncms uuid to init

* Fit doc url in less than 88 chars

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

* Improve code quality

* Only update unique_id with async_update_entry

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

* Make emoncms_client compulsory to get_feed_list

* Improve readability with unique id functions

* Rmv test to give more sense to _migrate_unique_id

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-08 13:29:10 +01:00
Markus Jacobsen e3dfa84d65 Bang & Olufsen add beolink grouping (#113438)
* Add Beolink custom services
Add support for media player grouping via beolink
Give media player entity name

* Fix progress not being set to None as Beolink listener
Revert naming changes

* Update API
simplify Beolink attributes

* Improve beolink custom services

* Fix Beolink expandable source check
Add unexpand return value
Set entity name on initialization

* Handle entity naming as intended

* Fix "null" Beolink self friendly name

* Add regex service input validation
Add all_discovered to beolink_expand service
Improve beolink_expand response

* Add service icons

* Fix merge
Remove unnecessary assignment

* Remove invalid typing
Update response typing for updated API

* Revert to old typed response dict method
Remove mypy ignore line
Fix jid possibly used before assignment

* Re add debugging logging

* Fix coroutine
Fix formatting

* Remove unnecessary update control

* Make tests pass
Fix remote leader media position bug
Improve remote leader BangOlufsenSource comparison

* Fix naming and add callback decorators

* Move regex service check to variable
Suppress KeyError
Update tests

* Re-add hass running check

* Improve comments, naming and type hinting

* Remove old temporary fix

* Convert logged warning to raised exception for invalid media_player
Simplify code using walrus operator

* Fix test for invalid media_player grouping

* Improve method naming

* Improve _beolink_sources explanation

* Improve _beolink_sources explanation

* Fix tests

* Remove service responses
Fix and add tests

* Change service to action where applicable

* Show playback progress for listeners

* Fix testing

* Remove useless initialization

* Fix allstandby name

* Fix various casts with assertions
Fix comment placement
Fix group leader group_members rebase error
Replace entity_id method call with attribute

* Add syrupy snapshots for Beolink tests, checking entity states
Use test JIDs 3 and 4 instead of 2 and 3 to avoid invalid attributes in testing

* Add sections for fields using Beolink JIDs directly

* Fix typo

* FIx rebase mistake

* Sort actions alphabetically
2024-11-08 12:06:29 +01:00
nasWebio ed1366f463 Add NASweb integration (#98118)
* Add NASweb integration

* Fix DeviceInfo import

* Remove commented out code

* Change class name for uniquness

* Drop CoordinatorEntity inheritance

* Rename class Output to more descriptive: RelaySwitch

* Update required webio-api version

* Implement on-the-fly addition/removal of entities

* Set coordinator name matching device name

* Set entities with too old status as unavailable

* Drop Optional in favor of modern typing

* Fix spelling of a variable

* Rename commons to more fitting name: helper

* Remove redundant code

* Let unload fail when there is no coordinator

* Fix bad docstring

* Rename cord to coordinator for clarity

* Remove default value for pop and let it raise exception

* Drop workaround and use get_url from helper.network

* Use webhook to send data from device

* Deinitialize coordinator when no longer needed

* Use Python formattable string

* Use dataclass to store integration data in hass.data

* Raise ConfigEntryNotReady when appropriate

* Refactor NASwebData class

* Move RelaySwitch to switch.py

* Fix ConfigFlow tests

* Create issues when entry fails to load

* Respond when correctly received status update

* Depend on webhook instead of http

* Create issue when status is not received during entry set up

* Make issue_id unique across integration entries

* Remove unnecessary initializations

* Inherit CoordinatorEntity to avoid code duplication

* Optimize property access via assignment in __init__

* Use preexisting mechanism to fill schema with user input

* Fix translation strings

* Handle unavailable or unreachable internal url

* Implement custom coordinator for push driven data updates

* Move module-specific constants to respective modules

* Fix requirements_all.txt

* Fix CODEOWNERS file

* Raise ConfigEntryError instead of issue creation

* Fix entity registry import

* Use HassKey as key in hass.data

* Use typed ConfigEntry

* Store runtime data in config entry

* Rewrite to be more Pythonic

* Move add/remove of switch entities to switch.py

* Skip unnecessary check

* Remove unnecessary type hints

* Remove unnecessary nonlocal

* Use a more descriptive docstring

* Add docstrings to NASwebCoordinator

* Fix formatting

* Use correct return type

* Fix tests to align with changed code

* Remove commented code

* Use serial number as config entry id

* Catch AbortFlow exception

* Update tests to check ConfigEntry Unique ID

* Remove unnecessary form abort
2024-11-08 12:03:32 +01:00
Josef Zweck 5d5908a03f Add missing string to tedee plus test (#130081) 2024-11-08 08:47:28 +01:00
Kelvin Dekker 3062bad19e Fix typo in insteon strings (#130085) 2024-11-08 08:47:02 +01:00
Bram Kragten 28832cbd3e Update frontend to 20241106.1 (#130086) 2024-11-08 08:46:48 +01:00
Luke Lashley ce94073321 Bump python-roborock to 2.7.2 (#130100) 2024-11-08 08:39:41 +01:00
J. Nick Koston fa61e02207 Bump aiohttp to 3.11.0b4 (#130097) 2024-11-08 08:36:30 +01:00
Robert Resch d1dab83f10 Merge both stun server into one as it's the same server only on a different port (#130019)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-08 08:22:47 +01:00
Erik Montnemery 2b7d593ebe Avoid collision when replacing existing config entry with same unique id (#130062) 2024-11-08 07:45:16 +01:00
Allen Porter e407b4730d Fix KeyError in nest integration when the old key format does not exist (#130057)
* Fix bug in nest setup when the old key format does not exist

* Further simplify the entry.data check

* Update homeassistant/components/nest/api.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-07 20:03:07 -08:00
YogevBokobza 0d19e85a0d Align Switcher cover platform with changes from light platform (#130094)
Switcher small fix for cover
2024-11-08 02:59:30 +02:00
YogevBokobza dac6271e01 Add Switcher Lights support (#129494)
* switcher lights integration

* fix based on requested changes

* Update light.py

* switcher fix based on requested changes

* fix linting

* fix linting

* Update light.py

* Update light.py

* Update homeassistant/components/switcher_kis/light.py

* Update light.py

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-11-07 22:06:34 +02:00
Marc Mueller 8cae8edc55 Remove temporary pint constraint (#130070) 2024-11-07 19:10:24 +01:00
epenet a3b0909e3f Add new frame helper to better distinguish custom and core integrations (#130025)
* Add new frame helper to clarify options available

* Adjust

* Improve

* Use report_usage in core

* Add tests

* Use is/is not

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

* Use enum.auto()

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-07 18:23:35 +01:00
Markus ee30520b57 Fix esphome mqtt discovery by handling case where payload is a empty string (#129969)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-07 11:16:01 -06:00
Erik Montnemery 536e686892 Don't create repairs asking user to remove duplicate flipr config entries (#130058)
* Don't create repairs asking user to remove duplicate flipr config entries

* Improve comments
2024-11-07 17:38:10 +01:00
epenet ef767c2b9f Improve tests for frame helper (#130046)
* Improve tests for frame helper

* Improve comments

* Add ids

* Apply suggestions from code review
2024-11-07 17:35:58 +01:00
Frank Wickström c1ecc13cb3 Bump huum to 0.7.11 (#130047)
* Update huum dependency 0.7.10 -> 0.7.11

This change includes an explicit MIT license for the package.

* Remove huum from license exceptions list
2024-11-07 17:18:36 +01:00
Erik Montnemery c5e3ba536c Don't create repairs asking user to remove duplicate ignored config entries (#130056) 2024-11-07 17:07:23 +01:00
jb101010-2 0e324c074a Bump PySuez to 1.3.1 (#129825) 2024-11-07 14:25:38 +01:00
epenet a3ba7803db Add checks for translation placeholders (#129963)
* Add checks for translation placeholders

* Remove async

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review
2024-11-07 13:12:00 +01:00
Marc Mueller 49bf5db5ff Update pytest warnings filter (#130027) 2024-11-07 12:55:54 +01:00
Franck Nijhof 50981c26ad Merge branch 'master' into dev 2024-11-07 10:58:42 +01:00
Allen Porter 2adbf7c933 Bump google-nest-sdm to 6.1.4 (#130005)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-07 10:50:40 +01:00
Brett Adams 838ef0bb9f Fix Trunks in Teslemetry and Tesla Fleet (#129986) 2024-11-07 10:36:43 +01:00
sean t 43c2658962 Bump agent-py to 0.0.24 (#130018)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-07 10:34:54 +01:00
epenet bbefa971d8 Add missing placeholder description to twitch (#130013) 2024-11-07 10:32:23 +01:00
Petar Petrov cb97f2f13c Bump zwave-js-server-python to 0.59.0 (#129482) 2024-11-07 10:06:28 +01:00
epenet a657b9bb84 Add temporary package constraint on flexparser and pint to fix CI (#130016)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-11-07 09:57:14 +01:00
Erik Montnemery 2d2f55a4df Report update_percentage in shelly update entity (#129382)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-11-07 08:52:20 +01:00
Michael Hansen df16e6d022 Bump intents to 2024.11.6 (#129982) 2024-11-07 08:29:44 +01:00
Marc Mueller 56212c6fa5 Update numpy to 2.1.2 and pandas to 2.2.3 (#129958) 2024-11-07 08:24:47 +01:00
Keilin Bickar bc964ce7f0 Update sense energy library to 0.13.3 (#129998) 2024-11-07 08:14:54 +01:00
Mike Degatano ed4f55406c Replace Supervisor resolution API calls with aiohasupervisor (#129599)
* Replace Supervisor resolution API calls with aiohasupervisor

* Use consistent types to avoid uuid issues

* Fix mocking in http test

* Changes from feedback

* Put hass first

* Fix typo

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-07 01:33:51 +01:00
epenet 03d5b18974 Remove options property from OptionFlow (#129890)
* Remove options property from OptionFlow

* Update test_config_entries.py

* Partial revert of "Remove deprecated property setters in option flows (#129773)"

* Partial revert "Use new helper properties in crownstone options flow (#129774)"

* Restore onewire init

* Restore onvif

* Restore roborock

* Use deepcopy in onewire

* Restore steam_online

* Restore initial options property in OptionsFlowWithConfigEntry

* re-add options property in SchemaOptionsFlowHandler

* Restore test

* Cleanup
2024-11-06 23:28:01 +01:00
J. Nick Koston 53c486ccd1 Bump aiohttp to 3.11.0b3 (#129363) 2024-11-06 15:59:31 -06:00
Steven B. 9a2a177b28 Bump ring library ring-doorbell to 0.9.9 (#129966) 2024-11-06 15:46:08 -06:00
Franck Nijhof 18e12740d9 2024.11.0 (#129970) 2024-11-06 20:10:51 +01:00
Franck Nijhof 5a24b670a2 Ran ruff 2024-11-06 19:32:23 +01:00
Franck Nijhof 94c5c8f42e Bump version to 2024.11.0 2024-11-06 19:29:07 +01:00
Manu e84d5fba11 Add state invitation to list access sensor in Bring integration (#129960) 2024-11-06 19:28:54 +01:00
Manu b808c0c5eb Add state invitation to list access sensor in Bring integration (#129960) 2024-11-06 19:15:25 +01:00
Franck Nijhof 782417528c Bump version to 2024.11.0b9 2024-11-06 18:25:29 +01:00
Robert Resch 7757423d18 Bump go2rtc-client to 0.1.0 (#129965) 2024-11-06 18:24:12 +01:00
Joost Lekkerkerker e5a28f4f25 Remove deprecation issues for LCN once entities removed (#129955) 2024-11-06 18:21:32 +01:00
Erik Montnemery c18d50910f Call async_refresh_providers when camera entity feature changes (#129941) 2024-11-06 18:21:28 +01:00
Robert Resch d4adb1f298 Bump go2rtc-client to 0.1.0 (#129965) 2024-11-06 17:59:04 +01:00
Erik Montnemery fe0a822721 Call async_refresh_providers when camera entity feature changes (#129941) 2024-11-06 17:37:23 +01:00
Joost Lekkerkerker 9f427893b1 Remove deprecation issues for LCN once entities removed (#129955) 2024-11-06 17:00:20 +01:00
Franck Nijhof 3b840c684b Bump version to 2024.11.0b8 2024-11-06 15:44:10 +01:00
Bram Kragten bc84fdc64a Update frontend to 20241106.0 (#129953) 2024-11-06 15:43:33 +01:00
Robert Resch 401262c23d Bump go2rtc-client to 0.0.1b5 (#129952) 2024-11-06 15:42:22 +01:00
Manu 795384ca2d Improve error messages in Habitica (#129948)
Improve error messages
2024-11-06 15:41:44 +01:00
J. Diego Rodríguez Royo dfc3423c83 Delete binary door deprecation issue on unload at Home Connect (#129947) 2024-11-06 15:41:39 +01:00
Robert Resch 22b5071c26 Bump go2rtc-client to 0.0.1b4 (#129942) 2024-11-06 15:40:30 +01:00
Joost Lekkerkerker 4b9524c5c1 Write squeezebox player state after query (#129939) 2024-11-06 15:39:07 +01:00
Joost Lekkerkerker 9cd46c7f03 Bump spotifyaio to 0.8.5 (#129938) 2024-11-06 15:39:03 +01:00
Robert Resch 232a6868ff Fix native sync WebRTC offer (#129931) 2024-11-06 15:39:00 +01:00
Kunal Aggarwal 361e0d4fc7 Adding "peaceful" status as on value to Tuya Presence Sensor (#129925) 2024-11-06 15:38:57 +01:00
Paulus Schoutsen 26d8d5343a Ensure all template names are strings (#129921) 2024-11-06 15:38:53 +01:00
starkillerOG 995aab8347 Bump reolink_aio to 0.10.4 (#129914) 2024-11-06 15:38:50 +01:00
Robert Resch 399011552b Disable uv cache (#129912) 2024-11-06 15:38:46 +01:00
Markus Jacobsen 0c9f30364c Update Bang & Olufsen source list as availability changes (#129910) 2024-11-06 15:38:43 +01:00
Louis Christ bdc17621ee Map "stop" to MediaPlayerState.IDLE in bluesound integration (#129904)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-06 15:38:40 +01:00
Joost Lekkerkerker 399c53a57e Bump spotifyaio to 0.8.4 (#129899) 2024-11-06 15:38:36 +01:00
Daniel Hjelseth Høyer f55e13bde4 Bump pyTibber to 0.30.4 (#129844) 2024-11-06 15:38:32 +01:00
epenet dea31e5744 Ensure that all files in a folder are in the same test bucket (#129946) 2024-11-06 15:38:24 +01:00
Michael Hansen 48d9df89ac Bump intents and add HassRespond test (#129830) 2024-11-06 15:36:46 +01:00
kingal123 adf836d9ac Update pylutron to 0.2.16 (#129653)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-06 15:33:16 +01:00
epenet 51d6948848 Use read-only options in google cloud options flow (#129927) 2024-11-06 15:15:35 +01:00
epenet 7ce74cb5ec Use read-only options in onkyo options flow (#129929) 2024-11-06 15:14:59 +01:00
Bram Kragten 29ba140816 Update frontend to 20241106.0 (#129953) 2024-11-06 14:53:59 +01:00
Robert Resch 0ca4f3e1ba Bump go2rtc-client to 0.0.1b5 (#129952) 2024-11-06 14:52:21 +01:00
J. Diego Rodríguez Royo 0430e6794e Delete binary door deprecation issue on unload at Home Connect (#129947) 2024-11-06 14:44:17 +01:00
Marc Mueller 29fa7f827a Fix audit-licenses check for multiple Python versions [ci] (#129951) 2024-11-06 14:20:14 +01:00
Tsvi Mostovicz 57d1001603 Move Jewish Calendar to runtime data (#129609) 2024-11-06 14:19:58 +01:00
Brett Adams 96de4b3828 Improve history coordinator in Teslemetry (#128235) 2024-11-06 13:40:37 +01:00
Teemu R. c6cb2884f4 Add motion sensor setting to tplink (#129393) 2024-11-06 13:40:17 +01:00
Manu 27e81fe0ed Improve error messages in Habitica (#129948)
Improve error messages
2024-11-06 13:23:43 +01:00
Louis Christ 2c1db10986 Map "stop" to MediaPlayerState.IDLE in bluesound integration (#129904)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-06 13:10:23 +01:00
epenet a7ba4bd086 Use read-only options in emoncms options flow (#129926)
* Use read-only options in emoncms options flow

* Don't store URL and API_KEY in entry options
2024-11-06 13:09:05 +01:00
Robert Resch 25449b424f Bump go2rtc-client to 0.0.1b4 (#129942) 2024-11-06 12:05:23 +01:00
Markus Jacobsen f6f89bd807 Update Bang & Olufsen source list as availability changes (#129910) 2024-11-06 11:52:00 +01:00
Daniel Hjelseth Høyer 370d7d6bdf Bump pyTibber to 0.30.4 (#129844) 2024-11-06 11:44:54 +01:00
Kunal Aggarwal 4dbf3359c1 Adding "peaceful" status as on value to Tuya Presence Sensor (#129925) 2024-11-06 11:43:41 +01:00
Joost Lekkerkerker 25eb7173bf Write squeezebox player state after query (#129939) 2024-11-06 11:32:59 +01:00
Joost Lekkerkerker 648c3d500b Bump spotifyaio to 0.8.5 (#129938) 2024-11-06 11:32:35 +01:00
epenet 33016c2977 Use new helper properties in netatmo options flow (#129781)
* Use new helper properties in netatmo options flow

* Update homeassistant/components/netatmo/config_flow.py

* Apply suggestions from code review

* Improve

* Keep options

* Simplify
2024-11-06 10:37:55 +01:00
Robert Resch 5679b061d2 Fix native sync WebRTC offer (#129931) 2024-11-06 10:07:10 +01:00
Nicholas Romyn 2eb2bdd615 Consolidating async_add_entities into one call in Ecobee (#129917)
* Consolidating async_add_entities into one call.

* changing to comprehension.
2024-11-06 08:25:18 +01:00
epenet 184cbfea23 Use read-only options in lastfm options flow (#129928)
Use read-only options in lstfm options flow
2024-11-06 08:14:54 +01:00
dependabot[bot] f88bc008e5 Bump actions/attest-build-provenance from 1.4.3 to 1.4.4 (#129924) 2024-11-06 08:13:41 +01:00
Paulus Schoutsen a927312fb5 Ensure all template names are strings (#129921) 2024-11-05 22:36:26 -05:00
starkillerOG 5f13db2356 Bump reolink_aio to 0.10.4 (#129914) 2024-11-06 00:05:05 +01:00
kingal123 64e84e2aa0 Update pylutron to 0.2.16 (#129653)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-05 22:23:14 +01:00
Michael Hansen 901457e7aa Bump intents and add HassRespond test (#129830) 2024-11-05 22:22:49 +01:00
Robert Resch 89a9c2ec24 Disable uv cache (#129912) 2024-11-05 22:18:41 +01:00
Joost Lekkerkerker 9e04457472 Bump spotifyaio to 0.8.4 (#129899) 2024-11-05 21:04:58 +01:00
Ville Skyttä 6ecdbb677f Bump huawei-lte-api to 1.10.0 (#129911) 2024-11-05 21:03:26 +01:00
Franck Nijhof 211ce43127 Bump version to 2024.11.0b7 2024-11-05 20:33:48 +01:00
G Johansson f5555df990 Bump holidays to 0.60 (#129909) 2024-11-05 20:33:39 +01:00
Paul Bottein 82c2422990 Update frontend to 20241105.0 (#129906) 2024-11-05 20:33:36 +01:00
Erik Montnemery 734ebc1adb Improve improv BLE error handling (#129902) 2024-11-05 20:33:33 +01:00
Paulus Schoutsen eb3371beef Change Ollama default to llama3.2 (#129901) 2024-11-05 20:33:30 +01:00
Manu e1ef1063fe Prevent update entity becoming unavailable on device disconnect in IronOS (#129840)
* Don't render update entity unavailable when Pinecil device disconnects

* fixes
2024-11-05 20:33:27 +01:00
Diogo Gomes c355a53485 Set friendly name of utility meter select entity when configured through YAML (#128267)
* set select friendly name in YAML

* backward compatibility added

* clean

* cleaner backward compatibility approach

* don't introduce default unique_id

* split test according to review
2024-11-05 20:33:23 +01:00
G Johansson 79de1d9ed4 Bump holidays to 0.60 (#129909) 2024-11-05 20:26:22 +01:00
Paul Bottein 7fefa5c235 Update frontend to 20241105.0 (#129906) 2024-11-05 20:25:15 +01:00
Brett Adams 94db78a0be Add signing support to Tesla Fleet (#128407)
* Add command signing

* wip

* Update tests

* requirements

* Add test
2024-11-05 20:04:55 +01:00
Diogo Gomes 83a1b06b56 Set friendly name of utility meter select entity when configured through YAML (#128267)
* set select friendly name in YAML

* backward compatibility added

* clean

* cleaner backward compatibility approach

* don't introduce default unique_id

* split test according to review
2024-11-05 19:59:43 +01:00
epenet 1e42a38473 Remove usage of options property in OptionsFlow (part 2) (#129897) 2024-11-05 19:53:05 +01:00
epenet c54ed53a81 Remove usage of options property in OptionsFlow (part 1) (#129895)
* Remove usage of options property in OptionsFlow

* Improve
2024-11-05 19:51:20 +01:00
Manu 611a952232 Prevent update entity becoming unavailable on device disconnect in IronOS (#129840)
* Don't render update entity unavailable when Pinecil device disconnects

* fixes
2024-11-05 18:39:10 +01:00
Erik Montnemery 05e76105ad Improve improv BLE error handling (#129902) 2024-11-05 11:12:05 -05:00
Paulus Schoutsen ed56e5d631 Change Ollama default to llama3.2 (#129901) 2024-11-05 17:02:44 +01:00
Manu 9253fa4471 Add binary sensor platform to Habitica integration (#129613)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-05 17:01:38 +01:00
Franck Nijhof c85eb6bf8e Bump version to 2024.11.0b6 2024-11-05 16:51:05 +01:00
Joost Lekkerkerker cc30d34e87 Remove timers from LG ThinQ (#129898) 2024-11-05 16:50:41 +01:00
Erik Montnemery 14875a1101 Map go2rtc log levels to Python log levels (#129894) 2024-11-05 16:50:38 +01:00
Joost Lekkerkerker 030aebb97f Use default package for yt-dlp (#129886) 2024-11-05 16:50:35 +01:00
Erik Montnemery 6e2f36b6d4 Log go2rtc output with warning level on error (#129882) 2024-11-05 16:50:32 +01:00
Robert Resch 25a05eb156 Append a 1 to all go2rtc ports to avoid port conflicts (#129881) 2024-11-05 16:50:29 +01:00
J. Diego Rodríguez Royo b71c4377f6 Removed stale translation and improved set_setting translation at Home Connect (#129878) 2024-11-05 16:50:25 +01:00
Michael Arthur d671341864 Update snapshot for lg thinq (#129856)
update snapshot for lg thinq

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-05 16:39:02 +01:00
Mike Degatano 383f712d43 Add repair for add-on boot fail (#129847) 2024-11-05 16:38:59 +01:00
Alex Bush 8a20cd77a0 Bump pyfibaro to 0.8.0 (#129846) 2024-11-05 16:38:56 +01:00
Richard Kroegel 14023644ef Bump bimmer_connected to 0.16.4 (#129838) 2024-11-05 16:38:53 +01:00
dotvav 496fc42b94 Bump pypalazzetti to 0.1.10 (#129832) 2024-11-05 16:38:50 +01:00
Erik Montnemery da0688ce8e Validate go2rtc server version (#129810) 2024-11-05 16:38:47 +01:00
Robert Resch 89d3707cb7 Skip adding providers if the camera has native WebRTC (#129808)
* Skip adding providers if the camera has native WebRTC

* Update homeassistant/components/camera/__init__.py

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

* Implement suggestion

* Add tests

* Shorten test name

* Fix test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-05 16:38:44 +01:00
Kunal Aggarwal 3f5e395e2f Adding new on values for Tuya Presence Detection Sensor (#129801) 2024-11-05 16:38:41 +01:00
Joost Lekkerkerker 00ea1cab9f Add basic testing framework to LG ThinQ (#127785)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: YunseonPark-LGE <34848373+YunseonPark-LGE@users.noreply.github.com>
Co-authored-by: LG-ThinQ-Integration <LG-ThinQ-Integration@lge.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-11-05 16:38:37 +01:00
Joost Lekkerkerker 5f36062ef3 Remove timers from LG ThinQ (#129898) 2024-11-05 16:32:05 +01:00
Erik Montnemery e562b6f42b Map go2rtc log levels to Python log levels (#129894) 2024-11-05 15:57:33 +01:00
dotvav b76a94bd42 Bump pypalazzetti to 0.1.10 (#129832) 2024-11-05 15:34:25 +01:00
Joost Lekkerkerker 4e11ff05de Use default package for yt-dlp (#129886) 2024-11-05 15:23:41 +01:00
J. Diego Rodríguez Royo 080e3d7a42 Removed stale translation and improved set_setting translation at Home Connect (#129878) 2024-11-05 15:17:03 +01:00
Michael Hansen 69e3348cd7 Use different VAD thresholds for before and during voice command (#129848)
* Use two VAD thresholds

* Fix VoiceActivityTimeout class

* Update homeassistant/components/assist_pipeline/audio_enhancer.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-05 08:01:45 -06:00
Alexandre CUER 6caa4baa00 Fix missing translation string in emoncms (#129859) 2024-11-05 14:58:25 +01:00
Robert Resch 4729b19dc6 Skip adding providers if the camera has native WebRTC (#129808)
* Skip adding providers if the camera has native WebRTC

* Update homeassistant/components/camera/__init__.py

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

* Implement suggestion

* Add tests

* Shorten test name

* Fix test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-05 14:44:37 +01:00
Richard Kroegel 8abbc4abbc Bump bimmer_connected to 0.16.4 (#129838) 2024-11-05 14:13:48 +01:00
Erik Montnemery 3a667bce8c Log go2rtc output with warning level on error (#129882) 2024-11-05 14:05:04 +01:00
starkillerOG 4c86102daf Add Reolink PTZ tilt position sensor (#129837) 2024-11-05 13:39:45 +01:00
Karl Beecken 15bf652f37 Bump python-tado to 0.17.7 (#129842) 2024-11-05 12:30:48 +01:00
Robert Resch eafed2b86c Append a 1 to all go2rtc ports to avoid port conflicts (#129881) 2024-11-05 12:29:51 +01:00
epenet 79901cede9 Drop initialize_options helper from OptionsFlow (#129870) 2024-11-05 12:02:33 +01:00
tdfountain 27dc82d7d0 Add device model ID if provided by NUT (#124189)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-05 11:57:00 +01:00
Mike Degatano ae37c8cc7a Add repair for add-on boot fail (#129847) 2024-11-05 11:53:01 +01:00
Kunal Aggarwal 5eadfcc524 Adding new on values for Tuya Presence Detection Sensor (#129801) 2024-11-05 11:52:38 +01:00
Manu 5fd1e23255 Bump pynecil to 0.2.1 (#129843) 2024-11-05 11:52:11 +01:00
Teemu R. 72bcc6702f Add child lock for tplink thermostats (#129649) 2024-11-05 11:14:53 +01:00
Erik Montnemery 8889464e04 Validate go2rtc server version (#129810) 2024-11-05 11:09:10 +01:00
G Johansson af58b0c3b7 Add reconfigure flow to yale_smart_alarm (#129536) 2024-11-05 11:05:20 +01:00
epenet e9e20229a3 Drop use of initialize_options in androidtv_remote (#129855) 2024-11-05 10:57:03 +01:00
Alex Bush 80ff6dc618 Bump pyfibaro to 0.8.0 (#129846) 2024-11-05 10:56:34 +01:00
epenet fa30100160 Fix flaky tests in device_sun_light_trigger (#129871) 2024-11-05 10:55:40 +01:00
epenet e6c20333b3 Remove dead code in translation checks (#129875) 2024-11-05 10:47:37 +01:00
Joakim Sørensen 3858400a6f Bump hass-nabucasa from 0.83.0 to 0.84.0 (#129873) 2024-11-05 10:10:23 +01:00
epenet 95eefbac20 Drop use of initialize_options in androidtv (#129854)
* Drop use of initialize_options in androidtv

* Initialize instance attribute in init method

* Adjust
2024-11-05 09:01:29 +01:00
epenet e1e731eb48 Drop use of initialize_options in onkyo (#129869)
* Drop use of initialize_options in onkyo

* Apply suggestions from code review

Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>

---------

Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
2024-11-05 08:56:58 +01:00
Michael Arthur f7ce4ff25c Update snapshot for lg thinq (#129856)
update snapshot for lg thinq

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-05 08:15:42 +01:00
Paulus Schoutsen c7b2ffbc8e Bump version to 2024.11.0b5 2024-11-05 03:00:18 +00:00
J. Nick Koston 3a1502e2bb Disable SRTP for unifiprotect RTSPS stream (#129852) 2024-11-05 02:59:23 +00:00
J. Nick Koston b830f83a34 Bump uiprotect to 6.4.0 (#129851) 2024-11-05 02:59:23 +00:00
J. Nick Koston 2982e733bc Fix unifiprotect supported features being set too late (#129850) 2024-11-05 02:59:22 +00:00
starkillerOG e89ce215c6 Bump reolink-aio to 0.10.3 (#129841) 2024-11-05 02:59:21 +00:00
G Johansson b6345f8d07 Fix translations in hydrawise (#129834) 2024-11-05 02:59:20 +00:00
G Johansson 9d261bab48 Fix translation in ovo energy (#129833) 2024-11-05 02:59:19 +00:00
Michael Hansen b6f875134e Add HassRespond intent (#129755)
* Add HassHello intent

* Rename to HassRespond

* LLM's ignore HassRespond intent
2024-11-05 02:59:18 +00:00
Artur Pragacz 90ceebdf91 Fix source mapping in Onkyo (#129716)
* Fix source mapping

* Fix copy paste
2024-11-05 02:59:18 +00:00
Artur Pragacz 617e87e02c Fix source mapping in Onkyo (#129716)
* Fix source mapping

* Fix copy paste
2024-11-04 21:56:47 -05:00
starkillerOG dafd54ba2b Bump reolink-aio to 0.10.3 (#129841) 2024-11-04 21:34:40 -05:00
J. Nick Koston e8c3539709 Disable SRTP for unifiprotect RTSPS stream (#129852) 2024-11-04 16:13:52 -06:00
J. Nick Koston e5263dc0c8 Bump uiprotect to 6.4.0 (#129851) 2024-11-04 15:43:22 -06:00
J. Nick Koston 3584c710b9 Fix unifiprotect supported features being set too late (#129850) 2024-11-04 15:13:56 -06:00
G Johansson 0b56ef5699 Fix translation in ovo energy (#129833) 2024-11-04 19:57:49 +01:00
G Johansson 90bd9bb626 Fix translations in hydrawise (#129834) 2024-11-04 19:57:00 +01:00
Paulus Schoutsen 03e6a13896 Bump version to 2024.11.0b4 2024-11-04 18:48:58 +00:00
G Johansson 9fb3261f02 Fix translations in landisgyr (#129831) 2024-11-04 18:48:37 +00:00
Bram Kragten 0bc6b8b0d4 Update frontend to 20241104.0 (#129829) 2024-11-04 18:48:36 +00:00
G Johansson 18d2ced045 Fix translations in homeworks (#129824) 2024-11-04 18:48:35 +00:00
Robert Resch 6c75e0bee1 Remove all ice_servers on native sync WebRTC cameras (#129819) 2024-11-04 18:48:35 +00:00
Steven B. 0b981f42bb Bump python-kasa to 0.7.7 (#129817)
Bump tplink dependency python-kasa to 0.7.7
2024-11-04 18:48:34 +00:00
Paulus Schoutsen 82868a8588 Fix ESPHome dashboard check (#129812) 2024-11-04 18:48:33 +00:00
Erik Montnemery 6e93777f54 Fix create flow logic for single config entry integrations (#129807)
* Fix create flow logic for single config entry integrations

* Adjust MQTT test
2024-11-04 18:47:41 +00:00
Erik Montnemery 9349292464 Fix aborting flows for single config entry integrations (#129805) 2024-11-04 18:43:56 +00:00
Robert Resch 7084b3b52c Update go2rtc stream if stream_source is not matching (#129804) 2024-11-04 18:43:55 +00:00
epenet 0f0f5fd0ab Fix incorrect description placeholders in azure event hub (#129803) 2024-11-04 18:43:54 +00:00
Joost Lekkerkerker cb0b942db3 Improve error handling in Spotify (#129799) 2024-11-04 18:43:53 +00:00
Erik Montnemery b1c9f83952 Fix stringification of discovered hassio uuid (#129797) 2024-11-04 18:43:52 +00:00
Joost Lekkerkerker 1ff0efc97b Bump yt-dlp to 2024.11.04 (#129794) 2024-11-04 18:43:51 +00:00
Robert Resch a4da2a9eb5 Use RTCIceCandidate instead of str for candidate (#129793) 2024-11-04 18:43:51 +00:00
Antoine Reversat ba3cfb5f87 Bump ayla-iot-unofficial to 1.4.3 (#129743)
Upgrade to ayla-iot-unofficial v1.4.3
2024-11-04 18:43:50 +00:00
Luca Angemi bf196935f6 Add state class to precipitation_intensity in Aemet (#129670)
Update sensor.py
2024-11-04 18:43:49 +00:00
Joost Lekkerkerker 6e98343706 Update Spotify state after mutation (#129607) 2024-11-04 18:43:48 +00:00
Erik Montnemery de453ab5c1 Add watchdog to monitor and respawn go2rtc server (#129497) 2024-11-04 18:43:47 +00:00
Andre Lengwenus f408de4fc3 Bump lcn-frontend to 0.2.1 (#129457) 2024-11-04 18:43:47 +00:00
Bram Kragten 7863927c3a Update frontend to 20241104.0 (#129829) 2024-11-04 19:39:46 +01:00
G Johansson 9fcf757021 Fix translations in landisgyr (#129831) 2024-11-04 19:35:35 +01:00
epenet fc0547ccdf Pass the config entry explicitly in aemet coordinator (#128097) 2024-11-04 19:23:48 +01:00
Joost Lekkerkerker 22f8f117fb Add basic testing framework to LG ThinQ (#127785)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: YunseonPark-LGE <34848373+YunseonPark-LGE@users.noreply.github.com>
Co-authored-by: LG-ThinQ-Integration <LG-ThinQ-Integration@lge.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-11-04 19:22:12 +01:00
epenet 2052579efc Set config_entry explicitly in todoist coordinator (#129421) 2024-11-04 19:18:36 +01:00
epenet b8f2583bc3 Set config_entry explicitly in caldav coordinator (#129424) 2024-11-04 19:17:53 +01:00
epenet 6323a078e1 Set config_entry explicitly in wled coordinator (#129425) 2024-11-04 19:17:07 +01:00
G Johansson ca0be3ec8a Use coordinator async_setup in vizio (#129450) 2024-11-04 19:16:22 +01:00
epenet 91157c21ef Reapply "Fix unused snapshots not triggering failure in CI" (#129311) 2024-11-04 18:59:27 +01:00
epenet cc4fae10f5 Cleanup deprecated OptionsFlowWithConfigEntry (part 2) (#129754) 2024-11-04 18:55:49 +01:00
epenet d180ff417d Cleanup deprecated OptionsFlowWithConfigEntry (part 3) (#129756) 2024-11-04 18:55:01 +01:00
epenet 8870b657d1 Use new helper properties in hyperion options flow (#129777) 2024-11-04 18:54:22 +01:00
epenet 81735b7b47 Use new helper properties in konnected options flow (#129778) 2024-11-04 18:50:00 +01:00
Marc Mueller 7fd261347b Update charset-normalizer to 3.4.0 (#129821) 2024-11-04 18:49:19 +01:00
Robert Resch df796d432e Remove all ice_servers on native sync WebRTC cameras (#129819) 2024-11-04 18:41:37 +01:00
Steven B. f6e36615d6 Bump python-kasa to 0.7.7 (#129817)
Bump tplink dependency python-kasa to 0.7.7
2024-11-04 18:39:39 +01:00
Noah Husby 0278735dbf Use translated errors in Russound RIO (#129820) 2024-11-04 18:07:11 +01:00
tdfountain 9c8d8fef16 Suggest area for NUT based on device location (#129770) 2024-11-04 18:06:45 +01:00
G Johansson 6897b24c10 Fix translations in homeworks (#129824) 2024-11-04 18:03:37 +01:00
G Johansson a2a3f59e65 Fix missing translation in jewish_calendar (#129822) 2024-11-04 18:01:39 +01:00
G Johansson 2626a74840 Fix translations in honeywell (#129823) 2024-11-04 18:00:31 +01:00
Paulus Schoutsen 689260f581 Fix ESPHome dashboard check (#129812) 2024-11-04 17:37:14 +01:00
G Johansson f1a2c8be4b Stop recording of non-changing attributes in threshold (#129541) 2024-11-04 17:36:25 +01:00
epenet 0579d565dd Fix incorrect description placeholders in azure event hub (#129803) 2024-11-04 17:35:47 +01:00
Max Muth f141f5f908 Update codeowners of Fritz integration (#129595)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-04 17:26:12 +01:00
Antoine Reversat 0c25252d9f Bump ayla-iot-unofficial to 1.4.3 (#129743)
Upgrade to ayla-iot-unofficial v1.4.3
2024-11-04 17:20:15 +01:00
Jake Martin 400b377aa8 Bump monzopy to 1.4.2 (#129726)
* Bump monzopy to 1.4.0

* Bump to 1.4.2

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-04 16:55:02 +01:00
Manu a5f3c434e0 Improve exceptions in habitica cast skill action (#129603)
* Raise a different exception when entry not loaded

* adjust type hints

* move `get_config_entry` to services module
2024-11-04 16:46:38 +01:00
epenet 365f8046ac Use new helper properties in yeelight options flow (#129791) 2024-11-04 16:09:50 +01:00
Erik Montnemery 4ac35d40cd Fix create flow logic for single config entry integrations (#129807)
* Fix create flow logic for single config entry integrations

* Adjust MQTT test
2024-11-04 15:45:29 +01:00
J. Nick Koston 7691991a93 Small cleanups to the websocket command phase (#129712)
* Small cleanups to the websocket command phase

- Remove unused argument
- Avoid multiple NamedTuple property lookups

* Update homeassistant/components/websocket_api/http.py

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

* Apply suggestions from code review

* touch ups

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-11-04 15:33:15 +01:00
Willem-Jan van Rootselaar d0c45b1857 Bump python-bsblan to 1.2.1 (#129635)
* Bump python-bsblan dependency to version 1.1.0

* Bump python-bsblan dependency to version 1.2.0

* Bump python-bsblan dependency to version 1.2.1

* Update test diagnostics snapshots to use numeric values and add error handling
2024-11-04 15:31:44 +01:00
Joost Lekkerkerker 02750452df Update Spotify state after mutation (#129607) 2024-11-04 15:01:37 +01:00
Marc Mueller 41a81cbf15 Switch back to av 13.1.0 (#129699) 2024-11-04 14:48:28 +01:00
Andre Lengwenus ff621d5bf3 Bump lcn-frontend to 0.2.1 (#129457) 2024-11-04 14:45:20 +01:00
epenet 6d561a9796 Remove deprecated property setters in option flows (#129773) 2024-11-04 14:21:26 +01:00
Erik Montnemery 4784199038 Fix aborting flows for single config entry integrations (#129805) 2024-11-04 13:59:10 +01:00
Robert Resch df35c8e707 Update go2rtc stream if stream_source is not matching (#129804) 2024-11-04 13:58:12 +01:00
Erik Montnemery 57eeaf1f75 Add watchdog to monitor and respawn go2rtc server (#129497) 2024-11-04 13:42:42 +01:00
Joakim Sørensen 3cadc1796f Use JSON as format for .HA_RESTORE (#129792)
* Use JSON as format for .HA_RESTORE

* Adjust bakup manager test
2024-11-04 13:07:11 +01:00
Joost Lekkerkerker ae06f734ce Improve error handling in Spotify (#129799) 2024-11-04 12:34:00 +01:00
Erik Montnemery 08a53362a7 Fix stringification of discovered hassio uuid (#129797) 2024-11-04 12:26:34 +01:00
jb101010-2 274c928ec0 Add coordinator to suez_water (#129242)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-11-04 12:18:12 +01:00
Robert Resch d75dda0c05 Use RTCIceCandidate instead of str for candidate (#129793) 2024-11-04 10:38:27 +01:00
Joost Lekkerkerker 0c40fcdaeb Bump yt-dlp to 2024.11.04 (#129794) 2024-11-04 10:33:08 +01:00
G Johansson 0a1ba8a4a3 Small code quality improvement/cleanup in random (#129542) 2024-11-04 09:52:35 +01:00
epenet 018acc0a3c Use new helper properties in crownstone options flow (#129774) 2024-11-04 09:43:25 +01:00
epenet 3a293c6bc4 Use new helper properties in dsmr options flow (#129775) 2024-11-04 09:43:10 +01:00
epenet 9155d56190 Use new helper properties in flux_led options flow (#129776) 2024-11-04 09:42:58 +01:00
epenet 461dc13da9 Use new helper properties in motioneye options flow (#129780) 2024-11-04 09:40:13 +01:00
epenet b48e2127b8 Use new helper properties in plaato options flow (#129782) 2024-11-04 09:39:56 +01:00
epenet 11ab992dbb Use new helper properties in recollect_waste options flow (#129783) 2024-11-04 09:39:41 +01:00
epenet 4be2cdf90a Use new helper properties in steam_online options flow (#129785) 2024-11-04 09:39:27 +01:00
epenet cdd5cb2876 Use new helper properties in tomorrowio options flow (#129787) 2024-11-04 09:39:13 +01:00
epenet cdc67aa891 Use new helper properties in verisure options flow (#129788) 2024-11-04 09:38:41 +01:00
epenet 6a22a2b867 Use new helper properties in watttime options flow (#129789) 2024-11-04 09:38:24 +01:00
epenet 0883b23d0c Use new helper properties in yalexs_ble options flow (#129790) 2024-11-04 09:38:11 +01:00
epenet 595459bfda Use new helper properties in rfxtrx options flow (#129784) 2024-11-04 09:34:20 +01:00
Bram Kragten 5141a4d292 Bump version to 2024.11.0b3 2024-11-04 09:32:53 +01:00
LG-ThinQ-Integration cf8b7607ae Bump thinqconnect to 1.0.0 (#129769)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2024-11-04 09:31:43 +01:00
Joost Lekkerkerker b38fe00387 Bump spotifyaio to 0.8.3 (#129729) 2024-11-04 09:31:42 +01:00
J. Nick Koston 5d446f0e14 Bump HAP-python to 4.9.2 (#129715) 2024-11-04 09:31:41 +01:00
Josef Zweck a592ece9c8 Add missing translation string to lamarzocco (#129713)
* add missing translation string

* Update strings.json

* import pytest again
2024-11-04 09:31:40 +01:00
Allen Porter 9cb60c61d1 Fix nest streams broken due to CameraCapabilities change (#129711)
* Fix nest streams broken due to CameraCapabilities change

* Fix stream cleanup

* Apply suggestions from code review

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

* Update homeassistant/components/nest/camera.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-11-04 09:31:39 +01:00
J. Nick Koston 90ed06c354 Bump DoorBirdPy to 3.0.8 (#129709) 2024-11-04 09:31:39 +01:00
Manu 22d64cb8f4 Bump bring-api to 0.9.1 (#129702) 2024-11-04 09:31:38 +01:00
Nathan Spencer 453039e860 Change alexa arm handler to allow switching arm states unless in armed_away mode (#129701)
* Change alexa arm handler to allow switching arm states unless in armed_away mode

* Address PR comments
2024-11-04 09:31:37 +01:00
Simon Lamon e727162225 Bump python-linkplay to 0.0.17 (#129683) 2024-11-04 09:31:36 +01:00
Ståle Storø Hauknes a898a5996e Bump Airthings BLE to 0.9.2 (#129659)
Bump airthings ble
2024-11-04 09:31:35 +01:00
Jesse Hills d501bb8d52 Only set ESPHome configuration url to addon if there is an existing configuration for the device (#129356)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-04 09:31:34 +01:00
Ståle Storø Hauknes 7ab8ff56b3 Bump Airthings BLE to 0.9.2 (#129659)
Bump airthings ble
2024-11-04 08:11:18 +01:00
Nathan Spencer eda36512ec Change alexa arm handler to allow switching arm states unless in armed_away mode (#129701)
* Change alexa arm handler to allow switching arm states unless in armed_away mode

* Address PR comments
2024-11-04 07:49:48 +01:00
LG-ThinQ-Integration 04aee812f8 Bump thinqconnect to 1.0.0 (#129769)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2024-11-04 07:17:50 +01:00
Allen Porter 6718cce203 Fix nest streams broken due to CameraCapabilities change (#129711)
* Fix nest streams broken due to CameraCapabilities change

* Fix stream cleanup

* Apply suggestions from code review

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

* Update homeassistant/components/nest/camera.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-11-03 20:45:09 -08:00
Bouwe Westerdijk 49f0bb6990 Bump plugwise to v1.5.0 (#129668)
* Bump plugwise to v1.5.0

* And adapt
2024-11-03 23:30:21 -05:00
Simon Lamon 38afcbb21f Bump python-linkplay to 0.0.17 (#129683) 2024-11-03 22:56:45 -05:00
Jesse Hills 87ab2beddf Only set ESPHome configuration url to addon if there is an existing configuration for the device (#129356)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-03 18:16:49 -06:00
tdfountain a05a34239d Show NUT device serial number if provided in Device Info (#124168) 2024-11-03 17:27:27 -06:00
epenet f11aba9648 Fix flaky tests in advantage_air (#129758) 2024-11-03 17:25:37 -06:00
Michael Hansen c2ef119e50 Add HassRespond intent (#129755)
* Add HassHello intent

* Rename to HassRespond

* LLM's ignore HassRespond intent
2024-11-03 16:38:52 -06:00
epenet 8b6c99776e Cleanup unnecessary OptionsFlowWithConfigEntry (part 1) (#129752)
* Cleanup unnecessary OptionsFlowWithConfigEntry

* Fix emoncms

* Fix imap

* Fix met

* Fix workday
2024-11-03 22:57:18 +01:00
Joost Lekkerkerker 463bffaeb6 Bump spotifyaio to 0.8.3 (#129729) 2024-11-03 21:55:12 +01:00
hahn-th 0cfd8032c0 Add Measurement StateClass to HomematicIP Cloud Wind and Rain Sensor (#129724)
Add Meassurement StateClass to Wind and Rain Sensor
2024-11-03 21:07:59 +01:00
Luca Angemi 144d5ff0cc Add state class to precipitation_intensity in Aemet (#129670)
Update sensor.py
2024-11-03 21:06:46 +01:00
G Johansson ab5c65b08c Improve code quality in yale_smart_alarm options flow (#129531)
* Improve code quality in yale_smart_alarm options flow

* mods

* Fix
2024-11-03 21:04:53 +01:00
Josef Zweck 6b33bf3961 Add missing translation string to lamarzocco (#129713)
* add missing translation string

* Update strings.json

* import pytest again
2024-11-03 20:56:08 +01:00
epenet 89eb395e2d Add OptionsFlow helper for a mutable copy of the config entry options (#129718)
* Add OptionsFlow helper for a mutable copy of the config entry options

* Add tests

* Improve coverage

* error_if_core=False

* Adjust report

* Avoid mutli-line ternary
2024-11-03 20:37:58 +01:00
G Johansson d671d48869 Small cleanup mold_indicator (#129736) 2024-11-03 19:17:37 +01:00
J. Nick Koston ed582fae91 Bump HAP-python to 4.9.2 (#129715) 2024-11-03 11:27:57 -06:00
Manu 4d5c3ee0aa Bump bring-api to 0.9.1 (#129702) 2024-11-03 10:46:16 -06:00
epenet 02046fcdb4 Fix advantage_air CI failure (#129735) 2024-11-03 17:29:33 +01:00
Josef Zweck fbe27749a0 Correct length of the serials in lamarzocco tests (#129725) 2024-11-03 13:35:42 +01:00
Josef Zweck eddab96a69 Add DHCP discovery to lamarzocco (#129675)
* Add DHCP discovery to lamarzocco

* ensure serial is upper

* shorten pattern

* parametrize across models
2024-11-03 09:44:35 +01:00
J. Nick Koston ed3376352d Bump DoorBirdPy to 3.0.8 (#129709) 2024-11-02 22:43:21 -05:00
J. Nick Koston dfbb763031 Disable cleanup_closed on python 3.12.7+ and 3.13.1+ (#129645) 2024-11-02 22:15:56 -05:00
Marc Mueller 5cf13d9273 Additional stream typing improvements (#129695) 2024-11-02 22:22:31 +01:00
Bram Kragten 5ef45fd12e Bump version to 2024.11.0b2 2024-11-02 20:42:48 +01:00
Klaas Schoute 8a293a41f5 Bump autarco lib to v3.1.0 (#129684)
Bump autarco to v3.1.0
2024-11-02 20:42:44 +01:00
J. Nick Koston 931820a170 Bump sensorpush-ble to 1.7.1 (#129657) 2024-11-02 20:42:44 +01:00
J. Nick Koston e9944b964a Bump aioesphomeapi to 27.0.1 (#129643) 2024-11-02 20:42:43 +01:00
J. Nick Koston dbae1d2f8b Bump aiohomekit to 3.2.6 (#129640) 2024-11-02 20:42:42 +01:00
Joost Lekkerkerker 0dc8feba05 Bump spotifyaio to 0.8.2 (#129639) 2024-11-02 20:42:41 +01:00
Robert Resch 5c7c2347f7 Bump webrtc-models to 0.2.0 (#129627) 2024-11-02 20:42:40 +01:00
J. Nick Koston d069907948 Pin async-timeout to 4.0.3 (#129592) 2024-11-02 20:42:39 +01:00
Erik Montnemery 725ab477a8 Revert "Create a script service schema based on fields" (#129591) 2024-11-02 20:42:38 +01:00
Robert Resch d05ee9ff60 Add go2rtc debug_ui yaml key to enable go2rtc ui (#129587)
* Add go2rtc debug_ui yaml key to enable go2rtc ui

* Apply suggestions from code review

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

* Order imports

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-02 20:42:36 +01:00
Joost Lekkerkerker 3c1f6d97cc Bump aiowithings to 3.1.1 (#129586) 2024-11-02 20:42:33 +01:00
epenet 5fe827f6c4 Fix flaky camera test (#129576) 2024-11-02 20:42:31 +01:00
Erik Montnemery 76f9a93ed7 Bump aiohasupervisor to version 0.2.1 (#129574) 2024-11-02 20:42:30 +01:00
Joost Lekkerkerker df2506bfbb Bump spotifyaio to 0.8.1 (#129573) 2024-11-02 20:42:29 +01:00
Joost Lekkerkerker b25ab04d2c Fix Geniushub setup (#129569) 2024-11-02 20:42:28 +01:00
Steven B. 6f094e8a54 Check for async web offer overrides in camera capabilities (#129519) 2024-11-02 20:42:27 +01:00
Erik Montnemery e18ffc53f2 Revert "Create a script service schema based on fields" (#129591) 2024-11-02 20:39:17 +01:00
Marc Mueller 0eea3176d6 Minor stream typing improvements (#129691) 2024-11-02 19:29:09 +01:00
Marc Mueller 4f20977a8e Update mypy-dev to 1.14.0a2 (#129625) 2024-11-02 19:15:50 +01:00
Marc Mueller 5bd63bb56b Replace AVError with FFmpegError (#129689) 2024-11-02 19:14:59 +01:00
Marc Mueller f7103da818 Refactor av.open calls to support type annotations (#129688) 2024-11-02 19:03:32 +01:00
Klaas Schoute bf4922a7ef Bump autarco lib to v3.1.0 (#129684)
Bump autarco to v3.1.0
2024-11-02 18:42:56 +01:00
J. Nick Koston 6f7eac5c6d Bump sensorpush-ble to 1.7.1 (#129657) 2024-11-02 12:26:31 -05:00
epenet d6e73a89f3 Cleanup unnecessary __init__ method in OptionsFlow (#129651)
* Cleanup unnecessary init step in OptionsFlow

* Increase coverage
2024-11-02 18:15:41 +01:00
Sid 269aefd405 Bump ruff to 0.7.2 (#129669) 2024-11-02 11:29:08 +01:00
J. Nick Koston a6865f1639 Bump aiohomekit to 3.2.6 (#129640) 2024-11-01 14:01:33 -05:00
J. Nick Koston f55aa0b86e Bump aioesphomeapi to 27.0.1 (#129643) 2024-11-01 13:16:15 -05:00
Joost Lekkerkerker 02b34f05aa Bump spotifyaio to 0.8.2 (#129639) 2024-11-01 18:25:26 +01:00
Joost Lekkerkerker 37f42707e5 Fix Geniushub setup (#129569) 2024-11-01 17:33:39 +01:00
Robert Resch 17f3ba1434 Bump webrtc-models to 0.2.0 (#129627) 2024-11-01 17:24:44 +01:00
Joakim Sørensen 31dcc25ba5 Add handler to restore a backup file with the backup integration (#128365)
* Early pushout of restore handling for core/container

* Adjust after rebase

* Move logging definition, we should only do this if we go ahead with the restore

* First round

* More paths

* Add async_restore_backup to base class

* Block restore of new backup files

* manager tests

* Add websocket test

* Add testing to main

* Add coverage for missing backup file

* Catch FileNotFoundError instead

* Patch Path.read_text instead

* Remove HA_RESTORE from keep

* Use secure paths

* Fix restart test

* extend coverage

* Mock argv

* Adjustments
2024-11-01 16:25:22 +01:00
Joost Lekkerkerker 4da93f6a5e Bump spotifyaio to 0.8.1 (#129573) 2024-11-01 15:12:15 +01:00
Marc Mueller 5ed7d32749 Remove unnecessary asyncio EventLoopPolicy init_watcher backport (#129628) 2024-11-01 13:44:49 +01:00
epenet ab5b9dbdc9 Add OptionsFlow helpers to get the current config entry (#129562)
* Add OptionsFlow helpers to get the current config entry

* Add tests

* Improve

* Add ValueError to indicate that the config entry is not available in `__init__` method

* Use a property

* Update config_entries.py

* Update config_entries.py

* Update config_entries.py

* Add a property setter for compatibility

* Add report

* Update config_flow.py

* Add tests

* Update test_config_entries.py
2024-11-01 12:54:35 +01:00
Marco 3b28bf07d1 Add boost switch to Smarty (#129466) 2024-11-01 11:08:55 +01:00
epenet b626c9b450 Ensure entry_id is set on reauth/reconfigure flows (#129319)
* Ensure entry_id is set on reauth/reconfigure flows

* Improve

* Improve

* Use report helper

* Adjust deprecation date

* Update config_entries.py

* Improve message and adjust tests

* Apply suggestions from code review

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-11-01 10:29:58 +01:00
Willem-Jan van Rootselaar 5430eca93e Bump python-bsblan to 1.0.0 (#129617) 2024-11-01 10:23:30 +01:00
epenet b41c477f44 Fix flaky camera test (#129576) 2024-11-01 10:15:20 +01:00
Robert Resch 5900413c08 Add zwave_js node_capabilities and invoke_cc_api websocket commands (#125327)
* Add zwave_js node_capabilities and invoke_cc_api websocket commands

* Map isSecure to is_secure

* Add tests

* Add error handling

* fix

* Use to_dict function

* Make response compatible with current expectations

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-01 00:32:01 +01:00
Marc Mueller c2ceab741f Remove unnecessary husqvarna_automower_ble test fixture (#129577) 2024-11-01 00:00:52 +01:00
J. Nick Koston 45ff4940eb Pin async-timeout to 4.0.3 (#129592) 2024-10-31 16:18:31 -05:00
Robert Resch 9c8a15cb64 Add go2rtc debug_ui yaml key to enable go2rtc ui (#129587)
* Add go2rtc debug_ui yaml key to enable go2rtc ui

* Apply suggestions from code review

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

* Order imports

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-31 20:56:53 +01:00
Erik Montnemery b09e54c961 Bump aiohasupervisor to version 0.2.1 (#129574) 2024-10-31 19:37:31 +01:00
Steven B. f44b7e202a Check for async web offer overrides in camera capabilities (#129519) 2024-10-31 18:57:40 +01:00
Joost Lekkerkerker 0f535e979f Bump aiowithings to 3.1.1 (#129586) 2024-10-31 18:28:53 +01:00
G Johansson 4c2c01b4f6 Use shorthand attribute for native_value in mold_indicator (#129538) 2024-10-31 17:40:14 +01:00
G Johansson b1d48fe9a2 Use class attributes in Times of Day (#129543)
* mypy ignore assignment in Times of Day so we can drop all type checking

* class attributes
2024-10-31 17:37:33 +01:00
Bram Kragten 41590f91ac Bump version to 2024.11.0b1 2024-10-31 16:38:09 +01:00
Paul Bottein e9d1f4f46e Update frontend to 20241031.0 (#129583) 2024-10-31 16:36:58 +01:00
epenet 7f287412ba Log type as well as value for unique_id checks (#129575) 2024-10-31 16:36:57 +01:00
Erik Montnemery 2df094de2b Stringify discovered hassio uuid (#129572)
* Stringify discovered hassio uuid

* Correct DiscoveryKey

* Adjust tests
2024-10-31 16:36:56 +01:00
starkillerOG 964ab5b351 Log Reolink select value KeyError only once (#129559) 2024-10-31 16:36:55 +01:00
Brett Adams 3f6e9a54fe Fix "home" route in Tesla Fleet & Teslemetry (#129546)
* translate Home to home

* refactor for mypy

* Fix home state

* Revert key change

* Add testing
2024-10-31 16:36:55 +01:00
J. Nick Koston 4ec5d5ae1e Bump yarl to 1.17.1 (#129539)
changelog: https://github.com/aio-libs/yarl/compare/v1.17.0...v1.17.1
2024-10-31 16:36:54 +01:00
Erik Montnemery c49b155c29 Allow importing homeassistant.core.Config until 2025.11 (#129537) 2024-10-31 16:36:53 +01:00
Luca Angemi fc602b1888 Fix bthome UnitOfConductivity (#129535)
Fix unit
2024-10-31 16:36:52 +01:00
G Johansson 81421992a2 Missing config_flow in manifest for local_file (#129529) 2024-10-31 16:36:51 +01:00
starkillerOG 4ef31f9331 Bump reolink_aio to 0.10.2 (#129528) 2024-10-31 16:36:50 +01:00
G Johansson d7e304badf Fix async_config_entry_first_refresh used after config entry is loaded in speedtestdotcom (#129527)
* Fix async_config_entry_first_refresh used after config entry is loaded in speedtestdotcom

* is
2024-10-31 16:36:49 +01:00
cryptk bf3f1b4b49 Bump uiprotect to 6.3.2 (#129513) 2024-10-31 16:36:49 +01:00
Jan Bouwhuis 2ac0ff03fc Fix current temperature calculation for incomfort boiler (#129496) 2024-10-31 16:36:48 +01:00
Aurore d10553d624 Fix timeout issue on Roomba integration when adding a new device (#129230)
* Update const.py

DEFAULT_DELAY = 1 to DEFAULT_DELAY = 100 to fix timeout when adding a new device

* Update config_flow.py

continuous=False to continuous=True to fix timeout when adding a new device

* Update homeassistant/components/roomba/const.py

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

* Update test_config_flow.py

Change CONF_DELAY to match DEFAULT_DELAY (30 sec instead of 1)

* Update tests/components/roomba/test_config_flow.py

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

* Use constant for DEFAULT_DELAY in tests

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-10-31 16:36:47 +01:00
Paul Bottein b1dfc3cd23 Update frontend to 20241031.0 (#129583) 2024-10-31 16:35:36 +01:00
epenet 696efe349e Log type as well as value for unique_id checks (#129575) 2024-10-31 15:10:27 +01:00
Jan Bouwhuis 6a32722acc Fix current temperature calculation for incomfort boiler (#129496) 2024-10-31 14:57:09 +01:00
Erik Montnemery 8eaec56c6b Stringify discovered hassio uuid (#129572)
* Stringify discovered hassio uuid

* Correct DiscoveryKey

* Adjust tests
2024-10-31 13:54:27 +01:00
Thomas55555 60d3c9342d Fix flakey test in Husqvarna Automower (#129571) 2024-10-31 13:20:59 +01:00
Marcel van der Veldt 4dc2433e8b Revert "Add musicassistant integration (#128919)" (#129565)
This reverts commit 568bdef61f.
2024-10-31 12:18:10 +01:00
TheJulianJES 2bd5039f28 Fix capitalization in Philips Hue strings (#129552) 2024-10-31 10:04:51 +01:00
G Johansson 8b1b14a704 Missing config_flow in manifest for local_file (#129529) 2024-10-31 09:50:32 +01:00
starkillerOG 5e674ce1d0 Log Reolink select value KeyError only once (#129559) 2024-10-31 09:49:27 +01:00
Brett Adams 3656bcf752 Fix "home" route in Tesla Fleet & Teslemetry (#129546)
* translate Home to home

* refactor for mypy

* Fix home state

* Revert key change

* Add testing
2024-10-31 08:56:03 +01:00
J. Nick Koston 39093fc2bc Bump yarl to 1.17.1 (#129539)
changelog: https://github.com/aio-libs/yarl/compare/v1.17.0...v1.17.1
2024-10-30 23:56:29 +01:00
Teemu R. efa5838be4 Add last alert timestamp for tplink waterleak (#128644)
* Add last alert timestamp for tplink waterleak

* Fix snapshot
2024-10-30 23:25:30 +01:00
Erik Montnemery 1c6ad2fa66 Allow importing homeassistant.core.Config until 2025.11 (#129537) 2024-10-30 22:56:59 +01:00
starkillerOG af144e1b77 Bump reolink_aio to 0.10.2 (#129528) 2024-10-30 23:24:07 +02:00
Luca Angemi b451bfed81 Fix bthome UnitOfConductivity (#129535)
Fix unit
2024-10-30 23:22:17 +02:00
G Johansson 3e32c50936 Fix async_config_entry_first_refresh used after config entry is loaded in speedtestdotcom (#129527)
* Fix async_config_entry_first_refresh used after config entry is loaded in speedtestdotcom

* is
2024-10-30 21:17:03 +01:00
Bram Kragten 208b15637a Bump version to 2024.12 (#129525) 2024-10-30 20:59:56 +01:00
Marcel van der Veldt c958cce769 Bump Music Assistant Client library to 1.0.5 (#129518) 2024-10-30 19:34:43 +01:00
epenet 602ec54579 Set config_entry explicitly to None in relevant components (#129427)
Set config_entry explicitly to None in components
2024-10-30 19:32:10 +01:00
cryptk fa2bfc5d9d Bump uiprotect to 6.3.2 (#129513) 2024-10-30 18:43:34 +01:00
Aurore 94f906b34c Fix timeout issue on Roomba integration when adding a new device (#129230)
* Update const.py

DEFAULT_DELAY = 1 to DEFAULT_DELAY = 100 to fix timeout when adding a new device

* Update config_flow.py

continuous=False to continuous=True to fix timeout when adding a new device

* Update homeassistant/components/roomba/const.py

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

* Update test_config_flow.py

Change CONF_DELAY to match DEFAULT_DELAY (30 sec instead of 1)

* Update tests/components/roomba/test_config_flow.py

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

* Use constant for DEFAULT_DELAY in tests

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-10-30 18:41:10 +01:00
Bram Kragten 60c93456c0 Merge branch 'dev' into rc 2024-10-30 18:33:24 +01:00
G Johansson a4f210379d Raise on non-string unique id for config entry (#125950)
* Raise on non-string unique id for config entry

* Add test update entry

* Fix breaking

* Add check get_entry_by_domain_and_unique_id

* Naming

* Add test

* Fix logic

* No unique id

* Fix tests

* Fixes

* Fix gardena

* Not related to this PR

* Update docstring and comment

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-30 18:09:50 +01:00
Bram Kragten 27e6205a37 Merge branch 'dev' into rc 2024-10-30 17:41:05 +01:00
G Johansson 3db6d82904 Add name to description placeholders automatically for reauth flows (#129232)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-30 17:38:59 +01:00
puddly b8ddfd642e Bump ZHA dependencies (#129510) 2024-10-30 17:38:24 +01:00
Bram Kragten c98acd42db Bump version to 2024.11.0b0 2024-10-30 17:34:45 +01:00
Paul Bottein 39f418f2d2 Update frontend to 20241030.0 (#129508) 2024-10-30 17:31:41 +01:00
Jan Bouwhuis 9fbd484dfe Add progress support to MQTT update platform (#129468)
* Add progress support to MQTT update platform and add validation on state updates

* Clean up cast to type class

* Add support for display_precision attribute
2024-10-30 17:22:55 +01:00
Jan Bouwhuis 1773f2aadc Allow MQTT device based auto discovery (#118757)
* Allow MQTT device based auto discovery

* Fix merge error

* Remove unused import

* Fix discovery device based topics

* Fix cannot delete twice

* Improve cleanup test

* Follow up comment

* Typo

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

* Explain more

* Use tuple

* Default a device payload to have priority over a platform based payload

* Add unique_id to sensor test data

* Set migration flag to mark a discovery topic for migration

* Correct type hint

* Make unique_id required for components in device based discovery payload

* Remove CONF_MIGRATE_DISCOVERY from platform schema

* Unload discovered MQTT item to allow migration

* Follow up comments from code review

* ruff

* Subscribe to platform discovery wildcards first

* Use normal dict

* Use dict to persist wildcard subscription order

* Remove missed unused parameter

* Add a comment to explain we use a dict  to preserve the subscription order

* Add wildcard subscription order test

* Remove discovery flag from test

* Improve discovery migration origin logging

* Assert initial  wildcard discovery topics subscription order and after reconnect

* Improve log messages

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-30 17:10:15 +01:00
Michael Hansen cb1b72d6ba Bump intents to 2024.10.30 (#129505) 2024-10-30 16:20:59 +01:00
Manu f5a2ec961d Remove unused snapshots from Habitica (#129499) 2024-10-30 15:44:21 +01:00
Krisjanis Lejejs bf40e77d65 Add Stun server with port 3478 (#129501) 2024-10-30 15:40:23 +01:00
Jozef Kruszynski 568bdef61f Add musicassistant integration (#128919)
Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-10-30 14:57:01 +01:00
Manu 2303521778 Use common translation strings for Habitica (#129498) 2024-10-30 14:56:47 +01:00
Josef Zweck 3bf2946d13 Change type of the config_entry in coordinator in tedee (#129502) 2024-10-30 14:53:11 +01:00
Josef Zweck 484e5cb3e8 Explicitly pass config_entry to coordinator in lamarzocco (#129434)
* Update __init__.py

* Update coordinator.py

* Update coordinator.py

* ruff

* Update coordinator.py

* move type to coordinator
2024-10-30 14:43:41 +01:00
Josef Zweck fbe8b6c34d Pass config_entry explicitly to coordinator in tedee (#129432)
* pass entry

* pass entry

* Update coordinator.py

* move type definition
2024-10-30 14:42:19 +01:00
Jan Bouwhuis 4e7397dc9d Test discovery subscriptions not done when discovery is disabled (#129458)
Test discovery subscriptions not performend when discovery is disabled
2024-10-30 14:38:44 +01:00
starkillerOG a6189106e1 Reolink add TCP push event connection as primary method (#129490) 2024-10-30 14:34:32 +01:00
Artur Pragacz ed6123a3e6 Add reconfigure step to Onkyo config flow (#129088) 2024-10-30 14:31:43 +01:00
Noah Husby 0cd5deaa3f Add audio output select to Cambridge Audio (#129366) 2024-10-30 14:28:01 +01:00
Allen Porter 6c047e2678 Refresh Nest WebRTC streams before expiration (#129478) 2024-10-30 14:25:43 +01:00
Martin Hjelmare 405a480cae Create repair issue for legacy webrtc provider (#129334)
* Add repair issue

* Add tests

* Add option to not use builtin go2rtc provider

* Add test

* Add domain to new providers

* Add learn more url

* Update placeholder

* Promote the builtin provider

* Refactor provider storage

* Move check for legacy provider conflict to refresh

* Test provider registration race

* Add test for registering the same legacy provider twice

* Test test_get_not_supported_legacy_provider

* Remove blank line between bullets

* Call it built-in

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

* Revert "Add option to not use builtin go2rtc provider"

This reverts commit 4e31bad6c0c23d5a1c0935c985351808a46163d6.

* Revert "Add test"

This reverts commit ddf85fd4db2c78b15c1cdc716804b965f3a1f4e3.

* Update issue description

* async_close_session is optional

* Clean up after rebase

* Add required domain property to provider tests

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-30 14:11:17 +01:00
Erik Montnemery b4e69bab71 Improve shutdown of esphome ffmpeg proxy (#129326)
* Improve shutdown of esphome ffmpeg proxy

* Add test
2024-10-30 13:46:05 +01:00
Erik Montnemery db81edfb2b Add config entry to go2rtc (#129436)
* Add config entry to go2rtc

* Address review comments

* Remove config entry if go2rtc is not configured

* Allow importing default_config

* Address review comment
2024-10-30 13:39:54 +01:00
Martin Hjelmare 24829bc44f Fix webrtc provider interface and tests (#129488)
* Fix webrtc provider tests

* Remove future code

* Add a test of the optional provider interface
2024-10-30 13:24:23 +01:00
starkillerOG c8594045df Bump reolink_aio to 0.10.1 (#129493) 2024-10-30 13:19:45 +01:00
YogevBokobza ea3f9b971f Bump aioswitcher to 4.4.0 (#129489) 2024-10-30 12:50:38 +01:00
Robert Resch 380974eed4 Remove hassio from ALLOWED_USED_COMPONENTS and move some functions to helper (#127228)
* Remove hassio from ALLOWED_USED_COMPONENTS

* Move HassioServiceInfo to helpers.service_info

* Deprecate moved functions

* Add note about deprecation

* Fix tests

* Implement suggestion

* Typo

* Update pyproject.toml

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-30 12:43:41 +01:00
Alistair Francis 8151403bf6 Bump automower-ble to 0.2.0 (#129473) 2024-10-30 12:31:11 +01:00
Christopher Fenner 16f5e76f00 Update PyViCare dependency to 2.35.0 (#129038) 2024-10-30 12:21:54 +01:00
J. Nick Koston b6b178cac0 Fix nexia emergency heat migration (#129365) 2024-10-30 12:20:19 +01:00
Robert Resch 0f020366e3 Bump go2rtc-client to 0.0.1b3 (#129486) 2024-10-30 12:13:03 +01:00
LG-ThinQ-Integration 27a19be369 Add translation_key in LG ThinQ (#129476)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2024-10-30 11:28:28 +01:00
Blake Bryant 0c166eb307 Bump pydeako to 0.5.4 (#129475) 2024-10-30 11:25:11 +01:00
Erik Montnemery 79d73c28a7 Deduplicate wav creation in esphome ffmpeg_proxy tests (#129484) 2024-10-30 10:35:19 +01:00
LG-ThinQ-Integration 2aed01b530 Add entity_category to avoid header_toggle for switch (#129477)
add entity_category to avoid header_toggle

Co-authored-by: yunseon.park <yunseon.park@lge.com>
2024-10-30 10:34:04 +01:00
Erik Montnemery 3fb0d61271 Remove useless code from esphome ffmpeg_proxy tests (#129481) 2024-10-30 09:56:12 +01:00
Erik Montnemery 599acaf514 Improve demo integration's update entity (#129401)
* Improve demo integration's update entity

* Improve tests
2024-10-30 08:06:22 +01:00
TimL 5f4103a4a7 Allow smlight device to reboot before updating firmware data coordinator (#127442)
* Add delay before updating firmware coordinator

* fix update tests

* change sleep to 1s

* Timeout incase reboot fails

* update test

* test reboot timeout

* log hostname in warning
2024-10-30 08:02:30 +01:00
Kayden van Rijn c7c72231c7 Bump opower to 0.8.6 (#129454)
* Bump opower to 0.8.6

* Bump opower to 0.8.6
2024-10-29 22:44:06 -07:00
Manu 6887a4419e Add calendar platform to Habitica integration (#128248)
* Add calendar platform

* Add tests

* add missing reminders filter by date

* Add +1 day to todo end

* add 1 day to dailies, remove unused line of code

* Removing reminders calendar to a separate PR

* fix upcoming event for dailies

* util function for rrule string

* Add test for get_recurrence_rule

* use habitica daystart and account for isDue flag

* yesterdaily is still an active event

* Fix yesterdailies and add attribute

* Update snapshot

* Use iter, return attribute with None value

* various changes

* update snapshot

* fix merge error

* update snapshot

* change date range filtering for todos

* use datetimes instead of date in async_get_events

* Sort events

* Update snapshot

* add method for todos

* filter for upcoming events

* dailies

* refactor todos

* update dailies logic

* dedent loops
2024-10-29 20:53:49 -07:00
Erik Montnemery db5cb6233c Correct condition signalling non-live DB migration is in progress (#129464) 2024-10-29 12:26:52 -10:00
Robert Resch 963829712d Add CameraCapabilities (#128455) 2024-10-29 21:36:30 +01:00
Steven B. 46ceccfbb3 Use new try_connect_all discover command in tplink config flow (#128994)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-10-29 10:26:34 -10:00
J. Nick Koston aaf3039967 Bump DoorBirdPy to 3.0.7 (#129114) 2024-10-29 10:06:24 -10:00
Shay Levy 2509f18def Bump aioshelly to 12.0.1 (#129453) 2024-10-29 22:01:38 +02:00
Krisjanis Lejejs a1e2d79613 Add cloud ICE server registration (#128942)
* Add cloud ICE server registration

* Add ice_servers to prefs, fix registration flow

* Add support for list of ICE servers

* Add ICE server cleanup on cloud logout, create tests

* Fix RTCIceServer types

* Update homeassistant/components/cloud/client.py

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

* Improve tests based on PR reviews

* Improve tests

* Use set_cloud_prefs fixture

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-10-29 20:35:52 +01:00
Andre Lengwenus 96ba5c3983 Remove LCN translation placeholder key (#129452) 2024-10-29 20:27:13 +01:00
ollo69 041282190a Allow set ScreenCap interval as option for AndroidTV (#124470)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-29 20:24:20 +01:00
functionpointer 8cdd5de75c Change Tibber get_prices action to return datetimes as str (#123901) 2024-10-29 20:15:08 +01:00
Michael a95c232f11 Add addon support to Home Assistant Analytics Insights (#128806) 2024-10-29 20:13:56 +01:00
Andre Lengwenus c9aba288b4 Add switch entities for LCN key-locks and regulator-locks (#127731)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 20:08:30 +01:00
G Johansson 35a9d502af Use coordinator async_setup in dwd weather (#129448) 2024-10-29 20:07:37 +01:00
G Johansson 409c8783fe Use coordinator async_setup in iotty (#129449) 2024-10-29 20:07:13 +01:00
Keilin Bickar 3adc3d7732 Add sensors for energy trends for devices (#129439)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 20:02:08 +01:00
Steven B. ec19712388 Bump tplink python-kasa dependency to 0.7.6 (#129444) 2024-10-29 09:00:43 -10:00
Åke Strandberg 2c89e89c84 Improve mapping of myuplink entities (#129137) 2024-10-29 19:59:04 +01:00
Manu e602a464db Add tests for buttons in Habitica integration (#128194)
* Add tests for button platform

* update tests

* Add skill buttons

* Assert state, add fixtures/parametrization

* entity as list
2024-10-29 19:03:41 +01:00
Erik Montnemery ffc0651d89 Report update_percentage in zwave_js update entity (#129386) 2024-10-29 13:31:34 -04:00
Erik Montnemery 7162efd836 Remove duplicated entity_picture config from MQTT update entity (#129390) 2024-10-29 18:22:06 +01:00
epenet 8e7d782102 Move validation routine out of wallbox coordinator (#129415) 2024-10-29 18:13:11 +01:00
Marc Mueller dc2028f99c Fix devolo_home_network DataCoordinator arguments (#129441) 2024-10-29 18:06:42 +01:00
Adam Goode f12ba5f7a9 Unexport unavailable metrics in Prometheus (#125492) 2024-10-29 17:56:54 +01:00
Erik Montnemery 45fb21e32d Suppress update entity's update_percentage when update not in progress (#129397) 2024-10-29 17:56:09 +01:00
Erik Montnemery ecbb417736 Report update_percentage in esphome update entity (#129376) 2024-10-29 17:51:54 +01:00
Erik Montnemery 3a59a862d5 Report update_percentage in smlight update entity (#129383) 2024-10-29 17:50:43 +01:00
Erik Montnemery e34fab0045 Report update_percentage in tessie update entity (#129385) 2024-10-29 17:48:29 +01:00
Erik Montnemery 7254ebe0e3 Report update_percentage in teslemetry update entity (#129384) 2024-10-29 17:48:03 +01:00
Keilin Bickar b43bc3f32d Add Sense Devices for entities (#129182) 2024-10-29 17:44:19 +01:00
Erik Montnemery ca3d13b5cc Sort some code in core_config (#129388) 2024-10-29 17:26:08 +01:00
Robert Resch c8818bcce3 Bump go2rtc to 1.9.6 (#129430) 2024-10-29 16:46:58 +01:00
Guido Schmitz b234b5937a Disable pylint for DevoloScannerEntity (#129429) 2024-10-29 16:40:38 +01:00
Krisjanis Lejejs 1bdef0f2f7 Bump hass-nabucasa to 0.83.0 (#129422) 2024-10-29 16:34:02 +01:00
Erik Montnemery 56fb61bd6f Refactor esphome ffmpeg proxy (#129330) 2024-10-29 16:26:32 +01:00
epenet 2c7d0b8909 Initialise coordinator with config_entry in components (part 1) (#128080) 2024-10-29 16:18:04 +01:00
Marcel van der Veldt cbb8d76da7 Add support for vacuum cleaners to the Matter integration (#129420) 2024-10-29 16:17:40 +01:00
Erik Montnemery cce925c06c Fix bad falsy-check in homeassistant.set_location service (#129389) 2024-10-29 16:11:48 +01:00
Marco 505a4bfc34 Add Smarty versions to device (#129418) 2024-10-29 16:06:15 +01:00
Robert Resch 58e151966c Fix go2rtc no audio issue (#129428) 2024-10-29 16:01:51 +01:00
Michael 8a6c9b7afc Remove Mobile App config entries, when the related user gets removed (#129268)
* remove config entries, when related user gets removed

* add test
2024-10-29 15:53:00 +01:00
Jirka e72e2071b0 Fix typo in nest string (#129423)
Update strings.json

Fixed typos
2024-10-29 15:38:55 +01:00
epenet 5d3af27928 Set config_entry explicitly in history stats coordinator (#129417)
Set config_entry explicitely in history stats coordinator
2024-10-29 15:32:56 +01:00
Petar Petrov 5dc0bedbc4 Allow fetching HA url to display it in the network settings (#128432)
* Allow fetching HA url to display it in the network settings

* add tests

* use a constant for the url types

* just return all url types

* Prefer callback without await

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-29 15:28:54 +01:00
epenet 8f7ae2665c Set config_entry explicitly in switcher kis coordinator (#129419) 2024-10-29 16:14:36 +02:00
epenet 10fdf819d3 Set config_entry explicitely in scrape coordinator (#129416) 2024-10-29 14:54:24 +01:00
LG-ThinQ-Integration 02928601ef Add min, max for WATER_HEATER device (#129414)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-10-29 14:52:26 +01:00
LG-ThinQ-Integration c227f6dc2c Add timer sensor entity which has rw hour and read-only minute (#129413)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-10-29 14:44:06 +01:00
Mike Degatano 673f0224c9 Continue migration of methods from handler to aiohasupervisor (#129183) 2024-10-29 14:33:21 +01:00
Manu 79c602f59c Fix available conditions for chilling frost and stealth in Habitica (#129234)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-29 14:24:23 +01:00
Raj Laud 07c070e253 Refactor squeezebox integration media_player to use coordinator (#127695) 2024-10-29 14:21:28 +01:00
Vendetta01 9bda3bd477 Fix bosch shc multi controller support (#127844)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 14:19:33 +01:00
Marc Hörsken 2c9ad9562e Fix visualization by inverting open/closed state of patio awnings (#128079) 2024-10-29 14:09:49 +01:00
Manu c264ee22e7 Add tests for switch platform of Habitica integration (#128204) 2024-10-29 14:08:05 +01:00
J. Diego Rodríguez Royo f194a689cc Fetch power off state for Home Connect appliances' power switch (#129289) 2024-10-29 13:56:45 +01:00
David Bonnes a36b350954 Fix evohome HVAC modes for VisionPro Wifi systems (#129161)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 13:37:35 +01:00
Josef Zweck db4278fb9d Cleanup select mappings in lamarzocco (#129407) 2024-10-29 13:32:14 +01:00
David Bonnes 39ba4cff2f Refactor evohome tests as per best practice (#129229)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 13:29:10 +01:00
Christopher Fenner d68da74790 Add number entities to set target temp for cooling programs in ViCare (#127267)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 13:28:12 +01:00
Tomer Shemesh 5fc45cd736 Add support for Lutron HWQS Proc discovery (#129274) 2024-10-29 13:27:44 +01:00
Guido Schmitz 5ae2f3d081 Add own coordinator to devolo_home_network (#128159) 2024-10-29 13:23:28 +01:00
Josef Zweck 478bf643bf Add smart standby functionality to lamarzocco (#129333)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 13:22:37 +01:00
Daniel Hjelseth Høyer 7929895b11 Change Tibber request spread (#129276) 2024-10-29 13:12:07 +01:00
Erik Montnemery da11a72b4c Create repair asking user to remove duplicate config entries (#127948)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-29 13:10:56 +01:00
Mike Degatano 1649368cee Bump aiohasupervisor to 0.2.0 (#129348) 2024-10-29 13:07:59 +01:00
dontinelli a528d62c16 Add test for extended data in setup for solarlog (#129345) 2024-10-29 13:07:48 +01:00
Guido Schmitz bd13dbdad0 Use new generic notation in devolo_home_network (#129080) 2024-10-29 13:07:13 +01:00
Allen Porter 8e7ffd9e16 Update Nest configuration flow to handle upcoming changes to Pub/Sub provisioning (#128909)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-29 12:58:36 +01:00
Manu f0bff09b5e Bump habitipy to 0.3.3 (#129322) 2024-10-29 12:48:20 +01:00
J. Diego Rodríguez Royo 0e959b3019 Added deprecation to binary door sensor at Home Connect (#129245)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-29 12:46:39 +01:00
Thomas55555 983cd9c3fc Add and remove entities during runtime in Husqvarna Automower (#127878) 2024-10-29 12:46:04 +01:00
Erik Montnemery 2236ca3e12 Fix typo in cv.url_no_path (#129402) 2024-10-29 12:06:59 +01:00
Robert Resch f3afa6a7d9 Fix hassfest docker image by pinning Python 3.12 (#129403) 2024-10-29 11:57:20 +01:00
Brett Adams ce7e2e3243 Clean up SensorRestore in Tesla Fleet (#129116)
* Remove, fix, and test restore

* slightly better comment

* use restore instead

* parametrize test

* Apply suggestions from code review

* revert change to Teslemetry

* revert change to Teslemetry

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-10-29 11:41:35 +01:00
Robert Resch 13416825b1 Go2rtc server start is waiting until we got the api listen stdout line (#129391) 2024-10-29 11:28:40 +01:00
J. Nick Koston 6c664e7ba9 Bump protobuf to 5.28.3 (#129370) 2024-10-29 11:22:31 +01:00
LG-ThinQ-Integration 34359617b5 Bump thinqconnect to 0.9.9 (#129394) 2024-10-29 11:16:19 +01:00
Erik Montnemery 9e2696b9bc Report update_percentage in matter update entity (#129380) 2024-10-29 10:57:52 +01:00
Paul Bottein bf840e8bfa Use device name for matter entities (#127798) 2024-10-29 10:54:25 +01:00
Robert Resch 1f03c140f5 Bump go2rtc-client to 0.0.1b2 (#129395) 2024-10-29 10:45:00 +01:00
Marc Mueller 2de161ce0e Fix mariadb recorder tests for Python 3.13 (#129303) 2024-10-29 09:17:47 +01:00
Marc Mueller 1171106afb Run postgres job on ubuntu 24.04 [ci] (#129381) 2024-10-29 09:15:04 +01:00
Robert Resch f57ae73071 Bump webrtc-models to 0.1.0 (#129373) 2024-10-29 08:33:54 +01:00
Robert Resch 59872b5698 Enable strict typing for go2rtc (#129374) 2024-10-29 08:25:49 +01:00
Robert Resch 7cd8ea00d1 Bump uv to 0.4.28 (#129372) 2024-10-28 21:20:59 -10:00
Robert Resch 4b2f38926a Bump go2rtc binary to 1.9.5 (#129371) 2024-10-29 08:01:59 +01:00
Allen Porter 537c95cf29 Update nest to use the async WebRTC APIs (#129369)
* Update nest to use the new `async_handle_webrtc_offer` APIs.

* Close sessions when sessions end

* Switch to the correct close API
2024-10-29 07:18:59 +01:00
epenet 81a5722708 Fix flaky DHCP tests in CI (#129327) 2024-10-28 13:41:50 -10:00
Jan Bouwhuis c150b913ac Use URL validation schema for mqtt update entity_picture and remove custom implementation (#129360) 2024-10-28 23:36:17 +01:00
J. Nick Koston 3e4b67db6c Bump yarl to 1.17.0 (#129358) 2024-10-28 23:11:14 +01:00
G Johansson d727f8ff50 Clarify event tracking in docstrings for track_state_change/report (#129338)
* Clarify event tracking in docstrings for track_state_change/report

* Fixes

* Update homeassistant/helpers/event.py

* Update homeassistant/helpers/event.py

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-10-28 23:05:06 +01:00
G Johansson 9546bf1dee Use shorthand attribute for native value in statistics (#129355) 2024-10-28 22:43:09 +01:00
Michael Hansen dd9ce34d18 Allow a fixed number of ffmpeg proxy conversions per device (#129246)
Allow a fixed number of conversions per device
2024-10-28 13:26:43 -07:00
G Johansson 73f2d972e4 Use shorthand attribute for available in statistics (#129354) 2024-10-28 21:01:34 +01:00
G Johansson 7d699c6c35 Fix calculation of attributes in statistics (#128475)
* Fix calculation of attributes in statistics

* Cleanup

* Mods

* Fix device class

* Typing

* Mod uom calc

* Fix UoM

* Fix docstrings

* state class docstring
2024-10-28 19:45:47 +01:00
dontinelli 21f23f67f4 Fix spelling mistake in notify (#129349) 2024-10-28 18:39:36 +01:00
Joost Lekkerkerker 8874ba2779 Add LG ThinQ to LG brand (#129346) 2024-10-28 18:24:24 +01:00
LG-ThinQ-Integration 420538e6e7 Add LG ThinQ integration (#129299)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-10-28 17:22:24 +01:00
dotvav 8eb68b54d9 Palazzetti integration (#128259)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-28 17:19:05 +01:00
Robert Resch 80202f33cb Fix go2rtc tests (#129342) 2024-10-28 17:12:28 +01:00
YogevBokobza c24579bfb2 Add switcher s12 support (#127277)
Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-10-28 16:57:24 +01:00
Noah Husby 21256c4529 Remove media player shuffle check from Cambridge Audio (#129235)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-28 16:57:09 +01:00
J. Diego Rodríguez Royo 668626b920 Add ServiceValidationError to Home Connect (#129309)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-28 16:48:56 +01:00
Wendelin cbfa3bb56d Hassio logs boots (#129151)
* Add hassio logs/boots proxy settings

* Add hassio http tests
2024-10-28 16:41:14 +01:00
Robert Resch 536fcf02d7 Fix CI by running gen_requirements_all.py (#129339) 2024-10-28 16:39:49 +01:00
Erik Montnemery a8ac3acbbe Bump pychromecast to 14.0.5 (#129251) 2024-10-28 16:07:23 +01:00
TheJulianJES 7980155375 Bump ZHA to 0.0.36 (#129247) 2024-10-28 16:07:04 +01:00
Robert Resch aa855e31c8 Convert async_get_webrtc_client_configuration to a callback (#129329) 2024-10-28 15:47:22 +01:00
Robert Resch 675ee8e813 Add async webrtc offer support (#127981)
* Add async webrtc offer support

* Create dataclass for messages

* Send session ID over websocket

* Fixes

* Rename

* Implement some review findings

* Add WebRTCError and small renames

* Use dedicated function instead of inspec

* Update go2rtc-client to 0.0.1b1

* Improve checking for sync offer

* Revert change as not needed anymore

* Typo

* Fix tests

* Add missing go2rtc tests

* Move webrtc offer tests to test_webrtc file

* Add ws camera/webrtc/candidate tests

* Add missing tests

* Implement suggestions

* Implement review changes

* rename

* Revert test to use ws endpoints

* Change doc string

* Don't import from submodule

* Get type form class name

* Update homeassistant/components/camera/__init__.py

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

* Adopt tests

* Apply suggestions from code review

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

* Fix tests

---------

Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-10-28 15:46:15 +01:00
unfug-at-github 50ccce7387 React to state report events to increase sample size of statistics (#129211)
* react to state reported events to increase sample size

* added test case for timinig and minor corrections
2024-10-28 14:41:48 +01:00
Markus Jacobsen 40b561ea69 Add shuffle media controls to Bang & Olufsen (#129325) 2024-10-28 13:39:49 +01:00
G Johansson a0f73bd30f Add reconfigure flow to Sensibo (#129280) 2024-10-28 12:29:06 +01:00
Tsvi Mostovicz 1b7fcce42d Assert keys exist in Jewish calendar tests (#129295) 2024-10-28 12:23:45 +01:00
J. Nick Koston 4749af6e90 Convert WebSocket messages to bytes before passing them to send_message (#129300) 2024-10-28 12:21:12 +01:00
Maikel Punie f7ad40263b Bump velbusaio to 2024.10.0 (#129305) 2024-10-28 12:19:08 +01:00
epenet e5b25bfa58 Use reauth_confirm in ovo_energy (#129306) 2024-10-28 11:52:38 +01:00
epenet 1d23adcda3 Use start_reauth_flow in system_bridge tests (#129318) 2024-10-28 11:52:13 +01:00
epenet 0216d36ab7 Use start_reauth_flow in permobil tests (#129314) 2024-10-28 11:51:16 +01:00
epenet 2bec20ad76 Ensure config entry is added to hass in reauth/reconfigure tests (#129315) 2024-10-28 11:03:42 +01:00
G Johansson 93c1245b0f Use start_reauth_flow in apple_tv test (#129313)
* Use start_reauth_flow in apple_tv test

* Fix
2024-10-28 10:42:19 +01:00
epenet 72504d7619 Use async_start_reauth helper in broadlink (#129308) 2024-10-28 09:00:11 +01:00
G Johansson 320aa34d39 Use async_start_reauth in xiaomi_miio (#129282)
* Use async_start_reauth in xiaomi_miio

* Apply suggestions from code review

Co-authored-by: Teemu R. <tpr@iki.fi>

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-10-28 08:37:38 +01:00
G Johansson 87f2a4242e Use async_start_reauth in blink (#129281) 2024-10-28 07:57:18 +01:00
Joel Hawksley 9bf0cbd659 Omit declined Google Calendar events (#128900)
* Omit decline Google Calendar events

* move comment to top of function and update

* Apply suggestions from code review

* import ResponseStatus
2024-10-27 21:54:09 -07:00
Franck Nijhof b1470fd9b8 Merge branch 'master' into dev 2024-10-28 02:46:15 +01:00
Nicolás Alonso 08016dc3b6 Lazy discover for dmaker.fan.1c (#129297) 2024-10-28 02:09:08 +01:00
G Johansson 7a448f5528 Add battery binary sensor to Yale Smart Alarm (#129277)
* Add battery binary sensor to Yale Smart Alarm

* Fix docstrings
2024-10-27 20:57:10 +01:00
Michael 4ac23bf14c Add diagnostics platform to PEGELONLINE (#129279)
add diagnostics platform
2024-10-27 20:36:56 +01:00
Michael bc708dee30 Mark PEGELONLINE entries as service (#129278)
set entry_type service
2024-10-27 20:35:19 +01:00
Erik Montnemery 2888e5748e Fix ESPHome media proxy exit criteria (#129267) 2024-10-27 12:39:49 -05:00
Simone Chemelli 88f0a33e69 Update uptime deviation interval for Vodafone Station (#129257)
update uptime deviation interval
2024-10-27 15:40:58 +01:00
Michael 3165f92b6b Fix conntected_to attribute of device tracker entities in a AVM Fritz mesh setup (#129259)
ignore orphan node links
2024-10-27 14:42:43 +01:00
Marc Mueller 3bd0fca633 Properly validate License-Expression data for licenses check (#129216) 2024-10-27 10:43:21 +01:00
tleydxdy cdff10d281 Add new ZHA Inovelli blue switch strings (#127124)
ref: https://github.com/zigpy/zha/pull/203
2024-10-27 05:33:06 +01:00
Álvaro Fernández Rojas e425741c34 Update aioairzone-cloud to v0.6.10 (#129227) 2024-10-26 13:19:34 -10:00
Marc Mueller 20a367b243 Fix zha tests for Python 3.13 (#129241) 2024-10-27 00:18:21 +02:00
Manu fdded9e7ee Add tests for todo platform of Habitica integration (#128199)
* Add tests for todo platform

* refactor mock_called_with

* update tests
2024-10-26 10:48:07 -07:00
Galorhallen 7d29bff136 Update govee-local-api to 1.5.3 (#129226) 2024-10-26 18:28:22 +02:00
G Johansson 0abfbeed3c Fix flaky gardena_ble test (#129225) 2024-10-26 17:57:00 +02:00
Franck Nijhof 35b7c3038a Revert "Fix unused snapshots not triggering failure in CI" (#129223)
Revert "Fix unused snapshots not triggering failure in CI (#128162)"

This reverts commit e888a95bd1.
2024-10-26 16:12:47 +02:00
boergegrunicke 46dd96a4b7 Add dishwasher salt and rinse aid nearly empty sensors (#127762)
Co-authored-by: Robert Contreras <beastie29a@users.noreply.github.com>
2024-10-26 16:09:11 +02:00
dontinelli 788232ca35 Add and remove plants (i.e. devices) dynamically in fyta (#129221) 2024-10-26 15:35:43 +02:00
J. Nick Koston 3b458738e0 Fix setting brightness to 0 in HomeKit when the On characteristic is not sent (#129201) 2024-10-26 15:29:15 +02:00
David Bonnes 2c8fc67ab1 Fix evohome failing to start with 'NoneType' object has no attribute 'get' (#129222) 2024-10-26 15:24:41 +02:00
David Bonnes 9b3ed3ed72 Add tests of evohome integration-specific services (#129206)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-26 14:44:46 +02:00
Joost Lekkerkerker c59197e87a Add more spotify sensors (#129215) 2024-10-26 14:43:32 +02:00
Álvaro Fernández Rojas 03e3c88d8b Update aioairzone-cloud to v0.6.9 (#129217) 2024-10-26 14:37:58 +02:00
Joost Lekkerkerker 39693786ef Remove remnants of removed list_events action (#129210) 2024-10-26 14:37:05 +02:00
dontinelli 357c324df1 Add logger for fyta library in manifest.json (#129218) 2024-10-26 14:36:07 +02:00
dontinelli 650482208c Bump fyta_cli to 0.6.10 (#129220) 2024-10-26 14:34:45 +02:00
J. Diego Rodríguez Royo 2acad4a78c Home connect number platform with temperature set points entities (#126145) 2024-10-26 14:04:52 +02:00
jb101010-2 65ee4e1916 Bump pysuezV2 to 0.2.2 (#129205)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-26 11:44:02 +02:00
J. Diego Rodríguez Royo 275bbc81f0 Add Time platform with alarm clock to Home Connect (#126155)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-26 11:42:51 +02:00
Marc Mueller beafcf74ab Update zeroconf to 0.136.0 (#129204) 2024-10-26 11:35:00 +02:00
Marc Mueller e47909bb3e Update gardena-bluetooth to 1.4.4 (#129202) 2024-10-26 11:34:32 +02:00
David Bonnes 0b3b9c2257 Make minor fixes / doc tweaks to evohome's WaterHeater tests (#129138) 2024-10-26 10:52:32 +02:00
Marc Mueller 8fb7a7e4cd Refactor licenses check (#129194) 2024-10-26 10:30:10 +02:00
unfug-at-github c5ed148c52 Fix race condition in statistics that created spikes (#129066)
* fixed race condition and added test case for updates before db load

* removed duplicated code

* improved comments, removed superfluous errors / assertions

* allow both possible outcomes of race condition

* use approx for float comparison

* Update tests/components/statistics/test_sensor.py

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

* force new state before database load in race condition test

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-26 09:23:47 +02:00
IceBotYT e774c710a8 Bump lacrosse_view to 1.0.3 (#129174)
Add Pydantic v2 support to LaCrosse View
2024-10-26 08:59:08 +02:00
Jan Bouwhuis d237180a98 Allow re-discovery of mqtt integration config payloads (#127362) 2024-10-26 07:21:52 +02:00
Erik Montnemery d8b618f7c3 Remove support for live recorder data migration of context ids (#125309) 2024-10-26 07:19:03 +02:00
epenet e888a95bd1 Fix unused snapshots not triggering failure in CI (#128162) 2024-10-26 07:15:51 +02:00
Joost Lekkerkerker 36c2404a46 Add base entity to Spotify (#128847)
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
2024-10-26 07:09:18 +02:00
J. Nick Koston ba673beb82 Bump anyio to 4.6.2.post1 (#129199) 2024-10-26 07:06:27 +02:00
Erik Montnemery 4b56701152 Move core config class to core_config.py (#129163) 2024-10-26 07:00:31 +02:00
J. Nick Koston 59227116f3 Ensure go2rtc server starts using posix_spawn/vfork (#129196) 2024-10-26 06:51:29 +02:00
J. Nick Koston 9b0975b2ac Fix rainmachine update entities missing display_precision (#129195) 2024-10-26 06:29:39 +02:00
epenet 3a39a5caa3 Move brunt coordinator to separate module (#129090) 2024-10-26 02:30:59 +02:00
epenet 93e270f379 Use runtime_data in aranet (#129155) 2024-10-26 02:30:48 +02:00
epenet 98c81fa2af Move airthings coordinator to separate module (#129158) 2024-10-26 02:29:57 +02:00
Joost Lekkerkerker 1bb32a05a9 Migrate Smarty to has entity name (#129145) 2024-10-26 02:28:26 +02:00
Sid 5dd4b77270 Add JSON schema for manifest.json (#128560) 2024-10-26 02:10:58 +02:00
Andre Lengwenus 737d1aac7c Bump lcn-frontend to 0.2.0 (#129061) 2024-10-26 01:57:56 +02:00
Maciej Bieniek 886feae4ca Add support for Xiaomi Miio Standing Fan 2 (dmaker.fan.p18) (#129160) 2024-10-26 01:52:18 +02:00
Marc Mueller 1dfe26f14f Update apple_weatherkit to 1.1.3 (#129193) 2024-10-26 01:51:28 +02:00
Marc Mueller d66fcd23df Update radios to 0.3.2 and pycountry to 24.6.1 (#129186) 2024-10-26 01:49:26 +02:00
Marc Mueller bdfb47e999 Fix AsyncMock imports (#129192) 2024-10-26 01:47:27 +02:00
Paulus Schoutsen 10300cc478 Create a script service schema based on fields (#128622) 2024-10-26 01:05:00 +02:00
Marc Mueller ababa639b3 Fix cambridge_audio RuntimeWarning during tests (#129191) 2024-10-26 01:03:52 +02:00
Bouwe Westerdijk 9f6569d658 Bump plugwise to v1.4.4 (#129170) 2024-10-25 23:55:28 +02:00
J. Nick Koston 24c22ebdc7 Fix powerview entity unique id migration when the config entry unique id is missing (#129188)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 11:41:07 -10:00
Markus Jacobsen 6c365fffde Add media seek for sources other than Deezer for Bang & Olufsen (#128661)
* Add seeking for sources other than Deezer

* Add is_seekable attribute to fallback sources and BangOlufsenSource
Add testing

* Update comment

* Use support flags instead of raising errors when seeking on incompatible source
2024-10-25 23:34:39 +02:00
Marc Mueller dbb80dd6c0 Update krakenex to 2.2.2 (#129185) 2024-10-25 22:38:02 +02:00
Artur Pragacz 624834de9c Fix service target devices by label (#127229)
* Fix service target devices by label

* More explicit test
2024-10-25 21:30:04 +02:00
Franck Nijhof d31995f878 2024.10.4 (#129181) 2024-10-25 21:27:01 +02:00
Marc Mueller 017b1cae26 Update aiooui to 0.1.7 (#129179) 2024-10-25 21:24:43 +02:00
Franck Nijhof c09f15b0e9 Bump version to 2024.10.4 2024-10-25 20:49:36 +02:00
Keilin Bickar 68284bed74 Add coordinators to Sense (#129171) 2024-10-25 20:45:55 +02:00
Joost Lekkerkerker 9a44d668d6 Bump nyt_games to 0.4.4 (#129152) 2024-10-25 20:43:16 +02:00
Joost Lekkerkerker 67e0197a7a Fix NYT Games connection max streak (#129149) 2024-10-25 20:43:09 +02:00
Guido Schmitz a5a8cfa17d Fix adding multiple devices simultaneously to devolo Home Network's device tracker (#129082) 2024-10-25 20:43:02 +02:00
tronikos 60c3e701e9 Partially revert "LLM Tool parameters check (#123621)" (#129064) 2024-10-25 20:42:55 +02:00
Bram Kragten b9b129dcf5 Update frontend to 20241002.4 (#129049) 2024-10-25 20:42:48 +02:00
Daniel Albers d882ab236a Remove DHCP match from awair (#129047)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-25 20:42:40 +02:00
Joost Lekkerkerker 140cc0e486 Bump yt-dlp to 2024.10.22 (#129034) 2024-10-25 20:42:17 +02:00
Guido Schmitz 6ac7c0f893 Fix devolo_home_network devices not reporting a MAC address (#129021) 2024-10-25 20:42:11 +02:00
J. Nick Koston 096d50617f Fix cancellation leaking upward from the timeout util (#129003) 2024-10-25 20:42:04 +02:00
Simone Chemelli 9dd8c0cc4f Fix uptime floating values for Vodafone Station (#128974) 2024-10-25 20:41:57 +02:00
Maikel Punie de0fab86ec Bump pyduotecno to 2024.10.1 (#128968) 2024-10-25 20:39:38 +02:00
Noah Husby bb36dd3893 Use translated exceptions for Cambridge Audio (#129177) 2024-10-25 20:30:49 +02:00
Simone Chemelli ada837ee95 Add diagnostics to Vodafone Station (#128923)
* Add diagnostics to Vodafone Station

* cleanup and exclude props based on date
2024-10-25 20:22:47 +02:00
Daniel Hjelseth Høyer 67e73173f6 Bump pyTibber to 0.30.3 (#128860) 2024-10-25 20:22:40 +02:00
Jan Bouwhuis 4b63829eef Allow to set entity picture on mqtt entity platforms (#128404) 2024-10-25 20:16:11 +02:00
Simone Chemelli 029411d3fa Add diagnostics to Comelit SimpleHome (#128794)
* Add diagnostics to Comelit SimpleHome

* add test

* add missing tests

* introduce SnapshotAssertion

* cleanup

* exclude date based props
2024-10-25 20:12:54 +02:00
Steven B. 6ba033f934 Bump ring-doorbell library to 0.9.8 (#128662) 2024-10-25 20:12:48 +02:00
Simon Lamon 3734fa948f LinkPlay multiroom support (#127862) 2024-10-25 20:12:42 +02:00
Steven B. 336742e335 Bump ring-doorbell to 0.9.7 (#127554) 2024-10-25 20:12:41 +02:00
Markus Jacobsen 66ca424d3a Add repeat media controls to Bang & Olufsen (#128170)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 20:10:08 +02:00
Heiko Carrasco 2da0a91a36 Add lock to switchbot_cloud (#115128)
Co-authored-by: Ravaka Razafimanantsoa <3774520+SeraphicRav@users.noreply.github.com>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-10-25 20:09:14 +02:00
J. Diego Rodríguez Royo fee1bde231 Fix program switches unique ID at Home Connect (#128397) 2024-10-25 20:05:29 +02:00
mkmer 4a94430bf0 Handle temprorary hold in Honeywell (#128460) 2024-10-25 20:05:14 +02:00
David Bonnes cc337f7b1e Fix evohome regression preventing helpful messages when setup fails (#126441)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-10-25 20:05:05 +02:00
J. Diego Rodríguez Royo d8a06777fe Fix coffee maker device type name at applicances with programs list at Home Connect (#128538) 2024-10-25 20:04:53 +02:00
Marc Mueller 9207eedbfb Update heatmiserV3 to 2.0.3 (#129175) 2024-10-25 20:04:37 +02:00
bru73f0rc3 c97b832648 Add more Vesync IDs for the Vital200S (#127616) 2024-10-25 18:58:54 +02:00
alorente 4ef629f79d Remove check for obsolete "rain_product_available" in meteo_france (#128533)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 18:58:34 +02:00
Michael Hansen 0b4e3c3db5 Remove category from Assist satellite entities (#129172) 2024-10-25 18:43:42 +02:00
Noah Husby f12cc523b4 Enforce strict typing for Cambridge Audio (#129004) 2024-10-25 18:41:33 +02:00
Marc Mueller 5c3c9d2ed1 Update goslide-api to 0.7.0 (#129168) 2024-10-25 18:33:37 +02:00
Russell Cloran 3ac3673326 Improve prometheus metric name sanitization (#126967) 2024-10-25 18:33:16 +02:00
cdheiser 1a3940575e Use TAP to activate Lutron scenes (#127899) 2024-10-25 18:30:19 +02:00
Noah Husby 16c8b1efab Add all models to diagnostics for Cambridge Audio (#129157) 2024-10-25 18:20:54 +02:00
Marc Hörsken 0e789be09f Add light support to WMS WebControl pro (#128308)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 18:20:40 +02:00
J. Diego Rodríguez Royo a948c7d69d Door entity as enum sensor at Home Connect (#126158) 2024-10-25 18:18:21 +02:00
Marc Mueller d8ec0103a9 Update zeversolar to 0.3.2 (#129167) 2024-10-25 18:14:04 +02:00
Isaac 50161670ce Add "Albums" sensor to Lidarr (#125631)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 18:13:03 +02:00
Noah Husby c1f612dce1 Bump aiostreammagic to 2.8.4 (#129166) 2024-10-25 18:10:38 +02:00
J. Diego Rodríguez Royo 6fb74482d7 Add Diegorro98 as Home Connect code owner (#129169) 2024-10-25 18:06:22 +02:00
dontinelli 4b680ffa5f Dynamic add/remove devices for solarlog (#128668)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 18:02:14 +02:00
Marc Mueller c71c8d56ce Update pyxeoma to 1.4.2 (#129164) 2024-10-25 18:01:21 +02:00
IceBotYT 295ae7b4bc Add support for Mighty Mule MMS100 to Nice G.O. (#127765) 2024-10-25 17:49:32 +02:00
Marc Mueller 839c884cef Update aioopenexchangerates to 0.6.8 (#129162) 2024-10-25 17:40:02 +02:00
Jeef 13ffe7acfb Add Intellifire cloud/local connectivity sensors (#127122) 2024-10-25 17:23:51 +02:00
Manu 39a0c0d96e Add List access sensor to Bring integration (#126844) 2024-10-25 17:20:31 +02:00
Keilin Bickar a95a542148 Update sense-energy to 0.13.2 (#128670) 2024-10-25 16:59:39 +02:00
Alistair Francis b3cb2ac3ee Add husqvarna automower ble integration (#108326)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-25 16:54:02 +02:00
Andre Lengwenus 759fe54132 Fix transition config storage in LCN light and scene platform (#127847) 2024-10-25 16:25:41 +02:00
Noah Husby 519a888e82 Bump aiostreammagic to 2.8.3 (#129113) 2024-10-25 16:21:08 +02:00
Erik Montnemery 4f1e4e7471 Include go2rtc in default_config (#129144)
* Include go2rtc in default_config

* Fail if binary not found in docker environment
2024-10-25 16:10:14 +02:00
epenet 7b8a32f630 Cleanup hass.data default in airtouch5 (#129156) 2024-10-25 15:37:07 +02:00
ashionky 92d91a65bb Add refoss em16 device model (#126798) 2024-10-25 15:22:24 +02:00
rappenze dab5289177 Add opening closing state to fibaro cover (#126958) 2024-10-25 15:10:20 +02:00
J. Diego Rodríguez Royo a77cb1e579 Home connect light generalization and RGB support (#126144) 2024-10-25 15:08:50 +02:00
Joost Lekkerkerker 01bdda0ae6 Bump nyt_games to 0.4.4 (#129152) 2024-10-25 14:46:43 +02:00
Joost Lekkerkerker fbe35e6e6b Fix NYT Games connection max streak (#129149) 2024-10-25 14:19:46 +02:00
Alexandre CUER a3cd74e30b Bump pymoncms library to version 0.1.1 (#129135) 2024-10-25 14:15:35 +02:00
YogevBokobza dbd4781de1 Bump aioswitcher to 4.2.0 (#129118)
* bump aioswitcher to 4.2.0

* Update cover.py

* switcher fix based on requested changes
2024-10-25 14:41:49 +03:00
Anton Tolchanov 6d48316436 Avoid creating Prometheus metrics for non-numeric states (#127262) 2024-10-25 13:31:30 +02:00
David Bonnes cca6965cd1 Fix evohome regression preventing helpful messages when setup fails (#126441)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-10-25 13:23:17 +02:00
Simone Chemelli dd63ed7e69 Vodafone Station typing (#129143) 2024-10-25 12:57:52 +02:00
Joost Lekkerkerker 61e2283146 Add base class to Smarty (#129112) 2024-10-25 12:46:46 +02:00
Joost Lekkerkerker 97eb768748 Add entity descriptions to Smarty sensor (#129111) 2024-10-25 12:46:05 +02:00
Marc Mueller be8b5a8aeb Add option to extract licenses [ci] (#129095) 2024-10-25 12:41:05 +02:00
Erik Montnemery 99ed39b26c Fix go2rtc config schema (#129141) 2024-10-25 12:32:43 +02:00
G Johansson 48a0eb90a7 Migrate config entry in anova to remove devices from entry data (#128934) 2024-10-25 12:03:39 +02:00
Jan-Philipp Benecke 3c342077d6 Remove deprecated retries and lazy_error_count yaml option (#128932) 2024-10-25 12:02:47 +02:00
Claudio Ruggeri - CR-Tech f1bef1e7e6 Remove string literals from modbus component tests (#128899) 2024-10-25 12:01:42 +02:00
Brett Adams da9749ecce Add data streaming to Teslemetry (#127559) 2024-10-25 11:50:37 +02:00
Christopher Fenner fa7be597d2 Add energy consumption sensors for cooling in ViCare integration (#127274) 2024-10-25 11:40:25 +02:00
Jan-Philipp Benecke 53da418d68 Use NumberSelector in p1_monitor config flow (#128939) 2024-10-25 11:39:45 +02:00
Jan-Philipp Benecke 897ed7e381 Use ConfigEntry.runtime_data in govee_light_local (#128998) 2024-10-25 11:29:06 +02:00
epenet daf0939f09 Move bluesound service registration to separate module (#129086) 2024-10-25 11:27:25 +02:00
Simone Chemelli 7b1d6ddcf6 Fix uptime floating values for Vodafone Station (#128974) 2024-10-25 11:25:27 +02:00
tronikos 267e1dd0f8 Partially revert "LLM Tool parameters check (#123621)" (#129064) 2024-10-25 11:23:34 +02:00
Noah Husby c9d0bfce54 Add switch entity to Cambridge Audio (#128530) 2024-10-25 11:22:50 +02:00
Jacob Feisley 7f9e5e29a8 Add support for Faucet services in HomeKit Controller (#129094) 2024-10-25 11:15:13 +02:00
epenet d0f685183d Add comment to Rflink battery sensor definition (#129131) 2024-10-25 11:14:26 +02:00
Erik Montnemery bed77bd356 Remove go2rtc config flow (#129020)
* Remove go2rtc config flow

* Address review comments

* Update manifest

* Always validate go2rtc server URL

* Remove extra client

* Update homeassistant/components/go2rtc/__init__.py

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

* Improve test coverage

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-25 11:13:43 +02:00
Noah Husby bc0e3b254b Add additional tests to Cambridge Audio (#128213) 2024-10-25 11:13:27 +02:00
Petar Petrov 47bf0ebb47 Resume adding Z-Wave device if the page is refreshed (#129081)
* ZwaveJS: Resume adding a device if the page is refreshed

* add test

* address PR comments
2024-10-25 11:08:07 +02:00
Marc Hörsken 0acb95bbd5 Prevent duplicate WMS WebControl pro config entry creation (#128315) 2024-10-25 11:02:13 +02:00
Manu 8665f4a251 Refactor services setup in Habitica integration (#128186) 2024-10-25 11:00:58 +02:00
Manu 3adacb8799 Add entity picture for healing potion in Habitica (#129107) 2024-10-25 10:59:37 +02:00
David Bonnes 76aa69b9ac Switch to using a fixture for evohome Climate tests (of zones) (#129100) 2024-10-25 10:57:37 +02:00
Manu 78116f1596 Set up single coordinator for all config entries in IronOS (#129108) 2024-10-25 10:51:23 +02:00
dependabot[bot] 36693b7d9d Bump actions/setup-python from 5.2.0 to 5.3.0 (#129121)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.2.0...v5.3.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-25 10:45:14 +02:00
Keilin Bickar 8ce68f93ea Add typing for sense component (#129119)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-25 10:31:33 +02:00
Robert Resch 3512cb9599 Use webrtc-models package (#129032) 2024-10-25 10:18:55 +02:00
dontinelli ea164a2030 Add missing state_class to sensors in solarlog (#128296)
* Add missing state_class

* Update snapshot
2024-10-25 09:32:56 +02:00
Joost Lekkerkerker 929ba70ef8 Add entity descriptions to Smarty Binary sensor (#129110) 2024-10-25 08:47:29 +02:00
Mike Degatano 5b2113c43d Fix null hass error in supervisor update entities (#129030)
* Fix null hass error in supervisor update entities

* Share the supervisor client with coordinator

* Remove unnecessary patch of helper

* Attribute not property
2024-10-24 22:45:35 +02:00
Joost Lekkerkerker 6df2c0bab5 Add coordinator to Smarty (#129083)
* Add coordinator to Smarty

* Add coordinator to Smarty

* Fix
2024-10-24 22:41:21 +02:00
Thomas55555 1c5193aa4d Bump aioautomower to 2024.10.3 (#128788) 2024-10-24 09:56:38 -10:00
Erik Montnemery bd55fe868d Allow update entities to report progress as a float (#128930)
* Allow update entities to report progress as a float

* Add test

* Update snapshots

* Update recorder test

* Use _attr_* in MockUpdateEntity
2024-10-24 21:20:18 +02:00
Sid 87a2465a25 Bump ruff to 0.7.1 (#129102) 2024-10-24 21:03:48 +02:00
Noah Husby 5f839ad3ee Add play media capability to Cambridge Audio (#129002) 2024-10-24 20:33:53 +02:00
Sid 1663d8dfa9 Simplify webmin tests to use snapshot_platform (#127754) 2024-10-24 20:10:53 +02:00
Guido Schmitz 08eafc54e6 Fix adding multiple devices simultaneously to devolo Home Network's device tracker (#129082) 2024-10-24 20:10:06 +02:00
mkmer fe1d8b137e Handle temprorary hold in Honeywell (#128460) 2024-10-24 20:07:20 +02:00
Manu 39c0826f3c Add buttons to cast skills in Habitica integration (#126350) 2024-10-24 19:54:59 +02:00
Jason Parker bf63b0993d Reduce the number of API calls in Twitch integration (#128996) 2024-10-24 19:51:19 +02:00
epenet f91a1363cb Use runtime_data in bsblan (#129089) 2024-10-24 17:53:06 +02:00
J. Nick Koston a2c9aa7662 Add Meter Pro support to SwitchBot (#128991) 2024-10-24 17:49:40 +02:00
Noah Husby d135da6c1d Fix update callback in Cambridge Audio test (#129092) 2024-10-24 17:27:05 +02:00
Daniel Albers d27051f04d Remove DHCP match from awair (#129047)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-24 16:53:55 +02:00
epenet b28fa2a1ad Use shorthand attribute in template binary sensor (#128966) 2024-10-24 16:16:46 +02:00
David Bonnes 77a91f5a8f Switch to using a fixture for evohome WaterHeater tests (#127701)
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: thecem <46648579+thecem@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-24 16:01:29 +02:00
Marc Mueller dcc7ee98b3 Update pytest warnings filter (#129075) 2024-10-24 15:59:25 +02:00
epenet 30edb2a44f Use runtime_data in buienradar (#129087) 2024-10-24 15:58:33 +02:00
epenet f63332a7aa Use runtime_data in blue_current (#129084) 2024-10-24 15:46:31 +02:00
epenet 86c37ce192 Use runtime_data in bluemaestro (#129085) 2024-10-24 15:45:46 +02:00
Louis Christ 93e6c9e5a0 Add tests for media_player to bluesound integration (#125864) 2024-10-24 15:42:25 +02:00
Joost Lekkerkerker 92e1fa4d3a Add unique id and tests for Smarty (#129078) 2024-10-24 14:54:19 +02:00
epenet bf7d292884 Use runtime_data in blink (#129072) 2024-10-24 14:32:48 +02:00
epenet add8db0186 Use runtime_data in blebox (#129070) 2024-10-24 14:32:20 +02:00
Erik Montnemery 3e62c6ae2f Move core config functionality to its own module (#129065)
* Move core config functionality to its own module

* Adjust test
2024-10-24 13:34:51 +02:00
Joost Lekkerkerker cd4aa8ccd6 Add config flow to Smarty (#127540)
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-10-24 13:32:27 +02:00
Nebula83 937dbdc71f Add config flow to Onkyo (#117319)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Artur Pragacz <49985303+arturpragacz@users.noreply.github.com>
Co-authored-by: Artur Pragacz <artur@pragacz.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-24 12:45:25 +02:00
jb101010-2 66a7b508b2 Switch from pysuez to pysuezV2 in Suez Water (#127113) 2024-10-24 12:36:36 +02:00
epenet a5493f7947 Remove bloomsky integration (#129073)
* Small refactor to bloomsky

* Remove bloomsky integration

* Update integrations.json
2024-10-24 11:52:00 +02:00
Bram Kragten 979c4907da Update frontend to 20241002.4 (#129049) 2024-10-24 11:25:11 +02:00
Joshua Shaffer b8f6fdeb2b Use fan mode when heat/cool is idle in homekit_controller (#128618) 2024-10-24 09:25:40 +01:00
dependabot[bot] 067376cb3b Bump actions/checkout from 4.2.1 to 4.2.2 (#129063) 2024-10-24 10:04:21 +02:00
Max R bdbe9255a6 Add 'select' to configure Schlage locks "Auto Lock Time" (#123758) 2024-10-24 09:26:43 +02:00
J. Nick Koston c460e1bbbe Fix cancellation leaking upward from the timeout util (#129003) 2024-10-23 12:00:01 -10:00
Thomas55555 7e2b72fa5e Fix get_time_zone annotations in dt_util (#129050) 2024-10-23 10:34:53 -10:00
G Johansson 6ee6a8a74f Fix calculation of attributes in group sensor (#128601)
* Fix calculation of attributes in group sensor

* Fixes

* Fixes

* Make module level function
2024-10-23 20:51:18 +02:00
J. Nick Koston 80984c94a1 Bump sensorpush-ble to 1.7.0 (#128951)
changelog: https://github.com/Bluetooth-Devices/sensorpush-ble/compare/v1.6.2...v1.7.0
2024-10-23 19:25:20 +02:00
Joost Lekkerkerker 1757b66467 Bump yt-dlp to 2024.10.22 (#129034) 2024-10-23 19:18:57 +02:00
Keilin Bickar 8aa25af014 Create tests for sense integration (#128418)
* Create tests for sense integration

* Rearrange files

* Update to use snapshots

* Update tests/components/sense/__init__.py

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

* Update tests/components/sense/__init__.py

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

* Update tests/components/sense/test_binary_sensor.py

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

* Update tests/components/sense/test_sensor.py

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

* Add missing imports

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-23 18:22:21 +02:00
epenet 5a0e47be48 Use runtime_data in bang_olufsen (#129037) 2024-10-23 18:21:25 +02:00
Jonas Bergler 756a866ffd Add completed to the wait variable when using triggers (wait_for_trigger) (#123427)
* Add support for the wait.completed variable when using wait with triggers

* Remove junk comment

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-23 17:19:07 +02:00
epenet 29305be23b Use runtime_data in balboa (#129035) 2024-10-23 16:41:45 +02:00
Jason Parker 8253cfd21d Remove deprecated channel views attribute from Twitch (#129008) 2024-10-23 16:27:19 +02:00
dependabot[bot] 165a00896e Bump actions/cache from 4.1.1 to 4.1.2 (#129018)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 16:23:07 +02:00
Guido Schmitz 2149ea1306 Fix devolo_home_network devices not reporting a MAC address (#129021) 2024-10-23 16:22:08 +02:00
Lektri.co 90547da007 Add switch platform to the Lektrico integration (#126721) 2024-10-23 16:20:08 +02:00
unfug-at-github 9ec4881d8d Have statistics functions return a meaningful, non-none result even if only one value is available (#127305)
* have statistics functions return a meaningful, non-none result even if only one value is available

* improved code coverage
2024-10-23 16:02:46 +02:00
Erik Montnemery 487593af38 Allow configuring WebRTC stun and turn servers (#128984)
* Allow configuring WebRTC stun and turn servers

* Add tests

* Remove class WebRTCCoreConfiguration
2024-10-23 14:41:45 +02:00
Willem-Jan van Rootselaar 4e8f878d83 Bump python bsblan version 0.6.4 (#128999) 2024-10-23 14:16:34 +02:00
Maikel Punie af6544c64d Bump pyduotecno to 2024.10.1 (#128968) 2024-10-23 14:15:33 +02:00
kingy444 09e1f53b3e Powerview migrate scene to string unique_id (#128131) 2024-10-23 14:04:07 +02:00
dependabot[bot] 1c4f191f42 Bump github/codeql-action from 3.26.13 to 3.27.0 (#129019)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.13 to 3.27.0.
- [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.26.13...v3.27.0)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-23 12:14:08 +02:00
Robert Resch a37bd824d5 Add go2rtc binary config to expose api only on localhost (#129025) 2024-10-23 11:53:50 +02:00
Erik Montnemery 2c79173d20 Refactor camera.webrtc.register_ice_server (#129024)
* Refactor camera.webrtc.register_ice_server

* Apply suggestions from code review

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

* Add missing import

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-10-23 11:49:39 +02:00
Josef Zweck eb45b89557 Remove battery device class from bmw secondary sensor (#128970)
Remove battery device class
2024-10-23 11:19:22 +02:00
Claudio Ruggeri - CR-Tech bf8c345341 Adjust logging level in ModBus (#128980)
Fix issue 127570 in ModBus Component
2024-10-23 11:16:01 +02:00
J. Nick Koston ef46280716 Bump orjson to 3.10.10 (#129015)
changelog: https://github.com/ijl/orjson/compare/3.10.9...3.10.10
2024-10-23 10:58:15 +02:00
Wendelin 2453e1284f Add Hassio HTTP logs/follow to allowed paths (#126606)
* Add logs/follow to admin paths in hassio.http

* Add tests for logs/follow admin paths in hassio.http

* Add tests for logs/follow admin paths in hassio.http

* Add compress and timeout exclusions for hassio http api

* Fix should_compress usage in hassio/ingress

* Add missing follow exceptions for hassio/http

* Add hassio range header forward for logs endpoints

* Fix test syntax hassio/http
2024-10-23 09:57:14 +02:00
Pascal Vizeli 95bcb272e0 Fix FUNDING.yml to OHF (#129013) 2024-10-23 08:48:41 +02:00
Denis Shulyaka e0e61b5262 Expose scripts with no fields as entities (#123061) 2024-10-22 23:14:07 -07:00
G Johansson 3ddef56167 Fix step in presets for generic thermostat (#128922) 2024-10-23 08:13:42 +02:00
epenet f8e6fb81d6 Improve template docstring (#128967) 2024-10-22 19:15:27 -10:00
Jan-Philipp Benecke 683ec87adf Use ConfigEntry.runtime_data in gardena_bluetooth (#129000) 2024-10-22 17:45:58 -10:00
Lektri.co 23edbe5ce7 Bump lektricowifi to 0.0.43 (#128979) 2024-10-22 17:41:43 -10:00
Luke Lashley 6ff32a51e3 Bump python-roborock to 2.6.1 (#128804) 2024-10-22 17:39:19 -10:00
Peter 4cbac3a864 Bump axis to v63 (#129005) 2024-10-22 23:16:52 +02:00
Álvaro Fernández Rojas 94a99b5bec Update aioairzone-cloud to v0.6.8 (#128992) 2024-10-22 10:35:47 -10:00
Petro31 810bf06e16 Add limited template to at field for time triggers (#126584)
* Add limited template to at field for time triggers

* fix mypy

* Fix comments

* fix-tests

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-22 21:06:19 +02:00
J. Nick Koston 1254667b2c Bump PySwitchBot to 0.51.0 (#128990) 2024-10-22 08:01:06 -10:00
Simone Chemelli 053eb8a0fd Bump aiovodafone to 0.6.1 (#128976)
* Bump aiovodafone to 0.6.1

* remove exception
2024-10-22 18:28:00 +02:00
Simone Chemelli 82ef380256 Bump aiocomelit to 0.9.1 (#128977)
* Bump aiocomelit to 0.9.1

* remove exception
2024-10-22 18:25:33 +02:00
Marc Mueller 44449d8e72 Fix zha test RuntimeWarnings (#128975) 2024-10-22 18:05:40 +02:00
J. Nick Koston 6c3a0890c7 Add support for fetching bindkey from Mi cloud (#128394) 2024-10-22 05:53:02 -10:00
Allen Porter 8c0def7c79 Fix google tasks todo docstrings (#128978) 2024-10-22 07:17:48 -07:00
Krisjanis Lejejs de77751779 Change Stun server port to 80 (#128879) 2024-10-22 14:23:29 +02:00
osohotwateriot cdf809926b Add OSO Energy services (#118770)
* Add OSO Energy services

* Fixes after review

* Add tests for OSO Energy water heater

* Fixes after review

* Revert changes for service schema in OSO Energy

* Improve osoenergy unit tests
2024-10-22 12:22:46 +02:00
Nicolas Mowen d40341f1ad Add snapshot service to image entity (#110057)
* Add service definition for saving snapshot of image entity

* Add service to image

* Add tests for image entity service

* Fix tests

* Formatting

* Add service icon

* Formatting

* Formatting

* Raise home assistant error instead of single log error

* Correctly pass entity id

* Raise exception from existing exception

* Expect home assistant error

* Fix services example

* Add test for templated snapshot

* Correct icon service config

* Set correct type for service template

* Remove unneeded

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

* remove template

* fix imports

* Update homeassistant/components/image/__init__.py

* Apply suggestions from code review

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-22 10:20:41 +02:00
J. Nick Koston 4a94fb91d7 Bump pySwitchbot to 0.50.1 (#128953)
changelog: https://github.com/Danielhiversen/pySwitchbot/compare/0.49.0...0.50.1
2024-10-22 07:47:36 +02:00
J. Nick Koston 24ea9ca947 Bump orjson to 3.10.9 (#128952) 2024-10-22 07:06:51 +02:00
Allen Porter 98eb9bf2bd Bump gcal_sync to 6.2.0 (#128949) 2024-10-21 22:00:50 -07:00
J. Nick Koston 1eb30cf3ab Bump yarl to 1.16.0 (#128941) 2024-10-21 17:29:03 -10:00
Marc Mueller 6fd7c0ff8e Update astroid to 3.3.5 (#128948) 2024-10-22 02:23:53 +02:00
J. Nick Koston 263e81cb2c Bump xiaomi-ble to 0.33.0 (#128946) 2024-10-21 12:22:24 -10:00
J. Nick Koston 92ebf37d86 Bump PySwitchbot to 0.49.0 (#128945) 2024-10-21 12:18:26 -10:00
G Johansson a10e406131 Fix flaky update coordinator test (#128943) 2024-10-21 11:52:28 -10:00
Teemu R. 21095e80a7 Expose tplink temperature sensor as measurement (#128640)
Add state_class=measurement to the temperature sensor, making it available for long-term statistics.
2024-10-21 23:39:56 +02:00
Teemu R. 55ae43ed03 Add motion detected binary_sensor for tplink (#127883)
* Add motion binary_sensor for tplink

* Remove strings definition as we have device class that handles this

* Simplify instructions

* Remove mentions about fixture creation and snapshot updates as requested

* re-add newline
2024-10-21 23:39:23 +02:00
rappenze 9cc934a972 Fix description placeholder in transmission reauth (#128938) 2024-10-21 23:05:24 +02:00
G Johansson cdfec7ebb4 Implement new state property for alarm_control_panel which is using an enum (#126283)
* Alarm state from enum

* Fixes

* Set final

* Fix rebase

* Test const

* Fix breaking version

* Fix other for alarm_control_panel

* Fix integrations

* More

* More

* More

* More

* Fix zha

* Replace _attr_state

* Fix alarm_control_panel

* Fix tests

* Fixes

* Mods

* Change some

* More

* More

* More

* Tests

* Last tests

* Return enum

* Fix zha

* Remove not needed check

* Fix wording

* Fix homekit

* Mod prometheus

* Fix mypy

* Fix homekit

* Fix ifttt
2024-10-21 22:54:27 +02:00
rappenze 59ad69b637 Fix description placeholder in imap reauth (#128940) 2024-10-21 22:29:24 +02:00
epenet ca6b759607 Use new reauth helpers in unifi (#128837)
* Use new reauth helpers in unifi

* Apply suggestions from code review

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

* Update config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-21 22:25:10 +02:00
G Johansson f9d857211f Drop not needed reauth strings in tplink (#128937) 2024-10-21 22:13:54 +02:00
rahulsamant37 01ad8661d6 Add missing strings for mold indicator (#128205)
* Add missing localization keys for random component configuration

* Add missing localization keys for mold_indicator component configuration

* one_integration_at_a_time

* Fix localization strings for mold_indicator: use direct values instead of non-existing keys

* Fix localization strings for mold_indicator: use direct values instead of non-existing key

* Add missing translations for Mold Indicator helper

* correcting it for hassfest

* Fixes

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-10-21 22:01:23 +02:00
Jason Parker d21b8166f0 Add subscription tier attribute to Twitch integration. (#128870)
* Add subscription tier to Twitch integration.

* Add test for Twitch tiers.  Tests do not currently pass, so this is only theoretical.

* Fix variable type

* Show tier levels as 1,2,3 instead of the raw API values of 1000,2000,3000.

* Make Twitch subscription tier fixtures strings.

* Use proper assertion value for subscription tier test.

Edited on a bus on my phone. 😎

* Update homeassistant/components/twitch/coordinator.py

* Update tests/components/twitch/test_sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-21 21:54:10 +02:00
rappenze 63582bb489 Fix description placeholder in brunt reauth (#128933)
* Fix description placeholder in brunt reauth

* Update homeassistant/components/brunt/config_flow.py

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

* Update homeassistant/components/brunt/config_flow.py

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

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-10-21 21:02:22 +02:00
G Johansson c19f2de3a8 Allow Timer title to be translated (#128927) 2024-10-21 20:42:18 +02:00
Erik Montnemery d2e7b61eb2 Remove explicit templating of logbook service data (#128902) 2024-10-21 20:21:05 +02:00
Erik Montnemery 13a448ebfe Remove explicit templating of velbus service data (#128904) 2024-10-21 20:20:54 +02:00
Erik Montnemery bad2e1f9c4 Remove explicit templating of minio service data (#128905) 2024-10-21 20:20:44 +02:00
Erik Montnemery 8edac51401 Remove explicit templating of telegram_bot service data (#128906) 2024-10-21 20:20:29 +02:00
G Johansson f34ba9bf96 Bump holidays to 0.59 (#128924) 2024-10-21 20:19:56 +02:00
G Johansson 82aea946a2 Allow Random title to be translated (#128928) 2024-10-21 20:19:43 +02:00
G Johansson a0665dc431 Fix description placeholder in fibaro reauth (#128925) 2024-10-21 20:16:05 +02:00
G Johansson e32d6cdecd Allow Trend title to be translated (#128926) 2024-10-21 20:10:54 +02:00
Erik Montnemery 23b43319a8 Add update_percentage property to update entity (#128908) 2024-10-21 19:49:50 +02:00
Simone Chemelli e7a7a18c43 Add diagnostics to Vodafone Station (#128923)
* Add diagnostics to Vodafone Station

* cleanup and exclude props based on date
2024-10-21 19:47:12 +02:00
Erik Montnemery 8e5abcf5c2 Deprecate entity_id template variable in camera services (#128592)
* Deprecate entity_id template variable in camera services

* Update snapshots

* Tiny lang tweak

* Fix translation

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-10-21 19:38:02 +02:00
Simone Chemelli e08e8641cb Add diagnostics to Comelit SimpleHome (#128794)
* Add diagnostics to Comelit SimpleHome

* add test

* add missing tests

* introduce SnapshotAssertion

* cleanup

* exclude date based props
2024-10-21 19:33:32 +02:00
Manu 3e8f3cfb49 Add firmware update entity to IronOS integration (#123031) 2024-10-21 19:20:23 +02:00
G Johansson 1eaaa5c6d3 Add config flow to local_file (#125835)
* Add config flow to local_file

* Small mods

* Add/fix tests

* Fix

* slug

* Fix strings

* Mod strings
2024-10-21 19:04:43 +02:00
Manu 1cc776d332 Add fan set_speed support for Xiaomi Mi Air Purifier 3C (#126870) 2024-10-21 18:16:12 +02:00
Barry vd. Heuvel 4009ae7d77 Add floor heating device valve positions in Homematic IP Cloud (#122759)
* Update sensor.py for new FALMOT Sensors

First Integration attemp to support ValvePosition as Sensor for HmIP-FALMOT-C12

* Update sensor.py

* Update sensor.py

* Add Valve Position to FALMOT-C12

* modified: devcontainer

* Service für minimum vale postion hinzugefügt.

* update to services

* Service call optimized

* Add valvePosition to HomematicIP Cloud for Falmot-C12 and show only channels that are connected with an motorized actuator

* Fix some tests

* Add icon for service

* Fix tests, add check for ValveState in icon

* Remove minimum valve service

* REmove minimum valve

* Use list comprehension for devices, support other terminal blocks

* Remove unused constant

* Check correct channel

---------

Co-authored-by: thecem <46648579+thecem@users.noreply.github.com>
2024-10-21 17:54:31 +02:00
DurandAN 07506faa3a Add SIA alarm code (#127467) 2024-10-21 17:38:33 +02:00
Álvaro Fernández Rojas 4d787ec93c Add Airzone Cloud switch entities to zones (#125917)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-21 17:03:48 +02:00
Álvaro Fernández Rojas 188413a531 Add Airzone Cloud main zone mode select (#125918)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-21 16:50:44 +02:00
Mike Degatano ad55c9cc19 Remaining addon management to aiohasupervisor (#128484)
* Move set addon options to aiohasupervisor

* addon stats to aiohasupervisor and test fixes

* addon changelogs to aiohasupervisor

* Raise correct error for library in tests

* Cache client in instance property

* Use singleton method rather then HassIO instance method

* Mock supervisor client in more tests
2024-10-21 16:41:00 +02:00
Erik Montnemery 9b3ac49298 Remove explicit templating of persistent_notification service data (#128903) 2024-10-21 16:34:36 +02:00
Álvaro Fernández Rojas 4306b0caba Add new QNAP QSW uptime timestamp sensor (#122589)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-21 16:33:41 +02:00
Álvaro Fernández Rojas ebd1baa42c Add Airzone switch entities to zones (#124562) 2024-10-21 16:33:22 +02:00
myztillx 6861bbed79 Add ecobee set_sensors_used_in_climate service (#102871)
* Add set_active_sensors Service

* Remove version bump from service addition commit

* Reviewer suggested changes

* Changed naming to be more clear of functionality

* Adjusted additional naming to follow new convention

* Updated to pass failing CI tests

* Fix typo

* Fix to pass CI

* Changed argument from climate_name to preset_mode and changed service error

* Made loop more clear and changed raised error to log msg

* Fix typo

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

* Removed code that was accidentally added back in and fixed mypy errors

* Add icon for service

* Added sensors as attributes and updated tests

* Revert changes made in #126587

* Added tests for remote_sensors and set_sensors_used_in_climate

* Changed back to load multiplatforms (#126587)

* Check for empty sensor list and negative tests for errors raised

* Added tests and fixed errors

* Add hass to class init to allow for device_registry lookup at startup and check for name changed by user

* Added tests to test the new functions

* Simplified code and fixed testing error for simplification

* Added freeze in test

* Fixed device filtering

* Simplified code section

* Maintains the ability to call `set_sensors_used_in_climate` function even is the user changes the device name from the ecobee app or thermostat without needing to reload home assistant.

* Update tests with new functionality. Changed thermostat identifier to a string, since that is what is provided via the ecobee api

* Changed function parameter

* Search for specific ecobee identifier

* Moved errors to strings.json

* Added test for sensor not on thermostat

* Improved tests and updated device check

* Added attributes to _unrecoreded_attributes

* Changed name to be more clear

* Improve error message and add test for added property

* Renamed variables for clarity

* Added device_id to available_sensors to make it easier on user to find it

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-21 16:21:56 +02:00
Andrew 25f66e6ac0 Bump pyopenweathermap to v0.2.1 (#128892) 2024-10-21 16:20:39 +02:00
epenet 838519e89f Use STATE_ON/STATE_OFF constants in template test (#128883) 2024-10-21 16:19:44 +02:00
epenet be4641b8f3 Push real binary sensor states to state machine in tests (#128894) 2024-10-21 16:19:25 +02:00
Erik Montnemery e861cab727 Add update_percentage state attribute to update entity (#128877)
* Add update_percentage state attribute to update entity

* Update tests

* Update tests
2024-10-21 15:31:48 +02:00
Steven B. f8f87ec091 Add reconfigure flow to ring integration (#128357)
Co-authored-by: Christopher Fenner <9592452+CFenner@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-21 15:30:05 +02:00
Erik Montnemery c0f1996478 Remove dead code from concord232 (#128907) 2024-10-21 15:23:43 +02:00
Petar Petrov 106746ce58 Include Z-Wave JS lowSecurityReason in node added websocket message (#128896)
* Propagate lowSecurityReason to FE when adding a zwavejs device insecurely

* update tests
2024-10-21 14:27:04 +02:00
Cyrill Raccaud 62773fa88a Simplify Swiss public transport coordinator (#128891) 2024-10-21 14:15:18 +02:00
Paul Bottein 28a8ed62f3 Add translations for Netatmo thermostat preset modes (#128890) 2024-10-21 13:00:23 +02:00
Cyrill Raccaud 110751e992 Use runtime_data for Swiss Public Transport (#128369)
* use runtime_data instead of hass.data[<key>]

* fix service response export type

* reduce runtime_data to be just the coordinator

* fix rebase

* fix ruff

* address reviews

* address reviews

* no general core import

* no general config_entries import

* fix also for services

* remove untyped config entry

* remove unneeded cast
2024-10-21 11:50:22 +02:00
Erik Montnemery 0d447c9d50 Improve entity cached attributes (#128876) 2024-10-21 10:29:01 +02:00
Joost Lekkerkerker 827d6d1d2d Add audio feature sensors to Spotify (#128785) 2024-10-21 09:46:38 +02:00
J. Nick Koston a64972fe38 Bump habluetooth to 3.6.0 (#128815) 2024-10-21 09:45:24 +02:00
Xitee 09bdc81aeb Remove myself from roomba codeowners (#128858) 2024-10-21 09:10:07 +02:00
Daniel Hjelseth Høyer c057de3a3c Bump pyTibber to 0.30.3 (#128860) 2024-10-21 09:09:29 +02:00
Allen Porter 1c4aff3ee1 Bump google-nest-sdm to 6.1.3 (#128871) 2024-10-21 09:05:37 +02:00
epenet 6bfed5c98c Use new reauth helpers in yale_smart_alarm (#128836) 2024-10-20 23:52:37 +02:00
Alexander Knöbel f01231277b Add humidity to KNX climate (#128844) 2024-10-20 22:17:00 +02:00
Oliver Woodings 94534f714c Reduce the size of the Nest event media storage cache (#128855)
Reduce max media items per nest device
2024-10-20 10:58:27 -07:00
Christopher Fenner 1f9c06e606 Align consumption sensor names in ViCare integration (#127888) 2024-10-20 17:17:46 +02:00
LunaBytesBack 711c448242 Add Twitch stream viewer as readable data for integration (#128787) 2024-10-20 16:07:43 +02:00
peteS-UK 0c6a640e50 Add New Music Category for Media Browser (#128147) 2024-10-20 16:00:55 +02:00
epenet 11d9a71e5d Use new reauth helpers in withings (#128826) 2024-10-20 15:54:04 +02:00
epenet eed842fff1 Use new reauth helpers in yalexs_ble (#128831) 2024-10-20 15:53:46 +02:00
Joost Lekkerkerker 49fafcc68a Add Spotify to strict typing (#128846) 2024-10-20 15:51:06 +02:00
Marc Mueller c46cccc3cd Update attrs to 24.2.0 (#126656) 2024-10-20 15:48:42 +02:00
epenet dd714cc95e Use new reauth helpers in yolink (#128834) 2024-10-20 15:36:13 +02:00
epenet f9ce8fa368 Use new reauth helpers in youtube (#128835) 2024-10-20 15:34:37 +02:00
epenet 4fc872a4cb Use new reauth helpers in weheat (#128824) 2024-10-20 15:30:49 +02:00
Bouwe Westerdijk c8556f69e7 Bump plugwise to v1.4.3 (#128773) 2024-10-20 15:25:13 +02:00
Franck Nijhof 0b3f660626 Auto lower case username for Schlage auth flows (#128730) 2024-10-20 12:48:18 +02:00
epenet 7fa359764d Use new reauth helpers in vicare (#128779) 2024-10-20 10:07:42 +02:00
Marc Mueller 2bc642ae6f Update zhong-hong-hvac to 1.0.13 (#128822) 2024-10-20 10:07:14 +02:00
epenet 5228aa5e5c Use new reauth helpers in yale (#128828) 2024-10-20 10:01:53 +02:00
epenet d9c61a37bb Use new reauth helpers in xiaomi_ble (#128827) 2024-10-20 10:01:18 +02:00
tronikos 5f662988ff Handle invalid zeroconf messages in Android TV Remote (#128819) 2024-10-20 09:56:30 +02:00
epenet 87c9c0c3b1 Use new reauth helpers in whirlpool (#128825) 2024-10-20 09:55:16 +02:00
epenet 0ede15dcbf Use new reauth helpers in webostv (#128823) 2024-10-20 09:54:23 +02:00
Joost Lekkerkerker 8ceecec5b8 Bump spotifyaio to 0.7.1 (#128807) 2024-10-20 09:49:23 +02:00
Paulus Schoutsen 28ff138370 Simplify custom component loading (#128813) 2024-10-20 09:47:27 +02:00
epenet e8acb48b1e Use new reauth helpers in wallbox (#128820) 2024-10-20 09:45:55 +02:00
epenet b588bd6e4f Use new reauth helpers in weatherflow_cloud (#128821) 2024-10-20 09:43:55 +02:00
Allen Porter d9fd2c28b0 Bump google-nest-sdm to 6.1.0 (#128812) 2024-10-20 09:42:14 +02:00
Marc Mueller 0a02ed2a39 Update eq3btsmart to 1.2.0 (#128808) 2024-10-20 09:37:11 +02:00
epenet b13e1b3d44 Use new reauth helpers in teslemetry (#128759) 2024-10-19 22:05:13 +02:00
epenet 98732cb033 Use new reauth helpers in tessie (#128760) 2024-10-19 22:04:52 +02:00
J. Diego Rodríguez Royo eaa4a43458 Remove erroneous switch entity description at Home Connect (#128576) 2024-10-19 19:30:00 +02:00
epenet 6af6b73c89 Use new reauth helpers in volvooncall (#128782) 2024-10-19 19:22:20 +02:00
epenet 990987ac92 Use new reauth helpers in verisure (#128778) 2024-10-19 19:21:43 +02:00
epenet fd8f5b9ff0 Use new reauth helpers in unifiprotect (#128775) 2024-10-19 19:21:09 +02:00
Raj Laud 062b61affb Bump pysqueezebox to v0.10.0 (#128774) 2024-10-19 19:17:43 +02:00
Luke Lashley 311aa74dd3 Fix device data roborock (#128792) 2024-10-19 13:10:23 -04:00
epenet 0704c3ccb9 Use new reauth_helpers in nest (#128699)
Use reauth_confirm in nest
2024-10-19 09:57:18 -07:00
epenet d375dca1f1 Use new reauth helpers in smarttub (#128743) 2024-10-19 17:12:48 +02:00
epenet 5f04a6239e Use new reauth helpers in vodafone_station (#128781) 2024-10-19 16:42:01 +02:00
epenet 6f9c99ac6c Use new reauth helpers in vlc_telnet (#128780) 2024-10-19 16:03:45 +02:00
epenet 3c50b00a9a Use new reauth helpers in tankerkoenig (#128756) 2024-10-19 16:00:05 +02:00
epenet ce8893ef6b Use new reauth helpers in switcher_kis (#128750) 2024-10-19 16:26:55 +03:00
epenet 5fb7bb50e0 Use new reauth helpers in tautulli (#128758) 2024-10-19 14:58:46 +02:00
epenet 15bd5bf6f6 Use new reauth helpers in sunweg (#128747) 2024-10-19 14:57:32 +02:00
epenet b35c1d852e Use new reauth helpers in steam_online (#128746) 2024-10-19 14:56:47 +02:00
epenet 93ec127245 Use new reauth helpers in sonarr (#128745) 2024-10-19 14:56:13 +02:00
epenet 42613dbcf8 Use new reauth helpers in smlight (#128744) 2024-10-19 14:54:52 +02:00
epenet a9ec5f5c38 Use new reauth helpers in sleepiq (#128742) 2024-10-19 14:54:00 +02:00
epenet 10b04f41df Use new reauth helpers in skybell (#128741) 2024-10-19 14:44:06 +02:00
epenet 8a16504988 Use new reauth helpers in tailwind (#128755) 2024-10-19 14:43:31 +02:00
epenet 703e51d500 Use new reauth helpers in sensibo (#128738) 2024-10-19 14:43:14 +02:00
epenet f97d6b552b Use new reauth helpers in tailscale (#128752) 2024-10-19 14:43:08 +02:00
epenet f592c64c6a Use new reauth helpers in thethingsnetwork (#128761) 2024-10-19 14:42:31 +02:00
epenet 5d5355bc41 Use new reauth helpers in tplink_omada (#128762) 2024-10-19 14:42:03 +02:00
Marc Mueller f02c14d327 Update ha-ffmpeg to 3.2.1 (#128769) 2024-10-19 14:41:16 +02:00
Álvaro Fernández Rojas ca4f971eb4 Fix Airzone Cloud climate temperature range (#128740) 2024-10-19 14:38:15 +02:00
epenet e43bf3b05a Use new reauth helpers in sfr_box (#128739) 2024-10-19 14:37:40 +02:00
Ville Skyttä 38e7dcfd12 Bump upcloud-api to 2.6.0 (#128734) 2024-10-19 14:35:57 +02:00
epenet 6ccb4b726a Use new reauth helpers in schlage (#128736) 2024-10-19 14:34:44 +02:00
Joost Lekkerkerker ecf167e889 Bump spotifyaio to 0.7.0 (#128751) 2024-10-19 14:34:01 +02:00
epenet dce819f57b Use new reauth helpers in trafikverket_ferry (#128763) 2024-10-19 14:33:47 +02:00
epenet fe7328b92e Use new reauth helpers in trafikverket_train (#128764) 2024-10-19 14:33:10 +02:00
epenet 46fa9e6b82 Use new reauth helpers in transmission (#128765) 2024-10-19 14:32:26 +02:00
Álvaro Fernández Rojas 76712439ee Fix Airzone climate temperature range (#128737) 2024-10-19 14:31:52 +02:00
epenet 5a2830a654 Use new reauth helpers in tuya (#128766) 2024-10-19 14:27:11 +02:00
epenet b34ca9a521 Use new reauth helpers in twitch (#128767) 2024-10-19 14:26:49 +02:00
epenet 7fc4a65868 Use new reauth helpers in tplink (#128768) 2024-10-19 14:25:53 +02:00
epenet 85899a59c0 Use new reauth helpers in surepetcare (#128748) 2024-10-19 13:41:45 +02:00
Ville Skyttä 73214be565 Bump huawei-lte-api to 1.9.3 (#128731) 2024-10-19 11:09:18 +00:00
starkillerOG 175a87f948 Catch Reolink LoginFirmwareError (#128590) 2024-10-19 13:02:29 +02:00
Kuba Kaflik 201aab9f73 Allow SSL security_protocol configuration property in apache_kafka component (#128651) 2024-10-19 12:05:37 +02:00
epenet 0581d614f6 Use new reauth helpers in rympro (#128728) 2024-10-19 11:34:11 +02:00
epenet 9622a11b2e Use new reauth helpers in pvpc_hourly_pricing (#128721) 2024-10-19 11:25:00 +02:00
epenet f17c5bc334 Use new reauth helpers in samsungtv (#128729) 2024-10-19 11:24:41 +02:00
epenet ed9f40fc4c Use new reauth helpers in roborock (#128726) 2024-10-19 11:15:58 +02:00
epenet 31a58a21c6 Use new reauth helpers in ruckus_unleashed (#128727) 2024-10-19 11:01:17 +02:00
Joost Lekkerkerker 061ece55f3 Add coordinator to Twitch (#127724) 2024-10-19 10:59:37 +02:00
epenet 391f278ee5 Use new reauth helpers in radarr (#128725) 2024-10-19 10:54:34 +02:00
epenet 004b323fd4 Use new reauth helpers in purpleair (#128719) 2024-10-19 10:37:01 +02:00
epenet 088cfed794 Use new reauth helpers in prosegur (#128718) 2024-10-19 10:36:27 +02:00
epenet 908f649ea7 Use new reauth helpers in powerwall (#128717) 2024-10-19 10:36:01 +02:00
epenet c214adcdf0 Use new reauth helpers in point (#128716) 2024-10-19 10:35:32 +02:00
epenet 097ba07f20 Use new reauth helpers in pi_hole (#128715) 2024-10-19 10:34:40 +02:00
epenet 0c04373b79 Use new reauth helpers in philips_js (#128714) 2024-10-19 10:15:59 +02:00
epenet dd8f1800df Use new reauth_helpers in nextcloud (#128700) 2024-10-19 10:15:29 +02:00
epenet 81b918c392 Use new reauth_helpers in motioneye (#128695) 2024-10-19 10:14:36 +02:00
epenet 43038564fe Use new reauth_helpers in monzo (#128694) 2024-10-19 10:13:48 +02:00
epenet bcd77de328 Use new reauth helpers in pvoutput (#128720) 2024-10-19 10:12:22 +02:00
epenet 0d90d6586e Use new reauth_helpers in openexchangerates (#128706)
Use reauth_confirm in openexchangerates
2024-10-19 10:10:08 +02:00
epenet 2324bccbe7 Use new reauth_helpers in nextdns (#128701) 2024-10-19 10:07:55 +02:00
epenet 0cb07f511a Use new reauth_helpers in mikrotik (#128693) 2024-10-19 10:07:41 +02:00
Franck Nijhof e22fb444d3 Merge branch 'master' into dev 2024-10-19 09:59:09 +02:00
epenet 9a09c1b027 Use new reauth_helpers in nice_go (#128702) 2024-10-19 09:56:36 +02:00
epenet a94968b6bb Use reauth helpers in google (#128580) 2024-10-19 09:55:39 +02:00
epenet 3ac05f1fa9 Use new reauth_helpers in microbees (#128692) 2024-10-19 09:54:29 +02:00
epenet ad3effa7d1 Use new reauth_helpers in notion (#128703) 2024-10-19 09:51:31 +02:00
epenet d094c0d2b3 Use new reauth_helpers in oncue (#128704) 2024-10-19 09:50:58 +02:00
epenet 157e7f9f78 Use new reauth_helpers in onvif (#128705) 2024-10-19 09:50:05 +02:00
Allen Porter 5816342bed Remove dead code and increase test coverage for google config flow (#128690) 2024-10-19 09:48:36 +02:00
epenet 22491afa58 Use reauth_confirm in mqtt (#128696) 2024-10-19 09:30:57 +02:00
epenet a023b71ce0 Use reauth_confirm in opower (#128707) 2024-10-19 00:20:27 -07:00
epenet 392848c885 Use reauth_confirm in myuplink (#128697) 2024-10-19 09:16:06 +02:00
Hans Kröner a815661de1 Add lighting effects to Hue lights managed by deCONZ (#128292)
* Add more effects for Philips Hue lights

* Update tests for light effects
2024-10-19 09:09:01 +02:00
epenet ff6261ccc8 Use reauth_confirm in nanoleaf (#128698) 2024-10-19 08:54:29 +02:00
J. Nick Koston 7e68368d0a Bump yarl to 1.15.5 (#128681)
changelog: https://github.com/aio-libs/yarl/compare/v1.15.4...v1.15.5
2024-10-18 22:17:48 -04:00
Michael Hansen f21c8d895f Block until config is retrieved when adding satellite entity to HA (#128685)
Block until config is retrieved
2024-10-18 16:01:18 -04:00
epenet 120e17fa1e Improve logic for detecting unused ignore translations (#128441) 2024-10-18 17:59:06 +02:00
epenet 42e6ac4f6d Use reauth helpers in ista_ecotrend (#128647) 2024-10-18 17:28:01 +02:00
epenet 7a77a3d7ce Use reauth helpers in jellyfin (#128648) 2024-10-18 17:24:26 +02:00
epenet bf9b35d670 Use reauth helpers in intellifire (#128646) 2024-10-18 17:23:47 +02:00
epenet e0a14cdeea Use reauth helpers in lametric (#128656) 2024-10-18 17:23:11 +02:00
epenet 099a3f4f90 Use reauth helpers in lidarr (#128657) 2024-10-18 17:22:14 +02:00
epenet 4d41f82794 Use reauth helpers in litterrobot (#128659) 2024-10-18 17:21:29 +02:00
Steven B. 1d24bfb99d Bump ring-doorbell library to 0.9.8 (#128662) 2024-10-18 17:20:33 +02:00
epenet 47b809c7b7 Use reauth helpers in linear_garage_door (#128658) 2024-10-18 17:17:31 +02:00
epenet f3f6cb03e6 Use reauth helpers in lacrosse_view (#128655) 2024-10-18 17:16:38 +02:00
Franck Nijhof a301d51fb2 2024.10.3 (#128654) 2024-10-18 17:06:51 +02:00
epenet d6703b20d3 Use new reauth helpers in overkiz (#128666)
* Use reauth_confirm in overkiz

* Just use new helpers
2024-10-18 16:32:37 +02:00
epenet 8c4b076746 Refactor rainforest_raven coordinator tests (#128591)
* Refactor rainforest_raven tests

* Remove assert

* Cleanup freezer

* Drop un-needed coordinator properties

* Cleanup remaining coordinator tests

* Improve

* Revert _DEVICE_TIMEOUT

* Ensure 100% coverage

* Use async_fire_time_changed
2024-10-18 16:00:42 +02:00
epenet 356e09091d Add model_id to rainforest_raven device info (#128652)
* Remove single-use rainforest properties

* Add model_id
2024-10-18 15:50:34 +02:00
epenet d4c9841e44 Use reauth helpers in ring (#128663) 2024-10-18 15:18:41 +02:00
epenet bea13d039f Use reauth_confirm in osoenergy (#128665) 2024-10-18 15:17:39 +02:00
Duco Sebel 1f8fd52103 Fix reload not triggered on DisabledError in HomeWizard (#128636)
* Fix reload not triggered on DisabledError in HomeWizard

* Update homeassistant/components/homewizard/coordinator.py

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

* Use helper and fix merge issue

* Add test to detect reload on DisabledError

* Wait until next update instead of a direct call to update

* Add doc why we reload

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-18 14:48:41 +02:00
epenet 94506c3c90 Use reauth helpers in imap (#128645) 2024-10-18 14:27:21 +02:00
Franck Nijhof 515771553f Bump version to 2024.10.3 2024-10-18 13:22:48 +02:00
mvn23 e204812d2b Bump pyotgw to 2.2.2 (#128594) 2024-10-18 13:22:22 +02:00
Petar Petrov ca703cb858 Increase Z-Wave fallback thermostat range to 0-50 C (#128543)
* Z-Wave JS: Increase fallback thermostat range to 0-50 C

* update test
2024-10-18 13:21:49 +02:00
Louis Christ b018d4a97d Bump pyblu to 1.0.4 (#128482) 2024-10-18 13:21:46 +02:00
dontinelli 146768ff8a Bump solarlog_cli to 0.3.2 (#128293) 2024-10-18 13:21:43 +02:00
Allen Porter ea7473ed67 Bump gcal_sync to 6.1.6 (#128270) 2024-10-18 13:21:40 +02:00
Álvaro Fernández Rojas 0e8393766f Update aioairzone to v0.9.5 (#128265)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-10-18 13:21:36 +02:00
Álvaro Fernández Rojas 7d2536c503 Update aioairzone to v0.9.4 (#127792) 2024-10-18 13:21:31 +02:00
Simon Lamon f9cbf1b30c Keep the provided name when creating a tag (#128240)
* Keep the name

* Add patch

* Update homeassistant/components/tag/__init__.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-10-18 13:20:21 +02:00
Adam Petrovic d66d87d271 Fix daikin entities not refreshing quickly (#128230)
* Fix daikin entities not refreshing quickly

* Update homeassistant/components/daikin/switch.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-18 13:20:18 +02:00
Joost Lekkerkerker 5a8fa6cf38 Bump yt-dlp to 2024.10.07 (#128182) 2024-10-18 13:20:15 +02:00
Chris Talkington 76340035db Fix playing media via roku (#128133)
* re-support playing media via roku

* fixes

* test fixes

* Update test_media_player.py

* always send media type

* add description to options flow
2024-10-18 13:20:12 +02:00
puddly 0a26e68d0c Use the same ZHA database path during startup and when loading device triggers (#128130)
Use the same zigpy database path source as in the radio manager
2024-10-18 13:20:09 +02:00
Marc Hörsken 14127b910f Improve discovery of WMS WebControl pro by updating IP address (#128007) 2024-10-18 13:20:06 +02:00
Michael ba4d081021 Fix printer uptime fluctuations in IPP (#127725)
* decrease uptime accuracy from seconds to minutes

* adjust tests

* calc uptime timestamp in coordinator

* bump pyipp to 0.17.0

* revert changes, just use the new printer.booted_at property

---------

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2024-10-18 13:19:43 +02:00
Marc Mueller 18d65d513e Update home-assistant-bluetooth to 1.13.0 (#127691) 2024-10-18 13:18:52 +02:00
epenet 3cf9e2d9f6 Use reauth helpers in justnimbus (#128649) 2024-10-18 13:12:39 +02:00
epenet 080842e44c Use reauth helpers in jvc_projector (#128650) 2024-10-18 13:12:01 +02:00
Claudio Ruggeri - CR-Tech 49d534e779 Add list as possible values for State On/Off ModBus Switch (#127444)
* add possibility to set multiple val on state

* Add support for list also in state_off
2024-10-18 10:10:47 +02:00
epenet 5a0ef149a5 Use reauth helpers in google_sheets (#128587) 2024-10-18 10:04:03 +02:00
epenet d2eb0e1fde Use reauth helpers in glances (#128579) 2024-10-18 10:01:20 +02:00
starkillerOG 2d90ffcbf0 Update Reolink config entry port info if needed (#128589) 2024-10-18 10:00:28 +02:00
epenet 5580c3fda0 Use snapshot assertion in rainforest_raven diagnostic tests (#128602) 2024-10-18 09:57:38 +02:00
epenet 10d26bf734 Use snapshot assertion in rainforest_raven sensor tests (#128604) 2024-10-18 09:50:04 +02:00
MarkGodwin 57ef175050 Add sensors to Omada (#127767)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-10-18 09:48:06 +02:00
epenet 275c86a0a9 Use reauth helpers in fibaro (#128567) 2024-10-18 09:36:57 +02:00
epenet 5fa6202111 Use reauth helpers in frontier_silicon (#128569) 2024-10-18 09:35:21 +02:00
Jordan Zucker 1e001469f6 Add asdf tools dot file to gitignore (#128608) 2024-10-18 09:34:22 +02:00
Duco Sebel 4251389c12 Remove ExternalDevice 'invalid ID' migration in HomeWizard (#128634) 2024-10-18 09:33:53 +02:00
G Johansson 6ff2ce1895 Use shorthand attribute in derivative sensor (#128610) 2024-10-18 09:33:02 +02:00
starkillerOG 1abc953cad Bump reolink_aio to 0.10.0 (#128578) 2024-10-18 09:28:31 +02:00
epenet c696a3b789 Use reauth helpers in homewizard (#128628) 2024-10-18 09:22:31 +02:00
G Johansson 5986646af4 Use shorthand attribute in trend binary sensor (#128614)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-10-18 09:21:07 +02:00
epenet 5674c1d82f Use reauth helpers in google_mail (#128584) 2024-10-18 09:04:55 +02:00
epenet c1c0a281cf Use reauth helpers in google_tasks (#128586) 2024-10-18 09:04:01 +02:00
epenet 84d4a1ce34 Use reauth helpers in google_photos (#128585) 2024-10-18 09:02:44 +02:00
epenet 8a4d72e3b1 Refactor duplicate host check in homeworks config flow (#128627) 2024-10-18 08:49:06 +02:00
epenet a7b5e4323e Use reauth helpers in honeywell (#128629) 2024-10-18 08:46:49 +02:00
epenet 409f1bb644 Use reauth helpers in huawei_lte (#128630) 2024-10-18 08:46:21 +02:00
epenet 1d5821abca Use reauth helpers in husqvarna_automower (#128631) 2024-10-18 08:45:51 +02:00
epenet b3eca73e48 Use reauth helpers in hydrawise (#128632) 2024-10-18 08:44:25 +02:00
Sid 7694326a4e Bump ruff to 0.7.0 (#128626) 2024-10-18 08:42:22 +02:00
Noah Husby 9c026bc442 Bump aiostreammagic to 2.8.1 (#128542) 2024-10-18 08:23:40 +02:00
G Johansson b812306bd7 Use shorthand attribute in threshold binary sensor (#128612)
Small refactor threshold
2024-10-18 08:01:32 +02:00
epenet 0e667dfe36 Use reauth helpers in co2signal (#128566)
Do not cache reauth entry in co2signal
2024-10-17 22:10:57 -04:00
Markus Jacobsen 9037421a85 Bump mozart-api to 4.1.1.116.0 (#128573)
Bump API
Fix testing
2024-10-17 22:05:28 -04:00
Michael Hansen 1a9c6deb0d Remove metadata and cover art using ffmpeg proxy conversion (#128603)
Remove metadata and cover art
2024-10-17 16:41:44 -04:00
epenet f08d2716ae Use reauth helpers in fitbit (#128568) 2024-10-17 22:04:34 +02:00
epenet f37c0e0548 Use reauth helpers in fyta (#128571) 2024-10-17 22:03:19 +02:00
puddly be2c3217dc Rename the SkyConnect integration to Connect ZBT-1 (#128599) 2024-10-17 21:59:10 +02:00
epenet 937d15d7e1 Use reauth helpers in fujitsu_fglair (#128570) 2024-10-17 21:53:09 +02:00
Jan Morawiec 35ff3afa12 Refactor unittest tests to use pytest (#127770)
* Refactor unittest tests to use pytest

* Add type annotations

* Use caplog to assert logs

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-17 21:28:14 +02:00
epenet 536d702d96 Use reauth helpers in google_generative_ai_conversation (#128583) 2024-10-17 10:19:24 -07:00
epenet 420070a1ee Use reauth helpers in google_assistant_sdk (#128582) 2024-10-17 10:18:18 -07:00
mvn23 cd4a13ca55 Bump pyotgw to 2.2.2 (#128594) 2024-10-17 18:57:22 +02:00
Erik Montnemery 9d0701a62b Improve camera tests (#128545) 2024-10-17 16:36:42 +02:00
puddly 7c9a198c6d Use the same ZHA database path during startup and when loading device triggers (#128130)
Use the same zigpy database path source as in the radio manager
2024-10-17 07:17:20 -04:00
David F. Mulcahey 065577c9ca Keep ZHA entity enabled setting in sync with lib (#125472)
* Add ability to enable / disable entities in the ZHA lib

* disable entities at startup that are not enabled in HA

* fix IEEE lookup

* wrap in async_on_unload

* add test and correct lookup
2024-10-17 07:16:48 -04:00
Petar Petrov 8533f853c8 Increase Z-Wave fallback thermostat range to 0-50 C (#128543)
* Z-Wave JS: Increase fallback thermostat range to 0-50 C

* update test
2024-10-17 12:41:23 +02:00
Sid 2f60395ba9 Fix schema violations in manifest.json files (#128561) 2024-10-17 12:29:16 +02:00
epenet 906cecf087 Cleanup unused snapshots (#128549)
* Cleanup unused snapshots

* Cleanup a few more

* Cleanup systemmonitor

* Cleanup voip
2024-10-17 10:41:57 +02:00
Marc Mueller cb1b917aa6 Update mypy-dev to 1.13.0a1 (#128548) 2024-10-17 10:30:42 +02:00
J. Nick Koston 006d511d47 Bump yarl to 1.15.4 (#128536)
changelog: https://github.com/aio-libs/yarl/compare/v1.15.3...v1.15.4
2024-10-16 22:15:16 -04:00
puddly f6270d9cfc Bump ZHA dependencies (#128539)
* Bump ZHA dependencies

* Remove unused ZHA color modes

* Rename `cluster` to `ota_cluster` in update tests to unshadow `cluster` in `endpoint_reply`

---------

Co-authored-by: TheJulianJES <TheJulianJES@users.noreply.github.com>
2024-10-16 22:15:00 -04:00
Julian 72f1c358d9 Fix translation string in guardian (#128535) 2024-10-16 22:09:15 +02:00
karwosts 3cbadb1bd2 Add a missing translation for energy error (#128413)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-16 22:04:59 +02:00
Brett Adams 5d058c29a2 Add missing description placeholder in Tessie (#128481) 2024-10-16 21:56:51 +02:00
Jan-Philipp Benecke 4964470e9c Remove deprecated panel_iframe integration (#128532) 2024-10-16 21:34:43 +02:00
Julian f4dfe7868b Fix translation string in hyperion (#128384) 2024-10-16 21:28:17 +02:00
Jan-Philipp Benecke 82e9792b4d Remove deprecated map integration (#128529) 2024-10-16 20:46:00 +02:00
Noah Husby af41a41046 Add select entity to Cambridge Audio (#128527)
* Add select entity to Cambridge Audio

* Add select entity to Cambridge Audio

* Update test name
2024-10-16 19:57:10 +02:00
Steven B. 59e5eb9a1c Always use uv from virtual environment at runtime (#128371) 2024-10-16 19:42:25 +02:00
Klaas Schoute a0637a6ff8 Add port to config flow of P1 Monitor integration (#128324) 2024-10-16 19:40:20 +02:00
Joost Lekkerkerker 5497697cf2 Add diagnostics to Spotify (#128521) 2024-10-16 19:33:28 +02:00
Olaf van Zandwijk b07682e43c Update terminology for built-in blueprints (#128383) 2024-10-16 19:14:09 +02:00
epenet 0bc572787a Add check for valid error code in translation checks in flows (#128445) 2024-10-16 19:03:24 +02:00
Noah Husby 15fc4a8ae4 Bump aiostreammagic to 2.7.0 (#128525) 2024-10-16 19:00:19 +02:00
Louis Christ 8bf7243549 Bump pyblu to 1.0.4 (#128482) 2024-10-16 18:59:03 +02:00
epenet 66395d5fe5 Use runtime_data in rainforest_raven (#128517) 2024-10-16 18:24:35 +02:00
Robert Resch f9509d2b38 Bump uv to 0.4.22 (#128518) 2024-10-16 18:23:24 +02:00
Álvaro Fernández Rojas 7c50b8185d Update aioairzone-cloud to v0.6.7 (#128231) 2024-10-16 18:11:02 +02:00
epenet 350a27575f Prevent leak of current_entry context variable (#128145) 2024-10-16 18:02:37 +02:00
Joost Lekkerkerker 494511e099 Migrate spotify to aiospotify (#127728) 2024-10-16 17:04:05 +02:00
Michael Hansen 11ac8f8006 Add conversation agent to Wyoming (#124373)
* Add conversation agent to Wyoming

* Remove error

* Remove conversation platform from satellite list

* Clean up

* Update homeassistant/components/wyoming/conversation.py

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

* Remove unnecessary attribute

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-10-16 09:07:56 -05:00
Michael Hansen bcac851677 Migrate Wyoming satellite to Assist satellite entity (#128488)
* Migrate Wyoming satellite to Assist satellite entity

* Fix tests

* Update homeassistant/components/wyoming/assist_satellite.py

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

* Update homeassistant/components/wyoming/assist_satellite.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-10-16 08:59:44 -05:00
Noah Husby c294130080 Bump aiostreammagic to 2.6.0 (#128498) 2024-10-16 15:08:40 +02:00
Joost Lekkerkerker c0f19dd963 Reorder Google Assistant Traits (#127646) 2024-10-16 15:04:46 +02:00
epenet e5a07da0c9 Add checks for config entry state in async_config_entry_first_refresh (#128148) 2024-10-16 14:06:25 +02:00
Marc Mueller 1ad3a96643 Update build-system (#128256) 2024-10-16 14:05:18 +02:00
Jan Bouwhuis ac6d893758 Correct type hints on MQTT tests (#128299) 2024-10-16 13:49:18 +02:00
epenet 9f2bdca9ad Use unique_id_mismatch in aseko_pool_live reauth (#128339) 2024-10-16 13:47:33 +02:00
epenet c5046f7809 Add check for valid abort reason translation in option flows (#128444) 2024-10-16 13:41:15 +02:00
epenet f7897bbd64 Fix incorrect error strings in weatherflow (#128447) 2024-10-16 13:40:31 +02:00
epenet 6442625a9d Fix incorrect error strings in webmin (#128448) 2024-10-16 13:39:46 +02:00
epenet 5d079aacd6 Fix incorrect error strings in triggercmd (#128450) 2024-10-16 13:38:15 +02:00
epenet 0e7297873c Add SOURCE_HASSIO to DISCOVERY_SOURCES (#128454) 2024-10-16 13:34:28 +02:00
Robert Resch dfb94d8917 Rename host to url in go2rtc config flow (#128508) 2024-10-16 13:33:47 +02:00
Joost Lekkerkerker ed445d0ab8 Add even more tests to Spotify (#128298) 2024-10-16 13:20:57 +02:00
Barry vd. Heuvel dddc1906c2 Add missing Weheat temperature sensors (#128452)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-16 11:53:39 +02:00
Christopher Fenner 144454b8c3 Remove duplicate oauth2 token validity check (#128419)
* remove duplicate validity check

* Apply suggestions from code review

* add leftover

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-16 11:42:44 +02:00
epenet 8ae8fa7ec9 Add SOURCE_SYSTEM to DISCOVERY_SOURCES (#128457) 2024-10-16 11:27:48 +02:00
Petar Petrov 1ff1b82fc7 Mark custom components that overwrite core (#127937) 2024-10-16 09:28:19 +02:00
J. Nick Koston 5d590bc2cf Bump yarl to 1.15.3 (#128499)
changelog: https://github.com/aio-libs/yarl/compare/v1.15.2...v1.15.3
2024-10-16 08:46:19 +02:00
Artur Pragacz 866f1e70a4 Fix default conversation agent tests (#128490) 2024-10-15 22:21:18 -05:00
Julian e273148a89 Fix translation string in lyric (#128386)
* Fix translation string in lyric

* Remove ignore_translations from lyric config_flow test
2024-10-15 22:10:56 +02:00
Michael Schäfer c5f8d823ce Add missing translation string in unifi (#128062)
Add missing translation string in unigi
2024-10-15 20:23:26 +02:00
Joakim Sørensen 25e887b457 Move backup plaform loading to the base class (#128449) 2024-10-15 12:44:13 -04:00
DJ aac5ac6057 Replace webexteamssdk with webexpythonsdk (#127928) 2024-10-15 17:54:59 +02:00
Michael Hansen 36a1eaedcf Trim the text of todo and shopping list items in intents (#128456) 2024-10-15 11:44:32 -04:00
Artur Pragacz bb9f534259 Improve intent recognition in default conversation agent (#124282)
Use the same logic for custom sentences.
Prefer higher quality (longer) names.
2024-10-15 09:14:31 -05:00
hahn-th cf9e5ae5a0 Add support HmIP-BSL after firmware update to 2.0 to homematicip_cloud (#117657)
* Rebase

* Fix number of loaded entities

* Reduce redundant code

* Remove unneccessary import in test_light
2024-10-15 15:26:33 +02:00
Jordan Zucker d2db25c7dd Refactor prometheus integration tests (#113849)
* Starting with a simple change

* And trying again but actually adding the new area to this

* And that's getting interesting

* Wanted to add some small things to gitignore too

* More metrics clean up

* The linter is harsh

* Need to adjust a ton of tests

* I was finally able to commit

* Trying to abstract metrics into a helper class

* Fixed some tests at least

* Making progress on tests

* Getting really close now

* Only 1 or 2 tests left to fix

* Only 1.5 tests left

* That's more than enough for tonight

* Got all the tests passing!

* Another pass at test clean up

* Fixed up all the tests, again

* More clean up needed

* Got device_class working just need to fix one test I broke

* Got all the existing tests working!

* Refactored helpers into a separate file

* I added some new tests! For the helpers, ironically

* Don't touch those files

* Don't include that either

* Added my first real test

* Rolling back some logic changes to focus solely on tests

* Curious what happens when I run the tests now

* Getting closer to making things pass

* Getting closer to a working pr now

* Keeping up with test fixes

* Getting much closer to something useful

* Saving piecemeal

* Getting closer to a final working version

* Now that's an improvement

* And moving a little forward

* And now I'm really inching closer

* Saving more complex test case fix

* And now only 3 tests left

* Getting close and only a few tests left

* I think I'm close with only 1 test left

* Does this mean the tests actually work now

* Was not using the helper classes anymore

* Now I'm really curious

* Need to rename the recently renamed class

* Was it really that easy? (No, it wasn't)

* Is this finally enough

* Also added another full percentage point of tests

* Trying to clean things up a bit more

* Now how does this look?

* Just a little more clean up

* Added a few more tests for the new helper functions

* Last pass on much better tests for this

* Oops, forgot to remove redundant tests

* Fix the fixtures

* Getting closer to something decent, I hope

* Another pass on the formatting of the number 1

* And yet another pass on these tests

* Tests cleaned up a bit more

* Minor updates as suggested

* Another pass on assert with metrics helper

* Now this is fully tested
2024-10-15 14:22:36 +02:00
epenet 2542ddd30a Improve check for user-visible flows when checking translations in tests (#128434)
* Improve check for user-visible flows when checking translations in tests

* Fix nest (from DHCP)

* Ignore homeassistant_hardware

* Improve logic
2024-10-15 14:09:53 +02:00
Julian 260d919f80 Fix translation string in spotify (#128440)
* Fix translation string in spotify

* Remove ignore_translations from spotify config_flow test

* Fix formatting in config flow test for spotify
2024-10-15 14:00:34 +02:00
dependabot[bot] fa8284d360 Bump github/codeql-action from 3.26.12 to 3.26.13 (#128420)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-15 13:52:46 +02:00
Joakim Sørensen fb7bed2ea0 Add WS endpoint to fetch the details of a backup (#128430)
* Add WS endpoint to fetch the details of a backup

* Shorten

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

* Adjust

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-15 13:00:34 +02:00
epenet 84b2c74057 Fail on unused ignore_translations fixture (#128422)
* Fail on unused ignore_translations fixture

* Cleanup melcloud

* Use pytest.fail

* Cleanup tplink

* Cleanup matter
2024-10-15 12:40:47 +02:00
Joakim Sørensen a14cb13194 Add BaseBackupManager as a common interface for backup managers (#126611)
* Add BaseBackupManager as a common interface for backup managers

* Document the key

* Update homeassistant/components/backup/manager.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-15 12:31:12 +02:00
Marc Mueller 78fce90178 Fix pytest workflow for testing multiple Python versions [ci] (#128412) 2024-10-15 12:28:52 +02:00
Julian a158e893e0 Fix translation string in matter (#128364)
* Fix translation string in matter

* Reorder strings.json for matter component
2024-10-15 11:56:56 +02:00
epenet 117bc67a4c Adjust homewizard translation strings (#128423)
* Add missing translation for homewizard

* Adjust
2024-10-15 11:34:20 +02:00
epenet 9930473390 Add missing translation for youtube (#128431) 2024-10-15 11:29:17 +02:00
Julian b41ef73ecb Fix translation string in iotty (#128385) 2024-10-15 10:59:25 +02:00
Julian 52b6574240 Fix translation string in rova (#128402) 2024-10-15 10:53:58 +02:00
Brett Adams 0d857d3e6a Fix reauth strings in Teslemetry (#128426)
* config strings

* remove entry_data
2024-10-15 10:47:26 +02:00
epenet 3ba3fbf4a5 Add tests/components/conftest.py to core files (#128425) 2024-10-15 10:34:54 +02:00
Cyrill Raccaud c3e7fcc153 Response type should not contain datetime for Swiss Public Transport (#128391)
* response type should not contain datetime

* use isoformat
2024-10-15 07:35:05 +02:00
Marc Mueller 2c00cd489e Fix go2rtc test RuntimeWarnings (#128411) 2024-10-15 01:11:01 +02:00
Oliver df52f3f0e1 Fix initialization of some denonavr receivers when telnet API is enabled (#127882)
Suppress `denonavr.exceptions.AvrProcessingError` when connecting to telnet API
2024-10-14 23:23:44 +02:00
Thomas55555 11e8e56e05 Improve internal naming (#128390)
* Improve internal naming

* revert select
2024-10-14 23:15:02 +02:00
Julian a5ecbd547c Fix translation string in gardena_bluetooth (#128387) 2024-10-14 21:53:36 +02:00
Simon Lamon 866912d3f7 Keep the provided name when creating a tag (#128240)
* Keep the name

* Add patch

* Update homeassistant/components/tag/__init__.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-10-14 21:22:12 +02:00
Julian 56e550f136 Fix translation string in eq3btsmart (#128319) 2024-10-14 18:46:38 +02:00
Julian 1e179adcf2 Fix translation string in lifx (#128362) 2024-10-14 18:45:42 +02:00
Julian c5fe7ea0ea Fix translation string in weatherflow (#128321) 2024-10-14 18:15:40 +02:00
epenet fdda0cc9cc Use reauth/reconfigure helpers in tedee config flow (#128025)
* Use reauth/reconfigure helpers in tedee config flow

* Also cleanup unnecessary reconfigure_confirm
2024-10-14 18:01:47 +02:00
epenet f9dfc64c6f Use long option for pytest numprocesses (#128354) 2024-10-14 17:20:58 +02:00
epenet f41494b7cc Ensure config_flow abort reasons have translations (#128140)
* Ensure config_flow abort reasons have translations

* Ignore fake_integration in application_credentials

* Mark gardena_bluetooth as needs fixing

* Mark google as needs fixing

* Mark google_assistant_sdk as needs fixing

* Mark homewizard as needs fixing

* Mark homeworks as needs fixing

* Mark honeywell as needs fixing

* Mark jewish_calendar as needs fixing

* Mark lg_netcast as needs fixing

* Mark lifx as needs fixing

* Mark lyric as needs fixing

* Mark madvr as needs fixing

* Mark matter as needs fixing

* Mark melcloud as needs fixing

* Mark motioneye as needs fixing

* Mark ollama as needs fixing

* Mark philips_js as needs fixing

* Mark spotify as needs fixing

* Mark srp_energy as needs fixing

* Mark subaru as needs fixing

* Mark tplink as needs fixing

* Mark yolink as needs fixing

* Mark youtube as needs fixing

* Fix incorrect comment
2024-10-14 16:39:10 +02:00
Julian 821d9abc56 Fix translation string in melcloud (#128363)
* Fix translation strings in melcloud

* Fix wrong key reference for "invalid_auth"
2024-10-14 16:03:53 +02:00
Robert Resch f5b55d5eb3 Rewrite go2rtc binary handling to be async (#128078) 2024-10-14 15:32:00 +02:00
Josef Zweck cdb1b1df15 Add model_id to tedee (#128356) 2024-10-14 14:56:27 +02:00
Julian 8e6b41e637 Fix translation string in yolink (#128353) 2024-10-14 14:45:14 +02:00
Julian 1f7cc5f5ec Fix translation string in tplink (#128352) 2024-10-14 14:01:27 +02:00
epenet 1a0c3a49b9 Use async_update_reload_and_abort in awair (#128345) 2024-10-14 13:27:04 +02:00
epenet c4e2e9c4f0 Use reauth_confirm in azure_devops (#128349) 2024-10-14 13:24:08 +02:00
Andrew Jackson 7df973648c Strip path from Mastodon base url (#127994) 2024-10-14 13:20:25 +02:00
epenet 25aea140be Cleanup unnecessary reconfigure_confirm from config flows (#128086) 2024-10-14 12:57:15 +02:00
Julian 8d2cf0cf38 Fix translation string in tankerkoenig (#128320) 2024-10-14 12:33:13 +02:00
epenet d2bbfe1282 Refactor abode config flow tests (#128334)
* Refactor abode config flow tests

* Cleanup
2024-10-14 12:13:47 +02:00
epenet 6d72391ee1 Use reauth helpers in airvisual (#128335)
* Use reauth helpers in airvisual

* Cleanup unused code in tests
2024-10-14 11:46:14 +02:00
tronikos a53e02b51b Bump opower to 0.8.4 (#128338) 2024-10-14 11:45:38 +02:00
epenet 401e334c28 Remove single-use variable in aussie-broadband (#128340) 2024-10-14 11:45:12 +02:00
Josef Zweck 4c10ce6f40 Add model_id to lamarzocco (#128344) 2024-10-14 11:45:02 +02:00
J. Nick Koston fed6a4689f Bump yarl to 1.15.2 (#128309)
changelog: https://github.com/aio-libs/yarl/compare/v1.15.1...v1.15.2
2024-10-14 08:14:38 +02:00
Julian 6dc5a9efde Fix translation string in knocki (#128318)
* Fix translation string in knocki

* Update homeassistant/components/knocki/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-13 22:18:08 +02:00
Chris Talkington cb1e5a2412 Fix playing media via roku (#128133)
* re-support playing media via roku

* fixes

* test fixes

* Update test_media_player.py

* always send media type

* add description to options flow
2024-10-13 12:41:51 -05:00
Hans Kröner f47a012c62 Bump pydeconz to v118 (#128289) 2024-10-13 19:37:02 +02:00
Elias Wernicke e6e22dc0bf Refactor todo tests (#128251)
refactor todo tests
2024-10-13 08:17:15 -07:00
G Johansson d8589113c3 Fix state for litterrobot (#128297) 2024-10-13 16:31:53 +02:00
dontinelli 188e503070 Bump solarlog_cli to 0.3.2 (#128293) 2024-10-13 16:04:58 +02:00
Simone Chemelli e4f7ac6236 Add switch entity for Shelly scripts (#108171)
* introduce script switch only

* chore: add script switch test

* chore: apply review comments

* chore: fix tests

* chore: apply review comments
2024-10-13 15:11:40 +02:00
G Johansson 7178943223 Add translatable title to statistics (#128286) 2024-10-13 14:37:57 +02:00
G Johansson 27c76e746a Add translatable title to history_stats (#128287) 2024-10-13 14:33:12 +02:00
epenet de47776ea5 Do not use async_config_entry_first_refresh in fastdotcom (#128152)
Do not use async_config_entry_first_refresh in fastdocom
2024-10-13 14:17:11 +02:00
epenet 7e56b595a0 Do not link nextbus coordinator to config entry (#128151)
* Do not link nextbus coordinator to config entry

* Refactor tests and add specific failure test

* Use ConfigEntryNotReady

* Cleanup coordinator
2024-10-13 14:13:37 +02:00
Adam Petrovic d15a9a4359 Fix daikin entities not refreshing quickly (#128230)
* Fix daikin entities not refreshing quickly

* Update homeassistant/components/daikin/switch.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-13 13:20:16 +02:00
Sid c4ff3f731b Use entry.runtime_data for caldav (#128278) 2024-10-13 13:09:20 +02:00
Allen Porter 886399284b Bump gcal_sync to 6.1.6 (#128270) 2024-10-13 12:47:27 +02:00
J. Nick Koston bf73e09918 Bump yarl to 1.15.1 (#128268)
changelog: https://github.com/aio-libs/yarl/compare/v1.15.0...v1.15.1
2024-10-13 12:47:00 +02:00
Álvaro Fernández Rojas fef36e677d Update aioairzone to v0.9.5 (#128265)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-10-13 12:45:53 +02:00
Julian 441fdc35b2 Fix translation string in google (#128237) 2024-10-12 18:40:35 -07:00
Maciej Bieniek 801c73ef94 Bump gios to version 5.0.0 (#128257) 2024-10-13 01:01:58 +03:00
epenet 3e56185a39 Use reconfigure helpers in axis config flow (#127976)
* Use reconfigure helpers in axis config flow

* Add string

* Update strings.json
2024-10-12 23:31:12 +02:00
Michael caf85fe61d Fix printer uptime fluctuations in IPP (#127725)
* decrease uptime accuracy from seconds to minutes

* adjust tests

* calc uptime timestamp in coordinator

* bump pyipp to 0.17.0

* revert changes, just use the new printer.booted_at property

---------

Co-authored-by: Chris Talkington <chris@talkingtontech.com>
2024-10-12 13:22:03 -05:00
Jan Bouwhuis 3112682923 Mark mqtt as integration with single config entry (#128202) 2024-10-12 19:55:39 +02:00
Jan Bouwhuis edb30af441 Fix hassio data fetching over list[Repository] (#128206)
* Fix hassio data fetching over list[Repository]

* Parameterize store mock and add store data to sensor tests
2024-10-12 14:44:26 +02:00
J. Diego Rodríguez Royo b5a6bb74ce Fix binary sensor at Home Connect (#128234) 2024-10-12 11:30:38 +02:00
Michael 8236a9529f Mark integrations as single_config_entry in manifest [k-r] (#128191)
* mark integrations as single_config_entry in manifest

* fix owntracks test
2024-10-12 09:03:17 +02:00
Michael c50d0646ab Mark integrations as single_config_entry in manifest [a-i] (#128189)
* mark integrations as single_config_entry in manifest

* fix ecobee tests

* fix iaqualink test
2024-10-12 08:59:57 +02:00
J. Nick Koston 1484a9c0ee Bump yarl to 1.15.0 (#128215)
changelog: https://github.com/aio-libs/yarl/compare/v1.14.0...v1.15.0
2024-10-12 08:52:12 +02:00
epenet abe02c3843 Cleanup unnecessary reconfigure_confirm in fritzbox config flow (#128087) 2024-10-12 08:42:59 +02:00
Michael 8e9e738bb8 Fix ci (dhcp tests) (#128207)
remove unused import
2024-10-12 02:20:54 +02:00
__JosephAbbey bd97a0dfe3 Add to-do list response target for ListAddItemIntent (#121970)
* Add todo list response target for ListAddItemIntent

* Delete .vscode/settings.json

* Fix imports

* Add test

* Formatting

* Fix test

---------

Co-authored-by: Tom Harris <tomharris@harrisnj.net>
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-10-11 17:23:20 -05:00
Michael 9a59cba7f3 Mark integrations as single_config_entry in manifest [system integrations] (#128201)
mark integrations as single_config_entry in manifest
2024-10-11 23:50:44 +02:00
Michael 07021dbd65 Use single_instance_allowed in hassio (#128060)
* use single_instance_allowed

* mark hassio as `single_config_entry`
2024-10-11 23:37:14 +02:00
Michael Hansen 8ee8421af7 Use device area/floor in HassGetState intent (#128197)
Use preferred area/floor in HassGetState intent
2024-10-11 16:08:43 -05:00
G Johansson f983446355 Remove not used issue strings in tessie (#128178) 2024-10-11 22:12:23 +02:00
Marc Hörsken 6650d32055 Improve discovery of WMS WebControl pro by updating IP address (#128007) 2024-10-11 20:40:03 +02:00
Jan-Philipp Benecke 0badff98c6 Remove deprecated yaml support from lg_netcast (#128114) 2024-10-11 20:36:37 +02:00
Jan-Philipp Benecke 1630bf5de7 Remove legacy notify service from ecobee (#128115) 2024-10-11 20:26:13 +02:00
G Johansson 2b2820018c Remove legacy knx notify service (#128185) 2024-10-11 20:19:15 +02:00
Manu 8540343d7f Add tests for Habitica integration (#126445)
* Add tests for sensor platform

* Add tests for switch platform

* Add tests for button platform

* Add tests for todo platform

* Add tests for todo platform

* Load json data fixtures

* Update snapshot

* Add fixtures

* test move todo

* parametrize todo tests, test drop notification

* test todo exceptions

* some minor improvements

* test setup retry

* Test update failed

* Test coordinator rate limit

* Test date utils

* Reduce scope of PR

* remove unused assert_mock_called_with  function

* update snapshot

* Update tests/components/habitica/test_init.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-11 20:03:23 +02:00
Joost Lekkerkerker e52b347b18 Bump yt-dlp to 2024.10.07 (#128182) 2024-10-11 19:54:10 +02:00
Michael Hansen 67e0ccf677 Use exposed error messages in Assist (#127503)
* Use exposed error messages

* Report expose errors

* Remove comment

* Relative import

* Rework expose check logic

* Delay creation of all names list, and skip config/hidden entities

* Clean up commented code and type issue

* Fix test

* Move assistant check
2024-10-11 13:06:03 -04:00
Mike Degatano ba6bcf86ca Bump aiohasupervisor to 0.2.0b0 (#128173) 2024-10-11 19:03:32 +02:00
Franck Nijhof 6952d2420f 2024.10.2 (#128176) 2024-10-11 18:25:02 +02:00
G Johansson a85d7af9e7 Remove deprecated notify service in ecobee (#128177) 2024-10-11 18:21:28 +02:00
G Johansson 39e63aee0c Remove config entry import from lg_netcast (#128179) 2024-10-11 18:20:50 +02:00
Franck Nijhof 9176994947 Bump version to 2024.10.2 2024-10-11 17:54:37 +02:00
Thomas55555 d389b55f40 Fix model in Husqvarna Automower (#128168) 2024-10-11 17:54:24 +02:00
Christopher Fenner 0ccff9fc54 Fix preset handling issue in ViCare (#128167)
* add test case

* fix test case

* fix issue

* change order
2024-10-11 17:54:21 +02:00
tronikos a8836ca7b6 Remove some redundant code in Opower's coordinator from the fix in #128141 (#128150) 2024-10-11 17:54:17 +02:00
tronikos f5d04a970f Bump opower to 0.8.3 (#128144) 2024-10-11 17:54:14 +02:00
tronikos 7aec98dafd Fix regression in Opower that was introduced in 2024.10.0 (#128141)
* Avoid KeyError when statistics have gaps

* fix break

* Remove unnecessary check
2024-10-11 17:54:10 +02:00
Marc Mueller 773564d4f5 Fix license script for ftfy (#128138) 2024-10-11 17:54:04 +02:00
Thomas55555 3e2edc1a2d Bump aioautomower to 2024.10.0 (#128137)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-10-11 17:53:59 +02:00
J. Diego Rodríguez Royo 6a12a24d73 Migrate device models to entity descriptions and add localization & icons at Home Connect (#127870)
* Delete device models and use entity descriptions

* Home Connect localization & icons

* Update homeassistant/components/home_connect/strings.json

* Update homeassistant/components/home_connect/icons.json

* Fix tests

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-11 17:52:06 +02:00
Bram Kragten 9cfc9b9baf Update frontend to 20241002.3 (#128106) 2024-10-11 17:52:03 +02:00
Marc Jay 1739647768 Fix grammar in Template Helper creation dialog (#128174) 2024-10-11 17:51:47 +02:00
David Knowles 92b67ead83 Increase Hydrawise polling interval to 60 seconds (#128090) 2024-10-11 17:50:35 +02:00
Steven B ee9525cc00 Fix ring realtime events (#128083) 2024-10-11 17:49:38 +02:00
kingy444 571bfaf5d7 Fix casing on Powerview Gen3 zeroconf discovery (#128076) 2024-10-11 17:37:31 +02:00
Matthias Alphart a3475607b2 Update xknxproject to 3.8.1 (#128057) 2024-10-11 17:37:28 +02:00
Michael f0a653d010 Add missing translation string for re-auth flows (#128055) 2024-10-11 17:37:23 +02:00
Steven B. eecdf66013 Fix missing reauth name translation placeholder in ring integration (#128048) 2024-10-11 17:37:19 +02:00
dontinelli f99db05a4a Add missing translation string in solarlog (#128015) 2024-10-11 17:37:16 +02:00
Teemu R. 635731421f Increase tplink climate precision (#127996) 2024-10-11 17:37:13 +02:00
Maikel Punie 44743df7d6 Bump pyduotecno to 2024.10.0 (#127979) 2024-10-11 17:37:09 +02:00
epenet 33617694cc Fix firmware version parsing in venstar (#127974) 2024-10-11 17:37:06 +02:00
Raman Gupta ed445d20b9 Fix zwave_js config validation for values (#127972) 2024-10-11 17:37:02 +02:00
Lenn 66c2fe091b Bump motionblindsble to 0.1.2 (#127954) 2024-10-11 17:36:59 +02:00
Antoine Reversat 8c80f47a35 Fix europe authentication in Fujitsu FGLair (#127947) 2024-10-11 17:36:53 +02:00
Marc Hörsken e37025c1c7 Update pywmspro to 0.2.1 to fix handling of unknown products (#127942) 2024-10-11 17:36:50 +02:00
Marc Hörsken 0aabde081b Fix discovery of WMS WebControl pro by using IP address (#127939) 2024-10-11 17:36:46 +02:00
Steven B. a1c9d53474 Bump python-kasa to 0.7.5 (#127934) 2024-10-11 17:36:43 +02:00
Maciej Bieniek 094996ad0c Bump imgw_pib library to version 1.0.6 (#127925)
Bump `imgw_pib`
2024-10-11 17:36:40 +02:00
Manu ce359a7689 Add support of due date calculation for grey dailies in Habitica integration (#127923)
Fix grey dailies due date calculation
2024-10-11 17:36:36 +02:00
epenet ee599160b3 Add missing translation string in yamaha_musiccast (#127912) 2024-10-11 17:36:32 +02:00
epenet dd076f7a13 Add missing translation string in otbr (#127909) 2024-10-11 17:36:29 +02:00
dcmeglio 3021d38b6f Bump pyeconet to 0.1.23 (#127896) 2024-10-11 17:36:25 +02:00
G Johansson bfcabeaf26 Bump holidays library to 0.58 (#127876) 2024-10-11 17:36:22 +02:00
G Johansson c31e0336dc Don't error with missing information in systemmonitor diagnostics (#127868) 2024-10-11 17:36:14 +02:00
G Johansson a1e42cac7a Fix merge_response template not mutate original object (#127865)
* Fix merge_response template not mutate original object

* Add comment
2024-10-11 17:36:11 +02:00
Michael 14a3e5b771 Add missing translation string in AVM Fritz!Smarthome (#127864) 2024-10-11 17:36:07 +02:00
azerty9971 5901c543da Fix wrong DPTypes returned by Tuya's cloud (#127860)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-11 17:36:04 +02:00
Jon Seager 456b80e6ae Bump pytouchlinesl to 0.1.8 (#127859) 2024-10-11 17:36:00 +02:00
dontinelli e5644ae011 Reverse unintended change of unique_id for solarlog (#127845) 2024-10-11 17:35:57 +02:00
epenet 41c794c733 Add missing and fix incorrect translation string in duotecno (#127834) 2024-10-11 17:35:53 +02:00
epenet a481448d46 Fix incorrect translation string in bryant_evolution (#127830) 2024-10-11 17:35:49 +02:00
epenet 2bd7ce618a Add missing translation string in blebox (#127827) 2024-10-11 17:35:45 +02:00
Erik Montnemery da1ac4f1e9 Correct cleanup of sensor statistics repairs (#127826) 2024-10-11 17:35:42 +02:00
epenet f0cb638106 Fix incorrect translation string in azure event hub (#127820) 2024-10-11 17:35:38 +02:00
epenet dad2396d01 Add missing and fix incorrect translation string in aurora (#127818) 2024-10-11 17:35:34 +02:00
epenet 91e4d8b663 Fix incorrect translation string in analytics_insights (#127815) 2024-10-11 17:35:31 +02:00
epenet e35496133e Add missing and fix incorrect translation string in alarmdecoder (#127814) 2024-10-11 17:35:28 +02:00
epenet 3be808ae1e Fix incorrect string in amberlectric (#127807) 2024-10-11 17:35:23 +02:00
TimL c5772916a1 Bump pysmlight to v0.1.3 (#127804)
Bump pysmlight v0.1.3

Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-10-11 17:35:18 +02:00
Álvaro Fernández Rojas 8cd63b80b1 Update aioairzone-cloud to v0.6.6 (#127789) 2024-10-11 17:35:14 +02:00
Johan Gustafsson c087654386 Fix aurora alert sensor always Off (#127780) 2024-10-11 17:35:11 +02:00
Erik Montnemery 60b9e65c78 Bump pychromecast to 14.0.3 (#127778) 2024-10-11 17:35:08 +02:00
J. Nick Koston 79b304a5d2 Bump DoorBirdPy to 3.0.4 (#127760)
changelog: https://gitlab.com/klikini/doorbirdpy/-/compare/3.0.3...eea287316c6fd84b63cc67fd743cc1128ea14568?from_project_id=7409088&straight=false

fixes #126598
2024-10-11 17:35:00 +02:00
Franck Nijhof bb9fd126e5 Update DoorBirdPy to 3.0.3 (#126949) 2024-10-11 17:34:40 +02:00
dontinelli bff2d5c26c Bump solarlog_cli to 0.3.1 (#127753) 2024-10-11 17:31:18 +02:00
Ricardo Marques 46d9ac8380 Fix custom account config flow setup (#127750) 2024-10-11 17:31:15 +02:00
Simon Lamon 5da3ca4bb1 Bump python-linkplay to 0.0.15 (#127748) 2024-10-11 17:31:12 +02:00
Johan Gustafsson 2c99fdc092 Fix Aurora integration casts longitude and latitude to integer (#127740)
Fix Aurora integration casts longitude and latitude to integer (#100817)
2024-10-11 17:31:07 +02:00
Raj Laud 31a075fb13 Remove stale references in squeezebox services.yaml (#127739) 2024-10-11 17:31:04 +02:00
René Klomp 1d132d7a1e Migrate SMA unique id to str (#127732) 2024-10-11 17:31:01 +02:00
Michael 3b6f88cfa7 Increase connection timeout in CalDAV (#127727) 2024-10-11 17:30:57 +02:00
Joost Lekkerkerker b927763d8d Add translation string for Withings wrong account (#127719) 2024-10-11 17:30:54 +02:00
Joost Lekkerkerker d00e1cb6a5 Bump airgradient to 0.9.1 (#127718) 2024-10-11 17:30:50 +02:00
Joost Lekkerkerker adf7474edb Bump NYT Games to 0.4.3 (#127717) 2024-10-11 17:30:46 +02:00
Joost Lekkerkerker 041d663cb8 Fix Withings log message (#127716) 2024-10-11 17:30:42 +02:00
Joost Lekkerkerker 37f611a8d3 Fix typo in HDMI CEC (#127714) 2024-10-11 17:30:39 +02:00
David Knowles be99329efa Fix problems with automatic management of Schlage locks (#127689)
Use the correct identifiers for existing lock devices
2024-10-11 17:30:35 +02:00
Marc Mueller 327cb70bb8 Revert "Fix enum lookup (#125220)" (#127680)
This reverts commit 1bc63a61be.
2024-10-11 17:30:32 +02:00
dontinelli be2b5a4c3a Bump fyta_cli to 0.6.7 (#127650) 2024-10-11 17:30:29 +02:00
Richard Cox d1eda9dd73 Update Radarr config flow to standardize ports (#127620) 2024-10-11 17:30:25 +02:00
Brett Adams b902cb5a13 Fix wake up in Tesla Fleet (#127615) 2024-10-11 17:30:21 +02:00
tronikos 1184ee4a59 Bump opower to 0.8.2 (#127598)
* Bump opower to 0.8.1 to fix enmax

* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2024-10-11 17:30:18 +02:00
Noah Husby 2cf898afcc Bump aiostreammagic to 2.5.0 (#127595) 2024-10-11 17:30:13 +02:00
Manu 38fc0bd889 Add x-client headers to Habitica API calls (#127952)
Add x-client headers
2024-10-11 17:28:22 +02:00
Louis Christ df53e19eda Bump pyblu to 1.0.3 (#127571) 2024-10-11 17:28:18 +02:00
Brett Adams 7f79b26341 Fix Island status in Teslemetry (#127504) 2024-10-11 17:28:13 +02:00
epenet 63391717e7 Replace ValueError with deprecation in data update coordinator (#128082)
* Replace ValueError with deprecation in data update coordinator

* Rephrase
2024-10-11 17:24:47 +02:00
Steven B. 554629f37a Fix ring realtime events (#128083) 2024-10-11 17:17:32 +02:00
Christopher Fenner 791c3cd955 Fix preset handling issue in ViCare (#128167)
* add test case

* fix test case

* fix issue

* change order
2024-10-11 17:15:16 +02:00
Thomas55555 6e53c93271 Fix model in Husqvarna Automower (#128168) 2024-10-11 17:05:13 +02:00
epenet 7097315079 Cleanup unnecessary reconfigure_confirm in fritz config flow (#128089) 2024-10-11 15:54:28 +02:00
Joost Lekkerkerker d50758197e Add test for Spotify select source (#128160) 2024-10-11 14:33:34 +02:00
Erik Montnemery 9ff35d5a5a Minor improvement of entity platform tests (#128158)
* Minor improvement of entity platform tests

* Fix snapshot
2024-10-11 14:14:29 +02:00
Joost Lekkerkerker 00f7bdbfaa Add more Spotify tests for the media player (#127999)
* Add more Spotify tests for the media player

* Fix comments

* Rename test
2024-10-11 14:06:52 +02:00
Erik Montnemery e682d3461f Remove parameter add_config_entry from DeviceRegistry.async_update_device (#128139) 2024-10-11 14:01:14 +02:00
Joost Lekkerkerker 71898d0c8c Add snapshot testing to Spotify (#128032)
* Add snapshot testing to Spotify

* Fix
2024-10-11 13:58:04 +02:00
Erik Montnemery 416ead5311 Improve docstring of EntityComponent and EntityPlatform (#128135) 2024-10-11 13:43:20 +02:00
Raj Laud c7882450ac Remove stale references in squeezebox services.yaml (#127739) 2024-10-11 13:39:33 +02:00
Teemu R. 1eea5b8a58 Increase tplink climate precision (#127996) 2024-10-11 13:15:30 +02:00
Antoine Reversat 7341337b5f Fix europe authentication in Fujitsu FGLair (#127947) 2024-10-11 13:14:47 +02:00
Matthias Alphart 964d87ae10 Update xknxproject to 3.8.1 (#128057) 2024-10-11 12:50:15 +02:00
epenet cb02c723e0 Do not use async_config_entry_first_refresh in fronius (#128153) 2024-10-11 12:49:01 +02:00
Álvaro Fernández Rojas 4c1b7add39 Update aioairzone to v0.9.4 (#127792) 2024-10-11 12:39:39 +02:00
tronikos 252aa1410b Remove some redundant code in Opower's coordinator from the fix in #128141 (#128150) 2024-10-11 12:37:23 +02:00
Teemu R. 64693eaca2 Add reboot button for tplink (#127935)
* Add reboot button for tplink

* Add device_class, remove unnecessary translation and update fixtures

* update snapshot
2024-10-11 12:21:36 +02:00
tronikos c39a1596d5 Log exceptions in the config flow of Opower (#128146)
log exceptions
2024-10-11 12:19:34 +02:00
tronikos 46184188e4 Fix regression in Opower that was introduced in 2024.10.0 (#128141)
* Avoid KeyError when statistics have gaps

* fix break

* Remove unnecessary check
2024-10-11 12:10:07 +02:00
tronikos d9f4f424fd Bump opower to 0.8.3 (#128144) 2024-10-11 12:02:11 +02:00
Thomas55555 6b3f18cb5d Bump aioautomower to 2024.10.0 (#128137)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-10-11 10:43:01 +02:00
J. Nick Koston 75c22b6a6f Bump aiohttp to 3.10.10 (#128128)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-10-11 10:33:14 +02:00
Marc Mueller 19e7fdfdb0 Fix license script for ftfy (#128138) 2024-10-11 09:59:43 +02:00
Erik Montnemery 8ba14ef113 Minor improvement of device_registry (#128075)
* Minor improvement of device_registry

* Remove uncovered line
2024-10-10 22:41:44 +02:00
kevdliu 50025971d8 Support open next and close next actions for shades (#125097)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-10-10 15:09:52 -05:00
BlueMöhre bcbba04f27 Add deCONZ IKEA RODRET device trigger (#128121)
add config for RODRET
2024-10-10 21:49:55 +02:00
Erik Montnemery 74ba8877d4 Improve entity registry test coverage (#128073) 2024-10-10 21:16:39 +02:00
Bram Kragten ec91d74456 Update frontend to 20241002.3 (#128106) 2024-10-10 13:14:20 -04:00
Brett Adams cb014cf255 Bump tesla-fleet-api to 0.8.4 (#127995)
Bump tesla-fleet-api
2024-10-10 18:43:37 +02:00
BlueMöhre af08b73280 Add deconz IKEA SOMRIG device trigger (#127464)
add config for SOMRIG
2024-10-10 18:24:23 +02:00
Michael e86d568536 Add missing already_configured strings (#128058)
* add missing already_configured string

* revert hassio
2024-10-10 17:52:00 +02:00
Jan-Philipp Benecke 9f7eb36a1f Remove deprecated speed limit lock entity from tessie (#128043)
Remove deprecated speedlimit lock entity from tessie
2024-10-10 17:51:10 +02:00
Phill (pssc) 0fcbfa996f Add squeezebox API failure test (#128066)
* add api failure test

* Update tests/components/squeezebox/test_init.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-10 17:38:14 +02:00
G Johansson 2ab5e5d267 Remove deprecated restart service in modbus (#128059) 2024-10-10 17:30:50 +02:00
Erik Montnemery 5b7bd6a52f Minor improvement of device registry tests (#128095) 2024-10-10 17:28:57 +02:00
David Knowles ebb8ec954d Increase Hydrawise polling interval to 60 seconds (#128090) 2024-10-10 16:35:33 +02:00
Robert Resch dd856a9116 Use custom function instead mashumaro in WebRTC dataclasses (#128099) 2024-10-10 16:15:09 +02:00
Marc Hörsken 5e38bb7a32 Add scene support to WMS WebControl pro (#126081)
* Add scene support to WMS WebControl pro

* Update homeassistant/components/wmspro/scene.py

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

* Create a device per room instead of scene

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-10 15:44:18 +02:00
AlCalzone f446e42317 Support non-dimmable color lights in Z-Wave JS (#127808)
* Z-Wave JS: support non-dimmable color lights

* remove black_is_off light, support on/off/color

* fix: tests for on/off light

* fix: typo

* remove commented out old test code

* add test for off and on

* support colored lights without separate brightness control

* add test for color-only light

* refactor: extract color only light

* fix: preserve color when changing brightness

* extend tests

* refactor again

* refactor scale check

* refactor: remove impossible check

* review feedback

* review feedback

* fix discovery to handle all 3 switch CCs, limit search to same endpoint

* Update homeassistant/components/zwave_js/discovery.py

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

* Update homeassistant/components/zwave_js/discovery.py

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

* add test for Smart Switch 7 state

* Add type annotations

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-10 14:36:37 +02:00
kingy444 67f67a02f8 Fix casing on Powerview Gen3 zeroconf discovery (#128076) 2024-10-10 07:22:14 -05:00
Mike Degatano a9aa5ad229 Use aiohasupervisor for store APIs (#126780)
* Use aiohasupervosor for store addon info

* Use aiohasupervisor install addon

* Use aiohasupervisor for store info API

* Fix onboarding test

* Changes from feedback

* Move get_supervisor_client out of constructor

* Mock supervisor_client in tests

* Make property private
2024-10-10 10:27:20 +02:00
epenet f504c27972 Add ability to pass the config entry explicitly in data update coordinators (#127980)
* Add ability to pass the config entry explicitely in data update coordinators

* Implement in accuweather

* Raise if config entry not set

* Move accuweather models

* Fix gogogate2

* Fix rainforest_raven
2024-10-10 10:20:15 +02:00
dependabot[bot] 9b3f92e265 Bump actions/upload-artifact from 4.4.2 to 4.4.3 (#128074)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 10:07:44 +02:00
Ian Hattendorf 4efb747389 Add Jellyfin remote entity (#126461)
* jellyfin: Add remote entity

This allows sending general commands via the
"Sessions/{sessionId}/Command" endpoint

* jellyfin: Add remote entity tests
2024-10-10 09:30:05 +02:00
Michael 347440019e Use snapshot platform test helper in IPP (#127734)
* use snapshot_platform

* we don't need to check for amount of entities anymore
2024-10-09 19:28:22 -05:00
epenet 39891ffe60 Drop reconfigure_confirm step in trafikverket_camera (#128031)
* Drop reconfigure_confirm step in trafikverket_camera

* Update strings.json
2024-10-09 22:14:34 +02:00
G Johansson 9bbbb2cd3c End deprecation for config entry import for folder watcher (#128056) 2024-10-09 21:25:55 +02:00
Michael 2a171fb08c Add missing translation string in enphase envoy (#128053) 2024-10-09 21:24:31 +02:00
Steven B. 9f6412a976 Fix missing reauth name translation placeholder in ring integration (#128048) 2024-10-09 21:23:23 +02:00
Michael 8a6a13db0e Add missing translation string for re-auth flows (#128055) 2024-10-09 21:12:00 +02:00
epenet fbec61662b Use reauth/reconfigure helpers in shelly config flow (#128019) 2024-10-09 22:05:45 +03:00
G Johansson 9d7f0e77f1 Add missing translations strings in trafikverket_camera (#128037) 2024-10-09 21:02:43 +02:00
Owen Voke 983607e683 Add state class to qBittorrent UL / DL speed (#127988) 2024-10-09 19:30:53 +01:00
Marc Mueller c3cbdd0eb9 Update RestrictedPython to 7.4 (#128039) 2024-10-09 14:17:44 -04:00
Jan-Philipp Benecke b56fa7b406 Extend deprecation period for hass.helpers by 6 months (#128038) 2024-10-09 14:16:56 -04:00
Marc Mueller dabc38dbff Fix StateType imports (#128042) 2024-10-09 20:16:14 +02:00
Marc Mueller e6bba49bcd Add strict typing for govee_ble (#128044) 2024-10-09 19:29:42 +02:00
Steven B. 23a1046a8f Allow single use of device class translations in tplink snapshot tests (#128022) 2024-10-09 18:12:21 +02:00
epenet 7c6b517672 Use reconfigure helpers in fronius config flow (#128001)
* Use reconfigure helpers in fronius

* Drop _async_abort_entries_match
2024-10-09 17:52:30 +02:00
epenet f6188949f3 Use reconfigure helpers in enphase envoy config flow (#127977) 2024-10-09 17:33:34 +02:00
epenet ff1ea46c46 Do not cache the reconfigure entry in feedreader config flow (#127989) 2024-10-09 17:32:08 +02:00
epenet e8bc07d40f Use reauth/reconfigure helpers in fritzbox config flow (#127993) 2024-10-09 17:31:49 +02:00
epenet fa717699f5 Use reconfigure helpers in mealie config flow (#128013) 2024-10-09 17:29:01 +02:00
epenet 8dfb8ebe5c Use reauth/reconfigure helpers in reolink config flow (#128018) 2024-10-09 17:26:08 +02:00
epenet 7b6cac558d Use reconfigure helpers in melcloud config flow (#128014) 2024-10-09 17:25:13 +02:00
epenet f13f4a4851 Do not cache reauth/reconfigure entry in solarlog config flow (#128023) 2024-10-09 17:24:19 +02:00
epenet 11245dbb82 Do not cache the entry in lamarzocco config flow (#128010) 2024-10-09 17:22:53 +02:00
Marc Hörsken 805bed092e Fix discovery of WMS WebControl pro by using IP address (#127939) 2024-10-09 17:18:58 +02:00
epenet b38694fbcd Do not cache the reconfigure entry in here travel time config flow (#128003) 2024-10-09 17:12:46 +02:00
epenet ac7dc03603 Do not cache the reconfigure entry in holiday config flow (#128005) 2024-10-09 17:09:24 +02:00
epenet 253a5e3e4b Use reauth/reconfigure helpers in fritz config flow (#127990) 2024-10-09 17:07:49 +02:00
dontinelli b8131cee2e Add missing translation string in solarlog (#128015) 2024-10-09 16:58:16 +02:00
epenet c8178ab915 Do not cache reconfigure entry in vallox config flow (#128029) 2024-10-09 16:50:17 +02:00
epenet 577ae6923a Do not cache reconfigure entry in waze_travel_time config flow (#128030) 2024-10-09 16:31:11 +02:00
epenet fcaec2c3f4 Use reconfigure helpers in lcn config flow (#128011) 2024-10-09 16:21:36 +02:00
epenet 78f4b28697 Use reauth/reconfigure helpers in trafikverket_weatherstation config flow (#128028) 2024-10-09 16:14:56 +02:00
epenet acd32b500c Use reauth/reconfigure helpers in trafikverket_camera config flow (#128026) 2024-10-09 16:08:45 +02:00
epenet 168d0f11ab Do not cache the reconfigure entry in homeworks config flow (#128006) 2024-10-09 16:07:47 +02:00
epenet 6da8b69ff8 Do not cache reconfigure entry in smhi config flow (#128021) 2024-10-09 16:06:59 +02:00
epenet 3fa460a42a Use reconfigure helpers in madvr config flow (#128012) 2024-10-09 16:05:14 +02:00
epenet 021e7ce49b Do not cache reauth/reconfigure entry in pyload config flow (#128017) 2024-10-09 16:03:19 +02:00
Marc Mueller 2d093e9692 Enable strict typing for switch_as_x (#127998) 2024-10-09 16:00:45 +02:00
epenet 30a244de7a Do not cache reconfigure entry in tado config flow (#128024) 2024-10-09 15:56:07 +02:00
epenet 195398713b Use reconfigure helpers in nam config flow (#128016) 2024-10-09 15:40:47 +02:00
epenet 3d1e57766a Simplify jewish_calendar reconfigure flow (#128008)
* Simplify jewish_calendar reconfigure flow

* Adjust
2024-10-09 15:34:11 +02:00
epenet dd08381167 Do not cache the reconfigure entry in google travel time config flow (#128002) 2024-10-09 15:07:48 +02:00
Joost Lekkerkerker c096cc23df Add tests for the Spotify media browser (#127857)
* Add tests for the Spotify media browser

* Add tests for the Spotify media browser

* Fix

* Fix comment

* Revert "Add tests for the Spotify media browser"

This reverts commit 59de6725d2.

* Add comment

* Add comment
2024-10-09 13:39:03 +02:00
azerty9971 d8d000f279 Fix wrong DPTypes returned by Tuya's cloud (#127860)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-09 12:24:09 +02:00
Maikel Punie 5dd91db5c0 Bump pyduotecno to 2024.10.0 (#127979) 2024-10-09 12:20:27 +02:00
Joost Lekkerkerker c97be4d0d1 Add Spotify media player tests (#127839)
* Improve Spotify mock

* Add Spotify media player tests

* Remove extra changes

* Remove available markets

* Remove available markets

* Fix tests
2024-10-09 12:09:42 +02:00
Manu fa53ec40d6 Remove deprecated yaml import from Habitica (#127946) 2024-10-09 11:17:19 +02:00
epenet 413a4cd7bd Use reconfigure helpers in brother config flow (#127975)
* Use reconfigure helpers in brother config flow

* Don't abort on unique_id mismatch
2024-10-09 11:17:08 +02:00
Erik Montnemery c22bbc5b91 Improve IssueRegistryItemSnapshot (#127949) 2024-10-09 10:57:04 +02:00
G Johansson 6f45e376da Don't error with missing information in systemmonitor diagnostics (#127868) 2024-10-09 10:44:54 +02:00
Lenn 5e6a38769d Bump motionblindsble to 0.1.2 (#127954) 2024-10-09 10:33:29 +02:00
Marc Hörsken f5797e3799 Update pywmspro to 0.2.1 to fix handling of unknown products (#127942) 2024-10-09 10:31:44 +02:00
Johan Gustafsson bbbbd0810a Bump auroranoaa to 0.0.5 (#127965) 2024-10-09 10:30:19 +02:00
epenet 053e2a52b8 Fix firmware version parsing in venstar (#127974) 2024-10-09 09:56:53 +02:00
epenet 99eb466223 Add updates argument to update_reload_and_abort helper (#127781)
* Add updates argument to update_reload_and_abort helper

* Also apply to airvisual_pro

* Rename argument

* docstring

* Use modern syntax

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

* Apply suggestion

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

* Apply suggestion

* Docstring

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-10-09 07:47:18 +02:00
Raman Gupta 2dec36f210 Fix zwave_js config validation for values (#127972) 2024-10-09 07:35:41 +02:00
dependabot[bot] 8b46c8bf20 Bump actions/upload-artifact from 4.4.1 to 4.4.2 (#127962) 2024-10-08 23:54:44 +02:00
dependabot[bot] 77d83bffee Bump actions/cache from 4.1.0 to 4.1.1 (#127961) 2024-10-08 23:53:33 +02:00
G Johansson 666e8e133e Cover state is enum (#127144)
* Change light state to use enum

* Adjust cover tests

* Update cover

* Fix covers

* Some tests

* More tests

* Fix tests

* Fix
2024-10-08 18:39:04 +02:00
G Johansson 959898e0fc Fix merge_response template not mutate original object (#127865)
* Fix merge_response template not mutate original object

* Add comment
2024-10-08 18:35:06 +02:00
Ricardo Marques d41b9beb71 Fix custom account config flow setup (#127750) 2024-10-08 17:44:59 +02:00
Joost Lekkerkerker 00a037c786 Snapshot more platforms for Matter (#127541)
* Snapshot more platforms for Matter

* Fix

* Fix

* Fix

* Fix tests
2024-10-08 16:17:21 +02:00
epenet d8b51b4f2c Avoid unknown error translation strings in anthropic (#127823) 2024-10-08 15:59:45 +02:00
Steven B. 4d003f51c3 Bump python-kasa to 0.7.5 (#127934) 2024-10-08 15:47:12 +02:00
Erik Montnemery e01512e469 Update integrations to use new UnitOfConductivity enums (#127932) 2024-10-08 15:20:26 +02:00
epenet 5836a85340 Prevent async_create_entry from reauth/reconfigure flows (#127527)
* Prevent `async_create_entry` from reauth/reconfigure flows

* Adjust message

* Don't raise just yet

* Adjust message

* Fix string

* Remove invalid comment

* Add parameter

* Use count parameter

* Remove another branching
2024-10-08 15:19:58 +02:00
epenet 4e15556eeb Cleanup unused variable in tests (#127930) 2024-10-08 15:14:23 +02:00
Erik Montnemery 0956dbb578 Rename UnitOfConductivity enum members (#127919)
* Rename UnitOfConductivity enum members

* Update test snapshots
2024-10-08 14:44:01 +02:00
Erik Montnemery 0c0ff855b1 Warn when async_update_entry creates a unique_id collision (#127929) 2024-10-08 14:42:41 +02:00
Andre Lengwenus 017ba509a6 Add device_class for LCN sensors (#127921)
* Add device_class for lcn sensor

* Rename device_class mapping dictionary
2024-10-08 14:24:48 +02:00
Joost Lekkerkerker 9d9b5af97f Deprecate hassio service to update addon (#127927)
* Deprecate hassio service to update addon

* Update homeassistant/components/hassio/strings.json

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

* service -> action

* service -> action; in the title as well

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-10-08 14:23:29 +02:00
Manu dd5e5323f1 Add support of due date calculation for grey dailies in Habitica integration (#127923)
Fix grey dailies due date calculation
2024-10-08 14:08:16 +02:00
Erik Montnemery cee7017d20 Reinitialize hassio discovery flow on config entry removal (#127088)
* Reinitialize hassio discovery flow on config entry removal

* Address review comments
2024-10-08 14:07:05 +02:00
J. Nick Koston c9311ea3c9 Bump yarl to 1.14.0 (#127924) 2024-10-08 14:01:37 +02:00
Maciej Bieniek 92f08be416 Bump imgw_pib library to version 1.0.6 (#127925)
Bump `imgw_pib`
2024-10-08 13:58:03 +02:00
epenet 4478f64002 Remove dead reconfigure code (#127398)
* Remove dead reconfigure code

* Adjust

* Start cleaning up test

* Prevent duplicate flows

* Add missing string

* Adjust two more tests

* Only filter out reauth flows

* Update strings.json

* Update config_entries.py

* Adjust tests

* Remove all checks - but add comment in tests

* Simplify PR
2024-10-08 13:35:04 +02:00
Robert Resch b56e22d4ee Use homeassistant STUN server (#127922) 2024-10-08 12:25:20 +02:00
Erik Montnemery d6ee10a543 Make FlowHandler.context a typed dict (#126291)
* Make FlowHandler.context a typed dict

* Adjust typing

* Adjust typing

* Avoid calling ConfigFlowContext constructor in hot path
2024-10-08 12:18:45 +02:00
Johan Gustafsson 217165208b Fix aurora alert sensor always Off (#127780) 2024-10-08 11:31:59 +02:00
epenet 2c664efb3c Add new helper for matching reauth/reconfigure config flows (#127565) 2024-10-08 10:07:36 +02:00
epenet 15a1a83729 Add missing translation string in tesla_fleet (#127915) 2024-10-08 09:48:06 +02:00
Erik Montnemery c87415023c Correct cleanup of sensor statistics repairs (#127826) 2024-10-08 09:39:21 +02:00
Simone Rescio 86fddf2ec1 Fix devContainer startup (#127042) 2024-10-08 09:32:26 +02:00
epenet 1eb8d0fa1c Don't abort on unknown error in nina config flow (#127908) 2024-10-08 09:10:26 +02:00
dependabot[bot] 6df77ef94b Bump actions/upload-artifact from 4.4.0 to 4.4.1 (#127905)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 09:05:12 +02:00
G Johansson bff66dbbd3 Use separate constants in slide cover (#127852) 2024-10-08 09:03:43 +02:00
epenet 646f457637 Add missing translation string in otbr (#127909) 2024-10-08 09:00:45 +02:00
dependabot[bot] b37d9179e6 Bump github/codeql-action from 3.26.11 to 3.26.12 (#127904)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 08:59:48 +02:00
dependabot[bot] eff9d568a2 Bump actions/checkout from 4.2.0 to 4.2.1 (#127903)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-08 08:59:34 +02:00
epenet 11793f04c1 Add missing translation string in cloudflare (#127906) 2024-10-08 08:57:21 +02:00
epenet 79e8a694ad Don't cache reauth entry in aseko_pool_live config flow (#127902) 2024-10-08 08:56:30 +02:00
epenet 4a202eca59 Add missing and fix incorrect translation string in permobil (#127910) 2024-10-08 08:54:53 +02:00
epenet 70fcca824b Add missing translation string in tile (#127911) 2024-10-08 08:53:41 +02:00
epenet f2e0190b68 Add missing translation string in yamaha_musiccast (#127912) 2024-10-08 08:52:54 +02:00
epenet 20205d7ff4 Fix incorrect translation key in crownstone (#127913) 2024-10-08 08:51:53 +02:00
epenet 3b195f61da Fix incorrect translation string in fivem (#127907) 2024-10-08 08:51:11 +02:00
dontinelli 99a40ae49f Reverse unintended change of unique_id for solarlog (#127845) 2024-10-08 08:46:49 +02:00
epenet ba4ed5a1bb Fix incorrect translation string in analytics_insights (#127815) 2024-10-08 08:45:41 +02:00
Michael ac42ff5d73 Fix translation strings in geonetnz_volcano (#127872) 2024-10-08 08:44:46 +02:00
epenet 4bb3d69631 Fix incorrect translation string in azure event hub (#127820) 2024-10-08 08:44:23 +02:00
epenet e6aac6a77f Add missing and fix incorrect translation string in alarmdecoder (#127814) 2024-10-08 08:43:40 +02:00
epenet bb4e8e5717 Fix incorrect translation string in bryant_evolution (#127830) 2024-10-08 08:42:34 +02:00
Michael c963e280ca Add missing translation string in AVM Fritz!Smarthome (#127864) 2024-10-08 08:40:58 +02:00
epenet ea1ce6a263 Don't cache reauth entry in androidtv_remote config flow (#127900)
Don't cache reauth entry in androidtv_remote
2024-10-07 23:22:55 -07:00
Marc Mueller 412acf943d Enable strict typing for panel_custom (#127855) 2024-10-08 08:16:58 +02:00
epenet 1984989564 Add missing and fix incorrect translation string in duotecno (#127834) 2024-10-08 08:16:43 +02:00
epenet e1988cd6fc Add missing and fix incorrect translation string in aurora (#127818) 2024-10-08 08:15:46 +02:00
J. Nick Koston 6269ce36b3 Bump propcache to 0.2.0 (#127816) 2024-10-08 08:14:37 +02:00
epenet 9ab81eb444 Add missing translation string in deluge (#127831) 2024-10-08 08:13:54 +02:00
epenet b75ed5b8f1 Add missing translation string in blebox (#127827) 2024-10-08 08:13:16 +02:00
Erik Montnemery fbd9502474 Use SensorDeviceClass.CONDUCTIVITY for xiaomi_ble conductivity sensors (#127880) 2024-10-08 08:12:39 +02:00
epenet b32c4a8fbb Add missing translation string in kitchen_sink (#127838) 2024-10-08 08:12:21 +02:00
dcmeglio 3755f598a2 Bump pyeconet to 0.1.23 (#127896) 2024-10-08 08:11:25 +02:00
epenet af7a9ff591 Add missing translation string in broadlink (#127829) 2024-10-08 08:10:25 +02:00
epenet 55376ea7f0 Add missing translation string in awair (#127819) 2024-10-08 08:10:01 +02:00
G Johansson 3a2843b9fa Bump holidays library to 0.58 (#127876) 2024-10-08 08:09:03 +02:00
Jon Seager 6dbfce0095 Bump pytouchlinesl to 0.1.8 (#127859) 2024-10-08 08:07:45 +02:00
G Johansson 1613b3c0df Use separate constants in template cover (#127853) 2024-10-08 08:06:44 +02:00
Marc Mueller 00ee2b4478 Enable strict typing for openai_conversation (#127854) 2024-10-08 08:06:05 +02:00
functionpointer 9a0cb59830 Clean up Tibber service tests (#127334)
* Tibber: cleanup tests

* Tibber: cleanup tests
2024-10-08 07:56:21 +02:00
Richard Kroegel 54c4fb5f56 BMW: Add reconfiguration flow (#127726)
* BMW: Add reconfiguration flow

* Implement requested changes

--------

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

* Abort if unique_id changes, small adjustments

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-10-08 07:42:10 +02:00
Marc Mueller c3bf1dde7e Enable strict typing for shell_command (#127856) 2024-10-08 02:05:41 +03:00
Shay Levy 963bba63d0 Bump aioshelly to 12.0.0 (#127884) 2024-10-08 02:05:23 +03:00
JEMcats eac930ad7f Add Tesla Fleet grid status (#126438)
* Make Changes.

* Change to match suggested changes.

* add Possible States to island status

* remove storm watch active sensor.

* Update the test_*.ambr files

* Update *.ambr files

* Add more infromation to Grid Status

* Remove storm mode strings and icons
2024-10-07 22:18:40 +02:00
epenet 4c175a3ed9 Add missing translation string in dnsip (#127833) 2024-10-07 21:03:52 +02:00
Michael ec39ec69bb Add missing translation string in AVM Fritz!Tools (#127863)
add missing translation string
2024-10-07 20:49:30 +02:00
Marc Mueller 3107785947 Update fritzconnection to 1.14.0 (#127793)
* Update fritzconnection to 1.14.0

* fix fritz image tests

---------

Co-authored-by: mib1185 <mail@mib85.de>
2024-10-07 20:00:24 +02:00
Joost Lekkerkerker fe130b62c8 Replace Spotify fixtures (#127850)
Replace fixtures with real life ones
2024-10-07 18:00:54 +02:00
Joost Lekkerkerker f0363ac221 Improve Spotify mock (#127825)
* Improve Spotify mock

* Fix comments

* Fix comments

* Fix comments

* Fix comments

* Fix comments

* Fix comments

* Fix comments

* Fix comments
2024-10-07 17:36:39 +02:00
epenet 75936fcb9c Add missing translation string in axis (#127822) 2024-10-07 16:12:09 +02:00
epenet ffbb894dd6 Fix incorrect translation string in airvisual (#127813) 2024-10-07 08:03:00 -06:00
epenet 7271a64ac2 Add missing translation string in electric_kiwi (#127835) 2024-10-07 15:48:57 +02:00
epenet ee65f60222 Fix incorrect translation string in blink (#127828) 2024-10-07 15:48:33 +02:00
epenet c41e3cbf93 Fix incorrect translation string in august (#127817) 2024-10-07 15:27:23 +02:00
epenet 599076d6f4 Add missing patch in dnsip test (#127802) 2024-10-07 14:24:51 +02:00
TimL 06170592bd Bump pysmlight to v0.1.3 (#127804)
Bump pysmlight v0.1.3

Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-10-07 14:24:26 +02:00
epenet 14111188c0 Fix incorrect string in amberlectric (#127807) 2024-10-07 14:15:23 +02:00
Marc Mueller d185f230b9 Enable strict typing for workday (#127797) 2024-10-07 12:48:12 +02:00
Marc Mueller 079ba2a529 Add strict typing to radio_browser (#127799) 2024-10-07 12:47:08 +02:00
epenet d99429463b Use reauth helpers in permobil config flow (#127530) 2024-10-07 11:37:28 +02:00
Erik Montnemery 563de82707 Bump pychromecast to 14.0.4 (#127791) 2024-10-07 11:34:39 +02:00
epenet 8c0e96e6e6 Extend update_entry_and_reload tests (#127776) 2024-10-07 11:23:48 +02:00
Álvaro Fernández Rojas 550858092c Update aioairzone-cloud to v0.6.6 (#127789) 2024-10-07 11:19:34 +02:00
Brett Adams ae6add1e77 Fix Island status in Teslemetry (#127504) 2024-10-07 10:15:25 +02:00
Arie Catsman 927943e07a Add option to disable keep-alive for Enphase Envoy connections (#127603) 2024-10-07 10:13:23 +02:00
Marc Mueller 4cfb1c573e Update pre-commit to 4.0.0 (#127782) 2024-10-07 10:07:26 +02:00
Erik Montnemery a36b516070 Bump pychromecast to 14.0.3 (#127778) 2024-10-07 10:04:54 +02:00
Marc Mueller cb0ae29308 Update types packages (#127783) 2024-10-07 10:04:02 +02:00
AJ Jordan 6ee452aef3 Disable SELinux enforcement on dev containers (#127774) 2024-10-07 09:27:48 +02:00
Marc Mueller bce274155c Update ephem to 4.1.6 (#127761) 2024-10-07 09:22:21 +02:00
dontinelli 019aff88ca Bump solarlog_cli to 0.3.1 (#127753) 2024-10-07 09:21:25 +02:00
epenet c87a2ca335 Add default reconfigure reason in update_reload_and_abort (#127756)
* Add default reconfigure reason in async_update_reload_and_abort

* Simplify

* Fix test

* Add sample usage

* Remove multi-line ternary
2024-10-07 09:02:58 +02:00
Michael 4e650ec1ba Increase connection timeout in CalDAV (#127727) 2024-10-07 08:43:32 +02:00
Erik Montnemery 7ec911c4df Correct typing in rediscovery tests (#127777) 2024-10-07 08:42:04 +02:00
René Klomp 605aaf955c Migrate SMA unique id to str (#127732) 2024-10-07 08:19:55 +02:00
Joost Lekkerkerker e78a3f7939 Add translation string for Withings wrong account (#127719) 2024-10-07 08:14:19 +02:00
Simon Lamon 54401bc0a5 Bump python-linkplay to 0.0.15 (#127748) 2024-10-07 08:10:48 +02:00
AJ Jordan a02ef0dbc8 Fix typo (#127775) 2024-10-07 08:08:53 +02:00
J. Nick Koston 34c464e8d0 Bump DoorBirdPy to 3.0.4 (#127760)
changelog: https://gitlab.com/klikini/doorbirdpy/-/compare/3.0.3...eea287316c6fd84b63cc67fd743cc1128ea14568?from_project_id=7409088&straight=false

fixes #126598
2024-10-06 17:07:27 -05:00
Joost Lekkerkerker 32570c59c8 Bump NYT Games to 0.4.3 (#127717) 2024-10-06 22:45:13 +02:00
Joost Lekkerkerker 4721f8ef5f Bump airgradient to 0.9.1 (#127718) 2024-10-06 19:21:48 +02:00
Joost Lekkerkerker 3c458353f0 Fix typo in HDMI CEC (#127714) 2024-10-06 19:21:19 +02:00
Joost Lekkerkerker 59e3c4874d Fix Withings log message (#127716) 2024-10-06 19:21:07 +02:00
Johan Gustafsson 4693f436a5 Fix Aurora integration casts longitude and latitude to integer (#127740)
Fix Aurora integration casts longitude and latitude to integer (#100817)
2024-10-06 17:33:54 +02:00
Brandon Rothweiler b4dfd08bc4 Update A. O. Smith integration to reflect upstream API changes (#127678) 2024-10-06 17:16:29 +02:00
Thomas55555 3cda93d001 Add work area sensors to Husqvarna Automower (#126931)
* Add work area sensors to Husqvarna Automower

* add exists function

* fix tests

* add icons

* docstring

* Update homeassistant/components/husqvarna_automower/sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-06 16:10:26 +02:00
epenet e705ca83b2 Use reconfigure helpers in config tests (#127534)
Use async_update_reload_and_abort in config test
2024-10-06 16:06:55 +02:00
Joost Lekkerkerker f90ed9e9db Remove expected lingering test fixture from Matter (#127713) 2024-10-06 16:00:40 +02:00
Michael 808d93d767 Remove obsolete entity count safeguards when using snapshot_platform test helper (#127736)
remove obsolete safeguards
2024-10-06 15:50:16 +02:00
J. Diego Rodríguez Royo 0d795aad16 Use BSH keys as unique ID's suffix at Home Connect (#126143)
* Use BSH keys as as unique id suffix instead of the simple description

* Update tests/components/home_connect/test_init.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-06 12:40:13 +02:00
Manu 3e8bc98f23 Add cast skill action to Habitica integration (#127000)
* Add cast skill action for task skills

* exceptions

* task not found exception

* request refresh to update mana/xp sensors

* Changes

* remove service_call prefix

* fixes
2024-10-06 10:33:32 +02:00
dontinelli 546d0b25b0 Bump fyta_cli to 0.6.7 (#127650) 2024-10-06 10:03:16 +02:00
J. Nick Koston 1f04723d8d Bump uiprotect to 6.3.1 (#127702)
* Bump uiprotect to 6.3.0

changelog: https://github.com/uilibs/uiprotect/compare/v6.2.0...v6.3.0

* Apply suggestions from code review
2024-10-06 10:02:34 +02:00
Joost Lekkerkerker cd78e2fc43 Bump syrupy to 4.7.2 (#127710) 2024-10-06 09:59:13 +02:00
David Knowles f6850c36fc Fix problems with automatic management of Schlage locks (#127689)
Use the correct identifiers for existing lock devices
2024-10-06 07:42:39 +02:00
J. Nick Koston 8f96256e86 Bump cached-ipaddress to 0.8.0 (#127703)
changelog: https://github.com/bdraco/cached-ipaddress/compare/v0.7.0...v0.8.0
2024-10-06 07:28:48 +02:00
J. Nick Koston 4404fb72bd Bump yalexs to 8.10.0 (#127704)
* Bump yalexs to 8.10.0

changelog: https://github.com/bdraco/yalexs/compare/v8.9.0...v8.10.0

* Update homeassistant/components/august/manifest.json
2024-10-06 07:28:23 +02:00
Marc Mueller 8ae3b430c8 Update yalexs-ble to 2.5.0 (#127696) 2024-10-05 21:06:43 -05:00
Marc Mueller e6bc1f0730 Update bleak-esphome to 1.1.0 (#127692) 2024-10-06 03:20:04 +02:00
Marc Mueller 747f7a1b04 Update habluetooth to 3.5.0 (#127690) 2024-10-06 02:28:06 +02:00
Marc Mueller 01e7c45664 Update home-assistant-bluetooth to 1.13.0 (#127691) 2024-10-06 02:15:05 +02:00
Marc Mueller 65c0d49c3b Update bleak to 0.22.3 (#127688) 2024-10-06 01:51:53 +02:00
Marc Mueller cba9e5845d Update bleak-retry-connector to 3.6.0 (#127686) 2024-10-06 01:21:39 +02:00
Marc Mueller c6e5011a98 Update bluetooth-adapters to 0.20.0 (#127684) 2024-10-06 00:54:23 +02:00
Marc Mueller 229ad8be83 Revert "Fix enum lookup (#125220)" (#127680)
This reverts commit 1bc63a61be.
2024-10-06 00:46:50 +02:00
Marc Mueller d58b2d1b32 Update dbus-fast to 2.24.3 (#127683) 2024-10-06 00:22:42 +02:00
David Bonnes b69f2856bf Add tests for evohome water_heater entities (#127611)
* initial commit

* move get_entity* helper to test

* parameterize with TEST_INSTALLS_WITH_DHW

* remove if from tests
2024-10-05 22:34:06 +01:00
David Bonnes 76a59338eb Add tests for evohome climate entities (#127612)
* initial commit

* rename symbol (zon -> zone)

* move get_entity* helper function to test

* update snapshot
2024-10-05 22:32:12 +01:00
Brian Rogers 4003e93999 Replace Rachio warning with debug logging (#127673) 2024-10-05 15:40:42 -05:00
Manu fe9ae0d8bd Add sensors for gems and mystic hourglasses to Habitica integration (#127651)
Add sensors for gems and mystic hourglasses
2024-10-05 21:27:42 +02:00
J. Nick Koston 0326e58c8a Remove automatic linkage of doorbells to HomeKit accessories via device class occupancy (#127668) 2024-10-05 14:24:58 -05:00
Michael c043142b86 Improve handling of call deflection switches in AVM Fritz!Tools (#127592)
improve handling of call_deflection switches
2024-10-05 19:16:34 +02:00
Louis Christ c28edb1117 Bump pyblu to 1.0.3 (#127571) 2024-10-05 19:14:57 +02:00
Thomas55555 204bea8947 Return an error if no error key is provided in Husqvarna Automower (#127584)
return error
2024-10-05 19:13:21 +02:00
Steven Looman 39e65c8586 Bump async-upnp-client to 0.41.0 (#127642) 2024-10-05 09:07:10 -05:00
Jan Bouwhuis e54031e318 Improve mqtt sensor options validion logging (#127631)
* Improve mqtt sensor options validion logging

* Fix test
2024-10-05 13:31:42 +02:00
J. Nick Koston 24fbc366a6 Restore __slots__ to registry entries (#127481) 2024-10-05 12:16:52 +02:00
Erik Montnemery c104e66964 Fix snooz tests (#127468) 2024-10-05 12:13:52 +02:00
Marc Mueller 00df42ba39 Fix grpcio wheel build (#127533) 2024-10-05 12:13:09 +02:00
epenet c4fb4eb61b Use common reconfigure string in bryant_evolution (#127561) 2024-10-05 12:12:14 +02:00
Thomas55555 a9495aceb4 Fix Husqvarna Automower reauth title (#127583) 2024-10-05 12:11:40 +02:00
Joost Lekkerkerker 0999297e58 Introduce Jellyfin client/server base entities (#127572) 2024-10-05 12:06:54 +02:00
Richard Cox 62ae2a3bd5 Update Radarr config flow to standardize ports (#127620) 2024-10-05 12:05:11 +02:00
Brett Adams 213cc14494 Fix wake up in Tesla Fleet (#127615) 2024-10-05 12:04:10 +02:00
dependabot[bot] 59ebb94d24 Bump actions/cache from 4.0.2 to 4.1.0 (#127627)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-05 11:58:55 +02:00
dependabot[bot] a11b32dae5 Bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#127628)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-05 11:48:17 +02:00
J. Nick Koston 0177facbf0 Fix blocking stat call in local media_source (#127587) 2024-10-05 03:17:07 -05:00
Franck Nijhof b8d252273d Merge branch 'master' into dev 2024-10-05 10:07:24 +02:00
Sid b942569ce0 Remove enigma2 yaml import (#127597) 2024-10-05 10:00:23 +02:00
Noah Husby 275b9ce718 Bump aiostreammagic to 2.5.0 (#127595) 2024-10-05 08:19:22 +02:00
J. Nick Koston 58d0dbb542 Bump aiohttp to 3.10.9 (#127594)
https://github.com/aio-libs/aiohttp/releases/tag/v3.10.9

changelog: https://github.com/aio-libs/aiohttp/compare/v3.10.8...v3.10.9

This is a technically breaking change, the default connect timeout is now 30s to
fix a bug where the next ip would not be tried within the default timeout
period of 150s. I expect this will not be a problem but I wanted to
point it out.
2024-10-05 07:48:13 +02:00
tronikos f84a01d840 Bump opower to 0.8.2 (#127598)
* Bump opower to 0.8.1 to fix enmax

* Update manifest.json

* Update requirements_all.txt

* Update requirements_test_all.txt
2024-10-04 22:07:51 -07:00
TimL 6ee03460d6 Disable by default smlight auto zigbee update switch (#126707)
disable by default auto zigbee update switch

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-10-05 00:56:11 +03:00
Sid d01fb914a9 Bump ruff to 0.6.9 (#127596) 2024-10-04 15:42:02 -05:00
Franck Nijhof 2182bc3af2 2024.10.1 (#127566) 2024-10-04 19:33:37 +02:00
Tudor Sandu d9b077154e Blueprints for template entities (#126971)
* Template domain blueprints

* Default blueprint for templates

* Some linting

* Template entity updates

* Load and use blueprints in config

* Added missing mapping methods for templates

* Linting

* Added tests

* Wrong schema type

* Hassfest errors

* More linting issues

* Refactor based on desired schema

In the [architecture discussion](https://github.com/home-assistant/architecture/discussions/1027), the template blueprint instance did not specify the platform (e.g. `binary_sensor`), but the initial implementation assumed that schema.

* Create default template blueprints on first run

* Moved TemplateConfig definition

This is to avoid circular references

* Corrected methods to find templates based on blueprints

* Corrected missing entity config information

* Added tests

* Don't use hass.data

Address comments https://github.com/home-assistant/core/pull/126971/#discussion_r1780097187

* Prevent creating blueprints during testing

* Combine 2 ifs

Address comment https://github.com/home-assistant/core/pull/126971/#discussion_r1780160870

* Improve test coverage

* Prevent template component from dirtying test env

* Remove useless hard-coded validation

* Improve code coverage to 100%

* Address review comments

* Moved helpers in helpers.py

As per comment https://github.com/home-assistant/core/pull/126971#discussion_r1786539889

* Fix blueprint source URL

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-10-04 16:47:29 +02:00
epenet 7e6c106869 Use HassKey in auth (#127573) 2024-10-04 16:34:04 +02:00
Raj Laud c3e37ef9a0 Add codeowners for Squeezebox (#127564)
* Add codeowners for Squeezebox

* Update CODEOWNERS
2024-10-04 16:31:55 +02:00
epenet 8bbbaae290 Use HassKey in backup (#127546)
* Use HassKey in backup

* Use DATA_MANAGER
2024-10-04 16:01:50 +02:00
Joost Lekkerkerker 79de27544c Simplify Jellyfin (#127353)
* Simplify Jellyfin

* Fix comment
2024-10-04 15:59:11 +02:00
Franck Nijhof 2cbf53ad7b Bump version to 2024.10.1 2024-10-04 14:57:14 +02:00
Joost Lekkerkerker c52607b465 Revert "Bump pychromecast to 14.0.2 (#127333)" (#127555)
This reverts commit 2ab66f62fa.
2024-10-04 14:57:01 +02:00
Joost Lekkerkerker 087566072d Strip the NYT Games token (#127548) 2024-10-04 14:56:58 +02:00
Joost Lekkerkerker 6b814afd39 Create new clientsession for NYT Games (#127547) 2024-10-04 14:56:54 +02:00
Franck Nijhof ea8aa6b07d Adjust polling rate of Rituals Perfume Genie (#127544) 2024-10-04 14:56:51 +02:00
Paarth Shah 1b0f731e30 Bump matrix-nio to 0.25.2 (#127535) 2024-10-04 14:56:48 +02:00
robinostlund 1ebde4a880 Fix int value in unique_id for Tellduslive (#127526)
Fix int in unique_id
2024-10-04 14:56:45 +02:00
Andrew Jackson e53bd477b4 Bump aiomealie to 0.9.3 (#127454) 2024-10-04 14:56:41 +02:00
Brett Adams 3f9287c36b Add missing number platform to init of Tesla Fleet (#127406)
Add number platform to init
2024-10-04 14:56:38 +02:00
Erik Montnemery b2b940fc32 Remove assumption in ConfigEntryItems about unique unique_id (#127399) 2024-10-04 14:56:35 +02:00
TimL 7d9e170512 Bump pysmlight 0.1.2 (#127376)
Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-10-04 14:56:29 +02:00
Paul Bottein 6ab92abe80 Fix device id support for alarm control panel template (#127340) 2024-10-04 14:47:25 +02:00
Steven B. e30db943db Bump ring-doorbell to 0.9.7 (#127554) 2024-10-04 13:43:54 +02:00
Joost Lekkerkerker e2b4a24a35 Revert "Bump pychromecast to 14.0.2 (#127333)" (#127555)
This reverts commit 2ab66f62fa.
2024-10-04 13:42:35 +02:00
Franck Nijhof 20e3291eb9 Revert Alexa Media Player block (#127553) 2024-10-04 13:13:18 +02:00
Joost Lekkerkerker ebfa2fb1d0 Strip the NYT Games token (#127548) 2024-10-04 12:53:35 +02:00
Joost Lekkerkerker ae8219dc97 Create new clientsession for NYT Games (#127547) 2024-10-04 12:04:33 +02:00
robinostlund 64ea02983b Fix int value in unique_id for Tellduslive (#127526)
Fix int in unique_id
2024-10-04 12:02:33 +02:00
Franck Nijhof f1b6ae8784 Adjust polling rate of Rituals Perfume Genie (#127544) 2024-10-04 11:21:22 +02:00
epenet 8b9b65d3f1 Use reauth helpers in spotify config flow (#127532)
Use async_update_reload_and_abort in spotify
2024-10-04 11:13:03 +02:00
Klaas Schoute e82368ec85 Add entity icons for Autarco integration (#127505) 2024-10-04 11:12:24 +02:00
Paarth Shah d1bee8fe61 Bump matrix-nio to 0.25.2 (#127535) 2024-10-04 11:11:39 +02:00
Joost Lekkerkerker 07704b8511 Add more fixtures to the matter fixture (#126761)
* Add more fixtures to the matter fixture

* Add Valve
2024-10-04 09:24:06 +02:00
epenet 6a44d66fed Fix reolink tests (#127525) 2024-10-04 09:16:49 +02:00
dependabot[bot] 10895514c6 Bump github/codeql-action from 3.26.10 to 3.26.11 (#127524)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-04 09:07:41 +02:00
Maciej Bieniek 1290f18ed4 Add support for Shelly CCT light (#126989)
* Initial support for cct lights

* Move properties to the RpcShellyCctLight class

* Fix entity names

* Add async_remove_orphaned_entities() function

* Do not return

* Fix tests

* Combine async_remove_orphaned_virtual_entities and async_remove_orphaned_entities

* Remove SHELLY_PLUS_RGBW_CHANNELS from const

* Add tests

* Use _attr*

* Check ColorMode.COLOR_TEMP

* Add sensors for CCT light

* Remove removal condition

* Remove orphaned sensors

* Cleaning

* Add device temperature sensor for CCT light

* Simplify async_remove_orphaned_entities()

* Comment

* Add COMPONENT_ID_PATTERN const

* Call async_add_entities once

* Suggested change

* Better type for keys

* Do not call keys()
2024-10-04 08:49:35 +02:00
David Bonnes 49e634a62f Convert evohome's test factory into an async generator (#126925) 2024-10-04 08:29:36 +02:00
Erik Montnemery 8754b54d81 Fix config entry unique_id collision in tplink tests (#127522) 2024-10-04 08:24:56 +02:00
epenet c191a7cfdb Fix lingering tasks in snooz tests (#127523) 2024-10-04 08:24:01 +02:00
J. Nick Koston 6eb49991a4 Add pylint rule for cached_property (#127482) 2024-10-03 17:53:55 -05:00
Michael 1dd59375f6 Add re-authemtication flow to AVM FRITZ!Box Call Monitor (#127497) 2024-10-03 22:36:41 +02:00
J. Nick Koston c3f0f30910 Prepare websocket writer for aiohttp 3.11 (#127043) 2024-10-03 22:29:29 +02:00
J. Nick Koston 10c033e580 Migrate config_entries to use propcache cached_property (#127495) 2024-10-03 22:28:00 +02:00
Erik Montnemery 48a07d531c Remove assumption in ConfigEntryItems about unique unique_id (#127399) 2024-10-03 22:27:15 +02:00
G Johansson 80582a128a Fix preview available in statistics (#127349) 2024-10-03 22:27:01 +02:00
J. Nick Koston db494de809 Restore __slots__ to core objects (#127441) 2024-10-03 22:23:47 +02:00
epenet 68d58212a9 Adjust type hints in hyperion config_flow (#127273) 2024-10-03 22:20:20 +02:00
Joost Lekkerkerker 48a6dabc5b Remove Spider integration (#127346) 2024-10-03 21:44:30 +02:00
Erik Montnemery 0ae0047246 Fix config entry unique_id collision in lamarzocco tests (#127484) 2024-10-03 21:39:39 +02:00
epenet 49dec1577e Use reauth helpers in elmax config flow (#127417) 2024-10-03 21:38:04 +02:00
J. Nick Koston 4e30bf705c Bump uiprotect to 6.2.0 (#127477) 2024-10-03 13:12:04 -05:00
J. Nick Koston 4e9a91d03f Bump yalexs to 8.9.0 (#127474) 2024-10-03 13:11:50 -05:00
J. Nick Koston 2f8c9d4f93 Bump cached-ipaddress to 0.7.0 (#127475) 2024-10-03 13:11:35 -05:00
J. Nick Koston 0f29fd3e10 Switch to using fast cached_property implementation in propcache (#127339) 2024-10-03 13:11:02 -05:00
epenet 58f786f6d0 Use _get_reauth_entry in cloudflare config flow (#127385) 2024-10-03 19:56:54 +02:00
J. Nick Koston e2b1ef053f Cache serialization of config entry storage (#127435) 2024-10-03 19:51:09 +02:00
epenet 0bbca596a9 Use reauth helpers in braviatv config flow (#127437) 2024-10-03 19:49:28 +02:00
epenet 09014e3390 Use reauth helpers in brunt config flow (#127438) 2024-10-03 19:48:47 +02:00
epenet c634f6067a Use reauth helpers in caldav config flow (#127440) 2024-10-03 19:48:09 +02:00
epenet 255cf6b305 Use reauth helpers in deluge config flow (#127445) 2024-10-03 19:45:09 +02:00
epenet 07bc9f6477 Use reauth helpers in dormakaba_dkey config flow (#127446) 2024-10-03 19:44:44 +02:00
Klaas Schoute 464da23d4e Bump p1monitor to 3.1.0 (#127459) 2024-10-03 19:44:11 +02:00
Erik Montnemery a2c85a0ac2 Remove test workaround from snooz (#127465) 2024-10-03 18:18:08 +02:00
epenet f837369ef0 Use reauth helpers in electric_kiwi config flow (#127414)
* Mark electric_kiwi as single_config_entry

* Adjust

* Use reauth helpers in electric_kiwi config flow
2024-10-03 18:02:55 +02:00
epenet 153b3fbfc8 Use reauth helpers in comelit config flow (#127443)
* Use reauth helpers in comelit config flow

* Fix
2024-10-03 17:56:00 +02:00
epenet c7739a7760 Align async_step_reconfigure type hints (#127450) 2024-10-03 17:54:51 +02:00
J. Nick Koston 41fcf58b80 Fix bluetooth tests to not create the same config entry twice (#127461) 2024-10-03 10:37:34 -05:00
Andrew Jackson 13e7af7762 Bump aiomealie to 0.9.3 (#127454) 2024-10-03 17:35:46 +02:00
Allen Porter c38f23400c Don't add the same config entry id twice in google tests (#127457)
Don't add the same config entry id twice in the test
2024-10-03 17:23:58 +02:00
Erik Montnemery 62b449e52c Fix config entry unique_id collision in proximity (#127456) 2024-10-03 17:22:40 +02:00
starkillerOG 85ae66d276 Reolink auto add new cameras/chimes (#126268) 2024-10-03 16:51:27 +02:00
Stefan Agner e15ae6bea3 Cancel listen task when setting the Matter fabric label fails (#127423)
When setting the Matter fabric label fails, the listen task should be
cancelled to prevent the task from running indefinitely.

Follow up for #127252.
2024-10-03 15:37:29 +02:00
epenet bbf8a49ac8 Use reauth helpers in efergy config flow (#127447) 2024-10-03 15:31:16 +02:00
epenet b95fc7e782 Use reauth helpers in ezviz config flow (#127448) 2024-10-03 15:29:18 +02:00
J. Nick Koston 7cd4f78767 Make go2rtc supported streams a frozenset (#127439)
Avoids the linear search of the tuple
2024-10-03 15:08:17 +02:00
epenet 49882112ac Use async_update_reload_and_abort in bosch_shc config flow (#127436) 2024-10-03 14:41:07 +02:00
epenet c957c7a515 Use reauth helpers in blue_current config flow (#127434)
* Use async_update_reload_and_abort in blue_current config flow

* Adjust
2024-10-03 14:40:12 +02:00
epenet 045d96cdd1 Use async_update_reload_and_abort in aseko_pool_live config flow (#127433)
* Use async_update_reload_and_abort in aseko_pool_live config flow

* block_till_done
2024-10-03 14:39:17 +02:00
epenet a218f4adc3 Use reauth helpers in esphome config flow (#127419)
Use _get_reauth_entry in esphome config flow
2024-10-03 14:38:14 +02:00
epenet 9ba58233ec Use reauth helpers in aosmith config flow (#127432)
Use async_update_reload_and_abort in aosmith config flow
2024-10-03 14:34:42 +02:00
Joost Lekkerkerker 4aedf662e9 Fix AMP block (#127424)
Fix Alexa block
2024-10-03 14:15:27 +02:00
epenet 59e486848c Use async_update_reload_and_abort in airvisual (#127429)
Use async_update_reload_and_abort in arivisual
2024-10-03 14:14:48 +02:00
epenet 4cef435089 Use async_update_reload_and_abort in airvisual_pro (#127430) 2024-10-03 14:14:36 +02:00
epenet d128ba544f Use async_update_reload_and_abort in abode (#127426) 2024-10-03 14:14:17 +02:00
epenet 372a827ecd Use _get_reauth_entry in devolo_home_network config flow (#127389) 2024-10-03 14:03:47 +02:00
Joost Lekkerkerker 0eec6447e4 Block Alexa Media Player v4.13.3 (#127412) 2024-10-03 13:43:48 +02:00
myztillx 13d72ac833 Bump python-ecobee-api to 0.2.20 (#127351)
Bump version of python-ecobee-api to support new features

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-03 12:50:12 +02:00
Stefan Agner abf3da2fa1 Set default Matter fabric label (#127252) 2024-10-03 12:36:24 +02:00
G Johansson df8269e772 Use async_update_reload_and_abort in Trafikverket Weather reauth flow (#127341) 2024-10-03 12:31:21 +02:00
Glenn Waters 19535b48ab Bump elkm1_lib to 2.2.10 (#127344)
* Bump elk-lib to 2.2.9

* Bump elkm1_lib to 2.2.10

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-10-03 12:31:04 +02:00
TimL da68c48723 Bump pysmlight 0.1.2 (#127376)
Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-10-03 12:30:13 +02:00
epenet 44523168d7 Use _get_reauth_entry in caldav config flow (#127384) 2024-10-03 12:27:39 +02:00
Erik Montnemery 2b50f65c49 Store generic camera flow data in flow handler attributes (#127405) 2024-10-03 12:23:40 +02:00
epenet 14c2778558 Use _get_reauth_entry in devolo_home_control config flow (#127387)
Use _get_reauth_entry in devolo_home_network config flow
2024-10-03 12:21:42 +02:00
epenet 7878d2804f Use _get_reauth_entry in discovergy config flow (#127390) 2024-10-03 12:21:17 +02:00
epenet cef56bd7ef Use _get_reauth_entry in doorbird config flow (#127391) 2024-10-03 12:20:59 +02:00
epenet c02a3371d0 Use _get_reauth_entry in dormakaba_dkey config flow (#127392)
* Use _get_reauth_entry in dormakaba_dkey config flow

* Adjust
2024-10-03 12:18:15 +02:00
Brett Adams c2c48bbc9c Add missing number platform to init of Tesla Fleet (#127406)
Add number platform to init
2024-10-03 12:10:03 +02:00
raphaeleduardo42 131fdf6898 Add MOES Matter Light 1.0 to the blocklist for Matter transitions (#127345)
Update light.py

Fix MOES Matter Light 1.0 following #113775
2024-10-03 10:22:11 +02:00
epenet a2e4de2d0d Adjust type hints in androidtv_remote config_flow (#127162) 2024-10-03 10:21:53 +02:00
epenet 7d3d693fe8 Align config flow reconfigure step test helper with frontend (#127329)
* Align config flow reconfigure step with frontend

* Update common.py

* Update common.py

* Adjust

* Adjust

* Fix test

* Adjust
2024-10-03 10:21:23 +02:00
epenet 94df3e931a Use _get_reauth_entry in bmw_connected_drive config flow (#127327) 2024-10-03 10:18:32 +02:00
epenet 2e225dfc3a Use _get_reauth/reconfigure_entry in pyload (#127304) 2024-10-03 10:18:10 +02:00
epenet 409d7b3652 Use _get_reauth_entry in braviatv config flow (#127326) 2024-10-03 10:16:06 +02:00
epenet c658dc0ffc Correct reconfigure flows to get data from config entry (#127393)
Fetch entry data in async_step_reconfigure
2024-10-03 09:46:41 +02:00
Joost Lekkerkerker 13e4cd4a49 Remove unused translation keys from Tami4 (#127342) 2024-10-03 09:43:11 +02:00
epenet 609d410e6a Use _get_reauth_entry in comelit config flow (#127386) 2024-10-03 09:31:44 +02:00
Robert Resch 04860ae1d2 Add go2rtc and extend camera integration for better WebRTC support (#124410) 2024-10-03 09:20:03 +02:00
Erik Montnemery a0a90f03a8 Improve generic camera preview tests (#127382) 2024-10-03 09:13:54 +02:00
Erik Montnemery be3a883c51 Store awair flow data in flow handler attributes (#127381) 2024-10-03 09:13:41 +02:00
G Johansson 0fde5c21b7 Add reconfigure flow to trafikverket_camera (#127355) 2024-10-03 01:25:47 +02:00
polgarc c4cc9f8489 Add line numbers to swiss-public-transport (#127332)
* add line numbers

* keep only one line sensor

* fix unt tests
2024-10-03 01:25:17 +02:00
J. Nick Koston ff7bc13058 Make numeric device classes a constant (#127354)
noticed this shows up on the profile every time the UI loads
2024-10-02 22:00:49 +02:00
epenet ddea61148f Use _get_reconfigure_entry in brother (#127279) 2024-10-02 21:56:26 +02:00
Stefan Agner 88ad7e98e0 Store instance name in Thread router discovery (#127253)
* Store instance name in Thread router discovery

Store the DNS-SD instance name in the Thread router discovery message.
The instance name is the actual name given to a Thread border router,
e.g. when configuring the name of a Thread border router in Apple Home
the name appears as the DNS-SD instance name. This will allow to make
the Thread border router list more user friendly.

* Use instance_name_from_service_info to get instance name
2024-10-02 21:41:55 +02:00
skynet01 a83d38a5fe Add turn on and off function to lg_soundbar (#127022)
* Update media_player.py

Added support to toggle soundbars on and off

* Update homeassistant/components/lg_soundbar/media_player.py

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

* Fix complexity

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-10-02 21:04:14 +02:00
G Johansson a3b1a30d06 Add reconfigure step to trafikverket weather (#127140)
* Add reconfigure step to trafikverket weather

* Use helper

* Fix

* Fix review comments
2024-10-02 21:04:00 +02:00
Steven Looman f8b192bd94 Handle the correct exception type when subscribing to the router service returns an error in the upnp component (#127006)
* Catch the right exception when handling subscription errors

* Assert device is forced to poll
2024-10-02 20:55:25 +02:00
Erik Montnemery 4c6ab3921a Store modern_forms flow data in flow handler attributes (#127175) 2024-10-02 19:59:44 +02:00
Erik Montnemery 1dc1fd421b Use ConfigFlow.has_matching_flow to deduplicate tplink flows (#127164) 2024-10-02 19:59:24 +02:00
Erik Montnemery fed953023d Ensure homekit_controller config flow title_placeholders items are [str, str] (#127198) 2024-10-02 19:58:47 +02:00
epenet 5a4cdaf348 Use _get_reauth/reconfigure_entry in melcloud (#127302) 2024-10-02 19:50:00 +02:00
epenet 4d49cb2d18 Use _get_reconfigure_entry in waze_travel_time (#127314) 2024-10-02 19:49:38 +02:00
epenet 5759539e08 Use _get_reauth/reconfigure_entry in solarlog (#127310) 2024-10-02 19:49:15 +02:00
epenet 74441d2771 Use _get_reauth_entry in blue_current config flow (#127328) 2024-10-02 19:48:57 +02:00
epenet da0ebbe57c Use _get_reauth_entry in bthome config flow (#127323) 2024-10-02 19:44:54 +02:00
epenet d8d392990d Use _get_reauth_entry in brunt config flow (#127324) 2024-10-02 19:44:35 +02:00
Franck Nijhof 5db4a73d8e 2024.10.0 (#126782) 2024-10-02 19:41:46 +02:00
epenet 829af75416 Use _get_reauth_entry in bring config flow (#127325) 2024-10-02 19:36:32 +02:00
Franck Nijhof acb0aeaa9a Bump version to 2024.10.0 2024-10-02 19:17:08 +02:00
Michael Hansen dc7c909316 Bump intents to 2024.10.2 (#127338) 2024-10-02 19:14:50 +02:00
Erik Montnemery a052e15319 Bump pychromecast to 14.0.2 (#127333) 2024-10-02 19:12:56 +02:00
Paul Bottein c306ebed49 Fix device id support for alarm control panel template (#127340) 2024-10-02 19:04:36 +02:00
Michael Hansen 301701176a Bump intents to 2024.10.2 (#127338) 2024-10-02 18:58:31 +02:00
Erik Montnemery 2ab66f62fa Bump pychromecast to 14.0.2 (#127333) 2024-10-02 17:18:59 +02:00
Franck Nijhof a50b299a82 Bump version to 2024.10.0b12 2024-10-02 17:18:01 +02:00
Bram Kragten a6808a8fda Update frontend to 20241002.2 (#127331) 2024-10-02 17:16:58 +02:00
Bram Kragten f5bd81e0d9 Update frontend to 20241002.2 (#127331) 2024-10-02 17:11:51 +02:00
Mark Grandi c265c91ef2 Add protocol upload / download sensors to Deluge (#119203)
* Add Protocol Upload/Download for Deluge

* add unit test and fix typo in sensor.py

* remove unneeded import

* rename/unify the translation keys and entries in const.py

* split out const.py items into DelugeSensorType to avoid confusion with DelugeGetSessionStatusKeys

* change DelugeGetSessionStatusKeys to be a regular enum to satisfy mypy
2024-10-02 16:44:56 +02:00
starkillerOG 3184951625 Add sensor for total installations and integrations to Analytics Insights (#127248)
* Add sensor for total installations and integrations

* Fix tests

* Use pytest fixture
2024-10-02 16:25:27 +02:00
epenet c6fa160c02 Use _get_reauth/reconfigure_entry in nam (#127303) 2024-10-02 16:13:24 +02:00
epenet e2eb986c7c Adjust reauth checks in august (#127320) 2024-10-02 16:13:02 +02:00
epenet 9219339762 Use _get_reauth/reconfigure_entry in shelly (#127308) 2024-10-02 16:12:45 +02:00
epenet fac3d575c9 Use _get_reauth/reconfigure_entry in tedee (#127312) 2024-10-02 16:12:31 +02:00
epenet db9257f9fa Use _get_reauth_entry in airvisual_pro (#127318) 2024-10-02 16:03:45 +02:00
epenet bb21c87852 Use _get_reauth_entry in aseko_pool_live (#127319) 2024-10-02 16:03:31 +02:00
epenet f0df25f824 Use _get_reauth_entry in azure_devops config flow (#127321) 2024-10-02 16:03:18 +02:00
Franck Nijhof 7ac944c537 Bump version to 2024.10.0b11 2024-10-02 16:01:13 +02:00
Bram Kragten 7d3dd2dd6b Update frontend to 20241002.1 (#127292) 2024-10-02 16:00:43 +02:00
Christopher Fenner 48538ef5d5 Fix climate entity in ViCare integration (#127128)
do not reset _attributes
2024-10-02 16:00:38 +02:00
Cyrill Raccaud acd3710469 Bump swiss-public-transport requirement python-opendata-transport to 0.5.0 (#127306) 2024-10-02 15:42:04 +02:00
epenet 56e79de707 Use _get_reauth_entry in trafikverket_weatherstation (#127316) 2024-10-02 15:35:34 +02:00
epenet 781c3eed2f Use _get_reconfigure_entry in vallox (#127313) 2024-10-02 15:29:42 +02:00
epenet d0d8de94dc Use _get_reconfigure_entry in tado (#127311) 2024-10-02 15:28:11 +02:00
epenet 4974202bb4 Use _get_reconfigure_entry in smhi (#127309) 2024-10-02 15:17:45 +02:00
epenet 2dce115732 Use _get_reconfigure_entry in lcn (#127299) 2024-10-02 15:03:32 +02:00
epenet ce1d4282db Use _get_reconfigure_entry in madvr (#127300) 2024-10-02 15:03:18 +02:00
epenet befc730769 Use _get_reauth/reconfigure_entry in mealie (#127301)
Use _get_reconfigure_entry in mealie
2024-10-02 14:53:48 +02:00
epenet 3f7c6055d4 Use _get_reauth/reconfigure_entry in lamarzocco (#127298) 2024-10-02 14:33:29 +02:00
epenet 5ed7efb01d Use _get_reconfigure_entry in here_travel_time (#127294) 2024-10-02 14:31:45 +02:00
epenet f0f924a0a2 Use _get_reconfigure_entry in holiday (#127295) 2024-10-02 14:31:19 +02:00
epenet a19a069b21 Use _get_reconfigure_entry in jewish_calendar (#127297) 2024-10-02 14:30:55 +02:00
epenet a43bfdef1d Use _get_reconfigure_entry in homeworks (#127296) 2024-10-02 14:30:17 +02:00
epenet 7994729742 Adjust type hints in goalzero config_flow (#127270) 2024-10-02 14:26:26 +02:00
epenet f24523e93b Adjust type hints in konnected config_flow (#127276) 2024-10-02 14:25:09 +02:00
hopkins-tk 98a8430f26 Add electrolyzer data to Aseko Pool Live (#127249) 2024-10-02 14:24:39 +02:00
epenet 273795b025 Use _get_reconfigure_entry in feedreader (#127282) 2024-10-02 14:23:42 +02:00
epenet f6c7ade579 Use _get_reauth/reconfigure_entry in fritzbox (#127284) 2024-10-02 14:23:24 +02:00
epenet 84a4fe7b03 Use _get_reconfigure_entry in google_travel_time (#127285) 2024-10-02 14:22:40 +02:00
epenet 583ce7dc46 Use _get_reauth/reconfigure_entry in enphase_envoy (#127281)
* Use _get_reauth/reconfigure_entry in enphase_envoy

* Adjust
2024-10-02 14:22:16 +02:00
Erik Montnemery 81d7d2a70a Ensure braviatv config flow title_placeholders items are [str, str] (#127287) 2024-10-02 14:20:55 +02:00
Erik Montnemery 689372b572 Ensure keenetic_ndms2 config flow title_placeholders items are [str, str] (#127289) 2024-10-02 14:20:39 +02:00
Erik Montnemery 083be5d0a5 Ensure songpal config flow title_placeholders items are [str, str] (#127290) 2024-10-02 14:20:16 +02:00
Erik Montnemery 4726dc96d4 Ensure directv config flow title_placeholders items are [str, str] (#127288) 2024-10-02 14:19:23 +02:00
Bram Kragten 3308de95f0 Update frontend to 20241002.1 (#127292) 2024-10-02 14:18:28 +02:00
Marc Mueller ea115e0481 Fix telegram_bot tests for Python 3.13 (#127293) 2024-10-02 14:15:01 +02:00
Erik Montnemery 2fdde24024 Remove the Google Domains integration (#127278) 2024-10-02 13:58:19 +02:00
epenet d21d6c2e4a Use _get_reauth/reconfigure_entry in fritz (#127283) 2024-10-02 13:21:21 +02:00
Erik Montnemery 4c1863d318 Ensure lookin config flow title_placeholders items are [str, str] (#127200) 2024-10-02 13:05:08 +02:00
Erik Montnemery b8a00bfbfb Ensure motionblinds_ble config flow title_placeholders items are [str, str] (#127201)
* Ensure motionblinds_ble config flow title_placeholders items are [str, str]

* Tweak
2024-10-02 13:04:52 +02:00
Marc Mueller 4cd6813d16 Update mypy-dev to 1.12.0a5 (#127181)
* Update mypy-dev to 1.12.0a5

* Fix enable_incomplete_feature

* Fix vlc_telnet

* Fix deconz
2024-10-02 12:00:59 +02:00
epenet 21266e1c68 Add config_flow helper to get reauth/reconfigure config entry (#127115)
* Add config_flow helper to get config entry from context

* Simplify

* Apply to aussie_broadband

* Another example

* Rename and adjust docstring

* Simplify

* Add test

* Refactor to hide context

* Raise

* Improve coverage

* Use AttributeError

* Use ValueError

* Raise UnknownEntry
2024-10-02 12:00:07 +02:00
starkillerOG 201b8d9ebf Bump python-homeassistant-analytics to 0.8.0 (#127271) 2024-10-02 11:29:54 +02:00
Erik Montnemery 2440023dd7 Ensure dlna_dms config flow title_placeholders items are [str, str] (#127192) 2024-10-02 11:28:21 +02:00
Christopher Fenner 5f3e70f915 Fix climate entity in ViCare integration (#127128)
do not reset _attributes
2024-10-02 11:25:04 +02:00
Franck Nijhof 5365439fd4 Bump version to 2024.10.0b10 2024-10-02 10:52:33 +02:00
Erik Montnemery 9c28a4e8a0 Make recorder WS command recorder/clear_statistics wait (#127120) 2024-10-02 10:51:30 +02:00
Bram Kragten 565203047c Update frontend to 20241002.0 (#127264) 2024-10-02 10:50:39 +02:00
Erik Montnemery b9795a2ae7 Make recorder WS command recorder/update_statistics_metadata wait (#127179) 2024-10-02 10:50:35 +02:00
Erik Montnemery 3f1acdc9ec Make recorder WS command recorder/clear_statistics wait (#127120) 2024-10-02 10:43:40 +02:00
Bram Kragten f053e5ca38 Update frontend to 20241002.0 (#127264) 2024-10-02 10:43:01 +02:00
epenet 9873371413 Use start_reconfigure_flow in config flow tests (#127191)
* Use start_reconfigure_flow in config flow tests

* Adjust fritz
2024-10-02 10:01:15 +02:00
Erik Montnemery 2a2af01d12 Make recorder WS command recorder/update_statistics_metadata wait (#127179) 2024-10-02 09:56:36 +02:00
Franck Nijhof 4e4f8ee3a4 Bump version to 2024.10.0b9 2024-10-02 09:26:37 +02:00
Martin Hjelmare b8fd921c81 Revert "Support Z-Wave JS dimming lights using color intensity (#122639)" (#127256)
This reverts commit c7cfd56b72.
2024-10-02 09:26:28 +02:00
Teemu R. fcf91954ff Remove codefences from issue titles (#127254) 2024-10-02 09:26:25 +02:00
Michael Hansen 49708196ac Run unsubscribe callbacks when Assist satellite entity is removed from HA (#127234)
* Unsubscribe when removed from HA

* Use builtin async_on_remove
2024-10-02 09:26:22 +02:00
functionpointer 8c8a2eef21 Fix Tibber get_prices when called with aware datetime (#123289)
* Tibber: Add extra test to expose aware/naive datetime issue

* Tibber: Fix get_prices action not working with aware datetimes

* Tibber: Simplify comparison

* Tibber: Combine timezone tests into single parametrized one

* Tibber: Split test again to prevent if statement
2024-10-02 09:26:15 +02:00
dependabot[bot] 7790bb528c Bump codecov/codecov-action from 4.5.0 to 4.6.0 (#127259)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-02 09:17:21 +02:00
functionpointer 5bd2d27488 Fix Tibber get_prices when called with aware datetime (#123289)
* Tibber: Add extra test to expose aware/naive datetime issue

* Tibber: Fix get_prices action not working with aware datetimes

* Tibber: Simplify comparison

* Tibber: Combine timezone tests into single parametrized one

* Tibber: Split test again to prevent if statement
2024-10-02 08:43:31 +02:00
Teemu R. cd090ff000 Remove codefences from issue titles (#127254) 2024-10-02 08:27:52 +02:00
Erik Montnemery 47985a589e Ensure frontier_silicon config flow title_placeholders items are [str, str] (#127197) 2024-10-02 08:26:51 +02:00
Erik Montnemery 375d47ee3a Use ConfigFlow.has_matching_flow to deduplicate yeelight flows (#127165) 2024-10-02 08:25:46 +02:00
Martin Hjelmare e3e68dad36 Revert "Support Z-Wave JS dimming lights using color intensity (#122639)" (#127256)
This reverts commit c7cfd56b72.
2024-10-02 06:48:47 +02:00
Michael Hansen 40dbfab671 Run unsubscribe callbacks when Assist satellite entity is removed from HA (#127234)
* Unsubscribe when removed from HA

* Use builtin async_on_remove
2024-10-01 23:58:47 +02:00
epenet 46405d7738 Improve type hints in config_flow reconfigure step (#127224) 2024-10-01 22:21:54 +02:00
Erik Montnemery 905ac20205 Ensure flux_led config flow title_placeholders items are [str, str] (#127196) 2024-10-01 22:21:12 +02:00
Franck Nijhof 749a5b37c9 Bump version to 2024.10.0b8 2024-10-01 22:14:57 +02:00
epenet 60079a14e7 Update log error message for Samsung TV (#127231) 2024-10-01 22:14:50 +02:00
Erik Montnemery df6edd09c0 Don't create statistics issues when sensor is unavailable or unknown (#127226) 2024-10-01 22:14:47 +02:00
epenet 88ff94dd69 Use reconfigure_confirm in bryant_evolution config flow (#127222) 2024-10-01 22:14:44 +02:00
epenet 067b81a60b Use reconfigure_confirm in enphase_envoy config flow (#127221) 2024-10-01 22:14:40 +02:00
epenet 03553b8bb9 Use reconfigure_confirm in homeworks config flow (#127218)
* Use reconfigure_confirm in homeworks config flow

* Fix tests
2024-10-01 22:14:37 +02:00
Franck Nijhof bce7552d4d Update gotailwind to 0.2.4 (#127129) 2024-10-01 22:14:34 +02:00
Russell Cloran 53a2777831 Update prometheus-client to 0.21.0 (#126965) 2024-10-01 22:14:31 +02:00
Bill Flood 507492947a Fix Tailwind cover exception when door is already in the requested state (#124543) 2024-10-01 22:14:27 +02:00
Erik Montnemery 6d65d6bcf6 Don't create statistics issues when sensor is unavailable or unknown (#127226) 2024-10-01 22:08:48 +02:00
epenet f4ab741445 Use reconfigure_confirm in bryant_evolution config flow (#127222) 2024-10-01 22:08:14 +02:00
epenet c1fa3d99f3 Update log error message for Samsung TV (#127231) 2024-10-01 22:06:56 +02:00
Erik Montnemery fcc0eba7fb Ensure enphase_envoy config flow title_placeholders items are [str, str] (#127193) 2024-10-01 22:04:46 +02:00
Erik Montnemery d7da3de096 Store openhome flow data in flow handler attributes (#127176) 2024-10-01 22:04:28 +02:00
Bouwe Westerdijk 0616bc7fec Improve / clean up Plugwise config_flow code (#127238) 2024-10-01 21:52:16 +02:00
Bill Flood dd478fe681 Fix Tailwind cover exception when door is already in the requested state (#124543) 2024-10-01 20:51:12 +02:00
Artur Pragacz c175a68a26 Skip unnecessary checks for entities with unique_id (#125051) 2024-10-01 11:27:14 -05:00
Artur Pragacz 98a86c7636 Improve code of normalized name registry (#125282) 2024-10-01 11:20:52 -05:00
Erik Montnemery 4060705d87 Use ConfigFlow.has_matching_flow to deduplicate samsungtv flows (#127235) 2024-10-01 17:56:38 +02:00
Erik Montnemery 1c11229510 Ensure overkiz config flow title_placeholders items are [str, str] (#127203) 2024-10-01 16:21:56 +02:00
Erik Montnemery 7129868a56 Remove custom flow deduplication logic from guardian (#127159) 2024-10-01 16:20:47 +02:00
epenet 4a6e3e0f5a Simplify reconfigure step in axis config flow (#127225) 2024-10-01 15:57:50 +02:00
Robert Resch b6a0a36d4e Bump uv to 0.4.17 (#127223) 2024-10-01 15:56:18 +02:00
epenet 3b7ae1639c Use reconfigure_confirm in homeworks config flow (#127218)
* Use reconfigure_confirm in homeworks config flow

* Fix tests
2024-10-01 15:17:50 +02:00
epenet 3fb7547d4d Use reconfigure_confirm in enphase_envoy config flow (#127221) 2024-10-01 15:11:37 +02:00
Franck Nijhof 41b3eb9f79 Bump version to 2024.10.0b7 2024-10-01 14:54:05 +02:00
epenet f2c746122e Use reconfigure_confirm in google_travel_time config flow (#127220) 2024-10-01 14:53:39 +02:00
epenet e25a54aef4 Use reconfigure_confirm in lcn config flow (#127217) 2024-10-01 14:53:36 +02:00
epenet 5c42e45048 Fix reconfigure_confirm logic in madvr config flow (#127216) 2024-10-01 14:53:32 +02:00
epenet c8b92bc858 Use reconfigure_confirm in solarlog config flow (#127215)
* Use reconfigure_confirm in solarlog config flow

* Fix test
2024-10-01 14:53:29 +02:00
epenet 9d059fcfaa Use reconfigure_confirm in vallox config flow (#127214) 2024-10-01 14:53:26 +02:00
Martin Hjelmare ce5f193219 Fix Z-Wave rediscovery (#127213) 2024-10-01 14:53:22 +02:00
Erik Montnemery 92023ecbe6 Update assist_satellite connection test sound (#127183) 2024-10-01 14:53:19 +02:00
cdnninja 1e0164a96a Allows unload when unsupported devices vesync (#127153)
Allows unload when unsupported devices
2024-10-01 14:53:15 +02:00
Russell Cloran 10c0633af9 Update prometheus-client to 0.21.0 (#126965) 2024-10-01 14:52:54 +02:00
G Johansson 6f5eac3143 Add config flow validation that calibration factor is not zero (#127136)
* Add config flow validation that calibration factor is not zero

* Add test
2024-10-01 14:50:10 +02:00
Nerdix 60dfccb747 Roborock fix "selected map" when first map in list is selected (#127126)
* avoid None when current_map = 0

* combine statements
2024-10-01 14:46:41 +02:00
Erik Montnemery 3460f460d1 Ensure octoprint config flow title_placeholders items are [str, str] (#127202) 2024-10-01 14:42:54 +02:00
Martin Hjelmare bb70a0feb2 Fix Z-Wave rediscovery (#127213) 2024-10-01 14:42:31 +02:00
epenet 44eb4e0c9e Use reconfigure_confirm in google_travel_time config flow (#127220) 2024-10-01 14:41:15 +02:00
Erik Montnemery 97bbad7471 Ensure ezviz config flow title_placeholders items are [str, str] (#127194) 2024-10-01 14:40:12 +02:00
Erik Montnemery df6370dd61 Ensure ovo_energy config flow title_placeholders items are [str, str] (#127204) 2024-10-01 14:33:40 +02:00
Erik Montnemery ee8f4a5367 Ensure powerwall config flow title_placeholders items are [str, str] (#127205) 2024-10-01 14:33:05 +02:00
Erik Montnemery a5135cf2c3 Ensure radiotherm config flow title_placeholders items are [str, str] (#127206) 2024-10-01 14:32:52 +02:00
Erik Montnemery 41932b4501 Ensure soundtouch config flow title_placeholders items are [str, str] (#127207) 2024-10-01 14:32:40 +02:00
Erik Montnemery 028d1c6148 Ensure tesla_wall_connector config flow title_placeholders items are [str, str] (#127208) 2024-10-01 14:32:18 +02:00
Erik Montnemery 1efe418e05 Avoid mutating title_placeholders in reolink (#127209) 2024-10-01 14:32:02 +02:00
Erik Montnemery 4251ee1229 Remove unused title_placeholders from plugwise (#127211) 2024-10-01 14:31:49 +02:00
Erik Montnemery 95a79130a2 Add missing None-check in roomba config flow (#127212) 2024-10-01 14:31:35 +02:00
Erik Montnemery e2518ab4d7 Avoid mutating title_placeholders in synology_dsm (#127210) 2024-10-01 14:31:13 +02:00
epenet 9d557f47b7 Use reconfigure_confirm in lcn config flow (#127217) 2024-10-01 14:29:31 +02:00
epenet c654d3283e Use reconfigure_confirm in vallox config flow (#127214) 2024-10-01 14:25:32 +02:00
epenet 8e6b6269a7 Fix reconfigure_confirm logic in madvr config flow (#127216) 2024-10-01 14:25:14 +02:00
epenet a2404e7fb8 Use reconfigure_confirm in solarlog config flow (#127215)
* Use reconfigure_confirm in solarlog config flow

* Fix test
2024-10-01 14:24:44 +02:00
epenet 6321978f75 Adjust type hints in devialet config_flow (#127185) 2024-10-01 12:49:52 +02:00
Erik Montnemery 448dd61684 Ensure dlna_dmr config flow title_placeholders items are [str, str] (#127189) 2024-10-01 12:49:31 +02:00
Erik Montnemery a3513b24ec Avoid mutating title_placeholders in devolo_home_network (#127188) 2024-10-01 12:48:41 +02:00
epenet 57905efcd3 Adjust type hints in ezviz config_flow (#127186) 2024-10-01 12:26:59 +02:00
Erik Montnemery 3052eca564 Remove unused custom flow context key 'name' from wyoming (#127182) 2024-10-01 12:25:39 +02:00
Erik Montnemery 120f4adf35 Update assist_satellite connection test sound (#127183) 2024-10-01 12:25:06 +02:00
epenet b95dfe2b00 Add test helper for starting reconfiguration flow (#127154) 2024-10-01 12:18:07 +02:00
cdnninja f02f0eae59 Allows unload when unsupported devices vesync (#127153)
Allows unload when unsupported devices
2024-10-01 12:16:06 +02:00
Allen Porter c5ebd53079 Add a working location google calendar entity (#127016) 2024-10-01 12:14:23 +02:00
Nerdix 963b9d9a83 Roborock fix "selected map" when first map in list is selected (#127126)
* avoid None when current_map = 0

* combine statements
2024-10-01 12:13:11 +02:00
Christopher Fenner 5bf5545394 Change ViCare dependency back to original one (#127168)
switch dependency back
2024-10-01 11:21:50 +02:00
epenet 2659097010 Adjust type hints in aosmith config_flow (#127160) 2024-10-01 11:21:22 +02:00
epenet 5f1470af9f Adjust type hints in alarmdecoder config_flow (#127161) 2024-10-01 11:21:10 +02:00
Erik Montnemery 4ceff8cabf Use ConfigFlow.has_matching_flow to deduplicate lifx flows (#127163) 2024-10-01 11:20:50 +02:00
Erik Montnemery b12f3e5aff Store huawei_lte flow data in flow handler attributes (#127173) 2024-10-01 11:18:57 +02:00
Erik Montnemery f0b57e2873 Store smappee flow data in flow handler attributes (#127178) 2024-10-01 11:17:20 +02:00
Erik Montnemery f71baf3c73 Store keenetic_ndms2 flow data in flow handler attributes (#127174) 2024-10-01 11:16:40 +02:00
Erik Montnemery d9bba25f67 Store toon flow data in flow handler attributes (#127180) 2024-10-01 11:15:54 +02:00
Erik Montnemery eb1fe93a59 Store devolo_home_network flow data in flow handler attributes (#127169) 2024-10-01 11:15:34 +02:00
Erik Montnemery 825bce32b5 Store fully_kiosk flow data in flow handler attributes (#127172) 2024-10-01 11:11:48 +02:00
Erik Montnemery 36df9e0464 Store ezviz flow data in flow handler attributes (#127171) 2024-10-01 11:11:21 +02:00
Erik Montnemery 46480c5624 Store esphome flow data in flow handler attributes (#127170) 2024-10-01 11:10:38 +02:00
Erik Montnemery 73fad671ed Store arcam_fmj flow data in flow handler attributes (#127166) 2024-10-01 11:09:29 +02:00
epenet 0d9f2aee70 Fix incorrect type hint in zwave_js config flow (#127158) 2024-10-01 10:20:01 +02:00
dependabot[bot] 805c717013 Bump github/codeql-action from 3.26.9 to 3.26.10 (#127157) 2024-10-01 09:15:47 +02:00
dependabot[bot] 9fcb1da06b Bump docker/build-push-action from 6.8.0 to 6.9.0 (#127156) 2024-10-01 09:15:26 +02:00
epenet dcb6c9a133 Adjust type hints in zwave_js config flow (#127104) 2024-09-30 21:42:16 +02:00
G Johansson edcb4eca22 Use async_update_reload_and_abort in Trafikverket Camera (#127137) 2024-09-30 21:30:53 +02:00
G Johansson de6ca56504 Add config flow validation that calibration factor is not zero (#127136)
* Add config flow validation that calibration factor is not zero

* Add test
2024-09-30 21:30:28 +02:00
G Johansson fdd9fca5b3 Fix naming and docstring in yale_smart_alarm select (#127141) 2024-09-30 21:22:55 +02:00
Joost Lekkerkerker 10805805fe Add devices to Withings (#126853) 2024-09-30 21:06:51 +02:00
Franck Nijhof e9dc09755e Bump version to 2024.10.0b6 2024-09-30 20:51:44 +02:00
G Johansson 1ce2b18aaf Allow negative calibration factor in mold_indicator (#127133) 2024-09-30 20:51:34 +02:00
Franck Nijhof abd351e326 Update RestrictedPython to 7.3 (#127130) 2024-09-30 20:51:31 +02:00
starkillerOG d3e6069095 Mark Reolink camera entities as unavailable when camera is offline (#127127)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-09-30 20:51:28 +02:00
Bram Kragten f0c3900842 Update frontend to 20240930.0 (#127125) 2024-09-30 20:51:25 +02:00
Martin Hjelmare 25247de6a6 Bump zwave-js-server-python to 0.58.1 (#127114)
* Bump zwave-js-server-python to 0.58.1

* Update tests
2024-09-30 20:51:21 +02:00
G Johansson 05288dad51 Allow negative calibration factor in mold_indicator (#127133) 2024-09-30 20:50:32 +02:00
Franck Nijhof 053ff33ef9 Update RestrictedPython to 7.3 (#127130) 2024-09-30 19:53:38 +02:00
Franck Nijhof c97f1baa2b Update gotailwind to 0.2.4 (#127129) 2024-09-30 19:52:11 +02:00
starkillerOG 0f4c50e83c Mark Reolink camera entities as unavailable when camera is offline (#127127)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-09-30 19:00:37 +02:00
Martin Hjelmare 0a99c1c633 Bump zwave-js-server-python to 0.58.1 (#127114)
* Bump zwave-js-server-python to 0.58.1

* Update tests
2024-09-30 18:35:14 +02:00
Bram Kragten d6ae47a0de Update frontend to 20240930.0 (#127125) 2024-09-30 18:28:03 +02:00
Darren Griffin b258e6464d Add Open Home Foundation logo to README (#127111)
* Added Open Home Foundation logo to README

* Remove legacy reference to OHF website

* Add alt text to OHF logo
2024-09-30 16:49:30 +02:00
epenet 86a95013b6 Use start_reauth_flow helper in ezviz and netatmo tests (#127100)
* Use start_reauth_flow helper in netatmo tests

* Use start_reauth_flow helper in ezviz tests
2024-09-30 16:38:34 +02:00
Christopher Fenner 636cba5d6b Add hotwater storage sensors to ViCare integration (#126570)
add sensors for hotwater storage
2024-09-30 16:37:50 +02:00
Sven Sager 74931071de Use scheduled current preset (if set), when setting HVAC mode in AVM Fritz!Smarthome (#126044)
* Use temperature of current preset when set fritz HVAC mode to HEAT

If the HVAC mode of the Fritzbox thermostats changes from `HVACMode.OFF`
to `HVAMode.HEAT`, the current preset (COMFORT / ECO) should be
observed. Depending on the status of the current preset, the set
temperature of comfort / eco is set as the new temperature.

* fixup do not use value_scheduled_preset

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

* Add current_preset value to test_set_hvac_mode

The current_preset parameter allows the mock to be set to an active
preset. When setting HVACMode.HEAT, the respective temperature of the
ECO/COMFORT preset should be set.

* fixup Use the updated value_scheduled_preset function

To distinguish which temperature should be used when setting the
`HVAMode.HEAT`, `value_schedules_preset` is now used again, which has
been updated since the first commit. If no schedule is active, the
comfort_temperature is used. Otherwise, the respective temperature of
the current preset.

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>

---------

Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
2024-09-30 16:29:39 +02:00
epenet c92169cb20 Use a generic string as default description placeholder in workday config_flow (#127112) 2024-09-30 15:57:37 +02:00
IceBotYT 927813ab3b Raise HomeAssistantError in entity action calls in Nice G.O. (#126439) 2024-09-30 15:36:10 +02:00
epenet 060268747c Add default description placeholder in workday config_flow (#127110) 2024-09-30 15:35:01 +02:00
epenet 47c953209d Adjust type hints in insteon config_flow (#127108) 2024-09-30 15:32:37 +02:00
epenet 16df3eb995 Adjust type hints in wilight config_flow (#127107) 2024-09-30 15:29:52 +02:00
epenet 454fb30759 Adjust type hints in enphase_envoy config_flow (#127106) 2024-09-30 15:29:25 +02:00
epenet 4e157c2999 Adjust type hints in zha config flow (#127105) 2024-09-30 15:20:20 +02:00
epenet d96fd518e7 Use HassKey in azure_data_explorer (#127087)
* Use HassKey in azure_data_explorer

* Adjust tests

* Adjust

* Remove test
2024-09-30 14:45:37 +02:00
epenet 07fa1fa771 Move monzo test (#127101)
* Move monzo test

* Update tests/components/monzo/test_init.py
2024-09-30 14:43:23 +02:00
Christopher Fenner 404b3fcd03 Add support for room sensors in ViCare integration (#125243)
* Add room sensors

* set humidity device class

* add labels

* Create RoomSensor2.json

* Create RoomSensor1.json

* Update conftest.py

* Create test_sensor.py

* enable E3_RoomSensor

* use setup_integration

* fix ruff findings

* add test case

* fix entity id

* Apply suggestions from code review

* update

* fix findings

* reuse labels

* Apply suggestions from code review

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

* Apply suggestions from code review

* fix test snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-30 14:32:04 +02:00
epenet e1db5f3cac Use start_reauth_flow helper in switcher_kis tests (#127098) 2024-09-30 15:28:33 +03:00
epenet 4bb768f39c Add test for start_reauth_flow test helper (#127093)
* Improve docstring in start_reauth_flow

* Add test

* Make private

* Make fully private until actually needed
2024-09-30 14:28:13 +02:00
Franck Nijhof f3a72dda7b Bump version to 2024.10.0b5 2024-09-30 14:14:01 +02:00
Joost Lekkerkerker b6af6ddea2 Bump yt-dlp to 2024.09.27 (#127096) 2024-09-30 14:05:12 +02:00
Joost Lekkerkerker a2cd17ef0a Make Laundrify unique id a string (#127092) 2024-09-30 14:05:08 +02:00
Simon Goodall b8ed449944 Check "status" is present before access during device update (#127091) 2024-09-30 14:05:05 +02:00
Matthias Alphart dc79299301 Update xknxproject to 3.8.0 (#127072) 2024-09-30 14:05:02 +02:00
Luca Dibattista fa295b93a7 Fix Roomba help URL (#127065)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-09-30 14:04:58 +02:00
J. Nick Koston 725c361e9c Add missing OUI to august (#127064) 2024-09-30 14:04:55 +02:00
Jon Caruana a8f25b1b93 Bump pylitejet to 0.6.3 (#127063) 2024-09-30 14:04:51 +02:00
Kevin Stillhammer 3ee85b3356 Clarify excl/incl filter functionality for waze_travel_time (#127056) 2024-09-30 14:04:48 +02:00
J. Nick Koston 22c85bf5f7 Fix removing nulls when encoding events for PostgreSQL (#127053) 2024-09-30 14:04:45 +02:00
Shai Ungar 0a18838fb0 Fix timestamp isoformat in seventeentrack (#127052)
fix timestamp isoformat
2024-09-30 14:04:41 +02:00
Shai Ungar 62629a0b34 Fix repair when integration does not exist (#127050) 2024-09-30 14:04:38 +02:00
Allen Porter b42848fd7a Bump gcal_sync to 6.1.5 (#127049) 2024-09-30 14:04:34 +02:00
Franck Nijhof 9070806172 Update ical to 8.2.0 (#126954) 2024-09-30 14:04:31 +02:00
Allen Porter 4e11797d72 Update local_calendar/todo to avoid blocking in the event loop (#127048) 2024-09-30 14:01:12 +02:00
Michael 8f47b63762 Bump py-synologydsm-api to 2.5.3 (#127035) 2024-09-30 14:01:08 +02:00
Jan Bouwhuis daa13235e6 Allow null / None value for non numeric mqtt sensor without warnings (#127032)
Allow `null` / `None` value for mqtt sensor without warnings
2024-09-30 14:01:04 +02:00
J. Nick Koston 084c2d976e Bump anyio to 4.6.0 (#127013) 2024-09-30 14:01:00 +02:00
Michael Hansen 75363b609b Don't log voice assistant config timeout error (#127010)
Don't log config timeout error
2024-09-30 14:00:56 +02:00
J. Nick Koston 8d09982f3b Bump aiohttp to 3.10.8 (#127009)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.10.7...v3.10.8

Fixes a long standing cancellation leak on timeout
2024-09-30 14:00:51 +02:00
Paulus Schoutsen aa5e8eaf19 Exclude Text-to-Speech cache from backups (#127001)
Text-to-speech cache doesn't need to be included in backups.
2024-09-30 14:00:43 +02:00
G Johansson fc97eb8151 Workday raise issues only to next year (#126997)
* Workday - raise issues only for current and next year

* variable
2024-09-30 14:00:24 +02:00
G Johansson a68d7c9b9d Add unique id to mold_indicator (#126990) 2024-09-30 13:59:18 +02:00
Joost Lekkerkerker 730012edfd Bump yt-dlp to 2024.09.27 (#127096) 2024-09-30 13:25:17 +02:00
Joost Lekkerkerker 352987db7e Make Laundrify unique id a string (#127092) 2024-09-30 13:21:20 +02:00
G Johansson 92a6f231a9 Workday raise issues only to next year (#126997)
* Workday - raise issues only for current and next year

* variable
2024-09-30 13:08:58 +02:00
G Johansson a44bf164e5 Add select volume to yale_smart_alarm (#127005) 2024-09-30 12:55:09 +02:00
Allen Porter 5cc8cfb209 Update local_calendar/todo to avoid blocking in the event loop (#127048) 2024-09-30 12:51:41 +02:00
Jan Bouwhuis f99b7d8b78 Start mqtt integration discovery config flow only once if config has not changed (#126966)
* Start mqtt integration config flow only once

* Remember last config message

* Filter out instead of unsubscribing the intehration discovery topic

* Follow up comments from code review
2024-09-30 12:44:40 +02:00
Erik Montnemery e8fd97e355 Fix stale docstring in loader.USBMatcher (#127094) 2024-09-30 12:42:04 +02:00
Simon Goodall 5e64caa225 Check "status" is present before access during device update (#127091) 2024-09-30 12:06:48 +02:00
rappenze 0672e1a1ea Add power sensor detection in fibaro integration (#126964)
* Add power sensor detection in fibaro integration

* Better solution plus test

* Update homeassistant/components/fibaro/sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-30 12:01:27 +02:00
epenet 2deab9e0c2 Do not store apache kafka in hass.data (#127090) 2024-09-30 12:01:13 +02:00
Jan Schneider ebe4ed99b5 Add is_opening and is_closing properties to VeluxCover (#127038) 2024-09-30 11:46:47 +02:00
Shai Ungar dce51b02c8 Fix timestamp isoformat in seventeentrack (#127052)
fix timestamp isoformat
2024-09-30 11:45:54 +02:00
epenet 70d4ee93f5 Use HassKey in azure_event_hub (#127086) 2024-09-30 11:45:02 +02:00
epenet 34a4372190 Use HassKey in analytics (#127089) 2024-09-30 11:44:27 +02:00
epenet 301543d3d0 Use config entry runtime_data in atag (#127084) 2024-09-30 11:06:07 +02:00
epenet c3c2bc51c5 Use config entry runtime_data in aussie broadband (#127083) 2024-09-30 11:04:08 +02:00
epenet 40f808e9be Use config entry runtime_data in azure event hub (#127082) 2024-09-30 10:22:12 +02:00
epenet 3caf6c0e31 Move atag coordinator to separate class (#127071) 2024-09-30 10:21:04 +02:00
Matthias Alphart 36a0c1b514 Update xknxproject to 3.8.0 (#127072) 2024-09-30 10:18:46 +02:00
epenet e128751e64 Use config entry runtime_data in aurora_abb_powerone (#127075) 2024-09-30 10:15:18 +02:00
epenet fae1efc237 Move aussie broadband coordinator to separate class (#127081) 2024-09-30 10:14:04 +02:00
epenet dec03d4d25 Use config entry runtime_data in awair (#127073) 2024-09-30 10:11:21 +02:00
epenet 064bbab3f5 Use config entry runtime_data in aseko_pool_live (#127077) 2024-09-30 10:10:34 +02:00
epenet f03e81544e Use config entry runtime_data in aprilaire (#127079) 2024-09-30 10:09:21 +02:00
epenet 4c8027aefa Use config entry runtime_data in android ip webcam (#127080) 2024-09-30 10:08:04 +02:00
epenet dbecd7a99c Use config entry runtime_data in arve (#127078) 2024-09-30 10:06:16 +02:00
dependabot[bot] b035649c75 Bump docker/build-push-action from 6.7.0 to 6.8.0 (#127070)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-30 09:25:28 +02:00
Shai Ungar 97ab595e20 Fix repair when integration does not exist (#127050) 2024-09-30 09:17:44 +02:00
epenet 20d4031ed4 Use HassKey in application_credentials (#127069)
Use HassKey in application_credentials
2024-09-30 09:17:33 +02:00
Allen Porter 812be801ce Bump gcal_sync to 6.1.5 (#127049) 2024-09-30 09:11:31 +02:00
Luca Dibattista 672a7ca740 Fix Roomba help URL (#127065)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-09-30 09:10:54 +02:00
G Johansson 0b3d69aa8e Add unique id to mold_indicator setup from yaml (#126992) 2024-09-30 09:02:43 +02:00
J. Nick Koston e87542e091 Fix removing nulls when encoding events for PostgreSQL (#127053) 2024-09-30 09:01:41 +02:00
MarkGodwin e9bbf773d6 Switch oamda to use a strongly typed config entry (#127044) 2024-09-30 08:58:19 +02:00
Kevin Stillhammer 68e8c968a8 Clarify excl/incl filter functionality for waze_travel_time (#127056) 2024-09-30 08:57:06 +02:00
Jon Caruana a3f12329b3 Bump pylitejet to 0.6.3 (#127063) 2024-09-30 08:36:30 +02:00
J. Nick Koston f5ef213842 Add missing OUI to august (#127064) 2024-09-30 08:34:41 +02:00
Jan Bouwhuis b573e5a2b3 Allow null / None value for non numeric mqtt sensor without warnings (#127032)
Allow `null` / `None` value for mqtt sensor without warnings
2024-09-30 07:05:12 +02:00
Marc Mueller 17c3e7b238 Update grpcio constraints to 1.66.2 (#127026) 2024-09-30 07:02:00 +02:00
Michael 9921a67a05 Bump py-synologydsm-api to 2.5.3 (#127035) 2024-09-29 10:12:27 -05:00
J. Nick Koston ad09197c00 Bump anyio to 4.6.0 (#127013) 2024-09-29 15:13:10 +02:00
YogevBokobza be11d1cabf Add Light support for Switcher Runner S11 (#126402)
* switcher add s11 light support

* switcher fix linting

* switcher fix linting

* switcher fix linting

* switcher fix linting

* Update homeassistant/components/switcher_kis/light.py

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

* Update homeassistant/components/switcher_kis/light.py

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

* Switcher fix based on requested changes

* switcher fix light tests

* Add translations

* Remove obsolete default

* Remove obsolete default

* Update tests/components/switcher_kis/test_light.py

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

* switcher fix based on requested changes

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-29 13:20:21 +03:00
Raul Camacho 5399e2b648 Add Local Calendar ics events import on calendar creation (#117955)
* add optional config_flow step of uploading .ics file to import local calendar events

* feat: add unit test for import_ics step

* fix: remove unneeded test patch

* feat: add helper for moving ics to storage location

* move helper to config_flow

* ruff

* fix tests; add test for invalid ics content

* Update homeassistant/components/local_calendar/config_flow.py

* Update import flow with radio button and improved text

Signed-off-by: Allen Porter <allen.porter@gmail.com>

* Remove commented out code

* Update with lint fixes

* Apply suggestions from code review

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

---------

Signed-off-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-09-28 22:15:24 -07:00
J. Nick Koston a8d72cfdcf Bump aiohttp to 3.10.8 (#127009)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.10.7...v3.10.8

Fixes a long standing cancellation leak on timeout
2024-09-28 21:53:54 -04:00
Michael Hansen fbeee11fd7 Don't log voice assistant config timeout error (#127010)
Don't log config timeout error
2024-09-28 18:46:01 -04:00
Andre Lengwenus 545dae2e7f Bump pypck to 0.7.24 (#126995) 2024-09-28 21:39:48 +02:00
Paulus Schoutsen 86891351f6 Exclude Text-to-Speech cache from backups (#127001)
Text-to-speech cache doesn't need to be included in backups.
2024-09-28 18:22:57 +02:00
G Johansson ddfe790995 Bump smhi-pkg to 1.0.18 (#126999) 2024-09-28 17:17:57 +02:00
G Johansson 85a9a8eca1 Add unique id to mold_indicator (#126990) 2024-09-28 14:53:40 +02:00
Tsvi Mostovicz 52c358e120 Add reconfigure flow for Jewish Calendar (#126773)
* Add reconfigure flow for Jewish Calendar

* Use async_update_reload_and_abort
2024-09-28 13:59:11 +02:00
Franck Nijhof 3bb13f76fa Bump version to 2024.10.0b4 2024-09-28 11:00:20 +02:00
J. Nick Koston f57ce96ff0 Bump aiohttp to 3.10.7 (#126970) 2024-09-28 11:00:10 +02:00
J. Nick Koston 105d7952fc Bump yarl to 1.13.1 (#126962) 2024-09-28 11:00:07 +02:00
Steven B. 6f4a488308 Bump python-kasa library to 0.7.4 (#126944) 2024-09-28 11:00:03 +02:00
ozadr1an 23a11dddb3 Bump nessclient to 1.1.2 (#125604)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-09-28 10:59:59 +02:00
Sid f516e538a8 Include requirements_test_pre_commit.txt in pre-commit hassfest (#125388) 2024-09-28 10:48:08 +02:00
J. Nick Koston 4c28c1f556 Bump aiohttp to 3.10.7 (#126970) 2024-09-28 10:47:05 +02:00
Aindriú Mac Giolla Eoin b996bd3e65 Updated languages.py to add Irish lang code (manually) (#126689)
* Updated languages.py to add Irish lang code (manually)

Added Irish language code manually without running the command 'python3 -m script.languages ga'.  Due to the size of the repository, I was unable to clone and run the generation script for updating languages.py

* Update homeassistant/generated/languages.py

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>

---------

Co-authored-by: Simon Lamon <32477463+silamon@users.noreply.github.com>
2024-09-27 23:49:31 +02:00
Erik Montnemery 6c1167df4a Use ConfigFlow.has_matching_flow to deduplicate webostv flows (#126898) 2024-09-28 00:11:15 +03:00
J. Nick Koston 1044345587 Bump yarl to 1.13.1 (#126962) 2024-09-27 23:10:01 +02:00
Josef Zweck d9eb419ecc Add translation for tedee exceptions (#126963) 2024-09-27 22:21:01 +02:00
Josef Zweck 8a266aac34 Add translation_domain to lamarzocco exceptions (#126959) 2024-09-27 22:01:46 +02:00
Franck Nijhof f6ac5dab74 Update apprise to 1.9.0 (#126952) 2024-09-27 21:58:03 +02:00
Franck Nijhof d34ba16a30 Update pyvera to 0.3.15 (#126956) 2024-09-27 21:25:27 +02:00
Franck Nijhof 5638e937b0 Update vsure to 2.6.7 (#126950) 2024-09-27 21:25:13 +02:00
G Johansson 2ff88e7baf Add preview to statistics (#122590) 2024-09-27 21:09:42 +02:00
Josef Zweck 2e1732fadf Add proper exception handling to lamarzocco (#125913) 2024-09-27 21:04:01 +02:00
G Johansson 57e041171b Add preview to mold_indicator (#125530) 2024-09-27 20:56:02 +02:00
Marc Mueller 317b73ffaf Allow passing filename to licenses script [ci] (#126951) 2024-09-27 20:52:01 +02:00
ozadr1an 39a9634a5c Bump nessclient to 1.1.2 (#125604)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-09-27 20:49:34 +02:00
Franck Nijhof 22ebc654a7 Update ollama to 0.3.3 (#126953) 2024-09-27 20:45:10 +02:00
Marc Mueller 20c3b9b6f9 Update grpcio constraints to 1.66.1 (#126947) 2024-09-27 13:44:31 -05:00
Franck Nijhof 7588d83c6c Update DoorBirdPy to 3.0.3 (#126949) 2024-09-27 20:29:46 +02:00
Franck Nijhof efbb5bf9af Update debugpy to 1.8.6 (#126945) 2024-09-27 20:29:32 +02:00
Steven B. dac69fafb8 Bump python-kasa library to 0.7.4 (#126944) 2024-09-27 13:29:28 -05:00
Franck Nijhof 8d98085873 Update ical to 8.2.0 (#126954) 2024-09-27 20:29:18 +02:00
J. Nick Koston 8950e817e0 Bump protobuf to 5.28.2 (#124936)
Co-authored-by: Marc Mueller <30130371+cdce8p@users.noreply.github.com>
2024-09-27 19:39:25 +02:00
Franck Nijhof 28aff1a90a Bump version to 2024.10.0b3 2024-09-27 19:39:22 +02:00
Jan Rieger 9a56381e28 Add missing icons to unifi (#126934) 2024-09-27 19:39:06 +02:00
Bram Kragten 2d1708e5e8 Update frontend to 20240927.0 (#126933) 2024-09-27 19:39:03 +02:00
Raj Laud 73deb076fe Squeezebox - bump pysqueezebox dependency to 0.9.3 to restore favorites support (#126929) 2024-09-27 19:38:59 +02:00
Michael Hansen c4f189863c Adjust "Assist in progress" sensor in ESPHome (#126928)
Adjust sensor
2024-09-27 19:38:56 +02:00
Michael Hansen 02e15a4ce7 Change Assist satellite state names (#126926)
* Change state names

* Update homeassistant/components/assist_satellite/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-27 19:38:52 +02:00
Jon Seager ba8e9bc168 Bump pytouchlinesl to 0.1.7 (#126923) 2024-09-27 19:38:49 +02:00
mvn23 46d3bda80a Bump pyotgw to 2.2.1 (#126918) 2024-09-27 19:38:46 +02:00
Jon Seager 222006d106 Update pytouchlinesl to 0.1.6 (#126912) 2024-09-27 19:38:43 +02:00
Joost Lekkerkerker 7925aee91f Migrate Nexia unique id to str (#126911) 2024-09-27 19:38:40 +02:00
Joost Lekkerkerker 4e3b012f3e Fix Tado unloading (#126910) 2024-09-27 19:38:36 +02:00
Jan Bouwhuis b606b50cec Do not unsubscribe mqtt integration discovery if entry is already configured (#126907)
* Do not unsubscribe mqtt integration discovery if entry is already configured

* Test cases without unsubscribe
2024-09-27 19:38:33 +02:00
Jan Rieger 57028a0807 Use icon translations in unifi (#126903)
* Use icon translations in unifi

* Update snapshots

* Add state icons

* Address feedback

* Update snapshot
2024-09-27 19:38:30 +02:00
Joost Lekkerkerker 840cc483b0 Update airgradient device sw_version when changed (#126902) 2024-09-27 19:38:27 +02:00
Manu 8d1f944096 Revert "Add support for Xiaomi airpurifier and humidifier (#117791)" (#126873) 2024-09-27 19:38:24 +02:00
Manu a45c4ec8e9 Fix blocking call in Xiaomi Miio integration (#126871) 2024-09-27 19:38:21 +02:00
Manu 0f3f50e817 Add support for variant of Xiaomi Mi Air Purifier 3C (zhimi.airp.mb4a) (#126867)
Add model id zhimi.airp.mb4a
2024-09-27 19:38:17 +02:00
Erik Montnemery a4ff292231 Improve statistics issue title (#126851) 2024-09-27 19:38:14 +02:00
Simon Lamon e8636670d4 Bump python-linkplay to 0.0.12 (#126850)
Bump dependency
2024-09-27 19:38:11 +02:00
Simon bae6d679aa Use hass httpx client for ElevenLabs component (#126793) 2024-09-27 19:38:07 +02:00
Erwin Douna 6fb1b53039 Set DSMR Reader quality scale to Gold (#121466) 2024-09-27 19:26:51 +02:00
Joakim Plate c81a4f8633 Translate exception from fjäråskupan (#126673) 2024-09-27 19:23:24 +02:00
Erik Montnemery 4599d1650b Use ConfigFlow.has_matching_flow to deduplicate flux_led flows (#126888) 2024-09-27 19:22:00 +02:00
Simon Lamon 4edc3872ce Add support for stop command in LinkPlay (#126941)
Add support for stop command
2024-09-27 19:13:26 +02:00
Josef Zweck 8999e9f116 Use _async_setup in tedee coordinator (#126812) 2024-09-27 19:10:52 +02:00
Erik Montnemery c5b4892596 Adjust BaseEditConfigView.__init__ (#126729) 2024-09-27 19:08:12 +02:00
Erik Montnemery 46812777e2 Use ConfigFlow.has_matching_flow to deduplicate yalexs_ble flows (#126899) 2024-09-27 19:07:23 +02:00
Simon 616c0ebaa4 Use hass httpx client for ElevenLabs component (#126793) 2024-09-27 19:04:31 +02:00
Steven B. 33d0343089 Extend dhcp discovery flow for ring integration (#126661) 2024-09-27 19:03:43 +02:00
Raj Laud e6af8f63f3 Squeezebox - bump pysqueezebox dependency to 0.9.3 to restore favorites support (#126929) 2024-09-27 18:50:30 +02:00
Jan Rieger cda62a4ff3 Add missing icons to unifi (#126934) 2024-09-27 18:50:00 +02:00
Marc Mueller f359d619cb Modify pytest workflow to support testing multiple Python versions [ci] (#126936) 2024-09-27 18:49:20 +02:00
Erik Montnemery 495faf5033 Improve statistics issue title (#126851) 2024-09-27 18:32:20 +02:00
Bram Kragten cba2daf314 Update frontend to 20240927.0 (#126933) 2024-09-27 18:10:39 +02:00
Jan Rieger 2d68f9a986 Use icon translations in unifi (#126903)
* Use icon translations in unifi

* Update snapshots

* Add state icons

* Address feedback

* Update snapshot
2024-09-27 17:43:25 +02:00
Jan Bouwhuis 7fde2e2fe0 Do not unsubscribe mqtt integration discovery if entry is already configured (#126907)
* Do not unsubscribe mqtt integration discovery if entry is already configured

* Test cases without unsubscribe
2024-09-27 17:28:51 +02:00
Michael Hansen bd4f3b0553 Change Assist satellite state names (#126926)
* Change state names

* Update homeassistant/components/assist_satellite/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-27 11:11:23 -04:00
Michael Hansen 6373347d65 Adjust "Assist in progress" sensor in ESPHome (#126928)
Adjust sensor
2024-09-27 11:10:50 -04:00
Jon Seager b458b204f0 Bump pytouchlinesl to 0.1.7 (#126923) 2024-09-27 16:01:59 +02:00
mvn23 dd3a3f821c Bump pyotgw to 2.2.1 (#126918) 2024-09-27 15:43:10 +02:00
Jan Bouwhuis 60e3a1fc5f Fix ruff import validation (#126917) 2024-09-27 15:17:54 +02:00
Manu 706a5680e1 Change Turkey to Türkiye per 2022 UN resolution on official name (#126779) 2024-09-27 15:11:05 +02:00
Brett Adams cad87f51a3 Code quality improvements for Teslemetry (#123444) 2024-09-27 15:06:09 +02:00
Erik Montnemery 66ab90b518 Add EntityIDPostMigration data migrator class (#125307) 2024-09-27 14:58:34 +02:00
Jon Seager 8bdd81ff24 Update pytouchlinesl to 0.1.6 (#126912) 2024-09-27 14:56:37 +02:00
Joost Lekkerkerker f64e542879 Fix Evohome snapshots (#126915) 2024-09-27 14:55:44 +02:00
Joost Lekkerkerker 7c58476af9 Add unique id migration to Geniushub (#122330) 2024-09-27 14:54:47 +02:00
epenet 1f3b06a9bd Refactor Trace to avoid self import (#125822) 2024-09-27 14:52:13 +02:00
epenet e1314b6cda Use shorthand attributes in vodafone_station device tracker (#126747) 2024-09-27 14:48:30 +02:00
epenet a6b629c392 Use shorthand attributes in traccar device tracker (#126733) 2024-09-27 14:45:41 +02:00
epenet f9f51e2381 Use shorthand attributes in gpslogger device tracker (#126739) 2024-09-27 14:44:56 +02:00
epenet ee75cba008 Remove unused properties in tado device tracker (#126737) 2024-09-27 14:41:47 +02:00
Manu c768f03f71 Revert "Add support for Xiaomi airpurifier and humidifier (#117791)" (#126873) 2024-09-27 14:41:20 +02:00
Joost Lekkerkerker 20a57d6381 Fix Tado unloading (#126910) 2024-09-27 14:36:29 +02:00
Joost Lekkerkerker 308f25fe4c Migrate Nexia unique id to str (#126911) 2024-09-27 14:35:08 +02:00
Erik Montnemery 9f2ba6bc2c Use ConfigFlow.has_matching_flow to deduplicate plugwise flows (#126896) 2024-09-27 14:32:36 +02:00
rubenbe b3b5d9602a Add RSS description to Feedreader event (#126681) 2024-09-27 13:46:48 +02:00
David Bonnes 2d16732972 Set the default time zone for evohome tests (#126679) 2024-09-27 13:44:47 +02:00
epenet 94efd3e230 Cleanup sensor tests (#126881) 2024-09-27 13:43:24 +02:00
Erik Montnemery 59a690f214 Use ConfigFlow.has_matching_flow to deduplicate homekit_controller flows (#126894) 2024-09-27 13:41:55 +02:00
Marc Mueller 6f70a52880 Update grpcio constraints to 1.62.3 (#126908) 2024-09-27 13:35:20 +02:00
Erik Montnemery 85ebe5e01a Use ConfigFlow.has_matching_flow to deduplicate hunterdouglas flows (#126895) 2024-09-27 13:22:16 +02:00
Joost Lekkerkerker a3ec4db9cc Update airgradient device sw_version when changed (#126902) 2024-09-27 13:21:35 +02:00
Michael ffa6b5fcb2 Use two words for Nautical miles unit (#126905) 2024-09-27 13:16:13 +02:00
Manu b78a1f7b61 Fix blocking call in Xiaomi Miio integration (#126871) 2024-09-27 13:11:28 +02:00
epenet 1d49c5056c Use shorthand attributes in tile device tracker (#126735) 2024-09-27 13:04:19 +02:00
Erik Montnemery 83ebd601a9 Use ConfigFlow.has_matching_flow to deduplicate steamist flows (#126897) 2024-09-27 13:01:29 +02:00
Simon Lamon a972e295ea Bump python-linkplay to 0.0.12 (#126850)
Bump dependency
2024-09-27 12:21:58 +02:00
Manu 7a0b4fc62c Add support for variant of Xiaomi Mi Air Purifier 3C (zhimi.airp.mb4a) (#126867)
Add model id zhimi.airp.mb4a
2024-09-27 12:00:19 +02:00
Franck Nijhof a3e3edb9a2 Bump version to 2024.10.0b2 2024-09-27 11:53:10 +02:00
J. Nick Koston e66dd63516 Fix getting the current host for IPv6 urls (#126889) 2024-09-27 11:53:02 +02:00
Joost Lekkerkerker ec66c7e534 Add diagnostics platform to airgradient (#126886) 2024-09-27 11:52:58 +02:00
Franck Nijhof 2749b1f057 Mark custom panel integration as system type (#126883) 2024-09-27 11:52:55 +02:00
J. Nick Koston b079a94bef Fix getting the host for the current request (#126882) 2024-09-27 11:52:52 +02:00
J. Nick Koston 3d1bd626b0 Bump yarl to 1.13.0 (#126872) 2024-09-27 11:52:49 +02:00
Joost Lekkerkerker 60641d5a4e Fix restoring state class in mobile app (#126868) 2024-09-27 11:52:45 +02:00
EnjoyingM 28d491e997 Bump wolf-comm to 0.0.15 (#126857) 2024-09-27 11:52:42 +02:00
Jeef bb73529770 Monarch Money cashflow sensor bugfix (#125774)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-09-27 11:52:36 +02:00
Kareem ElFaramawi ebfd442b51 Fix Abode integration needing to reauthenticate after core update (#123035)
* bump jaraco.abode to 6.2.1

* update abode user_data path to HA config

* Move abode config call out of try block

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-27 11:52:33 +02:00
Alexey ALERT Rubashёff fdd8c0969b Update overkiz Atlantic Water Heater away mode switching (#121801) 2024-09-27 11:52:29 +02:00
Joost Lekkerkerker d78fcd2a29 Introduce base entity in Switcher (#126822) 2024-09-27 11:47:47 +02:00
Erik Montnemery 2b2f5c9353 Use ConfigFlow.has_matching_flow to deduplicate elkm1 flows (#126887) 2024-09-27 11:46:26 +02:00
Erik Montnemery fcbb9dd8d8 Use ConfigFlow.has_matching_flow to deduplicate fritz flows (#126890) 2024-09-27 11:45:57 +02:00
Erik Montnemery b34f3ad5c5 Use ConfigFlow.has_matching_flow to deduplicate gogogate2 flows (#126892) 2024-09-27 11:45:17 +02:00
Erik Montnemery 8bdd909351 Use ConfigFlow.has_matching_flow to deduplicate fritzbox flows (#126891) 2024-09-27 11:44:59 +02:00
Kareem ElFaramawi d7fe7f35ad Fix Abode integration needing to reauthenticate after core update (#123035)
* bump jaraco.abode to 6.2.1

* update abode user_data path to HA config

* Move abode config call out of try block

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-27 11:43:29 +02:00
Joost Lekkerkerker 1ebcc34e66 Fix restoring state class in mobile app (#126868) 2024-09-27 11:37:28 +02:00
J. Nick Koston 40e83dd9e0 Bump yarl to 1.13.0 (#126872) 2024-09-27 11:35:57 +02:00
Joost Lekkerkerker 18fd00d0c2 Add diagnostics platform to airgradient (#126886) 2024-09-27 11:35:35 +02:00
J. Nick Koston 9ec26a9be5 Fix getting the current host for IPv6 urls (#126889) 2024-09-27 11:26:35 +02:00
Erik Montnemery 3c0be47d3c Add FlowManager.async_has_matching_flow (#126804)
* Add FlowManager.async_flow_has_matching_flow

* Revert changes from the future

* Apply suggested changes to apple_tv config flow

* Rename methods after discussion

* Update homeassistant/data_entry_flow.py

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

* Move deduplication functions to config_entries, add tests

* Adjust tests

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-27 10:51:36 +02:00
Michael 26b5dab12b Add nmi (nautical miles) as valid distance unit (#124723) 2024-09-27 10:40:59 +02:00
J. Nick Koston 75ae6a8087 Fix getting the host for the current request (#126882) 2024-09-27 03:36:05 -05:00
Franck Nijhof fb0e102d74 Mark custom panel integration as system type (#126883) 2024-09-27 10:26:19 +02:00
EnjoyingM d777ec3267 Bump wolf-comm to 0.0.15 (#126857) 2024-09-27 09:56:33 +02:00
David Bonnes cff9e9abab Refactor evohome test fixtures for improved testing (#126781) 2024-09-27 09:40:52 +02:00
Marc Mueller 0b19831a7a Update pytest warnings filter (#126858) 2024-09-27 09:32:50 +02:00
Alexey ALERT Rubashёff 27f3715780 Update overkiz Atlantic Water Heater away mode switching (#121801) 2024-09-27 09:30:40 +02:00
Jeef 76858f0534 Monarch Money cashflow sensor bugfix (#125774)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-09-27 09:18:37 +02:00
Joost Lekkerkerker bcfdfe93f9 Fix small typo in mobile_app docstring (#126863) 2024-09-27 00:01:11 +02:00
Joost Lekkerkerker 7c6cc16ef1 Bump aiowithings to 3.1.0 (#126854) 2024-09-26 22:36:01 +02:00
Franck Nijhof bdc548b464 Bump version to 2024.10.0b1 2024-09-26 20:46:24 +02:00
Paulus Schoutsen b60e6082f7 Update the Selected Pipeline entity name (#126845) 2024-09-26 20:46:08 +02:00
Bram Kragten 9a7254e4ee Update frontend to 20240926.0 (#126843) 2024-09-26 20:46:05 +02:00
Mike Degatano 73e56e292a Bump aiohasupervisor to 0.1.0 (#126841) 2024-09-26 20:46:02 +02:00
Joost Lekkerkerker 42a4a89793 Fix Withings reauth title (#126838) 2024-09-26 20:45:59 +02:00
Joost Lekkerkerker bb7803b020 Fix last played icon in NYT Games (#126837) 2024-09-26 20:45:55 +02:00
Joost Lekkerkerker dd0fc0688d Bump nyt_games to 0.4.2 (#126834)
* Bump nyt_games to 0.4.1

* Bump nyt_games to 0.4.1

* Bump nyt_games to 0.4.2
2024-09-26 20:45:52 +02:00
Joost Lekkerkerker 1380ed7328 Add logging to NYT Games setup failures (#126832) 2024-09-26 20:45:49 +02:00
Joost Lekkerkerker 9d6569d515 Bump knocki to 0.3.5 (#126826) 2024-09-26 20:45:45 +02:00
Manu 20be8fd2d3 Fix typo in Mealie integration (#126824) 2024-09-26 20:45:42 +02:00
Joost Lekkerkerker 9d48c77861 Bump jaraco.abode to 6.2.1 (#126823) 2024-09-26 20:45:39 +02:00
Steven B. 7ab93a70dc Bump ring-doorbell to 0.9.6 (#126817) 2024-09-26 20:45:36 +02:00
Martin Hjelmare a435095e76 Fix missing template alarm control panel menu string (#126791) 2024-09-26 20:45:32 +02:00
starkillerOG eb763563f2 Bump reolink-aio to 0.9.11 (#126778) 2024-09-26 20:45:29 +02:00
Noah Husby 9bf0b5bff1 Bump aiorussound to 4.0.5 (#126774)
* Bump aiorussound to 4.0.4

* Remove unnecessary exception

* Bump aiorussound to 4.0.5

* Fixes

* Update homeassistant/components/russound_rio/media_player.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-26 20:45:26 +02:00
starkillerOG 638dd37545 Remove Reolink Home Hub main level switches (#126697)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-09-26 20:45:23 +02:00
G Johansson 11cc718273 Change Climate set temp action for incorrect feature will raise (#126692)
* Change Climate set temp action for incorrect feature will raise

* Fix some tests

* Fix review comments

* Fix tesla_fleet

* Fix tests

* Fix review comment
2024-09-26 20:45:19 +02:00
Steven B. cf6b07630b Deprecate tplink alarm button entities (#126349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-26 20:45:14 +02:00
Michael Hansen 17e0db9da3 Fix ESPHome and VoIP Assist satellite entity names (#126229)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-26 20:45:09 +02:00
Paulus Schoutsen 471c68f653 Update the Selected Pipeline entity name (#126845) 2024-09-26 20:38:51 +02:00
Joost Lekkerkerker ae102f1318 Add logging to NYT Games setup failures (#126832) 2024-09-26 20:33:24 +02:00
Joost Lekkerkerker 2a0ad20188 Fix last played icon in NYT Games (#126837) 2024-09-26 20:23:24 +02:00
Michael Hansen 9db5b481be Fix ESPHome and VoIP Assist satellite entity names (#126229)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-26 20:22:09 +02:00
Joost Lekkerkerker 185d00c86c Fix Withings reauth title (#126838) 2024-09-26 20:19:40 +02:00
Bram Kragten e72ec07683 Update frontend to 20240926.0 (#126843) 2024-09-26 19:48:27 +02:00
Joost Lekkerkerker 6e12726b11 Use Parametrizing in Matter tests (#126759)
* Overhaul matter tests

* Overhaul

* Remove matter_client where obsolete

* Move snapshots to the top

* Use usefixtures

* Add Valve
2024-09-26 19:40:20 +02:00
epenet 6c539cd2d8 Improve type hints in template config_flow tests (#126803)
Improve type hints in template tests
2024-09-26 19:25:33 +02:00
Sid 77642b9e3d Bump ruff to 0.6.8 (#126842) 2024-09-26 19:13:08 +02:00
Mike Degatano 86dc7111cb Bump aiohasupervisor to 0.1.0 (#126841) 2024-09-26 18:34:30 +02:00
Joost Lekkerkerker 8d428acbbb Bump nyt_games to 0.4.2 (#126834)
* Bump nyt_games to 0.4.1

* Bump nyt_games to 0.4.1

* Bump nyt_games to 0.4.2
2024-09-26 18:03:11 +02:00
Joost Lekkerkerker 1c13851858 Bump jaraco.abode to 6.2.1 (#126823) 2024-09-26 17:31:09 +02:00
Joost Lekkerkerker a75ebc27c4 Bump knocki to 0.3.5 (#126826) 2024-09-26 15:45:20 +02:00
epenet 45f92dd981 Improve type hints in template (#126802) 2024-09-26 15:05:46 +02:00
Steven B. 5a6ce86476 Bump ring-doorbell to 0.9.6 (#126817) 2024-09-26 15:00:31 +02:00
Noah Husby 7afad1dde9 Bump aiorussound to 4.0.5 (#126774)
* Bump aiorussound to 4.0.4

* Remove unnecessary exception

* Bump aiorussound to 4.0.5

* Fixes

* Update homeassistant/components/russound_rio/media_player.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-26 14:38:36 +02:00
Manu b766d91f49 Fix typo in Mealie integration (#126824) 2024-09-26 14:28:57 +02:00
Marc Mueller 22dac266c4 Update pydantic to 1.10.18 (#126821) 2024-09-26 14:17:46 +02:00
epenet 5fb9537d6d Use pytest.mark.usefixtures for start_ha in template tests (#126805) 2024-09-26 14:00:52 +02:00
Marc Mueller c1b24e6ba2 Small typing improvements (#126818)
* Add from __future__ import annotations

* Use PEP 695 type aliases

* Fix generator typing
2024-09-26 13:51:27 +02:00
dependabot[bot] cf803507d6 Bump actions/checkout from 4.1.7 to 4.2.0 (#126801)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-26 13:49:48 +02:00
Josef Zweck 16e5271cac Switch coordinator setup to _async_setup (#126810) 2024-09-26 13:08:02 +02:00
Martin Hjelmare d5ad35630f Fix missing template alarm control panel menu string (#126791) 2024-09-26 07:37:49 +02:00
starkillerOG 1395baef01 Remove Reolink Home Hub main level switches (#126697)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-09-25 21:52:26 +02:00
David Bonnes 90dcb02429 Remove unnecessary patch from evohome tests (#126760) 2024-09-25 21:52:03 +02:00
Steven B. 4f0211cdd8 Deprecate tplink alarm button entities (#126349)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-25 14:47:40 -05:00
epenet a1e6d4b693 Use shorthand attributes in geofency device tracker (#126741) 2024-09-25 21:47:13 +02:00
starkillerOG 77db88ad28 Bump reolink-aio to 0.9.11 (#126778) 2024-09-25 21:43:20 +02:00
G Johansson c6a1b9fc39 Change Climate set temp action for incorrect feature will raise (#126692)
* Change Climate set temp action for incorrect feature will raise

* Fix some tests

* Fix review comments

* Fix tesla_fleet

* Fix tests

* Fix review comment
2024-09-25 21:16:14 +02:00
Franck Nijhof 9afd270111 Bump version to 2024.11.0dev0 (#126776) 2024-09-25 21:08:07 +02:00
Franck Nijhof 53cf8628fa Bump version to 2024.10.0b0 2024-09-25 20:34:22 +02:00
Erik Montnemery 7d61cb1ef5 Remove unignore flow (#126765) 2024-09-25 20:29:14 +02:00
Thomas55555 f53411b95a Bump aioautomower to 2024.9.3 (#126769)
* Bump aioautomower to 2024.9.3

* tests
2024-09-25 20:28:22 +02:00
Ludovic BOUÉ 6d1e5886ec Add Valve platform to Matter integration (#123311)
* Create water_valve.py

* Update water_valve.py

ValveEntity

* Update water_valve.py

ValveDeviceClass

* Update water_valve.py

* Update water_valve.py

OperationalStatus

* Update water_valve.py

* Update water_valve.py

Commands

* Update water_valve.py

Platform.VALVE

* Update water_valve.py

* Update water_valve.py

operational_status

* Update water_valve.py

current_valve_position

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

attributes

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Open command

* Match Valve entity methods

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* ruff-format

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

Attributes.CurrentLevel

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

async_set_valve_position

* Update water_valve.py

* Update water_valve.py

Bitmaps

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update homeassistant/components/matter/water_valve.py

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

* Update homeassistant/components/matter/water_valve.py

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

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update discovery.py to add WaterValve

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update discovery.py

* Update discovery.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Update water_valve.py

* Rename water_valve.py to valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* Create test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Update test_valve.py

* Create valve.json

* Update air-purifier.json

* Revert "Update air-purifier.json"

This reverts commit b68dce0ccc81bc6fb1db36191de1c296ce54cac3.

* Update valve.json

* Update valve.json

* Update valve.json

* Update test_valve.py

* Update valve.json

* Update test_valve.py

* Update valve.json

* Update valve.json

* Update valve.json

* Update test_valve.py

* Update valve.py

* Update valve.py

* Update valve.py

* add tests

* cleanup

* Clean up variable

* Format

* add tests for state updates

* adjust

* add tests for position

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-25 20:19:10 +02:00
puddly 0a44c9456c Bump ZHA to 0.0.34 (#126766) 2024-09-25 18:44:51 +02:00
epenet fbf5d3966d Use shorthand attributes in locative device tracker (#126740) 2024-09-25 18:27:18 +02:00
Markus Jacobsen 0fa1478f90 Remove unnecessary dict .keys() calls from Bang & Olufsen (#126762)
Remove useless .keys() calls
2024-09-25 18:19:41 +02:00
Euan de Kock d7ac53ae93 Update const.py to add new Australian Server URL (#126714)
Growatt is now redirecting Australian users to a new server. This adds support for this server.
2024-09-25 18:04:03 +02:00
Bram Kragten e7e86d7a32 Update frontend to 20240925.0 (#126763) 2024-09-25 17:36:45 +02:00
Joost Lekkerkerker 3810c3cbaf Improve trigger schema validation to ask for trigger instead of platform (#126750)
* Add check for missing trigger

* Fix

* Fix

* Escape
2024-09-25 16:44:14 +02:00
J. Nick Koston f4c339db8c Fix license check for new aiocache (#126753) 2024-09-25 09:00:04 -05:00
Markus Jacobsen bb29c7a02f Add sound modes to Bang & Olufsen devices (#121209)
* Add sound mode functionality

* Fix naming

* Change unique sound mode symbol

* Add testing for sound modes

* Add test typing

* Use constants for service call parameters

* Add state assertions

* Remove invalid decorator

* Add valid sound mode check

* Add test for invalid sound mode
2024-09-25 15:58:24 +02:00
epenet 2699eb62bd Rename DOMAIN_DATA HassKey constants to DATA_COMPONENT (#126746)
* Rename DOMAIN_DATA HassKey constant to DATA

* DATA -> DATA_COMPONENT
2024-09-25 15:53:58 +02:00
c0ffeeca7 866ffcf639 Use bold to markup UI strings (#126748)
* Use bold to markup UI strings

* Use bold to markup UI strings
2024-09-25 15:33:23 +02:00
Joost Lekkerkerker 33d83e43de Update trigger validation message (#126749) 2024-09-25 15:33:03 +02:00
Joost Lekkerkerker 662a704165 Use snake case in matter fixture nodes (#126743) 2024-09-25 15:29:17 +02:00
epenet 083b586d19 Add pylint checks for fixture scope (#126723)
* Prevent session scope fixtures in component tests

* Link message to the decorator - not the function

* Add checks for package also

* Add check for session scope autouse

* Rename variable

* Adjust message

* Ignore fancy autouse

* Simplify
2024-09-25 15:27:57 +02:00
epenet fb91377139 Use shorthand attributes in mysensors device tracker (#126738) 2024-09-25 15:21:50 +02:00
Joost Lekkerkerker 6e4e5ba8c5 Make Matter snapshot logic a shared function (#126744) 2024-09-25 15:12:48 +02:00
epenet 10b9e3b29c Use shorthand attributes in tesla_fleet device tracker (#126736) 2024-09-25 14:21:36 +02:00
Joost Lekkerkerker a1906b434f Change trigger platform key to trigger (#124357)
* fix

* Fix

* Fix

* Update homeassistant/helpers/config_validation.py

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

* Fix

* Fix

* Fix

* Fix

* Add more tests

* Fix

* Fix tests

* Add tests

* Let's see what the CI does

* It fails on the code that tested the thing ofc

* It fails on the code that tested the thing ofc

* Revert test thingy

* Now the test works again, lovely

* Another one

* Fix websocket thingy

* Only copy when needed

* Improve comment

* Remove test

* Fix docstring

* I think this now also work since this transforms trigger to platform

* Add comment

* Update homeassistant/helpers/config_validation.py

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

* Update homeassistant/helpers/config_validation.py

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

* Update homeassistant/helpers/config_validation.py

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

* Check for mapping

* Add test

* Update homeassistant/helpers/config_validation.py

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

* Update test to also test for trigger keys

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-25 14:19:58 +02:00
Marc Mueller 9d29307532 Update lxml to 5.3.0 (#126725) 2024-09-25 13:44:05 +02:00
Erik Montnemery c638537731 Use 'select' instead of 'click' or 'press' when guiding users in flows (#126731) 2024-09-25 13:37:43 +02:00
Marc Mueller 6bf8ec2df0 Update isal to 1.7.1 (#126742) 2024-09-25 13:37:20 +02:00
Marcel van der Veldt 18766905f4 Don't crash entire Matter integration setup when one node is failing (#126491)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-25 12:45:24 +02:00
Paul Bottein a5b556b21b Use entity selector in Homekit bridge config flow (#126340)
Use entity selector in homekit bridge config flow
2024-09-25 12:11:55 +02:00
epenet 49efa4d47b Add specific EntityDescription to describe calendar entities (#126726) 2024-09-25 11:57:11 +02:00
Joost Lekkerkerker bebd1dc235 Enable Zwave notification sensors by default (#125326)
* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Enable Zwave notification sensors by default

* Fix the check to (dis)allow discovering a value multiple times

* Prevent discovery of duplicate Notification CC sensors

* alarm sensors disabled by default

* one more fix

* Update diagnostics tests

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-25 11:53:42 +02:00
Erik Montnemery 771575cfc5 Make statistics validation create issue registry issues (#122595)
* Make statistics validation create issue registry issues

* Disable creating issue about outdated MariaDB version in tests

* Use call_soon_threadsafe instead of run_callback_threadsafe

* Update tests

* Fix flapping test

* Disable creating issue about outdated SQLite version in tests

* Implement agreed changes

* Add translation strings for issue titles

* Update test
2024-09-25 11:11:11 +02:00
Allen Porter d6e34e0984 Add an entity description for Google Calendar (#125469) 2024-09-25 10:40:59 +02:00
Joost Lekkerkerker 31d722f1ef Introduce snapshot testing to matter (#126693)
* Introduce snapshot testing to matter

* Introduce snapshot testing to matter
2024-09-25 09:46:32 +02:00
epenet dff0e2cc9f Move pylint decorator plugin and add tests (#126719) 2024-09-25 09:41:23 +02:00
elmurato 65abe1c875 Add workaround to avoid blocking imports by dnspython (#121702) 2024-09-25 09:36:27 +02:00
Marc Mueller 2339211403 Fix pytest-asyncio DeprecationWarning (#126718) 2024-09-25 09:30:57 +02:00
Brett Adams eccb7bb55f Add Storm watch active to Tesla integrations (#126704) 2024-09-25 09:05:33 +02:00
J. Nick Koston a5a54ab870 Bump zeroconf to 0.135.0 (#126706) 2024-09-25 09:02:00 +02:00
dependabot[bot] c021074db4 Bump github/codeql-action from 3.26.8 to 3.26.9 (#126715)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-25 08:59:56 +02:00
Oliver 1c33561fbf Update denonavr to v1.0.0 (#126703) 2024-09-25 08:59:42 +02:00
epenet b48c439bff Remove redundant source_type property from ScannerEntities (#126716) 2024-09-25 08:58:54 +02:00
epenet a3c2a7e1e0 Remove redundant source_type property from TrackerEntities (#126717) 2024-09-25 08:56:42 +02:00
Tal Atlas 7e41b40441 Update Tuya integration with target distance (#126700)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-09-25 08:47:53 +02:00
Allen Porter e351f8ba07 Bump python-google-photos-library-api to 0.12.1 (#126709) 2024-09-25 08:45:58 +02:00
epenet 1adaaf49cc Add specific EntityDescription to describe device tracker entities (#126586)
* Add TrackerEntityDescription to describe tracker entities

* Improve

* Adjust components

* Add ScannerEntityDescription

* Simplify

* Revert

* Set TrackerEntity default source type to SourceType.GPS

* Fix rebase

* Adjust default

* Remove source_type from EntityDescription

* Fix rebase

* Docstring

* Remove BaseTrackerEntityDescription
2024-09-25 07:28:29 +02:00
Manu e10d731049 Update snapshot for Bring tests (#126699) 2024-09-24 19:27:20 -07:00
J. Nick Koston 242a3c6616 Bump google-generativeai to 0.8.2 (#126696)
changelog: https://github.com/google-gemini/generative-ai-python/compare/v0.7.2...v0.8.2
2024-09-24 15:13:12 -07:00
Joost Lekkerkerker 636ea82bf1 Add Aqara brand (#126658) 2024-09-24 23:19:06 +02:00
Joost Lekkerkerker c5d562a56f Add Spelling Bee and connections support to NYT Games (#126567) 2024-09-24 23:09:58 +02:00
epenet 2a0c779a02 Avoid raw string in device_tracker source_type (#126601) 2024-09-24 23:01:47 +02:00
Manu 3d4ac7ca63 Add diagnostics platform to Bring integration (#126695) 2024-09-24 23:00:43 +02:00
Erik Montnemery 161f37bb98 Add tests which directly test the recorder job wrappers (#125338) 2024-09-24 23:00:00 +02:00
Manu 20030ab604 Add sensor platform to Bring integration (#126642)
* Add sensor platform to Bring integration

* Add more tests

* unignore typedef check

* Update language sensor

* update snapshot

* changes

* add entities

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

* add units

* lowercase

* snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 22:55:48 +02:00
starkillerOG c66e2dc076 Remove leftover wrong icon from Reolink (#126698)
Remove wrong icon
2024-09-24 22:51:16 +02:00
Allen Porter 8d0e9eb8ac Improve Roborock error handling (#124267) 2024-09-24 22:38:40 +02:00
J. Nick Koston 2dcd5e55e2 Bump aiohttp to 3.10.6 (#126690) 2024-09-24 22:38:24 +02:00
G Johansson ab8e2d92c8 Add diagnostics to Workday (#126691) 2024-09-24 22:37:54 +02:00
Joost Lekkerkerker 03968b44bd Improve typing in Yamaha (#123982)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-09-24 22:25:54 +02:00
Joost Lekkerkerker 686d591f4f Add coordinator to Spotify (#123548) 2024-09-24 22:24:40 +02:00
civita c53a760ba3 Update strings in tailscale (#124143) 2024-09-24 22:12:24 +02:00
jvmahon 5e2955845a Add button platform to Matter integration (#123665)
* Add files via upload

* add test

* add discovery schemas for operational state commands

* tests

* add filter resets

* add filter reset buttons

* Apply suggestions from code review

* tweak test

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 22:07:29 +02:00
starkillerOG 9a4a66b33f Use insecure SSL cipher for Reolink aiohttp clientsession (#126687) 2024-09-24 21:50:45 +02:00
Doron Somech d2d3ab2d98 Add fan support for KNX climate entities (#126368)
* Add fan mode support to knx climate

* fix linting errors

* remove unneeded None protection from CONF_FAN_PERCENTAGES_MODES

* Update homeassistant/components/knx/climate.py

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/climate.py

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/climate.py

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* Update homeassistant/components/knx/schema.py

Co-authored-by: Matthias Alphart <farmio@alphart.net>

* find closest percentage when not in fan modes

* new field for fan speed mode, max steps apply to both step and percentage

* not picking FAN_OFF when the percentage is closest to zero

* add fan zero mode to support auto mode

* use StrEnum for FanZeroMode

* change default to 'percent'

* fix mypy errors

---------

Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-09-24 21:38:09 +02:00
starkillerOG 69ecdda5f5 Add SSL Cipher option to aiohttp async_get_clientsession (#126317)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-24 21:31:52 +02:00
Ludovic BOUÉ b370893e58 Add support for OperationalState Attribute from Matter OperationalState cluster (#125627) 2024-09-24 21:30:30 +02:00
Michael Hansen 86f8901c96 Fix pipeline restart in VoIP (#126668) 2024-09-24 21:24:42 +02:00
Noah Husby 739165585a Bump aiorussound to 3.1.5 (#126664) 2024-09-24 21:10:01 +02:00
David Bonnes e3e7aec73c Rename an evohome test fixture (#126680) 2024-09-24 21:07:22 +02:00
epenet 3995d001ec Set default source_type on TrackerEntity and ScannerEntity (#126648)
* Set default source_type on TrackerEntity and ScannerEntity

* Add samples

* Two more

* Adjust tests
2024-09-24 20:56:01 +02:00
Franck Nijhof 9dfabc3fb7 Adjust automation to plural triggers/conditions/actions keys (#123823)
* Adjust automation to plural triggers/conditions/actions keys

* Fix some tests

* Adjust websocket tests

* Fix search tests

* Convert blueprint and blueprint inputs to modern schema

* Pass schema when creating Blueprint object

* Update tests

* Adjust websocket api

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: Erik <erik@montnemery.com>
2024-09-24 20:03:23 +02:00
Marc Mueller 08bdf797f0 Update RestrictedPython to 7.2 (#126662) 2024-09-24 19:48:44 +02:00
Marcel van der Veldt 5e7d5c6312 Prevent KeyError when Matter device has invalid value for ModeSelect (#126672) 2024-09-24 19:36:09 +02:00
Marcel van der Veldt 354ee35ee4 Extend the lists of Matter climate devices that need special treatment (#126644) 2024-09-24 19:34:34 +02:00
epenet c099f4f50f Use vol.Coerce for SourceType in mqtt device_tracker (#126594) 2024-09-24 19:09:19 +02:00
Thomas55555 dc77b2d583 Add work area switch for Husqvarna Automower (#126376)
* Add work area switch for Husqvarna Automower

* move work area deletion test to separate file

* stale doctsrings

* don't use custom test file

* use _attr_name

* ruff

* add available property

* hassfest

* fix tests

* Apply suggestions from code review

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

* constants

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 18:57:47 +02:00
Thomas55555 c9351fdeeb Simplify cleanup in Husqvarna Automower (#126666)
Simplify cleanup in Hsuqvarna Automower
2024-09-24 18:54:06 +02:00
Joost Lekkerkerker c1781cd793 Only raise missing integration issue for config entry integrations (#126654) 2024-09-24 18:26:01 +02:00
Marcel van der Veldt ffa76dfd24 Add discovery schemas for Matter Smoke and CO Alarm Cluster (#126622)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-24 18:23:45 +02:00
Marc Mueller c8964a1c80 Update numpy to 1.26.4 (#126660) 2024-09-24 18:23:20 +02:00
Manu 60807e5d4d Bump bring-api to 0.9.0 (#126650) 2024-09-24 18:23:08 +02:00
Indrajit Raychaudhuri 0bf90d18ef Ensure that HomeKit names start and end with alphanumeric character (#126413) 2024-09-24 18:18:17 +02:00
Thomas55555 d81e836b37 Bump aioautomower to 2024.9.2 (#126659) 2024-09-24 18:18:02 +02:00
Bouwe Westerdijk 962b9915f0 Plugwise test maintenance (#126421) 2024-09-24 18:11:17 +02:00
Ludovic BOUÉ 31a1ad8409 Add Pressure and Altitude discovery schemas for Matter Eve Weather device (#125690)
* Update number.py to add EveWeatherAltitude attribute

* Update sensor.py to add EveCluster Pressure Attribute

* Update strings.json

* Create eve-weather-sensor.json

* Update test_sensor.py

* Update eve-weather-sensor.json

* Update test_sensor.py

Pressure
AttributeId: 319422484 (0x00130a0014) - Value type: float32

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update manifest.json

Bump to python-matter-server==6.5.0

* Update requirements_all.txt

Bump requirements to python-matter-server 6.5.0

* Update requirements_test_all.txt

Bump requirements to python-matter-server 6.5.0

* Update test_sensor.py

* Update test_sensor.py

* Update sensor.py

* Update sensor.py

* Update test_sensor.py

* Update sensor.py

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.py

* fix test fixture

* Update requirements_all.txt

* Update requirements_test_all.txt

* Update manifest.json

* fix tests

* Update test_sensor.py

* add device class

---------

Co-authored-by: Marcel van der Veldt <m.vanderveldt@outlook.com>
2024-09-24 17:59:58 +02:00
Marc Mueller a66e287903 Update pyoverkiz to 1.14.1 (#126657) 2024-09-24 17:50:10 +02:00
Erik Montnemery 2ee93d974d Reinitialize ssdp discovery flow on unignore (#126557) 2024-09-24 10:38:33 -05:00
epenet 4e465a2066 Remove unused string in dlna_dmr (#126652) 2024-09-24 17:27:39 +02:00
Allen Porter 412489c102 Require Google Photos uploads to target an album (#126651)
* Require uploads to target an album

* Remove edge case where albums are not loaded on startup which no longer happens

* Update homeassistant/components/google_photos/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 17:26:33 +02:00
Allen Porter 437bbe5c6e Limit Google Photos media source to Home Assistant created albums (#126653) 2024-09-24 17:22:24 +02:00
Erik Montnemery 264927926e Remove unignore flow from homekit controller (#126637) 2024-09-24 16:43:12 +02:00
Erik Montnemery 2ded9d551a Remove unignore flow from dlna_dmr (#126647) 2024-09-24 16:42:01 +02:00
Marc Mueller fc37218311 Update httpx to 0.27.2 (#126630) 2024-09-24 16:41:35 +02:00
Allen Porter 27bed0cdcb Update Google Photos to have a DataUpdateCoordinator for loading albums (#126443)
* Update Google Photos to have a data update coordiantor for loading albums

* Remove album from services

* Remove action string changes

* Revert services.yaml change

* Simplify integration by blocking startup on album loading

* Update homeassistant/components/google_photos/coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 07:34:40 -07:00
Ludovic BOUÉ 741b025751 Add EveCluster ValvePosition Attribute (#125809) 2024-09-24 16:33:19 +02:00
Marc Mueller d661eee93d Update types packages (#126632) 2024-09-24 16:04:11 +02:00
G Johansson 03bba6d0c3 Climate check target min lower than target high (#124488)
* Guard target high_temp higher than low_temp in ClimateEntity

* Fixes

* Update string

* Forgot to fix tests
2024-09-24 15:56:30 +02:00
Mike Degatano 7517948900 Replace more addon management with aiohasupervisor (#126236)
* Replace start_addon with library call

* restart_addon to library and error issues in tests

* stop_addon to library

* uninstall_addon to library

* Add output typing

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-24 15:47:29 +02:00
Joost Lekkerkerker 2fa7113787 Raise issue if SSL is set but no external URL configured (#121768)
* Raise issue if SSL is set but no external URL configured

* Add cloud

* Add cloud

* Fix strings

* Attempt

* Fix

* Fix

* Move strings

* Fixes

* fix

* Fix

* Fix

* Fix

* Break tests

* Fix tests
2024-09-24 15:35:10 +02:00
Marcel van der Veldt c289248ac5 Bump Python Matter Server to 6.5.2 (#126636) 2024-09-24 15:33:08 +02:00
Joost Lekkerkerker adcdb7a900 Map unknown air quality to None in Matter (#126639)
Map unknown to None in Matter
2024-09-24 15:30:01 +02:00
epenet 9dc84bfdca Add shorthand attributes to device_tracker entities (#126599)
* Add shorthand attributes to device_tracker entities

* Simplify

* Update config_entry.py

* Update config_entry.py

* Update device_tracker.py

* Update device_tracker.py
2024-09-24 15:21:33 +02:00
Joost Lekkerkerker 622f4975ef Use icon translations in Matter (#126634) 2024-09-24 15:12:04 +02:00
Lenn ade4ee810b Fix motionblinds_ble sensor tests (#126635) 2024-09-24 15:05:00 +02:00
Marc Mueller 81d5c22800 Update bcrypt to 4.2.0 (#126629) 2024-09-24 15:00:06 +02:00
Marc Mueller f699a69e83 Update cryptography to 43.0.1 (#126628) 2024-09-24 14:59:41 +02:00
Marc Mueller 9daf1b062f Update uv to 0.4.15 (#126627)
* Update uv to 0.4.15

* Fix
2024-09-24 14:59:11 +02:00
Marc Mueller f78b4a0feb Update pip-licenses to 5.0.0 (#126620) 2024-09-24 14:58:45 +02:00
Marc Mueller 03d43cf50d Update tqdm to 4.66.5 (#126626) 2024-09-24 14:58:25 +02:00
G Johansson d06d0a8f83 Fix tesla_fleet climate temp high/low test (#126631) 2024-09-24 14:56:46 +02:00
Joost Lekkerkerker e15be0433e Remove unnecessary lambda in Matter (#126633) 2024-09-24 14:54:52 +02:00
Erik Montnemery 972dc89c0f Reinitialize dhcp discovery flow on config entry removal (#126556)
* Reinitialize dhcp discovery flow on unignore

* Tweak

* Rediscover on any removed config entry

* Adjust log message
2024-09-24 14:43:05 +02:00
Erik Montnemery b6fe3a3022 Reinitialize bluetooth discovery flow on config entry removal (#126555)
* Reinitialize bluetooth discovery flow on unignore

* Update homeassistant/components/bluetooth/manager.py

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

* Update tests

* Rediscover on any removed config entry

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-24 14:42:46 +02:00
Marc Mueller b9c28bed19 Update pylint to 3.3.1 (#126614)
* Update astroid to 3.3.4

* Update pylint to 3.3.1
2024-09-24 14:26:52 +02:00
Marc Mueller 09ae0946b7 Update syrupy to 4.7.1 (#126625) 2024-09-24 14:10:43 +02:00
Marc Mueller e3c438ff47 Update pytest to 8.3.3 (#126623) 2024-09-24 14:10:09 +02:00
Marc Mueller ca0f1ef8da Update pytest-asyncio to 0.24.0 (#126621) 2024-09-24 14:07:52 +02:00
Marc Mueller b856f54333 Update pipdeptree to 2.23.4 (#126619)
* Update pipdeptree to 2.23.4

* Update Dockerfile
2024-09-24 14:07:25 +02:00
Erik Montnemery ba5f1ac2a9 Bump version of recorder context ID data migrators (#125293) 2024-09-24 13:45:37 +02:00
Joost Lekkerkerker d3889cab9e Make Matter select entity values translatable (#126608)
* Make Matter select entity values lowercase

* Make Matter select entity values lowercase
2024-09-24 13:40:38 +02:00
Marc Mueller 9e703b8224 Update coverage to 7.6.1 (#126615) 2024-09-24 13:40:01 +02:00
Marc Mueller c9d3c3d369 Update pre-commit to 3.8.0 (#126617) 2024-09-24 13:39:09 +02:00
Joost Lekkerkerker 77029b0197 Make NYT Games a service (#126613) 2024-09-24 13:38:07 +02:00
Erik Montnemery 589910b49b Reinitialize zeroconf discovery flow on config entry removal (#126595) 2024-09-24 13:37:28 +02:00
Marc Mueller 004941cc57 Fix lamarzocco ParamSpec typing (#126616) 2024-09-24 13:13:04 +02:00
G Johansson ef88425d25 Start deprecation vacuum constants for feature flags (#126354) 2024-09-24 12:53:42 +02:00
G Johansson 283033f902 Start deprecation for media_player constants (#126351)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-24 12:33:55 +02:00
G Johansson 93aade6e8e Change lock state to an enum (#126379)
* Add new LockState enum for lock states

* Add rest

* Fix insteon tests

* Fix mqtt tests

* Fix tesla_fleet

* Revert back ST_STATE_LOCKED

* Add back constant
2024-09-24 12:30:50 +02:00
Franck Nijhof 9297011731 Merge branch 'master' into dev 2024-09-24 12:24:54 +02:00
epenet acebf1fb48 Adjust _ENTITY_COMPONENTS in hass-enforce-class-module (#126603) 2024-09-24 12:19:39 +02:00
G Johansson 711e0ee503 Change camera state to an enum (#126558)
* Change camera state to an enum

* copy/paste mistake

* Add test deprecated constants
2024-09-24 12:12:01 +02:00
Lektri.co 4ac9b339a1 Add select platform to the Lektrico integration (#126490)
* Add select for Lektrico integration.

* Rename lb_mode to load_balancing_mode.

* Update homeassistant/components/lektrico/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 12:08:28 +02:00
Marcel van der Veldt f2092ef083 Prevent KeyError in Matter select entity (#126605) 2024-09-24 12:02:01 +02:00
Erik Montnemery c96d4991b9 Add issue asking users to disable VoIP call_in_progress binary sensor (#126504)
* Add issue asking users to disable VoIP call_in_progress binary sensor

* Add tests

* Add files

* Update homeassistant/components/voip/binary_sensor.py

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

* Fix test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 11:46:43 +02:00
Erik Montnemery 58eccc1ed6 Bump deprecation of ESPHome assist in progress binary sensor (#126604) 2024-09-24 11:29:19 +02:00
Steven B. 010a5d2829 Add snapshots to all ring platform tests (#126560)
Add test snapshots to all ring platform tests
2024-09-24 10:53:19 +02:00
Brett Adams 5186605cec Add energy history coordinator and sensors to Teslemetry (#126166)
* start

* More

* fix init

* Update requirements_all.txt

* Update requirements_test_all.txt

* Add Tests

* Add missing fixture

* first refresh history

* Fix mock_energy_history

* Remove failures prop

* Update test_init.py

* Actually add the sensors

* Add more icons

* suggested_display_precision

* Fix updated_once

* Fix fixture

* Review changes

* Apply suggestions from code review

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

* Remove init data

* Update homeassistant/components/teslemetry/coordinator.py

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-24 10:32:38 +02:00
tronikos 4c0fb04f61 Make tts options of type list (such as profiles in google_cloud) work (#121582)
* Allow tts options of type list such as profiles in google_cloud

* Update tests/components/tts/test_media_source.py

* Don't mix engine specific options with other options

* Fix test

* Update assist_pipeline snapshots

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-24 00:07:12 -07:00
J. Nick Koston 615ec548db Change dhcp internal index to use mac address (#126573) 2024-09-24 08:58:32 +02:00
epenet 2df6824856 Cleanup source_type type hints in device tracker components (#126592) 2024-09-24 08:54:55 +02:00
epenet 61ff40c299 Add base Entity classes to enforce-class-module pylint plugin (#126473) 2024-09-24 08:52:07 +02:00
J. Nick Koston 31200040da Bump aiohttp to 3.10.6rc2 (#126468) 2024-09-24 08:51:08 +02:00
Matthias Alphart 450b682c5c Update xknx to 3.2.0 (#126569) 2024-09-24 08:45:19 +02:00
Erik Montnemery 4a66395d51 Simplify signal_discovered_config_entry_removed job (#126591) 2024-09-24 08:44:11 +02:00
Erik Montnemery f1e8675756 Set autouse flag on session scope bluetooth fixture (#126589) 2024-09-24 08:43:32 +02:00
Erik Montnemery 1fdb34b1e1 Fix zeroconf rediscovery test (#126593) 2024-09-24 08:43:18 +02:00
Steve Easley 2db927b7f7 Fix truncating password issue (#126581) 2024-09-24 08:42:59 +02:00
tronikos 99dbc99b6c Remove unnecessary unique_id suffix from Google Cloud entities (#126585)
Remove uncessary unique_id suffix
2024-09-24 08:35:04 +02:00
Erik Montnemery ce70f4ebac Fix ecobee test helper (#126587) 2024-09-24 08:30:01 +02:00
Erik Montnemery 3c9f51fbbd Reduce scope of JSON/XML test fixtures (#126590) 2024-09-24 08:29:35 +02:00
Michael Hansen 4869309997 Get updated Assist satellite config after setting it in ESPHome (#126552)
Get updated config after setting it
2024-09-23 20:36:53 -04:00
J. Nick Koston fb45f4fcea Bump yarl to 1.12.1 (#126580) 2024-09-23 19:19:41 -05:00
J. Nick Koston d26c449d87 Bump yarl to 1.12.0 (#126576)
This is a prereq for aiohttp 3.10.6 which has some
fixes that need yarl 1.12.0+
2024-09-23 18:28:32 -04:00
J. Nick Koston dbf080194b Bump cached-ipaddress to 0.6.0 (#126571) 2024-09-23 15:43:33 -05:00
Erik Montnemery d82bff1bc2 Index config entry discovery_keys by discovery domain (#126563)
* Index config entry discovery_keys by discovery domain

* Add new signal

* Update tests

* Update homeassistant/config_entries.py

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

* Fix imports

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 21:48:11 +02:00
epenet 9b96bc32eb Add derived Entity classes in hass-enforce-class-module pylint plugin (#126494) 2024-09-23 21:03:29 +02:00
Fredrik Erlandsson 88c751df7a Fix point calls config entry to a platform multiple times (#126535)
* fix multiple async_forward_entry_setups calls

* ensure entity is at the right place
2024-09-23 20:09:07 +02:00
epenet 788d9571b5 Add entity components to hass-enforce-class-module pylint plugin (#126545) 2024-09-23 19:35:48 +02:00
Joost Lekkerkerker 714a1cc311 Bump nyt_games to 0.4.0 (#126564) 2024-09-23 19:28:30 +02:00
Jan-Philipp Benecke 28c2df37ed Remove deprecated YAML import from traccar (#125763) 2024-09-23 19:14:55 +02:00
Maciej Bieniek 4a424a6603 Use Xiaomi Aqara gateway MAC address in DeviceInfo.connections (#126562) 2024-09-23 19:10:30 +02:00
G Johansson 86d8ddd289 Remove deprecated forecast key from template weather (#126132)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-23 18:57:32 +02:00
Trekky12 d0ed94ee8d Remove trekky12 from pilight codeowners (#126559)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-23 18:55:41 +02:00
Joost Lekkerkerker eaa25a33d7 Add more Wordle sensors (#126561)
* Add more Wordle sensors

* Add more Wordle sensors
2024-09-23 18:09:53 +02:00
Joost Lekkerkerker 1d94e66b9c Add NYT Games integration (#126449)
* Add NYT Games integration

* Add NYT Games integration

* Add NYT Games integration

* Add NYT Games integration

* Add test
2024-09-23 17:40:19 +02:00
G Johansson 8eb76ea68d Change lawn_mower state to an enum (#126458)
* Change lawn_mower state to an enum

* annotate as string
2024-09-23 17:39:53 +02:00
peteS-UK 8a2dccddc5 Add Model and Manufacturer details for Squeezebox devices (#126435)
* Add models and manufacturer

* Updates re: comments

* Updates for test

* Dedupe model

* Update homeassistant/components/squeezebox/media_player.py

* Change Squeezelite to SqueezeLite

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-23 16:59:22 +02:00
Michael Hansen 84f19f7216 Bump intents to 2024.9.23 (#126553) 2024-09-23 16:50:15 +02:00
Erik Montnemery b2982c18bb Reinitialize zeroconf discovery flow on unignore (#125753)
* Reinitialize zeroconf discovery flow on unignore

* Adjust tests

* Improve comments

* Fix logic for updating discovery keys

* Add tests

* Use mock_config_flow helper in new config_entries test

* Add discovery_keys attribute to ConfigEntry

* Update zeroconf rediscovery

* Change type of ConfigEntry.discovery_keys

* Update tests

* Fix DiscoveryKey.from_json_dict and add tests

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-23 16:49:21 +02:00
epenet f5852b4678 Move point base entity to separate module (#126551) 2024-09-23 15:58:20 +02:00
epenet 02ab2c1433 Move ukraine_alarm coordinator to separate module (#126549) 2024-09-23 15:58:02 +02:00
epenet 380019dd56 Move volvooncall coordinator to separate module (#126548) 2024-09-23 15:57:47 +02:00
epenet d2ab7dd9fb Move yamaha_musiccast coordinator to separate module (#126546) 2024-09-23 15:57:31 +02:00
epenet d101fb33b3 Move tolo coordinator to separate module (#126550)
* Move tolo coordinator to separate module

* Adjust tests
2024-09-23 15:56:59 +02:00
epenet 6d83a15ad5 Move yamaha_musiccast base entity to separate module (#126544) 2024-09-23 15:15:04 +02:00
epenet 95948e4eb7 Move volvooncall base entity to separate module (#126543) 2024-09-23 15:14:48 +02:00
epenet 8c4ea323ba Move venstar base entity to separate module (#126542) 2024-09-23 15:12:55 +02:00
epenet f5697ad5d2 Move vallox base entity to separate module (#126541) 2024-09-23 15:11:58 +02:00
epenet 58770e5c79 Rename xbox base entity module (#126540) 2024-09-23 15:11:04 +02:00
epenet 77b2895b0e Rename pilight base entity module (#126538) 2024-09-23 15:09:22 +02:00
epenet 225266b687 Move upcloud base entity to separate module (#126533) 2024-09-23 15:01:59 +02:00
epenet 9fafbbff81 Rename dynalite base entity module (#126536) 2024-09-23 14:56:14 +02:00
David F. Mulcahey e81a1f7acf Add config to ZHA to allow disabling polling of mains powered devices when the network is started (#125473) 2024-09-23 14:34:24 +02:00
Nicholas Pike 691b2879bd Fix image content-type validation case sensitivity (#125236) 2024-09-23 14:33:29 +02:00
Numa Perez 8410c142ab Fix Auto mode for TCC devices like the Lyric Round (#126091) 2024-09-23 14:31:55 +02:00
epenet de88068c66 Merge unifiprotect entity and models modules (#126532) 2024-09-23 14:30:26 +02:00
J. Nick Koston 0e0ac3efe5 Remove uneeded isoformat calls in registry as_storage_fragment properties (#126440) 2024-09-23 14:23:43 +02:00
epenet 2859c9fe19 Move simplisafe base entity to separate module (#126523) 2024-09-23 14:23:01 +02:00
G Johansson 939f2e41e9 Change valve state to an enum (#126428) 2024-09-23 14:20:18 +02:00
epenet 9c6f903178 Move tomorrowio base entity to separate module (#126531) 2024-09-23 14:20:16 +02:00
Erik Montnemery 0fc7bc2762 Fix a couple of stale ESPHome docstrings (#126508) 2024-09-23 14:19:17 +02:00
Maciej Bieniek efc1ff6eff Fix Shelly update entity names (#126512) 2024-09-23 14:18:24 +02:00
Maciej Bieniek 11bb8e402e Use Bravia TV MAC address in DeviceInfo.connections (#126519) 2024-09-23 14:18:09 +02:00
epenet ef39ee1d5d Move tautulli base entity to separate module (#126528) 2024-09-23 14:17:54 +02:00
Robert Resch 52de26e67b Remove unused i386 code in Dockerfile (#126520) 2024-09-23 14:17:37 +02:00
epenet df0c8064b2 Move tolo base entity to separate module (#126530) 2024-09-23 14:17:28 +02:00
epenet 9fcefca0f5 Rename tradfri base entity module (#126526)
* Rename tradfri base entity module

* Missed a file
2024-09-23 14:16:24 +02:00
epenet a579eef66c Move tesla_wall_connector base entity to separate module (#126529) 2024-09-23 14:16:13 +02:00
epenet 46f9e86f6a Move tailscale base entity to separate module (#126527) 2024-09-23 14:14:22 +02:00
epenet 60eba6d783 Rename toon base entity module (#126525) 2024-09-23 14:02:03 +02:00
epenet 4cb162a068 Move sia base entity to separate module (#126524) 2024-09-23 13:58:16 +02:00
Iskra kranj 0bcaa73427 Bump pyiskra to 0.1.14 (#126518) 2024-09-23 13:57:02 +02:00
Brett Adams a1abea4e0f Add button platform to Tesla Fleet (#126410)
* Add button platform

* Fix tests

* Fix button setup

* Make func required

* do_nothing
2024-09-23 13:48:00 +02:00
epenet f11cdb4ab4 Move rfxtrx base entity to separate module (#126521) 2024-09-23 13:37:52 +02:00
J. Diego Rodríguez Royo b7ba789370 Code quality improvements at Home Connect (#126323)
Added types to all arguments and return values to all functions

Defined class members and its types outside the constructor

Improved logic at binary sensor
2024-09-23 13:33:19 +02:00
epenet ec311ecd2b Move prusalink base entity to separate module (#126510)
* Move prusalink base entity to separate module

* Fix tests
2024-09-23 13:09:38 +02:00
epenet 14bc65e8e7 Move gardena_bluetooth base entity to separate module (#126484) 2024-09-23 13:06:10 +02:00
epenet fb400af7d2 Prevent trailing line feeds in translation values (#126446)
* Prevent trailing line feeds in translation values

* Fixup strings
2024-09-23 13:02:39 +02:00
Brett Adams e3351db3d8 Add lock platform to Tesla Fleet (#126412)
* Add lock platform

* Add lock platform tests

* Fix json
2024-09-23 12:52:13 +02:00
Adam Goode 71f6537846 Add additional test cases to Threshold (#126469)
There are still some bugs to be fixed, but for now this adds some
additional test cases for things that are already correct.
2024-09-23 12:51:29 +02:00
epenet c8d20a8c23 Move fritzbox base entity to separate module (#126482) 2024-09-23 12:50:51 +02:00
starkillerOG 8ef7cae36d Speedup Reolink tests by using scope="module" (#125215)
* use scope="module"

* Instead of side_effect = None, use reset_mock(side_efffect=True)

* fix tests
2024-09-23 12:50:40 +02:00
epenet a9d12608bd Move guardian base entity to separate module (#126486) 2024-09-23 12:49:24 +02:00
epenet ef8b6e2805 Rename melnor base entity module (#126496) 2024-09-23 12:48:23 +02:00
epenet 1858c64e5f Move motioneye base entity to separate module (#126495) 2024-09-23 12:48:07 +02:00
epenet da3f18839a Move lidarr base entity to separate module (#126492) 2024-09-23 12:47:53 +02:00
epenet acd3b2d732 Move lyric base entity to separate module (#126493) 2024-09-23 12:47:39 +02:00
epenet 26651c18a6 Move modern_forms base entity to separate module (#126497) 2024-09-23 12:47:17 +02:00
Maciej Bieniek d4efdcb78c Bump pysnmp and brother (#126488)
* Bump pysnmp

* Bump brother

* Unpin pyasn1
2024-09-23 12:46:46 +02:00
epenet 43322bc3d9 Move notion base entity to separate module (#126499) 2024-09-23 12:45:30 +02:00
epenet 438cbc99b1 Move nzbget base entity to separate module (#126502) 2024-09-23 12:45:13 +02:00
epenet 0163f3d57e Move omnilogic base entity to separate module (#126505) 2024-09-23 12:45:00 +02:00
epenet 61de70c1df Move openuv base entity to separate module (#126506) 2024-09-23 12:44:42 +02:00
epenet d67a1993d0 Move ovo_energy base entity to separate module (#126507) 2024-09-23 12:44:24 +02:00
epenet f7543cd0ba Move pi_hole base entity to separate module (#126509) 2024-09-23 12:43:48 +02:00
epenet 78d80fefc5 Move purpleair base entity to separate module (#126511) 2024-09-23 12:43:00 +02:00
epenet c8e3e2ce1b Move rainmachine base entity to separate module (#126513) 2024-09-23 12:42:22 +02:00
epenet a75a513531 Move radarr base entity to separate module (#126514) 2024-09-23 12:42:00 +02:00
epenet 52aec885ea Move nibe_heatpump base entity to separate module (#126498) 2024-09-23 12:32:18 +02:00
epenet 9b9edecaac Move nuki base entity to separate module (#126500) 2024-09-23 11:55:03 +02:00
Marcel van der Veldt 5b1e4e0691 Fix Matter Model ID for bridged devices (#126059)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-23 10:15:07 +02:00
Steve Easley d12367a680 Add support for new JVC Projector auth method (#126453) 2024-09-23 10:14:01 +02:00
Michael 683a5b7120 Fix next change (scheduler) sensors in AVM FRITZ!SmartHome (#126363) 2024-09-23 10:11:27 +02:00
Manuel Frei 5ad426d62e Fix surepetcare token update (#126385)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-23 10:09:58 +02:00
epenet 6d069bec19 Move iqvia base entity to separate module (#126489) 2024-09-23 09:57:54 +02:00
TimL 3f4f2f4e2b Add router reconnect button for Smlight integration (#126408)
* Add button for router reconnect

* strings for router reconnect

* remove stale router reconnect if zigbee is not running router firmware

* Add tests for router reconnect button

* Update homeassistant/components/smlight/strings.json

And fix associated tests

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

* Make router button entity dynamic

* adjust test for dynamic runtime removal

* drop if statements from tests

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-23 09:36:56 +02:00
epenet ffa7e5a504 Move gogogate2 base entity to separate module (#126485) 2024-09-23 09:28:32 +02:00
Marcel van der Veldt 16221cfbbd Fix Matter climate platform attributes when dedicated OnOff attribute is off (#126286) 2024-09-23 09:27:11 +02:00
epenet a9b215357f Move elmax base entity to separate module (#126481) 2024-09-23 08:59:38 +02:00
epenet 5a52e4c71d Move evil_genius_labs base entity to separate module (#126480) 2024-09-23 08:59:23 +02:00
epenet 432d44c20d Move deluge base entity to separate module (#126479) 2024-09-23 08:54:28 +02:00
epenet 7b9f295071 Move control4 base entity to separate module (#126477)
* Move control4 base entity to separate module

* Adjust
2024-09-23 08:47:43 +02:00
epenet bed3fcfd43 Move cert_expiry base entity to separate module (#126478) 2024-09-23 08:47:23 +02:00
jesperraemaekers 49c9f843f8 Bump Weheat to 2024.09.23 (#126471)
Weheat version bump for support new model
2024-09-23 08:39:40 +02:00
epenet 52ef358e1c Move airvisual base entity to separate module (#126474) 2024-09-23 08:38:24 +02:00
epenet 04e232096f Move atag base entity to separate module (#126475) 2024-09-23 08:37:35 +02:00
J. Nick Koston abceed8112 Use identity check for zeroconf enum compare (#126444) 2024-09-22 21:41:10 -05:00
Paulus Schoutsen ba48a86156 OpenAI to not speak out whole errors (#126409)
* OpenAI to not speak out whole errors

* Update snapshot
2024-09-22 21:26:33 -04:00
epenet c759512c70 Prevent callback decorator on coroutine functions (#126429)
* Prevent callback decorator on async functions

* Adjust

* Adjust

* Adjust components

* Adjust tests

* Rename

* One more

* Adjust

* Adjust again

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-23 02:55:55 +02:00
Markus Jacobsen 113a792734 Fix blocking call in Bang & Olufsen API client initialization (#126456)
* Update API

* Add fix for blocking call to load_default_certs
2024-09-22 23:08:27 +02:00
Allen Porter b107b2c7bf Enforce a Google Photos upload action file size limit (#126437)
* Set a Google Photos upload file size limit

* Update homeassistant/components/google_photos/services.py

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

* Replace strings with constants

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-22 09:30:37 -07:00
David Knowles 9e37c14179 Bump pydrawise to 2024.9.0 (#126431) 2024-09-22 18:04:19 +02:00
Allen Porter 5f74dbcfc2 Bump google-photos-library-api to 0.12.0 (#126433)
Bump google-photos-library-api==0.12.0
2024-09-22 09:03:21 -07:00
epenet f8a53aea09 Use HassKey in conversation (#126332)
* Use HassKey in conversation

* Adjust tests
2024-09-22 17:54:14 +02:00
IceBotYT f9e7721653 Fix error if light status is missing in Nice G.O. (#126432) 2024-09-22 17:30:59 +02:00
MarkGodwin 2a36ec3e21 Automatically remove unregistered TP-Link Omada devices at start up (#124153)
* Adding coordinator for omada device list

* Remove dead omada devices at startup

* Tidy up tests

* Address PR feedback

* Returned to use of read-only properties for coordinators. Tidied up parameters some more

* Update homeassistant/components/tplink_omada/controller.py

* Update homeassistant/components/tplink_omada/controller.py

* Update homeassistant/components/tplink_omada/controller.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-22 17:05:29 +02:00
Erik Montnemery 8158ca7c69 Add connection test feature to assist_satellite (#126256)
* Add connection test feature to assist_satellite

* Add http to assist_satellite dependencies

* Remove extra logging

* Incorporate feedback

* Fix tests

* ruff

* Apply suggestions from code review

Co-authored-by: Bram Kragten <mail@bramkragten.nl>

* Use asyncio.Event instead of dispatcher

* Respond asap

* Update homeassistant/components/assist_satellite/websocket_api.py

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

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Bram Kragten <mail@bramkragten.nl>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-22 16:55:31 +02:00
David Bonnes bb2c2d161a Rename an evohome test fixture (#126425)
rename a fixture
2024-09-22 16:50:08 +02:00
Allen Porter bd4bbb30ec Bump google-photos-library-api to 0.11.1 (#126430) 2024-09-22 16:42:50 +02:00
Markus Jacobsen ba3ba7b890 Bump mozart_api to 3.4.1.8.8 (#126334)
Update API
2024-09-22 16:36:36 +02:00
Lektri.co f4b324bbad Add new values for sensor for Lektrico integration (#126210)
* Add new values for sensor limit_reason.

* Remove unknown from limit reason sensor.
2024-09-22 16:36:22 +02:00
Raj Laud 3f13f6ed12 Fix error in squeezebox media browser album art (#126346)
Fix error in squeezebox media browser album art part 2
2024-09-22 16:31:37 +02:00
AlexDev_ 78459991bf Bump wolf-comm to 0.0.10 (#126342)
* Updated wolf-comm lib to 0.0.10

* run command to update requirements_all.txt and requirements_test_all.txt
2024-09-22 16:17:36 +02:00
G Johansson 3137f75221 Add switch to Yale Smart Living (#126366) 2024-09-22 16:15:24 +02:00
Raj Laud d66c28dd6a Bump pysqueezebox version to 0.9.2 (#126347)
* Bump pysqueezebox version to 0.9.1

* Bump pysqueezebox version to 0.9.2
2024-09-22 16:14:08 +02:00
Thomas55555 02b3da8f80 Automatic device cleanup for Husqvarna Automower (#126384)
* Automatic device cleanup for Husqvarna Automower

* fix copy&paste mistake

* typing

* overwrite type in coordinator
2024-09-22 16:06:01 +02:00
TimL f98b1d248a Add diagnostics platform to Smlight (#126423)
* Add diagnostics for Smlight

* test diagnostics

* Add log fixture and snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-22 16:04:36 +02:00
Bouwe Westerdijk 90aa9aa98f Improve plugwise device cleanup (#126419)
* Improve code

* Ruff-suggestion

* Change as suggested
2024-09-22 16:02:30 +02:00
Trevor Schirmer 96b7fc9a75 Add mm/s and in/s As Unit Of Speed (#125044)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-22 09:01:46 -05:00
epenet 7c5dc29981 Prevent leading and trailing spaces in translation values (#126427)
* Prevent leading and trailing spaces in translation values

* Adjust components

* Tests
2024-09-22 16:01:08 +02:00
starkillerOG 90957dfedb Add Reolink hub volume number entities (#126389)
* Add Home Hub alarm and message volume

* fix styling

* Add tests

* Update homeassistant/components/reolink/number.py

* Update test_diagnostics.ambr

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-22 15:59:23 +02:00
starkillerOG 286c22c0ed Add Reolink CPU usage sensor (#126386) 2024-09-22 15:58:11 +02:00
David Bonnes 53d76355ec Correct a docstring typo for evohome (#126426)
initial commit
2024-09-22 15:37:01 +02:00
IceBotYT 46c26e7942 Bump nice-go to 0.3.9 (#126399) 2024-09-22 15:05:50 +02:00
Sean Chen 705af35dd6 Parse AirNow observation timezone correctly (#122006)
Parse observation timezone correctly

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-22 14:44:53 +02:00
starkillerOG bd3efe57f7 Add Reolink hub status light (#126388)
* Add Home Hub status led

* fix styling

* Add tests
2024-09-22 14:44:26 +02:00
starkillerOG 118ceedda1 Add Reolink Home Hub ringtone control (#126390)
* Add Hub alarm/visitor ringtones

* fix styling

* fix translations

* fix tests

* Rename buzzer to hub ringtone
2024-09-22 14:41:47 +02:00
Brett Adams 66d310977d Add cover platform to Tesla Fleet (#126411)
Add cover platform
2024-09-22 14:27:09 +02:00
Markus Jacobsen 20f7490fd9 Remove invalid callback decorator from Bang & Olfusen coroutine functions (#126420)
Remove callback decorator form coroutine functions
2024-09-22 14:19:14 +02:00
epenet 0abde86cf9 Use HassKey in light (#126333) 2024-09-22 14:18:57 +02:00
Brett Adams f073e45575 Add media player to Tesla Fleet (#126416)
* Add media player platform

* Use MediaPlayerState

* Revert change
2024-09-22 14:17:07 +02:00
Mr. Bubbles 79872b3e1d Fix due date calculation for future dailies in Habitica integration (#126403)
Calculate next due date for dailies with startdate in the future
2024-09-22 12:08:50 +02:00
G Johansson 06cd86419f Bump python-holidays to 0.57 (#126367) 2024-09-21 21:05:52 -04:00
David Bonnes 1164326d10 Remove superfluous type hints from evohome (#126383)
inital commit
2024-09-21 21:05:10 -04:00
starkillerOG cf8955c71a Bump reolink-aio to 0.9.10 (#126387) 2024-09-21 21:04:43 -04:00
G Johansson f102d99004 Fix insteon test (#126404)
* Fix insteon test

* Increase time

* More sleep
2024-09-21 21:04:29 -04:00
Oliver 5db3c6e47b Disconnect telnet when denonavr media player entity is unloaded (#126406)
Disconnect telnet when unloading `denonavr` media player entity
2024-09-21 21:00:35 -04:00
J. Nick Koston af2798f063 Switch genexp to listcomp in async_progress_by_init_data_type (#126405)
Since listcomps are inlined in python 3.12+, the listcomp
will be a bit faster. Additionally we always iterate everything
here so there is no reason to use a genexpr
2024-09-21 19:18:53 -05:00
J. Nick Koston d8e9d1c16e Bump uiprotect to 6.1.0 (#126345) 2024-09-21 19:40:16 -04:00
David Bonnes a923f15d17 Rename some evohome constants for clarity / readability (#126394)
initial commit
2024-09-21 23:29:41 +01:00
Erik Montnemery 6cd99e4ed4 Add issue asking users to disable ESPHome assist_in_progress sensor (#125805)
* Add issue asking users to disable ESPHome assist_in_progress binary sensor

* Include integration name in title and description

* Add repair flow

* Improve test coverage
2024-09-21 17:14:12 -04:00
Michael 9bfc2eaeb9 Set connection and command timeout in VLC Telnet (#126401)
use 1s lower than scan interval
2024-09-21 21:11:17 +02:00
Allen Porter 505fb3738f Update the Google Photos integration to limit scope to Home Assistant created content (#126398) 2024-09-21 10:56:13 -07:00
Steven B. 556deb4f77 Fix tplink number platform to use intended BOX mode (#126397)
The NumberMode should be BOX as per the entity description but due to the missing dataclass decorator was resolving to NumberMode.AUTO.
2024-09-21 19:03:51 +02:00
David Bonnes 24106114b4 Correct / tidy up entity doc strings for evohome (#126380)
* correct / tidy up entity doc strings

* tweak
2024-09-21 15:44:35 +01:00
epenet 5b22cfa9b3 Use HassKey in todo (#126325)
* Use HassKey in todo

* One more
2024-09-21 16:30:40 +02:00
epenet aa736b2de6 Use HassKey in notify (#126338) 2024-09-21 13:17:01 +02:00
epenet 37d527bd08 Use HassKey in camera (#126331) 2024-09-21 13:16:22 +02:00
epenet 1b4ba68e18 Use HassKey in weather (#126329) 2024-09-21 13:15:42 +02:00
epenet d40464e5d3 Use HassKey in tts (#126327)
* Use HassKey in tts

* Also migrate DATA_TTS_MANAGER
2024-09-21 13:14:27 +02:00
epenet 32f02aa3c6 Use HassKey in image (#126322) 2024-09-21 13:13:41 +02:00
epenet f7004188d2 Use HassKey in group (#126321)
* Use HassKey in group

* Adjust

* Improve
2024-09-21 13:11:57 +02:00
Joost Lekkerkerker 9422cde275 Bump airgradient to 0.9.0 (#126319)
* Bump airgradient to 0.9.0

* Bump airgradient to 0.9.0
2024-09-21 13:11:27 +02:00
epenet 94df0bd5ab Use HassKey in core components (d-z) (#126324)
* Use HassKey in core components (d-s)

* Add

* Undo light

* Undo device_tracker

* Undo notify

* Undo sensor

* Undo stt

* Improve
2024-09-21 13:10:14 +02:00
Michael 52d349d776 Bump aiovlc to 0.5.1 (#126365)
* bump aiovlc to 0.5.0

* bump aiovlc to 0.5.1
2024-09-21 12:01:43 +02:00
epenet 83672ee28b Use HassKey in device_tracker (#126339) 2024-09-21 11:38:27 +02:00
epenet a58b1ca6e4 Use HassKey in sensor (#126336) 2024-09-21 11:36:03 +02:00
epenet 0299fa1b68 Use HassKey in stt (#126335) 2024-09-21 11:34:28 +02:00
Michael 91c1e75c00 Get supervisor client in analytics only on systems with supervisor (#126375)
fix supervisor dependency
2024-09-21 11:29:28 +02:00
Niklas Wagner c07db352f3 Offboard myself as prusalink codeowner (#126361) 2024-09-21 01:00:23 +02:00
epenet 4fcfbd8134 Rename deconz base entity module (#126041)
* Move and rename deconz base entity to separate module

* Cancel rename
2024-09-20 23:40:08 +02:00
G Johansson 41c1cfcef0 Improve lock handling in Yale Smart Living (#124245)
* Improve handling of locks in yalesmartalarm

* requirements

* fix coordinator setup

* Fix lock iteration

* Fix tests

* Fix review comments
2024-09-20 23:07:52 +02:00
YogevBokobza 3e1da876c6 Add Switcher Runner S11 support (#123578)
* switcher start s11 integration

* switcher linting

* switcher starting reauth logic

* switcher fix linting

* switcher fix linting

* switcher remove get_circuit_number

* switcher adding support for validate token

* switcher fix initial auth for new devices and fix strings

* switcher fix linting

* switcher fix utils

* Revert "switcher fix utils"

This reverts commit b162a943b94fb0a581140feb21fe871df578c16a.

* switcher revert and test

* switcher fix validate logic and strings

* switcher add tests to improve coverage

* switcher adding tests

* switcher adding test

* switcher revert back things

* switcher fix based on requested changes

* switcher tests fixes

* switcher fix based on requested changes

* switcher remove single_instance_allowed code and added tests

* Update config_flow.py

* switcher fix comment

* switcher fix tests

* switcher lint

* switcehr fix based on requested changes

* switche fix lint

* switcher small rename fix

* switcher fix based on requested changes

* switcher fix based on requested changes

* switcher fix based on requested changes

* Update tests/components/switcher_kis/test_config_flow.py

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

* Update tests/components/switcher_kis/test_config_flow.py

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

* Update tests/components/switcher_kis/test_config_flow.py

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

* Update tests/components/switcher_kis/test_config_flow.py

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-09-20 23:19:57 +03:00
YogevBokobza 65fb688164 Add YogevBokobza to switcher_kis codeowners (#126359)
* Add YogevBokobza to switchre_kis CODEOWNERS

* Update manifest.json

* Update homeassistant/components/switcher_kis/manifest.json

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-09-20 23:19:27 +03:00
Michael Hansen 123b6b687e Route non-TTS media through ESPHome ffmpeg proxy (#126287)
* Route non-TTS media through proxy

* Use media_id_source
2024-09-20 13:57:55 -04:00
Sid e8d5ebef7e Bump ruff to 0.6.6 (#126343) 2024-09-20 17:48:03 +02:00
Marc Mueller c408fd0e62 Update pylint to 3.3.0 (#126330) 2024-09-20 17:47:12 +02:00
epenet 803de40321 Add trace to core files (#126314) 2024-09-20 16:40:57 +02:00
Joost Lekkerkerker 8254a643d2 Make geniushub platforms a list (#126320) 2024-09-20 16:26:41 +02:00
Teemu R. 992b810fa9 Add siren platform for tplink (#124934)
* Add siren platform for tplink

* Add tests

* Add alarm to features.json

* Update based on reviews

* Use alarm module instead of individual features

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-20 16:11:02 +02:00
Simone Chemelli 99a65d3098 Fix update platform for Shelly gen1 devices (#124798) 2024-09-20 15:57:32 +02:00
Maikel Punie 1fcfe9e135 Bump pyduotecno to 2024.9.0 (#126328) 2024-09-20 15:41:41 +02:00
Paulus Schoutsen 604c848dec Change assist satellite announce method signature (#126299) 2024-09-20 08:09:37 -05:00
dontinelli 41ffa8d6db Add login and rewrite access to extended data for solarlog (#126024)
* Initial commit

* Add/update tests

* Minor adjustment

* Update data_schema

* Adjust get password

* Set const for has_password, remove deletion of extended_data

* Update diagnostics snapshot

* Correct typo

* Add test for migration from mv 2 to 3

* Adjust migration test
2024-09-20 14:19:45 +02:00
Klaas Schoute 184580257d Add battery data to Autarco integration (#125924)
* Rename site to account_site

* Add battery service with entities

* Test UpdateFailed exception in coordinator

* Add battery data to diagnostics report

* Add TOTAL state_class where needed

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-20 12:53:15 +02:00
TimL 76967e848d Refactor smlight event_function to common function (#126260)
refactor event_function
2024-09-20 12:40:50 +02:00
Thomas55555 f93bcbaa84 Bump aioautomower to 2024.9.1 (#126315) 2024-09-20 12:40:16 +02:00
epenet cd95c133af Enable all TID ruff rules (#126312)
* Enable ruff rule TID252

* One more

* comment
2024-09-20 12:25:51 +02:00
Tom Harris 7433d2eca9 Add broken link and missing device lists to insteon configuration panel (#119715)
* Add broken link and missing device lists

* Fix incorrect import

* Add tests

* Bump pyinsteon

* Typing
2024-09-20 12:11:51 +02:00
Marcel van der Veldt 90f691fa2c Mark current position sensor for Matter switch as default disabled (#126254) 2024-09-20 12:07:38 +02:00
epenet 8b44c16b57 Use HassKey in core components (a-c) (#126258)
* Use HassKey in conversation

* Use HassKey in assist_satellite

* automation

* More

* Unrelated

* Improve
2024-09-20 12:07:15 +02:00
Marcel van der Veldt ef94fcf873 Fix duplicate power sensors for Matter 1.3 powerplugs (#126269)
* Prevent duplicate power sensors in Matter sensor platform

* adjust test as well
2024-09-20 12:05:19 +02:00
RJPoelstra 3ad6589f25 Bump python-MotionMount to 2.2.0 (#126309) 2024-09-20 12:04:38 +02:00
Tatham Oddie fb56c5875a Add device class for UPNP uptime sensor (#126306)
Allows for easier conversion of time periods within HA natively
2024-09-20 12:04:24 +02:00
Martin Hjelmare 7ff0d54291 Clean ondilo ico logging (#126310)
* Clean too verbose logging

* Add tests
2024-09-20 12:03:16 +02:00
Fredrik Erlandsson 1768daf98c Add support for native oauth2 in Point (#118243)
* initial oauth2 implementation

* fix unload_entry

* read old yaml/entry config

* update tests

* fix: pylint on tests

* Apply suggestions from code review

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

* fix constants, formatting

* use runtime_data

* Apply suggestions from code review

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

* fix missing import

* adopt to PointData dataclass

* fix typing

* add more strings (copied from weheat)

* move the PointData dataclass to avoid circular imports

* use configflow inspired by withings

* raise ConfigEntryAuthFailed

* it is called entry_lock

* fix webhook issue

* fix oauth_create_entry

* stop using async_forward_entry_setup

* Fixup

* fix strings

* fix issue that old config might be without unique_id

* parametrize tests

* Update homeassistant/components/point/config_flow.py

* Update tests/components/point/test_config_flow.py

* Fix

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-20 12:02:07 +02:00
Thomas55555 7a9da6dde1 Add additional mower to Husqvarna Autmower tests (#126313) 2024-09-20 12:01:07 +02:00
Steven B. 42f8d9d10f Add motion detection switch entity to ring (#126278)
Add motion detection switch to ring
2024-09-20 11:27:05 +02:00
Mike Degatano d56a7217d9 Bump aiohasupervisor to 0.1.0b1 (#126282) 2024-09-20 11:19:41 +02:00
Matthias Alphart 87240bb96f Fix loading KNX UI entities with entity category set (#126290)
* Fix loading KNX UI entities with entity category set

* add test

* docstring fixes

* telegram order

* Optionally ignore telegram sending order in tests

because we can't know which platform initialises first
2024-09-20 11:16:58 +02:00
epenet 2062e49ae1 Improve readability in hass_imports pylint plugin (#126252)
* Improve readability in hass_imports pylint plugin

* One more

* docstring

* docstring
2024-09-20 11:10:27 +02:00
Steven B. efdb1073a1 Add in-home chime switch to ring (#126305)
* Add in-home chime switch to ring

* Fix accidental conftest change
2024-09-20 10:45:22 +02:00
TimL 778729101a Bump pysmlight to 0.1.1 (#126301)
Bump pysmlight 0.1.1
2024-09-20 10:21:10 +02:00
vhkristof 1f1ce67209 Add service to set the AC schedule of renault vehicles (#125006)
* Add service to set the AC schedule of renault vehicles

* Remove executable permission

* Applied review comments (use snapshot)

* Rewrote examples to not use JSON
2024-09-20 10:18:47 +02:00
Ian dccdb71b2d Make NextBus coordinator more resilient and efficient (#126161)
* Make NextBus coordinator more resilient and efficient

Resolves issues where one request failing will prevent all agency
predictions to fail. This also removes redundant requests for
predictions that share the same stop.

* Add unload entry test

* Prevent shutdown if the coordinator is still needed
2024-09-20 10:18:13 +02:00
dependabot[bot] df0195bfe8 Bump github/codeql-action from 3.26.7 to 3.26.8 (#126302) 2024-09-20 09:40:37 +02:00
epenet bb5640b41b Simplify imports in recorder (#126248) 2024-09-19 21:43:21 -04:00
Marc-Philip 72065768f3 Allow github requirements specs in hassfest for non-core integrations (#124925)
* allow all requirements specs

* remove unnecessary tests

* Revert "remove unnecessary tests"

This reverts commit 0a2af0318d.

* Revert "allow all requirements specs"

This reverts commit d15cd27f7b.

* be lenient only for custom integrations

* don't allow blanks as requested

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-20 00:36:31 +02:00
Alberto Montes 3d43c22485 Update tooling configuration to enforce f-string formatting (#125989)
* Update tooling configuration to enforce f-string formatting

* Disable the rule on Pylint as it is handled by ruff
2024-09-19 22:16:40 +02:00
Jan Bouwhuis bafc42c8f1 Cleanup unused protocol class for mqtt entity setup (#126276) 2024-09-19 21:29:14 +02:00
Jan Bouwhuis 21affac571 Rename mqtt mixins module to entity.py (#126279) 2024-09-19 20:50:33 +02:00
Steven B. b18b532b40 Bump ring-doorbell to 0.9.5 (#126264)
* Bump ring_doorbell to 0.9.5

* Update number snapshot
2024-09-19 19:40:39 +02:00
starkillerOG 9988c66d67 Bump reolink_aio to 0.9.9 (#126267) 2024-09-19 17:30:54 +02:00
Claudia Pellegrino baa79303a7 Make combined rmvtransport filters work (#126255)
rmvtransport: make filters always effective

In the `rmvtransport` integration, the three config attributes
`destination`, `lines`, and `time_offset` all act as filters. The
expectation is that if multiple filters are given, all of them take
effect.

However, as a consequence of using `elif` in the loop body, if a
`destination` filter has been configured, then both the `lines` and the
`time_offset` filters are ignored and have no effect.

Replace the `elif` with an `if` clause to allow all filter settings to
work as intended.

CC: @cgtobi
2024-09-19 16:11:13 +02:00
Mike Degatano b2d669ac3c Add aiohasupervisor to core requirements (#126225) 2024-09-19 15:13:21 +02:00
Alberto Montes 28ece89272 Update string formatting to use f-string on core codebase (#125988)
* Update string formatting to use f-string on core codebase

* Small change given review feedback
2024-09-19 14:31:13 +02:00
Erik Montnemery 7ba9d1fe65 Use mock_config_flow helper in config_entries tests (#126251) 2024-09-19 13:57:27 +02:00
Robert Resch 31adb048f1 Bump uv to 0.4.12 (#126257) 2024-09-19 13:42:53 +02:00
epenet 5864591150 Mark tag as entity component in pylint plugin (#126183)
* Move tag base entity to separate module

* Add tag to _ENTITY_COMPONENTS

* Move Entity back in

* Add tag to base platforms

* Adjust core_files

* Revert "Adjust core_files"

This reverts commit 180c5034de.

* Revert "Add tag to base platforms"

This reverts commit 381bcf12f0.
2024-09-19 13:28:09 +02:00
epenet c81d104822 Sort values in Platform enum (#126259) 2024-09-19 13:12:37 +02:00
Alberto Montes b2401bf2e3 Update string formatting to use f-string on components (#125987)
* Update string formatting to use f-string on components

* Update code given review feedback

* Use f-string

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-19 11:38:25 +02:00
Paul Bottein b471a6e519 Add has_entity_name to entity display dict and fix name (#125832)
* Add has_entity_name to entity display dict and fix name

* Fix tests
2024-09-19 11:35:44 +02:00
Brett Adams d90cdf24f5 Fix wall connector state in Teslemetry (#124149)
* Fix wall connector state

* review feedback

* Rename None to Disconnected

* Translate disconnected
2024-09-19 11:04:27 +02:00
Christopher Fenner bc3a42c658 Fix serial handling in ViCare integration (#125495)
* hand down device serial into common entity

* fix platforms

* Revert "fix platforms"

This reverts commit 067af2b567.

* handle event loop issue

* hand in serial

* Revert "Revert "fix platforms""

This reverts commit 9bbb55ee6d.

* fix get serial call

* handle other exceptions

* also check device model for migration

* merge entity and device migration

* add test fixture without serial

* adjust test cases

* add dummy fixture

* remove commented code

* modify migration

* use continue

* break comment
2024-09-19 11:03:54 +02:00
Michael e40a853fdb Fix set temperature action in AVM FRITZ!SmartHome (#126072)
* fix set_temperature logic

* improvements
2024-09-19 11:03:20 +02:00
Simone Chemelli c94bb6c1db Add new method version_is_newer to Update platform (#124797)
* Allow string comparing in update platform

* new approach after architecture discussion

* cleanup

* Update homeassistant/components/update/__init__.py

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

* Update homeassistant/components/update/__init__.py

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

* add tests

* Update tests/components/update/test_init.py

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

* Update tests/components/update/test_init.py

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

* Update tests/components/update/test_init.py

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

* update docstrings

* one more docstring

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-19 11:00:22 +02:00
Mr. Bubbles b787c2617b Revert "Fix missing id in Habitica completed todos API response" (#126142)
Revert "Fix missing id in Habitica completed todos API response (#124565)"

This reverts commit c9e7c76ee5.
2024-09-19 10:59:54 +02:00
Iskra kranj 3c99fad6b9 Add counters to iskra integration (#126046)
* Added counters to iskra integration

* reverted pyiskra bump as reviewed

* Fixed iskra integration according to review

* fixed iskra integration according to review
2024-09-19 10:48:42 +02:00
Jan-Philipp Benecke 3981c87860 Prevent blocking event loop in ps4 (#126151)
* Prevent blocking event loop in ps4

* Process code review comment
2024-09-19 10:45:26 +02:00
Arun Philip 8ca3310401 Fix qbittorrent error when torrent count is 0 (#126146)
Fix handling of `NoneType` for torrents in `count_torrents_in_states` function

Added a check to handle cases where the 'torrents' data is None, avoiding a `TypeError` when attempting to get the length of a `NoneType` object. The function now returns 0 if 'torrents' is None, ensuring robust behavior when no torrent data is available.
2024-09-19 10:34:27 +02:00
Alberto Montes 5d2f8319b1 Update string formatting to use f-string on tests (#125986)
* Update string formatting to use f-string on tests

* Update test_package.py

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

* Update statement given feedback

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-19 10:32:38 +02:00
TimL 31f9687ba1 Update repairs for Smlight integration to allow firmware updates where possible (#126113)
* Dont launch SSE client for core firmware 0.9.9

* Dont offer updates on core firmware 0.9.9

* Add correct firmware done event for legacy v2 firmware

* test update legacy v2 firmware

* Dont raise issue for firmware v2
2024-09-19 10:29:02 +02:00
Marcel van der Veldt 1dd1de2636 Pass default value in Z-Wave websocket handler for configuration values (#125343)
* Pass default value in zwave websocket handler for configuration values

* Update test

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-19 10:07:28 +02:00
G Johansson 4d63bf473d Add validation to set_humidity action in humidifier (#125863) 2024-09-19 09:50:47 +02:00
Sebastian Nohn dd10a833db Fix tibber fails if power production is enabled but no power is produced (#126209)
* fix #125312 - tibber integration fails if power production is enabled but no power is produced

* fix requirements_all.txt
2024-09-19 09:11:57 +02:00
Michael Hansen d1a4838802 Allow one reusable proxy URL per ESPHome device (#125845)
* Allow one reusable URL per device

* Move process to convert info

* Stop previous process

* Change to 404

* Better error handling
2024-09-19 00:05:09 -04:00
cnico f8274cd5c2 Addition of select platform for flipr hub (#126237)
* Addition of select platform for flipr hub

* Review corrections
2024-09-18 23:04:22 +02:00
Ian 931c8f9e66 Bump nextbus to 2.0.5 (#126230) 2024-09-18 22:26:30 +02:00
Joost Lekkerkerker 6e6dae45d1 Set model id on Govee lights (#126211) 2024-09-18 21:59:19 +02:00
Jan-Philipp Benecke 9b60a6c095 Use debug/warning/error instead of info log level in components [z] (#126234) 2024-09-18 21:34:55 +02:00
Jan-Philipp Benecke 31b9c2fb60 Use debug instead of info log level in components [y] (#126233) 2024-09-18 21:34:31 +02:00
Jan-Philipp Benecke 8338075d03 Use debug/warning/error instead of info log level in components [x] (#126232) 2024-09-18 21:34:11 +02:00
Jan-Philipp Benecke 1d425f3913 Use debug/warning instead of info log level in components [s] (#126141)
* Use debug/warning instead of info log level in components [s]

* Fix merge error
2024-09-18 21:33:52 +02:00
Marcel van der Veldt d90caf3e86 Remove default transition in Matter light platform (#126220)
* Remove default transition in Matter light platform

* adjust test
2024-09-18 21:23:05 +02:00
Jan-Philipp Benecke 3f531c02a2 Use debug/warning instead of info log level in components [v] (#126228) 2024-09-18 21:15:50 +02:00
Jan-Philipp Benecke 5075b8736e Use debug/warning instead of info log level in components [w] (#126231) 2024-09-18 21:14:55 +02:00
epenet 6bc2d11c5e Add base Entity class to enforce-class-module pylint plugin (#126026)
* Add base Entity class to enforcé-class-module pylint plugin

* Ignore bluetooth

* Ignore hue

* Ignore dominos

* Ignore ffmpeg

* Ignore mqtt

* Ignore microsoft_face

* Ignore plant

* Ignore point

* Ignore rfxtrx

* Ignore template

* Ignore tag

* Ignore deconz
2024-09-18 20:38:45 +02:00
Fredrik Erlandsson 5fcdcbf9b9 Bump pydaikin to 2.13.7 (#126219) 2024-09-18 20:37:01 +02:00
Erik Montnemery 252ce2c95b Improve FlowManager.async_finish_flow docstring (#126178)
* Improve FlowManager.async_finish_flow docstring

* Fix typos
2024-09-18 18:19:13 +02:00
Milan Meulemans 12dbabb849 Update Aseko to support new API (#126133)
* Update Aseko to support new API

* Apply suggestions from code review

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

* Use self.unit instead of self._unit

* Refactor sensor setup entry

* Keep same unique id and identifier

* Revert rename free_chlorine translation key

* Remove new heating entity to keep PR small

* Fix keep same unique id

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-18 16:26:09 +02:00
Antoine Reversat e2f1c60981 Fix Fujitsu fglair authentication error and other issues (#125439)
* Use correct app credentials when europe is checked

* Rework to add china as well

* Use our own package since the maintainer of the original package is not responding

* Revert to using rewardone's package

* Import app credentials where needed instead of __init__

* Rework region selector

* Bump config entry minor and add migration

* Address comments
2024-09-18 16:23:35 +02:00
Joost Lekkerkerker ac93570476 Remove LG Thinq (#125900) 2024-09-18 16:11:29 +02:00
Brett Adams 139765995e Bump tesla-fleet-api to 0.7.8 (#126164)
bump
2024-09-18 15:19:44 +02:00
Marcel van der Veldt 6bff6b562a Add ThirdReality Matter NightLight to transition exception list (#126216) 2024-09-18 14:51:05 +02:00
Erik Montnemery a10d68e63e Fix device cleanup in plugwise (#126212) 2024-09-18 13:50:36 +02:00
tdfountain ec2db38516 Move input current from diagnostic to regular sensor in NUT (#124183)
Move input current from Diagnostic

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-09-18 13:16:35 +02:00
Jan-Philipp Benecke 39e720caed Use debug/warning instead of info log level in components [t] (#126147) 2024-09-18 12:39:50 +02:00
Andrew Jackson adf25b427b Broaden scope of ConfigEntryNotReady in Mealie (#126208)
Broaden scope of ConfigEntryNotReady
2024-09-18 12:29:50 +02:00
epenet b74a6a64bc Rename roomba base entity module (#126134)
* Move roomba base entity to separate module

* Simplify
2024-09-18 12:14:20 +02:00
epenet 116733e1a5 Rename onewire base entity module (#126129)
Move onewire base entity to separate module
2024-09-18 11:42:16 +02:00
epenet 1ff69825e4 Move rflink base entity to separate module (#126206) 2024-09-18 11:41:49 +02:00
TimL 4f53ffcd9c Add VPN sensor and switch for Smlight integration (#126201)
* Add vpn_status sensor

* update test fixures with new attributes

* Add vpn enabled switch

vpn strings

* Add vpn switch to test

* update snapshots

* Add vpn status to disabled by default test
2024-09-18 11:40:27 +02:00
epenet 0281e95f2e Prefer __all__ over F401 ignore (#126189) 2024-09-18 11:29:23 +02:00
epenet de104b35db Move tellstick base entity to separate module (#126205) 2024-09-18 11:28:56 +02:00
Andrew Jackson e2c6d2765a Remove default mastodon instance in config flow (#126204)
Remove default mastodon instance
2024-09-18 11:28:33 +02:00
epenet 63929a1177 Move onvif base entity to separate module (#126128) 2024-09-18 11:26:52 +02:00
epenet cf389681f6 Move upb base entity to separate module (#126184) 2024-09-18 11:25:43 +02:00
epenet 3fb92bc245 Move raincloud base entity to separate module (#126170) 2024-09-18 11:23:10 +02:00
epenet b1ef91bcfe Move wirelesstag base entity to separate module (#126203) 2024-09-18 11:22:36 +02:00
Jan-Philipp Benecke 987b8af1b1 Use debug/warning instead of info log level in components [u] (#126148) 2024-09-18 11:08:12 +02:00
epenet dbb6eaa9eb Move and rename remember_the_milk base entity to separate module (#126171)
Move remember_the_milk base entity to separate module
2024-09-18 11:07:38 +02:00
epenet df434fc5e2 Move shared rflink constants to separate module (#126173) 2024-09-18 11:07:13 +02:00
epenet 47657af173 Move raincloud shared constants to separate module (#126174)
Move shared raincloud constants to separate module
2024-09-18 11:06:40 +02:00
epenet bbe64e99e1 Move slack base entity to separate module (#126175) 2024-09-18 11:06:19 +02:00
epenet fdf460b82b Move smartthings base entity to separate module (#126176) 2024-09-18 11:05:50 +02:00
epenet 6325a332bd Move soma base entity to separate module (#126177) 2024-09-18 11:05:21 +02:00
epenet 0deb152bb2 Move tellstick shared constants to separate module (#126179) 2024-09-18 11:04:28 +02:00
epenet 8785a9869e Rename tuya base entity module (#126180) 2024-09-18 11:04:01 +02:00
epenet 16ac303994 Move tcp base entity to separate module (#126181) 2024-09-18 11:03:32 +02:00
epenet 06e7e377d4 Rename tasmota base entity module (#126182) 2024-09-18 11:00:51 +02:00
epenet dd77c6b59f Move xs1 base entity to separate module (#126199) 2024-09-18 11:00:06 +02:00
epenet 8827b5510f Move zwave_me base entity to separate module (#126200) 2024-09-18 10:59:53 +02:00
epenet 1893545705 Move xiaomi_miio base entity to separate module (#126198) 2024-09-18 10:59:27 +02:00
epenet e9ac6b7482 Move xiaomi_aqara base entity to separate module (#126197) 2024-09-18 10:59:04 +02:00
epenet 799bc50c98 Avoid constant re-export in fujitsu_fglair (#126190)
Avoid re-export in fujitsu_fglair
2024-09-18 10:57:24 +02:00
epenet db8c379b93 Move wiffi base entity to separate module (#126194) 2024-09-18 10:57:03 +02:00
epenet 989a90bb93 Move wilight base entity to separate module (#126193) 2024-09-18 10:56:39 +02:00
epenet 3d9aa60e4e Move wirelesstag shared constants to separate module (#126192) 2024-09-18 10:55:55 +02:00
epenet 93de46b50e Move velux base entity to separate module (#126185) 2024-09-18 09:51:05 +02:00
epenet da4f401d17 Move vera base entity to separate module (#126186) 2024-09-18 09:50:07 +02:00
epenet e7bb9a440a Move vesync base entity to separate module (#126187) 2024-09-18 09:49:10 +02:00
epenet 4aaba171ca Cleanup unnecessary F401 ignores (#126188)
* Cleanup unnecessary F401 ignores

* Adjust tests
2024-09-18 09:46:13 +02:00
Mike Degatano 97d0d91d2c Use aiohasupervisor for addon info calls (#125926)
* Use aiohasupervisor for addon info calls

* Fix issue/repair tests in supervisor

* Fixes from feedback
2024-09-17 23:22:35 +02:00
Marc Hörsken 37cdc6d500 Add diagnostics support for WMS WebControl pro (#126077) 2024-09-17 23:17:04 +02:00
Jan-Philipp Benecke adcb541b4b Use debug/warning instead of info log level in components [r] (#126140) 2024-09-17 19:45:05 +02:00
Jan-Philipp Benecke 4efa147a2b Use debug/warning instead of info log level in components [p] (#126139) 2024-09-17 19:44:38 +02:00
Jan-Philipp Benecke bc8929d37f Use debug/warning instead of info log level in components [o] (#126138) 2024-09-17 19:44:12 +02:00
Jan-Philipp Benecke 622e9aa3dc Use debug/warning/error instead of info log level in components [n] (#126137) 2024-09-17 18:39:11 +02:00
epenet 2588435c5c Move roborock base entity to separate module (#126135) 2024-09-17 18:20:57 +02:00
Elisha Eshed b262e1518f Order train station names in Israel rail API (#126121) 2024-09-17 17:18:35 +02:00
epenet c5839604d5 Move qwikswitch base entity to separate module (#126130) 2024-09-17 17:13:23 +02:00
Tobias Sauerwein 01688946b3 Fix set brightness for Netatmo lights (#126075)
* fix set brightness for Netatmo lights

* round returns int by default

* Update homeassistant/components/netatmo/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-17 16:34:26 +02:00
Jan-Philipp Benecke 2ec0d8e8ef Use debug/warning instead of info log level in components [m] (#126074)
* Use debug instead of info log level in components [m]

* Fix modbus test
2024-09-17 16:14:59 +02:00
epenet 219417cfb5 Move homeworks base entity to separate module (#126097)
* Move homeworks base entity to separate module

* Move calculate_unique_id to util.py
2024-09-17 16:13:40 +02:00
Thomas55555 ca59805907 Add sync clock button for Husqvarna Automower (#125689)
* Sync Clock

* optimize add entitites

* fix?

* test

* simplify command

* 1 generic entity

* docstrings

* tweaks

* tests

* Apply suggestions from code review

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

* suggestions from review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-17 16:12:09 +02:00
Erik Montnemery 2190054abf Improve negative TTS test (#126126) 2024-09-17 16:11:03 +02:00
Robert Contreras 4d04402ad4 Add Home Connect light entity for cooling appliances (#126090)
* Add Home Connect light entities for fridge

* Update homeassistant/components/home_connect/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-17 15:56:20 +02:00
cnico 2ae4989031 Addition of Flipr hub with switch platform (#125866)
* Addition of Flipr hub with switch platform

* Remove of loggers in tests

* Review corrections

* Review corrections

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-17 15:56:07 +02:00
epenet f3facac016 Move homematicip_cloud base entity to separate module (#126094)
* Move homematicip_cloud base entity to separate module

* One more
2024-09-17 15:46:04 +02:00
epenet a9c479a78b Move hive base entity to separate module (#126095) 2024-09-17 15:44:52 +02:00
epenet c20d07c14a Move and rename hlk_sw16 base entity to separate module (#126096) 2024-09-17 15:44:11 +02:00
Daniel Krebs c8e2408f82 Allow setting volume on Ring devices (#125773)
* Turn Ring Doorbell and Chime volumes into number entities.

* turn RingOther volumes into numbers as well

* fix linter issues

* move other volume strings into `number` section

* add back old volume sensors but deprecate them

* add tests for `ring.number`

* add back strings for sensors that have just become deprecated

* remove deprecated volume sensors from test

* Revert "remove deprecated volume sensors from test"

This reverts commit fc95af66e7.

* create entities for deprecated sensors so that tests still run

* remove print

* add entities immediately

* move `RingNumberEntityDescription` above `RingNumber` and remove unused import

* remove irrelevant comment about history

* fix not using `setter_fn`

* add missing icons for other volume entities

* rename `entity` -> `entity_id` in number tests

* fix typing in number test

* use constants for `hass.services.async_call()`

* use `@refresh_after` decorator instead of delaying updates manually

* move descriptors above entity class

* Use snapshot to test states.

* add missing snapshot file for number platform

* Update homeassistant/components/ring/number.py

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

---------

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2024-09-17 15:41:51 +02:00
epenet 9557386b6e Move huawei_lte base entity to separate module (#126098) 2024-09-17 15:41:03 +02:00
epenet 1afcbd02a9 Move insteon base entity to separate module (#126099) 2024-09-17 15:40:33 +02:00
epenet 6dfa6b0001 Move iaqualink base entity to separate module (#126100) 2024-09-17 15:40:25 +02:00
epenet ecea251efa Move and rename ihc base entity to separate module (#126101) 2024-09-17 15:39:49 +02:00
epenet 3a55cbc818 Move and rename lutron caseta base entity to separate module (#126103) 2024-09-17 15:39:11 +02:00
epenet 93f2b7c8a3 Move modbus base entity to separate module (#126104) 2024-09-17 15:38:10 +02:00
epenet 4d140d81f9 Move mysensors base entity to separate module (#126105) 2024-09-17 15:37:56 +02:00
epenet 7fee61db84 Move nissan_leaf base entity to separate module (#126106) 2024-09-17 15:37:39 +02:00
Lektri.co 84c20745a8 Add number platform to the Lektrico integration (#126119)
* Add platform number.

* Remove number user_limit.

* Change LED to led in number snapshot.

* Update homeassistant/components/lektrico/number.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-17 15:30:24 +02:00
TimL 92099866e2 Bump pysmlight to 0.1.0 (#126111)
Bump pysmlight 0.1.0 for Smlight integration
2024-09-17 15:24:20 +02:00
jesperraemaekers 3601c531f4 Adding reauth support to Weheat (#126108)
* Added reauth in config flow and raise approriate errors

* Added reauth tests

* Some cleanup after looking at other PRs
2024-09-17 10:23:27 +02:00
epenet a3155b2ad7 Move knx base entity to separate module (#126102)
* Move knx base entity to separate module

* one more
2024-09-17 10:15:26 +02:00
Michael Hansen 6eab5e3e14 Add ESPHome Assist satellite configuration (#126085)
* Basic implementation

* Add websocket commands

* Clean up

* Add callback to other signatures

* Remove unused constant

* Re-add callback

* Add callback to test

* Implement get/set configuration

* Add tests

* Re-add constant

* Bump aioesphomeapi

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-16 22:08:39 -05:00
Michael Hansen dde989685c Add Assist satellite configuration (#126063)
* Basic implementation

* Add websocket commands

* Clean up

* Add callback to other signatures

* Remove unused constant

* Re-add callback

* Add callback to test
2024-09-16 22:34:07 -04:00
Noah Husby 738818aa7a Add media player stop support to Cambridge Audio (#126066) 2024-09-16 22:42:27 +02:00
Noah Husby 529e120313 Remove callback decorators in Cambridge Audio (#126082)
Remove callback decorator from async methods in Cambridge Audio
2024-09-16 22:28:06 +02:00
epenet 351de1ca72 Move and rename alert base entity to separate module (#126030)
Move alert base entity to separate module
2024-09-16 20:21:04 +02:00
Bouwe Westerdijk b73be2df6e Implement model_id's in Plugwise (#126069) 2024-09-16 20:01:12 +02:00
xLarry 7ada2f864c Add sensor platform to laundrify integration (#121378)
* feat: initial implementation of sensor platform

* refactor(tests): await setup of config_entry in parent function

* feat(tests): add tests for laundrify sensor platform

* refactor: set name property for laundrify binary_sensor

* refactor(tests): add missing type hints

* refactor(tests): remove global change of the logging level

* refactor: address minor changes from code review

* refactor(tests): transform setup_config_entry into fixture

* refactor: leverage entity descriptions to define common entity properties

* refactor: change native unit to Wh

* fix(tests): use fixture to create the config entry

* fix: remove redundant raise of LaundrifyDeviceException

* fix(tests): raise a LaundrifyDeviceException to test the update failure behavior

* refactor(tests): merge several library fixtures into a single one

* refactor(tests): create a separate UpdateCoordinator instead of using the internal

* refactor(tests): avoid using LaundrifyPowerSensor

* refactor: simplify value retrieval by directly accessing the coordinator

* refactor: remove non-raising code from try-block

* refactor(sensor): revert usage of entity descriptions

* refactor(sensor): consolidate common attributes and init func to LaundrifyBaseSensor

* refactor(sensor): instantiate DeviceInfo obj instead of using dict

* refactor(tests): use freezer to trigger coordinator update

* refactor(tests): assert on entity state instead of coordinator

* refactor(tests): make use of freezer

* chore(tests): typo in comment
2024-09-16 16:21:16 +02:00
Marc Hörsken 587ebd5d47 Add new integration for WMS WebControl pro using local API (#124176)
* Add new integration for WMS WebControl pro using local API

Warema recently released a new local API for their WMS hub
called "WebControl pro". This integration makes use of the
new local API via a new dedicated Python library pywmspro.

For now this integration only supports awnings as covers.
But pywmspro is device-agnostic to ease future extensions.

* Incorporated review feedback from joostlek

Thanks a lot!

* Incorporated more review feedback from joostlek

Thanks a lot!

* Incorporated more review feedback from joostlek

Thanks a lot!

* Fix

* Follow-up fix

* Improve handling of DHCP discovery

* Further test improvements suggested by joostlek, thanks!

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-16 16:07:43 +02:00
epenet 4fbc5a9558 Move hdmi_cec base entity to separate module (#126057) 2024-09-16 15:47:26 +02:00
puddly 95db4df13a Add missing Zigbee/Thread firmware config flow translations (#125782) 2024-09-16 15:37:46 +02:00
epenet 34cf044a7c Move freebox base entity to separate module (#126056) 2024-09-16 15:29:44 +02:00
epenet 45f2198972 Move and rename fibaro base entity to separate module (#126055) 2024-09-16 15:29:29 +02:00
epenet 4c5535d1cc Move econet base entity to separate module (#126049) 2024-09-16 15:25:30 +02:00
epenet 9dd16d3df5 Move efergy base entity to separate module (#126051) 2024-09-16 15:21:30 +02:00
epenet 21b92455af Move and rename envisalink base entity to separate module (#126054) 2024-09-16 15:20:53 +02:00
epenet 5a769fb51b Move enocean base entity to separate module (#126053) 2024-09-16 15:19:25 +02:00
epenet e3e93df187 Move elkm1 base entity to separate module (#126052) 2024-09-16 15:19:09 +02:00
Joost Lekkerkerker a17dc3cb52 Introduce Reolink base entity description (#126050) 2024-09-16 15:11:02 +02:00
Iskra kranj 02f6d4bd11 Bump pyiskra to 0.1.11 (#126048)
bumped pyiskra to 0.1.11
2024-09-16 14:51:53 +02:00
Michael Hansen c63cab336c Change wake word interception to a subscription (#125629)
* Allow stopping intercepting wake words

* Make wake word interception a subscription

* Keep future

* Add test for unsub
2024-09-16 14:50:43 +02:00
RJPoelstra 3ba39d5158 Add translation to communication exceptions in MotionMount (#126043)
Add translation to communication exceptions
2024-09-16 14:43:37 +02:00
epenet e85ab067bd Move and rename crownstone base entity to separate module (#126034) 2024-09-16 14:26:20 +02:00
epenet 8370a55263 Move devolo home control base entity to separate module (#126042) 2024-09-16 14:24:48 +02:00
Ludovic BOUÉ e08a94fe1c Add Matter tests for BatVoltage attribute from PowerSource cluster (#125645)
* Add BatVoltage Attribute from PowerSource Cluster

* Update sensor.py

Remove comment

* Update homeassistant/components/matter/sensor.py

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

* Fixture for a Eve Door & Window node

Fixture for a Eve Door & Window node to check BatVoltage attribute from PowerSource cluster

* Test battery voltage sensor

* Update test_sensor.py

* ruff-format

* Update test_sensor.py

* Update test_sensor.py

battery_voltage attribute test

* Update test_sensor.py

* Update test_sensor.py

* Update tests/components/matter/test_sensor.py

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

* Update test_sensor.py

* Adjust values

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-16 14:16:03 +02:00
TimL e9364f4c3a Add update platform for Smlight integration (#125943)
* Create update coordinator for update entities

* fix type errors

* update info fixture with zigbee version

* Add fixtures for Firmware objects

* mock get_firmware_version function

* Add update platform for Smlight integration

* Add strings for update platform

* Add tests for update platform

* add snapshot for update tests

* Split out base coordinator

* Update homeassistant/components/smlight/strings.json

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

* overwrite coordinator types

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-16 14:14:15 +02:00
TimL 5660d1e48e Add internet binary sensor to Smlight integration (#125982)
* Add internet sensor updated by events

* Strings for internet sensor

* Update binary_sensor snapshot with internet sensor

* Add test for internet sensor

* Address review comments

---------

Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-09-16 13:56:44 +02:00
TimL ac17020cd0 Abort zeroconf flow on connect error during discovery (#125980)
Abort zereconf flow on connect error during discovery
2024-09-16 13:45:39 +02:00
Brett Adams fdc58f952e Add number platform to Tesla Fleet (#125985)
* Add number platform

* Actually add the umber platform files
2024-09-16 13:38:45 +02:00
Robert Resch 765448fdf4 Exclude uv from wheels building (#126035) 2024-09-16 12:56:08 +02:00
TimL 1e4864d8c5 Set Smlight integration to local_push class (#125983) 2024-09-16 12:41:29 +02:00
Jan-Philipp Benecke dadd397bf0 Use debug/warning instead of info log level in components [i] (#126036) 2024-09-16 12:39:20 +02:00
Jan-Philipp Benecke 6a2d31a481 Use debug instead of info log level in components [j] (#126037)
Use debug/warning instead of info log level in components [j]
2024-09-16 12:39:02 +02:00
Jan-Philipp Benecke 136242e38c Use debug/warning instead of info log level in components [k] (#126038) 2024-09-16 12:38:50 +02:00
Jan-Philipp Benecke 8bfcdb9266 Use debug instead of info log level in components [L] (#126039)
Use debug instead of info log level in components [l]
2024-09-16 12:38:28 +02:00
Brett Adams e3c2f81506 Add select platform to Tesla Fleet (#125931)
* Add Select Platform

* Add Select strings and icons

* Add tests

* Clean up fixture
2024-09-16 12:26:11 +02:00
Austin Mroczek af03003305 Improve TotalConnect translations (#125978)
* improve translations

* remove periods from tests

* simplify message strings

* use a comma
2024-09-16 12:17:17 +02:00
Markus Jacobsen a8648b7cdc Add Bang & Olufsen media_player grouping (#123020)
* Add Beolink custom services
Add support for media player grouping via beolink
Give media player entity name

* Fix progress not being set to None as Beolink listener
Revert naming changes

* Update API
simplify Beolink attributes

* Improve beolink custom services

* Fix Beolink expandable source check
Add unexpand return value
Set entity name on initialization

* Handle entity naming as intended

* Fix "null" Beolink self friendly name

* Add regex service input validation
Add all_discovered to beolink_expand service
Improve beolink_expand response

* Add service icons

* Fix merge
Remove unnecessary assignment

* Remove invalid typing
Update response typing for updated API

* Revert to old typed response dict method
Remove mypy ignore line
Fix jid possibly used before assignment

* Re add debugging logging

* Fix coroutine
Fix formatting

* Remove unnecessary update control

* Make tests pass
Fix remote leader media position bug
Improve remote leader BangOlufsenSource comparison

* Fix naming and add callback decorators

* Move regex service check to variable
Suppress KeyError
Update tests

* Re-add hass running check

* Improve comments, naming and type hinting

* Remove old temporary fix

* Convert logged warning to raised exception for invalid media_player
Simplify code using walrus operator

* Fix test for invalid media_player grouping

* Improve method naming

* Improve _beolink_sources explanation

* Improve _beolink_sources explanation

* Add initial media_player grouping

* Convert custom service methods to media_player methods
Fix testing

* Remove beolink JID extra state attribute

* Modify custom services to only work as expected for media_player grouping
Fix tests

* Remove unused dispatch

* Remove wrong comment

* Remove commented out code

* Add config entry mock typing

* Fix beolink listener playback progress
Fix formatting
Add and use get_serial_number_from_jid function

* Fix testing

* Clarify beolink WebSocket notifications

* Further clarify beolink WebSocket notifications

* Convert notification value to enum value

* Improve comments for touch to join

* Fix None being cast to str if leader is not in HA

* Add error messages to devices in Beolink session and not Home Assistant
Rework _get_beolink_jid

* Replace redundant function call

* Show friendly name for unavailable remote leader instead of JID

* Update homeassistant/components/bang_olufsen/media_player.py

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

* Remove unneeded typing

* Rework _get_beolink_jid entity check
Clarify invalid entity error message

* Remove redundant "entity" from string

* Fix invalid typing
fix state assertions

* Fix raised error type

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-16 12:16:15 +02:00
starkillerOG e8bacd84ce Add Reolink chime package ringtone (#125786)
* add chime package ringtone

* fix mypy

* fix mypy

* fix mypy

* fixes
2024-09-16 12:12:49 +02:00
Noah Husby bcbf810cbe Bump aiostreammagic to 2.3.1 (#126017) 2024-09-16 11:57:59 +02:00
Jeef f0df8264fa Bump weatherflow cloud to 1.0.6 (#125966)
bumping backing lib
2024-09-16 11:57:40 +02:00
RJPoelstra e6b86b662a Add reconnect logic and proper reporting to MotionMount integration (#125670)
* Add reconnect logic and proper reporting

* Use snake_case

* Log on warning, not on info

* Reduce line length

* Refactor non-raising code out of try blocks

* Remove `_ensure_connected()` from action functions
2024-09-16 11:56:13 +02:00
epenet 18e2c2f6dd Disable pylint ignore_missing_annotations in config flow (#125322)
* Disable pylint ignore_missing_annotations in config flow

* Add tests

* Ignore point
2024-09-16 11:53:29 +02:00
starkillerOG 15bf6222f5 Use Home Assistant aiohttp session for Reolink (#125948) 2024-09-16 11:53:13 +02:00
Jan-Philipp Benecke b32f40c0fe Use debug/warning instead of info log level in components [h] (#126033) 2024-09-16 11:44:14 +02:00
Jan-Philipp Benecke 53c23dfb6f Use debug/warning instead of info log level in components [g] (#126032) 2024-09-16 11:41:26 +02:00
epenet c6d04d874f Move and rename acmeda base entity to separate module (#126028)
Move acmeda base entity to separate module
2024-09-16 11:34:24 +02:00
epenet 02cb6a6af7 Force root import of references from other components (#125816)
* Force root import of references from other components

* Improve

* Adjust

* Tweak exceptions

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Another

* Adjust

* More

* Ignore violations in test

* Improve
2024-09-16 11:28:42 +02:00
epenet 9f1cc638c9 Move blebox base entity to separate module (#126027) 2024-09-16 11:26:12 +02:00
epenet f395688c2d Move apple_tv base entity to separate module (#126029) 2024-09-16 11:17:06 +02:00
epenet 2e76b1f834 Use shorthand attributes in numato (#126023) 2024-09-16 11:08:42 +02:00
Bouwe Westerdijk 29fb83e98b Implement battery state binary sensor in Plugwise (#126020) 2024-09-16 11:06:25 +02:00
Antony Kurniawan 156a88a3a3 Ignore negative derivative when the input is total_increasing (#119141)
* if the derivative is negative, ignore it

* add option to ignore the negatives or not

* add tests for a new ignore negative derivative

* add missing description when editing

* rename to ignore_negative_derivative
to increase clarity of which negative I mean
in case in the future we want a ignore_negative_value...

* use state_class=total_increasing to ignore the negative derivative

* remove ignore negative from the config

* add test for total_increasing_reset case

* add comments

* update test_total_increasing_reset with history tests
Also remove the last comment because the test is already clear
My existing comment there isn't unique to this unit test but applies to the entire component. The existing web documentation pointing to Wikipedia should suffice.

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-16 10:49:15 +02:00
AlCalzone c77a3674b0 Cleanup zwave_js fixture definitions (#125896)
* refactor: cleanup zwave_js fixture definitions

* fix: that one fixture that's not an object

* fix: some more forgotten ones
2024-09-16 10:22:04 +02:00
G Johansson db1349b95c Remove yaml import from downloader (#125921) 2024-09-16 10:20:32 +02:00
epenet e0d18c621b Add missing type hint in monarch_money (#126019) 2024-09-16 10:20:08 +02:00
epenet 56d00fd0c8 Improve type hints in numato (#126022) 2024-09-16 10:19:40 +02:00
epenet 457f63cce0 Add platform Entity classes to pylint plugin (#125737)
* Add platform Entity classes to pylint plugin

* Fix violations

* Fix violations

* More

* Allow component package with same name as a platform

* One more
2024-09-16 10:10:53 +02:00
Michael Hansen 3dd6418160 Use sample bytes in ESPHome media format (#126016) 2024-09-16 10:10:07 +02:00
G Johansson 1caed79895 Validate set_humidity in ClimateEntity (#125242)
* Implementation validation for set_humidity in ClimateEntity

* Fixes
2024-09-16 10:09:44 +02:00
epenet 7df224f382 Use root import in assist_satellite imports (#126025) 2024-09-16 10:05:34 +02:00
dependabot[bot] e89c007a38 Bump github/codeql-action from 3.26.6 to 3.26.7 (#126021)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-16 09:22:37 +02:00
starkillerOG 2174ee18dc Implement Reolink reconfiguration flow (#126004)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-09-16 09:21:23 +02:00
Seferino Fernandez 8dbca0fa0b Added virtual integration for Arizona Public Service supported by opower (#126014)
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
2024-09-16 08:59:47 +02:00
Thomas55555 fccbaa0fbc Add calendar to Husqvarna Automower (#120775)
* Add Calendar

* update

* change timezone for tests

* fix requirements

* bump aioautomower to 2024.6.3b0

* bump aioautomower to 2024.6.4b0

* fix req

* align dates

* adjust

* nnbw

* better

* improvements

* req

* update requirements

* tests

* tweaks

* shift functions to library

* tests

* bump to aioautomower==2024.9.0b1

* tests

* remove ZoneInfo wrapper

* use timetzone from start_date object

* Update requirements_all.txt

* Fix names in ProgramEvent
2024-09-15 22:07:40 -07:00
Bouwe Westerdijk 089c942233 Bump plugwise to v1.4.0 (#125998)
* Refresh plugwise test-fixtures

* Update test-diagnostics file

* Bump plugwise to v1.4.0
2024-09-15 21:26:33 +02:00
starkillerOG e768bea298 Switch Reolink from hass.data to runtime_data (#126002)
Switch from hass.data to runtime_data
2024-09-15 21:05:59 +02:00
Robert Resch d9812f0d48 Fix uv installing in user site packages (#125808) 2024-09-15 14:53:45 +02:00
Sid f80cc1a247 Bump ruff to 0.6.5 (#125923) 2024-09-15 12:54:23 +02:00
Maciej Bieniek 6906ee0e48 Improve Shelly RPC entity naming (#125415)
* Fix default names for cover entities

* Drop component index if only one component exists

* Improve doc strings

* Use more consistent naming

* Typo

* Revert removing index 0 from entity names

* Improve names for RGB(W) lights
2024-09-15 11:29:26 +02:00
Window-Hero d292f2b9b4 Update pil util font height (#123512)
* Update pil.py

The default font size is far too small and will frequently be rendered completely unreadable by JPEG compression.  This is much more consistently readable, and properly specifies the font size in the draw.text function rather than relying on it being 8.

* Update pil.py

Converted to ruff format

* Update pil.py

Trying to get ruff formatting

* Update pil.py

fixed whitespace

* Update pil.py

removed trailing space
2024-09-15 10:31:56 +02:00
starkillerOG 6dadd467ab Remember Reolink config flow input (#125962) 2024-09-15 09:55:11 +02:00
tronikos b1b7c3f7c1 Bump opower to 0.8.0 (#125981) 2024-09-15 08:33:16 +02:00
Jan-Philipp Benecke 5d14afad92 Use debug/warning instead of info log level in components [f] (#125971) 2024-09-14 23:47:27 +02:00
Austin Mroczek ad467029c7 Use Freezer for tests in TotalConnect (#125960)
use Freezer for tests in TotalConnect
2024-09-14 23:46:21 +02:00
Galorhallen adfca851fe Bump govee light local to 1.5.2 (#125968)
Update govee light local library
2024-09-14 23:42:38 +02:00
Jan-Philipp Benecke c1bcabbc9d Use debug/warning instead of info log level in components [d] (#125969) 2024-09-14 23:41:32 +02:00
Jan-Philipp Benecke d070fd40a3 Use debug/warning instead of info log level in components [e] (#125970) 2024-09-14 23:41:06 +02:00
Álvaro Fernández Rojas 0221112879 Update aioairzone to v0.9.3 (#125977)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-14 23:39:07 +02:00
Noah Husby bcacc27456 Bump aiorussound to 3.0.5 (#125975) 2024-09-14 23:00:59 +02:00
Gigatrappeur a24db20c64 Add k10+ vacuum in switchbot cloud integration (#125457)
* Add k10+ vacuum in switchbot cloud integration

* Change label fan speed, Mapping state HA, Add others vacuums

* Update homeassistant/components/switchbot_cloud/vacuum.py

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

* Remove comments and add mapping for fan speed

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-14 17:01:41 +02:00
starkillerOG 5fb9a24f22 Bump motionblinds to 0.6.25 (#125957) 2024-09-14 16:36:32 +02:00
Jan-Philipp Benecke d28c32624c Use debug/warning instead of info log level in components [b] (#125954) 2024-09-14 15:52:23 +02:00
Jan-Philipp Benecke 2cbbf7d9a6 Use debug instead of info log level in components [c] (#125955)
Use debug/warning instead of info log level in components [c]
2024-09-14 15:51:58 +02:00
dontinelli b18b497a81 Bump solarlog_cli to 0.3.0 (#125951) 2024-09-14 15:46:01 +02:00
Jan-Philipp Benecke 2fa6370dc0 Use debug instead of info log level in components [a] (#125944)
* Use debug instead of info log level in components [a]

* Process code review comments
2024-09-14 15:24:55 +02:00
jesperraemaekers e92d9317aa Additional sensor for Weheat integration (#125524)
* Added additional sensor to Weheat

* Added tests for old and new sensors

* Added energy sensor

* Changed tests to use snapshot

* Removed unused value and regenerated the ambr

* Apply suggestions from code review

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

* changed DHW sensor creation

* Wrapped lambda function

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-14 12:01:04 +02:00
TimL 9eb3d84715 Add Smlight integration to strict-typing (#125946)
Add smlight to strict typing
2024-09-14 11:54:00 +02:00
Jan-Philipp Benecke c0f11c27a3 Use warning instead of info log level in roborock (#125940) 2024-09-14 09:53:04 +02:00
Jan-Philipp Benecke 932d66b0ee Use debug instead of info log level in google_maps (#125942) 2024-09-14 09:52:51 +02:00
Jan-Philipp Benecke aece6cc327 Use debug instead of info log level in linode (#125941) 2024-09-14 09:52:34 +02:00
Andre Lengwenus 5685ba7f55 Make acknowledge requests from LCN modules optional (#125765)
* Add acknowledge flag to config_entry

* Add acknowledge option to lcn configuration

* Fix tests

* Bump pypck to 0.7.23

* Add entry fixture for config_entry version 1.1 to test migration

* Add data_description to strings.json

* Create versioned config_entry in tests
2024-09-14 09:21:15 +02:00
TimL d121e4c9b5 Bump pysmlight to 0.0.16 (#125935)
Bump pysmlight to 0.0.16 for Smlight integration

Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-09-14 08:09:23 +02:00
jesperraemaekers 904c82be47 Bump Weheat to 2024.09.10 (#125936)
Weheat version bump to 2024.09.10
2024-09-14 08:05:47 +02:00
Paulus Schoutsen 1b913b8088 Fix Assist Satellite making up conversation IDs (#125933) 2024-09-13 23:21:31 -04:00
epenet 6d212ea24e Add helper functions for repair tests (#125886)
* Expose repairs constants and function for other components

* Reorder

* Use helper methods

* Adjust core_files

* Improve

* Update test_migrate.py
2024-09-14 03:31:44 +02:00
Michael Hansen 3eed5de367 Handle announcement finished for ESPHome TTS response (#125625)
* Handle announcement finished for TTS response

* Adjust test
2024-09-13 16:31:38 -04:00
G Johansson 970d28bce9 Remove own defined SOURCE_USER from sensoterra tests (#125919) 2024-09-13 22:19:45 +02:00
G Johansson 2080b9a87c Add config flow to template alarm_control_panel (#125861)
* Add config flow to template alarm_control_panel

* Remove commented code

* Test import
2024-09-13 22:12:16 +02:00
Michael Hansen cabaf37437 Bump aioesphomeapi and adjust handle_stop (#125907)
* Bump aioesphomeapi and adjust handle_stop

* Stop audio stream too

* Update homeassistant/components/esphome/assist_satellite.py

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

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-13 16:05:11 -04:00
Noah Husby 94916ebbd1 Add diagnostics platform to Cambridge Audio (#125910)
* Add diagnostics platform to Cambridge Audio

* Remove exclusions from Cambridge diagnostics

* Remove function call from snapshot

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

---------

Co-authored-by: Jan-Philipp Benecke <github@bnck.me>
2024-09-13 21:45:05 +02:00
puddly 50a46933f6 Bump ZHA to 0.0.33 (#125914) 2024-09-13 14:15:58 -04:00
Robert Contreras 85aa32338e Add Home Connect sensors for fridge door states and alarms (#125490)
* New sensors for Fridge door states and alarms

* Move 2 option entities to binary_sensor, tests

* Change state translations

* Fix stale docstring
2024-09-13 19:31:35 +02:00
puddly ba7ca84899 Remove unused keys from the ZHA config schema (#125710) 2024-09-13 11:34:06 -04:00
Noah Husby 2d9c9707e3 Improve integration tests for Cambridge Audio (#125906) 2024-09-13 17:09:33 +02:00
Noah Husby d507953c70 Add logs on disconnect/reconnect for Cambridge Audio (#125904)
* Bump aiostreammagic to 2.3.0

* Add logging on disconnect/reconnect for Cambridge Audio
2024-09-13 16:57:39 +02:00
G Johansson d855f70e3b Add RestoreEntity to template alarm_control_panel (#125844) 2024-09-13 16:44:48 +02:00
Noah Husby a2a049c5cc Bump aiostreammagic to 2.3.0 (#125903) 2024-09-13 16:37:32 +02:00
epenet 58f66e54f9 Improve config flow type hints in wolflink (#125313) 2024-09-13 16:34:08 +02:00
Steven B. ba856dac4e Migrate ring cam siren from switch to siren platform (#125761) 2024-09-13 15:39:22 +02:00
Raj Laud a01036760e Add tests to the media_player platform of the Squeezebox integration (#125378)
* Squeezebox media_player platform tests

* Fix play-pause test

* Squeezebox remove stray reference to deprecated property

* More tests for squeezebox

* Update tests to fix merge conflict with binary_sensor

* Refactor tests to use autospec

* Use freeze and snapshot

* Update media player entity before adding

* Consolidate test fixtures for different platforms

* Merge in sensor platform

* Use deepcopy

* Update tests with suggestions from code review
2024-09-13 15:20:31 +02:00
David Knowles 0af913cc9a Automatically add and remove Schlage devices (#125520)
* Allow manual deletion of stale Schlage devices

* Automatically add and remove locks

* Add tests and fix discovered bugs

* Changes requested during review
2024-09-13 15:17:51 +02:00
Lektri.co 2e3aec3184 Add button platform to the Lektrico integration (#125897)
* Add lektrico buttons.

* Add DeviceClass.RESTART, remove exception, update description.

* Remove translation_key=reboot.

* Add button in strings.json.

* Fix button test with new snapshot.

* Remove remove button from strings.json.

* Delete all snapshots.

* Add new snapshots.

* Update tests/components/lektrico/snapshots/test_button.ambr

* Update tests/components/lektrico/snapshots/test_button.ambr

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-13 15:13:49 +02:00
shapournemati-iotty 1cea791245 Add Cover platform to Iotty (#125422)
* fadd cover entity and device with mocked commands

* add cover features and update its open percentage

* execute command to the cloud instead of mocking change of shutter state

* test iotty cover commands and insertion

* fix post payload

* refactor introducing common entity from which cover and switch inherit

* move more properties to base class

* use explicit values instead of snapshots

* move iotty device initialization to base entity

* move device info from property to attribute
2024-09-13 14:55:53 +02:00
Steven B. eae4618c52 Migrate ring siren and switch platforms to entity descriptions (#125775) 2024-09-13 14:27:33 +02:00
LG-ThinQ-Integration e6d1daacee Add on_key to ONE_TOUCH_FILTER property in LG ThinQ integration (#125797)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-13 14:16:03 +02:00
Brett Adams e71709f0ec Add switch platform to Tesla Fleet (#125798)
* Add switch platform

* Add tests
2024-09-13 14:15:25 +02:00
Josef Zweck 8af6ffdb49 Bump lmcloud to 1.2.3 (#125801) 2024-09-13 14:08:29 +02:00
Adam Pasztor d2289fa542 Add select platform to ADS integration (#125892)
* Add ADS Select integration

* fix: review feedback.
2024-09-13 14:05:37 +02:00
Willem-Jan van Rootselaar 1ae1391cb9 Add platform sensor to BSBLAN integration (#125474)
* add sensor platform

* refactor: Add sensor data to async_get_config_entry_diagnostics

* refactor: Add tests for sensor

* chore: remove duplicate test

* Update tests/components/bsblan/test_sensor.py

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

* refactor: let hass use translation_key

fix raise

* refactor: Add new sensor entity names to strings.json

* refactor: Add tests for current temperature sensor

* refactor: Update native_value method in BSBLanSensor

* refactor: Update test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-13 14:04:00 +02:00
TimL 6aa07243cd Add info based sensors to Smlight integration (#125482)
* Move entity category to class

* improve type hints

* Regenerate sensor snapshots to remove some invalid entries

* Add info sensors that display various device settings/modes

* Add strings for info sensors

* Update sensor snapshot with new sensors

* Use StateType

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

* Use icon translations

* statetype

* drop ip sensor

* Lookup enum values before translating

* entities use options

* update options strings

strings

* lookup values from options

* update sensor snapshot

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-13 13:36:54 +02:00
Joakim Sørensen 5d9c986f87 Bump aiogithubapi from 23.11.0 to 24.6.0 (#125819) 2024-09-13 13:33:57 +02:00
Martin Hjelmare c7e9096dfd Bump zwave-js-server-python to 0.58.0 (#125666)
* Bump zwave-js-server-python to 0.58.0

* Update lock test
2024-09-13 13:22:37 +02:00
IceBotYT 13d83d86f6 Add reauth flow to Nice G.O. (#125516)
* Add reauth flow to Nice G.O.

* Remove unnecessary freezer use

* Tweaks

* Remove re-raise

* Tiny typing tweak

* Remove if in test

* Remove overlaying old data

* Don't touch title once done
2024-09-13 13:15:53 +02:00
Jan-Philipp Benecke 19a09b93dd Bump pydiscovergy to 3.0.2 (#125853) 2024-09-13 12:59:33 +02:00
Jan-Philipp Benecke 590b3d0fd4 Remove deprecated YAML import from seventeentrack (#125852) 2024-09-13 12:58:51 +02:00
Jan-Philipp Benecke ff31efdbf7 Bump aiotankerkoenig to 0.4.2 (#125855) 2024-09-13 12:58:23 +02:00
Klaas Schoute c67698b34e Bump autarco lib to v3.0.0 (#125867)
Bump autarco to v3.0.0
2024-09-13 12:50:04 +02:00
epenet 88cacbc898 Expose component constants for llm helper (#125891)
* Expose climate INTENT_GET_TEMPERATURE

* Expose conversation trace items

* More fixes for llm helper
2024-09-13 12:43:37 +02:00
AlCalzone 3eaa005c7e Use start/stop level change to open/close Z-Wave JS Window Covering CC covers (#125827)
* Z-Wave JS: Use start/stop level change to open/close Window Covering CC covers

* fix: import

* Update tests/components/zwave_js/test_cover.py

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

* assert that up_value and down_value exist

* fix: forgot one

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-13 12:41:13 +02:00
Adam Pasztor 834a1ed608 Add codeowner to ADS integration. (#125893) 2024-09-13 11:20:16 +02:00
epenet 0c178d858f Fix incorrect import in lcn tests (#125877) 2024-09-13 10:12:38 +02:00
epenet 6d17ad4da6 Move ADS supported types to a StrEnum (#125824) 2024-09-13 10:12:24 +02:00
Jan-Philipp Benecke f311198da0 Fix failing nextdns coordinator test (#125859) 2024-09-13 08:34:55 +02:00
epenet bd2b72235e Use root import in tests (#125862)
* Use root import in components

* One more
2024-09-13 06:42:32 +02:00
epenet 11f42761aa Fix incorrect import in androidtv tests (#125860) 2024-09-12 23:30:51 +02:00
epenet 47a9dda3b8 Use root import in components (#125858) 2024-09-12 22:21:21 +02:00
G Johansson d259e4512b Improve logging message for validation in climate (#125837) 2024-09-12 21:41:00 +02:00
epenet d530fd31b0 Use root import for async_redact_data in diagnostics (#125821) 2024-09-12 20:37:00 +02:00
Erik Montnemery 662a30ffaf Disable voip call_in_progress binary sensor (#125812) 2024-09-12 13:34:11 -05:00
Erik Montnemery 56031b2e1a Disable Wyoming assist_in_progress binary sensor (#125806) 2024-09-12 13:33:35 -05:00
Jan-Philipp Benecke 57e1709782 Remove deprecated YAML import from rova (#125849) 2024-09-12 20:27:42 +02:00
epenet 2c210e4b58 Use root import for websocket_api (#125834) 2024-09-12 19:31:57 +02:00
epenet 6ef1dd56f5 Use root import for device_automation (#125836) 2024-09-12 17:01:25 +02:00
Noah Husby a4c88a8591 Add entity available attribute to Cambridge Audio (#125831)
* Bump aiostreammagic to 2.2.4

* Move callback handling to entity class

* Wrap all module exceptions in HA errors for Cambridge Audio
2024-09-12 16:09:53 +02:00
epenet 4afc472068 Use root import for media_player and media_source (#125828)
* Use root import for media_player and media_source

* One more
2024-09-12 15:38:53 +02:00
epenet e27cee53a8 Improve type hints in ads (#125825)
* Improve type hints in ads

* One more

* Adjust
2024-09-12 15:33:27 +02:00
epenet 1a478bd78a Use root import for media_player and media_source in tests (#125829) 2024-09-12 14:55:29 +02:00
Michel van de Wetering 4e1b865775 Remove manufacturer name from Wake on LAN device_info (#123836)
Remove made up  manufacturer
2024-09-12 14:13:23 +02:00
Steven B. 02e392e215 Finish cleanup of deprecated ring update service (#125810) 2024-09-12 12:50:46 +02:00
HarvsG 70ebf2f5d8 Accept more than 1 state for numeric entities in Bayesian (#119281)
* test driven delevopment

* test driven development - multi numeric state

* better multi-state processing

* when state==below return true

* adds test for a bad state

* improve codecov

* value error already handled in async_numeric_state

* remove whitespace

* remove async_get

* linting

* test_driven dev for error handling

* make tests fail correctly

* ensure tests fail correctly

* prevent bad numeric entries

* ensure no overlapping ranges

* fix tests, as error caught in validation

* remove redundant er call

* remove reddundant arg

* improves code coverage

* filter for numeric states before testing overlap

* adress code review

* skip non numeric configs but continue

* wait to avoid race condition

* Better tuples name and better guard clause

* better test description

* more accurate description

* Add comments to calculations

* using typing not collections as per ruff

* Apply suggestions from code review

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

* follow on from suggestions

* Lazy evaluation

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

* update error text in tests

* fix broken tests

* move validation function call

* fixes return type of above_greater_than_below.

* improves codecov

* fixes validation

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-12 12:06:18 +02:00
G Johansson c21ea6b8da Validate target temp features in Climate Entity (#125180)
* Validate target temp features in Climate Entity

* Soften

* Break long string
2024-09-12 10:13:19 +02:00
Maciej Bieniek da401cafdf Add support for cover tilt for Shelly 2PM Gen3 (#125717)
* Add support for tilt

* Fix config

* Add test

* Increase test coverage
2024-09-12 09:28:36 +02:00
Erik Montnemery e89b258970 Disable ESPHome assist_in_progress binary sensor (#125802) 2024-09-12 09:07:01 +02:00
epenet b1a777a95a Move sunweg sensor definitions (#125754) 2024-09-12 08:05:40 +02:00
epenet 21d3f15059 Move growatt_server sensor definitions (#125755) 2024-09-12 07:58:05 +02:00
Michael Hansen 9651072103 Fix audio format for VoIP (#125785)
Fix audio format
2024-09-11 20:57:47 -04:00
LG-ThinQ-Integration 2475e8c0c4 Add binary_sensor platform to LG ThinQ integration (#125664)
* Add binary_sensor platform to LG ThinQ integration

* Update homeassistant/components/lg_thinq/binary_sensor.py

* Remove unused translation key

* Add one_touch_filter property to binary_sensor

* Add one_touch_filter to icons, strings

* Update homeassistant/components/lg_thinq/strings.json

---------

Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-12 02:32:13 +02:00
Noah Husby 11fe48f2d2 Bump aiostreammagic to 2.2.5 (#125792) 2024-09-12 01:57:54 +02:00
cnico ee7bee2766 Refactoring flipr integration to prepare Hub device addition (#125262)
* Addition of hub device

* coordinator udata updated after a hub action

* Unit tests update

* Unit tests improvements

* addition of tests on select and switch platforms

* wording

* Removal of select platform for PR containing only one platform

* Remove hub to maintain only the refactoring that prepare the hub device addition

* Review corrections

* wording

* Review corrections

* Review corrections

* Review corrections
2024-09-11 23:34:29 +02:00
Louis Christ 0582c39d33 Remove call to removed function in bluesound integration (#125779)
* Remove async_trigger_sync_on_all

* Use cast instead of instanceof
2024-09-11 23:14:43 +02:00
Louis Christ f176233f0a Bump pyblu to 1.0.2 (#125784) 2024-09-11 23:14:19 +02:00
Noah Husby 610e9239a4 Add media player test to Cambridge Audio (#125780)
* Add media player tests to Cambridge Audio

* Add media player tests to Cambridge Audio

* Remove unnecessary test case

* Move state_update call out of mock

* Update tests/components/cambridge_audio/test_media_player.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-11 22:06:03 +02:00
Joost Lekkerkerker 98728d37a6 Bump jaraco.abode to 6.2.0 (#125512)
* Bump jaraco.abode to 6.2.0

* Bump jaraco.abode to 6.2.0
2024-09-11 20:50:48 +02:00
Andy Castille d7cf05e693 Allow attaching additional data to schedule helper blocks (#116585)
* Add a new optional "data" key when defining time ranges for the schedule component that exposes the provided data in the state attributes of the schedule entity when that time range is active

* Exclude all schedule entry custom data attributes from the recorder (with tests)

* Fix setting schedule attributes to exclude from recorder, update test to verify the attributes exist but are not recorded

* Fix test to ensure schedule data attributes are not recorded

* Use vol.Any in place of vol.Or

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

* Remove schedule block custom data shorthand
as requested in https://github.com/home-assistant/core/pull/116585#pullrequestreview-2280260436

* Update homeassistant/components/schedule/__init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-11 20:11:06 +02:00
Steven B. 75d3ea34fc Add test snapshots to ring switch and siren platforms (#125771) 2024-09-11 19:46:26 +02:00
Arie Catsman 66f9e06c25 Reload enphase_envoy integration upon envoy firmware change detection (#124650)
* Reload enphase_envoy integration upon envoy firmware change detection.

* remove persistant notification
2024-09-11 19:39:54 +02:00
Tsvi Mostovicz f52f60307b Implement time triggers with offset for timestamp sensors (#120858)
* Implement time triggers with offset for timestamp sensors

* Fix bad change

* Add testcase for multiple conf_at with offsets

* Fix fixture rename

* Fix testcase - if no offset provided, it should be just the string of the entity id

* Get test to pass

* Simplify code

* Update the messaging and make the offset optional allowing specifying only the entity_id

* Move state tracking one level up

* Implement requesteed changes
2024-09-11 19:33:00 +02:00
Simon Lamon 420bdedcb5 Small improvements to linkplay from reviews (#125766)
Small improvements
2024-09-11 18:38:06 +02:00
Austin Mroczek 0c1a605693 Add TotalConnect option to require alarm code (#122270)
* add config option

* use code_required option in alarm

* test code_required options

* only use code for disarm

* change tests to disarm with code

* remove unneeded code variable

* Update homeassistant/components/totalconnect/alarm_control_panel.py

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

* use ServiceValidationError

* translate ServiceValidationError

* complete typing

* Update tests/components/totalconnect/test_alarm_control_panel.py

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

* use ServiceValidationError in test

* grab usercode from correct spot

* use client code instead of unfilled location code

* Revert "remove unneeded code variable"

This reverts commit 220de0e698e5779fcd7c45bee999a60ad186ab7f.

* remove unneeded code variable

* improve usercode checking

* use freezer

* fix usercode test data

* Update homeassistant/components/totalconnect/strings.json

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

* Update homeassistant/components/totalconnect/strings.json

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

* update test with new message

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-09-11 18:23:19 +02:00
epenet 393181df20 Move overkiz climate definitions (#125741) 2024-09-11 18:15:58 +02:00
epenet 315d59d615 Move overkiz water heater definitions (#125756) 2024-09-11 18:15:33 +02:00
epenet af5c63f805 Move overkiz cover definitions (#125757) 2024-09-11 18:14:31 +02:00
epenet ba9dae10c3 Simplify imports in mqtt (#125749) 2024-09-11 18:14:00 +02:00
Jeef e4347e5520 Add Monarch Money Integration (#124014)
* Initial commit

* Second commit - with some coverage but errors abount

* Updated testing coverage

* Should be just about ready for PR

* Adding some error handling for wonky acocunts

* Adding USD hardcoded as this is all that is currently supported i believe

* updating snapshots

* updating entity descrition a little

* Addign cashflow in

* adding aggregate sensors

* tweak icons

* refactor some type stuff as well as initialize the pr comment addressing process

* remove empty fields from manifest

* Update homeassistant/components/monarchmoney/sensor.py

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

* move stuff

* get logging out of try block

* get logging out of try block

* using Subscription ID as stored in config entry for unique id soon

* new unique id

* giving cashflow a better unique id

* Moving subscription id stuff into setup of coordinator

* Update homeassistant/components/monarchmoney/config_flow.py

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

* ruff ruff

* ruff ruff

* split ot value and balance sensors... need to go tos leep

* removed icons

* Moved summary into a data class

* efficenty increase

* Update homeassistant/components/monarchmoney/coordinator.py

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

* Update homeassistant/components/monarchmoney/coordinator.py

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

* Update homeassistant/components/monarchmoney/coordinator.py

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

* Update homeassistant/components/monarchmoney/entity.py

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

* refactor continues

* removed a comment

* forgot to add a little bit of info

* updated snapshot

* Updates to monarch money using the new typed/wrapper setup

* backing lib update

* fixing manifest

* fixing manifest

* fixing manifest

* Version 0.2.0

* fixing some types

* more type fixes

* cleanup and bump

* no check

* i think i got it all

* the last thing

* update domain name

* i dont know what is in this commit

* The Great Renaming

* Moving to dict style accounting - as per request

* updating backing deps

* Update homeassistant/components/monarch_money/entity.py

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

* Update tests/components/monarch_money/test_config_flow.py

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

* Update tests/components/monarch_money/test_config_flow.py

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

* Update tests/components/monarch_money/test_config_flow.py

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

* Update homeassistant/components/monarch_money/sensor.py

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

* some changes

* fixing capitalizaton

* test test test

* Adding dupe test

* addressing pr stuff

* forgot snapshot

* Fix

* Fix

* Update homeassistant/components/monarch_money/sensor.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-11 17:09:16 +02:00
jonnynch 2ea8af83bd Bump to python-nest-sdm to 5.0.1 (#125706) 2024-09-11 07:33:26 -07:00
Jan-Philipp Benecke bbdc036c3e Remove deprecated ring.update action (#125762) 2024-09-11 16:27:07 +02:00
Joost Lekkerkerker 344e43a94a Remove commented out code from weatherflow cloud (#125759) 2024-09-11 16:17:51 +02:00
Jan-Philipp Benecke f6cf23a8c2 Remove deprecated attributes from ping binary sensor (#125760) 2024-09-11 16:17:20 +02:00
Noah Husby 2db488b7a4 Add seek, shuffle, and repeat controls to Cambridge Audio (#125758)
* Add advanced transport controls to Cambridge Audio

* Use TransportControl model for play/pause
2024-09-11 16:09:22 +02:00
epenet cee14afc03 Move shared constant in zabbix (#125744) 2024-09-11 16:08:12 +02:00
epenet a7b6652fba Simplify imports in pilight (#125747) 2024-09-11 16:07:57 +02:00
epenet e140a2980b Move shared constant in ios (#125748) 2024-09-11 16:07:42 +02:00
starkillerOG 29311c7eb8 Fix favorite position missing for Motion Blinds TDBU devices (#125750)
* Add favorite position for TDBU

* fix styling
2024-09-11 15:58:23 +02:00
epenet 059fbe7958 Use HassKey in ads (#125735) 2024-09-11 15:52:44 +02:00
Russell VanderMey 79f3e30fb6 Add TRIGGERcmd integration (#121268)
* Initial commit with errors

* Commitable

* Use triggercmd user id as hub name

* Validate the token

* Use switch type, no trigger yet

* Working integration

* Use triggercmd module instead of httpx

* Add tests for triggercmd integration

* Add triggercmd to requirements_test_all.txt

* Add untested triggercmd files to .coveragerc

* Implement cgarwood's PR suggestions

* Address PR feedback

* Update homeassistant/components/triggercmd/config_flow.py

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

* Update homeassistant/components/triggercmd/hub.py

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

* Update homeassistant/components/triggercmd/strings.json

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

* Update homeassistant/components/triggercmd/hub.py

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

* Get user id via triggercmd module, and better check for status 200 code

* PR feedback fixes

* Update homeassistant/components/triggercmd/switch.py

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

* Update homeassistant/components/triggercmd/switch.py

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

* More PR feedback fixes

* Update homeassistant/components/triggercmd/config_flow.py

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

* Update homeassistant/components/triggercmd/strings.json

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

* Update homeassistant/components/triggercmd/switch.py

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

* More PR feedback fixes

* Update tests/components/triggercmd/test_config_flow.py

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

* Changes for PR feedback

* Changes to address PR comments

* Fix connection error when no internet

* Update homeassistant/components/triggercmd/__init__.py

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

* Update homeassistant/components/triggercmd/config_flow.py

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

* Update homeassistant/components/triggercmd/config_flow.py

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

* Update homeassistant/components/triggercmd/config_flow.py

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

* Update tests/components/triggercmd/test_config_flow.py

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

* Updates for PR feedback

* Update tests/components/triggercmd/test_config_flow.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-11 15:49:37 +02:00
Assaf Akrabi f42bc3aaae Bump russound to 0.2.0 (#125743)
* Update russound library to fix BrokenPipeError

* Remove library from license expection list
2024-09-11 15:48:20 +02:00
epenet 09dd647741 Simplify imports in mysensors (#125746) 2024-09-11 15:21:51 +02:00
epenet c33ba541b0 Add flexibility to HassEnforceClassModule (#125739)
* Add flexibility to HassEnforceClassModule

* Adjust
2024-09-11 15:11:03 +02:00
epenet 1d3f431628 Use HassKey in trace (#125751) 2024-09-11 15:06:38 +02:00
epenet 3a05855f71 Simplify imports in remote_rpi_gpio (#125745) 2024-09-11 14:19:49 +02:00
Joseph Chiocchi eb66a2f32f Update worldclock component config_flow labels to match pre-defined format output (#125707)
update labels for pre-defined options

update labels for pre-defined options to match strftime's formatted output
2024-09-11 13:40:13 +02:00
Arie Catsman 3c1860cca2 Add storage settings for enphase_envoy batteries without enpower device (#125527)
* Add battery storage settings for enphase_envoy EU configuration

* Add EU Battery test fixture to enphase_envoy

* Add tests and snapshots for enphase_envoy EU battery

* refactor eu battery fixture to align with other enphase_envoy fixtures

* remove if from test and use test parameter for eu battery enphase_envoy tests
2024-09-11 13:32:29 +02:00
Jason Hunter 356bca119d Duke Energy Integration (#125489)
* Duke Energy Integration

* add recorder mock fixture to all tests

* address PR comments

* update tests

* add basic coordinator tests

* PR comments round 2

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-11 13:28:47 +02:00
Arie Catsman 1a21266325 Improve test code coverage for enphase_envoy (#125582)
* Improve test code coverage for enphase_envoy

* Update tests/components/enphase_envoy/test_init.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-11 13:03:17 +02:00
Adam Pasztor d722b7255c Add ADS valve integration (#125619)
* feat: Add ADS valve integration

* fix: replace imports to adhere with #125665

* fix: address review feedback.

* fix: address review feedback.
2024-09-11 13:02:06 +02:00
Adam Goode 647017d18c Take a list of values for testing Threshold (#125705)
When parameterizing these tests, I forgot that hysteresis tests are
sensitive to all previous values rather than just the previous one.

This change should restore behavior to the pre-parameterization version
by replaying all value histories.

Subsequent changes will add new test cases.
2024-09-11 13:00:57 +02:00
Simon Lamon b1698bc0d5 Allow to play a LinkPlay preset (#125204)
* Allow to play a linkplay preset

* Make it an entity service

* Fixes

* PR feedback

* Rename more
2024-09-11 12:54:12 +02:00
TimL b8ce687ec2 Add server side events to Smlight integration (#125553)
* Register SSE client

* Add switch events for settings changes

* Mock sse settings events

* Apply suggestions from code review

Co-authored-by: Paarth Shah <mail@shahpaarth.com>

* access callbacks from mock call_args

---------

Co-authored-by: Paarth Shah <mail@shahpaarth.com>
2024-09-11 12:53:08 +02:00
Noah Husby 2f68bbd27a Bump aiostreammagic to 2.2.3 (#125704)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-11 12:51:56 +02:00
epenet 419e83f6d8 Bump sfrbox-api to 0.0.11 (#125732)
* Bump sfrbox-api to 0.0.11

* Re-enable tests
2024-09-11 12:51:39 +02:00
Matthias Alphart eb5390b94d Update knx-frontend to 2024.9.10.221729 (#125734) 2024-09-11 12:23:23 +02:00
LG-ThinQ-Integration 8e026bf95d Add common apis to base entity class of LG ThinQ integration (#125713)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-11 11:52:19 +02:00
epenet c4b870bfd3 Add EntityDescription classes to pylint plugin (#125596)
* Add EntityDescription classes to pylint plugin

* Ignore existing violations

* Adjust
2024-09-11 11:30:35 +02:00
shapournemati-iotty 618586c577 Upgrade iottycloud to 0.2.1 (#125731)
upgrade iottycloud lib to 0.2.1
2024-09-11 11:21:59 +02:00
Robert Resch acc046def6 Bump uv to 0.4.9 (#125726) 2024-09-11 10:41:36 +02:00
Matrix da1003ac41 Improve yolink code readability (#125724)
Improve code readability
2024-09-11 10:27:48 +02:00
Robert Resch 7555f209b6 Use uv at runtime too (#125110) 2024-09-11 09:43:26 +02:00
chammp b3377fe5fb Add condition to trigger template entities (#119689)
* Add conditions to trigger template entities

* Add tests

* Fix ruff error

* Ruff

* Apply suggestions from code review

* Deduplicate

* Tweak name used in debug message

* Add and improve type annotations of modified code

* Adjust typing

* Adjust typing

* Add typing and remove unused parameter

* Adjust typing

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

* Adjust return type

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

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-11 09:36:49 +02:00
Jason Hunter 74834b2d88 Pin pyasn1 until fixed (#125712)
* pin pyasn1 until fixed

* add to gen requirements
2024-09-11 09:35:05 +02:00
chammp 56dfb2c734 Add unit_of_measurement to template numbers (#122862) 2024-09-11 08:47:17 +02:00
Michael Hansen 8e0b2b752c Cancel running pipeline on new pipeline or announcement (#125687)
* Cancel running pipeline

* Incorporate feedback

* Change to async_create_task
2024-09-10 20:56:15 -04:00
Michael Hansen c01bdd860a Unload assist satellite platform on disconnect (#125697) 2024-09-10 20:50:22 -04:00
mvn23 2611f72f5d Add LED mode select entities to opentherm_gw (#125702)
Add select entities for LED mode to opentherm_gw
2024-09-11 00:12:09 +02:00
Shai Ungar 1be455e0e0 Add URL description for Sabnzbd integration (#125414)
* Create pull.yml

* Add URL description

* remove file
2024-09-10 22:59:50 +02:00
mvn23 2e54967a6d Add select platform to opentherm_gw (#125585)
* * Add select platform to opentherm_gw
* Add tests for select entities

* Address capitalization feedback

* Add initial state on startup and status update support

* Wrap lambdas in parentheses
2024-09-10 22:49:45 +02:00
Jan-Philipp Benecke 6c5dfd0bbc Fix failing elevenlabs tts test (#125698) 2024-09-10 22:35:24 +02:00
Noah Husby 69530a5c94 Add pre-amp support for Cambridge Audio (#125699) 2024-09-10 22:34:51 +02:00
Noah Husby b640efa209 Bump aiostreammagic to 2.1.0 (#125696) 2024-09-10 22:23:34 +02:00
Jan Bouwhuis 5c2d7b8fa5 Fix incomfort invalid setpoint if override is reported as 0.0 (#125694) 2024-09-10 22:04:53 +02:00
Joost Lekkerkerker 688da5389c Mark UVC as strict typed (#123239) 2024-09-10 22:02:46 +02:00
Robert Resch 377ae75e60 Disbale Tfiac integration due invalid wheel (#125692) 2024-09-10 21:53:04 +02:00
Maciej Bieniek 9bbd59438e Bump nextdns to version 3.3.0 (#125688) 2024-09-10 21:20:43 +02:00
Erik Montnemery dd4f1a0d0f Simplify recorder statistics_meta_manager (#125648) 2024-09-10 21:00:06 +02:00
Steven B. 40ee39f258 Update tplink config to include aes keys (#125685) 2024-09-10 13:52:10 -05:00
epenet 44ca43c7ee Add pylint check for DOMAIN alias (#125559) 2024-09-10 20:41:04 +02:00
epenet 3536ba43f5 End deprecation setting disabled_by as string (#125646) 2024-09-10 20:39:51 +02:00
Erik Montnemery 15e5851383 Extend deprecation period for hass.components by 6 months (#125659) 2024-09-10 20:38:45 +02:00
Andre Lengwenus 2b3a6e5361 Refactor LcnEntity signature (#124411)
* Refactorings due to change of LcnEntity signature

* Fix PR comments

* Move parent class LcnEntity to entity.py
2024-09-10 19:38:40 +02:00
Steven B. aa8f98392d Bump tplink python-kasa lib to 0.7.3 (#125686) 2024-09-10 19:35:18 +02:00
Erik Montnemery bde92b34dd Remove recorder history queries for database schemas < 31 (#125652) 2024-09-10 19:26:19 +02:00
Noah Husby 650c92a3cf Add Cambridge Audio integration (#125642)
* Add Cambridge Audio integration

* Add zeroconf discovery to Cambridge Audio

* Bump aiostreammagic to 2.0.1

* Bump aiostreammagic to 2.0.3

* Add tests to Cambridge Audio

* Fix package names for Cambridge Audio

* Removed unnecessary mock from Cambridge Audio tests

* Clean up Cambridge Audio integration

* Add additional zeroconf tests for Cambridge Audio

* Update tests/components/cambridge_audio/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-10 18:27:51 +02:00
Roelf Zomerman 457cb7ace0 Add velbus HVAC options (#106570)
* Added HVAC options

* Update manifest.json

required aio to 2023.12.0

* Update manifest.json

* Add files via upload

* Update homeassistant/components/velbus/climate.py

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

* Update climate.py

removed unused variables for cool and heat

* Update climate.py

removed unused functions

* Update homeassistant/components/velbus/climate.py

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

* Update climate.py

accepted changes

* Update climate.py

remove state None for HVAC-MODE

* Update climate.py

changed set_hvac_mode to remove none and only switch when state /= requested mode

* Update climate.py

indent on line 94/95

* Update climate.py

changed set_hvac_mode attribute type to match superclass ClimateEntity (HVACMode)

* Update climate.py

changed def hvac_mode to 2 return options (to avoid any)

* Update climate.py

ruff formatting

* Update climate.py

added serviceValidationError section in hvac_mode setting

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update climate.py

* Update strings.json

* Update strings.json

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-10 18:10:52 +02:00
Álvaro Fernández Rojas 3e8fe57fc1 Update aioairzone to v0.9.2 (#125682)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-10 18:04:00 +02:00
Jeef 90bbe462ff Bump weatherflow4py to 0.3.4 (#125681)
removed print statemnet in backing lib
2024-09-10 17:54:19 +02:00
Adam Goode 72d546d6c2 Move constants in Threshold (#125683) 2024-09-10 17:51:23 +02:00
Simon dd08a6505e Use default voice id as fallback in get_tts_audio (#123624) 2024-09-10 17:42:17 +02:00
Paarth Shah 47bcb214d1 Bump matrix-nio to 0.25.1 (#125555) 2024-09-10 17:31:45 +02:00
Phill (pssc) a16ef5b7ff Add squeezebox service sensors (#125349)
* Add server sensors

* Fix Platforms order

* Fix spelling

* Fix translations

* Add sensor test

* Case changes

* refactor to use native_value attr override

* Fix typing

* Fix cast to type

* add cast

* use update platform for LMS versions

* Fix translation

* remove update entity

* remove possible update entites

* Fix and clarify

* update to icon trans remove update plaform entitiy supporting items

* add UOM to sensors

* correct criptic prettier fail

* reword other players

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-10 17:17:26 +02:00
Kristof Mattei 300445948e Fix Lyric climate Auto mode (#123490)
fix: Lyric has an actual "Auto" mode that is exposed if the device has an Auto mode.
2024-09-10 17:06:25 +02:00
Krzysztof Dąbrowski 8324360045 Add Roomba last mission sensor (#123048)
* Roomba: add last mission sensor

* Set sensor as unavailable if last mission timestamp is 0

Previously, if the `mssnStrtTm` was 0, the function would return a 1970-01-01 (Unix epoch start date). With this change, the function will return None if the timestamp is 0 and the sensor will become unavailable.

* Update last_mission property to use dt_util.utc_from_timestamp
2024-09-10 17:04:25 +02:00
Jeef 2d0ccf84f9 Bump weatherflow4py to 0.3.3 (#125676)
version bump
2024-09-10 17:04:10 +02:00
Erik Montnemery ebd2034564 Disable sfr_box diagnostic test (#125678) 2024-09-10 16:51:32 +02:00
Louis Christ 5852917a10 Replace Throttle in bluesound integration (#124943)
* Replace Throttle with throttled and long-polling

* Remove custom throttled
2024-09-10 16:43:10 +02:00
Adam Goode a361c01ed6 Parameterize many of the threshold tests (#125521)
threshold: Parameterize many of the tests

This simplfies the structure of the basic threshold tests,
making it easier to subsequently update or add missing test cases.

Except for a few removals of an inconsistenly applied assertions on
`state.attributes["sensor_value"]`, there are no changes to the existing
tests intended. All previous tests are expected to run identically.

A few extra test cases for None are added.
2024-09-10 16:16:45 +02:00
silentguy256 379a8f2f86 Add state_class to OHM sensors (#125567)
* Minimum change required to get OHW into statistics

Not sure if there is any reason not to have this, my only idea would be that there would be that there are A LOT of values, but as far as I can see there are already long term data being stored about them anyway

* Update sensor.py

Guess that was an old way of doing it -_-

* Update sensor.py

remove spaces the break ruff -_-

* Update sensor.py

ruff is rough
2024-09-10 16:10:36 +02:00
Joost Lekkerkerker d8bb8f1efb Deprecate Daikin YAML platform setup (#125158) 2024-09-10 15:58:53 +02:00
RJPoelstra db61f8a0fa Bump python-MotionMount to 2.1.0 (#125660) 2024-09-10 15:58:20 +02:00
Adam Pasztor e261a159d5 Add new functions to ADS sensor integration (#125331)
* feat: Add new functions to ADS sensor integration

* fix: use constant for SensorDeviceClass, refactor entity initialisation.

* fix: add python typing.

* refactor: value conversion based on ADS_TYPE, and in the dedicated data fetching method.

* fix: removed unnecessary sensor types.

* refactor: optimised the usage of device classes and added state classes. removed unit of measurement

* fix: added unit of measurement to ADS sensor

* fix: addressing review suggestions.

* fix: address review suggestions.
2024-09-10 15:51:15 +02:00
René Honig 337335bfad Add Human Shape Detect to ONVIF (#125335)
added Humap Shape Detect
2024-09-10 15:39:53 +02:00
Thomas55555 ed907da190 Bump aioautomower to 2024.9.0 (#125647)
bump aioautomower to 2024.9.0
2024-09-10 15:38:18 +02:00
Markus Jacobsen 3ea4c3b8bf Fix malformed response in Bang & Olufsen testing (#125658)
Fix malformed SoftwareUpdateStatus object
2024-09-10 15:36:25 +02:00
epenet afeab659e1 Rename Entity module in tellduslive (#125668) 2024-09-10 15:34:30 +02:00
Joost Lekkerkerker 130b6559a6 Add coordinator to Daikin (#124394)
* Add coordinator to Daikin

* Add coordinator to Daikin

* Fix

* Add seconds
2024-09-10 15:30:30 +02:00
epenet 97c55ae6f1 Warn on non-string config entry unique IDs (#125662)
* Warn on non-string config entry unique IDs

* Add comment

* isinstance
2024-09-10 15:30:03 +02:00
Robert Resch 67dc870e52 Bump uv to 0.4.8 (#124867) 2024-09-10 15:28:17 +02:00
epenet 2f38731f62 Migrate wolflink config_entry unique_id to string (#125653)
* Migrate wolflink config_entry unique_id to string

* Move CONFIG to const

* isinstance

* Migrate identifiers

* Use async_migrate_entry
2024-09-10 15:16:26 +02:00
epenet 745a05d984 Move Hub and Entity to separate module in ADS (#125665)
* Move Hub and Entity to separate module in ADS

* Missed one
2024-09-10 15:02:09 +02:00
Robert Resch 7f7db4efb6 Disable ThermoWorks Smoke due incompatible dependencies (#125661) 2024-09-10 14:52:03 +02:00
Robert Resch da81efe9c1 Disable fail-fast on publish container jobs (#125245) 2024-09-10 13:43:25 +02:00
Erik Montnemery 99122fcb78 Remove recorder history queries for database schemas < 25 (#125649) 2024-09-10 12:43:08 +02:00
Sergey Dudanov dcd7830a35 Add calories to energy sensor device class (#122796)
* added calories to energy class

* changes

* temporarily solving the problem with conversion accuracy

* add tests

* added calories to energy class

* changes

* add tests

* Update homeassistant/util/unit_conversion.py

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

* Update homeassistant/util/unit_conversion.py

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

* apply suggestions

* Update homeassistant/util/unit_conversion.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-10 12:22:15 +02:00
RJPoelstra 9f284c0582 Add model_id to MotionMount integration (#125650) 2024-09-10 11:44:17 +02:00
epenet 9616d68e03 Improve config flow type hints in yeelight (#125319) 2024-09-10 11:42:44 +02:00
LG-ThinQ-Integration cb97085e48 Create property_ids with ActiveMode in LG ThinQ integration (#125638)
* Bump thinqconnect to 0.9.7

* Pass a r/w parameter to get active properties id from the cloud

---------

Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-10 10:59:07 +02:00
LG-ThinQ-Integration 7eba111704 Bump thinqconnect to 0.9.7 (#125587)
Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-10 10:32:58 +02:00
G Johansson 3cc5a29c1b Link mold_indicator entity to device from humidity sensor (#125528) 2024-09-10 08:42:22 +02:00
epenet 2fa0f283ea Add alias to DOMAIN import in config and demo (#125570) 2024-09-10 08:41:47 +02:00
epenet 7e2e3c4780 Rename HassEnforceCoordinatorModule (#125592) 2024-09-10 08:40:49 +02:00
J. Nick Koston 4c59bae1d2 Remove myself from codeowner from lutron_caseta (#125609) 2024-09-10 08:40:18 +02:00
epenet 675c467e12 Add alias to DOMAIN import (part 2) (#125561) 2024-09-10 08:40:02 +02:00
epenet 130e7317bc Add alias to DOMAIN import (part 3) (#125562) 2024-09-10 08:39:19 +02:00
J. Nick Koston bb56610093 Make auth safe params a frozenset (#125640) 2024-09-10 08:37:50 +02:00
Michael Hansen bd5892f2a6 Set responding state in assist satellite announcements (#125632)
Set responding state in announcements
2024-09-10 08:22:14 +02:00
dependabot[bot] 06e83340e8 Bump actions/attest-build-provenance from 1.4.2 to 1.4.3 (#125390)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-10 08:16:04 +02:00
J. Nick Koston 7508a2b383 Bump yarl to 1.1.11 (#125633)
changelog: https://github.com/aio-libs/yarl/compare/v1.11.0...v1.11.1
2024-09-10 00:38:59 -04:00
Paul Bottein f1e4229b23 Update frontend to 20240909.1 (#125610) 2024-09-09 16:33:08 -04:00
Klaas Schoute c9a936f375 Catch Forecast.solar ConnectionError when API down (#125621)
Catch Forecast.solar connection errors
2024-09-09 16:32:51 -04:00
epenet ce4a62574a Add alias to DOMAIN import (part 1) (#125560)
* Add alias to DOMAIN import (part 1)

* Revert tomato/xiaomi
2024-09-09 22:05:27 +02:00
epenet e750f8f457 Add alias to DOMAIN import (part 4) (#125563)
* Add alias to DOMAIN import (part 4)

* Simplify

* More integration

* Apply suggestions from code review

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

* Revert "Apply suggestions from code review"

This reverts commit 07471d3629.

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-09-09 21:32:33 +02:00
Erik Montnemery ded34561b1 Simplify cv._base_trigger_list_flatten (#125613) 2024-09-09 21:14:41 +02:00
epenet e0a221ba1f Add alias to DOMAIN import in deconz (#125568) 2024-09-09 19:27:06 +02:00
Martin Hjelmare c5453835c2 Bump aioopenexchangerates to 0.6.2 (#125593) 2024-09-09 17:36:19 +02:00
Robert Resch 0459596e97 Enable hadolint for hassfest docker image and adjust hadolint job (#125146) 2024-09-09 16:02:44 +02:00
epenet 6ea59ffa94 Add alias to DOMAIN import in tests [h-m] (#125577)
* Add alias to DOMAIN import in tests [h-m]

* Revert changes to mqtt
2024-09-09 15:21:01 +02:00
epenet aab939cf6c Add alias to DOMAIN import in tests [a-d] (#125573) 2024-09-09 15:20:40 +02:00
epenet fe2402b611 Add alias to DOMAIN import in tests [e-g] (#125575) 2024-09-09 15:18:28 +02:00
epenet 029dbe7d94 Add alias to DOMAIN import in homekit (#125572) 2024-09-09 15:14:35 +02:00
epenet af6434a533 Add alias to DOMAIN import in tests [n-z] (#125581) 2024-09-09 15:14:05 +02:00
Erik Montnemery dee4b33c64 Sort and remove duplicates from template/const.py (#125591) 2024-09-09 15:11:18 +02:00
Ludovic BOUÉ 8fff0075ba Add Matter BatVoltage attribute from PowerSource cluster (#125503)
* Add BatVoltage Attribute from PowerSource Cluster

* Update sensor.py

Remove comment

* Update homeassistant/components/matter/sensor.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-09 14:50:01 +02:00
Martin Hjelmare d7caaceb64 Document plant integration development state (#125590) 2024-09-09 14:47:04 +02:00
Jan Bouwhuis 3889482f0e Do not directy import platform DOMAIN const in MQTT platform tests (#125589) 2024-09-09 14:36:15 +02:00
Michael Hansen 1dc496a2dd Add announce support to ESPHome Assist Satellite platform (#125157)
Rebuild
2024-09-09 08:25:25 -04:00
karwosts 056e6eae82 Add a syntax for merging lists of triggers (#117698)
* Add a syntax for merging lists of triggers

* Updating to the new syntax

* Update homeassistant/helpers/config_validation.py

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

* fix suggestion

* update test and add comments

* not actually json

* move test to new file

* update tests

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-09-09 13:51:32 +02:00
epenet 06e876aee0 Add alias to DOMAIN import in group (#125569) 2024-09-09 11:07:19 +02:00
Matthias Alphart 713689491b Remove KNX yaml config from hass.data (#124050)
* Remove KNX yaml config from `hass.data`

* Use HassKey
2024-09-09 09:01:21 +02:00
Chris Brouwer 17ab45da43 Fix support for Heat meters to DSMR integration (#125523)
* Fix support for Heat meters to DSMR integration

* Fixed test
2024-09-09 08:36:59 +02:00
Erik Montnemery 2a1df2063d Separate recorder test fixtures disabling context id migration (#125324)
* Separate recorder test fixtures disabling context id migration

* Fix test
2024-09-09 08:16:30 +02:00
Jesse Hills d88487e30b Bump aioesphomeapi to 25.4.0 (#125554) 2024-09-08 22:54:18 -05:00
Michael Hansen 8884465262 ESPHome media proxy (#123254)
* Add ffmpeg proxy view

* Add tests

* Add proxy to media player

* Add proxy test

* Only allow one ffmpeg proc per device

* Incorporate feedback

* Fix tests

* address comments

* Fix test

* Update paths without auth const

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-08 22:22:35 -04:00
Denis Shulyaka a85ccb94e3 LLM Tool parameters check (#123621)
* LLM Tool parameters check

* fix tests
2024-09-08 18:42:51 -07:00
J. Nick Koston 391de22342 Bump yarl to 1.11.0 (#125549)
changelog: https://github.com/aio-libs/yarl/compare/v1.10.0...v1.11.0
2024-09-08 20:25:10 -04:00
J. Nick Koston 0592a39164 Fix building multidict binary wheels on armv7 and armhf (#125550)
Fix building multidict wheels on armv7 and armhf

This is the same fix as we needed for yarl

The armv7 and armhf wheels are missing
for multidict 6.0.5

https://wheels.home-assistant.io/musllinux/
2024-09-08 20:24:57 -04:00
Álvaro Fernández Rojas dca287748d Update aioairzone to v0.9.1 (#125547) 2024-09-08 17:56:29 -05:00
epenet 021878e942 Migrate ambient_network to use runtime_data (#125535) 2024-09-08 17:01:45 -05:00
epenet 0f2525d476 Migrate anova to use runtime_data (#125536) 2024-09-08 22:13:32 +02:00
epenet 4d804649fc Migrate apcupsd to use runtime_data (#125539) 2024-09-08 22:07:19 +02:00
epenet 7209b3c7d3 Migrate aosmith to use runtime_data (#125538) 2024-09-08 22:05:48 +02:00
epenet 6f88b6e64e Migrate anthemav to use runtime_data (#125537) 2024-09-08 22:04:34 +02:00
Jan-Philipp Benecke 4bcde36a97 Fix failing blebox climate tests (#125522) 2024-09-08 15:42:33 -04:00
epenet 7f4fc4d371 Migrate airvisual to use runtime_data (#125532)
* Migrate airvisual to use runtime_data

* Remove usedefault

* Adjust
2024-09-08 21:39:05 +02:00
Jason Hunter 513361ef0f Fix failing template config flow tests (#125534)
fix: failing template config flow tests
2024-09-08 21:38:31 +02:00
epenet 8ce236de80 Migrate amberelectric to use runtime_data (#125533) 2024-09-08 21:29:14 +02:00
epenet 8b8083a639 Migrate smappee to use runtime_data (#125529) 2024-09-08 21:18:08 +02:00
Steven B. 26ac8e35cb Add event platform to ring (#125506) 2024-09-08 13:32:34 -05:00
Jan-Philipp Benecke 20600123f8 Update bring todo entity snapshots (#125518)
Update bring todo snapshot
2024-09-08 18:52:21 +02:00
Steven B. b3d6f8861f Fix ring notifications (#124879)
* Enable ring event listener to fix missing notifications

* Fix pylint test CI fail

* Reinstate binary sensor and add deprecation issues

* Add tests

* Update post review

* Remove PropertyMock

* Update post review

* Split out adding event platform
2024-09-08 18:17:30 +02:00
David Knowles 5405279273 Fix Schlage removed locks (#123627)
* Fix bugs when a lock is no longer returned by the API

* Changes requested during review

* Only mark unavailable if lock is not present

* Remove stale comment

* Remove over-judicious nullability checks

* Remove another unnecessary null check
2024-09-08 17:39:23 +02:00
Paulus Schoutsen 634582eab7 Ensure Linkplay model_id is always defined (#125488)
Linkplay: ensure model_id always defined
2024-09-08 11:36:36 -04:00
Pete Sage 2c48f9aa4c FIx Sonos announce regression issue (#125515)
* initial commit

* initial commit
2024-09-08 17:34:27 +02:00
Whitney Young 8d0dda6523 Remove notify support for templates (#122820) 2024-09-08 17:31:58 +02:00
Joost Lekkerkerker 6967c70580 Change Knocki integration type to hub (#124863)
* Change Knocki integration type

* Fix
2024-09-08 17:11:19 +02:00
Janusz Gregorczyk 7bab3579ec Set required attribute when using Todoist Sync API reminder_add command (#122644)
* Set type=absolute when using Todoist Sync API reminder_add command.

This argument is required:

ref.: https://developer.todoist.com/sync/v8/#add-a-reminder

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-08 16:50:24 +02:00
Ian aa8c4a6eb7 Add ability to play plex media as the non-primary user (#122039)
* Adds ability to play media as the non-primary user

* Add return type for set function
2024-09-08 15:42:26 +02:00
Andrew Jackson 99a50fe874 Correct Mastodon IOT class (#125511)
* Correct iot class

* Fix hassfest
2024-09-08 15:40:53 +02:00
G Johansson 65b48aa903 Add config flow to Mold indicator (#122600)
* Add config flow to Mold indicator

* strings

* Add tests

* Is a helper

* Add back platform yaml

* Fixes

* Remove wait
2024-09-08 15:21:53 +02:00
treetip af62e8267f Add set_profile service for Vallox integration (#120225)
* Add set_profile service for Vallox integration

* Merge profile constants, use str input for service

* add service test and some related refactoring

* Change service uom to 'minutes'

Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>

* Update icons.js format after rebase

* Translate profile names for service

* Fix test using wrong dict

---------

Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
2024-09-08 15:07:42 +02:00
mvn23 45ab6e9b06 Deprecate opentherm_gw configuration through configuration.yaml (#125045)
* Create an issue in the issue registry if deprecated config is found in configuration.yaml
* Add deprecation comments to functions that can be removed after deprecation period
* Add test for the creation of a deprecation issue

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-08 14:45:37 +02:00
G Johansson a7a219b99b Deprecate aux_heat in econet (#125365)
* Deprecate aux_heat in econet

* strings

* Use generator
2024-09-08 14:24:39 +02:00
G Johansson c2d5696b5b Add validation to climate hvac mode (#125178)
* Add validation to climate hvac mode

* Make softer

* Remove string

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-08 14:24:12 +02:00
G Johansson 2ef37f01b1 Deprecate aux_heat from Nexia climate entity, implement switch (#125250)
* Remove deprecated aux_heat from nexia

* Add back aux_heat

* Raise issue
2024-09-08 14:23:24 +02:00
G Johansson 84def0c041 Deprecate aux_heat in elkm1 (#125372)
* Deprecate aux_heat in elkm1

* Update homeassistant/components/elkm1/switch.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-08 14:23:00 +02:00
G Johansson 26ede9a679 Fix yale_smart_alarm on missing key (#125508) 2024-09-08 14:06:40 +02:00
Jan Rieger c0ee12ca41 Add translation to Jellyfin (#123857)
* Add translation to Jellyfin

* Fix

* Address feedback
2024-09-08 14:00:34 +02:00
dougiteixeira 926ffe536c Fix UI config validation for button and switch actions in Template (#121810)
Fix IU config validation for button and switch actions in Template
2024-09-08 13:59:54 +02:00
Luke Lashley 2b2f5d6693 Add sleep to map select for Roborock (#122625)
* Add sleep to map select

* Update homeassistant/components/roborock/select.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-08 13:56:42 +02:00
Guido Schmitz d4f0aaa089 Add last restart sensor to devolo_home_network (#122190)
* Add last restart sensor to devolo_home_network

* Add missing test

* Rename fetch function

* Fix mypy
2024-09-08 13:50:36 +02:00
Mr. Bubbles 5b434aae6e Add DeviceInfo to Bring integration (#122419)
* Add DeviceInfo to Bring integration

* deeplink to shopping list

* Move device info to a entity base class
2024-09-08 13:45:12 +02:00
G Johansson 1ffd797e0a Clean up Mold indicator (#123080)
* Improve code quality on mold_indicator

* mypy

* Fix mypy
2024-09-08 13:11:57 +02:00
Simon 8acc027f38 Add voice settings to ElevenLabs options flow (#123265)
Add voice settings to options flow
2024-09-08 13:11:26 +02:00
Joakim Plate 3139a7e431 Adjust generic hygrostat to detect reported events for stale tracking (#124109)
* Listen to reported events for stale check

* Always enable stale sensor tracking

There is no reason not to have this enabled
now that we track reported events for sensors.

* Remove default stale code

* Adjust for ruff change
2024-09-08 12:51:08 +02:00
Joakim Plate e7cb646a58 Use json data instead of timedelta for tests in generic hygrostat (#124111)
Use json data instead of timedelta for tests
2024-09-08 12:50:29 +02:00
Kevin Stillhammer ec9f50317f Allow waze_travel_time multiple excl/incl filter (#117252)
* Allow multiple excl/incl filter

* Use list comprehension for should_include

* Do not use mutable object as default param

* Inline migration func
2024-09-08 12:50:04 +02:00
Mr. Bubbles fd0c63fe52 Add text-selector autocomplete in Bring config flow (#124063)
Add autocomplete to Bring config flow schema
2024-09-08 12:29:42 +02:00
Markus Jacobsen 31aef86c0f Add various assertions to Bang & Olufsen testing (#125429)
Add various assertions
2024-09-08 12:22:21 +02:00
Markus Jacobsen 943b96e7a1 Fix Bang & Olufsen testing typing (#125427)
* Fix test parameter typed as callable instead of context manager

* Add missing AsyncMock typing
2024-09-08 12:18:32 +02:00
Arie Catsman 74b78307ee Add balanced grid import/export to enphase_envoy (#123154)
* Add balanced grid import/export to enphase_envoy

* rebuild sensor snapshot after dev merge

* Cleanup snapshot file
2024-09-08 12:15:00 +02:00
Josef Zweck c0492d4af4 Add reconfigure for lamarzocco (#122160)
* add reconfigure

* fix strings, add to label

* Update homeassistant/components/lamarzocco/config_flow.py

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

* Update test_config_flow.py

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

* ruff

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-08 12:04:35 +02:00
Nerdix f5b754a382 Reorder openweathermap modes according to recommendation in documentation (#125395)
Reorder modes and default to new API version 3
2024-09-08 12:03:14 +02:00
Simon Lamon cee695da28 Add missing previous and next commands in LinkPlay (#125450)
Previous / Next commands
2024-09-08 12:00:03 +02:00
Arie Catsman 2ef1c96325 Include all enphase_envoy devices in async_remove_config_entry_device (#124533)
* Include all enphase_envoy devices in async_remove_config_entry_device

* refactor if tests
2024-09-08 11:56:23 +02:00
Marc Mueller d3badb88ef Fix solarlog test RuntimeWarning (#125504) 2024-09-08 11:43:50 +02:00
Joost Lekkerkerker 1f80b803f7 Fix after review comments for Acmeda (#125501)
Fix
2024-09-08 11:03:18 +02:00
TimL 2ea41c90b5 Bump pymslight to 0.0.15 (#125455)
Bump pymslight 0.0.15 for Smlight integration
2024-09-08 11:00:10 +02:00
Alan Murray 3fa24f87c0 Change of acmeda element unique_id (#124963)
* Update base.py

Change unique_id to be explicitly a string.

* Update __init__.py

Add unique id migration

* unique_id migration unit tests

* Update __init__.py

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

* Update __init__.py

Fixed ruff formatting issue

* Update __init__.py

* Update __init__.py

* In tests, load entity registries as test fixtures

* Fix

* Fix

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-08 10:42:54 +02:00
Willem-Jan van Rootselaar bfe19e82ff Add tests for BSBLAN climate component (#124524)
* chore: Add tests for BSBLAN climate component

* fix return types

* fix MAC data

* chore: Update BSBLAN climate component tests

used setup from conftest  added setup for farhenheit temp unit

* chore: Update BSBLAN climate component tests

use syrupy to compare results

* add test for temp_unit

* update climate tests

set current_temperature to None in test case. Is this the correct way for testing?

* chore: Update BSBLAN diagnostics to handle asynchronous data retrieval

* chore: Refactor BSBLAN conftest.py to simplify fixture and patching

* chore: Update BSBLAN climate component tests

100% test coverage

* chore: Update BSBLAN diagnostics to handle asynchronous data retrieval

* chore: Update snapshots

* Fix BSBLAN climate test for async_set_preset_mode

- Update test_async_set_preset_mode to correctly handle ServiceValidationError
- Check for specific translation key instead of full error message
- Ensure consistency between local tests and CI environment
- Import ServiceValidationError explicitly for clarity

* Update homeassistant/components/bsblan/entity.py

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

* chore: Update BSBLAN conftest.py to simplify fixture and patching

* chore: Update BSBLAN integration setup function parameter name

* chore: removed set_static_value

* refactor: Improve BSBLANClimate async_set_preset_mode method

This commit refactors the async_set_preset_mode method in the BSBLANClimate class to improve code readability and maintainability. The method now checks if the HVAC mode is not set to AUTO and the preset mode is not NONE before raising a ServiceValidationError.

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

* refactor: Improve tests

test_celsius_fahrenheit
test_climate_entity_properties
test_async_set_hvac_mode

test_async_set_preset_mode still broken. Not sure why hvac mode will not set. THis causes error with preset mode set

* update snapshot

* fix DOMAIN bsblan

* refactor: Improve BSBLANClimate async_set_data method

* refactor: fix last tests

* refactor: Simplify async_get_config_entry_diagnostics method

* refactor: Improve BSBLANClimate async_set_temperature method

This commit improves the async_set_temperature method in the BSBLANClimate class. It removes the unnecessary parameter "expected_result" and simplifies the code by directly calling the service to set the temperature. The method now correctly asserts that the thermostat method is called with the correct temperature.

* refactor: Add static data to async_get_config_entry_diagnostics

* refactor: Add static data to async_get_config_entry_diagnostics

right place

* refactor: Improve error message for setting preset mode

This commit updates the error message in the BSBLANClimate class when trying to set the preset mode.

* refactor: Improve tests

* Fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-08 10:41:54 +02:00
Avi Miller 5108e1a1cd Bump aiolifx and aiolifx-themes to support more than 82 zones (#125487)
Signed-off-by: Avi Miller <me@dje.li>
2024-09-08 09:53:32 +02:00
Andre Lengwenus 5e1b4b2d23 Clean up tests for LCN (#125493)
* Remove patches on 3rd party module level

* Cleanup test_init

* Cleanup platform tests

* Cleanup test_services

* Cleanup test_websockets

* Cleanup test_device_trigger

* Cleanup test_events

* Remove unused fixture
2024-09-08 09:20:57 +02:00
J. Nick Koston 03a6eb26be Bump zeroconf to 0.134.0 (#125491)
changelog: https://github.com/python-zeroconf/python-zeroconf/compare/0.133.0...0.134.0
2024-09-08 09:10:46 +02:00
J. Nick Koston 0a11acf7ae Replace linear search in unit_system with dict lookup (#125485) 2024-09-07 23:49:44 -04:00
Álvaro Fernández Rojas ab29718a45 Update aioairzone to v0.9.0 (#125476)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-07 22:32:36 +02:00
Dian 7e7a6e4937 Bump xiaomi-ble to 0.32.0 (#125461) 2024-09-07 14:33:48 -05:00
Marcel van der Veldt c53c2d7e64 Add model ID to Matter DeviceInfo (#125341)
* Add model ID to Matter DeviceInfo

* convert to string

* Test device registry

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-07 11:57:57 -04:00
Hessel 6e38cf878e Clean up test for Wallbox integration (#125433)
feat: Update API requests in wallbox integration tests
2024-09-07 15:34:48 +02:00
mvn23 066503b838 Fix docstrings in opentherm_gw (#125456) 2024-09-07 12:18:54 +01:00
tmenguy 3e70342265 Fix renault plug state (#125421)
* Added PlugState 3, that is coming with renault-api 0.2.7, it fixes #124682 HA ticket

* Added PlugState 3, that is coming with renault-api 0.2.7, it fixes #124682 HA ticket
2024-09-07 12:38:59 +02:00
tronikos 17994ff245 Request one data point in statistics_during_period in Opower (#124480) 2024-09-07 01:47:27 -07:00
Marcel van der Veldt cbd884d54a Add discovery schemas for Matter 1.3 power/energy sensors (#125403)
* Add missing discovery schemas for (Matter 1.3) Power/Energy measurements

* Prevent discovery of custom cluster if 1.3 cluster present

* add tests

* Use f-strings

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-07 07:55:08 +02:00
J. Nick Koston b8c3a44d81 Bump yarl to 1.10.0 (#125446)
changelog: https://github.com/aio-libs/yarl/compare/v1.9.11...v1.10.0
2024-09-07 07:36:34 +02:00
J. Nick Koston ce28d8a92c Bump yalexs to 8.6.4 (#125442)
adds a debounce to the updates to ensure we do
not request the activities api too often if
the websocket sends rapid updates

fixes #125277
2024-09-06 19:35:57 -05:00
Hessel 457e66527a Add model ID to WallboxEntity (#125434)
* chore: Update WallboxEntity model ID to use CHARGER_PART_NUMBER_KEY

The WallboxEntity model ID is updated to use the CHARGER_PART_NUMBER_KEY value from the coordinator data. This change ensures consistency and accuracy in identifying the model of the Wallbox entity.

* Update WallboxEntity model ID to use CHARGER_PART_NUMBER_KEY

* chore: Update WallboxEntity model ID to use CHARGER_PART_NUMBER_KEY

* remove obsolete key from test
2024-09-06 20:40:47 +02:00
mvn23 b9bd8f6b34 Add switch platform to opentherm_gw (#125410)
* WIP

* * Add switch platform
* Add tests for switches

* Remove unnecessary block_till_done-s

* Test that entities get added in a disabled state separately

* Convert to parametrized test

* Use fixture to add entities enabled.
2024-09-06 18:30:04 +02:00
IceBotYT cd3059aa14 Nice G.O. code quality improvements (#124319)
* Bring Nice G.O. up to platinum

* Switch to listen in coordinator

* Tests

* Remove parallel updates from coordinator

* Unsub from events on config entry unload

* Detect WS disconnection

* Tests

* Fix tests

* Set unsub to None after unsubbing

* Wait 5 seconds before setting update error to prevent excessive errors

* Tweaks

* More tweaks

* Tweaks part 2

* Potential test for hass stopping

* Improve reconnect handling and test on Homeassistant stop event

* Move event handler to entry init

* Patch const instead of asyncio.sleep

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-09-06 18:22:59 +02:00
Markus Jacobsen 741add0666 Replace strings with constants in Bang & Olufsen testing (#125423)
Replace strings with constants in service calls
2024-09-06 18:09:43 +02:00
Michael Hansen ee59303d3c Use first media player announcement format for TTS (#125237)
* Use ANNOUNCEMENT format from first media player for tts

* Fix formatting

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-09-06 10:57:09 -05:00
Andre Lengwenus 20639b0f02 Add tests for LCN climate and scene platform (#124466)
* Add tests for LCN climate and scene platform

* Add type hints

* Add snapshots for test_climate

* Add snapshots for test_scene

* Replace await_called assertion with snapshots

* Remove snapshots for simple status changes

* Test platform setup using snapshot_platform

* Fix type hints

* Patch homeassistant.components.lcn context instead of pypck module

* Fix side effects caused by patching PchkConnectionManager in lcn platform context
2024-09-06 17:56:46 +02:00
Arie Catsman ea7b2ecec0 Improve coordinator test coverage for enphase_envoy (#122375)
* Improve coordinator test coverage for enphase_envoy

* rename to test_coordinator to test_init for enphase_envoy

* Mock pyenphase _obtain_token instead of httpx auth requests in enphase_envoy tests.

* Move EnvoyTokenAuth patch to mock_envoy of enphase_envoy
2024-09-06 17:14:37 +02:00
Erik Montnemery 09989e6184 Fix UnboundLocalError in recorder (#125419) 2024-09-06 17:14:25 +02:00
Michał Jaworski 883e33e72a Fix mired range in blebox color temp mode lights (#124258)
* fix: use default mired range in belbox lights running in color temp mode

* fix: ruff
2024-09-06 16:59:14 +02:00
Arie Catsman 49b07b3749 Provide same entities for all Enphase_envoy CT types (#124531)
Provide same entities for all Enphase_envoy CT types.
2024-09-06 16:56:43 +02:00
tdfountain 6b75c86a17 Move ambient sensors (temperature and humidity) to diagnostic in NUT (#124180)
Move ambient sensors (temperature and humidity) to Diagnostic
2024-09-06 16:53:05 +02:00
tdfountain f86bd3dfee Improve consistency of sensor strings to reduce confusion in NUT (#124184)
Improve consistency of sensor strings to reduce confusion
2024-09-06 16:52:49 +02:00
Marlon 069b7a45ed Set min_power similar to max_power to support all inverters from apsystems (#124247)
Set min_power similar to max_power to support all inverters from apsystems ez1 series
2024-09-06 16:52:32 +02:00
Erik Montnemery e3e48ff9b7 Use PEP 695 for decorator typing with type aliases in zha (#124235) 2024-09-06 16:52:03 +02:00
epenet 33814d1180 Add model ID to sfr_box (#125400) 2024-09-06 10:50:17 -04:00
Paulus Schoutsen f126a6024e Migrate ESPHome to assist satellite (#125383)
* Migrate ESPHome to assist satellite

* Address comments
2024-09-06 10:48:42 -04:00
Michał Jaworski b6d45a5a07 Bump blebox_uniapi to v2.5.0 (#124298)
blebox: bump blebox_uniapi to v2.5.0
2024-09-06 16:46:54 +02:00
Kevin Worrel f6c681eb5d Remove support for area, device, or entity targets for screenlogic actions (#123432)
* Remove non-configentry service target

* Remove unneeded tests

* Remove unneeded issue strings
2024-09-06 16:46:06 +02:00
Alexandre TRUPIN c4cc158a77 Bump sfrbox-api to 0.0.10 (#125405)
* bump sfr_box requirement to 0.0.10

* upate manifest file

* Handle None values

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-06 16:18:47 +02:00
G Johansson e58cf00a96 Remove deprecated aux_heat from ecobee (#125246) 2024-09-06 16:18:24 +02:00
Paulus Schoutsen 6976a66758 Migrate VoIP to use assist satellite (#125381)
* Migrate VoIP to assist satellite

* Fix flaky test
2024-09-06 09:11:51 -05:00
TimL 6b1fc00910 Improve handling of old firmware versions (#125406)
* Update Info fixture with new fields from pysmlight 0.0.14

* Create repair if device is running unsupported firmware

* Add test for legacy firmware info

* Add strings for repair issue
2024-09-06 09:46:08 -04:00
Pierre Ståhl 8168b8fce4 Bump pyatv to 0.15.1 (#125412) 2024-09-06 09:43:16 -04:00
Joost Lekkerkerker 1e6b6fef7e Revert #122676 Yamaha discovery (#125216)
Revert Yamaha discovery
2024-09-06 09:42:56 -04:00
Robert Svensson 73f04e3ede Add filter run time for deCONZ air purifiers (#123306)
* Add filter run time for deCONZ air purifiers

* Add duration and second

* Fix review comments

* Update tests/components/deconz/snapshots/test_sensor.ambr

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-06 15:41:49 +02:00
G Johansson 9f469c08d1 Code quality improvement on local_file (#125165)
* Code quality improvement on local_file

* Fix

* No translation

* Review comments
2024-09-06 15:35:38 +02:00
J. Nick Koston 051a28b55a Remove unneeded wrapping of URL in URL in network helper (#125265)
* Remove unneeded wrapping of URL in URL in network helper

* fix mocks
2024-09-06 15:34:52 +02:00
J. Nick Koston ff449e7741 Bump yarl to 1.9.11 (#125287)
* Bump yarl to 1.9.10

changelog: https://github.com/aio-libs/yarl/compare/v1.9.9...v1.9.10

* 11
2024-09-06 15:23:22 +02:00
Noah Husby 8d239d368b Bump aiorussound to 3.0.4 (#125285)
feat: bump aiorussound to 3.0.4
2024-09-06 15:22:39 +02:00
epenet 3a5309e9a0 Improve config flow type hints in tellduslive (#125299) 2024-09-06 15:20:39 +02:00
epenet 86ef7bab28 Improve config flow type hints in totalconnect (#125300) 2024-09-06 15:20:11 +02:00
epenet f9928a5843 Fix location_id datatype in totalconnect tests (#125298)
Adjust location_id type in totalconnect tests
2024-09-06 15:19:54 +02:00
Stefano Sonzogni 2c99f060f0 Add binary sensors for motion detection Comelit simple home (#125200)
* Add binary sensors for motion detection

* sort platforms

* use _attr_device_class property and optimizations

* use static _attr_device_class property
2024-09-06 15:18:40 +02:00
GeoffAtHome 543f986955 Improve geniushub test coverage (#124157)
* Add tests for local connection

* Test cloud setup

* Improve tests.

* Simplied coverage test to cloud setup.

* Mock out library and add snapshots

* Mock out library and add snapshots

* Update tests/components/geniushub/conftest.py

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

* Attempt to make it nice

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-06 15:17:50 +02:00
epenet b68c90d59a Improve config flow type hints in vulcan (#125308)
* Improve config flow type hints in vulcan

* Adjust tests
2024-09-06 15:16:47 +02:00
epenet 66c6cd2a10 Improve config flow type hints in xiaomi_aqara (#125316) 2024-09-06 15:16:32 +02:00
Eric Shtivelberg f5f8c44ca6 Add Habitica up/down attributes for tasks (#125356)
add: up/down
2024-09-06 15:08:30 +02:00
epenet 58056c49f7 Improve config flow type hints (t-z) (#125315) 2024-09-06 15:08:13 +02:00
Simon Lamon af0a6d2820 Improve play media support in LinkPlay (#125205)
Improve play media support in linkplay
2024-09-06 15:02:38 +02:00
Jan Rieger f3e2c51774 Add translations to Xiaomi Miio (#123822)
* Add translations to Xiaomi Miio

* Deduplicate translations
2024-09-06 14:59:02 +02:00
epenet 053e38db38 Improve config flow type hints in volumio (#125318) 2024-09-06 14:57:04 +02:00
Paul Bottein ba81a68982 Update frontend to 20240906.0 (#125409) 2024-09-06 14:49:58 +02:00
steffenrapp f8c94fd83f Remove attributes from Nuki entities (#125348)
* Remove attributes from Nuki entities

* remove tests
2024-09-06 14:49:05 +02:00
Tony 9777ed2e62 Rename "Ruckus Unleashed" integration to "Ruckus" (#125392) 2024-09-06 14:48:16 +02:00
Matrix aba23eb513 Add YoLink temperature sensor YS8008 support (#125408)
Add YS8008 support
2024-09-06 14:47:31 +02:00
TimL 0eda451c24 Add Switch platform to Smlight integration (#125292)
* Add switch platform to Smlight

* Add strings for switch platform

* Add tests for Smlight switch platform

* Regenerate snapshot

* Address review comments

* Use is_on property for updating switch state

* Address review comments

---------

Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-09-06 14:25:55 +02:00
Marcel van der Veldt 8f38b7191a Fix for Hue sending effect None at turn_on command while no effect is active (#125377)
* Fix for Hue sending effect None at turn_on command while no effect is active

* typo

* update tests
2024-09-06 14:06:46 +02:00
Paulus Schoutsen ff3cabbf3a Small Assist Satellite fixes (#125384) 2024-09-06 07:36:02 -04:00
jesperraemaekers dfcfe78732 Add weheat core integration (#123057)
* Add empty weheat integration

* Add first sensor to weheat integration

* Add weheat entity to provide device information

* Fixed automatic selection for a single heat pump

* Replaced integration specific package and removed status sensor

* Update const.py

* Add reauthentication support for weheat integration

* Add test cases for the config flow of the weheat integration

* Changed API and OATH url to weheat production environment

* Add empty weheat integration

* Add first sensor to weheat integration

* Add weheat entity to provide device information

* Fixed automatic selection for a single heat pump

* Replaced integration specific package and removed status sensor

* Add reauthentication support for weheat integration

* Update const.py

* Add test cases for the config flow of the weheat integration

* Changed API and OATH url to weheat production environment

* Resolved merge conflict after adding weheat package

* Apply suggestions from code review

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

* Added translation keys, more type info and version bump the weheat package

* Adding native property value for weheat sensor

* Removed reauth, added weheat sensor description and changed discovery of heat pumps

* Added unique ID of user to entity

* Replaced string by constants, added test case for duplicate unique id

* Removed duplicate constant

* Added offline scope

* Removed re-auth related code

* Simplified oath implementation

* Cleanup tests for weheat integration

* Added oath scope to tests

---------

Co-authored-by: kjell-van-straaten <kjell.van.straaten@wefabricate.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-06 11:58:01 +02:00
Shay Levy ff20131af1 Use smlight discovery hostname as device name (#125359)
* Use smlight discovery hostname as device name

* Update reauth flow name

* Drop host from description
2024-09-06 11:49:10 +02:00
Ryan Mattson ccbc300b68 Lyric: fixed missed snake case conversions (#125382)
fixed missed snake case conversions
2024-09-06 11:45:39 +02:00
epenet 84dcfb6ddc Replace SW version by model ID in renault device info (#125399)
* Replace SW_VERSION by MODEL_ID in renault device info

* Simplify PR

* Fix tests
2024-09-06 11:45:13 +02:00
Sid 1db68327f9 Enable Ruff PTH for the script directory (#124441)
* Enable Ruff PTH for the script directory

* Address review comments

* Fix translations script

* Update script/hassfest/config_flow.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-06 11:33:01 +02:00
dontinelli 7752789c3a Increase coordinator update_interval for fyta (#125393)
* Increase update_interval

* Update homeassistant/components/fyta/coordinator.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-06 11:23:30 +03:00
TimL 54c15e7e0a Bump pysmlight to 0.0.14 (#125387)
Bump pysmlight 0.0.14 for smlight
2024-09-06 11:20:12 +03:00
Paulus Schoutsen 0092796fd2 Add model ID to linkplay (#125370) 2024-09-06 09:51:53 +02:00
Andre Lengwenus 187a38c91f Add tests for LCN actions / services (#125391)
* Add tests for services/actions

* Add snapshots for services/actions

* Use constants for service names and parameters

* Remove snapshot names
2024-09-06 09:51:11 +02:00
Dave Leaver b025942a14 Fix controlling AC temperature in airtouch5 (#125394)
Fix controlling AC temperature
2024-09-06 09:06:33 +02:00
Andre Lengwenus 0e515b2e1f Bump pypck to 0.7.22 (#125389) 2024-09-06 08:29:49 +02:00
TimL a341bfd8ca Add binary_sensor platform for Smlight integration (#125284)
* Support binary_sensors for SMLight integration

* Add strings for binary sensors

* Add tests for binary_sensor platform

* Update binary sensor docstring

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

* Regenerate snapshot

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-09-06 08:11:50 +02:00
Sid f80acdada0 Bump ruff to 0.6.4 (#125385)
* Bump ruff to 0.6.4

* fix Dockerfile
2024-09-06 08:08:40 +02:00
Erik Montnemery cf049a07c2 Don't allow templating min, max, step in config entry template number (#125342) 2024-09-06 07:59:22 +02:00
Erik Montnemery 0ca0836e83 Correct check for removed index in recorder test (#125323) 2024-09-06 07:21:41 +02:00
Michael Hansen 60b0f0dc53 Add assist satellite entity component (#125351)
* Add assist_satellite

* Update homeassistant/components/assist_satellite/manifest.json

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

* Update homeassistant/components/assist_satellite/manifest.json

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

* Add platform constant

* Update Dockerfile

* Apply suggestions from code review

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

* Address comments

* Update docstring async_internal_announce

* Update CODEOWNERS

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-05 21:16:30 -04:00
Paulus Schoutsen c3921f2112 Add model ID to unifiprotect (#125376) 2024-09-05 19:44:28 -04:00
Paulus Schoutsen aa619c5594 Add model ID to awair (#125373)
* Add model ID to awair

* less diff
2024-09-05 19:42:50 -04:00
Paulus Schoutsen 0677a256ec Add model ID to Wemo (#125368) 2024-09-05 23:03:50 +02:00
Paulus Schoutsen 97ffbf5aad Add model ID to samsungtv (#125369) 2024-09-05 23:03:37 +02:00
Paulus Schoutsen 006b2da14e Add model ID to roborock (#125366) 2024-09-05 16:52:45 -04:00
Paulus Schoutsen 56b4ddc6b4 Add model ID to Sonos (#125364) 2024-09-05 16:52:17 -04:00
G Johansson 2c0c0b9e21 Extend deprecation of aux_heat in ClimateEntity (#125360) 2024-09-05 22:34:35 +02:00
Mark Ruys 9e312f2063 Add Sensoterra integration (#119642)
* Initial version

* Baseline release

* Refactor based on first PR feedback

* Refactoring based on second PR feedback

* Initial version

* Baseline release

* Refactor based on first PR feedback

* Refactoring based on second PR feedback

* Refactoring based on PR feedback

* Refactoring based on PR feedback

* Remove extra attribute soil type

Soil type isn't really a sensor, but more like a configuration entity.
Move soil type to a different PR to keep this PR simpler.

* Refactor SensoterraSensor to a named tuple

* Implement feedback on PR

* Remove .coveragerc

* Add async_set_unique_id to config flow

* Small fix based on feedback

* Add test form unique_id

* Fix

* Fix

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-05 21:37:44 +02:00
G Johansson bbeecb40ae Remove deprecated aux_heat from zha (#125247)
Remove aux_heat from zha
2024-09-05 21:35:24 +02:00
YogevBokobza 48c9361c01 Bump aioswitcher to 4.0.3 (#125355) 2024-09-05 22:34:11 +03:00
Robert Contreras d686b877b1 Home Connect add FridgeFreezer switch entities (#122881)
* Home Connect add FridgeFreezer switch entities

* Fix unrelated test

* Implemented requested changes from review

* Move exist_fn check code to setup

* Assign entity_description during init

* Resolve issue with functional testing
2024-09-05 20:52:12 +02:00
Bouwe Westerdijk d2d01b337d Bump plugwise to v1.0.0 (#125354) 2024-09-05 20:16:11 +02:00
peteS-UK b0bfe71b9b Fix typo in squeezebox (#125352)
Spelling Correction on SERVER_MODEL
2024-09-05 18:44:19 +02:00
Phill (pssc) 38f3fa0210 Add Squeezebox server service binary sensors (#122473)
* squeezebox add binary sensor + coordinator

* squeezebox add connected via for media_player

* squeezebox add Player type for player

* Add more type info

* Fix linter errors

* squeezebox use our own status entity

* squeezebox rework device handling based on freedback

* Fix device creation

* squeezebox rework coordinator error handling

* Fix lint type error

* Correct spelling

* Correct spelling

* remove large comments

* insert small comment

* add translation support

* Simply sensor

* clean update function, minimise comments to the useful bits

* Fix after testing

* Update homeassistant/components/squeezebox/entity.py

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

* move data prep out of Device assign for clarity

* stop being a generic api

* Humans need to read the sensors...

* ruff format

* Humans need to read the sensors...

* Revert "ruff format"

This reverts commit 8fcb8143e7.

* ruff format

* Humans need to read the sensors...

* errors after testing

* infered

* drop context

* cutdown coordinator for the binary sensors

* add tests for binary sensors

* Fix import

* add some basic media_player tests

* Fix spelling and file headers

* Fix spelling

* remove uuid and use service device cat

* use diag device

* assert execpted value

* ruff format

* Update homeassistant/components/squeezebox/__init__.py

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

* Simplify T/F

* Fix file header

* remove redudant check

* remove player tests from this commit

* Fix formatting

* remove unused

* Fix function Type

* Fix Any to bool

* Fix browser tests

* Patch our squeebox componemt not the server in the lib

* ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-05 16:49:07 +02:00
Erik Montnemery 86ae70780c Refactor recorder retryable_database_job decorator (#125306) 2024-09-05 13:09:27 +02:00
mvn23 65e16b4814 Split opentherm_gw entity base class (#125330)
Add OpenThermStatusEntity to allow entities that don't need status updates
2024-09-05 13:03:16 +02:00
Adam Pasztor 70966c2b63 Add new data types to ADS integration (#125201)
* feat: Introduce new data types to ADS integration.

* refactor: ADS data unpacking based on PLC data type

* refactor: handle BOOL and STRING as special cases.
2024-09-05 12:07:19 +02:00
Malte Franken ba7f36328d Add diagnostics to GeoNet NZ Quakes integration (#125320)
* add diagnostics platform

* add tests

* add snapshot data

* remove from no diagnostics list
2024-09-05 11:35:36 +02:00
TimL 511ecf98d5 Add reauth flow for Smlight (#124418)
* Add reauth flow for smlight integration

* add strings for reauth

* trigger reauth flow on authentication errors

* Add tests for reauth flow

* test for update failed on auth error

* restore name title placeholder

* raise config entry error to trigger reauth

* Add test for reauth triggered at startup

---------

Co-authored-by: Tim Lunn <tim@feathertop.org>
2024-09-05 11:02:05 +02:00
Malte Franken b5831344a0 Add diagnostics to GDACS integration (#125296)
* simple diagnostics

* add service status information

* remove from no diagnostics list

* wip

* cater for the case where status info is undefined

* make test work

* code reformatted

* add snapshot data

* simplify code
2024-09-05 10:53:12 +02:00
Erik Montnemery 984eba809c Simplify generic decorators in recorder (#125301)
* Simplify generic decorators in recorder

* Remove additional case
2024-09-05 10:16:44 +02:00
epenet f778033bd8 Improve config flow type hints in ukraine_alarm (#125302) 2024-09-05 09:55:57 +02:00
Erik Montnemery a8f2204f4f Teach recorder data migrator base class to update MigrationChanges (#125214)
* Teach recorder data migrator base class to update MigrationChanges

* Bump migration version

* Improve test coverage

* Update migration.py

* Revert migrator version bump

* Remove unneeded change
2024-09-05 08:56:18 +02:00
Simon Lamon 4c56cbe8c8 Add follower to the PlayingMode enum (#125294)
Update media_player.py
2024-09-05 08:50:49 +02:00
J. Nick Koston 71d35a03e1 Switch hassio to use with_path where possible (#125268)
* Switch hassio to use with_path where possible

Any place we are joining to the root url, we can use with_path
as its much faster

* revert
2024-09-05 08:12:43 +02:00
Marc Mueller c8fd48523f Use TypeVar defaults for Generator (#125228) 2024-09-04 18:10:21 -10:00
J. Nick Koston fbd3bf7a98 Bump yarl to 1.9.9 (#125264) 2024-09-04 11:32:33 -10:00
J. Nick Koston a0356f587e Fix yarl binary wheel builds for armv7l and armhf (#125270) 2024-09-04 11:32:08 -10:00
Jordi 199a4b725b Increase AquaCell timeout and handle timeout exception properly (#125263)
* Increase timeout and add handling of timeout exception

* Raise update failed instead of config entry error
2024-09-04 23:22:31 +02:00
Raj Laud 505df84783 Squeezebox remove deprecated sync and unsync services (#125271)
* Squeezebox remove deprecated sync and unsync

* Squeezebox remove sync group attribute
2024-09-04 23:17:39 +02:00
Shay Levy baa9473383 Address BTHome review comment (#125259)
* Address BTHome review comment

* Review comment

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>

* generator expression

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

---------

Co-authored-by: Ernst Klamer <e.klamer@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-09-04 23:24:52 +03:00
ilan ba5d23290a Add madvr diagnostics (#125109)
* feat: add basic diagnostics

* fix: add mock data

* fix: regen snapshots
2024-09-04 21:57:37 +02:00
Shai Ungar adda02b6b1 Add service to 17track to archive package (#123493)
* Add service archive package

* Update homeassistant/components/seventeentrack/icons.json

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

* CR fix in tests

* CR fix in services.py

* string references

* extract constant keys

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-04 21:56:11 +02:00
G Johansson 1f59bd9f92 Don't show input panel if default code provided in envisalink (#125256) 2024-09-04 21:49:28 +02:00
G Johansson b61678d39c Fix blocking call in yale_smart_alarm (#125255) 2024-09-04 21:14:54 +02:00
Christopher Fenner b23297bb7e Add hysteresis entity for heat pumps via ViCare (#124294)
* add hysteresis entity

* update PyViCare-neo dependency

* add hysteresis switch on / of entities

* Revert "add hysteresis entity"

This reverts commit dcb5680d0c.
2024-09-04 20:32:40 +02:00
TimL f56c38d69b Add uptime sensors for Smlight (#124408)
* Add uptime sensor as derived sensor class

* Add strings for uptime sensors

* Update sensor tests to include uptime sensors

* test zigbee uptime when disconnected
2024-09-04 20:31:56 +02:00
tronikos c2b24dd355 Add debug logging in get_cost_reads in opower (#124473)
Add debug statements in get_cost_reads in opower
2024-09-04 20:30:24 +02:00
Tal Taub c4c8e74a8a Add Custom Drink Entities Tami4 Edge (#124506)
* Add drinks as button entities instead of using actions

* Remove button extensions

* Add an extension to create new buttons

* Use translation key for buttons names

* Change translation key wording

* Call async_add_entities once

* Add icons

* Update homeassistant/components/tami4/button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-04 20:29:06 +02:00
G Johansson c4029300c2 Remove deprecated aux_heat from honeywell (#125248) 2024-09-04 20:28:45 +02:00
J. Nick Koston 52320844fc Revert "Disable IPv6 in the opower integration to fix AEP utilities" (#125208)
Revert "Disable IPv6 in the opower integration to fix AEP utilities (#107203)"

This reverts commit 2a9a046fab.
2024-09-04 08:05:13 -10:00
Pete Sage b4e20409de Add Sonos tests and update error handling for unknown media (#124578)
* initial commit

* simplify tests
2024-09-04 20:03:26 +02:00
Michael Hansen 4ecc6555bf Add support for sample bytes in preferred TTS format (#125235) 2024-09-04 13:42:41 -04:00
mvn23 892c32c8b7 Add button platform to opentherm_gw (#125185)
* Add button platform to opentherm_gw

* Add tests for button.py

* Update tests/components/opentherm_gw/test_button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-04 19:20:05 +02:00
Artur Pragacz bad305dcbf Add Onkyo to strict typing (#124617) 2024-09-04 19:11:34 +02:00
TimL 7266a16295 Add Button platform for Smlight integration (#124970)
* Add button platform for smlight integration

* Add strings required for button platform

* Add commands api to smlight mock client

* Add tests for smlight button platform

* Move entity category to class

* Disable by default Zigbee flash mode
2024-09-04 19:10:59 +02:00
epenet 416a2de179 Improve config flow type hints in screenlogic (#125199) 2024-09-04 19:09:41 +02:00
Christopher Fenner 349ea35dc3 Fix device identifier in ViCare integration (#124483)
* use correct serial

* add migration handler

* adjust init call

* add missing types

* adjust init call

* adjust init call

* adjust init call

* adjust init call

* Update types.py

* fix loop

* fix loop

* fix parameter order

* align parameter naming

* remove comment

* correct init

* update

* Update types.py

* correct merge

* revert type change

* add test case

* add helper

* add test case

* update snapshot

* add snapshot

* add device.serial data point

* fix device unique id

* update snapshot

* add comments

* update nmigration

* fix missing parameter

* move static parameters

* fix circuit access

* update device.serial

* update snapshots

* remove test case

* Update binary_sensor.py

* convert climate entity

* Update entity.py

* update snapshot

* use snake case

* add migration test

* enhance test case

* add test case

* Apply suggestions from code review

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-04 18:41:20 +02:00
epenet 0fb1fbf0d1 Improve config flow type hints (q-s) (#125198)
* Improve config flow type hints (q-s)

* Revert screenlogic

* Revert starline
2024-09-04 18:38:34 +02:00
epenet 643fd34478 Improve config flow type hints in starline (#125202) 2024-09-04 18:38:19 +02:00
Duco Sebel 186c9aa33b Remove ExternalDevice migration in HomeWizard (#125197) 2024-09-04 18:32:57 +02:00
Martins Sipenko af51241c0d Reenable Smarty integration (#124148)
* Reenable Smarty integration

* Updated codeowners to myself

* Revert "Updated codeowners to myself"

This reverts commit 639fef32b9.

* Upgraded pysmarty2 to version 0.10.1 which is not pinned to specific pymodbus version

* Update requirements_all.txt
2024-09-04 18:01:49 +02:00
Shay Levy eaee8d5b78 Fix BTHome validate triggers for device with multiple buttons (#125183)
* Fix BTHome validate triggers for device with multiple buttons

* Remove None default
2024-09-04 17:34:11 +02:00
Michael Hansen 638434c103 Bump intents to 2024.9.4 (#125232) 2024-09-04 17:36:25 +03:00
Marc Mueller 3a44098ddf Fix Path.__enter__ DeprecationWarning in tests (#125227) 2024-09-04 07:12:57 -07:00
LG-ThinQ-Integration 1e1c3506fe Bump thinqconnect to 0.9.6 (#125155)
* Refactor LG ThinQ integration

* Rename ha_bridge_list to bridge_list

* Update for reviews

* Correct spells
Do not use mqtt related api

* Guarantee update status

* Update for reviews

* Update reviews

---------

Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-04 15:52:41 +02:00
Iskra kranj b557e9e826 Add Iskra integration (#121488)
* Add iskra integration

* iskra non resettable counters naming fix

* added iskra config_flow test

* fixed iskra integration according to code review

* changed iskra config flow test

* iskra integration, fixed codeowners

* Removed counters code & minor fixes

* added comment

* Update homeassistant/components/iskra/__init__.py

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

* Updated Iskra integration according to review

* Update homeassistant/components/iskra/strings.json

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

* Updated iskra integration according to review

* minor iskra integration change

* iskra integration changes according to review

* iskra integration changes according to review

* Changed iskra integration according to review

* added iskra config_flow range validation

* Fixed tests for iskra integration

* Update homeassistant/components/iskra/coordinator.py

* Update homeassistant/components/iskra/config_flow.py

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

* Fixed iskra integration according to review

* Changed voluptuous schema for iskra integration and added data_descriptions

* Iskra integration tests lint error fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-04 15:33:23 +02:00
Denis Shulyaka da0d1b71ce Update Anthropic default model to Haiku (#125225) 2024-09-04 06:30:28 -07:00
Robert Resch 4d96ed4c68 Update modified_at datetime on storage collection changes (#125218) 2024-09-04 15:05:51 +02:00
Marc Mueller 1bc63a61be Fix enum lookup (#125220) 2024-09-04 15:05:28 +02:00
Michal Jál 5c35ccb9ca Allow Switchbot users to force nightlatch (#124326)
* Add option to force nightlatch operation mode

* Fix format

* Make the new option available only for lock pro entry

* use senor_type instead of switchbot model + tests

* Update homeassistant/components/switchbot/lock.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-04 15:03:59 +02:00
J. Nick Koston a1ecefee21 Bump aioesphomeapi to 25.3.2 (#125188)
changelog: https://github.com/esphome/aioesphomeapi/compare/v25.3.1...v25.3.2
2024-09-04 08:35:52 -04:00
Hessel b5d7eba4f6 Add new number component for setting the wallbox ICP current (#125209)
* Add new number component for setting the wallbox ICP current

* feat: Add number component for wallbox ICP current control
2024-09-04 14:00:38 +02:00
starkillerOG 4b111008df Add 100% coverage of Reolink button platform (#124380)
* Add 100% button coverage

* review comments

* fix

* Use SERVICE_PRESS constant

* Use DOMAIN instead of const.DOMAIN

* styling

* User entity_registry_enabled_by_default fixture

* fixes

* Split out ptz_move test

* use SERVICE_PTZ_MOVE constant
2024-09-04 12:16:57 +02:00
Lenn fb5afff9d5 Add Motionblinds Bluetooth diagnostics (#121899)
* Add diagnostics platform

* Add diagnostics test

* Remove comments

* Exclude created_at and modified_at from snapshot

* Fix entry_id in mock_config_entry

* Add repr to excluded props from snapshot

* Improve diagnostics

* Use function name instead of number for callback diagnostics

* Remove info from diagnostics

* Reformat
2024-09-04 12:11:11 +02:00
Robert Resch 38a1c97a51 Bump deebot-client to 8.4.0 (#125207) 2024-09-04 11:46:41 +02:00
J. Nick Koston b26e4d672f Bump yarl to 1.9.8 (#125193)
changelog: https://github.com/aio-libs/yarl/compare/v1.9.7...v1.9.8
2024-09-04 11:44:49 +02:00
Bram Kragten daa5268cf2 Update frontend to 20240904.0 (#125206) 2024-09-04 11:35:14 +02:00
Matthias Alphart 9da3f98c23 Update knx-frontend to 2024.9.4.64538 (#125196) 2024-09-04 11:00:02 +02:00
Erik Montnemery 8fd691be69 Teach recorder data migrator base class to remove index (#125168)
* Teach recorder data migrator base class to remove index

* Fix tests
2024-09-04 09:52:41 +02:00
Erik Montnemery 7fc0e36b2f Move recorder EntityIDPostMigrationTask to migration (#125136)
* Move recorder EntityIDPostMigrationTask to migration

* Update test
2024-09-04 08:38:46 +02:00
Erik Montnemery 482bed522f Fix missing patch in nextdns tests (#125195) 2024-09-04 08:34:51 +02:00
Raman Gupta 7788685340 Get zwave_js statistics data from model (#120281)
* Get zwave_js statistics data from model

* Add migration logic

* Update comment

* revert change to forward entry
2024-09-04 08:16:56 +02:00
Dian af1af6f391 Bump xiaomi-ble to 0.31.1 to add support for human presence sensor XMOSB01XS (#124751) 2024-09-03 20:11:32 -10:00
Shay Levy d5c2e6ec35 Add myself as codeowner for BTHome (#125184) 2024-09-04 00:20:25 +03:00
Erik Montnemery d8382c6de2 Improve recorder tests to check indices are removed (#125164) 2024-09-03 22:56:27 +02:00
starkillerOG c4cfff4b3f Add 100% coverage of Reolink update platform (#124521)
* Add 100% update test coverage

* Add assertion
2024-09-03 22:50:00 +02:00
G Johansson cfe0c95c97 Bump python-holidays to 0.56 (#125182) 2024-09-03 22:43:03 +02:00
Maciej Bieniek 50c1bf8bb0 Add re-auth flow to NextDNS integration (#125101) 2024-09-03 22:38:07 +02:00
Erik Montnemery cc3d059783 Refactor recorder EventIDPostMigration data migrator (#125126) 2024-09-03 22:37:50 +02:00
Joakim Sørensen 4aa86a574f Add include-hidden-files to upload env_file artifact (#125179) 2024-09-03 22:23:26 +02:00
J. Nick Koston 3a8039cbc0 Bump yalexs to 8.6.3 (#125176)
Fixes the battery state not refreshing due to a refactoring
error in the library.

changelog: https://github.com/bdraco/yalexs/compare/v8.6.2...v8.6.3
2024-09-03 22:18:19 +02:00
Joakim Plate e4f9f6447f Update gardena_bluetooth dependency to 1.4.3 (#125175) 2024-09-03 21:45:43 +02:00
mvn23 14482ff6da Update opentherm_gw tests to prepare for new platforms (#125172)
Move MockConfigEntry to a fixture
2024-09-03 21:18:38 +02:00
Hans Kröner be8f14167f Expose UV Index in Met.no (#124992)
UV Index now also appears in forecasts.
2024-09-03 21:00:44 +02:00
J. Nick Koston 27032c1780 Bump yalexs to 8.6.2 (#125162)
changelog: https://github.com/bdraco/yalexs/compare/v8.6.0...v8.6.2
2024-09-03 19:53:10 +02:00
Paul Bottein 61a722218a Update frontend to 20240903.1 (#125160) 2024-09-03 19:52:38 +02:00
Raj Laud 3137c27e56 Fix type errors in squeezebox (#125166) 2024-09-03 19:50:44 +02:00
Nerdix 7b35c3036e Enhance error handling when changing a timer's duration (#121786)
* Update remaining before checking duration

* fix comment

* calculation based on transient field

* lint

* remove useless brackets
2024-09-03 19:47:00 +02:00
mvn23 8e03f3a045 Update opentherm_gw tests to avoid patching internals (#125152)
* Update tests to avoid patching internals

* * Use fixtures for tests
* Update variable names in tests for clarity

* Use hass.config_entries.async_setup instead of setup.async_setup_component
2024-09-03 19:19:43 +02:00
Raj Laud 8f26cff65a Enable strict typing for the Squeezebox integration (#125161)
* Strict typing for squeezebox

* Improve unit tests

* Refactor tests to use websockets and services.async_call

* Apply suggestions from code review

* Fix merge conflict
2024-09-03 19:19:30 +02:00
Alex Wijnholds 00533bae4b Add support for total YouTube views (#123144)
* Add support for retrieving the total views of a channel.

* Add missing tests

* Re-order imports

* Another run on code format

* Add missing translation

* Update YouTube test snapshots
2024-09-03 17:44:20 +02:00
Alexandre CUER 8255728f53 Migrate emoncms to config flow (#121336)
* Migrate emoncms to config flow

* tests coverage 98%

* use runtime_data

* Remove pyemoncms bump.

* Remove not needed yaml parameters add async_update_data to coordinator

* Reduce snapshot size

* Remove CONF_UNIT_OF_MEASUREMENT

* correct path in emoncms_client mock

* Remove init connexion check
as done by config_entry_first_refresh
since async_update_data catches exceptionand raise UpdateFailed

* Remove CONF_EXCLUDE_FEEDID from config flow

* Update homeassistant/components/emoncms/__init__.py

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

* Update homeassistant/components/emoncms/sensor.py

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

* Update homeassistant/components/emoncms/strings.json

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

* Use options in options flow and common strings

* Extend the ConfigEntry type

* Define the type explicitely

* Add data description in strings.json

* Update tests/components/emoncms/test_config_flow.py

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

* Update tests/components/emoncms/test_config_flow.py

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

* Add test import same yaml conf + corrections

* Add test user flow

* Use data_description...

* Use snapshot_platform in test_sensor

* Transfer all fixtures in conftest

* Add async_step_choose_feeds to ask flows to user

* Test abortion reason in test_flow_import_failure

* Add issue when value_template is i yaml conf

* make text more expressive in strings.json

* Add issue when no feed imported during migration.

* Update tests/components/emoncms/test_config_flow.py

* Update tests/components/emoncms/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-03 17:21:13 +02:00
ollo69 470335e27a Add sensors for AsusWRT using http(s) library (#124337)
* Additional sensors for AsusWRT using http(s) library

* Remove temperature sensors refactor from PR

* Fix test function name

* Change translation a suggested

* Requested changes
2024-09-03 17:11:17 +02:00
Andrew Jackson 56887747a6 Bump aiomealie to 0.9.2 (#125153)
Bump mealie version
2024-09-03 17:09:26 +02:00
Erik Montnemery 1dcae0c0a6 Improve some comments in recorder tests (#125118) 2024-09-03 17:04:08 +02:00
Erik Montnemery 8759a6a14d Make optional arguments to frame.report kwarg only (#125062)
* Make optional arguments to frame.report kwarg only

* Update homeassistant/helpers/frame.py

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-09-03 17:03:36 +02:00
Hans Kröner 5d072d1030 Bump PyMetno to 0.13.0 (#125151) 2024-09-03 16:51:13 +02:00
Raj Laud 78517f75e8 Add favorites support to Media Browser for Squeezebox integration (#124732)
* Add Favorites support to Media Browser

* CI fixes

* More CI Fixes

* Another CI

* Change icons for other library items to use standard LMS icons

* Change max favorites to BROWSE_LIMIT

* Simplify library_payload to consolidate favorite and non-favorite items

* Simplify library_payload to consolidate favorite and non-favorite items

* Add support for favorite hierarchy

* small fix for icon naming with local albums

* Add ability to expand an album from a favorite list

* Reformat to fix linting error

* and ruff format

* Use library calls from pysqueezebox

* Folder and playback support

* Bump to pysqueezebox 0.8.0

* Bump pysqueezebox version to 0.8.1

* Add unit tests

* Improve unit tests

* Refactor tests to use websockets and services.async_call

* Apply suggestions from code review

---------

Co-authored-by: peteS-UK <64092177+peteS-UK@users.noreply.github.com>
2024-09-03 16:50:55 +02:00
MJJ 42ed7fbb0d Increase timeout for fetching buienradar weather data (#124597)
Increase timeout for fetching weather data
2024-09-03 16:50:30 +02:00
Michael 96be3e2505 Use SnapshotAssertion in more AVM Fritz!Box Tools tests (#125037)
use SnapshotAssertion in more tests
2024-09-03 16:39:06 +02:00
UltimateGG 2fa3b9070c Fix updating insteon modem configuration while disconnected (#121918)
#121917 Fix updating insteon modem configuration while disconnected
2024-09-03 16:31:48 +02:00
mvn23 d827c53a85 Remove opentherm_gw options migration (#125046) 2024-09-03 15:59:12 +02:00
G Johansson 436ac72b82 End deprecation setting attributes directly on config entry (#123729)
* End deprecation setting attr directly on config entry

* Update ollama test

* Fix android_tv
2024-09-03 15:56:00 +02:00
Martin Hjelmare 7c15075231 Clean up Z-wave error log when raising in service handlers (#125138) 2024-09-03 15:49:11 +02:00
S 8e3ad2d1f3 Extended epson projector integration to include serial connections (#121630)
* Extended epson projector integration to include serial connections

* Fix review changes

* Improve epson types and translations

* Fix comment

---------

Co-authored-by: Joostlek <joostlek@outlook.com>
2024-09-03 15:46:57 +02:00
dependabot[bot] 733bbf9cd1 Bump actions/upload-artifact from 4.3.6 to 4.4.0 (#125056)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4.3.6 to 4.4.0.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4.3.6...v4.4.0)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-03 15:46:05 +02:00
Jakob Schlyter 822660732b Support setting Amazon Polly engine in service call (#120226) 2024-09-03 15:45:37 +02:00
Erik Montnemery d6bd4312ab Add explaining comments in cv.template tests (#125081) 2024-09-03 15:34:31 +02:00
J. Nick Koston 491bde181c Speed up hassio send_command url check (#125122)
* Speed up hassio send_command url check

The send_command call checked the resulting path to make
sure that the input path was not modified when converting
to a URL. Since the host is is pre-set, we only need to check
the processed raw_path matches command instead of converting
back to a string, and than comparing it against another
constructed string.

* Speed up hassio send_command url check

The send_command call checked the resulting path to make
sure that the input path was not modified when converting
to a URL. Since the host is is pre-set, we only need to check
the processed raw_path matches command instead of converting
back to a string, and than comparing it against another
constructed string.

* adjust
2024-09-03 15:29:02 +02:00
Artur Pragacz fdce524811 Add Onkyo Receiver class to improve typing (#124190) 2024-09-03 15:27:33 +02:00
Erik Montnemery cf10549df4 Restore unnecessary assignment of Template.hass in event helper (#125143) 2024-09-03 15:25:35 +02:00
Marcel van der Veldt fd01e22ca4 Fix energy sensor for ThirdReality Matter powerplug (#125140) 2024-09-03 15:24:49 +02:00
tronikos 334359bb0a Add Google Cloud Speech-to-Text (STT) (#120854)
* Google Cloud

* .

* fix

* mypy

* add tests

* Update .coveragerc

* Update const.py

* upload file, reconfigure and import flow

* fixes

* default to latest_short

* mypy

* update

* Allow clearing options in the UI

* update

* update

* update
2024-09-03 15:23:07 +02:00
Steven B. eda1656e75 Abort ring config_flow if account is already configured (#125120)
* Abort ring config_flow if account is already configured

* Update tests/components/ring/test_config_flow.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-03 15:22:38 +02:00
Robert Resch 6cea6be4a7 Improve hassfest docker image (#125133)
* Improve hassfest docker image

* Use fixed uv version

* Use cli params instead env

* run hassfest

* Exclude pycache
2024-09-03 14:59:01 +02:00
Brett Adams 6ecc5c19a2 Add climate platform to Tesla Fleet (#123169)
* Add climate

* docstring

* Add tests

* Fix limited scope situation

* Add another test

* Add icons

* Type vehicle data

* Replace inline temperatures

* Fix handle_vehicle_command type

* Fix preset turning HVAC off

* Fix cop_mode check

* Use constants

* Reference docs in command signing error

* Move to a read-only check

* Remove raise_for

* Fixes

* Tests

* Remove raise_for_signing

* Remove unused strings

* Fix async_set_temperature

* Correct tests

* Remove HVAC modes at startup in read-only mode

* Fix order of init actions to set hvac_modes correctly

* Fix no temp test

* Add handle command type

* Docstrings

* fix matches and fix a bug

* Split tests

* Fix issues from rebase
2024-09-03 14:38:47 +02:00
Erik Montnemery c321bd70e1 Log deprecation warning when cv.template is called from wrong thread (#125141)
Log deprecation warning when cv.template is called from wrong thread
2024-09-03 14:37:21 +02:00
Erik Montnemery 851600630c Log deprecation warning when template.Template is created without hass (#125142)
* Log deprecation warning when template.Template is created without hass

* Improve docstring
2024-09-03 14:28:33 +02:00
Michal Jál e3896d1f60 Bump PySwitchbot to 0.48.2 (#125113) 2024-09-03 14:22:39 +02:00
Aaron Bach c71cf272c8 Fix unhandled exception with missing IQVIA data (#125114) 2024-09-03 14:21:52 +02:00
Robert Resch d12c6f89d2 Bump hadolint to 2.12.0 and use matrix for all Dockerfiles (#125131)
* Bump hadolint to 2.12.0 and use matrix for all Dockerfiles

* Fix

* Disable fail fast
2024-09-03 14:13:43 +02:00
Steven B. 5965d8d503 Pass hass clientsession to ring config flow (#125119)
Pass hass clientsession to ring config flow
2024-09-03 14:00:30 +02:00
ilan 94f458ff98 Bump py-madvr2 to 1.6.32 (#125049)
feat: update lib
2024-09-03 13:56:59 +02:00
Allen Porter c07a9e9d59 Add dependency on google-photos-library-api: Change the Google Photos client library to a new external package (#125040)
* Change the Google Photos client library to a new external package

* Remove mime type guessing

* Update tests to mock out the client library and iterators

* Update homeassistant/components/google_photos/media_source.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-03 13:54:43 +02:00
Philip Vanloo b9db9eeab2 Add Linkplay mTLS/HTTPS and improve logging (#124307)
* Work

* Implement 0.0.8 changes, fixup tests

* Cleanup

* Implement new playmodes, close clientsession upon ha close

* Implement new playmodes, close clientsession upon ha close

* Add test for zeroconf bridge failure

* Bump 0.0.9
Address old comments in 113940

* Exact _async_register_default_clientsession_shutdown
2024-09-03 13:34:47 +02:00
Christopher Fenner f34b449f61 Correct device serial for ViCare integration (#125125)
* expose correct serial

* adapt inits

* adjust _build_entities

* adapt inits

* add serial data point

* update snapshot

* apply suggestions

* apply suggestions
2024-09-03 12:50:05 +02:00
Artur Pragacz fc24843274 Fix Onkyo action select_hdmi_output (#125115)
* Fix Onkyo service select_hdmi_output

* Move Hasskey directly under Onkyo domain
2024-09-03 12:43:31 +02:00
Steven B. 22b6239304 Convert ring integration to use entry.runtime_data (#125127) 2024-09-03 12:04:35 +02:00
LG-ThinQ-Integration aa8fe99113 Add binary_sensor platform to LG Thinq (#125054)
* Add binary_sensor entity

* Update the document link due to the domain name change

* Update casing

---------

Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-03 09:30:46 +02:00
Erik Montnemery 7c223db1d5 Remove recorder PostSchemaMigrationTask (#125076)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-03 07:51:27 +02:00
Jan Bouwhuis 0c18b2e7ff Remove is_on function from homeassistant.components (#125104)
* Remove `is_on` method from `homeassistant.components`

* Cleanup test
2024-09-03 06:57:25 +02:00
dontinelli d68ee8dcea Replace _host_in_configuration_exists with async_abort_entries_match in solarlog (#125099)
* Add diagnostics to solarlog

* Fix wrong comment

* Move to async_abort_entries_match

* Remove obsolete method solarlog_entries

* Update tests/components/solarlog/test_config_flow.py

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

* Update tests/components/solarlog/test_config_flow.py

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

* Update tests/components/solarlog/test_config_flow.py

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

* Update tests/components/solarlog/test_config_flow.py

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

* Amend import of config_entries.SOURCE_USER

* Update tests/components/solarlog/test_config_flow.py

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

* Ruff

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-03 00:38:09 +02:00
cnico 671aaa7e95 Bump flipr api to 1.6.1 (#125106) 2024-09-02 23:51:10 +02:00
Álvaro Fernández Rojas faefe624f6 Add Airzone Cloud Aidoo HVAC indoor/outdoor sensors (#125013)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-02 22:17:24 +02:00
J. Nick Koston f93259a2f1 Bump yalexs to 8.6.0 (#125102) 2024-09-02 21:43:34 +02:00
Erik Montnemery 606524f9e7 Test string timestamps are wiped after migration to schema version 32 (#125091)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-02 21:33:35 +02:00
J. Nick Koston cd89db9bb6 Add coverage for late unifiprotect person detection events (#125103) 2024-09-02 09:26:02 -10:00
Richard Kroegel f760c13e8f Fix blocking calls for OpenAI conversation (#125010) 2024-09-02 09:23:38 -10:00
Martin Hjelmare 687cd32142 Handle telegram polling errors (#124327) 2024-09-02 09:23:24 -10:00
Artur Pragacz fb27297df9 Fix area registry indexing when there is a name collision (#125050) 2024-09-02 09:23:07 -10:00
Avi Miller 3e350bdc90 Bump aiolifx to 1.0.9 and remove unused HomeKit model prefixes (#125055)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-09-02 09:22:39 -10:00
Erik Montnemery 0b14f0a379 Add test of statistics timestamp migration (#125100) 2024-09-02 09:13:26 -10:00
Maciej Bieniek 3206979488 Add separate entities for temperature, humidity and pressure in AccuWeather integration (#125041)
* Add temperature, humidity and pressure sensors

* Make uv index sensor disabled by default

* Fix type
2024-09-02 20:46:32 +02:00
Jan Bouwhuis 4c27bfbf7f Cleanup removed options for mqtt climate (#125083) 2024-09-02 20:35:36 +02:00
dontinelli 7c4fd9473c Add diagnostics to solarlog (#125072)
* Add diagnostics to solarlog

* Fix wrong comment
2024-09-02 20:08:44 +02:00
Paul Bottein 633c904852 Update frontend to 20240902.0 (#125093) 2024-09-02 20:04:33 +02:00
dontinelli 5300eddf33 Remove roundig in Solarlog and add suggested_display_precision (#125094)
* Remove roundig and add suggested_display_precision

* Add suggested_unit_of_measurement

* Put lamda in parentheses
2024-09-02 19:50:09 +02:00
Erik Montnemery 9f558d13e6 Correct start version in recorder schema migration tests (#125090)
* Correct start version in recorder schema migration tests

* Remove default from states.last_updated_ts
2024-09-02 19:32:01 +02:00
Steven B. 9ae59e5ea0 Bump ring-doorbell to 0.9.3 (#125087) 2024-09-02 18:18:45 +02:00
Steven B. 1b1c1c2a55 Call async_write_ha_state after ring update (#125096)
Use async_write_ha_state after ring update
2024-09-02 18:03:58 +02:00
Erik Montnemery df4bd721b5 Deprecate template.attach (#124843) 2024-09-02 15:33:10 +02:00
Erik Montnemery baa876d4d9 Remove lying comment from service.async_register_entity_service (#125079) 2024-09-02 15:18:02 +02:00
LG-ThinQ-Integration b99dceab74 Do not LG thinq retry entry setup, when a single coordinator failed (#125052)
Do not retry entry setup, when a single coordinator failed.

Co-authored-by: jangwon.lee <jangwon.lee@lge.com>
2024-09-02 14:58:06 +02:00
Erik Montnemery 114e254aa6 Don't raise when registering entity service with invalid schema (#125057)
* Don't raise when registering entity service with invalid schema

* Update homeassistant/helpers/service.py

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2024-09-02 14:20:50 +02:00
Erik Montnemery fbfd8c48aa Remove unused event from recorder (#125067) 2024-09-02 13:33:51 +02:00
tronikos d40e3145fe Setup Google Cloud from the UI (#121502)
* Google Cloud can now be setup from the UI

* mypy

* Add BaseGoogleCloudProvider

* Allow clearing options in the UI

* Address feedback

* Don't translate Google Cloud title

* mypy

* Revert strict typing changes

* Address comments
2024-09-02 04:30:18 -07:00
tronikos f4a16c8dc9 Add strict typing in Google Cloud (#125068) 2024-09-02 04:07:12 -07:00
Nidre 2ce6bd2378 Update Matter light transition blocklist to include YNDX LightStrip (#124657) 2024-09-02 12:28:49 +02:00
J. Nick Koston 9334099bed Bump habluetooth to 3.4.0 (#125058)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v3.3.2...v3.4.0
2024-09-02 11:28:42 +02:00
dontinelli 077edb08f6 Bump fyta_cli to 0.6.6 (#125065) 2024-09-02 11:27:31 +02:00
epenet 72d5146a3e Improve renault tests (#125064) 2024-09-02 10:46:35 +02:00
tronikos fa14321aa1 Bump androidtvremote2 to 0.1.2 to fix blocking event loop when loading ssl certificate chain (#125061)
Bump androidtvremote2 to 0.1.2
2024-09-02 01:41:29 -07:00
Erik Montnemery 8f679fcbf3 Fix motionblinds_ble tests (#125060) 2024-09-02 09:51:05 +02:00
G Johansson 78cf7dc873 New template merge_response (#114204)
* New template merge_response

* Extending

* Extend comment

* Update

* Fixes

* Fix comments

* Mods

* snapshots

* Fixes from discussion
2024-09-02 08:13:10 +02:00
Allen Porter 9fff3a13a5 Clarify comment in google photos upload service (#125042) 2024-09-01 21:49:38 -07:00
Shay Levy 99f43400bf Bump aioshelly to 11.4.2 (#125036) 2024-09-01 11:08:19 -10:00
J. Nick Koston 77b464f2bd Bump yarl to 1.9.7 (#125035) 2024-09-01 10:47:24 -10:00
Michael 07e251d488 Add diagnostics platform to modern forms (#125032) 2024-09-01 22:04:29 +02:00
dontinelli 659d135fca Add ConductivityConverter in websocket_api.py (#125029) 2024-09-01 21:02:32 +02:00
Álvaro Fernández Rojas 24414369d7 Update aioairzone-cloud to v0.6.5 (#125030)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-01 21:28:13 +03:00
Etienne Soufflet 92c1fb77e9 Fix Tado fan speed for AC (#122415)
* change capabilities

* fix tests 2

* improve usability with capabilities

* fix swings management

* Update homeassistant/components/tado/climate.py

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

* fix after Erwin's review

* fix after joostlek's review

* use constant

* use in instead of get

---------

Co-authored-by: Erwin Douna <e.douna@gmail.com>
2024-09-01 18:33:45 +02:00
Martin Hjelmare ae1f53775f Bump python-telegram-bot to 21.5 (#125025) 2024-09-01 17:51:31 +02:00
Dmitry Krasnoukhov bd6b5568eb Extend hjjcy device category in Tuya integration (#124854)
* Extend hjjcy device category in Tuya integration

* Better AQI level names
2024-09-01 17:50:53 +02:00
Malte Franken 5f2964d3e8 Bump aio-georss-gdacs to 0.10 (#125021)
bump aio-georss-gdacs to 0.10
2024-09-01 17:38:48 +02:00
Joost Lekkerkerker c6865d0862 Bump aiomealie to 0.9.1 (#125017) 2024-09-01 17:37:06 +02:00
Richard Kroegel ef8fc3913e Fix ollama blocking on load_default_certs (#125012)
* Fix ollama blocking on load_default_certs

* Use get_default_context instead of client_context
2024-09-01 17:35:55 +02:00
mvn23 56667ec2bc Migrate opentherm_gw climate entity unique_id (#125024)
* Migrate climate entity unique_id to match the format used by other opentherm_gw entities
* Add test to verify migration
2024-09-01 17:22:03 +02:00
Richard Kroegel fa21613951 Fix telegram_bot blocking on load_default_certs (#125014)
* Fix telegram_bot blocking on load_default_certs

* Use sync variant of create_issue
2024-09-01 17:13:04 +02:00
Richard Kroegel f735d12a66 Fix BMW client blocking on load_default_certs (#125015)
* Fix BMW client blocking load_default_certs

* Use get_default_context
2024-09-01 16:26:14 +02:00
mvn23 2f7a396778 Split opentherm_gw entities between different devices (#124869)
* * Add migration from single device to multiple devices, removing all old entities
* Create new devices for Boiler and Thermostat
* Add classes for new entities based on the new devices

* Split binary_sensor entities into devices

* Split sensor entities into different devices

* Move climate entity to thermostat device

* Fix climate entity away mode

* Fix translation placeholders

* Allow sensor values with capital letters

* * Add EntityCategory
* Update and add device_classes

* Fix translation keys

* Fix climate entity category

* Update tests

* Handle `available` property in `entity.py`

* Improve GPIO state binary_sensor translations

* Fix: Updates are already subscribed to in the base entity

* Remove entity_id generation from sensor and binary_sensor entities

* * Use _attr_name on climate class instead of through entity_description
* Add type hints

* Rewrite to derive entities for all OpenTherm devices from a single base class

* Improve type annotations

* Use OpenThermDataSource to access status dict

* Move entity_category from entity_description to _attr_entity_category

* Move entity descriptions with the same translation_key closer together

* Update tests

* Add device migration test

* * Add missing sensors and binary_sensors back
* Improve migration, do not delete old entities from registry

* Add comments for migration period

* Use single lists for entity descriptions

* Avoid changing sensor values, remove translations

* * Import only required class from pyotgw
* Update tests
2024-09-01 13:28:08 +02:00
Jeef 12336f5c15 Bump Intellifire to 4.1.9 (#121091)
* rebase

* Minor patch to fix duplicate DeviceInfo beign created - if data hasnt updated yet

* rebase

* Minor patch to fix duplicate DeviceInfo beign created - if data hasnt updated yet

* fixing formatting

* Update homeassistant/components/intellifire/__init__.py

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

* Update homeassistant/components/intellifire/__init__.py

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

* Removing cloud connectivity sensor - leaving local one in

* Renaming class to something more useful

* addressing pr

* Update homeassistant/components/intellifire/__init__.py

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

* add ruff exception

* Fix test annotations

* remove access to private variable

* Bumping to 4.1.9 instead of 4.1.5

* A renaming

* rename

* Updated testing

* Update __init__.py

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

* updateing styrings

* Update tests/components/intellifire/conftest.py

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

* Testing refactor - WIP

* everything is passing - cleanup still needed

* cleaning up comments

* update pr

* unrename

* Update homeassistant/components/intellifire/coordinator.py

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

* fixing sentence

* fixed fixture and removed error codes

* reverted a bad change

* fixing strings.json

* revert renaming

* fix

* typing inother pr

* adding extra tests - one has a really dumb name

* using a real value

* added a migration in

* Update homeassistant/components/intellifire/config_flow.py

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

* Update tests/components/intellifire/test_init.py

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

* cleanup continues

* addressing pr

* switch back to debug

* Update tests/components/intellifire/conftest.py

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

* some changes

* restore property mock cuase didnt work otherwise

* cleanup has begun

* removed extra text

* addressing pr stuff

* fixed reauth

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-09-01 12:48:38 +02:00
dontinelli 1661304f10 Bump solarlog_cli to 0.2.2 (#124948)
* Add inverter-devices

* Minor code adjustments

* Update manifest.json

Seperate dependency upgrade to seperate PR

* Update requirements_all.txt

Seperate dependency upgrade to seperate PR

* Update requirements_test_all.txt

Seperate dependency upgrade to seperate PR

* Update homeassistant/components/solarlog/sensor.py

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

* Split up base class, document SolarLogSensorEntityDescription

* Split up sensor types

* Update snapshot

* Bump solarlog_cli to 0.2.1

* Add strict typing

* Bump fyta_cli to 0.6.3 (#124574)

* Ensure write access to hassrelease data folder (#124573)

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

* Update a roborock blocking call to be fully async (#124266)

Remove a blocking call in roborock

* Add inverter-devices

* Split up sensor types

* Update snapshot

* Bump solarlog_cli to 0.2.1

* Backport/rebase

* Tidy up

* Simplyfication coordinator.py

* Minor adjustments

* Ruff

* Bump solarlog_cli to 0.2.2

* Update homeassistant/components/solarlog/sensor.py

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

* Update homeassistant/components/solarlog/config_flow.py

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

* Update homeassistant/components/solarlog/sensor.py

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

* Update persentage-values in fixture

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Allen Porter <allen@thebends.org>
2024-09-01 12:47:52 +02:00
Álvaro Fernández Rojas 68162e1a27 Update aioairzone-cloud to v0.6.4 (#125007)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-09-01 12:45:59 +02:00
Bill Flood 95a25c72dc Use constant for default medium type in Mopeka (#125002)
- Updated the Mopeka BLE device setup to use const
  DEFAULT_MEDIUM_TYPE
- Fix Spelling error in a coment
2024-09-01 07:12:24 +02:00
Allen Porter 30772da0e1 Add Google Photos media source support for albums and favorites (#124985) 2024-08-31 14:39:18 -07:00
Allen Porter ef84a8869e Add Google Photos service for uploading content (#124956)
* Add Google Photos upload support

* Fix format

* Merge in scope/reauth changes

* Address PR feedback

* Fix blocking i/o in async
2024-08-31 21:16:14 +02:00
Allen Porter d3879a36d1 Add loggers for Google Photos integration (#124986) 2024-08-31 21:11:22 +02:00
Allen Porter 93afc9458a Update nest to only include the image attachment payload for cameras that support fetching media (#124590)
Only include the image attachment payload for cameras that support fetching media
2024-08-31 11:38:45 -07:00
Marc Mueller 5cd8e4ab7e Update mypy-dev to 1.12.0a3 (#124939)
* Update mypy-dev to 1.12.0a3

* Fix
2024-08-31 19:34:41 +02:00
Álvaro Fernández Rojas 994c2ebca1 Update aioairzone-cloud to v0.6.3 (#124978)
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-08-31 17:30:58 +02:00
Allen Porter 81f5068354 Clean up Google Photos media source (#124977)
* Clean up Google Photos media source

* Fix typo

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-31 08:22:50 -07:00
Brett Adams 3e60d7aa11 Small code quality fix in Teslemetry (#124603)
* Fix cop_mode logic bug

* Update climate.py

* Fix attributes
2024-08-31 07:41:00 -07:00
Joost Lekkerkerker 30aa3a26ad Merge coordinators in Airgradient (#124714) 2024-08-31 07:40:12 -07:00
epenet 9da5dd0090 Improve config flow type hints in cast (#124861) 2024-08-31 07:38:06 -07:00
Brett Adams 65f007ace7 Remove HVAC Modes when no scopes in Teslemetry (#124612)
* Remove modes when not scoped

* Fix inits

* Re-add raise

* Remove unused raise_for_scope

* Set hvac_modes when not scoped

* tests
2024-08-31 07:28:35 -07:00
Joost Lekkerkerker 2a8feda691 Define household support in Mealie (#124950) 2024-08-31 12:00:12 +02:00
Andre Lengwenus 36b7e8569e Send entity name or original name to LCN frontend (#124518)
* Send name or original name to frontend

* Use walrus operator

* Fix docstring

* Fix mutated config_entry.data
2024-08-31 11:42:22 +02:00
Alan Murray 221f961574 Bump aiopulse to 0.4.6 (#124964)
Non-breaking changes to fix isses:
 * eliminating hub exceptions raised due use of unicode strings.
 * eliminating hub exceptions raised due to Timers being configured on hub.
2024-08-31 11:33:58 +02:00
J. Nick Koston 7210cc1da6 Bump yarl to 1.9.6 (#124955)
* Bump yarl to 1.9.5

changelog: https://github.com/aio-libs/yarl/compare/v1.9.4...v1.9.5

* remove default port since mocker does exact matching and yarl now normalizes this

* 1.9.6
2024-08-31 11:03:08 +02:00
vhkristof 5fa23b1785 Bump renault-api to v0.2.7 (#124858)
* Bump renault-api to v0.2.7

* Updated requirements_all and requirements_test_all
2024-08-31 10:56:23 +02:00
Allen Porter 2cab9f7fe9 Address additional Google Photos integration feedback (#124957)
* Address review feedback

* Fix typing for  arguments
2024-08-31 10:10:45 +02:00
J. Nick Koston 3bfcb1ebdd Restore sisyphus integration (#124749)
* Revert "Disable sisyphus integration (#124742)"

This reverts commit 1b304e60d9.

* Restore sisyphus integration

reverts #124742 and updates the lib instead

changelog: https://github.com/jkeljo/sisyphus-control/compare/v3.1.3...v3.1.4

release is pending: https://github.com/jkeljo/sisyphus-control/pull/8#issuecomment-2313893689
2024-08-31 10:07:36 +02:00
Allen Porter c1eb5f8b74 Fix Google Photos get media calls (#124958) 2024-08-31 10:01:51 +02:00
Allen Porter 582b7eab66 Add missing translation for Google Photos reauth (#124959) 2024-08-31 10:01:27 +02:00
Alex Yao 26281662b5 Enable config flow for html5 (#112806)
* html5: Enable config flow

* Add tests

* attempt check create_issue

* replace len with call_count

* fix config flow tests

* test user config

* more tests

* remove whitespace

* Update homeassistant/components/html5/issues.py

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

* Update homeassistant/components/html5/issues.py

Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>

* fix config

* Adjust issues log

* lint

* lint

* rename create issue

* fix typing

* update codeowners

* fix test

* fix tests

* Update issues.py

* Update tests/components/html5/test_config_flow.py

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

* Update tests/components/html5/test_config_flow.py

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

* Update tests/components/html5/test_config_flow.py

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

* update from review

* remove ternary

* fix

* fix missing service

* fix tests

* updates

* adress review comments

* fix indent

* fix

* fix format

* cleanup from review

* Restore config schema and use HA issue

* Restore config schema and use HA issue

---------

Co-authored-by: alexyao2015 <alexyao2015@users.noreply.github.com>
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-08-30 23:22:14 +02:00
Joost Lekkerkerker ac39bf991f Rename lg_thinq domain name (#124926) 2024-08-30 22:34:34 +02:00
J. Nick Koston 0a9e20615e Limit maximum template render output to 256KiB (#124946)
* Limit maximum template render output to 256KiB

fixes #124931

256KiB is likely to still block the event loop for an unreasonable amont of
time but its likely someone is using the template engine for large
blocks of data so we want a limit which still allows that but has
a reasonable safety to prevent the system from crashing down

* Update homeassistant/helpers/template.py
2024-08-30 22:33:57 +02:00
J. Nick Koston 8cafa1bcdf Bump google-generativeai to 0.7.2 (#124940)
changelog: https://github.com/google-gemini/generative-ai-python/compare/v0.6.0...v0.7.2
2024-08-30 22:33:26 +02:00
J. Nick Koston 66ddf44399 Bump google-cloud-pubsub to 2.23.0 (#124937)
changelog: https://github.com/googleapis/python-pubsub/compare/v2.13.11...v2.23.0
2024-08-30 22:32:23 +02:00
J. Nick Koston 933ae143b3 Bump google-cloud-texttospeech to 2.17.2 (#124938)
changelog: https://github.com/googleapis/google-cloud-python/compare/google-cloud-texttospeech-v2.16.3...google-cloud-texttospeech-v2.17.2
2024-08-30 22:32:09 +02:00
Joost Lekkerkerker 8c2e63807c Make set_value required in number template (#124917)
* Make set_value required in number template

* Make set_value required in number template

* Fix tests
2024-08-30 22:02:10 +02:00
J. Nick Koston 460363c4ba Bump aioshelly to 11.4.1 to accomodate shelly GetStatus calls that take a few seconds to respond (#124893)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-08-30 09:05:16 -10:00
Steven B. 29a17edaa5 Exclude tplink firmware entities (#124935)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-08-30 08:56:30 -10:00
Steven B. ed161d3d49 Bump python-kasa to 0.7.2 (#124930) 2024-08-30 08:43:28 -10:00
Louis Christ 7868ffac35 Enable strict typing checking for bluesound integration (#123821)
* Enable strict typing

* Fix types

* Update to pyblu 0.5.2 for typing support

* Update pyblu to 1.0.0

* Update pyblu to 1.0.1

* Update error handling

* Fix tests

* Remove return None from methods only returning None
2024-08-30 20:21:27 +02:00
tronikos 910fb0930e Attempt to fix IndexError in Opower (#124478)
* Change the order of async_add_external_statistics in Opower

* Use consumption_statistic_id instead of cost_statistic_id
2024-08-30 08:34:27 -07:00
Allen Porter cb742a677c Add Google Photos reauth support (#124933)
* Add Google Photos reauth support

* Update tests/components/google_photos/test_config_flow.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-30 17:31:24 +02:00
IceBotYT 28c24e5fef Bump nice-go to 0.3.8 (#124872)
* Bump nice-go to 0.3.6

* Bump to 0.3.7

* Bump to 0.3.8
2024-08-30 17:08:58 +02:00
Mr. Bubbles 50577883dc Add option to login with username/email and password in Habitica integration (#117622)
* add login/password authentication

* add advanced config flow

* remove unused exception classes, fix errors

* update username in init

* update tests

* update strings

* combine steps with menu

* remove username from entry

* update tests

* Revert "update tests"

This reverts commit 6ac8ad6a26547b623e217db817ec4d0cf8c91f1d.

* Revert "remove username from entry"

This reverts commit d9323fb72df3f9d41be0a53bb0cbe16be718d005.

* small changes

* remove pylint broad-excep

* run habitipy init in executor

* Add text selectors

* changes
2024-08-30 17:08:06 +02:00
dontinelli 20f9b9e412 Add inverter-devices to solarlog (#123205)
* Add inverter-devices

* Minor code adjustments

* Update manifest.json

Seperate dependency upgrade to seperate PR

* Update requirements_all.txt

Seperate dependency upgrade to seperate PR

* Update requirements_test_all.txt

Seperate dependency upgrade to seperate PR

* Update homeassistant/components/solarlog/sensor.py

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

* Split up base class, document SolarLogSensorEntityDescription

* Split up sensor types

* Update snapshot

* Add all devices in config_flow

* Remove options flow

* Move devices in config_entry from options to data

* Correct mock_config_entry

* Minor adjustments

* Remove enabled_devices from config

* Remove obsolete test

* Update snapshot

* Delete obsolete code snips

* Update homeassistant/components/solarlog/sensor.py

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

* Remove obsolete test in setting up sensors

* Update homeassistant/components/solarlog/sensor.py

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

* Update homeassistant/components/solarlog/entity.py

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

* Update homeassistant/components/solarlog/config_flow.py

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

* Fix typing error

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-30 17:03:24 +02:00
Aidan Timson 1d05a917f9 Add work items per type and state counter sensors to Azure DevOps (#119737)
* Add work item data

* Add work item sensors

* Add icon

* Add test fixtures

* Add none return tests

* Apply suggestions from code review

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

* Apply suggestion

* Use icon translations

* Apply suggestions from code review

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

* Update test

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-30 16:45:46 +02:00
Joost Lekkerkerker 240bd6c3bf Bump aiomealie to 0.9.0 (#124924)
* Bump aiomealie to 0.9.0

* Bump aiomealie to 0.9.0
2024-08-30 16:41:48 +02:00
Allen Porter c01bb44757 Add Google Photos integration (#124835)
* Add Google Photos integration

* Mark credentials typing

* Add code review suggestions to simpilfy google_photos

* Update tests/components/google_photos/conftest.py

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

* Apply suggestions from code review

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

* Fix comment typo

* Update test fixtures from review feedback

* Remove unnecessary test for services

* Remove keyword argument

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-30 07:27:19 -07:00
TimL 5e93394ae7 Ensure smilight fixtures select correct platform for tests (#124305)
* Fix return type hint for setup_integration

* Ensure platform fixture selects tested platform
2024-08-30 16:25:30 +02:00
starkillerOG a8b55a16fd Add 100% coverage of Reolink host.py (#124577)
* Add 100% host test coverage

* Add missing test
2024-08-30 16:24:27 +02:00
LG-ThinQ-Integration d7fb245213 Add LG ThinQ Integration (#123860)
* Add manifest.json

* add switch entity

* Add tests

* fix function's name

* adjust the changes after running scipt

* Update homeassistant/components/lgthinq/__init__.py

Accept the suggested change about format.

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

* Update homeassistant/components/lgthinq/__init__.py

Accept suggested change for log removal

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

* Delete homeassistant/components/lgthinq/services.yaml

* Update homeassistant/components/lgthinq/switch.py

Accpet suggested change for log removal

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

* Update homeassistant/components/lgthinq/strings.json

Accept suggested change for service removal

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

* Update homeassistant/components/lgthinq/manifest.json

Accept suggested change for spaces removal

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

* Delete homeassistant/components/lgthinq/icons.json

* Update __init__.py

Remove unnecessary check code

* Modification to pass ruff-format

* Modification for mypy issues

* Remove service registry and related code

* Update strings.json

Modification to pass the prettier issues

* Update manifest.json

Modification to pass the prettier issues

* Update homeassistant/components/lgthinq/__init__.py

Remove the unnecessary log.

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

* Update homeassistant/components/lgthinq/__init__.py

Remove unnecessary log.

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

* Update homeassistant/components/lgthinq/__init__.py

Remove unnecessary code.

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

* Update homeassistant/components/lgthinq/__init__.py

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

* Modifications for the review and related autocheck

* Update homeassistant/components/lgthinq/config_flow.py

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

* Update homeassistant/components/lgthinq/config_flow.py

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

* Modifications for reviews and autocheck

* Modifications for the reviews and autocheck

* Update homeassistant/components/lgthinq/const.py

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

* Update homeassistant/components/lgthinq/const.py

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

* Update homeassistant/components/lgthinq/const.py

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

* Update homeassistant/components/lgthinq/device.py

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

* Update homeassistant/components/lgthinq/device.py

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

* Remove type definition after Final

* Update const.py

Do not use Final for DOMAIN

* Refactoring for reviews
- remove thinq.py
- remove type definition
- remove entry name in config flow
- put config flow steps into a single step

* Update tests
- remove region

* Refactoring for reviews
- move property.py into PyPI library
- replace error_code handling with try/catch
- remove http response handling
- remove generic
- remove unnecessary class or map instance
- refactor adding entities logic

* Refactoring
- remove unused code
- change import path

* Update tests

* Refactoring for reviews
1. Use coordinator extended class instead of LGDevice
2. Rename entity_helper.py to entity.py
3. Move entity description to each entity file
4. Remove dynamic device creation code

* Refactoring for reviews

* Update requirements

* Fix for reviews

* Modify tests for reviews

* Update for reviews

* Remove property info and description class

* Update tests/components/lgthinq/test_config_flow.py

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

* Update tests/components/lgthinq/test_config_flow.py

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

* Update homeassistant/components/lgthinq/entity.py

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

* Update homeassistant/components/lgthinq/switch.py

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

* Update tests/components/lgthinq/test_config_flow.py

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

* Update for reviews

* Update homeassistant/components/lgthinq/switch.py

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

* Update homeassistant/components/lgthinq/switch.py

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

* Update for reviews

* Fix ruff issues

* Fix ruff check

* Fix for reviews

* Fix ruff check

* Fix for reviews

* Fix prettier failure and hassfest failure

---------

Co-authored-by: Jangwon Lee <jangwon.lee@lge.com>
Co-authored-by: yunseon.park <yunseon.park@lge.com>
Co-authored-by: nahyun.lee <nahyun.lee@lge.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-30 15:12:49 +02:00
puddly 6467c8d611 Bump ZHA to 0.0.32 (#124804)
* Always prefer XY color mode in ZHA

Remove a few more HS remnants

* Use new ZHA OTA format

* Bump ZHA to 0.0.32

* Fix existing OTA unit tests

* Fix schema conversion test to account for new command parameters

* Update snapshot with new `zcl_type` kwarg

* Migrate existing entities to icon translations

* Remove "no longer compatible" test

* Test that the library release summary is correctly exposed to ZHA

* Revert "Always prefer XY color mode in ZHA"

This reverts commit 8fb7789ea8.

* Test `release_notes`, not `release_summary`
2024-08-30 14:48:09 +02:00
Robert Svensson c47b37af4f Use snapshot in Axis camera tests (#122677) 2024-08-30 14:40:28 +02:00
starkillerOG a5bacf5652 Add 100% coverage of Reolink switch platform (#124482)
* Add 100% switch test coverage

* use DOMAIN instead of const.DOMAIN

* Split tests and use parametrize

* Revert "Split tests and use parametrize"

This reverts commit 50d2184ce6.

* fixes
2024-08-30 14:39:12 +02:00
starkillerOG 6589216ed3 Add 100% coverage of Reolink camera platform (#124381)
* Add 100% camera test coverage

* review comments

* use DOMAIN instead of const.DOMAIN

* use entity_registry_enabled_by_default fixture

* fixes
2024-08-30 14:34:49 +02:00
starkillerOG b6dc410464 Add 100% coverage of Reolink light platform (#124382)
* Add 100% light test coverage

* review comments

* fix

* use STATE_ON

* split tests
2024-08-30 14:34:17 +02:00
starkillerOG 928ff7c78c Add 100% coverage of Reolink sensor platform (#124472)
* Add 100% sensor test coverage

* use DOMAIN instead of const.DOMAIN

* snake_case

* better split tests

* styling

* Use entity_registry_enabled_by_default fixture
2024-08-30 14:32:57 +02:00
tdfountain c9335598db Alphabetize keys list for nut sensor icons (#124188)
Alphabetize keys list for sensor icons
2024-08-30 14:32:32 +02:00
Jeef 32babd3958 Clean up Weatherflow Cloud (#124643)
cleanup
2024-08-30 13:32:07 +02:00
shapournemati-iotty 7f405686d1 Add shapournemati to iotty codeowners (#123649)
* add shapournemati to codeowners for improved support

* update codeowners with hassfest script

* update codeowners with hassfest script
2024-08-30 13:30:56 +02:00
Lektri.co 5bd736029f Add lektrico integration (#102371)
* Add Lektrico Integration

* Make the changes proposed by Lash-L: new coordinator.py, new entity.py; use: translation_key, last_update_sucess, PlatformNotReady; remove: global variables

* Replace FlowResult with ConfigFlowResult and add tests.

* Remove unused lines.

* Remove Options from condif_flow

* Fix ruff and mypy.

* Fix CODEOWNERS.

* Run python3 -m script.hassfest.

* Correct rebase mistake.

* Make modifications suggested by emontnemery.

* Add pytest fixtures.

* Remove meaningless patches.

* Update .coveragerc

* Replace CONF_FRIENDLY_NAME with CONF_NAME.

* Remove underscores.

* Update tests.

* Update test file with is and no config_entries. .

* Set serial_number in DeviceInfo and add return type of the async_update_data to DataUpdateCoordinator.

* Use suggested_unit_of_measurement for KILO_WATT and replace Any in value_fn (sensor file).

* Add device class duration to charging_time sensor.

* Change raising  PlatformNotReady to raising IntegrationError.

* Test the unique id of the entry.

* Rename PF Lx with Power factor Lx and remove PF from strings.json.

* Remove comment.

* Make state and limit reason sensors to be enum sensors.

* Use result variable to check unique_id in test.

* Remove CONF_NAME from entry and __init__ from LektricoFlowHandler.

* Remove session parameter from LektricoDeviceDataUpdateCoordinator.

* Use config_entry: ConfigEntry in coordinator.

* Replace Connected,NeedAuth with Waiting for Authentication.

* Use lektricowifi 0.0.29.

* Use lektricowifi 0.0.39

* Use lektricowifi 0.0.40

* Use lektricowifi 0.0.41

* Replace hass.data with entry.runtime_data

* Delete .coveragerc

* Restructure the user step

* Fix tests

* Add returned value of _async_update_data to class DataUpdateCoordinator

* Use hw_version at DeviceInfo

* Remove a variable

* Use StateType

* Replace friendly_name with device_name

* Use sentence case in translation strings

* Uncomment and fix test_discovered_zeroconf

* Add type LektricoConfigEntry

* Remove commented code

* Remove the type of coordinator in sensor async_setup_entry

* Make zeroconf test end in ABORT, not FORM

* Remove all async_block_till_done from tests

* End test_user_setup_device_offline with CREATE_ENTRY

* Patch the full Device

* Add snapshot tests

* Overwrite the type LektricoSensorEntityDescription outside of the constructor

* Test separate already_configured for zeroconf

---------

Co-authored-by: mihaela.tarjoianu <mihaela.tarjoianu@scada.ro>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-08-30 13:20:15 +02:00
Robert Resch 397198c6d0 Optimize hassfest image (#124855)
* Optimize hassfest docker image

* Adjust CI

* Use dynamic uv version

* Remove workaround
2024-08-30 13:09:10 +02:00
Michael Arthur 54188b4128 Add returning activity to Husqvarna lawn mower (#124511)
* add returning activity to husqvarna lawn mower

* Update test, fix bug with comparison operator
2024-08-30 12:59:13 +02:00
Jeef f3da9de744 Bump weatherflow4py to 0.2.23 (#124072)
patch weatherflow for new data
2024-08-30 12:45:08 +02:00
Raj Laud aeb95c4509 Bump pysqueezebox to v0.8.1 (#124856) 2024-08-30 12:43:29 +02:00
Louis Christ f394dfb8d0 Handle CancelledError in bluesound integration (#124873)
Catch CancledError in async_will_remove_from_hass
2024-08-30 11:38:07 +02:00
J. Nick Koston 6781a76de2 Speed up ssdp domain matching (#124842)
* Speed up ssdp domain matching

Switch all() expression to dict.items() <= dict.items()

* rewrite as setcomp
2024-08-30 11:36:31 +02:00
epenet 69a9aa4594 Improve type hints in icloud config flow (#124900) 2024-08-30 11:25:58 +02:00
epenet afa02dcce9 Improve type hints in growatt_server config flow (#124901) 2024-08-30 11:25:29 +02:00
epenet febb382030 Improve type hints in hvv_departures config flow (#124902) 2024-08-30 11:25:08 +02:00
epenet 1906155c18 Improve type hints in mobile_app config flow (#124906) 2024-08-30 11:24:34 +02:00
epenet ffabd5d7db Improve type hints in konnected config flow (#124904) 2024-08-30 11:24:06 +02:00
Christopher Fenner 9e2360791d Add hot water target temp number entity in ViCare integration (#123633)
* add DHW target temp number entity

* Update number.py

* Update strings.json

* Update strings.json

* update test snapshot

* fix snapshot
2024-08-30 11:22:48 +02:00
epenet 19cbc1b258 Improve type hints in plex config flow (#124914) 2024-08-30 11:22:07 +02:00
epenet df2ea1e875 Improve type hints in nina config flow (#124910)
* Improve type hints in nina config flow

* Apply suggestions from code review

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-30 11:21:05 +02:00
epenet 74fa30e59d Improve config flow type hints (g-m) (#124907) 2024-08-30 11:05:18 +02:00
epenet 6833af6286 Improve config flow type hints (n-p) (#124909) 2024-08-30 11:04:58 +02:00
Josef Zweck 4940968cd5 Bump lmcloud 1.2.2 (#124911)
bump lmcloud 1.2.2
2024-08-30 11:02:29 +02:00
dependabot[bot] a9975071c3 Bump actions/setup-python from 5.1.1 to 5.2.0 (#124899)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.1.1...v5.2.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-30 10:53:06 +02:00
Christopher Fenner cc4340b80c Remove update call from init in ViCare integration (#124905)
fix
2024-08-30 10:50:18 +02:00
Willem-Jan van Rootselaar 252f05e0f7 Update diagnostics for BSBLan (#124508)
* update diagnostics to include static

and make room for multiple coordinator data objects

* fix mac address is not stored in config_entry but on device
2024-08-30 10:41:07 +02:00
dependabot[bot] f5e0382123 Bump github/codeql-action from 3.26.5 to 3.26.6 (#124898)
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.26.5 to 3.26.6.
- [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.26.5...v3.26.6)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-30 10:29:25 +02:00
Josef Zweck 600c6a0dcb Bump lmcloud to 1.2.1 (#124908) 2024-08-30 10:05:28 +02:00
J. Nick Koston df60e59a95 Address yale review comments part 2 (#124887)
* Remove some unneeded block till done

* Additional state check cleanups and snapshots

* Use more snapshots in yale tests
2024-08-30 09:37:19 +02:00
J. Nick Koston cf90e77e57 Add a repair issue for Yale Home users using the August integration (#124895)
The Yale Home brand will stop working with the August integration very
soon. Users must migrate to the Yale integration to avoid an interruption in service.
2024-08-30 09:35:19 +02:00
J. Nick Koston 3e0bd44d2a Bump aioesphomeapi to 25.3.1 (#124890)
changelog: https://github.com/esphome/aioesphomeapi/compare/v25.2.1...v25.3.1
2024-08-29 16:19:12 -10:00
Erik Montnemery 7bb93d4f3e Deduplicate warning messages in recorder DB migration (#124845) 2024-08-29 19:05:27 -07:00
Tony 4dfc11a140 Bump aioruckus to v0.41 removing blocking call to load_default_certs from ruckus_unleashed integration (#123974)
* fix ruckusd_unleashed blocking call to load_default_certs

* remove extra loggers, bump aioruckus ver for debian packagers
2024-08-29 19:03:51 -07:00
TheJulianJES 7eeebf198b Fix ZHA group removal entity registry cleanup (#124889)
* Fix ZHA cleanup entity registry parameter

* Fix missing `gateway` when accessing coordinator device

* Get `ZHADeviceProxy` for coordinator device
2024-08-29 20:13:47 -04:00
J. Nick Koston 175ffe29f6 Bump yalexs to 8.5.5 (#124891)
changelog: https://github.com/bdraco/yalexs/compare/v8.5.4...v8.5.5
2024-08-30 01:07:21 +02:00
Michael Hansen ff9937f942 Bump intents to 2024.8.29 (#124874) 2024-08-29 13:29:11 -05:00
Robert Resch ef452427e3 Bump PyTurboJPEG to 1.7.5 (#124865) 2024-08-29 19:34:19 +02:00
J. Nick Koston a04970bd54 Address august review comments (#124819)
* Address august review comments

Followup to https://github.com/home-assistant/core/pull/124677

* cleanup loop

* drop mixin name

* event entity add cleanup

* remove duplicate prop

* pep0695 type

* remove some not needed block till done

* cleanup august tests

* switch to freezegun

* snapshots for dev reg

* SOURCE_USER nit

* snapshots

* pytest.raises

* not loaded check
2024-08-29 19:32:13 +02:00
Joost Lekkerkerker 149aebb0bc Add missing translation key in Knocki (#124862) 2024-08-29 17:25:04 +02:00
Bram Kragten c36fc70ab4 Update frontend to 20240829.0 (#124864) 2024-08-29 17:24:25 +02:00
epenet 681fe3485d Improve config flow type hints (a-f) (#124859) 2024-08-29 17:24:04 +02:00
Fredrik Erlandsson 34680becaa Bump pydaikin to 2.13.6 (#124852) 2024-08-29 13:20:57 +02:00
Erik Montnemery 354f4491c8 Avoid unnecessary copying of variables when setting up automations (#124844) 2024-08-29 13:03:47 +02:00
Andrew Jackson c4fd1cfc8f Fix Mastodon migrate config entry log warning (#124848)
Fix migrate config entry
2024-08-29 12:23:04 +02:00
Erik Montnemery a4e9e4b23b Tweak exception message in yaml loader (#124841) 2024-08-29 11:31:19 +02:00
Pete Sage eac7794741 Fix sonos get_queue service call to restrict to sonos media_player entities (#124815)
add sonos to filter
2024-08-29 11:29:54 +02:00
Jan Bouwhuis 1cb9690001 Cleanup unused hass_storage mocks in mqtt tests (#124846) 2024-08-29 10:52:57 +02:00
AutonomousOwl 1101e7ef64 Update utility_account_id in Opower to be lowercase in statistic id (#124837)
Update utility_account_id to be lowercase in statistic id
2024-08-28 23:34:13 -07:00
Tobias Sauerwein 3b6128d590 Bump pyatmo to 8.1.0 (#124340) 2024-08-29 07:59:07 +02:00
Jeremy Cook 7f4fca63ed SmartThings edge driver for heatit thermostats does not require cooling setpoint (#123188)
* remove cooling setpoint requirement for thermostats. Air conditioning remains unchanged

* remove cooling setpoint requirement for thermostats. Air conditioning remains unchanged

* versions should not be set on core integrations.

* Added tests for minimal smartthings thermostat with no cooling.

* Added tests for minimal smartthings thermostat with no cooling.

* Formatted tests with ruff format
2024-08-29 07:49:05 +02:00
J. Nick Koston 4b59ef4733 Set GoogleEntity entity_id in constructor (#124830) 2024-08-28 15:47:11 -10:00
David Bonnes 3d39f6ce88 Fix evohome test by setting datetime to match snapshot (#124824)
* initial commit

* freeze time instead

* use fixture instead of API
2024-08-29 00:34:20 +02:00
J. Nick Koston 5f810d908f Add missing dependencies to yale (#124821)
* Add missing dependencies to yale

* try another way

* Revert "try another way"

This reverts commit fbb731a334.

* patch out cloud setup
2024-08-29 00:28:41 +02:00
AlCalzone c7cfd56b72 Support Z-Wave JS dimming lights using color intensity (#122639)
* Z-Wave JS: support non-dimmable color lights

* remove black_is_off light, support on/off/color

* fix: tests for on/off light

* fix: typo

* remove commented out old test code

* add test for off and on

* support colored lights without separate brightness control

* add test for color-only light

* refactor: extract color only light

* fix: preserve color when changing brightness

* extend tests

* refactor again

* refactor scale check

* refactor: remove impossible check

* review feedback

* review feedback

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-29 00:01:53 +02:00
David Bonnes ada6b7875c Add evohome test for setup (#123129)
* allow for different systems

* installation is a load_json_*fixture param

* allow installation to be parameterized

* test setup of various systems

* add more fixtures

* test setup of integration

* tweak test

* tweak const

* add expected state/services

* extend setup test

* tidy up

* tidy up tweaks

* code tweaks

* refactor expected results dicts

* woops

* refatcor serialize

* refactor test

* tweak

* tweak code

* rename symbol

* ensure actual I/O remains blocked

* tweak

* typo

* use constants

* Update conftest.py

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

* change filename

* add config fixture

* config is a fixture

* config is a fixture now 2

* lint

* lint

* refactor

* lint

* lint

* restore email addr

* use const

* use snapshots instead of helper class

* doctweak

* correct snapshot

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-08-28 22:40:57 +02:00
Fredrik Erlandsson 2b20b2a80b Bump tellduslive to 0.10.12 (#124816)
* Bump tellduslive version

* update licenses.py too
2024-08-28 22:10:49 +03:00
J. Nick Koston 5825e8fee8 Redirect virtual integration yale_home to point to yale (#124817) 2024-08-28 09:01:17 -10:00
J. Nick Koston 70488ffd15 Address yale review comments (#124810)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-28 09:00:52 -10:00
epenet 2900fa733d Use reauth_confirm in co2signal (#124781) 2024-08-28 20:43:11 +02:00
epenet 7d61dd13d9 Use reauth_confirm in discovergy (#124782) 2024-08-28 20:42:50 +02:00
Fredrik Erlandsson af8131e68f Bump pydaikin to 2.13.5 (#124802)
bump pydaikin version
2024-08-28 19:19:04 +02:00
Blake Bryant c049129147 Add Deako integration (#121132)
* Deako integration using pydeako

* fix: address feedback

- make unit tests more e2e
- use runtime_data to store connection

* fix: address feedback part 2

- added better type safety for Deako config entries
- refactored the config flow tests to use a conftest mock instead of directly patching
- removed pytest.mark.asyncio test decorators

* fix: address feedback pt 3

- simplify config entry type
- add test for single_instance_allowed
- remove light.py get_state(), only used once, no need to be separate function

* fix: ruff format

* Update homeassistant/components/deako/__init__.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-08-28 19:16:05 +02:00
Robert Resch 2dce876a86 Bump version to 2024.10.0dev0 (#124808) 2024-08-28 18:51:50 +02:00
5690 changed files with 266868 additions and 72611 deletions
+6
View File
@@ -14,6 +14,7 @@ core: &core
base_platforms: &base_platforms
- homeassistant/components/air_quality/**
- homeassistant/components/alarm_control_panel/**
- homeassistant/components/assist_satellite/**
- homeassistant/components/binary_sensor/**
- homeassistant/components/button/**
- homeassistant/components/calendar/**
@@ -78,6 +79,7 @@ components: &components
- homeassistant/components/group/**
- homeassistant/components/hassio/**
- homeassistant/components/homeassistant/**
- homeassistant/components/homeassistant_hardware/**
- homeassistant/components/http/**
- homeassistant/components/image/**
- homeassistant/components/input_boolean/**
@@ -110,6 +112,7 @@ components: &components
- homeassistant/components/tag/**
- homeassistant/components/template/**
- homeassistant/components/timer/**
- homeassistant/components/trace/**
- homeassistant/components/usb/**
- homeassistant/components/webhook/**
- homeassistant/components/websocket_api/**
@@ -125,9 +128,12 @@ tests: &tests
- tests/*.py
- tests/auth/**
- tests/backports/**
- tests/components/conftest.py
- tests/components/diagnostics/**
- tests/components/history/**
- tests/components/logbook/**
- tests/components/recorder/**
- tests/components/repairs/**
- tests/components/sensor/**
- tests/hassfest/**
- tests/helpers/**
+14 -3
View File
@@ -2,7 +2,7 @@
"name": "Home Assistant Dev",
"context": "..",
"dockerFile": "../Dockerfile.dev",
"postCreateCommand": "script/setup",
"postCreateCommand": "git config --global --add safe.directory ${containerWorkspaceFolder} && script/setup",
"postStartCommand": "script/bootstrap",
"containerEnv": {
"PYTHONASYNCIODEBUG": "1"
@@ -12,7 +12,12 @@
},
// Port 5683 udp is used by Shelly integration
"appPort": ["8123:8123", "5683:5683/udp"],
"runArgs": ["-e", "GIT_EDITOR=code --wait"],
"runArgs": [
"-e",
"GIT_EDITOR=code --wait",
"--security-opt",
"label=disable"
],
"customizations": {
"vscode": {
"extensions": [
@@ -53,7 +58,13 @@
],
"[python]": {
"editor.defaultFormatter": "charliermarsh.ruff"
}
},
"json.schemas": [
{
"fileMatch": ["homeassistant/components/*/manifest.json"],
"url": "./script/json_schemas/manifest_schema.json"
}
]
}
}
}
+1
View File
@@ -7,6 +7,7 @@ docs
# Development
.devcontainer
.vscode
.tool-versions
# Test related files
tests
+1 -2
View File
@@ -1,2 +1 @@
custom: https://www.nabucasa.com
github: balloob
custom: https://www.openhomefoundation.org
+17 -16
View File
@@ -27,12 +27,12 @@ jobs:
publish: ${{ steps.version.outputs.publish }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
with:
fetch-depth: 0
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -69,7 +69,7 @@ jobs:
run: find ./homeassistant/components/*/translations -name "*.json" | tar zcvf translations.tar.gz -T -
- name: Upload translations
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: translations
path: translations.tar.gz
@@ -90,7 +90,7 @@ jobs:
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
@@ -116,7 +116,7 @@ jobs:
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
if: needs.init.outputs.channel == 'dev'
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -126,7 +126,7 @@ jobs:
env:
UV_PRERELEASE: allow
run: |
python3 -m pip install "$(grep '^uv' < requirements_test.txt)"
python3 -m pip install "$(grep '^uv' < requirements.txt)"
uv pip install packaging tomli
uv pip install .
python3 script/version_bump.py nightly --set-nightly-version "${{ needs.init.outputs.version }}"
@@ -242,7 +242,7 @@ jobs:
- green
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set build additional args
run: |
@@ -279,7 +279,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Initialize git
uses: home-assistant/actions/helpers/git-init@master
@@ -316,14 +316,15 @@ jobs:
packages: write
id-token: write
strategy:
fail-fast: false
matrix:
registry: ["ghcr.io/home-assistant", "docker.io/homeassistant"]
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Install Cosign
uses: sigstore/cosign-installer@v3.6.0
uses: sigstore/cosign-installer@v3.7.0
with:
cosign-release: "v2.2.3"
@@ -450,10 +451,10 @@ jobs:
if: github.repository_owner == 'home-assistant' && needs.init.outputs.publish == 'true'
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
@@ -498,7 +499,7 @@ jobs:
HASSFEST_IMAGE_TAG: ghcr.io/home-assistant/hassfest:${{ needs.init.outputs.version }}
steps:
- name: Checkout repository
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Login to GitHub Container Registry
uses: docker/login-action@9780b0c442fbb1117ed29e0efdff1e18412f7567 # v3.3.0
@@ -508,7 +509,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image
uses: docker/build-push-action@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
@@ -521,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@5cd11c3a4ced054e52742c5fd54dca954e0edd85 # v6.7.0
uses: docker/build-push-action@4f58ea79222b3b9dc2c8bbdd6debcef730109a75 # v6.9.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
@@ -530,7 +531,7 @@ jobs:
- name: Generate artifact attestation
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
uses: actions/attest-build-provenance@6149ea5740be74af77f260b9db67e633f6b0a9a1 # v1.4.2
uses: actions/attest-build-provenance@ef244123eb79f2f7a7e75d99086184180e6d0018 # v1.4.4
with:
subject-name: ${{ env.HASSFEST_IMAGE_NAME }}
subject-digest: ${{ steps.push.outputs.digest }}
+123 -98
View File
@@ -37,12 +37,12 @@ on:
type: boolean
env:
CACHE_VERSION: 10
CACHE_VERSION: 11
UV_CACHE_VERSION: 1
MYPY_CACHE_VERSION: 8
HA_SHORT_VERSION: "2024.9"
MYPY_CACHE_VERSION: 9
HA_SHORT_VERSION: "2024.12"
DEFAULT_PYTHON: "3.12"
ALL_PYTHON_VERSIONS: "['3.12']"
ALL_PYTHON_VERSIONS: "['3.12', '3.13']"
# 10.3 is the oldest supported version
# - 10.3.32 is the version currently shipped with Synology (as of 17 Feb 2022)
# 10.6 is the current long-term-support
@@ -93,7 +93,7 @@ jobs:
runs-on: ubuntu-24.04
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Generate partial Python venv restore key
id: generate_python_cache_key
run: |
@@ -231,16 +231,16 @@ jobs:
- info
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.2
with:
path: venv
key: >-
@@ -252,11 +252,11 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
pip install "$(grep '^uv' < requirements_test.txt)"
pip install "$(grep '^uv' < requirements.txt)"
uv pip install "$(cat requirements_test.txt | grep pre-commit)"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
@@ -277,16 +277,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.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.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -295,7 +295,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -317,16 +317,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.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.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -335,7 +335,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -357,16 +357,16 @@ jobs:
- pre-commit
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.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.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -375,7 +375,7 @@ jobs:
needs.info.outputs.pre-commit_cache_key }}
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -429,17 +429,32 @@ jobs:
. venv/bin/activate
pre-commit run --show-diff-on-failure --hook-stage manual codespell --all-files
lint-hadolint:
name: Check ${{ matrix.file }}
runs-on: ubuntu-24.04
needs:
- info
if: |
github.event.inputs.pylint-only != 'true'
&& github.event.inputs.mypy-only != 'true'
&& github.event.inputs.audit-licenses-only != 'true'
strategy:
fail-fast: false
matrix:
file:
- Dockerfile
- Dockerfile.dev
- script/hassfest/docker/Dockerfile
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.2.2
- name: Register hadolint problem matcher
run: |
echo "::add-matcher::.github/workflows/matchers/hadolint.json"
- name: Check Dockerfile
uses: docker://hadolint/hadolint:v1.18.2
- name: Check ${{ matrix.file }}
uses: docker://hadolint/hadolint:v2.12.0
with:
args: hadolint Dockerfile
- name: Check Dockerfile.dev
uses: docker://hadolint/hadolint:v1.18.2
with:
args: hadolint Dockerfile.dev
args: hadolint ${{ matrix.file }}
base:
name: Prepare dependencies
@@ -451,23 +466,23 @@ jobs:
python-version: ${{ fromJSON(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Generate partial uv restore key
id: generate-uv-key
run: |
uv_version=$(cat requirements_test.txt | grep uv | cut -d '=' -f 3)
uv_version=$(cat requirements.txt | grep uv | cut -d '=' -f 3)
echo "version=${uv_version}" >> $GITHUB_OUTPUT
echo "key=uv-${{ env.UV_CACHE_VERSION }}-${uv_version}-${{
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.2
with:
path: venv
lookup-only: true
@@ -476,7 +491,7 @@ jobs:
needs.info.outputs.python_cache_key }}
- name: Restore uv wheel cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.2
with:
path: ${{ env.UV_CACHE_DIR }}
key: >-
@@ -510,7 +525,7 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
pip install "$(grep '^uv' < requirements_test.txt)"
pip install "$(grep '^uv' < requirements.txt)"
uv pip install -U "pip>=21.3.1" setuptools wheel
uv pip install -r requirements.txt
python -m script.gen_requirements_all ci
@@ -535,16 +550,16 @@ jobs:
sudo apt-get -y install \
libturbojpeg
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.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.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -568,16 +583,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -600,37 +615,41 @@ jobs:
&& github.event.inputs.mypy-only != 'true'
|| github.event.inputs.audit-licenses-only == 'true')
&& needs.info.outputs.requirements == 'true'
strategy:
fail-fast: false
matrix:
python-version: ${{ fromJson(needs.info.outputs.python_versions) }}
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Run pip-licenses
- name: Extract license data
run: |
. venv/bin/activate
pip-licenses --format=json --output-file=licenses.json
python -m script.licenses extract --output-file=licenses-${{ matrix.python-version }}.json
- name: Upload licenses
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: licenses
path: licenses.json
- name: Process licenses
name: licenses-${{ github.run_number }}-${{ matrix.python-version }}
path: licenses-${{ matrix.python-version }}.json
- name: Check licenses
run: |
. venv/bin/activate
python -m script.licenses
python -m script.licenses check licenses-${{ matrix.python-version }}.json
pylint:
name: Check pylint
@@ -645,16 +664,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.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.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -692,16 +711,16 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.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.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -737,10 +756,10 @@ jobs:
- base
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -753,7 +772,7 @@ jobs:
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -761,7 +780,7 @@ jobs:
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore mypy cache
uses: actions/cache@v4.0.2
uses: actions/cache@v4.1.2
with:
path: .mypy_cache
key: >-
@@ -812,16 +831,16 @@ jobs:
libturbojpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -833,7 +852,7 @@ jobs:
. venv/bin/activate
python -m script.split_tests ${{ needs.info.outputs.test_group_count }} tests
- name: Upload pytest_buckets
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: pytest_buckets
path: pytest_buckets.txt
@@ -876,16 +895,16 @@ jobs:
libturbojpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -925,7 +944,8 @@ jobs:
-qq \
--timeout=9 \
--durations=10 \
-n auto \
--numprocesses auto \
--snapshot-details \
--dist=loadfile \
${cov_params[@]} \
-o console_output_style=count \
@@ -934,14 +954,14 @@ jobs:
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-full.conclusion == 'failure'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ matrix.group }}
path: pytest-*.txt
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
@@ -996,16 +1016,16 @@ jobs:
libturbojpeg \
libmariadb-dev-compat
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -1047,7 +1067,8 @@ jobs:
python3 -b -X dev -m pytest \
-qq \
--timeout=20 \
-n 1 \
--numprocesses 1 \
--snapshot-details \
${cov_params[@]} \
-o console_output_style=count \
--durations=10 \
@@ -1060,7 +1081,7 @@ jobs:
2>&1 | tee pytest-${{ matrix.python-version }}-${mariadb}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-partial.conclusion == 'failure'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.mariadb }}
@@ -1068,7 +1089,7 @@ jobs:
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: coverage-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.mariadb }}
@@ -1079,7 +1100,7 @@ jobs:
./script/check_dirty
pytest-postgres:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
services:
postgres:
image: ${{ matrix.postgresql-group }}
@@ -1119,19 +1140,21 @@ jobs:
sudo apt-get -y install \
bluez \
ffmpeg \
libturbojpeg \
libturbojpeg
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.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -1173,7 +1196,8 @@ jobs:
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
-n 1 \
--numprocesses 1 \
--snapshot-details \
${cov_params[@]} \
-o console_output_style=count \
--durations=0 \
@@ -1187,7 +1211,7 @@ jobs:
2>&1 | tee pytest-${{ matrix.python-version }}-${postgresql}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-partial.conclusion == 'failure'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.postgresql }}
@@ -1195,7 +1219,7 @@ jobs:
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: coverage-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.postgresql }}
@@ -1217,14 +1241,14 @@ jobs:
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Download all coverage artifacts
uses: actions/download-artifact@v4.1.8
with:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'true'
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v4.6.0
with:
fail_ci_if_error: true
flags: full-suite
@@ -1268,16 +1292,16 @@ jobs:
libturbojpeg \
libgammu-dev
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ matrix.python-version }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ matrix.python-version }}
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.0.2
uses: actions/cache/restore@v4.1.2
with:
path: venv
fail-on-cache-miss: true
@@ -1319,7 +1343,8 @@ jobs:
python3 -b -X dev -m pytest \
-qq \
--timeout=9 \
-n auto \
--numprocesses auto \
--snapshot-details \
${cov_params[@]} \
-o console_output_style=count \
--durations=0 \
@@ -1329,14 +1354,14 @@ jobs:
2>&1 | tee pytest-${{ matrix.python-version }}-${{ matrix.group }}.txt
- name: Upload pytest output
if: success() || failure() && steps.pytest-partial.conclusion == 'failure'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{ matrix.group }}
path: pytest-*.txt
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
@@ -1355,14 +1380,14 @@ jobs:
timeout-minutes: 10
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Download all coverage artifacts
uses: actions/download-artifact@v4.1.8
with:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'false'
uses: codecov/codecov-action@v4.5.0
uses: codecov/codecov-action@v4.6.0
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
+3 -3
View File
@@ -21,14 +21,14 @@ jobs:
steps:
- name: Check out code from GitHub
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Initialize CodeQL
uses: github/codeql-action/init@v3.26.5
uses: github/codeql-action/init@v3.27.1
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.26.5
uses: github/codeql-action/analyze@v3.27.1
with:
category: "/language:python"
+2 -2
View File
@@ -19,10 +19,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
+45 -38
View File
@@ -32,11 +32,11 @@ jobs:
architectures: ${{ steps.info.outputs.architectures }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Set up Python ${{ env.DEFAULT_PYTHON }}
id: python
uses: actions/setup-python@v5.1.1
uses: actions/setup-python@v5.3.0
with:
python-version: ${{ env.DEFAULT_PYTHON }}
check-latest: true
@@ -46,7 +46,7 @@ jobs:
python -m venv venv
. venv/bin/activate
python --version
pip install "$(grep '^uv' < requirements_test.txt)"
pip install "$(grep '^uv' < requirements.txt)"
uv pip install -r requirements.txt
- name: Get information
@@ -64,11 +64,8 @@ jobs:
- name: Write env-file
run: |
(
echo "GRPC_BUILD_WITH_BORING_SSL_ASM=false"
echo "GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=true"
echo "GRPC_PYTHON_BUILD_WITH_CYTHON=true"
echo "GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=true"
echo "GRPC_PYTHON_LDFLAGS=-lpthread -Wl,-wrap,memcpy -static-libgcc"
# Fix out of memory issues with rust
echo "CARGO_NET_GIT_FETCH_WITH_CLI=true"
@@ -82,14 +79,15 @@ jobs:
) > .env_file
- name: Upload env_file
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: env_file
path: ./.env_file
include-hidden-files: true
overwrite: true
- name: Upload requirements_diff
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: requirements_diff
path: ./requirements_diff.txt
@@ -101,7 +99,7 @@ jobs:
python -m script.gen_requirements_all ci
- name: Upload requirements_all_wheels
uses: actions/upload-artifact@v4.3.6
uses: actions/upload-artifact@v4.4.3
with:
name: requirements_all_wheels
path: ./requirements_all_wheels_*.txt
@@ -114,11 +112,11 @@ jobs:
strategy:
fail-fast: false
matrix:
abi: ["cp312"]
abi: ["cp312", "cp313"]
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Download env_file
uses: actions/download-artifact@v4.1.8
@@ -130,16 +128,22 @@ jobs:
with:
name: requirements_diff
- name: Adjust build env
run: |
# Don't build wheels for uv as uv requires a greater version of rust as currently available on alpine
sed -i "/uv/d" requirements.txt
sed -i "/uv/d" requirements_diff.txt
- name: Build wheels
uses: home-assistant/wheels@2024.07.1
uses: home-assistant/wheels@2024.11.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libffi-dev;openssl-dev;yaml-dev;nasm"
skip-binary: aiohttp
apk: "libffi-dev;openssl-dev;yaml-dev;nasm;zlib-dev"
skip-binary: aiohttp;multidict;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements.txt"
@@ -152,11 +156,11 @@ jobs:
strategy:
fail-fast: false
matrix:
abi: ["cp312"]
abi: ["cp312", "cp313"]
arch: ${{ fromJson(needs.init.outputs.architectures) }}
steps:
- name: Checkout the repository
uses: actions/checkout@v4.1.7
uses: actions/checkout@v4.2.2
- name: Download env_file
uses: actions/download-artifact@v4.1.8
@@ -173,6 +177,18 @@ jobs:
with:
name: requirements_all_wheels
- name: Adjust build env
run: |
if [ "${{ matrix.arch }}" = "i386" ]; then
echo "NPY_DISABLE_SVML=1" >> .env_file
fi
# Do not pin numpy in wheels building
sed -i "/numpy/d" homeassistant/package_constraints.txt
# Don't build wheels for uv as uv requires a greater version of rust as currently available on alpine
sed -i "/uv/d" requirements.txt
sed -i "/uv/d" requirements_diff.txt
- name: Split requirements all
run: |
# We split requirements all into multiple files.
@@ -182,28 +198,19 @@ jobs:
split -l $(expr $(expr $(cat requirements_all.txt | wc -l) + 1) / 3) requirements_all_wheels_${{ matrix.arch }}.txt requirements_all.txt
- name: Create requirements for cython<3
if: matrix.abi == 'cp312'
run: |
# Some dependencies still require 'cython<3'
# and don't yet use isolated build environments.
# Build these first.
# grpcio: https://github.com/grpc/grpc/issues/33918
# pydantic: https://github.com/pydantic/pydantic/issues/7689
touch requirements_old-cython.txt
cat homeassistant/package_constraints.txt | grep 'grpcio==' >> requirements_old-cython.txt
cat homeassistant/package_constraints.txt | grep 'pydantic==' >> requirements_old-cython.txt
- name: Adjust build env
run: |
if [ "${{ matrix.arch }}" = "i386" ]; then
echo "NPY_DISABLE_SVML=1" >> .env_file
fi
# Do not pin numpy in wheels building
sed -i "/numpy/d" homeassistant/package_constraints.txt
- name: Build wheels (old cython)
uses: home-assistant/wheels@2024.07.1
uses: home-assistant/wheels@2024.11.0
if: matrix.abi == 'cp312'
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
@@ -211,50 +218,50 @@ jobs:
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pydantic;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_old-cython.txt"
pip: "'cython<3'"
- name: Build wheels (part 1)
uses: home-assistant/wheels@2024.07.1
uses: home-assistant/wheels@2024.11.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtaa"
- name: Build wheels (part 2)
uses: home-assistant/wheels@2024.07.1
uses: home-assistant/wheels@2024.11.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtab"
- name: Build wheels (part 3)
uses: home-assistant/wheels@2024.07.1
uses: home-assistant/wheels@2024.11.0
with:
abi: ${{ matrix.abi }}
tag: musllinux_1_2
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm"
skip-binary: aiohttp;charset-normalizer;grpcio;SQLAlchemy;protobuf;pydantic;pymicro-vad
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements_all.txtac"
+1
View File
@@ -79,6 +79,7 @@ pytest-*.txt
.pydevproject
.python-version
.tool-versions
# emacs auto backups
*~
+3 -3
View File
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.6.2
rev: v0.7.2
hooks:
- id: ruff
args:
@@ -83,10 +83,10 @@ repos:
pass_filenames: false
language: script
types: [text]
files: ^(homeassistant/.+/(icons|manifest|strings)\.json|homeassistant/brands/.*\.json|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py|requirements_test.txt)$
files: ^(homeassistant/.+/(icons|manifest|strings)\.json|homeassistant/brands/.*\.json|homeassistant/.+/services\.yaml|script/hassfest/(?!metadata|mypy_config).+\.py|requirements.+\.txt)$
- id: hassfest-metadata
name: hassfest-metadata
entry: script/run-in-env.sh python3 -m script.hassfest -p metadata
entry: script/run-in-env.sh python3 -m script.hassfest -p metadata,docker
pass_filenames: false
language: script
types: [text]
+26 -1
View File
@@ -95,6 +95,7 @@ homeassistant.components.aruba.*
homeassistant.components.arwn.*
homeassistant.components.aseko_pool_live.*
homeassistant.components.assist_pipeline.*
homeassistant.components.assist_satellite.*
homeassistant.components.asuswrt.*
homeassistant.components.autarco.*
homeassistant.components.auth.*
@@ -110,6 +111,7 @@ homeassistant.components.bitcoin.*
homeassistant.components.blockchain.*
homeassistant.components.blue_current.*
homeassistant.components.blueprint.*
homeassistant.components.bluesound.*
homeassistant.components.bluetooth.*
homeassistant.components.bluetooth_adapters.*
homeassistant.components.bluetooth_tracker.*
@@ -122,6 +124,7 @@ homeassistant.components.bryant_evolution.*
homeassistant.components.bthome.*
homeassistant.components.button.*
homeassistant.components.calendar.*
homeassistant.components.cambridge_audio.*
homeassistant.components.camera.*
homeassistant.components.canary.*
homeassistant.components.cert_expiry.*
@@ -139,6 +142,7 @@ homeassistant.components.cpuspeed.*
homeassistant.components.crownstone.*
homeassistant.components.date.*
homeassistant.components.datetime.*
homeassistant.components.deako.*
homeassistant.components.deconz.*
homeassistant.components.default_config.*
homeassistant.components.demo.*
@@ -205,10 +209,14 @@ homeassistant.components.geo_location.*
homeassistant.components.geocaching.*
homeassistant.components.gios.*
homeassistant.components.glances.*
homeassistant.components.go2rtc.*
homeassistant.components.goalzero.*
homeassistant.components.google.*
homeassistant.components.google_assistant_sdk.*
homeassistant.components.google_cloud.*
homeassistant.components.google_photos.*
homeassistant.components.google_sheets.*
homeassistant.components.govee_ble.*
homeassistant.components.gpsd.*
homeassistant.components.greeneye_monitor.*
homeassistant.components.group.*
@@ -278,6 +286,7 @@ homeassistant.components.lawn_mower.*
homeassistant.components.lcn.*
homeassistant.components.ld2410_ble.*
homeassistant.components.led_ble.*
homeassistant.components.lektrico.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
@@ -295,7 +304,6 @@ homeassistant.components.lookin.*
homeassistant.components.luftdaten.*
homeassistant.components.madvr.*
homeassistant.components.manual.*
homeassistant.components.map.*
homeassistant.components.mastodon.*
homeassistant.components.matrix.*
homeassistant.components.matter.*
@@ -310,16 +318,19 @@ homeassistant.components.minecraft_server.*
homeassistant.components.mjpeg.*
homeassistant.components.modbus.*
homeassistant.components.modem_callerid.*
homeassistant.components.mold_indicator.*
homeassistant.components.monzo.*
homeassistant.components.moon.*
homeassistant.components.mopeka.*
homeassistant.components.motionmount.*
homeassistant.components.mqtt.*
homeassistant.components.music_assistant.*
homeassistant.components.my.*
homeassistant.components.mysensors.*
homeassistant.components.myuplink.*
homeassistant.components.nam.*
homeassistant.components.nanoleaf.*
homeassistant.components.nasweb.*
homeassistant.components.neato.*
homeassistant.components.nest.*
homeassistant.components.netatmo.*
@@ -329,6 +340,7 @@ homeassistant.components.nfandroidtv.*
homeassistant.components.nightscout.*
homeassistant.components.nissan_leaf.*
homeassistant.components.no_ip.*
homeassistant.components.nordpool.*
homeassistant.components.notify.*
homeassistant.components.notion.*
homeassistant.components.number.*
@@ -336,7 +348,9 @@ homeassistant.components.nut.*
homeassistant.components.onboarding.*
homeassistant.components.oncue.*
homeassistant.components.onewire.*
homeassistant.components.onkyo.*
homeassistant.components.open_meteo.*
homeassistant.components.openai_conversation.*
homeassistant.components.openexchangerates.*
homeassistant.components.opensky.*
homeassistant.components.openuv.*
@@ -344,6 +358,7 @@ homeassistant.components.oralb.*
homeassistant.components.otbr.*
homeassistant.components.overkiz.*
homeassistant.components.p1_monitor.*
homeassistant.components.panel_custom.*
homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
homeassistant.components.pi_hole.*
@@ -361,6 +376,7 @@ homeassistant.components.pvoutput.*
homeassistant.components.qnap_qsw.*
homeassistant.components.rabbitair.*
homeassistant.components.radarr.*
homeassistant.components.radio_browser.*
homeassistant.components.rainforest_raven.*
homeassistant.components.rainmachine.*
homeassistant.components.raspberry_pi.*
@@ -395,8 +411,10 @@ homeassistant.components.select.*
homeassistant.components.sensibo.*
homeassistant.components.sensirion_ble.*
homeassistant.components.sensor.*
homeassistant.components.sensoterra.*
homeassistant.components.senz.*
homeassistant.components.sfr_box.*
homeassistant.components.shell_command.*
homeassistant.components.shelly.*
homeassistant.components.shopping_list.*
homeassistant.components.simplepush.*
@@ -406,10 +424,14 @@ homeassistant.components.skybell.*
homeassistant.components.slack.*
homeassistant.components.sleepiq.*
homeassistant.components.smhi.*
homeassistant.components.smlight.*
homeassistant.components.snooz.*
homeassistant.components.solarlog.*
homeassistant.components.sonarr.*
homeassistant.components.speedtestdotnet.*
homeassistant.components.spotify.*
homeassistant.components.sql.*
homeassistant.components.squeezebox.*
homeassistant.components.ssdp.*
homeassistant.components.starlink.*
homeassistant.components.statistics.*
@@ -422,6 +444,7 @@ homeassistant.components.suez_water.*
homeassistant.components.sun.*
homeassistant.components.surepetcare.*
homeassistant.components.switch.*
homeassistant.components.switch_as_x.*
homeassistant.components.switchbee.*
homeassistant.components.switchbot_cloud.*
homeassistant.components.switcher_kis.*
@@ -469,6 +492,7 @@ homeassistant.components.update.*
homeassistant.components.uptime.*
homeassistant.components.uptimerobot.*
homeassistant.components.usb.*
homeassistant.components.uvc.*
homeassistant.components.vacuum.*
homeassistant.components.vallox.*
homeassistant.components.valve.*
@@ -489,6 +513,7 @@ homeassistant.components.whois.*
homeassistant.components.withings.*
homeassistant.components.wiz.*
homeassistant.components.wled.*
homeassistant.components.workday.*
homeassistant.components.worldclock.*
homeassistant.components.xiaomi_ble.*
homeassistant.components.yale_smart_alarm.*
+9 -1
View File
@@ -6,5 +6,13 @@
// https://code.visualstudio.com/docs/python/testing#_pytest-configuration-settings
"python.testing.pytestEnabled": false,
// https://code.visualstudio.com/docs/python/linting#_general-settings
"pylint.importStrategy": "fromEnvironment"
"pylint.importStrategy": "fromEnvironment",
"json.schemas": [
{
"fileMatch": [
"homeassistant/components/*/manifest.json"
],
"url": "./script/json_schemas/manifest_schema.json"
}
]
}
+69 -29
View File
@@ -48,6 +48,7 @@ build.json @home-assistant/supervisor
/tests/components/adax/ @danielhiversen
/homeassistant/components/adguard/ @frenck
/tests/components/adguard/ @frenck
/homeassistant/components/ads/ @mrpasztoradam
/homeassistant/components/advantage_air/ @Bre77
/tests/components/advantage_air/ @Bre77
/homeassistant/components/aemet/ @Noltari
@@ -143,6 +144,8 @@ build.json @home-assistant/supervisor
/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/atag/ @MatsNL
@@ -228,14 +231,16 @@ build.json @home-assistant/supervisor
/homeassistant/components/bsblan/ @liudger
/tests/components/bsblan/ @liudger
/homeassistant/components/bt_smarthub/ @typhoon2099
/homeassistant/components/bthome/ @Ernst79
/tests/components/bthome/ @Ernst79
/homeassistant/components/bthome/ @Ernst79 @thecode
/tests/components/bthome/ @Ernst79 @thecode
/homeassistant/components/buienradar/ @mjj4791 @ties @Robbie1221
/tests/components/buienradar/ @mjj4791 @ties @Robbie1221
/homeassistant/components/button/ @home-assistant/core
/tests/components/button/ @home-assistant/core
/homeassistant/components/calendar/ @home-assistant/core
/tests/components/calendar/ @home-assistant/core
/homeassistant/components/cambridge_audio/ @noahhusby
/tests/components/cambridge_audio/ @noahhusby
/homeassistant/components/camera/ @home-assistant/core
/tests/components/camera/ @home-assistant/core
/homeassistant/components/cast/ @emontnemery
@@ -294,6 +299,8 @@ build.json @home-assistant/supervisor
/tests/components/date/ @home-assistant/core
/homeassistant/components/datetime/ @home-assistant/core
/tests/components/datetime/ @home-assistant/core
/homeassistant/components/deako/ @sebirdman @balake @deakolights
/tests/components/deako/ @sebirdman @balake @deakolights
/homeassistant/components/debugpy/ @frenck
/tests/components/debugpy/ @frenck
/homeassistant/components/deconz/ @Kane610
@@ -353,6 +360,8 @@ build.json @home-assistant/supervisor
/tests/components/dsmr/ @Robbie1221
/homeassistant/components/dsmr_reader/ @sorted-bits @glodenox @erwindouna
/tests/components/dsmr_reader/ @sorted-bits @glodenox @erwindouna
/homeassistant/components/duke_energy/ @hunterjm
/tests/components/duke_energy/ @hunterjm
/homeassistant/components/duotecno/ @cereal2nd
/tests/components/duotecno/ @cereal2nd
/homeassistant/components/dwd_weather_warnings/ @runningman84 @stephan192 @andarotajo
@@ -487,8 +496,8 @@ build.json @home-assistant/supervisor
/tests/components/freebox/ @hacf-fr @Quentame
/homeassistant/components/freedompro/ @stefano055415
/tests/components/freedompro/ @stefano055415
/homeassistant/components/fritz/ @mammuth @AaronDavidSchneider @chemelli74 @mib1185
/tests/components/fritz/ @mammuth @AaronDavidSchneider @chemelli74 @mib1185
/homeassistant/components/fritz/ @AaronDavidSchneider @chemelli74 @mib1185
/tests/components/fritz/ @AaronDavidSchneider @chemelli74 @mib1185
/homeassistant/components/fritzbox/ @mib1185 @flabbamann
/tests/components/fritzbox/ @mib1185 @flabbamann
/homeassistant/components/fritzbox_callmonitor/ @cdce8p
@@ -535,6 +544,8 @@ build.json @home-assistant/supervisor
/tests/components/github/ @timmo001 @ludeeus
/homeassistant/components/glances/ @engrbm87
/tests/components/glances/ @engrbm87
/homeassistant/components/go2rtc/ @home-assistant/core
/tests/components/go2rtc/ @home-assistant/core
/homeassistant/components/goalzero/ @tkdrob
/tests/components/goalzero/ @tkdrob
/homeassistant/components/gogogate2/ @vangorra
@@ -547,11 +558,14 @@ build.json @home-assistant/supervisor
/tests/components/google_assistant/ @home-assistant/cloud
/homeassistant/components/google_assistant_sdk/ @tronikos
/tests/components/google_assistant_sdk/ @tronikos
/homeassistant/components/google_cloud/ @lufton
/homeassistant/components/google_cloud/ @lufton @tronikos
/tests/components/google_cloud/ @lufton @tronikos
/homeassistant/components/google_generative_ai_conversation/ @tronikos
/tests/components/google_generative_ai_conversation/ @tronikos
/homeassistant/components/google_mail/ @tkdrob
/tests/components/google_mail/ @tkdrob
/homeassistant/components/google_photos/ @allenporter
/tests/components/google_photos/ @allenporter
/homeassistant/components/google_sheets/ @tkdrob
/tests/components/google_sheets/ @tkdrob
/homeassistant/components/google_tasks/ @allenporter
@@ -603,8 +617,8 @@ build.json @home-assistant/supervisor
/tests/components/hlk_sw16/ @jameshilliard
/homeassistant/components/holiday/ @jrieger @gjohansson-ST
/tests/components/holiday/ @jrieger @gjohansson-ST
/homeassistant/components/home_connect/ @DavidMStraub
/tests/components/home_connect/ @DavidMStraub
/homeassistant/components/home_connect/ @DavidMStraub @Diegorro98
/tests/components/home_connect/ @DavidMStraub @Diegorro98
/homeassistant/components/homeassistant/ @home-assistant/core
/tests/components/homeassistant/ @home-assistant/core
/homeassistant/components/homeassistant_alerts/ @home-assistant/core
@@ -629,6 +643,8 @@ build.json @home-assistant/supervisor
/tests/components/homewizard/ @DCSBL
/homeassistant/components/honeywell/ @rdfurman @mkmer
/tests/components/honeywell/ @rdfurman @mkmer
/homeassistant/components/html5/ @alexyao2015
/tests/components/html5/ @alexyao2015
/homeassistant/components/http/ @home-assistant/core
/tests/components/http/ @home-assistant/core
/homeassistant/components/huawei_lte/ @scop @fphammerle
@@ -643,6 +659,8 @@ build.json @home-assistant/supervisor
/tests/components/hunterdouglas_powerview/ @bdraco @kingy444 @trullock
/homeassistant/components/husqvarna_automower/ @Thomas55555
/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/hvv_departures/ @vigonotion
@@ -707,8 +725,8 @@ build.json @home-assistant/supervisor
/tests/components/ios/ @robbiet480
/homeassistant/components/iotawatt/ @gtdiehl @jyavenard
/tests/components/iotawatt/ @gtdiehl @jyavenard
/homeassistant/components/iotty/ @pburgio
/tests/components/iotty/ @pburgio
/homeassistant/components/iotty/ @pburgio @shapournemati-iotty
/tests/components/iotty/ @pburgio @shapournemati-iotty
/homeassistant/components/iperf3/ @rohankapoorcom
/homeassistant/components/ipma/ @dgomes
/tests/components/ipma/ @dgomes
@@ -721,6 +739,8 @@ build.json @home-assistant/supervisor
/tests/components/iron_os/ @tr4nt0r
/homeassistant/components/isal/ @bdraco
/tests/components/isal/ @bdraco
/homeassistant/components/iskra/ @iskramis
/tests/components/iskra/ @iskramis
/homeassistant/components/islamic_prayer_times/ @engrbm87 @cpfair
/tests/components/islamic_prayer_times/ @engrbm87 @cpfair
/homeassistant/components/israel_rail/ @shaiu
@@ -797,8 +817,12 @@ build.json @home-assistant/supervisor
/tests/components/leaone/ @bdraco
/homeassistant/components/led_ble/ @bdraco
/tests/components/led_ble/ @bdraco
/homeassistant/components/lektrico/ @lektrico
/tests/components/lektrico/ @lektrico
/homeassistant/components/lg_netcast/ @Drafteed @splinter98
/tests/components/lg_netcast/ @Drafteed @splinter98
/homeassistant/components/lg_thinq/ @LG-ThinQ-Integration
/tests/components/lg_thinq/ @LG-ThinQ-Integration
/homeassistant/components/lidarr/ @tkdrob
/tests/components/lidarr/ @tkdrob
/homeassistant/components/lifx/ @Djelibeybi
@@ -843,8 +867,8 @@ build.json @home-assistant/supervisor
/tests/components/lupusec/ @majuss @suaveolent
/homeassistant/components/lutron/ @cdheiser @wilburCForce
/tests/components/lutron/ @cdheiser @wilburCForce
/homeassistant/components/lutron_caseta/ @swails @bdraco @danaues @eclair4151
/tests/components/lutron_caseta/ @swails @bdraco @danaues @eclair4151
/homeassistant/components/lutron_caseta/ @swails @danaues @eclair4151
/tests/components/lutron_caseta/ @swails @danaues @eclair4151
/homeassistant/components/lyric/ @timmo001
/tests/components/lyric/ @timmo001
/homeassistant/components/madvr/ @iloveicedgreentea
@@ -907,6 +931,8 @@ build.json @home-assistant/supervisor
/tests/components/modern_forms/ @wonderslug
/homeassistant/components/moehlenhoff_alpha2/ @j-a-n
/tests/components/moehlenhoff_alpha2/ @j-a-n
/homeassistant/components/monarch_money/ @jeeftor
/tests/components/monarch_money/ @jeeftor
/homeassistant/components/monoprice/ @etsinko @OnFreund
/tests/components/monoprice/ @etsinko @OnFreund
/homeassistant/components/monzo/ @jakemartin-icl
@@ -928,6 +954,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/msteams/ @peroyvind
/homeassistant/components/mullvad/ @meichthys
/tests/components/mullvad/ @meichthys
/homeassistant/components/music_assistant/ @music-assistant
/tests/components/music_assistant/ @music-assistant
/homeassistant/components/mutesync/ @currentoor
/tests/components/mutesync/ @currentoor
/homeassistant/components/my/ @home-assistant/core
@@ -942,6 +970,8 @@ build.json @home-assistant/supervisor
/tests/components/nam/ @bieniu
/homeassistant/components/nanoleaf/ @milanmeu @joostlek
/tests/components/nanoleaf/ @milanmeu @joostlek
/homeassistant/components/nasweb/ @nasWebio
/tests/components/nasweb/ @nasWebio
/homeassistant/components/neato/ @Santobert
/tests/components/neato/ @Santobert
/homeassistant/components/nederlandse_spoorwegen/ @YarmoM
@@ -982,6 +1012,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/noaa_tides/ @jdelaney72
/homeassistant/components/nobo_hub/ @echoromeo @oyvindwe
/tests/components/nobo_hub/ @echoromeo @oyvindwe
/homeassistant/components/nordpool/ @gjohansson-ST
/tests/components/nordpool/ @gjohansson-ST
/homeassistant/components/notify/ @home-assistant/core
/tests/components/notify/ @home-assistant/core
/homeassistant/components/notify_events/ @matrozov @papajojo
@@ -1004,6 +1036,8 @@ build.json @home-assistant/supervisor
/tests/components/nut/ @bdraco @ollo69 @pestevez
/homeassistant/components/nws/ @MatthewFlamm @kamiyo
/tests/components/nws/ @MatthewFlamm @kamiyo
/homeassistant/components/nyt_games/ @joostlek
/tests/components/nyt_games/ @joostlek
/homeassistant/components/nzbget/ @chriscla
/tests/components/nzbget/ @chriscla
/homeassistant/components/obihai/ @dshokouhi @ejpenney
@@ -1023,6 +1057,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/onewire/ @garbled1 @epenet
/tests/components/onewire/ @garbled1 @epenet
/homeassistant/components/onkyo/ @arturpragacz
/tests/components/onkyo/ @arturpragacz
/homeassistant/components/onvif/ @hunterjm
/tests/components/onvif/ @hunterjm
/homeassistant/components/open_meteo/ @frenck
@@ -1064,10 +1099,10 @@ build.json @home-assistant/supervisor
/tests/components/ovo_energy/ @timmo001
/homeassistant/components/p1_monitor/ @klaasnicolaas
/tests/components/p1_monitor/ @klaasnicolaas
/homeassistant/components/palazzetti/ @dotvav
/tests/components/palazzetti/ @dotvav
/homeassistant/components/panel_custom/ @home-assistant/frontend
/tests/components/panel_custom/ @home-assistant/frontend
/homeassistant/components/panel_iframe/ @home-assistant/frontend
/tests/components/panel_iframe/ @home-assistant/frontend
/homeassistant/components/peco/ @IceBotYT
/tests/components/peco/ @IceBotYT
/homeassistant/components/pegel_online/ @mib1185
@@ -1082,8 +1117,6 @@ build.json @home-assistant/supervisor
/tests/components/pi_hole/ @shenxn
/homeassistant/components/picnic/ @corneyl
/tests/components/picnic/ @corneyl
/homeassistant/components/pilight/ @trekky12
/tests/components/pilight/ @trekky12
/homeassistant/components/ping/ @jpbede
/tests/components/ping/ @jpbede
/homeassistant/components/plaato/ @JohNan
@@ -1113,8 +1146,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/proximity/ @mib1185
/tests/components/proximity/ @mib1185
/homeassistant/components/proxmoxve/ @jhollowe @Corbeno
/homeassistant/components/prusalink/ @balloob @Skaronator
/tests/components/prusalink/ @balloob @Skaronator
/homeassistant/components/prusalink/ @balloob
/tests/components/prusalink/ @balloob
/homeassistant/components/ps4/ @ktnrg45
/tests/components/ps4/ @ktnrg45
/homeassistant/components/pure_energie/ @klaasnicolaas
@@ -1217,8 +1250,8 @@ build.json @home-assistant/supervisor
/tests/components/roku/ @ctalkington
/homeassistant/components/romy/ @xeniter
/tests/components/romy/ @xeniter
/homeassistant/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
/tests/components/roomba/ @pschmitt @cyr-ius @shenxn @Xitee1 @Orhideous
/homeassistant/components/roomba/ @pschmitt @cyr-ius @shenxn @Orhideous
/tests/components/roomba/ @pschmitt @cyr-ius @shenxn @Orhideous
/homeassistant/components/roon/ @pavoni
/tests/components/roon/ @pavoni
/homeassistant/components/rpi_power/ @shenxn @swetoast
@@ -1275,6 +1308,8 @@ build.json @home-assistant/supervisor
/tests/components/sensorpro/ @bdraco
/homeassistant/components/sensorpush/ @bdraco
/tests/components/sensorpush/ @bdraco
/homeassistant/components/sensoterra/ @markruys
/tests/components/sensoterra/ @markruys
/homeassistant/components/sentry/ @dcramer @frenck
/tests/components/sentry/ @dcramer @frenck
/homeassistant/components/senz/ @milanmeu
@@ -1327,6 +1362,7 @@ build.json @home-assistant/supervisor
/homeassistant/components/smarttub/ @mdz
/tests/components/smarttub/ @mdz
/homeassistant/components/smarty/ @z0mbieprocess
/tests/components/smarty/ @z0mbieprocess
/homeassistant/components/smhi/ @gjohansson-ST
/tests/components/smhi/ @gjohansson-ST
/homeassistant/components/smlight/ @tl-sl
@@ -1360,15 +1396,13 @@ build.json @home-assistant/supervisor
/tests/components/spaceapi/ @fabaff
/homeassistant/components/speedtestdotnet/ @rohankapoorcom @engrbm87
/tests/components/speedtestdotnet/ @rohankapoorcom @engrbm87
/homeassistant/components/spider/ @peternijssen
/tests/components/spider/ @peternijssen
/homeassistant/components/splunk/ @Bre77
/homeassistant/components/spotify/ @frenck @joostlek
/tests/components/spotify/ @frenck @joostlek
/homeassistant/components/sql/ @gjohansson-ST @dougiteixeira
/tests/components/sql/ @gjohansson-ST @dougiteixeira
/homeassistant/components/squeezebox/ @rajlaud
/tests/components/squeezebox/ @rajlaud
/homeassistant/components/squeezebox/ @rajlaud @pssc @peteS-UK
/tests/components/squeezebox/ @rajlaud @pssc @peteS-UK
/homeassistant/components/srp_energy/ @briglx
/tests/components/srp_energy/ @briglx
/homeassistant/components/starline/ @anonym-tsk
@@ -1392,8 +1426,8 @@ build.json @home-assistant/supervisor
/tests/components/stt/ @home-assistant/core
/homeassistant/components/subaru/ @G-Two
/tests/components/subaru/ @G-Two
/homeassistant/components/suez_water/ @ooii
/tests/components/suez_water/ @ooii
/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/sunweg/ @rokam
@@ -1412,10 +1446,10 @@ build.json @home-assistant/supervisor
/tests/components/switchbee/ @jafar-atili
/homeassistant/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/tests/components/switchbot/ @danielhiversen @RenierM26 @murtas @Eloston @dsypniewski
/homeassistant/components/switchbot_cloud/ @SeraphicRav @laurence-presland
/tests/components/switchbot_cloud/ @SeraphicRav @laurence-presland
/homeassistant/components/switcher_kis/ @thecode
/tests/components/switcher_kis/ @thecode
/homeassistant/components/switchbot_cloud/ @SeraphicRav @laurence-presland @Gigatrappeur
/tests/components/switchbot_cloud/ @SeraphicRav @laurence-presland @Gigatrappeur
/homeassistant/components/switcher_kis/ @thecode @YogevBokobza
/tests/components/switcher_kis/ @thecode @YogevBokobza
/homeassistant/components/switchmate/ @danielhiversen @qiz-li
/homeassistant/components/syncthing/ @zhulik
/tests/components/syncthing/ @zhulik
@@ -1519,6 +1553,8 @@ build.json @home-assistant/supervisor
/tests/components/transmission/ @engrbm87 @JPHutchins
/homeassistant/components/trend/ @jpbede
/tests/components/trend/ @jpbede
/homeassistant/components/triggercmd/ @rvmey
/tests/components/triggercmd/ @rvmey
/homeassistant/components/tts/ @home-assistant/core
/tests/components/tts/ @home-assistant/core
/homeassistant/components/tuya/ @Tuya @zlinoliver @frenck
@@ -1623,6 +1659,8 @@ build.json @home-assistant/supervisor
/tests/components/webostv/ @thecode
/homeassistant/components/websocket_api/ @home-assistant/core
/tests/components/websocket_api/ @home-assistant/core
/homeassistant/components/weheat/ @jesperraemaekers
/tests/components/weheat/ @jesperraemaekers
/homeassistant/components/wemo/ @esev
/tests/components/wemo/ @esev
/homeassistant/components/whirlpool/ @abmantis @mkmer
@@ -1640,6 +1678,8 @@ build.json @home-assistant/supervisor
/tests/components/wiz/ @sbidy
/homeassistant/components/wled/ @frenck
/tests/components/wled/ @frenck
/homeassistant/components/wmspro/ @mback2k
/tests/components/wmspro/ @mback2k
/homeassistant/components/wolflink/ @adamkrol93 @mtielen
/tests/components/wolflink/ @adamkrol93 @mtielen
/homeassistant/components/workday/ @fabaff @gjohansson-ST
+21 -11
View File
@@ -7,12 +7,13 @@ FROM ${BUILD_FROM}
# Synchronize with homeassistant/core.py:async_stop
ENV \
S6_SERVICES_GRACETIME=240000 \
UV_SYSTEM_PYTHON=true
UV_SYSTEM_PYTHON=true \
UV_NO_CACHE=true
ARG QEMU_CPU
# Install uv
RUN pip3 install uv==0.2.27
RUN pip3 install uv==0.5.0
WORKDIR /usr/src
@@ -29,15 +30,9 @@ RUN \
if ls homeassistant/home_assistant_*.whl 1> /dev/null 2>&1; then \
uv pip install homeassistant/home_assistant_*.whl; \
fi \
&& if [ "${BUILD_ARCH}" = "i386" ]; then \
linux32 uv pip install \
--no-build \
-r homeassistant/requirements_all.txt; \
else \
uv pip install \
--no-build \
-r homeassistant/requirements_all.txt; \
fi
&& uv pip install \
--no-build \
-r homeassistant/requirements_all.txt
## Setup Home Assistant Core
COPY . homeassistant/
@@ -50,4 +45,19 @@ RUN \
# Home Assistant S6-Overlay
COPY rootfs /
# Needs to be redefined inside the FROM statement to be set for RUN commands
ARG BUILD_ARCH
# Get go2rtc binary
RUN \
case "${BUILD_ARCH}" in \
"aarch64") go2rtc_suffix='arm64' ;; \
"armhf") go2rtc_suffix='armv6' ;; \
"armv7") go2rtc_suffix='arm' ;; \
*) go2rtc_suffix=${BUILD_ARCH} ;; \
esac \
&& curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.6/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc \
&& chmod +x /bin/go2rtc \
# Verify go2rtc can be executed
&& go2rtc --version
WORKDIR /config
+3
View File
@@ -35,6 +35,9 @@ RUN \
&& 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
+5 -2
View File
@@ -7,8 +7,6 @@ Check out `home-assistant.io <https://home-assistant.io>`__ for `a
demo <https://demo.home-assistant.io>`__, `installation instructions <https://home-assistant.io/getting-started/>`__,
`tutorials <https://home-assistant.io/getting-started/automation/>`__ and `documentation <https://home-assistant.io/docs/>`__.
This is a project of the `Open Home Foundation <https://www.openhomefoundation.org/>`__.
|screenshot-states|
Featured integrations
@@ -22,9 +20,14 @@ components <https://developers.home-assistant.io/docs/creating_component_index/>
If you run into issues while using Home Assistant or during development
of a component, check the `Home Assistant help section <https://home-assistant.io/help/>`__ of our website for further help and information.
|ohf-logo|
.. |Chat Status| image:: https://img.shields.io/discord/330944238910963714.svg
:target: https://www.home-assistant.io/join-chat/
.. |screenshot-states| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-states.png
:target: https://demo.home-assistant.io
.. |screenshot-integrations| image:: https://raw.githubusercontent.com/home-assistant/core/dev/.github/assets/screenshot-integrations.png
:target: https://home-assistant.io/integrations/
.. |ohf-logo| image:: https://www.openhomefoundation.org/badges/home-assistant.png
:alt: Home Assistant - A project from the Open Home Foundation
:target: https://www.openhomefoundation.org/
+4
View File
@@ -9,6 +9,7 @@ import os
import sys
import threading
from .backup_restore import restore_backup
from .const import REQUIRED_PYTHON_VER, RESTART_EXIT_CODE, __version__
FAULT_LOG_FILENAME = "home-assistant.log.fault"
@@ -182,6 +183,9 @@ def main() -> int:
return scripts.run(args.script)
config_dir = os.path.abspath(os.path.join(os.getcwd(), args.config))
if restore_backup(config_dir):
return RESTART_EXIT_CODE
ensure_config_path(config_dir)
# pylint: disable-next=import-outside-toplevel
+11 -7
View File
@@ -12,7 +12,6 @@ from typing import Any, cast
import jwt
from homeassistant import data_entry_flow
from homeassistant.core import (
CALLBACK_TYPE,
HassJob,
@@ -20,13 +19,14 @@ from homeassistant.core import (
HomeAssistant,
callback,
)
from homeassistant.data_entry_flow import FlowHandler, FlowManager, FlowResultType
from homeassistant.helpers.event import async_track_point_in_utc_time
from homeassistant.util import dt as dt_util
from . import auth_store, jwt_wrapper, models
from .const import ACCESS_TOKEN_EXPIRATION, GROUP_ID_ADMIN, REFRESH_TOKEN_EXPIRATION
from .mfa_modules import MultiFactorAuthModule, auth_mfa_module_from_config
from .models import AuthFlowResult
from .models import AuthFlowContext, AuthFlowResult
from .providers import AuthProvider, LoginFlow, auth_provider_from_config
from .providers.homeassistant import HassAuthProvider
@@ -98,7 +98,7 @@ async def auth_manager_from_config(
class AuthManagerFlowManager(
data_entry_flow.FlowManager[AuthFlowResult, tuple[str, str]]
FlowManager[AuthFlowContext, AuthFlowResult, tuple[str, str]]
):
"""Manage authentication flows."""
@@ -113,7 +113,7 @@ class AuthManagerFlowManager(
self,
handler_key: tuple[str, str],
*,
context: dict[str, Any] | None = None,
context: AuthFlowContext | None = None,
data: dict[str, Any] | None = None,
) -> LoginFlow:
"""Create a login flow."""
@@ -124,13 +124,17 @@ class AuthManagerFlowManager(
async def async_finish_flow(
self,
flow: data_entry_flow.FlowHandler[AuthFlowResult, tuple[str, str]],
flow: FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]],
result: AuthFlowResult,
) -> AuthFlowResult:
"""Return a user as result of login flow."""
"""Return a user as result of login flow.
This method is called when a flow step returns FlowResultType.ABORT or
FlowResultType.CREATE_ENTRY.
"""
flow = cast(LoginFlow, flow)
if result["type"] != data_entry_flow.FlowResultType.CREATE_ENTRY:
if result["type"] != FlowResultType.CREATE_ENTRY:
return result
# we got final result
+13 -3
View File
@@ -3,7 +3,7 @@
from __future__ import annotations
from datetime import datetime, timedelta
from functools import cached_property
from ipaddress import IPv4Address, IPv6Address
import secrets
from typing import Any, NamedTuple
import uuid
@@ -11,9 +11,10 @@ import uuid
import attr
from attr import Attribute
from attr.setters import validate
from propcache import cached_property
from homeassistant.const import __version__
from homeassistant.data_entry_flow import FlowResult
from homeassistant.data_entry_flow import FlowContext, FlowResult
from homeassistant.util import dt as dt_util
from . import permissions as perm_mdl
@@ -23,7 +24,16 @@ TOKEN_TYPE_NORMAL = "normal"
TOKEN_TYPE_SYSTEM = "system"
TOKEN_TYPE_LONG_LIVED_ACCESS_TOKEN = "long_lived_access_token"
AuthFlowResult = FlowResult[tuple[str, str]]
class AuthFlowContext(FlowContext, total=False):
"""Typed context dict for auth flow."""
credential_only: bool
ip_address: IPv4Address | IPv6Address
redirect_uri: str
AuthFlowResult = FlowResult[AuthFlowContext, tuple[str, str]]
@attr.s(slots=True)
+12 -4
View File
@@ -10,9 +10,10 @@ from typing import Any
import voluptuous as vol
from voluptuous.humanize import humanize_error
from homeassistant import data_entry_flow, requirements
from homeassistant import requirements
from homeassistant.const import CONF_ID, CONF_NAME, CONF_TYPE
from homeassistant.core import HomeAssistant, callback
from homeassistant.data_entry_flow import FlowHandler
from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers.importlib import async_import_module
from homeassistant.util import dt as dt_util
@@ -21,7 +22,14 @@ from homeassistant.util.hass_dict import HassKey
from ..auth_store import AuthStore
from ..const import MFA_SESSION_EXPIRATION
from ..models import AuthFlowResult, Credentials, RefreshToken, User, UserMeta
from ..models import (
AuthFlowContext,
AuthFlowResult,
Credentials,
RefreshToken,
User,
UserMeta,
)
_LOGGER = logging.getLogger(__name__)
DATA_REQS: HassKey[set[str]] = HassKey("auth_prov_reqs_processed")
@@ -97,7 +105,7 @@ class AuthProvider:
# Implement by extending class
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
"""Return the data flow for logging in with auth provider.
Auth provider should extend LoginFlow and return an instance.
@@ -184,7 +192,7 @@ async def load_auth_provider_module(
return module
class LoginFlow(data_entry_flow.FlowHandler[AuthFlowResult, tuple[str, str]]):
class LoginFlow(FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]]):
"""Handler for the login flow."""
_flow_result = AuthFlowResult
+2 -2
View File
@@ -13,7 +13,7 @@ import voluptuous as vol
from homeassistant.const import CONF_COMMAND
from homeassistant.exceptions import HomeAssistantError
from ..models import AuthFlowResult, Credentials, UserMeta
from ..models import AuthFlowContext, AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
CONF_ARGS = "args"
@@ -59,7 +59,7 @@ class CommandLineAuthProvider(AuthProvider):
super().__init__(*args, **kwargs)
self._user_meta: dict[str, dict[str, Any]] = {}
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
"""Return a flow to login."""
return CommandLineLoginFlow(self)
@@ -17,7 +17,7 @@ from homeassistant.exceptions import HomeAssistantError
from homeassistant.helpers import issue_registry as ir
from homeassistant.helpers.storage import Store
from ..models import AuthFlowResult, Credentials, UserMeta
from ..models import AuthFlowContext, AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
STORAGE_VERSION = 1
@@ -305,7 +305,7 @@ class HassAuthProvider(AuthProvider):
await data.async_load()
self.data = data
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
"""Return a flow to login."""
return HassLoginFlow(self)
@@ -4,14 +4,14 @@ from __future__ import annotations
from collections.abc import Mapping
import hmac
from typing import Any, cast
from typing import cast
import voluptuous as vol
from homeassistant.core import callback
from homeassistant.exceptions import HomeAssistantError
from ..models import AuthFlowResult, Credentials, UserMeta
from ..models import AuthFlowContext, AuthFlowResult, Credentials, UserMeta
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
USER_SCHEMA = vol.Schema(
@@ -36,7 +36,7 @@ class InvalidAuthError(HomeAssistantError):
class ExampleAuthProvider(AuthProvider):
"""Example auth provider based on hardcoded usernames and passwords."""
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
"""Return a flow to login."""
return ExampleLoginFlow(self)
@@ -25,7 +25,13 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.network import is_cloud_connection
from .. import InvalidAuthError
from ..models import AuthFlowResult, Credentials, RefreshToken, UserMeta
from ..models import (
AuthFlowContext,
AuthFlowResult,
Credentials,
RefreshToken,
UserMeta,
)
from . import AUTH_PROVIDER_SCHEMA, AUTH_PROVIDERS, AuthProvider, LoginFlow
type IPAddress = IPv4Address | IPv6Address
@@ -98,7 +104,7 @@ class TrustedNetworksAuthProvider(AuthProvider):
"""Trusted Networks auth provider does not support MFA."""
return False
async def async_login_flow(self, context: dict[str, Any] | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
"""Return a flow to login."""
assert context is not None
ip_addr = cast(IPAddress, context.get("ip_address"))
+1
View File
@@ -9,6 +9,7 @@ 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 (
+126
View File
@@ -0,0 +1,126 @@
"""Home Assistant module to handle restoring backups."""
from dataclasses import dataclass
import json
import logging
from pathlib import Path
import shutil
import sys
from tempfile import TemporaryDirectory
from awesomeversion import AwesomeVersion
import securetar
from .const import __version__ as HA_VERSION
RESTORE_BACKUP_FILE = ".HA_RESTORE"
KEEP_PATHS = ("backups",)
_LOGGER = logging.getLogger(__name__)
@dataclass
class RestoreBackupFileContent:
"""Definition for restore backup file content."""
backup_file_path: Path
def restore_backup_file_content(config_dir: Path) -> RestoreBackupFileContent | None:
"""Return the contents of the restore backup file."""
instruction_path = config_dir.joinpath(RESTORE_BACKUP_FILE)
try:
instruction_content = json.loads(instruction_path.read_text(encoding="utf-8"))
return RestoreBackupFileContent(
backup_file_path=Path(instruction_content["path"])
)
except (FileNotFoundError, json.JSONDecodeError):
return None
def _clear_configuration_directory(config_dir: Path) -> None:
"""Delete all files and directories in the config directory except for the backups directory."""
keep_paths = [config_dir.joinpath(path) for path in KEEP_PATHS]
config_contents = sorted(
[entry for entry in config_dir.iterdir() if entry not in keep_paths]
)
for entry in config_contents:
entrypath = config_dir.joinpath(entry)
if entrypath.is_file():
entrypath.unlink()
elif entrypath.is_dir():
shutil.rmtree(entrypath)
def _extract_backup(config_dir: Path, backup_file_path: Path) -> None:
"""Extract the backup file to the config directory."""
with (
TemporaryDirectory() as tempdir,
securetar.SecureTarFile(
backup_file_path,
gzip=False,
mode="r",
) as ostf,
):
ostf.extractall(
path=Path(tempdir, "extracted"),
members=securetar.secure_path(ostf),
filter="fully_trusted",
)
backup_meta_file = Path(tempdir, "extracted", "backup.json")
backup_meta = json.loads(backup_meta_file.read_text(encoding="utf8"))
if (
backup_meta_version := AwesomeVersion(
backup_meta["homeassistant"]["version"]
)
) > HA_VERSION:
raise ValueError(
f"You need at least Home Assistant version {backup_meta_version} to restore this backup"
)
with securetar.SecureTarFile(
Path(
tempdir,
"extracted",
f"homeassistant.tar{'.gz' if backup_meta["compressed"] else ''}",
),
gzip=backup_meta["compressed"],
mode="r",
) as istf:
for member in istf.getmembers():
if member.name == "data":
continue
member.name = member.name.replace("data/", "")
_clear_configuration_directory(config_dir)
istf.extractall(
path=config_dir,
members=[
member
for member in securetar.secure_path(istf)
if member.name != "data"
],
filter="fully_trusted",
)
def restore_backup(config_dir_path: str) -> bool:
"""Restore the backup file if any.
Returns True if a restore backup file was found and restored, False otherwise.
"""
config_dir = Path(config_dir_path)
if not (restore_content := restore_backup_file_content(config_dir)):
return False
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
backup_file_path = restore_content.backup_file_path
_LOGGER.info("Restoring %s", backup_file_path)
try:
_extract_backup(config_dir, backup_file_path)
except FileNotFoundError as err:
raise ValueError(f"Backup file {backup_file_path} does not exist") from err
_LOGGER.info("Restore complete, restarting")
return True
+2 -1
View File
@@ -70,6 +70,7 @@ from .const import (
REQUIRED_NEXT_PYTHON_VER,
SIGNAL_BOOTSTRAP_INTEGRATIONS,
)
from .core_config import async_process_ha_core_config
from .exceptions import HomeAssistantError
from .helpers import (
area_registry,
@@ -479,7 +480,7 @@ async def async_from_config_dict(
core_config = config.get(core.DOMAIN, {})
try:
await conf_util.async_process_ha_core_config(hass, core_config)
await async_process_ha_core_config(hass, core_config)
except vol.Invalid as config_err:
conf_util.async_log_schema_error(config_err, core.DOMAIN, core_config, hass)
async_notify_setup_error(hass, core.DOMAIN)
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "aqara",
"name": "Aqara",
"iot_standards": ["matter", "zigbee"]
}
+1 -1
View File
@@ -5,10 +5,10 @@
"google_assistant",
"google_assistant_sdk",
"google_cloud",
"google_domains",
"google_generative_ai_conversation",
"google_mail",
"google_maps",
"google_photos",
"google_pubsub",
"google_sheets",
"google_tasks",
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "husqvarna",
"name": "Husqvarna",
"integrations": ["husqvarna_automower", "husqvarna_automower_ble"]
}
+1 -1
View File
@@ -1,5 +1,5 @@
{
"domain": "lg",
"name": "LG",
"integrations": ["lg_netcast", "lg_soundbar", "webostv"]
"integrations": ["lg_netcast", "lg_soundbar", "lg_thinq", "webostv"]
}
-49
View File
@@ -6,52 +6,3 @@ Component design guidelines:
format "<DOMAIN>.<OBJECT_ID>".
- Each component should publish services only under its own domain.
"""
from __future__ import annotations
import logging
from homeassistant.core import HomeAssistant, split_entity_id
from homeassistant.helpers.frame import report
from homeassistant.helpers.group import expand_entity_ids
_LOGGER = logging.getLogger(__name__)
def is_on(hass: HomeAssistant, entity_id: str | None = None) -> bool:
"""Load up the module to call the is_on method.
If there is no entity id given we will check all.
"""
report(
(
"uses homeassistant.components.is_on."
" This is deprecated and will stop working in Home Assistant 2024.9, it"
" should be updated to use the function of the platform directly."
),
error_if_core=True,
)
if entity_id:
entity_ids = expand_entity_ids(hass, [entity_id])
else:
entity_ids = hass.states.entity_ids()
for ent_id in entity_ids:
domain = split_entity_id(ent_id)[0]
try:
component = getattr(hass.components, domain)
except ImportError:
_LOGGER.error("Failed to call %s.is_on: component not found", domain)
continue
if not hasattr(component, "is_on"):
_LOGGER.warning("Integration %s has no is_on method", domain)
continue
if component.is_on(ent_id):
return True
return False
@@ -4,8 +4,10 @@ from __future__ import annotations
from dataclasses import dataclass, field
from functools import partial
from pathlib import Path
from jaraco.abode.client import Client as Abode
import jaraco.abode.config
from jaraco.abode.exceptions import (
AuthenticationException as AbodeAuthenticationException,
Exception as AbodeException,
@@ -93,6 +95,9 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
password = entry.data[CONF_PASSWORD]
polling = entry.data[CONF_POLLING]
# Configure abode library to use config directory for storing data
jaraco.abode.config.paths.override(user_data=Path(hass.config.path("Abode")))
# For previous config entries where unique_id is None
if entry.unique_id is None:
hass.config_entries.async_update_entry(
@@ -7,13 +7,9 @@ from jaraco.abode.devices.alarm import Alarm
from homeassistant.components.alarm_control_panel import (
AlarmControlPanelEntity,
AlarmControlPanelEntityFeature,
AlarmControlPanelState,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
STATE_ALARM_ARMED_AWAY,
STATE_ALARM_ARMED_HOME,
STATE_ALARM_DISARMED,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@@ -44,14 +40,14 @@ class AbodeAlarm(AbodeDevice, AlarmControlPanelEntity):
_device: Alarm
@property
def state(self) -> str | None:
def alarm_state(self) -> AlarmControlPanelState | None:
"""Return the state of the device."""
if self._device.is_standby:
return STATE_ALARM_DISARMED
return AlarmControlPanelState.DISARMED
if self._device.is_away:
return STATE_ALARM_ARMED_AWAY
return AlarmControlPanelState.ARMED_AWAY
if self._device.is_home:
return STATE_ALARM_ARMED_HOME
return AlarmControlPanelState.ARMED_HOME
return None
def alarm_disarm(self, code: str | None = None) -> None:
@@ -4,7 +4,7 @@ from __future__ import annotations
from typing import cast
from jaraco.abode.devices.sensor import BinarySensor
from jaraco.abode.devices.binary_sensor import BinarySensor
from homeassistant.components.binary_sensor import (
BinarySensorDeviceClass,
@@ -102,15 +102,7 @@ class AbodeFlowHandler(ConfigFlow, domain=DOMAIN):
existing_entry = await self.async_set_unique_id(self._username)
if existing_entry:
self.hass.config_entries.async_update_entry(
existing_entry, data=config_data
)
# Reload the Abode config entry otherwise devices will remain unavailable
self.hass.async_create_task(
self.hass.config_entries.async_reload(existing_entry.entry_id)
)
return self.async_abort(reason="reauth_successful")
return self.async_update_reload_and_abort(existing_entry, data=config_data)
return self.async_create_entry(
title=cast(str, self._username), data=config_data
+1 -1
View File
@@ -9,5 +9,5 @@
},
"iot_class": "cloud_push",
"loggers": ["jaraco.abode", "lomond"],
"requirements": ["jaraco.abode==5.2.1"]
"requirements": ["jaraco.abode==6.2.1"]
}
@@ -2,13 +2,11 @@
from __future__ import annotations
from dataclasses import dataclass
import logging
from accuweather import AccuWeather
from homeassistant.components.sensor import DOMAIN as SENSOR_PLATFORM
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_API_KEY, CONF_NAME, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import entity_registry as er
@@ -16,7 +14,9 @@ from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN, UPDATE_INTERVAL_DAILY_FORECAST, UPDATE_INTERVAL_OBSERVATION
from .coordinator import (
AccuWeatherConfigEntry,
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherData,
AccuWeatherObservationDataUpdateCoordinator,
)
@@ -25,17 +25,6 @@ _LOGGER = logging.getLogger(__name__)
PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
@dataclass
class AccuWeatherData:
"""Data for AccuWeather integration."""
coordinator_observation: AccuWeatherObservationDataUpdateCoordinator
coordinator_daily_forecast: AccuWeatherDailyForecastDataUpdateCoordinator
type AccuWeatherConfigEntry = ConfigEntry[AccuWeatherData]
async def async_setup_entry(hass: HomeAssistant, entry: AccuWeatherConfigEntry) -> bool:
"""Set up AccuWeather as config entry."""
api_key: str = entry.data[CONF_API_KEY]
@@ -50,6 +39,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AccuWeatherConfigEntry)
coordinator_observation = AccuWeatherObservationDataUpdateCoordinator(
hass,
entry,
accuweather,
name,
"observation",
@@ -58,6 +48,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AccuWeatherConfigEntry)
coordinator_daily_forecast = AccuWeatherDailyForecastDataUpdateCoordinator(
hass,
entry,
accuweather,
name,
"daily forecast",
@@ -1,6 +1,9 @@
"""The AccuWeather coordinator."""
from __future__ import annotations
from asyncio import timeout
from dataclasses import dataclass
from datetime import timedelta
import logging
from typing import TYPE_CHECKING, Any
@@ -8,6 +11,7 @@ from typing import TYPE_CHECKING, Any
from accuweather import AccuWeather, ApiError, InvalidApiKeyError, RequestsExceededError
from aiohttp.client_exceptions import ClientConnectorError
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceEntryType, DeviceInfo
from homeassistant.helpers.update_coordinator import (
@@ -23,6 +27,17 @@ EXCEPTIONS = (ApiError, ClientConnectorError, InvalidApiKeyError, RequestsExceed
_LOGGER = logging.getLogger(__name__)
@dataclass
class AccuWeatherData:
"""Data for AccuWeather integration."""
coordinator_observation: AccuWeatherObservationDataUpdateCoordinator
coordinator_daily_forecast: AccuWeatherDailyForecastDataUpdateCoordinator
type AccuWeatherConfigEntry = ConfigEntry[AccuWeatherData]
class AccuWeatherObservationDataUpdateCoordinator(
DataUpdateCoordinator[dict[str, Any]]
):
@@ -31,6 +46,7 @@ class AccuWeatherObservationDataUpdateCoordinator(
def __init__(
self,
hass: HomeAssistant,
config_entry: AccuWeatherConfigEntry,
accuweather: AccuWeather,
name: str,
coordinator_type: str,
@@ -48,6 +64,7 @@ class AccuWeatherObservationDataUpdateCoordinator(
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=f"{name} ({coordinator_type})",
update_interval=update_interval,
)
@@ -73,6 +90,7 @@ class AccuWeatherDailyForecastDataUpdateCoordinator(
def __init__(
self,
hass: HomeAssistant,
config_entry: AccuWeatherConfigEntry,
accuweather: AccuWeather,
name: str,
coordinator_type: str,
@@ -90,6 +108,7 @@ class AccuWeatherDailyForecastDataUpdateCoordinator(
super().__init__(
hass,
_LOGGER,
config_entry=config_entry,
name=f"{name} ({coordinator_type})",
update_interval=update_interval,
)
@@ -8,7 +8,7 @@ from homeassistant.components.diagnostics import async_redact_data
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE
from homeassistant.core import HomeAssistant
from . import AccuWeatherConfigEntry, AccuWeatherData
from .coordinator import AccuWeatherConfigEntry, AccuWeatherData
TO_REDACT = {CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE}
+32 -1
View File
@@ -18,6 +18,7 @@ from homeassistant.const import (
UV_INDEX,
UnitOfIrradiance,
UnitOfLength,
UnitOfPressure,
UnitOfSpeed,
UnitOfTemperature,
UnitOfTime,
@@ -27,7 +28,6 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from . import AccuWeatherConfigEntry
from .const import (
API_METRIC,
ATTR_CATEGORY,
@@ -40,6 +40,7 @@ from .const import (
MAX_FORECAST_DAYS,
)
from .coordinator import (
AccuWeatherConfigEntry,
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherObservationDataUpdateCoordinator,
)
@@ -279,6 +280,15 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
value_fn=lambda data: cast(float, data[API_METRIC][ATTR_VALUE]),
translation_key="realfeel_temperature_shade",
),
AccuWeatherSensorDescription(
key="RelativeHumidity",
device_class=SensorDeviceClass.HUMIDITY,
entity_registry_enabled_default=False,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(int, data),
translation_key="humidity",
),
AccuWeatherSensorDescription(
key="Precipitation",
device_class=SensorDeviceClass.PRECIPITATION_INTENSITY,
@@ -288,6 +298,16 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
attr_fn=lambda data: {"type": data["PrecipitationType"]},
translation_key="precipitation",
),
AccuWeatherSensorDescription(
key="Pressure",
device_class=SensorDeviceClass.PRESSURE,
entity_registry_enabled_default=False,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
native_unit_of_measurement=UnitOfPressure.HPA,
value_fn=lambda data: cast(float, data[API_METRIC][ATTR_VALUE]),
translation_key="pressure",
),
AccuWeatherSensorDescription(
key="PressureTendency",
device_class=SensorDeviceClass.ENUM,
@@ -295,9 +315,19 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
value_fn=lambda data: cast(str, data["LocalizedText"]).lower(),
translation_key="pressure_tendency",
),
AccuWeatherSensorDescription(
key="Temperature",
device_class=SensorDeviceClass.TEMPERATURE,
entity_registry_enabled_default=False,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
value_fn=lambda data: cast(float, data[API_METRIC][ATTR_VALUE]),
translation_key="temperature",
),
AccuWeatherSensorDescription(
key="UVIndex",
state_class=SensorStateClass.MEASUREMENT,
entity_registry_enabled_default=False,
native_unit_of_measurement=UV_INDEX,
value_fn=lambda data: cast(int, data),
attr_fn=lambda data: {ATTR_LEVEL: data["UVIndexText"]},
@@ -324,6 +354,7 @@ SENSOR_TYPES: tuple[AccuWeatherSensorDescription, ...] = (
AccuWeatherSensorDescription(
key="Wind",
device_class=SensorDeviceClass.WIND_SPEED,
entity_registry_enabled_default=False,
state_class=SensorStateClass.MEASUREMENT,
native_unit_of_measurement=UnitOfSpeed.KILOMETERS_PER_HOUR,
value_fn=lambda data: cast(float, data[ATTR_SPEED][API_METRIC][ATTR_VALUE]),
@@ -9,8 +9,8 @@ from accuweather.const import ENDPOINT
from homeassistant.components import system_health
from homeassistant.core import HomeAssistant, callback
from . import AccuWeatherConfigEntry
from .const import DOMAIN
from .coordinator import AccuWeatherConfigEntry
@callback
@@ -33,7 +33,6 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.dt import utc_from_timestamp
from . import AccuWeatherConfigEntry, AccuWeatherData
from .const import (
API_METRIC,
ATTR_DIRECTION,
@@ -43,7 +42,9 @@ from .const import (
CONDITION_MAP,
)
from .coordinator import (
AccuWeatherConfigEntry,
AccuWeatherDailyForecastDataUpdateCoordinator,
AccuWeatherData,
AccuWeatherObservationDataUpdateCoordinator,
)
@@ -3,6 +3,7 @@
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
import homeassistant.helpers.entity_registry as er
from .hub import PulseHub
@@ -17,6 +18,9 @@ async def async_setup_entry(
hass: HomeAssistant, config_entry: AcmedaConfigEntry
) -> bool:
"""Set up Rollease Acmeda Automate hub from a config entry."""
await _migrate_unique_ids(hass, config_entry)
hub = PulseHub(hass, config_entry)
if not await hub.async_setup():
@@ -28,6 +32,19 @@ async def async_setup_entry(
return True
async def _migrate_unique_ids(hass: HomeAssistant, entry: AcmedaConfigEntry) -> None:
"""Migrate pre-config flow unique ids."""
entity_registry = er.async_get(hass)
registry_entries = er.async_entries_for_config_entry(
entity_registry, entry.entry_id
)
for reg_entry in registry_entries:
if isinstance(reg_entry.unique_id, int): # type: ignore[unreachable]
entity_registry.async_update_entity( # type: ignore[unreachable]
reg_entry.entity_id, new_unique_id=str(reg_entry.unique_id)
)
async def async_unload_entry(
hass: HomeAssistant, config_entry: AcmedaConfigEntry
) -> bool:
+2 -2
View File
@@ -14,8 +14,8 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AcmedaConfigEntry
from .base import AcmedaBase
from .const import ACMEDA_HUB_UPDATE
from .entity import AcmedaEntity
from .helpers import async_add_acmeda_entities
@@ -44,7 +44,7 @@ async def async_setup_entry(
)
class AcmedaCover(AcmedaBase, CoverEntity):
class AcmedaCover(AcmedaEntity, CoverEntity):
"""Representation of an Acmeda cover device."""
_attr_name = None
@@ -11,7 +11,7 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
from .const import ACMEDA_ENTITY_REMOVE, DOMAIN, LOGGER
class AcmedaBase(entity.Entity):
class AcmedaEntity(entity.Entity):
"""Base representation of an Acmeda roller."""
_attr_should_poll = False
@@ -67,7 +67,7 @@ class AcmedaBase(entity.Entity):
@property
def unique_id(self) -> str:
"""Return the unique ID of this roller."""
return self.roller.id # type: ignore[no-any-return]
return str(self.roller.id)
@property
def device_id(self) -> str:
+2 -2
View File
@@ -9,8 +9,8 @@ from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AcmedaConfigEntry
from .base import AcmedaBase
from .const import ACMEDA_HUB_UPDATE
from .entity import AcmedaEntity
from .helpers import async_add_acmeda_entities
@@ -39,7 +39,7 @@ async def async_setup_entry(
)
class AcmedaBattery(AcmedaBase, SensorEntity):
class AcmedaBattery(AcmedaEntity, SensorEntity):
"""Representation of an Acmeda cover sensor."""
_attr_device_class = SensorDeviceClass.BATTERY
@@ -9,7 +9,7 @@ from typing import Final
import voluptuous as vol
from homeassistant.components.device_tracker import (
DOMAIN,
DOMAIN as DEVICE_TRACKER_DOMAIN,
PLATFORM_SCHEMA as DEVICE_TRACKER_PLATFORM_SCHEMA,
DeviceScanner,
)
@@ -36,7 +36,7 @@ def get_scanner(
hass: HomeAssistant, config: ConfigType
) -> ActiontecDeviceScanner | None:
"""Validate the configuration and return an Actiontec scanner."""
scanner = ActiontecDeviceScanner(config[DOMAIN])
scanner = ActiontecDeviceScanner(config[DEVICE_TRACKER_DOMAIN])
return scanner if scanner.success_init else None
@@ -51,7 +51,6 @@ class ActiontecDeviceScanner(DeviceScanner):
self.last_results: list[Device] = []
data = self.get_actiontec_data()
self.success_init = data is not None
_LOGGER.info("Scanner initialized")
def scan_devices(self) -> list[str]:
"""Scan for new devices and return a list with found device IDs."""
@@ -70,7 +69,7 @@ class ActiontecDeviceScanner(DeviceScanner):
Return boolean if scanning successful.
"""
_LOGGER.info("Scanning")
_LOGGER.debug("Scanning")
if not self.success_init:
return False
@@ -79,7 +78,7 @@ class ActiontecDeviceScanner(DeviceScanner):
self.last_results = [
device for device in actiontec_data if device.timevalid > -60
]
_LOGGER.info("Scan successful")
_LOGGER.debug("Scan successful")
return True
def get_actiontec_data(self) -> list[Device] | None:
+1 -1
View File
@@ -130,7 +130,7 @@ class AdaxConfigFlow(ConfigFlow, domain=DOMAIN):
async_get_clientsession(self.hass), account_id, password
)
if token is None:
_LOGGER.info("Adax: Failed to login to retrieve token")
_LOGGER.debug("Adax: Failed to login to retrieve token")
errors["base"] = "cannot_connect"
return self.async_show_form(
step_id="cloud",
@@ -7,7 +7,6 @@ from typing import Any
from adguardhome import AdGuardHome, AdGuardHomeConnectionError
import voluptuous as vol
from homeassistant.components.hassio import HassioServiceInfo
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import (
CONF_HOST,
@@ -18,6 +17,7 @@ from homeassistant.const import (
CONF_VERIFY_SSL,
)
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.service_info.hassio import HassioServiceInfo
from .const import DOMAIN
+24 -221
View File
@@ -1,12 +1,6 @@
"""Support for Automation Device Specification (ADS)."""
import asyncio
from asyncio import timeout
from collections import namedtuple
import ctypes
import logging
import struct
import threading
import pyads
import voluptuous as vol
@@ -19,42 +13,38 @@ from homeassistant.const import (
)
from homeassistant.core import HomeAssistant, ServiceCall
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.typing import ConfigType
from .const import CONF_ADS_VAR, DATA_ADS, DOMAIN, AdsType
from .hub import AdsHub
_LOGGER = logging.getLogger(__name__)
DATA_ADS = "data_ads"
# Supported Types
ADSTYPE_BOOL = "bool"
ADSTYPE_BYTE = "byte"
ADSTYPE_DINT = "dint"
ADSTYPE_INT = "int"
ADSTYPE_UDINT = "udint"
ADSTYPE_UINT = "uint"
ADS_TYPEMAP = {
ADSTYPE_BOOL: pyads.PLCTYPE_BOOL,
ADSTYPE_BYTE: pyads.PLCTYPE_BYTE,
ADSTYPE_DINT: pyads.PLCTYPE_DINT,
ADSTYPE_INT: pyads.PLCTYPE_INT,
ADSTYPE_UDINT: pyads.PLCTYPE_UDINT,
ADSTYPE_UINT: pyads.PLCTYPE_UINT,
AdsType.BOOL: pyads.PLCTYPE_BOOL,
AdsType.BYTE: pyads.PLCTYPE_BYTE,
AdsType.INT: pyads.PLCTYPE_INT,
AdsType.UINT: pyads.PLCTYPE_UINT,
AdsType.SINT: pyads.PLCTYPE_SINT,
AdsType.USINT: pyads.PLCTYPE_USINT,
AdsType.DINT: pyads.PLCTYPE_DINT,
AdsType.UDINT: pyads.PLCTYPE_UDINT,
AdsType.WORD: pyads.PLCTYPE_WORD,
AdsType.DWORD: pyads.PLCTYPE_DWORD,
AdsType.REAL: pyads.PLCTYPE_REAL,
AdsType.LREAL: pyads.PLCTYPE_LREAL,
AdsType.STRING: pyads.PLCTYPE_STRING,
AdsType.TIME: pyads.PLCTYPE_TIME,
AdsType.DATE: pyads.PLCTYPE_DATE,
AdsType.DATE_AND_TIME: pyads.PLCTYPE_DT,
AdsType.TOD: pyads.PLCTYPE_TOD,
}
CONF_ADS_FACTOR = "factor"
CONF_ADS_TYPE = "adstype"
CONF_ADS_VALUE = "value"
CONF_ADS_VAR = "adsvar"
CONF_ADS_VAR_BRIGHTNESS = "adsvar_brightness"
CONF_ADS_VAR_POSITION = "adsvar_position"
STATE_KEY_STATE = "state"
STATE_KEY_BRIGHTNESS = "brightness"
STATE_KEY_POSITION = "position"
DOMAIN = "ads"
SERVICE_WRITE_DATA_BY_NAME = "write_data_by_name"
@@ -73,16 +63,7 @@ CONFIG_SCHEMA = vol.Schema(
SCHEMA_SERVICE_WRITE_DATA_BY_NAME = vol.Schema(
{
vol.Required(CONF_ADS_TYPE): vol.In(
[
ADSTYPE_INT,
ADSTYPE_UINT,
ADSTYPE_BYTE,
ADSTYPE_BOOL,
ADSTYPE_DINT,
ADSTYPE_UDINT,
]
),
vol.Required(CONF_ADS_TYPE): vol.Coerce(AdsType),
vol.Required(CONF_ADS_VALUE): vol.Coerce(int),
vol.Required(CONF_ADS_VAR): cv.string,
}
@@ -116,9 +97,9 @@ def setup(hass: HomeAssistant, config: ConfigType) -> bool:
def handle_write_data_by_name(call: ServiceCall) -> None:
"""Write a value to the connected ADS device."""
ads_var = call.data[CONF_ADS_VAR]
ads_type = call.data[CONF_ADS_TYPE]
value = call.data[CONF_ADS_VALUE]
ads_var: str = call.data[CONF_ADS_VAR]
ads_type: AdsType = call.data[CONF_ADS_TYPE]
value: int = call.data[CONF_ADS_VALUE]
try:
ads.write_by_name(ads_var, value, ADS_TYPEMAP[ads_type])
@@ -133,181 +114,3 @@ def setup(hass: HomeAssistant, config: ConfigType) -> bool:
)
return True
# Tuple to hold data needed for notification
NotificationItem = namedtuple( # noqa: PYI024
"NotificationItem", "hnotify huser name plc_datatype callback"
)
class AdsHub:
"""Representation of an ADS connection."""
def __init__(self, ads_client):
"""Initialize the ADS hub."""
self._client = ads_client
self._client.open()
# All ADS devices are registered here
self._devices = []
self._notification_items = {}
self._lock = threading.Lock()
def shutdown(self, *args, **kwargs):
"""Shutdown ADS connection."""
_LOGGER.debug("Shutting down ADS")
for notification_item in self._notification_items.values():
_LOGGER.debug(
"Deleting device notification %d, %d",
notification_item.hnotify,
notification_item.huser,
)
try:
self._client.del_device_notification(
notification_item.hnotify, notification_item.huser
)
except pyads.ADSError as err:
_LOGGER.error(err)
try:
self._client.close()
except pyads.ADSError as err:
_LOGGER.error(err)
def register_device(self, device):
"""Register a new device."""
self._devices.append(device)
def write_by_name(self, name, value, plc_datatype):
"""Write a value to the device."""
with self._lock:
try:
return self._client.write_by_name(name, value, plc_datatype)
except pyads.ADSError as err:
_LOGGER.error("Error writing %s: %s", name, err)
def read_by_name(self, name, plc_datatype):
"""Read a value from the device."""
with self._lock:
try:
return self._client.read_by_name(name, plc_datatype)
except pyads.ADSError as err:
_LOGGER.error("Error reading %s: %s", name, err)
def add_device_notification(self, name, plc_datatype, callback):
"""Add a notification to the ADS devices."""
attr = pyads.NotificationAttrib(ctypes.sizeof(plc_datatype))
with self._lock:
try:
hnotify, huser = self._client.add_device_notification(
name, attr, self._device_notification_callback
)
except pyads.ADSError as err:
_LOGGER.error("Error subscribing to %s: %s", name, err)
else:
hnotify = int(hnotify)
self._notification_items[hnotify] = NotificationItem(
hnotify, huser, name, plc_datatype, callback
)
_LOGGER.debug(
"Added device notification %d for variable %s", hnotify, name
)
def _device_notification_callback(self, notification, name):
"""Handle device notifications."""
contents = notification.contents
hnotify = int(contents.hNotification)
_LOGGER.debug("Received notification %d", hnotify)
# get dynamically sized data array
data_size = contents.cbSampleSize
data = (ctypes.c_ubyte * data_size).from_address(
ctypes.addressof(contents)
+ pyads.structs.SAdsNotificationHeader.data.offset
)
try:
with self._lock:
notification_item = self._notification_items[hnotify]
except KeyError:
_LOGGER.error("Unknown device notification handle: %d", hnotify)
return
# Parse data to desired datatype
if notification_item.plc_datatype == pyads.PLCTYPE_BOOL:
value = bool(struct.unpack("<?", bytearray(data))[0])
elif notification_item.plc_datatype == pyads.PLCTYPE_INT:
value = struct.unpack("<h", bytearray(data))[0]
elif notification_item.plc_datatype == pyads.PLCTYPE_BYTE:
value = struct.unpack("<B", bytearray(data))[0]
elif notification_item.plc_datatype == pyads.PLCTYPE_UINT:
value = struct.unpack("<H", bytearray(data))[0]
elif notification_item.plc_datatype == pyads.PLCTYPE_DINT:
value = struct.unpack("<i", bytearray(data))[0]
elif notification_item.plc_datatype == pyads.PLCTYPE_UDINT:
value = struct.unpack("<I", bytearray(data))[0]
else:
value = bytearray(data)
_LOGGER.warning("No callback available for this datatype")
notification_item.callback(notification_item.name, value)
class AdsEntity(Entity):
"""Representation of ADS entity."""
_attr_should_poll = False
def __init__(self, ads_hub, name, ads_var):
"""Initialize ADS binary sensor."""
self._state_dict = {}
self._state_dict[STATE_KEY_STATE] = None
self._ads_hub = ads_hub
self._ads_var = ads_var
self._event = None
self._attr_unique_id = ads_var
self._attr_name = name
async def async_initialize_device(
self, ads_var, plctype, state_key=STATE_KEY_STATE, factor=None
):
"""Register device notification."""
def update(name, value):
"""Handle device notifications."""
_LOGGER.debug("Variable %s changed its value to %d", name, value)
if factor is None:
self._state_dict[state_key] = value
else:
self._state_dict[state_key] = value / factor
asyncio.run_coroutine_threadsafe(async_event_set(), self.hass.loop)
self.schedule_update_ha_state()
async def async_event_set():
"""Set event in async context."""
self._event.set()
self._event = asyncio.Event()
await self.hass.async_add_executor_job(
self._ads_hub.add_device_notification, ads_var, plctype, update
)
try:
async with timeout(10):
await self._event.wait()
except TimeoutError:
_LOGGER.debug("Variable %s: Timeout during first update", ads_var)
@property
def available(self) -> bool:
"""Return False if state has not been updated yet."""
return self._state_dict[STATE_KEY_STATE] is not None
+14 -6
View File
@@ -17,7 +17,9 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE, AdsEntity
from .const import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE
from .entity import AdsEntity
from .hub import AdsHub
DEFAULT_NAME = "ADS binary sensor"
PLATFORM_SCHEMA = BINARY_SENSOR_PLATFORM_SCHEMA.extend(
@@ -36,11 +38,11 @@ def setup_platform(
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the Binary Sensor platform for ADS."""
ads_hub = hass.data.get(DATA_ADS)
ads_hub = hass.data[DATA_ADS]
ads_var = config[CONF_ADS_VAR]
name = config[CONF_NAME]
device_class = config.get(CONF_DEVICE_CLASS)
ads_var: str = config[CONF_ADS_VAR]
name: str = config[CONF_NAME]
device_class: BinarySensorDeviceClass | None = config.get(CONF_DEVICE_CLASS)
ads_sensor = AdsBinarySensor(ads_hub, name, ads_var, device_class)
add_entities([ads_sensor])
@@ -49,7 +51,13 @@ def setup_platform(
class AdsBinarySensor(AdsEntity, BinarySensorEntity):
"""Representation of ADS binary sensors."""
def __init__(self, ads_hub, name, ads_var, device_class):
def __init__(
self,
ads_hub: AdsHub,
name: str,
ads_var: str,
device_class: BinarySensorDeviceClass | None,
) -> None:
"""Initialize ADS binary sensor."""
super().__init__(ads_hub, name, ads_var)
self._attr_device_class = device_class or BinarySensorDeviceClass.MOVING
+41
View File
@@ -0,0 +1,41 @@
"""Support for Automation Device Specification (ADS)."""
from __future__ import annotations
from enum import StrEnum
from typing import TYPE_CHECKING
from homeassistant.util.hass_dict import HassKey
if TYPE_CHECKING:
from .hub import AdsHub
DOMAIN = "ads"
DATA_ADS: HassKey[AdsHub] = HassKey(DOMAIN)
CONF_ADS_VAR = "adsvar"
STATE_KEY_STATE = "state"
class AdsType(StrEnum):
"""Supported Types."""
BOOL = "bool"
BYTE = "byte"
INT = "int"
UINT = "uint"
SINT = "sint"
USINT = "usint"
DINT = "dint"
UDINT = "udint"
WORD = "word"
DWORD = "dword"
LREAL = "lreal"
REAL = "real"
STRING = "string"
TIME = "time"
DATE = "date"
DATE_AND_TIME = "dt"
TOD = "tod"
+25 -26
View File
@@ -11,6 +11,7 @@ from homeassistant.components.cover import (
ATTR_POSITION,
DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA as COVER_PLATFORM_SCHEMA,
CoverDeviceClass,
CoverEntity,
CoverEntityFeature,
)
@@ -20,14 +21,9 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import (
CONF_ADS_VAR,
CONF_ADS_VAR_POSITION,
DATA_ADS,
STATE_KEY_POSITION,
STATE_KEY_STATE,
AdsEntity,
)
from .const import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE
from .entity import AdsEntity
from .hub import AdsHub
DEFAULT_NAME = "ADS Cover"
@@ -35,6 +31,9 @@ CONF_ADS_VAR_SET_POS = "adsvar_set_position"
CONF_ADS_VAR_OPEN = "adsvar_open"
CONF_ADS_VAR_CLOSE = "adsvar_close"
CONF_ADS_VAR_STOP = "adsvar_stop"
CONF_ADS_VAR_POSITION = "adsvar_position"
STATE_KEY_POSITION = "position"
PLATFORM_SCHEMA = COVER_PLATFORM_SCHEMA.extend(
{
@@ -59,14 +58,14 @@ def setup_platform(
"""Set up the cover platform for ADS."""
ads_hub = hass.data[DATA_ADS]
ads_var_is_closed = config.get(CONF_ADS_VAR)
ads_var_position = config.get(CONF_ADS_VAR_POSITION)
ads_var_pos_set = config.get(CONF_ADS_VAR_SET_POS)
ads_var_open = config.get(CONF_ADS_VAR_OPEN)
ads_var_close = config.get(CONF_ADS_VAR_CLOSE)
ads_var_stop = config.get(CONF_ADS_VAR_STOP)
name = config[CONF_NAME]
device_class = config.get(CONF_DEVICE_CLASS)
ads_var_is_closed: str = config[CONF_ADS_VAR]
ads_var_position: str | None = config.get(CONF_ADS_VAR_POSITION)
ads_var_pos_set: str | None = config.get(CONF_ADS_VAR_SET_POS)
ads_var_open: str | None = config.get(CONF_ADS_VAR_OPEN)
ads_var_close: str | None = config.get(CONF_ADS_VAR_CLOSE)
ads_var_stop: str | None = config.get(CONF_ADS_VAR_STOP)
name: str = config[CONF_NAME]
device_class: CoverDeviceClass | None = config.get(CONF_DEVICE_CLASS)
add_entities(
[
@@ -90,16 +89,16 @@ class AdsCover(AdsEntity, CoverEntity):
def __init__(
self,
ads_hub,
ads_var_is_closed,
ads_var_position,
ads_var_pos_set,
ads_var_open,
ads_var_close,
ads_var_stop,
name,
device_class,
):
ads_hub: AdsHub,
ads_var_is_closed: str,
ads_var_position: str | None,
ads_var_pos_set: str | None,
ads_var_open: str | None,
ads_var_close: str | None,
ads_var_stop: str | None,
name: str,
device_class: CoverDeviceClass | None,
) -> None:
"""Initialize AdsCover entity."""
super().__init__(ads_hub, name, ads_var_is_closed)
if self._attr_unique_id is None:
+70
View File
@@ -0,0 +1,70 @@
"""Support for Automation Device Specification (ADS)."""
import asyncio
from asyncio import timeout
import logging
from typing import Any
from homeassistant.helpers.entity import Entity
from .const import STATE_KEY_STATE
from .hub import AdsHub
_LOGGER = logging.getLogger(__name__)
class AdsEntity(Entity):
"""Representation of ADS entity."""
_attr_should_poll = False
def __init__(self, ads_hub: AdsHub, name: str, ads_var: str) -> None:
"""Initialize ADS binary sensor."""
self._state_dict: dict[str, Any] = {}
self._state_dict[STATE_KEY_STATE] = None
self._ads_hub = ads_hub
self._ads_var = ads_var
self._event: asyncio.Event | None = None
self._attr_unique_id = ads_var
self._attr_name = name
async def async_initialize_device(
self,
ads_var: str,
plctype: type,
state_key: str = STATE_KEY_STATE,
factor: int | None = None,
) -> None:
"""Register device notification."""
def update(name, value):
"""Handle device notifications."""
_LOGGER.debug("Variable %s changed its value to %d", name, value)
if factor is None:
self._state_dict[state_key] = value
else:
self._state_dict[state_key] = value / factor
asyncio.run_coroutine_threadsafe(async_event_set(), self.hass.loop)
self.schedule_update_ha_state()
async def async_event_set():
"""Set event in async context."""
self._event.set()
self._event = asyncio.Event()
await self.hass.async_add_executor_job(
self._ads_hub.add_device_notification, ads_var, plctype, update
)
try:
async with timeout(10):
await self._event.wait()
except TimeoutError:
_LOGGER.debug("Variable %s: Timeout during first update", ads_var)
@property
def available(self) -> bool:
"""Return False if state has not been updated yet."""
return self._state_dict[STATE_KEY_STATE] is not None
+151
View File
@@ -0,0 +1,151 @@
"""Support for Automation Device Specification (ADS)."""
from collections import namedtuple
import ctypes
import logging
import struct
import threading
import pyads
_LOGGER = logging.getLogger(__name__)
# Tuple to hold data needed for notification
NotificationItem = namedtuple( # noqa: PYI024
"NotificationItem", "hnotify huser name plc_datatype callback"
)
class AdsHub:
"""Representation of an ADS connection."""
def __init__(self, ads_client):
"""Initialize the ADS hub."""
self._client = ads_client
self._client.open()
# All ADS devices are registered here
self._devices = []
self._notification_items = {}
self._lock = threading.Lock()
def shutdown(self, *args, **kwargs):
"""Shutdown ADS connection."""
_LOGGER.debug("Shutting down ADS")
for notification_item in self._notification_items.values():
_LOGGER.debug(
"Deleting device notification %d, %d",
notification_item.hnotify,
notification_item.huser,
)
try:
self._client.del_device_notification(
notification_item.hnotify, notification_item.huser
)
except pyads.ADSError as err:
_LOGGER.error(err)
try:
self._client.close()
except pyads.ADSError as err:
_LOGGER.error(err)
def register_device(self, device):
"""Register a new device."""
self._devices.append(device)
def write_by_name(self, name, value, plc_datatype):
"""Write a value to the device."""
with self._lock:
try:
return self._client.write_by_name(name, value, plc_datatype)
except pyads.ADSError as err:
_LOGGER.error("Error writing %s: %s", name, err)
def read_by_name(self, name, plc_datatype):
"""Read a value from the device."""
with self._lock:
try:
return self._client.read_by_name(name, plc_datatype)
except pyads.ADSError as err:
_LOGGER.error("Error reading %s: %s", name, err)
def add_device_notification(self, name, plc_datatype, callback):
"""Add a notification to the ADS devices."""
attr = pyads.NotificationAttrib(ctypes.sizeof(plc_datatype))
with self._lock:
try:
hnotify, huser = self._client.add_device_notification(
name, attr, self._device_notification_callback
)
except pyads.ADSError as err:
_LOGGER.error("Error subscribing to %s: %s", name, err)
else:
hnotify = int(hnotify)
self._notification_items[hnotify] = NotificationItem(
hnotify, huser, name, plc_datatype, callback
)
_LOGGER.debug(
"Added device notification %d for variable %s", hnotify, name
)
def _device_notification_callback(self, notification, name):
"""Handle device notifications."""
contents = notification.contents
hnotify = int(contents.hNotification)
_LOGGER.debug("Received notification %d", hnotify)
# Get dynamically sized data array
data_size = contents.cbSampleSize
data_address = (
ctypes.addressof(contents)
+ pyads.structs.SAdsNotificationHeader.data.offset
)
data = (ctypes.c_ubyte * data_size).from_address(data_address)
# Acquire notification item
with self._lock:
notification_item = self._notification_items.get(hnotify)
if not notification_item:
_LOGGER.error("Unknown device notification handle: %d", hnotify)
return
# Data parsing based on PLC data type
plc_datatype = notification_item.plc_datatype
unpack_formats = {
pyads.PLCTYPE_BYTE: "<b",
pyads.PLCTYPE_INT: "<h",
pyads.PLCTYPE_UINT: "<H",
pyads.PLCTYPE_SINT: "<b",
pyads.PLCTYPE_USINT: "<B",
pyads.PLCTYPE_DINT: "<i",
pyads.PLCTYPE_UDINT: "<I",
pyads.PLCTYPE_WORD: "<H",
pyads.PLCTYPE_DWORD: "<I",
pyads.PLCTYPE_LREAL: "<d",
pyads.PLCTYPE_REAL: "<f",
pyads.PLCTYPE_TOD: "<i", # Treat as DINT
pyads.PLCTYPE_DATE: "<i", # Treat as DINT
pyads.PLCTYPE_DT: "<i", # Treat as DINT
pyads.PLCTYPE_TIME: "<i", # Treat as DINT
}
if plc_datatype == pyads.PLCTYPE_BOOL:
value = bool(struct.unpack("<?", bytearray(data))[0])
elif plc_datatype == pyads.PLCTYPE_STRING:
value = (
bytearray(data).split(b"\x00", 1)[0].decode("utf-8", errors="ignore")
)
elif plc_datatype in unpack_formats:
value = struct.unpack(unpack_formats[plc_datatype], bytearray(data))[0]
else:
value = bytearray(data)
_LOGGER.warning("No callback available for this datatype")
notification_item.callback(notification_item.name, value)
+17 -13
View File
@@ -19,14 +19,12 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import (
CONF_ADS_VAR,
CONF_ADS_VAR_BRIGHTNESS,
DATA_ADS,
STATE_KEY_BRIGHTNESS,
STATE_KEY_STATE,
AdsEntity,
)
from .const import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE
from .entity import AdsEntity
from .hub import AdsHub
CONF_ADS_VAR_BRIGHTNESS = "adsvar_brightness"
STATE_KEY_BRIGHTNESS = "brightness"
DEFAULT_NAME = "ADS Light"
PLATFORM_SCHEMA = LIGHT_PLATFORM_SCHEMA.extend(
@@ -45,11 +43,11 @@ def setup_platform(
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up the light platform for ADS."""
ads_hub = hass.data.get(DATA_ADS)
ads_hub = hass.data[DATA_ADS]
ads_var_enable = config[CONF_ADS_VAR]
ads_var_brightness = config.get(CONF_ADS_VAR_BRIGHTNESS)
name = config[CONF_NAME]
ads_var_enable: str = config[CONF_ADS_VAR]
ads_var_brightness: str | None = config.get(CONF_ADS_VAR_BRIGHTNESS)
name: str = config[CONF_NAME]
add_entities([AdsLight(ads_hub, ads_var_enable, ads_var_brightness, name)])
@@ -57,7 +55,13 @@ def setup_platform(
class AdsLight(AdsEntity, LightEntity):
"""Representation of ADS light."""
def __init__(self, ads_hub, ads_var_enable, ads_var_brightness, name):
def __init__(
self,
ads_hub: AdsHub,
ads_var_enable: str,
ads_var_brightness: str | None,
name: str,
) -> None:
"""Initialize AdsLight entity."""
super().__init__(ads_hub, name, ads_var_enable)
self._state_dict[STATE_KEY_BRIGHTNESS] = None
+1 -1
View File
@@ -1,7 +1,7 @@
{
"domain": "ads",
"name": "ADS",
"codeowners": [],
"codeowners": ["@mrpasztoradam"],
"documentation": "https://www.home-assistant.io/integrations/ads",
"iot_class": "local_push",
"loggers": ["pyads"],
+86
View File
@@ -0,0 +1,86 @@
"""Support for ADS select entities."""
from __future__ import annotations
import pyads
import voluptuous as vol
from homeassistant.components.select import (
PLATFORM_SCHEMA as SELECT_PLATFORM_SCHEMA,
SelectEntity,
)
from homeassistant.const import CONF_NAME
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from .const import CONF_ADS_VAR, DATA_ADS
from .entity import AdsEntity
from .hub import AdsHub
DEFAULT_NAME = "ADS select"
CONF_OPTIONS = "options"
PLATFORM_SCHEMA = SELECT_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_ADS_VAR): cv.string,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
vol.Required(CONF_OPTIONS): vol.All(cv.ensure_list, [cv.string]),
}
)
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up an ADS select device."""
ads_hub = hass.data[DATA_ADS]
ads_var: str = config[CONF_ADS_VAR]
name: str = config[CONF_NAME]
options: list[str] = config[CONF_OPTIONS]
entity = AdsSelect(ads_hub, ads_var, name, options)
add_entities([entity])
class AdsSelect(AdsEntity, SelectEntity):
"""Representation of an ADS select entity."""
def __init__(
self,
ads_hub: AdsHub,
ads_var: str,
name: str,
options: list[str],
) -> None:
"""Initialize the AdsSelect entity."""
super().__init__(ads_hub, name, ads_var)
self._attr_options = options
self._attr_current_option = None
async def async_added_to_hass(self) -> None:
"""Register device notification."""
await self.async_initialize_device(self._ads_var, pyads.PLCTYPE_INT)
self._ads_hub.add_device_notification(
self._ads_var, pyads.PLCTYPE_INT, self._handle_ads_value
)
def select_option(self, option: str) -> None:
"""Change the selected option."""
if option in self._attr_options:
index = self._attr_options.index(option)
self._ads_hub.write_by_name(self._ads_var, index, pyads.PLCTYPE_INT)
self._attr_current_option = option
def _handle_ads_value(self, name: str, value: int) -> None:
"""Handle the value update from ADS."""
if 0 <= value < len(self._attr_options):
self._attr_current_option = self._attr_options[value]
self.schedule_update_ha_state()
+64 -28
View File
@@ -5,41 +5,54 @@ from __future__ import annotations
import voluptuous as vol
from homeassistant.components.sensor import (
CONF_STATE_CLASS,
DEVICE_CLASSES_SCHEMA as SENSOR_DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA as SENSOR_PLATFORM_SCHEMA,
STATE_CLASSES_SCHEMA as SENSOR_STATE_CLASSES_SCHEMA,
SensorDeviceClass,
SensorEntity,
SensorStateClass,
)
from homeassistant.const import CONF_NAME, CONF_UNIT_OF_MEASUREMENT
from homeassistant.const import CONF_DEVICE_CLASS, CONF_NAME, CONF_UNIT_OF_MEASUREMENT
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType, StateType
from .. import ads
from . import (
ADS_TYPEMAP,
CONF_ADS_FACTOR,
CONF_ADS_TYPE,
CONF_ADS_VAR,
STATE_KEY_STATE,
AdsEntity,
)
from . import ADS_TYPEMAP, CONF_ADS_FACTOR, CONF_ADS_TYPE
from .const import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE, AdsType
from .entity import AdsEntity
from .hub import AdsHub
DEFAULT_NAME = "ADS sensor"
PLATFORM_SCHEMA = SENSOR_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_ADS_VAR): cv.string,
vol.Optional(CONF_ADS_FACTOR): cv.positive_int,
vol.Optional(CONF_ADS_TYPE, default=ads.ADSTYPE_INT): vol.In(
[
ads.ADSTYPE_INT,
ads.ADSTYPE_UINT,
ads.ADSTYPE_BYTE,
ads.ADSTYPE_DINT,
ads.ADSTYPE_UDINT,
]
vol.Optional(CONF_ADS_TYPE, default=AdsType.INT): vol.All(
vol.Coerce(AdsType),
vol.In(
[
AdsType.BOOL,
AdsType.BYTE,
AdsType.INT,
AdsType.UINT,
AdsType.SINT,
AdsType.USINT,
AdsType.DINT,
AdsType.UDINT,
AdsType.WORD,
AdsType.DWORD,
AdsType.LREAL,
AdsType.REAL,
]
),
),
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
vol.Optional(CONF_UNIT_OF_MEASUREMENT, default=""): cv.string,
vol.Optional(CONF_DEVICE_CLASS): SENSOR_DEVICE_CLASSES_SCHEMA,
vol.Optional(CONF_STATE_CLASS): SENSOR_STATE_CLASSES_SCHEMA,
vol.Optional(CONF_UNIT_OF_MEASUREMENT): cv.string,
}
)
@@ -51,15 +64,26 @@ def setup_platform(
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up an ADS sensor device."""
ads_hub = hass.data.get(ads.DATA_ADS)
ads_hub = hass.data[DATA_ADS]
ads_var = config[CONF_ADS_VAR]
ads_type = config[CONF_ADS_TYPE]
name = config[CONF_NAME]
unit_of_measurement = config.get(CONF_UNIT_OF_MEASUREMENT)
factor = config.get(CONF_ADS_FACTOR)
ads_var: str = config[CONF_ADS_VAR]
ads_type: AdsType = config[CONF_ADS_TYPE]
name: str = config[CONF_NAME]
factor: int | None = config.get(CONF_ADS_FACTOR)
device_class: SensorDeviceClass | None = config.get(CONF_DEVICE_CLASS)
state_class: SensorStateClass | None = config.get(CONF_STATE_CLASS)
unit_of_measurement: str | None = config.get(CONF_UNIT_OF_MEASUREMENT)
entity = AdsSensor(ads_hub, ads_var, ads_type, name, unit_of_measurement, factor)
entity = AdsSensor(
ads_hub,
ads_var,
ads_type,
name,
factor,
device_class,
state_class,
unit_of_measurement,
)
add_entities([entity])
@@ -67,12 +91,24 @@ def setup_platform(
class AdsSensor(AdsEntity, SensorEntity):
"""Representation of an ADS sensor entity."""
def __init__(self, ads_hub, ads_var, ads_type, name, unit_of_measurement, factor):
def __init__(
self,
ads_hub: AdsHub,
ads_var: str,
ads_type: AdsType,
name: str,
factor: int | None,
device_class: SensorDeviceClass | None,
state_class: SensorStateClass | None,
unit_of_measurement: str | None,
) -> None:
"""Initialize AdsSensor entity."""
super().__init__(ads_hub, name, ads_var)
self._attr_native_unit_of_measurement = unit_of_measurement
self._ads_type = ads_type
self._factor = factor
self._attr_device_class = device_class
self._attr_state_class = state_class
self._attr_native_unit_of_measurement = unit_of_measurement
async def async_added_to_hass(self) -> None:
"""Register device notification."""
+5 -4
View File
@@ -17,7 +17,8 @@ import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from . import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE, AdsEntity
from .const import CONF_ADS_VAR, DATA_ADS, STATE_KEY_STATE
from .entity import AdsEntity
DEFAULT_NAME = "ADS Switch"
@@ -36,10 +37,10 @@ def setup_platform(
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up switch platform for ADS."""
ads_hub = hass.data.get(DATA_ADS)
ads_hub = hass.data[DATA_ADS]
name = config[CONF_NAME]
ads_var = config[CONF_ADS_VAR]
name: str = config[CONF_NAME]
ads_var: str = config[CONF_ADS_VAR]
add_entities([AdsSwitch(ads_hub, name, ads_var)])
+84
View File
@@ -0,0 +1,84 @@
"""Support for ADS valves."""
from __future__ import annotations
import pyads
import voluptuous as vol
from homeassistant.components.valve import (
DEVICE_CLASSES_SCHEMA as VALVE_DEVICE_CLASSES_SCHEMA,
PLATFORM_SCHEMA as VALVE_PLATFORM_SCHEMA,
ValveDeviceClass,
ValveEntity,
ValveEntityFeature,
)
from homeassistant.const import CONF_DEVICE_CLASS, CONF_NAME
from homeassistant.core import HomeAssistant
import homeassistant.helpers.config_validation as cv
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.typing import ConfigType, DiscoveryInfoType
from .const import CONF_ADS_VAR, DATA_ADS
from .entity import AdsEntity
from .hub import AdsHub
DEFAULT_NAME = "ADS valve"
PLATFORM_SCHEMA = VALVE_PLATFORM_SCHEMA.extend(
{
vol.Required(CONF_ADS_VAR): cv.string,
vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string,
vol.Optional(CONF_DEVICE_CLASS): VALVE_DEVICE_CLASSES_SCHEMA,
}
)
def setup_platform(
hass: HomeAssistant,
config: ConfigType,
add_entities: AddEntitiesCallback,
discovery_info: DiscoveryInfoType | None = None,
) -> None:
"""Set up an ADS valve device."""
ads_hub = hass.data[DATA_ADS]
ads_var: str = config[CONF_ADS_VAR]
name: str = config[CONF_NAME]
device_class: ValveDeviceClass | None = config.get(CONF_DEVICE_CLASS)
entity = AdsValve(ads_hub, ads_var, name, device_class)
add_entities([entity])
class AdsValve(AdsEntity, ValveEntity):
"""Representation of an ADS valve entity."""
_attr_supported_features = ValveEntityFeature.OPEN | ValveEntityFeature.CLOSE
def __init__(
self,
ads_hub: AdsHub,
ads_var: str,
name: str,
device_class: ValveDeviceClass | None,
) -> None:
"""Initialize AdsValve entity."""
super().__init__(ads_hub, name, ads_var)
self._attr_device_class = device_class
self._attr_reports_position = False
self._attr_is_closed = True
async def async_added_to_hass(self) -> None:
"""Register device notification."""
await self.async_initialize_device(self._ads_var, pyads.PLCTYPE_BOOL)
def open_valve(self, **kwargs) -> None:
"""Open the valve."""
self._ads_hub.write_by_name(self._ads_var, True, pyads.PLCTYPE_BOOL)
self._attr_is_closed = False
def close_valve(self, **kwargs) -> None:
"""Close the valve."""
self._ads_hub.write_by_name(self._ads_var, False, pyads.PLCTYPE_BOOL)
self._attr_is_closed = True
@@ -55,6 +55,7 @@ async def async_setup_entry(
coordinator = DataUpdateCoordinator(
hass,
_LOGGER,
config_entry=entry,
name="Advantage Air",
update_method=async_get,
update_interval=timedelta(seconds=ADVANTAGE_AIR_SYNC_INTERVAL),
+2 -13
View File
@@ -1,6 +1,5 @@
"""The AEMET OpenData component."""
from dataclasses import dataclass
import logging
from aemet_opendata.exceptions import AemetError, TownNotFound
@@ -13,20 +12,10 @@ from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import aiohttp_client
from .const import CONF_STATION_UPDATES, PLATFORMS
from .coordinator import WeatherUpdateCoordinator
from .coordinator import AemetConfigEntry, AemetData, WeatherUpdateCoordinator
_LOGGER = logging.getLogger(__name__)
type AemetConfigEntry = ConfigEntry[AemetData]
@dataclass
class AemetData:
"""Aemet runtime data."""
name: str
coordinator: WeatherUpdateCoordinator
async def async_setup_entry(hass: HomeAssistant, entry: AemetConfigEntry) -> bool:
"""Set up AEMET OpenData as config entry."""
@@ -46,7 +35,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AemetConfigEntry) -> boo
except AemetError as err:
raise ConfigEntryNotReady(err) from err
weather_coordinator = WeatherUpdateCoordinator(hass, aemet)
weather_coordinator = WeatherUpdateCoordinator(hass, entry, aemet)
await weather_coordinator.async_config_entry_first_refresh()
entry.runtime_data = AemetData(name=name, coordinator=weather_coordinator)
@@ -3,6 +3,7 @@
from __future__ import annotations
from asyncio import timeout
from dataclasses import dataclass
from datetime import timedelta
import logging
from typing import Any, Final, cast
@@ -19,6 +20,7 @@ from aemet_opendata.helpers import dict_nested_value
from aemet_opendata.interface import AEMET
from homeassistant.components.weather import Forecast
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
@@ -29,6 +31,16 @@ _LOGGER = logging.getLogger(__name__)
API_TIMEOUT: Final[int] = 120
WEATHER_UPDATE_INTERVAL = timedelta(minutes=10)
type AemetConfigEntry = ConfigEntry[AemetData]
@dataclass
class AemetData:
"""Aemet runtime data."""
name: str
coordinator: WeatherUpdateCoordinator
class WeatherUpdateCoordinator(DataUpdateCoordinator):
"""Weather data update coordinator."""
@@ -36,6 +48,7 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
def __init__(
self,
hass: HomeAssistant,
entry: AemetConfigEntry,
aemet: AEMET,
) -> None:
"""Initialize coordinator."""
@@ -44,6 +57,7 @@ class WeatherUpdateCoordinator(DataUpdateCoordinator):
super().__init__(
hass,
_LOGGER,
config_entry=entry,
name=DOMAIN,
update_interval=WEATHER_UPDATE_INTERVAL,
)
@@ -6,7 +6,7 @@ from typing import Any
from aemet_opendata.const import AOD_COORDS
from homeassistant.components.diagnostics.util import async_redact_data
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.const import (
CONF_API_KEY,
CONF_LATITUDE,
@@ -15,7 +15,7 @@ from homeassistant.const import (
)
from homeassistant.core import HomeAssistant
from . import AemetConfigEntry
from .coordinator import AemetConfigEntry
TO_REDACT_CONFIG = [
CONF_API_KEY,
+3 -2
View File
@@ -55,7 +55,6 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util import dt as dt_util
from . import AemetConfigEntry
from .const import (
ATTR_API_CONDITION,
ATTR_API_FORECAST_CONDITION,
@@ -87,7 +86,7 @@ from .const import (
ATTR_API_WIND_SPEED,
CONDITIONS_MAP,
)
from .coordinator import WeatherUpdateCoordinator
from .coordinator import AemetConfigEntry, WeatherUpdateCoordinator
from .entity import AemetEntity
@@ -249,6 +248,7 @@ WEATHER_SENSORS: Final[tuple[AemetSensorEntityDescription, ...]] = (
name="Rain",
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
device_class=SensorDeviceClass.PRECIPITATION_INTENSITY,
state_class=SensorStateClass.MEASUREMENT,
),
AemetSensorEntityDescription(
key=ATTR_API_RAIN_PROB,
@@ -263,6 +263,7 @@ WEATHER_SENSORS: Final[tuple[AemetSensorEntityDescription, ...]] = (
name="Snow",
native_unit_of_measurement=UnitOfVolumetricFlux.MILLIMETERS_PER_HOUR,
device_class=SensorDeviceClass.PRECIPITATION_INTENSITY,
state_class=SensorStateClass.MEASUREMENT,
),
AemetSensorEntityDescription(
key=ATTR_API_SNOW_PROB,
+1 -2
View File
@@ -27,9 +27,8 @@ from homeassistant.const import (
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AemetConfigEntry
from .const import CONDITIONS_MAP
from .coordinator import WeatherUpdateCoordinator
from .coordinator import AemetConfigEntry, WeatherUpdateCoordinator
from .entity import AemetEntity
@@ -5,12 +5,7 @@ from __future__ import annotations
from homeassistant.components.alarm_control_panel import (
AlarmControlPanelEntity,
AlarmControlPanelEntityFeature,
)
from homeassistant.const import (
STATE_ALARM_ARMED_AWAY,
STATE_ALARM_ARMED_HOME,
STATE_ALARM_ARMED_NIGHT,
STATE_ALARM_DISARMED,
AlarmControlPanelState,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.device_registry import DeviceInfo
@@ -65,37 +60,37 @@ class AgentBaseStation(AlarmControlPanelEntity):
self._attr_available = self._client.is_available
armed = self._client.is_armed
if armed is None:
self._attr_state = None
self._attr_alarm_state = None
return
if armed:
prof = (await self._client.get_active_profile()).lower()
self._attr_state = STATE_ALARM_ARMED_AWAY
self._attr_alarm_state = AlarmControlPanelState.ARMED_AWAY
if prof == CONF_HOME_MODE_NAME:
self._attr_state = STATE_ALARM_ARMED_HOME
self._attr_alarm_state = AlarmControlPanelState.ARMED_HOME
elif prof == CONF_NIGHT_MODE_NAME:
self._attr_state = STATE_ALARM_ARMED_NIGHT
self._attr_alarm_state = AlarmControlPanelState.ARMED_NIGHT
else:
self._attr_state = STATE_ALARM_DISARMED
self._attr_alarm_state = AlarmControlPanelState.DISARMED
async def async_alarm_disarm(self, code: str | None = None) -> None:
"""Send disarm command."""
await self._client.disarm()
self._attr_state = STATE_ALARM_DISARMED
self._attr_alarm_state = AlarmControlPanelState.DISARMED
async def async_alarm_arm_away(self, code: str | None = None) -> None:
"""Send arm away command. Uses custom mode."""
await self._client.arm()
await self._client.set_active_profile(CONF_AWAY_MODE_NAME)
self._attr_state = STATE_ALARM_ARMED_AWAY
self._attr_alarm_state = AlarmControlPanelState.ARMED_AWAY
async def async_alarm_arm_home(self, code: str | None = None) -> None:
"""Send arm home command. Uses custom mode."""
await self._client.arm()
await self._client.set_active_profile(CONF_HOME_MODE_NAME)
self._attr_state = STATE_ALARM_ARMED_HOME
self._attr_alarm_state = AlarmControlPanelState.ARMED_HOME
async def async_alarm_arm_night(self, code: str | None = None) -> None:
"""Send arm night command. Uses custom mode."""
await self._client.arm()
await self._client.set_active_profile(CONF_NIGHT_MODE_NAME)
self._attr_state = STATE_ALARM_ARMED_NIGHT
self._attr_alarm_state = AlarmControlPanelState.ARMED_NIGHT
@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/agent_dvr",
"iot_class": "local_polling",
"loggers": ["agent"],
"requirements": ["agent-py==0.0.23"]
"requirements": ["agent-py==0.0.24"]
}
@@ -13,11 +13,13 @@ from homeassistant.helpers import config_validation as cv
from homeassistant.helpers.entity import Entity
from homeassistant.helpers.entity_component import EntityComponent
from homeassistant.helpers.typing import ConfigType, StateType
from homeassistant.util.hass_dict import HassKey
from .const import DOMAIN
_LOGGER: Final = logging.getLogger(__name__)
DATA_COMPONENT: HassKey[EntityComponent[AirQualityEntity]] = HassKey(DOMAIN)
ENTITY_ID_FORMAT: Final = DOMAIN + ".{}"
PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA
PLATFORM_SCHEMA_BASE = cv.PLATFORM_SCHEMA_BASE
@@ -54,7 +56,7 @@ PROP_TO_ATTR: Final[dict[str, str]] = {
async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
"""Set up the air quality component."""
component = hass.data[DOMAIN] = EntityComponent[AirQualityEntity](
component = hass.data[DATA_COMPONENT] = EntityComponent[AirQualityEntity](
_LOGGER, DOMAIN, hass, SCAN_INTERVAL
)
await component.async_setup(config)
@@ -63,14 +65,12 @@ async def async_setup(hass: HomeAssistant, config: ConfigType) -> bool:
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Set up a config entry."""
component: EntityComponent[AirQualityEntity] = hass.data[DOMAIN]
return await component.async_setup_entry(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."""
component: EntityComponent[AirQualityEntity] = hass.data[DOMAIN]
return await component.async_unload_entry(entry)
return await hass.data[DATA_COMPONENT].async_unload_entry(entry)
class AirQualityEntity(Entity):
@@ -2,18 +2,14 @@
from __future__ import annotations
from dataclasses import dataclass
from airgradient import AirGradientClient, get_model_name
from airgradient import AirGradientClient
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN
from .coordinator import AirGradientConfigCoordinator, AirGradientMeasurementCoordinator
from .coordinator import AirGradientCoordinator
PLATFORMS: list[Platform] = [
Platform.BUTTON,
@@ -25,15 +21,7 @@ PLATFORMS: list[Platform] = [
]
@dataclass
class AirGradientData:
"""AirGradient data class."""
measurement: AirGradientMeasurementCoordinator
config: AirGradientConfigCoordinator
type AirGradientConfigEntry = ConfigEntry[AirGradientData]
type AirGradientConfigEntry = ConfigEntry[AirGradientCoordinator]
async def async_setup_entry(hass: HomeAssistant, entry: AirGradientConfigEntry) -> bool:
@@ -43,27 +31,11 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirGradientConfigEntry)
entry.data[CONF_HOST], session=async_get_clientsession(hass)
)
measurement_coordinator = AirGradientMeasurementCoordinator(hass, client)
config_coordinator = AirGradientConfigCoordinator(hass, client)
coordinator = AirGradientCoordinator(hass, client)
await measurement_coordinator.async_config_entry_first_refresh()
await config_coordinator.async_config_entry_first_refresh()
await coordinator.async_config_entry_first_refresh()
device_registry = dr.async_get(hass)
device_registry.async_get_or_create(
config_entry_id=entry.entry_id,
identifiers={(DOMAIN, measurement_coordinator.serial_number)},
manufacturer="AirGradient",
model=get_model_name(measurement_coordinator.data.model),
model_id=measurement_coordinator.data.model,
serial_number=measurement_coordinator.data.serial_number,
sw_version=measurement_coordinator.data.firmware_version,
)
entry.runtime_data = AirGradientData(
measurement=measurement_coordinator,
config=config_coordinator,
)
entry.runtime_data = coordinator
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
@@ -15,8 +15,9 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers import entity_registry as er
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import DOMAIN, AirGradientConfigEntry
from .coordinator import AirGradientConfigCoordinator
from . import AirGradientConfigEntry
from .const import DOMAIN
from .coordinator import AirGradientCoordinator
from .entity import AirGradientEntity
@@ -47,8 +48,8 @@ async def async_setup_entry(
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AirGradient button entities based on a config entry."""
model = entry.runtime_data.measurement.data.model
coordinator = entry.runtime_data.config
coordinator = entry.runtime_data
model = coordinator.data.measures.model
added_entities = False
@@ -57,7 +58,7 @@ async def async_setup_entry(
nonlocal added_entities
if (
coordinator.data.configuration_control is ConfigurationControl.LOCAL
coordinator.data.config.configuration_control is ConfigurationControl.LOCAL
and not added_entities
):
entities = [AirGradientButton(coordinator, CO2_CALIBRATION)]
@@ -67,7 +68,8 @@ async def async_setup_entry(
async_add_entities(entities)
added_entities = True
elif (
coordinator.data.configuration_control is not ConfigurationControl.LOCAL
coordinator.data.config.configuration_control
is not ConfigurationControl.LOCAL
and added_entities
):
entity_registry = er.async_get(hass)
@@ -87,11 +89,10 @@ class AirGradientButton(AirGradientEntity, ButtonEntity):
"""Defines an AirGradient button."""
entity_description: AirGradientButtonEntityDescription
coordinator: AirGradientConfigCoordinator
def __init__(
self,
coordinator: AirGradientConfigCoordinator,
coordinator: AirGradientCoordinator,
description: AirGradientButtonEntityDescription,
) -> None:
"""Initialize airgradient button."""
@@ -2,24 +2,35 @@
from __future__ import annotations
from dataclasses import dataclass
from datetime import timedelta
from typing import TYPE_CHECKING
from airgradient import AirGradientClient, AirGradientError, Config, Measures
from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import LOGGER
from .const import DOMAIN, LOGGER
if TYPE_CHECKING:
from . import AirGradientConfigEntry
class AirGradientCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
@dataclass
class AirGradientData:
"""Class for AirGradient data."""
measures: Measures
config: Config
class AirGradientCoordinator(DataUpdateCoordinator[AirGradientData]):
"""Class to manage fetching AirGradient data."""
config_entry: AirGradientConfigEntry
_current_version: str
def __init__(self, hass: HomeAssistant, client: AirGradientClient) -> None:
"""Initialize coordinator."""
@@ -33,25 +44,27 @@ class AirGradientCoordinator[_DataT](DataUpdateCoordinator[_DataT]):
assert self.config_entry.unique_id
self.serial_number = self.config_entry.unique_id
async def _async_update_data(self) -> _DataT:
async def _async_setup(self) -> None:
"""Set up the coordinator."""
self._current_version = (
await self.client.get_current_measures()
).firmware_version
async def _async_update_data(self) -> AirGradientData:
try:
return await self._update_data()
measures = await self.client.get_current_measures()
config = await self.client.get_config()
except AirGradientError as error:
raise UpdateFailed(error) from error
async def _update_data(self) -> _DataT:
raise NotImplementedError
class AirGradientMeasurementCoordinator(AirGradientCoordinator[Measures]):
"""Class to manage fetching AirGradient data."""
async def _update_data(self) -> Measures:
return await self.client.get_current_measures()
class AirGradientConfigCoordinator(AirGradientCoordinator[Config]):
"""Class to manage fetching AirGradient data."""
async def _update_data(self) -> Config:
return await self.client.get_config()
if measures.firmware_version != self._current_version:
device_registry = dr.async_get(self.hass)
device_entry = device_registry.async_get_device(
identifiers={(DOMAIN, self.serial_number)}
)
assert device_entry
device_registry.async_update_device(
device_entry.id,
sw_version=measures.firmware_version,
)
self._current_version = measures.firmware_version
return AirGradientData(measures, config)
@@ -0,0 +1,18 @@
"""Diagnostics support for Airgradient."""
from __future__ import annotations
from dataclasses import asdict
from typing import Any
from homeassistant.core import HomeAssistant
from . import AirGradientConfigEntry
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: AirGradientConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
return asdict(entry.runtime_data.data)
@@ -1,5 +1,7 @@
"""Base class for AirGradient entities."""
from airgradient import get_model_name
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.update_coordinator import CoordinatorEntity
@@ -15,6 +17,12 @@ class AirGradientEntity(CoordinatorEntity[AirGradientCoordinator]):
def __init__(self, coordinator: AirGradientCoordinator) -> None:
"""Initialize airgradient entity."""
super().__init__(coordinator)
measures = coordinator.data.measures
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, coordinator.serial_number)},
manufacturer="AirGradient",
model=get_model_name(measures.model),
model_id=measures.model,
serial_number=coordinator.serial_number,
sw_version=measures.firmware_version,
)
@@ -6,6 +6,6 @@
"documentation": "https://www.home-assistant.io/integrations/airgradient",
"integration_type": "device",
"iot_class": "local_polling",
"requirements": ["airgradient==0.9.0"],
"requirements": ["airgradient==0.9.1"],
"zeroconf": ["_airgradient._tcp.local."]
}
@@ -18,7 +18,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AirGradientConfigEntry
from .const import DOMAIN
from .coordinator import AirGradientConfigCoordinator
from .coordinator import AirGradientCoordinator
from .entity import AirGradientEntity
@@ -62,8 +62,8 @@ async def async_setup_entry(
) -> None:
"""Set up AirGradient number entities based on a config entry."""
model = entry.runtime_data.measurement.data.model
coordinator = entry.runtime_data.config
coordinator = entry.runtime_data
model = coordinator.data.measures.model
added_entities = False
@@ -72,7 +72,7 @@ async def async_setup_entry(
nonlocal added_entities
if (
coordinator.data.configuration_control is ConfigurationControl.LOCAL
coordinator.data.config.configuration_control is ConfigurationControl.LOCAL
and not added_entities
):
entities = []
@@ -84,7 +84,8 @@ async def async_setup_entry(
async_add_entities(entities)
added_entities = True
elif (
coordinator.data.configuration_control is not ConfigurationControl.LOCAL
coordinator.data.config.configuration_control
is not ConfigurationControl.LOCAL
and added_entities
):
entity_registry = er.async_get(hass)
@@ -104,11 +105,10 @@ class AirGradientNumber(AirGradientEntity, NumberEntity):
"""Defines an AirGradient number entity."""
entity_description: AirGradientNumberEntityDescription
coordinator: AirGradientConfigCoordinator
def __init__(
self,
coordinator: AirGradientConfigCoordinator,
coordinator: AirGradientCoordinator,
description: AirGradientNumberEntityDescription,
) -> None:
"""Initialize AirGradient number."""
@@ -119,7 +119,7 @@ class AirGradientNumber(AirGradientEntity, NumberEntity):
@property
def native_value(self) -> int | None:
"""Return the state of the number."""
return self.entity_description.value_fn(self.coordinator.data)
return self.entity_description.value_fn(self.coordinator.data.config)
async def async_set_native_value(self, value: float) -> None:
"""Set the selected value."""
+8 -10
View File
@@ -18,7 +18,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AirGradientConfigEntry
from .const import DOMAIN, PM_STANDARD, PM_STANDARD_REVERSE
from .coordinator import AirGradientConfigCoordinator
from .coordinator import AirGradientCoordinator
from .entity import AirGradientEntity
@@ -144,13 +144,11 @@ async def async_setup_entry(
) -> None:
"""Set up AirGradient select entities based on a config entry."""
coordinator = entry.runtime_data.config
measurement_coordinator = entry.runtime_data.measurement
coordinator = entry.runtime_data
model = coordinator.data.measures.model
async_add_entities([AirGradientSelect(coordinator, CONFIG_CONTROL_ENTITY)])
model = measurement_coordinator.data.model
added_entities = False
@callback
@@ -158,7 +156,7 @@ async def async_setup_entry(
nonlocal added_entities
if (
coordinator.data.configuration_control is ConfigurationControl.LOCAL
coordinator.data.config.configuration_control is ConfigurationControl.LOCAL
and not added_entities
):
entities: list[AirGradientSelect] = [
@@ -179,7 +177,8 @@ async def async_setup_entry(
async_add_entities(entities)
added_entities = True
elif (
coordinator.data.configuration_control is not ConfigurationControl.LOCAL
coordinator.data.config.configuration_control
is not ConfigurationControl.LOCAL
and added_entities
):
entity_registry = er.async_get(hass)
@@ -201,11 +200,10 @@ class AirGradientSelect(AirGradientEntity, SelectEntity):
"""Defines an AirGradient select entity."""
entity_description: AirGradientSelectEntityDescription
coordinator: AirGradientConfigCoordinator
def __init__(
self,
coordinator: AirGradientConfigCoordinator,
coordinator: AirGradientCoordinator,
description: AirGradientSelectEntityDescription,
) -> None:
"""Initialize AirGradient select."""
@@ -216,7 +214,7 @@ class AirGradientSelect(AirGradientEntity, SelectEntity):
@property
def current_option(self) -> str | None:
"""Return the state of the select."""
return self.entity_description.value_fn(self.coordinator.data)
return self.entity_description.value_fn(self.coordinator.data.config)
async def async_select_option(self, option: str) -> None:
"""Change the selected option."""
+24 -23
View File
@@ -32,7 +32,7 @@ from homeassistant.helpers.typing import StateType
from . import AirGradientConfigEntry
from .const import PM_STANDARD, PM_STANDARD_REVERSE
from .coordinator import AirGradientConfigCoordinator, AirGradientMeasurementCoordinator
from .coordinator import AirGradientCoordinator
from .entity import AirGradientEntity
@@ -218,7 +218,7 @@ async def async_setup_entry(
) -> None:
"""Set up AirGradient sensor entities based on a config entry."""
coordinator = entry.runtime_data.measurement
coordinator = entry.runtime_data
listener: Callable[[], None] | None = None
not_setup: set[AirGradientMeasurementSensorEntityDescription] = set(
MEASUREMENT_SENSOR_TYPES
@@ -232,7 +232,7 @@ async def async_setup_entry(
not_setup = set()
sensors = []
for description in sensor_descriptions:
if description.value_fn(coordinator.data) is None:
if description.value_fn(coordinator.data.measures) is None:
not_setup.add(description)
else:
sensors.append(AirGradientMeasurementSensor(coordinator, description))
@@ -248,64 +248,65 @@ async def async_setup_entry(
add_entities()
entities = [
AirGradientConfigSensor(entry.runtime_data.config, description)
AirGradientConfigSensor(coordinator, description)
for description in CONFIG_SENSOR_TYPES
]
if "L" in coordinator.data.model:
if "L" in coordinator.data.measures.model:
entities.extend(
AirGradientConfigSensor(entry.runtime_data.config, description)
AirGradientConfigSensor(coordinator, description)
for description in CONFIG_LED_BAR_SENSOR_TYPES
)
if "I" in coordinator.data.model:
if "I" in coordinator.data.measures.model:
entities.extend(
AirGradientConfigSensor(entry.runtime_data.config, description)
AirGradientConfigSensor(coordinator, description)
for description in CONFIG_DISPLAY_SENSOR_TYPES
)
async_add_entities(entities)
class AirGradientMeasurementSensor(AirGradientEntity, SensorEntity):
class AirGradientSensor(AirGradientEntity, SensorEntity):
"""Defines an AirGradient sensor."""
entity_description: AirGradientMeasurementSensorEntityDescription
coordinator: AirGradientMeasurementCoordinator
def __init__(
self,
coordinator: AirGradientMeasurementCoordinator,
description: AirGradientMeasurementSensorEntityDescription,
coordinator: AirGradientCoordinator,
description: SensorEntityDescription,
) -> None:
"""Initialize airgradient sensor."""
super().__init__(coordinator)
self.entity_description = description
self._attr_unique_id = f"{coordinator.serial_number}-{description.key}"
class AirGradientMeasurementSensor(AirGradientSensor):
"""Defines an AirGradient sensor."""
entity_description: AirGradientMeasurementSensorEntityDescription
@property
def native_value(self) -> StateType:
"""Return the state of the sensor."""
return self.entity_description.value_fn(self.coordinator.data)
return self.entity_description.value_fn(self.coordinator.data.measures)
class AirGradientConfigSensor(AirGradientEntity, SensorEntity):
class AirGradientConfigSensor(AirGradientSensor):
"""Defines an AirGradient sensor."""
entity_description: AirGradientConfigSensorEntityDescription
coordinator: AirGradientConfigCoordinator
def __init__(
self,
coordinator: AirGradientConfigCoordinator,
coordinator: AirGradientCoordinator,
description: AirGradientConfigSensorEntityDescription,
) -> None:
"""Initialize airgradient sensor."""
super().__init__(coordinator)
self.entity_description = description
self._attr_unique_id = f"{coordinator.serial_number}-{description.key}"
super().__init__(coordinator, description)
self._attr_entity_registry_enabled_default = (
coordinator.data.configuration_control is not ConfigurationControl.LOCAL
coordinator.data.config.configuration_control
is not ConfigurationControl.LOCAL
)
@property
def native_value(self) -> StateType:
"""Return the state of the sensor."""
return self.entity_description.value_fn(self.coordinator.data)
return self.entity_description.value_fn(self.coordinator.data.config)
@@ -19,7 +19,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AirGradientConfigEntry
from .const import DOMAIN
from .coordinator import AirGradientConfigCoordinator
from .coordinator import AirGradientCoordinator
from .entity import AirGradientEntity
@@ -46,7 +46,7 @@ async def async_setup_entry(
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AirGradient switch entities based on a config entry."""
coordinator = entry.runtime_data.config
coordinator = entry.runtime_data
added_entities = False
@@ -55,7 +55,7 @@ async def async_setup_entry(
nonlocal added_entities
if (
coordinator.data.configuration_control is ConfigurationControl.LOCAL
coordinator.data.config.configuration_control is ConfigurationControl.LOCAL
and not added_entities
):
async_add_entities(
@@ -63,7 +63,8 @@ async def async_setup_entry(
)
added_entities = True
elif (
coordinator.data.configuration_control is not ConfigurationControl.LOCAL
coordinator.data.config.configuration_control
is not ConfigurationControl.LOCAL
and added_entities
):
entity_registry = er.async_get(hass)
@@ -82,11 +83,10 @@ class AirGradientSwitch(AirGradientEntity, SwitchEntity):
"""Defines an AirGradient switch entity."""
entity_description: AirGradientSwitchEntityDescription
coordinator: AirGradientConfigCoordinator
def __init__(
self,
coordinator: AirGradientConfigCoordinator,
coordinator: AirGradientCoordinator,
description: AirGradientSwitchEntityDescription,
) -> None:
"""Initialize AirGradient switch."""
@@ -97,7 +97,7 @@ class AirGradientSwitch(AirGradientEntity, SwitchEntity):
@property
def is_on(self) -> bool:
"""Return the state of the switch."""
return self.entity_description.value_fn(self.coordinator.data)
return self.entity_description.value_fn(self.coordinator.data.config)
async def async_turn_on(self, **kwargs: Any) -> None:
"""Turn the switch on."""
@@ -1,13 +1,14 @@
"""Airgradient Update platform."""
from datetime import timedelta
from functools import cached_property
from propcache import cached_property
from homeassistant.components.update import UpdateDeviceClass, UpdateEntity
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from . import AirGradientConfigEntry, AirGradientMeasurementCoordinator
from . import AirGradientConfigEntry, AirGradientCoordinator
from .entity import AirGradientEntity
SCAN_INTERVAL = timedelta(hours=1)
@@ -20,18 +21,17 @@ async def async_setup_entry(
) -> None:
"""Set up Airgradient update platform."""
data = config_entry.runtime_data
coordinator = config_entry.runtime_data
async_add_entities([AirGradientUpdate(data.measurement)], True)
async_add_entities([AirGradientUpdate(coordinator)], True)
class AirGradientUpdate(AirGradientEntity, UpdateEntity):
"""Representation of Airgradient Update."""
_attr_device_class = UpdateDeviceClass.FIRMWARE
coordinator: AirGradientMeasurementCoordinator
def __init__(self, coordinator: AirGradientMeasurementCoordinator) -> None:
def __init__(self, coordinator: AirGradientCoordinator) -> None:
"""Initialize the entity."""
super().__init__(coordinator)
self._attr_unique_id = f"{coordinator.serial_number}-update"
@@ -44,7 +44,7 @@ class AirGradientUpdate(AirGradientEntity, UpdateEntity):
@property
def installed_version(self) -> str:
"""Return the installed version of the entity."""
return self.coordinator.data.firmware_version
return self.coordinator.data.measures.firmware_version
async def async_update(self) -> None:
"""Update the entity."""
@@ -15,7 +15,6 @@ from homeassistant.core import HomeAssistant
from homeassistant.helpers import device_registry as dr, entity_registry as er
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from .const import DOMAIN # noqa: F401
from .coordinator import AirNowDataUpdateCoordinator
_LOGGER = logging.getLogger(__name__)
+6 -10
View File
@@ -1,5 +1,7 @@
"""Config flow for AirNow integration."""
from __future__ import annotations
import logging
from typing import Any
@@ -12,7 +14,6 @@ from homeassistant.config_entries import (
ConfigFlow,
ConfigFlowResult,
OptionsFlow,
OptionsFlowWithConfigEntry,
)
from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CONF_RADIUS
from homeassistant.core import HomeAssistant, callback
@@ -120,12 +121,12 @@ class AirNowConfigFlow(ConfigFlow, domain=DOMAIN):
@callback
def async_get_options_flow(
config_entry: ConfigEntry,
) -> OptionsFlow:
) -> AirNowOptionsFlowHandler:
"""Return the options flow."""
return AirNowOptionsFlowHandler(config_entry)
return AirNowOptionsFlowHandler()
class AirNowOptionsFlowHandler(OptionsFlowWithConfigEntry):
class AirNowOptionsFlowHandler(OptionsFlow):
"""Handle an options flow for AirNow."""
async def async_step_init(
@@ -136,12 +137,7 @@ class AirNowOptionsFlowHandler(OptionsFlowWithConfigEntry):
return self.async_create_entry(data=user_input)
options_schema = vol.Schema(
{
vol.Optional(CONF_RADIUS): vol.All(
int,
vol.Range(min=5),
),
}
{vol.Optional(CONF_RADIUS): vol.All(int, vol.Range(min=5))}
)
return self.async_show_form(
+23 -1
View File
@@ -14,10 +14,32 @@ ATTR_API_POLLUTANT = "Pollutant"
ATTR_API_REPORT_DATE = "DateObserved"
ATTR_API_REPORT_HOUR = "HourObserved"
ATTR_API_REPORT_TZ = "LocalTimeZone"
ATTR_API_REPORT_TZINFO = "LocalTimeZoneInfo"
ATTR_API_STATE = "StateCode"
ATTR_API_STATION = "ReportingArea"
ATTR_API_STATION_LATITUDE = "Latitude"
ATTR_API_STATION_LONGITUDE = "Longitude"
DEFAULT_NAME = "AirNow"
DOMAIN = "airnow"
SECONDS_PER_HOUR = 3600
# AirNow seems to only use standard time zones,
# but we include daylight savings for completeness/futureproofing.
US_TZ_OFFSETS = {
"HST": -10 * SECONDS_PER_HOUR,
"HDT": -9 * SECONDS_PER_HOUR,
# AirNow returns AKT instead of AKST or AKDT, use standard
"AKT": -9 * SECONDS_PER_HOUR,
"AKST": -9 * SECONDS_PER_HOUR,
"AKDT": -8 * SECONDS_PER_HOUR,
"PST": -8 * SECONDS_PER_HOUR,
"PDT": -7 * SECONDS_PER_HOUR,
"MST": -7 * SECONDS_PER_HOUR,
"MDT": -6 * SECONDS_PER_HOUR,
"CST": -6 * SECONDS_PER_HOUR,
"CDT": -5 * SECONDS_PER_HOUR,
"EST": -5 * SECONDS_PER_HOUR,
"EDT": -4 * SECONDS_PER_HOUR,
"AST": -4 * SECONDS_PER_HOUR,
"ADT": -3 * SECONDS_PER_HOUR,
}
@@ -12,7 +12,6 @@ from pyairnow.errors import AirNowError
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util import dt as dt_util
from .const import (
ATTR_API_AQI,
@@ -27,7 +26,6 @@ from .const import (
ATTR_API_REPORT_DATE,
ATTR_API_REPORT_HOUR,
ATTR_API_REPORT_TZ,
ATTR_API_REPORT_TZINFO,
ATTR_API_STATE,
ATTR_API_STATION,
ATTR_API_STATION_LATITUDE,
@@ -98,9 +96,7 @@ class AirNowDataUpdateCoordinator(DataUpdateCoordinator[dict[str, Any]]):
# Copy Report Details
data[ATTR_API_REPORT_DATE] = obv[ATTR_API_REPORT_DATE]
data[ATTR_API_REPORT_HOUR] = obv[ATTR_API_REPORT_HOUR]
data[ATTR_API_REPORT_TZINFO] = await dt_util.async_get_time_zone(
obv[ATTR_API_REPORT_TZ]
)
data[ATTR_API_REPORT_TZ] = obv[ATTR_API_REPORT_TZ]
# Copy Station Details
data[ATTR_API_STATE] = obv[ATTR_API_STATE]
+17 -12
View File
@@ -4,9 +4,10 @@ from __future__ import annotations
from collections.abc import Callable
from dataclasses import dataclass
from datetime import datetime
from typing import Any
from dateutil import parser
from homeassistant.components.sensor import (
SensorDeviceClass,
SensorEntity,
@@ -34,12 +35,13 @@ from .const import (
ATTR_API_PM25,
ATTR_API_REPORT_DATE,
ATTR_API_REPORT_HOUR,
ATTR_API_REPORT_TZINFO,
ATTR_API_REPORT_TZ,
ATTR_API_STATION,
ATTR_API_STATION_LATITUDE,
ATTR_API_STATION_LONGITUDE,
DEFAULT_NAME,
DOMAIN,
US_TZ_OFFSETS,
)
ATTRIBUTION = "Data provided by AirNow"
@@ -69,6 +71,18 @@ def station_extra_attrs(data: dict[str, Any]) -> dict[str, Any]:
return {}
def aqi_extra_attrs(data: dict[str, Any]) -> dict[str, Any]:
"""Process extra attributes for main AQI sensor."""
return {
ATTR_DESCR: data[ATTR_API_AQI_DESCRIPTION],
ATTR_LEVEL: data[ATTR_API_AQI_LEVEL],
ATTR_TIME: parser.parse(
f"{data[ATTR_API_REPORT_DATE]} {data[ATTR_API_REPORT_HOUR]}:00 {data[ATTR_API_REPORT_TZ]}",
tzinfos=US_TZ_OFFSETS,
).isoformat(),
}
SENSOR_TYPES: tuple[AirNowEntityDescription, ...] = (
AirNowEntityDescription(
key=ATTR_API_AQI,
@@ -76,16 +90,7 @@ SENSOR_TYPES: tuple[AirNowEntityDescription, ...] = (
state_class=SensorStateClass.MEASUREMENT,
device_class=SensorDeviceClass.AQI,
value_fn=lambda data: data.get(ATTR_API_AQI),
extra_state_attributes_fn=lambda data: {
ATTR_DESCR: data[ATTR_API_AQI_DESCRIPTION],
ATTR_LEVEL: data[ATTR_API_AQI_LEVEL],
ATTR_TIME: datetime.strptime(
f"{data[ATTR_API_REPORT_DATE]} {data[ATTR_API_REPORT_HOUR]}",
"%Y-%m-%d %H",
)
.replace(tzinfo=data[ATTR_API_REPORT_TZINFO])
.isoformat(),
},
extra_state_attributes_fn=aqi_extra_attrs,
),
AirNowEntityDescription(
key=ATTR_API_PM10,
@@ -42,6 +42,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirthingsConfigEntry) ->
coordinator = DataUpdateCoordinator(
hass,
_LOGGER,
config_entry=entry,
name=DOMAIN,
update_method=_update_method,
update_interval=SCAN_INTERVAL,
@@ -2,75 +2,27 @@
from __future__ import annotations
from datetime import timedelta
import logging
from airthings_ble import AirthingsBluetoothDeviceData, AirthingsDevice
from bleak_retry_connector import close_stale_connections_by_address
from homeassistant.components import bluetooth
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util.unit_system import METRIC_SYSTEM
from .const import DEFAULT_SCAN_INTERVAL, DOMAIN, MAX_RETRIES_AFTER_STARTUP
from .const import MAX_RETRIES_AFTER_STARTUP
from .coordinator import AirthingsBLEConfigEntry, AirthingsBLEDataUpdateCoordinator
PLATFORMS: list[Platform] = [Platform.SENSOR]
_LOGGER = logging.getLogger(__name__)
AirthingsBLEDataUpdateCoordinator = DataUpdateCoordinator[AirthingsDevice]
AirthingsBLEConfigEntry = ConfigEntry[AirthingsBLEDataUpdateCoordinator]
async def async_setup_entry(
hass: HomeAssistant, entry: AirthingsBLEConfigEntry
) -> bool:
"""Set up Airthings BLE device from a config entry."""
hass.data.setdefault(DOMAIN, {})
address = entry.unique_id
is_metric = hass.config.units is METRIC_SYSTEM
assert address is not None
await close_stale_connections_by_address(address)
ble_device = bluetooth.async_ble_device_from_address(hass, address)
if not ble_device:
raise ConfigEntryNotReady(
f"Could not find Airthings device with address {address}"
)
airthings = AirthingsBluetoothDeviceData(_LOGGER, is_metric)
async def _async_update_method() -> AirthingsDevice:
"""Get data from Airthings BLE."""
try:
data = await airthings.update_device(ble_device)
except Exception as err:
raise UpdateFailed(f"Unable to fetch data: {err}") from err
return data
coordinator: AirthingsBLEDataUpdateCoordinator = DataUpdateCoordinator(
hass,
_LOGGER,
name=DOMAIN,
update_method=_async_update_method,
update_interval=timedelta(seconds=DEFAULT_SCAN_INTERVAL),
)
coordinator = AirthingsBLEDataUpdateCoordinator(hass, entry)
await coordinator.async_config_entry_first_refresh()
# Once its setup and we know we are not going to delay
# the startup of Home Assistant, we can set the max attempts
# to a higher value. If the first connection attempt fails,
# Home Assistant's built-in retry logic will take over.
airthings.set_max_attempts(MAX_RETRIES_AFTER_STARTUP)
coordinator.airthings.set_max_attempts(MAX_RETRIES_AFTER_STARTUP)
entry.runtime_data = coordinator
@@ -0,0 +1,68 @@
"""The Airthings BLE integration."""
from __future__ import annotations
from datetime import timedelta
import logging
from airthings_ble import AirthingsBluetoothDeviceData, AirthingsDevice
from bleak.backends.device import BLEDevice
from bleak_retry_connector import close_stale_connections_by_address
from homeassistant.components import bluetooth
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from homeassistant.util.unit_system import METRIC_SYSTEM
from .const import DEFAULT_SCAN_INTERVAL, DOMAIN
_LOGGER = logging.getLogger(__name__)
type AirthingsBLEConfigEntry = ConfigEntry[AirthingsBLEDataUpdateCoordinator]
class AirthingsBLEDataUpdateCoordinator(DataUpdateCoordinator[AirthingsDevice]):
"""Class to manage fetching Airthings BLE data."""
ble_device: BLEDevice
config_entry: AirthingsBLEConfigEntry
def __init__(self, hass: HomeAssistant, entry: AirthingsBLEConfigEntry) -> None:
"""Initialize the coordinator."""
self.airthings = AirthingsBluetoothDeviceData(
_LOGGER, hass.config.units is METRIC_SYSTEM
)
super().__init__(
hass,
_LOGGER,
config_entry=entry,
name=DOMAIN,
update_interval=timedelta(seconds=DEFAULT_SCAN_INTERVAL),
)
async def _async_setup(self) -> None:
"""Set up the coordinator."""
address = self.config_entry.unique_id
assert address is not None
await close_stale_connections_by_address(address)
ble_device = bluetooth.async_ble_device_from_address(self.hass, address)
if not ble_device:
raise ConfigEntryNotReady(
f"Could not find Airthings device with address {address}"
)
self.ble_device = ble_device
async def _async_update_data(self) -> AirthingsDevice:
"""Get data from Airthings BLE."""
try:
data = await self.airthings.update_device(self.ble_device)
except Exception as err:
raise UpdateFailed(f"Unable to fetch data: {err}") from err
return data
@@ -24,5 +24,5 @@
"dependencies": ["bluetooth_adapters"],
"documentation": "https://www.home-assistant.io/integrations/airthings_ble",
"iot_class": "local_polling",
"requirements": ["airthings-ble==0.9.1"]
"requirements": ["airthings-ble==0.9.2"]
}
@@ -34,8 +34,8 @@ from homeassistant.helpers.typing import StateType
from homeassistant.helpers.update_coordinator import CoordinatorEntity
from homeassistant.util.unit_system import METRIC_SYSTEM
from . import AirthingsBLEConfigEntry, AirthingsBLEDataUpdateCoordinator
from .const import DOMAIN, VOLUME_BECQUEREL, VOLUME_PICOCURIE
from .coordinator import AirthingsBLEConfigEntry, AirthingsBLEDataUpdateCoordinator
_LOGGER = logging.getLogger(__name__)
@@ -9,8 +9,6 @@ from homeassistant.const import CONF_HOST, Platform
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from .const import DOMAIN
PLATFORMS: list[Platform] = [Platform.CLIMATE, Platform.COVER]
type Airtouch5ConfigEntry = ConfigEntry[Airtouch5SimpleClient]
@@ -19,8 +17,6 @@ type Airtouch5ConfigEntry = ConfigEntry[Airtouch5SimpleClient]
async def async_setup_entry(hass: HomeAssistant, entry: Airtouch5ConfigEntry) -> bool:
"""Set up Airtouch 5 from a config entry."""
hass.data.setdefault(DOMAIN, {})
# Create API instance
host = entry.data[CONF_HOST]
client = Airtouch5SimpleClient(host)
+16 -58
View File
@@ -34,13 +34,8 @@ from homeassistant.helpers import (
device_registry as dr,
entity_registry as er,
)
from homeassistant.helpers.entity import EntityDescription
from homeassistant.helpers.issue_registry import IssueSeverity, async_create_issue
from homeassistant.helpers.update_coordinator import (
CoordinatorEntity,
DataUpdateCoordinator,
UpdateFailed,
)
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import (
CONF_CITY,
@@ -53,6 +48,8 @@ from .const import (
LOGGER,
)
type AirVisualConfigEntry = ConfigEntry[DataUpdateCoordinator]
# We use a raw string for the airvisual_pro domain (instead of importing the actual
# constant) so that we can avoid listing it as a dependency:
DOMAIN_AIRVISUAL_PRO = "airvisual_pro"
@@ -91,10 +88,9 @@ def async_get_cloud_coordinators_by_api_key(
) -> list[DataUpdateCoordinator]:
"""Get all DataUpdateCoordinator objects related to a particular API key."""
return [
coordinator
for entry_id, coordinator in hass.data[DOMAIN].items()
if (entry := hass.config_entries.async_get_entry(entry_id))
and entry.data.get(CONF_API_KEY) == api_key
entry.runtime_data
for entry in hass.config_entries.async_entries(DOMAIN)
if entry.data.get(CONF_API_KEY) == api_key and hasattr(entry, "runtime_data")
]
@@ -172,7 +168,7 @@ def _standardize_geography_config_entry(
hass.config_entries.async_update_entry(entry, **entry_updates)
async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_setup_entry(hass: HomeAssistant, entry: AirVisualConfigEntry) -> bool:
"""Set up AirVisual as config entry."""
if CONF_API_KEY not in entry.data:
# If this is a migrated AirVisual Pro entry, there's no actual setup to do;
@@ -208,6 +204,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
coordinator = DataUpdateCoordinator(
hass,
LOGGER,
config_entry=entry,
name=async_get_geography_id(entry.data),
# We give a placeholder update interval in order to create the coordinator;
# then, below, we use the coordinator's presence (along with any other
@@ -220,8 +217,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
entry.async_on_unload(entry.add_update_listener(async_reload_entry))
await coordinator.async_config_entry_first_refresh()
hass.data.setdefault(DOMAIN, {})
hass.data[DOMAIN][entry.entry_id] = coordinator
entry.runtime_data = coordinator
# Reassess the interval between 2 server requests
async_sync_geo_coordinator_update_intervals(hass, entry.data[CONF_API_KEY])
@@ -231,7 +227,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return True
async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_migrate_entry(hass: HomeAssistant, entry: AirVisualConfigEntry) -> bool:
"""Migrate an old config entry."""
version = entry.version
@@ -388,56 +384,18 @@ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
return True
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: AirVisualConfigEntry) -> bool:
"""Unload an AirVisual config entry."""
unload_ok = await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
if unload_ok:
hass.data[DOMAIN].pop(entry.entry_id)
if CONF_API_KEY in entry.data:
# Re-calculate the update interval period for any remaining consumers of
# this API key:
async_sync_geo_coordinator_update_intervals(hass, entry.data[CONF_API_KEY])
if unload_ok and CONF_API_KEY in entry.data:
# Re-calculate the update interval period for any remaining consumers of
# this API key:
async_sync_geo_coordinator_update_intervals(hass, entry.data[CONF_API_KEY])
return unload_ok
async def async_reload_entry(hass: HomeAssistant, entry: ConfigEntry) -> None:
async def async_reload_entry(hass: HomeAssistant, entry: AirVisualConfigEntry) -> None:
"""Handle an options update."""
await hass.config_entries.async_reload(entry.entry_id)
class AirVisualEntity(CoordinatorEntity):
"""Define a generic AirVisual entity."""
def __init__(
self,
coordinator: DataUpdateCoordinator,
entry: ConfigEntry,
description: EntityDescription,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self._attr_extra_state_attributes = {}
self._entry = entry
self.entity_description = description
async def async_added_to_hass(self) -> None:
"""Register callbacks."""
await super().async_added_to_hass()
@callback
def update() -> None:
"""Update the state."""
self.update_from_latest_data()
self.async_write_ha_state()
self.async_on_remove(self.coordinator.async_add_listener(update))
self.update_from_latest_data()
@callback
def update_from_latest_data(self) -> None:
"""Update the entity from the latest data."""
raise NotImplementedError
@@ -16,7 +16,12 @@ from pyairvisual.cloud_api import (
from pyairvisual.errors import AirVisualError
import voluptuous as vol
from homeassistant.config_entries import ConfigEntry, ConfigFlow, ConfigFlowResult
from homeassistant.config_entries import (
SOURCE_REAUTH,
ConfigEntry,
ConfigFlow,
ConfigFlowResult,
)
from homeassistant.const import (
CONF_API_KEY,
CONF_COUNTRY,
@@ -140,12 +145,11 @@ class AirVisualFlowHandler(ConfigFlow, domain=DOMAIN):
valid_keys.add(user_input[CONF_API_KEY])
if existing_entry := await self.async_set_unique_id(self._geo_id):
self.hass.config_entries.async_update_entry(existing_entry, data=user_input)
self.hass.async_create_task(
self.hass.config_entries.async_reload(existing_entry.entry_id)
if self.source == SOURCE_REAUTH:
return self.async_update_reload_and_abort(
self._get_reauth_entry(),
data_updates={CONF_API_KEY: user_input[CONF_API_KEY]},
)
return self.async_abort(reason="reauth_successful")
return self.async_create_entry(
title=f"Cloud API ({self._geo_id})",
@@ -5,7 +5,6 @@ from __future__ import annotations
from typing import Any
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.config_entries import ConfigEntry
from homeassistant.const import (
CONF_API_KEY,
CONF_COUNTRY,
@@ -15,9 +14,9 @@ from homeassistant.const import (
CONF_UNIQUE_ID,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from .const import CONF_CITY, DOMAIN
from . import AirVisualConfigEntry
from .const import CONF_CITY
CONF_COORDINATES = "coordinates"
CONF_TITLE = "title"
@@ -37,10 +36,10 @@ TO_REDACT = {
async def async_get_config_entry_diagnostics(
hass: HomeAssistant, entry: ConfigEntry
hass: HomeAssistant, entry: AirVisualConfigEntry
) -> dict[str, Any]:
"""Return diagnostics for a config entry."""
coordinator: DataUpdateCoordinator = hass.data[DOMAIN][entry.entry_id]
coordinator = entry.runtime_data
return {
"entry": async_redact_data(entry.as_dict(), TO_REDACT),
@@ -0,0 +1,47 @@
"""The AirVisual component."""
from __future__ import annotations
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import callback
from homeassistant.helpers.entity import EntityDescription
from homeassistant.helpers.update_coordinator import (
CoordinatorEntity,
DataUpdateCoordinator,
)
class AirVisualEntity(CoordinatorEntity):
"""Define a generic AirVisual entity."""
def __init__(
self,
coordinator: DataUpdateCoordinator,
entry: ConfigEntry,
description: EntityDescription,
) -> None:
"""Initialize."""
super().__init__(coordinator)
self._attr_extra_state_attributes = {}
self._entry = entry
self.entity_description = description
async def async_added_to_hass(self) -> None:
"""Register callbacks."""
await super().async_added_to_hass()
@callback
def update() -> None:
"""Update the state."""
self.update_from_latest_data()
self.async_write_ha_state()
self.async_on_remove(self.coordinator.async_add_listener(update))
self.update_from_latest_data()
@callback
def update_from_latest_data(self) -> None:
"""Update the entity from the latest data."""
raise NotImplementedError
+7 -4
View File
@@ -26,8 +26,9 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator
from . import AirVisualEntity
from .const import CONF_CITY, DOMAIN
from . import AirVisualConfigEntry
from .const import CONF_CITY
from .entity import AirVisualEntity
ATTR_CITY = "city"
ATTR_COUNTRY = "country"
@@ -105,10 +106,12 @@ POLLUTANT_UNITS = {
async def async_setup_entry(
hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
hass: HomeAssistant,
entry: AirVisualConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AirVisual sensors based on a config entry."""
coordinator = hass.data[DOMAIN][entry.entry_id]
coordinator = entry.runtime_data
async_add_entities(
AirVisualGeographySensor(coordinator, entry, description, locale)
for locale in GEOGRAPHY_SENSOR_LOCALES
@@ -32,7 +32,7 @@
}
},
"error": {
"general_error": "[%key:common::config_flow::error::unknown%]",
"unknown": "[%key:common::config_flow::error::unknown%]",
"invalid_api_key": "[%key:common::config_flow::error::invalid_api_key%]",
"location_not_found": "Location not found",
"cannot_connect": "[%key:common::config_flow::error::cannot_connect%]"

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