Commit Graph

17689 Commits (1d3c5d92ea7267a3ebf1aeeeba944bd85264a9c9)

Author SHA1 Message Date
Franck Nijhof 3eb1283fa5
Disable Python 3.12 incompatible integrations (#108163) 2024-01-17 14:47:03 +01:00
J. Nick Koston 15384f4661
Remove unused entity_sources argument from shared_attrs_bytes_from_event (#108210) 2024-01-17 08:45:04 -05:00
Josef Zweck 2cd828b2d0
Add number platform to La Marzocco (#108229)
* add number

* remove key entities

* remove key numbers

* rename entities

* rename sensors
2024-01-17 14:15:48 +01:00
Josef Zweck 74d53a4231
Add select platform to La Marzocco integration (#108222)
* add select

* change check, icons

* fix docstrings, use []
2024-01-17 13:21:33 +01:00
G Johansson bdda38f274
Allow selecting camera in Trafikverket Camera (#105927)
* Allow selecting camera in Trafikverket Camera

* Final config flow

* Add tests

* Fix load_int

* naming
2024-01-17 11:54:13 +01:00
Josef Zweck e811cf1ae8
Add binary sensor platforms to La Marzocco (#108212)
* add sensor

* remove switch

* requested changes

* property instead of function

* add missing snapshot

* rename var, fixture

* add binary sensors

* reorder strings

* rename sensor

* switch to supported_fn
2024-01-17 11:42:22 +01:00
Christophe Gagnier 44f2b8e6a3
Implement TechnoVE integration (#106029)
* Implement TechnoVE integration

Only the basic sensors for now.

* Add technoVE to strict typing

* Implement TechnoVE PR suggestions

* Remove Diagnostic from TechnoVE initial PR

* Switch status sensor to Enum device class

* Revert zeroconf for adding it back in subsequent PR

* Implement changes from feedback in TechnoVE PR

* Update homeassistant/components/technove/models.py

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

* Update homeassistant/components/technove/sensor.py

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

* Update homeassistant/components/technove/models.py

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

* Remove unnecessary translation keys

* Fix existing technoVE tests

* Use snapshot testing for TechnoVE sensors

* Improve unit tests for TechnoVE

* Add missing coverage for technoVE config flow

* Add TechnoVE coordinator tests

* Modify device_fixture for TechnoVE from PR Feedback

* Change CONF_IP_ADDRESS to CONF_HOST for TechnoVE

* Update homeassistant/components/technove/config_flow.py

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

* Update homeassistant/components/technove/models.py

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

* Update homeassistant/components/technove/models.py

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

* Implement feedback from TechnoVE PR

* Add test_sensor_update_failure to TechnoVE sensor tests

* Add test for error recovery during config flow of TechnoVE

* Remove test_coordinator.py from TechnoVE

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Sid <27780930+autinerd@users.noreply.github.com>
2024-01-17 11:04:35 +01:00
Josef Zweck a8b67d5a0a
Add sensor platform to La Marzocco integration (#108157)
* add sensor

* remove switch

* requested changes

* property instead of function

* add missing snapshot

* rename var, fixture
2024-01-17 09:12:49 +01:00
G Johansson d4f9ad9dd3
Create update coordinator for Systemmonitor (#106693) 2024-01-16 15:07:55 -10:00
Jan-Philipp Benecke 10014838ef
Dynamically map state class, device class and UoM in ZHA smart energy metering sensor (#107685)
* Dynamically map state class, device class and UoM in ZHA smart energy metering sensor

* Fix some state & device classes and add scaling

* Fix added imperial gallons tests

* Use entity description instead of custom class & add one entity to tests

* Apply code review suggestion

* Scale only when needed

* Revert "Scale only when needed"

This reverts commit a9e0403402.

* Avoid second lookup of entity description

* Change test to not mix sensor types
2024-01-17 00:40:00 +01:00
Aaron Bach 25f4fe4a85
Bump `aiokafka` to 0.10.0 (#108165) 2024-01-16 23:16:31 +01:00
Michael Hansen db81f4d046
Wyoming satellite ping and bugfix for local wake word (#108164)
* Refactor with ping

* Fix tests

* Increase test coverage
2024-01-16 15:43:30 -06:00
G Johansson 7dffc9f515
Remove config import from netatmo (#107972)
* Remove config import from netatmo

* Fix tests
2024-01-16 22:17:18 +01:00
G Johansson 0ba0f57439
Add entity name translations to System Monitor (#107952) 2024-01-16 21:39:03 +01:00
J. Nick Koston 60ab360fe7
Avoid bytes to string to bytes conversion in websocket api (#108139) 2024-01-16 21:37:34 +01:00
G Johansson ad35113e86
Remove config import in Neato (#107967)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 21:08:05 +01:00
Luke Lashley fa5af8f187
Add Translation for Roborock exceptions (#105427)
* add translations to exceptions

* Make errors more user understandable

* make command not ternary operator

* removed non-user facing exceptions

* Add user facing exceptions and code coverage

* add match

* fix linting

* Apply suggestions from code review

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

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2024-01-16 21:00:20 +01:00
G Johansson 639f06843b
Remove config import from surepetcare (#107971)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 20:57:23 +01:00
Galorhallen ddaf194f91
Add Govee local light integration (#106697)
* Added govee_local_api

* Code cleanup

* Fix discovery

* Add missing supported device

* Fix autodiscovery

* Add missing quality scale in manifest.json

* QA

* QA: Moved coordinator creation to __init__.py

* QA

* Fix typo and update test

* QA

* Removed unecessary code

* Fix typo

* Fix typo

* QA, typing and strings

* Removed unsed logger in __init__.py

* QA, using ColorMode for lights capabilities

* Bump govee_local_api to 1.4.0

Moved capabilities to library.

* Update requirements

* Update library to 1.4.1 with unsupported dvice warning

* Fix tests after library update

* QA

* Add test for retry config

* Update integration name and domain

* Update homeassistant/components/govee_light_local/light.py

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-16 20:00:29 +01:00
Josef Zweck 95ed1ada50
Add late PR improvements to La Marzocco (#108162)
* add Martin's suggestions

* use password description

* fix for reauth + test

* fix invalid_auth test

* Update homeassistant/components/lamarzocco/config_flow.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-16 19:35:50 +01:00
Jan Bouwhuis 3ff74fe20f
Refactor demo vacuum's to only use StateVacuum base class and features (#108150)
* Demo cleanup

* Refactor vacuum demo to only use state vacuum base class

* Remove unneeded feature checks

* Remove exclusion issue for mqtt an demo
2024-01-16 16:44:12 +01:00
Josef Zweck 6bc36666b1
Add integration lamarzocco (#102291)
Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Abílio Costa <abmantis@users.noreply.github.com>
Co-authored-by: Paul Bottein <paul.bottein@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: tronikos <tronikos@users.noreply.github.com>
Co-authored-by: Luke Lashley <conway220@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
Co-authored-by: dupondje <jean-louis@dupond.be>
2024-01-16 15:24:16 +01:00
Bouwe Westerdijk a874895a81
Add gateway_mode Select to Plugwise (#108019) 2024-01-16 14:35:09 +01:00
Jan Bouwhuis 26058bf922
Add serial_number attribute to MQTT device properties (#108105) 2024-01-16 14:02:34 +01:00
Robert Resch 7fe6fc987b
Add config flow for Ecovacs (#108111)
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-16 13:31:42 +01:00
Jan Bouwhuis 3e72c346b7
Remove MELCloud YAML import support (#108113) 2024-01-16 13:29:26 +01:00
G Johansson fa2f9eac1a
Remove config import in meteo_france (#107970)
Co-authored-by: jbouwh <jan@jbsoft.nl>
2024-01-16 13:27:49 +01:00
Jan Bouwhuis b46d0fb07c
Remove YAML import support for plum_lightpad (#108114) 2024-01-16 13:13:33 +01:00
Paarth Shah 5afe155cd9
Fix MatrixBot not resolving room aliases per-command (#106347) 2024-01-16 10:07:51 +01:00
Leendert Gravendeel 5011a25ea6
Add Epion integration (#107570)
* Adding initial Epion Air integration logic

* Skipping sensors with missing data

* Patching Epion integration

* Adding additional Epion measurement types

* Cleaning up logging

* Cleaning up code

* Fixing error handling for invalid Epion keys

* Adding tests and improving error handling

* Patching Epion tests

* Cleaning up Epion integration code

* Bumping Epion package and including missing files

* Moving data updates to coordinator and addressing feedback

* Improve exception handling

* Exposing model name and firmware version

* Cleaning up code according to review

* Cleaning up code according to review

* Adding check to prevent duplicate account setup

* Refactoring tests and checking for duplicates

* Cleaning up test code according to review

* Cleaning up test code

* Removing entity name overrides

* Fix code format for tests

* Adding missing newlines in JSON files

* Fixing formatting

* Updating device method to always return a device

* Updating coordinator
2024-01-16 06:39:50 +01:00
Jan Bouwhuis 1a4d1907c9
Make ATTR_SERIAL_NUMBER a generic homeassistant constant (#108106) 2024-01-15 20:33:15 +01:00
Shay Levy 28e18ce7bf
Fix Shelly Gen1 entity description restore (#108052)
* Fix Shelly Gen1 entity description restore

* Update tests/components/shelly/test_sensor.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 20:53:56 +02:00
G Johansson 3bc20a072a
Fix test_sensor_process_fails test in System Monitor (#108110) 2024-01-15 19:46:28 +01:00
G Johansson 5b3e1306f8
Add tests for System Monitor (#107891)
* Add tests

* no coordinator

* Coverage

* processes

* test init

* util

* test icon

* Add tests

* Mod tests

* Add tests

* Test attributes

* snapshots

* icon

* test disk mounts

* fixes

* svmem

* cache_clear

* test icon

* reset icon test

* test_processor_temperature

* fix tests on macos

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-15 18:26:49 +01:00
G Johansson 749ef45727
Add availability to command_line (#105300)
* Add availability to command_line

* Add tests

* freezer
2024-01-15 18:20:34 +01:00
Jan-Philipp Benecke bd37d3776b
Set webhook `local_only` to True by default (#107670) 2024-01-15 11:09:40 +01:00
Marcel van der Veldt 52acc4bbab
Fix turning on the light with a specific color (#108080) 2024-01-15 11:08:38 +01:00
Jan Bouwhuis 45acd56861
Remove YAML auth setup support from home_connect (#108072) 2024-01-15 09:00:59 +01:00
J. Nick Koston b47861d973
Update shelly bluetooth scanner to version 2.0 (#107917) 2024-01-14 09:44:42 -10:00
G Johansson 7a6dca0987
Sensibo include mac in diagnostics redact filter (#107986)
* Add mac to redaction in Sensibo diagnostics

* Add full snapshot

* use constant
2024-01-14 15:34:14 +01:00
wittypluck d94421e1a4
Reset UniFi bandwidth sensor when client misses heartbeat (#104522)
* Reset UniFi bandwidth sensor when client misses heartbeat

* Fix initialization sequence

* Code simplification: remove heartbeat_timedelta, unique_id and tracker logic

* Add unit tests

* Remove unused _is_connected attribute

* Remove redundant async_initiate_state

* Make is_connected_fn optional, heartbeat detection will only happen if not None

* Add checks on is_connected_fn
2024-01-14 15:19:43 +01:00
Jan-Philipp Benecke 7c848d78ab
Remove deprecated services from Litterrobot (#107882) 2024-01-14 11:50:12 +01:00
Tobias Sauerwein f808c2ff14
Add Netatmo fan platform (#107989)
* Add fan platform

to support NLLF centralized ventilation devices

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* Update tests/components/netatmo/test_fan.py

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

* add snapshots

* update snapshot

* fix docstring

* address comment

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-14 11:47:20 +01:00
Bouwe Westerdijk b034d6d0a1
Bump plugwise to v0.36.2 (#108012) 2024-01-14 11:25:45 +01:00
Joost Lekkerkerker 965499dd90
Add entity translations to Glances (#107189) 2024-01-14 11:12:30 +01:00
Erik Montnemery 7fc3f8e473
Improve calls to async_show_progress in octoprint (#107792) 2024-01-14 11:06:35 +01:00
Erik Montnemery 3895defff9
Improve calls to async_show_progress in homeassistant_hardware (#107789) 2024-01-14 10:41:44 +01:00
Sam Reed bca629ed31
Drop facebox integration (#107005) 2024-01-14 10:40:05 +01:00
Jan-Philipp Benecke c86b45b454
Remove deprecated vacuum service from roborock (#107895) 2024-01-14 09:57:17 +01:00
Erik Montnemery d4cb055d75
Improve calls to async_show_progress in improv_ble (#107790) 2024-01-14 09:37:54 +01:00
Jan Bouwhuis 4b8d8baa69
Remove deprecated YAML import from generic camera (#107992) 2024-01-14 09:36:00 +01:00
Jan Bouwhuis f48d057307
Remove YAML support from gdacs (#107962) 2024-01-14 09:03:00 +01:00
Brett Adams 8b4d99f7d2
Add route sensors to Tessie (#106530)
* keys may be missing at startup

* Add route sensors and tracker location

* Fix keys and add translation

* Allow a sensor to have no value

* Move attribute to sensor

* Remove state attribute string
2024-01-14 08:08:54 +01:00
J. Nick Koston 07810926d0
Update habluetooth to 2.2.0 (#108000)
* Update habluetooth to 2.2.0

* fixes

* lib
2024-01-13 23:50:47 -05:00
J. Nick Koston e7c25d1c36
Migrate powerwall unique ids to use the gateway din (#107509) 2024-01-13 16:17:37 -10:00
J. Nick Koston f1228a1cfb
Add H5106 support to govee-ble (#107781)
* Bump govee-ble to 0.27.0

changelog: https://github.com/Bluetooth-Devices/govee-ble/compare/v0.26.0...v0.27.0

note: H5106 is partially supported, full support will be added in another PR + docs

* .1

* Add Govee H5106 support

* 0.27.2

* commit the tests
2024-01-13 21:02:38 -05:00
J. Nick Koston 9c82df4b98
Fix duplicate config entry additions in tests (#107984)
zha and plex still add the same config entry multiple times
but they are going to need seperate PRs as they have more
complex logic
2024-01-13 21:01:18 -05:00
Simone Chemelli ef8d394c16
Update sleep period for Shelly devices with buggy fw (#107961)
* update sleep period for Shelly devices with buggy fw

* code quality

* update model list

* add test

* Apply review comments

* fix test

* use costant
2024-01-13 22:33:02 +01:00
puddly b0adaece25
Reload ZHA only a single time when the connection is lost multiple times (#107963)
* Reload only a single time when the connection is lost multiple times

* Ignore when reset task finishes, allow only one reset per `ZHAGateway`
2024-01-13 16:32:25 -05:00
J. Nick Koston 6ada825805
Use faster is_admin check for websocket state and event subscriptions (#107621) 2024-01-13 10:42:41 -10:00
J. Nick Koston b1d0c6a4f1
Refactor User attribute caching to be safer and more efficient (#96723)
* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* Cache construction of is_admin

This has to be checked for a lot of api calls and the websocket
every time the call is made

* modernize

* coverage

* coverage

* verify caching

* verify caching

* fix type

* fix mocking
2024-01-13 15:10:50 -05:00
J. Nick Koston 852a73267f
Fix atag test mutating config entry after its adding to hass (#107603) 2024-01-13 20:34:49 +01:00
Antoni Czaplicki ca421d4f86
Add support for Uonet+ Vulcan integration on Python 3.12 (#107959)
* Bump vulcan-api to 2.3.2

* Enable vulcan integration on Python 3.12

* Stop skipping tests for vulcan integration on Python 3.12
2024-01-13 19:58:02 +01:00
Brett Adams 6cbf1da76a
Add charge cable lock to Tessie (#107212)
* Add cable lock

* Translate exception

* Use ServiceValidationError
2024-01-13 19:03:10 +01:00
Michael Arthur b1a246b817
Add account sensors to electric kiwi integration (#97681)
* add account sensors

* tidy up same issues as other sensors

* add unit tests for sensors

edit and remove comments

assert state and remove HOP sensor types since they aren't being used

* try and fix tests

* add frozen true

* Update tests/components/electric_kiwi/test_sensor.py

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

* return proper native types

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

* tidy up attr unique id

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

* add entities once and use native values properly

* Improve conftest

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

* tidy tests/components/electric_kiwi/test_sensor.py

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

* add assert to component_setup

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

* add extra parameters to test

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

* Update tests/components/electric_kiwi/test_sensor.py

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

* Update tests/components/electric_kiwi/test_sensor.py

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

* change coordinator name

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

* tidy up sensor translation names

* Apply suggestions from code review

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 18:12:40 +01:00
Grant 8395d84bbb
Add fan mode support to SmartThings fan entity (#106794)
* Fix the fan to support preset modes

* Add more tests and fix some comments

* Don't override inherited member

* Don't check for supported feature as the check is already performed before here

* Do not check for feature on properties

* Update homeassistant/components/smartthings/fan.py

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

* Fix tests

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2024-01-13 17:25:26 +01:00
Joost Lekkerkerker 9471f81a18
Give name to Netatmo device snapshots (#107938) 2024-01-13 11:09:47 +01:00
Joost Lekkerkerker f601104418
Snapshot Netatmo devices (#107935) 2024-01-13 10:59:36 +01:00
Joost Lekkerkerker 902619a4db
Add snapshot tests to Netatmo platforms (#107932)
* Add snapshot tests to Netatmo platforms

* Add snapshot tests to Netatmo platforms
2024-01-13 10:18:21 +01:00
Joost Lekkerkerker 7bcfcfef5f
Improve Netatmo tests (#107902)
* Improve Netatmo tests

* Improve Netatmo tests
2024-01-12 23:27:31 +01:00
Jan-Philipp Benecke 68698cacac
Remove deprecated YAML support from litejet (#107884) 2024-01-12 16:50:15 -05:00
J. Nick Koston 3a4c64b0a7
Fix missing timeout exception check in powerwall config flow (#107899)
* Fix missing timeout exception check in powerwall config flow

powerwall recently switched to asyncio, and every place we
check for unreachable we need to check for timeout error.
There was one missed

```
09:08 homeassistant homeassistant[546]: 2024-01-12 10:09:08.899 ERROR (MainThread) [homeassistant.components.powerwall.config_flow] Unexpected exception
Jan 12 20:09:08 homeassistant homeassistant[546]: Traceback (most recent call last):
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 168, in _async_try_connect
Jan 12 20:09:08 homeassistant homeassistant[546]:     info = await validate_input(self.hass, user_input)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 76, in validate_input
Jan 12 20:09:08 homeassistant homeassistant[546]:     site_info, gateway_din = await _login_and_fetch_site_info(
Jan 12 20:09:08 homeassistant homeassistant[546]:                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/src/homeassistant/homeassistant/components/powerwall/config_flow.py", line 43, in _login_and_fetch_site_info
Jan 12 20:09:08 homeassistant homeassistant[546]:     await power_wall.login(password)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 58, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.login_as(User.CUSTOMER, password, email, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/powerwall.py", line 49, in login_as
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._api.login(user, email, password, force_sm_off)
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 172, in login
Jan 12 20:09:08 homeassistant homeassistant[546]:     return await self.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:            ^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/tesla_powerwall/api.py", line 146, in post
Jan 12 20:09:08 homeassistant homeassistant[546]:     response = await self._http_session.post(
Jan 12 20:09:08 homeassistant homeassistant[546]:                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client.py", line 601, in _request
Jan 12 20:09:08 homeassistant homeassistant[546]:     await resp.start(conn)
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/client_reqrep.py", line 960, in start
Jan 12 20:09:08 homeassistant homeassistant[546]:     with self._timer:
Jan 12 20:09:08 homeassistant homeassistant[546]:   File "/usr/local/lib/python3.12/site-packages/aiohttp/helpers.py", line 735, in __exit__
Jan 12 20:09:08 homeassistant homeassistant[546]:     raise asyncio.TimeoutError from None
Jan 12 20:09:08 homeassistant homeassistant[546]: TimeoutError

```

* cov
2024-01-12 21:39:27 +01:00
Cyrill Raccaud 96a9ebf137
Fix missing unique_id for spt integration (#107087)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-12 12:55:09 +01:00
Peter Winkler 2508b55b0f
Add myUplink integration (#86522)
* First checkin for myUplink

* Refactored coordinator and sensor state classe

* Updated .coveragerc

* Update test_config_flow

* Fix test_config_flow for myuplink

* Only set state class for temperature sensor

* PR comment updates

* Type strong dict

* use asyncio.timeouts

* PR updates (part 1)

* Updated to myuplink 0.0.9

* Add strict typing

* Fix typing

* Inherit CoordinatorEntity

* Clean up coordinator and sensors

* Use common base entity

* Improve device point sensor

* Exclude entity from coverage

* Set device point entity name if there's no entity description

* Update homeassistant/components/myuplink/sensor.py

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

* Update homeassistant/components/myuplink/entity.py

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

* Update homeassistant/components/myuplink/entity.py

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

* Remvoed firmware + connstate sensors

* Always add device point parameter name

* Removed MyUplinkDeviceSensor

* Removed unused class

* key="celsius",

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-12 12:17:07 +01:00
J. Nick Koston 4b7a313ece
Use identity checks for CoreState (#107846)
Some of the checks used ==, and some used is. Switch
everything to is as its faster
2024-01-12 10:21:26 +01:00
Erik Montnemery e7628d23d2
Don't include position in binary valve attributes (#107531) 2024-01-12 09:55:28 +01:00
Martin Hjelmare f8318bbbc7
Fix cloud tts loading (#107714) 2024-01-12 09:47:08 +01:00
J. Nick Koston ce11366b9c
Bump bluetooth deps (#107816) 2024-01-12 09:45:49 +01:00
Phil Bruckner 24ddc939c0
Remove Life360 integration (#107805) 2024-01-11 21:49:39 +01:00
Erik Montnemery ddf3a36061
Improve calls to async_show_progress in google (#107788) 2024-01-11 16:47:53 +01:00
Erik Montnemery 24cd6a8a52
Improve ergonomics of FlowManager.async_show_progress (#107668)
* Improve ergonomics of FlowManager.async_show_progress

* Don't include progress coroutine in web response

* Unconditionally reset progress task when show_progress finished

* Fix race

* Tweak, add tests

* Address review comments

* Improve error handling

* Allow progress jobs to return anything

* Add comment

* Remove unneeded check

* Change API according to discussion

* Adjust typing
2024-01-11 12:00:12 +01:00
Robert Resch 1c669c6e84
Revert "Revert "Add preselect_remember_me to `/auth/providers`"" (#106867) 2024-01-11 10:37:19 +01:00
Erwin Douna b08832a89a
Fastdotcom service optimization (#107179)
* Startup mechanic

* Workable service (again)

* Optimized version, for now

* Minor refactoring

* Test cases

* Fixing test case

* Adding startup comment

* State_unknown added

* Update homeassistant/components/fastdotcom/services.py

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

* Check if config entries are not found

* Update tests/components/fastdotcom/test_service.py

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

* Update homeassistant/components/fastdotcom/services.py

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

* Update homeassistant/components/fastdotcom/services.py

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-11 08:27:15 +01:00
Jan Bouwhuis e0457590d1
Fix mqtt text text min max config params can not be equal (#107738)
Fix mqtt text text min max kan not be equal
2024-01-11 07:17:48 +01:00
Christopher Bailey 99e25d94c0
Rework events for UniFi Protect (#107771) 2024-01-10 19:02:16 -10:00
Christopher Bailey ec8a33b52d
Rework state change detection for UniFi Protect entities (#107766) 2024-01-10 18:06:45 -10:00
Christopher Bailey e595d24d78
Add leak sensor for UP Sense for UniFi Protect (#107762) 2024-01-10 15:32:05 -10:00
Ernst Klamer 0ae86095d2
Bump bthome-ble to 3.4.1 (#107757) 2024-01-10 14:48:37 -10:00
bubonicbob c74bef265a
Update powerwall for tesla_powerwall 0.5.0 which is async (#107164)
Co-authored-by: J. Nick Koston <nick@koston.org>
2024-01-10 11:21:53 -10:00
YogevBokobza bdba6f41c9
Bump aioswitcher to 3.4.1 (#107730)
* switcher: added support for device_key logic included in aioswitcher==3.4.1

* switcher: small fix

* switcher: after lint

* switcher: fix missing device_key in tests

* remove device_key function

* fix missing device_key in tests
2024-01-10 21:41:16 +02:00
Álvaro Fernández Rojas 9036d67588
Rename AEMET weather_update_coordinator (#107740)
* aemet: rename weather_update_coordinator

Use "coordinator" instead, like other integrations.

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

* coverage: remove AEMET coordinator

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

---------

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2024-01-10 20:33:44 +01:00
Álvaro Fernández Rojas 6a6c447c28
Use new AEMET library data for sensor platform (#102972)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Robert Resch <robert@resch.dev>
2024-01-10 16:36:20 +01:00
Jan Bouwhuis de9bb20135
Fix invalid alexa climate or water_heater state report with double listed targetSetpoint (#107673) 2024-01-10 16:23:42 +01:00
Jan Bouwhuis 5bdcbc4e8b
Redact sensitive data in alexa debug logging (#107676)
* Redact sensitive data in alexa debug logging

* Add wrappers to diagnostics module

* Test http api log is redacted
2024-01-10 16:20:47 +01:00
Josef Zweck 956921a930
Improvements for tedee integration (#107238)
* improvements

* wait another second before creating the entry

* move delay to lib

* move library bump to separate PR

* move available back to lock from entity
2024-01-10 14:55:28 +01:00
Erwin Douna 15e3af72d1
Fix Tado unique mobile device dispatcher (#107631)
* Add unique home ID device dispatch

* Adding fixture for new setup

* Minor refactor work

* Add check for unlinked to different homes

* If the interface returns an error

* Proper error handling

* Feedback fixes

* Comments for error in client

* Typo

* Update homeassistant/components/tado/__init__.py

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

* Update homeassistant/components/tado/__init__.py

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

* Update devices fix standard

* Dispatch out of loop

* Update dispatcher

* Clean up

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-10 12:09:10 +01:00
J. Nick Koston 554c27a31a
Clamp tplink color temp to valid range (#107695) 2024-01-09 17:08:49 -10:00
Jan-Philipp Benecke d1c1eb8428
Add test for avoid triggering ping device tracker `home` after reload (#107107) 2024-01-09 18:39:31 +01:00
Luke Lashley 29cac5b093
Bump Python-Roborock to 0.39.0 (#107547)
* bump to 0.39.0

* add new strings

* change strings
2024-01-09 16:48:01 +01:00
Jan-Philipp Benecke 33dd6f66e3
Correct device class in `sql` tests (#107663) 2024-01-09 16:30:21 +01:00
Jan-Philipp Benecke 1a6418d361
Use right state class in `filter` test (#107643) 2024-01-09 16:06:36 +01:00
Jan-Philipp Benecke c62e79f9ee
Use right state class for kWh sensor in `homekit_controller` (#107644) 2024-01-09 16:06:18 +01:00
mkmer 4dbaa576a7
Remove unused option flow from blink (#106735)
* Remove unused option flow

* remove update listener

* adjust scan_interval to original default

* default scn interval back to 30s
2024-01-09 16:06:04 +01:00
J. Nick Koston 249e10d8c7
Fix dlink test mutating config entry after its adding to hass (#107604) 2024-01-09 14:55:20 +01:00
Jan-Philipp Benecke 15cee58637
Remove deprecated YAML support from zodiac (#107584) 2024-01-09 14:32:13 +01:00
Jan-Philipp Benecke fd533e46dd
Correct state class in `mobile_app` tests (#107646)
Correct right state class in `mobile_app` tests
2024-01-09 14:08:58 +01:00
vexofp 3c53693fe3
Prevent toggle from calling stop on covers which do not support it (#106848)
* Prevent toggle from calling stop on covers which do not support it

* Update homeassistant/components/cover/__init__.py

---------

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-09 12:32:27 +01:00
J. Nick Koston 955c70b8f1
Fix cloudflare tests using a dict for the unique id (#107601)
fix cloudflare tests using a dict for the unique id
2024-01-09 07:59:29 +01:00
J. Nick Koston ea2178a53d
Fix tractive tests using a dict for the unique_id (#107602) 2024-01-08 13:10:15 -10:00
Jan-Philipp Benecke ca886de3ca
Remove deprecated YAML support from OpenSky (#107585) 2024-01-08 22:03:25 +01:00
Michael Hansen 4bb2a3ad92
Specific Assist errors for domain/device class (#107302)
* Specific errors for domain/device class

* Don't log exception

* Check device class first

* Refactor guard clauses

* Test default error
2024-01-08 12:23:06 -06:00
elmurato 0d44a1eb66
Bump mcstatus to v11.1.1 (#107546)
* Bump mcstatus to 11.1.0

* Bump mcstatus to v11.1.1
2024-01-08 16:32:37 +01:00
Joost Lekkerkerker 82e0fc5f4e
Use parametrize in drop connect binary sensor tests (#107111) 2024-01-08 10:38:44 +01:00
Josef Zweck 14bf778c10
Cleanup device registry for tedee when a lock is removed (#106994)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* smaller pr

* remove snapshot

* move lock removal to coordinator

* change comment

* Update tests/components/tedee/test_init.py

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

* Update tests/components/tedee/test_init.py

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

* test lock unavailable

* move logic to function

* resolve merge conflicts

* no need to call keys()

* no need to call keys()

* check for change first

* readability

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-08 10:37:35 +01:00
Joost Lekkerkerker 5fe96390f5
Add zone devices to AnthemAV (#107192) 2024-01-08 10:37:17 +01:00
J. Nick Koston ea4143154b
Handle unknown state in HomeKit (#107039) 2024-01-08 09:42:28 +01:00
Jan-Philipp Benecke 40e1bab0ac
Remove deprecated YAML for freebox (#107497) 2024-01-08 09:36:17 +01:00
G Johansson d8c139f211
Fix language flavors in holiday (#107392) 2024-01-08 09:31:44 +01:00
Jan Bouwhuis 9ad3c8dbc9
Remove MQTT legacy vacuum support (#107274) 2024-01-08 09:22:43 +01:00
J. Nick Koston 3eb81bc461
Add coverage for scanning tags with ESPHome (#107337) 2024-01-08 09:20:27 +01:00
Joost Lekkerkerker 1171a7a3d9
Migrate kmtronic to has entity name (#107469) 2024-01-08 09:14:37 +01:00
J. Nick Koston d609344f40
Reduce duplicate code in ESPHome connection callback (#107338) 2024-01-08 09:10:58 +01:00
J. Nick Koston efffbc08aa
Add support for bluetooth local name matchers shorter than 3 chars (#107411) 2024-01-07 18:25:56 -10:00
J. Nick Koston acf78664e2
Reduce overhead to compile statistics (#106927)
* Reduce overhead to compile statistics

statistics uses LazyState for compatibility with State when pulling
data from the database.

After the previous round of refactoring to modern history, the setters
are never called and can be removed.

* reduce
2024-01-07 22:36:49 -05:00
J. Nick Koston 0b9992260a
Improve logbook context augment performance (#106926)
Makes LazyEventPartialState a bit lazier since almost all the
properties are never called.
2024-01-07 22:35:28 -05:00
J. Nick Koston d8c6534aff
Refactor recorder for common event case (#106753)
Almost 99% of items that are put into the recorder queue are
Events. Avoid wrapping them in tasks since we have to unwrap
them right away and its must faster to check for both RecorderTask
and Events since events are the common case.
2024-01-07 22:31:40 -05:00
Matthias Alphart f53109f513
Move KNX service registration to `async_setup` (#106635) 2024-01-07 23:26:46 +01:00
tronikos 810c6ea5ae
Google Generative AI: Add a service for prompts consisting of text and images using Gemini Pro Vision (#105789)
* Bump google-generativeai to 0.3.1

* Migrate to the new API and default to gemini-pro

* Add max output tokens option

* Add generate_content service

* Add  tests

* additional checks

* async read_bytes

* Add tests for all errors
2024-01-07 16:21:27 -05:00
Matthias Alphart a9b51f0255
Fix KNX telegram device trigger not firing after integration reload (#107388) 2024-01-07 20:32:17 +01:00
Raman Gupta d19037a36b
Clean up zwave_js test_removed_device test (#107346) 2024-01-07 12:26:08 +01:00
Michael 84b20edeca
Add missing wifi data in AVM!Fritz Tools tests (#107373) 2024-01-07 10:51:31 +01:00
Brandon Rothweiler 3f2170bd06
Bump py-aosmith to 1.0.6 (#107409) 2024-01-06 12:01:11 -10:00
Brandon Rothweiler 4af47a4815
Add diagnostics to A. O. Smith integration (#106343)
* Add diagnostics to A. O. Smith integration

* Bump py-aosmith to 1.0.4

* remove redactions from test fixture
2024-01-06 17:16:24 +01:00
Josef Zweck 7385da626e
Add new locks automatically to tedee integration (#107372)
* remove removed locks

* move duplicated code to function

* remove entities by removing device

* add new locks automatically

* add locks from coordinator

* remove other PR stuff

* add pullspring lock to test for coverage

* requested changes
2024-01-06 16:02:07 +01:00
Paulus Schoutsen f1d2868fd0
Add API to fetch Assist devices (#107333)
* Add API to fetch Assist devices

* Revert some changes to fixture, make a single fixture for an Assist device
2024-01-05 23:30:18 -05:00
J. Nick Koston c86d1b03fc
Disable thermobeacon voltage sensors by default (#107326) 2024-01-05 16:06:31 -10:00
Marc Mueller 4e62dacc00
Fix lutron test AttributeError (2) (#107324) 2024-01-06 01:15:50 +01:00
Marc Mueller 133fd6ea5d
Fix lutron test AttributeError (#107323) 2024-01-06 00:51:17 +01:00
Shay Levy ad3c78f848
Fix Shelly missing Gen value for older devices (#107294) 2024-01-05 13:32:04 -10:00
J. Nick Koston 81458dbf6f
Add test coverage for ESPHome state subscription (#107045) 2024-01-05 19:51:49 +01:00
Michael Hansen a600a0e023
Expose all areas to Assist and ignore empty aliases (#107267)
* Expose all areas to Assist

* Skip empty entity/area aliases
2024-01-05 13:45:41 -05:00
J. Nick Koston 24ee64e20c
Convert cert_expiry to use asyncio (#106919) 2024-01-05 08:03:53 -10:00
Jan-Philipp Benecke 9a15a5b6c2
Cleanup and migrate rest_command tests to be async (#107264)
Migrate rest_command tests to be async
2024-01-05 18:53:25 +01:00
wilburCforce be6cf7d3ae
Add Lutron config flow (#98489)
* rough in structure for config_flow

* updated json files

* initial conversion to config_flow

* minor updates

* Update binary_sensor.py

* Update config_flow.py

* Update __init__.py

* updates beased on requested changes

* Update const.py

added doc note for ruff

* updated based on suggestions

* updated load xmldb for efficiency

* updated references

* removed unneeded file

* updated config flow to use GUID from XML DB

* minor update to change logging

* updated based on PR feedback

* reverted change for line 30 based on testing

* corrected user_input

* updated based on latest comments

* exception handling

* added raising of issues for config flow

* updated issues strings

* config flow test shell - needs work

* minor changes

* Update strings.json

* Update config_flow.py

* Update __init__.py

* Create conftest.py

* Update test_config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Update strings.json

* Update requirements_test_all.txt

* Update strings.json

* Update strings.json

* Update config_flow.py

* Update test_config_flow.py

* Update config_flow.py

* Create test_init.py

* Update __init__.py

* Delete tests/components/lutron/test_init.py

* Update strings.json

* updated import parts and tested

* updated strings to improve user feedback

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-05 16:39:14 +01:00
Alexander Somov d754ea7e22
Add new Rabbit Air integration (#66130)
* Add new Rabbit Air integration

* Remove py.typed file

It is not needed and was just accidentally added to the commit.

* Enable strict type checking for rabbitair component

Keeping the code fully type hinted is a good idea.

* Add missing type annotations

* Remove translation file

* Prevent data to be added to hass.data if refresh fails

* Reload the config entry when the options change

* Add missing type parameters for generics

* Avoid using assert in production code

* Move zeroconf to optional dependencies

* Remove unnecessary logging

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

* Remove unused keys from the manifest

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

* Replace property with attr

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

* Allow to return None for power

The type of the is_on property now allows this.

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

* Remove unnecessary method call

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

* Update the python library

The new version properly re-exports names from the package root.

* Remove options flow

Scan interval should not be part of integration configuration. This was
the only option, so the options flow can be fully removed.

* Replace properties with attrs

* Remove multiline ternary operator

* Use NamedTuple for hass.data

* Remove unused logger variable

* Move async_setup_entry up in the file

* Adjust debouncer settings to use request_refresh

* Prevent status updates during the cooldown period

* Move device polling code to the update coordinator

* Fix the problem with the switch jumping back and forth

The UI seems to have a timeout of 2 seconds somewhere, which is just a
little bit less than what we normally need to get an updated state. So
the power switch would jump to its previous state and then immediately
return to the new state.

* Update the python library

The new version fixes errors when multiple requests are executed
simultaneously.

* Fix incorrect check for pending call in debouncer

This caused the polling to stop.

* Fix tests

* Update .coveragerc to exclude new file.
* Remove test for Options Flow.

* Update the existing entry when device access details change

* Add Zeroconf discovery step

* Fix tests

The ZeroconfServiceInfo constructor now requires one more argument.

* Fix typing for CoordinatorEntity

* Fix signature of async_turn_on

* Fix depreciation warnings

* Fix manifest formatting

* Fix warning about debouncer typing

relates to 5ae5ae5392

* Wait for config entry platform forwards

* Apply some of the suggested changes

* Do not put the MAC address in the title. Use a fixed title instead.
* Do not format the MAC to use as a unique ID.
* Do not catch exceptions in _async_update_data().
* Remove unused _entry field in the base entity class.
* Use the standard attribute self._attr_is_on to keep the power state.

* Store the MAC in the config entry data

* Change the order of except clauses

OSError is an ancestor class of TimeoutError, so TimeoutError should be
handled first

* Fix depreciation warnings

* Fix tests

The ZeroconfServiceInfo constructor arguments have changed.

* Fix DeviceInfo import

* Rename the method to make it clearer what it does

* Apply suggestions from code review

* Fix tests

* Change speed/mode logic to use is_on from the base class

* A zero value is more appropriate than None

since None means "unknown", but we actually know that the speed is zero
when the power is off.

---------

Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2024-01-05 16:34:28 +01:00
Jan-Philipp Benecke 8bbfee7801
Make exceptions in rest_command services translatable (#107252) 2024-01-05 15:44:31 +01:00
MisterCommand 0d7627da22
Add Hong Kong Observatory integration (#98703)
* Add Hong Kong Observatory integration

* Move coordinator to a separate file

* Map icons to conditions

* Fix code for review

* Skip name

* Add typings to data_coordinator

* Some small fixes

* Rename coordinator.py
2024-01-05 14:52:46 +01:00
Richard Kroegel e7573c3ed4
Add python_script response (#97937)
* Add response to python_script

* Reset output to empty dict if not valid dict

* Add tests for python_script response

* Raise Exceptions on service execution

* Add info on exception type

* Raise ServiceValidationError instead of ValueError

* Raise only on return_response=True

* Fix exception logger if no service response

* Create issue if exception is not raised

* Revert "Create issue if exception is not raised"

This reverts commit a61dd8619f.

---------

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2024-01-05 14:30:15 +01:00
RoboMagus 4485ece719
Add support for service response to RESTful command (#97208)
* Add ServiceResponse to rest_command

* Handle json and text responses.
Add Unit tests

* Rest command text output handling.
Prevent issue solved by PR#97777

* Re-raise exceptions as HomeAssistantError to enable 'continue_on_error' in scripts / automations.

* Improve test coverage

* Restructure to improve McCabe Complexity

* Remove LookupError

* Revert exception catching location

* Remove LookupError from exception handling
2024-01-05 14:27:42 +01:00
Scott K Logan f249563608
Add Rainforest RAVEn integration (#80061)
* Add Rainforest RAVEn integration

* Add Rainforest Automation brand

* Add diagnostics to Rainforest RAVEn integration

* Drop a test assertion for an undefined behavior

* Add DEVICE_NAME test constant

* Catch up with reality

* Use Platform.SENSOR

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

* Make rainforest_raven translatable

* Stop setting device_class on unsupported scenarios

* Rename rainforest_raven.data -> rainforest_raven.coordinator

* Make _generate_unique_id more reusable

* Move device synchronization into third party library

* Switch from asyncio_timeout to asyncio.timeout

* Ignore non-electric meters

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

* Drop direct dependency on iso4217, bump aioraven

* Use RAVEn-specific exceptions

* Add timeouts to data updates

* Move DeviceInfo generation from Sensor to Coordinator

* Store meter macs as strings

* Convert to using SelectSelector

* Drop test_flow_user_invalid_mac

This test isn't necessary now that SelectSelector is used.

* Implement PR feedback

- Split some long format lines
- Simplify meter mac_id extraction in diagnostics
- Expose unique_id using an attribute instead of a property
- Add a comment about the meters dictionary shallow copy

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

* Simplify mac address redaction

Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>

* Freeze RAVEnSensorEntityDescription dataclass

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

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
2024-01-05 14:00:54 +01:00
J. Nick Koston 824bb94d1d
Add test coverage for ESPHome device info (#107034) 2024-01-05 14:00:38 +01:00
Raman Gupta 85cdbb5ade
Bump zwave-js-server-python to 0.55.3 (#107225)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-05 12:38:00 +01:00
Erik Montnemery c805ea7b4f
Include deprecated constants in wildcard imports (#107114) 2024-01-05 11:46:45 +01:00
Robert Resch c063bf403a
Fix mobile_app cloudhook creation (#107068) 2024-01-05 10:53:59 +01:00
Joakim Sørensen 6da82cf07e
Use supported_features_compat in update.install service (#107224) 2024-01-05 10:38:54 +01:00
J. Nick Koston 2641e4014a
Add color temp support for older HomeKit devices (#107206) 2024-01-04 22:50:26 -10:00
Jan Bouwhuis f0ec1235b1
Remove naming warnings and work-a-rounds for incorrectly configured MQTT entities (#107188)
* Remove naming warnings for MQTT entities

* Remove unused const
2024-01-05 09:32:22 +01:00
Jan Bouwhuis c7b6c9da31
Remove work-a-round for mqtt sensors with an entity_category set to `config` (#107199)
* Remove work-a-round for mqtt sensors with an entity_category set to `config`

* Cleanup strings
2024-01-05 09:24:52 +01:00
Martin Hjelmare 00ff93a69e
Set zwave_js voltage sensor suggested precision (#107116) 2024-01-05 01:03:28 -05:00
Michael Hansen 269500cb29
Report missing entities/areas instead of failing to match in Assist (#107151)
* Report missing entities/areas instead of failing

* Fix test

* Update assist pipeline test snapshots

* Test complete match failure

* Fix conflict
2024-01-04 17:09:20 -06:00
Joost Lekkerkerker 34a8812fc3
Introduce base entity in streamlabs water (#107095) 2024-01-04 21:52:38 +01:00
Denis Shulyaka 99bcc38284
Add conversation_id parameter to conversation.process service (#106078)
* Add conversation_id parameter to conversation.process service

* fix test

* fix tests
2024-01-04 14:46:06 -06:00
Joost Lekkerkerker eee6693855
Remove precision in streamlabs water (#107096) 2024-01-04 21:41:45 +01:00
Joost Lekkerkerker 8b1db37a85
Use snapshots in Glances sensor tests (#107159)
* Use snapshots in Glances sensor tests

* yes
2024-01-04 21:32:31 +01:00
J. Nick Koston bc26377c16
Cache homekit_controller supported features (#106702) 2024-01-04 10:31:09 -10:00
Jan Bouwhuis 5c82c39936
Reorganize drop_connect tests (#107148) 2024-01-04 17:48:31 +01:00
Jan Bouwhuis 6a02cadc13
Rework drop_connect switch, select and coordinator tests and cleanup fixtures (#107119)
* Refactor drop_connect switch and select tests

* Update coordinator tests, cleanup fixtures
2024-01-04 16:17:48 +01:00
Martin Hjelmare 80a616d237
Remove zwave_js numeric sensor rounding (#107100) 2024-01-04 13:49:15 +01:00
J. Nick Koston 0ccf8ffbc6
Bump habluetooth to 2.0.2 (#107097) 2024-01-04 02:45:47 -10:00
J. Nick Koston 1a08bcce77
Fix missing backwards compatibility layer for water_heater supported_features (#107091) 2024-01-04 02:21:52 -10:00
Jan Bouwhuis 10f5ce2dc0
Refactor drop tests for binary_sensor (#107090) 2024-01-04 13:12:11 +01:00
Joost Lekkerkerker 5ae8b6bc02
Add entity descriptions to Streamlabs water (#107071)
* Add sensor tests to Streamlabs water

* Add sensor tests to Streamlabs water

* Use entity descriptions in streamlabs water

* Use entity descriptions in streamlabs water

* Use entity descriptions in streamlabs water

* Add translations
2024-01-04 11:53:04 +01:00
Jan Bouwhuis 5508bb3ef9
Refactor drop sensor tests (#106965)
* Refactor drop sensor tests

* Setup the config entry instead of the component
2024-01-04 10:43:04 +01:00
Joost Lekkerkerker 333711d951
Add sensor tests to Streamlabs water (#107065) 2024-01-04 09:57:00 +01:00
J. Nick Koston 9c69212ad5
Add test coverage for ESPHome service calls (#107042) 2024-01-04 09:37:56 +01:00
Joshua Krall 53717523e5
Add button platform to Opengarage (#103569)
* Add button entity to reboot OpenGarage device

* Addressing code review comments

* Another code-review fix

* Update homeassistant/components/opengarage/button.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-04 07:37:24 +01:00
Rami Mosleh 2331f89936
Issue warning if glances server version is 2 (#105887)
* Issue warning if glances server version is 2

* Auto detect api version

* Apply suggestions

* Add HA version deprecation

* Apply suggestions from code review

* update config flow tests

* Fix breaks in ha version

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-04 05:17:43 +01:00
J. Nick Koston 4f213f6df3
Fix first ESPHome device update entity not offering install feature (#106993)
In the case where the user gets their first ESPHome device such as a RATGDO,
they will usually add the device first in HA, and than find the dashboard.

The install function will be missing because we do not know if the dashboard
supports updating devices until the first device is added. We now set the
supported features when we learn the version when the first device is added
2024-01-03 19:58:04 -05:00
J. Nick Koston 962c449009
Add missing coverage for esphome_state_property decorator (#106998) 2024-01-03 19:54:28 -05:00
J. Nick Koston 8d2ddb6a04
Small cleanups to ESPHome light platform (#107003)
- Remove unreachable code
- Cache filtering when possible
- Add missing coverage
2024-01-03 19:53:48 -05:00
J. Nick Koston 01d0031e09
Fix ESPHome service removal when the device name contains a dash (#107015)
* Fix ESPHome service removal when the device name contains a dash

If the device name contains a dash the service name is mutated to
replace the dash with an underscore, but the remove function did
not do the same mutation so it would fail to remove the service

* add more coverage

* more cover
2024-01-03 19:47:49 -05:00
J. Nick Koston 987663e4de
Fix missing backwards compatiblity layer for humidifier supported_features (#107026)
fixes #107018
2024-01-03 19:41:50 -05:00
Erwin Douna 59a01fcf9c
Add try-catch for invalid auth to Tado (#106774)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-03 09:15:39 +01:00
Michael f66438b0ce
Remove group_members from significant attributes in media player (#106916) 2024-01-02 23:47:32 +01:00
Josef Zweck 87c79ef57f
Add tedee bridge as via_device for tedee integration (#106914)
* add bridge as via_device

* add bridge as via_device

* move getting bridge to update_data

* add bridge property
2024-01-02 23:23:50 +01:00
Michael Hansen 5003993658
Bump intents to 2024.1.2 (#106909) 2024-01-02 15:35:48 -06:00
Allen Porter 943fb2791e
Improve To-do service error handling (#106886) 2024-01-02 19:50:28 +01:00
Allen Porter 2e4c4729c4
Improve fitbit authentication error handling (#106885) 2024-01-02 17:51:15 +01:00
Erik Montnemery a7f4d426ee
Handle time zone change in time_date (#106880) 2024-01-02 16:28:22 +01:00
Erik Montnemery 03cbf8b28d
Fix state update in time_date sensor (#106879) 2024-01-02 16:22:16 +01:00
Erik Montnemery 513261baff
Improve time_date tests (#106878) 2024-01-02 16:04:38 +01:00
J. Nick Koston 09b65f14b9
Index entities by domain for entity services (#106759) 2024-01-02 15:28:58 +01:00
Erik Montnemery 8f8c0ef13b
Deprecate 'beat' display option in Time & Date (#106871)
* Deprecate 'beat' display option in Time & Date

* Move deprecation warning

* Update homeassistant/components/time_date/const.py

Co-authored-by: Sander <developer@golles.nl>

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
Co-authored-by: Sander <developer@golles.nl>
2024-01-02 14:11:45 +01:00
Josef Zweck f0132a6b88
Add reauthentication for tedee integration (#106667)
* start work

* add reauth

* title

* reuse user step for reauth

* Update strings.json

* simplify flow

* remove inline if

* remove await hass block
2024-01-02 13:28:15 +01:00
Robert Groot 2df9e5e7b9
Changed setup of EnergyZero services (#106224)
* Changed setup of energyzero services

* PR review updates

* Dict access instead of get

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

* Added tests for unloaded state

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2024-01-02 13:24:17 +01:00
Jan-Philipp Benecke bdaf269ba3
Migrate geo_rss_events test to use freezegun (#105895) 2024-01-02 12:53:36 +01:00
Jan-Philipp Benecke e3b09a5470
Migrate vizio tests to use freezegun (#105417) 2024-01-02 12:53:03 +01:00
Josef Zweck 97a5f0b2af
Add diagnostics for tedee (#106662)
* add diagnostics

* don't redact lock name

* Update test_diagnostics.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2024-01-02 10:34:02 +01:00
Benjamin Richter b27e830997
Fix fints account type check (#106082) 2024-01-02 09:59:13 +01:00
Robert Hillis 7396bc61d7
Set entity category and device class for Netgear LTE entities (#106661)
* Set entity category and device class for Netgear

* add suggested unit of measure and precision
2024-01-02 09:55:06 +01:00
Matt Zimmerman 370345ce2b
Map missing preset mapping for heat mode "ready" in smarttub (#106856) 2024-01-01 17:58:12 -10:00
J. Nick Koston bfda3f1ba8
Bump habluetooth to 2.0.1 (#106750)
fixes switching scanners to quickly since the manager failed
to account for jitter in the auto discovered advertising interval

replaces and closes #96531

changelog: https://github.com/Bluetooth-Devices/habluetooth/compare/v2.0.0...v2.0.1
2023-12-31 06:44:55 -10:00
Josef Zweck 83b0934138
Add binary sensors for tedee (#106773)
* fix tests

* Update homeassistant/components/tedee/binary_sensor.py

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

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-31 13:16:01 +01:00
Josef Zweck 0549c9e113
Add sensor platform for tedee integration (#106722)
* add sensors

* requested changes

* remove translation key from battery

* fix pullspring test

* loop instead of parametrize

* name snapshots

* fix snapshots
2023-12-31 12:24:44 +01:00
puddly 98c41f7398
Bump ZHA dependencies (#106756)
* Bump ZHA dependencies

* Revert "Remove bellows thread, as it has been removed upstream"

This reverts commit c28053f4bf.
2023-12-31 04:54:09 -05:00
DiamondDrake 8140036d2e
Add support for cookie file to media_extractor (#104973)
* media_extractor comp -> add support for cookie file

* Update __init__.py

* Update __init__.py

* fixed pr request, added test

* update test with valid cookie file

* move cookies to subdirectory

* use pathlib instead of os.path
2023-12-30 14:34:50 +01:00
Floris272 ee1b0b46ce
Add reauth to Blue Current integration (#106658)
* Add reauth to Blue Current integration.

* Apply feedback

* Fix failing codecov check

* Fix patches

* Add wrong_account to strings.json
2023-12-30 13:53:35 +01:00
Josef Zweck f17470cb29
Upper case tedee device name (#106685) 2023-12-30 13:15:22 +01:00
G Johansson bcf75795c2
DNS IP implement retry (#105675)
* DNS IP implement retry

* Review comments
2023-12-30 10:51:34 +01:00
Jaroslav Hanslík e83aa86426
Fixed native apparent temperature in WeatherEntity (#106645) 2023-12-29 18:37:46 +01:00
Josef Zweck 02b863e968
Add tedee integration (#102846)
* init tedee

* init tests

* add config flow tests

* liniting

* test

* undo

* linting

* pylint

* add tests

* more tests

* more tests

* update snapshot

* more tests

* typing

* strict typing

* cleanups

* cleanups, fix tests

* remove extra platforms

* remove codeowner

* improvements

* catch tedeeclientexception

* allow bridge selection in CF

* allow bridge selection in CF

* allow bridge selection in CF

* allow bridge selection in CF

* abort earlier

* auto-select bridge

* remove cloud token, optionsflow to remove size

* remove options flow leftovers

* improve coverage

* defer coordinator setting to after first update

* define coordinator

* some improvements

* remove diagnostics, webhook

* remove reauth flow, freeze data classes

* fix lock test

* Update homeassistant/components/tedee/entity.py

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

* Update homeassistant/components/tedee/__init__.py

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

* Update homeassistant/components/tedee/config_flow.py

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

* Update homeassistant/components/tedee/entity.py

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

* Update homeassistant/components/tedee/entity.py

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

* requested changes

* requested changes

* Update lock.py

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

* Update entity.py

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

* Update lock.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* Update config_flow.py

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

* requested changes

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/test_lock.py

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

* Update tests/components/tedee/conftest.py

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

* Update homeassistant/components/tedee/coordinator.py

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

* Update homeassistant/components/tedee/lock.py

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

* Update tests/components/tedee/test_config_flow.py

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/lock.py

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

* Update homeassistant/components/tedee/strings.json

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

* Update homeassistant/components/tedee/lock.py

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

* requested changes

* requested changes

* requested changes

* revert load fixture

* change tests

* Update test_config_flow.py

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

* Update strings.json

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

* Update coordinator.py

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

* remove warning

* move stuff out of try

* add docstring

* tedee lowercase, time.time

* back to some uppercase, time.time

* awaitable

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-29 14:55:41 +01:00
Robert Hillis 27bdbc6600
Add entity name and translations to Netgear LTE (#106599) 2023-12-29 11:07:56 +01:00
J. Nick Koston 03fcb81a59
Small speed up to compressed state diff (#106624) 2023-12-29 08:36:20 +01:00
J. Nick Koston 7051f28547
Add deprecation warning for cover supported features when using magic numbers (#106618) 2023-12-29 08:34:08 +01:00
J. Nick Koston a47587e3cd
Add deprecation warning for siren supported features when using magic numbers (#106621) 2023-12-28 15:45:27 -10:00
J. Nick Koston e4a25825d3
Migrate light entity to use contains for LightEntityFeature with deprecation warnings (#106622) 2023-12-28 15:45:06 -10:00
J. Nick Koston e6c6327463
Add deprecation warning for alarm_control_panel supported features when using magic numbers (#106619) 2023-12-28 15:04:06 -10:00
J. Nick Koston 2b972f6dba
Add deprecation warning for lock supported features when using magic numbers (#106620) 2023-12-28 15:03:14 -10:00
J. Nick Koston e0b6d4e216
Media player platform back-compat for custom components without MediaPlayerEntityFeature (#106616) 2023-12-28 14:32:44 -10:00
J. Nick Koston 931e90ab20
Humidifier platform back-compat for custom components without HumidifierEntityFeature (#106613) 2023-12-28 14:10:46 -10:00
J. Nick Koston 4b6aaf6254
Update platform back-compat for custom components without UpdateEntityFeature (#106528) 2023-12-28 14:10:26 -10:00
J. Nick Koston 81726808e8
Vacuum platform back-compat for custom components without VacuumEntityFeature (#106614) 2023-12-28 14:06:25 -10:00
J. Nick Koston 6506a8d511
Camera platform back-compat for custom components without CameraEntityFeature (#106529) 2023-12-29 00:45:35 +01:00
J. Nick Koston 552d4e49f0
Climate platform back-compat for custom components without ClimateEntityFeature (#106605) 2023-12-29 00:36:28 +01:00
J. Nick Koston 3e7c44c612
Fan platform back-compat for custom components without FanEntityFeature (#106607) 2023-12-29 00:36:15 +01:00
J. Nick Koston d0e9f2ce0d
Water heater platform back-compat for custom components without WaterHeaterEntityFeature (#106608) 2023-12-29 00:16:02 +01:00
J. Nick Koston 97ee7e2c98
Remote platform back-compat for custom components without RemoteEntityFeature (#106609) 2023-12-29 00:15:48 +01:00
Thomas Hollstegge 6deb6ddbc4
Use correct state for emulated_hue covers (#106516) 2023-12-28 09:30:26 -10:00
G Johansson 648afe121d
Replace dash in language if needed (#106559)
* Replace dash in language if needed

* Add tests
2023-12-28 20:16:14 +01:00
mkmer e7e0ae8f6a
Move services to entity services in blink (#105413)
* Use device name to lookup camera

* Fix device registry serial

* Move to entity based services

* Update tests

* Use config_entry
Move refresh service out of camera

* Use config entry for services

* Fix service schema

* Add depreciation note

* Depreciation note

* key error changes
deprecated (not depreciated)
repair issue

* tweak message

* deprication v2

* back out update field change

* backout update schema changes

* Finish rollback on update service

* update doc strings

* move to 2024.7.0
More verbosity to deprecation message
2023-12-28 19:56:40 +01:00
Robert Hillis 454201d0a8
Add device info to Netgear LTE (#106568)
* Add device info to Netgear LTE

* uno mas
2023-12-28 17:47:04 +01:00
Álvaro Fernández Rojas 5dd63d86f2
Update aioairzone-cloud to v0.3.7 (#106544)
Release v0.3.7

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
2023-12-28 17:14:25 +01:00
G Johansson b852eb7e23
Fix holiday HA language not supported (#106554) 2023-12-28 16:10:27 +01:00
Brett Adams 5b706cedeb
Fix Tessie honk button (#106518) 2023-12-28 09:00:34 +01:00
ollo69 ee25cb2616
Add AsusWrt temperature sensors provided by http protocol (#105692) 2023-12-27 21:20:03 +01:00
Daniel Schall 8778763a3e
Synchronize and cache Generic Camera still image fetching (#105821) 2023-12-27 21:19:25 +01:00
Mike Megally 9b2c67fcd2
Add Color Night Vision switch for UniFi Protect (#106500)
* Add a switch to enable and disable "Color Night Vision" for the Unifi Protect platform, which is a feature on the new G5 Pro cameras with a "Vision Enhancer" attached

* Updated tests for the new switch
2023-12-27 09:56:54 -10:00
Michael 389c8d39f5
Add significant Change support for cover (#106016) 2023-12-27 18:28:24 +01:00
Robert Resch 9508a23f95
Check and register cloud hook if needed for mobile_app (#106461) 2023-12-27 18:01:44 +01:00
dougiteixeira 65c21438a6
Add query type validation independent of declaration position for SQL (#105921)
* Add query type validation independent of declaration position

* Restore close sess

* Separates invalid query and non-read-only query tests

* Add more tests

* Use the SQLParseError exception for queries that are not read-only

* Add handling for multiple SQL queries.

* Fix test

* Clean ';' at the beginning of the SQL query

* Clean ';' at the beginning of the SQL query - init

* Query cleaning before storing

* Query cleaning before setup sesensor plataform - YAML

* Exception when the SQL query type is not detected

* Cleaning

* Cleaning

* Fix typing in tests

* Fix typing in tests

* Add test for query = ';;'

* Update homeassistant/components/sql/__init__.py

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

* Update homeassistant/components/sql/__init__.py

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

* Update __init__.py

* Update config_flow.py

* Clean query before storing

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 17:58:35 +01:00
Caius-Bonus 37707edc47
Match ZHA Custom ClusterHandler on a Custom Cluster using a unique id for the quirk (#101709)
* initial

* fix tests

* match on specific name and quirk name

* fix tests

* fix tests

* store cluster handlers in only one place

* edit tests

* use correct device for quirk id

* change quirk id

* fix tests

* even if there is a quirk id, it doesn't have to have a specific cluster handler

* add tests

* rename quirk_id

* add tests

* fix tests

* fix tests

* use quirk id from zha_quirks
2023-12-27 11:48:30 -05:00
Marcel van der Veldt 13702d51b1
Add more fine grained control over Matter server commissioning for the Companion apps (#106237) 2023-12-27 16:55:07 +01:00
Michael 117ff21c48
Add significant Change support for number (#105863) 2023-12-27 16:54:08 +01:00
David F. Mulcahey 817c71747f
Delay all ZHA polling until initialization of entities has completed (#105814)
* Don't update entities until they are initialized

* fix hass reference

* only establish polling once

* fix log level and small cleanup

* start device availability checks after full initialization of network

* add logging

* clean up sensor polling and class hierarchy

* don't attempt restore sensor cleanup in this PR

* put check back

* fix race condition and remove parallel updates

* add sensor polling test

* cleanup switch polling and add a test

* clean up and actually fix race condition

* update light forced refresh

* only use flag

* unused flag

* reduce diff size

* collapse
2023-12-27 10:25:41 -05:00
Jon Caruana 45fde2db4e
Remove hardcoded bits from LiteJet integration (#106281)
Use the new properties from pylitejet v0.6.0.
2023-12-27 15:43:00 +01:00
G Johansson 83f4d3af5c
Implement mode validation in Climate entity component (#105745)
* Implement mode validation in Climate entity component

* Fix some tests

* more tests

* Fix translations

* fix deconz tests

* Fix switcher_kis tests

* not None

* Fix homematicip_cloud test

* Always validate

* Fix shelly

* reverse logic in validation

* modes_str

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-27 14:51:39 +01:00
Jan-Philipp Benecke e04fda3fad
Add config flow to trend (#99761)
* Add config flow to trend

* Remove device_class from options flow

* Add min_samples and import step to config flow

* Fix import

* Fixing tests and some cleanup

* remove unneeded usefixtures

* Apply code review suggestions

* Re-add YAML support

* Re-add reload service

* Fix import

* Apply code review suggestions

* Add test coverage for yaml setup

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-27 14:46:57 +01:00
Erwin Douna 4decc2bbfb
Refactor Tado to use OAuth in the DeviceTracker (#102610)
* Refactor to use TadoConnector in the DeviceTracker

* Proposing myself as code owner to be notified of issues

* Update homeassistant/components/tado/device_tracker.py

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

* Fixing method names

* Current progress, switching machines

* Updating DeviceTracker to working prototype

* Removing unnecessary callback

* Adding dispatcher logic

* Minor fine-tuning the intervals

* Removing unnecessary debug log

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Fix sorting

* Retrieve devices from the Tado connector data

* Asyncio feedback & dispatch generic mobile devices

* Updating const

* Fine-tuning unloading

* Making add_tracked_entites callback

* Adding unload over dispatcher_connect

* Convert on_demand_update to callback

* Removing now unused method

* Merging method to on_demand_u

* Adding create_issue to address repair

* Updating with better translation

* Converting to callback

* Adding _attr_should_poll

* Putting back the on_demand_update

* Adding unique_id

* Converting to TrackerEntity

* Adding import step (review needed!)

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/device_tracker.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Typing and location_name

* Changing to _attr_unique_id

* Import improvement attempt

* Property feedback

* Update homeassistant/components/tado/config_flow.py

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

* Adding CONF_HOME_ID and task in get_scanner

* Updating descriptions

* Removing the create_task

* Putting back PLATFORM_SCHEMA

* Adding device_tracker

* Adding get for HomeID

* Get it better ;)

* Retrieve HomeID from API

* Add integration title in dialogs

* Update homeassistant/components/tado/config_flow.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Update homeassistant/components/tado/config_flow.py

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

* Fixing homeID and strings.json

* Delete request in strings

* Update deprecation date

* Adding test cases for import flow

* Update tests/components/tado/test_config_flow.py

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

* Update tests/components/tado/test_config_flow.py

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

* Update tests/components/tado/test_config_flow.py

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

* Removing none

* Fixing test cases

* Update homeassistant/components/tado/config_flow.py

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

* Removing from context manager

* Removing code owner

* Re-adding code owner

* Fix get scanner return value

* Fix device tracker interface

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-27 14:17:23 +01:00
Jan-Philipp Benecke 0694ff8965
Use snapshot assertion in homekit_controller diagnostics tests (#105647) 2023-12-27 13:49:09 +01:00
Joakim Sørensen b5012a9964
Adjust the GitHub config flow (#105295) 2023-12-27 13:42:24 +01:00
Franck Nijhof 0f3e6b0dec
Revert "Add preselect_remember_me to `/auth/providers`" (#106472)
Revert "Add preselect_remember_me to `/auth/providers` (#106462)"

This reverts commit c19688e2d2.
2023-12-27 13:22:12 +01:00
David Knowles 7746a94543
Fix Hydrawise watering time duration unit (#105919)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-27 13:20:09 +01:00
Allen Porter 2497798b5d
Allow clearing To-do list item extended fields (#106208) 2023-12-27 13:14:59 +01:00
Klaas Schoute d0b6acd5e0
Changed setup of easyEnergy services (#106288) 2023-12-27 13:04:49 +01:00
Michael 0824a1f4a2
Add significant Change support for media player (#105999) 2023-12-27 12:59:33 +01:00
Michael d747b0891d
Add significant Change support for fan (#105867) 2023-12-27 12:57:30 +01:00
Rami Mosleh f71e01f652
Improve glances tests (#106402) 2023-12-27 12:55:10 +01:00
G Johansson 8cd0644035
Add translation to ServiceValidationError in Lock (#105746) 2023-12-27 12:50:27 +01:00
Jan Bouwhuis dae8c0fc38
Fix MQTT retained event messages should be discarded (#106425) 2023-12-27 12:48:53 +01:00
kingy444 25f9c5f34b
Fix RainMachine bugs (#106231) 2023-12-27 12:38:37 +01:00
Robert Resch c19688e2d2
Add preselect_remember_me to `/auth/providers` (#106462) 2023-12-27 11:47:52 +01:00
Franck Nijhof a78ecb3895
Add error handling to Tailwind service methods (#106463) 2023-12-27 10:53:31 +01:00
Franck Nijhof 68ac4717dc
Revert "Raise HomeAssistantError if event is triggered with invalid event_type" (#106458) 2023-12-27 10:22:37 +01:00
Renat Sibgatulin 1031e416be
Remove IP / mDNS validation in airq integration setup (#106326)
Original design relied on aioairq.AirQ.__init__ checking if the input
was a valid IP address or an mDNS of a very specific structure,
and raising an InvalidInput otherwise.
Now, aioairq==0.3.2 removes said check completely following a user's
request to allow arbitrary host name and DNS entries.
In the config flow, "cannot_connect" covers the cases of misspelled
inputs now, which previously were covered by a dedicated "invalid_input"
2023-12-27 09:56:13 +01:00
Franck Nijhof d6d8e914bc
Flip around Tailwind locked out binary sensor (#106457) 2023-12-27 09:52:16 +01:00
Jan Bouwhuis c7eab49c70
Raise ServiceValidationError on invalid select option (#106350)
* Raise ServiceValidationError on invalid select option

* Fix tests

* Correct place holders

* More test fixes
2023-12-27 09:45:55 +01:00
Robert Resch fbcb31b103
Deprecate deprecated unit of measurement constants (#106455) 2023-12-27 09:04:25 +01:00
Jan Bouwhuis 65e8bbacc9
Raise HomeAssistantError if event is triggered with invalid event_type (#106357) 2023-12-27 08:50:46 +01:00
Martin Hjelmare 59a01da0ed
Improve cloud tts tests (#106427) 2023-12-27 08:48:07 +01:00
Brett Adams 2afe3364ca
Add names to all Tessie entities (#106267)
* Add name back to device tracker and lock

* Add name to media player

* Add name to update

* Update snapshot

* Keep none name on Update

* Re-add update
2023-12-27 07:56:23 +01:00
Brett Adams 91aea843fc
Move Trunks from Button to Cover in Tessie (#106448)
* Move trunks from buttons to covers

* Add tests

* Cleanup snapshot

* Use Constants

* StrEnum to IntEnum
2023-12-27 06:56:09 +01:00
Brett Adams 2fe982c7f3
Handle failed updates in Tessie (#106450) 2023-12-26 17:19:44 -10:00
J. Nick Koston 4b19c28ad9
Use faster contains check in media_player (#106434) 2023-12-26 13:18:22 -10:00
Brett Adams 9dde42a023
Handle Auto Fan and MyFan in Advantage Air (#95594)
* Decouple climate from MyFan

* Add tests

* Prepare for auto change

* Handle both modes

* Fix import

* Remove reference to FAN map

* Correct auto fan logic

* Remove multiline ternary operator

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

* Fix coverage

* fix tests

* ruff

* Test auto fan mode with snapshot

* add more testing

* Add switch testing

* Fix a bug caught by new tests

* Remove ineffective snapshot tests

* Readd snapshots but use args

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-26 23:31:25 +01:00
Keilin Bickar 615cd56f03
Add Support for SleepIQ Foot Warmers (#105931)
* Add foot warmer support

* Add Tests for foot warmers

* Move attr options out of constructor

* Change options to lowercase

* Update test and translations

* Switch back to entity

* Update homeassistant/components/sleepiq/strings.json

---------

Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-26 23:31:00 +01:00
Brett Adams b51a242fd4
Add install to Tessie update platform (#106352) 2023-12-26 11:56:23 -10:00
Joost Lekkerkerker 01ded7daea
Add config flow to Streamlabs water (#104962)
* Add config flow to Streamlabs water

* Add config flow to Streamlabs water

* Add config flow to Streamlabs water

* Add issue when import is successful

* Remove import issue when entry already exists

* Remove import issue when entry already exists

* Fix feedback

* Fix feedback

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-26 22:24:28 +01:00
G Johansson 4f0ee20ec5
Add config flow to System Monitor (#104906)
* Initial commit for config flow to System Monitor

* sensors

* Fixes

* Works

* Add import

* entity_registry_enabled_default = False

* entity_category = diagnostic

* Create issue

* issue in config flow

* Tests

* test requirement

* codeowner

* Fix names

* processes

* Fix type

* reviews

* get info during startup once

* Select process

* Legacy import of resources

* requirements

* Allow custom

* Fix tests

* strings

* strings

* Always enable process sensors

* Fix docstrings

* skip remove sensors if no sensors

* Modify sensors

* Fix tests
2023-12-26 18:29:32 +01:00
Simone Chemelli 2cd6c2b6bf
Add alarm platform to Comelit (#104718)
* initial work on alarm

* final work on alarm

* coveragerc

* add tests

* add code validation

* remove sensor changes for a dedicated PR

* code optimization and cleanup

* tweaks

* tweak #2

* apply suggestion

* code quality

* code quality #2

* fix cover.py

* api typing

* use base classes where possibile

* apply const as per review comment

* cleanup unload entry

* apply review comments
2023-12-26 18:27:33 +01:00
mkmer e9f28c2060
Redact unique id from diagnostics in blink (#106413)
redact unique id
2023-12-26 16:16:54 +01:00
Tobias Perschon c8f9285aba
Switch unifi_direct to external library (#105046)
* switch to external library

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

* use mac as name if no hostname is available

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

* update requirements_test_all

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

* update .coveragerc

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

* update codeowners and remove old tests

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

* reverted get_device_name to old behaviour

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

* typing and some cleanup

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

* typing fix

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

* code cleanup

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

---------

Signed-off-by: Tobias Perschon <tobias@perschon.at>
2023-12-26 13:22:53 +01:00
Maciej Bieniek 3eef1a3f6a
Add valve platform for Shelly Gas Valve (#106087)
* Add valve platform

* Update BLOCK_PLATFORMS

* Add tests

* Use _attr_is_closed

* Fix mypy errors

* Make the valve switch to disabled by default

* Add deprecation issues

* Remove LOGGER

* Clean

* Add deprecation comments

* Suggested changes

* Set True for is_fixable

* Show valve entity and services in repair issue
2023-12-26 07:56:21 +01:00
Robert Hillis 6f9bff7602
Add config flow to Netgear LTE (#93002)
* Add config flow to Netgear LTE

* uno mas

* uno mas

* forgot one

* uno mas

* uno mas

* apply suggestions

* tweak user step

* fix load/unload/dep

* clean up

* fix tests

* test yaml before importing

* uno mas

* uno mas

* uno mas

* uno mas

* uno mas

* fix startup hanging

* break out yaml import

* fix doc string

---------

Co-authored-by: Robert Resch <robert@resch.dev>
2023-12-26 05:19:28 +01:00
J. Nick Koston eb3fde7261
Avoid clearing the attr cache in setter when nothing has changed (#106384) 2023-12-25 09:13:48 -10:00
Jan Bouwhuis 3016dbc2bd
Enable toggle on valve/cover start in google_assistant (#106378) 2023-12-25 15:40:17 +01:00
G Johansson 123b2669f3
Add full coverage to Fast.com (#105596)
* Add full test coverage for Fast.com

* Remove not needed

* Add service deprecated test

* Rename speedtest

* Extend delay test
2023-12-25 12:04:07 +01:00
Brett Adams 4c11cb78c8
Add delay to manual refresh in Advantage Air (#104918)
* Add debouncer

* Avoid having 3 calls

* Debounce causes extra refresh in reload window

* Seperate disabled test to avoid latent refresh

---------

Co-authored-by: G Johansson <goran.johansson@shiftit.se>
2023-12-25 12:01:59 +01:00
Patrick Frazer 771409579a
Add select platform to drop_connect integration (#106309)
* Add select platform to drop_connect integration

* Fix select test

* Fix minor issues

* Make function definition more specific

* Revert change to switch.py for inclusion in separate PR

* Improve typing

* Add translation keys for select options

* Fix set function typing

* Remove redundant value check

* Remove args that match defaults
2023-12-24 15:03:10 +01:00
Joost Lekkerkerker c7cb508896
Add diagnostics to ccm15 (#106329)
* Add diagnostics to ccm15

* Update homeassistant/components/ccm15/diagnostics.py

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

---------

Co-authored-by: J. Nick Koston <nick@koston.org>
2023-12-24 02:34:36 +01:00
J. Nick Koston f097e2a2f6
Add support for attribute caching to the media_player platform (#106257) 2023-12-23 13:33:11 -10:00
J. Nick Koston 6e6d7a0c92
Add support for attribute caching to the event platform (#106330) 2023-12-23 13:23:32 -10:00
J. Nick Koston e43f4412fa
Fix native_step in number not looking at _attr_native_step (#106327) 2023-12-23 13:20:24 -10:00
J. Nick Koston abd3c54cbe
Add support for attribute caching to the camera platform (#106256) 2023-12-23 13:01:47 -10:00
Kevin Worrel 4c912fcf1b
Update test data for screenlogic (#106325) 2023-12-23 11:57:27 -10:00
Oscar Calvo b2caf15434
New integration Midea ccm15 climate (#94824)
* Initial commit

* Correct settings for config flow

* Use scan interval

* Store proper data

* Remove circular dependency

* Remove circular dependency

* Integration can be initialized

* Fix defaults

* Add setup entry

* Add setup entry

* Dont block forever

* Poll during async_setup_entry

* Remove not needed async methods

* Add debug info

* Parse binary data

* Parse binary data

* Use data to update device

* Use data to update device

* Add CCM15DeviceState

* Use DataCoordinator

* Use DataCoordinator

* Use DataCoordinator

* Use CoordinatorEntity

* Use CoordinatorEntity

* Call update API

* Call update API

* Call update API

* Call update API

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Use dataclass

* Fix bugs

* Implement swing

* Support swing mode, read only

* Add unit test

* Swing should work

* Set swing mode

* Add DeviceInfo

* Add error code

* Add error code

* Add error code

* Add error code

* Initial commit

* Refactor

* Remove comment code

* Try remove circular ref

* Try remove circular ref

* Remove circular ref

* Fix bug

* Fix tests

* Fix tests

* Increase test coverage

* Increase test coverage

* Increase test coverrage

* Add more unit tests

* Increase coverage

* Update coordinator.py

* Fix ruff

* Set unit of temperature

* Add bounds check

* Fix unit tests

* Add test coverage

* Use Py-ccm15

* Update tests

* Upgrade dependency

* Apply PR feedback

* Upgrade dependency

* Upgrade dependency

* Upgrade dependency

* Force ruff

* Delete not needed consts

* Fix mypy

* Update homeassistant/components/ccm15/coordinator.py

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

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Apply PR Feedback

* Fix unit tests

* Move climate instance

* Revert "Move climate instance"

This reverts commit cc5b9916b7.

* Apply PR feedback

* Apply PR Feedback

* Remove scan internal parameter

* Update homeassistant/components/ccm15/coordinator.py

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

* Remove empty keys

* Fix tests

* Use attr fields

* Try refactor

* Check for multiple hosts

* Check for duplicates

* Fix tests

* Use PRECISION_WHOLE

* Use str(ac_index)

* Move {self._ac_host}.{self._ac_index} to construtor

* Make it fancy

* Update homeassistant/components/ccm15/coordinator.py

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

* Move const to class variables

* Use actual config host

* Move device info to construtor

* Update homeassistant/components/ccm15/climate.py

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

* Set name to none, dont ask for poll

* Undo name change

* Dont use coordinator in config flow

* Dont use coordinator in config flow

* Check already configured

* Apply PR comments

* Move above

* Use device info name

* Update tests/components/ccm15/test_coordinator.py

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

* Update tests/components/ccm15/test_config_flow.py

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

* Apply feedback

* Remove logger debug calls

* Add new test to check for dupplicates

* Test error

* Use better name for test

* Update homeassistant/components/ccm15/config_flow.py

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

* Update homeassistant/components/ccm15/climate.py

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

* Update homeassistant/components/ccm15/config_flow.py

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

* Use prop data for all getters

* Fix tests

* Improve tests

* Improve tests, v2

* Replace log message by comment

* No need to do bounds check

* Update config_flow.py

* Update test_config_flow.py

* Update test_coordinator.py

* Update test_coordinator.py

* Create test_climate.py

* Delete tests/components/ccm15/test_coordinator.py

* Update coordinator.py

* Update __init__.py

* Create test_climate.ambr

* Update conftest.py

* Update test_climate.py

* Create test_init.py

* Update .coveragerc

* Update __init__.py

* We need to check bounds after all

* Add more test coverage

* Test is not None

* Use better naming

* fix tests

* Add available property

* Update homeassistant/components/ccm15/climate.py

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

* Use snapshots to simulate netwrok failure or power failure

* Remove not needed test

* Use walrus

---------

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: Joost Lekkerkerker <joostlek@outlook.com>
2023-12-23 21:24:52 +01:00
Robert Resch ebdf7b9c8c
Deprecate some deprecated const constants (#106230)
* Deprecate some deprecated const constants

* Improve code

* fix typing

* Apply suggestions from code review

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

---------

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-12-23 20:18:51 +01:00
Brandon Rothweiler c629b434cd
Add energy usage sensor to A. O. Smith integration (#105616)
* Add energy usage sensor to A. O. Smith integration

* Address review comments

* Address review comment

* Address review comment

* Create device outside of the entity class

* Address review comment

* remove platinum
2023-12-23 17:24:49 +01:00
Matt 345f7f2003
Fix feedreader date comparison to allow RSS entries with identical timestamps (#104925)
Change feedreader publishdate comparison
2023-12-23 16:48:36 +01:00
Jan Bouwhuis e311a6835e
Add valve platform support to google_assistant (#106139)
* Add valve platform to google_assistant

* Use constant for domains set
2023-12-23 16:46:25 +01:00
Patrick Frazer c126022d4f
Add switches to drop_connect integration (#106264)
* Add switches to drop_connect integration

* Let device update state

* Simplify icon property

* Use constants for icon names

* Add simulated responses from devices

* Use keyed form for switch value

* Clean up properties
2023-12-23 16:39:31 +01:00