Commit Graph

18215 Commits (55b2d1a00c4dab390cc749eef2ed0f4a0e6eedc0)

Author SHA1 Message Date
J. Nick Koston 01a6b85a35
Avoid creating system monitor disk sensors for non-dirs (#111695)
Avoid creating system monitor sensors for non-dirs

Currently we create sensors for /etc/hosts, /etc/asound.conf, since
they are bind mounts in the container. These all have to have
their own coordinator
2024-02-28 09:31:02 +01:00
Joost Lekkerkerker cd9219d4c6
Add icon translations to GDACS (#111611)
* Add icon translations to GDACS

* Add icon translations to GDACS

* Add icon translations to GDACS
2024-02-28 08:49:58 +01:00
Joost Lekkerkerker 3077039470
Add icon translations to Glances (#111615)
* Add icon translations to Glances

* Add icon translations to Glances
2024-02-28 08:49:47 +01:00
Jan-Philipp Benecke 4e4345f04e
Drop `@bind_hass` use from hassio component (#111522)
* Drop `@bind_hass` use from hassio component

* Add comment why we import locally

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-28 00:25:46 +01:00
J. Nick Koston 6abb8ae273
Migrate setup to use eager tasks (#111619) 2024-02-27 12:43:32 -10:00
Joost Lekkerkerker 9cf874d4a0
Add icon translations to Energyzero (#111513)
* Add icon translations to Energyzero

* Add icon translations to Energyzero
2024-02-27 23:41:07 +01:00
J. Nick Koston c4d719a7cf
Use eager_start for background service call tasks (#111620) 2024-02-27 12:06:32 -10:00
Jc2k cf849664ba
Cleanup BLE-only controls when migrating HomeKit BLE device to Thread (#110334)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-27 12:02:27 -10:00
Arie Catsman d8d44069b5
Add Grid import export to Enphase Envoy (#110884)
* Add Grid import export to enphase Envoy

* Update snapshot for labels dict element in entity registry

* use identity check for enum

* Revert use of identity check, didn't add entities

* Implement review feedback for tests

* ct phase sensors disabled by default

* import PHASENAMES from pyenphase

* Update tests/components/enphase_envoy/test_sensor.py

* Update tests/components/enphase_envoy/test_sensor.py

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-27 16:43:43 -05:00
Shay Levy 2a8e5ceea9
Fix Switcher test update CI failure (#111667) 2024-02-27 10:32:40 -10:00
J. Nick Koston a6f4f6eae8
Use eager task creation to add entities to entity platform (#111553) 2024-02-27 09:54:51 -10:00
J. Nick Koston e25b097376
Import bluetooth in the executor to avoid blocking the event loop (#111596) 2024-02-27 07:05:39 -10:00
Joakim Sørensen f622ddef47
Move backup/* WS commands to the backup integration (#111636)
Revert "Revert "Move backup/* WS commands to the backup integration" (#111136)"

This reverts commit 8f83426895.
2024-02-27 11:56:07 -05:00
Michael Hansen 890e651bdd
Avoid race condition with UDP voice server starting in ESPHome (#111644)
* Avoid race condition with UDP server starting

* Fix test
2024-02-27 10:54:56 -06:00
Martin Hjelmare 00d11ff68e
Fix rfxtrx flaky reconnect test (#111635) 2024-02-27 16:13:08 +01:00
Robert Resch d7fb949994
Deprecate mailbox platform (#110930) 2024-02-27 13:50:02 +01:00
Erik Montnemery 8fb542917b
Deprecate the Ambiclimate integration (#111627)
Deprecate Ambiclimate integration
2024-02-27 13:45:12 +01:00
Brenan Kelley 458c5ae657
Add statistics keep_last_sample option (#88655)
* introduce preserve last value option

* improve comments

* add unit test

* skip scheduling purge on a preserved value

* do not schedule sensor update if preserving last value

* fix unit test to use new mock time pattern

pattern introduced in https://github.com/home-assistant/core/pull/93499

* rename preserve_last_val to keep_last_sample

* add keep_last_sample config validation
2024-02-27 13:17:05 +01:00
David F. Mulcahey 5d1b78a29d
Add device list to ZHA config entry diagnostics (#111549)
* Add device list to ZHA  config entry diagnostics

* add logical type
2024-02-27 06:44:26 -05:00
Erik Montnemery 413b74a2e0
Deprecate Logi Circle integration (#111491)
* Deprecate Logi Circle integration

* Update homeassistant/components/logi_circle/__init__.py

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

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-27 11:36:36 +01:00
Robert Resch 3703698f77
Bump deebot-client to 6.0.2 (#111507) 2024-02-27 09:39:49 +01:00
J. Nick Koston d812507aeb
Refactor eafm to avoid creating entities in the coordinator update (#111601) 2024-02-26 21:08:28 -10:00
J. Nick Koston d5e1934942
Use an eager task in the update coordinator scheduled refresh (#111570)
* Use an eager task in the update coordinator scheduled refresh

We have a lot of places that will not suspend because the refresh function
decides it does not need to update. Currently these have to be scheduled
on the event loop even though they are a noop.

Since _handle_refresh_interval is subclassed in some integrations, I created
a dunder wrapper function to avoid integraions subclassing it

* fix time fires outside of patch
2024-02-26 23:31:08 -05:00
Michael Hansen f6622ea8e0
Add speech-to-text cooldown for local wake word (#108806)
* Deconflict based on wake word

* Undo test

* Make wake up key a string, rename error

* Update snapshot

* Change to "wake word phrase" and normalize

* Move normalization into the wake provider

* Working on describe

* Use satellite info to resolve wake word phrase

* Add test for wake word phrase

* Match phrase with model name in wake word provider

* Check model id

* Use one constant wake word cooldown

* Update homeassistant/components/assist_pipeline/error.py

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

* Fix wake word tests

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-26 20:35:19 -05:00
Joost Lekkerkerker 9e2db708b9
Add icon translations to Fritz (#111547)
* Add icon translations to Fritz

* Add icon translations to Fritz
2024-02-27 00:17:15 +01:00
Niels Perfors 951743551a
Add Tado add meter readings service (#111552) 2024-02-26 23:47:01 +01:00
Jeef bc20e7900c
WeatherFlow Forecast (REST API) (#106615)
* rebase off dev

* Update homeassistant/components/weatherflow_cloud/const.py

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

* Addressing 1st round of PR Comments

* Update homeassistant/components/weatherflow_cloud/config_flow.py

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

* addressing PR Comments

* fixing last comment that i can see

* Update homeassistant/components/weatherflow_cloud/coordinator.py

OOPS

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

* Update homeassistant/components/weatherflow_cloud/weather.py

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* switching to station id

* Update homeassistant/components/weatherflow_cloud/strings.json

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

* addressing PR

* Updated tests to be better

* Updated tests accordingly

* REAuth flow and tests added

* Update homeassistant/components/weatherflow_cloud/strings.json

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

* Update homeassistant/components/weatherflow_cloud/coordinator.py

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

* Addressing PR comments

* Apply suggestions from code review

* ruff fix

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-26 22:40:21 +01:00
Jonas Fors Lellky d44e389844
Add hvac_action to flexit_bacnet climate entity (#110498)
* Add hvac_action to flexit_bacnet climate entity

Also add extra state attributes

* Remove extra state attrs

* Change hvac action to heating
2024-02-26 20:22:25 +01:00
Erik Montnemery 730fe760cf
Remove JuiceNet integration (#111477)
* Remove JuiceNet integration

* Adjust issue

* Add test

* Fix stale DOMAIN constant
2024-02-26 21:08:36 +02:00
Joakim Plate a55c56a207
Update rfxtrx library to handle connection retries (#111366)
Upgrade rfxtrx library to one that leaves reconnection to home assistant and handle loss of connection by reloading the integration.

https://github.com/Danielhiversen/pyRFXtrx/releases/tag/0.31.0
2024-02-26 19:30:22 +01:00
On Freund 979fe57f7f
Image entity media source (#104743)
* Image entity media source

* MJPEG streaming

* Update on change rather than fixed interval

* Only send boundary twice

* return when image has no data

* Write each frame twice

* Use friendly name when browsing

* Fix sending of double frame

* Initial image proxy test

* Improve proxy stream test

* Refactor

* Code review fixes
2024-02-26 19:04:25 +01:00
J. Nick Koston 4624c859e1
Use discovery flow helper for hardware integrations (#111437)
* Use discovery flow helper for hardware integrations

The discovery flow helper defers loading discovered integrations until after startup
to improve startup reliability.

* Use discovery flow helper for hardware integrations

The discovery flow helper defers loading discovered integrations until after startup
to improve startup reliability. Since hardware was not listed in as a
discovery integration, the notification for new discoveries was missing.
2024-02-26 12:04:33 -05:00
J. Nick Koston 1d4e82bd3d
Fix race in dlna_dmr test (#111428)
The entity was removed before the entity registry could update it

```
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity.py", line 1482, in _async_process_registry_update_or_remove
    assert registry_entry is not None
AssertionError

```
2024-02-26 17:11:50 +01:00
Sid 174ebe70d7
Add webmin integration (#106976)
* add webmin integration 1

* refactor, add memory sensors

* Fix docstring

* addressed reviews

* address reviews

* address reviews

* use translation strings for sensors

* add async_abort_entries_match

* apply review comments

* address reviews

* add async_set_unique_id

* add identifiers to device_info

* disable all sensors by default

* move icons to icons.json

* show Faults when given from server in config flow

* add test for Fault

* Apply review suggestions

* Create helper functions for webmin instance and sorted mac addresses

* fix tests
2024-02-26 17:10:11 +01:00
Aidan Timson 9f77e275e9
Add title to reauthenticate integration issue (#111275)
* Add title to reauthenticate integration issue

* Fix translation placeholder in test

* Update translation placeholders in test_init.py

* Update integration reauthentication message

* Update string
2024-02-26 08:19:37 -05:00
Erik Montnemery 9b91da23c4
Improve logging of google_assistant messages (#110637)
* Improve logging of google_assistant messages

* Add tests

* Add test
2024-02-26 11:43:31 +01:00
Jan Bouwhuis 1b2e669302
Improve handling mqtt command template exceptions (#110499)
* Improve handling mqtt command template exceptions

* Fix test

* Cleanup stale exception handler

* Throw on topic template exception
2024-02-26 11:04:55 +01:00
Jan Bouwhuis da09b6174d
Add validation to water_heater set_operation mode at entity component (#111168)
* Add validation to water_heater set_operation mode at entity component

* Add final decorator
2024-02-26 11:02:39 +01:00
Christophe Gagnier 0d4728e1c6
Add TechnoVE auto charge switch (#109093)
* Add binary sensors to TechnoVE integration

* Add unit tests for TechnoVE binary sensors

* Implement PR feedback for TechnoVE

* Limit to appropriate sensors in TechnoVE tests

* Removed leftover code

* Implement feedback in TechnoVE PR #108938

* Add auto-charge switch to TechnoVE

* Improve TechnoVE test_switches to be consistent with other platforms

* Regenerate test_switch.ambr snapshot

* Add binary sensors to TechnoVE integration

* Add unit tests for TechnoVE binary sensors

* Implement PR feedback for TechnoVE

* Limit to appropriate sensors in TechnoVE tests

* Implement feedback in TechnoVE PR #108938

* Add auto-charge switch to TechnoVE

* Apply suggestions from code review

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

* Fix conflict merge issue

* Implement feedback from TechnoVE PR #109093

* Use TechnoVESwitchDescription

* Remove None from is_on in TechnoVE switches

* Update homeassistant/components/technove/strings.json

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

* Remove unneeded code.

* Update test_switch.ambr

* Update TechnoVE switch test similar to Flexit_bacnet

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-26 10:36:40 +01:00
Steve HOLWEG 4a128f1225
Return group unit of measurement when device_class is None (#110973)
* Groups: Return units when device_class is None

* Fixes

* Mods

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-25 22:44:05 -05:00
dougiteixeira 34e9c29ef2
Esphome text sensor device class (#111057) 2024-02-25 16:56:52 -10:00
Álvaro Fernández Rojas b3e10198dd
Enable CONF_STATION_UPDATES by default on AEMET (#111214)
* aemet: set CONF_STATION_UPDATES default to True

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

* tests: aemet: check CONF_STATION_UPDATES default form value

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

* Revert "tests: aemet: check CONF_STATION_UPDATES default form value"

This reverts commit f0f95da68f.

* tests: aemet: parametriz test_form_options

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-25 23:23:18 +02:00
wittypluck 716d8f8a00
Fix Glances translation keys on CPU load, Memory use, Swap use (#111401)
Fix translation keys on CPU load, Memory use, Swap use
2024-02-25 21:25:28 +01:00
J. Nick Koston ab68a26000
Fix flakey utility meter test (#111400)
The test tooling would cancel setup at teardown because
it was still setting up

https://github.com/home-assistant/core/actions/runs/8039593463/job/21956908225?pr=111336
2024-02-25 20:21:09 +01:00
Joost Lekkerkerker 9afa154271
Use device class icon in cpu-speed (#111360)
* Use device class icon in cpu-speed

* Use device class icon in cpu-speed
2024-02-25 14:06:54 +01:00
Joost Lekkerkerker 4229f988e2
Add icon translations to aosmith (#111340)
* Add icon translations to aosmith

* Add icon translations to aosmith
2024-02-25 10:42:41 +01:00
MarkGodwin d004011d41
Bump tplink-omada-client to 1.3.11 (#111273)
Bump TP-Link Omada API
2024-02-24 23:33:13 +01:00
G Johansson 5073842514
Fix sql integration no recorder (#111263) 2024-02-24 22:40:49 +01:00
Åke Strandberg cd46cc6e80
Add myuplink number platform (#111154)
* Add number platform

* Use constant for SERVICE_SET_VALUE
2024-02-24 22:39:14 +01:00
Jan-Philipp Benecke 076ae22fdd
Freeze time in aemet diagnostics test (#111308) 2024-02-24 16:26:16 -05:00
Robert Svensson efc89cd34f
Unifi websocket manager (#111041)
* Move hub into .hub.hub

* Move websocket to own module

* Minor shuffle
2024-02-24 16:20:59 -05:00
Jan-Philipp Benecke d796085923
Bump pydiscovergy to 3.0.0 (#111305) 2024-02-24 22:07:46 +01:00
G Johansson c45cae3665
Remove obsolete entities from System Monitor automatically (#111231)
* Remove obsolete entities from System Monitor automatically

* callback
2024-02-24 20:50:53 +01:00
Minims 597118d584
Add ECO temp to Generic Thermostat (#110471)
feat: add ECO temp to Generic Thermostat.
2024-02-24 20:17:22 +01:00
G Johansson 777428c36d
Add diagnostics to System Monitor (#111291)
* Add diagnostics to System Monitor

* Fix
2024-02-24 20:11:11 +01:00
Álvaro Fernández Rojas 57d169582d
Add diagnostics support for AEMET (#111218)
aemet: add diagnostics support

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 20:08:50 +01:00
Álvaro Fernández Rojas 766596abdc
Add Airzone Cloud Air Quality zone binary sensors (#106573)
* airzone_cloud: add Air Quality binary sensor

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

* airzone_cloud: binary_sensor: rename Air Quality

Add "active" to indicate status.

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 08:41:12 -05:00
Álvaro Fernández Rojas d3d6870c04
Add Airzone Cloud Air Quality zone sensors (#106571)
* airzone-cloud: add Air Quality sensors

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

* tests: airzone_cloud: add missing AQI test

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-24 08:39:53 -05:00
Joakim Sørensen 79572c0a5d
Subscribe to Traccar Server events (#111262)
* Subscribe to Traccar Server events

* No need to unsubscribe on error

* typo

* rename _attrs

* arg type

* reorder return type

* more spesific

* Update stale docstring
2024-02-24 12:35:32 +01:00
J. Nick Koston 5b8591ec7e
Avoid reschedule churn in Storage.async_delay_save (#111091)
* Avoid circular import in Storage.async_delay_save

We call Storage.async_delay_save for every entity being added or removed
from the registry. The late import took more time than everything else
in the function.

* Avoid reschedule churn in Storage.async_delay_save

When we are adding or removing entities we will call async_delay_save
quite often which has to add and remove a TimerHandle on the event loop
which can add up when there are a lot of registry items changing.

If the timer handle still has 80% of the time remaining on it
we will avoid resceduling and let it fire at the time the
original async_delay_save call was made. This ensures we
do not force the event loop to rebuild its heapq because
too many timer handlers were cancelled at once

* div0

* add coverage for 0 since we had none

* fix bad conflict

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks

* tweaks

* more test fixes

* mqtt tests rely on event loop overhead
2024-02-24 08:46:00 +01:00
J. Nick Koston d9addc45f9
Avoid scheduling a task to add each entity when not using update_before_add (#110951)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-23 10:49:26 -10:00
G Johansson 9e46c2e2b3
Isolate systemmonitor from psutil shared state (#111110)
* Isolate systemmonitor from psutil shared state

* Mods

* typing

* Fix tests

* Fix read temp issue

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-23 20:53:48 +01:00
J. Nick Koston b6b5b1f788
Fix race in ESPHome entity test (#111179)
This test relied on the event loop overhead. Change it
to listen for the state to change instead
2024-02-23 13:34:46 -05:00
David F. Mulcahey d485e8967b
Add device counter entities to ZHA (#111175)
* Add counter entities to the ZHA coordinator device

* rework to prepare for non coordinator device counters

* counter entity test

* update log lines

* disable by default
2024-02-23 13:22:47 -05:00
J. Nick Koston 59066c1770
Migrate zha to use Debouncer.async_schedule_call (#111103) 2024-02-23 07:28:23 -10:00
J. Nick Koston 68d1fbaadc
Fix race in openalpr_cloud tests (#111185)
The test would end before setup was finished and the setup
would get cancelled
2024-02-23 09:28:20 +01:00
J. Nick Koston 98a8714705
Improve error reporting in tplink config flow (#111166)
* Improve error reporting in tplink config flow

* coverage, fixes
2024-02-23 02:38:46 +01:00
Christopher Bailey ae60f59bed
Add metadata for UniFi Protect Media Source (#109389) 2024-02-22 14:44:16 -10:00
ollo69 f0f3773858
Add base class AndroidTVEntity to AndroidTV (#105945) 2024-02-22 12:38:38 -10:00
J. Nick Koston 32cd3ad862
Fix lingering timer in enphase_envoy test (#111165) 2024-02-22 12:33:44 -10:00
Maciej Bieniek bccd9bd21f
Bump `brother` library to version 4.0.0 (#111157)
* Bump library

* Update code to the new library version

* Improve diagnostics

* Fix tests

---------

Co-authored-by: Maciej Bieniek <478555+bieniu@users.noreply.github.com>
2024-02-22 23:27:24 +02:00
Joakim Sørensen 8f83426895
Revert "Move backup/* WS commands to the backup integration" (#111136)
Revert "Move backup/* WS commands to the backup integration (#110651)"

This reverts commit ec4e6c3a74.
2024-02-22 16:08:30 +01:00
Malte Franken 5f9d46205c
Bump georss-qld-bushfire-alert-client to 0.7 (#111075)
* bump georss-qld-bushfire-alert-client to 0.7

* fix tests
2024-02-22 12:58:54 +01:00
Álvaro Fernández Rojas b72d64a3dc
Disable AEMET legacy options (#107795)
* aemet: disable legacy options

This enables proper timezone handling:
- Atlantic/Canary for the Canary Islands.
- Europe/Madrid for the Iberian Peninsula.

Also provides daily data for the current day after AEMET stops providing the
full day interval, which is normally after midday (12:00).
This is a breaking change because with the previous behaviour the daily data
for the current day wasn't available after midday and now it will be.
What the integration library does to workaround this is to fallback to the
12-24 interval data if the the 00-24 is no longer provided by the API.

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

* Fix AEMET tests with v0.4.8

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-02-22 12:52:57 +01:00
Thomas55555 85be94e0a9
Add switch platform for husqvarna_automower (#110139)
* Add switch platform for husqvarna_automower

* Use RestrictedReasons const

* Typing

* Add snapshot testing

* Invert switch

* Test sucessfull servie calls

* Assert client mock calls

* Use getattr

* Update snapshot

* Add available property

* Add a new base class for control entities

* Make switch unavailabe if mower in error state

* Sort platforms

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-22 12:34:24 +01:00
Åke Strandberg c167001861
Add myuplink switch platform (#110810)
* Add switch platform

* Add mypulink switch platform

* Update tests according to review

* Address more review comments

* Adjust types

* More typing

* Fix typo

* Use constants in tests

* Revert constants

* Catch aiohttp.ClientError when API call fails

* Add test case for failed async_set_device_points call

* Test api failures for both toggle directions

* Use parametrize for testing switching
2024-02-22 11:27:46 +01:00
Joost Lekkerkerker 92c8c4b1ae
Ignore cloudhook already removed in mobile app (#111122) 2024-02-22 11:19:27 +01:00
Brett Adams 767fcd707f
Add wake up timeout to Teslemetry (#109037) 2024-02-22 10:50:44 +01:00
Michael 9348f99ce8
Bump roombapy to 1.6.12 (#110762)
* bump roombapy to 1.6.11

* Apply suggestions from code review

* "fix" tests (make them pydantic fiendly?)

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-02-22 10:39:53 +01:00
Joakim Sørensen ec4e6c3a74
Move backup/* WS commands to the backup integration (#110651)
* Move backup/* WS commands to the backup integration

* Call correct command

* Use debug for logging

* Remove assertion of hass.data for setup test

* parametrize token fixture
2024-02-22 10:25:38 +01:00
Thomas55555 6e91776d65
Add sensor platform for husqvarna_automower (#110410)
* Add sensor platform for husqvarna_automower

* Adress review comments

* Try to fix test

* Improve sensors

* Address review

* Adapt some values

* Add test

* Add test for cutting blade usage time

* Import TEST_MOWER_ID

* Use a parenthesis around the lambda and indent it so it's easier to distinguish the entity description parameters from the lambda
2024-02-22 09:26:38 +01:00
J. Nick Koston 5267e4f5db
Fix race in otbr config flow (#111044)
* fix otbr

* Update homeassistant/components/otbr/config_flow.py

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

* unique ids should not change

* handle missing unique id

* handle missing unique id

---------

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2024-02-21 22:02:44 -05:00
Paul Bottein 0eef449526
Add icon translations to Tessie (#111096) 2024-02-21 19:49:04 +01:00
J. Nick Koston d6fac87876
Avoid compressing application (tarfile) downloads from supervisor (#110224) 2024-02-21 12:45:47 -06:00
Åke Strandberg 2614d6fece
Add tests to myuplink binary_sensor (#110995) 2024-02-21 12:32:25 +01:00
Jan Rothkegel 05b23c2e7b
Replace Wolflink dependency with wolf_comm to support authentication via OpenID (#110249)
* Add OpenID authentication to wolflink integration

* Update wolf-comm to 0.0.2

* Upgrade wolf_comm to 0.0.3 + fix tests

* Version 0.0.4 of wolf_comm including LICENSE.txt

* Update requirements to wolf_comm 0.0.4

---------

Co-authored-by: Jan Rothkegel <jan.rothkegel@web.de>
2024-02-21 09:37:13 +01:00
Jan Bouwhuis c048b840fc
Do not directly call async_setup_entry in MQTT tests (#111010) 2024-02-21 07:47:30 +01:00
Christopher Bailey 7eb6614818
Guide users to migrate from Ubiquiti Cloud Accounts to local for UniFi Protect (#111018)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-20 23:32:47 -06:00
Christopher Bailey fb04df5392
Improve UniFi Protect re-auth (#110021)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-20 23:31:42 -06:00
J. Nick Koston da9d71cb6b
Fix race in automation test_extraction_functions (#111056) 2024-02-20 23:25:19 -06:00
Josef Zweck db77e73a76
Add calendar platform to La Marzocco (#108237)
* add calendar

* rename function

* remove device from test

* requested changes

* extend range

* fix async_get_events

* catch and test edge cases

* remove commented code

* rebase snapshot
2024-02-20 19:15:47 -08:00
Shay Levy c690a9df83
Fix Shelly RPC RSSI sensor removal (#111035) 2024-02-20 21:05:59 -06:00
J. Nick Koston 145c6163a4
Fix race in gardena_bluetooth config flow tests (#111042) 2024-02-20 16:08:06 -06:00
Brett Adams 5b00703ef7
Add presets to Advantage Air (#109485)
* Add presets

* Make hvac_modes dynamic

* Add supported features

* Fix set preset mode

* Add coverage

* Remove unused constants

* Remove the extra newline

* Add snapshot assertion to new test

* Add comments

* Use ServiceValidationError

* Test for ServiceValidationError

* Fix typo

* Refactor to use _handle_coordinator_update

* Remove preset_mode prop

* Apply suggestions from code review

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-20 22:00:52 +01:00
Federico D'Amico 93d6f0a780
Bump microBeesPy to 0.2.9 (#111006)
change library
2024-02-20 13:39:14 +01:00
Federico D'Amico ac926f9c64
Introduce actuator base entity to microBees (#111000)
* changed library imports and added sensors to coordinator and new entity

* revert library

* revert library
2024-02-20 11:55:36 +01:00
J. Nick Koston 6ed221de5d
Handle empty name in powerview config flow (#110969)
fixes

```
2024-02-19 13:51:58.128 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved:   File "/Users/bdraco/home-assistant/venv/bin/hass", line 8, in <module>
    sys.exit(main())
  File "/Users/bdraco/home-assistant/homeassistant/__main__.py", line 209, in main
    exit_code = runner.run(runtime_conf)
  File "/Users/bdraco/home-assistant/homeassistant/runner.py", line 188, in run
    return loop.run_until_complete(setup_and_run_hass(runtime_config))
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 673, in run_until_complete
    self.run_forever()
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 640, in run_forever
    self._run_once()
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/base_events.py", line 1965, in _run_once
    handle._run()
  File "/opt/homebrew/Cellar/python@3.12/3.12.1/Frameworks/Python.framework/Versions/3.12/lib/python3.12/asyncio/events.py", line 84, in _run
    self._context.run(self._callback, *self._args)
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 610, in async_add_entities
    await add_func(coros, entities, timeout)
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 561, in _async_add_entities
    await coro
  File "/Users/bdraco/home-assistant/homeassistant/helpers/entity_platform.py", line 652, in _async_add_entity
    entity.add_to_platform_start(
  File "/Users/bdraco/home-assistant/homeassistant/components/device_tracker/config_entry.py", line 356, in add_to_platform_start
    _async_connected_device_registered(
  File "/Users/bdraco/home-assistant/homeassistant/components/device_tracker/config_entry.py", line 94, in _async_connected_device_registered
    async_dispatcher_send(
  File "/Users/bdraco/home-assistant/homeassistant/helpers/dispatcher.py", line 227, in async_dispatcher_send
    hass.async_run_hass_job(job, *args)
  File "/Users/bdraco/home-assistant/homeassistant/core.py", line 701, in async_run_hass_job
    hassjob.target(*args)
  File "/Users/bdraco/home-assistant/homeassistant/util/logging.py", line 133, in _callback_wrapper
    func(*args)
  File "/Users/bdraco/home-assistant/homeassistant/components/dhcp/__init__.py", line 392, in _async_process_device_data
    self.async_process_client(ip_address, hostname, mac_address)
  File "/Users/bdraco/home-assistant/homeassistant/components/dhcp/__init__.py", line 268, in async_process_client
    discovery_flow.async_create_flow(
  File "/Users/bdraco/home-assistant/homeassistant/helpers/discovery_flow.py", line 32, in async_create_flow
    hass.async_create_task(init_coro, f"discovery flow {domain} {context}")
  File "/Users/bdraco/home-assistant/homeassistant/core.py", line 634, in async_create_task
    task = self.loop.create_task(target, name=name)
Traceback (most recent call last):
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 1017, in async_init
    flow, result = await self._async_init(flow_id, handler, context, data)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/config_entries.py", line 1047, in _async_init
    result = await self._async_handle_step(flow, flow.init_step, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/data_entry_flow.py", line 501, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/hunterdouglas_powerview/config_flow.py", line 127, in async_step_dhcp
    return await self.async_step_discovery_confirm()
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/bdraco/home-assistant/homeassistant/components/hunterdouglas_powerview/config_flow.py", line 152, in async_step_discovery_confirm
    assert self.discovered_ip and self.discovered_name
AssertionError
```
2024-02-20 10:41:38 +01:00
Robert Svensson 2f026ca963
Unifi rename controller to hub (#110976)
* Rename controller.py to hub.py

* Rename UniFiController to UnifiHub

* Rename controller instances into hub

* Rename controller to hub in tests

* Rename aiounifi Controller references to api

* Update strings

* Rename test_controller test_hub

* Narrow scope of test_remove_sensors
2024-02-20 08:51:22 +01:00
Mr. Bubbles 2b3f5319d6
Bump bring-api to 0.3.1 (#110769)
* bump bring-api

* unpinned dependencies
2024-02-20 08:46:02 +01:00
Michael Hansen ec4bd9a421
Add new intents for cover, valve, vacuum, and media player (#110757)
* Add valve to HassTurnOn/Off

* Add set position for valves

* Add set position to covers

* Add HassTurnOn/Off for vacuums

* Add media player intents

* Split out vacuum intents

* Address comments

* Extra test
2024-02-19 22:28:42 -05:00
J. Nick Koston 015f9cdb35
Fix failing tessie tests (#110980) 2024-02-19 20:45:07 -06:00
Åke Strandberg 230ac417c0
Add check for myuplink startup ClientError (#110926)
* Raise ConfigEntryNotReady if appropriate

* Catchin exceptions during startup

* Change expected_state to SETUP_ERROR
2024-02-20 02:17:35 +01:00
Brett Adams 61766c0e59
Fix set_temperature in Tessie climate platform (#110445)
* HVAC_MODE support for set_temperature

* Fix import
2024-02-19 21:52:59 +01:00
Brett Adams 980413c57f
Add new range sensors to Tessie (#110446)
* Add new sensors

* Fix tests
2024-02-19 21:50:20 +01:00
Jan Bouwhuis f4fd3633b4
Improve timing mqtt integration discovery test (#110960)
* Improve timing mqtt integration discovery test

* Remove condition
2024-02-19 20:16:06 +01:00
Marco Lettieri 3a4c6fc7f3
Add microBees integration (#99573)
* Create a new homeassistan integration for microBees

* black --fast homeassistant tests

* Switch platform

* rename folder

* rename folder

* Update owners

* aiohttp removed in favor of hass

* Update config_flow.py

* Update __init__.py

* Update const.py

* Update manifest.json

* Update string.json

* Update servicesMicrobees.py

* Update switch.py

* Update __init__.py

* Update it.json

* Create a new homeassistan integration for microBees

* black --fast homeassistant tests

* Switch platform

* rename folder

* rename folder

* Update owners

* aiohttp removed in favor of hass

* Update config_flow.py

* Update __init__.py

* Update const.py

* Update manifest.json

* Update string.json

* Update servicesMicrobees.py

* Update switch.py

* Update __init__.py

* Update it.json

* fixes review

* fixes review

* fixes review

* pyproject.toml

* Update package_constraints.txt

* fixes review

* bug fixes

* bug fixes

* delete microbees connector

* add other productID in switch

* added coordinator and enanchments

* added coordinator and enanchments

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* fixes from suggestions

* add test

* add test

* add test

* add test

* requested commit

* requested commit

* requested commit

* requested commit

* reverting .strict-typing and added microbees to .coveragerc

* remove log

* remove log

* remove log

* remove log

* add test for microbeesExeption and Exeption

* add test for microbeesExeption and Exeption

* add test for microbeesException and Exception

* add test for microbeesException and Exception

* add test for microbeesException and Exception

---------

Co-authored-by: FedDam <noceracity@gmail.com>
Co-authored-by: Federico D'Amico <48856240+FedDam@users.noreply.github.com>
2024-02-19 15:12:03 +01:00
J. Nick Koston b349a466ba
Fix concurrent reloads in yeelight tests (#110911) 2024-02-19 07:37:22 -06:00
Jevgeni Kiski 2250baab21
Update vallox_websocket_api to 5.0.2 (#110752)
Co-authored-by: Sebastian Lövdahl <slovdahl@hibox.fi>
2024-02-19 14:36:51 +01:00
Franck Nijhof e0a9dcd996
Add label registry (#110821) 2024-02-19 11:59:08 +01:00
J. Nick Koston fd1f712d67
Bump esphome dependencies (#110892) 2024-02-19 10:38:28 +01:00
J. Nick Koston 136a31e4bc
Avoid creating tasks to run homekit accessories (#110895) 2024-02-19 10:36:54 +01:00
Marc Mueller a21d65d025
Fix cloud test RuntimeWarning (#110909) 2024-02-19 10:09:59 +01:00
J. Nick Koston 764e628394
Add missing async_block_till_done to github config flow tests (#110913) 2024-02-19 09:58:57 +01:00
J. Nick Koston 6fc764330f
Fix steamist not setting unique id when discovered in user flow (#110915) 2024-02-19 09:58:32 +01:00
J. Nick Koston a2bd59ab3b
Fix switcher_kis tests not holding patch while calling async_block_till_done (#110916) 2024-02-19 09:58:09 +01:00
J. Nick Koston 19cf80d5c5
Fix homekit_controller test race (#110917) 2024-02-19 08:42:17 +00:00
Chris Caron 31ce43212a
Allow loading of more then 1 defined Apprise URL (#110868) 2024-02-19 09:29:26 +01:00
J. Nick Koston 88b92ff2a8
Narrow bosch_shc patch target in config flow tests (#110922) 2024-02-19 09:24:44 +01:00
J. Nick Koston b35d7a348b
Fix mqtt discovery subscribe unsubscribe test with one less task (#110914)
This test currently relies on event loop overhead and since #110899
will remove another task in the config entry init flow, it needs
another async_block_till_done. In the future it should be refactored
to have better synchronization without having to rely on iterations
of the event loop.
2024-02-19 07:36:32 +01:00
Lenn 3275b28e2a
Fix Motionblinds brand name consistency (#110222) 2024-02-19 00:04:57 +01:00
Jan-Philipp Benecke 22e62f42e6
Use entity & device registry fixtures in unifi tests (#110889) 2024-02-18 23:47:10 +01:00
Jan-Philipp Benecke 85587f995b
Use entity registry fixture in octoprint tests (#110887) 2024-02-18 20:55:12 +01:00
J. Nick Koston fdd45189ca
Fix trigger attachment race in conversation tests (#110869) 2024-02-18 20:13:41 +01:00
On Freund e879ab0eef
Show WebRTC cameras that also support HLS in the media browser (#108796)
* Show WebRTC cameras in the media browser

* Only show webrtc cameras with source in the browser

* Address code review

* Refactor BrowseMediaSource creation

* Refactor

* Address code review
2024-02-18 10:12:08 -08:00
Jc2k 8fa347fb4c
Add Identify device class to homekit_controller (#110878) 2024-02-18 12:05:19 -06:00
J. Nick Koston bd4f8e0cc0
Fix races in ESPHome manager tests (#110867) 2024-02-18 17:06:57 +01:00
Jan Bouwhuis addc02fa86
Revert "Set up smtp integration via the UI" (#110862)
Revert "Set up smtp integration via the UI (#110817)"

This reverts commit 66a31407f9.
2024-02-18 16:21:27 +01:00
Jan Bouwhuis 66a31407f9
Set up smtp integration via the UI (#110817)
* Set up smtp integration via the UI

* Update homeassistant/components/smtp/config_flow.py

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

* Update homeassistant/components/smtp/notify.py

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

* Update homeassistant/components/smtp/notify.py

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

* Update homeassistant/components/smtp/notify.py

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

* Update homeassistant/components/smtp/notify.py

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

* ruff

---------

Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
Co-authored-by: Jan-Philipp Benecke <jan-philipp@bnck.me>
2024-02-18 13:20:45 +01:00
Allen Porter babb436512
Fix local todo list persistence for due dates (#110830)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-18 12:59:50 +01:00
J. Nick Koston def6c5c21c
Refactor integration startup time tracking to reduce overhead (#110136)
* Refactor integration startup time tracking to reduce overhead

- Use monotonic time for watching integration startup time as it avoids incorrect values if time moves backwards because of ntp during startup and reduces many time conversions since we want durations in seconds and not local time

- Use loop scheduling instead of a task

- Moves all the dispatcher logic into the new _WatchPendingSetups

* websocket as well

* tweaks

* simplify logic

* preserve logic

* preserve logic

* lint

* adjust
2024-02-17 21:47:55 -05:00
J. Nick Koston 0d4c82b54d
Convert Integration platforms processors where nothing is awaited to callbacks (#110825)
Convert Integration platforms processors where nothing is awaited callbacks
2024-02-17 20:49:47 -05:00
Aarni Koskela 5d23a1f84f
Enable augmented-assignment operations in scripts (#108081) 2024-02-17 20:32:23 -05:00
J. Nick Koston 33ff6b5b6e
Avoid creating tasks for checking integrations platforms (#110795)
* Avoid creating tasks for checking integrations platforms

This is a followup to #110743 to avoid creating a task to check
if the integration platform exists. We created tasks because
we needed to await async_get_integrations but since its always
called from EVENT_COMPONENT_LOADED firing, we can use the
async_get_loaded_integration version which does not need
to be awaited. This eliminates one task for every loaded
component

* there is no more race risk

* reduce

* coro or callback

* reduce

* tweak

* race safe

* fix type

* fixes

* use built-in helper to make it smaller

* use built-in helper to make it smaller

* use built-in helper to make it smaller

* add coverage to ensure exceptions are logged

* improve readability a bit

* platforms
2024-02-18 01:07:18 +01:00
Cody C a656e14b20
Fix Local Calendar changing user-specified capitalisation of calendar names (#108454)
When you create a Local Calendar, say, "Home Maintenance", the integration overrides this to instead be "Home maintenance".
2024-02-17 16:03:13 -08:00
Allen Porter bf1b5252c0
Bump ical to 7.0.0 (#110811) 2024-02-17 22:58:59 +01:00
Joost Lekkerkerker 1417428880
Remove unneeded mock from Epion (#110815) 2024-02-17 22:53:38 +01:00
Franck Nijhof 4570eed6f6
Add floor registry (#110741)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-17 21:21:15 +01:00
Claudio Ruggeri - CR-Tech 1ded412061
Add modbus option to manage different setPoint registers (#107600)
Co-authored-by: jan iversen <jancasacondor@gmail.com>
2024-02-17 19:48:42 +01:00
Franck Nijhof aa8d8402b4
Cleanups in entity registry tests (#110788)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-17 19:07:46 +01:00
Arie Catsman a4150fe8b2
Enable Enphase Envoy authentication credentials update (#110474) 2024-02-17 09:58:25 -06:00
Franck Nijhof 0fbadc274a
Cleanups in device registry tests (#110786) 2024-02-17 14:06:53 +01:00
Franck Nijhof df3556f0d8
Cleanups in area registry tests (#110785)
* Cleanups in area registry tests

* Adjust typing
2024-02-17 13:20:33 +01:00
Åke Strandberg f5dad1d312
Add myuplink reauth flow (#110587)
* WIP test

* WIP

* WIP Reauth flow. Test fail otherways OK.

* Minor adjustments to tests

* Merge

* Merge

* Next level...

* Cleanup according to review

* It works!

* Simplify setup

* Remove default

* Remove files from PR

* Add back test_init

* Add back test_sensor

* Adjust error message

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-17 10:18:53 +01:00
J. Nick Koston d99a7e2825
Fix race in wyoming test (#110766)
reverts #110751 and replaces it with a change to wait for the
assist_pipeline.async_pipeline_from_audio_stream to be called
which will actually solve the problem and unblock #110743
2024-02-17 08:24:21 +01:00
J. Nick Koston 50770ce436
Refactor config integration to use normal functions for setup (#110750)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-16 18:12:33 -06:00
Malte Franken d7f650ed7c
Bump georss-ign-sismologia-client to 0.8 (#110501)
* bump georss-ign-sismologia-client to 0.8

* fixed tests
2024-02-17 00:52:58 +02:00
J. Nick Koston 5adb9240c5
Wait for client to be created in wyoming tests (#110751)
* Add missing async_block_till_done in wyoming tests

* better fix

* better fix

* better fix

* better fix
2024-02-16 22:48:47 +01:00
Michael 58a6f26f66
Fix scene activation with climate entities with `None` attribute values (#110684)
don't call service with attribute None
2024-02-16 22:27:55 +01:00
Erik Montnemery a0ead2b861
Remove hourly weather entity from met.no (#97023) 2024-02-16 16:46:37 +01:00
Artur Pragacz 3392660537
Add toggle service to climate (#100418)
* Add toggle service to climate

* Fix mqtt test

* Add comments

* Fix rebase

* Remove not needed properties

* Fix toggle service

* Fix test

* Test

* Mod mqtt test

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-02-16 15:53:48 +01:00
Joakim Sørensen 23e81a45c8
Use snapshots in analytics tests (#110704) 2024-02-16 15:47:41 +01:00
Denis Shulyaka 2d74dafd3f
Generic Hygrostat: Do not log warning if the hygrostat is already not active (#102662)
* Generic Hygrostat: Do not log warning if the hygrostat is already not active

* add test
2024-02-16 15:29:14 +01:00
J. Nick Koston f9dc92a9a0
Fix recorder ws_info blocking the event loop (#110657)
* Fix recorder ws_info blocking the event loop

Fixes
```
2024-02-15 06:37:55.423 WARNING (MainThread) [asyncio] Executing <Task pending name=websocket_api.async:ws_info coro=<_handle_async_response() running at /usr/src/homeassistant/homeassistant/components/websocket_api/decorators.py:26> wait_for=<_GatheringFuture pending cb=[Task.task_wakeup()] created at /usr/local/lib/python3.12/asyncio/tasks.py:712> cb=[set.remove()] created at /usr/src/homeassistant/homeassistant/core.py:653> took 0.332 seconds
```

* no instance did not actually work
2024-02-16 15:11:09 +01:00
IceBotYT 35149a46fc
Bump linear-garage-door to 0.2.9 (#110298) 2024-02-16 13:56:25 +01:00
dupondje 0aaa517217
add missing state class to dsmr sensors (#110712)
current_average_demand and maximum_demand_current_month are missing a state class, which gives errors in the statistics tab in HA.
So adding them to the sensor.
2024-02-16 12:08:09 +01:00
Robert Resch bcce32e2de
Bump deebot-client to 5.2.1 (#110683)
* Bump deebot-client to 5.2.0

* Bumb again

* Fix tests
2024-02-16 11:47:36 +01:00
Jan-Philipp Benecke 613b183898
Avoid calling internals when adding mock config entry in Nightscout (#110600) 2024-02-16 10:00:52 +01:00
Matthew FitzGerald-Chamberlain ce8cf314f9
Add Aprilaire integration (#95093)
* Add Aprilaire integration

* Fix test errors

* Update constants

* Code review cleanup

* Reuse coordinator from config flow

* Code review fixes

* Remove unneeded tests

* Improve translation

* Code review fixes

* Remove unneeded fixture

* Code review fixes

* Code review updates

* Use base data coordinator

* Deduplicate based on MAC

* Fix tests

* Check mac address on init

* Fix mypy error

* Use config entry ID for entity unique ID

* Fix tests

* Code review updates

* Fix mypy errors

* Code review updates

* Add data_description

* Update homeassistant/components/aprilaire/coordinator.py

Co-authored-by: Jon Oberheide <506986+jonoberheide@users.noreply.github.com>

* Update .coveragerc

* Update homeassistant/components/aprilaire/coordinator.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Jon Oberheide <506986+jonoberheide@users.noreply.github.com>
2024-02-16 08:30:51 +01:00
J. Nick Koston 37897ee384
Move late import of config flows in loader to load time (#110688)
* Move late import of config flows in loader to load time

There does not seem to be any reason to import the
generated flows late. Import them at load time
with the rest of the generated files

* tests
2024-02-16 07:55:12 +01:00
Erik Montnemery ae39945a85
Correct config entry setup in fritz tests (#110669) 2024-02-15 20:52:40 +01:00
Erik Montnemery 06a21d4ed9
Bump pychromecast to 14.0.0 (#108374)
* Pass unregister callback to cast HomeAssisstantController

* Update tests

* Bump pychromecast to 14.0.0

* Fix lint warning, adjust tests

* Improve test coverage
2024-02-15 20:14:01 +01:00
Erik Montnemery 3526fd66df
Add option to block remote enabling of HA Cloud remote (#109700)
* Allow blocking remote enabling of HA Cloud remote

* Fix test
2024-02-15 17:26:06 +01:00
Livio Avalle c4247205ed
Add state_class to ring battery sensor for LTS (#109872)
* Add state_class to ring battery sensor for LTS

* Add test, in test_sensor.py, for state_class for battery entity; in response to comment in PR
2024-02-15 09:52:11 -06:00
J. Nick Koston d49bccf123
Ensure lamarzocco tests add config entry before updating it (#110423) 2024-02-15 09:09:47 -06:00
kingy444 3529eb6044
Powerview Gen 3 functionality (#110158)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-02-15 08:27:11 -06:00
Stackie Jia 636c7ce350
Enable strict type checking on apple_tv integration (#101688)
* Enable strict type checking on apple_tv integration

* move some instance variables to class variables

* fix type of attr_value

* fix tests for description_placeholders assertion

* nits

* Apply suggestions from code review

* Update remote.py

* Apply suggestions from code review

* Update __init__.py

* Update __init__.py

* Update __init__.py

* Update config_flow.py

* Improve test coverage

* Update test_config_flow.py

* Update __init__.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-02-15 15:17:00 +01:00
Javier Fernández d555f91702
Update wallbox to 0.6.0 (#110636)
* Update wallbox plugin version

Closes #110566

* Fix unit tests failing

* Fix import order

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-15 15:04:32 +01:00
Åke Strandberg fd0f093299
Add some myuplink tests (#110521)
* Add some myuplink tests

* Update fixtures for api endpoints

* Adjust according to review

* Update snapshot file

* Remove unneded fixtures and improve typing

* More cleanup

* One last session scope removed

* Fix typing

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-15 13:44:45 +01:00
Joakim Sørensen 57d3f3f9f7
Split pre/post backup actions into dedicated methods (#110632)
* Split pre/post backup actions into dedicated methods

* Update homeassistant/components/backup/manager.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-02-15 12:38:36 +01:00
Aurélien Grenotton b9a8b992d7
Fix freebox pairing in bridge mode (#106131) 2024-02-15 12:34:29 +01:00
J. Nick Koston 8da07f1bf2
Fix formatting of mac addresses from dhcp discovery mocking in axis (#110560)
dhcp returns addresses in lowercase without :
2024-02-14 20:37:31 -05:00
J. Nick Koston 499c42364e
Fix formatting of mac addresses from dhcp discovery mocking in broadlink (#110558)
* Fix formatting of mac addresses from dhcp discovery mocking in broadlink

dhcp returns addresses in lowercase without :

* fix missed ones

* broadlink has same format
2024-02-14 17:26:14 -05:00
J. Nick Koston 78bc561700
Fix formatting of mac addresses from dhcp discovery mocking in nest (#110584)
dhcp returns addresses in lowercase without :
2024-02-14 17:25:52 -05:00
J. Nick Koston 7b4c5a112c
Fix formatting of mac addresses from dhcp discovery mocking in radiotherm (#110593)
dhcp returns addresses in lowercase without :
2024-02-14 23:25:33 +01:00
J. Nick Koston 1f67e4fed1
Fix formatting of mac addresses from dhcp discovery mocking in ruuvi_gateway (#110597)
dhcp returns addresses in lowercase without :
2024-02-14 17:25:22 -05:00
J. Nick Koston 28afe9ff9e
Correct misaligned formatting of mac addresses in samsungtv (#110599)
* Correct misaligned formatting of mac addresses in samsungtv

dhcp returns addresses in lowercase without : and there were places
were it was not passed through format_mac which resulted in the wrong
format being saved in the config entry

* safer
2024-02-14 17:25:08 -05:00
J. Nick Koston 0ea524659c
Fix formatting of mac addresses from dhcp discovery mocking in roomba (#110596)
dhcp returns addresses in lowercase without :
2024-02-14 23:24:34 +01:00
J. Nick Koston 20d1cd1246
Fix formatting of mac addresses from dhcp discovery mocking in qnap_qsw (#110592)
dhcp returns addresses in lowercase without :
2024-02-14 23:23:43 +01:00
J. Nick Koston c7e2f24303
Fix formatting of mac addresses from dhcp discovery mocking in lametric (#110580) 2024-02-14 23:23:22 +01:00
J. Nick Koston b87e34ec67
Fix formatting of mac addresses from dhcp discovery mocking in screenlogic (#110602)
dhcp returns addresses in lowercase without :
2024-02-14 17:23:13 -05:00
J. Nick Koston 9105dd16e3
Fix formatting of mac addresses from dhcp discovery mocking in somfy_mylink (#110603)
dhcp returns addresses in lowercase without :
2024-02-14 17:23:02 -05:00
J. Nick Koston 35bcf2e9e4
Fix formatting of mac addresses from dhcp discovery mocking in squeezebox (#110604)
dhcp returns addresses in lowercase without :
2024-02-14 17:22:51 -05:00
J. Nick Koston d4562f4674
Fix formatting of mac addresses from dhcp discovery mocking in steamist (#110605)
dhcp returns addresses in lowercase without :
2024-02-14 17:22:38 -05:00
J. Nick Koston 48cd973c62
Fix formatting of mac addresses from dhcp discovery mocking in tailwind (#110606)
dhcp returns addresses in lowercase without :
2024-02-14 17:22:24 -05:00
J. Nick Koston 334c177e67
Fix formatting of mac addresses from dhcp discovery mocking in tesla_wall_connector (#110607)
* Fix formatting of mac addresses from dhcp discovery mocking in tesla_wall_connector

dhcp returns addresses in lowercase without :

* Fix formatting of mac addresses from dhcp discovery mocking in tesla_wall_connector

dhcp returns addresses in lowercase without :
2024-02-14 17:22:09 -05:00
J. Nick Koston cefaf0e065
Fix formatting of mac addresses from dhcp discovery mocking in tolo (#110608)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:56 -05:00
J. Nick Koston 77a44c54dd
Fix formatting of mac addresses from dhcp discovery mocking in twinkly (#110609)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:33 -05:00
J. Nick Koston 2fe246441f
Fix formatting of mac addresses from dhcp discovery mocking in unifiprotect (#110610)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:19 -05:00
J. Nick Koston 2a04eabe18
Fix formatting of mac addresses from dhcp discovery mocking in verisure (#110611)
dhcp returns addresses in lowercase without :
2024-02-14 17:21:04 -05:00
J. Nick Koston e6ac4c5f1f
Fix formatting of mac addresses from dhcp discovery mocking in vicare (#110613)
dhcp returns addresses in lowercase without :
2024-02-14 17:20:47 -05:00
J. Nick Koston fa026b7e12
Fix formatting of mac addresses from dhcp discovery mocking in wiz (#110615)
dhcp returns addresses in lowercase without :
wiz discovery returns addresses in lowercase without :
2024-02-14 17:20:32 -05:00
J. Nick Koston 79b2e465de
Fix formatting of mac addresses from dhcp discovery mocking in yeelight (#110616)
dhcp returns addresses in lowercase without :
2024-02-14 17:20:15 -05:00
J. Nick Koston c20d2d44ed
Fix formatting of mac addresses from dhcp discovery mocking in fronius (#110572)
Co-authored-by: Matthias Alphart <farmio@alphart.net>
2024-02-14 16:18:19 -06:00
J. Nick Koston dcfff6c138
Fix formatting of mac addresses from dhcp discovery mocking in powerwall (#110591)
dhcp returns addresses in lowercase without :
2024-02-14 23:11:25 +01:00
J. Nick Koston cc3783f999
Fix misaligned mac formatting in goalzero (#110574)
The DHCP mac address was being set as aabbcceeddff but the user step
was setting it as aa:bb:cc:dd:ee:ff
2024-02-14 23:10:07 +01:00
J. Nick Koston 5988db1670
Fix formatting of mac addresses from dhcp discovery mocking in dlink (#110562)
* Fix formatting of mac addresses from dhcp discovery mocking in dlink

dhcp returns addresses in lowercase without :

* fix tests
2024-02-14 23:07:45 +01:00
J. Nick Koston cd1c633ff9
Fix tplink not updating IP from DHCP discovery and discovering twice (#110557)
We only called format_mac on the mac address if we connected
to the device during entry creation. Since the format of the
mac address from DHCP discovery did not match the format saved
in the unique id, the IP would not get updated and a second
discovery would appear

Thankfully the creation path does format the mac so we did not
create any entries with an inconsistantly formatted unique id

fixes #110460
2024-02-14 23:03:30 +01:00
J. Nick Koston c045e23000
Fix formatting of mac addresses from dhcp discovery mocking in overkiz (#110590) 2024-02-14 16:01:15 -06:00
Jan-Philipp Benecke 5da31a3f1d
Avoid calling internals when adding mock config entry in Squeezebox (#110601) 2024-02-14 22:59:49 +01:00
J. Nick Koston 4627e8b1fc
Fix formatting of mac addresses from dhcp discovery mocking in reolink (#110594)
dhcp returns addresses in lowercase without :
2024-02-14 21:39:30 +01:00