Compare commits

...

2115 Commits

Author SHA1 Message Date
G Johansson e20bda33a4 Fix entity test 2025-01-19 21:29:42 +01:00
G Johansson f2125a1133 Reset tts test 2 2025-01-19 21:29:42 +01:00
G Johansson 557caa7ecb Reset tts test 2025-01-19 21:29:42 +01:00
G Johansson d973e42c97 Reset kira test 2025-01-19 21:29:42 +01:00
G Johansson 428c7ced94 Reset blackbird test 2025-01-19 21:29:42 +01:00
G Johansson 7b14bd89a0 Fix template preview 2025-01-19 21:29:42 +01:00
G Johansson f1f45d6b5b Fixes 2025-01-19 21:29:42 +01:00
G Johansson 50e4311416 Remove 2025-01-19 21:29:42 +01:00
G Johansson 1a32a2f9c2 Mod tests 2025-01-19 21:29:42 +01:00
G Johansson f9cecc0cd5 Fix some tests 2025-01-19 21:29:42 +01:00
G Johansson 6fe2612f1d Fix comment 2025-01-19 21:29:42 +01:00
G Johansson 43fbb2ab7b Don't allow entities without platform 2025-01-19 21:29:42 +01:00
G Johansson 2295e3779a Ensure entity platform in cover tests (#135917) 2025-01-19 21:29:28 +01:00
G Johansson 53f80e9759 Ensure entity platform in camera tests (#135918) 2025-01-19 21:28:50 +01:00
Joost Lekkerkerker f5d35bca72 Implement cloudhooks for Overseerr (#134680) 2025-01-19 21:28:08 +01:00
Norbert Rittel 77221f53b3 Fix sentence-casing in PurpleAir integration strings (#135981) 2025-01-19 21:27:01 +01:00
jsuar a2d76cac5a Fix Slack file upload (#135818)
* pgrade Slack integration to use AsyncWebClient and support files_upload_v2

- Replaced deprecated WebClient with AsyncWebClient throughout the integration.
- Removed the unsupported `run_async` parameter.
- Added a helper function to resolve channel names to channel IDs.
- Updated `_async_send_local_file_message` and `_async_send_remote_file_message` to handle Slack's new API requirements, including per-channel uploads.
- Updated dependency from slackclient==2.5.0 to slack-sdk>=3.0.0.
- Improved error handling and logging for channel resolution and file uploads.

* Fix test to use AsyncWebClient for Slack authentication flow

* Fix Slack authentication URL by removing the www subdomain

* Refactor Slack file upload functionality and add utility for file uploads
2025-01-19 21:09:04 +01:00
Joakim Plate a69786f64f Set friendly name for PT2262 sensors to masked name (#135988) 2025-01-19 21:07:05 +01:00
Scott K Logan 2900baac04 Bump aioraven to 0.7.1 (#136017) 2025-01-19 21:05:34 +01:00
Duco Sebel 2092456c7e Bumb python-homewizard-energy to 8.1.0 (#136016) 2025-01-19 21:03:30 +01:00
Joakim Plate 2bedb2cadb Correct translation key for data bits in rfxtrx (#135990) 2025-01-19 20:43:47 +01:00
Marc Mueller 5329356f20 Update numpy to 2.2.2 (#135982) 2025-01-19 20:35:32 +01:00
Paulus Schoutsen 0c68854fdf Migrate tests from OpenAI to conversation integration (#135963) 2025-01-19 20:32:59 +01:00
David Knowles 8777dd9065 Bump pydrawise to 2025.1.0 (#135998) 2025-01-19 20:31:30 +01:00
J. Diego Rodríguez Royo 57294fa461 Do not base power switch state on appliance's operation state at Home Connect (#135932) 2025-01-19 20:24:48 +01:00
J. Nick Koston 3a078d5414 Handle invalid datetime in onvif (#136014) 2025-01-19 20:16:40 +01:00
Joakim Plate 568a27000d Correct type for off delay in rfxtrx (#135994) 2025-01-19 20:09:05 +01:00
Maikel Punie 4612f4da19 Fix velbus via devices (#135986) 2025-01-19 20:07:32 +01:00
Manu ec45cb4939 Improve exception handling in Habitica integration (#135950) 2025-01-19 19:51:55 +01:00
Jan Bouwhuis ccd7b1c21a Add incomfort heater serialnr to device info (#136012) 2025-01-19 19:51:04 +01:00
Norbert Rittel 3ee2dc9790 Make strings of create_scene action UI- and translation-friendly (#136004) 2025-01-19 19:43:47 +01:00
Jan Bouwhuis 889f699e5d Disable noisy diagnostic incomfort sensors by default (#135992) 2025-01-19 19:28:19 +01:00
Jan Bouwhuis 5ffae140af Add diagnostics feature to incomfort integration (#136009) 2025-01-19 19:27:36 +01:00
Jan Bouwhuis 04eb86e5a0 Cleanup incomfort translation strings (#135991) 2025-01-19 15:30:03 +01:00
Jan Bouwhuis 3077a4cdee Add re-configure flow incomfort integration (#135887)
* Add re-configure flow incomfort integration

* End with abort flow in reconfigure failure flow

* Apply parenthesis
2025-01-19 15:16:26 +01:00
Joost Lekkerkerker 02bf8447b3 Fix unset coordinator in Switchbot cloud (#135985) 2025-01-19 15:15:32 +01:00
Joost Lekkerkerker cf29ef91ee Fix switchbot cloud library logger (#135987) 2025-01-19 15:15:21 +01:00
Andrew Sayre 439f22f584 Fix HEOS device information (#135940) 2025-01-19 15:07:00 +01:00
Jan Bouwhuis b17c36eeff Add re-authentication flow to incomfort integration (#135861) 2025-01-19 14:26:21 +01:00
Mick Montorier-Aberman 41fe863b72 Refactor SwitchBot Cloud make_device_data (#135698) 2025-01-19 14:22:21 +01:00
Norbert Rittel dfc4cdf785 Improve descriptions in list_notifications action, fix casing (#135838) 2025-01-19 13:43:35 +01:00
Christopher Fenner 654e111c23 Fix fan speed in auto mode in ViCare integration (#134256) 2025-01-19 13:39:38 +01:00
Norbert Rittel 9d5fe77b71 Remove unnecessary "title" keys to use default setup flow instead (#135512) 2025-01-19 13:34:22 +01:00
Manu 958b1e7759 Move integration setup to coordinator _async_setup in Bring (#135711) 2025-01-19 13:29:21 +01:00
Norbert Rittel 2f5545e7b8 Fix name and descriptions of actions in EZVIZ integration etc. (#135858) 2025-01-19 13:28:49 +01:00
Erwin Douna 15d57692d9 SMA add diagnostics (#135852) 2025-01-19 13:28:15 +01:00
Sid a55bd593af Rework enigma2 tests (#135475) 2025-01-19 13:24:47 +01:00
Manuel Stahl 3978c4cdb3 Add type annotations to stiebel eltron component (#135228) 2025-01-19 13:21:59 +01:00
Norbert Rittel 4690aef8b8 Further clarify the meaning of Sensibo's Climate React mode (#135833)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-01-19 13:21:37 +01:00
Brett Adams 6292d6c0dc Add streaming to device tracker platform in Teslemetry (#135962)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-19 13:20:40 +01:00
Matthias Alphart af0f416497 Fix KNX default state updater option (#135611) 2025-01-19 12:53:09 +01:00
Manu acbb15a496 Set dependency-transparency and async-dependency in Habitica IQS (#135902) 2025-01-19 12:51:49 +01:00
Glenn Vandeuren (aka Iondependent) 9f3b39a2d2 Round brightness in Niko Home Control (#135920) 2025-01-19 12:51:05 +01:00
Norbert Rittel 5a91562d1d Fix grammar and plural handling in action descriptions (#135654) 2025-01-19 12:37:28 +01:00
J. Diego Rodríguez Royo ac58494b55 Improve program related sensors at Home Connect (#135929) 2025-01-19 12:02:23 +01:00
J. Diego Rodríguez Royo 33d552e3f7 Add power switch only if it is available at Home Connect (#135930) 2025-01-19 11:58:38 +01:00
Norbert Rittel f3222045ae Change 'device_id' to translatable 'device ID', fix typos in LCN (#135978) 2025-01-19 11:56:34 +01:00
J. Nick Koston 0d968267a2 Improve remote Bluetooth scanner manufacturer data (#135961)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-19 11:55:13 +01:00
cdnninja 85bea5b70e Vesync switch humidifier to property (#135949) 2025-01-19 11:43:16 +01:00
Erik Montnemery 02347d5d36 Improve backup store in tests (#135974) 2025-01-19 11:13:37 +01:00
Paulus Schoutsen 754de6f998 Add shared history for conversation agents (#135903)
* Add shared history for conversation agents

* Remove unused code

* Add support for native history items

* Store all assistant responses as assistant in history

* Add history support to DefaultAgent.async_handle_intents

* Make local fallback work

* Add default agent history

* Add history cleanup

* Add tests

* ChatHistory -> ChatSession

* Address comments

* Update snapshots
2025-01-18 22:33:03 -05:00
Norbert Rittel 32d7a23bff Fix duplicated "effect" in Speed field descriptions of flux_led (#135948) 2025-01-18 15:13:28 -10:00
J. Nick Koston fe4e001fa5 Bump bluetooth-adapters to 0.21.0 (#135957) 2025-01-18 15:10:15 -10:00
J. Nick Koston 725d835fab Bump aiooui to 0.1.9 (#135956) 2025-01-18 15:01:55 -10:00
J. Nick Koston 640da1cc67 Bump aiooui to 0.1.8 (#135945) 2025-01-19 00:53:59 +01:00
Marc Mueller 6690b121c0 Fix unicode chars in zha tests (#135954) 2025-01-18 13:47:30 -10:00
Marc Mueller 8a3ef101e6 Replace additional deprecated USBServiceInfo imports (#135953) 2025-01-18 17:43:07 -06:00
J. Nick Koston 09ae388f4e Bump bleak-retry-connector to 3.7.0 (#135939) 2025-01-18 12:02:18 -10:00
Matthias Alphart 659450dac9 Update knx-frontend to 2025.1.18.164225 (#135941) 2025-01-18 22:33:41 +01:00
Álvaro Fernández Rojas 37c3a9546c Update aioairzone to v0.9.9 (#135866)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-18 10:57:54 -10:00
Norbert Rittel b32c401c24 Fix inconsistently spelled occurrences of "ID" in telegram_bot integration (#135928)
* Make all occurrences of "ID" in telegram_bot consistent

- change all remaining occurrences of "id" or "Id" to the correct spelling "ID"
- change "chat_id" to the UI-friedly "chat ID"
- use "ID of the chat …" in descriptions, matching "ID of the message …"
- fix the edit_replymarkup action's description to also use "Edits …", matching all other descriptions with "Sends …" or "Edits …"

* Use translatable descriptions for the Timeout fields

Uses the description from the online documentation that can be translated while the current ones use the action name which makes it difficult to handle in other languages.
2025-01-18 14:54:44 -06:00
Marc Mueller 19e5b091c5 Use HassKey for assist_pipeline singleton (#135875) 2025-01-18 09:52:13 -10:00
Marc Mueller 24c50e0988 Fix aiodns DeprecationWarning in tests (#135921) 2025-01-18 08:04:01 -10:00
Joost Lekkerkerker fe8a93d62f Add reauthentication to SmartThings (#135673)
* Add reauthentication to SmartThings

* Add reauthentication to SmartThings

* Add reauthentication to SmartThings

* Add reauthentication to SmartThings
2025-01-18 18:41:24 +01:00
Glenn Vandeuren (aka Iondependent) b39c2719d7 Update NHC lib to v0.3.4 (#135923)
Update NHC to v0.3.4
2025-01-18 18:47:20 +02:00
Marc Mueller 0c9fd7c482 Fix DeprecationWarnings in mcp_server (#135927)
* Fix DeprecationWarnings in mcp_server

* Spelling
2025-01-18 18:43:35 +02:00
Marc Mueller dedcef7230 Fix acmeda pytest usefixtures spelling (#135919) 2025-01-18 17:08:07 +01:00
Manu 595f49ee9f Set strict-typing in Habitica quality scale record (#135899)
* Set strict-typing in Habitica quality scale record

* cast
2025-01-18 16:35:35 +01:00
G Johansson 5a7b6cd7a0 Remove asserting name in tts test (no entity platform) (#135726)
* Ensure entity platform in tts tests

* Correct placement

* Remove name test

* Remove hass
2025-01-18 14:47:53 +01:00
Maciej Bieniek f0c6b47522 Increase test coverage for IMGW-PIB (#135915) 2025-01-18 13:31:17 +01:00
Joris Pelgröm d349c47694 Add reauth flow to LetPot integration (#135734) 2025-01-18 06:11:35 -06:00
Josef Zweck f878465a9a Fix imgw_pib tests (#135913) 2025-01-18 06:07:28 -06:00
Nathan Spencer 81b7d01a7d Bump pylitterbot to 2024.0.0 (#135891) 2025-01-18 13:01:09 +01:00
Manu f5dd3ef530 Increase test coverage in Habitica integration (#135896)
Add tests to Habitica integration
2025-01-18 12:59:23 +01:00
Brett Adams 88f16807a0 Bump Teslemetry Stream to 0.6.6 (#135905)
bump66
2025-01-18 12:38:20 +01:00
Manu 76d9bcbdfb Set parallel-updates in Habitica quality scale record (#135901) 2025-01-18 11:17:58 +01:00
tronikos f01598aadd Use runtime_data in Opower (#135910)
* Use runtime_data in Opower

* Fix async_unload_entry

* Fix async_unload_entry

* fix
2025-01-18 11:14:31 +01:00
Josef Zweck c56eee3639 Fix bmw_connected_drive tests (#135911) 2025-01-18 11:10:52 +01:00
tronikos 06d8bc658f Fix typo in Opower log message (#135909) 2025-01-18 10:39:40 +01:00
Noah Husby f724ae9a01 Record IQS for Russound RNET (#134692) 2025-01-18 08:33:49 +01:00
J. Nick Koston bbe897745e Bump onvif-zeep-async to 3.2.2 (#135898) 2025-01-17 19:30:21 -10:00
Ernst Klamer 089c9c41ba Add BThome hold press event (#135871)
* add hold_press

* add hold_press

* add hold_press

* add hold_press
2025-01-18 02:23:25 +02:00
J. Nick Koston 43fe4ebbbe Prevent HomeKit from going unavailable when min/max is reversed (#135892) 2025-01-17 14:08:17 -10:00
J. Nick Koston fc1b6292cd Bump dbus-fast to 2.30.2 (#135874) 2025-01-17 13:05:18 -10:00
J. Nick Koston 174f3ca755 Bump ulid-transform to 1.2.0 (#135882) 2025-01-17 12:06:28 -10:00
J. Nick Koston 51d277fc0c Bump bluetooth-data-tools to 1.22.0 (#135879) 2025-01-17 12:06:01 -10:00
J. Nick Koston b98e1a1d2f Bump habluetooth to 3.9.0 (#135877) 2025-01-17 12:05:41 -10:00
J. Nick Koston a08e42399d Bump fnv-hash-fast to 1.2.2 (#135872) 2025-01-17 12:04:53 -10:00
epenet 2b0e383b2e Use new ServiceInfo location in zha (#135703) 2025-01-17 22:56:59 +01:00
J. Nick Koston 9868138fc4 Bump aioesphomeapi to 28.0.1 (#135869) 2025-01-17 11:53:29 -10:00
epenet c601170b1d Use new ServiceInfo location in devolo_home_network (#135690) 2025-01-17 21:01:05 +01:00
Raphael Hehl 5ea5413064 Remove device_class from NFC and fingerprint event descriptions (#135867) 2025-01-17 09:49:01 -10:00
Marc Mueller abc256fb3e Add overload for async singleton call with HassKey (#134059) 2025-01-17 19:22:48 +01:00
G Johansson 2ec971ad9d Remove not needed name from config flow in SMHI (#134841) 2025-01-17 19:21:13 +01:00
Erik Montnemery 235fda55fe Validate config entry when adding or updating entity registry entry (#135067) 2025-01-17 19:18:13 +01:00
epenet 028a0d4eec Remove call to get_serial_by_id in homeassistant_sky_connect (#135751) 2025-01-17 19:10:56 +01:00
epenet 14f3868c26 Fix flaky test in acmeda (#135846) 2025-01-17 19:08:32 +01:00
Indu Prakash 54e4e8a7bb Fix humidifier on off status update (#135743) 2025-01-17 18:49:33 +01:00
Andre Lengwenus a8cb618f96 Add missing data_descriptions to strings.json for LCN (#135674) 2025-01-17 18:09:19 +01:00
Norbert Rittel ca5aca4ab9 Fix "set" / "sets" in action names and descriptions, spelling of "dB" (#135659) 2025-01-17 18:08:48 +01:00
Guido Schmitz ea7e53d10d Add zeroconf dependency to devolo Home Network manifest (#135708) 2025-01-17 18:08:26 +01:00
Norbert Rittel c7de3112fb Fix several issues in a string of IHC integration (#135618) 2025-01-17 18:02:33 +01:00
hahn-th 4a64c797d4 Add doorbell event to homematicip_cloud (#133269) 2025-01-17 17:54:15 +01:00
Max R 2a514ebc3f Update yolink "play on speaker hub" action to allow optional values (to match YoLink API) (#133099) 2025-01-17 17:43:47 +01:00
jesperraemaekers 44b577cadb Bump Weheat to 2025.1.15 (#135626) 2025-01-17 17:43:15 +01:00
Brett Adams 24bb623567 Add streaming to Teslemetry cover platform (#135660) 2025-01-17 17:38:03 +01:00
tronikos 9e0df89bee Log errors in opower (#135497) 2025-01-17 17:33:48 +01:00
Norbert Rittel fb309a3f98 Fix description of "x10_all_units_off" action (#135000) 2025-01-17 17:18:38 +01:00
Mick Vleeshouwer 829d3bf621 Add support for EvoHomeController in Overkiz (#133777) 2025-01-17 17:13:25 +01:00
Bouwe Westerdijk a2afc1b670 Plugwise test-code improvements (#134193) 2025-01-17 17:12:09 +01:00
Norbert Rittel 7b413b5faf Clarify action descriptions regarding Lost device sound and state (#134277) 2025-01-17 16:56:14 +01:00
Markus Adrario 734d1898cf Homee: fix cover if it has no up/down attribute (#135563) 2025-01-17 15:51:18 +01:00
Joost Lekkerkerker c651e2b3c3 Enable RUF101 (#135835) 2025-01-17 13:01:07 +01:00
Joost Lekkerkerker ef8b8fbbaa Enable RUF023 (#135830) 2025-01-17 12:28:27 +01:00
Renier Moorcroft 23e04ced9c Image entity key error when camera is ignored in EZVIZ (#134343) 2025-01-17 12:27:44 +01:00
Noah Husby 13a7ad759c Add media position & seek to Russound RIO (#134372) 2025-01-17 12:03:52 +01:00
Andre Lengwenus 99d250f222 Set target value on LCN regulator lock (#133870) 2025-01-17 11:15:42 +01:00
Brett Adams 689d7d3cd9 Add Energy History to Tesla Fleet (#126878)
Co-authored-by: Brett Adams <Bre77@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: JEMcats <hurst-status09@icloud.com>
Co-authored-by: JEMcats <jakobmattheis@icloud.com>
2025-01-17 10:34:35 +01:00
Joost Lekkerkerker b4f4b06f29 Enable RUF021 (#135832) 2025-01-17 10:20:45 +01:00
Simon 85b4be2f16 Add model option to speak action for ElevenLabs (#133902) 2025-01-17 10:18:07 +01:00
dcmeglio 5e0bbf65e4 Gracefully handle webhook unsubscription if error occurs while contacting Withings (#134271) 2025-01-17 10:14:41 +01:00
Richard Kroegel 514b74096a Improve BMW test quality (#133704) 2025-01-17 09:58:46 +01:00
Richard Kroegel b1d8994751 Add BMW quality scale details (#132017)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2025-01-17 09:49:58 +01:00
J. Nick Koston c215aee940 Reduce duplicate code in the Bluetooth WebSocket API (#135808) 2025-01-17 10:30:14 +02:00
Manu 5f9457ab6e Update quality scale docs-installation-parameters rule for IronOS integration (#133318) 2025-01-17 09:23:04 +01:00
Redge 76cdfe861c Add 'silent' to HTML5_SHOWNOTIFICATION_PARAMETERS (#135709) 2025-01-17 09:16:45 +01:00
epenet bd91cc4bdc Use new ServiceInfo location in bosch_shc (#135689) 2025-01-17 09:15:20 +01:00
G Johansson cde3ba5504 Ensure entity platform in dsmr_reader tests (#135718) 2025-01-17 09:14:40 +01:00
G Johansson 21256cab85 Ensure entity platform in google_assistant tests (#135719) 2025-01-17 09:14:25 +01:00
G Johansson d62a66eaf2 Ensure entity platform in google_wifi tests (#135720) 2025-01-17 09:14:08 +01:00
Marc Mueller 46b17b539c Use new syntax for TypeVar defaults (#135780) 2025-01-17 09:12:52 +01:00
G Johansson 6aed2dcc0f Ensure entity platform in homeassistant tests (#135721) 2025-01-17 09:11:07 +01:00
G Johansson 7430238c0a Ensure entity platform in kira tests (#135723) 2025-01-17 09:10:47 +01:00
G Johansson cd88913daf Ensure entity platform in mochad tests (#135725) 2025-01-17 09:10:29 +01:00
G Johansson 8e39c65759 Ensure entity platform in universal tests (#135727) 2025-01-17 09:10:09 +01:00
G Johansson 0f8785d8bc Ensure entity platform in alert tests (#135714) 2025-01-17 08:44:40 +01:00
Petro31 566f514a75 Allow is_state_attr to check attributes for None (#132879) 2025-01-17 08:41:10 +01:00
G Johansson f3683f0b5e Ensure entity platform in blackbird tests (#135715) 2025-01-17 08:34:47 +01:00
J. Nick Koston a39137c3fc Bump zeroconf to 0.140.1 (#135815) 2025-01-17 08:29:44 +01:00
J. Nick Koston c2b6c4b4fc Small cleanups to lifx services to reduce code (#135817) 2025-01-16 19:39:48 -10:00
J. Nick Koston daac986e00 Bump dbus-fast to 2.29.0 (#135804) 2025-01-16 15:10:01 -10:00
Avi Miller 02ec1d1b71 New paint_theme service added to the LIFX integration (#135667)
* New paint_theme service added to the LIFX integration

Signed-off-by: Avi Miller <me@dje.li>
Co-authored-by: J. Nick Koston <nick@koston.org>

* Move effect selection into a dispatch table

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

---------

Signed-off-by: Avi Miller <me@dje.li>
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-16 14:41:09 -10:00
Erwin Douna 632c166201 SMA update code owners (#135812)
Update code owners
2025-01-16 23:48:40 +01:00
Joost Lekkerkerker 8b12f5270e Enable more RUF rules (#135770)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-01-16 23:43:14 +01:00
Maciej Bieniek b0d3aa1c34 Bump imgw_pib to version 1.0.9 and remove hydrological detail entities (#134668) 2025-01-16 23:42:03 +01:00
Konrad Vité e6c696933f Fix DiscoveryFlowHandler when discovery_function returns bool (#133563)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-16 12:31:16 -10:00
G Johansson e5164496cf Ensure entity platform in vacuum tests (#135786) 2025-01-16 23:27:54 +01:00
G Johansson 88c3be4ecf Ensure entity platform in light tests (#135787) 2025-01-16 23:26:50 +01:00
G Johansson 619917c679 Ensure entity platform in media_player tests (#135788) 2025-01-16 23:26:18 +01:00
Norbert Rittel e433c2250c Several strings fixes in the emoncms integration (#135792) 2025-01-16 23:22:28 +01:00
Erwin Douna 59429dea39 Bump SMA to 0.7.5 (#135799) 2025-01-16 23:20:36 +01:00
Sid 3e4d92f6a7 Bump eheimdigital to 1.0.5 (#135802) 2025-01-16 23:19:41 +01:00
Norbert Rittel a3d24f2472 Fix spelling of "API" and use consistent term "API token" (#135795) 2025-01-16 23:18:54 +01:00
Erwin Douna 46c5591336 SMA add serial number in DeviceInfo (#135809)
SSIA
2025-01-16 23:17:42 +01:00
Norbert Rittel 99f24ca59c Fix service description to match HA style, fix casing (#135797) 2025-01-16 23:15:07 +01:00
Erik Montnemery 1fee0a5aa2 Improve backup store in tests (#135798) 2025-01-16 23:14:19 +01:00
Shay Levy ef34a33a7b Remove misleading "Current" in NUT power sensor names (#135800) 2025-01-16 23:07:43 +01:00
G Johansson bb505baae7 Ensure entity platform in core config tests (#135729) 2025-01-16 12:06:20 -10:00
Jan Bouwhuis b446eaf2d0 Improve incomfort test coverage (#135806) 2025-01-16 23:04:57 +01:00
Jan Bouwhuis 60d51bf4ad Assign entity_category for incomfort entities (#135807) 2025-01-16 23:03:48 +01:00
puddly 9b66ba61a8 USB device add/remove callbacks (#131224) 2025-01-16 11:53:15 -10:00
J. Nick Koston eb651a8a71 Bump govee-ble to 0.42.0 (#135801) 2025-01-16 11:37:12 -10:00
Avi Miller 1b520e37e2 Update aiolifx-themes to 0.6.4 (#135805)
* Restore support for Python 3.12

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

* Bump aiolifx-themes to 0.6.4

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

---------

Signed-off-by: Avi Miller <me@dje.li>
2025-01-16 23:33:54 +02:00
puddly 9331b1572c Implement a polling fallback for USB monitor (#130918) 2025-01-16 11:14:53 -10:00
Paulus Schoutsen 762bc7b8d1 Add broadcast intent (#135337) 2025-01-16 14:41:53 -06:00
J. Nick Koston 6e255060c6 Add Bluetooth config entries for remote scanners (#135543) 2025-01-16 09:52:52 -10:00
Steve HOLWEG 93b3d76ee2 Add button to move netatmo cover to preferred position (#134722) 2025-01-16 18:34:30 +00:00
Markus Jacobsen e188d9a00c Fix Bang & Olufsen event testing (#135707)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-01-16 18:06:18 +00:00
Gerben Jongerius d908d2ab55 Bump youless-api to 2.2.0 (#135781)
Bump version youless 2.2.0
2025-01-16 17:44:09 +02:00
Duco Sebel 55bde60f1a Move HomeWizard config options to class (#135778) 2025-01-16 15:44:59 +01:00
Jan Bouwhuis 5ca68cb273 Improve incomfort coordinator logging (#135777) 2025-01-16 15:24:40 +01:00
Erik Montnemery 2e189480a5 Improve backup decrypt exceptions (#135765) 2025-01-16 16:07:13 +02:00
Joost Lekkerkerker eb98f110d3 Fix Vicare patch (#135773) 2025-01-16 15:41:24 +02:00
Paulus Schoutsen 5cf56207fe Add temperature and humidity entities to area registry (#135423)
* Add temperature and humidity entities to area registry

* Fix service test

* Add validation

* ABC

* More ABC

* More ABC 2

* Fix tests

* ABC 3

* ABC 4
2025-01-16 08:25:26 -05:00
Joost Lekkerkerker 9f7a38f189 Enable RUF022 (#135767) 2025-01-16 13:48:24 +01:00
epenet 476935050a Use new ServiceInfo location in dlna_dmr (#135691) 2025-01-16 13:41:09 +01:00
epenet 27c2f2333e Use new ServiceInfo location in esphome (#135692) 2025-01-16 13:40:13 +01:00
Christopher Fenner 40a3e19ce5 Add further ventilation-related sensors to ViCare (#131496) 2025-01-16 13:38:40 +01:00
Matthew FitzGerald-Chamberlain 9d7706c9be Aprilaire - Fix humidifier showing when it is not available (#133984) 2025-01-16 13:37:44 +01:00
Max Cabrajac a67bc12bb8 Change AdGuard Home URL field validator to accept paths (#127957) 2025-01-16 13:34:30 +01:00
Erik Montnemery 6cbe18ebbd Bump securetar to 2025.1.3 (#135762)
* Bump securetar to 2025.1.3

* Remove outdated fixture
2025-01-16 13:26:52 +01:00
epenet 1cff45b8b7 Use new ServiceInfo location in apple_tv (#135688) 2025-01-16 13:20:46 +01:00
Joost Lekkerkerker fc39b6792c Enable RUF100 (#135760) 2025-01-16 13:06:33 +01:00
DrDonoso 3638d25f6a Add message_thread_id to telegram_text and telegram_command events (#130738)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-16 13:03:42 +01:00
Martin Hjelmare 421f9aa638 Avoid using the backup manager in restore tests (#135757)
* Fix typing

* Refactor test restore backup

* Refactor test restore backup wrong password

* Refactor test restore backup wrong parameters

* Update manager state after rebase

* Remove not needed patch
2025-01-16 12:49:27 +01:00
Simone Rescio 9a1b965c7f Fix rmtree in translation script on MacOS (#129352) 2025-01-16 12:39:37 +01:00
Erik Montnemery 9db6be11f7 Support decrypting backups when downloading (#135728)
* Support decrypting backups when downloading

* Close stream

* Use test helper

* Wait for worker to finish

* Simplify

* Update backup.json

* Simplify

* Revert change from the future
2025-01-16 12:36:12 +01:00
Tyron 6fdccda225 Return Chat IDs on Telegram Bot (#131274)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-16 12:27:19 +01:00
epenet 1172887c80 Use new ServiceInfo location in zwave_js (#135704) 2025-01-16 10:55:48 +01:00
epenet f3b7317373 Use new ServiceInfo location in homeassistant_sky_connect (#135693) 2025-01-16 10:55:14 +01:00
puddly edddd6edfb Reduce USB rescan cooldown from 1 minute to 10 seconds (#135712)
* Reduce USB rescan cooldown from 1 minute to 1 second

* Increase cooldown to 10s as a middle ground
2025-01-16 11:08:38 +02:00
J. Nick Koston 016a274698 Bump govee-ble to 0.41.0 (#135750)
Adds support for the H5130 pressure/presence sensor

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.40.0...v0.41.0
2025-01-16 10:48:29 +02:00
G Johansson c89d60fb5d Ensure entity platform in light tests (#135724) 2025-01-16 09:21:49 +01:00
dotvav b5a7d0258a Palazzetti integration: Update integration quality scale (#135752)
Update integration quality scale
2025-01-16 09:19:37 +01:00
Norbert Rittel 137666982d Reword action descriptions to match Home Assistant style (#135733)
* Reword action descriptions to match Home Assistant style

This commit changes the two action descriptions of the Husqvarna Automower integration to use the descriptive language that is standard in Home Assistant.

This helps in fixing or preventing wrong (machine) translations.

This is done using the wording from the online documentation by using "Lets the mower … ", moving the actual result more into focus.

* Re-add "either" to first description
2025-01-16 09:18:23 +01:00
Martin Hjelmare 77a351f992 Add receive backup tests (#135680)
* Clean up test_receive_backup_busy_manager

* Test receive backup agent error

* Test file write error during backup receive

* Test read tar error during backup receive

* Test non agent upload error during backup receive

* Test file read error during backup receive
2025-01-16 08:41:59 +01:00
G Johansson a8645ea4ed Ensure entity platform in bluetooth tests (#135716) 2025-01-15 21:24:37 -10:00
Brett Adams e886c9e054 Slow down polling for Tesla Fleet (#135747)
Slow down polling
2025-01-15 23:28:15 -05:00
Jamin 79ee2e954b Use SIP URI for VoIP device identifier (#135603)
* Use SIP URI for VoIP device identifier

Use the SIP URI instead of just host/IP address to identify VoIP
devices. This will allow calls initiating from Home Assistant to the
device as well as allows devices connecting through a PBX to be uniquely
identified.

* Add tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2025-01-15 20:59:58 -05:00
J. Nick Koston e736ca72f0 Handle invalid HS color values in HomeKit Bridge (#135739) 2025-01-15 13:33:58 -10:00
epenet be06ef46c1 Use new ServiceInfo location in wmspro (#135702)
* Use new ServiceInfo location in wmspro

* Fix self.source
2025-01-15 21:22:05 +01:00
Steven B. 51e3bf42f2 Add dynamic child device handling to tplink integration (#135229)
Add dynamic child device handling to tplink integration. For child devices that could be added/removed to hubs.
2025-01-15 20:45:06 +01:00
Ik-12 c6cab3259c Create switches for controlling policy-based routes (#134473)
Create switches for controlling policy-based routes (aka "traffic routes" in the Unifi API).
2025-01-15 20:37:33 +01:00
Sid 146d6bbc68 Bump eheimdigital to 1.0.4 (#135722) 2025-01-15 21:29:29 +02:00
Erik Montnemery f36a10126c Add WS command backup/can_decrypt_on_download (#135662)
* Add WS command backup/can_decrypt_on_download

* Wrap errors

* Add default messages to exceptions

* Improve test coverage
2025-01-15 19:40:29 +01:00
Steven B. 3622e8331b Update tplink quality_scale.yaml (#135705) 2025-01-15 16:53:57 +01:00
epenet 241fc2af67 Use new ServiceInfo location in insteon (#135694) 2025-01-15 16:35:27 +01:00
epenet 9d7c917771 Use new ServiceInfo location in modem_callerid (#135695) 2025-01-15 16:17:43 +01:00
epenet d3bedd693a Use new ServiceInfo location in rabbitair (#135696) 2025-01-15 16:17:09 +01:00
epenet 082ef3f85f Use new ServiceInfo location in rainforest_raven (#135697) 2025-01-15 16:15:51 +01:00
epenet 5e648ebb5c Use new ServiceInfo location in tplink (#135700) 2025-01-15 16:14:55 +01:00
epenet 7a442af9fa Use new ServiceInfo location in sonos (#135699) 2025-01-15 16:14:21 +01:00
epenet 406c00997f Use new ServiceInfo location in components (part 3) (#135687) 2025-01-15 15:49:45 +01:00
epenet 19a89ebcf3 Use new ServiceInfo location in components (part 2) (#135685) 2025-01-15 15:49:01 +01:00
epenet bc8a2b58d3 Use new ServiceInfo location in components (part 1) (#135682) 2025-01-15 15:43:46 +01:00
Mick Montorier-Aberman 6a50648223 Call async_forward_setup_entry after the first refresh in SwitchBot Cloud (#135625) 2025-01-15 14:33:21 +00:00
epenet e83ee00af8 Move UsbServiceInfo to service_info helpers (#135663)
* Move UsbServiceInfo to service_info helpers

* Adjust components
2025-01-15 15:10:25 +01:00
Robert Resch 8ae02aaba0 Add missing camera functions to pylint type hints plugin (#135676) 2025-01-15 14:53:08 +01:00
puddly 0eea265415 Bump python-otbr-api to 2.7.0 (#135638)
Bump OTBR API to 2.7.0

Bump `python-otbr-api` to 2.7.0 in `thread` as well
2025-01-15 15:04:42 +02:00
epenet 8c13daf6d9 Move SsdpServiceInfo to service_info helpers (#135661)
* Move SsdpServiceInfo to service_info helpers

* docstring

* Move string constants

* Adjust components
2025-01-15 15:00:27 +02:00
Martin Hjelmare 4ccc686295 Improve logging of backup upload errors (#135672)
Improve logging for upload errors
2025-01-15 14:59:42 +02:00
epenet 31c36beb2e Move DhcpServiceInfo to service_info helpers (#135658)
* Move DhcpServiceInfo to service_info helpers

* Fix mypy/pylint
2025-01-15 13:09:18 +01:00
Norbert Rittel 9c5c1a35a4 Fix descriptions of send_command action for consistency (#135670)
Three small fixes for the description keys of the send_command action of the Homeworks integration:
- use third-person singular for descriptive wording
- Change to "the command" to match "the controller" in two strings

Both ensure better and more consistent machine and human translations.
2025-01-15 14:00:40 +02:00
epenet b046ca9abe Move ZeroconfServiceInfo to service_info helpers (#135653)
* Move ZeroconfServiceInfo to service_info helpers

* Adjust deprecation date

* Fix mypy/pylint

* Fix DeprecatedConstant

* Add deprecation test

* Adjust

* Also deprecate ATTR_PROPERTIES_ID
2025-01-15 12:25:42 +01:00
Avi Miller 650e14379c Bump aiolifx-themes to v0.6.2 (#135645)
* Bump aiolifx-themes to v0.6.1

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

* Bump aiolifx-themes to 0.6.2 to fix deps issue with 0.6.1

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

---------

Signed-off-by: Avi Miller <me@dje.li>
2025-01-15 12:59:15 +02:00
Jan Bouwhuis 1421f4c124 Set MQTT quality scale to platinum (#135612)
* Set MQTT quality scale to platinum

* Add  test for type stub
2025-01-15 10:51:41 +01:00
Jan Bouwhuis f0257fec88 Fix mqtt number state validation (#135621) 2025-01-15 10:13:27 +01:00
Joost Lekkerkerker 8a35261fd8 Remove unused noqas (#135583) 2025-01-15 10:02:18 +01:00
hahn-th f57640c2cd Bump homematicip to 1.1.6 (#135649) 2025-01-15 09:31:48 +01:00
TimL 23a2b19ca0 Bump pysmlight v0.1.5 (#135647) 2025-01-15 09:58:38 +02:00
TimL 6cbbfec5f5 Reduce scan interval on SMLIGHT firmware updates (#135650)
Reduce scan interval on firmware updates
2025-01-15 09:56:01 +02:00
Brett Adams 65df8b946f Update buttons in Teslemetry (#135631)
* Update button

* tests
2025-01-15 08:32:46 +01:00
Thomas55555 4b37b367de Dynamic devices for Husqvarna Automower (#133227)
* Dynamic devices for Husqvarna Automower

* callbacks

* add stayout-zones together

* add alltogether on init

* fix stale lock names

* also for workareas

* separate "normal" vs callback entity adding

* mark quality scale

* Apply suggestions from code review

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

* Apply suggestions from code review

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-01-15 08:31:24 +01:00
Norbert Rittel c1520a9b20 Fix spelling of EnOcean in strings file of the integration (#135622) 2025-01-15 01:49:10 +01:00
Marc Mueller 239aa94b6f Update Python version for mypy to 3.13 (#135636) 2025-01-15 01:43:13 +01:00
Marc Mueller c4d8cda92b Update mypy-dev to 1.15.0a2 (#135633) 2025-01-15 00:54:54 +01:00
mkmer 6e88c6570e Return OFF in hvac_action for Honeywell climate (#135620) 2025-01-14 23:15:49 +00:00
Marc Mueller ecc89fd9a9 Fix spotify typing for Python 3.13 (#135628) 2025-01-15 00:02:22 +01:00
Ville Skyttä 18de735619 More UpCloud config entry refactors (#135548) 2025-01-14 22:49:00 +01:00
Jordan Sitkin f80f6d9e3d Add PaddleSwitchPico (Pico Paddle Remote) device trigger to Lutron Caseta (#135615) 2025-01-14 10:28:10 -10:00
Erik Montnemery c408bd6aad Bump securetar to 2025.1.2 (#135614) 2025-01-14 20:39:58 +01:00
Glenn Waters faf2c64cc4 Bump elkm1-lib to 2.2.11 (#135616) 2025-01-14 09:14:41 -10:00
Franck Nijhof 60bdc13c94 Drop Python 3.12 support (#135589) 2025-01-14 16:23:15 +01:00
epenet fa96168488 Rename onewire entity classes (#135601) 2025-01-14 15:44:18 +01:00
Manu 526277da0f Add entity pictures to Habitica integration (#134179) 2025-01-14 15:23:22 +01:00
Jan Bouwhuis 934f59449d Make mqtt integration exports explicit (#135595) 2025-01-14 15:17:28 +01:00
adam-the-hero 026df07451 Fix Watergate Power supply mode description and MQTT/Wifi uptimes (#135085) 2025-01-14 14:40:01 +01:00
Indu Prakash 38d008bb66 Add vesync number platform (#135564) 2025-01-14 14:33:48 +01:00
Rob 406c3b5925 Adding support for new Lutron RGB tape light (#130731) 2025-01-14 14:07:20 +01:00
Manu 7cc61d1b86 Skip fetching deactivated shopping lists in Bring integration (#135336)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-14 14:07:07 +01:00
Joost Lekkerkerker 421c4889bf Use device supplied ranges in LaMetric (#135590) 2025-01-14 14:02:17 +01:00
Joost Lekkerkerker d6ee7a2c1e Add serial number to LaMetric (#135591) 2025-01-14 13:54:08 +01:00
Brett Adams 6a032baa48 Add streaming binary sensors to Teslemetry (#135248)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-14 13:46:10 +01:00
Erik Montnemery edc7c0ff2f Bump securetar to 2025.1.1 (#135582) 2025-01-14 13:28:43 +01:00
jesperraemaekers 8109efe810 Reverted async-dependency to todo for Weheat (#135588) 2025-01-14 13:27:47 +01:00
Joost Lekkerkerker 5e50b11114 Avoid core documentation url hosted elsewhere (#130513)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2025-01-14 13:17:25 +01:00
jiriappl 4f796174fd Match the upstream alt id of the new Levoit air purifier (#135426) 2025-01-14 13:17:09 +01:00
Joost Lekkerkerker 5fc3618b4a Bump demetriek to 1.2.0 (#135580) 2025-01-14 12:56:31 +01:00
Steven B. d970b728ce Update tplink quality_scale.yaml (#135209) 2025-01-14 12:41:48 +01:00
Joost Lekkerkerker c66176cfa5 Unignore ruff rule ISC001 (#135581) 2025-01-14 12:40:43 +01:00
Indu Prakash 6f138c71b4 Remove incorrect logging about Unknown device (#135585) 2025-01-14 12:38:31 +01:00
Krisjanis Lejejs 6e80ad505b Bump hass-nabucasa from 0.87.0 to 0.88.1 (#135521)
* Bump hass-nabucasa from 0.87.0 to 0.88.0

* Bump hass-nabucasa from 0.88.0 to 0.88.1

* Fix Alexa breaking changes
2025-01-14 12:17:22 +01:00
Joost Lekkerkerker 8db63adc11 Bump ruff to 0.9.1 (#135197) 2025-01-14 11:46:12 +01:00
Jan Bouwhuis 2b51ab1c75 Set MQTT quality scale to gold (#135579) 2025-01-14 11:45:07 +01:00
jesperraemaekers f4e7c9d6c3 Bump Weheat to 2025.1.14 (#135578) 2025-01-14 11:36:26 +01:00
Josef Zweck 6359a75977 Cleanup tedee callbacks (#135577) 2025-01-14 11:34:37 +01:00
Maikel Punie 096c6b8575 Mark Velbus test coverage as done (#135571) 2025-01-14 11:32:33 +01:00
Maikel Punie 959cea45b8 Migrate Velbus to have Entity name (#135520) 2025-01-14 11:30:10 +01:00
Jan-Philipp Benecke e3f03c9da1 Set inexogy quality scale to silver (#135547) 2025-01-14 11:20:35 +01:00
Ville Skyttä 1426c421f3 Use percent formatting in logging per guidelines (#135550) 2025-01-14 11:15:38 +01:00
Indu Prakash 58df5f2394 Add iprak to to vesync code owners (#135562) 2025-01-14 10:51:13 +01:00
Erik Montnemery d333fa320f Fix nmbs sensor unique_id (#135576) 2025-01-14 10:24:48 +01:00
jesperraemaekers 6d7e9f10d9 Set PARALLEL_UPDATES for Weheat (#135574)
Add PARALLEL_UPDATES
2025-01-14 11:19:28 +02:00
Manu 0c144092c6 Bump habiticalib to v.0.3.3 (#135551) 2025-01-14 10:07:23 +01:00
Artur Pragacz 1de4d0efda Fix deprecated enums (#134824) 2025-01-14 10:04:48 +01:00
Erik Montnemery 440cd5bee0 Improve improv via BLE log messages (#135575) 2025-01-14 10:00:21 +01:00
Master-Guy 09e2168f72 Changed json.schemas.url for devcontainers (#135281) 2025-01-13 21:46:32 +01:00
Michael Hansen b897e6a85f Use STT/TTS languages for LLM fallback (#135533) 2025-01-13 14:17:12 -06:00
Norbert Rittel 3e9b410b7c Fix grammar issue in 'invalid_auth' string (#135546)
Remove that wrong comma and add a "that" to clarify the meaning of the error message.
2025-01-13 20:56:10 +01:00
Jan-Philipp Benecke 3c825bb826 Set PARALLEL_UPDATES for inexogy (#135545) 2025-01-13 20:48:24 +01:00
Jan-Philipp Benecke e8ad391df2 Add data_descriptions to inexogy config flow (#135536) 2025-01-13 20:31:13 +01:00
JJ 504ed83ffb Add person component to strict type checking (#132754) 2025-01-13 20:11:17 +01:00
Maikel Punie eaaab4ccfe Velbus add subdevices for din-rail modules (#131371) 2025-01-13 20:10:45 +01:00
jesperraemaekers 4ddb72314d Add quality scale for weheat (#135384) 2025-01-13 20:09:19 +01:00
Maikel Punie c489f94026 Velbus unsubscribe to the status updates on removal (#135530) 2025-01-13 20:08:04 +01:00
Maikel Punie 38dcc782d1 Velbus update unique-config-entry quality score (#135524) 2025-01-13 20:07:47 +01:00
qbus-iot 2d2f4f5cec Add new integration Qbus (#127280)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Thomas D <11554546+thomasddn@users.noreply.github.com>
2025-01-13 19:06:52 +00:00
Álvaro Fernández Rojas ca34541b04 Register Airzone WebServer device (#135538) 2025-01-13 20:06:19 +01:00
Jan Bouwhuis 984c380e13 Add option to allow to use setpoint instead of override for legacy incomfort RF gateway (#135143)
* Add option to allow to use setpoint in stead of override for legacy incomfort RF gateway

* Add test to assert state with legacy_setpoint_status option

* Use selector

* Update homeassistant/components/incomfort/strings.json

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

* Follow up on code review

* Rephrase data_description

* Rephrase

* Use async_schedule_reload helper

* Move option flow after config flow

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-13 19:50:06 +01:00
G Johansson 1c053485a9 Bump smhi-pkg to 1.0.19 (#135537) 2025-01-13 20:40:01 +02:00
Steven B. ab28115d2b Cleanup tplink test framework (#135205) 2025-01-13 19:32:22 +01:00
Indu Prakash d986fe7a07 Add humidifier entity for Vesync devices (#134333) 2025-01-13 19:26:18 +01:00
Jan Bouwhuis 6fd73730cc Bump aioimaplib to 2.0.0 (#135448) 2025-01-13 19:19:06 +01:00
Jan Bouwhuis b93aa760c5 Refactor the MQTT option and reconfigure flow (#133342)
* Move entry options to entry.options en remove broker setup from mqtt option flow

* UPdate diagnostics to export both entry data and options

* Parameterize entry options directly not depending on migration

* Update tests to use v2 entry and add separate migration test

* use start_reconfigure_flow helper

* Update quality scale comment

* Do minor entry upgrade, and do not force to upgrade entry

* Ensure options are read from older entries

* Add comment

* Follow up on code review

* Assert config entry version checking the broker connection

* Update comment
2025-01-13 19:00:18 +01:00
epenet b84a4dc120 Add zeroconf discovery to onewire (#135295) 2025-01-13 17:52:37 +00:00
Manu cdcc7dbbe8 Deprecate sensors in Habitica integration (#134036)
* Deprecate sensors

* move to setup, remove disabled

* changes

* add breaking version to string

* fixes

* fix entity id in tests
2025-01-13 18:35:14 +01:00
Maikel Punie 8d38279993 Bump velbusaio to 2025.1.0 (#135525) 2025-01-13 17:18:46 +01:00
dotvav 153496b5f4 Palazzetti integration: Add support for additional fans (#135377)
* Add support for second and third fans

* Update test mock and snapshot

* Test coverage and error message

* Rename fans left and right instead of 2 and 3
2025-01-13 17:17:46 +01:00
jesperraemaekers 1fa3d90d73 Removing unused API file form weheat (#135518) 2025-01-13 17:14:10 +01:00
Robert Resch 1e4c7e832d Bump go2rtc recommended version to 1.9.8 (#135523) 2025-01-13 17:02:23 +01:00
Maxim Mikityanskiy 275365a9d3 Expose raw PM2.5 in Airgradient (#135457) 2025-01-13 14:42:53 +00:00
G Johansson 4709a3162c Change Trafikverket Train to use station signatures (#131416)
Co-authored-by: Robert Resch <robert@resch.dev>
2025-01-13 15:38:02 +01:00
Franck Nijhof 157548609b Revert "Make all three numbered lists consistent, using 1. 1. 1. for the syntax" (#135510) 2025-01-13 14:18:47 +00:00
Manu fc0a6c2ff3 Refactor number/select to use common method in IronOS (#134173) 2025-01-13 14:50:55 +01:00
Klaas Schoute 0d116ec6a2 Improve tests of energyzero integration (#133452)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-01-13 14:49:01 +01:00
Marc Mueller 6060f637a8 Update getmac to 0.9.5 (#135506) 2025-01-13 14:47:32 +01:00
Shay Levy ba9ad009e9 Fix LG webOS TV trigger validation (#135312)
* Fix LG webOS TV trigger validation

* Raise if not loaded
2025-01-13 15:37:40 +02:00
Norbert Rittel ec5759d3b9 Fix typos "Login" > "Log in" and "Setup" > "Set up" (#135306) 2025-01-13 14:16:25 +01:00
Norbert Rittel c7a5c49a03 Small fixes in the strings file of the azure_data_explorer integration (#135309) 2025-01-13 14:16:00 +01:00
Dave T 9b55faa879 Refactor config flow tests in generic camera (#134385)
Co-authored-by: Dave T <17680170+davet2001@users.noreply.github.com>
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-01-13 14:15:21 +01:00
jesperraemaekers 6fd9476bb9 Refresh token before setting up weheat (#135264) 2025-01-13 14:01:57 +01:00
dotvav d33ee130bc Bump pypalazzetti to 0.1.19 (#135465) 2025-01-13 13:59:34 +01:00
dotvav e1ffd9380d Replace climate fan speed 'silent' with a button (#135075) 2025-01-13 13:51:20 +01:00
Norbert Rittel fc6695b05c Use proper sentence-case for all strings in azure_event_hub (#135328) 2025-01-13 13:47:40 +01:00
Duco Sebel 8f71d7a6f3 Move HomeWizard API initialisation to async_setup_entry (#135315) 2025-01-13 13:35:50 +01:00
Manu 4dbf2b0320 Fix grey dailies with weekly frequency and no weekdays selected in Habitica (#135419) 2025-01-13 13:20:15 +01:00
Austin Mroczek 3aa466806e TotalConnect update quality_scale with documentation updates (#134049) 2025-01-13 13:11:56 +01:00
Lukas Schlötterer 7b63c17101 Add kV and MV unit conversion for voltages (#135396) 2025-01-13 13:00:35 +01:00
Brett Adams dae87db244 Fix when live status is blank in Telsemetry (#130408) 2025-01-13 12:44:36 +01:00
Norbert Rittel fba1b4be5b Replace "click" with "select" to fit for mobile app (#135382) 2025-01-13 12:32:07 +01:00
Mick Vleeshouwer c15073cc27 Fix incorrect cast in HitachiAirToWaterHeatingZone in Overkiz (#135468) 2025-01-13 12:11:01 +01:00
Paul Daumlechner 25041aa02d Add dhcp discovery to velux (#135138)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-13 12:01:04 +01:00
Norbert Rittel 96ad2b6ed8 Replace "Login …" with "Log in …" in two strings of Habitica integration (#135383) 2025-01-13 11:55:55 +01:00
epenet a649ff4a91 Add hassio discovery to onewire (#135294) 2025-01-13 11:55:18 +01:00
Joost Lekkerkerker 1ceebd92a9 Change icon ID name in Lametric (#135368) 2025-01-13 11:48:00 +01:00
Artur Pragacz b009f11013 Fix referenced objects in script sequences (#135499) 2025-01-13 11:40:53 +01:00
Maikel Punie 2d67aca550 Rework velbus services to deprecated the interface parameter (#134816)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-13 11:36:20 +01:00
LG-ThinQ-Integration 98ef32c668 Add remain, running, schedule time sensors to LG ThinQ (#131133)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2025-01-13 11:29:09 +01:00
Erik Montnemery 3a0072d42d Fix typing in zha update entity (#135500) 2025-01-13 11:27:20 +01:00
Maciej Bieniek 86ea68eaec Add missing total active returned energy sensor for Shelly Mini PM Gen3 (#135433)
Add missing total active returned energy sensor for Mini PM Gen3
2025-01-13 11:12:04 +01:00
Michael e67a131bd9 Bump uv to 0.5.18 (#135454) 2025-01-13 09:11:46 +01:00
dependabot[bot] c36d73e469 Bump github/codeql-action from 3.28.0 to 3.28.1 (#135492)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 08:54:42 +01:00
Khole ac279d9794 Replace pyhiveapi with pyhive-integration (#135482) 2025-01-13 08:50:25 +01:00
J. Nick Koston 4e5bf5ac22 Ensure ESPHome cleanups Bluetooth scanner data upon removal (#135470)
* Add bluetooth API to remove scanners that are no longer used

- Cleanup the advertisment history right away when a scanner is removed

In the future we will do some additional cleanup

* coverage

* finish tests

* Ensure ESPHome cleanups Bluetooth scanner data upon removal

needs https://github.com/home-assistant/core/pull/135408
2025-01-12 22:41:49 -05:00
J. Nick Koston 2e5e2c50dd Ensure Shelly cleanups Bluetooth scanner data upon removal (#135472)
* Add bluetooth API to remove scanners that are no longer used

- Cleanup the advertisment history right away when a scanner is removed

In the future we will do some additional cleanup

* coverage

* finish tests

* Ensure Shelly cleanups Bluetooth scanner data upon removal

needs https://github.com/home-assistant/core/pull/135408
2025-01-12 22:41:21 -05:00
J. Nick Koston c9a7afe439 Add bluetooth API to remove scanners that are no longer used (#135408) 2025-01-12 14:03:05 -10:00
Ville Skyttä 0a444de39c Refactor upcloud to use config entry runtime data (#135449) 2025-01-13 01:43:37 +02:00
Ravaka Razafimanantsoa 559c411dd2 Add current and voltage for plugs to switchbot_cloud (#135458)
SwitchBot Cloud: Adding current and voltage for plugs
2025-01-12 18:42:06 +01:00
tronikos 61ea732caa Fix strings for the Google integrations (#135445) 2025-01-12 09:15:33 -08:00
Ravaka Razafimanantsoa 11ebc27bfe Bump switchbot-api to 2.3.1 (#135451) 2025-01-12 17:29:01 +01:00
Manu ccb94ac6a6 Update translations and error messages in Bring! integration (#135455)
* Update translations and error messages

* use placeholder for field name

* change key for translation string
2025-01-12 16:27:31 +01:00
WaterInTheLake ab0dfe304c Fix translation string: numbering in list (#135441) 2025-01-12 14:42:45 +01:00
Norbert Rittel 8b0be70fdd Fix descriptions of send_message action of Bring! integration (#135446)
* Make "Urgent message" selector consistent, use "Bring!" as name

- Replace one occurrence of "bring" with the brand name "Bring!"
- Change description of action to third-person singular for consistency in Home Assistant
- Make all occurrences of the selector "Urgent message" consistent (in sentence case) so they all get consistent translations, too
- Change one related error message to refer to the UI name of the required "Article" field

* Changed ` to '  to avoid Regex problems

* Reverted change to notify_missing_argument_item

Reverted to avoid failing test

* Reverted change to "bring"

* Add "is" to description of "Article"

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

---------

Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-01-12 14:36:23 +01:00
tronikos f7df214dd8 Fix config entries typo s/entruis/entries/ (#135431)
Fix typo s/entruis/entries/
2025-01-12 11:07:45 +01:00
Andrew Sayre 11fa6b2e4e Bump pyheos to 1.0.0 (#135415) 2025-01-11 23:06:06 -06:00
Joost Lekkerkerker 52c57eb2e5 Actually use translated entity names in Lametric (#135381) 2025-01-11 23:15:49 +01:00
Manu 0d85f54e76 Add sensors for inventory items to Habitica (#135331)
Add sensors for inventory items
2025-01-11 21:31:36 +01:00
Norbert Rittel b3af12c9b1 Reword action descriptions for better translations in Teslemetry (#135370)
Slightly reword action descriptions for better translations

Currently only one of the action descriptions in the Teslemetry integration uses the descriptive form of third person plural.

This commit changes the remaining descriptions to adopt the same language and changes "the" to "a" as the actual action target is defined below that in the UI.
2025-01-11 20:15:41 +00:00
Jeff Terrace 6571ebf15b Add additional Tapo ONVIF Person/Vehicle/Line/Tamper/Intrusion events (#135399) 2025-01-11 09:52:46 -10:00
Norbert Rittel 2237ed9af7 Make all three numbered lists consistent, using 1. 1. 1. for the syntax (#135400)
Make all three numbered lists use 1. 1. 1. for the syntax

Currently only two of the setup descriptions of the Nest integration use automatic syntax for a numbered list.

This commit makes the third one consistent, using 1. 1. 1. as well.

This helps translators in Lokalise understand that this is the expected format for all numbered lists in Home Assistant.
2025-01-11 21:44:59 +02:00
YogevBokobza c442935fdd Switcher runner child lock support (#133270)
* Switcher runner child lock support

* fix based on requested changes

* Update homeassistant/components/switcher_kis/switch.py

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

* Fix

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-11 21:01:10 +02:00
Jeff Terrace 6dc9c6819f Add @jterrace to onvif integration owners (#135398) 2025-01-11 19:30:51 +01:00
Shay Levy a745e079e9 Add reconfigure to LG webOS TV (#135360)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-11 16:16:35 +01:00
Markus Lanthaler 19f460614e Enable slowly-changing, important diagnostics for connected devices by default (#134776) 2025-01-11 15:29:31 +01:00
Brett Adams 20d6ba4286 Bump Teslemetry Stream (#135344)
bump
2025-01-11 16:09:53 +02:00
dotvav 4cf7a51a05 Palazzetti Quality Scale update after doc improvement (#135277) 2025-01-11 13:24:00 +01:00
Simon Lamon 8e2b284a7f Add more typings to nmbs sensor (#135359) 2025-01-11 13:04:37 +01:00
Erwin Douna 74c3e9629f Fix Tado config flow (#135353) 2025-01-11 12:52:40 +01:00
Norbert Rittel 907f1e062a Fix spelling of "Log in …" and "API key" in LOQED integration (#135347) 2025-01-11 12:51:56 +01:00
Simon Lamon fd169affd7 Remove code owner for nmbs (#135357) 2025-01-11 12:49:10 +01:00
dependabot[bot] 81c390d3b8 Bump docker/build-push-action from 6.10.0 to 6.11.0 (#135254) 2025-01-11 12:32:30 +01:00
dependabot[bot] d356d4bb82 Bump actions/upload-artifact from 4.5.0 to 4.6.0 (#135255) 2025-01-11 12:31:46 +01:00
Joost Lekkerkerker 4d93fbcb52 Fix backup formatting (#135350) 2025-01-11 11:15:00 +01:00
Simon Lamon b9259b6f77 Add config flow to NMBS (#121548)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-11 10:31:47 +01:00
Norbert Rittel 22b84450e8 Small fixes in setup flow strings, correct sentence-case (#135349) 2025-01-11 10:10:40 +01:00
Norbert Rittel 9ef93517e7 Fix spelling of "Log in", fix "outdated student" (#135348) 2025-01-11 10:00:59 +01:00
J. Nick Koston cdc96fdf6f Add bluetooth subscribe_advertisements WebSocket API (#134291) 2025-01-10 16:49:53 -10:00
Paulus Schoutsen ab8af033c0 Extract resolve announcement media ID for AssistSatelliteEntity (#134917) 2025-01-10 18:33:49 -08:00
J. Nick Koston 619dee5d93 Bump habluetooth to 3.8.0 (#135322)
changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v3.7.0...v3.8.0
2025-01-10 23:50:03 +02:00
Duco Sebel 00c3b8cc3e Use LOGGER from homewizard.const instead per-file loggers (#135320) 2025-01-10 23:49:36 +02:00
Manu bf747bb733 Fix Habitica gems/hourglass sensors (#135323) 2025-01-10 23:47:05 +02:00
Robert Resch 560d15effb Don't store uv's lockfile in hassfest image (#135214) 2025-01-10 21:15:44 +01:00
Quentame 39aa0339ac Bump Freebox to 1.2.2 (#135313) 2025-01-10 21:47:48 +02:00
Norbert Rittel 675cc32534 Fix typos, replace duplicated strings with references (#135303) 2025-01-10 18:21:39 +01:00
Norbert Rittel 31b45e6d3f Fix typos and inconsistent spelling of "tedee" brand name (#135305)
- Change "Setup your tedee locks" to "Set up …"
- Remove two excessive commas
- Change one occurrence of "Tedee" to "tedee".
2025-01-10 18:20:50 +01:00
Shay Levy 6fd4d7acaa Use runtime_data in LG webOS TV (#135301) 2025-01-10 19:16:25 +02:00
Maciej Bieniek c4b4cad335 Bump aioshelly to version 12.3.1 (#135299) 2025-01-10 17:18:00 +01:00
Norbert Rittel 32d3fe714f Grammar and consistency fixes in hdmi_cec strings (#135292) 2025-01-10 16:15:14 +01:00
Manu 6fd0760f25 Add USB-PD Mode select entity to IronOS integration (#134901)
Add USB-PD Mode select entity
2025-01-10 14:07:14 +01:00
Norbert Rittel 59d61104d1 Replace 'entity_id' with UI-friendly, localizable 'entity ID' (#135232)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-10 14:06:58 +01:00
dotvav 028c5349ac Bump pypalazzetti to 0.1.16 (#135269) 2025-01-10 14:06:17 +01:00
Antoine Reversat 9388879b78 Mark FGLAir entities unavailable if they are reporting to be offline (#135202) 2025-01-10 13:24:33 +01:00
Norbert Rittel 246a9f95a3 Smaller grammar fixes, replace 'entity_id' with UI-friendly 'ID' (#135236)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-10 13:23:33 +01:00
Duco Sebel f31f6d7ed0 Adjust HomeWizard to use updated python-homewizard-energy library (#135046) 2025-01-10 13:19:55 +01:00
Shay Levy 1f0eda8e47 Move LG webOS TV actions to entitiy services (#135285) 2025-01-10 13:02:03 +01:00
cdnninja bce7e9ba5e Simplify vesync init loading (#135052) 2025-01-10 12:30:29 +01:00
epenet 475a2fb828 Discover new devices at runtime in onewire (#135199) 2025-01-10 11:53:31 +01:00
epenet 24c70caf33 Improve formatting in component files (#135261)
* Improve formatting in component files

* Apply suggestions from code review
2025-01-10 11:46:15 +01:00
Jan Bouwhuis eba090c9ef Allow to process kelvin as color_temp for mqtt template light (#133957) 2025-01-10 11:43:36 +01:00
epenet b5971ec55d Add model_id and serial_number to onewire device info (#135279) 2025-01-10 11:18:50 +01:00
epenet ad84490541 Fix incorrect test in test_core_config (#135260) 2025-01-10 11:10:23 +01:00
Maikel Punie 033064f832 Velbus light platform code cleanup (#134482) 2025-01-10 11:10:09 +01:00
epenet a2d9920aa9 Fix missing comma in ollama MODEL_NAMES (#135262) 2025-01-10 11:09:49 +01:00
epenet 8386eaa92b Split long strings in stream hls tests (#135271) 2025-01-10 11:09:20 +01:00
epenet aa741a9207 Combine short strings in components (#135265) 2025-01-10 11:07:51 +01:00
Norbert Rittel 024b9ae414 Change 'entity_id' to UI-friendly 'Entity ID', fix spelling of "setpoint" (#135234)
In addition this makes the description of the first action consistent, using third-person singular like the other two and adhering to the HA standard.
2025-01-10 11:06:08 +01:00
epenet 02956f9a83 Improve formatting in component test files (#135267)
Improve formatting in test files
2025-01-10 10:53:45 +01:00
Shay Levy 9d1989125f Fix LG webOS TV media player test coverage (#135225)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-10 10:44:23 +01:00
epenet 04d5cc8f79 Combine short byte strings in xiaomi_ble tests (#135268) 2025-01-10 10:19:28 +01:00
epenet e29ead2a36 Split long strings in components (#135263) 2025-01-10 10:13:36 +01:00
epenet 5df7092f41 Improve formatting in core files (#135256)
* Adjust core files formatting

* Adjust translations script
2025-01-10 09:08:37 +01:00
Norbert Rittel 823feae0f9 Make description of alarm_arm_vacation consistent (#135257)
Small fix to also use "Arms …" in the description of the alarm_arm_vacation action, making it consistent with the other two alarm_arm_… actions.
2025-01-10 08:45:06 +01:00
J. Nick Koston 3c6113e37c Remove per engine max bind vars (#135153) 2025-01-09 22:50:13 +00:00
peteS-UK 139b747a70 Expand Squeezebox auth test for config_flow to finish on create_entry (#133612)
Expand auth test to create_entry
2025-01-09 23:47:53 +01:00
J. Nick Koston da30dbcfe4 Bump fnv-hash-fast to 1.1.0 (#135237) 2025-01-09 12:03:08 -10:00
Simone Chemelli 0deb46295d Refactor Vodafone Station tests (#134956) 2025-01-09 22:22:37 +01:00
Bram Kragten 1abcac5fb5 Update frontend to 20250109.0 (#135235) 2025-01-09 22:13:39 +01:00
J. Nick Koston 3b6f47e438 Bump anyio to 4.8.0 (#135224) 2025-01-09 22:12:34 +01:00
Simone Chemelli 6e1a13f878 Add support for Shelly BLU TRV (#128439)
* feat: add support for Shelly BLU TRV

* chore: apply some fixes

* make BLUTRV a separate device

* apply review comment

* review comments and small optimization

* add HVACMode.OFF

* a couple of fixes

* 2 more fixes

* better approach

* cleanup

* small optimization

* remove cooling as not supported by firmware

* tweaks

* humidity and entity name

* fix naming

* allign async_set_hvac_mode

* align settings

* restore temp

* fix

* remove OFF

* cleanup

* hvac_mode

* add tests

* typo

* more tests

* bump aioshelly
2025-01-09 21:28:36 +01:00
epenet ee865d2f0f Add exception-translations rule to quality_scale pytest validation (#131914)
* Add exception-translations rule to quality_scale pytest validation

* Adjust

* Return empty dict if file is missing

* Fix

* Improve typing

* Address comments

* Update tests/components/conftest.py

* Update tests/components/conftest.py

* Update tests/components/conftest.py

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2025-01-09 21:21:47 +01:00
epenet dd57c75e64 Use remove-prefix/suffix introduced in Python 3.9 (#135206)
Use removeprefix/removesuffix
2025-01-09 21:15:22 +01:00
J. Nick Koston 0cc586a3ac Bump zeroconf to 0.139.0 (#135213) 2025-01-09 19:01:49 +01:00
Brett Adams b6c0257c43 Add streaming sensors to Teslemetry (#132783)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-09 18:58:12 +01:00
Jan Bouwhuis cabdae98e8 Allow to process kelvin as color_temp for mqtt json light (#133955) 2025-01-09 18:34:42 +01:00
Shay Levy 07482de4ab Fix LG webOS TV init test coverage (#135194) 2025-01-09 18:29:17 +01:00
epenet 31719bc84c Refactor onewire hub (#135186)
* Improve type hints in onewire hub

* More cleanups

* Improve

* Get host/port from entry data

* Use DeviceInfo object
2025-01-09 18:17:21 +01:00
Steven B. 1ca5f79708 Use typed config entry in tplink coordinator (#135182) 2025-01-09 17:43:38 +01:00
Ruslan Sayfutdinov a5f70dec96 Make generated files appear as generated (#134991) 2025-01-09 17:26:46 +01:00
Allen Porter 6e111d18ec Allow unregistering LLM APIs (#135162) 2025-01-09 08:18:25 -08:00
Jan Bouwhuis ec37e1ff8d Allow to process kelvin as color_temp for mqtt basic light (#133953) 2025-01-09 16:31:09 +01:00
epenet 8705fd8546 Avoid unnecessary executor calls in onewire (#135187) 2025-01-09 16:11:33 +02:00
Norbert Rittel 050a17db4d Use friendly names in add_to_playlist action, fix "ID" (#134978) 2025-01-09 13:45:32 +01:00
Andre Lengwenus 9dc4597f59 Update module properties on module scan for LCN (#135018) 2025-01-09 13:44:57 +01:00
Arie Catsman 9dd7021d63 No need to set unique_id in enphase_envoy reauth step (#133615)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-01-09 13:31:29 +01:00
Kerey Roper 6a4160bcc4 add support for dimming/brightening X10 lamps (#130196)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-09 13:07:24 +01:00
Norbert Rittel 411d14c2ce Update title and description for setup dialog of thethingsnetwork (#134954) 2025-01-09 13:07:03 +01:00
Joost Lekkerkerker d7315f4500 Add event entities to Overseerr (#134975) 2025-01-09 12:48:09 +01:00
epenet c4ac648a2b Add select platform to onewire (#135181)
* Add select platform to onewire

* Add tests

* Apply suggestions from code review
2025-01-09 12:45:49 +01:00
epenet e9616f38d8 Update scaffold to use internal _PLATFORM constant (#135177) 2025-01-09 12:41:29 +01:00
Steven B. 1550086dd6 Fix stale docstrings in tplink integration (#135183) 2025-01-09 12:37:32 +01:00
beginner2047 8e28b7b49b Add yue language support to Google Translate TTS (#134480) 2025-01-09 12:16:54 +01:00
epenet 4a33b1d936 Set PARALLEL_UPDATES to 0 in onewire (#135178) 2025-01-09 12:15:32 +01:00
epenet 8bfdbc173a Use snapshot_platform helper in onewire tests (#135176)
* Use snapshot_platform helper in onewire tests

* Snapshot device registry
2025-01-09 11:45:29 +01:00
Cyrill Raccaud 3ce4c47cfc Add uuid as unique_id to config entries for Cookidoo (#134831) 2025-01-09 11:28:28 +01:00
Steven B. 0d9ac25257 Add and cleanup tplink translations (#135120) 2025-01-09 11:28:10 +01:00
epenet 15e785b974 Move OneWire PLATFORM constant back to init (#135172) 2025-01-09 11:22:08 +01:00
Antoine Reversat 13527768cc Add outside temperature sensor to fujitsu_fglair (#130717) 2025-01-09 11:21:27 +01:00
Jan-Philipp Benecke 071e675d9d Mark docs-installation-parameters and docs-removal-instructions for inexogy as done (#135126) 2025-01-09 11:21:07 +01:00
epenet 316a61fcde Deprecate raw_value attribute in onewire entity (#135171)
* Drop raw_value attribute in onewire entity

* Deprecate only
2025-01-09 11:20:08 +01:00
Erik Montnemery 9901f3c3dd Add jitter to backup start time to avoid thundering herd (#135065) 2025-01-09 10:53:33 +01:00
J. Nick Koston c9d8c59b45 Bump zeroconf to 0.138.1 (#135148) 2025-01-09 10:33:24 +01:00
Nikolay Vasilchuk 0184d8e954 Deprecate StarLine engine switch attributes (#133958)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-09 10:24:04 +01:00
Brynley McDonald 2f892678f6 Fix Flick Electric Pricing (#135154) 2025-01-09 10:09:04 +01:00
G Johansson fe8cae8eb5 Make devices dynamic in Sensibo (#134935) 2025-01-09 09:02:14 +01:00
G Johansson 64752af4c2 Change minimum SQLite version to 3.40.1 (#135042)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-08 16:34:36 -10:00
G Johansson c5f80dd01d Render select entity unavailable when active feature is missing in Sensibo (#135031) 2025-01-08 22:55:31 +01:00
Quentame 2704090418 Fix Météo-France setup in non French cities (because of failed next rain sensor) (#134782) 2025-01-08 22:51:37 +01:00
Tomer Shemesh f01c860c44 Add support for Lutron Wood Tilt Blinds (#135057) 2025-01-08 22:40:13 +01:00
Shay Levy bb4a497247 Impove LG webOS TV tests quality (#135130)
* Impove LG webOS TV tests quality

* Review comments
2025-01-08 23:12:09 +02:00
Joris Pelgröm 488c5a6b9f Use is in FlowResultType enum comparison in integration scaffold tests (#135133) 2025-01-08 22:10:29 +01:00
Louis Christ acbd501ede Add DataUpdateCoordinator to bluesound integration (#135125) 2025-01-08 22:09:59 +01:00
Shay Levy d06cd1ad3b Set PARALLEL_UPDATES in LG webOS TV (#135135) 2025-01-08 22:08:13 +01:00
Joris Pelgröm 4129697dd9 Add LetPot integration (#134925) 2025-01-08 21:38:52 +01:00
Ståle Storø Hauknes 4086d092ff Add suggested precision for Airthings BLE integration (#134985)
Add suggested precision
2025-01-08 21:05:42 +01:00
Arie Catsman 988a0639f4 Remove enphase_envoy config flow tests that make no sense (#133833) 2025-01-08 20:09:06 +01:00
Steven B. c9c553047c Add quality scale file to tplink integration (#135017) 2025-01-08 20:08:04 +01:00
Arie Catsman f05cffea17 Update enphase_envoy test_init to use str for unique_id and test for loaded config entry (#133810) 2025-01-08 20:06:51 +01:00
Hervé Cauwelier d2a188ad3c Improve holidays config form and naming (#133663)
The holidays library is improving over time, let's make use of their
data for a more user-friendly experience.

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-01-08 17:19:28 +01:00
epenet 02e30edc6c Improve onewire options flow tests (#135109) 2025-01-08 17:00:35 +01:00
G Johansson 0e52ea482f Fix hvac_modes never empty in Sensibo (#135029) 2025-01-08 15:27:26 +01:00
epenet d46be61b6f Split simple and recovery in onewire config-flow user tests (#135102) 2025-01-08 15:25:39 +01:00
epenet f05e234c30 Refactor patching in onewire tests (#135070) 2025-01-08 15:14:51 +01:00
jb101010-2 bc09e825a9 Bump pysuezV2 to 2.0.3 (#135080) 2025-01-08 15:12:56 +01:00
Steven B. 6f6d485530 Raise HomeAssistantError from tplink light effect service (#135081) 2025-01-08 15:12:21 +01:00
Steven B. 63eb27df7b Add PARALLEL_UPDATES constant to tplink integration platforms (#135083) 2025-01-08 15:11:06 +01:00
elmurato da29b2f711 Add quality_scale.yaml to Minecraft Server (#132551) 2025-01-08 15:00:33 +01:00
farkasdi c2f6f93f1d Update addition logger string in fan.py (#135098) 2025-01-08 14:58:50 +01:00
Dawid Pietryga 39143a2e79 Add satel integra switches and alarm control panels unique_id (#129636) 2025-01-08 14:49:43 +01:00
dontinelli 99e65c38b0 Add binary sensors to fyta (#134900)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-08 14:41:33 +01:00
epenet ec7d2f3731 Add quality_scale file to onewire (#134951) 2025-01-08 14:41:20 +01:00
epenet d43187327f Remove rounding from onewire sensors (#135095) 2025-01-08 14:25:05 +01:00
Austin Mroczek 8be01ac9d6 TotalConnect improved config flow and test before setup (#133852)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-08 12:37:04 +01:00
Erik Montnemery e052ab27f2 Fix DSMR migration (#135068) 2025-01-08 11:20:35 +00:00
Shay Levy 43ec63eabc Cleanup LG webOS TV name (#135028) 2025-01-08 12:06:02 +01:00
starkillerOG 7a2a6cf7d8 Add Reolink unexpected error translation (#134807) 2025-01-08 10:58:28 +01:00
puddly eff440d2a8 Fix ZHA "referencing a non existing via_device" warning (#135008) 2025-01-08 10:51:57 +01:00
Andrew Sayre 3fea4efb9f Update pyheos to 0.9.0 (#134947)
Bump pyheos
2025-01-08 10:36:02 +02:00
Matthias Alphart dc1928f3eb Delete KNX config storage when removing the integration (#135071) 2025-01-08 09:35:44 +01:00
epenet f8618e65f6 Improve type hints in onewire tests (#134993) 2025-01-08 09:33:04 +01:00
G Johansson e99aaed7fa Fix climate react type (#135030) 2025-01-08 10:30:14 +02:00
starkillerOG d000558227 Fix channel retrieval for Reolink DUO V1 connected to a NVR (#135035)
fix channel retrieval for DUO V1 connected to a NVR
2025-01-08 10:28:01 +02:00
Thomas55555 7daf442271 Bump aioautomower to 2025.1.0 (#135039) 2025-01-08 10:26:48 +02:00
Cyrill Raccaud b8f458458b Bump cookidoo-api to 0.12.2 (#135045)
fix cookidoo .co.uk countries and group api endpoint
2025-01-08 10:24:09 +02:00
J. Nick Koston 85ecb04abf Bump dbus-fast to 2.28.0 (#135049)
changelog: https://github.com/Bluetooth-Devices/dbus-fast/compare/v2.24.3...v2.28.0
2025-01-08 10:19:03 +02:00
Joakim Sørensen 20db7fdc96 Implement upload retry logic in CloudBackupAgent (#135062)
* Implement upload retry logic in CloudBackupAgent

* Update backup.py

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

* nit

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-01-08 08:16:18 +01:00
Diogo Gomes a1d43b9387 Add weather warning sensor to IPMA (#134054)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-01-07 22:11:24 +00:00
dontinelli de9c05ad53 Add new sensors to fyta (#135032) 2025-01-07 22:01:21 +01:00
Brett Adams a01521b224 Bump pyaussiebb to 0.1.5 (#134943)
Bump
2025-01-07 21:54:39 +01:00
Norbert Rittel 2413bb4f52 Improve Huawei LTE suspend integration service description (#135021) 2025-01-07 19:30:56 -01:00
Steven B. 1496da8e94 Add data description translations to all tplink config flow steps (#135022) 2025-01-07 20:26:00 +01:00
Mick Vleeshouwer 802ad55493 Catch errors in automation (instead of raise unexpected error) in Overkiz (#135026)
Catch errors in automation (instead of raise unexpected error)
2025-01-07 20:24:39 +01:00
Allen Porter 48da88583f Bump voluptuous openapi to 0.0.6 (#134998) 2025-01-07 19:09:11 +01:00
Mick Vleeshouwer 0ab66a4ed1 Improve logic for event polling duration in Overkiz (#133617) 2025-01-07 19:06:57 +01:00
epenet 3b13c5bfdd Move OneWireConfigEntry type definition (#135004) 2025-01-07 19:04:31 +01:00
Kevin Worrel 42532e9695 Add Controller state sensor to screenlogic (#133827) 2025-01-07 19:02:34 +01:00
Luke Lashley 0dd9845501 Add total cleaning count sensor to Roborock (#135015) 2025-01-07 19:01:04 +01:00
Simone Chemelli 3a213b2d17 Use standard "entity_registry_enabled_by_default" fixture (#134962) 2025-01-07 18:21:26 +01:00
epenet d155d93462 Set PARALLEL_UPDATES to 1 in onewire (#135006) 2025-01-07 17:19:48 +01:00
Erik Montnemery 5888b83f22 Validate device id when adding or updating entity registry entry (#134982) 2025-01-07 16:10:51 +00:00
epenet 471f77fea4 Add reconfigure to onewire (#134996)
* Add reconfigure to onewire

* Adjust _async_abort_entries_match
2025-01-07 17:08:53 +01:00
Allen Porter c684b06734 Simplify roborock coordinator (#134700)
* Update roborock coordinator to require maps on startup

* Fix indent in merge
2025-01-07 07:09:32 -08:00
Erik Montnemery 393551d696 Fix DSMR migration (#134990) 2025-01-07 15:42:07 +01:00
Andrew Sayre 24b81df0e6 Update HEOS Quality Scale docs-related items (#134466)
Update docs items
2025-01-07 08:26:42 -06:00
Allen Porter a66cf62b09 Update roborock tests to only load the platform under test (#134694) 2025-01-07 14:08:12 +01:00
epenet 901099325b Set parallel-updates and scan-interval explicitly in onewire (#134953) 2025-01-07 14:06:19 +01:00
epenet 30695cfef5 Simplify onewire config-flow (#134952) 2025-01-07 13:22:16 +01:00
Joakim Sørensen 5d2a8e8208 Increase cloud backup download timeout (#134961)
Increese download timeout
2025-01-07 13:18:02 +01:00
Norbert Rittel 4019045e7b Use sentence case, capitalize "IP Secure" and "ID" (#134966) 2025-01-07 12:08:37 +01:00
Norbert Rittel ec2c8da1c5 Change "id" to uppercase for consistency (#134971) 2025-01-07 12:03:44 +01:00
J. Nick Koston d1e8a2a32d Bump zeroconf to 0.137.2 (#134942) 2025-01-07 10:44:22 +01:00
Kelyan Pegeot Selme feeee2d15e Bump renault-api to 0.2.9 (#134858)
* chore: Bump Renault api version

* Update requirements_all.txt

* Update requirements_test_all.txt
2025-01-07 10:13:40 +01:00
David Rapan 8a052177a4 Update Shelly integration: Remove double "Error fetching ..." from error messages (#134950)
refactor: Remove double "Error fetching" from error messages
2025-01-07 10:12:10 +02:00
Eli Schleifer 875727ed27 add proxy view for unifiprotect to grab snapshot at specific time (#133546)
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-06 13:49:58 -10:00
Raphael Hehl f1c62000e1 UnifiProtect Refactor light control methods to use new API (#134625) 2025-01-06 13:48:22 -10:00
Norbert Rittel e38f21c4ef Fix spelling of "ID", slightly reword action descriptions (#134778) 2025-01-07 00:25:42 +01:00
Franck Nijhof 00c052bb22 Revert "Remove deprecated supported features warning in ..." (multiple) (#134933) 2025-01-07 00:08:02 +01:00
Simone Chemelli 111ef13a3f Add device tracker test for Vodafone Station (#134334) 2025-01-06 23:17:50 +01:00
J. Nick Koston 89c73f56b1 Migrate to using aiohttp-asyncmdnsresolver for aiohttp resolver (#134830) 2025-01-06 12:06:28 -10:00
Paulus Schoutsen d13c14eedb Add support for extra_system_prompt to OpenAI (#134931) 2025-01-06 23:01:13 +01:00
G Johansson 9532e98166 Remove deprecated config entry import from bluesound (#134926) 2025-01-06 22:58:29 +01:00
G Johansson 6884d790ca Remove deprecated hdr switch from reolink (#134924) 2025-01-06 22:46:59 +01:00
G Johansson 6ab45f8c9e Bump holidays to 0.64 (#134922) 2025-01-06 22:45:04 +01:00
Artur Pragacz 7009a96711 Revert "Remove deprecated supported features warning in LightEntity" (#134927) 2025-01-06 22:39:24 +01:00
Josef Zweck a47fa08a9b Add device trackers to enabled_by_default fixture (#134446) 2025-01-06 22:03:32 +01:00
Norbert Rittel 4eb23f3039 Remove excessive newline code, fix "ID", enhance descriptions (#134920) 2025-01-06 20:54:26 +01:00
Klaas Schoute 1c314b5c02 Bump powerfox to v1.2.0 (#134908) 2025-01-06 20:52:54 +01:00
Tomer Shemesh edee58f114 Bump pylutron-caseta to 0.23.0 (#134906) 2025-01-06 20:44:06 +01:00
Manu ef652e57d1 Add bring_api to loggers in Bring integration (#134897)
Add bring-api to loggers
2025-01-06 20:37:01 +01:00
Paulus Schoutsen b956aa68da Handle discovering user configured Wyoming flow (#134916) 2025-01-06 20:26:49 +01:00
Michael 75ce89dc41 Bump py-synologydsm-api to 2.6.0 (#134914)
bump py-synologydsm-api to 2.6.0
2025-01-06 20:08:58 +01:00
Manu a9540e893f Fix wrong power limit decimal place in IronOS (#134902) 2025-01-06 19:55:47 +01:00
Bram Kragten dd5625436b Update frontend to 20250106.0 (#134905) 2025-01-06 19:11:01 +01:00
Paulus Schoutsen 7a484ee0ae Add extra prompt to assist pipeline and conversation (#124743)
* Add extra prompt to assist pipeline and conversation

* extra_prompt -> extra_system_prompt

* Fix rebase

* Fix tests
2025-01-06 12:58:42 -05:00
starkillerOG e5c5d1bcfd Fix Reolink playback of recodings (#134652) 2025-01-06 18:54:32 +01:00
Glenn Reilly 56a9cd010e fix typo "looses" to "loses" in MQTT configuration message (#134894) 2025-01-06 17:59:31 +01:00
Steven B. b7b5577f0c Bump python-kasa to 0.9.1 (#134893)
Bump tplink python-kasa dependency to 0.9.1
2025-01-06 16:58:33 +01:00
Norbert Rittel 0787257cc0 Use uppercase for "ID" and sentence-case for "name" / "icon" (#134890) 2025-01-06 16:30:40 +01:00
Thijs W. 54263f1325 Bump pymodbus version to 3.8.3 (#134809) 2025-01-06 14:56:17 +00:00
Luke Lashley 14d2f2c589 Add extra failure exceptions during roborock setup (#134889)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-06 15:46:21 +01:00
starkillerOG c533f63a87 Add Decorquip virtual motion blinds integration (#134402) 2025-01-06 15:36:38 +01:00
Ludovic BOUÉ cd30f75be9 Matter Battery replacement icon (#134460) 2025-01-06 15:35:42 +01:00
jb101010-2 527775a5f1 Bump pysuezV2 to 2.0.1 (#134769) 2025-01-06 15:27:23 +01:00
Klaas Schoute 99d7f462a0 Add heat meter to Powerfox integration (#134799) 2025-01-06 15:23:47 +01:00
J. Diego Rodríguez Royo 67e2379d2b Iterate over a copy of the list of programs at Home Connect select setup entry (#134684) 2025-01-06 15:21:02 +01:00
Norbert Rittel fb0047ead0 Use correct uppercase for "ID" and sentence-case otherwise (#134815) 2025-01-06 15:15:31 +01:00
Norbert Rittel 9764d704bd Fix a few typos or grammar issues in asus_wrt (#134813) 2025-01-06 15:15:08 +01:00
Norbert Rittel 3690d7c2b4 Fix spelling of "set up", change "id" to uppercase (#134888) 2025-01-06 14:12:52 +00:00
Norbert Rittel 204b5989e0 Replace "id" with "ID" for consistency across HA (#134798) 2025-01-06 15:10:29 +01:00
G Johansson 3892f6d8f3 Remove deprecated binary sensor battery charging from technove (#134844) 2025-01-06 15:03:52 +01:00
J. Diego Rodríguez Royo 140ff50eaf Fix how function arguments are passed on actions at Home Connect (#134845) 2025-01-06 15:03:25 +01:00
Avi Miller 5ef06b1f33 Bump aiolifx-themes to update colors (#134846) 2025-01-06 15:02:57 +01:00
Manu 9638bee8de Bump pynecil to v4.0.1 (#134852) 2025-01-06 14:55:50 +01:00
Norbert Rittel cd88a8cebd Fix missing sentence-casing etc. in several strings (#134775) 2025-01-06 14:53:28 +01:00
G Johansson d896b4e66a Raise ImportError in python_script (#134792) 2025-01-06 14:52:40 +01:00
Robin Wohlers-Reichel e4eb414be8 Bump solax to 3.2.3 (#134876) 2025-01-06 14:47:52 +01:00
Joakim Sørensen fce5be928e Log upload BackupAgentError (#134865)
* Log out BackupAgentError

* Update homeassistant/components/backup/manager.py

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

* Update homeassistant/components/backup/manager.py

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

* Format

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-01-06 14:19:34 +01:00
Joakim Sørensen c4455c709b Log cloud backup upload response status (#134871)
Log the status of the upload response
2025-01-06 13:10:38 +01:00
Allen Porter 2c7a1446b8 Update Roborock config flow message when an account is already configured (#134854) 2025-01-06 11:24:06 +01:00
G Johansson 20cf21d88e Add horizontal swing to Sensibo (#132117)
* Add horizontal swing to Sensibo

* Fixes

* Only load select if already there

* Remove feature check

* Fixes

* Mods

* Last bits

* Mod

* Fixes

* Mods

* Fix test

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-06 11:20:11 +01:00
G Johansson eafbf1d1fd Add get device capabilities action call for Sensibo (#134596)
* Add get device capabilities action call for Sensibo

* Tests

* Mod

* Fix services

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2025-01-06 11:09:08 +01:00
Michael acd95975e4 Make ChunkAsyncStreamIterator an aiohttp helper (#134843)
make ChunkAsyncStreamIterator a generic aiohttp helper
2025-01-06 04:37:07 +01:00
G Johansson bc22e34fc3 Add python_script to strict typing (#134822) 2025-01-05 22:22:54 -05:00
G Johansson bf0cf1c30f Set single_config_entry in System monitor manifest (#134838) 2025-01-05 22:17:08 -05:00
G Johansson e95bfe438b Pass config entry directly to coordinator in System monitor (#134837) 2025-01-05 22:16:58 -05:00
Norbert Rittel 0a457979ec Fix spelling of "ID", slightly reword action description (#134817)
This commit fixes the spelling of "ID" (uppercase for abbreviations) and slightly changes the action description to use third-person singular.

The latter ensures proper (machine) translations, keeping a descriptive style.
2025-01-05 18:36:17 -08:00
Allen Porter 2f295efb3f Update roborock to ensure every room has a name, falling back to a placeholder (#134733)
* Update roborock to ensure every room has a name, falling back to a placeholder

* Change Map to Room
2025-01-05 18:28:17 -08:00
J. Nick Koston 74613ae0c4 Bump habluetooth to 3.7.0 (#134833) 2025-01-05 12:44:37 -10:00
Raphael Hehl 4d4cfabfba Bump uiprotect to version 7.4.1 (#134829) 2025-01-05 11:25:44 -10:00
Norbert Rittel 7ae81bae4c Fix spelling of "ID" in Roku integration (#134779)
* Fix spelling of "ID" and "Ethernet" in Roku integration

Small commit replacing "id" with "ID" and "ethernet" with "Ethernet".

* Revert entity change

Web editor does not support the necessary tests.
2025-01-05 20:21:06 +01:00
Norbert Rittel 7ec10bfd6f Use uppercase "ID" in Home Connect strings (#134783) 2025-01-05 20:19:45 +01:00
cdnninja d662a4465c Remove unneeded vesync device base class (#134499)
* Remove unneeded entity to make code cleaner

* Update light.py

* Update fan.py

* Typing.

* Update homeassistant/components/vesync/common.py

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

* Wrap

---------

Co-authored-by: Allen Porter <allen.porter@gmail.com>
2025-01-05 09:18:52 -08:00
Markus Lanthaler 66b4b24612 Add latest Nighthawk WiFi 7 routers to V2 models (#134765)
Click `WiFi Routers` | `Nighthawk WiFi 7 Router` on https://www.netgear.com/support/ to see the list of devices
2025-01-05 16:59:34 +01:00
TheJulianJES a2077405e2 Bump ZHA to 0.0.45 (#134726) 2025-01-05 16:49:58 +01:00
Lucas Gasenzer f0a1a6c2ad Add ATTR_MODEL to DeviceInfo for Aranet (#134307)
* add ATTR_MODEL to DeviceInfo

* add tests for device context

* Upstream change type.name --> type.model

* fix test to represent model names
2025-01-05 16:16:12 +02:00
Norbert Rittel 32b7b5aa66 Small fixes in the strings file of the Vera integration (#134780)
Just for consistency …
2025-01-05 15:10:32 +01:00
Norbert Rittel 871a7d0dc1 Use uppercase "Chime" for product name, fix "MAC address" (#134748) 2025-01-05 14:31:02 +01:00
Michael da807001ab Register base device entry during coordinator setup in AVM Fritz!Tools integration (#134764)
* register base device entry during coordinator setup

* make mypy happy
2025-01-05 08:16:33 -05:00
Norbert Rittel a104799893 Fix spelling of "MAC (address)" and "Slide" name in slide_local (#134747) 2025-01-05 13:06:48 +01:00
Duco Sebel 45d1624d70 Bumb python-homewizard-energy to 7.0.1 (#134753) 2025-01-05 12:37:06 +01:00
Lucas Gasenzer 1059cf3f07 Bump aranet4 to 2.5.0 (#134752)
update aranet4 to 2.5.0 before pull request
2025-01-05 13:10:08 +02:00
Norbert Rittel dd34a10934 Fix swapped letter order in "°F" and "°C" temperature units (#134750)
Fixes the wrong order "F°" and "C°" for the temperature units.
2025-01-05 10:43:32 +01:00
Klaas Schoute d4f3dd2335 Bump powerfox to v1.1.0 (#134730) 2025-01-05 10:10:55 +01:00
Sid 0ecb1ea8cf Bump openwebifpy to 4.3.1 (#134746) 2025-01-05 10:04:59 +01:00
Sid 3d5a42749d Bump ruff to 0.8.6 (#134745) 2025-01-05 09:47:42 +01:00
Rylie Pavlik a2c2d37eb1 Add support for "Lumin Smart Light" LD-0003 (#133328) 2025-01-04 13:53:16 -10:00
Andrew Sayre f68c16586d Deprecate HEOS sign_in and sign_out actions (#134616) 2025-01-05 00:13:46 +01:00
Norbert Rittel 11d80065ef Fix spelling of "MAC (address)" and "Gateway" name (#134724) 2025-01-05 00:05:15 +01:00
Norbert Rittel 7012648bf8 Fix typos / grammar in nasweb integration (#134721) 2025-01-04 23:23:26 +01:00
Norbert Rittel d96b2499e2 Fix typos / grammar in description of create_task action (#134705) 2025-01-04 23:21:23 +01:00
Norbert Rittel a41bdfe0cc Fix wrong description of group.set action (#134697) 2025-01-04 23:20:30 +01:00
dontinelli 0d3872a4c7 Change from host to ip in zeroconf discovery for slide_local (#134709) 2025-01-04 21:28:47 +01:00
Norbert Rittel 65d8d071dd Remove excessive newline codes from squeezebox strings (#134682) 2025-01-04 18:42:28 +01:00
Allen Porter bb97a16756 Add prompts to MCP server (#134619)
* Add prompts to MCP server

* Improve test coverage for get prompt error cases
2025-01-04 12:35:05 -05:00
Andrew Sayre c9a607aa45 Clean-up HEOS entity event setup (#134683)
* Use async_on_remove

* Remove redundant signal clearing
2025-01-04 12:32:19 -05:00
Allen Porter c7993eff99 Bump gcal_sync to 7.0.0 (#134687) 2025-01-04 12:30:57 -05:00
Cyrill Raccaud 8a880d6134 Cookidoo exotic domains (#134676) 2025-01-04 16:33:42 +01:00
Brynley McDonald cc0fb80481 Fix Flick Electric authentication (#134611) 2025-01-04 16:21:21 +01:00
epenet 276806d3e1 Fix hive color tunable light (#134628) 2025-01-04 16:19:38 +01:00
Franck Nijhof 0589df7d95 Update demetriek to 1.1.1 (#134663) 2025-01-04 16:19:16 +01:00
Joost Lekkerkerker aab676a313 Add Overseerr service to get requests (#134229)
* Add service to get requests

* Add service to get requests

* Add service to get requests

* fix

* Add tests
2025-01-04 15:53:15 +01:00
Joost Lekkerkerker 7f473b8260 Prefer a local webhook for Overseerr (#134667) 2025-01-04 15:39:47 +01:00
Shay Levy fea4a00424 Remove LG WebOS TV legacy uuid migration (#134671) 2025-01-04 15:31:36 +01:00
Cyrill Raccaud 7d146ddae0 Bump cookidoo-api library to 0.11.1 of for Cookidoo (#134661) 2025-01-04 15:02:00 +01:00
Franck Nijhof 8f06e0903f Update peblar to 0.3.3 (#134658) 2025-01-04 14:34:45 +01:00
Maikel Punie 677ba3a6a6 Add velbus cover platform testcases (#134654) 2025-01-04 14:07:25 +01:00
Franck Nijhof a322deaab8 Update twentemilieu to 2.2.1 (#134651) 2025-01-04 14:05:24 +01:00
Franck Nijhof 584439cade Update guppy to 3.1.5 (#134646) 2025-01-04 13:24:33 +01:00
Joost Lekkerkerker baa13debcc Remove call to remove slide (#134647) 2025-01-04 12:56:58 +01:00
Cyrill Raccaud 1d42890748 Set logging in manifest for Cookidoo (#134645) 2025-01-04 12:23:22 +01:00
Norbert Rittel 622d23cadd Fix description of device_id field of reconnect_client actions (#134275) 2025-01-04 12:21:25 +01:00
G Johansson ebeb2ecb09 Replace aioclient_mock in Sensibo tests (#134543) 2025-01-04 12:14:58 +01:00
Norbert Rittel b3cb2928fc Fix typo 'devide_id', use uppercase for abbreviations ID and LED (#134634) 2025-01-04 12:01:39 +01:00
J. Nick Koston b639466453 Bump bleak-esphome to 2.0.0 (#134580) 2025-01-04 11:30:41 +01:00
Teemu R. 69241e4ca6 Mention case-sensitivity in tplink credentials prompt (#134606) 2025-01-04 11:12:46 +01:00
Allen Porter 80371a865e Bump ical to 8.3.0 (#134617)
* Bump ical to 8.3.0

* Update snapshots
2025-01-04 09:49:56 +01:00
Maikel Punie c9dbb205dd Add velbus diagnostics tests (#134621) 2025-01-04 09:10:34 +01:00
Raphael Hehl 197ff932af Bump uiprotect to version 7.2.0 (#134587) 2025-01-04 00:27:06 +01:00
G Johansson 287b7eec13 Clean up docstrings in Sensibo (#134591) 2025-01-04 00:24:51 +01:00
Maikel Punie e6da6d9612 Add velbus light and sensor platform testcases (#134485)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-03 20:42:01 +01:00
peteS-UK d4f38099ae Small fix to allow playing of expandable favorites on Squeezebox (#134572) 2025-01-03 20:28:05 +01:00
Manu 9f2cb7bf56 Add image platform to Habitica integration (#129009) 2025-01-03 20:23:43 +01:00
Maikel Punie 8a84abd50f Velbus diagnostics code cleanup (#134553) 2025-01-03 20:15:58 +01:00
Nerdix b15e08ca9c Add sleep switch for all Foscam cameras if more than 1 camera are configured (#126064) 2025-01-03 20:15:09 +01:00
Norbert Rittel 3fb980901e Improve habitica action descriptions (#134563) 2025-01-03 20:07:30 +01:00
Joost Lekkerkerker bd3a3fd26c Require at least bronze for new integrations (#134537)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2025-01-03 18:14:27 +00:00
Andrew Sayre dfcb977a1d Add HEOS Reauth Flow (#134465) 2025-01-03 18:11:10 +00:00
Abílio Costa 94ad6ae814 Bump whirlpool-sixth-sense to 0.18.11 (#134562) 2025-01-03 17:45:27 +01:00
G Johansson 97aa93f92b Add supported features property in Sensibo (#134479) 2025-01-03 17:30:18 +01:00
G Johansson ee025198e8 Update quality scale for Sensibo (#134551) 2025-01-03 17:28:02 +01:00
puddly 90265e2afd Move SiLabs firmware probing helper from ZHA into homeassistant_hardware (#131586)
* Move firmware probing helper out of ZHA and into hardware

* Add a unit test
2025-01-03 10:57:39 -05:00
Bram Kragten a53554dad3 Update frontend to 20250103.0 (#134561) 2025-01-03 16:36:40 +01:00
Joost Lekkerkerker 2b6ad84cf5 Set Ituran to silver (#134538) 2025-01-03 16:31:31 +01:00
Erik Montnemery 92655fd640 Log cloud backup agent file list (#134556) 2025-01-03 16:30:14 +01:00
Maciej Bieniek e43f72c452 Add support for xvoltage sensor for Shelly Plus UNI (#134261)
* Add support for xvoltage sensor

* Cleaning
2025-01-03 15:27:47 +01:00
Manu 9320ccfa4f Remove deprecated sensors in Habitica integration (#134320)
* Remove deprecated sensors

* remove todos/dailies also from enum
2025-01-03 14:48:26 +01:00
Erik Montnemery 336af8b551 Avoid early COMPLETED event when restoring backup (#134546) 2025-01-03 14:44:24 +01:00
starkillerOG 8a2f8dc736 Add Reolink proxy for playback (#133916) 2025-01-03 14:24:39 +01:00
Erik Montnemery dc048bfcf5 Simplify error handling when creating backup (#134528) 2025-01-03 14:16:05 +01:00
Norbert Rittel fb474827b5 Fix description of google_assistant.request_sync action (#134535) 2025-01-03 14:08:54 +01:00
Markus Adrario eec5fb2133 Add Homee integration to Core (#133738)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-03 13:44:06 +01:00
Erik Montnemery 8ad7c522f4 Add backup as after_dependency of frontend (#134534) 2025-01-03 13:35:56 +01:00
Maikel Punie c7f6630718 Velbus add init testcases (#134533) 2025-01-03 13:29:01 +01:00
Marc Mueller afa95293dc Enable strict typing for pandora (#134536) 2025-01-03 13:23:39 +01:00
G Johansson 36582f9ac2 Refactor all Sensibo tests (#134478)
* Add me json

* Mods

* Mods

* More

* Mods

* Mods

* clean

* last bits

* Fix

* unique id

* return_value

* remove blocking

* Fix rebase
2025-01-03 12:44:47 +01:00
Ståle Storø Hauknes 19852ecc24 Add state_class to Airthings integration (#134503)
Add state class
2025-01-03 11:55:24 +01:00
Manu 5726d090b0 Add get_tasks action to Habitica integration (#127687)
Add get_tasks action
2025-01-03 11:53:30 +01:00
Indu Prakash add401ffcf Add coordinator to vesync (#134087) 2025-01-03 11:33:16 +01:00
Robert Svensson fd12ae2ccd Handle deCONZ color temp 0 is never used when calculating kelvin CT (#134521) 2025-01-03 10:51:20 +01:00
Franck Nijhof e15eda3aa2 Only load Peblar customization update entity when present (#134526) 2025-01-03 10:51:05 +01:00
Dan Raper cc0adcf47f Add switch platform to Ohme (#134347)
Co-authored-by: Joostlek <joostlek@outlook.com>
2025-01-03 10:39:41 +01:00
Franck Nijhof 06580ce10f Update peblar to v0.3.2 (#134524) 2025-01-03 10:37:39 +01:00
Erik Montnemery b78e39da2d Fix activating backup retention config on startup (#134523) 2025-01-03 10:29:29 +01:00
G Johansson 46824a2a53 Add quality scale to Sensibo (#134296) 2025-01-03 10:23:25 +01:00
Joost Lekkerkerker ee01289ee8 Bump python-overseerr to 0.5.0 (#134522) 2025-01-03 10:22:59 +01:00
Erik Montnemery 0bd22eabc7 Improve recorder schema migration error test (#134518) 2025-01-03 10:05:07 +01:00
Erik Montnemery c901352bef Add error prints for recorder fatal errors (#134517) 2025-01-03 10:01:35 +01:00
Joost Lekkerkerker 23ed62c1bc Push Overseerr updates via webhook (#134187) 2025-01-03 08:26:01 +01:00
Paulus Schoutsen 0ef254bc9a Fix backup dir not existing (#134506) 2025-01-03 00:21:19 -05:00
rrooggiieerr 629d108078 Use the latest version of the pyserial-asyncio-fast library (#134501) 2025-01-03 03:15:46 +01:00
Marc Mueller 6f3544fa47 Add types package for pexpect (#134461) 2025-01-03 02:53:08 +01:00
Franck Nijhof cb389d29ea Fix input_datetime.set_datetime not accepting 0 timestamp value (#134489) 2025-01-02 23:45:00 +01:00
Josef Zweck ac26ca2da5 Bump aioacaia to 0.1.13 (#134496) 2025-01-03 00:28:29 +02:00
G Johansson d5bcb73d33 Bump psutil to 6.1.1 (#134494) 2025-01-02 22:45:24 +01:00
Marc Mueller e6a18357db Update pillow to 11.1.0 (#134469) 2025-01-02 22:36:14 +01:00
G Johansson 13ec0659ff Remove deprecated uptime sensor from qnap_qsw (#134493) 2025-01-02 22:29:50 +01:00
G Johansson a7fb20ab58 Remove deprecated attributes from ecovacs (#134492) 2025-01-02 22:19:51 +01:00
G Johansson 657da47458 Remove worldclock config entry import (#134491) 2025-01-02 21:45:20 +01:00
Franck Nijhof a4708876a9 Update peblar to 0.3.1 (#134486) 2025-01-02 21:41:54 +01:00
G Johansson 4239c5b557 Improve error strings in Sensibo (#134487) 2025-01-02 21:19:20 +01:00
G Johansson 836354bb99 Use username as config entry title in Sensibo (#134488) 2025-01-02 21:18:19 +01:00
Norbert Rittel a7af042e57 Fix a few small typos in peblar (#134481) 2025-01-02 21:17:29 +01:00
Franck Nijhof 09476ade82 Remove sneaked in IronOS submodule (#134477) 2025-01-02 20:22:17 +01:00
Andrea Arcangeli 25937d7868 open_meteo: correct UTC timezone handling in hourly forecast (#129664)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-01-02 19:37:36 +01:00
Duco Sebel 4e74d14beb Include host in Peblar EV-Charger discovery setup description (#133954)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-01-02 19:34:51 +01:00
SparkyDan555 309b7eb436 Change Reolink person binary sensor icon (#134472) 2025-01-02 19:18:40 +01:00
Erik Montnemery cf238cd8f7 Don't start recorder if a database from the future is used (#134467) 2025-01-02 18:56:23 +01:00
Robert Resch ee46edffa3 Bump deebot-client to 10.1.0 (#134470) 2025-01-02 18:54:27 +01:00
Erik Montnemery 876b3423ba Improve hassio backup create and restore parameter checks (#134434) 2025-01-02 17:52:50 +01:00
Norbert Rittel 2752a35e23 Remove excessive newline codes from strings.json (#134468) 2025-01-02 17:43:49 +01:00
Craig Andrews 9e8df72c0d Improve is docker env checks (#132404)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Sander Hoentjen <sander@hoentjen.eu>
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Robert Resch <robert@resch.dev>
2025-01-02 17:21:49 +01:00
Bram Kragten 5439613bff Update frontend to 20250102.0 (#134462) 2025-01-02 17:17:57 +01:00
Ілля Піскурьов 3b5455bc49 Add support for specifying hvac_onoff_register value on modbus (#128366)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
2025-01-02 15:18:05 +00:00
Noah Husby 104151d322 Remove deprecated YAML import from MPD (#134459) 2025-01-02 16:08:33 +01:00
Martin Hjelmare a329828bdf Handle backup errors more consistently (#133522)
* Add backup manager and read writer errors

* Clean up not needed default argument

* Clean up todo comment

* Trap agent bugs during upload

* Always release stream

* Clean up leftover

* Update test for backup with automatic settings

* Fix use of vol.Any

* Refactor test helper

* Only update successful timestamp if completed event is sent

* Always delete surplus copies

* Fix after rebase

* Fix after rebase

* Revert "Fix use of vol.Any"

This reverts commit 28fd7a544899bb6ed05f771e9e608bc5b41d2b5e.

* Inherit BackupReaderWriterError in IncorrectPasswordError

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2025-01-02 15:45:46 +01:00
Marc Mueller aa9e721e8b Update pexpect to 4.9.0 (#134450) 2025-01-02 15:36:44 +01:00
Josef Zweck 1b49f88be9 Bump aioacaia to 0.1.12 (#134454) 2025-01-02 15:33:22 +01:00
Marc Mueller c345f2d548 Improve pandora media_player typing (#134447) 2025-01-02 13:55:59 +01:00
Manu 1d731875ae Remove deprecated yaml import from pyLoad integration (#134200) 2025-01-02 13:29:55 +01:00
Erik Montnemery 0c3489c1b3 Adjust language in backup integration (#134440)
* Adjust language in backup integration

* Update tests
2025-01-02 13:29:46 +01:00
Marc Mueller c5865c6d18 Add types package for pyserial (#134444) 2025-01-02 13:21:20 +01:00
Norbert Rittel e1a0fb2f1a Improve action descriptions with some more detail from the docs (#134120)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2025-01-02 12:52:51 +01:00
Erik Montnemery d725cdae13 Initialize AppleTVConfigFlow.identifiers (#134443) 2025-01-02 12:49:03 +01:00
Erik Montnemery e1bd82ea32 Export IncorrectPasswordError from backup integration (#134436) 2025-01-02 12:40:10 +01:00
Thomas55555 4bcc551b61 Add sw_version to apsystems (#134441) 2025-01-02 12:28:48 +01:00
Marc Mueller 08019e76d8 Update types packages (#134433) 2025-01-02 12:00:29 +01:00
Sven Naumann 0b32342bf0 Add mode selector to Twinkly (#134041) 2025-01-02 10:54:29 +00:00
Krzysztof Dąbrowski add4e1a708 Add state attributes translations to GIOS (#134390) 2025-01-02 11:38:12 +01:00
Stefan Agner fb3105bdc0 Improve Supervisor backup error handling (#134346)
* Raise Home Assistant error in case backup restore fails

This change raises a Home Assistant error in case the backup restore
fails. The Supervisor is checking some common issues before starting
the actual restore in background. This early checks raise an exception
(represented by a HTTP 400 error). This change catches such errors and
raises a Home Assistant error with the message from the Supervisor
exception.

* Add test coverage
2025-01-02 11:37:25 +01:00
Norbert Rittel 3845acd0ce Improve names and descriptions in neato.custom_cleaning action (#134399) 2025-01-02 11:04:23 +01:00
Manu b45c68554c Remove habitipy references in Habitica integration (#134419) 2025-01-02 10:47:40 +01:00
G Johansson 8a45aa4c42 Add translations to all Sensibo errors (#134422)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2025-01-02 10:46:55 +01:00
G Johansson 51ccba12af Add action translations to Sensibo (#134420) 2025-01-02 10:45:20 +01:00
John Barreiros c8699dc066 Add current_humidity state attribute to Google Nest climate entity (#134426) 2025-01-02 10:44:15 +01:00
ashionky 87454babfa Add debug log and Optimize code (#134328)
* debug log

* add sw_version hw_version

* log
2025-01-02 09:10:01 +01:00
Andrew Sayre c9ff575628 Add HEOS options flow for optional authentication (#134105)
* Add heos options flow

* Add options flow tests

* Test error condition during options sign out

* Use credentials when setting up

* Update warning instructions

* Simplify exception logic

* Cover unknown command error condition

* Add test for options

* Correct const import location

* Review feedback

* Update per feedback

* Parameterize tests and remaining feedback

* Correct log level in init

* nitpick feedback
2025-01-02 09:07:34 +01:00
G Johansson 877d16273b Fix SQL sensor name (#134414) 2025-01-02 08:51:49 +01:00
Marc Mueller dc5bfba902 Update mypy-dev to 1.15.0a1 (#134416) 2025-01-02 08:45:05 +01:00
TheJulianJES 5e7a405f34 Bump ZHA to 0.0.44 (#134427) 2025-01-02 08:43:38 +01:00
Matthew FitzGerald-Chamberlain 5228f3d85c Improve support for Aprilaire S86WMUPR (#133974) 2025-01-02 08:39:57 +01:00
G Johansson 2efc75fdf5 Add base entity to Mill (#134415) 2025-01-02 07:31:54 +01:00
Michael Hansen a435fd12f0 Bump intents to 2025.1.1 (#134424) 2025-01-01 21:03:17 -05:00
Allen Porter a5d0c3528c Add the Model Context Protocol Server integration (#134122)
* Add the Model Context Protocol Server integration

* Remove unusued code in init

* Fix comment wording

* Use util.uild for unique ids

* Set config entry title to the LLM API name

* Extract an SSE parser and update comments

* Update comments and defend against already closed sessions

* Shorten description

* Update homeassistant/components/mcp_server/__init__.py

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

* Change integration type to service

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2025-01-01 19:38:33 -05:00
Daniel Hjelseth Høyer 5e981d00a4 Add mill number platform (#134044)
* Mill number, max heating power

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

* Mill number, max heating power

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

* Mill number, max heating power

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

* Mill number, max heating power

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

* Mill number, max heating power

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

* type

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

---------

Signed-off-by: Daniel Hjelseth Høyer <github@dahoiv.net>
2025-01-01 23:25:42 +01:00
G Johansson 97dc72a6e2 Move available property to base entity in Sensibo (#134410)
* Move available property to base entity in Sensibo

* Fix test
2025-01-01 23:02:06 +01:00
Maikel Punie 088b097a03 Velbus select platform testcases (#134394) 2025-01-01 17:39:39 +01:00
Jan Bouwhuis 85c94e6403 Calculate number of discovery topics correctly (#134393) 2025-01-01 16:55:41 +01:00
Maikel Punie a2ef1604af Add Velbus climate platform tests (#134387) 2025-01-01 16:01:02 +01:00
Sven Naumann 55dc4b0d2c Implement base entity class for Twinkly (#134382)
* implement base entity class for twinkly

* Update homeassistant/components/twinkly/entity.py

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

* super init

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-01-01 13:49:13 +01:00
Adam Štrauch 18e8a3b185 Add new ID LAP-V201S-AEUR for Vital200S AirPurifier in Vesync integration (#133999) 2025-01-01 13:10:40 +01:00
cdnninja 3a68a0a67f Vesync unload error when not all platforms used (#134166) 2025-01-01 13:03:39 +01:00
Josef Zweck 7ab2d2e07a Cleanup lamarzocco tests (#134383) 2025-01-01 13:00:14 +01:00
Keith 809629c0e2 Add integration for igloohome devices (#130657)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-01-01 12:55:04 +01:00
G Johansson 2be578a33f Add diagnostics to Trafikverket Weatherstation (#134314) 2025-01-01 12:32:35 +01:00
Maikel Punie 5cff79ce50 Add velbus switch platform testcases (#134207) 2025-01-01 12:11:27 +01:00
Brett Adams 513c8487c5 Check vehicle metadata (#134381) 2025-01-01 12:09:15 +01:00
Kenny Root 031de8da51 Bump zabbix-utils to 2.0.2 (#134373) 2025-01-01 11:42:16 +01:00
G Johansson 2e1463b9e9 Add placeholder url to Sensibo api description (#134342) 2024-12-31 20:09:49 -06:00
Norbert Rittel 9a58440296 Use "restore from" in field descriptions of restore_partial action (#134285) 2024-12-31 23:29:15 +01:00
Joost Lekkerkerker 26e0fcdb08 Improve Mealie set mealplan service (#130606)
* Improve Mealie set mealplan service

* Fix

* Fix
2024-12-31 17:06:42 -05:00
Bram Kragten e835e41d59 Update frontend to 20241231.0 (#134363) 2024-12-31 17:04:28 -05:00
Niels Mündler c53c0a13be Bump pysynthru version to 0.8.0 (#134294) 2024-12-31 23:03:35 +01:00
Jan Bouwhuis 8098122dfe Ensure an entity platform is added in mqtt tests (#134331) 2024-12-31 23:01:55 +01:00
starkillerOG 1d6ecbd1d5 Change Reolink test switch entity ID (#134339) 2024-12-31 22:57:43 +01:00
Dan Raper c8276ec325 Bump ohmepy to 1.2.3 (#134348) 2024-12-31 22:54:20 +01:00
Josef Zweck ddfad614ab Bump pylamarzocco to 1.4.6 (#134367) 2024-12-31 22:49:29 +01:00
Norbert Rittel 8eb21749b5 Remove leftover newline codes and periods from strings.json (#134354) 2024-12-31 22:39:07 +01:00
Josef Zweck a6ba25d3d4 Use text selectors for lamarzocco config flow (#134368) 2024-12-31 22:38:31 +01:00
starkillerOG 1e70a0060b Add Reolink baby crying binary sensor (#134290)
* Add baby crying detection

* Bump reolink-aio to 0.11.6
2024-12-31 22:27:01 +01:00
Noah Husby 6c47f03d17 Bump aiorussound to 4.4.0 (#134366) 2024-12-31 22:21:14 +01:00
Markus Jacobsen 2054988790 Add Bang & Olufsen button Event entities (#127550)
* Add button events

* Remove unused common keys
Rename Preset to Favourite

* Add event testing

* Add check for Beoconnect Core

* Rename device controls

* Add test for Beoconnect core event entity creation

* Fix config entry type

* Add a type checking check before assertion

* Add icon translations

* Remove useless defined icons

* Remove base event class

* Update homeassistant/components/bang_olufsen/event.py

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2024-12-31 21:55:24 +01:00
tronikos f1ad3040b8 Allow automations to pass any conversation_id for Google Generative AI (#134251) 2024-12-31 15:52:29 -05:00
Michael Hansen 53ca31c112 Bump hassil to 2.1.0 (#134359) 2024-12-31 15:52:15 -05:00
Michael Hansen 23459a0355 Revert speech seconds to 0.3 (#134360) 2024-12-31 20:04:41 +01:00
Simone Chemelli a8bfe285bf Bump aioshelly to 12.2.0 (#134352) 2024-12-31 17:16:12 +01:00
Noah Husby 0888d1a169 Bump aiorussound to 4.3.0 (#134242)
* Bump aiorussound to 4.3.0

* Force CI
2024-12-31 16:14:24 +01:00
Dave T 8b20272272 Refactor and simplify config flow in generic camera (#134330)
Refactor and simplify config flow
2024-12-31 07:05:50 -08:00
Bram Kragten 06b33e5589 Set backup manager state to completed when restore is finished (#134283) 2024-12-31 15:01:06 +01:00
Brynley McDonald 9348569f90 Update Flick Electric API (#133475) 2024-12-31 14:28:24 +01:00
starkillerOG 4a9d545ffe Bump reolink-aio to 0.11.6 (#134286) 2024-12-31 10:31:40 +01:00
Simone Chemelli 277ee03145 Full test coverage for Vodafone Station sensor platform (#133285)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-12-31 09:55:54 +01:00
Norbert Rittel 6c9c17f129 Update description of the script toggle action (#134093) 2024-12-31 07:07:52 +00:00
Dave T bf59241dab Add stream preview to options flow in generic camera (#133927)
* Add stream preview to options flow

* Increase test coverage

* Code review: use correct flow handler type in cast

* Restore test coverage to 100%

* Remove error and test that can't be triggered yet
2024-12-30 15:46:42 -08:00
Indu Prakash 57b7635b70 Bump pyvesync to 2.1.15 (#134156)
Bumped pyvesync to 2.1.15
2024-12-30 23:33:41 +01:00
G Johansson 4b96266647 Set parallel updates in Trafikverket Train (#134302) 2024-12-30 23:18:35 +01:00
G Johansson 6266a4153d Explicitly set config entry in Trafikverket Train coordinator (#134304) 2024-12-30 23:18:22 +01:00
G Johansson a9949a0aab Use typed config entry everywhere in Trafikverket Train (#134303) 2024-12-30 23:17:21 +01:00
G Johansson 428a74fa48 Explicitly set config entry in Trafikverket Ferry coordinator (#134305) 2024-12-30 23:17:04 +01:00
G Johansson 9f1023b195 Explicitly set config entry in Trafikverket Weatherstation coordinator (#134310) 2024-12-30 23:16:41 +01:00
G Johansson 256fc54aa1 Set parallel updates in Trafiverket Weatherstation (#134309) 2024-12-30 23:16:16 +01:00
G Johansson 94c1b9a434 Use typed config entry everywhere in Trafikverket Weatherstation (#134308) 2024-12-30 23:15:54 +01:00
G Johansson 275c15e2ae Set parallel updates in Trafikverket Ferry (#134301) 2024-12-30 22:50:47 +01:00
G Johansson 9cdbcd93cd Use typed config entry everywhere in Trafikverket Ferry (#134300) 2024-12-30 22:48:33 +01:00
G Johansson f2e856b8a2 Use typed config entry in Trafikverket Camera (#134299) 2024-12-30 22:48:22 +01:00
G Johansson 820f04e1e1 Add parallel updates to camera platform in Trafikverket Camera (#134298) 2024-12-30 22:48:12 +01:00
Noah Husby b7541f098c Add discovery to Russound RIO (#134245) 2024-12-30 22:46:08 +01:00
Norbert Rittel a345e80368 Replace unnecessary abbreviations in set_room_temperature action (#134278) 2024-12-30 21:28:38 +01:00
Norbert Rittel 7a3d9a9345 Replace "service" with "action" (#134279) 2024-12-30 21:26:53 +01:00
Dan Raper a0fb6df5ba Add battery sensor to ohme (#134222)
* Add battery sensor to ohme

* Forgot the snapshots!

* Add translation key to battery

* Change car to vehicle and fix snapshot tests

* Fix snapshot again - not sure what was going on with my local dev env
2024-12-30 20:15:11 +01:00
Bram Kragten 04020d5a56 Update frontend to 20241230.0 (#134284) 2024-12-30 20:04:50 +01:00
Norbert Rittel f785b17314 Fix two descriptions of yeelight actions (#134282) 2024-12-30 19:22:12 +01:00
Andrew Jackson 6631c57cfb Bump aiomealie to 0.9.5 (#134274) 2024-12-30 17:47:58 +01:00
Norbert Rittel bc76dc3c34 Remove excessive period at end of action name (#134272) 2024-12-30 16:22:30 +01:00
Ludovic BOUÉ ea4931ca3a Bump Python Matter server to 7.0.0 (Matter 1.4) (#132502)
* Matter 1.4 rename BridgedDevice device type

BREAKING change in the client: BridgedDevice is renamed to BridgedNode in the device types with Matter 1.4

* `ColorMode` enum type is renamed to `ColorModeEnum`

* Item `ColorTemperature` renamed to `ColorTemperatureMireds`

* Update ColorControl bitmaps and attributes

* Bump Python Matter server to 7.0.0 (Matter 1.4)

* Bump requirements to Python Matter server to 7.0.0
2024-12-30 15:41:14 +01:00
Arne Keller dd20204bf0 ollama: update to 0.4.5 (#134265) 2024-12-30 14:42:46 +01:00
Norbert Rittel ef46c62bc6 Make triggers and condition for monetary sensor consistent (#131184) 2024-12-30 13:47:16 +01:00
Alberto Geniola 2bb6e03a36 Bump elmax-api (#133845) 2024-12-30 13:46:53 +01:00
G Johansson 2288f89415 Fix duplicate sensor disk entities in Systemmonitor (#134139) 2024-12-30 13:38:48 +01:00
Josef Zweck e7ab5afc14 Bump pylamarzocco to 1.4.5 (#134259)
* Bump pylamarzocco to 1.4.4

* Bump pylamarzocco to 1.4.5

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-30 12:27:32 +01:00
Adam Goode 4db88dfaff Quickly process unavailable metrics in Prometheus (#133219) 2024-12-30 12:05:33 +01:00
Joost Lekkerkerker 906c95048c Record LG WebOS TV Quality scale (#133732)
Co-authored-by: Shay Levy <levyshay1@gmail.com>
2024-12-30 11:45:44 +01:00
Manu df38c1b1d7 Remove deprecated yaml import from OTP integration (#134196) 2024-12-30 11:12:16 +01:00
tronikos af97bf1c5f Fix 400 This voice does not support speaking rate or pitch parameters at this time for Google Cloud Journey voices (#134255) 2024-12-30 09:20:35 +01:00
tronikos a7c2d96ecf Avoid KeyError for ignored entries in async_step_zeroconf of Android TV Remote (#134250) 2024-12-30 10:13:51 +02:00
Noah Husby 1b06b4e45b Remove unused translations from Russound RIO (#134246) 2024-12-30 10:11:37 +02:00
Manu b74b9bc360 Bump habiticalib to v0.3.2 (#134244) 2024-12-30 10:10:18 +02:00
Brett Adams 810689ce66 Handle missing application credentials in Tesla Fleet (#134237)
* Handle missing application credentials

* Add tests

* Test reauth starts

* Only catch ValueError
2024-12-29 22:21:18 -08:00
G Johansson 249d93574a Set Scrape sensor unavailable when errors (#134143) 2024-12-29 22:59:57 +01:00
Michael e2c59f276a Bump aiopegelonline to 0.1.1 (#134230)
bump aiopegelonline to 0.1.1
2024-12-29 21:36:49 +01:00
Manu 9804e8aa98 Add reauth flow to Habitica integration (#131676)
* Add reauth flow to Habitica integration

* tests, invalid_credentials string

* test only api_key

* section consts

* test config entry

* test reauth is triggered

* set reauthentication-flow to done

* use consts in tests

* reauth_entry

* changes

* fix import

* changes
2024-12-29 21:12:36 +01:00
Paul Daumlechner 53e69af088 Bump pyvlx to 0.2.26 (#115483) 2024-12-29 10:00:26 -10:00
tronikos 1530edbe20 Bump opower to 0.8.7 (#134228)
* Bump opower to 0.8.7

* update deps
2024-12-29 11:44:33 -08:00
Paulus Schoutsen 7dbf32d693 Bump frontend to 20241229.0 (#134225) 2024-12-29 13:35:46 -05:00
Michael Hansen 49646ad994 Bump VoIP utils to 0.2.2 (#134219) 2024-12-29 11:56:27 -06:00
G Johansson 1e652db37f Use config entry runtime data in Open-Meteo (#134198) 2024-12-29 18:16:41 +01:00
Dan Raper 88d366b0c5 Add slot list service to ohme (#134170)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-29 18:07:12 +01:00
Lucas Gasenzer 65147f8d4c Fix Wake on LAN Port input as Box instead of Slider (#134216) 2024-12-29 18:03:41 +01:00
Simone Chemelli 52b919101a Bump aiocomelit to 0.10.1 (#134214) 2024-12-29 17:30:52 +01:00
Aaron Bach 24fd74d839 Change SimpliSafe websocket reconnection log to DEBUG-level (#134063)
* Change SimpliSafe websocket reconnection log to `DEBUG`-level

* revert
2024-12-29 11:23:44 -05:00
Marc Mueller 2599faa622 Fix method subtyping [helpers] (#134213) 2024-12-29 17:16:38 +01:00
Marc Mueller 3df91cfba5 Fix method subtyping [recorder] (#134212) 2024-12-29 17:16:11 +01:00
Marc Mueller d3fab42c85 Fix method subtyping [knx] (#134211) 2024-12-29 16:41:23 +01:00
Marc Mueller beb881492a Fix method subtyping [elkm1] (#134210) 2024-12-29 16:40:51 +01:00
Matthias Alphart 9d7c7f9fcf Update knx-frontend to 2024.12.26.233449 (#134184) 2024-12-29 16:39:37 +01:00
Shay Levy 419307a7c4 Bump aioswitcher to 6.0.0 (#134185) 2024-12-29 15:42:33 +01:00
G Johansson 409dc4ad48 Move coordinator to own file in Open-Meteo (#134197) 2024-12-29 15:25:40 +01:00
Michael 7704ef95a4 Make feedreader recoverable (#134202)
raise ConfigEntryNotReady on connection errors during setup
2024-12-29 15:08:15 +01:00
Manu 0db07a033b Migrate Habitica integration to habiticalib (#131032)
* Migrate data to habiticalib

* Add habiticalib to init and coordinator

* Migrate Habitica config flow to habiticalib

* migrate init to habiticalib

* migrate buttons to habiticalib

* migrate switch to habiticalib

* update habiticalib

* cast_skill action

* migrate update_score

* migrate transformation items action

* migrate quest actions

* fix fixture errors

* Migrate coordinator data and content

* bump habiticalib

* Remove habitipy and use wrapper in habiticalub

* changes

* some fixes

* minor refactoring

* class_needed annotation

* Update diagnostics

* do integration setup in coordinator setup

* small changes

* raise HomeAssistantError for TooManyRequestsError

* fix docstring

* update tests

* changes to tests/snapshots

* fix update_todo_item
2024-12-29 15:00:31 +01:00
Joost Lekkerkerker 4717eb3142 Bump python-overseerr to 0.4.0 (#134192) 2024-12-29 15:46:30 +02:00
Joost Lekkerkerker c23f5c9f2c Make elevenlabs recoverable (#134094)
* Make elevenlabs recoverable

* Add tests for entry setup

* Use the same fixtures for setup and config flow

* Update tests/components/elevenlabs/test_setup.py

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

---------

Co-authored-by: Simon Sorg <simon.sorg@student.hpi.de>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Simon <80467011+sorgfresser@users.noreply.github.com>
2024-12-29 14:26:59 +01:00
Michael 873b078bb3 Make PEGELONLINE recoverable (#134199) 2024-12-29 14:07:45 +01:00
Manu 0dd93a18c5 Add button platform to IronOS integration (#133678)
* Add button platform to IronOS integration

* Add tests

* load platform

* refactor

* update tests
2024-12-29 12:39:13 +01:00
Maikel Punie da96e2077b Add Velbus Button tests (#134186)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-29 11:55:52 +01:00
Manu 1d69cf11a5 Bump pynecil to v3.0.1 (#134174) 2024-12-29 10:06:29 +02:00
Manu adb1fbbbc4 Add switch platform to IronOS integration (#133691)
* Add switch platform

* Add tests

* prevent switch bouncing

* some changes

* icons

* update tests

* changes
2024-12-28 21:59:06 +01:00
G Johansson 645f2e44b9 Fix Nord Pool empty response (#134033)
* Fix Nord Pool empty response

* Mods

* reset validate prices
2024-12-28 21:38:04 +01:00
Artur Pragacz b3aede611a Fix Onkyo volume rounding (#134157) 2024-12-28 21:34:01 +01:00
jb101010-2 72a96249b1 Suez_water: clear quality scale (#134027)
* Suez_water: clear quality scale

Revert invalid done rules and mark inapplicable ones as exempted.

* Mark entity disabled as todo

* Mark devices as todo

* missing push

* Update homeassistant/components/suez_water/quality_scale.yaml

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

* Update quality_scale.yaml

* Update quality_scale.yaml again

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2024-12-28 20:59:11 +01:00
Joost Lekkerkerker 80dbce14ec Add binary sensor to Tile (#134153) 2024-12-28 16:49:14 +01:00
Manu 0376f75ee3 Bump pynecil to v3.0.0 (#134151) 2024-12-28 16:48:28 +01:00
jb101010-2 e58bd62c68 Suez_water: use meter id as unique_id (#133959)
* Suez_water: use meter id as unique_id

* Review fixes

* No more afraid check :)

* review again

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-12-28 16:25:10 +01:00
Matthias Alphart 6dbcd130b0 Add quality_scale.yaml for KNX (#133937)
* Add quality_scale.yaml

* Update quality_scale.yaml
2024-12-28 16:24:49 +01:00
Andrew Jackson 4639f57014 Remove deprecated Mastodon yaml config import (#134040)
* Remove Mastodon yaml import

* Revert removal of async_migrate_entry
2024-12-28 16:22:32 +01:00
G Johansson 4080455c12 Use x,y in roborock action call (#134133)
* Use x,y in roborock action call

* Fix description
2024-12-28 16:12:09 +01:00
Joost Lekkerkerker df7d518f38 Add versions to Tile device (#134150)
* Add versions to Tile device

* Add versions to Tile device
2024-12-28 16:04:36 +01:00
Joost Lekkerkerker 47adfb574f Bump python-overseerr to 0.3.0 (#134147)
Bump Overseerr to 0.3.0
2024-12-28 15:44:15 +01:00
Joost Lekkerkerker 4c5d0c2ec4 Add Tile device tracker tests (#134137) 2024-12-28 15:36:56 +01:00
G Johansson 4febe43021 Add missing device classes in scrape (#134141) 2024-12-28 15:36:23 +01:00
Maikel Punie af13979855 Add Velbus binary sensor tests (#134132)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-28 14:57:48 +01:00
Marc Mueller d9f2140df3 Add ClassVar annotation for singleton patterns (#134135) 2024-12-28 13:17:15 +01:00
Joost Lekkerkerker cc80108629 Bump yt-dlp to 2024.12.23 (#134131) 2024-12-28 13:13:07 +01:00
Joost Lekkerkerker 16af76b968 Add Tile device tests (#134138) 2024-12-28 13:10:13 +01:00
Joost Lekkerkerker 590f0ce61f Refactor Tile tests (#134130) 2024-12-28 12:37:21 +01:00
Allen Porter 14059c6df8 Remove unused parameters from function calls in rainbird (#134124)
Remove unused parameters from rainbird function calls
2024-12-28 11:34:27 +00:00
Joost Lekkerkerker 268c21addd Add Overseerr integration (#133981)
* Add Overseerr integration

* Add Overseerr integration

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix

* Fix
2024-12-28 11:50:36 +01:00
Andre Lengwenus 565fa4ea1f Remove incorrect device check in LCN events (#134116) 2024-12-28 09:26:49 +01:00
Raj Laud 28cd7f2473 Bump pysqueezebox to v0.11.1 (#134097) 2024-12-28 09:24:22 +01:00
Noah Husby aceb1b39ba Add mute support to Russound RIO (#134118) 2024-12-28 09:22:13 +01:00
Allen Porter 6edf06f8a4 Converge stream av open methods, options, and error handling (#134020)
* Converge stream av open methods, options, and error handling

* Remove exception that is never thrown

* Update exceptions thrown in generic tests

* Increase stream test coverage
2024-12-27 18:47:33 -08:00
Noah Husby 07ae9b15d0 Bump aiorussound to 4.2.0 (#134117) 2024-12-27 18:23:57 -08:00
G Johansson d676169b04 Cleanup devices in Nord Pool from reconfiguration (#134043)
* Cleanup devices in Nord Pool from reconfiguration

* Mods

* Mod
2024-12-27 21:33:37 +01:00
Noah Husby 24ce3d7daa Remove deprecated yaml import for Russound RIO (#134072) 2024-12-27 21:27:33 +01:00
Joost Lekkerkerker 417e736746 Migrate Tile to use entry.runtime_data (#134107) 2024-12-27 21:25:36 +01:00
Cyrill Raccaud bb8d4ca255 Add unit test for sensors in swiss public transport (#134115)
* add unit test for sensors

* clean up
2024-12-27 21:21:45 +01:00
Joost Lekkerkerker 375af6cb1c Introduce base entity for Tile (#134109) 2024-12-27 21:18:01 +01:00
Jan Bouwhuis 263e0acd3a Set PARALLEL_UPDATES for incomfort entity platforms (#134110) 2024-12-27 20:43:30 +01:00
Erwin Douna da531d0e4e Bump Tado to 0.18.5 (#133988) 2024-12-27 20:26:19 +01:00
Joost Lekkerkerker 844e36c8fe Bump python-homeassistant-analytics to 0.8.1 (#134101) 2024-12-27 20:21:12 +01:00
Joost Lekkerkerker 9976c07f89 Remove YAML import from Tile (#134108) 2024-12-27 20:15:48 +01:00
Aaron Bach 7df9d2e938 Bump pytile to 2024.12.0 (#134103) 2024-12-27 20:04:35 +01:00
Joost Lekkerkerker 52318f5f37 Extract Tile coordinator in separate file (#134104) 2024-12-27 19:30:13 +01:00
Joost Lekkerkerker b9c2b3f7e3 Remove Tile unique id migration (#134106) 2024-12-27 19:25:10 +01:00
Andrew Sayre a9ff5b8007 Bump pyheos to v0.8.0 (#134069)
Bump pyheos and update usage
2024-12-27 11:01:35 -06:00
Joost Lekkerkerker 7076ba7c9d Make google tasks recoverable (#134092) 2024-12-27 08:52:33 -08:00
Josef Zweck 5e0088feaa Add azure_data_explorer to microsoft brand (#134088) 2024-12-27 15:36:07 +01:00
Franck Nijhof f8399b2c0f Revert "Add state_class to EcoWittSensorTypes.DEGREE" (#134079) 2024-12-27 13:17:47 +01:00
Matthias Alphart 415fdf4956 Fix KNX config flow translations and add data descriptions (#134078)
* Fix KNX config flow translations and add data descriptions

* Update strings.json

* typo
2024-12-27 12:59:52 +01:00
Noah Husby ad89004189 Remove timeout from Russound RIO initialization (#134070) 2024-12-27 11:01:10 +01:00
Noah Husby b6afbe4b29 Bump aiorussound to 4.1.1 (#134058)
* Bump aiorussound to 4.1.1

* Trigger Build

* Trigger Build
2024-12-26 22:03:50 -06:00
Cyrill Raccaud 402340955e Fix swiss public transport line field none (#133964)
* fix #133116

The line can theoretically be none, when no line info is available (lets say walking sections first?)

* fix line field

* add unit test with missing line field
2024-12-27 00:24:47 +01:00
Raphael Hehl b2a160d926 Roborock Add vacuum_goto service (#133994)
* Roborock Add vacuum_goto service to control vacuum movement to specified coordinates

* roborock Add type specification for x_coord and y_coord in vacuum_goto service

* roborock Add get_current_position service to retrieve vacuum's current coordinates

* Rename vacuum services for clarity and consistency

* Apply suggestions from code review

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

* Add integration field to vacuum service targets for Roborock

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-12-27 00:20:09 +01:00
Thomas Kunzfeld 9840785363 Add state_class to EcoWittSensorTypes.DEGREE (#134004)
Add state_class to EcoWittSensorTypes.DEGREE (#129260)
2024-12-27 00:12:54 +01:00
jb101010-2 a53c92d4b5 Suez_water: remove redundant log on refresh failure (#134025)
Suez_water: remove redundent log on refresh failure
2024-12-27 00:05:28 +01:00
Marc Mueller adc97b6c15 Fix unifiprotect DeprecationWarnings in tests (#134060) 2024-12-26 23:50:03 +01:00
Jan Bouwhuis 7b2a5d0684 Remove mqtt publish templates after 6 months of deprecation (#134056) 2024-12-26 23:25:44 +01:00
Diogo Gomes acb511d395 Bump pyipma to 3.0.8 (#134055)
bump pyipma
2024-12-26 21:01:53 +00:00
Norbert Rittel c025390c6c Replace "service" with "action" plus fixed descriptions (#134053) 2024-12-26 15:39:18 -05:00
J. Nick Koston 942fbdedcf Ensure all states have been migrated to use timestamps (#134007) 2024-12-26 07:48:55 -10:00
Allen Porter 3bfb6707e9 Fix Nest ConfigEntry typing (#134021) 2024-12-26 09:27:20 -08:00
Norbert Rittel 5172139579 Use correct uppercase for abbreviations (#134028)
Fix the spelling of "SSDP" and "MAC" (address) to ensure proper translations.
2024-12-26 11:09:30 +01:00
Norbert Rittel cfb43c7b58 Fix typo in get_command action description (#134026) 2024-12-26 09:56:08 +01:00
Allen Porter 45657ece7c Improve Google Tasks error messages (#134023) 2024-12-26 09:53:20 +01:00
Erwin Douna f7fe2f2122 Tado update code owners (#133987)
Update code owners
2024-12-26 09:13:24 +01:00
Allen Porter c75222e63c Bump python-google-nest-sdm to 7.0.0 (#134016)
Update python-google-nest-sdm to 7.0.0
2024-12-26 00:03:44 -05:00
Brett Adams 299250ebec Bump Tesla Fleet API library (#134019)
Bump Tesla Fleet
2024-12-25 23:26:55 -05:00
Josef Zweck ed8e242049 Bump pylamarzocco to 1.4.3 (#134008) 2024-12-25 16:25:13 -08:00
Cyrill Raccaud 95e4a40ad5 Update silver docs for swiss public transport (#134001)
update docs
2024-12-25 21:36:30 +01:00
Christopher Fenner e61717ce7a Fulfill IQS rule docs-removal-instructions in ViCare integration (#133982)
update iqs state
2024-12-25 15:30:33 +01:00
Cyrill Raccaud 73b6bd8bd3 Add config flow data description to swiss public transport (#133997)
* add config flow data description

* improve strings
2024-12-25 15:20:09 +01:00
Cyrill Raccaud 60774c69cd Add clear shopping list button for Cookidoo (#133583)
* add clear button

* set clear button to disabled per default

* add actions exception
2024-12-25 14:58:19 +01:00
Cyrill Raccaud c383b41a12 Add parallel updates to swiss public transport (#133996)
add parallel updates
2024-12-25 14:55:34 +01:00
J. Nick Koston 05a8b773b9 Bump numpy to 2.2.1 (#133844)
* Bump numpy to 2.2.1

changelog: https://github.com/numpy/numpy/compare/v2.2.0...v2.2.1

* make sure ninja is up to date

* Revert "make sure ninja is up to date"

This reverts commit a26dd8b768308c04b70ecaeb7700b40ff233c1c8.

* test

* Revert "test"

This reverts commit 972f40e3ee263a2c7ce8185fd13752be4e8bcdde.

* try a single build

* try a single build

* Revert "Revert "test""

This reverts commit ec282ce021c73d7fcf76df570e40857c1e70304e.

* Revert "Revert "Revert "test"""

This reverts commit 315599cbaee44f069b842c9da083de8d2999c7ab.

* Revert "try a single build"

This reverts commit 63529dd2c5e743b9ea84e80a6afd921f9e2ef52f.

* Revert "try a single build"

This reverts commit 7058ae928882050f85a08133840f811d33913e92.
2024-12-25 11:27:00 +02:00
G-Two 1bee423c22 Bump subarulink to 0.7.13 (#133970) 2024-12-25 10:13:04 +02:00
Marc Mueller 687afd23bc Add pip wheel build constraints to fix numpy builds (#133962) 2024-12-24 15:06:21 -10:00
cdnninja 0020c48a15 Update pyvesync version (#131433) 2024-12-24 17:51:40 +01:00
Bram Kragten 760cbcc596 Update frontend to 20241224.0 (#133963) 2024-12-24 16:41:36 +01:00
Philipp Danner da8f4e5b57 fix "Slow" response leads to "Could not find a charging station" #124129 (#133889)
fix #124129
2024-12-24 14:00:34 +01:00
Claudio Ruggeri - CR-Tech 5c0659c8df Fix reload modbus component issue (#133820)
fix issue 116675
2024-12-24 13:57:18 +01:00
Marc Mueller 15806c2af6 Update Jinja2 to 3.1.5 (#133951) 2024-12-24 13:44:09 +01:00
Maikel Punie 97d8d16cc5 Bump velbusaio to 2024.12.3 (#133939) 2024-12-24 12:35:22 +02:00
Khole 33435fa36f Hive: Fix error when device goes offline (#133848) 2024-12-24 10:42:35 +01:00
Joost Lekkerkerker 6fc1cfded9 Use SignedSession in Xbox (#133938) 2024-12-24 10:17:02 +01:00
Franck Nijhof a9d6a42781 Update apprise to v1.9.1 (#133936) 2024-12-24 10:15:21 +01:00
Kevin Worrel f2a706ecf7 Make screenlogic state enums lowercase (#133866) 2024-12-24 09:12:18 +01:00
G-Two 4a2ae7f6fd Stop using shared aiohttp client session for Subaru integration (#133931) 2024-12-24 08:59:51 +01:00
Franck Nijhof 771ead9d7b Prevent imports from tests in core codebase (#133928)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-24 08:40:05 +01:00
Jordi 2d5e2aa4b4 Add Harvey virtual integration (#133874)
Add harvey virtual integration
2024-12-24 08:01:50 +01:00
Franck Nijhof 6f11524b84 Remove myself as codeowner from Tuya integration (#133921) 2024-12-24 07:55:44 +01:00
Dave T 561f319e3b Fix missing % in string for generic camera (#133925)
Fix missing % in generic camera string
2024-12-24 07:45:13 +01:00
Franck Nijhof 0c9ec4b699 Fix Peblar import in data coordinator (#133926) 2024-12-24 07:42:48 +01:00
Brett Adams cbb2930805 Slow down polling in Teslemetry (#133924) 2024-12-24 01:59:36 +01:00
Franck Nijhof aa29a93fbe Remove myself as codeowner from Plugwise (#133920) 2024-12-24 01:34:23 +01:00
J. Nick Koston ff4ba553c4 Sort integration platforms preload list (#133905)
* Sort integration platforms preload list

https://github.com/home-assistant/core/pull/133856#discussion_r1895385026

* sort

* Sort them all

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-12-23 23:38:59 +01:00
Thomas55555 2f101c5054 Catch ClientConnectorError and TimeOutError in APSystems (#132027) 2024-12-23 22:49:59 +01:00
karwosts 72e2b835d9 Fix a history stats bug when window and tracked state change simultaneously (#133770) 2024-12-23 22:47:26 +01:00
Martin Mrazik 8f6e4cd294 Map RGB+CCT to RGB for WLED (#133900) 2024-12-23 22:26:38 +01:00
Mick Vleeshouwer bd0edd4996 Revise codeowners for Overkiz (#133784) 2024-12-23 22:24:22 +01:00
J. Nick Koston 3f441e7090 Ensure cloud and recorder backup platforms do not have to wait for the import executor (#133907)
* Ensure cloud and recorder backup platforms do not have to wait for the import executor

partially fixes #133904

* backup.backup as well
2024-12-23 22:19:28 +01:00
Abílio Costa 253098d79c Mark missing IQS requirements for Idasen Desk as done (#133910) 2024-12-23 21:38:27 +01:00
Abílio Costa 53ebf84339 Add cronsim to default dependencies (#133913) 2024-12-23 21:34:36 +01:00
J. Nick Koston 7cfbc3eeae Fix duplicate call to async_register_preload_platform (#133909) 2024-12-23 09:20:44 -10:00
Franck Nijhof 8d32531bc1 Bump version to 2025.2.0dev0 (#133893) 2024-12-23 17:54:32 +01:00
Simon 30d95f37d8 Add removal instructions to ElevenLabs (#133895) 2024-12-23 18:37:19 +02:00
Michael bbb5f9e717 Preload supported color properties in fritzbox lights (#133798) 2024-12-23 16:40:38 +01:00
Duco Sebel 6cbc803b28 Streamline Peblar translations (#133883) 2024-12-23 16:38:34 +01:00
Steven B. abe00884ea Use SD stream for tplink mpeg stream (#133879) 2024-12-23 16:37:42 +01:00
Steven B. 0cbc77ad3f Make tplink entities unavailable if camera is off (#133877) 2024-12-23 16:36:57 +01:00
Bram Kragten 5487e8673c Update frontend to 20241223.1 (#133886) 2024-12-23 16:03:56 +01:00
Matthias Alphart 45ae2f4736 Set Fronius integration quality scale to gold (#133884) 2024-12-23 15:54:57 +01:00
Robert Resch 8e86c3c775 Add Ecovacs station entities (#133876)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-23 15:54:40 +01:00
Álvaro Fernández Rojas 5ef12c3993 Add AEMET Weather Radar images (#131386)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-23 15:51:21 +01:00
Glenn Vandeuren (aka Iondependent) 43a420cf01 Add cover to the niko_home_control integration (#133801)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-23 15:47:09 +01:00
starkillerOG 70648da8fd Improve firmware update required issue (#133878) 2024-12-23 15:05:45 +01:00
Steven B. 7f6a77ad2f Fix tplink camera entity unique id (#133880) 2024-12-23 15:53:17 +02:00
Simon 386a722393 ElevenLabs invalid api key config flow testing (#133822) 2024-12-23 12:05:31 +01:00
Robert Resch c5fe25a001 Bump deebot-client to 10.0.1 (#133634) 2024-12-23 12:05:29 +01:00
Omni Flux cf3d4eb26a Respect ESPHome ClimateTrait supports_current_temperature (#132149) 2024-12-23 11:35:59 +01:00
Joost Lekkerkerker 939365887f Add coordinator to Twinkly (#133793) 2024-12-23 11:35:37 +01:00
epenet e3cf5c47b2 Add compatibility code for deprecated WaterHeaterEntityEntityDescription (#133351) 2024-12-23 11:28:20 +01:00
Franck Nijhof b2170ad732 Mark Peblar Rocksolid EV Chargers Platinum (#133823) 2024-12-23 11:23:26 +01:00
Franck Nijhof ed7da35de4 Add coordinator error handling for Peblar Rocksolid EV Chargers (#133809) 2024-12-23 11:11:25 +01:00
Marcel van der Veldt 83f5ca5a30 Add actions with response values to Music Assistant (#133521)
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: OzGav <gavnosp@hotmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-23 11:10:10 +01:00
Franck Nijhof 1f8f85d6eb Merge branch 'master' into dev 2024-12-23 09:40:42 +00:00
Duco Sebel 59d8c79371 Use user defined charge limit for charge limit range in Peblar (#133868) 2024-12-23 10:27:53 +01:00
Matrix a6f6317299 Add Leak detect entity for YoLink water meter controller (#131682) 2024-12-23 09:24:02 +01:00
dontinelli b1fe247eed Upgrade QS from silver to gold for slide_local (#133863)
Upgrade QS to gold
2024-12-23 09:23:13 +01:00
mrtlhfr 8991cd4f46 Adding initial support for Tuya Electric Fireplaces (#133503) 2024-12-23 09:23:04 +01:00
Matthias Alphart 9e1ba004d4 Add translated enum entity for Fronius error code (#133394) 2024-12-23 09:17:52 +01:00
J. Nick Koston ddb3edca5d Bump PySwitchbot to 0.55.4 (#133861) 2024-12-23 08:44:01 +01:00
jon6fingrs 4321d27ed3 Ensure icalendar==6.1.0 is installed for caldav integration (#133541) 2024-12-23 08:39:43 +01:00
dependabot[bot] ad0ee8f2d6 Bump github/codeql-action from 3.27.9 to 3.28.0 (#133862) 2024-12-23 08:18:23 +01:00
Teemu R. 6cdbdadc24 Ignore devices (bravias) with 'video' service_type for songpal discovery (#133724) 2024-12-22 19:38:10 -10:00
Martin Weinelt cf45c67055 Fix TypeError in maxcube climate action inference logic (#133853)
The maxcube-api library initializes the valve_position as a None value,
so that during initialization if the cube does not respond quickly enough
the comparison fails to compare a None-Type to an integer.
2024-12-22 23:26:11 -05:00
J. Nick Koston 3658cdba4c Ensure late import in backup of hassio.backup does not block the event loop (#133857)
* Ensure late import in backup of components.hassio.backup does not block the event loop

Preload backup when loading hassio to ensure it happens in the executor

https://github.com/home-assistant/core/blob/67f0de441b489890efa802a325f187b761098ad6/homeassistant/components/backup/__init__.py#L57

* improve comment
2024-12-22 23:19:44 -05:00
TheJulianJES dcc9be02ca Bump ZHA to 0.0.43 (#133854)
* Bump ZHA to 0.0.43

* Add strings for v2 quirk entities
2024-12-22 23:19:05 -05:00
J. Nick Koston de1b6a0dfc Add backup to the list of storage preloads (#133855) 2024-12-22 23:17:13 -05:00
J. Nick Koston 29fa40a5cf Add backup the list of integrations platforms to preload (#133856)
`backup` is now at the top of the startup time list. This will help reduce it.
2024-12-22 23:07:05 -05:00
Christopher Fenner 67f0de441b Fulfill IQS rule runtime-data in ViCare integration (#133633) 2024-12-23 00:06:01 +01:00
J. Nick Koston 353f085474 Bump anyio to 4.7.0 (#133842) 2024-12-22 13:05:51 -10:00
J. Nick Koston 00a1ae0eeb Bump protobuf to 5.29.2 (#133839) 2024-12-22 23:58:39 +01:00
Raphael Hehl df26166047 Unifiprotect: add error message if the get_user_keyring_info permissions are not sufficient (#133841) 2024-12-22 23:58:13 +01:00
Steven B. 8ab936b87c Add detection switches to tplink integration (#133828) 2024-12-22 23:54:44 +01:00
Mick Vleeshouwer 4ed0c21a4a Add data descriptions to Config Flow in Overkiz (#133758) 2024-12-22 23:35:50 +01:00
jb101010-2 a3657a0fef Suez_water: fix yesterday sensor extra_state invalid typing (#133425) 2024-12-22 23:21:52 +01:00
Andre Lengwenus 74b425a06e Reload on connection lost for LCN integration (#133638) 2024-12-22 23:20:01 +01:00
Norbert Rittel 0560b634e3 Make To-do action names and descriptions consistent with HA standard (#133734) 2024-12-22 23:14:01 +01:00
Mick Vleeshouwer 8eebbd45bd Bump pyOverkiz to 1.15.5 (#133835) 2024-12-22 22:52:35 +01:00
Joost Lekkerkerker c9ad87d464 Add light tests for Niko Home Control (#133750) 2024-12-22 22:44:15 +01:00
Lucas Gasenzer c2358d5158 Add Switchbot Water Leak Detector (BLE) (#133799)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-22 11:37:57 -10:00
Josef Zweck 2d2b979c7d Bump pylamarzocco to 1.4.2 (#133826) 2024-12-22 21:55:04 +01:00
Steven B. ebcb478f52 Add pan/tilt features to tplink integration (#133829) 2024-12-22 10:53:14 -10:00
Raphael Hehl 0f18f128fd Unifiprotect Add user information retrieval for NFC and fingerprint events (#132604)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-22 10:50:30 -10:00
G Johansson 368e958457 Load data for multiple days in Nord Pool (#133371)
* Load data for multiple days in Nord Pool

* Fix current day

* Fix tests

* Fix services

* Fix fixtures

* Mod get_data_current_day

* Mods

* simplify further
2024-12-22 21:10:12 +01:00
Noah Husby 26180486e7 Add media browsing to Cambridge Audio (#129106)
* Add media browsing to Cambridge Audio

* Remove one folder logic

* Remove class mapping for presets
2024-12-22 21:05:07 +01:00
Robert Resch 0ad9af0feb Add already exists config flow tests for Ecovacs (#133572)
Co-authored-by: Michael <35783820+mib1185@users.noreply.github.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-22 20:23:55 +01:00
dontinelli 07322c6992 Add reconfigure flow to slide_local (#133669) 2024-12-22 19:57:34 +01:00
Steven B. b1f6563fb2 Add camera platform to tplink integration (#129180)
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-12-22 19:56:33 +01:00
J. Nick Koston 475f19c140 Bump flux_led to 1.1.0 (#133818) 2024-12-22 19:56:09 +01:00
Andre Lengwenus 344a03d9ce Remove unused fixture from LCN tests (#133821) 2024-12-22 19:55:45 +01:00
Raphael Hehl 6c70586f7e Add get_user_keyring_info service to UniFi Protect integration (#133138)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-22 08:54:14 -10:00
Franck Nijhof 0f1835139f Add number error handling for Peblar Rocksolid EV Chargers (#133803) 2024-12-22 19:53:00 +01:00
Franck Nijhof de5a49363e Add switch error handling for Peblar Rocksolid EV Chargers (#133805) 2024-12-22 19:47:31 +01:00
Arie Catsman c6789d70a4 Remove unneeded type for enphase_envoy coordinator in async_unload_entry (#133817) 2024-12-22 19:26:35 +01:00
Simon a2aba77973 Fix typo in ElevenLabs (#133819) 2024-12-22 19:26:15 +01:00
Franck Nijhof 84a3a9d495 Add select error handling for Peblar Rocksolid EV Chargers (#133804) 2024-12-22 19:25:55 +01:00
Barry vd. Heuvel d994884726 Add binary states for Weheat indoor unit (#133811)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-22 19:07:01 +01:00
Joost Lekkerkerker 0e9965150e Show device name in Twinkly discovery (#133814) 2024-12-22 19:00:49 +01:00
Barry vd. Heuvel feca7c28cf Add Compressor, Inside Unit and Energy Output fields to Weheat (#129632) 2024-12-22 18:45:33 +01:00
Steven Looman 0ba32e1d3a Bump async-upnp-client to 0.42.0 (#133806) 2024-12-22 07:18:05 -10:00
J. Nick Koston 6179da4321 Bump PySwitchbot to 0.55.3 (#133812)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-22 18:16:47 +01:00
jesperraemaekers 93c0eb73d2 Bump Weheat to 2024.12.22 (#133796) 2024-12-22 17:44:15 +01:00
Dave T 484f149e61 Add config flow stream preview to generic camera (#122563)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
2024-12-22 17:31:03 +01:00
Steven B. 3cc75c3cf6 Use feature checks in tplink integration (#133795)
Clean up to use new upstream API:

* Use Feature attributes to check for supported

* Use color_temp range and update tests
2024-12-22 16:17:23 +01:00
Franck Nijhof 26d5c55d11 Add button error handling for Peblar Rocksolid EV Chargers (#133802) 2024-12-22 15:35:45 +01:00
Franck Nijhof 959f20c523 Add reconfigure flow to Peblar Rocksolid EV Chargers integration (#133785) 2024-12-22 14:23:12 +01:00
Franck Nijhof 075f95b9c4 Add base entity to Peblar Rocksolid EV Chargers integration (#133794) 2024-12-22 14:01:31 +01:00
PierreAronnax 1e68ae1bb8 Remove myself from govee_ble codeowners (#133790) 2024-12-22 13:35:36 +01:00
Joost Lekkerkerker 5ef3901b44 Add base entity for Niko Home Control (#133744) 2024-12-22 13:32:15 +01:00
Mick Vleeshouwer 56b58cec3e Fix errors in HitachiDHW in Overkiz (#133765)
* Small changes to fix errors in DHW

* Update

* Bugfix in float/int mistake

* Fix typing

* Fix code style

* Fix mypy
2024-12-22 12:17:09 +01:00
Franck Nijhof cdd73a5c5a Set parallel updates for Peblar Rocksolid EV Chargers integration (#133786) 2024-12-22 12:16:08 +01:00
Arie Catsman 88eb550ec1 Update quality-scale status for enphase_envoy config_flow missing data descriptions (#133726) 2024-12-22 12:01:13 +01:00
Joost Lekkerkerker 7be3cad1db Refactor Twinkly tests (#133725) 2024-12-22 12:00:24 +01:00
Franck Nijhof 31c6443a9b Add button platform to Peblar Rocksolid EV Chargers integration (#133780) 2024-12-22 11:51:01 +01:00
Mick Vleeshouwer 84d359c0d9 Fix binary_sensor typing in Overkiz (#133782) 2024-12-22 11:33:32 +01:00
Mick Vleeshouwer 619aed39b7 Use new UnitOfEnergy constants in Overkiz (#133778) 2024-12-22 10:36:07 +01:00
Mick Vleeshouwer 3f1acff652 Add support for HitachiAirToWaterHeatingZone in Overkiz (#133768)
* Add support for HitachiAirToWaterHeatingZone in Overkiz

* Clean up

* Fix typing

* Fix typing

* Fix typing

* Adapt to new PyOverkiz
2024-12-22 10:31:09 +01:00
Mick Vleeshouwer c3d0a01776 Migrate to runtime data in Overkiz (#133760)
* Migrate to runtime data

* Revert

* Improve typing
2024-12-22 10:25:59 +01:00
Arie Catsman cd6da9d9e8 Merge similar tests to parameterized tests for enphase_envoy (#133740) 2024-12-22 10:07:35 +01:00
Franck Nijhof 0c24afec6c Update integration quality scale for Peblar Rocksolid EV Chargers (#133764) 2024-12-22 10:03:16 +01:00
Mick Vleeshouwer 284ccbc778 Add additional Hitachi sensors to Overkiz (#133772)
Add additional Hitachi sensors
2024-12-22 09:40:06 +01:00
Mick Vleeshouwer cef182c596 Bump pyOverkiz to 1.15.4 (#133769)
Bump pyoverkiz to 1.15.4
2024-12-22 10:02:58 +02:00
Austin Mroczek d322398d06 TotalConnect use entry.runtime_data (#133756)
* use entry.runtime_data

* type the entry

* update quality scale

* recommended fixes

* Update homeassistant/components/totalconnect/alarm_control_panel.py

* Update homeassistant/components/totalconnect/binary_sensor.py

* Update homeassistant/components/totalconnect/button.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-22 08:59:54 +01:00
J. Nick Koston c2a9b0ff52 Reduce complexity to find unused data_ids and attributes_ids for db engines with slow range select (#133752) 2024-12-21 19:38:11 -10:00
J. Nick Koston 662dea28ed Replace queries using distinct with correlated scalar subqueries to significantly improve purge performance (#133748)
Replace queries using distinct with correlated scalar subqueries

like #133553 and #133699 PostgreSQL does not support skip/loose index scan https://wiki.postgresql.org/wiki/Loose_indexscan

This makes the `distinct` query (see section `Selecting Distinct Values` in the wiki above) to find the unused ids
very expense. We can replace them with correlated scalar subqueries
as done in #133553 to avoid the `distinct`
2024-12-21 22:25:48 -05:00
Franck Nijhof 9fcf8f22d2 Add reauthentication support to Peblar Rocksolid EV Chargers integration (#133757) 2024-12-21 23:00:29 +01:00
Franck Nijhof 9dc20b5709 Add more sensors to Peblar Rocksolid EV Chargers integration (#133754)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-21 22:40:15 +01:00
Franck Nijhof 5e4e1ce5a7 Add binary sensor platform to Peblar Rocksolid EV Chargers integration (#133755) 2024-12-21 22:29:11 +01:00
Franck Nijhof 85519a312c Fix Peblar current limit user setting value (#133753) 2024-12-21 22:23:36 +01:00
Franck Nijhof 81ce5f4505 Update peblar to v0.3.0 (#133751) 2024-12-21 21:26:40 +01:00
Franck Nijhof c67e2047e3 Add switch platform to Peblar Rocksolid EV Chargers integration (#133749) 2024-12-21 20:28:55 +01:00
Franck Nijhof 04276d3523 Add number platform to Peblar Rocksolid EV Chargers integration (#133739) 2024-12-21 20:16:18 +01:00
Joost Lekkerkerker f2df57e230 Add DHCP discovery to Withings (#133737) 2024-12-21 19:36:13 +01:00
Glenn Vandeuren (aka Iondependent) 0037799bfe Change niko_home_control library to nhc to get push updates (#132750)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: VandeurenGlenn <8685280+VandeurenGlenn@users.noreply.github.com>
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-12-21 19:28:11 +01:00
Steven B. 944ad9022d Bump tplink python-kasa dependency to 0.9.0 (#133735)
Release notes: https://github.com/python-kasa/python-kasa/releases/tag/0.9.0
2024-12-21 19:04:09 +01:00
Tom 4b6febc757 Add reconfiguration flow to Plugwise (#132878)
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-21 16:44:14 +01:00
Norbert Rittel ac2090d2f5 Replace "service" with "action" in Z-Wave action descriptions (#133727)
Replace all occurrence of "service" with "action"

Clean up the remaining occurrences of "service" with "action" to be consistent with the new terminology in Home Assistant.
2024-12-21 16:16:12 +01:00
Norbert Rittel 3dad5f6896 Replace two outdated occurrences of "service" with "action" (#133728) 2024-12-21 15:54:02 +01:00
Arie Catsman cc134c820b Reuse title of deleted enphase_envoy config entry if present (#133611) 2024-12-21 15:49:24 +01:00
Arie Catsman ef31413a59 Add missing asserts to enphase_envoy config flow test (#133730) 2024-12-21 15:20:10 +01:00
Álvaro Fernández Rojas 9292bfc6ed Update AEMET-OpenData to v0.6.4 (#133723) 2024-12-21 15:19:55 +01:00
Franck Nijhof 9e6c1d5b62 Add power and energy related sensors to Peblar Rocksolid EV Chargers (#133729) 2024-12-21 15:18:08 +01:00
Franck Nijhof 7e2d382ff4 Update aiohasupervisor to 0.2.2b5 (#133722) 2024-12-21 15:10:35 +01:00
Matthias Alphart b5a7a41ebe KNX: Option to select specific tunnel endpoint on TCP connections (#131996) 2024-12-21 15:10:14 +01:00
Franck Nijhof a3febc4449 Add select platform to Peblar Rocksolid EV Chargers integration (#133720) 2024-12-21 14:23:16 +01:00
Norbert Rittel 5abc03c21e Fix spelling of "Gateway PIN" and remove two excessive spaces (#133716) 2024-12-21 13:26:48 +01:00
Joost Lekkerkerker dc9133f919 Use mac address in Twinkly for unique id (#133717) 2024-12-21 13:26:09 +01:00
Arie Catsman a3fad89d0d Use super constructor self.config_entry in enphase_envoy coordinator (#133718) 2024-12-21 13:19:04 +01:00
Franck Nijhof a3fab094c3 Add device test for Peblar Rocksolid EV Chargers (#133713) 2024-12-21 13:03:44 +01:00
G Johansson 11efec49db Fix test coverage in workday (#133616) 2024-12-21 12:45:00 +01:00
Jan Bouwhuis 6b666b3a0f Test color_temp updates are processed when an mqtt json light is turned off (#133715) 2024-12-21 12:44:00 +01:00
Franck Nijhof 7e24b353ac Add updates tests for Peblar Rocksolid EV Chargers (#133712) 2024-12-21 12:31:58 +01:00
Maciej Bieniek 5665abf991 Store Twinkly runtime data in config entry (#133714) 2024-12-21 12:31:40 +01:00
Artur Pragacz 6314d7a44c Fix section translations check (#133683) 2024-12-21 12:31:17 +01:00
Manu b106b88f5c Adjust freezer tick in settings tests of IronOS integration (#133707) 2024-12-21 12:21:11 +01:00
Franck Nijhof dbe04f17ad Add sensors tests for Peblar Rocksolid EV Chargers (#133710) 2024-12-21 12:20:03 +01:00
Maciej Bieniek aad1d6a25d Use MAC address in Twinkly DeviceInfo.connections (#133708) 2024-12-21 12:19:11 +01:00
Franck Nijhof 7326555f03 Add diagnostic to Peblar Rocksolid EV Chargers integration (#133706) 2024-12-21 11:38:33 +01:00
Álvaro Fernández Rojas 5c2d769b54 Enable AEMET data cache (#131226) 2024-12-21 11:30:46 +01:00
Josef Zweck 66e863a2e3 Allow lamarzocco to reconnect websocket (#133635) 2024-12-21 11:29:24 +01:00
Richard Kroegel 78c9e47428 Improve BMW config flow (#133705) 2024-12-21 11:20:46 +01:00
J. Nick Koston 4e316429d3 Handle WebsocketConnectionError during mqtt auto reconnect (#133697)
followup to #133610 to handle the exception in the auto reconnect
path as well

fixes #132985
2024-12-21 11:18:47 +01:00
Norbert Rittel 989a3d1e24 Change "pin" to correct "PIN" for consistent translations (#133681) 2024-12-21 11:15:11 +01:00
Norbert Rittel 4efcf18c70 Change "pin" to "PIN" for consistency with common string (#133682) 2024-12-21 11:14:47 +01:00
Norbert Rittel 7998a05742 Replace lowercase "pin" in error message with the correct "PIN" (#133684) 2024-12-21 11:14:14 +01:00
Norbert Rittel 4ee9f813aa Fix inconsistent use of "pin" vs. "PIN" (#133685) 2024-12-21 11:13:44 +01:00
Franck Nijhof 859993e443 Add update platform to Peblar Rocksolid EV Chargers integration (#133570)
* Add update platform to Peblar Rocksolid EV Chargers integration

* Use device class translations
2024-12-21 10:55:00 +01:00
Allen Porter 4a063c3f9e Update the Google Tasks quality scale with documentation improvements (#133701) 2024-12-21 10:54:13 +01:00
J. Nick Koston 43fab48d4e Improve purge performance for PostgreSQL with large databases (#133699) 2024-12-21 10:53:15 +01:00
J. Nick Koston 02785a4ded Simplify query to find oldest state (#133700) 2024-12-21 10:37:16 +01:00
Andrew Sayre e43f4466e0 Improve HEOS group handling (#132213)
* Move register method to GroupManager

* Remove GroupManager mapping when entity removed

* Add test for when unloaded

* Error when group member not found

* Use entity registery to remove entity

* Update tests per feedback
2024-12-21 09:40:33 +01:00
Erik Montnemery 82f54eb9d2 Adjust the default backup name (#133668) 2024-12-21 09:38:59 +01:00
Abílio Costa 954b6133cb Use common mock fixture in Idasen Desk config flow tests (#133679) 2024-12-21 09:35:47 +01:00
Florent Thoumie 9c70ec4150 iaqualink: fix load_verify_locations() blocking call (#133459)
* Try to fix blocking call

* Fix lint
2024-12-21 09:26:38 +01:00
Dan Raper 3788e942a7 Bump Ohme library version to 1.2.0 (#133666)
Bump library version
2024-12-21 09:25:34 +01:00
Kevin Worrel e38a85da64 Add entity translation strings for ScreenLogic (#130708)
* Add translation strings for entities

* Translation key updates

* Mach original name

* Remove state translations

* Sentence case entity names

* Fix tests

* Add missing translation_key for Air temperature

* Revert inadvertant entity_id change on last_dose_time sensors

* Update homeassistant/components/screenlogic/strings.json

Lowercase 'entry'

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

* Define translations for each circuit delay sensor

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-21 09:25:21 +01:00
greyeee 861d9b3341 Add initial support for SwitchBot relay switch (#130863)
* Support relay switch

* 更新下版本

* add test case

* change to async_abort

* Upgrade PySwitchbot to 0.53.2

* change unit to volt

* upgrade pySwitchbot dependency

* bump lib, will be split into a seperate PR after testing is finished

* dry

* dry

* dry

* dry

* dry

* dry

* dry

* update tests

* fixes

* fixes

* cleanups

* fixes

* fixes

* fixes

* bump again

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-21 00:49:30 +01:00
J. Nick Koston b6819cbff3 Bump PySwitchbot to 0.55.2 (#133690)
changelog: https://github.com/sblibs/pySwitchbot/compare/0.54.0...0.55.2
2024-12-21 00:13:21 +01:00
Joost Lekkerkerker 9a0035e090 Fix Mealie test coverage (#133659) 2024-12-20 23:45:54 +01:00
Luke Lashley 1e420f16f7 Update Roborock to 2.8.4 (#133680) 2024-12-20 22:01:56 +01:00
G Johansson b29be34f55 Allow Filter title to be translated (#128929) 2024-12-20 21:21:41 +01:00
Michael Hansen 8607ba884c Bump intents to 2024.12.20 (#133676) 2024-12-20 14:23:12 -05:00
Joost Lekkerkerker 2639bdbefd Add parallel updates to Mealie (#133660) 2024-12-20 19:21:37 +00:00
Norbert Rittel c780933fa0 Reword invoke_pin action to avoid misunderstanding with "PIN" (#133665)
* Reword invoke_pin action to avoid misunderstanding with "PIN"

The previous mismatch between "PIN" and "pin" in the invoke_pin caused wrong translations as "PIN" was interpreted as the abbreviation for "Personal Identification Number".

This commit fixes this by explaining "pin" as related to "pinning" content on the device.

In addition the very "invoke" is replaced by "play" which every user and translator will understand immediately.

Along with those changes this commit reverts my previous change to "PIN" in all strings that made things worse.

* Use "Pin ID" for the field variable
2024-12-20 19:12:48 +01:00
Erik Montnemery a23b37114e Improve recorder data migrator tests (#133628) 2024-12-20 07:41:14 -10:00
Abílio Costa 17f0c24895 Replace tests for Idasen Desk with parameterized test (#133672) 2024-12-20 18:24:57 +01:00
Steven B. 6ed345f773 Add check for client errors to stream component (#132866) 2024-12-20 07:20:24 -10:00
elmurato 233395c181 Add missing await in Minecraft Server (#133670) 2024-12-20 17:58:31 +01:00
Andre Lengwenus 92195ff77d Bump pypck to 0.8.1 (#133646)
Co-authored-by: Robert Resch <robert@resch.dev>
2024-12-20 17:10:37 +01:00
Joost Lekkerkerker ad7a334147 Add translations to Mealie exceptions (#133648) 2024-12-20 16:08:31 +01:00
Mick Vleeshouwer 87f5a7057e Fix target temperature for AtlanticElectricalTowelDryer in Overkiz (#133657) 2024-12-20 16:00:44 +01:00
Erik Montnemery 5afb9a5053 Validate password before restoring backup (#133647)
* Validate password before restoring backup

* Raise specific error when password is incorrect
2024-12-20 15:43:46 +01:00
shapournemati-iotty 1c0135880d Add outlet device class to iotty switch entity (#132912)
* upgrade iottycloud lib to 0.3.0

* Add outlet

* test outlet turn on and turn off

* test add outlet

* Refactor code to use only one SwitchEntity  with an EntityDescription to distinguish Outlet and Lightswitch

* Refactor switch entities to reduce duplicated code

* Refactor tests to reduce duplicated code

* Refactor code to improve abstraction layer using specific types instead of generics

* Remove print and redundant field
2024-12-20 15:33:05 +01:00
Erik Montnemery f49111a4d9 Bump aiohasupervisor to version 0.2.2b4 (#133652)
* Bump aiohasupervisor to version 0.2.2b4

* Update test
2024-12-20 09:23:21 -05:00
Erik Montnemery 10478f4ca5 Fix logic in backup retention filter (#133654) 2024-12-20 09:19:57 -05:00
Norbert Rittel 9f43a7a17b Fix inconsistent spelling of "PIN" and "ID" (#133653)
* Fix inconsistent spelling of "PIN" and "ID"

Several actions contain an inconsistent spelling of "PIN" and "ID" with lowercase characters.

Especially to avoid (automated) mistranslations as (connection) pin etc. this needs to be corrected.

* Fix lowercase "blink" as well

Additional commit to fix the wrong spelling of "blink" along the way.
2024-12-20 15:17:47 +01:00
Joost Lekkerkerker cbb4c06195 Add Mealie to strict typing (#133644) 2024-12-20 15:17:08 +01:00
Norbert Rittel 83fdc07df0 Fix inconsistent spelling of "PIN" vs. "pin" (#133655)
As "PIN" is an abbreviation it should be all-caps throughout the UI.

This commit fixes two inconsistent occurrences in the invoke_pin action.
2024-12-20 15:15:16 +01:00
Norbert Rittel 0d309aa632 Fix inconsistent spelling of "PIN" vs. "pin" (#133656)
Part of the strings in the strings.json use an inconsistent spelling of "PIN" as "pin"

This commit fixes this to ensure correct and consistent translations, too.
2024-12-20 15:14:04 +01:00
Erik Montnemery 7d04eef5c5 Reject duplicates in WS command backup/config/update (#133650)
* Reject duplicates in WS command backup/config/update

* Add tests
2024-12-20 15:06:55 +01:00
Joost Lekkerkerker 870dc4dbea Record Analytics Insights quality scale (#133571)
* Record Analytics Insights quality scale

* Record Analytics Insights quality scale

* Record Analytics Insights quality scale

* Update homeassistant/components/analytics_insights/quality_scale.yaml

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

* Update homeassistant/components/analytics_insights/quality_scale.yaml

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2024-12-20 13:14:41 +01:00
Erik Montnemery 4c96b83297 Fix reading extra metadata for local backups (#133643) 2024-12-20 13:13:25 +01:00
Erik Montnemery 5834ecb13e Fix homeassistant_included flag for local backups (#133640) 2024-12-20 12:36:54 +01:00
Cyrill Raccaud e62a563ec1 Add Swiss Public Transport quality scale record (#131629) 2024-12-20 12:30:55 +01:00
Joost Lekkerkerker 6a599dc27a Record NYT Games quality scale (#133592)
* Record NYT Games quality scale

* Record NYT Games quality scale

* Fix
2024-12-20 12:30:35 +01:00
Joost Lekkerkerker df383a3a31 Record Mealie quality scale (#133587)
* Record Mealie quality scale

* Record NYT Games quality scale

* Fix

* Fix

* Fix
2024-12-20 12:29:54 +01:00
Joost Lekkerkerker 86e43b7196 Record Knocki quality scale (#133582)
* Record Knocki quality scale

* Record Knocki quality scale

* Fix
2024-12-20 12:29:04 +01:00
dontinelli b5c4608373 Upgrade QS from bronze to silver for slide_local (#133560) 2024-12-20 12:25:45 +01:00
Josef Zweck bddd8624bb Add scale support to lamarzocco (#133335) 2024-12-20 12:24:15 +01:00
Franck Nijhof 6974f61703 2024.12.5 (#133636) 2024-12-20 11:45:57 +01:00
Erik Montnemery 3df992790d Bump aiohasupervisor to version 0.2.2b3 (#133631) 2024-12-20 10:59:52 +01:00
Kenny Root b391dfe647 Switch to official Zabbix Python API (#131674) 2024-12-20 10:59:30 +01:00
Franck Nijhof e7bdf1467b Bump version to 2024.12.5 2024-12-20 09:51:57 +00:00
J. Nick Koston ff9df15cb0 Handle mqtt.WebsocketConnectionError when connecting to the MQTT broker (#133610)
fixes #132985
2024-12-20 09:43:13 +00:00
Joost Lekkerkerker fdde9d3a52 Fix Twinkly raise on progress (#133601) 2024-12-20 09:43:09 +00:00
Marcel van der Veldt 8c1a18b383 Handle null value for elapsed time in Music Assistant (#133597) 2024-12-20 09:43:05 +00:00
J. Nick Koston 367749d93c Bump aiohttp to 3.11.11 (#133530) 2024-12-20 09:42:34 +00:00
Joakim Plate 13f32c6720 Bump gardena_bluetooth to 1.5.0 (#133502) 2024-12-20 09:41:07 +00:00
Joakim Plate f8e1a786be Update fjäråskupan to 2.3.2 (#133499) 2024-12-20 09:41:03 +00:00
Joakim Plate cd5a46f11d Update fjäråskupan to 2.3.1 (#133493) 2024-12-20 09:41:00 +00:00
Luke Lashley 0140aa7240 Update Roborock to 2.8.1 (#133492) 2024-12-20 09:40:56 +00:00
Mick Vleeshouwer 92f50c63b1 Don't raise Overkiz user flow unique_id check (#133471) 2024-12-20 09:40:52 +00:00
Mick Vleeshouwer 1afeabfd64 Bump pyOverkiz to 1.15.3 (#133458) 2024-12-20 09:40:49 +00:00
Quentame 709d15a79b Bump Freebox to 1.2.1 (#133455) 2024-12-20 09:40:45 +00:00
J. Nick Koston cf4dbcfebf Ensure screenlogic retries if the protocol adapter is still booting (#133444)
* Ensure screenlogic retries if the protocol adapter is still booting

If the protocol adapter is still booting, it will disconnect and never
retry

```
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 640, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/screenlogic/__init__.py", line 65, in async_setup_entry
    await gateway.async_connect(**connect_info)
  File "/usr/local/lib/python3.13/site-packages/screenlogicpy/gateway.py", line 142, in async_connect
    connectPkg = await async_connect_to_gateway(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/screenlogicpy/requests/login.py", line 107, in async_connect_to_gateway
    mac_address = await async_gateway_connect(transport, protocol, max_retries)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/screenlogicpy/requests/login.py", line 77, in async_gateway_connect
    raise ScreenLogicConnectionError("Host unexpectedly disconnected.")
screenlogicpy.const.common.ScreenLogicConnectionError: Host unexpectedly disconnected.
```

* coverage
2024-12-20 09:40:42 +00:00
Ron Weikamp 59e6fa5138 Bugfix: also schedule time based integration when source is 0 (#133438)
* Bugfix also schedule time based integration when source is 0

* Update tests/components/integration/test_sensor.py

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

* Improve comment in test. Remove redundant assertion.

---------

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2024-12-20 09:40:38 +00:00
IceBotYT 8400ef8441 Add support for Nice G.O. HAE00080 wall station (#133186) 2024-12-20 09:40:35 +00:00
IceBotYT 6188db18c2 Bump nice-go to 1.0.0 (#133185)
* Bump Nice G.O. to 1.0.0

* Mypy

* Pytest
2024-12-20 09:40:31 +00:00
Jonas Fors Lellky 7e6392f062 Define setpoints as constants in flexit_bacnet (#133580)
* Define setpoints as consts

* Use a regular comment instead of docstring

* Un-indent comment
2024-12-20 10:11:50 +01:00
Joakim Sørensen 10191e7a23 Add async_register_backup_agents_listener to cloud/backup (#133584)
* Add async_register_backup_agents_listener to cloud/backup

* Coverage

* more coverage
2024-12-20 08:55:00 +01:00
G Johansson ad34bc8910 Add min/max price sensor to Nord Pool (#133534)
* Add min/max price sensor to Nord Pool

* Last fixes

* Make link in strings

* Replace func
2024-12-20 08:26:36 +01:00
Manu 26212798a3 Fixes and code cleanup for IronOS integration (#133579)
* Fix typing and cleanup in IronOS integration

* fix test not using freezer

* changes

* fix timedelta
2024-12-20 08:25:08 +01:00
J. Nick Koston 3d20c5c5d6 Remove lower bound for history start time state query (#133607)
Remove lower bound for start time state query

With the new query in #133553 we do not need a lower bound
on the search since it will always use index now and we
always want the newest value in the index before the
provided timestamp. The lower bound is redudant at this
point as it will always be older than the oldest
time point for the state. It only made sense when
the query would have had to examine a time window
of states instead of doing an index only search.
2024-12-20 08:24:47 +01:00
Christopher Fenner afae257a12 Bump PyViCare to 2.39.1 (#133619) 2024-12-20 01:14:48 +01:00
Quentame 64aba0c1a3 Bump Freebox to 1.2.1 (#133455) 2024-12-20 00:48:03 +01:00
J. Nick Koston 551a584ca6 Handle mqtt.WebsocketConnectionError when connecting to the MQTT broker (#133610)
fixes #132985
2024-12-19 21:39:39 +01:00
Jan-Philipp Benecke b261c7f18a Mark docs-installation-parameters for SABnzbd as done (#133609) 2024-12-19 20:29:12 +01:00
Joost Lekkerkerker 61e5f10d12 Fix Twinkly raise on progress (#133601) 2024-12-19 20:27:08 +01:00
adam-the-hero 2413fc4c0d Fix Watergate Water meter volume sensor (#133606) 2024-12-19 20:25:24 +01:00
Abílio Costa e6ef3fe507 Update Idasen Desk user flow step strings (#133605) 2024-12-19 20:24:10 +01:00
J. Nick Koston 04bcc8d3d3 Bump yalexs-ble to 2.5.6 (#133593) 2024-12-19 09:13:51 -10:00
Joost Lekkerkerker 52683c5f75 Improve Airgradient config flow tests (#133594) 2024-12-19 19:58:33 +01:00
Raphael Hehl 2f77cda822 Add basic UniFi Protect AiPort support (#133523)
* UnifiProtect add basic support for AiPort devices

* Sort ignore-words

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-19 08:18:21 -10:00
Marcel van der Veldt a97434976e Handle null value for elapsed time in Music Assistant (#133597) 2024-12-19 19:00:18 +01:00
epenet e357e0a406 Set default min/max color temperature in template lights (#133549) 2024-12-19 18:40:04 +01:00
Andrew Jackson 1a068d99d6 Add data descriptions to Mealie integration (#133590) 2024-12-19 18:28:50 +01:00
Joost Lekkerkerker 95b3d27b60 Update Airgradient quality scale (#133569) 2024-12-19 18:23:40 +01:00
Allen Porter a3ef3cce3e Improve Google Tasks coordinator updates behavior (#133316) 2024-12-19 16:41:47 +01:00
Erik Montnemery 255f85eb2f Fix boot loop after restoring backup (#133581) 2024-12-19 16:04:59 +01:00
Josef Zweck 94c7d18346 Bump pylamarzocco to 1.4.1 (#133557) 2024-12-19 13:36:32 +01:00
Noah Husby eb8ee1339c Set Russound RIO quality scale to silver (#133494) 2024-12-19 12:40:23 +01:00
Stefan Agner 962f1bad32 Add mW as unit of measurement for Matter electrical power sensors (#133504) 2024-12-19 11:40:05 +00:00
Erik Montnemery dd215b3d5d Revert "Revert "Simplify recorder RecorderRunsManager (#131785)"" (#133564)
Revert "Revert "Simplify recorder RecorderRunsManager" (#133201)"

This reverts commit 980b8a91e6.
2024-12-19 12:32:15 +01:00
Erik Montnemery bb7abd037c Revert "Revert "Improve recorder history queries (#131702)"" (#133561)
Revert "Revert "Improve recorder history queries (#131702)" (#133203)"

This reverts commit 74e4654c26.
2024-12-19 11:50:12 +01:00
J. Nick Koston d35b34f142 Replace start time state query with single correlated scalar subquery (#133553) 2024-12-19 00:14:32 -10:00
dependabot[bot] 1c119518db Bump codecov/codecov-action from 5.1.1 to 5.1.2 (#133547)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.1.1 to 5.1.2.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v5.1.1...v5.1.2)

---
updated-dependencies:
- dependency-name: codecov/codecov-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-12-19 10:52:10 +01:00
Norbert Rittel 9a6c749714 Change 'GSuite' to 'Workspace', fix 'Start' field label (#133554)
* Change 'GSuite' to 'Workspace', fix 'Start' field label

Several years ago Google renamed "G Suite" to "Google Workspace", this commit applies the same change to one of the  field descriptions of the set_vacation action.

In addition the "Start" field of the action currently uses the common action (!) for Start which is wrong in this context, it stands for the beginning here.

This commit changes this back to a local definition of this label just like "End".

In German for example "Start" needs to be "Beginn" in this context while the common action is translated as "Starten".

* Use "Google Workspace" for more clarity

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-19 10:51:30 +01:00
Norbert Rittel 79484ea7f5 Grammar fixes for action names and descriptions (#133559)
Several KNX actions contain a wrong "s" at the end of their verbs while those are missing in several of the descriptions.

This commit changes all those to make them consistent with the remaining actions in KNX and the standard terminology in Home Assistant.
2024-12-19 10:50:12 +01:00
Franck Nijhof 3568bdca65 Update Home Assistant base image to 2024.12.0 (#133558) 2024-12-19 10:48:43 +01:00
Erik Montnemery a76f82080b Create repair issues when automatic backup fails (#133513)
* Create repair issues when automatic backup fails

* Improve test coverage

* Adjust issues
2024-12-19 10:40:07 +01:00
Christopher Fenner cd384cadbe Fulfill IQS rule config-flow in ViCare integration (#133524)
* add data_description

* Apply suggestions from code review

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2024-12-19 10:04:26 +01:00
J. Nick Koston 69a8d3f3c1 Revert "Optimize start time state queries for PostgreSQL" (#133555) 2024-12-18 23:01:58 -10:00
J. Nick Koston a3fb6e8f92 Bump pydantic to 2.10.4 (#133539)
changelog: https://github.com/pydantic/pydantic/compare/v2.10.3...v2.10.4
2024-12-19 10:01:40 +01:00
Erik Montnemery c8480627ca Add comment motivating magic number for MySQL error codes (#133516)
* Add comment motivating magic number for MySQL error codes

* Pick nits
2024-12-19 09:56:32 +01:00
Franck Nijhof 893f605d61 Revert "Update docker base image to 2024.12.1" (#133552)
Revert "Update docker base image to 2024.12.1 (#133323)"

This reverts commit 66dcd38701.
2024-12-19 09:42:22 +01:00
epenet ddd2ba6c4a Set default min/max color temperature in hue lights (#133548) 2024-12-19 08:36:29 +01:00
Stefan Agner 681863f80e Use mV and mA as units for electrical power measurement in Matter (#133505) 2024-12-19 08:32:46 +01:00
J. Nick Koston 99698ef95d Optimize start time state queries for PostgreSQL (#133228) 2024-12-18 19:41:53 -10:00
Franck Nijhof 3fe08a7223 Add zeroconf discovery to Peblar Rocksolid EV chargers (#133529) 2024-12-19 00:39:14 +01:00
J. Nick Koston 35601480d2 Bump aiohttp to 3.11.11 (#133530) 2024-12-18 23:48:39 +01:00
Abílio Costa 0076bd8389 Simplify Idasen Desk entity properties (#133536) 2024-12-18 23:47:24 +01:00
Franck Nijhof 9f3c549f8d Add integration setup tests to Peblar Rocksolid EV Chargers (#133532) 2024-12-18 23:46:18 +01:00
Norbert Rittel 03707e6308 Improve field descriptions for Download file action (#133413)
* Improve field descriptions for Download file action

Currently two of the field descriptions for the Download file action don't explain exactly what should be entered but rather explain these like additional actions.

The third, the Overwrite file option is misleading as it does not refer to an existing file.

This commit fixes both issues by explaining the purpose of all three fields in a slightly more detailed fashion.

* Update homeassistant/components/downloader/strings.json

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

* Update homeassistant/components/downloader/strings.json

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

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2024-12-18 22:40:30 +01:00
Abílio Costa 9e6a8638dd Bump idasen-ha to 2.6.3 (#133508)
This is a minor bump that adds py.typed
2024-12-18 22:38:57 +01:00
Norbert Rittel 2a9082559a Fix names and description of two actions (#133528)
The two actions enable_motion_recording and disable_motion_recording use "Enables" and "Disables" in their names.

This is inconsistent with the name of the actions, all other actions of this component, and the standard way of naming them, too.

In addition the description of the latter misses the "s" which causes additional inconsistency – especially in translations.
2024-12-18 22:35:58 +01:00
starkillerOG ba3fca53b0 Reolink platinum quality scale (#133514) 2024-12-18 21:49:32 +01:00
Raphael Hehl e4bb351d2d Bump uiprotect to 7.1.0 (#133520)
* Bump uiprotect to version 7.1.0

* Add aiports to bootstrap fixture in unifiprotect tests
2024-12-18 21:41:22 +01:00
Christopher Fenner 1bdda0249e Bump PyViCare to 2.39.0 (#133519) 2024-12-18 21:38:52 +01:00
Erik Montnemery ff8bc763c3 Ensure indices needed by data migrators exist (#133367)
* Ensure indices needed by data migrators exist

* Update test

* Improve test

* Ignore index error on char(0) columns

* Adjust tests

* Address review comments

* Add comment motivating magic number
2024-12-18 21:29:52 +01:00
dontinelli 8a8be71f96 Add tests for cover and increase test coverage for slide_local (#133515) 2024-12-18 20:53:05 +01:00
starkillerOG 19e6867f1a Reolink translate errors (#132301) 2024-12-18 20:22:33 +01:00
Norbert Rittel c8f050ecbc Fix the local_file.update_file_path action's name and description (#133509) 2024-12-18 20:08:57 +01:00
IceBotYT b7ff27122a Add support for Nice G.O. HAE00080 wall station (#133186) 2024-12-18 19:47:41 +01:00
Shay Levy 3a8b0b3ea6 Use Switcher _async_call_api in climate (#133230) 2024-12-18 19:46:52 +01:00
mvn23 0ff2a0d66d Add "cancel room setpoint override" button to opentherm_gw (#132162) 2024-12-18 19:46:30 +01:00
Joakim Plate 4daf6dd41d Bump gardena_bluetooth to 1.5.0 (#133502) 2024-12-18 19:39:35 +01:00
Thomas55555 51bead3229 Update number platform values before add in APSystems and add tests (#131938)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-18 19:34:49 +01:00
Manu 352e948d56 Add tests for already_configured erros in IronOS integration (#132265) 2024-12-18 19:33:33 +01:00
Manu 70ad4ee454 Add select platform to IronOS (#132218) 2024-12-18 19:32:51 +01:00
TJ Horner 53ef96c63e weatherkit: use stale data for up to an hour if updates fail (#130398) 2024-12-18 19:21:03 +01:00
Franck Nijhof bb2d027532 Add Peblar Rocksolid EV Chargers integration (#133501)
* Add Peblar Rocksolid EV Chargers integration

* Process review comments
2024-12-18 19:11:13 +01:00
Erik Montnemery 51d63ba508 Store automatic backup flag in backup metadata (#133500) 2024-12-18 18:30:46 +01:00
Arie Catsman fc622e398f add exception translation to enphase_envoy (#132483) 2024-12-18 18:24:12 +01:00
peteS-UK 920de90603 Increase Squeezebox config_flow test coverage to 100% (#133484)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-18 18:22:22 +01:00
Joakim Plate a6089b497a Update fjäråskupan to 2.3.2 (#133499) 2024-12-18 18:03:27 +01:00
Erik Montnemery 5516f3609d Rename strategy backup to automatic backup (#133489)
* Rename strategy backup to automatic backup

* Update homeassistant/components/backup/config.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-12-18 17:35:11 +01:00
Joakim Plate a1558213c4 Update fjäråskupan to 2.3.1 (#133493) 2024-12-18 16:53:15 +01:00
Luke Lashley 2564533dae Update Roborock to 2.8.1 (#133492) 2024-12-18 16:22:39 +01:00
Noah Husby f46e764982 Update quality scale for Russound RIO (#133093) 2024-12-18 16:06:48 +01:00
dontinelli d6c201de4a Add exceptions and translations for slide_local (#133490) 2024-12-18 15:33:11 +01:00
mkmer c9f1829c0b Add (de)humidifier platform to Honeywell (#132287)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-18 15:27:40 +01:00
dontinelli 1e075cdac7 Add diagnostics to slide_local (#133488) 2024-12-18 15:21:17 +01:00
Philip Baylas fce6d6246f Change log level of connection failure to info (#132625)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-18 15:07:03 +01:00
Maciej Bieniek 3132700492 Add ability to translate ENUM sensor states in Unifi integration (#131921) 2024-12-18 15:02:44 +01:00
adam-the-hero 943b1d9f08 Add sensors platform to Watergate integration (#133015) 2024-12-18 14:52:25 +01:00
Markus Jacobsen 2d6d313e5c Complete adding custom integration action sections support to hassfest (#132443) 2024-12-18 14:50:12 +01:00
Guido Schmitz 9716183997 Add entity translations to devolo Home Control (#132927) 2024-12-18 14:38:29 +01:00
Andre Lengwenus a46a0ad2b4 Add device_id parameter to LCN actions (service calls) (#129590) 2024-12-18 14:35:02 +01:00
J. Diego Rodríguez Royo c06bc53724 Deprecate Home Connect program switches (#131641) 2024-12-18 14:26:37 +01:00
Bas Brussee 4399d09820 Allow data description in sections (#128965)
* Allow data description in sections

* update format with ruff

* Add data_description to kitchen_sink input section

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-12-18 14:02:08 +01:00
Abílio Costa ca2c7280eb Remove uneeded logger param from Idasen Desk Coordinator (#133485) 2024-12-18 13:59:56 +01:00
Erik Montnemery ecb3bf79f3 Revert "Add support for subentries to config entries" (#133470)
Revert "Add support for subentries to config entries (#117355)"

This reverts commit ad15786115.
2024-12-18 13:51:05 +01:00
Joost Lekkerkerker 2aba1d399b Rename test file to singular form (#133482) 2024-12-18 12:47:30 +00:00
greyeee be25cb7aa7 Add support for SwitchBot Relay Switch 1 and Relay Switch 1PM (#132327) 2024-12-18 13:19:45 +01:00
Mick Vleeshouwer 3bb6256572 Add test button for SmokeSensor in Overkiz (#133476) 2024-12-18 11:48:10 +01:00
Mick Vleeshouwer fc4100833e Change device class from Volume to Volume Storage in Overkiz (#133473)
Change device class from Volume to Volume Storage
2024-12-18 11:43:04 +01:00
Erik Montnemery 992afc4cd3 Set the with_strategy_settings to None for unknown backups (#133466) 2024-12-18 11:27:07 +01:00
Mick Vleeshouwer 7730f423b3 Add identify device class in Overkiz (#133474) 2024-12-18 11:22:32 +01:00
Mick Vleeshouwer 05b0c56191 Use enum instead of string for button entities key in Overkiz (#133472) 2024-12-18 11:22:22 +01:00
Mick Vleeshouwer fa0e54e658 Don't raise Overkiz user flow unique_id check (#133471) 2024-12-18 11:05:52 +01:00
Joakim Sørensen 869a0d7abc Add name to cloud connection info response (#133468) 2024-12-18 11:01:38 +01:00
dotvav 90208d2eb1 Bump pypalazzetti to 0.1.15 (#133433) 2024-12-18 10:58:25 +01:00
J. Diego Rodríguez Royo a6520d2627 Handle Home Connect error at diagnostics (#131644) 2024-12-18 10:52:45 +01:00
epenet 8b8c409916 Fix test-before-setup IQS check (#133467) 2024-12-18 10:44:19 +01:00
Ron Weikamp a2be5a383c Bugfix: also schedule time based integration when source is 0 (#133438)
* Bugfix also schedule time based integration when source is 0

* Update tests/components/integration/test_sensor.py

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

* Improve comment in test. Remove redundant assertion.

---------

Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2024-12-18 10:41:46 +01:00
Tomer Shemesh 39d781905d Add ssdp discovery to Onkyo (#131066) 2024-12-18 10:21:37 +01:00
Abílio Costa 5fb5e933e2 Use a common base entity for Idasen Desk (#132496)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-18 10:20:14 +01:00
Mick Vleeshouwer 413a578fdb Bump pyOverkiz to 1.15.3 (#133458) 2024-12-18 10:19:57 +01:00
Jan-Philipp Benecke c1cf0e23b2 Lift SABnzbd to bronze quality scale (#133453) 2024-12-18 10:10:42 +01:00
Noah Husby a449ca65be Improve test coverage for Russound RIO (#133096)
* Improve test coverage for Russound RIO

* Update

* Update
2024-12-18 09:33:17 +01:00
Arie Catsman 4c91d1b402 Add support for ACB batteries to Enphase Envoy (#131298)
* Add support for ACB batteries to Enphase Envoy

* Add tests for ACB battery support in ENphase Envoy

* make acb state sensordeviceclass ENUM

* Capitalize strings and use common idle
2024-12-18 08:48:37 +01:00
Noah Husby fab92d1cf8 Add reconfigure flow to Russound RIO (#133091)
* Add reconfigure flow to Russound RIO

* Mark reconfiguration flow as done

* Update

* Update
2024-12-18 08:40:27 +01:00
Assaf Inbal c10473844f Add sensors to Ituran integration (#133359)
Add sensors to Ituran
2024-12-18 08:36:42 +01:00
dependabot[bot] dfdd83789a Bump actions/upload-artifact from 4.4.3 to 4.5.0 (#133461) 2024-12-18 08:05:39 +01:00
J. Nick Koston 9bff9c5e7b Ensure screenlogic retries if the protocol adapter is still booting (#133444)
* Ensure screenlogic retries if the protocol adapter is still booting

If the protocol adapter is still booting, it will disconnect and never
retry

```
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 640, in __async_setup_with_context
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/screenlogic/__init__.py", line 65, in async_setup_entry
    await gateway.async_connect(**connect_info)
  File "/usr/local/lib/python3.13/site-packages/screenlogicpy/gateway.py", line 142, in async_connect
    connectPkg = await async_connect_to_gateway(
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ...<4 lines>...
    )
    ^
  File "/usr/local/lib/python3.13/site-packages/screenlogicpy/requests/login.py", line 107, in async_connect_to_gateway
    mac_address = await async_gateway_connect(transport, protocol, max_retries)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.13/site-packages/screenlogicpy/requests/login.py", line 77, in async_gateway_connect
    raise ScreenLogicConnectionError("Host unexpectedly disconnected.")
screenlogicpy.const.common.ScreenLogicConnectionError: Host unexpectedly disconnected.
```

* coverage
2024-12-17 20:57:43 -05:00
Abílio Costa e73512e11c Add integration_type to Idasen Desk (#132486)
* Add Idasen Desk quality scale record

* Update wrong checks

* Add integration_type to Idasen Desk
2024-12-17 23:49:04 +01:00
G Johansson 4c60e36f4f Add Get price service to Nord Pool (#130185)
* Add get_price service to Nord Pool

* Tests and fixes

* Fixes

* Not used fixtures

* update qs

* Fixes

* docstring

* Remove selector from strings

* Mod service
2024-12-17 21:59:20 +01:00
G Johansson f8cd6204ca Fix reconfigure in Nord Pool (#133431) 2024-12-17 21:30:49 +01:00
Jan-Philipp Benecke eae25023e7 Do not remove services when last config entry is unloaded in SABnzbd (#133449) 2024-12-17 21:27:41 +01:00
Klaas Schoute 21c3bf48f9 Allow only single instance of easyenergy integration (#133447) 2024-12-17 21:02:39 +01:00
Jan-Philipp Benecke 5014f305bf Mark docs-removal-instructions for SABnzbd as done (#133446) 2024-12-17 20:57:04 +01:00
benjamin-dcs b124ebeb1f Differentiate File integration entries by prefixing the title with the platform instead (#131016)
Differentiate File integration entries by prefixes the title with the platform
2024-12-17 20:54:30 +01:00
jimmyd-be 935bf3fb11 Bump renson-endura-delta to 1.7.2 (#129491) 2024-12-17 20:49:42 +01:00
Louis Christ 9c26654db7 Use entity services in bluesound integration (#129266) 2024-12-17 20:44:38 +01:00
Klaas Schoute c9ca1f63ea Allow only single instance of energyzero integration (#133443) 2024-12-17 20:44:24 +01:00
Jan-Philipp Benecke 5e5bebd7eb Remove unused constants from SABnzbd (#133445) 2024-12-17 20:43:53 +01:00
Richard Kroegel 8bbbbb00d5 Limit unique_id migration to platform for BMW (#131582) 2024-12-17 20:43:09 +01:00
Mick Vleeshouwer a7ba63bf86 Add missing CozyTouch servers to ConfigFlow expection handler in Overkiz (#131696) 2024-12-17 20:22:07 +01:00
G Johansson d785c4b0b1 Add optional category in OptionsFlow to holiday (#129514) 2024-12-17 20:20:26 +01:00
Mick Vleeshouwer e9e8228f07 Improve empty state handling for SomfyThermostat in Overkiz (#131700) 2024-12-17 20:18:16 +01:00
Erik Montnemery d22668a166 Don't run recorder data migration on new databases (#133412)
* Don't run recorder data migration on new databases

* Add tests
2024-12-17 20:02:12 +01:00
Erik Montnemery 633433709f Clean up backups after manual backup (#133434)
* Clean up backups after manual backup

* Address review comments
2024-12-17 20:00:02 +01:00
Artur Pragacz af1222e97b Distinct sources per zone in Onkyo (#130547) 2024-12-17 19:31:25 +01:00
epenet b5f6734197 Simplify modern_forms config flow (part 2) (#130494) 2024-12-17 19:23:54 +01:00
Kevin Stillhammer 98d5020690 Support units and filters in async_get_travel_times_service for waze_travel_time (#130776) 2024-12-17 18:00:23 +01:00
DrBlokmeister da85c497bf Add transmission download path to events + add_torrent service (#121371)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-17 17:48:54 +01:00
Norbert Rittel 1de8d63a63 Remove three duplicated space characters in strings.json (#133436) 2024-12-17 17:48:18 +01:00
Erik Montnemery 89eda9e068 Don't raise when removing non-existing cloud backup (#133429) 2024-12-17 17:47:17 +01:00
Norbert Rittel 3341e3d95b Fix two occurrences of "HomeAssistant" adding the missing space (#133435) 2024-12-17 17:43:56 +01:00
Erik Montnemery 25a63863cb Adapt hassio backup agent to supervisor changes (#133428) 2024-12-17 17:21:13 +01:00
Matthias Alphart 44a86f537f Add quality scale for Fronius (#131770) 2024-12-17 17:12:11 +01:00
Jan-Philipp Benecke d9fb5a7582 Record current IQS state for SABnzbd (#131656)
* Record current IQS state for SAbnzbd

* Convert review comments to IQS comments
2024-12-17 17:10:04 +01:00
Krisjanis Lejejs a14aca31e5 Add MFA login flow support for cloud component (#132497)
* Add MFA login flow support for cloud component

* Add tests for cloud MFA login

* Update code to reflect used package changes

* Update code to use underlying package changes

* Remove unused change

* Fix login required parameters

* Fix parameter validation

* Use cv.has_at_least_one_key for param validation

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-12-17 16:44:50 +01:00
Franck Nijhof 5b1c5bf9f6 Record current IQS scale for Tailwind (#133158)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-17 16:34:48 +01:00
Josef Zweck a9f6982ac0 Mark acaia as platinum quality (#131723)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-17 15:45:16 +01:00
Josef Zweck 9cc5f7ff84 Mark lamarzocco as platinum quality (#131609) 2024-12-17 15:41:34 +01:00
Franck Nijhof a5eb816dcf 2024.12.4 (#133422) 2024-12-17 15:28:28 +01:00
Erik Montnemery 4adfd52dc0 Improve hassio backup agent test coverage (#133426) 2024-12-17 15:08:03 +01:00
Erik Montnemery 8b3cd41396 Improve hassio backup agent test coverage (#133424) 2024-12-17 13:55:04 +01:00
Cyrill Raccaud 89946348df Add reconfigure to Cookidoo integration (#133144)
* add reconfigure

* merge steps

* comments
2024-12-17 13:54:07 +01:00
Erik Montnemery a4588c80d5 Bump aiohasupervisor to version 0.2.2b2 (#133417)
* Bump aiohasupervisor to version 0.2.2b2

* Update test
2024-12-17 13:18:26 +01:00
Franck Nijhof 517f3faa0a Bump version to 2024.12.4 2024-12-17 12:14:26 +00:00
G Johansson b4015805f7 Bump holidays to 0.63 (#133391) 2024-12-17 12:14:04 +00:00
Jonas Fors Lellky a56ad0273b Fix fan setpoints for flexit_bacnet (#133388) 2024-12-17 12:14:00 +00:00
Maciej Bieniek 2bc917c842 Bump imgw-pib to version 1.0.7 (#133364) 2024-12-17 12:13:57 +00:00
Michael 97f22b3a3d Allow load_verify_locations with only cadata passed (#133299) 2024-12-17 12:13:53 +00:00
J. Nick Koston a48a5adc81 Set code_arm_required to False for homekit_controller (#133284) 2024-12-17 12:13:50 +00:00
J. Nick Koston eb86b00dd4 Bump yalexs-ble to 2.5.5 (#133229)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.5.4...v2.5.5
2024-12-17 12:13:47 +00:00
Jan Bouwhuis e93256951e Bump incomfort-client to v0.6.4 (#133205) 2024-12-17 12:13:43 +00:00
Erik Montnemery 3b0ab421b0 Revert "Improve recorder history queries (#131702)" (#133203) 2024-12-17 12:11:13 +00:00
Erik Montnemery ca47253d81 Revert "Simplify recorder RecorderRunsManager" (#133201)
Revert "Simplify recorder RecorderRunsManager (#131785)"

This reverts commit cf0ee63507.
2024-12-17 12:08:41 +00:00
epenet e61142c2c2 Check if requirement is typed in strict_typing IQS validation (#133415)
* Check if requirement is typed in strict_typing IQS validation

* Apply suggestions from code review

* Apply suggestions from code review

* Return a list

* Adjust

* Improve
2024-12-17 12:53:27 +01:00
Avi Miller 9b0a489753 Bump aiolifx to 1.1.2 and add new HomeKit product prefixes (#133191)
Signed-off-by: Avi Miller <me@dje.li>
2024-12-17 11:44:54 +00:00
Conor Eager 9b02db008e Bump starlink-grpc-core to 1.2.1 to fix missing ping (#133183) 2024-12-17 11:44:50 +00:00
J. Nick Koston 223817a7fb Bump yalexs-ble to 2.5.4 (#133172) 2024-12-17 11:44:47 +00:00
G Johansson cdea9b5d3a Fix strptime in python_script (#133159)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-12-17 11:44:41 +00:00
Joost Lekkerkerker 8286ec9e60 Bump yt-dlp to 2024.12.13 (#133129) 2024-12-17 11:44:38 +00:00
rappenze cce7b9ac34 Fix fibaro climate hvac mode (#132508) 2024-12-17 11:44:34 +00:00
Erik Montnemery a42c0230c9 Simplify recorder RecorderRunsManager (#131785) 2024-12-17 11:44:30 +00:00
G Johansson 637614299c Fix strptime in python_script (#133159)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-12-17 12:41:18 +01:00
epenet 991864b38c Fix schema translation checks for nested config-flow sections (#133392) 2024-12-17 12:02:53 +01:00
Jonas Fors Lellky ce0117b2b8 Fix fan setpoints for flexit_bacnet (#133388) 2024-12-17 11:36:45 +01:00
Arie Catsman 084ef20695 Add quality_scale.yaml to enphase_envoy (#132489) 2024-12-17 11:33:04 +01:00
epenet 0dbd5bffe6 Fix incorrect schema in config tests (#133404) 2024-12-17 11:26:51 +01:00
G Johansson d8e853941a Bump holidays to 0.63 (#133391) 2024-12-17 11:10:38 +01:00
dotvav c0264f73b0 Add palazzetti status sensor (#131348)
* Add status sensor

* Lower the case of strings keys

* Make const Final

* Fix typo

* Fix typo

* Merge similar statuses

* Increase readability

* Update snapshot
2024-12-17 10:17:50 +01:00
Jan Bouwhuis ac6d718094 Fix mqtt reconfigure flow (#133315)
* FIx mqtt reconfigure flow

* Follow up on code review
2024-12-17 09:37:46 +01:00
Manu 9ca9e787b2 Add tests for Habitica integration (#131780)
* Add tests for Habitica integration

* update iqs
2024-12-17 09:07:18 +01:00
Vivien Chene fc9d32ef65 Fix issue when no data, where the integer sensor value is given a string (#132123)
* Fix issue when no data, where the integer sensor value is given a string

* Use None and not '0'
2024-12-17 08:57:43 +01:00
Marc Mueller 2d8e693cdb Update mypy-dev to 1.14.0a7 (#133390) 2024-12-17 07:34:59 +01:00
Ludovic BOUÉ 1512cd5fb7 Add Matter battery replacement description (#132974) 2024-12-17 00:03:32 +01:00
G Johansson 73e3e91af2 Nord Pool iqs platinum (#133389) 2024-12-16 23:54:56 +01:00
Dan Raper a374c7e4ca Add reauth flow to Ohme (#133275)
* Add reauth flow to ohme

* Reuse config flow user step for reauth

* Tidying up

* Add common _validate_account method for reauth and user config flow steps

* Add reauth fail test
2024-12-16 23:54:33 +01:00
Franck Nijhof 9cdc36681a Remove setup entry mock assert from LaMetric config flow (#133387) 2024-12-16 23:01:24 +01:00
Marc Mueller 8c67819f50 Update axis to v64 (#133385) 2024-12-16 22:40:00 +01:00
Michael Hansen 308200781f Add required domain to vacuum intents (#133166) 2024-12-16 21:49:15 +01:00
Franck Nijhof 3a622218f4 Improvements to the LaMetric config flow tests (#133383) 2024-12-16 21:47:31 +01:00
G Johansson 40182fc197 Load sun via entity component (#132598)
* Load sun via entity component

* Remove unique id

* Remove entity registry
2024-12-16 21:35:55 +01:00
dontinelli 2da7a93139 Add switch platform to local_slide (#133369) 2024-12-16 20:53:17 +01:00
Alexandre CUER 6a54edce19 Gives a friendly name to emoncms entities if unit is not specified (#133358) 2024-12-16 19:26:47 +01:00
Erik Montnemery 34ab3e033f Remove support for live recorder data post migration of entity IDs (#133370) 2024-12-16 19:23:05 +01:00
Simon e6e9788ecd Add quality scale to ElevenLabs (#133276) 2024-12-16 19:18:09 +01:00
Joakim Sørensen 482ad6fbee Increase backup upload timeout (#132990) 2024-12-16 19:12:15 +01:00
Maciej Bieniek 77fb440ed4 Bump imgw-pib to version 1.0.7 (#133364) 2024-12-16 19:06:06 +01:00
epenet 239767ee62 Set default min/max color temperature in mqtt lights (#133356) 2024-12-16 17:48:59 +01:00
Andrew Sayre cefb4a4ccc Add HEOS reconfigure flow (#133326)
* Add reconfig flow

* Add reconfigure tests

* Mark reconfigure_flow done

* Review feedback

* Update tests to always end in terminal state

* Correct test name and docstring
2024-12-16 10:08:14 -06:00
Åke Strandberg 5adb7f4542 Translate exception messages in myUplink (#131626)
* Translate exceptions

* Add one more translation

* Adding more translations

* Make message easier to understand for end-user

* Clarify message

* Address review comments
2024-12-16 15:42:15 +01:00
Erik Montnemery 14f4f8aeb5 Update hassio backup agents on mount added or removed (#133344)
* Update hassio backup agents on mount added or removed

* Address review comments
2024-12-16 15:37:29 +01:00
Maikel Punie a34992c0b5 Velbus add PARALLEL_UPDATES to all platforms (#133155) 2024-12-16 15:13:50 +01:00
Matthias Alphart 6f278fb856 Remove custom "unknown" state from Fronius Enum sensor (#133361) 2024-12-16 14:13:19 +01:00
Assaf Inbal a953abf5c3 Add reauth flow to Ituran (#132755) 2024-12-16 14:00:06 +01:00
Maikel Punie 38fdfba169 Velbus finish config-flow-test-coverage (#133149)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-16 13:56:17 +01:00
Åke Strandberg 0a0f482702 Update myuplink quality scale (#133083)
Updated documentation
2024-12-16 13:39:46 +01:00
Guido Schmitz cc27c95bad Use unique_id in devolo Home Network tests (#133147) 2024-12-16 13:35:55 +01:00
Franck Nijhof 836fd94a56 Record current IQS state for LaMetric (#133040) 2024-12-16 13:31:13 +01:00
Manu 34911a78bd Add Habitica quality scale record (#131429)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-16 13:17:38 +01:00
Abílio Costa 739832691e Add Idasen Desk quality scale record (#132368) 2024-12-16 13:14:01 +01:00
epenet cd2cc1d99f Reduce false-positives in test-before-setup IQS check (#133349) 2024-12-16 13:10:15 +01:00
epenet 4b3893eadf Set default min/max color temperature in homekit_controller lights (#133334) 2024-12-16 12:26:29 +01:00
jb101010-2 d062171be3 Suez_water: mark reached bronze scale level (#133352) 2024-12-16 12:19:21 +01:00
epenet 9667a12030 Set default min/max color temperature in matter lights (#133340) 2024-12-16 10:32:57 +01:00
Jan-Philipp Benecke d78a24ba33 Use ConfigEntry.runtime_data in Twitch (#133337)
* Use `ConfigEntry.runtime_data` in Twitch

* Process code review

* Process code review
2024-12-16 09:54:01 +01:00
epenet f2674f3262 Set default min/max color temperature in deconz lights (#133333) 2024-12-16 09:49:18 +01:00
Erik Montnemery 06f6869da5 Avoid string manipulations in hassio backup reader/writer (#133339) 2024-12-16 09:47:49 +01:00
epenet 22d03afb9b Set default min/max color temperature in wemo lights (#133338) 2024-12-16 09:08:37 +01:00
Franck Nijhof 3129151ea9 Merge branch 'master' into dev 2024-12-16 07:52:34 +00:00
Chris Talkington 4566ebbb3d Add reconfigure flow to Roku (#132986)
* add reconfigure flow to roku

* Update strings.json

* aimplify

* Apply suggestions from code review

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

* Update test_config_flow.py

* Update config_flow.py

* Update config_flow.py

---------

Co-authored-by: Josef Zweck <josef@zweck.dev>
2024-12-16 08:51:01 +01:00
epenet 5f2b1bd622 Set default min/max color temperature in demo lights (#133330) 2024-12-16 08:45:59 +01:00
epenet 909eb045cc Set default min/max color temperature in abode lights (#133331) 2024-12-16 08:27:10 +01:00
Marc Mueller 66dcd38701 Update docker base image to 2024.12.1 (#133323) 2024-12-16 08:10:37 +01:00
Paulus Schoutsen e24dc33259 Conversation: Use [] when we know key exists (#133305) 2024-12-15 21:45:50 +01:00
Josef Zweck 0030a970a1 Split coordinator in lamarzocco (#133208) 2024-12-15 21:31:18 +01:00
Josef Zweck 89387760d3 Cleanup tests for tedee (#133306) 2024-12-15 20:44:28 +01:00
Simone Chemelli 5cc8d9e105 Full test coverage for Vodafone Station button platform (#133281) 2024-12-15 20:27:19 +01:00
Allen Porter b77e42e8f3 Increase test coverage for google tasks init (#133252) 2024-12-15 20:23:56 +01:00
Matthias Alphart 81c12db6cd Fix missing Fronius data_description translation for reconfigure flow (#133304) 2024-12-15 20:19:56 +01:00
Jan Bouwhuis 2003fc7ae0 Adjust MQTT tests not to assert on deprecated color_temp attribute (#133198) 2024-12-15 19:42:54 +01:00
Allen Porter 6ca5f3e828 Mark Google Tasks test-before-setup quality scale rule as done (#133298) 2024-12-15 19:42:22 +01:00
Matthias Alphart be6ed05aa2 Improve Fronius tests (#132872) 2024-12-15 19:40:51 +01:00
Norbert Rittel 544ebcf310 Fix typo "configurered" in MQTT (#133295) 2024-12-15 19:35:50 +01:00
Bouwe Westerdijk 9e8a158c89 Bump plugwise to v1.6.4 and adapt (#133293) 2024-12-15 19:35:36 +01:00
J. Nick Koston e81add5a06 Set code_arm_required to False for homekit_controller (#133284) 2024-12-15 19:28:29 +01:00
G Johansson 6d6445bfcf Update quality scale for Nord Pool (#133282) 2024-12-15 19:28:10 +01:00
Michael e951511132 Allow load_verify_locations with only cadata passed (#133299) 2024-12-15 19:26:46 +01:00
Tomer Shemesh 2a49378f4c Refactor Onkyo tests to patch underlying pyeiscp library (#132653)
* Refactor Onkyo tests to patch underlying pyeiscp library instead of home assistant methods

* limit test patches to specific component, move atches into conftest

* use patch.multiple and restrict patches to specific component

* use side effect instead of mocking method
2024-12-15 10:27:17 -07:00
Allen Porter f069f340a3 Explicitly set PARALLEL_UPDATES for Google Tasks (#133296) 2024-12-15 17:53:36 +01:00
Conor Eager 042d4cd39b Bump starlink-grpc-core to 1.2.1 to fix missing ping (#133183) 2024-12-15 17:43:21 +01:00
G Johansson 51422a4502 Bump pynordpool 0.2.3 (#133277) 2024-12-15 17:41:43 +01:00
Norbert Rittel 95babbef21 Fix two typos in KEF strings (#133294) 2024-12-15 17:39:25 +01:00
Richard Kroegel b4b6067e8e Use typed BMWConfigEntry (#133272) 2024-12-15 14:41:35 +01:00
Dan Raper b13a54f605 Add button platform to Ohme (#133267)
* Add button platform and reauth flow

* CI fixes

* Test comment change

* Remove reauth from this PR

* Move is_supported_fn to OhmeEntityDescription

* Set parallel updates to 1

* Add coordinator refresh to button press

* Add exception handling to button async_press
2024-12-15 14:22:21 +01:00
Manu c2ee020eee Update quality scale documentation rules in IronOS integration (#133245) 2024-12-15 13:14:32 +01:00
Jan Bouwhuis 16ad2d52c7 Improve MQTT json color_temp validation (#133174)
* Improve MQTT json color_temp validation

* Revert unrelated changes and assert on logs

* Typo
2024-12-15 13:07:10 +01:00
Erik Montnemery 74e4654c26 Revert "Improve recorder history queries (#131702)" (#133203) 2024-12-15 12:28:32 +01:00
Matthias Alphart aa4b64386e Don't update existing Fronius config entries from config flow (#132886) 2024-12-15 12:25:35 +01:00
Claudio Ruggeri - CR-Tech 760c3ac98c Bump pymodbus version 3.7.4 (#133175)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-15 12:24:27 +01:00
Allen Porter 85ef2c0fb1 Mark Google Tasks action-exceptions quality scale as done (#133253) 2024-12-15 12:19:57 +01:00
Marc Mueller d1e466e615 Update elevenlabs to 1.9.0 (#133264) 2024-12-15 12:19:25 +01:00
Richard Kroegel 8953ac1357 Improve BMW translations (#133236) 2024-12-15 12:16:10 +01:00
Norbert Rittel ebc8ca8419 Replace "this" with "a" to fix Install Update action description (#133210) 2024-12-15 12:10:54 +01:00
Jan Bouwhuis 73cb3fa88d Fix lingering mqtt device_trigger unload entry test (#133202) 2024-12-15 11:55:33 +01:00
rappenze 14a61d94e2 Use entry.runtime_data in fibaro (#133235) 2024-12-15 11:49:23 +01:00
Manu 314076b85f Replace aiogithub dependency with pynecil update check (#133213) 2024-12-15 11:48:11 +01:00
rappenze 879d809e5a Enhance translation strings in fibaro (#133234) 2024-12-15 11:47:18 +01:00
Sid 412aa60e8f Fix enigma2 integration for devices not reporting MAC address (#133226) 2024-12-15 11:05:17 +01:00
Thomas55555 f8da2c3e5c Bump aioautomower to 2024.12.0 (#132962) 2024-12-15 11:04:11 +01:00
rappenze 80e4d7ee12 Fix fibaro climate hvac mode (#132508) 2024-12-15 11:02:26 +01:00
Marc Mueller af6948a911 Fix pydantic warnings in purpleair (#133247) 2024-12-15 10:34:33 +01:00
Avi Miller 9494128395 Bump aiolifx to 1.1.2 and add new HomeKit product prefixes (#133191)
Signed-off-by: Avi Miller <me@dje.li>
2024-12-15 11:24:41 +02:00
jb101010-2 1b2cf68e82 Suez_water: store coordinator in runtime_data (#133204)
* Suez_water: store coordinator in runtime_data

* jhfg
2024-12-15 09:46:14 +01:00
Arie Catsman 229a68dc73 set PARALLEL_UPDATES to 1 for enphase_envoy (#132373)
* set PARALLEL_UPDATES to 1 for enphase_envoy

* move PARALLEL_UPDATES from _init_ to platform files.

* Implement review feedback

* set parrallel_update 0 for read-only platforms
2024-12-15 09:27:14 +01:00
J. Nick Koston 2117e35d53 Bump yalexs-ble to 2.5.5 (#133229)
changelog: https://github.com/bdraco/yalexs-ble/compare/v2.5.4...v2.5.5
2024-12-14 23:06:26 +02:00
Matthias Alphart 74aa1a8f7e Update Fronius translations (#132876)
* Remove exception translation that's handled by configflow errors dict

* Remove entity name translations handled by device class

* Add data_description for Fronius config flow

* Remove unnecessary exception case

* review suggestion
2024-12-14 21:47:27 +01:00
Jan Bouwhuis 4dc1405e99 Bump incomfort-client to v0.6.4 (#133205) 2024-12-14 20:51:30 +01:00
Manu 35d5a16a3c Bump pynecil to 2.1.0 (#133211) 2024-12-14 20:47:06 +01:00
jb101010-2 79ecb4a87c Suez_water: add removal instructions (#133206) 2024-12-14 20:43:27 +01:00
YogevBokobza ff1df757b1 Switcher move _async_call_api to entity.py (#132877)
* Switcher move _async_call_api to entity.py

* fix based on requested changes

* fix based on requested changes
2024-12-14 21:06:36 +02:00
Dan Raper 9e2a3ea0e5 Add Ohme integration (#132574) 2024-12-14 18:12:44 +01:00
Erik Montnemery 980b8a91e6 Revert "Simplify recorder RecorderRunsManager" (#133201)
Revert "Simplify recorder RecorderRunsManager (#131785)"

This reverts commit cf0ee63507.
2024-12-14 14:21:19 +01:00
dontinelli d85d986075 Add button entity to slide_local (#133141)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-12-14 12:19:42 +01:00
dontinelli 06391d4635 Add reconfiguration to slide_local (#133182)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-12-14 12:10:28 +01:00
Sid ca1bcbf5d5 Bump openwebifpy to 4.3.0 (#133188) 2024-12-14 12:07:38 +01:00
Joost Lekkerkerker d2dfba3116 Improve Slide Local device tests (#133197) 2024-12-14 12:00:28 +01:00
IceBotYT bce6127264 Bump nice-go to 1.0.0 (#133185)
* Bump Nice G.O. to 1.0.0

* Mypy

* Pytest
2024-12-14 09:36:15 +01:00
J. Nick Koston 165ca5140c Bump uiprotect to 7.0.2 (#132975) 2024-12-13 20:05:41 -06:00
J. Nick Koston 1aabbec3dd Bump yalexs-ble to 2.5.4 (#133172) 2024-12-13 22:37:26 +01:00
Sid 0c8db8c8d6 Add eheimdigital integration (#126757)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-13 22:29:18 +01:00
Michael Hansen f06fda8023 Add response slot to HassRespond intent (#133162) 2024-12-13 15:19:43 -05:00
Michael Hansen 50b897bdaa Add STT error code for cloud authentication failure (#133170) 2024-12-13 14:59:46 -05:00
Franck Nijhof e13fa8346a Update debugpy to 1.8.11 (#133169) 2024-12-13 20:15:05 +01:00
Sid 8b6495f456 Bump ruff to 0.8.3 (#133163) 2024-12-13 19:06:44 +01:00
Franck Nijhof a812b594aa Fix Tailwind config entry typing in async_unload_entry signature (#133153) 2024-12-13 16:55:30 +01:00
epenet 1fbe880c5f Deprecate light constants (#132680)
* Deprecate light constants

* Reference deprecated values in MQTT light

* Reference deprecated values in test_recorder

* Adjust

* Adjust

* Add specific test
2024-12-13 16:52:47 +01:00
Jan Bouwhuis 97da8481d2 Add reconfigure flow to MQTT (#132246)
* Add reconfigure flow for MQTT integration

* Add test and translation strings

* Update quality scale configuration

* Do not cache ConfigEntry in flow

* Make sorce condition explictit

* Rework from suggested changes

* Do not allow reconfigure_entry and reconfigure_entry_data to be `None`
2024-12-13 16:11:45 +01:00
Maikel Punie f03f24f036 Velbus test before setup (#133069)
* Velbus test before setup

* Update homeassistant/components/velbus/__init__.py

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

* Add the connect named argument to make it clear we are testing the connection

* Correctly cleanup after the test

* Sync code for velbusaio 2024.12.2

* follow up

* rename connect_task to scan_task

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-13 16:05:20 +01:00
Christopher Fenner 5f91676df0 Bump PyViCare to 2.38.0 (#133126) 2024-12-13 16:02:13 +01:00
dontinelli d6c81830a4 Fix missing password for slide_local (#133142) 2024-12-13 15:42:40 +01:00
epenet 8080ad14bf Add warning when light entities do not provide kelvin attributes or properties (#132723) 2024-12-13 15:34:02 +01:00
Klaas Schoute 067daad70e Set quality scale to silver for Powerfox integration (#133095) 2024-12-13 15:29:34 +01:00
Guido Schmitz 579ac01eb1 Fix typos in devolo Home Network tests (#133139) 2024-12-13 15:26:02 +01:00
Maikel Punie 5d8e997319 Bump velbusaio to 2024.12.2 (#133130)
* Bump velbusaio to 2024.12.2

* mistakely pushed this file
2024-12-13 13:49:00 +01:00
Cyrill Raccaud fe46fd24bd Improve data description and title for Cookidoo integration (#133106)
* fix data description typo for cookidoo

* use placeholder for cookidoo as it is non-translatable

* set title of language step

* fix for reauth

* fix reauth
2024-12-13 13:34:17 +01:00
Joost Lekkerkerker b4e065d331 Bump yt-dlp to 2024.12.13 (#133129) 2024-12-13 13:30:22 +01:00
epenet a131497e1f Reduce functools.partial with ServiceCall.hass in easyenergy (#133133) 2024-12-13 13:30:05 +01:00
epenet 4a5e47d2f0 Replace functools.partial with ServiceCall.hass in tibber (#133132) 2024-12-13 13:29:42 +01:00
epenet c7adc98408 Replace functools.partial with ServiceCall.hass in unifiprotect (#133131) 2024-12-13 13:28:54 +01:00
epenet f816a0667c Reduce functools.partial with ServiceCall.hass in energyzero (#133134) 2024-12-13 13:28:11 +01:00
Franck Nijhof 684667e8e7 Update open-meteo to v0.3.2 (#133122) 2024-12-13 13:24:46 +01:00
Jan-Philipp Benecke d658073246 Make Twitch sensor state and attributes translatable (#133127) 2024-12-13 13:01:55 +01:00
Martijn Russchen 81c8d7153b Push Nibe package to 2.14.0 (#133125) 2024-12-13 12:50:50 +01:00
Franck Nijhof 46db3964f3 2024.12.3 (#133123) 2024-12-13 12:16:14 +01:00
Marc Mueller 7e2d3eb482 Add contact vip info to fritzbox_callmonitor sensor (#132913) 2024-12-13 11:59:55 +01:00
Ludovic BOUÉ c0f6535d11 Fix typo in WaterHeaterEntityDescription name (#132888) 2024-12-13 11:11:47 +01:00
Franck Nijhof 9b83a00285 Bump version to 2024.12.3 2024-12-13 11:04:47 +01:00
Joost Lekkerkerker 9a7fda5b25 Bump aiowithings to 3.1.4 (#133117) 2024-12-13 11:04:34 +01:00
Robert Resch f9bdc29546 Bump deebot-client to 9.4.0 (#133114) 2024-12-13 11:04:31 +01:00
Brandon Rothweiler d9bb1f6035 Bump py-aosmith to 1.0.12 (#133100) 2024-12-13 11:04:28 +01:00
David Bonnes 01359b32c4 Bugfix to use evohome's new hostname (#133085) 2024-12-13 11:04:25 +01:00
jb101010-2 d0c00aaa67 Bump pysuezV2 to 1.3.5 (#133076) 2024-12-13 11:04:22 +01:00
Bram Kragten 73465a7aa8 Update frontend to 20241127.8 (#133066) 2024-12-13 11:04:19 +01:00
Franck Nijhof ed03c0a294 Fix LaMetric config flow for cloud import path (#133039) 2024-12-13 11:04:16 +01:00
Michael Hansen b38a7186d2 Change warning to debug for VAD timeout (#132987) 2024-12-13 11:04:13 +01:00
J. Nick Koston 31348930cc Bump led-ble to 1.1.1 (#132977)
changelog: https://github.com/Bluetooth-Devices/led-ble/compare/v1.0.2...v1.1.1
2024-12-13 11:04:09 +01:00
Simone Chemelli 83e1353c01 Guard Vodafone Station updates against bad data (#132921)
guard Vodafone Station updates against bad data
2024-12-13 11:04:07 +01:00
Simone Chemelli ede9c3ecd2 fix AndroidTV logging when disconnected (#132919) 2024-12-13 11:04:04 +01:00
Michael Hansen c08ffcff9b Fix pipeline conversation language (#132896) 2024-12-13 11:04:01 +01:00
Stefano Angeleri 038115fea2 Bump pydaikin to 2.13.8 (#132759) 2024-12-13 11:03:58 +01:00
Simon Lamon 4e5ceb3aa4 Bump python-linkplay to v0.1.1 (#132091) 2024-12-13 11:03:53 +01:00
Cyrill Raccaud 91f7afc2c5 Cookidoo reauth config flow for silver (#133110)
* reauth

* add check for duplicate email in reauth

* fix reauth double email check

* parametrize tests

* check reauth double entry data as well
2024-12-13 10:40:23 +01:00
Allen Porter 7f3373d233 Add a quality scale for Google Tasks (#131497)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-13 10:27:35 +01:00
Joost Lekkerkerker c0ef60bb98 Bump aiowithings to 3.1.4 (#133117) 2024-12-13 10:22:46 +01:00
Franck Nijhof fb5cca877b Fix failing CI due to Russound Rio incorrect IQS (#133118) 2024-12-13 10:12:35 +01:00
G Johansson 8cde404997 Raise issue for deprecated imperial unit system (#130979) 2024-12-13 10:05:46 +01:00
epenet 8b579d83ce Add data/data_description translation checks (#131705) 2024-12-13 09:50:10 +01:00
epenet f7b6f4b927 Replace functools.partial with ServiceCall.hass in knx (#133111) 2024-12-13 09:48:24 +01:00
Jan Rieger 3d93561e0a Remove native_unit_of_measurement from rfxtrx counters (#133108) 2024-12-13 09:47:39 +01:00
Andrew Sayre 566843591e Remove HEOS yaml import (#133082) 2024-12-13 09:46:52 +01:00
Robert Resch 2cd4ebbfb2 Bump deebot-client to 9.4.0 (#133114) 2024-12-13 09:45:38 +01:00
Stefan Agner 9ab69aa41c Add mWh as unit of measurement for Matter energy sensors (#133005) 2024-12-13 09:33:58 +01:00
epenet a0e49ebc97 Use internal min/max mireds in template (#133113) 2024-12-13 09:33:40 +01:00
epenet 899fb091fc Simplify access to hass in service calls (#133062) 2024-12-13 09:31:21 +01:00
Maikel Punie f9f37b9932 Velbus docs quality bump (#133070) 2024-12-13 09:23:53 +01:00
Marc Mueller e4cca3fe40 Update devcontainer to Python 3.13 (#132313) 2024-12-13 09:22:01 +01:00
Martin Weinelt 11b65b1eb3 Bump watchdog to 6.0.0 (#132895) 2024-12-13 09:21:14 +01:00
jb101010-2 e3d14e6993 Bump pysuezV2 to 1.3.5 (#133076) 2024-12-13 09:01:48 +01:00
Åke Strandberg 53439d6e2a Handle step size correctly in myuplink number platform (#133016) 2024-12-13 08:55:44 +01:00
David Bonnes de89be0512 Bugfix to use evohome's new hostname (#133085) 2024-12-13 08:54:14 +01:00
Brandon Rothweiler 8bd2c183e2 Bump py-aosmith to 1.0.12 (#133100) 2024-12-13 08:46:15 +01:00
epenet 263eb41e79 Remove unused constant from blink (#133109) 2024-12-13 08:24:18 +01:00
Klaas Schoute 0ffb588d5c Move config entry type of energyzero integration (#133094)
Move config_entry type to coordinator file
2024-12-13 07:53:25 +01:00
dependabot[bot] 09b06f839d Bump github/codeql-action from 3.27.7 to 3.27.9 (#133104) 2024-12-13 07:47:40 +01:00
epenet 72cc1f4d39 Use correct ATTR_KELVIN constant in yeelight tests (#133088) 2024-12-13 06:51:55 +01:00
Allen Porter 2af5c5ecda Update Rainbird quality scale grading on the Silver quality checks (#131498)
* Grade Rainbird on the Silver quality scale

* Remove done comments

* Update quality_scale.yaml

* Update config-flow-test-coverage
2024-12-12 20:26:30 -08:00
epenet bf9788b9c4 Fix CI failure in russound_rio (#133081)
* Fix CI in russound_rio

* Adjust
2024-12-12 22:16:28 +01:00
epenet 2cff7526d0 Add test-before-setup rule to quality_scale validation (#132255)
* Add test-before-setup rule to quality_scale validation

* Use ast_parse_module

* Add rules_done

* Add Config argument
2024-12-12 22:15:49 +01:00
Franck Nijhof 61b1b50c34 Improve Solar.Forecast configuration flow tests (#133077) 2024-12-12 21:19:05 +01:00
epenet aa7e024853 Migrate lifx light tests to use Kelvin (#133020) 2024-12-12 21:17:52 +01:00
epenet d02bceb6f3 Migrate alexa color_temp handlers to use Kelvin (#132995) 2024-12-12 21:17:31 +01:00
epenet b9a7307df8 Refactor light reproduce state to use kelvin attribute (#132854) 2024-12-12 21:17:05 +01:00
Noah Husby d79dc8d22f Add source zone exclusion to Russound RIO (#130392)
* Add source zone exclusion to Russound RIO

* Ruff format
2024-12-12 22:13:37 +02:00
Franck Nijhof 839f06b2dc Small improvements to the AdGuard tests (#133073) 2024-12-12 21:12:11 +01:00
Maikel Punie 3baa432bae Use runtime_data in velbus (#132988) 2024-12-12 20:48:01 +01:00
epenet b189bc6146 Migrate smartthings light tests to use Kelvin (#133022) 2024-12-12 20:38:49 +01:00
epenet 708084d300 Migrate switch_as_x light tests to use Kelvin (#133023) 2024-12-12 20:38:13 +01:00
epenet 7c9992f5d3 Migrate demo light tests to use Kelvin (#133003) 2024-12-12 20:37:32 +01:00
Franck Nijhof 483688dba2 Promote Twente Milieu quality scale to silver (#133074) 2024-12-12 20:32:59 +01:00
epenet e276f8ee89 Migrate zwave_js light tests to use Kelvin (#133034) 2024-12-12 20:32:39 +01:00
epenet de35bfce77 Migrate yeelight light tests to use Kelvin (#133033) 2024-12-12 20:29:15 +01:00
epenet f0391f4963 Migrate tradfri light tests to use Kelvin (#133030) 2024-12-12 20:28:42 +01:00
epenet fd811c85e9 Migrate wemo light tests to use Kelvin (#133031) 2024-12-12 20:28:08 +01:00
Cyrill Raccaud 56db536883 Add Cookidoo integration (#129800) 2024-12-12 20:23:14 +01:00
epenet 55fa717f10 Migrate flux_led light tests to use Kelvin (#133009) 2024-12-12 20:18:27 +01:00
dontinelli c164507952 Add new integration slide_local (#132632)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-12 20:18:19 +01:00
epenet 798f3a34f3 Migrate abode light tests to use Kelvin (#133001) 2024-12-12 20:17:45 +01:00
epenet a358491970 Migrate wiz light tests to use Kelvin (#133032) 2024-12-12 20:16:54 +01:00
Erik Montnemery ad15786115 Add support for subentries to config entries (#117355)
* Add support for subentries to config entries

* Improve error handling and test coverage

* Include subentry_id in subentry containers

* Auto-generate subentry_id and add optional unique_id

* Tweak

* Update tests

* Fix stale docstring

* Address review comments

* Typing tweaks

* Add methods to ConfigEntries to add and remove subentry

* Improve ConfigSubentryData typed dict

* Update test snapshots

* Adjust tests

* Fix unique_id logic

* Allow multiple subentries with None unique_id

* Add number of subentries to config entry JSON representation

* Add subentry translation support

* Allow integrations to implement multiple subentry flows

* Update translations schema

* Adjust exception text

* Change subentry flow init step to user

* Prevent creating a subentry with colliding unique_id

* Update tests

* Address review comments

* Remove duplicaetd unique_id collision check

* Remove change from the future

* Improve test coverage

* Add default value for unique_id
2024-12-12 20:16:18 +01:00
Marc Mueller 32c1b519ad Improve auth generic typing (#133061) 2024-12-12 20:14:56 +01:00
Klaas Schoute ce70cb9e33 Use ConfigEntry runtime_data in easyEnergy (#133053) 2024-12-12 20:13:41 +01:00
epenet 40c3dd2095 Migrate group light tests to use Kelvin (#133010) 2024-12-12 20:08:07 +01:00
Franck Nijhof 3c7502dd5d Explicitly pass config entry to coordinator in Tailwind (#133065) 2024-12-12 19:46:35 +01:00
Franck Nijhof b8ce1b010f Update demetriek to v1.1.0 (#133064) 2024-12-12 19:39:24 +01:00
Andrew Sayre 1205178702 Add HEOS quality scale (#132311) 2024-12-12 19:32:00 +01:00
Bram Kragten a6b785d937 Update frontend to 20241127.8 (#133066) 2024-12-12 19:11:07 +01:00
Martin Hjelmare 39e4719a43 Fix backup strategy retention filter (#133060)
* Fix lint

* Update tests

* Fix backup strategy retention filter
2024-12-12 18:47:37 +01:00
epenet e7a43cfe09 Migrate deconz light tests to use Kelvin (#133002) 2024-12-12 18:13:24 +01:00
Maikel Punie 0726809228 Bump velbusaio to 2024.12.1 (#133056) 2024-12-12 17:00:11 +01:00
Erik Montnemery 3d201690ce Fix load of backup store (#133024)
* Fix load of backup store

* Tweak type annotations in test

* Fix tests

* Remove the new test

* Remove snapshots
2024-12-12 16:54:21 +01:00
epenet 0b18e51a13 Remove reference to self.min/max_mireds in mqtt light (#133055) 2024-12-12 16:49:50 +01:00
epenet 2ce2765e67 Adjust light test helpers to use Kelvin, and cleanup unused helpers (#133048)
Cleanup light test helper methods
2024-12-12 16:49:25 +01:00
epenet 33c799b2d0 Migrate mqtt light tests to use Kelvin (#133035) 2024-12-12 16:42:10 +01:00
Marc Mueller 5c6e4ad191 Use PEP 695 TypeVar syntax (#133049) 2024-12-12 16:01:57 +01:00
Marc Mueller 0a748252e7 Improve Callable annotations (#133050) 2024-12-12 15:14:28 +01:00
epenet 839312c65c Migrate homekit light tests to use Kelvin (#133011) 2024-12-12 15:11:52 +01:00
epenet 37f2bde6f5 Migrate esphome light tests to use Kelvin (#133008) 2024-12-12 15:11:34 +01:00
epenet 6d042d987f Migrate emulated_hue light tests to use Kelvin (#133006) 2024-12-12 15:11:13 +01:00
Robert Resch 006b3b0e22 Bump uv to 0.5.8 (#133036) 2024-12-12 14:51:15 +01:00
Franck Nijhof f05d18ea70 Small test improvements to Tailwind tests (#133051) 2024-12-12 14:42:05 +01:00
Sid dc18e62e1e Bump ruff to 0.8.2 (#133041) 2024-12-12 14:38:55 +01:00
Marc Mueller 4b5d717898 Fix music_assistant decorator typing (#133044) 2024-12-12 14:35:11 +01:00
Franck Nijhof 8e15287662 Add data descriptions to Twente Milieu config flow (#133046) 2024-12-12 14:26:34 +01:00
Marc Mueller 2e133df549 Improve husqvarna_automower decorator typing (#133047) 2024-12-12 14:26:17 +01:00
Krisjanis Lejejs c18cbf5994 Bump hass-nabucasa from 0.86.0 to 0.87.0 (#133043) 2024-12-12 14:25:54 +01:00
Franck Nijhof bcaf1dc20b Clean up Elgato config flow tests (#133045) 2024-12-12 14:24:38 +01:00
Franck Nijhof 6005b6d01c Explicitly pass config entry to coordinator in Elgato (#133014)
* Explicitly pass config entry to coordinator in Elgato

* Make it noice!

* Apply suggestions from code review

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

* Adjustment from review comment

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-12 13:55:57 +01:00
epenet 7bdf034b93 Migrate template light tests to use Kelvin (#133025) 2024-12-12 13:54:22 +01:00
Franck Nijhof 5c80ddb891 Fix LaMetric config flow for cloud import path (#133039) 2024-12-12 13:49:17 +01:00
Erik Montnemery 85d4572a17 Adjust backup agent platform (#132944)
* Adjust backup agent platform

* Adjust according to discussion

* Clean up the local agent dict too

* Add test

* Update kitchen_sink

* Apply suggestions from code review

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

* Adjust tests

* Clean up

* Fix kitchen sink reload

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-12-12 13:41:56 +01:00
Franck Nijhof f2aaf2ac4a Small test cleanups in Twente Milieu (#133028) 2024-12-12 12:55:25 +01:00
epenet 52491bb75e Migrate tplink light tests to use Kelvin (#133026) 2024-12-12 12:52:01 +01:00
Simone Chemelli ded7cee6e5 fix AndroidTV logging when disconnected (#132919) 2024-12-12 11:42:00 +01:00
Klaas Schoute 0006672489 Improve diagnostics code of EnergyZero integration (#133019) 2024-12-12 11:39:55 +01:00
Klaas Schoute a9d71e0a5f Add reconfigure flow for Powerfox integration (#132260) 2024-12-12 11:34:36 +01:00
epenet 0e45ccb956 Migrate google_assistant color_temp handlers to use Kelvin (#132997) 2024-12-12 11:13:24 +01:00
Franck Nijhof 7dc31dec3b Fix config entry import in Twente Milieu diagnostic (#133017) 2024-12-12 10:52:03 +01:00
Erik Montnemery a30c942fa7 Don't use kitchen_sink integration in config entries tests (#133012) 2024-12-12 10:42:27 +01:00
Klaas Schoute d49b1b2d6b Use ConfigEntry runtime_data in EnergyZero (#132979) 2024-12-12 10:28:41 +01:00
Maikel Punie 4a7039f51d Bump velbusaio to 2024.12.0 (#132989) 2024-12-12 10:25:21 +01:00
Franck Nijhof 0377dc5b5a Move coordinator for TwenteMilieu into own module (#133000) 2024-12-12 10:18:11 +01:00
epenet bb610acb86 Migrate elgato light tests to use Kelvin (#133004) 2024-12-12 09:53:55 +01:00
Franck Nijhof 85d4c48d6f Set parallel updates in Elgato (#132998) 2024-12-12 09:53:26 +01:00
Michael Hansen 053f03ac58 Change warning to debug for VAD timeout (#132987) 2024-12-12 09:03:05 +01:00
Chris Talkington 0d4780e91b Set parallel updates for roku (#132892)
* Set parallel updates for roku

* Update sensor.py

* Update media_player.py

* Update remote.py

* Update select.py

* Update media_player.py

* Update remote.py

* Update select.py

* Update remote.py

* Update media_player.py
2024-12-12 08:00:24 +01:00
Noah Husby 2d0c4e4a59 Improve config flow test coverage for Russound RIO (#132981) 2024-12-12 07:56:29 +01:00
Noah Husby e39897ff9a Enforce strict typing for Russound RIO (#132982) 2024-12-12 07:55:29 +01:00
Tom 7e071d1fc6 Introduce parallel updates for Plugwise (#132940)
* Plugwise indicate parallel updates

* Update homeassistant/components/plugwise/number.py

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

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-12 07:49:08 +01:00
Christopher Fenner b02ccd0813 Add missing body height icon in Withings integration (#132991)
Update icons.json
2024-12-12 07:47:57 +01:00
J. Nick Koston eea781f34a Bump led-ble to 1.1.1 (#132977)
changelog: https://github.com/Bluetooth-Devices/led-ble/compare/v1.0.2...v1.1.1
2024-12-11 23:46:31 -05:00
Åke Strandberg 95f48963d4 Set strict typing for myuplink (#132972)
Set strict typing
2024-12-11 23:11:11 +01:00
Åke Strandberg 4c5965ffc9 Add reconfiguration flow to myuplink (#132970)
* Add reconfiguration flow

* Tick reconfiguration-flow rule
2024-12-11 22:47:14 +01:00
Erik Montnemery 8e991fc92f Merge feature branch with backup changes to dev (#132954)
* Reapply "Make WS command backup/generate send events" (#131530)

This reverts commit 9b8316df3f.

* MVP implementation of Backup sync agents (#126122)

* init sync agent

* add syncing

* root import

* rename list to info and add sync state

* Add base backup class

* Revert unneded change

* adjust tests

* move to kitchen_sink

* split

* move

* Adjustments

* Adjustment

* update

* Tests

* Test unknown agent

* adjust

* Adjust for different test environments

* Change /info WS to contain a dictinary

* reorder

* Add websocket command to trigger sync from the supervisor

* cleanup

* Make mypy happier

---------

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

* Make BackupSyncMetadata model a dataclass (#130555)

Make backup BackupSyncMetadata model a dataclass

* Rename backup sync agent to backup agent (#130575)

* Rename sync agent module to agent

* Rename BackupSyncAgent to BackupAgent

* Fix test typo

* Rename async_get_backup_sync_agents to async_get_backup_agents

* Rename and clean up remaining sync things

* Update kitchen sink

* Apply suggestions from code review

* Update test_manager.py

---------

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

* Add additional options to WS command backup/generate (#130530)

* Add additional options to WS command backup/generate

* Improve test

* Improve test

* Align parameter names in backup/agents/* WS commands (#130590)

* Allow setting password for backups (#110630)

* Allow setting password for backups

* use is_hassio from helpers

* move it

* Fix getting psw

* Fix restoring with psw

* Address review comments

* Improve docstring

* Adjust kitchen sink

* Adjust

---------

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

* Export relevant names from backup integration (#130596)

* Tweak backup agent interface (#130613)

* Tweak backup agent interface

* Adjust kitchen_sink

* Test kitchen sink backup (#130609)

* Test agents_list_backups

* Test agents_info

* Test agents_download

* Export Backup from manager

* Test agents_upload

* Update tests after rebase

* Use backup domain

* Remove WS command backup/upload (#130588)

* Remove WS command backup/upload

* Disable failing kitchen_sink test

* Make local backup a backup agent (#130623)

* Make local backup a backup agent

* Adjust

* Adjust

* Adjust

* Adjust tests

* Adjust

* Adjust

* Adjust docstring

* Adjust

* Protect members of CoreLocalBackupAgent

* Remove redundant check for file

* Make the backup.create service use the first local agent

* Add BackupAgent.async_get_backup

* Fix some TODOs

* Add support for downloading backup from a remote agent

* Fix restore

* Fix test

* Adjust kitchen_sink test

* Remove unused method BackupManager.async_get_backup_path

* Re-enable kitchen sink test

* Remove BaseBackupManager.async_upload_backup

* Support restore from remote agent

* Fix review comments

* Include backup agent error in response to WS command backup/info (#130884)

* Adjust code related to WS command backup/info (#130890)

* Include backup agent error in response to WS command backup/details (#130892)

* Remove LOCAL_AGENT_ID constant from backup manager (#130895)

* Add backup config storage (#130871)

* Add base for backup config

* Allow updating backup config

* Test loading backup config

* Add backup config update method

* Add temporary check for BackupAgent.async_remove_backup (#130893)

* Rename backup slug to backup_id (#130902)

* Improve backup websocket API tests (#130912)

* Improve backup websocket API tests

* Add missing snapshot

* Fix tests leaving files behind

* Improve backup manager backup creation tests (#130916)

* Remove class backup.backup.LocalBackup (#130919)

* Add agent delete backup (#130921)

* Add backup agent delete backup

* Remove agents delete websocket command

* Update docstring

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

---------

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

* Disable core local backup agent in hassio (#130933)

* Rename remove backup to delete backup (#130940)

* Rename remove backup to delete backup

* Revert "backup/delete"

* Refactor BackupManager (#130947)

* Refactor BackupManager

* Adjust

* Adjust backup creation

* Copy in executor

* Fix BackupManager.async_get_backup (#130975)

* Fix typo in backup tests (#130978)

* Adjust backup NewBackup class (#130976)

* Remove class backup.BackupUploadMetadata (#130977)

Remove class backup.BackupMetadata

* Report backup size in bytes instead of MB (#131028)

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

* Speed up CI for feature branch (#131030)

* Speed up CI for feature branch

* adjust

* fix

* fix

* fix

* fix

* Rename remove to delete in backup websocket type (#131023)

* Revert "Speed up CI for feature branch" (#131074)

Revert "Speed up CI for feature branch (#131030)"

This reverts commit 791280506d1859b1a722f5064d75bcbe48acc1c3.

* Rename class BaseBackup to AgentBackup (#131083)

* Rename class BaseBackup to AgentBackup

* Update tests

* Speed up CI for backup feature branch (#131079)

* Add backup platform to the hassio integration (#130991)

* Add backup platform to the hassio integration

* Add hassio to after_dependencies of backup

* Address review comments

* Remove redundant hassio parametrization of tests

* Add tests

* Address review comments

* Bump CI cache version

* Revert "Bump CI cache version"

This reverts commit 2ab4d2b1795c953ccfc9b17c47f9df3faac83749.

* Extend backup info class AgentBackup (#131110)

* Extend backup info class AgentBackup

* Update kitchen sink

* Update kitchen sink test

* Update kitchen sink test

* Exclude cloud and hassio from core files (#131117)

* Remove unnecessary **kwargs from backup API (#131124)

* Fix backup tests (#131128)

* Freeze backup dataclasses (#131122)

* Protect CoreLocalBackupAgent.load_backups (#131126)

* Use backup metadata v2 in core/container backups (#131125)

* Extend backup creation API (#131121)

* Extend backup creation API

* Add tests

* Fix merge

* Fix merge

* Return agent errors when deleting a backup (#131142)

* Return agent errors when deleting a backup

* Remove redundant calls to dict.keys()

* Add enum type for backup folder (#131158)

* Add method AgentBackup.from_dict (#131164)

* Remove WS command backup/agents/list_backups (#131163)

* Handle backup schedule (#131127)

* Add backup schedule handling

* Fix unrelated incorrect type annotation in test

* Clarify delay save

* Make the backup time compatible with the recorder nightly job

* Update create backup parameters

* Use typed dict for create backup parameters

* Simplify schedule state

* Group create backup parameters

* Move parameter

* Fix typo

* Use Folder model

* Handle deserialization of folders better

* Fail on attempt to include addons or folders in core backup (#131204)

* Fix AgentBackup test (#131201)

* Add options to WS command backup/restore (#131194)

* Add options to WS command backup/restore

* Add tests

* Fix test

* Teach core backup to restore only database or only settings (#131225)

* Exclude tmp_backups/*.tar from backups (#131243)

* Add WS command backup/subscribe_events (#131250)

* Clean up temporary directory after restoring backup (#131263)

* Improve hassio backup agent list (#131268)

* Include `last_automatic_backup` in reply to backup/info (#131293)

Include last_automatic_backup in reply to backup/info

* Handle backup delete after config (#131259)

* Handle delete after copies

* Handle delete after days

* Add some test examples

* Test config_delete_after_logic

* Test config_delete_after_copies_logic

* Test more delete after days

* Add debug logs

* Always delete the oldest backup first

* Never remove the last backup

* Clean up words

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

* Fix after cleaning words

* Use utcnow

* Remove duplicate guard

* Simplify sorting

* Delete backups even if there are agent errors on get backups

---------

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

* Rename backup delete after to backup retention (#131364)

* Rename backup delete after to backup retention

* Tweak

* Remove length limit on `agent_ids` when configuring backup (#132057)

Remove length limit on agent_ids when configuring backup

* Rename backup retention_config to retention (#132068)

* Modify backup agent API to be stream oriented (#132090)

* Modify backup agent API to be stream oriented

* Fix tests

* Adjust after code review

* Remove no longer needed pylint override

* Improve test coverage

* Change BackupAgent API to work with AsyncIterator objects

* Don't close files in the event loop

* Don't close files in the event loop

* Fix backup manager create backup log (#132174)

* Fix debug log level (#132186)

* Add cloud backup agent (#129621)

* Init cloud backup sync

* Add more metadata

* Fix typo

* Adjust to base changes

* Don't raise on list if more than one backup is available

* Adjust to base branch

* Fetch always and verify on download

* Update homeassistant/components/cloud/backup.py

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

* Adjust to base branch changes

* Not required anymore

* Workaround

* Fix blocking event loop

* Fix

* Add some tests

* some tests

* Add cloud backup delete functionality

* Enable check

* Fix ruff

* Use fixture

* Use iter_chunks instead

* Remove read

* Remove explicit export of read_backup

* Align with BackupAgent API changes

* Improve test coverage

* Improve error handling

* Adjust docstrings

* Catch aiohttp.ClientError bubbling up from hass_nabucasa

* Improve iteration

---------

Co-authored-by: Erik <erik@montnemery.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Krisjanis Lejejs <krisjanis.lejejs@gmail.com>

* Extract file receiver from `BackupManager.async_receive_backup` to util (#132271)

* Extract file receiver from BackupManager.async_receive_backup to util

* Apply suggestions from code review

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

---------

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

* Make sure backup directory exists (#132269)

* Make sure backup directory exists

* Hand off directory creation to executor

* Use mkdir's exist_ok feeature

* Organize BackupManager instance attributes (#132277)

* Don't store received backups in a TempDir (#132272)

* Don't store received backups in a TempDir

* Fix tests

* Make sure backup directory exists

* Address review comments

* Fix tests

* Rewrite backup manager state handling (#132375)

* Rewrite backup manager state handling

* Address review comments

* Modify backup reader/writer API to be stream oriented (#132464)

* Internalize backup tasks (#132482)

* Internalize backup tasks

* Update test after rebase

* Handle backup error during automatic backup (#132511)

* Improve backup manager state logging (#132549)

* Fix backup manager state when restore completes (#132548)

* Remove WS command backup/agents/download (#132664)

* Add WS command backup/generate_with_stored_settings (#132671)

* Add WS command backup/generate_with_stored_settings

* Register the new command, add tests

* Refactor local agent backup tests (#132683)

* Refactor test_load_backups

* Refactor test loading agents

* Refactor test_delete_backup

* Refactor test_upload

* Clean up duplicate tests

* Refactor backup manager receive tests (#132701)

* Refactor backup manager receive tests

* Clean up

* Refactor pre and post platform tests (#132708)

* Refactor backup pre platform test

* Refactor backup post platform test

* Bump aiohasupervisor to version 0.2.2b0 (#132704)

* Bump aiohasupervisor to version 0.2.2b0

* Adjust tests

* Publish event when manager is idle after creating backup (#132724)

* Handle busy backup manager when uploading backup (#132736)

* Adjust hassio backup agent to supervisor changes (#132732)

* Adjust hassio backup agent to supervisor changes

* Fix typo

* Refactor test for create backup with wrong parameters (#132763)

* Refactor test not loading bad backup platforms (#132769)

* Improve receive backup coverage (#132758)

* Refactor initiate backup test (#132829)

* Rename Backup to ManagerBackup (#132841)

* Refactor backup config (#132845)

* Refactor backup config

* Remove unnecessary condition

* Adjust tests

* Improve initiate backup test (#132858)

* Store the time of automatic backup attempts (#132860)

* Store the time of automatic backup attempts

* Address review comments

* Update test

* Update cloud test

* Save agent failures when creating backups (#132850)

* Save agent failures when creating backups

* Update tests

* Store KnownBackups

* Add test

* Only clear known_backups on no error, add tests

* Address review comments

* Store known backups as a list

* Update tests

* Track all backups created with backup strategy settings (#132916)

* Track all backups created with saved settings

* Rename

* Add explicit call to save the store

* Don't register service backup.create in HassOS installations (#132932)

* Revert changes to action service backup.create (#132938)

* Fix logic for cleaning up temporary backup file (#132934)

* Fix logic for cleaning up temporary backup file

* Reduce scope of patch

* Fix with_strategy_settings info not sent over websocket (#132939)

* Fix with_strategy_settings info not sent over websocket

* Fix kitchen sink tests

* Fix cloud and hassio tests

* Revert backup ci changes (#132955)

Revert changes speeding up CI

* Fix revert of CI changes (#132960)

---------

Co-authored-by: Joakim Sørensen <joasoe@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: Krisjanis Lejejs <krisjanis.lejejs@gmail.com>
2024-12-11 21:49:34 +01:00
G Johansson a1e4b3b0af Update quality scale for nordpool (#132964)
* Update quality scale for nordpool

* more
2024-12-11 21:23:26 +01:00
Noah Husby d43d84a67f Add parallel updates & use typed config entry for Russound RIO (#132958) 2024-12-11 21:07:29 +01:00
Josef Zweck 525614b7cd Bump pylamarzocco to 1.4.0 (#132917)
* Bump pylamarzocco to 1.4.0

* update device snapshot
2024-12-11 21:52:20 +02:00
Franck Nijhof 73e68971e8 Remove port from Elgato configuration flow (#132961) 2024-12-11 20:48:55 +01:00
Marc Mueller 833557fad5 Trigger full ci run on global mypy config change (#132909) 2024-12-11 19:16:49 +01:00
epenet 0e8fe1eb41 Improve coverage in light reproduce state (#132929) 2024-12-11 19:15:36 +01:00
Allen Porter fa05cc5e70 Add quality scale for nest integration (#131330)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-12-11 19:04:16 +01:00
Noah Husby 096d653059 Record current IQS state for Russound RIO (#131219) 2024-12-11 19:03:43 +01:00
Jan Bouwhuis 3a7fc15656 Add Dutch locale on supported Alexa interfaces (#132936) 2024-12-11 19:01:20 +01:00
Matthias Alphart 233d927c01 Update xknx to 3.4.0 (#132943) 2024-12-11 18:56:21 +01:00
Michael Hansen 94260147d7 Fix pipeline conversation language (#132896) 2024-12-11 18:52:02 +01:00
Robert Resch 502a221feb Set go2rtc quality scale to internal (#132945) 2024-12-11 17:20:49 +01:00
epenet 39f8de0159 Fix mqtt light attributes (#132941) 2024-12-11 17:18:54 +01:00
Maikel Punie 00ab5db661 Split the velbus services code in its own file (#131375) 2024-12-11 16:41:48 +01:00
epenet 0d71828def Migrate mqtt lights to use Kelvin (#132828)
* Migrate mqtt lights to use Kelvin

* Adjust restore_cache tests

* Adjust tests
2024-12-11 16:11:14 +01:00
jb101010-2 ee4db13c2a Add data description to suez_water config flow (#132466)
* Suez_water: config flow data_descriptions

* Rename counter by meter

* Use placeholders
2024-12-11 15:52:43 +01:00
Simone Chemelli 555d7f1ea4 Guard Vodafone Station updates against bad data (#132921)
guard Vodafone Station updates against bad data
2024-12-11 15:40:18 +01:00
epenet 1753382307 Adjust lifx to use local _ATTR_COLOR_TEMP constant (#132840) 2024-12-11 14:11:29 +00:00
Åke Strandberg 05b23d081b Set quality_scale for myUplink to Silver (#132923) 2024-12-11 13:09:33 +00:00
Maikel Punie f974479970 Velbus add quality_scale.yaml (#131377)
Co-authored-by: Allen Porter <allen.porter@gmail.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-11 13:53:14 +01:00
Matthias Alphart ecfa888918 Create quality_scale.yaml from integration scaffold script (#132199)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
2024-12-11 13:52:53 +01:00
Åke Strandberg 7103b7fd80 Use snapshot tests for remaining myuplink platforms (#132915)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-11 13:01:02 +01:00
Marc Mueller dc8b7cfede Allow bytearray for mqtt payload type (#132906) 2024-12-11 11:51:16 +01:00
Simon Lamon b26583b0bf Bump python-linkplay to v0.1.1 (#132091) 2024-12-11 11:12:05 +01:00
shapournemati-iotty beda273721 upgrade iottycloud lib to 0.3.0 (#132836) 2024-12-11 10:52:47 +01:00
Marc Mueller 0e8961276f Enable pydantic.v1 mypy plugin (#132907) 2024-12-11 10:50:42 +01:00
epenet 9c9e82a93e Migrate zha lights to use Kelvin (#132816) 2024-12-11 09:58:08 +01:00
epenet 7ef3e92e2d Migrate tasmota lights to use Kelvin (#132798) 2024-12-11 09:57:29 +01:00
G Johansson 2bb05296b8 Add remaining test coverage to yale_smart_alarm (#132869) 2024-12-11 09:46:53 +01:00
epenet b780f31e63 Migrate flux to use Kelvin over Mireds (#132839) 2024-12-11 08:55:23 +01:00
Robert Resch af838077cc Fix docker hassfest (#132823) 2024-12-11 08:55:00 +01:00
shapournemati-iotty 5e17721568 Remove old codeowner no longer working on the integration (#132807) 2024-12-11 08:53:19 +01:00
epenet 4ff41ed2f8 Refactor light significant change to use kelvin attribute (#132853) 2024-12-11 08:42:48 +01:00
dependabot[bot] f0f0b4b8fa Bump github/codeql-action from 3.27.6 to 3.27.7 (#132900)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-11 08:24:25 +01:00
Ludovic BOUÉ 9f40074d66 Fix typo in water heater integration (#132891)
Fix typo in water heater componant
2024-12-11 07:36:09 +01:00
Chris Talkington 73feeacc39 Use runtime_data for roku (#132781)
* use runtime_data for roku

* unload cleanup

* tweaks

* tweaks

* fix tests

* fix tests

* Update config_flow.py

* Update config_flow.py
2024-12-11 06:55:58 +01:00
Allen Porter 355e80aa56 Test the google tasks api connection in setup (#132657)
Improve google tasks setup
2024-12-10 19:01:50 -08:00
Marc Mueller 77debcbe8b Update numpy to 2.2.0 (#132874) 2024-12-10 22:28:30 +01:00
Franck Nijhof 3fe2c14a79 2024.12.2 (#132846) 2024-12-10 21:45:06 +01:00
Jonas Fors Lellky b46392041f Add model_id to flexit (bacnet) entity (#132875)
* Add model_id to flexit (bacnet) entity

* Add model to mock
2024-12-10 21:44:00 +01:00
epenet fb3ffaf18d Migrate demo lights to use Kelvin (#132837)
* Migrate demo lights to use Kelvin

* Adjust google_assistant tests
2024-12-10 20:59:12 +01:00
Manu 1b300a4389 Set config-flow rule in IQS to todo in Bring integration (#132855)
Set config-flow rule in IQS to todo
2024-12-10 20:52:39 +01:00
G Johansson 5dc2757324 Add quality scale to Nord Pool (#132415)
* Add quality scale to Nord Pool

* Update

* a

* fix
2024-12-10 19:35:21 +01:00
G Johansson 76b73fa9b1 Use floats instead of datetime in statistics (#132746)
* Use floats instead of datetime in statistics

* check if debug log
2024-12-10 19:03:43 +01:00
Stefano Angeleri 7fb5b17ac5 Bump pydaikin to 2.13.8 (#132759) 2024-12-10 19:29:28 +02:00
J. Nick Koston d2303eb83f Bump pydantic to 2.10.3 and update required deps (#131963) 2024-12-10 18:27:40 +01:00
G Johansson f99239538c Add retry to api calls in Nord Pool (#132768) 2024-12-10 19:26:49 +02:00
Markus Jacobsen dba405dd88 Bump mozart-api to 4.1.1.116.4 (#132859)
Bump API
2024-12-10 19:21:59 +02:00
Markus Jacobsen d4546c94b0 Add beolink_join source_id parameter to Bang & Olufsen (#132377)
* Add source as parameter to beolink join service

* Add beolink join source and responses

* Improve comment
Add translation

* Remove result from beolink join custom action

* Cleanup

* Use options selector instead of string for source ID
Fix test docstring

* Update options

* Use translation dict for source ids
Add input validation
Add tests for invalid sources
Improve source id description

* Use list instead of translation dict
Remove platform prefixes
Add test for Beolink Converter source

* Fix source_id naming and order
2024-12-10 11:01:12 -06:00
Allen Porter 8fd64d2ca4 Add a quality scale for fitbit integration (#131326)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-10 17:04:00 +01:00
Tom 2b17037edc Plugwise improve platform tests (#132748) 2024-12-10 16:43:08 +01:00
epenet 6a323a1d3c Fix wrong name attribute in mqtt ignore list (#132831) 2024-12-10 15:32:08 +01:00
epenet 7014317e9e Cleanup unnecessary mired attributes in esphome (#132833)
* Cleanup unnecessary mired attributes in esphome

* Adjust
2024-12-10 15:29:33 +01:00
Guido Schmitz 0a786394f5 Add data descriptions to devolo Home Control (#132703) 2024-12-10 15:15:57 +01:00
Franck Nijhof 238cf691a4 Bump version to 2024.12.2 2024-12-10 15:07:18 +01:00
Josef Zweck 5a5bb139fa Bump aioacaia to 0.1.11 (#132838) 2024-12-10 14:59:48 +01:00
Robert Resch 01a9a58327 Bump deebot-client to 9.3.0 (#132834) 2024-12-10 14:59:45 +01:00
David Knowles fc34c6181c Pass an application identifier to the Hydrawise API (#132779) 2024-12-10 14:59:42 +01:00
David Knowles 60e8a38ba3 Catch Hydrawise authorization errors in the correct place (#132727) 2024-12-10 14:59:37 +01:00
starkillerOG e4765c40fe Bump reolink-aio to 0.11.5 (#132757) 2024-12-10 14:55:48 +01:00
Bram Kragten e239871566 Update frontend to 20241127.7 (#132729)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-10 14:55:43 +01:00
Michael Hansen c8e5a6df5d Bump intents to 2024.12.9 (#132726) 2024-12-10 14:54:48 +01:00
Simone Rescio cac4eef795 Revert "Bump pyezviz to 0.2.2.3" (#132715) 2024-12-10 14:51:04 +01:00
Joost Lekkerkerker 8fc50c776e Bump yt-dlp to 2024.12.06 (#132684) 2024-12-10 14:51:00 +01:00
Bouwe Westerdijk da344a44e5 Bump plugwise to v1.6.3 (#132673) 2024-12-10 14:50:57 +01:00
puddly 1993142e44 Bump ZHA dependencies (#132630) 2024-12-10 14:50:54 +01:00
Thomas55555 382d32c7a7 Fix config flow in Husqvarna Automower (#132615) 2024-12-10 14:50:50 +01:00
Bouwe Westerdijk ef89563bad Bump plugwise to v1.6.2 and adapt (#132608) 2024-12-10 14:50:46 +01:00
Bouwe Westerdijk 26012ac922 Bump plugwise to v1.6.1 (#131950) 2024-12-10 14:50:42 +01:00
J. Nick Koston a33c69a2a2 Bump yalexs-ble to 2.5.2 (#132560) 2024-12-10 14:45:34 +01:00
Franck Nijhof 0096ffb659 Update twentemilieu to 2.2.0 (#132554) 2024-12-10 14:45:31 +01:00
Robert Svensson db141ce449 Bump aiounifi to v81 to fix partitioned cookies on python 3.13 (#132540) 2024-12-10 14:45:26 +01:00
Austin Mroczek af5f718a71 bump total_connect_client to 2023.12 (#132531) 2024-12-10 14:43:52 +01:00
Franck Nijhof f1284178ed Update debugpy to 1.8.8 (#132519) 2024-12-10 14:41:15 +01:00
J. Nick Koston b0005cedff Bump pycups to 2.0.4 (#132514) 2024-12-10 14:41:11 +01:00
Erwin Douna 5d01f7db85 Fix PyTado dependency (#132510) 2024-12-10 14:41:08 +01:00
Alex d6a4a7f052 Update pyrisco to 0.6.5 (#132493) 2024-12-10 14:41:02 +01:00
Ravaka Razafimanantsoa 1f6c5b4d8b Fix API change for AC not supporting floats in SwitchBot Cloud (#132231) 2024-12-10 14:36:09 +01:00
David Knowles 4e56f9c014 Bump pydrawise to 2024.12.0 (#132015) 2024-12-10 14:36:06 +01:00
Åke Strandberg f343dce418 Enable additional entities on myUplink model SMO20 (#131688)
* Add a couple of entities to SMO 20

* Enable additional entities on SMO20
2024-12-10 14:35:58 +01:00
David Knowles 9614a8d1ca Pass an application identifier to the Hydrawise API (#132779) 2024-12-10 14:23:14 +01:00
Josef Zweck 1a60f0e668 Bump aioacaia to 0.1.11 (#132838) 2024-12-10 14:22:49 +01:00
Matthias Alphart 9551a12c9c Add exception translations for Fronius (#132830)
* Add exception translations for Fronius

* Update sensor.py
2024-12-10 13:58:02 +01:00
epenet 416a4c02b4 Migrate hue lights to use Kelvin (#132835) 2024-12-10 13:55:28 +01:00
Xiretza 6f3a230524 spaceapi: fix sensor values (#132099) 2024-12-10 13:47:20 +01:00
Robert Resch 25d092c8eb Bump deebot-client to 9.3.0 (#132834) 2024-12-10 13:31:22 +01:00
epenet 95107cf670 Add check for typed ConfigEntry in quality scale validation (#132028) 2024-12-10 13:07:08 +01:00
Åke Strandberg 46d4081ec6 Address review comment on myuplink tests (#132819) 2024-12-10 12:58:42 +01:00
Franck Nijhof 71d7e14032 Update wled to v0.21.0 (#132822) 2024-12-10 12:46:56 +01:00
Åke Strandberg f6621023c2 Improve myuplink tests to reach full coverage for all modules (#131937) 2024-12-10 12:20:21 +01:00
epenet 03c6dab143 Add missing Kelvin attributes to mqtt ignore list (#132820) 2024-12-10 11:47:08 +01:00
Franck Nijhof e343b69557 Update gotailwind to v0.3.0 (#132817) 2024-12-10 11:35:00 +01:00
Guido Schmitz ea12a7c9a7 Remove config flow option to set mydevolo URL (#132821) 2024-12-10 11:27:58 +01:00
epenet 13a37da917 Migrate zwave_js lights to use Kelvin (#132818) 2024-12-10 11:01:22 +01:00
Norbert Rittel b7018deebc Use "remove" in description of "Clear playlist" action (#132079) 2024-12-10 10:57:56 +01:00
epenet 28aa9c2fa3 Migrate vesync lights to use Kelvin (#132806) 2024-12-10 10:56:17 +01:00
Franck Nijhof 30e9c45c7f Update pvo to v2.2.0 (#132812) 2024-12-10 10:55:39 +01:00
epenet 611cef5cd1 Migrate xiaomi_miio lights to use Kelvin (#132811) 2024-12-10 10:41:38 +01:00
epenet d724488376 Migrate yeelight lights to use Kelvin (#132814) 2024-12-10 10:29:32 +01:00
Åke Strandberg be1c225c70 Address misc comments from myuplink quality scale review (#132802) 2024-12-10 10:20:30 +01:00
epenet 28d01d88a2 Migrate nanoleaf lights to use Kelvin (#132797) 2024-12-10 10:17:55 +01:00
epenet 4880849074 Migrate homematic lights to use Kelvin (#132794) 2024-12-10 10:17:40 +01:00
epenet 7b0a309fa7 Migrate template lights to use Kelvin (#132799) 2024-12-10 10:11:06 +01:00
epenet 36ce90177f Migrate tradfri lights to use Kelvin (#132800) 2024-12-10 10:09:55 +01:00
epenet f0e7cb5794 Migrate tuya lights to use Kelvin (#132803) 2024-12-10 10:09:20 +01:00
epenet bd6df06248 Migrate wemo lights to use Kelvin (#132808) 2024-12-10 10:07:36 +01:00
epenet e31e4c5d75 Migrate wiz lights to use Kelvin (#132809) 2024-12-10 10:07:02 +01:00
Maciej Bieniek 2a127d19dd Use UnitOfEnergy.KILO_CALORIE in Tractive integration (#131909) 2024-12-10 09:50:53 +01:00
YogevBokobza 790edea4a0 Bump aioswitcher to 5.1.0 (#132753)
* Bump aioswitcher to 5.0.0

* fix tests
2024-12-10 10:43:09 +02:00
Noah Husby bcedb004be Add diagnostics platform to Russound RIO (#132776) 2024-12-10 09:40:51 +01:00
Assaf Inbal 3bf4ef095d bump pyituran to 0.1.4 (#132791) 2024-12-10 10:39:33 +02:00
Franck Nijhof 988ca114a0 Update ciso8601 to v2.3.2 (#132793) 2024-12-10 09:35:01 +01:00
epenet b0b3f04a05 Migrate iglo lights to use Kelvin (#132796) 2024-12-10 09:34:15 +01:00
epenet 82692f9a8f Migrate mired attributes to kelvin in limitlessled (#132785) 2024-12-10 09:20:35 +01:00
epenet a11bf5cce1 Migrate blebox lights to use Kelvin (#132787) 2024-12-10 08:43:07 +01:00
David Knowles cd420aee88 Catch Hydrawise authorization errors in the correct place (#132727) 2024-12-10 08:38:34 +01:00
epenet 3d1258ddc1 Migrate eufy lights to use Kelvin (#132790) 2024-12-10 08:36:43 +01:00
Brett Adams 17521f25b6 Remove sleep and forbidden handling from Teslemetry (#132784) 2024-12-10 08:35:53 +01:00
epenet 1ee3b68824 Migrate homekit_controller lights to use Kelvin (#132792) 2024-12-10 08:28:38 +01:00
dependabot[bot] 53e528e9b6 Bump actions/attest-build-provenance from 2.0.1 to 2.1.0 (#132788)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-10 08:27:05 +01:00
David Rapan 397091cc7d Add Starlink usage sensors (#132738)
* Add usage metrics returned from history_stats

* Add upload and download usage sensors

* Add strings for upload and download usage sensors

* Add usage to test_diagnostics.ambr

* Add icons for upload and download usage sensors

* Add suggested_unit_of_measurement to GIGABYTES
2024-12-10 08:26:42 +01:00
G Johansson 580a8d66b2 Change fields allowed to change in options flow for Mold indicator (#132400) 2024-12-10 08:20:28 +01:00
epenet e83a50b88d Migrate elgato lights to use Kelvin (#132789) 2024-12-10 08:15:47 +01:00
Paulus Schoutsen 5062a7fec8 Add new api to fetch sentence triggers (#132764)
* Add new api to fetch sentence triggers

* With latest packages
2024-12-09 23:21:27 -05:00
epenet cd39e4ac80 Migrate abode lights to use Kelvin (#132690) 2024-12-09 23:51:27 +01:00
jb101010-2 f210b74790 Suez_water: close session after config flow (#132714) 2024-12-09 23:50:04 +01:00
G Johansson b1c17334f6 Set Nord Pool device as a service (#132717) 2024-12-09 23:48:23 +01:00
epenet 020db5f822 Migrate matter lights to use Kelvin (#132685) 2024-12-09 23:43:45 +01:00
epenet 879e082b54 Migrate osramlightify lights to use Kelvin (#132688) 2024-12-09 23:17:57 +01:00
Norbert Rittel d2478b4058 Use consistent UI name for system_log.clear action (#132083) 2024-12-09 23:16:23 +01:00
Norbert Rittel bd4e21aa9d Improve description of 'vapid_email' field (#131349) 2024-12-09 23:15:23 +01:00
Franck Nijhof 1256a7ea96 Update demetriek to v1.0.0 (#132765) 2024-12-09 23:11:30 +01:00
Brett Adams 1929b368fe Remove legacy behavior from Teslemetry (#132760) 2024-12-09 23:11:23 +01:00
J. Nick Koston f177336025 Add missing last_reported_timestamp to LazyState (#132761)
followup to #132752
2024-12-09 23:08:01 +01:00
epenet be34d302df Use local ATTR_KELVIN constant in yeelight (#132731) 2024-12-09 23:04:32 +01:00
epenet f2500e5a32 Remove deprecated supported features warning in MediaPlayer (#132365) 2024-12-09 23:03:55 +01:00
Richard Kroegel 772b047d44 Change BMW reauth/reconfigure to only allow password (#132767)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-09 23:00:38 +01:00
epenet 4cb23ce562 Migrate hive lights to use Kelvin (#132686) 2024-12-09 22:59:21 +01:00
epenet dcbedb5ae5 Migrate smartthings lights to use Kelvin (#132699) 2024-12-09 22:55:06 +01:00
starkillerOG abc79a9f1c Bump reolink-aio to 0.11.5 (#132757) 2024-12-09 22:53:17 +01:00
epenet 07d8778870 Remove old compatibility code (and add new warning) in lifx (#132730) 2024-12-09 22:49:47 +01:00
epenet da0454e24e Migrate limitlessled lights to use Kelvin (#132689) 2024-12-09 22:40:16 +01:00
Norbert Rittel 2d4fe5853f Add clearer descriptions to all Timer actions (#132571)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-12-09 22:37:32 +01:00
Noah Husby 3a65d1b611 Mark Cambridge Audio quality scale as platinum (#132762) 2024-12-09 22:28:14 +01:00
Åke Strandberg af7caeae53 Add quality scale to myUplink - reflect current state (#131686) 2024-12-09 22:20:23 +01:00
epenet b139af9a9c Migrate deconz lights to use Kelvin (#132698)
* Use ATTR_COLOR_TEMP_KELVIN in kelvin light

* Adjust
2024-12-09 21:46:46 +01:00
J. Nick Koston e4ba94f939 Fix LazyState compatibility with State under_cached_property change (#132752) 2024-12-09 21:41:08 +01:00
Noah Husby aa7b69afd4 Add reconfigure flow to Cambridge Audio (#131091)
* Add reconfigure flow to Cambridge Audio

* Update

* Add reconfigure flow to Cambridge Audio

* Fix

* Add helper method to reconfigure tests

* Update quality scale
2024-12-09 20:39:09 +01:00
Assaf Inbal d3fab7d87a Add Ituran integration (#129067) 2024-12-09 20:19:15 +01:00
Norbert Rittel e91cb99512 Improve name and description of Include list, fix holidays keyword name (#132188)
* Improve description of Include list, fix the keyword name

* Use "Days to include / exclude" to make more user-friendly

* Reworded both descriptions as suggested

* Updated up the exclude description, re-added reference to docs
2024-12-09 20:18:21 +01:00
epenet 7ba5038509 Remove YAML support from cert_expiry (#132350)
* Deprecate yaml import in cert_expiry

* Simplify

* Do full cleanup

* Cleanup more
2024-12-09 20:15:46 +01:00
adam-the-hero c6bcd5a036 Add Watergate Sonic Local Integration (#129686)
Co-authored-by: Mark Breen <markvader@users.noreply.github.com>
2024-12-09 19:40:13 +01:00
Tom 674d42d8a0 Plugwise improve exception translations (#132663) 2024-12-09 19:05:10 +01:00
Tom 0c08e88953 Improve Plugwise tests (#132677) 2024-12-09 19:00:51 +01:00
epenet b1217f5792 Use ATTR_COLOR_TEMP_KELVIN in alexa (#132733) 2024-12-09 18:01:24 +01:00
Raphael Hehl 9d79d905a4 Bump uiprotect to 6.8.0 (#132735)
Update uiprotect to version 6.8.0
2024-12-09 17:44:13 +01:00
Simone Rescio 85ed1d2ac8 Revert "Bump pyezviz to 0.2.2.3" (#132715) 2024-12-09 17:19:10 +01:00
Bram Kragten 5b06acfabd Update frontend to 20241127.7 (#132729)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-09 17:10:52 +01:00
Joost Lekkerkerker 241026ef67 Bump yt-dlp to 2024.12.06 (#132684) 2024-12-09 17:09:17 +01:00
Michael Hansen 887f1621e5 Bump intents to 2024.12.9 (#132726) 2024-12-09 17:08:58 +01:00
epenet 46e513615e Migrate switchbot lights to use Kelvin (#132695) 2024-12-09 09:25:25 -06:00
epenet a20347963e Migrate flux_led lights to use Kelvin (#132687) 2024-12-09 09:25:15 -06:00
David Rapan 21a2ce6b59 Add Starlink consumption sensors (#132262) 2024-12-09 16:19:23 +01:00
Marc Mueller 49800f9aaa Update pylint to 3.3.2 and astroid to 3.3.6 (#132718)
* Update pylint to 3.3.2 and astroid to 3.3.6

* Fix
2024-12-09 16:05:40 +01:00
G Johansson 3be0d0d085 Add myself as code owner to statistics (#132719) 2024-12-09 16:04:47 +01:00
epenet 786a417ac9 Use kelvin attributes in baf (#132725) 2024-12-09 09:00:59 -06:00
epenet ac791bdd20 Migrate opple lights to use Kelvin (#132697) 2024-12-09 14:55:07 +00:00
Åke Strandberg 8d72443fd6 Set unique_id in myuplink config entry (#132672) 2024-12-09 15:47:40 +01:00
G Johansson 74eddce3d3 Change to module function in statistics (#132648) 2024-12-09 15:23:21 +01:00
epenet 72de5d0fa3 Fix reading of max mireds from Matter lights (#132710) 2024-12-09 15:14:24 +01:00
dotvav bd0da03eb9 Palazzetti power control (#131833)
* Add number entity

* Catch exceptions

* Add test coverage

* Add translation

* Fix exception message

* Simplify number.py

* Remove dead code
2024-12-09 14:02:17 +01:00
G Johansson 4e2e6619d0 Increase test coverage in yale_smart_alarm (#132650) 2024-12-09 13:52:51 +01:00
Manu f4e48c31bd Add binary platform to IronOS (#132691)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-09 13:37:38 +01:00
Jan-Philipp Benecke 4bb3d6123d Move SABnzbd action setup to async_setup (#132629) 2024-12-09 13:37:17 +01:00
epenet 549afbc27e Use ATTR_COLOR_TEMP_KELVIN in baf light (#132692) 2024-12-09 12:55:39 +01:00
epenet b1791aae63 Use ATTR_COLOR_TEMP_KELVIN in emulated_hue light (#132693) 2024-12-09 12:53:24 +01:00
Bouwe Westerdijk fa9ee2adc6 Bump plugwise to v1.6.3 (#132673) 2024-12-09 12:27:15 +01:00
Thomas55555 ad34082435 Set quality scale to silver for Husqvarna Automower (#132293) 2024-12-09 12:18:45 +01:00
Norbert Rittel 97cd3cd7dc Add slightly more detailed descriptions for Counter actions (#132576) 2024-12-09 11:51:58 +01:00
epenet 6cf10cd0b2 Remove deprecated supported features warning in Update (#132667) 2024-12-09 11:25:18 +01:00
Manu ee8f720253 Add tip connected detection to IronOS (#131946)
* Add binary platform and tip connected detection to IronOS

* suggested changes

* fix

* fix mypy

* revert accidental overwriting

* Remove binary sensor

* snapshot
2024-12-09 10:50:37 +01:00
epenet 5e8012f3f5 Remove deprecated supported features warning in WaterHeater (#132668) 2024-12-09 10:48:40 +01:00
epenet 57d5d7d2f2 Remove deprecated supported features warning in Vacuum (#132670) 2024-12-09 10:47:38 +01:00
epenet 31150bf897 Remove deprecated supported features warning in Siren (#132666) 2024-12-09 10:19:07 +01:00
epenet 427db02029 Remove deprecated supported features warning in AlarmControlPanel (#132665) 2024-12-09 10:16:48 +01:00
epenet 24b1eeb900 Remove YAML support from vizio (#132351) 2024-12-09 10:15:01 +01:00
epenet 1ec91e7c89 Remove deprecated supported features warning in Lock (#132642) 2024-12-09 08:45:36 +01:00
epenet 9ef9f2fafb Remove deprecated supported features warning in Humidifier (#132641) 2024-12-09 08:32:49 +01:00
epenet f7ce112653 Remove deprecated supported features warning in Remote (#132643) 2024-12-09 08:32:30 +01:00
G Johansson e0bb044782 Remove not needed code check in yale_smart_alarm (#132649) 2024-12-09 08:31:42 +01:00
Franck Nijhof eddb416f6d Remove Stookalert integration (#132569) 2024-12-09 08:30:18 +01:00
epenet 6c3e56748c Use ast_parse_module in parallel_updates IQS rule (#132646) 2024-12-09 08:29:31 +01:00
epenet 644b07d084 Remove deprecated supported features warning in Camera (#132640) 2024-12-09 08:24:09 +01:00
dependabot[bot] 206cac6811 Bump actions/attest-build-provenance from 2.0.0 to 2.0.1 (#132661)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-09 08:17:15 +01:00
Åke Strandberg 182c85cf23 Enable additional entities on myUplink model SMO20 (#131688)
* Add a couple of entities to SMO 20

* Enable additional entities on SMO20
2024-12-09 07:51:03 +01:00
Thomas55555 9f0356fcfe Increase test coverage in apsystems coordinator (#132631)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-09 00:20:53 +01:00
hahn-th ed938ba315 Bump homematicip from 1.1.3 to 1.1.5 (#132537) 2024-12-08 23:38:23 +01:00
Bouwe Westerdijk 0b7447c562 Bump plugwise to v1.6.2 and adapt (#132608) 2024-12-08 23:36:55 +01:00
Ravaka Razafimanantsoa ce8c5fc3a9 Fix API change for AC not supporting floats in SwitchBot Cloud (#132231) 2024-12-08 23:35:41 +01:00
Franck Nijhof be10d79c75 Update twentemilieu to 2.2.0 (#132554) 2024-12-08 23:30:12 +01:00
Hugo Ideler d166e5fdcc Bump nsapi to 3.1.2 (#132596) 2024-12-08 23:29:43 +01:00
Tom 421e2411d3 Plugwise Quality improvements (#132175) 2024-12-08 22:58:17 +01:00
G Johansson a4ceed776e Add tests to Nord Pool (#132468) 2024-12-08 22:50:22 +01:00
puddly 2f0e6a6dc7 Bump ZHA dependencies (#132630) 2024-12-08 22:32:39 +02:00
Thomas55555 d32e69dcb6 Fix config flow in Husqvarna Automower (#132615) 2024-12-08 15:59:27 +01:00
mkmer b40d8074c0 Use runtime_data in Whirlpool (#132613)
Use runtime_data in whirlpool
2024-12-08 15:46:44 +01:00
Robert Svensson a8713af8b8 Bump aiounifi to v81 to fix partitioned cookies on python 3.13 (#132540) 2024-12-07 15:31:11 -06:00
Raphael Hehl 09908153f8 Bump uiprotect to 6.7.0 (#132565) 2024-12-07 19:22:35 +01:00
J. Nick Koston e04fd48a05 Bump yalexs-ble to 2.5.2 (#132560) 2024-12-07 18:12:58 +01:00
Josef Zweck b9002d0c64 Bump pylamarzocco to 1.3.3 (#132534) 2024-12-07 12:18:04 +01:00
Austin Mroczek acf207ad1c bump total_connect_client to 2024.12 (#132531) 2024-12-07 10:43:55 +01:00
Jan-Philipp Benecke 35fa6e5121 Set PARALLEL_UPDATES in Bring sensor platform (#132538)
* Set IQS `parallel-updates` to todo in Bring integration

* Set parallel_updates in sensor
2024-12-07 09:57:18 +01:00
Artur Pragacz 61fbfc3d40 Use device area/floor in intent_script (#130644)
* Use device area/floor in intent_script

* Add test
2024-12-07 00:49:07 -05:00
Franck Nijhof 16484dcee5 Update debugpy to 1.8.8 (#132519) 2024-12-06 16:26:24 -06:00
Franck Nijhof d2463b9e7b Update go2rtc-client to 0.1.2 (#132517) 2024-12-06 23:08:12 +01:00
J. Diego Rodríguez Royo 0d0ef6bf03 Add exception handlers to Home Connect action calls (#131895)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-06 22:58:13 +01:00
Tom 18e8b080e0 Plugwise add missing translation (#132239)
Co-authored-by: Bouwe Westerdijk <bouwe.s.westerdijk@gmail.com>
2024-12-06 22:56:45 +01:00
Duco Sebel 5f3bb7e89e Use build in unit of measurement in HomeWizard 'Water usage' sensor (#132261) 2024-12-06 22:55:39 +01:00
Alex a248a6d991 Update pyrisco to 0.6.5 (#132493) 2024-12-06 15:43:57 -06:00
epenet 12be82fdbc Add parallel-updates rule to quality_scale validation (#132041) 2024-12-06 22:40:29 +01:00
J. Nick Koston 5bae000db5 Bump pycups to 2.0.4 (#132514) 2024-12-06 22:05:27 +01:00
G Johansson f02989e631 Removes previously deprecated simulated integration (#132111) 2024-12-06 21:54:01 +01:00
Jan Rieger 4fe8a43cc9 Remove native_unit_of_measurement from Onewire counters (#132076) 2024-12-06 21:23:45 +01:00
Erwin Douna 3fb1b8e79a Fix PyTado dependency (#132510) 2024-12-06 21:13:26 +01:00
Erik Montnemery 552613d949 Remove support for live recorder data migration of event type IDs (#131826) 2024-12-06 21:08:08 +01:00
Erik Montnemery d26d483a2f Improve recorder util resolve_period (#132264) 2024-12-06 21:06:56 +01:00
G Johansson 40239945c1 Remove not needed name from yale_smart_alarm (#132204) 2024-12-06 21:01:41 +01:00
epenet 9771998415 Cache AST module parsing in hassfest (#132244) 2024-12-06 20:55:34 +01:00
G Johansson e54d929573 Small cleanup in sensibo (#132118) 2024-12-06 20:54:50 +01:00
G Johansson 0111205f81 Remove migration for tag (#132200) 2024-12-06 20:54:05 +01:00
dependabot[bot] a661e60511 Bump actions/attest-build-provenance from 1.4.4 to 2.0.0 (#132332)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-06 20:50:13 +01:00
Brett Adams 71f5f4bcdd Remove default OAuth implementation from Tesla Fleet (#132431) 2024-12-06 20:43:37 +01:00
Brett Adams b30795e1f4 Add more models to Tesla Fleet (#132430) 2024-12-06 20:42:52 +01:00
Manu 2fd3aac268 Add check for unique id mismatch in reauth of Bring integration (#132499) 2024-12-06 20:39:50 +01:00
epenet 1f8913d6cd Remove deprecated supported features warning in LightEntity (#132371) 2024-12-06 20:29:30 +01:00
epenet 23461d2cfd Add tests for media player support_* properties (#132458) 2024-12-06 20:26:50 +01:00
epenet 3c06fe1e21 Move light constants to separate module (#132473) 2024-12-06 20:25:17 +01:00
Manu 49621aedb0 Set parallel updates in Bring integration (#132504) 2024-12-06 20:22:48 +01:00
Franck Nijhof cf53a9743f 2024.12.1 (#132509) 2024-12-06 20:21:31 +01:00
Franck Nijhof 4884891b2c Bump version to 2024.12.1 2024-12-06 18:54:13 +01:00
Allen Porter 30504fc9bd Fix google tasks due date timezone handling (#132498) 2024-12-06 18:53:42 +01:00
Bram Kragten 8827454dbd Update frontend to 20241127.6 (#132494) 2024-12-06 18:53:39 +01:00
Bram Kragten 3b30bbb85e Update frontend to 20241127.5 (#132475) 2024-12-06 18:53:35 +01:00
epenet df9eb482b5 Bump samsungtvws to 2.7.2 (#132474) 2024-12-06 18:53:32 +01:00
Steven B. 32aee61441 Bump tplink python-kasa dependency to 0.8.1 (#132472) 2024-12-06 18:53:29 +01:00
Robert Resch 35873cbe27 Point to the Ecovacs issue in the library for unspoorted devices (#132470)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-06 18:53:26 +01:00
Robert Resch 6fe492a51c Bump deebot-client to 9.2.0 (#132467) 2024-12-06 18:53:22 +01:00
G Johansson b1bc35f1c3 Fix nordpool dont have previous or next price (#132457) 2024-12-06 18:53:19 +01:00
Joakim Sørensen 56d10a0a7a Bump hass-nabucasa from 0.85.0 to 0.86.0 (#132456)
Bump hass-nabucasa fro 0.85.0 to 0.86.0
2024-12-06 18:53:16 +01:00
Allen Porter d091936ac6 Update exception handling for python3.13 for getpass.getuser() (#132449)
* Update exception handling for python3.13 for getpass.getuser()

* Add comment

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

* Cleanup trailing space

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-06 18:53:12 +01:00
J. Nick Koston 1dfd4e80b9 Bump aioesphomeapi to 28.0.0 (#132447) 2024-12-06 18:53:09 +01:00
J. Nick Koston d919de6734 Bump aiohttp to 3.11.10 (#132441) 2024-12-06 18:53:06 +01:00
Blake Bryant 3f9f0f8ac2 Bump pydeako to 0.6.0 (#132432)
feat: update deako integration to use improved version of pydeako

Some things of note:
- simplified errors
- pydeako has introduced some connection improvements

See here: https://github.com/DeakoLights/pydeako/releases/tag/0.6.0
2024-12-06 18:53:03 +01:00
Glenn Waters bf20ffae96 Bump upb-lib to 0.5.9 (#132411) 2024-12-06 18:53:00 +01:00
Diogo Gomes dad81927cb Removes references to croniter from utility_meter (#132364)
remove croniter
2024-12-06 18:52:56 +01:00
robinostlund 92392ab3d4 Add missing UnitOfPower to sensor (#132352)
* Add missing UnitOfPower to sensor

* Update homeassistant/components/sensor/const.py

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

* adding to number

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-06 18:52:53 +01:00
Brett Adams a47e5398f0 Bump tesla-fleet-api to 0.8.5 (#132339) 2024-12-06 18:52:50 +01:00
J. Nick Koston cf6d33635b Fix deprecated call to mimetypes.guess_type in CachingStaticResource (#132299) 2024-12-06 18:52:47 +01:00
Alberto Geniola 6a4031a383 Bump elmax-api to 0.0.6.3 (#131876) 2024-12-06 18:52:39 +01:00
dependabot[bot] 4de179c4c1 Bump codecov/codecov-action from 5.0.7 to 5.1.1 (#132455)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-12-06 18:43:13 +01:00
Allen Porter 7630ea4f09 Fix google tasks due date timezone handling (#132498) 2024-12-06 16:58:48 +01:00
Bram Kragten 20e0913286 Update frontend to 20241127.6 (#132494) 2024-12-06 16:58:09 +01:00
Allen Porter 35438f65e5 Update exception handling for python3.13 for getpass.getuser() (#132449)
* Update exception handling for python3.13 for getpass.getuser()

* Add comment

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

* Cleanup trailing space

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-06 06:54:21 -08:00
Steven B. 1a0a2ebdb1 Bump tplink python-kasa dependency to 0.8.1 (#132472) 2024-12-06 15:27:52 +01:00
epenet 4b4c886438 Bump samsungtvws to 2.7.2 (#132474) 2024-12-06 12:23:07 +01:00
Bram Kragten 0d1abc31b5 Update frontend to 20241127.5 (#132475) 2024-12-06 12:22:42 +01:00
Robert Resch 773ad6529c Bump deebot-client to 9.2.0 (#132467) 2024-12-06 12:22:05 +01:00
G Johansson 2eaf206562 Implement new state property for vacuum which is using an enum (#126353)
* Implement new state property for vacuum which is using an enum

* Mod

* Mod init

* Mods

* Fix integrations

* Tests

* Fix state

* Add vacuum tests

* Fix last test

* Litterrobot tests

* Fixes

* Tests

* Fixes

* Fix VacuumEntity

* Mods

* Mods

* Mods

* Update demo

* LG

* Fix vacuum

* Fix Matter

* Fix deprecation version

* Mods

* Fixes

* Fix ruff

* Fix tests

* Fix roomba

* Fix breaking dates
2024-12-06 11:16:03 +01:00
Robert Resch bd9aefda62 Point to the Ecovacs issue in the library for unspoorted devices (#132470)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-06 11:01:00 +01:00
epenet b4d01dfd0c Adjust scope of zha global quirks fixture (#132463) 2024-12-06 10:11:52 +01:00
epenet 0c8ebbe588 Log warning on use of deprecated light constants (#132387) 2024-12-06 09:56:28 +01:00
epenet 4a7e6bc068 Fix flaky CI from azure_event_hub (#132461) 2024-12-06 09:55:00 +01:00
Petar Petrov 30f84f55a4 Handle Z-Wave JS S2 inclusion via Inclusion Controller (#132073)
* ZwaveJS: Handle S2 inclusion via Inclusion Controller

* improved tests
2024-12-06 09:35:48 +01:00
G Johansson ce3db31b30 Fix nordpool dont have previous or next price (#132457) 2024-12-06 08:33:05 +01:00
dependabot[bot] ff46b3a2bb Bump actions/cache from 4.1.2 to 4.2.0 (#132419) 2024-12-06 08:29:09 +01:00
Blake Bryant ef55a8e665 Bump pydeako to 0.6.0 (#132432)
feat: update deako integration to use improved version of pydeako

Some things of note:
- simplified errors
- pydeako has introduced some connection improvements

See here: https://github.com/DeakoLights/pydeako/releases/tag/0.6.0
2024-12-06 08:28:02 +01:00
Joakim Sørensen 9058e00aef Bump hass-nabucasa from 0.85.0 to 0.86.0 (#132456)
Bump hass-nabucasa fro 0.85.0 to 0.86.0
2024-12-06 08:20:06 +01:00
Marc Mueller 60fd9d5027 Update mypy-dev to 1.14.0a6 (#132440) 2024-12-05 21:34:05 -06:00
Glenn Waters 28d6a21189 Bump upb-lib to 0.5.9 (#132411) 2024-12-05 21:32:33 -06:00
J. Nick Koston 909b13809e Bump aioesphomeapi to 28.0.0 (#132447) 2024-12-05 21:23:24 -06:00
J. Nick Koston 88eb611eef Fix deprecated call to mimetypes.guess_type in CachingStaticResource (#132299) 2024-12-05 21:52:48 -05:00
J. Nick Koston edc857b365 Bump aiohttp to 3.11.10 (#132441) 2024-12-05 19:50:02 -06:00
Brett Adams 0aeb8f44f4 Bump tesla-fleet-api to 0.8.5 (#132339) 2024-12-05 23:04:02 +01:00
Jan Bouwhuis 3e98df707d Remove deprecated integration dte_energy_bridge (#132276)
* Remove deprecated integration dte_energy_bridge

* Update quality scale script and ran hassfest
2024-12-05 22:23:31 +01:00
epenet 841773bb68 Remove yaml import from hive (#132354)
* Raise issue on hive deprecated YAML configuration

* Remove YAML import
2024-12-05 22:16:18 +01:00
G Johansson e7f44048e9 Remove _enable_turn_on_off_backwards_compatibility T-Z (#132423) 2024-12-05 21:48:02 +01:00
G Johansson 60563ae88a Remove _enable_turn_on_off_backwards_compatibility N-S (#132422) 2024-12-05 21:47:31 +01:00
G Johansson ee6be6bfd6 Remove _enable_turn_on_off_backwards_compatibility G-M (#132418) 2024-12-05 21:47:13 +01:00
G Johansson 768c2b0f3d Remove _enable_turn_on_off_backwards_compatibility A-F (#132417)
Remove _enable_turn_on_off_backwards_compatibility A-G
2024-12-05 21:46:59 +01:00
epenet b1379f6a89 Avoid access to self.context["source"] in integration config flows (#132355)
* Avoid access to `self.context["source"]` in integration config flows

* One more

* One more
2024-12-05 21:20:02 +01:00
epenet b2ac16e95f Remove deprecated supported features warning in CoverEntity (#132367)
Cleanup magic numbers for cover supported features
2024-12-05 21:18:45 +01:00
Artur Pragacz 1ca2f3393c Add data description for Onkyo config flow (#132349) 2024-12-05 21:15:40 +01:00
Jan Bouwhuis 5fdd705edf Remove yaml import from incomfort integration after deprecation time (#132275)
* Remove yaml import from incomfort integration after deprecation time

* Cleanup CONFIG_SCHEMA

* restore missing DOMAIN import

* Import DOMAIN from const
2024-12-05 21:15:26 +01:00
robinostlund f4896f7b09 Add missing UnitOfPower to sensor (#132352)
* Add missing UnitOfPower to sensor

* Update homeassistant/components/sensor/const.py

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

* adding to number

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-05 21:14:04 +01:00
Jan Bouwhuis 3a2460f9f9 Remove yaml import from feedreader integration (#132278)
* Remove yaml import from feedreader integration

* Update homeassistant/components/feedreader/config_flow.py

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

* Drop _max_entries class attribute

---------

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-05 20:57:43 +01:00
epenet e5851c20e9 Mark test-before-setup as exempt in mqtt (#132334) 2024-12-05 20:55:54 +01:00
G Johansson c41cf570d3 Remove deprecated supported features warning in ClimateEntity (#132206)
* Remove deprecated features from ClimateEntity

* Remove not needed tests

* Remove add_to_platform_start
2024-12-05 20:37:17 +01:00
epenet 17afe1ae51 Remove deprecated supported features warning in FanEntity (#132369) 2024-12-05 20:32:59 +01:00
epenet 39abeb4600 Use typed config entry in husqvarna_automower (#132346) 2024-12-05 20:24:21 +01:00
Artur Pragacz c38a33d330 Fix missing AV info in Onkyo (#132328)
Add additional AV info to Onkyo
2024-12-05 11:48:15 -06:00
Diogo Gomes 7de9e9d37a Removes references to croniter from utility_meter (#132364)
remove croniter
2024-12-05 11:45:04 -06:00
Franck Nijhof 52e6afdcca Merge branch 'master' into dev 2024-12-05 13:22:49 +01:00
epenet 13a59dee5a Remove dead code in fritzbox_callmonitor (#132353) 2024-12-05 10:26:11 +00:00
Josef Zweck 33ad27d569 Bump pylamarzocco to 1.3.2 (#132344) 2024-12-05 10:28:57 +01:00
epenet 9fd23a6d30 Revert "Pin rpds-py to 0.21.0 to fix CI" (#132331)
Revert "Pin rpds-py to 0.21.0 to fix CI (#132170)"

This reverts commit 7e07930342.
2024-12-05 08:41:53 +01:00
Tobias Perschon 5137b06ee7 Remove stale requirement for androidtv (#132319)
* removed stale pure-python-adb reference

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* reverted wrong changes

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* removed wrong file

Signed-off-by: Tobias Perschon <tobias@perschon.at>

* cosmetic update

Signed-off-by: Tobias Perschon <tobias@perschon.at>

---------

Signed-off-by: Tobias Perschon <tobias@perschon.at>
2024-12-05 02:53:33 +01:00
Artur Pragacz f68b78d00e Add quality scale to Onkyo (#131322)
* Add quality scale to Onkyo

* Update homeassistant/components/onkyo/quality_scale.yaml

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

* docs limitations todo

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

* entity event setup

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-12-05 02:34:07 +01:00
Noah Husby 1456d5802d Fix runtime data in Cambridge Audio (#132285)
* Fix runtime data in Cambridge Audio

* Update
2024-12-04 17:20:27 -06:00
Alberto Geniola 84e6c0b9ac Bump elmax-api to 0.0.6.3 (#131876) 2024-12-04 23:59:40 +01:00
G Johansson 94b16da90f Set command_line quality scale to legacy (#132306) 2024-12-04 15:58:45 -06:00
mkmer 950563cf32 Use config_entry.runtime_data in Honeywell (#132297)
* Use entry.runtime_data

* switch

* create new type

* Extend ConfigEntry

* simplify runtime_data, clean up data types

* More config_entry types

* Yet more missing type changes
2024-12-04 21:54:12 +01:00
mkmer 437111453b Bump aiosomecomfort to 0.0.28 in Honeywell (#132294)
Bump aiosomecomfort
2024-12-04 21:49:23 +01:00
Jeff Terrace 106c5d4248 Add support for onvif tplink person and vehicle events (#130769)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-04 14:15:30 -06:00
Thomas55555 de0ffea52d Clean up common modules in Husqvarna Automower (#132290) 2024-12-04 20:28:43 +01:00
G Johansson 80ad154dcd Refactor template lock to only return LockState or None (#132093)
* Refactor template lock to only return LockState or None

* Test for false states

* Use strings
2024-12-04 20:04:50 +01:00
Franck Nijhof 2b40844171 2024.12.0 (#132195) 2024-12-04 19:58:02 +01:00
Thomas55555 e55d8b2d2b Check token scope earlier in Husqvarna Automower (#132289) 2024-12-04 19:50:15 +01:00
Manu 2977cf227e Add Bring! quality scale record (#131584) 2024-12-04 19:49:58 +01:00
J. Nick Koston 719cbd3070 Fix test_dump_log_object timeouts in the CI (#132234) 2024-12-04 19:30:48 +01:00
Franck Nijhof 9b90df74a6 Bump version to 2024.12.0 2024-12-04 19:18:48 +01:00
Thomas55555 bd40e1e7df Add quality scale for Husqvarna Automower (#131560) 2024-12-04 19:12:26 +01:00
Michael Hansen dcdf033fa9 Bump intents to 2024.12.4 (#132274) 2024-12-04 19:03:26 +01:00
Noah Husby 8910dbbcd1 Record current IQS state for Cambridge Audio (#131080) 2024-12-04 18:22:34 +01:00
Manu bd1ad04dab Add ista EcoTrend quality scale record (#131580) 2024-12-04 18:20:59 +01:00
Klaas Schoute d92dbbf58b Set new polling interval for Powerfox integration (#132263) 2024-12-04 17:26:04 +01:00
Tucker Kern b3ff8f56b9 Refactor Snapcast client and group classes to use a common base clase (#124499)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-04 17:22:31 +01:00
Manu b6b340ae63 Add IronOS quality scale record (#131598) 2024-12-04 17:18:21 +01:00
Michael Hansen 5c60cffd4d Bump intents to 2024.12.4 (#132274) 2024-12-04 11:02:00 -05:00
Franck Nijhof 4c3ae395a4 Bump version to 2024.12.0b6 2024-12-04 15:33:47 +01:00
Jan Bouwhuis 333ada7670 Ensure MQTT subscriptions can be made when the broker is disconnected (#132270) 2024-12-04 15:33:35 +01:00
Bram Kragten 4fd4ba7813 Update frontend to 20241127.4 (#132268) 2024-12-04 15:33:31 +01:00
Robert Resch 7e96666dc5 Bump deebot-client to 9.1.0 (#132253) 2024-12-04 15:33:28 +01:00
Joost Lekkerkerker e463d5d16f Bump yt-dlp to 2024.12.03 (#132220) 2024-12-04 15:33:24 +01:00
Raphael Hehl f28579357e fix: unifiprotect prevent RTSP repair for third-party cameras (#132212)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-04 15:33:21 +01:00
cnico d40a9bd9ef Fix blocking call in netdata (#132209)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-12-04 15:33:17 +01:00
lunmay 28ecee6479 Fix typo in exception message in google_photos integration (#132194) 2024-12-04 15:33:14 +01:00
Michael Hansen 512ac7d572 Ensure entity names are not hassil templates (#132184) 2024-12-04 15:33:11 +01:00
Pete 22b353f7d5 Fix recorder "year" period in leap year (#132167)
* FIX: make "year" period work in leap year

* Add test

* Set second and microsecond to non-zero in test start times

* FIX: better fix for leap year problem

* Revert "FIX: better fix for leap year problem"

This reverts commit 06aba46ec6a0a1e944c88fe99d9bc6181a73cc1c.

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-12-04 15:33:07 +01:00
Jan-Philipp Benecke 49c40cd902 Track if intent was processed locally (#132166) 2024-12-04 15:33:04 +01:00
LG-ThinQ-Integration 629c7a53ce Bump thinqconnect to 1.0.2 (#132131)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2024-12-04 15:32:58 +01:00
G Johansson 66e3ffffa7 Bump holidays to 0.62 (#132108) 2024-12-04 15:32:55 +01:00
Joost Lekkerkerker 139b424717 Bump knocki to 0.4.2 (#129261) 2024-12-04 15:32:50 +01:00
Jan Bouwhuis 8f43a71ff6 Ensure MQTT subscriptions can be made when the broker is disconnected (#132270) 2024-12-04 15:18:04 +01:00
Bram Kragten 02db5ec88f Update frontend to 20241127.4 (#132268) 2024-12-04 14:57:25 +01:00
Joost Lekkerkerker d88f6dc6b9 Bump knocki to 0.4.2 (#129261) 2024-12-04 14:56:42 +01:00
dependabot[bot] 977d8fd1c8 Bump github/codeql-action from 3.27.5 to 3.27.6 (#132237)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-04 14:51:10 +01:00
Erik Montnemery deab285db8 Improve tests of recorder util resolve_period (#132259) 2024-12-04 14:01:49 +01:00
Pete a417d3dcf8 Fix recorder "year" period in leap year (#132167)
* FIX: make "year" period work in leap year

* Add test

* Set second and microsecond to non-zero in test start times

* FIX: better fix for leap year problem

* Revert "FIX: better fix for leap year problem"

This reverts commit 06aba46ec6a0a1e944c88fe99d9bc6181a73cc1c.

---------

Co-authored-by: Erik <erik@montnemery.com>
2024-12-04 13:21:10 +01:00
Robert Resch 545a780fcb Bump deebot-client to 9.1.0 (#132253) 2024-12-04 11:50:55 +01:00
G Johansson 5a1d5802c4 Fix sensibo test coverage to 100% (#132202) 2024-12-04 11:19:11 +01:00
Klaas Schoute f0c07d68c5 Catch exceptions on entry setup for Autarco integration (#132227) 2024-12-04 11:17:39 +01:00
G Johansson db266d80ec Pass config entry to UpdateCoordinator in yale_smart_alarm (#132205) 2024-12-04 10:45:47 +01:00
epenet 8c6d638354 Improve discovery rule in IQS validation (#132251)
* Improve discovery rule in IQS validation

* Adjust fyta/powerfox
2024-12-04 10:43:44 +01:00
Christopher Masto ea9301aa9e Fix Visual Studio Code tasks to use selected Python interpreter (#132219) 2024-12-04 10:39:54 +01:00
Franck Nijhof 33633f885d Ran hassfest 2024-12-04 09:59:28 +01:00
epenet 2ebc229d8d Use typed config entry in mastodon (#132249) 2024-12-04 09:54:29 +01:00
cnico 5600ad0d82 Fix blocking call in netdata (#132209)
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-12-04 09:53:29 +01:00
epenet cafd2092d4 Use typed config entry in fyta (#132248) 2024-12-04 09:52:31 +01:00
Jan-Philipp Benecke 6b7724c556 Track if intent was processed locally (#132166) 2024-12-04 09:52:15 +01:00
Klaas Schoute ab1f03f392 Add diagnostics to Powerfox integration (#132226)
* Add diagnostics to Powerfox integration

* Update quality scale list
2024-12-04 09:37:17 +01:00
Joost Lekkerkerker 58d06ebc39 Bump yt-dlp to 2024.12.03 (#132220) 2024-12-04 09:35:53 +01:00
Jeff Terrace ce11ac5ecd Bump onvif-zeep-async to 3.1.13 (#132229)
Bump onvif-zeep-async to 3.1.13.
2024-12-04 07:34:00 +01:00
Raphael Hehl cb36184511 fix: unifiprotect prevent RTSP repair for third-party cameras (#132212)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-03 23:03:31 -06:00
Klaas Schoute 1fe2a928a2 Add reauthentication flow for Powerfox integration (#132225)
* Add reauthentication flow for Powerfox integration

* Update quality scale
2024-12-04 01:48:35 +01:00
LG-ThinQ-Integration 7a98497710 Bump thinqconnect to 1.0.2 (#132131)
Co-authored-by: yunseon.park <yunseon.park@lge.com>
2024-12-04 01:46:36 +01:00
Allen Porter 3ef9b71807 Add quality_scale.yaml for Google Photos integration (#131329)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-04 01:18:34 +01:00
Andrew Jackson 3b39c53479 Add quality scale for Mastodon (#131357) 2024-12-04 01:08:58 +01:00
dontinelli c0303bc652 Add quality scale for fyta (#131508)
Co-authored-by: Josef Zweck <24647999+zweckj@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-04 00:59:57 +01:00
jb101010-2 2696405c63 Suez water add quality_scale.yaml (#131360)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-04 00:59:36 +01:00
Tom 9a17389cd0 Plugwise quality docs benchmark data update and removal (#132082) 2024-12-04 00:42:53 +01:00
Manu c484568e75 Bump pynecil to v2.0.2 (#132221) 2024-12-04 00:40:41 +01:00
dontinelli 5b365fc0bd Add missing data description for solarlog (#131712) 2024-12-04 00:39:53 +01:00
Klaas Schoute abd3466d19 Add powerfox integration (#131640) 2024-12-04 00:35:50 +01:00
Richard Kroegel 535b47789f Improve BMWDataUpdateCoordinator typing (#132087)
Co-authored-by: rikroe <rikroe@users.noreply.github.com>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-04 00:33:45 +01:00
G Johansson 4deaeaeda0 Fix next mypy issue in airzone_cloud (#132217) 2024-12-03 23:08:08 +01:00
dontinelli 5ae875be77 Update test_config_flow for solarlog (#132104)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-03 22:29:58 +01:00
G Johansson 14897f921c Fix mypy issue in airzone cloud (#132208) 2024-12-03 22:25:29 +01:00
G Johansson f31ff3ca14 Bump holidays to 0.62 (#132108) 2024-12-03 22:24:39 +01:00
Hugh Saunders bb51837346 Generic Thermostat Add Target Min Max to UI config (#131168)
Currently you can configure the minium and maximum target temperatures
if you create a generic thermostat in YAML. If you create it via the
UI, there is no option to configure them, you just get the climate
domain defaults.

This commit adds minimum and maximum fields to the first stage of the
generic thermostat config flow, so that UI users can also set min and
max.

Min and max are important as usually users want to select target
temperatures within a relatively narrow band, while the defaults create
a wide band. The wide band makes it hard to be accurate enough with the
arc style temperatue selector on the thermostat card.
2024-12-03 22:23:04 +01:00
epenet a405d2b724 Bump pytest to 8.3.4 (#132179) 2024-12-03 21:49:24 +01:00
Erik Montnemery 1a714276cc Remove support for live recorder data migration of entity IDs (#131952) 2024-12-03 14:43:33 -06:00
dontinelli 09d7fed6cd Add dhcp discovery for fyta (#132185)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-03 21:23:52 +01:00
G Johansson b9e4855e05 Refactor roomba to set vacuums in vacuum file (#132102) 2024-12-03 21:18:54 +01:00
Michael Hansen ab83ec61e0 Ensure entity names are not hassil templates (#132184) 2024-12-03 19:37:05 +01:00
lunmay 74b713fa97 Fix typo in exception message in google_photos integration (#132194) 2024-12-03 19:31:28 +01:00
Austin Mroczek e401fee3da Add initial quality scale for TotalConnect (#132012) 2024-12-03 18:43:49 +01:00
Franck Nijhof 759a2b84f5 Bump version to 2024.12.0b5 2024-12-03 18:03:36 +01:00
epenet 6c98cd49ea Fix check dirty in Prepare dependencies CI (#132180) 2024-12-03 18:03:13 +01:00
Bram Kragten ebffcb455f Update frontend to 20241127.3 (#132176) 2024-12-03 18:01:38 +01:00
epenet 08773cefb7 Pin rpds-py to 0.21.0 to fix CI (#132170)
* Pin rpds-py==0.21.0 to fix CI

* Add carriage return
2024-12-03 18:01:35 +01:00
Jon Seager 79352ea0f0 Bump pytouchlinesl to 0.3.0 (#132157) 2024-12-03 18:01:32 +01:00
Raphael Hehl b7038d4eb7 Bump uiprotect to 6.6.5 (#132147) 2024-12-03 18:01:29 +01:00
Tobias Perschon 8a310cbbf8 Improve error logging for unifi-ap (#132141) 2024-12-03 18:01:26 +01:00
Paulus Schoutsen 07196b0fda Fix bad hassil tests on CI (#132132)
* Fix CI

* Fix whitespace

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-12-03 18:01:23 +01:00
Tobias Perschon 0a38af7e48 Bump unifi_ap to 0.0.2 (#132125) 2024-12-03 18:01:19 +01:00
Bram Kragten 155fafb735 Update frontend to 20241127.2 (#132109)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-03 17:59:19 +01:00
J. Nick Koston 54ec41f25d Bump PyJWT to 2.10.1 (#132100) 2024-12-03 17:56:59 +01:00
Abílio Costa f480cc3396 Use translations on NumberEntity unit_of_measurement property (#132095)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-12-03 17:55:30 +01:00
Michael Hansen 2aea738032 Bump hassil and intents (#132092) 2024-12-03 17:54:28 +01:00
Jan Bouwhuis ab5165fdfa Fix imap sensor in case of alternative empty search response (#132081) 2024-12-03 17:36:08 +01:00
Jan-Philipp Benecke c6468aca2b Mark trend sensor unavailable when source entity is unknown/unavailable (#132080) 2024-12-03 17:36:04 +01:00
Duco Sebel 895ffbabf7 Round status light brightness number in HomeWizard (#132069) 2024-12-03 17:36:01 +01:00
Josef Zweck 3f1286b338 Set connections on device for acaia (#132064) 2024-12-03 17:35:57 +01:00
Simone Rescio d3a577ad89 Bump pyezviz to 0.2.2.3 (#132060) 2024-12-03 17:35:54 +01:00
Jan Rieger f44103ac7f Add translated native unit of measurement to Jellyfin (#132055) 2024-12-03 17:35:51 +01:00
Josef Zweck f1ebda7c6f Instantiate new httpx client for lamarzocco (#132016) 2024-12-03 17:35:47 +01:00
starkillerOG 905769f0e8 Fix Reolink dispatcher ID for onvif fallback (#131953) 2024-12-03 17:35:44 +01:00
Thomas55555 43899b6f28 Catch InverterReturnedError in APSystems (#131930)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-03 17:35:40 +01:00
Andrew Jackson b5e7da4262 Add translated native unit of measurement - QBitTorrent (#131918)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-03 17:35:37 +01:00
Andrew Jackson 3dc0ca7e1e Add translated native unit of measurement - PiHole (#131915) 2024-12-03 17:35:34 +01:00
Andrew Jackson 42c46a15b4 Add translated native unit of measurement - Transmission (#131913) 2024-12-03 17:35:31 +01:00
Andrew Jackson 97a725c2c6 Add translated native unit of measurement - squeezebox (#131912) 2024-12-03 17:35:28 +01:00
Abílio Costa c3499e5294 Update buienradar sensors only after being added to HA (#131830)
* Update buienradar sensors only after being added to HA

* Move check to util

* Check for platform in sensor state property

* Move check to unit translation key property

* Add test for sensor check

* Properly handle added_to_hass

* Remove redundant comment
2024-12-03 17:35:25 +01:00
Marcel van der Veldt 110935461e Add support for features changing at runtime in Matter integration (#129426) 2024-12-03 17:35:21 +01:00
Abílio Costa 208b14dd2b Use translations on NumberEntity unit_of_measurement property (#132095)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-12-03 17:08:09 +01:00
Raphael Hehl 13e4c51ce5 Bump uiprotect to 6.6.5 (#132147) 2024-12-03 17:03:43 +01:00
G Johansson 56fc8a1f92 Pass config entry directly to update coordinator in Sensibo (#132114) 2024-12-03 16:20:48 +01:00
Bram Kragten 92f38ef1a1 Update frontend to 20241127.3 (#132176) 2024-12-03 10:13:15 -05:00
J. Nick Koston 33db95f6be Bump PyJWT to 2.10.1 (#132100) 2024-12-03 16:03:43 +01:00
Jan-Philipp Benecke 7ae80b542a Use typed config entry in SABnzbd coordinator (#132098) 2024-12-03 15:48:56 +01:00
epenet 6fc4f45def Dump pip freeze in CI (#132173)
* Dump pip freeze in CI

* adjust

* adjust

* adjust

* Include python version
2024-12-03 15:24:05 +01:00
epenet 7c9b8552cb Reapply "bump hassil and intents" (#132138) (#132151)
This reverts commit 39b2cf6ed2.
2024-12-03 15:21:41 +01:00
Thomas55555 6a09474623 Catch InverterReturnedError in APSystems (#131930)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-03 15:11:15 +01:00
Josef Zweck e3885b8117 Instantiate new httpx client for lamarzocco (#132016) 2024-12-03 15:10:58 +01:00
Maciej Bieniek 9e723752f8 Bump nettigo-air-monitor to version 4.0.0 (#132106) 2024-12-03 15:08:36 +01:00
epenet 7e07930342 Pin rpds-py to 0.21.0 to fix CI (#132170)
* Pin rpds-py==0.21.0 to fix CI

* Add carriage return
2024-12-03 15:01:35 +01:00
epenet 76ba3afeae Cleanup dead code in renault (#132172) 2024-12-03 14:33:40 +01:00
Michael Hansen af5574f71c Bump voip-utils (#132110)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-12-03 14:08:55 +01:00
Bram Kragten ff77ecd2ce Update frontend to 20241127.2 (#132109)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-12-03 14:08:31 +01:00
starkillerOG f6beefced3 Improve Reolink config flow tests (#131693)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-03 13:50:50 +01:00
Richard Kroegel f59cf8fa54 Set PARALLEL_UPDATES for all BMW platforms (#132088) 2024-12-03 13:36:41 +01:00
Jon Seager 3e64d148cc Bump pytouchlinesl to 0.3.0 (#132157) 2024-12-03 13:34:50 +01:00
Tobias Perschon c4ba15bb8c Improve error logging for unifi-ap (#132141) 2024-12-03 13:34:13 +01:00
Tobias Perschon bebbb87aa2 Bump unifi_ap to 0.0.2 (#132125) 2024-12-03 13:33:47 +01:00
Petar Petrov 3a19c2f47f Support Z-Wave JS abort S2 bootstrapping (#132140)
ZWaveJS: abort S2 bootstrapping when inclusion is canceled
2024-12-03 13:29:44 +01:00
epenet ffccdbbcec Bump renault-api to 0.2.8 (#132135) 2024-12-03 13:10:55 +01:00
Jan Bouwhuis d66a6d9596 Fix imap sensor in case of alternative empty search response (#132081) 2024-12-03 13:06:54 +01:00
Marcel van der Veldt 50936b4e28 Add support for features changing at runtime in Matter integration (#129426) 2024-12-03 13:06:18 +01:00
Tom aeab8a0143 Plugwise fixes from quality review (#132158) 2024-12-03 12:34:03 +01:00
epenet 003d4d712a Bump syrupy to 4.8.0 (#132134) 2024-12-03 11:31:54 +01:00
mvn23 3e2bac96e6 Move set_room_setpoint to opentherm_gw hub (#132152) 2024-12-03 10:49:32 +01:00
epenet 39b2cf6ed2 Revert "bump hassil and intents" (#132138)
* Revert "Fix bad hassil tests on CI (#132132)"

This reverts commit 101bb091ba.

* Revert "Bump hassil and intents (#132092)"

This reverts commit e52182940b.
2024-12-03 09:37:33 +01:00
starkillerOG bb7dc079ce Remove unneeded step from reauth in Reolink (#132143) 2024-12-03 09:11:44 +01:00
Paulus Schoutsen 101bb091ba Fix bad hassil tests on CI (#132132)
* Fix CI

* Fix whitespace

---------

Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-12-02 23:08:51 -06:00
G Johansson 03be1b9f38 Drop operating mode property in sharkiq (#132097) 2024-12-03 00:12:49 +01:00
G Johansson 5dadabe50c Add data description to Nord pool config flow (#132115) 2024-12-02 23:11:44 +01:00
starkillerOG 0e5b03b343 Rename 'Reolink IP NVR/camera' to 'Reolink' (#132113) 2024-12-02 22:39:48 +01:00
starkillerOG db430beb5b Fix Reolink dispatcher ID for onvif fallback (#131953) 2024-12-02 22:18:24 +01:00
epenet 0a977d070b Improve Renault reauth test (#132077) 2024-12-02 21:57:45 +01:00
epenet e1772d25f2 Cleanup dead code in renault coordinator (#132078) 2024-12-02 21:56:13 +01:00
Jan-Philipp Benecke 755d36d82f Mark trend sensor unavailable when source entity is unknown/unavailable (#132080) 2024-12-02 21:54:57 +01:00
Manu 32b8c8985e Fix type hints in IronOS coordinators (#132107)
Fix coordinators return type in IronOS
2024-12-02 21:41:13 +01:00
Michael Hansen e52182940b Bump hassil and intents (#132092) 2024-12-02 14:09:35 -05:00
starkillerOG d7cdb357dc Add Reolink quality scale yaml (#131123)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-02 15:39:44 +01:00
Josef Zweck 54c5d1002b Set connections on device for acaia (#132064) 2024-12-02 15:27:44 +01:00
Tom 13e9f1935d Record Plugwise Quality Scale (#131888)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-02 15:21:03 +01:00
David Knowles 92520fe365 Ensure Schlage config entry uniqueness (#131732)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-02 15:18:17 +01:00
starkillerOG 2f644eb61c Remove option to update settings using second config flow in Reolink (#131695) 2024-12-02 15:01:28 +01:00
dontinelli 4b9d89a480 Change wording in config flow dialog for fyta (#132075) 2024-12-02 14:57:47 +01:00
Marc Mueller fe0f414e99 Update mypy-dev to 1.14.0a5 (#132063) 2024-12-02 14:40:13 +01:00
Duco Sebel 89ee49e50c Round status light brightness number in HomeWizard (#132069) 2024-12-02 14:04:39 +01:00
Abílio Costa 6db8fced60 Update buienradar sensors only after being added to HA (#131830)
* Update buienradar sensors only after being added to HA

* Move check to util

* Check for platform in sensor state property

* Move check to unit translation key property

* Add test for sensor check

* Properly handle added_to_hass

* Remove redundant comment
2024-12-02 13:52:59 +01:00
Mike Degatano 99063ba141 Reboot host to aiohasupervisor (#130391)
* Reboot host to aiohasupervisor

* Remove invalid test

* Remove unnecessary init
2024-12-02 13:34:39 +01:00
Jan Rieger 0c693b6ae1 Add translated native unit of measurement to Jellyfin (#132055) 2024-12-02 13:28:54 +01:00
dependabot[bot] c610f16e90 Bump dawidd6/action-download-artifact from 6 to 7 (#132040)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-02 13:25:38 +01:00
Petar Petrov 29b48d02de Bump zwave-js-server-python to 0.60.0 (#132059) 2024-12-02 13:21:54 +01:00
Simone Rescio a419fde0eb Bump pyezviz to 0.2.2.3 (#132060) 2024-12-02 13:18:53 +01:00
Franck Nijhof be40db3dff Bump version to 2024.12.0b4 2024-12-02 13:02:23 +01:00
Josef Zweck c3c500955a Use format_mac correctly for acaia (#132062) 2024-12-02 12:59:41 +01:00
ashionky 1e5a5925e6 Bump refoss to v1.2.5 (#132051) 2024-12-02 12:59:37 +01:00
TimL d956e4b11d Bump psymlight v0.1.4 (#132045) 2024-12-02 12:59:33 +01:00
J. Nick Koston 8ff8cd8b65 Bump aiohttp to 3.11.9 (#132036)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.11.8...v3.11.9
2024-12-02 12:59:29 +01:00
Joost Lekkerkerker fab35f227d Handle not found playlists in Spotify (#132033)
* Handle not found playlists

* Handle not found playlists

* Handle not found playlists

* Handle not found playlists

* Handle not found playlists

* Update homeassistant/components/spotify/coordinator.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-12-02 12:59:26 +01:00
Joost Lekkerkerker e4d19541f5 Bump spotifyaio to 0.8.11 (#132032) 2024-12-02 12:59:22 +01:00
Joost Lekkerkerker 6b6fc6bbeb Bump yt-dlp to 2024.11.18 (#132026) 2024-12-02 12:59:18 +01:00
J. Nick Koston f2bafee84a Bump yarl to 1.18.3 (#132025)
changelog: https://github.com/aio-libs/yarl/compare/v1.18.0...v1.18.3
2024-12-02 12:59:15 +01:00
J. Nick Koston 4e0cdb0537 Bump propcache to 0.2.1 (#132022) 2024-12-02 12:59:06 +01:00
Richard Kroegel 79c919f62d Bump bimmer_connected to 0.17.2 (#132005) 2024-12-02 12:58:53 +01:00
Erik Montnemery b6dec11487 Freeze integration setup timeout for recorder during non-live data migration (#131998) 2024-12-02 12:58:44 +01:00
Bouwe Westerdijk e2073d7762 Bugfix for Plugwise, small code optimization (#131990) 2024-12-02 12:58:37 +01:00
Josef Zweck 1cf00d9bbc Use format_mac correctly for acaia (#132062) 2024-12-02 12:38:39 +01:00
Manu ea7f1b2a4e Add additional number entities to IronOS (#131943)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-12-02 12:35:36 +01:00
Marc Mueller 11a2a62144 Update livisi to 0.0.24 (#132058) 2024-12-02 12:33:54 +01:00
nasWebio 3d26fa7864 Bump webio_api to 0.1.11 (#131730) 2024-12-02 11:07:37 +01:00
ashionky e37ae8bf8d Bump refoss to v1.2.5 (#132051) 2024-12-02 11:05:09 +01:00
Andrew Jackson 56ec70815c Add translated native unit of measurement - squeezebox (#131912) 2024-12-02 10:54:37 +01:00
Andrew Jackson 584bb7bca8 Add translated native unit of measurement - PiHole (#131915) 2024-12-02 10:51:50 +01:00
Andrew Jackson 79ed6d865f Add translated native unit of measurement - Transmission (#131913) 2024-12-02 10:51:32 +01:00
Andrew Jackson 66d0d2eb6c Add translated native unit of measurement - QBitTorrent (#131918)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2024-12-02 10:50:49 +01:00
epenet 8d1493036a Set PARALLEL_UPDATES in renault and bump quality scale (#132047) 2024-12-02 09:59:57 +01:00
TimL 5dc390b6b9 Bump psymlight v0.1.4 (#132045) 2024-12-02 09:24:49 +01:00
Andrew Sayre 4eb75a56e6 Use runtime data in HEOS (#132030)
* Adopt runtime_data

* Fix missing variable assignment

* Address PR feedback
2024-12-02 08:19:43 +01:00
dontinelli 4eb5734d73 Remove CONF_NAME from config entry in solarlog (#131738)
* Remove CONF_NAME from config entry

* Remove name from strings.json
2024-12-02 07:39:48 +01:00
epenet 5458ee2fa9 Use typed config entry in imap (#132029)
* Use typed config entry in imap

* Adjust
2024-12-02 07:28:29 +01:00
epenet 28eb4f3dff Use typed config entry in rainbird (#132031)
* Use typed config entry in rainbird

* Adjust
2024-12-02 07:27:47 +01:00
J. Nick Koston 80f28302a1 Bump yarl to 1.18.3 (#132025)
changelog: https://github.com/aio-libs/yarl/compare/v1.18.0...v1.18.3
2024-12-01 21:17:36 -05:00
Joost Lekkerkerker 782fff198c Handle not found playlists in Spotify (#132033)
* Handle not found playlists

* Handle not found playlists

* Handle not found playlists

* Handle not found playlists

* Handle not found playlists

* Update homeassistant/components/spotify/coordinator.py

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-12-01 21:17:07 -05:00
J. Nick Koston b6458ff9b8 Bump cryptography to 44.0.0 and pyOpenSSL to 24.3.0 (#132035)
These should be bumped together to make sure we do not
have any incompatibility issues.

> Note: The Python Cryptographic Authority strongly suggests the use of pyca/cryptography where possible. If you are using pyOpenSSL for anything other than making a TLS connection you should move to cryptography and drop your pyOpenSSL dependency.
2024-12-01 21:06:14 -05:00
J. Nick Koston c6cd7e38f7 Bump aiohttp to 3.11.9 (#132036)
changelog: https://github.com/aio-libs/aiohttp/compare/v3.11.8...v3.11.9
2024-12-01 21:05:45 -05:00
Yazan AbdAl-Rahman c2e6f8e761 Improve service names and descriptions for 'remote_connect' and 'remote_disconnect' in Home Assistant Cloud (#131993)
* Rename and reword 'remote_connect' and 'remote_disconnect' services for clarity

* Trigger pipeline

* Trigger pipeline

* Trigger pipeline

* Trigger pipeline

* Apply suggestions from code review

---------

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2024-12-01 20:56:15 -05:00
Joost Lekkerkerker b17b1f6db8 Bump spotifyaio to 0.8.11 (#132032) 2024-12-01 23:05:34 +01:00
Joost Lekkerkerker b94a47ceb2 Change library to livisi (#132001)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-12-01 15:41:01 -06:00
Joost Lekkerkerker 86f8b5893f Bump yt-dlp to 2024.11.18 (#132026) 2024-12-01 22:39:26 +01:00
Klaas Schoute 78ced997e2 Add reauthentication flow for Autarco integration (#131816) 2024-12-01 22:02:50 +01:00
Bouwe Westerdijk bd8cd87fae Bugfix for Plugwise, small code optimization (#131990) 2024-12-01 22:01:19 +01:00
Charles Garwood 521505f9b5 Add additional data_descriptions for Fully Kiosk Browser fields (#131716) 2024-12-01 22:00:21 +01:00
Richard Kroegel 98734ebe4f Bump bimmer_connected to 0.17.2 (#132005) 2024-12-01 21:45:31 +01:00
David Knowles ffc3aca41f Bump pydrawise to 2024.12.0 (#132015) 2024-12-01 21:44:14 +01:00
dotvav 8fdd095dab Add pre-commit VSCode task (#131637) 2024-12-01 21:43:09 +01:00
Norbert Rittel 36ca4e8866 Fix description of 'clear_completed_items' to use "remove" (#132014) 2024-12-01 21:42:16 +01:00
Richard Kroegel e706a5ef27 Set parallel updates for BMW entities (#132019) 2024-12-01 21:37:35 +01:00
J. Nick Koston 82e190dc4b Bump propcache to 0.2.1 (#132022) 2024-12-01 21:37:03 +01:00
Norbert Rittel bd3f432376 Clarify description of fan actions, fix typo (#132023) 2024-12-01 20:55:27 +01:00
Erik Montnemery ff1702eefa Remove unnecessary assignment in Recorder._process_state_changed_event_into_session (#132011) 2024-12-01 13:40:40 -05:00
Erik Montnemery cf0ee63507 Simplify recorder RecorderRunsManager (#131785) 2024-12-01 11:26:29 -06:00
Erik Montnemery c54eed3607 Improve recorder migration logging (#132006) 2024-12-01 16:58:24 +01:00
epenet a0541c7fe6 Improve renault config flow tests (#131698) 2024-12-01 16:55:43 +01:00
epenet 2b094ee25d Improve renault config-flow translation strings (#131706) 2024-12-01 16:54:05 +01:00
Jan Bouwhuis 3aae9b629f Add exception translation for entity action not supported (#131956) 2024-12-01 16:53:06 +01:00
epenet c55a4e9584 Cleanup pylint obsolete import checks (#131904) 2024-12-01 16:49:51 +01:00
epenet 8343d7f348 Use typed ConfigEntry in twentemilieu (#131894) 2024-12-01 16:40:30 +01:00
epenet fd42c01a21 Use typed ConfigEntry in tedee (#131893) 2024-12-01 16:40:06 +01:00
epenet bc7cfb6761 Use typed ConfigEntry in lamarzocco (#131892) 2024-12-01 16:39:33 +01:00
Erik Montnemery 598ce1f3b0 Freeze integration setup timeout for recorder during non-live data migration (#131998) 2024-12-01 09:17:55 -06:00
J. Nick Koston 8878d0f0e1 Reduce time syscalls needed to insert new statistics (#131984) 2024-12-01 08:55:07 -06:00
Jan Bouwhuis 47aebabc51 Add final translations to mqtt exceptions (#131933) 2024-12-01 12:20:45 +01:00
Norbert Rittel 37972ec88e Match "delete" with "create" in the action descriptions (#131989) 2024-12-01 12:08:35 +01:00
Paulus Schoutsen 6103cea3f5 Make the full conversation input available to sentence triggers (#131982)
Co-authored-by: Michael Hansen <mike@rhasspy.org>
2024-11-30 22:04:29 -06:00
Paulus Schoutsen d7428786cd Bump version to 2024.12.0b3 2024-12-01 03:14:16 +00:00
J. Nick Koston 673bdcc556 Reduce precision loss when converting HomeKit temperature (#131973) 2024-12-01 03:14:11 +00:00
J. Nick Koston e8ef990e72 Strip trailing spaces from HomeKit names (#131971) 2024-12-01 03:14:10 +00:00
starkillerOG 0d155c416a Bump reolink_aio to 0.11.4 (#131957) 2024-12-01 03:14:10 +00:00
Andrew Jackson e48be5c406 Bump aiomealie to 0.9.4 (#131951) 2024-12-01 03:14:09 +00:00
Matthias Alphart 787a1613ec Fix KNX IP Secure tunnelling endpoint selection with keyfile (#131941) 2024-12-01 03:14:08 +00:00
Raphael Hehl bb847b346d Bump uiprotect to 6.6.4 (#131931) 2024-12-01 03:14:07 +00:00
Jc2k e9b34eaad0 Bump aiohomekit to 3.2.7 (#131924) 2024-12-01 03:14:06 +00:00
Marcel van der Veldt 572347025b Fix media player join action for Music Assistant integration (#131910)
* Fix media player join action for Music Assistant integration

* Add tests for join/unjoin

* add one more test
2024-12-01 03:14:05 +00:00
Josef Zweck 29e80e56c6 Bump aioacaia to 0.1.10 (#131906) 2024-12-01 03:14:04 +00:00
Oliver b60b2fdd7c Bump denonavr to v1.0.1 (#131882) 2024-12-01 03:14:04 +00:00
Josef Zweck aaf3f61675 Guard against hostname change in lamarzocco discovery (#131873)
* Guard against hostname change in lamarzocco discovery

* switch to abort_entries_match
2024-12-01 03:13:50 +00:00
karwosts 5bf972ff16 Fix history stats count update immediately after change (#131856)
* Fix history stats count update immediately after change

* rerun CI
2024-12-01 03:13:45 +00:00
Glenn Vandeuren (aka Iondependent) 8eb52edabf Fix modbus state not dumped on restart (#131319)
* Fix modbus state not dumped on restart

* Update test_init.py

* Set event back  to stop

* Update test_init.py

---------

Co-authored-by: VandeurenGlenn <8685280+VandeurenGlenn@users.noreply.github.com>
2024-12-01 03:13:44 +00:00
J. Nick Koston 4326689f52 Bump SQLAlchemy to 2.0.36 (#126683)
* Bump SQLAlchemy to 2.0.35

changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.35

* fix mocking

* adjust to .36

* remove ignored as these are now typed

* fix SQLAlchemy
2024-12-01 03:13:44 +00:00
J. Nick Koston ffeefd4856 Bump SQLAlchemy to 2.0.36 (#126683)
* Bump SQLAlchemy to 2.0.35

changelog: https://docs.sqlalchemy.org/en/20/changelog/changelog_20.html#change-2.0.35

* fix mocking

* adjust to .36

* remove ignored as these are now typed

* fix SQLAlchemy
2024-11-30 22:07:51 -05:00
Bouwe Westerdijk 44ed83a829 Bump plugwise to v1.6.1 (#131950) 2024-11-30 22:01:33 -05:00
J. Nick Koston a0d5fda4b6 Reduce precision loss when converting HomeKit temperature (#131973) 2024-11-30 16:09:37 -06:00
J. Nick Koston 2b907ee56e Strip trailing spaces from HomeKit names (#131971) 2024-11-30 14:47:40 -06:00
Andy bcdac7ed37 Add support for linked_doorbell_sensor to HomeKit locks (#131660)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-30 13:30:21 -06:00
starkillerOG 6da2515d7a Bump reolink_aio to 0.11.4 (#131957) 2024-11-30 10:32:53 -06:00
Josef Zweck 6c6980a550 Improvements for bluetooth device for lamarzocco (#131875) 2024-11-30 10:32:41 -06:00
Oliver bd29aaffb8 Bump denonavr to v1.0.1 (#131882) 2024-11-30 10:27:31 -06:00
Glenn Vandeuren (aka Iondependent) 74522390ad Add config flow to NHC (#130554)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: VandeurenGlenn <8685280+VandeurenGlenn@users.noreply.github.com>
2024-11-30 12:16:12 +01:00
Andrew Jackson 92204e6c92 Bump aiomealie to 0.9.4 (#131951) 2024-11-30 12:15:19 +01:00
Glenn Vandeuren (aka Iondependent) 5d71533c7b Fix modbus state not dumped on restart (#131319)
* Fix modbus state not dumped on restart

* Update test_init.py

* Set event back  to stop

* Update test_init.py

---------

Co-authored-by: VandeurenGlenn <8685280+VandeurenGlenn@users.noreply.github.com>
2024-11-30 09:30:24 +01:00
karwosts 9209e43e4c Fix history stats count update immediately after change (#131856)
* Fix history stats count update immediately after change

* rerun CI
2024-11-30 00:43:31 -05:00
karwosts 2c1a754e5d Make uploaded images browsable in media (#131468)
* Make uploaded images browsable in media

* tests

* Update homeassistant/components/image_upload/media_source.py

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

* use executor

* more executor

* use thumbnail

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-11-30 06:25:59 +01:00
Franck Nijhof 06838c0280 Bump version to 2024.12.0b2 2024-11-28 21:02:37 +01:00
Richard Kroegel f97d96e3ae Add captcha to BMW ConfigFlow (#131351)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2024-11-28 21:02:23 +01:00
karwosts ee960933db Fix flaky test in history stats (#131869) 2024-11-28 20:55:34 +01:00
Joost Lekkerkerker 2ea0c54788 Only download translation strings we have defined (#131864) 2024-11-28 20:55:31 +01:00
Madhan dd18672341 Bump PyMetEireann to 2024.11.0 (#131860)
Co-authored-by: Joostlek <joostlek@outlook.com>
2024-11-28 20:55:26 +01:00
Bram Kragten ac4ae0430e Update frontend to 20241127.1 (#131855) 2024-11-28 20:55:23 +01:00
Joost Lekkerkerker eeb63d42a0 Bump pyatv to 0.16.0 (#131852) 2024-11-28 20:55:20 +01:00
Michael 9d48f36754 Allow empty trigger sentence responses in conversations (#131849)
allow empty trigger sentence responses
2024-11-28 20:55:16 +01:00
Joost Lekkerkerker 157198bf41 Make wake word selection part of configuration (#131832) 2024-11-28 20:55:13 +01:00
Joost Lekkerkerker be25b9d4d0 Bump spotifyaio to 0.8.10 (#131827) 2024-11-28 20:55:10 +01:00
epenet e08b71086f Fix more flaky translation checks (#131824) 2024-11-28 20:55:07 +01:00
Norbert Rittel 9677c6e24c Remove wrong plural "s" in 'todo.remove_item' action (#131814) 2024-11-28 20:55:03 +01:00
Franck Nijhof e2cda54473 Ensure custom integrations are assigned the custom IQS scale (#131795) 2024-11-28 20:55:00 +01:00
epenet 3ca49dc8a6 Bump samsungtvws to 2.7.1 (#131784) 2024-11-28 20:54:57 +01:00
Joost Lekkerkerker 80bc70771e Remove Spotify featured playlists and categories from media browser (#131758) 2024-11-28 20:54:54 +01:00
Erik Montnemery 7ab1bfcf1f Improve recorder history queries (#131702)
* Improve recorder history queries

* Remove some comments

* Update StatesManager._oldest_ts when adding pending state

* Update after review

* Improve tests

* Improve post-purge logic

* Avoid calling dt_util.utc_to_timestamp in new code

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-11-28 20:54:50 +01:00
Richard Kroegel 99f8dbd278 Bump bimmer_connected to 0.17.0 (#131352) 2024-11-28 20:54:46 +01:00
Franck Nijhof 3af0bc2c33 Bump version to 2024.12.0b1 2024-11-28 08:44:28 +01:00
TheJulianJES b8c4ce932c Fix Home Connect microwave programs (#131782) 2024-11-28 08:44:14 +01:00
puddly 0a3a3edf77 Bump ZHA to 0.0.41 (#131776) 2024-11-28 08:44:11 +01:00
J. Nick Koston 71376229f6 Bump aioesphomeapi to 27.0.3 (#131773) 2024-11-28 08:44:07 +01:00
Manu c9dde419a2 Fix rounding of attributes in Habitica integration (#131772) 2024-11-28 08:44:04 +01:00
Josef Zweck 2fc01a02db Bump pylamarzocco to 1.2.12 (#131765) 2024-11-28 08:44:01 +01:00
J. Nick Koston f02d2344fc Bump uiprotect to 6.6.3 (#131764) 2024-11-28 08:43:58 +01:00
Joost Lekkerkerker 509311ac19 Remove Spotify audio feature sensors (#131754) 2024-11-28 08:43:54 +01:00
J. Nick Koston 47e7c4f1c1 Bump orjson to 3.10.12 (#131752)
changelog: https://github.com/ijl/orjson/compare/3.10.11...3.10.12
2024-11-28 08:43:51 +01:00
J. Nick Koston c9d3ba900e Bump aiohttp to 3.11.8 (#131744) 2024-11-28 08:43:48 +01:00
Allen Porter 74a3d11aea Add a missing rainbird data description (#131740) 2024-11-28 08:43:45 +01:00
Marcel van der Veldt 897abc114e Bump music assistant client 1.0.8 (#131739) 2024-11-28 08:43:41 +01:00
Josef Zweck 3fff3003f2 Add missing data_description for lamarzocco OptionsFlow (#131708) 2024-11-28 08:43:37 +01:00
Franck Nijhof db5c93f96d Bump version to 2024.12.0b0 2024-11-27 18:36:24 +01:00
3628 changed files with 182886 additions and 47539 deletions
+2
View File
@@ -6,6 +6,7 @@ core: &core
- homeassistant/helpers/**
- homeassistant/package_constraints.txt
- homeassistant/util/**
- mypy.ini
- pyproject.toml
- requirements.txt
- setup.cfg
@@ -131,6 +132,7 @@ tests: &tests
- tests/components/conftest.py
- tests/components/diagnostics/**
- tests/components/history/**
- tests/components/light/common.py
- tests/components/logbook/**
- tests/components/recorder/**
- tests/components/repairs/**
+1 -1
View File
@@ -62,7 +62,7 @@
"json.schemas": [
{
"fileMatch": ["homeassistant/components/*/manifest.json"],
"url": "./script/json_schemas/manifest_schema.json"
"url": "${containerWorkspaceFolder}/script/json_schemas/manifest_schema.json"
}
]
}
+11
View File
@@ -11,3 +11,14 @@
*.pcm binary
Dockerfile.dev linguist-language=Dockerfile
# Generated files
CODEOWNERS linguist-generated=true
Dockerfile linguist-generated=true
homeassistant/generated/*.py linguist-generated=true
mypy.ini linguist-generated=true
requirements.txt linguist-generated=true
requirements_all.txt linguist-generated=true
requirements_test_all.txt linguist-generated=true
requirements_test_pre_commit.txt linguist-generated=true
script/hassfest/docker/Dockerfile linguist-generated=true
+7 -7
View File
@@ -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.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: translations
path: translations.tar.gz
@@ -94,7 +94,7 @@ jobs:
- name: Download nightly wheels of frontend
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v6
uses: dawidd6/action-download-artifact@v7
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/frontend
@@ -105,7 +105,7 @@ jobs:
- name: Download nightly wheels of intents
if: needs.init.outputs.channel == 'dev'
uses: dawidd6/action-download-artifact@v6
uses: dawidd6/action-download-artifact@v7
with:
github_token: ${{secrets.GITHUB_TOKEN}}
repo: home-assistant/intents-package
@@ -509,7 +509,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
@@ -517,12 +517,12 @@ jobs:
tags: ${{ env.HASSFEST_IMAGE_TAG }}
- name: Run hassfest against core
run: docker run --rm -v ${{ github.workspace }}/homeassistant:/github/workspace/homeassistant ${{ env.HASSFEST_IMAGE_TAG }} --core-integrations-path=/github/workspace/homeassistant/components
run: docker run --rm -v ${{ github.workspace }}:/github/workspace ${{ env.HASSFEST_IMAGE_TAG }} --core-path=/github/workspace
- name: Push Docker image
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
id: push
uses: docker/build-push-action@48aba3b46d1b1fec4febb7c5d0c644b249a11355 # v6.10.0
uses: docker/build-push-action@b32b51a8eda65d6793cd0494a773d4f6bcef32dc # v6.11.0
with:
context: . # So action will not pull the repository again
file: ./script/hassfest/docker/Dockerfile
@@ -531,7 +531,7 @@ jobs:
- name: Generate artifact attestation
if: needs.init.outputs.channel != 'dev' && needs.init.outputs.publish == 'true'
uses: actions/attest-build-provenance@ef244123eb79f2f7a7e75d99086184180e6d0018 # v1.4.4
uses: actions/attest-build-provenance@7668571508540a607bdfd90a87a560489fe372eb # v2.1.0
with:
subject-name: ${{ env.HASSFEST_IMAGE_NAME }}
subject-digest: ${{ steps.push.outputs.digest }}
+57 -38
View File
@@ -40,9 +40,9 @@ env:
CACHE_VERSION: 11
UV_CACHE_VERSION: 1
MYPY_CACHE_VERSION: 9
HA_SHORT_VERSION: "2025.1"
DEFAULT_PYTHON: "3.12"
ALL_PYTHON_VERSIONS: "['3.12', '3.13']"
HA_SHORT_VERSION: "2025.2"
DEFAULT_PYTHON: "3.13"
ALL_PYTHON_VERSIONS: "['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
@@ -240,7 +240,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v4.1.2
uses: actions/cache@v4.2.0
with:
path: venv
key: >-
@@ -256,7 +256,7 @@ jobs:
uv pip install "$(cat requirements_test.txt | grep pre-commit)"
- name: Restore pre-commit environment from cache
id: cache-precommit
uses: actions/cache@v4.1.2
uses: actions/cache@v4.2.0
with:
path: ${{ env.PRE_COMMIT_CACHE }}
lookup-only: true
@@ -286,7 +286,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
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.1.2
uses: actions/cache/restore@v4.2.0
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -326,7 +326,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
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.1.2
uses: actions/cache/restore@v4.2.0
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -366,7 +366,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
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.1.2
uses: actions/cache/restore@v4.2.0
with:
path: ${{ env.PRE_COMMIT_CACHE }}
fail-on-cache-miss: true
@@ -482,16 +482,15 @@ jobs:
env.HA_SHORT_VERSION }}-$(date -u '+%Y-%m-%dT%H:%M:%s')" >> $GITHUB_OUTPUT
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache@v4.1.2
uses: actions/cache@v4.2.0
with:
path: venv
lookup-only: true
key: >-
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore uv wheel cache
if: steps.cache-venv.outputs.cache-hit != 'true'
uses: actions/cache@v4.1.2
uses: actions/cache@v4.2.0
with:
path: ${{ env.UV_CACHE_DIR }}
key: >-
@@ -531,6 +530,26 @@ jobs:
python -m script.gen_requirements_all ci
uv pip install -r requirements_all_pytest.txt -r requirements_test.txt
uv pip install -e . --config-settings editable_mode=compat
- name: Dump pip freeze
run: |
python -m venv venv
. venv/bin/activate
python --version
uv pip freeze >> pip_freeze.txt
- name: Upload pip_freeze artifact
uses: actions/upload-artifact@v4.6.0
with:
name: pip-freeze-${{ matrix.python-version }}
path: pip_freeze.txt
overwrite: true
- name: Remove pip_freeze
run: rm pip_freeze.txt
- name: Remove generated requirements_all
if: steps.cache-venv.outputs.cache-hit != 'true'
run: rm requirements_all_pytest.txt requirements_all_wheels_*.txt
- name: Check dirty
run: |
./script/check_dirty
hassfest:
name: Check hassfest
@@ -559,7 +578,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -592,7 +611,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -630,7 +649,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -642,7 +661,7 @@ jobs:
. venv/bin/activate
python -m script.licenses extract --output-file=licenses-${{ matrix.python-version }}.json
- name: Upload licenses
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: licenses-${{ github.run_number }}-${{ matrix.python-version }}
path: licenses-${{ matrix.python-version }}.json
@@ -673,7 +692,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -720,7 +739,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ env.DEFAULT_PYTHON }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -772,7 +791,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.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -780,7 +799,7 @@ jobs:
${{ runner.os }}-${{ steps.python.outputs.python-version }}-${{
needs.info.outputs.python_cache_key }}
- name: Restore mypy cache
uses: actions/cache@v4.1.2
uses: actions/cache@v4.2.0
with:
path: .mypy_cache
key: >-
@@ -846,7 +865,7 @@ jobs:
check-latest: true
- name: Restore base Python virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -858,7 +877,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.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: pytest_buckets
path: pytest_buckets.txt
@@ -910,7 +929,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -960,14 +979,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.4.3
uses: actions/upload-artifact@v4.6.0
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.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
@@ -1031,7 +1050,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -1087,7 +1106,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.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.mariadb }}
@@ -1095,7 +1114,7 @@ jobs:
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: coverage-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.mariadb }}
@@ -1160,7 +1179,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -1217,7 +1236,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.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: pytest-${{ github.run_number }}-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.postgresql }}
@@ -1225,7 +1244,7 @@ jobs:
overwrite: true
- name: Upload coverage artifact
if: needs.info.outputs.skip_coverage != 'true'
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: coverage-${{ matrix.python-version }}-${{
steps.pytest-partial.outputs.postgresql }}
@@ -1254,7 +1273,7 @@ jobs:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'true'
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.1.2
with:
fail_ci_if_error: true
flags: full-suite
@@ -1306,7 +1325,7 @@ jobs:
check-latest: true
- name: Restore full Python ${{ matrix.python-version }} virtual environment
id: cache-venv
uses: actions/cache/restore@v4.1.2
uses: actions/cache/restore@v4.2.0
with:
path: venv
fail-on-cache-miss: true
@@ -1359,14 +1378,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.4.3
uses: actions/upload-artifact@v4.6.0
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.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: coverage-${{ matrix.python-version }}-${{ matrix.group }}
path: coverage.xml
@@ -1392,7 +1411,7 @@ jobs:
pattern: coverage-*
- name: Upload coverage to Codecov
if: needs.info.outputs.test_full_suite == 'false'
uses: codecov/codecov-action@v5.0.7
uses: codecov/codecov-action@v5.1.2
with:
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
+2 -2
View File
@@ -24,11 +24,11 @@ jobs:
uses: actions/checkout@v4.2.2
- name: Initialize CodeQL
uses: github/codeql-action/init@v3.27.5
uses: github/codeql-action/init@v3.28.1
with:
languages: python
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3.27.5
uses: github/codeql-action/analyze@v3.28.1
with:
category: "/language:python"
+1 -1
View File
@@ -10,7 +10,7 @@ on:
- "**strings.json"
env:
DEFAULT_PYTHON: "3.12"
DEFAULT_PYTHON: "3.13"
jobs:
upload:
+38 -36
View File
@@ -17,7 +17,7 @@ on:
- "script/gen_requirements_all.py"
env:
DEFAULT_PYTHON: "3.12"
DEFAULT_PYTHON: "3.13"
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name}}
@@ -76,18 +76,37 @@ jobs:
# Use C-Extension for SQLAlchemy
echo "REQUIRE_SQLALCHEMY_CEXT=1"
# Add additional pip wheel build constraints
echo "PIP_CONSTRAINT=build_constraints.txt"
) > .env_file
- name: Write pip wheel build constraints
run: |
(
# ninja 1.11.1.2 + 1.11.1.3 seem to be broken on at least armhf
# this caused the numpy builds to fail
# https://github.com/scikit-build/ninja-python-distributions/issues/274
echo "ninja==1.11.1.1"
) > build_constraints.txt
- name: Upload env_file
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: env_file
path: ./.env_file
include-hidden-files: true
overwrite: true
- name: Upload build_constraints
uses: actions/upload-artifact@v4.6.0
with:
name: build_constraints
path: ./build_constraints.txt
overwrite: true
- name: Upload requirements_diff
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: requirements_diff
path: ./requirements_diff.txt
@@ -99,7 +118,7 @@ jobs:
python -m script.gen_requirements_all ci
- name: Upload requirements_all_wheels
uses: actions/upload-artifact@v4.4.3
uses: actions/upload-artifact@v4.6.0
with:
name: requirements_all_wheels
path: ./requirements_all_wheels_*.txt
@@ -123,6 +142,11 @@ jobs:
with:
name: env_file
- name: Download build_constraints
uses: actions/download-artifact@v4.1.8
with:
name: build_constraints
- name: Download requirements_diff
uses: actions/download-artifact@v4.1.8
with:
@@ -142,8 +166,8 @@ jobs:
arch: ${{ matrix.arch }}
wheels-key: ${{ secrets.WHEELS_KEY }}
env-file: true
apk: "libffi-dev;openssl-dev;yaml-dev;nasm;zlib-dev"
skip-binary: aiohttp;multidict;yarl
apk: "libffi-dev;openssl-dev;yaml-dev;nasm;zlib-ng-dev"
skip-binary: aiohttp;multidict;propcache;yarl;SQLAlchemy
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
requirements: "requirements.txt"
@@ -167,6 +191,11 @@ jobs:
with:
name: env_file
- name: Download build_constraints
uses: actions/download-artifact@v4.1.8
with:
name: build_constraints
- name: Download requirements_diff
uses: actions/download-artifact@v4.1.8
with:
@@ -197,33 +226,6 @@ 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.
# pydantic: https://github.com/pydantic/pydantic/issues/7689
touch requirements_old-cython.txt
cat homeassistant/package_constraints.txt | grep 'pydantic==' >> requirements_old-cython.txt
- name: Build wheels (old cython)
uses: home-assistant/wheels@2024.11.0
if: matrix.abi == 'cp312'
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"
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.11.0
with:
@@ -232,7 +234,7 @@ jobs:
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;zlib-dev"
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-ng-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
@@ -246,7 +248,7 @@ jobs:
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;zlib-dev"
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-ng-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
@@ -260,7 +262,7 @@ jobs:
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;zlib-dev"
apk: "bluez-dev;libffi-dev;openssl-dev;glib-dev;eudev-dev;libxml2-dev;libxslt-dev;libpng-dev;libjpeg-turbo-dev;tiff-dev;cups-dev;gmp-dev;mpfr-dev;mpc1-dev;ffmpeg-dev;gammu-dev;yaml-dev;openblas-dev;fftw-dev;lapack-dev;gfortran;blas-dev;eigen-dev;freetype-dev;glew-dev;harfbuzz-dev;hdf5-dev;libdc1394-dev;libtbb-dev;mesa-dev;openexr-dev;openjpeg-dev;uchardet-dev;nasm;zlib-ng-dev"
skip-binary: aiohttp;charset-normalizer;grpcio;multidict;SQLAlchemy;propcache;protobuf;pymicro-vad;yarl
constraints: "homeassistant/package_constraints.txt"
requirements-diff: "requirements_diff.txt"
+2 -2
View File
@@ -1,6 +1,6 @@
repos:
- repo: https://github.com/astral-sh/ruff-pre-commit
rev: v0.8.1
rev: v0.9.1
hooks:
- id: ruff
args:
@@ -12,7 +12,7 @@ repos:
hooks:
- id: codespell
args:
- --ignore-words-list=astroid,checkin,currenty,hass,iif,incomfort,lookin,nam,NotIn
- --ignore-words-list=aiport,astroid,checkin,currenty,hass,iif,incomfort,lookin,nam,NotIn
- --skip="./.*,*.csv,*.json,*.ambr"
- --quiet-level=2
exclude_types: [csv, json, html]
+15 -1
View File
@@ -137,6 +137,7 @@ homeassistant.components.co2signal.*
homeassistant.components.command_line.*
homeassistant.components.config.*
homeassistant.components.configurator.*
homeassistant.components.cookidoo.*
homeassistant.components.counter.*
homeassistant.components.cover.*
homeassistant.components.cpuspeed.*
@@ -169,6 +170,7 @@ homeassistant.components.easyenergy.*
homeassistant.components.ecovacs.*
homeassistant.components.ecowitt.*
homeassistant.components.efergy.*
homeassistant.components.eheimdigital.*
homeassistant.components.electrasmart.*
homeassistant.components.electric_kiwi.*
homeassistant.components.elevenlabs.*
@@ -222,6 +224,7 @@ homeassistant.components.gpsd.*
homeassistant.components.greeneye_monitor.*
homeassistant.components.group.*
homeassistant.components.guardian.*
homeassistant.components.habitica.*
homeassistant.components.hardkernel.*
homeassistant.components.hardware.*
homeassistant.components.here_travel_time.*
@@ -269,6 +272,7 @@ homeassistant.components.ios.*
homeassistant.components.iotty.*
homeassistant.components.ipp.*
homeassistant.components.iqvia.*
homeassistant.components.iron_os.*
homeassistant.components.islamic_prayer_times.*
homeassistant.components.isy994.*
homeassistant.components.jellyfin.*
@@ -288,6 +292,7 @@ homeassistant.components.lcn.*
homeassistant.components.ld2410_ble.*
homeassistant.components.led_ble.*
homeassistant.components.lektrico.*
homeassistant.components.letpot.*
homeassistant.components.lidarr.*
homeassistant.components.lifx.*
homeassistant.components.light.*
@@ -308,6 +313,8 @@ homeassistant.components.manual.*
homeassistant.components.mastodon.*
homeassistant.components.matrix.*
homeassistant.components.matter.*
homeassistant.components.mcp_server.*
homeassistant.components.mealie.*
homeassistant.components.media_extractor.*
homeassistant.components.media_player.*
homeassistant.components.media_source.*
@@ -358,13 +365,18 @@ homeassistant.components.openuv.*
homeassistant.components.oralb.*
homeassistant.components.otbr.*
homeassistant.components.overkiz.*
homeassistant.components.overseerr.*
homeassistant.components.p1_monitor.*
homeassistant.components.pandora.*
homeassistant.components.panel_custom.*
homeassistant.components.peblar.*
homeassistant.components.peco.*
homeassistant.components.persistent_notification.*
homeassistant.components.person.*
homeassistant.components.pi_hole.*
homeassistant.components.ping.*
homeassistant.components.plugwise.*
homeassistant.components.powerfox.*
homeassistant.components.powerwall.*
homeassistant.components.private_ble_device.*
homeassistant.components.prometheus.*
@@ -374,6 +386,8 @@ homeassistant.components.pure_energie.*
homeassistant.components.purpleair.*
homeassistant.components.pushbullet.*
homeassistant.components.pvoutput.*
homeassistant.components.python_script.*
homeassistant.components.qbus.*
homeassistant.components.qnap_qsw.*
homeassistant.components.rabbitair.*
homeassistant.components.radarr.*
@@ -401,6 +415,7 @@ homeassistant.components.romy.*
homeassistant.components.rpi_power.*
homeassistant.components.rss_feed_template.*
homeassistant.components.rtsp_to_webrtc.*
homeassistant.components.russound_rio.*
homeassistant.components.ruuvi_gateway.*
homeassistant.components.ruuvitag_ble.*
homeassistant.components.samsungtv.*
@@ -439,7 +454,6 @@ homeassistant.components.ssdp.*
homeassistant.components.starlink.*
homeassistant.components.statistics.*
homeassistant.components.steamist.*
homeassistant.components.stookalert.*
homeassistant.components.stookwijzer.*
homeassistant.components.stream.*
homeassistant.components.streamlabswater.*
+2 -1
View File
@@ -1,5 +1,5 @@
{
// Please keep this file in sync with settings in home-assistant/.devcontainer/devcontainer.json
// Please keep this file (mostly!) in sync with settings in home-assistant/.devcontainer/devcontainer.json
// Added --no-cov to work around TypeError: message must be set
// https://github.com/microsoft/vscode-python/issues/14067
"python.testing.pytestArgs": ["--no-cov"],
@@ -12,6 +12,7 @@
"fileMatch": [
"homeassistant/components/*/manifest.json"
],
// This value differs between working with devcontainer and locally, therefor this value should NOT be in sync!
"url": "./script/json_schemas/manifest_schema.json"
}
]
+21 -7
View File
@@ -16,7 +16,7 @@
{
"label": "Pytest",
"type": "shell",
"command": "python3 -m pytest --timeout=10 tests",
"command": "${command:python.interpreterPath} -m pytest --timeout=10 tests",
"dependsOn": ["Install all Test Requirements"],
"group": {
"kind": "test",
@@ -31,7 +31,7 @@
{
"label": "Pytest (changed tests only)",
"type": "shell",
"command": "python3 -m pytest --timeout=10 --picked",
"command": "${command:python.interpreterPath} -m pytest --timeout=10 --picked",
"group": {
"kind": "test",
"isDefault": true
@@ -56,6 +56,20 @@
},
"problemMatcher": []
},
{
"label": "Pre-commit",
"type": "shell",
"command": "pre-commit run --show-diff-on-failure",
"group": {
"kind": "test",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
},
"problemMatcher": []
},
{
"label": "Pylint",
"type": "shell",
@@ -75,7 +89,7 @@
"label": "Code Coverage",
"detail": "Generate code coverage report for a given integration.",
"type": "shell",
"command": "python3 -m pytest ./tests/components/${input:integrationName}/ --cov=homeassistant.components.${input:integrationName} --cov-report term-missing --durations-min=1 --durations=0 --numprocesses=auto",
"command": "${command:python.interpreterPath} -m pytest ./tests/components/${input:integrationName}/ --cov=homeassistant.components.${input:integrationName} --cov-report term-missing --durations-min=1 --durations=0 --numprocesses=auto",
"dependsOn": ["Compile English translations"],
"group": {
"kind": "test",
@@ -91,7 +105,7 @@
"label": "Update syrupy snapshots",
"detail": "Update syrupy snapshots for a given integration.",
"type": "shell",
"command": "python3 -m pytest ./tests/components/${input:integrationName} --snapshot-update",
"command": "${command:python.interpreterPath} -m pytest ./tests/components/${input:integrationName} --snapshot-update",
"dependsOn": ["Compile English translations"],
"group": {
"kind": "test",
@@ -149,7 +163,7 @@
"label": "Compile English translations",
"detail": "In order to test changes to translation files, the translation strings must be compiled into Home Assistant's translation directories.",
"type": "shell",
"command": "python3 -m script.translations develop --all",
"command": "${command:python.interpreterPath} -m script.translations develop --all",
"group": {
"kind": "build",
"isDefault": true
@@ -159,7 +173,7 @@
"label": "Run scaffold",
"detail": "Add new functionality to a integration using a scaffold.",
"type": "shell",
"command": "python3 -m script.scaffold ${input:scaffoldName} --integration ${input:integrationName}",
"command": "${command:python.interpreterPath} -m script.scaffold ${input:scaffoldName} --integration ${input:integrationName}",
"group": {
"kind": "build",
"isDefault": true
@@ -169,7 +183,7 @@
"label": "Create new integration",
"detail": "Use the scaffold to create a new integration.",
"type": "shell",
"command": "python3 -m script.scaffold integration",
"command": "${command:python.interpreterPath} -m script.scaffold integration",
"group": {
"kind": "build",
"isDefault": true
Generated
+56 -27
View File
@@ -284,6 +284,8 @@ build.json @home-assistant/supervisor
/tests/components/control4/ @lawtancool
/homeassistant/components/conversation/ @home-assistant/core @synesthesiam
/tests/components/conversation/ @home-assistant/core @synesthesiam
/homeassistant/components/cookidoo/ @miaucl
/tests/components/cookidoo/ @miaucl
/homeassistant/components/coolmaster/ @OnFreund
/tests/components/coolmaster/ @OnFreund
/homeassistant/components/counter/ @fabaff
@@ -385,6 +387,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/efergy/ @tkdrob
/tests/components/efergy/ @tkdrob
/homeassistant/components/egardia/ @jeroenterheerdt
/homeassistant/components/eheimdigital/ @autinerd
/tests/components/eheimdigital/ @autinerd
/homeassistant/components/electrasmart/ @jafar-atili
/tests/components/electrasmart/ @jafar-atili
/homeassistant/components/electric_kiwi/ @mikey0000
@@ -574,8 +578,8 @@ build.json @home-assistant/supervisor
/tests/components/google_tasks/ @allenporter
/homeassistant/components/google_travel_time/ @eifinger
/tests/components/google_travel_time/ @eifinger
/homeassistant/components/govee_ble/ @bdraco @PierreAronnax
/tests/components/govee_ble/ @bdraco @PierreAronnax
/homeassistant/components/govee_ble/ @bdraco
/tests/components/govee_ble/ @bdraco
/homeassistant/components/govee_light_local/ @Galorhallen
/tests/components/govee_light_local/ @Galorhallen
/homeassistant/components/gpsd/ @fabaff @jrieger
@@ -633,6 +637,8 @@ build.json @home-assistant/supervisor
/tests/components/homeassistant_sky_connect/ @home-assistant/core
/homeassistant/components/homeassistant_yellow/ @home-assistant/core
/tests/components/homeassistant_yellow/ @home-assistant/core
/homeassistant/components/homee/ @Taraman17
/tests/components/homee/ @Taraman17
/homeassistant/components/homekit/ @bdraco
/tests/components/homekit/ @bdraco
/homeassistant/components/homekit_controller/ @Jc2k @bdraco
@@ -682,6 +688,8 @@ build.json @home-assistant/supervisor
/tests/components/icloud/ @Quentame @nzapponi
/homeassistant/components/idasen_desk/ @abmantis
/tests/components/idasen_desk/ @abmantis
/homeassistant/components/igloohome/ @keithle888
/tests/components/igloohome/ @keithle888
/homeassistant/components/ign_sismologia/ @exxamalte
/tests/components/ign_sismologia/ @exxamalte
/homeassistant/components/image/ @home-assistant/core
@@ -727,8 +735,8 @@ build.json @home-assistant/supervisor
/tests/components/ios/ @robbiet480
/homeassistant/components/iotawatt/ @gtdiehl @jyavenard
/tests/components/iotawatt/ @gtdiehl @jyavenard
/homeassistant/components/iotty/ @pburgio @shapournemati-iotty
/tests/components/iotty/ @pburgio @shapournemati-iotty
/homeassistant/components/iotty/ @shapournemati-iotty
/tests/components/iotty/ @shapournemati-iotty
/homeassistant/components/iperf3/ @rohankapoorcom
/homeassistant/components/ipma/ @dgomes
/tests/components/ipma/ @dgomes
@@ -753,6 +761,8 @@ build.json @home-assistant/supervisor
/tests/components/ista_ecotrend/ @tr4nt0r
/homeassistant/components/isy994/ @bdraco @shbatm
/tests/components/isy994/ @bdraco @shbatm
/homeassistant/components/ituran/ @shmuelzon
/tests/components/ituran/ @shmuelzon
/homeassistant/components/izone/ @Swamp-Ig
/tests/components/izone/ @Swamp-Ig
/homeassistant/components/jellyfin/ @j-stienstra @ctalkington
@@ -821,6 +831,8 @@ build.json @home-assistant/supervisor
/tests/components/led_ble/ @bdraco
/homeassistant/components/lektrico/ @lektrico
/tests/components/lektrico/ @lektrico
/homeassistant/components/letpot/ @jpelgrom
/tests/components/letpot/ @jpelgrom
/homeassistant/components/lg_netcast/ @Drafteed @splinter98
/tests/components/lg_netcast/ @Drafteed @splinter98
/homeassistant/components/lg_thinq/ @LG-ThinQ-Integration
@@ -881,6 +893,8 @@ build.json @home-assistant/supervisor
/tests/components/matrix/ @PaarthShah
/homeassistant/components/matter/ @home-assistant/matter
/tests/components/matter/ @home-assistant/matter
/homeassistant/components/mcp_server/ @allenporter
/tests/components/mcp_server/ @allenporter
/homeassistant/components/mealie/ @joostlek @andrew-codechimp
/tests/components/mealie/ @joostlek @andrew-codechimp
/homeassistant/components/meater/ @Sotolotl @emontnemery
@@ -1004,11 +1018,12 @@ build.json @home-assistant/supervisor
/tests/components/nice_go/ @IceBotYT
/homeassistant/components/nightscout/ @marciogranzotto
/tests/components/nightscout/ @marciogranzotto
/homeassistant/components/niko_home_control/ @VandeurenGlenn
/tests/components/niko_home_control/ @VandeurenGlenn
/homeassistant/components/nilu/ @hfurubotten
/homeassistant/components/nina/ @DeerMaximum
/tests/components/nina/ @DeerMaximum
/homeassistant/components/nissan_leaf/ @filcole
/homeassistant/components/nmbs/ @thibmaek
/homeassistant/components/noaa_tides/ @jdelaney72
/homeassistant/components/nobo_hub/ @echoromeo @oyvindwe
/tests/components/nobo_hub/ @echoromeo @oyvindwe
@@ -1045,6 +1060,8 @@ build.json @home-assistant/supervisor
/homeassistant/components/octoprint/ @rfleming71
/tests/components/octoprint/ @rfleming71
/homeassistant/components/ohmconnect/ @robbiet480
/homeassistant/components/ohme/ @dan-r
/tests/components/ohme/ @dan-r
/homeassistant/components/ollama/ @synesthesiam
/tests/components/ollama/ @synesthesiam
/homeassistant/components/ombi/ @larssont
@@ -1056,10 +1073,10 @@ build.json @home-assistant/supervisor
/tests/components/ondilo_ico/ @JeromeHXP
/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/onkyo/ @arturpragacz @eclair4151
/tests/components/onkyo/ @arturpragacz @eclair4151
/homeassistant/components/onvif/ @hunterjm @jterrace
/tests/components/onvif/ @hunterjm @jterrace
/homeassistant/components/open_meteo/ @frenck
/tests/components/open_meteo/ @frenck
/homeassistant/components/openai_conversation/ @balloob
@@ -1093,8 +1110,10 @@ build.json @home-assistant/supervisor
/tests/components/otbr/ @home-assistant/core
/homeassistant/components/ourgroceries/ @OnFreund
/tests/components/ourgroceries/ @OnFreund
/homeassistant/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
/tests/components/overkiz/ @imicknl @vlebourl @tetienne @nyroDev @tronix117 @alexfp14
/homeassistant/components/overkiz/ @imicknl
/tests/components/overkiz/ @imicknl
/homeassistant/components/overseerr/ @joostlek
/tests/components/overseerr/ @joostlek
/homeassistant/components/ovo_energy/ @timmo001
/tests/components/ovo_energy/ @timmo001
/homeassistant/components/p1_monitor/ @klaasnicolaas
@@ -1103,6 +1122,8 @@ build.json @home-assistant/supervisor
/tests/components/palazzetti/ @dotvav
/homeassistant/components/panel_custom/ @home-assistant/frontend
/tests/components/panel_custom/ @home-assistant/frontend
/homeassistant/components/peblar/ @frenck
/tests/components/peblar/ @frenck
/homeassistant/components/peco/ @IceBotYT
/tests/components/peco/ @IceBotYT
/homeassistant/components/pegel_online/ @mib1185
@@ -1123,14 +1144,16 @@ build.json @home-assistant/supervisor
/tests/components/plaato/ @JohNan
/homeassistant/components/plex/ @jjlawren
/tests/components/plex/ @jjlawren
/homeassistant/components/plugwise/ @CoMPaTech @bouwew @frenck
/tests/components/plugwise/ @CoMPaTech @bouwew @frenck
/homeassistant/components/plugwise/ @CoMPaTech @bouwew
/tests/components/plugwise/ @CoMPaTech @bouwew
/homeassistant/components/plum_lightpad/ @ColinHarrington @prystupa
/tests/components/plum_lightpad/ @ColinHarrington @prystupa
/homeassistant/components/point/ @fredrike
/tests/components/point/ @fredrike
/homeassistant/components/poolsense/ @haemishkyd
/tests/components/poolsense/ @haemishkyd
/homeassistant/components/powerfox/ @klaasnicolaas
/tests/components/powerfox/ @klaasnicolaas
/homeassistant/components/powerwall/ @bdraco @jrester @daniel-simpson
/tests/components/powerwall/ @bdraco @jrester @daniel-simpson
/homeassistant/components/private_ble_device/ @Jc2k
@@ -1168,6 +1191,8 @@ build.json @home-assistant/supervisor
/tests/components/pyload/ @tr4nt0r
/homeassistant/components/qbittorrent/ @geoffreylagaisse @finder39
/tests/components/qbittorrent/ @geoffreylagaisse @finder39
/homeassistant/components/qbus/ @Qbus-iot @thomasddn
/tests/components/qbus/ @Qbus-iot @thomasddn
/homeassistant/components/qingping/ @bdraco
/tests/components/qingping/ @bdraco
/homeassistant/components/qld_bushfire/ @exxamalte
@@ -1264,6 +1289,7 @@ build.json @home-assistant/supervisor
/tests/components/ruckus_unleashed/ @lanrat @ms264556 @gabe565
/homeassistant/components/russound_rio/ @noahhusby
/tests/components/russound_rio/ @noahhusby
/homeassistant/components/russound_rnet/ @noahhusby
/homeassistant/components/ruuvi_gateway/ @akx
/tests/components/ruuvi_gateway/ @akx
/homeassistant/components/ruuvitag_ble/ @akx
@@ -1353,10 +1379,12 @@ build.json @home-assistant/supervisor
/homeassistant/components/sleepiq/ @mfugate1 @kbickar
/tests/components/sleepiq/ @mfugate1 @kbickar
/homeassistant/components/slide/ @ualex73
/homeassistant/components/slide_local/ @dontinelli
/tests/components/slide_local/ @dontinelli
/homeassistant/components/slimproto/ @marcelveldt
/tests/components/slimproto/ @marcelveldt
/homeassistant/components/sma/ @kellerza @rklomp
/tests/components/sma/ @kellerza @rklomp
/homeassistant/components/sma/ @kellerza @rklomp @erwindouna
/tests/components/sma/ @kellerza @rklomp @erwindouna
/homeassistant/components/smappee/ @bsmappee
/tests/components/smappee/ @bsmappee
/homeassistant/components/smart_meter_texas/ @grahamwetzler
@@ -1411,15 +1439,13 @@ build.json @home-assistant/supervisor
/tests/components/starline/ @anonym-tsk
/homeassistant/components/starlink/ @boswelja
/tests/components/starlink/ @boswelja
/homeassistant/components/statistics/ @ThomDietrich
/tests/components/statistics/ @ThomDietrich
/homeassistant/components/statistics/ @ThomDietrich @gjohansson-ST
/tests/components/statistics/ @ThomDietrich @gjohansson-ST
/homeassistant/components/steam_online/ @tkdrob
/tests/components/steam_online/ @tkdrob
/homeassistant/components/steamist/ @bdraco
/tests/components/steamist/ @bdraco
/homeassistant/components/stiebel_eltron/ @fucm
/homeassistant/components/stookalert/ @fwestenberg @frenck
/tests/components/stookalert/ @fwestenberg @frenck
/homeassistant/components/stookwijzer/ @fwestenberg
/tests/components/stookwijzer/ @fwestenberg
/homeassistant/components/stream/ @hunterjm @uvjustin @allenporter
@@ -1464,8 +1490,8 @@ build.json @home-assistant/supervisor
/tests/components/system_bridge/ @timmo001
/homeassistant/components/systemmonitor/ @gjohansson-ST
/tests/components/systemmonitor/ @gjohansson-ST
/homeassistant/components/tado/ @chiefdragon @erwindouna
/tests/components/tado/ @chiefdragon @erwindouna
/homeassistant/components/tado/ @erwindouna
/tests/components/tado/ @erwindouna
/homeassistant/components/tag/ @balloob @dmulcahey
/tests/components/tag/ @balloob @dmulcahey
/homeassistant/components/tailscale/ @frenck
@@ -1559,8 +1585,8 @@ build.json @home-assistant/supervisor
/tests/components/triggercmd/ @rvmey
/homeassistant/components/tts/ @home-assistant/core
/tests/components/tts/ @home-assistant/core
/homeassistant/components/tuya/ @Tuya @zlinoliver @frenck
/tests/components/tuya/ @Tuya @zlinoliver @frenck
/homeassistant/components/tuya/ @Tuya @zlinoliver
/tests/components/tuya/ @Tuya @zlinoliver
/homeassistant/components/twentemilieu/ @frenck
/tests/components/twentemilieu/ @frenck
/homeassistant/components/twinkly/ @dr1rrb @Robbie1221 @Olen
@@ -1604,15 +1630,15 @@ build.json @home-assistant/supervisor
/tests/components/valve/ @home-assistant/core
/homeassistant/components/velbus/ @Cereal2nd @brefra
/tests/components/velbus/ @Cereal2nd @brefra
/homeassistant/components/velux/ @Julius2342 @DeerMaximum
/tests/components/velux/ @Julius2342 @DeerMaximum
/homeassistant/components/velux/ @Julius2342 @DeerMaximum @pawlizio
/tests/components/velux/ @Julius2342 @DeerMaximum @pawlizio
/homeassistant/components/venstar/ @garbled1 @jhollowe
/tests/components/venstar/ @garbled1 @jhollowe
/homeassistant/components/versasense/ @imstevenxyz
/homeassistant/components/version/ @ludeeus
/tests/components/version/ @ludeeus
/homeassistant/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja
/homeassistant/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja @iprak
/tests/components/vesync/ @markperdue @webdjoe @thegardenmonkey @cdnninja @iprak
/homeassistant/components/vicare/ @CFenner
/tests/components/vicare/ @CFenner
/homeassistant/components/vilfo/ @ManneW
@@ -1642,6 +1668,8 @@ build.json @home-assistant/supervisor
/tests/components/waqi/ @joostlek
/homeassistant/components/water_heater/ @home-assistant/core
/tests/components/water_heater/ @home-assistant/core
/homeassistant/components/watergate/ @adam-the-hero
/tests/components/watergate/ @adam-the-hero
/homeassistant/components/watson_tts/ @rutkai
/homeassistant/components/watttime/ @bachya
/tests/components/watttime/ @bachya
@@ -1726,6 +1754,7 @@ build.json @home-assistant/supervisor
/tests/components/youless/ @gjong
/homeassistant/components/youtube/ @joostlek
/tests/components/youtube/ @joostlek
/homeassistant/components/zabbix/ @kruton
/homeassistant/components/zamg/ @killer0071234
/tests/components/zamg/ @killer0071234
/homeassistant/components/zengge/ @emontnemery
Generated
+2 -2
View File
@@ -13,7 +13,7 @@ ENV \
ARG QEMU_CPU
# Install uv
RUN pip3 install uv==0.5.4
RUN pip3 install uv==0.5.18
WORKDIR /usr/src
@@ -55,7 +55,7 @@ RUN \
"armv7") go2rtc_suffix='arm' ;; \
*) go2rtc_suffix=${BUILD_ARCH} ;; \
esac \
&& curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.7/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc \
&& curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.8/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc \
&& chmod +x /bin/go2rtc \
# Verify go2rtc can be executed
&& go2rtc --version
+1 -1
View File
@@ -1,4 +1,4 @@
FROM mcr.microsoft.com/devcontainers/python:1-3.12
FROM mcr.microsoft.com/devcontainers/python:1-3.13
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
+5 -5
View File
@@ -1,10 +1,10 @@
image: ghcr.io/home-assistant/{arch}-homeassistant
build_from:
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2024.11.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2024.11.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2024.11.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2024.11.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2024.11.0
aarch64: ghcr.io/home-assistant/aarch64-homeassistant-base:2024.12.0
armhf: ghcr.io/home-assistant/armhf-homeassistant-base:2024.12.0
armv7: ghcr.io/home-assistant/armv7-homeassistant-base:2024.12.0
amd64: ghcr.io/home-assistant/amd64-homeassistant-base:2024.12.0
i386: ghcr.io/home-assistant/i386-homeassistant-base:2024.12.0
codenotary:
signer: notary@home-assistant.io
base_image: notary@home-assistant.io
+1 -1
View File
@@ -115,7 +115,7 @@ class AuthManagerFlowManager(
*,
context: AuthFlowContext | None = None,
data: dict[str, Any] | None = None,
) -> LoginFlow:
) -> LoginFlow[Any]:
"""Create a login flow."""
auth_provider = self.auth_manager.get_auth_provider(*handler_key)
if not auth_provider:
+1 -1
View File
@@ -308,7 +308,7 @@ class AuthStore:
credentials.data = data
self._async_schedule_save()
async def async_load(self) -> None: # noqa: C901
async def async_load(self) -> None:
"""Load the users."""
if self._loaded:
raise RuntimeError("Auth storage is already loaded")
+8 -3
View File
@@ -71,7 +71,7 @@ class MultiFactorAuthModule:
"""Return a voluptuous schema to define mfa auth module's input."""
raise NotImplementedError
async def async_setup_flow(self, user_id: str) -> SetupFlow:
async def async_setup_flow(self, user_id: str) -> SetupFlow[Any]:
"""Return a data entry flow handler for setup module.
Mfa module should extend SetupFlow
@@ -95,11 +95,16 @@ class MultiFactorAuthModule:
raise NotImplementedError
class SetupFlow(data_entry_flow.FlowHandler):
class SetupFlow[_MultiFactorAuthModuleT: MultiFactorAuthModule = MultiFactorAuthModule](
data_entry_flow.FlowHandler
):
"""Handler for the setup flow."""
def __init__(
self, auth_module: MultiFactorAuthModule, setup_schema: vol.Schema, user_id: str
self,
auth_module: _MultiFactorAuthModuleT,
setup_schema: vol.Schema,
user_id: str,
) -> None:
"""Initialize the setup flow."""
self._auth_module = auth_module
+2 -4
View File
@@ -162,7 +162,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
return sorted(unordered_services)
async def async_setup_flow(self, user_id: str) -> SetupFlow:
async def async_setup_flow(self, user_id: str) -> NotifySetupFlow:
"""Return a data entry flow handler for setup module.
Mfa module should extend SetupFlow
@@ -268,7 +268,7 @@ class NotifyAuthModule(MultiFactorAuthModule):
await self.hass.services.async_call("notify", notify_service, data)
class NotifySetupFlow(SetupFlow):
class NotifySetupFlow(SetupFlow[NotifyAuthModule]):
"""Handler for the setup flow."""
def __init__(
@@ -280,8 +280,6 @@ class NotifySetupFlow(SetupFlow):
) -> None:
"""Initialize the setup flow."""
super().__init__(auth_module, setup_schema, user_id)
# to fix typing complaint
self._auth_module: NotifyAuthModule = auth_module
self._available_notify_services = available_notify_services
self._secret: str | None = None
self._count: int | None = None
+2 -3
View File
@@ -114,7 +114,7 @@ class TotpAuthModule(MultiFactorAuthModule):
self._users[user_id] = ota_secret # type: ignore[index]
return ota_secret
async def async_setup_flow(self, user_id: str) -> SetupFlow:
async def async_setup_flow(self, user_id: str) -> TotpSetupFlow:
"""Return a data entry flow handler for setup module.
Mfa module should extend SetupFlow
@@ -174,10 +174,9 @@ class TotpAuthModule(MultiFactorAuthModule):
return bool(pyotp.TOTP(ota_secret).verify(code, valid_window=1))
class TotpSetupFlow(SetupFlow):
class TotpSetupFlow(SetupFlow[TotpAuthModule]):
"""Handler for the setup flow."""
_auth_module: TotpAuthModule
_ota_secret: str
_url: str
_image: str
+4 -4
View File
@@ -17,12 +17,12 @@ POLICY_SCHEMA = vol.Schema({vol.Optional(CAT_ENTITIES): ENTITY_POLICY_SCHEMA})
__all__ = [
"POLICY_SCHEMA",
"merge_policies",
"PermissionLookup",
"PolicyType",
"AbstractPermissions",
"PolicyPermissions",
"OwnerPermissions",
"PermissionLookup",
"PolicyPermissions",
"PolicyType",
"merge_policies",
]
+5 -3
View File
@@ -105,7 +105,7 @@ class AuthProvider:
# Implement by extending class
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow[Any]:
"""Return the data flow for logging in with auth provider.
Auth provider should extend LoginFlow and return an instance.
@@ -192,12 +192,14 @@ async def load_auth_provider_module(
return module
class LoginFlow(FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]]):
class LoginFlow[_AuthProviderT: AuthProvider = AuthProvider](
FlowHandler[AuthFlowContext, AuthFlowResult, tuple[str, str]],
):
"""Handler for the login flow."""
_flow_result = AuthFlowResult
def __init__(self, auth_provider: AuthProvider) -> None:
def __init__(self, auth_provider: _AuthProviderT) -> None:
"""Initialize the login flow."""
self._auth_provider = auth_provider
self._auth_module_id: str | None = None
+8 -6
View File
@@ -6,7 +6,7 @@ import asyncio
from collections.abc import Mapping
import logging
import os
from typing import Any, cast
from typing import Any
import voluptuous as vol
@@ -59,7 +59,9 @@ class CommandLineAuthProvider(AuthProvider):
super().__init__(*args, **kwargs)
self._user_meta: dict[str, dict[str, Any]] = {}
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
async def async_login_flow(
self, context: AuthFlowContext | None
) -> CommandLineLoginFlow:
"""Return a flow to login."""
return CommandLineLoginFlow(self)
@@ -133,7 +135,7 @@ class CommandLineAuthProvider(AuthProvider):
)
class CommandLineLoginFlow(LoginFlow):
class CommandLineLoginFlow(LoginFlow[CommandLineAuthProvider]):
"""Handler for the login flow."""
async def async_step_init(
@@ -145,9 +147,9 @@ class CommandLineLoginFlow(LoginFlow):
if user_input is not None:
user_input["username"] = user_input["username"].strip()
try:
await cast(
CommandLineAuthProvider, self._auth_provider
).async_validate_login(user_input["username"], user_input["password"])
await self._auth_provider.async_validate_login(
user_input["username"], user_input["password"]
)
except InvalidAuthError:
errors["base"] = "invalid_auth"
@@ -305,7 +305,7 @@ class HassAuthProvider(AuthProvider):
await data.async_load()
self.data = data
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
async def async_login_flow(self, context: AuthFlowContext | None) -> HassLoginFlow:
"""Return a flow to login."""
return HassLoginFlow(self)
@@ -400,7 +400,7 @@ class HassAuthProvider(AuthProvider):
pass
class HassLoginFlow(LoginFlow):
class HassLoginFlow(LoginFlow[HassAuthProvider]):
"""Handler for the login flow."""
async def async_step_init(
@@ -411,7 +411,7 @@ class HassLoginFlow(LoginFlow):
if user_input is not None:
try:
await cast(HassAuthProvider, self._auth_provider).async_validate_login(
await self._auth_provider.async_validate_login(
user_input["username"], user_input["password"]
)
except InvalidAuth:
@@ -4,7 +4,6 @@ from __future__ import annotations
from collections.abc import Mapping
import hmac
from typing import cast
import voluptuous as vol
@@ -36,7 +35,9 @@ class InvalidAuthError(HomeAssistantError):
class ExampleAuthProvider(AuthProvider):
"""Example auth provider based on hardcoded usernames and passwords."""
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
async def async_login_flow(
self, context: AuthFlowContext | None
) -> ExampleLoginFlow:
"""Return a flow to login."""
return ExampleLoginFlow(self)
@@ -93,7 +94,7 @@ class ExampleAuthProvider(AuthProvider):
return UserMeta(name=name, is_active=True)
class ExampleLoginFlow(LoginFlow):
class ExampleLoginFlow(LoginFlow[ExampleAuthProvider]):
"""Handler for the login flow."""
async def async_step_init(
@@ -104,7 +105,7 @@ class ExampleLoginFlow(LoginFlow):
if user_input is not None:
try:
cast(ExampleAuthProvider, self._auth_provider).async_validate_login(
self._auth_provider.async_validate_login(
user_input["username"], user_input["password"]
)
except InvalidAuthError:
@@ -104,7 +104,9 @@ class TrustedNetworksAuthProvider(AuthProvider):
"""Trusted Networks auth provider does not support MFA."""
return False
async def async_login_flow(self, context: AuthFlowContext | None) -> LoginFlow:
async def async_login_flow(
self, context: AuthFlowContext | None
) -> TrustedNetworksLoginFlow:
"""Return a flow to login."""
assert context is not None
ip_addr = cast(IPAddress, context.get("ip_address"))
@@ -214,7 +216,7 @@ class TrustedNetworksAuthProvider(AuthProvider):
self.async_validate_access(ip_address(remote_ip))
class TrustedNetworksLoginFlow(LoginFlow):
class TrustedNetworksLoginFlow(LoginFlow[TrustedNetworksAuthProvider]):
"""Handler for the login flow."""
def __init__(
@@ -235,9 +237,7 @@ class TrustedNetworksLoginFlow(LoginFlow):
) -> AuthFlowResult:
"""Handle the step of the form."""
try:
cast(
TrustedNetworksAuthProvider, self._auth_provider
).async_validate_access(self._ip_address)
self._auth_provider.async_validate_access(self._ip_address)
except InvalidAuthError:
return self.async_abort(reason="not_allowed")
+82 -24
View File
@@ -1,6 +1,10 @@
"""Home Assistant module to handle restoring backups."""
from __future__ import annotations
from collections.abc import Iterable
from dataclasses import dataclass
import hashlib
import json
import logging
from pathlib import Path
@@ -14,7 +18,12 @@ import securetar
from .const import __version__ as HA_VERSION
RESTORE_BACKUP_FILE = ".HA_RESTORE"
KEEP_PATHS = ("backups",)
KEEP_BACKUPS = ("backups",)
KEEP_DATABASE = (
"home-assistant_v2.db",
"home-assistant_v2.db-wal",
)
_LOGGER = logging.getLogger(__name__)
@@ -24,6 +33,21 @@ class RestoreBackupFileContent:
"""Definition for restore backup file content."""
backup_file_path: Path
password: str | None
remove_after_restore: bool
restore_database: bool
restore_homeassistant: bool
def password_to_key(password: str) -> bytes:
"""Generate a AES Key from password.
Matches the implementation in supervisor.backups.utils.password_to_key.
"""
key: bytes = password.encode()
for _ in range(100):
key = hashlib.sha256(key).digest()
return key[:16]
def restore_backup_file_content(config_dir: Path) -> RestoreBackupFileContent | None:
@@ -32,20 +56,27 @@ def restore_backup_file_content(config_dir: Path) -> RestoreBackupFileContent |
try:
instruction_content = json.loads(instruction_path.read_text(encoding="utf-8"))
return RestoreBackupFileContent(
backup_file_path=Path(instruction_content["path"])
backup_file_path=Path(instruction_content["path"]),
password=instruction_content["password"],
remove_after_restore=instruction_content["remove_after_restore"],
restore_database=instruction_content["restore_database"],
restore_homeassistant=instruction_content["restore_homeassistant"],
)
except (FileNotFoundError, json.JSONDecodeError):
except (FileNotFoundError, KeyError, json.JSONDecodeError):
return None
finally:
# Always remove the backup instruction file to prevent a boot loop
instruction_path.unlink(missing_ok=True)
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]
def _clear_configuration_directory(config_dir: Path, keep: Iterable[str]) -> None:
"""Delete all files and directories in the config directory except entries in the keep list."""
keep_paths = [config_dir.joinpath(path) for path in keep]
entries_to_remove = sorted(
entry for entry in config_dir.iterdir() if entry not in keep_paths
)
for entry in config_contents:
for entry in entries_to_remove:
entrypath = config_dir.joinpath(entry)
if entrypath.is_file():
@@ -54,12 +85,15 @@ def _clear_configuration_directory(config_dir: Path) -> None:
shutil.rmtree(entrypath)
def _extract_backup(config_dir: Path, backup_file_path: Path) -> None:
def _extract_backup(
config_dir: Path,
restore_content: RestoreBackupFileContent,
) -> None:
"""Extract the backup file to the config directory."""
with (
TemporaryDirectory() as tempdir,
securetar.SecureTarFile(
backup_file_path,
restore_content.backup_file_path,
gzip=False,
mode="r",
) as ostf,
@@ -85,25 +119,44 @@ def _extract_backup(config_dir: Path, backup_file_path: Path) -> None:
Path(
tempdir,
"extracted",
f"homeassistant.tar{'.gz' if backup_meta["compressed"] else ''}",
f"homeassistant.tar{'.gz' if backup_meta['compressed'] else ''}",
),
gzip=backup_meta["compressed"],
key=password_to_key(restore_content.password)
if restore_content.password is not None
else None,
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"
],
path=Path(tempdir, "homeassistant"),
members=securetar.secure_path(istf),
filter="fully_trusted",
)
if restore_content.restore_homeassistant:
keep = list(KEEP_BACKUPS)
if not restore_content.restore_database:
keep.extend(KEEP_DATABASE)
_clear_configuration_directory(config_dir, keep)
shutil.copytree(
Path(tempdir, "homeassistant", "data"),
config_dir,
dirs_exist_ok=True,
ignore=shutil.ignore_patterns(*(keep)),
)
elif restore_content.restore_database:
for entry in KEEP_DATABASE:
entrypath = config_dir / entry
if entrypath.is_file():
entrypath.unlink()
elif entrypath.is_dir():
shutil.rmtree(entrypath)
for entry in KEEP_DATABASE:
shutil.copy(
Path(tempdir, "homeassistant", "data", entry),
config_dir,
)
def restore_backup(config_dir_path: str) -> bool:
@@ -119,8 +172,13 @@ def restore_backup(config_dir_path: str) -> bool:
backup_file_path = restore_content.backup_file_path
_LOGGER.info("Restoring %s", backup_file_path)
try:
_extract_backup(config_dir, backup_file_path)
_extract_backup(
config_dir=config_dir,
restore_content=restore_content,
)
except FileNotFoundError as err:
raise ValueError(f"Backup file {backup_file_path} does not exist") from err
if restore_content.remove_after_restore:
backup_file_path.unlink(missing_ok=True)
_LOGGER.info("Restore complete, restarting")
return True
+8 -2
View File
@@ -31,7 +31,7 @@ def _check_import_call_allowed(mapped_args: dict[str, Any]) -> bool:
def _check_file_allowed(mapped_args: dict[str, Any]) -> bool:
# If the file is in /proc we can ignore it.
args = mapped_args["args"]
path = args[0] if type(args[0]) is str else str(args[0]) # noqa: E721
path = args[0] if type(args[0]) is str else str(args[0])
return path.startswith(ALLOWED_FILE_PREFIXES)
@@ -50,6 +50,12 @@ def _check_sleep_call_allowed(mapped_args: dict[str, Any]) -> bool:
return False
def _check_load_verify_locations_call_allowed(mapped_args: dict[str, Any]) -> bool:
# If only cadata is passed, we can ignore it
kwargs = mapped_args.get("kwargs")
return bool(kwargs and len(kwargs) == 1 and "cadata" in kwargs)
@dataclass(slots=True, frozen=True)
class BlockingCall:
"""Class to hold information about a blocking call."""
@@ -158,7 +164,7 @@ _BLOCKING_CALLS: tuple[BlockingCall, ...] = (
original_func=SSLContext.load_verify_locations,
object=SSLContext,
function="load_verify_locations",
check_allowed=None,
check_allowed=_check_load_verify_locations_call_allowed,
strict=False,
strict_core=False,
skip_for_tests=True,
+3 -1
View File
@@ -89,7 +89,7 @@ from .helpers import (
)
from .helpers.dispatcher import async_dispatcher_send_internal
from .helpers.storage import get_internal_store_manager
from .helpers.system_info import async_get_system_info, is_official_image
from .helpers.system_info import async_get_system_info
from .helpers.typing import ConfigType
from .setup import (
# _setup_started is marked as protected to make it clear
@@ -106,6 +106,7 @@ from .util.async_ import create_eager_task
from .util.hass_dict import HassKey
from .util.logging import async_activate_log_queue_handler
from .util.package import async_get_user_site, is_docker_env, is_virtual_env
from .util.system_info import is_official_image
with contextlib.suppress(ImportError):
# Ensure anyio backend is imported to avoid it being imported in the event loop
@@ -252,6 +253,7 @@ PRELOAD_STORAGE = [
"assist_pipeline.pipelines",
"core.analytics",
"auth_module.totp",
"backup",
]
+1
View File
@@ -2,6 +2,7 @@
"domain": "microsoft",
"name": "Microsoft",
"integrations": [
"azure_data_explorer",
"azure_devops",
"azure_event_hub",
"azure_service_bus",
+5
View File
@@ -0,0 +1,5 @@
{
"domain": "slide",
"name": "Slide",
"integrations": ["slide", "slide_local"]
}
+9 -11
View File
@@ -9,18 +9,16 @@ from jaraco.abode.devices.light import Light
from homeassistant.components.light import (
ATTR_BRIGHTNESS,
ATTR_COLOR_TEMP,
ATTR_COLOR_TEMP_KELVIN,
ATTR_HS_COLOR,
DEFAULT_MAX_KELVIN,
DEFAULT_MIN_KELVIN,
ColorMode,
LightEntity,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.util.color import (
color_temperature_kelvin_to_mired,
color_temperature_mired_to_kelvin,
)
from . import AbodeSystem
from .const import DOMAIN
@@ -44,13 +42,13 @@ class AbodeLight(AbodeDevice, LightEntity):
_device: Light
_attr_name = None
_attr_max_color_temp_kelvin = DEFAULT_MAX_KELVIN
_attr_min_color_temp_kelvin = DEFAULT_MIN_KELVIN
def turn_on(self, **kwargs: Any) -> None:
"""Turn on the light."""
if ATTR_COLOR_TEMP in kwargs and self._device.is_color_capable:
self._device.set_color_temp(
int(color_temperature_mired_to_kelvin(kwargs[ATTR_COLOR_TEMP]))
)
if ATTR_COLOR_TEMP_KELVIN in kwargs and self._device.is_color_capable:
self._device.set_color_temp(kwargs[ATTR_COLOR_TEMP_KELVIN])
return
if ATTR_HS_COLOR in kwargs and self._device.is_color_capable:
@@ -85,10 +83,10 @@ class AbodeLight(AbodeDevice, LightEntity):
return None
@property
def color_temp(self) -> int | None:
def color_temp_kelvin(self) -> int | None:
"""Return the color temp of the light."""
if self._device.has_color:
return color_temperature_kelvin_to_mired(self._device.color_temp)
return int(self._device.color_temp)
return None
@property
+5 -5
View File
@@ -34,17 +34,17 @@
"services": {
"capture_image": {
"name": "Capture image",
"description": "Request a new image capture from a camera device.",
"description": "Requests a new image capture from a camera device.",
"fields": {
"entity_id": {
"name": "Entity",
"description": "Entity id of the camera to request an image."
"description": "Entity ID of the camera to request an image from."
}
}
},
"change_setting": {
"name": "Change setting",
"description": "Change an Abode system setting.",
"description": "Changes an Abode system setting.",
"fields": {
"setting": {
"name": "Setting",
@@ -58,11 +58,11 @@
},
"trigger_automation": {
"name": "Trigger automation",
"description": "Trigger an Abode automation.",
"description": "Triggers an Abode automation.",
"fields": {
"entity_id": {
"name": "Entity",
"description": "Entity id of the automation to trigger."
"description": "Entity ID of the automation to trigger."
}
}
}
@@ -16,6 +16,9 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .coordinator import AcaiaConfigEntry
from .entity import AcaiaEntity
# Coordinator is used to centralize the data updates
PARALLEL_UPDATES = 0
@dataclass(kw_only=True, frozen=True)
class AcaiaBinarySensorEntityDescription(BinarySensorEntityDescription):
@@ -42,7 +42,7 @@ class AcaiaConfigFlow(ConfigFlow, domain=DOMAIN):
errors: dict[str, str] = {}
if user_input is not None:
mac = format_mac(user_input[CONF_ADDRESS])
mac = user_input[CONF_ADDRESS]
try:
is_new_style_scale = await is_new_scale(mac)
except AcaiaDeviceNotFound:
@@ -53,12 +53,12 @@ class AcaiaConfigFlow(ConfigFlow, domain=DOMAIN):
except AcaiaUnknownDevice:
return self.async_abort(reason="unsupported_device")
else:
await self.async_set_unique_id(mac)
await self.async_set_unique_id(format_mac(mac))
self._abort_if_unique_id_configured()
if not errors:
return self.async_create_entry(
title=self._discovered_devices[user_input[CONF_ADDRESS]],
title=self._discovered_devices[mac],
data={
CONF_ADDRESS: mac,
CONF_IS_NEW_STYLE_SCALE: is_new_style_scale,
@@ -99,10 +99,10 @@ class AcaiaConfigFlow(ConfigFlow, domain=DOMAIN):
) -> ConfigFlowResult:
"""Handle a discovered Bluetooth device."""
self._discovered[CONF_ADDRESS] = mac = format_mac(discovery_info.address)
self._discovered[CONF_ADDRESS] = discovery_info.address
self._discovered[CONF_NAME] = discovery_info.name
await self.async_set_unique_id(mac)
await self.async_set_unique_id(format_mac(discovery_info.address))
self._abort_if_unique_id_configured()
try:
+9 -3
View File
@@ -2,7 +2,11 @@
from dataclasses import dataclass
from homeassistant.helpers.device_registry import DeviceInfo
from homeassistant.helpers.device_registry import (
CONNECTION_BLUETOOTH,
DeviceInfo,
format_mac,
)
from homeassistant.helpers.entity import EntityDescription
from homeassistant.helpers.update_coordinator import CoordinatorEntity
@@ -25,13 +29,15 @@ class AcaiaEntity(CoordinatorEntity[AcaiaCoordinator]):
super().__init__(coordinator)
self.entity_description = entity_description
self._scale = coordinator.scale
self._attr_unique_id = f"{self._scale.mac}_{entity_description.key}"
formatted_mac = format_mac(self._scale.mac)
self._attr_unique_id = f"{formatted_mac}_{entity_description.key}"
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, self._scale.mac)},
identifiers={(DOMAIN, formatted_mac)},
manufacturer="Acaia",
model=self._scale.model,
suggested_area="Kitchen",
connections={(CONNECTION_BLUETOOTH, self._scale.mac)},
)
@property
+2 -1
View File
@@ -25,5 +25,6 @@
"integration_type": "device",
"iot_class": "local_push",
"loggers": ["aioacaia"],
"requirements": ["aioacaia==0.1.10"]
"quality_scale": "platinum",
"requirements": ["aioacaia==0.1.13"]
}
@@ -16,7 +16,7 @@ rules:
No custom actions are defined.
docs-high-level-description: done
docs-installation-instructions: done
docs-removal-instructions: todo
docs-removal-instructions: done
entity-event-setup:
status: exempt
comment: |
+3
View File
@@ -21,6 +21,9 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .coordinator import AcaiaConfigEntry
from .entity import AcaiaEntity
# Coordinator is used to centralize the data updates
PARALLEL_UPDATES = 0
@dataclass(kw_only=True, frozen=True)
class AcaiaSensorEntityDescription(SensorEntityDescription):
+1 -1
View File
@@ -70,7 +70,7 @@ class PulseHub:
async def async_notify_update(self, update_type: aiopulse.UpdateType) -> None:
"""Evaluate entities when hub reports that update has occurred."""
LOGGER.debug("Hub {update_type.name} updated")
LOGGER.debug("Hub %s updated", update_type.name)
if update_type == aiopulse.UpdateType.rollers:
await update_devices(self.hass, self.config_entry, self.api.rollers)
@@ -3,9 +3,9 @@
from __future__ import annotations
import logging
import telnetlib # pylint: disable=deprecated-module
from typing import Final
import telnetlib # pylint: disable=deprecated-module
import voluptuous as vol
from homeassistant.components.device_tracker import (
-1
View File
@@ -75,7 +75,6 @@ class AdaxDevice(ClimateEntity):
)
_attr_target_temperature_step = PRECISION_WHOLE
_attr_temperature_unit = UnitOfTemperature.CELSIUS
_enable_turn_on_off_backwards_compatibility = False
def __init__(self, heater_data: dict[str, Any], adax_data_handler: Adax) -> None:
"""Initialize the heater."""
+5 -2
View File
@@ -34,9 +34,12 @@ from .const import (
SERVICE_REMOVE_URL,
)
SERVICE_URL_SCHEMA = vol.Schema({vol.Required(CONF_URL): cv.url})
SERVICE_URL_SCHEMA = vol.Schema({vol.Required(CONF_URL): vol.Any(cv.url, cv.path)})
SERVICE_ADD_URL_SCHEMA = vol.Schema(
{vol.Required(CONF_NAME): cv.string, vol.Required(CONF_URL): cv.url}
{
vol.Required(CONF_NAME): cv.string,
vol.Required(CONF_URL): vol.Any(cv.url, cv.path),
}
)
SERVICE_REFRESH_SCHEMA = vol.Schema(
{vol.Optional(CONF_FORCE, default=False): cv.boolean}
@@ -66,7 +66,7 @@ class AdvantageAirZoneMotion(AdvantageAirZoneEntity, BinarySensorEntity):
def __init__(self, instance: AdvantageAirData, ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Motion sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} motion'
self._attr_name = f"{self._zone['name']} motion"
self._attr_unique_id += "-motion"
@property
@@ -84,7 +84,7 @@ class AdvantageAirZoneMyZone(AdvantageAirZoneEntity, BinarySensorEntity):
def __init__(self, instance: AdvantageAirData, ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone MyZone sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} myZone'
self._attr_name = f"{self._zone['name']} myZone"
self._attr_unique_id += "-myzone"
@property
@@ -102,7 +102,6 @@ class AdvantageAirAC(AdvantageAirAcEntity, ClimateEntity):
_attr_max_temp = 32
_attr_min_temp = 16
_attr_name = None
_enable_turn_on_off_backwards_compatibility = False
_support_preset = ClimateEntityFeature(0)
def __init__(self, instance: AdvantageAirData, ac_key: str) -> None:
@@ -261,7 +260,6 @@ class AdvantageAirZone(AdvantageAirZoneEntity, ClimateEntity):
_attr_target_temperature_step = PRECISION_WHOLE
_attr_max_temp = 32
_attr_min_temp = 16
_enable_turn_on_off_backwards_compatibility = False
def __init__(self, instance: AdvantageAirData, ac_key: str, zone_key: str) -> None:
"""Initialize an AdvantageAir Zone control."""
@@ -103,7 +103,7 @@ class AdvantageAirZoneVent(AdvantageAirZoneEntity, SensorEntity):
def __init__(self, instance: AdvantageAirData, ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Vent Sensor."""
super().__init__(instance, ac_key, zone_key=zone_key)
self._attr_name = f'{self._zone["name"]} vent'
self._attr_name = f"{self._zone['name']} vent"
self._attr_unique_id += "-vent"
@property
@@ -131,7 +131,7 @@ class AdvantageAirZoneSignal(AdvantageAirZoneEntity, SensorEntity):
def __init__(self, instance: AdvantageAirData, ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone wireless signal sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} signal'
self._attr_name = f"{self._zone['name']} signal"
self._attr_unique_id += "-signal"
@property
@@ -165,7 +165,7 @@ class AdvantageAirZoneTemp(AdvantageAirZoneEntity, SensorEntity):
def __init__(self, instance: AdvantageAirData, ac_key: str, zone_key: str) -> None:
"""Initialize an Advantage Air Zone Temp Sensor."""
super().__init__(instance, ac_key, zone_key)
self._attr_name = f'{self._zone["name"]} temperature'
self._attr_name = f"{self._zone['name']} temperature"
self._attr_unique_id += "-temp"
@property
+15 -1
View File
@@ -1,6 +1,7 @@
"""The AEMET OpenData component."""
import logging
import shutil
from aemet_opendata.exceptions import AemetError, TownNotFound
from aemet_opendata.interface import AEMET, ConnectionOptions, UpdateFeature
@@ -10,8 +11,9 @@ from homeassistant.const import CONF_API_KEY, CONF_LATITUDE, CONF_LONGITUDE, CON
from homeassistant.core import HomeAssistant
from homeassistant.exceptions import ConfigEntryNotReady
from homeassistant.helpers import aiohttp_client
from homeassistant.helpers.storage import STORAGE_DIR
from .const import CONF_STATION_UPDATES, PLATFORMS
from .const import CONF_RADAR_UPDATES, CONF_STATION_UPDATES, DOMAIN, PLATFORMS
from .coordinator import AemetConfigEntry, AemetData, WeatherUpdateCoordinator
_LOGGER = logging.getLogger(__name__)
@@ -24,11 +26,15 @@ async def async_setup_entry(hass: HomeAssistant, entry: AemetConfigEntry) -> boo
latitude = entry.data[CONF_LATITUDE]
longitude = entry.data[CONF_LONGITUDE]
update_features: int = UpdateFeature.FORECAST
if entry.options.get(CONF_RADAR_UPDATES, False):
update_features |= UpdateFeature.RADAR
if entry.options.get(CONF_STATION_UPDATES, True):
update_features |= UpdateFeature.STATION
options = ConnectionOptions(api_key, update_features)
aemet = AEMET(aiohttp_client.async_get_clientsession(hass), options)
aemet.set_api_data_dir(hass.config.path(STORAGE_DIR, f"{DOMAIN}-{entry.unique_id}"))
try:
await aemet.select_coordinates(latitude, longitude)
except TownNotFound as err:
@@ -57,3 +63,11 @@ async def async_update_options(hass: HomeAssistant, entry: ConfigEntry) -> None:
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry."""
return await hass.config_entries.async_unload_platforms(entry, PLATFORMS)
async def async_remove_entry(hass: HomeAssistant, entry: ConfigEntry) -> None:
"""Remove a config entry."""
await hass.async_add_executor_job(
shutil.rmtree,
hass.config.path(STORAGE_DIR, f"{DOMAIN}-{entry.unique_id}"),
)
@@ -17,10 +17,11 @@ from homeassistant.helpers.schema_config_entry_flow import (
SchemaOptionsFlowHandler,
)
from .const import CONF_STATION_UPDATES, DEFAULT_NAME, DOMAIN
from .const import CONF_RADAR_UPDATES, CONF_STATION_UPDATES, DEFAULT_NAME, DOMAIN
OPTIONS_SCHEMA = vol.Schema(
{
vol.Required(CONF_RADAR_UPDATES, default=False): bool,
vol.Required(CONF_STATION_UPDATES, default=True): bool,
}
)
+2 -1
View File
@@ -51,8 +51,9 @@ from homeassistant.components.weather import (
from homeassistant.const import Platform
ATTRIBUTION = "Powered by AEMET OpenData"
CONF_RADAR_UPDATES = "radar_updates"
CONF_STATION_UPDATES = "station_updates"
PLATFORMS = [Platform.SENSOR, Platform.WEATHER]
PLATFORMS = [Platform.IMAGE, Platform.SENSOR, Platform.WEATHER]
DEFAULT_NAME = "AEMET"
DOMAIN = "aemet"
@@ -4,7 +4,7 @@ from __future__ import annotations
from typing import Any
from aemet_opendata.const import AOD_COORDS
from aemet_opendata.const import AOD_COORDS, AOD_IMG_BYTES
from homeassistant.components.diagnostics import async_redact_data
from homeassistant.const import (
@@ -26,6 +26,7 @@ TO_REDACT_CONFIG = [
TO_REDACT_COORD = [
AOD_COORDS,
AOD_IMG_BYTES,
]
+86
View File
@@ -0,0 +1,86 @@
"""Support for the AEMET OpenData images."""
from __future__ import annotations
from typing import Final
from aemet_opendata.const import AOD_DATETIME, AOD_IMG_BYTES, AOD_IMG_TYPE, AOD_RADAR
from aemet_opendata.helpers import dict_nested_value
from homeassistant.components.image import Image, ImageEntity, ImageEntityDescription
from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .coordinator import AemetConfigEntry, WeatherUpdateCoordinator
from .entity import AemetEntity
AEMET_IMAGES: Final[tuple[ImageEntityDescription, ...]] = (
ImageEntityDescription(
key=AOD_RADAR,
translation_key="weather_radar",
),
)
async def async_setup_entry(
hass: HomeAssistant,
config_entry: AemetConfigEntry,
async_add_entities: AddEntitiesCallback,
) -> None:
"""Set up AEMET OpenData image entities based on a config entry."""
domain_data = config_entry.runtime_data
name = domain_data.name
coordinator = domain_data.coordinator
unique_id = config_entry.unique_id
assert unique_id is not None
async_add_entities(
AemetImage(
hass,
name,
coordinator,
description,
unique_id,
)
for description in AEMET_IMAGES
if dict_nested_value(coordinator.data["lib"], [description.key]) is not None
)
class AemetImage(AemetEntity, ImageEntity):
"""Implementation of an AEMET OpenData image."""
entity_description: ImageEntityDescription
def __init__(
self,
hass: HomeAssistant,
name: str,
coordinator: WeatherUpdateCoordinator,
description: ImageEntityDescription,
unique_id: str,
) -> None:
"""Initialize the image."""
super().__init__(coordinator, name, unique_id)
ImageEntity.__init__(self, hass)
self.entity_description = description
self._attr_unique_id = f"{unique_id}-{description.key}"
self._async_update_attrs()
@callback
def _handle_coordinator_update(self) -> None:
"""Update attributes when the coordinator updates."""
self._async_update_attrs()
super()._handle_coordinator_update()
@callback
def _async_update_attrs(self) -> None:
"""Update image attributes."""
image_data = self.get_aemet_value([self.entity_description.key])
self._cached_image = Image(
content_type=image_data.get(AOD_IMG_TYPE),
content=image_data.get(AOD_IMG_BYTES),
)
self._attr_image_last_updated = image_data.get(AOD_DATETIME)
+1 -1
View File
@@ -6,5 +6,5 @@
"documentation": "https://www.home-assistant.io/integrations/aemet",
"iot_class": "cloud_polling",
"loggers": ["aemet_opendata"],
"requirements": ["AEMET-OpenData==0.6.3"]
"requirements": ["AEMET-OpenData==0.6.4"]
}
@@ -18,10 +18,18 @@
}
}
},
"entity": {
"image": {
"weather_radar": {
"name": "Weather radar"
}
}
},
"options": {
"step": {
"init": {
"data": {
"radar_updates": "Gather data from AEMET weather radar",
"station_updates": "Gather data from AEMET weather stations"
}
}
@@ -11,10 +11,10 @@ from airgradient import (
from awesomeversion import AwesomeVersion
import voluptuous as vol
from homeassistant.components import zeroconf
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_HOST, CONF_MODEL
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo
from .const import DOMAIN
@@ -37,7 +37,7 @@ class AirGradientConfigFlow(ConfigFlow, domain=DOMAIN):
await self.client.set_configuration_control(ConfigurationControl.LOCAL)
async def async_step_zeroconf(
self, discovery_info: zeroconf.ZeroconfServiceInfo
self, discovery_info: ZeroconfServiceInfo
) -> ConfigFlowResult:
"""Handle zeroconf discovery."""
self.data[CONF_HOST] = host = discovery_info.host
@@ -31,7 +31,9 @@ rules:
# Silver
action-exceptions: todo
config-entry-unloading: done
docs-configuration-parameters: todo
docs-configuration-parameters:
status: exempt
comment: No options to configure
docs-installation-parameters: todo
entity-unavailable: done
integration-owner: done
@@ -41,12 +43,16 @@ rules:
status: exempt
comment: |
This integration does not require authentication.
test-coverage: done
test-coverage: todo
# Gold
devices: done
diagnostics: done
discovery-update-info: done
discovery: done
discovery-update-info:
status: todo
comment: DHCP is still possible
discovery:
status: todo
comment: DHCP is still possible
docs-data-update: todo
docs-examples: todo
docs-known-limitations: todo
@@ -137,6 +137,15 @@ MEASUREMENT_SENSOR_TYPES: tuple[AirGradientMeasurementSensorEntityDescription, .
entity_registry_enabled_default=False,
value_fn=lambda status: status.raw_total_volatile_organic_component,
),
AirGradientMeasurementSensorEntityDescription(
key="pm02_raw",
translation_key="raw_pm02",
device_class=SensorDeviceClass.PM25,
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
state_class=SensorStateClass.MEASUREMENT,
entity_registry_enabled_default=False,
value_fn=lambda status: status.raw_pm02,
),
)
CONFIG_SENSOR_TYPES: tuple[AirGradientConfigSensorEntityDescription, ...] = (
@@ -119,6 +119,9 @@
"raw_nitrogen": {
"name": "Raw NOx"
},
"raw_pm02": {
"name": "Raw PM2.5"
},
"display_pm_standard": {
"name": "[%key:component::airgradient::entity::select::display_pm_standard::name%]",
"state": {
+13 -2
View File
@@ -39,45 +39,54 @@ SENSORS: dict[str, SensorEntityDescription] = {
key="temp",
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
state_class=SensorStateClass.MEASUREMENT,
),
"humidity": SensorEntityDescription(
key="humidity",
device_class=SensorDeviceClass.HUMIDITY,
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
),
"pressure": SensorEntityDescription(
key="pressure",
device_class=SensorDeviceClass.ATMOSPHERIC_PRESSURE,
native_unit_of_measurement=UnitOfPressure.MBAR,
state_class=SensorStateClass.MEASUREMENT,
),
"battery": SensorEntityDescription(
key="battery",
device_class=SensorDeviceClass.BATTERY,
native_unit_of_measurement=PERCENTAGE,
entity_category=EntityCategory.DIAGNOSTIC,
state_class=SensorStateClass.MEASUREMENT,
),
"co2": SensorEntityDescription(
key="co2",
device_class=SensorDeviceClass.CO2,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
state_class=SensorStateClass.MEASUREMENT,
),
"voc": SensorEntityDescription(
key="voc",
device_class=SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_BILLION,
state_class=SensorStateClass.MEASUREMENT,
),
"light": SensorEntityDescription(
key="light",
native_unit_of_measurement=PERCENTAGE,
translation_key="light",
state_class=SensorStateClass.MEASUREMENT,
),
"virusRisk": SensorEntityDescription(
key="virusRisk",
translation_key="virus_risk",
state_class=SensorStateClass.MEASUREMENT,
),
"mold": SensorEntityDescription(
key="mold",
translation_key="mold",
state_class=SensorStateClass.MEASUREMENT,
),
"rssi": SensorEntityDescription(
key="rssi",
@@ -85,16 +94,19 @@ SENSORS: dict[str, SensorEntityDescription] = {
device_class=SensorDeviceClass.SIGNAL_STRENGTH,
entity_registry_enabled_default=False,
entity_category=EntityCategory.DIAGNOSTIC,
state_class=SensorStateClass.MEASUREMENT,
),
"pm1": SensorEntityDescription(
key="pm1",
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM1,
state_class=SensorStateClass.MEASUREMENT,
),
"pm25": SensorEntityDescription(
key="pm25",
native_unit_of_measurement=CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
device_class=SensorDeviceClass.PM25,
state_class=SensorStateClass.MEASUREMENT,
),
}
@@ -143,8 +155,7 @@ class AirthingsHeaterEnergySensor(
self._id = airthings_device.device_id
self._attr_device_info = DeviceInfo(
configuration_url=(
"https://dashboard.airthings.com/devices/"
f"{airthings_device.device_id}"
f"https://dashboard.airthings.com/devices/{airthings_device.device_id}"
),
identifiers={(DOMAIN, airthings_device.device_id)},
name=airthings_device.name,
@@ -67,18 +67,21 @@ SENSORS_MAPPING_TEMPLATE: dict[str, SensorEntityDescription] = {
device_class=SensorDeviceClass.TEMPERATURE,
native_unit_of_measurement=UnitOfTemperature.CELSIUS,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=1,
),
"humidity": SensorEntityDescription(
key="humidity",
device_class=SensorDeviceClass.HUMIDITY,
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=1,
),
"pressure": SensorEntityDescription(
key="pressure",
device_class=SensorDeviceClass.ATMOSPHERIC_PRESSURE,
native_unit_of_measurement=UnitOfPressure.MBAR,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=1,
),
"battery": SensorEntityDescription(
key="battery",
@@ -86,24 +89,28 @@ SENSORS_MAPPING_TEMPLATE: dict[str, SensorEntityDescription] = {
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
entity_category=EntityCategory.DIAGNOSTIC,
suggested_display_precision=0,
),
"co2": SensorEntityDescription(
key="co2",
device_class=SensorDeviceClass.CO2,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_MILLION,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
),
"voc": SensorEntityDescription(
key="voc",
device_class=SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS,
native_unit_of_measurement=CONCENTRATION_PARTS_PER_BILLION,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
),
"illuminance": SensorEntityDescription(
key="illuminance",
translation_key="illuminance",
native_unit_of_measurement=PERCENTAGE,
state_class=SensorStateClass.MEASUREMENT,
suggested_display_precision=0,
),
}
@@ -95,7 +95,6 @@ class AirtouchAC(CoordinatorEntity, ClimateEntity):
| ClimateEntityFeature.TURN_ON
)
_attr_temperature_unit = UnitOfTemperature.CELSIUS
_enable_turn_on_off_backwards_compatibility = False
def __init__(self, coordinator, ac_number, info):
"""Initialize the climate device."""
@@ -205,7 +204,6 @@ class AirtouchGroup(CoordinatorEntity, ClimateEntity):
)
_attr_temperature_unit = UnitOfTemperature.CELSIUS
_attr_hvac_modes = AT_GROUP_MODES
_enable_turn_on_off_backwards_compatibility = False
def __init__(self, coordinator, group_number, info):
"""Initialize the climate device."""
@@ -124,7 +124,6 @@ class Airtouch5ClimateEntity(ClimateEntity, Airtouch5Entity):
_attr_translation_key = DOMAIN
_attr_target_temperature_step = 1
_attr_name = None
_enable_turn_on_off_backwards_compatibility = False
class Airtouch5AC(Airtouch5ClimateEntity):
@@ -50,7 +50,7 @@ SENSOR_DESCRIPTIONS = (
state_class=SensorStateClass.MEASUREMENT,
value_fn=lambda settings, status, measurements, history: int(
history.get(
f'Outdoor {"AQI(US)" if settings["is_aqi_usa"] else "AQI(CN)"}', -1
f"Outdoor {'AQI(US)' if settings['is_aqi_usa'] else 'AQI(CN)'}", -1
)
),
translation_key="outdoor_air_quality_index",
+25 -1
View File
@@ -5,7 +5,14 @@ from __future__ import annotations
import logging
from typing import Any
from aioairzone.const import AZD_MAC, AZD_WEBSERVER, DEFAULT_SYSTEM_ID
from aioairzone.const import (
AZD_FIRMWARE,
AZD_FULL_NAME,
AZD_MAC,
AZD_MODEL,
AZD_WEBSERVER,
DEFAULT_SYSTEM_ID,
)
from aioairzone.localapi import AirzoneLocalApi, ConnectionOptions
from homeassistant.config_entries import ConfigEntry
@@ -17,6 +24,7 @@ from homeassistant.helpers import (
entity_registry as er,
)
from .const import DOMAIN, MANUFACTURER
from .coordinator import AirzoneUpdateCoordinator
PLATFORMS: list[Platform] = [
@@ -88,6 +96,22 @@ async def async_setup_entry(hass: HomeAssistant, entry: AirzoneConfigEntry) -> b
entry.runtime_data = coordinator
device_registry = dr.async_get(hass)
ws_data: dict[str, Any] | None = coordinator.data.get(AZD_WEBSERVER)
if ws_data is not None:
mac = ws_data.get(AZD_MAC, "")
device_registry.async_get_or_create(
config_entry_id=entry.entry_id,
connections={(dr.CONNECTION_NETWORK_MAC, mac)},
identifiers={(DOMAIN, f"{entry.entry_id}_ws")},
manufacturer=MANUFACTURER,
model=ws_data.get(AZD_MODEL),
name=ws_data.get(AZD_FULL_NAME),
sw_version=ws_data.get(AZD_FIRMWARE),
)
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
return True
@@ -136,7 +136,6 @@ class AirzoneClimate(AirzoneZoneEntity, ClimateEntity):
_attr_name = None
_speeds: dict[int, str] = {}
_speeds_reverse: dict[str, int] = {}
_enable_turn_on_off_backwards_compatibility = False
def __init__(
self,
@@ -10,12 +10,12 @@ from aioairzone.exceptions import AirzoneError, InvalidSystem
from aioairzone.localapi import AirzoneLocalApi, ConnectionOptions
import voluptuous as vol
from homeassistant.components import dhcp
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_HOST, CONF_ID, CONF_PORT
from homeassistant.data_entry_flow import AbortFlow
from homeassistant.helpers import aiohttp_client
from homeassistant.helpers.device_registry import format_mac
from homeassistant.helpers.service_info.dhcp import DhcpServiceInfo
from .const import DOMAIN
@@ -93,7 +93,7 @@ class AirZoneConfigFlow(ConfigFlow, domain=DOMAIN):
)
async def async_step_dhcp(
self, discovery_info: dhcp.DhcpServiceInfo
self, discovery_info: DhcpServiceInfo
) -> ConfigFlowResult:
"""Handle DHCP discovery."""
self._discovered_ip = discovery_info.ip
+4 -2
View File
@@ -68,8 +68,9 @@ class AirzoneSystemEntity(AirzoneEntity):
model=self.get_airzone_value(AZD_MODEL),
name=f"System {self.system_id}",
sw_version=self.get_airzone_value(AZD_FIRMWARE),
via_device=(DOMAIN, f"{entry.entry_id}_ws"),
)
if AZD_WEBSERVER in self.coordinator.data:
self._attr_device_info["via_device"] = (DOMAIN, f"{entry.entry_id}_ws")
self._attr_unique_id = entry.unique_id or entry.entry_id
@property
@@ -102,8 +103,9 @@ class AirzoneHotWaterEntity(AirzoneEntity):
manufacturer=MANUFACTURER,
model="DHW",
name=self.get_airzone_value(AZD_NAME),
via_device=(DOMAIN, f"{entry.entry_id}_ws"),
)
if AZD_WEBSERVER in self.coordinator.data:
self._attr_device_info["via_device"] = (DOMAIN, f"{entry.entry_id}_ws")
self._attr_unique_id = entry.unique_id or entry.entry_id
def get_airzone_value(self, key: str) -> Any:
@@ -11,5 +11,5 @@
"documentation": "https://www.home-assistant.io/integrations/airzone",
"iot_class": "local_polling",
"loggers": ["aioairzone"],
"requirements": ["aioairzone==0.9.7"]
"requirements": ["aioairzone==0.9.9"]
}
@@ -177,7 +177,6 @@ class AirzoneClimate(AirzoneEntity, ClimateEntity):
_attr_name = None
_attr_temperature_unit = UnitOfTemperature.CELSIUS
_enable_turn_on_off_backwards_compatibility = False
def _init_attributes(self) -> None:
"""Init common climate device attributes."""
@@ -194,12 +193,6 @@ class AirzoneClimate(AirzoneEntity, ClimateEntity):
ClimateEntityFeature.TARGET_TEMPERATURE_RANGE
)
if (
self.get_airzone_value(AZD_SPEED) is not None
and self.get_airzone_value(AZD_SPEEDS) is not None
):
self._initialize_fan_speeds()
@callback
def _handle_coordinator_update(self) -> None:
"""Update attributes when the coordinator updates."""
@@ -214,8 +207,6 @@ class AirzoneClimate(AirzoneEntity, ClimateEntity):
self._attr_hvac_action = HVAC_ACTION_LIB_TO_HASS[
self.get_airzone_value(AZD_ACTION)
]
if self.supported_features & ClimateEntityFeature.FAN_MODE:
self._attr_fan_mode = self._speeds.get(self.get_airzone_value(AZD_SPEED))
if self.get_airzone_value(AZD_POWER):
self._attr_hvac_mode = HVAC_MODE_LIB_TO_HASS[
self.get_airzone_value(AZD_MODE)
@@ -252,6 +243,22 @@ class AirzoneDeviceClimate(AirzoneClimate):
_speeds: dict[int, str]
_speeds_reverse: dict[str, int]
def _init_attributes(self) -> None:
"""Init common climate device attributes."""
super()._init_attributes()
if (
self.get_airzone_value(AZD_SPEED) is not None
and self.get_airzone_value(AZD_SPEEDS) is not None
):
self._initialize_fan_speeds()
@callback
def _async_update_attrs(self) -> None:
"""Update climate attributes."""
super()._async_update_attrs()
if self.supported_features & ClimateEntityFeature.FAN_MODE:
self._attr_fan_mode = self._speeds.get(self.get_airzone_value(AZD_SPEED))
def _initialize_fan_speeds(self) -> None:
"""Initialize fan speeds."""
azd_speeds: dict[int, int] = self.get_airzone_value(AZD_SPEEDS)
@@ -355,12 +355,7 @@ class AlarmControlPanelEntity(Entity, cached_properties=CACHED_PROPERTIES_WITH_A
@cached_property
def supported_features(self) -> AlarmControlPanelEntityFeature:
"""Return the list of supported features."""
features = self._attr_supported_features
if type(features) is int: # noqa: E721
new_features = AlarmControlPanelEntityFeature(features)
self._report_deprecated_supported_features_values(new_features)
return new_features
return features
return self._attr_supported_features
@final
@property
+20 -1
View File
@@ -317,6 +317,7 @@ class Alexa(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -403,6 +404,7 @@ class AlexaPowerController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -436,7 +438,7 @@ class AlexaPowerController(AlexaCapability):
elif self.entity.domain == remote.DOMAIN:
is_on = self.entity.state not in (STATE_OFF, STATE_UNKNOWN)
elif self.entity.domain == vacuum.DOMAIN:
is_on = self.entity.state == vacuum.STATE_CLEANING
is_on = self.entity.state == vacuum.VacuumActivity.CLEANING
elif self.entity.domain == timer.DOMAIN:
is_on = self.entity.state != STATE_IDLE
elif self.entity.domain == water_heater.DOMAIN:
@@ -469,6 +471,7 @@ class AlexaLockController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -523,6 +526,7 @@ class AlexaSceneController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -562,6 +566,7 @@ class AlexaBrightnessController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -611,6 +616,7 @@ class AlexaColorController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -669,6 +675,7 @@ class AlexaColorTemperatureController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -715,6 +722,7 @@ class AlexaSpeaker(AlexaCapability):
"fr-FR", # Not documented as of 2021-12-04, see PR #60489
"it-IT",
"ja-JP",
"nl-NL",
}
def name(self) -> str:
@@ -772,6 +780,7 @@ class AlexaStepSpeaker(AlexaCapability):
"es-ES",
"fr-FR", # Not documented as of 2021-12-04, see PR #60489
"it-IT",
"nl-NL",
}
def name(self) -> str:
@@ -801,6 +810,7 @@ class AlexaPlaybackController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -859,6 +869,7 @@ class AlexaInputController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -1104,6 +1115,7 @@ class AlexaThermostatController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -1245,6 +1257,7 @@ class AlexaPowerLevelController(AlexaCapability):
"fr-CA",
"fr-FR",
"it-IT",
"nl-NL",
"ja-JP",
}
@@ -1723,6 +1736,7 @@ class AlexaRangeController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -2066,6 +2080,7 @@ class AlexaToggleController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -2212,6 +2227,7 @@ class AlexaPlaybackStateReporter(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -2267,6 +2283,7 @@ class AlexaSeekController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -2360,6 +2377,7 @@ class AlexaEqualizerController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
@@ -2470,6 +2488,7 @@ class AlexaCameraStreamController(AlexaCapability):
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}
+1
View File
@@ -59,6 +59,7 @@ CONF_SUPPORTED_LOCALES = (
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
)
+19 -14
View File
@@ -474,25 +474,30 @@ class ClimateCapabilities(AlexaEntity):
# If we support two modes, one being off, we allow turning on too.
supported_features = self.entity.attributes.get(ATTR_SUPPORTED_FEATURES, 0)
if (
self.entity.domain == climate.DOMAIN
and climate.HVACMode.OFF
in (self.entity.attributes.get(climate.ATTR_HVAC_MODES) or [])
or self.entity.domain == climate.DOMAIN
and (
supported_features
& (
climate.ClimateEntityFeature.TURN_ON
| climate.ClimateEntityFeature.TURN_OFF
(
self.entity.domain == climate.DOMAIN
and climate.HVACMode.OFF
in (self.entity.attributes.get(climate.ATTR_HVAC_MODES) or [])
)
or (
self.entity.domain == climate.DOMAIN
and (
supported_features
& (
climate.ClimateEntityFeature.TURN_ON
| climate.ClimateEntityFeature.TURN_OFF
)
)
)
or self.entity.domain == water_heater.DOMAIN
and (supported_features & water_heater.WaterHeaterEntityFeature.ON_OFF)
or (
self.entity.domain == water_heater.DOMAIN
and (supported_features & water_heater.WaterHeaterEntityFeature.ON_OFF)
)
):
yield AlexaPowerController(self.entity)
if (
self.entity.domain == climate.DOMAIN
or self.entity.domain == water_heater.DOMAIN
if self.entity.domain == climate.DOMAIN or (
self.entity.domain == water_heater.DOMAIN
and (
supported_features
& water_heater.WaterHeaterEntityFeature.OPERATION_MODE
+10 -9
View File
@@ -359,7 +359,7 @@ async def async_api_set_color_temperature(
await hass.services.async_call(
entity.domain,
SERVICE_TURN_ON,
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_KELVIN: kelvin},
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP_KELVIN: kelvin},
blocking=False,
context=context,
)
@@ -376,14 +376,14 @@ async def async_api_decrease_color_temp(
) -> AlexaResponse:
"""Process a decrease color temperature request."""
entity = directive.entity
current = int(entity.attributes[light.ATTR_COLOR_TEMP])
max_mireds = int(entity.attributes[light.ATTR_MAX_MIREDS])
current = int(entity.attributes[light.ATTR_COLOR_TEMP_KELVIN])
min_kelvin = int(entity.attributes[light.ATTR_MIN_COLOR_TEMP_KELVIN])
value = min(max_mireds, current + 50)
value = max(min_kelvin, current - 500)
await hass.services.async_call(
entity.domain,
SERVICE_TURN_ON,
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP: value},
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP_KELVIN: value},
blocking=False,
context=context,
)
@@ -400,14 +400,14 @@ async def async_api_increase_color_temp(
) -> AlexaResponse:
"""Process an increase color temperature request."""
entity = directive.entity
current = int(entity.attributes[light.ATTR_COLOR_TEMP])
min_mireds = int(entity.attributes[light.ATTR_MIN_MIREDS])
current = int(entity.attributes[light.ATTR_COLOR_TEMP_KELVIN])
max_kelvin = int(entity.attributes[light.ATTR_MAX_COLOR_TEMP_KELVIN])
value = max(min_mireds, current - 50)
value = min(max_kelvin, current + 500)
await hass.services.async_call(
entity.domain,
SERVICE_TURN_ON,
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP: value},
{ATTR_ENTITY_ID: entity.entity_id, light.ATTR_COLOR_TEMP_KELVIN: value},
blocking=False,
context=context,
)
@@ -527,6 +527,7 @@ async def async_api_unlock(
"hi-IN",
"it-IT",
"ja-JP",
"nl-NL",
"pt-BR",
}:
msg = (
@@ -317,9 +317,8 @@ async def async_enable_proactive_mode(
if should_doorbell:
old_state = data["old_state"]
if (
new_state.domain == event.DOMAIN
or new_state.state == STATE_ON
if new_state.domain == event.DOMAIN or (
new_state.state == STATE_ON
and (old_state is None or old_state.state != STATE_ON)
):
await async_send_doorbell_event_message(
@@ -41,7 +41,7 @@
}
},
"enable_motion_recording": {
"name": "Enables motion recording",
"name": "Enable motion recording",
"description": "Enables recording a clip to camera storage when motion is detected.",
"fields": {
"entity_id": {
@@ -51,8 +51,8 @@
}
},
"disable_motion_recording": {
"name": "Disables motion recording",
"description": "Disable recording a clip to camera storage when motion is detected.",
"name": "Disable motion recording",
"description": "Disables recording a clip to camera storage when motion is detected.",
"fields": {
"entity_id": {
"name": "[%key:component::amcrest::services::enable_recording::fields::entity_id::name%]",
@@ -11,12 +11,7 @@ from python_homeassistant_analytics import (
from python_homeassistant_analytics.models import IntegrationType
import voluptuous as vol
from homeassistant.config_entries import (
ConfigEntry,
ConfigFlow,
ConfigFlowResult,
OptionsFlow,
)
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult, OptionsFlow
from homeassistant.core import callback
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.selector import (
@@ -25,6 +20,7 @@ from homeassistant.helpers.selector import (
SelectSelectorConfig,
)
from . import AnalyticsInsightsConfigEntry
from .const import (
CONF_TRACKED_ADDONS,
CONF_TRACKED_CUSTOM_INTEGRATIONS,
@@ -46,7 +42,7 @@ class HomeassistantAnalyticsConfigFlow(ConfigFlow, domain=DOMAIN):
@staticmethod
@callback
def async_get_options_flow(
config_entry: ConfigEntry,
config_entry: AnalyticsInsightsConfigEntry,
) -> HomeassistantAnalyticsOptionsFlowHandler:
"""Get the options flow for this handler."""
return HomeassistantAnalyticsOptionsFlowHandler()
@@ -7,6 +7,6 @@
"integration_type": "service",
"iot_class": "cloud_polling",
"loggers": ["python_homeassistant_analytics"],
"requirements": ["python-homeassistant-analytics==0.8.0"],
"requirements": ["python-homeassistant-analytics==0.8.1"],
"single_config_entry": true
}
@@ -0,0 +1,100 @@
rules:
# Bronze
action-setup:
status: exempt
comment: |
This integration does not provide additional actions.
appropriate-polling: done
brands: done
common-modules: done
config-flow-test-coverage: done
config-flow: done
dependency-transparency: done
docs-actions:
status: exempt
comment: |
This integration does not provide additional actions.
docs-high-level-description: todo
docs-installation-instructions: todo
docs-removal-instructions: todo
entity-event-setup:
status: exempt
comment: |
Entities of this integration does not explicitly subscribe to events.
entity-unique-id: done
has-entity-name: done
runtime-data: done
test-before-configure: done
test-before-setup: done
unique-config-entry: done
# Silver
action-exceptions:
status: exempt
comment: |
This integration does not provide actions.
config-entry-unloading: done
docs-configuration-parameters: todo
docs-installation-parameters: todo
entity-unavailable:
status: done
comment: |
The coordinator handles this.
integration-owner: done
log-when-unavailable:
status: done
comment: |
The coordinator handles this.
parallel-updates: todo
reauthentication-flow:
status: exempt
comment: |
This integration does not require authentication.
test-coverage: todo
# Gold
devices: done
diagnostics: todo
discovery-update-info:
status: exempt
comment: |
This integration is a cloud service and thus does not support discovery.
discovery:
status: exempt
comment: |
This integration is a cloud service and thus does not support discovery.
docs-data-update: todo
docs-examples: todo
docs-known-limitations: todo
docs-supported-devices: todo
docs-supported-functions: todo
docs-troubleshooting: todo
docs-use-cases: todo
dynamic-devices:
status: exempt
comment: |
This integration has a fixed single service.
entity-category: done
entity-device-class:
status: exempt
comment: |
This integration does not have entities with device classes.
entity-disabled-by-default: done
entity-translations: done
exception-translations: todo
icon-translations: done
reconfiguration-flow:
status: exempt
comment: All the options of this integration are managed via the options flow
repair-issues:
status: exempt
comment: |
This integration doesn't have any cases where raising an issue is needed.
stale-devices:
status: exempt
comment: |
This integration has a fixed single service.
# Platinum
async-dependency: done
inject-websession: done
strict-typing: done
+11 -10
View File
@@ -110,7 +110,7 @@ def _setup_androidtv(
adb_log = f"using Python ADB implementation with adbkey='{adbkey}'"
else:
# Use "pure-python-adb" (communicate with ADB server)
# Communicate via ADB server
signer = None
adb_log = (
"using ADB server at"
@@ -135,15 +135,16 @@ async def async_connect_androidtv(
)
aftv = await async_androidtv_setup(
config[CONF_HOST],
config[CONF_PORT],
adbkey,
config.get(CONF_ADB_SERVER_IP),
config.get(CONF_ADB_SERVER_PORT, DEFAULT_ADB_SERVER_PORT),
state_detection_rules,
config[CONF_DEVICE_CLASS],
timeout,
signer,
host=config[CONF_HOST],
port=config[CONF_PORT],
adbkey=adbkey,
adb_server_ip=config.get(CONF_ADB_SERVER_IP),
adb_server_port=config.get(CONF_ADB_SERVER_PORT, DEFAULT_ADB_SERVER_PORT),
state_detection_rules=state_detection_rules,
device_class=config[CONF_DEVICE_CLASS],
auth_timeout_s=timeout,
signer=signer,
log_errors=False,
)
if not aftv.available:
+1 -1
View File
@@ -151,5 +151,5 @@ class AndroidTVEntity(Entity):
# Using "adb_shell" (Python ADB implementation)
self.exceptions = ADB_PYTHON_EXCEPTIONS
else:
# Using "pure-python-adb" (communicate with ADB server)
# Communicate via ADB server
self.exceptions = ADB_TCP_EXCEPTIONS
@@ -6,10 +6,6 @@
"documentation": "https://www.home-assistant.io/integrations/androidtv",
"integration_type": "device",
"iot_class": "local_polling",
"loggers": ["adb_shell", "androidtv", "pure_python_adb"],
"requirements": [
"adb-shell[async]==0.4.4",
"androidtv[async]==0.0.75",
"pure-python-adb[async]==0.3.0.dev0"
]
"loggers": ["adb_shell", "androidtv"],
"requirements": ["adb-shell[async]==0.4.4", "androidtv[async]==0.0.75"]
}
@@ -21,7 +21,7 @@
},
"abort": {
"already_configured": "[%key:common::config_flow::abort::already_configured_device%]",
"invalid_unique_id": "Impossible to determine a valid unique id for the device"
"invalid_unique_id": "Impossible to determine a valid unique ID for the device"
}
},
"options": {
@@ -38,17 +38,17 @@
}
},
"apps": {
"title": "Configure Android Apps",
"description": "Configure application id {app_id}",
"title": "Configure Android apps",
"description": "Configure application ID {app_id}",
"data": {
"app_name": "Application Name",
"app_name": "Application name",
"app_id": "Application ID",
"app_delete": "Check to delete this application"
}
},
"rules": {
"title": "Configure Android state detection rules",
"description": "Configure detection rule for application id {rule_id}",
"description": "Configure detection rule for application ID {rule_id}",
"data": {
"rule_id": "[%key:component::androidtv::options::step::apps::data::app_id%]",
"rule_values": "List of state detection rules (see documentation)",
@@ -14,7 +14,6 @@ from androidtvremote2 import (
)
import voluptuous as vol
from homeassistant.components import zeroconf
from homeassistant.config_entries import (
SOURCE_REAUTH,
ConfigEntry,
@@ -31,6 +30,7 @@ from homeassistant.helpers.selector import (
SelectSelectorConfig,
SelectSelectorMode,
)
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo
from .const import CONF_APP_ICON, CONF_APP_NAME, CONF_APPS, CONF_ENABLE_IME, DOMAIN
from .helpers import create_api, get_enable_ime
@@ -142,7 +142,7 @@ class AndroidTVRemoteConfigFlow(ConfigFlow, domain=DOMAIN):
)
async def async_step_zeroconf(
self, discovery_info: zeroconf.ZeroconfServiceInfo
self, discovery_info: ZeroconfServiceInfo
) -> ConfigFlowResult:
"""Handle zeroconf discovery."""
_LOGGER.debug("Android TV device found via zeroconf: %s", discovery_info)
@@ -156,7 +156,12 @@ class AndroidTVRemoteConfigFlow(ConfigFlow, domain=DOMAIN):
# and one of them, which could end up being in discovery_info.host, is from a
# different device. If any of the discovery_info.ip_addresses matches the
# existing host, don't update the host.
if existing_config_entry and len(discovery_info.ip_addresses) > 1:
if (
existing_config_entry
# Ignored entries don't have host
and CONF_HOST in existing_config_entry.data
and len(discovery_info.ip_addresses) > 1
):
existing_host = existing_config_entry.data[CONF_HOST]
if existing_host != self.host:
if existing_host in [
@@ -44,12 +44,12 @@
}
},
"apps": {
"title": "Configure Android Apps",
"description": "Configure application id {app_id}",
"title": "Configure Android apps",
"description": "Configure application ID {app_id}",
"data": {
"app_name": "Application Name",
"app_name": "Application name",
"app_id": "Application ID",
"app_icon": "Application Icon",
"app_icon": "Application icon",
"app_delete": "Check to delete this application"
}
}
@@ -5,5 +5,5 @@
"config_flow": true,
"documentation": "https://www.home-assistant.io/integrations/aosmith",
"iot_class": "cloud_polling",
"requirements": ["py-aosmith==1.0.11"]
"requirements": ["py-aosmith==1.0.12"]
}
@@ -34,6 +34,7 @@ from homeassistant.helpers.schema_config_entry_flow import (
SchemaFlowFormStep,
SchemaOptionsFlowHandler,
)
from homeassistant.helpers.service_info.zeroconf import ZeroconfServiceInfo
from .const import CONF_CREDENTIALS, CONF_IDENTIFIERS, CONF_START_OFF, DOMAIN
@@ -98,7 +99,6 @@ class AppleTVConfigFlow(ConfigFlow, domain=DOMAIN):
VERSION = 1
scan_filter: str | None = None
all_identifiers: set[str]
atv: BaseConfig | None = None
atv_identifiers: list[str] | None = None
_host: str # host in zeroconf discovery info, should not be accessed by other flows
@@ -118,6 +118,7 @@ class AppleTVConfigFlow(ConfigFlow, domain=DOMAIN):
def __init__(self) -> None:
"""Initialize a new AppleTVConfigFlow."""
self.credentials: dict[int, str | None] = {} # Protocol -> credentials
self.all_identifiers: set[str] = set()
@property
def device_identifier(self) -> str | None:
@@ -204,7 +205,7 @@ class AppleTVConfigFlow(ConfigFlow, domain=DOMAIN):
)
async def async_step_zeroconf(
self, discovery_info: zeroconf.ZeroconfServiceInfo
self, discovery_info: ZeroconfServiceInfo
) -> ConfigFlowResult:
"""Handle device found via zeroconf."""
if discovery_info.ip_address.version == 6:
@@ -38,7 +38,7 @@ from homeassistant.loader import (
from homeassistant.util import slugify
from homeassistant.util.hass_dict import HassKey
__all__ = ["ClientCredential", "AuthorizationServer", "async_import_client_credential"]
__all__ = ["AuthorizationServer", "ClientCredential", "async_import_client_credential"]
_LOGGER = logging.getLogger(__name__)
@@ -6,5 +6,5 @@
"iot_class": "cloud_push",
"loggers": ["apprise"],
"quality_scale": "legacy",
"requirements": ["apprise==1.9.0"]
"requirements": ["apprise==1.9.1"]
}
@@ -120,6 +120,8 @@ class AprilaireCoordinator(BaseDataUpdateCoordinatorProtocol):
"""Wait for the client to be ready."""
if not self.data or Attribute.MAC_ADDRESS not in self.data:
await self.client.read_mac_address()
data = await self.client.wait_for_response(
FunctionalDomain.IDENTIFICATION, 2, WAIT_TIMEOUT
)
@@ -130,12 +132,9 @@ class AprilaireCoordinator(BaseDataUpdateCoordinatorProtocol):
return False
if not self.data or Attribute.NAME not in self.data:
await self.client.wait_for_response(
FunctionalDomain.IDENTIFICATION, 4, WAIT_TIMEOUT
)
if not self.data or Attribute.THERMOSTAT_MODES not in self.data:
await self.client.read_thermostat_iaq_available()
await self.client.wait_for_response(
FunctionalDomain.CONTROL, 7, WAIT_TIMEOUT
)
@@ -144,10 +143,16 @@ class AprilaireCoordinator(BaseDataUpdateCoordinatorProtocol):
not self.data
or Attribute.INDOOR_TEMPERATURE_CONTROLLING_SENSOR_STATUS not in self.data
):
await self.client.read_sensors()
await self.client.wait_for_response(
FunctionalDomain.SENSORS, 2, WAIT_TIMEOUT
)
await self.client.read_thermostat_status()
await self.client.read_iaq_status()
await ready_callback(True)
return True
@@ -50,7 +50,7 @@ async def async_setup_entry(
descriptions: list[AprilaireHumidifierDescription] = []
if coordinator.data.get(Attribute.HUMIDIFICATION_AVAILABLE) in (0, 1, 2):
if coordinator.data.get(Attribute.HUMIDIFICATION_AVAILABLE) in (1, 2):
descriptions.append(
AprilaireHumidifierDescription(
key="humidifier",
@@ -67,7 +67,7 @@ async def async_setup_entry(
)
)
if coordinator.data.get(Attribute.DEHUMIDIFICATION_AVAILABLE) in (0, 1):
if coordinator.data.get(Attribute.DEHUMIDIFICATION_AVAILABLE) == 1:
descriptions.append(
AprilaireHumidifierDescription(
key="dehumidifier",
@@ -7,5 +7,5 @@
"integration_type": "device",
"iot_class": "local_push",
"loggers": ["pyaprilaire"],
"requirements": ["pyaprilaire==0.7.4"]
"requirements": ["pyaprilaire==0.7.7"]
}
@@ -5,12 +5,17 @@ from __future__ import annotations
from dataclasses import dataclass
from datetime import timedelta
from APsystemsEZ1 import APsystemsEZ1M, ReturnAlarmInfo, ReturnOutputData
from APsystemsEZ1 import (
APsystemsEZ1M,
InverterReturnedError,
ReturnAlarmInfo,
ReturnOutputData,
)
from homeassistant.core import HomeAssistant
from homeassistant.helpers.update_coordinator import DataUpdateCoordinator, UpdateFailed
from .const import LOGGER
from .const import DOMAIN, LOGGER
@dataclass
@@ -24,6 +29,8 @@ class ApSystemsSensorData:
class ApSystemsDataCoordinator(DataUpdateCoordinator[ApSystemsSensorData]):
"""Coordinator used for all sensors."""
device_version: str
def __init__(self, hass: HomeAssistant, api: APsystemsEZ1M) -> None:
"""Initialize my coordinator."""
super().__init__(
@@ -41,8 +48,14 @@ class ApSystemsDataCoordinator(DataUpdateCoordinator[ApSystemsSensorData]):
raise UpdateFailed from None
self.api.max_power = device_info.maxPower
self.api.min_power = device_info.minPower
self.device_version = device_info.devVer
async def _async_update_data(self) -> ApSystemsSensorData:
output_data = await self.api.get_output_data()
alarm_info = await self.api.get_alarm_info()
try:
output_data = await self.api.get_output_data()
alarm_info = await self.api.get_alarm_info()
except InverterReturnedError:
raise UpdateFailed(
translation_domain=DOMAIN, translation_key="inverter_error"
) from None
return ApSystemsSensorData(output_data=output_data, alarm_info=alarm_info)
+2 -1
View File
@@ -21,7 +21,8 @@ class ApSystemsEntity(Entity):
"""Initialize the APsystems entity."""
self._attr_device_info = DeviceInfo(
identifiers={(DOMAIN, data.device_id)},
serial_number=data.device_id,
manufacturer="APsystems",
model="EZ1-M",
serial_number=data.device_id,
sw_version=data.coordinator.device_version.split(" ")[1],
)
+10 -2
View File
@@ -2,6 +2,8 @@
from __future__ import annotations
from aiohttp import ClientConnectorError
from homeassistant.components.number import NumberDeviceClass, NumberEntity, NumberMode
from homeassistant.const import UnitOfPower
from homeassistant.core import HomeAssistant
@@ -20,7 +22,7 @@ async def async_setup_entry(
) -> None:
"""Set up the sensor platform."""
add_entities([ApSystemsMaxOutputNumber(config_entry.runtime_data)])
add_entities([ApSystemsMaxOutputNumber(config_entry.runtime_data)], True)
class ApSystemsMaxOutputNumber(ApSystemsEntity, NumberEntity):
@@ -45,7 +47,13 @@ class ApSystemsMaxOutputNumber(ApSystemsEntity, NumberEntity):
async def async_update(self) -> None:
"""Set the state with the value fetched from the inverter."""
self._attr_native_value = await self._api.get_max_power()
try:
status = await self._api.get_max_power()
except (TimeoutError, ClientConnectorError):
self._attr_available = False
else:
self._attr_available = True
self._attr_native_value = status
async def async_set_native_value(self, value: float) -> None:
"""Set the desired output power."""
@@ -72,5 +72,10 @@
"name": "Inverter status"
}
}
},
"exceptions": {
"inverter_error": {
"message": "Inverter returned an error"
}
}
}
@@ -19,5 +19,5 @@
"documentation": "https://www.home-assistant.io/integrations/aranet",
"integration_type": "device",
"iot_class": "local_push",
"requirements": ["aranet4==2.4.0"]
"requirements": ["aranet4==2.5.0"]
}
@@ -22,6 +22,7 @@ from homeassistant.components.sensor import (
)
from homeassistant.const import (
ATTR_MANUFACTURER,
ATTR_MODEL,
ATTR_NAME,
ATTR_SW_VERSION,
CONCENTRATION_PARTS_PER_MILLION,
@@ -142,6 +143,7 @@ def _sensor_device_info_to_hass(
if adv.readings and adv.readings.name:
hass_device_info[ATTR_NAME] = adv.readings.name
hass_device_info[ATTR_MANUFACTURER] = ARANET_MANUFACTURER_NAME
hass_device_info[ATTR_MODEL] = adv.readings.type.model
if adv.manufacturer_data:
hass_device_info[ATTR_SW_VERSION] = str(adv.manufacturer_data.version)
return hass_device_info
@@ -9,10 +9,10 @@ from arcam.fmj.client import Client, ConnectionFailed
from arcam.fmj.utils import get_uniqueid_from_host, get_uniqueid_from_udn
import voluptuous as vol
from homeassistant.components import ssdp
from homeassistant.config_entries import ConfigFlow, ConfigFlowResult
from homeassistant.const import CONF_HOST, CONF_PORT
from homeassistant.helpers.aiohttp_client import async_get_clientsession
from homeassistant.helpers.service_info.ssdp import ATTR_UPNP_UDN, SsdpServiceInfo
from .const import DEFAULT_NAME, DEFAULT_PORT, DOMAIN
@@ -88,12 +88,12 @@ class ArcamFmjFlowHandler(ConfigFlow, domain=DOMAIN):
)
async def async_step_ssdp(
self, discovery_info: ssdp.SsdpServiceInfo
self, discovery_info: SsdpServiceInfo
) -> ConfigFlowResult:
"""Handle a discovered device."""
host = str(urlparse(discovery_info.ssdp_location).hostname)
port = DEFAULT_PORT
uuid = get_uniqueid_from_udn(discovery_info.upnp[ssdp.ATTR_UPNP_UDN])
uuid = get_uniqueid_from_udn(discovery_info.upnp[ATTR_UPNP_UDN])
if not uuid:
return self.async_abort(reason="cannot_connect")
@@ -90,7 +90,7 @@ class ArubaDeviceScanner(DeviceScanner):
"""Retrieve data from Aruba Access Point and return parsed result."""
connect = f"ssh {self.username}@{self.host} -o HostKeyAlgorithms=ssh-rsa"
ssh = pexpect.spawn(connect)
ssh: pexpect.spawn[str] = pexpect.spawn(connect, encoding="utf-8")
query = ssh.expect(
[
"password:",
@@ -125,12 +125,12 @@ class ArubaDeviceScanner(DeviceScanner):
ssh.expect("#")
ssh.sendline("show clients")
ssh.expect("#")
devices_result = ssh.before.split(b"\r\n")
devices_result = (ssh.before or "").splitlines()
ssh.sendline("exit")
devices: dict[str, dict[str, str]] = {}
for device in devices_result:
if match := _DEVICES_REGEX.search(device.decode("utf-8")):
if match := _DEVICES_REGEX.search(device):
devices[match.group("ip")] = {
"ip": match.group("ip"),
"mac": match.group("mac").upper(),

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