24668 Commits

Author SHA1 Message Date
Jan Bouwhuis
1d6ae8f03f
Merge branch 'dev' into mqtt-subentry-light 2025-04-13 22:11:16 +02:00
Jan Bouwhuis
7cf63d1985
Add transition and flash feature flags for MQTT JSON light (#142692) 2025-04-13 21:39:40 +02:00
Åke Strandberg
0b02b43b11
Add integration for Miele (#142498) 2025-04-13 21:09:41 +02:00
Simone Chemelli
b25a0e2272
Small cleanup for Vodafone Station (#142867) 2025-04-13 18:57:00 +02:00
Jan Bouwhuis
b517198773
Merge branch 'dev' into mqtt-subentry-light 2025-04-13 14:38:24 +02:00
jbouwh
cbb9673091 Remove option to use mireds for color temperature 2025-04-13 12:37:28 +00:00
Mathijs van de Nes
d6b4f1c95d
Ensure no ALPN is negotiated for SMTP (#142296) 2025-04-12 12:02:07 -10:00
Joost Lekkerkerker
cba0cf0609
Migrate Syncthru to runtime data (#142775) 2025-04-12 20:59:59 +02:00
Joost Lekkerkerker
ebe71a1a38
Add diagnostics support to Syncthru (#142776) 2025-04-12 20:22:12 +02:00
Joost Lekkerkerker
6feb9d4b4e
Add entity translations to Syncthru (#142774)
* Add entity translations to Syncthru

* Add entity translations to Syncthru

* Fix
2025-04-12 20:19:49 +02:00
Dionisis Toulatos
3489ea30dd
Fix MQTT device discovery when using node_id (#142784)
* Fix device discovery when using node_id

* tests

---------

Co-authored-by: jbouwh <jan@jbsoft.nl>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2025-04-12 19:30:06 +02:00
J. Diego Rodríguez Royo
eb19c7af32
Disable Home Connect appliance refresh when frequent disconnects are detected (#142615)
* Disable specific updates for an appliance when is done repeatedly

* Fix deprecation issues fix tests

* Fix message

* Avoid fetching appliance info also

* Apply suggestions

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

* Create specific RepairFlow for enabling appliance's updates

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-12 14:58:35 +02:00
Erik Montnemery
234c4c1958
Move backup backup onboarding API to an onboarding platform (#142713)
* Move backup backup onboarding API to an onboarding platform

* Move additional test from onboarding to backup

* Remove backup tests from onboarding
2025-04-12 09:41:54 +02:00
Robert Svensson
c18d96e2f5
UniFi redact WLAN password (#142767)
* Recact password key word in WLAN diagnostic data

* Fix testdata
2025-04-12 01:15:15 +03:00
Manu
b01eac3ba5
Fix error in recurrence calculation of Habitica integration (#142759)
Fix error in rrule calculation of Habitica integration
2025-04-11 19:39:40 +02:00
Simone Chemelli
a3341c4330
Add full test coverage for Comelit humidifier platform (#141852)
* Add full test coverage for Comelit humidifier platform

* clean

* update snapshot

* apply review comment
2025-04-11 18:23:03 +02:00
Allen Porter
ca07975ead
Fix Anthropic bug parsing a streaming response with no json (#142745) 2025-04-11 17:30:12 +02:00
Joost Lekkerkerker
7b78f6db17
Fix SmartThings gas meter (#142741) 2025-04-11 17:24:39 +02:00
Simone Chemelli
5816a24577
Cleanup snapshot call in tests (#142750) 2025-04-11 17:21:12 +02:00
Erik Montnemery
0105332476
Add WS command integration/wait (#142040)
* Add WS command integration/wait

* Add test

* Update homeassistant/components/websocket_api/commands.py

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

* Use helper setup.async_wait_component

* Add onboarding view

* Revert "Add onboarding view"

This reverts commit df3a1a05807ae18cac6455cf04ca0cd6bea31857.

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2025-04-11 16:09:15 +02:00
Erik Montnemery
4aca9cd66b
Move cloud onboarding API to an onboarding platform (#141978)
* Move cloud onboarding API to an onboarding platform

* Address review comments

* Add tests

* Move cloud onboarding tests to the cloud integration

* Address review comments

* Don't wait for platforms

* Add test

* Remove useless check for CLOUD_DATA
2025-04-11 16:02:27 +02:00
Martin Hjelmare
cd45c5d886
Avoid Z-Wave config entry unload in test teardown (#142732) 2025-04-11 16:37:47 +03:00
Erik Montnemery
3b437c9b84
Add onboarding view /api/onboarding/integration/wait (#142688) 2025-04-11 13:43:18 +02:00
Martin Hjelmare
af8ecdd48d
Improve Z-Wave reconfigure flow (#142475) 2025-04-11 12:15:11 +02:00
starkillerOG
16d9ccd423
Reolink migrate unique ID debugging (#142723)
* Filter out unexpected unique_ids

* correct

* Add test

* fix styling
2025-04-11 11:42:18 +02:00
Simone Chemelli
e1d223f726
Add exceptions translation to SamsungTV (#142406)
* Add exceptions translation to SmasungTV

* Update strings.json

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2025-04-11 11:32:19 +02:00
Jan Bouwhuis
32da8c52f7
Add test to assert different private key types are accepted and stored correctly in MQTT config flow (#142703) 2025-04-11 00:58:48 +02:00
Jan Bouwhuis
ea38639395
Validate MQTT device tracker location data before assigning (#141980)
* Validate MQTT device tracker location data before assigning

* Log warning for invalid gps_accuracy
2025-04-10 22:32:17 +02:00
Joost Lekkerkerker
bf0d2e9bd2
Extract Syncthru coordinator in separate file (#142620) 2025-04-10 21:24:38 +02:00
Joost Lekkerkerker
6fafafbed0
Improve Syncthru config flow tests (#142618) 2025-04-10 21:16:12 +02:00
Erik Montnemery
5a09847596
Add backup support to the hassio OS update entity (#142580)
* Add backup support to the hassio OS update entity

* Remove meaningless assert
2025-04-10 20:56:02 +02:00
Jan Bouwhuis
505dfcbcd9
Use shorthand attributes for MQTT device tracker entity (#142671) 2025-04-10 19:51:36 +02:00
Erik Montnemery
d4dbd76a0a
Revert "Add onboarding view /api/onboarding/integration/wait" (#142680)
This reverts commit 956cac8f1aa57950e4469669d4440951faf8b77c.
2025-04-10 19:15:54 +02:00
Erik Montnemery
eee6e8a2c3
Add WS command config_entries/flow/subscribe (#142459) 2025-04-10 16:58:46 +02:00
Abílio Costa
a26cdef427
Refactor Whirlpool sensor tests (#142437) 2025-04-10 15:47:28 +01:00
Yuxin Wang
844515787b
Fallback to config entry ID as unique ID when serialno is not available for APCUPSD (#130852) 2025-04-10 16:45:46 +02:00
Erik Montnemery
d5476a1da1
Store update settings in hassio store (#142526) 2025-04-10 11:55:07 +02:00
cnico
ea50bbeb11
Flipr - Removal of obsolete code. (#142504)
Removal of obsolete code.
2025-04-10 10:48:03 +02:00
Imeon-Energy
b51bb668c6
Add imeon inverter integration (#130958)
* Initial commit prototype with empty inverters

* Use modern methods and global variable for character strings

* Platform that get the value of the meter in an entity

* Add check if inverter already configured

* Add tests for config_flow

* Update "imeon_inverter_api" in manifest.json

* Update "imeon_inverter_api" in requirements_all.txt

* Remove async_setup, clean comments, use of const PLATFORM

* Use of global variable and remove configuration of device name

* Use of entry.data instead of user_input variable

* Remove services.yaml

* No quality scale

* Use of common string

* Add sensors, use of EntityDescription and '_attr_device_info'

* Remove name from config_flow tests

* Use sentence case and change integration from hub to device

* Check connection before add platform in config_flow

* Use of _async_setup and minor changes

* Improve sensor description

* Add quality_scale.yaml

* Update the quality_scale.json

* Add tests for host invalid, route invalid, exception and invalid auth

* Type more precisely 'DataUpdateCoordinator'

* Don't use 'self.data' directly in coordinator and minor corrections

* Complete full quality_scale.yaml

* Use of fixtures in the tests

* Add snapshot tests for sensors

* Refactor the try except and use serial as unique id

* Change API version

* Add test for sensor

* Mock the api to generate the snapshot

* New type for async_add_entries

* Except timeout error for get_serial

* Add test for get_serial timeout error

* Move store data out of the try

* Use sentence case

* Use of fixtures

* Use separates fixtures

* Mock the api

* Put sensors fake data in json fixture file

* Use of a const interval, remove except timeout, enhance lisibility

* Try to use same fixture in test_config_flow

* Try use same fixture for all mock of inverter

* Modify the fixture in the context manager, correct the tests

* Fixture return mock.__aenter__ directly

* Adjust code clarity

* Bring all tests to either ABORT or CREATE_ENTRY

* Make the try except more concise

* Synthetize exception tests into one

* Add code clarity

* Nitpick with the tests

* Use unique id sensor

* Log an error on unknown error

* Remove useless comments, disable always_update and better use of timeout

* Adjust units, set the model and software version

* Set full name for Battery SOC and use ip instead of url

* Use of host instead of IP

* Fix the unit of economy factor

* Reduce mornitoring data display precision and update snapshots

* Remove unused variable HUBs

* Fix device info

* Set address label 'Host or IP'

* Fix the config_flow tests

* Re evaluate the quality_scale

* Use of 'host' instead of 'address'

* Make inverter discoverable by ssdp

* Add test ssdp configuration already exist

* Add exemption in quality scale

* Test abort ssdp if serial is unknown

* Handle update error

* Raise other exceptions

* Handle ClientError and ValueError from the api

* Update homeassistant/components/imeon_inverter/quality_scale.yaml

---------

Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Josef Zweck <josef@zweck.dev>
2025-04-10 08:25:35 +02:00
Abílio Costa
dd97d5bc7e
Move Whirlpool test and clean unused code (#142617) 2025-04-10 00:59:00 +02:00
Maarten Staa
9fe306f056
Add support for air purifiers in HomeKit (#142467)
* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Refactor to make AirPurifier class extend Fan.

* Ensure all chars are added before creating service

* Add support for switching automatic mode.

* Add test for auto/manual switch

* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Refactor to make AirPurifier class extend Fan.

* Ensure all chars are added before creating service

* Add support for switching automatic mode.

* Add test for auto/manual switch

* Add support for air purifier type in HomeKit.

Any fan and PM2.5 in the same device will be treated as an air purifier.

type_air_purifiers.py heavily based on type_fans.py -
I tried extending type_fans.py but this looked better to me.

* Improve fan config: allow setting fan type (fan or air purifier)

Be more explicit than assuming a fan is an air purifier if it has a PM2.5 sensor. Set defaults based on the presence of sensors.

* Fix return type annotation for fan/air purifier create_services

* Allow linking air purifier filter level/change indicator

* Remove no longer needed if statement in fan init

* Fix up types and clean up code

* Update homekit tests to account for air purifiers

* Fix pylint errors

* Fix mypy errors

* Improve type annotations

* Improve readability of auto preset mode discovery

* Test air purifier with 'Auto' preset mode

* Handle case with a single preset mode

* Test air purifier edge cases: state updates to same value, and removed linked entities

* Don't create 'auto mode' switch for air purifiers

This is already exposed as a target mode on the air purifier service itself

* Handle unavailable states in air purifier

Also don't remove device class when updating state in test

* Reduce branching in air purifier test

* Split up air purifier tests for with and without auto presets, to reduce branching

* Handle unavailable states in air purifier more explicitly

* Use constant for ignored state values

* Use a set for ignored_states

* Update tests/components/homekit/test_type_air_purifiers.py

---------

Co-authored-by: Andrew Kurowski <62596884+ak6i@users.noreply.github.com>
Co-authored-by: J. Nick Koston <nick+github@koston.org>
Co-authored-by: J. Nick Koston <nick@koston.org>
2025-04-09 10:20:21 -10:00
Christopher Fenner
76015740f8
Fix Quickmode handling in ViCare integration (#142561)
* only check quickmode if supported

* update snapshot

* revert
2025-04-09 20:36:41 +02:00
Simone Chemelli
816edb66c7
Add full test coverage for Fritz config_flow (#142418) 2025-04-09 20:22:26 +02:00
Joost Lekkerkerker
ba629fbddb
Add Syncthru platform tests (#142596) 2025-04-09 12:00:56 -05:00
Erwin Douna
b058b2574f
SMA add DHCP discovery (#135843)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2025-04-09 16:24:30 +02:00
Erik Montnemery
3ca1f07cc4
Remove meaningless asserts in some hassio tests (#142583) 2025-04-09 12:13:56 +02:00
Maciej Bieniek
06a2de4d1c
Fix Shelly initialization if device runs large script (#142487)
* Don't check the whole script to see if it generates events

* Fix tests

---------

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2025-04-08 20:53:44 -10:00
Joost Lekkerkerker
528ca49368
Improve Syncthru tests (#142338) 2025-04-08 23:55:00 +02:00
Abílio Costa
f872dc8948
Use base entity class for Whirlpool climate (#142548)
* Use base entity class for Whirlpool climate

* Set model_id instead of model
2025-04-09 00:39:45 +03:00
Norbert Rittel
6c1f9e39c4
Improve friendly names of rf_strength and wifi_strength in netatmo (#141673)
* Improve friendly names of `rf_strength` and `wifi_strength` in `netatmo`

- Replace "Radio" with "RF strength" for `rf_strength`
- Replace "Wi-Fi" with "Wi-Fi strength" for `wifi_strength`

* Update test_sensor.ambr

* Update test_sensor.py

* Update test_sensor.py

* Update test_sensor.ambr
2025-04-08 18:16:20 +02:00