Commit Graph

13723 Commits (896dd1a36bffae2a4181a4bb24d3898f44de70f3)

Author SHA1 Message Date
Franck Nijhof e9543a7254
Enable Ruff PT021 (#86801) 2023-01-27 17:14:04 +01:00
Franck Nijhof 8f74bff354
Enable Ruff PLC0414 (#86799) 2023-01-27 16:32:04 +01:00
Shay Levy f9f9741d2a
Separate Shelly tests parameters in parametrize (#86778)
Shelly tests - separate parameters in parametrize
2023-01-27 14:28:35 +01:00
Franck Nijhof ef800335fb
Enable Ruff PT022 (#86792)
* Enable Ruff PT022

* Adjust found cases
2023-01-27 13:57:06 +01:00
Franck Nijhof bfbf9b9751
Adjusts imports in tests to match our relative import rules (#86788) 2023-01-27 12:51:58 +01:00
Franck Nijhof 89c0b27b42
Migrates tests to use UnitOfPressure enum (#86785) 2023-01-27 12:13:27 +01:00
epenet 561fc2d771
Remove deprecated unit system properties (#86643)
* Remove deprecated unit system properties

* Fix tests
2023-01-27 12:09:26 +01:00
Franck Nijhof 3ff3834cae
Re-enable Ruff UP024 (#86784) 2023-01-27 12:03:27 +01:00
Franck Nijhof a79885ceaf
Enable Ruff SIM117 (#86783) 2023-01-27 11:52:49 +01:00
Franck Nijhof 57cf11f067
Enable Ruff PT015 (#86775) 2023-01-27 11:10:29 +01:00
Franck Nijhof fca3382d37
Migrates tests to use MediaPlayerEntityFeature enum (#86779) 2023-01-27 10:56:40 +01:00
Shay Levy ae6bc96002
Shelly code quality (#86733) 2023-01-27 10:47:05 +02:00
Franck Nijhof e4a78420b8
Enable Ruff PT013 (#86757)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-27 09:09:46 +01:00
Jesse Hills 78207121c0
Remove esphome password from config flow data if not needed (#86763)
* Remove esphome password if not needed

* Add test

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-26 21:45:51 -05:00
Paulus Schoutsen 9cd48b4999
OpenAI: Fix device without model (#86754) 2023-01-26 23:25:02 +01:00
tronikos 04bc522fa5
Google Assistant SDK: Test unload when enable_conversation_agent (#86707)
Test unload when enable_conversation_agent
2023-01-26 16:17:23 -05:00
Franck Nijhof 62dcbe5258
Enable Ruff PT001 (#86730) 2023-01-26 18:05:05 +01:00
Robert Svensson 4181a9baf0
Improve Axis config flow tests (#86644)
* Improve Axis config flow tests

* Don't use prepare_config_entry
2023-01-26 14:29:06 +01:00
Erik Montnemery fea30c1ce9
Terminate strings at NUL when recording states and events (#86687) 2023-01-26 11:11:03 +01:00
Paulus Schoutsen ff91fb7d74
Make openai conversation prompt template more readable + test case (#86676) 2023-01-26 11:04:15 +01:00
Paulus Schoutsen 28a3b4a32c
Add error handling for OpenAI (#86671)
* Add error handling for OpenAI

* Simplify area filtering

* better prompt
2023-01-25 22:17:19 -05:00
Franck Nijhof e50a531cd9
Code styling tweaks to the tests - Part 2 (#86662)
Co-authored-by: jjlawren <jjlawren@users.noreply.github.com>
2023-01-26 01:23:53 +01:00
Franck Nijhof 4955dd3e1b
Code styling tweaks to Nexia tests (#86660) 2023-01-25 23:36:17 +01:00
Robert Svensson a56f6cb863
Assert Axis config entry state not hass.data (#86648) 2023-01-25 21:15:03 +01:00
Joakim Plate 1b97a51b5e
Print expected device class units in error log (#86125) 2023-01-25 20:45:50 +01:00
J. Nick Koston 03a8dcfdc1
Add Mopeka integration (#86500)
* Add Mopeka integration

Mopeka makes BLE propane tank monitors

* cover

* wip

* wip

* bump lib

* strip binary sensor

* all sensors

* all sensors

* update tests

* change quality

* change quality

* adjust

* integration_type, strict-typing
2023-01-25 12:28:13 -05:00
Paulus Schoutsen 7d641e4d3e
Add OpenAI integration (#86621)
* Add OpenAI integration

* Remove empty manifest fields

* More prompt tweaks

* Update manifest

* Update homeassistant/components/openai_conversation/config_flow.py

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

* Address comments

* Add full integration tests

* Cripple the integration

* Test single instance

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-25 11:30:13 -05:00
Jon Caruana bbed1099d5
Add diagnostics to LiteJet (#86600) 2023-01-25 16:41:59 +01:00
SgtBatten 0ccab19d2c
Add Mega Joule as valid unit of energy (#86055)
* Add Mega joule

* Reorder valid energy types

Alphabetical

* Add Mega Joule

* Add Mega Joule as valid energy unit

* Add Mega Joule

* Add Mega Joule as a Unit of Measurement to Energy

* Update tests

* Update tests

* Update number docstring

Co-authored-by: Roving Ronin <108674933+Roving-Ronin@users.noreply.github.com>
Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-25 14:13:42 +01:00
Jan Bouwhuis f182e314e5
Add number platform support to Alexa (#86553)
Co-authored-by: Mike Degatano <michael.degatano@gmail.com>
2023-01-25 13:34:53 +01:00
Allen Porter 7ff1265b10
Add service to create calendar events (#85805) 2023-01-25 12:43:50 +01:00
Franck Nijhof 5f1edbccd1
Remove Almond integration (#86616) 2023-01-25 12:21:26 +01:00
TheJulianJES 0cf676d501
Remove unnecessary ZHA AnalogInput sensors for Xiaomi plugs (#86261)
* Remove unnecessary ZHA AnalogInput sensors for Xiaomi plugs

* Remove AnalogInput entities from test
2023-01-25 06:17:33 -05:00
Erik Montnemery f327a247a0
Allow a temperature sensor to be in K (#86073) 2023-01-25 11:47:52 +01:00
Stefan Agner f3cf760772
Drop IoTaWatt Accumulated sensors (#86611) 2023-01-25 11:08:43 +01:00
epenet a8c952f82f
Mock async_setup_entry in SamsungTV tests (#86601)
* Mock async_setup_entry in samsungtv tests

* Adjust test_import_legacy_without_name

* Adjust test_form_reauth_encrypted

* Add specific test

* 100% coverage
2023-01-25 10:48:15 +01:00
Kevin Stillhammer 781a4267cf
Calculate data using all sections for here_travel_time (#86576)
Calculate data using all sections
2023-01-25 10:33:43 +01:00
J. Nick Koston 7bd56ad7d6
Migrate totalconnect to use async_forward_entry_setups (#86580)
* Migrate totalconnect to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* fix double update and tests
2023-01-25 10:26:49 +01:00
J. Nick Koston 1a2652e1bb
Migrate konnected to use async_forward_entry_setups (#86565)
* Migrate konnected to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* update tests
2023-01-25 10:19:23 +01:00
J. Nick Koston 5285d057d2
Migrate cast to use async_forward_entry_setups (#86558)
Replaces deprecated async_setup_platforms with async_forward_entry_setups
2023-01-25 10:12:58 +01:00
J. Nick Koston 3bfdba50d9
Migrate homematicip_cloud to use async_forward_entry_setups (#86563)
* Migrate homematicip_cloud to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* adapt test, this test should be rewritten
2023-01-25 10:01:51 +01:00
Erik Montnemery 086a6460ef
Allow customizing sensor state precision (#86074)
* Allow customizing sensor precision

* Don't convert integer strings to floats

* Tweak converting sensor state to number

* Drop default rounding to 2 decimals

* Adjust test

* Tweak rounding, improve test coverage

* Don't convert to a number if not necessary

* Raise if native_precision is set and state is not numeric

* Address review comments

* Address comments, simplify

* Don't call  property twice

* Make exception more helpful
2023-01-25 08:55:46 +01:00
Paulus Schoutsen 6c8efe3a3b
Conversation cleanup (#86592)
* Require config entry when setting Conversation agent, add new unset agent method

* Remove onboarding from conversation agent

* Type attribution

* Wrap async_process params in ConversationInput object
2023-01-24 21:47:49 -06:00
J. Nick Koston b507fb1e06
Migrate steam_online to use async_forward_entry_setups (#86578)
* Migrate steam_online to use async_forward_entry_setups

Replaces deprecated async_setup_platforms with async_forward_entry_setups

* fix steam_online tests
2023-01-24 23:30:28 +02:00
On Freund 2c9e8ad475
ReadYourMeter Pro integration (#85986)
* ReadYourMeter Pro integration

* Add __init__.py to .coveragerc

* Address code review comments

* More code review comments
2023-01-24 22:41:33 +02:00
Allen Porter 09891ead8d
Add rainbird rain delay number entity, deprecating the sensor and service (#86208)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-24 21:16:52 +01:00
G Johansson b3c5c6ae9c
Add sensor to group (#83186) 2023-01-24 20:12:27 +01:00
Ernst Klamer 886d2fc3a1
Add events for xiaomi-ble (#85139)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-24 08:48:30 -10:00
puddly 4b88a71d60
Re-enable multi-PAN (#86533)
Revert "Disable multi-pan (#83603)"

This reverts commit 9c7b80090a.
2023-01-24 19:05:17 +01:00
Martin Hjelmare ff5c1ce2d3
Bump python-matter-server to 2.0.0 (#86470) 2023-01-24 19:00:04 +01:00
Maciej Bieniek 9a68f0abe8
Store Shelly climate `last_target_temp` value in restore extra data (#86482)
fixes undefined
2023-01-24 07:28:34 -10:00
tronikos 949c88930f
Google Assistant SDK: Allow multiple commands in the same conversation context (#85423)
* Allow multiple commands in the same conversation

* fix test

* Apply suggestions from code review

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

* Add missing cv import

* Update service description

* Fix test after merging dev

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2023-01-24 11:54:23 -05:00
tronikos 0daaa37e09
Google Assistant SDK: support audio response playback (#85989)
* Google Assistant SDK: support response playback

* Update PATHS_WITHOUT_AUTH

* gassist-text==0.0.8

* address review comments
2023-01-24 08:19:23 -08:00
Artem Draft 02e973026d
Add browse media and play media support in Bravia TV (#85288)
* Add media browsing and play media support in Bravia TV

* Add fix invalid Bravia Content-Type header for icons

* Avoid duplicates in source_list

* Small cleanup

* Edit comment

* Revert en.json
2023-01-24 14:31:09 +01:00
Franck Nijhof 73c4ac53d2
Enable T20 (flake8-print) to ban use of print statements (#86525)
* Enable T20 (flake8-print) to ban use of print statements

* Make compatible with flake8 config
2023-01-24 14:24:21 +01:00
epenet e96cea997e
Add reboot button to SFRBox (#86514) 2023-01-24 14:13:49 +01:00
Todd Radel 63bddae01d
Replace abodepy library with jaraco.abode to enable new Abode devices (#85474)
* replaced abodepy library with jaraco.abode

* updated jaraco.abode to version 3.2.1

* send capture event as dict
2023-01-24 12:44:38 +01:00
epenet 22dee1f92b
Add reauth to SFR Box (#86511) 2023-01-24 11:00:22 +01:00
epenet 3ec7f0280e
Add authentication to SFR Box (#85757)
* Add credentials to SFR Box

* Make username/password inclusive

* Add handler for ConnectTimeout

* Use menu

* Drop get
2023-01-24 07:22:14 +01:00
Michael Hansen ea95abcb30
Use intent responses from home-assistant-intents (#86484)
* Use intent responses from home_assistant_intents

* Use error responses from home_assistant_intents

* Remove speech checks for intent tests (set by conversation now)

* Bump hassil and home-assistant-intents versions

* Use Home Assistant JSON reader when loading intents

* Remove speech checks for light tests (done in agent)

* Add more tests for code coverage

* Add test for reloading on new component

* Add test for non-default response
2023-01-23 22:38:41 -05:00
Dan Simpson 66e21d7701
Add Powerwall off grid switch (#86357)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-23 15:03:15 -10:00
IceBotYT 94c7f7bbb7
Add 3 new fields to LaCrosse View (#86356)
* Add BarometricPressure, FeelsLike, and WindChill

* Improve test coverage
2023-01-24 01:11:07 +01:00
Martin Hjelmare 51001ad1e1
Add matter diagnostics (#86091)
* Add matter diagnostics

* Complete test typing

* Rename redact attributes helper

* Adjust device lookup after identifier addition
2023-01-23 11:05:09 -05:00
epenet b4dd1b8cb2
Rename logbook constant (#86464) 2023-01-23 18:00:25 +02:00
Jan Bouwhuis 33fb27eb1a
Rename fake kitchen_sink demo locks to more common name (#86452) 2023-01-23 16:31:02 +01:00
Erik Montnemery 9ef86b7b66
Add Thread integration (#86283)
* Add Thread integration

* Address review comments

* Address review comments
2023-01-23 10:27:24 -05:00
G Johansson 68dd2802a1
Add remove entity in group.set service (#79401)
* Group set remove entities

* simplify

* Add test

* Fix test
2023-01-23 15:00:40 +01:00
Jan Bouwhuis f719ecf086
Add command template and code_format support for MQTT lock (#85830)
* Add command template for MQTT lock

* Fix tests
2023-01-23 14:48:07 +01:00
Marc Mueller 00e5f23249
Update Union typing (zha) [Py310] (#86453) 2023-01-23 14:46:40 +01:00
TheJulianJES 6582ee3591
Use ExecuteIfOff on color cluster for supported bulbs with ZHA (#84874)
* Add options and execute_if_off_supported properties to Color channel

* Initialize "options" attribute on Color channel (allowing cache)

* Implement execute_if_off_supported for ZHA lights

* Make sure that color_channel exists, before checking execute_if_off_supported

* Replace "color_channel is not None" check with simplified "if color_channel"

* Make "test_number" test expect "options" for init attribute

* Add test_on_with_off_color test to test old and new behavior

* Experimental code to also support "execute_if_off" for groups if all members support it

* Remove support for groups for now

Group support will likely be added in a separate PR. For now, the old/standard behavior is used for groups.
2023-01-23 07:58:18 -05:00
Jan Bouwhuis b03677db1c
Add validation for lock component (#85842)
* Add validation for lock integration

* Add LockEntityFeature.OPEN for lock group

* Correct tests google_assistant for extra entity

* Validate feature when registering service

* Update tests

* Add LockFeature.OPEN with group
2023-01-23 13:08:00 +01:00
uvjustin d0153f5031
Detect timestamp discontinuity in stream (#86430)
fixes undefined
2023-01-23 10:09:46 +01:00
Marc Mueller 4f87c1f30f
Update pre-commit-config [Py310] (#86415) 2023-01-23 09:59:44 +01:00
Marc Mueller d7dda6bee5
Update python version used for pylint [Py310] (#86414)
* Update python version used for pylint linting [Py310]

* Import Callable from collections.abc [Py310]

* Use builtin anext [Py310]
2023-01-23 07:56:15 +01:00
zebardy af107d7853
Add support for additional fields to nut (#83265)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-22 19:24:30 -10:00
Daniele Ricci 70a9c8f8aa
Upgrade caldav to 1.0.1 (#85536)
Upgrade caldav (fix #40127)

date_search was deprecated in favour of search which also implements client-side recurring events expansion
2023-01-22 16:00:19 -08:00
Shay Levy 9e4be56939
Shelly - handle None in RPC power sensors (#86399)
Handle None in RPC power sensors
2023-01-22 22:18:47 +02:00
starkillerOG 32c1a01159
Add Reolink dhcp discovery (#85880)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-22 21:09:18 +01:00
Martin Hjelmare 9c76cd1b6a
Add mysensors remote platform (#86376) 2023-01-22 21:04:42 +01:00
J. Nick Koston 52ea64d1d0
Fix repr for States and Events without a timestamp (#86391) 2023-01-22 08:11:42 -10:00
J. Nick Koston 0b0e977ce9
Remove history use_include_order configuration option (#86365) 2023-01-22 17:43:05 +01:00
Robert Svensson 332d3e0f19
Use fixtures to setup Axis integration in tests (#86034)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-22 17:33:40 +01:00
epenet 30bf0634fe
Add per-file-ignore to pylint (#86289) 2023-01-22 17:26:24 +01:00
Duco Sebel bcec69fec1
Upgrade python-homewizard-energy to 1.7.0 (#86383) 2023-01-22 17:11:27 +01:00
J. Nick Koston 5ff0479c16
Split history websocket API into its own file (#86364) 2023-01-21 18:45:00 -10:00
Tom Harris 8cf6ebd363
Allow changing the Insteon USB device (#86290)
* Reconfig PLM device

* Test config change
2023-01-21 23:04:25 -05:00
J. Nick Koston 8227c84e05
Add support for streaming (push) history (#85892)
* Add support for streaming (push) history

Currently we poll for history data, like logbook we can stream
this data to avoid database overhead

* Update homeassistant/components/history/__init__.py

* merge filter

* expose new api

* expose new api

* expose new api

* expose new api

* coverage

* tests

* fixes

* tweak

* tweak

* tweak

* DRY

* leaky

* test for specific entities

* test for specific entities

* test for specific entities

* test for specific entities

* test for specific entities

* cover

* cover

* more cover

* tweak

* make sure it works before history starts

* fix test

* cover

* tweak

* make sure we unsub on overflow

* Update homeassistant/components/history/__init__.py

* Update homeassistant/components/history/__init__.py

* fix race in test

* fix db executor access

* relo above task creation
2023-01-21 22:03:41 -05:00
Shay Levy d5797d9f7d
Cleanup Shelly imports (#86359)
* Cleanup Shelly imports

* Cleanup tests
2023-01-22 01:26:54 +02:00
Guido Schmitz 164fad112c
React on IP changes in devolo Home Network (#86195) 2023-01-21 12:22:13 -10:00
J. Nick Koston a62b8a4f5b
Add zeroconf discovery to Synology DSM (#86062) 2023-01-21 11:12:18 -10:00
Luke f608e150fd
Fix incorrect mock in whirlpool (#86331)
* Added async according to error logs

* changed Asyncmock to magicmock get_aircon_mock

* changed attr_callback to MagicMock for sensor_mock
2023-01-21 20:18:43 +01:00
Michael Hansen 255611238b
Conversation config (#86326)
* Restore conversation config

* Fall back to en for en_US, etc.

* Simplify config passing around

Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2023-01-20 21:39:49 -05:00
Erik Montnemery 1e2f00e186
Improve device automation validation (#86143) 2023-01-21 00:44:17 +01:00
Maciej Bieniek 58bfeb3110
Fix `state_class` for Accuweather `precipitation` sensor (#86088) 2023-01-20 23:36:25 +01:00
starkillerOG 7e51aeb916
Reolink add binary sensors (#85654)
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-20 22:27:59 +01:00
mkmer 7f4a727e10
Address Honeywell late review (#86202) 2023-01-20 20:30:48 +01:00
Shay Levy df77646c8a
Fix Shelly sleeping Gen2 - do not refresh from zeroconf discovery (#86296) 2023-01-20 21:27:31 +02:00
Franck Nijhof 914704e459
Remove deprecated Uptime YAML configuration (#86292) 2023-01-20 18:50:32 +02:00
Franck Nijhof 7e8c081065
Refactor HomeWizard switch platform to use entity descriptions (#86011) 2023-01-20 08:49:04 -05:00
Franck Nijhof a9728bd3a5
Update python-homewizard-energy to 1.6.1 (#86274)
* Update python-homewizard-energy to 1.6.1

* Adjust tests
2023-01-20 08:48:48 -05:00
Franck Nijhof c14aa7bee4
Automatically set up HomeWizard during onboarding (#86024)
* Automatically set up HomeWizard during onboarding

* Add disabled API during onboarding test

* Mark onboarding complete half way in the test
2023-01-20 08:48:36 -05:00
Erik Montnemery ae39b95bb1
Rename `otbr` integration (#86284)
Rename otbr integration
2023-01-20 08:32:41 -05:00
Franck Nijhof 24fdd588fd
Code styling tweaks to the tests - Part 1 (#86192) 2023-01-20 13:52:46 +01:00
Franck Nijhof 79b52a2b41
Stricter pylint message control (#86154) 2023-01-20 13:47:55 +01:00
fwestenberg 29b2b6727e
Add Stookwijzer (#84435)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-20 13:42:47 +01:00
Duco Sebel 658db7ff05
Add sensors for smart and gas meter identifiers (serial numbers) in HomeWizard (#86282) 2023-01-20 13:42:01 +01:00
Michael e1512fd3e1
Support password less PI-Hole installations (#86184)
fixes undefined
2023-01-20 13:02:44 +01:00
Jan Bouwhuis 92742ae423
Add jammed state support for MQTT lock (#86010)
* Add jammed state support for MQTT lock

* Correct payload jammed key

* Add tests - rename solved to ok

* Rename jammed state and template topics to motor

* Use state topic for handling motor state

* Follow up comments

* Change default behaviour `state_unjammed`

* Skip `state_unjammed`
2023-01-20 12:19:26 +01:00
Duco Sebel 4be7b62607
Bumb python-homewizard-energy to 1.6.0 (#86255) 2023-01-19 21:33:58 -05:00
Michael Hansen 5aca996f22
HassTurnOn/Off intents to also handle cover entities (#86206)
* Move entity/area resolution to async_match_states

* Special case for covers in HassTurnOn/Off

* Enable light color/brightness on areas

* Remove async_register from default agent

* Remove CONFIG_SCHEMA from conversation component

* Fix intent tests

* Fix light test

* Move entity/area resolution to async_match_states

* Special case for covers in HassTurnOn/Off

* Enable light color/brightness on areas

* Remove async_register from default agent

* Remove CONFIG_SCHEMA from conversation component

* Fix intent tests

* Fix light test

* Fix humidifier intent handlers

* Remove DATA_CONFIG for conversation

* Copy ServiceIntentHandler code to light

* Add proper errors to humidifier intent handlers
2023-01-19 17:15:01 -06:00
Paulus Schoutsen 8f10c22a23
Update ESPHome devices from HA (#86249)
* Update ESPHome devices from HA

* esphome-dashboard-api==1.2.2

* Limit to 1 parallel ESPHome update
2023-01-19 16:28:46 -05:00
Joris Pelgröm 8aeb20db00
Update allowlisted OAuth redirect URIs for Wear OS in China (#86247) 2023-01-19 16:07:08 -05:00
Paulus Schoutsen 9631146745
Add conversation mobile app webhook (#86239)
* Add conversation mobile app webhook

* Re-instate removed unused import which was used as fixture
2023-01-19 13:59:02 -05:00
Aarni Koskela 40d39a15c9
Fix stray string literal in bluetooth test wrapper (#86228) 2023-01-19 14:53:43 +01:00
GrahamJB1 200d3ae845
modbus slave unique ids (#86126)
modbus slave unique ids
2023-01-19 11:08:11 +01:00
Franck Nijhof 6f44bd43b0
Clean up HomeWizard diagnostic tests (#86211) 2023-01-19 09:35:12 +01:00
epenet 4b6157cd9b
Add type hints to Filter integration tests (#86169)
* Add type hints to filter tests

* Adjust

* Ensure strings are passed to State constructor

* Simplify Recorder import
2023-01-19 08:09:04 +01:00
Michael Hansen 2f98485ae7
Add conversation reload service (#86175)
* Add preload and reload service calls to conversation

* Add conversation preload/reload to websocket API

* Merge prepare into reload

* reload service and prepare websocket API

* Add preload and reload service calls to conversation

* Add conversation preload/reload to websocket API

* Merge prepare into reload

* reload service and prepare websocket API

* Add language lock for loading intents

* Add more tests for code coverage
2023-01-18 19:36:51 -06:00
Paulus Schoutsen a83318f373
ESPHome dashboard tweaks (#86176) 2023-01-18 21:15:37 +01:00
Paulus Schoutsen 29337bc6eb
Reload ESPHome config entries when dashboard info received (#86174) 2023-01-18 17:59:55 +01:00
Shay Levy c40c37e9ee
Add reauth flow to webOS TV integration (#86168)
* Add reauth flow to webOS TV integration

* Remove unnecessary else
2023-01-18 18:48:38 +02:00
Paulus Schoutsen f2b348dbdf
Add OTBR WebSocket API (#86107)
* Add OTBR WebSocket API

* Not always active dataset

* Move logic to data class

* Remove retry until we need it

* Test all the things
2023-01-18 11:33:15 -05:00
Robert Svensson e43802eb07
Use more _attrs_* in Axis entities (#85555)
* Use _attr_available

* Use _attr_is_on

* Use _attr_name

* Make some values private

* Update names of axis entity base classes

* Fix review comments
2023-01-18 17:27:13 +01:00
Marcel van der Veldt 4bebf00598
Adjust device registry for Matter devices (#86108)
* adjust device registry

* ignore test unique id

* update test

* ditch uniqueid + prefix serial

* adjust test

* add tests

* fix switch test

* prefix all identifiers

* Update homeassistant/components/matter/adapter.py

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

* no underscore in id

* fix test

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-18 17:17:33 +01:00
mkmer 5e6ba594aa
Change Honeywell somecomfort API to AIOSomecomfort API (#86102)
* Move to AIOSomecomfort

* Remove unused constant

* Improve test coverage to 100

* Update homeassistant/components/honeywell/__init__.py

remove "todo" from code

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

* Missing cannot_connect translation

* add asyncio errors
update devices per entity
rework retry login

Co-authored-by: Erik Montnemery <erik@montnemery.com>
2023-01-18 16:03:13 +01:00
Erik Montnemery fea5330cee
Change 'Sky Connect' to 'SkyConnect' (#86166) 2023-01-18 08:43:38 -05:00
Erik Montnemery f17a829bd8
Only wait for import flows to initialize at setup (#86106)
* Only wait for import flows to initialize at setup

* Update hassio tests

* Update hassio tests

* Apply suggestions from code review

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-18 10:44:18 +01:00
J. Nick Koston 5279535046
Fix live logbook stalling when there are no historical events with a high commit interval (#86110)
* Force live logbook to send an empty message to indicate no results

Since the sync task can take a while if the recorder is
busy, the logbook will appear to hang if we do not send
the first partial message even if its empty.

This work is in preparation for a higher database
commit interval where this issue is most obvious.

The historical only path did not have this issue because
it never had to wait for the db sync.

* update tests
2023-01-17 21:06:37 -05:00
Franck Nijhof 91aaca6471
Code styling tweaks to the Alexa integration (#86121) 2023-01-18 01:01:30 +02:00
Daniel Gangl cc74fcbda7
Remove deprecated zamg YAML config (#86113) 2023-01-17 21:58:20 +01:00
Erik Montnemery f6cd399b9e
Adjust kitchen_sink test (#86099) 2023-01-17 19:31:10 +01:00
Aaron Bach 27359dfc89
Subclass a `DataUpdateCoordinator` for Ridwell (#85644) 2023-01-17 19:31:00 +01:00
Erik Montnemery b4abfb1697
Adjust Thread config flow (#86097)
* Adjust Thread config flow

* Improve tests

* Update homeassistant/components/otbr/config_flow.py

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

Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-17 13:27:33 -05:00
Erik Montnemery cf68d081ca
Allow manually setting up the Thread integration (#86087) 2023-01-17 12:50:29 -05:00
Jon Caruana 65c4e63e30
Bump pylitejet to 0.4.6 (now with async!) (#85493) 2023-01-17 16:53:16 +01:00
Erik Montnemery 096ef5da47
Use Home Assistant swing modes in tado climate (#84278) 2023-01-17 16:13:49 +01:00
Marcel van der Veldt 072517f17e
Fix Matter unique_id generation (#86046)
* bae entity unique id on Operational Instance Name standard

* Update homeassistant/components/matter/entity.py

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

* also adjust unique id for devices

* final adjustment

* remove assert on server_info

* move device info to init

* fabric_id_hex

* use DeviceInfo instead of dict

* fix test

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-01-17 15:39:42 +01:00
Erik Montnemery 3cd6bd87a7
Remove config entry specifics from FlowManager (#85565) 2023-01-17 15:26:17 +01:00
Duco Sebel 0f3221eac7
Add Enum device class for HomeWizard active tariff (#86078)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-17 14:46:08 +01:00
Erik Montnemery 11b9a0b383
Add Thread integration (#85002)
* Add Thread integration

* Add get/set operational dataset as TLVS

* Add create operational dataset

* Add set thread state

* Adjust after rebase

* Improve HTTP status handling

* Improve test coverage

* Change domains from thread to otbr

* Setup otbr from a config entry

* Add files

* Store URL in config entry data

* Make sure manifest is not sorted

* Remove useless async

* Call the JSON parser more

* Don't raise exceptions without messages

* Remove stuff which will be needed in the future

* Remove more future stuff

* Use API library

* Bump library to 1.0.1
2023-01-17 14:01:36 +01:00
Guido Schmitz cb36905ce5
Add diagnostics to devolo Home Network (#86022) 2023-01-17 12:59:02 +01:00
epenet 1918f21fb1
Raise HomeAssistantError in Renault (#86071) 2023-01-17 11:44:18 +01:00
Franck Nijhof 566c0f63bd
Removes OpenALPR Local integration (#85544) 2023-01-17 10:43:14 +01:00
epenet f7d69ee325
Remove deprecated Renault service (#86070) 2023-01-17 10:28:33 +01:00
Jack Boswell ec1b4d5651
Address Starlink code quality and add update sensor (#86066)
* Use dt.now

* Bring back update binary sensor

* Don't patch coordinator

* Add silver quality scale
2023-01-17 09:10:40 +01:00
Franck Nijhof 4aba3fdad6
Code styling tweaks to the zeroconf integration (#86048) 2023-01-16 18:35:23 -10:00
Brandon Rothweiler 2ed6df9003
Add EufyLife Bluetooth integration (#85907)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-16 18:29:50 -10:00
J. Nick Koston d949f51f10
Handle ignored shelly entries when discovering via zeroconf (#86039)
fixes https://github.com/home-assistant/core/issues/85879
2023-01-16 11:21:49 -10:00
Nathan Spencer c6f60bf45d
Code cleanup in litterrobot (#86037) 2023-01-16 20:58:30 +01:00
Michael d8c3b87d44
Replace deprecated constants and utils by their successors in NWS tests (#85926) 2023-01-16 20:02:26 +01:00
Marcel van der Veldt fe583b7c4a
Remove SSDP discovery from Hue (#85506)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: Franck Nijhof <git@frenck.dev>
2023-01-16 19:56:46 +01:00
TheJulianJES 9f0bed0f0c
Implement "group members assume state" option for ZHA (#84938)
* Initial "group members assume state" implementation for ZHA

* Remove left-over debug flag (where polling was disabled)

* Implement _send_member_assume_state_event() method and also use after turn_off

* Only assume updated arguments from service call to group

* Make code more readable and change checks slightly

* Move "send member assume state" events to LightGroup on/off calls

* Include new config option in tests

* Check that member is available before updating to assumed state

* Lower "update group from child delay" for debouncer to basically 0 when using assumed member state

* Allow "child to group" updates regardless of config option

This is not needed, as group members will not update their state, as long as they're transitioning. (If a group transitions, it also sets its members to transitioning mode)

This fixes multiple issues. Previously, the state of a group was completely wrong when:
- turn on group with 10 second transition
- turn on members individually
- turn off members individually
- group state would not update correctly

* Move "default update group from child delay" constant

* Change to new constant name in test

* Also update fan test to new constant name

* Decrease "update group from child delay" to 10ms

In my testing, 0.0 also works without any issues and correctly de-bounces child updates when using the "assume state option".
This is just for avoiding multiple state changes when changing the group -> children issue individual updates.
With 2 children in a group and delay 0, both child updates only cause one group re-calculation and state change.

0.01 (10ms) should be plenty for very slow systems to de-bounce the update (and in the worst case, it'll cause just another state change but nothing breaks)

* Also implement "assuming state" for effect

Not sure if anybody even uses this, but this one is a bit special because the effect is always deactivated if it's not provided in the light.turn_on call.

* Move shortened delay for "assuming members" to a constant

* Add basic test to verify that group members assume on/off state

* Move _assume_group_state function declaration out of async_added_to_hass

* Fix rare edge-case when rapidly toggling lights and light groups at the same time

This prevents an issue where either the group transition would unset the transition flag or the single light would unset the group transition status midst-transition.

Note: When a new individual transition is started, we want to unset the group flag, as we actually cancel that transition.

* Check that effect list exists, add return type

* Re-trigger CI due to timeout

* Increase ASSUME_UPDATE_GROUP_FROM_CHILD_DELAY slightly

The debouncer is used when updating group member states either by assuming them (in which case we want to barely have any delay), or between the time we get the results back from polling (where we want a slightly longer time).
As it's not easily possible to distinguish if a group member was updated via assuming the state of the group or by the polling that follows, 50 ms seems to be a good middle point.

* Add debug print for when updating group state

* Fix issues with "off brightness" when switching between group/members

This fixes a bunch of issues with "off brightness" and passes it down to the members correctly.
For example, if a light group is turned off with a transition (so bulbs get their level set to 1), this will also set the "off brightness" of all individual bulbs to the last level that they were at.

(It really fixes a lot of issues when using the "member assume group state" option. It's not really possible to fix them without that.)

Furthermore, issues where polling was previously needed to get the correct state after "playing with transitions", should now get be resolved and get correct state when using the "members assume group state" option.

Note: The only case which still can't be fixed is the following:
If individual lights have off_with_transition set, but not the group, and the group is then turned on without a level, individual lights might fall back to brightness level 1 (<- at least now shows correctly in UI even before polling).
Since all lights might need different brightness levels to be turned on, we can't use one group call. But making individual calls when turning on a ZHA group would cause a lot of traffic and thereby be counter-productive.
In this case, light.turn_on should just be called with a level (or individual calls to the lights should be made).

Another thing that was changed is to reset off_with_transition/off_brightness for a LightGroup when a member is turned on (even if the LightGroup wasn't turned on using its turn_on method).
off_with_transition/off_brightness for individual bulbs is now also turned off when a light is detected to be on during polling.

Lastly, the waiting for polled attributes could previously cause "invalid state" to be set (so mid-transition levels).
This could happen when group and members are repeatedly toggled at similar times. These "invalid states" could cause wrong "off brightness" levels if transitions are also used.
To fix this, we check after waiting for the polled attributes in async_get_state to see if a transition has started in the meanwhile. If so, the values can be discarded. A new poll will happen later and if using the "members assume group state" config option, the values should already be correct before the polling.

* Enable "group members assume state" config option by default

The config tests are also updated to expect the config option be enabled by default.

For all tests, the config option is generally disabled though:
There are only two group related tests. The one that tests this new feature overrides the config option to be enabled anyway.
The other tests works in a similar way but also "sends" attribute reports, so we want to disable the feature for that test.
(It would also run with it enabled (if the correct CHILD_UPDATE value is patched), but then it would test the same stuff as the other test, hence we're disabling the config option for that test.)
2023-01-16 10:48:18 -05:00
Paul Bottein c3e27f6812
Add tier summation delivered for Lixee Zlinky TIC (#82602)
* Add tier summation delivered for zlinky

* Improve name case

* Add other tiers and register tier

* Fix smartenergy sensor update

* Account for new reporting configuration in unit tests

* Use cluster ID attributes instead of hardcoding the values

* Use tier names instead of the numeric constants for formatter

* Revert active register tier delivered

* Fix tests

Co-authored-by: puddly <32534428+puddly@users.noreply.github.com>
2023-01-16 10:33:18 -05:00
jan iversen ee85a23d19
Bring modbus back to 100% test coverage (#85972)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 15:44:11 +01:00
epenet bcef0d66ac
Remove invalid uom from mqtt tests (#86004) 2023-01-16 14:51:35 +01:00
epenet 1a8933d59d
Adjust invalid test values in template (#86008) 2023-01-16 14:42:47 +01:00
epenet 0328e8954d
Adjust invalid test values in tcp (#86007) 2023-01-16 14:32:01 +01:00
Franck Nijhof 0a367359f4
Add sensor state class validation for device classes (#84402)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 14:31:24 +01:00
epenet 8165f487c7
Adjust invalid test values in snmp (#86006) 2023-01-16 14:00:37 +01:00
epenet c1589d3c89
Adjust invalid test values in rest (#86009) 2023-01-16 13:37:38 +01:00
epenet 6859a9ebdd
Add missing mock in fritzbox (#86005) 2023-01-16 13:05:22 +01:00
Jussi Rosenberg 54d570a9cf
Bump pykoplenti to 1.0.0 (#83251)
* Update Kostal integration to use maintained lib

* Update Kostal integration to use pykoplenti

* Update kostal_plenticore tests for new lib

* Fix tests config_flow & diagnostics after changes
2023-01-16 12:54:29 +01:00
Franck Nijhof c26d620ab1
Clean up unused import steps from HomeWizard config flow (#86002) 2023-01-16 12:24:23 +01:00
Franck Nijhof 11a81dc485
Improve typing of HomeWizard sensors (#85997)
* Improve typing of HomeWizard sensors

* Fix typo when tried to fix a typo :)
2023-01-16 11:22:46 +01:00
Erik Montnemery f9662e0af0
Make the kitchen_sink integration set up a config entry (#85680)
* Make the kitchen_sink integration set up a config entry

* Update homeassistant/components/kitchen_sink/config_flow.py

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

* Add singleton check in import step + add test

* Fix tests

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2023-01-16 11:03:44 +01:00
epenet 3179101fbc
Warn if numeric sensors have an invalid value (#85863)
Co-authored-by: mib1185 <mail@mib85.de>
2023-01-16 11:00:07 +01:00
Duco Sebel ccd8bc14e0
Add sensors for new P1 datapoints in HomeWizard (#85198)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
Co-authored-by: Franck Nijhof <git@frenck.dev>
fixes undefined
2023-01-16 09:59:07 +01:00
Erik Montnemery affea9a305
Remove sky connect config entry if USB stick is not plugged in (#85765)
* Remove sky connect config entry if USB stick is not plugged in

* Tweak cleanup

* Give some stuff more cromulent names

* Do the needful

* Add tests

* Tweak
2023-01-16 09:25:06 +01:00
J. Nick Koston 233332c3a0
Fix fetching history include_start_time_state when timezone is not UTC (#85983) 2023-01-16 09:01:32 +01:00
Michael 9709391b52
Replace the usage of unit constants by enumerations in Tests [s-u] (#85937) 2023-01-16 09:00:27 +01:00
Patrick ZAJDA 0b02abf708
Add locking and unlocking to MQTT lock (#85779)
* Implement locking, unlocking and jammed on MQTT lock

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Add tests

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Refactor condition

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Parametrize tests

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Manage only locking and unlocking

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

* Remove jammed from abbreviations

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

* set valid states in self._valid_states

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
Co-authored-by: Jan Bouwhuis <jbouwh@users.noreply.github.com>
2023-01-16 08:42:43 +01:00
Michael a7ebec4d02
Make Synology DSM integration fully async (#85904) 2023-01-15 13:19:08 -10:00
J. Nick Koston 65ca62c991
Ensure remote bluetooth adapters are loaded before integrations that need them (#85723) 2023-01-15 13:17:17 -10:00
Jan Bouwhuis 01e1e254e2
Use value of enum (#85944) 2023-01-15 19:30:29 +01:00
Franck Nijhof 91ac6400b9
Clean up legacy import from HomeWizard (#85960) 2023-01-15 20:14:19 +02:00
Michael 9828b2d13f
Replace the usage of unit constants by enumerations in Tests [v-z] (#85938)
replace unit conts by enums v-z
2023-01-15 20:14:02 +02:00
Shay Levy 03d9d30eca
Cleanup webOS TV YAML import leftovers (#85957) 2023-01-15 20:07:15 +02:00
Duco Sebel 209c47383d
Implement state error handling in HomeWizard (#84991)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2023-01-15 17:30:27 +01:00
mkmer 1a0bce715a
Address invalid keys in translation for whirlpool (#85849) 2023-01-15 17:09:14 +01:00
Michael 104f74054b
Replace the usage of unit constants by enumerations in Tests [m-n] (#85935)
* replace unit conts by enums m-n

* fix mqtt
2023-01-15 15:45:00 +01:00
Michael e35ab75c0b
Replace the usage of unit constants by enumerations in Tests [h-l] (#85934) 2023-01-15 14:52:55 +01:00
Michael 72d3fa6d89
Replace the usage of unit constants by enumerations in Tests [o-r] (#85936) 2023-01-15 14:50:24 +01:00
Michael e5f67c9119
Replace the usage of unit constants by enumerations in Tests [f-g] (#85933) 2023-01-15 14:46:45 +01:00
Michael 2850583085
Replace the usage of unit constants by enumerations in Tests [a-e] (#85932) 2023-01-15 14:44:01 +01:00
Michael b20eb54800
Replace deprecated unit converter utils (#85927) 2023-01-15 14:41:59 +01:00
starkillerOG 476de319ea
Bump reolink-aio to 0.2.3 (#85871) 2023-01-15 13:07:15 +01:00
Robert Svensson 8117f4af3a
Use parametrize to modify Axis test fixtures (#85884) 2023-01-15 04:12:03 +01:00
Robert Hillis 3627a98602
Add dhcp discovery to D-Link (#85661)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-14 15:58:04 -10:00
Robert Svensson 768c3e163d
Create and use config_entry fixture for Axis integration tests (#85865) 2023-01-14 14:18:18 +02:00
starkillerOG 5f67e79ad9
Bump reolink-aio to 0.2.2 (#85848) 2023-01-14 02:25:22 +01:00
Shay Levy 9b5ac5b173
Fix WebOS TV image fetch SSL verify failure (#85841) 2023-01-13 23:50:02 +02:00
Robert Svensson be899b6ab6
Store Axis device with entry_id key rather than unique_id (#85673)
* Store Axis device with entry_id key rather than unique_id

* Fix review comments
2023-01-13 22:21:40 +01:00
Guido Schmitz c191daedc3
Remove dead code path in devolo Home Network (#85790)
Remove dead code path
2023-01-13 21:15:50 +01:00
Luke 67716edb0c
Update oralb to show battery percentage (#85800)
Co-authored-by: J. Nick Koston <nick@koston.org>
fixes undefined
2023-01-13 10:11:01 -10:00
starkillerOG b2b6ae417d
Reolink check for admin (#85570)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
fixes undefined
2023-01-13 20:07:09 +01:00
Robert Svensson 7953c4a6d5
Clean up old config migration of Axis config (#85671)
* Revert Axis config flow version to 1

* Set up using hass.config_entries.async_setup

* Fix review comment

* Update homeassistant/components/axis/__init__.py

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2023-01-13 17:12:51 +01:00
Maciej Bieniek 6baa905448
Abort config flow if Airly measuring station does not exist (#85652)
* Abort if there is no sensor in the area

* Add test

* Increase test coverage
2023-01-13 14:35:52 +01:00
Eugenio Panadero d748894b88
Remove 'tariff' edition from options-flow (#85703)
* 🎨 Add missing typing for config-flow

* 🐛 Remove 'tariff' edition from options-flow

The `entry.data["tariff"]` is what makes the `entry.unique_id`,
so it's an incoherence to be able to change it in the Options flow

* 🌐 Update generated EN translation

* 🎨 Link translations of option-flow to those of config-flow
2023-01-13 13:27:11 +01:00
tronikos 8e26c048a7
Remove oauth2client dependency in Google Assistant SDK (#85785)
Remove import oauth2client, inline 2 constants
2023-01-13 00:20:16 +01:00
shbatm 28bea53afe
Move ISY994 data to dataclass and remove bad entities (#85744) 2023-01-12 13:09:04 -10:00
epenet b5a9e682be
Add missing enum item in SFR Box (#85746)
* Add missing enum item in SFR Box

* Adjust tests
2023-01-12 18:15:09 +02:00
Erik Montnemery 8418a30cc0
Refactor energy validation issue reporting (#85523)
* Refactor energy validation issue reporting

* Update English translations

* Adjust translations
2023-01-12 12:50:43 +01:00
Erik Montnemery e4e96d3394
Fix sensor test (#85740) 2023-01-12 12:21:19 +01:00
epenet 5a4df9d870
Add binary sensor platform to SFR Box (#85508)
* Add binary sensor platform to SFR Box

* Simplify
2023-01-12 10:06:09 +01:00
Jan Bouwhuis 64e235285d
Deprecate power_command_topic for MQTT climate (#85229)
* Deprecate mode_command_topic for MQTT climate

* Correct deprecation and remove support release inf

* Do not use future tense for comment

* Extend deprecation period to 6 months
2023-01-12 09:49:14 +01:00
Erik Montnemery a7fb3c82fb
Add WS command number/device_class_convertible_units (#85598)
* Add WS command number/device_class_convertible_units

* Add websocket_api

* Update tests
2023-01-12 09:34:10 +01:00
Erik Montnemery 305fb86d50
Add WS command sensor/device_class_convertible_units (#85213)
* Add WS command sensor/device_class_units

* Rename new command to device_class_convertible_units
2023-01-12 09:31:06 +01:00
epenet 679e971131
Add system diagnostic sensors to SFR Box (#85184)
* Add system diagnostic sensor

* Add tests
2023-01-12 09:29:12 +01:00
Erik Montnemery b0d4b73874
Add unitless unit converter (#85694)
* Add unitless unit converter

* Adjust type hints

* Adjust tests

* Rename to UnitlessRatioConverter
2023-01-12 09:20:00 +01:00
Ville Skyttä c625051665
Improve Huawei LTE SSDP inclusion (#85572)
* Probe Huawei LTE API for device support on SSDP match

More or less as expected, the loosening of SSDP/UPnP data matches done
in #81643 started to yield false positives, as in #85402.

Coming up with robust matches solely based on the SSDP/UPnP data still
does not seem possible, so keep the matches as loose as they were made,
but additionally invoke a probe request on the API to determine if the
device looks like a supported one.

* Probe only after unique id checks

Prevents throwaway probes for discoveries already in progress.

* Fix SSDP result URL test, add missing assert on it
2023-01-12 06:47:38 +01:00
shbatm 255a8362a1
Consolidate device info and clean-up ISY994 code base (#85657)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 18:07:44 -10:00
Jack Boswell 43cc8a1ebf
Add binary_sensor to Starlink (#85409)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 17:18:54 -10:00
Robert Hillis ae9a57b2a8
Remove oauth2client dependency in Google Sheets (#85637)
Remove oauth2client dependency
2023-01-12 04:02:02 +01:00
Nathan Spencer 0ae855d345
Fix Litter-Robot 4 firmware versions reported while updating (#85710) 2023-01-12 03:53:06 +01:00
Robert Hillis b14c141fe3
Address review comments for D-Link config flow (#85712)
* Address review comments for D-Link config flow

* uno mas

* uno mas

* uno mas
2023-01-12 03:46:51 +01:00
Eugenio Panadero 77feaecbfa
Remove unreachable config entry migration in pvpc hourly pricing (#85700)
* 🔥 Remove old config entry migration logic

introduced for a breaking change in 2021-06, now unreachable after
completely disabling the YAML config for the integration

*  Remove test for old config entry migration logic

and adjust existent one for config-flow to do not lose coverage
2023-01-12 01:07:11 +01:00
Felix T 42a4dd98f1
Use fallback advertising interval for non-connectable Bluetooth devices (#85701)
Co-authored-by: J. Nick Koston <nick@koston.org>
2023-01-11 12:11:25 -10:00
Paulus Schoutsen c8cd41b5d4
Add ESPHome update entities (#85717) 2023-01-11 16:26:13 -05:00
Paulus Schoutsen 06bc9c7b22
Automatically fetch the encryption key from the ESPHome dashboard (#85709)
* Automatically fetch the encryption key from the ESPHome dashboard

* Also use encryption key during reauth

* Typo

* Clean up tests
2023-01-11 15:28:31 -05:00
epenet a2f6299fc1
Remove invalid device class in energyzero (#85690)
* Remove invalid device class in energyzero

* Adjust tests
2023-01-11 20:49:14 +01:00
Eugenio Panadero 2286029b5d
Bump `aiopvpc` to 4.0.1 (#85612)
* 📦️ Bump aiopvpc version

* ♻️ Evolve DataUpdateCoordinator and PVPC sensor for new aiopvpc

setting `SensorDeviceClass.MONETARY` for the price sensor

* 🍱 tests: Update tests fixtures with new sensor data

for aiopvpc v4 with 'esios_public' as data-source

*  tests: Adapt test suite for new default data-source

* 📦️ Bump aiopvpc version for latest patch 4.0.1

* ️ Revert changes unrelated to library bump

* ️ Revert tests changes unrelated to library bump
2023-01-11 14:49:42 +01:00
Paulus Schoutsen 82ec769ec5
Handle ESPHome dashboard discovery (#85662) 2023-01-11 08:30:52 -05:00
Robert Hillis 3d7c61bbed
Add D-Link config flow (#84927) 2023-01-10 14:10:56 -10:00
rikroe 1afb30344a
Add diagnostics to bmw_connected_drive (#74871)
* Add diagnostics to bmw_connected_drive

* Add tests for diagnostics

* Move get_fingerprints to library, bump bimmer_connected to 0.10.4

* Update bimmer_connected to 0.11.0

* Fix pytest

* Mock actual diagnostics HTTP calls

* Update tests for bimmer_connected 0.12.0

* Don't raise errors if vehicle is not found

Co-authored-by: rikroe <rikroe@users.noreply.github.com>
2023-01-11 01:09:45 +01:00
Matthias Alphart db428f2141
Update xknx to 2.3.0 - add some DPTs, Routing security (#85658)
Update xknx to 2.3.0
2023-01-11 00:24:56 +01:00
epenet 6e3cf896f7
Remove invalid device class in gios (#85611) 2023-01-10 22:08:13 +01:00
tronikos 667fde997d
Google Assistant SDK: Fix broadcast command in Japanese (#85636)
Fix broadcast command in Japanese
2023-01-10 20:20:28 +02:00
epenet de2588f6e0
Add diagnostics platform to SFR Box (#85500) 2023-01-10 20:17:14 +02:00
epenet a7647fee28
Fix unknown data in homematicip_cloud (#85618) 2023-01-10 12:26:49 -05:00
Erik Montnemery 7621c450c7
Add kitchen_sink integration (#85592) 2023-01-10 17:31:47 +01:00
epenet 3d02b5af21
Fix unknown data in vultr (#85627) 2023-01-10 17:29:17 +01:00
epenet 67f8d82818
Remove invalid state class in deconz (#85615) 2023-01-10 17:28:35 +01:00
epenet 4eddd8b75a
Remove invalid unit of measurement in mfi (#85620) 2023-01-10 16:45:59 +01:00
epenet 298d7504fd
Fix unknown data in qwikswitch (#85621) 2023-01-10 16:42:28 +01:00
epenet d313d82eb7
Fix unknown data in influxdb (#85619) 2023-01-10 16:41:16 +01:00
epenet 4d660f926d
Fix unknown data in google wifi (#85616) 2023-01-10 16:37:04 +01:00
Erik Montnemery 5fdf78ed30
Drop title from repairs flows (2) (#85597) 2023-01-10 12:11:30 +01:00
epenet 9eb06fd59d
Simplify sensor state validation (#85513) 2023-01-10 11:52:29 +01:00
Franck Nijhof bba9ad3243
Revert "Adapt tplink to use has_entity_name" (#85595)
Revert "Adapt tplink to use has_entity_name (#85577)"

This reverts commit ca0fe488ba.
2023-01-10 10:06:58 +01:00
Guido Schmitz d40a4aa970
Add switch platform to devolo_home_network (#72494) 2023-01-10 10:05:59 +01:00
Franck Nijhof 05c32c51fd
Code styling tweaks to the Cast integration (#85560) 2023-01-10 09:57:13 +01:00
Teemu R ca0fe488ba
Adapt tplink to use has_entity_name (#85577)
* Adapt tplink to use has_entity_name

* Set the name for individual smartstrip sockets

* Fix tests
2023-01-10 09:40:29 +01:00
tronikos e24989b446
Google Assistant SDK conversation agent (#85499)
* Google Assistant SDK conversation agent

* refresh token

* fix session

* Add tests

* Add option to enable conversation agent
2023-01-09 20:53:41 -05:00
Michael Hansen 07bd208c7d
Load custom sentences from config directory (#85558)
* Load custom sentences from config directory

* Load custom sentences from config directory

* Custom sentences in custom_sentences/<language>/

* Load custom sentences from config directory

* Custom sentences in custom_sentences/<language>/

* Add custom_sentences test
2023-01-09 16:48:59 -06:00
J. Nick Koston 2c95c0b3a1
Do not check ble scanner state for sleepy shelly devices (#85566)
fixes #85563
2023-01-10 00:16:14 +02:00
Christopher Bailey 02897fb9a3
Add UniFi Protect Chime Duration entity (#85538) 2023-01-09 12:09:41 -10:00
Christopher Bailey 818253ced4
Bump pyunifiprotect to 4.6.1 (#85547) 2023-01-09 12:00:21 -10:00
Erik Montnemery 8983f665cf
Refactor device registry JSON cache (#85539) 2023-01-09 09:50:27 -10:00
Erik Montnemery b933a53aa3
Refactor entity registry JSON cache (#85085)
* Refactor entity registry JSON cache

* Fix generator

* Tweak

* Improve string building

* Improve test coverage

* Override EntityRegistryItems.values to avoid __iter__ overhead
2023-01-09 16:52:52 +01:00
Marcel van der Veldt c181fb6de0
Bump aiohue library to 4.6.1 (#85504)
* Bump aiohue to 4.6.0

* fix device name for lights

* fix name for groups too

* ignore smart scenes

* bump to 4.6.1 instead

* fix test fixture

* update tests

* fix scene test
2023-01-09 10:37:03 -05:00