Commit Graph

14138 Commits (caa99ea9fb2d6c1325f4d4de80e8ceb8c46f01cc)

Author SHA1 Message Date
Erik Montnemery 3d3349240f
Don't trigger statistics issues when sensor units are equivalent (#80099) 2022-10-25 09:50:01 +02:00
J. Nick Koston 559e281431
Add oralb integration (#80918)
* mapping

* update

* working

* tests

* fixes

* temp add binary sensor platform to make sure it works

* fixes

* 100% cover

* adjust

* disable chatty sensors by default

* remove binary sensor_platform for next PR

* time is much nicer than counter
2022-10-24 23:11:40 -05:00
Ongy 3759be09df
Add media_player platform to Jellyfin (#76801) 2022-10-24 21:45:01 -05:00
Shay Levy dce4753510
Cleanup Shelly update platform (#80845) 2022-10-25 00:20:26 +03:00
Steven Looman b5f70a404a
Fix SSDP/UPnP server after testing (#80815) 2022-10-24 15:19:19 -05:00
Erik Montnemery f7694c0550
Only reload modified scripts (#80470)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-24 20:47:06 +02:00
Martin Hjelmare 838691f22f
Refactor zwave_js add-on manager (#80883)
* Make addon slug an instance attribute

* Extract addon name and addon config

* Update docstrings
2022-10-24 18:21:05 +02:00
Jc2k 4279d73800
Add support for Netatmo noise sensor to homekit_controller (#80889)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-24 10:31:26 -05:00
Erik Montnemery 6979cd95b0
Add suggested_unit_of_measurement attribute to sensors (#80638)
* Add suggested_unit_of_measurement attribute to sensors

* Lazy calculation of initial entity options

* Add type alias for entity options

* Small tweak

* Add tests

* Store suggested_unit_of_measurement in its own option key

* Adapt to renaming of IMPERIAL_SYSTEM

* Fix rebase mistakes

* Apply suggestions from code review

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-24 16:08:02 +02:00
epenet ec4b8c49fe
Add unique_id to scrape (#80581)
* Add unique_id to scrape

* Add tests
2022-10-24 15:14:43 +02:00
epenet 64d6d04ade
Use DataUpdateCoordinator in scrape (#80593)
* Add DataUpdateCoordinator to scrape

* Fix tests
2022-10-24 14:55:57 +02:00
Joakim Plate ebfb10c177
Allow hostname for nibe heatpump (#80793)
Allow hostname for nibe
2022-10-24 14:17:53 +02:00
Maciej Bieniek 1f0cb73ad0
Add `update` platform to MQTT integration (#80659) 2022-10-24 11:47:45 +02:00
Jan Bouwhuis 5e7f571f01
Move advanced MQTT options to entry (#79351)
* Move advanced broker settings to entry

* Add repair issue for deprecated settings

* Split CONFIG_SCHEMA

* Do not store certificate UI flags in entry

* Keep entered password in next dialog

* Do not process yaml config in flow

* Correct typo
2022-10-24 09:58:23 +02:00
Avi Miller 6e453ae471
Add device-specific diagnostics to the LIFX integration (#79964) 2022-10-23 22:49:18 -05:00
Garrett 073951177b
Code quality update for Subaru sensors (#79482)
* Use distance device class for sensors

* Change sensor name casing and unique_id

* Migrate sensor entity unique_id

* Match title-cased unique_id when migrating

* Remove unneeded regex to find '_' delimited id suffix

* Incorporate PR review comments

* Add check to prevent extra odometer entity migration
2022-10-24 01:54:22 +02:00
PeteRager 59b2869f6a
Fix oncue data unavailable when genset disconnected (#80668)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-23 18:01:43 -05:00
Julian Löhr 6795627734
Add ZHA StartUpColorTemperature configuration entity (#80853)
* Add ZHA start up color temperature entity

* Use device reported min max values

* Add color number test

* Fix code style
2022-10-23 18:46:47 -04:00
Kevin Addeman 3f3518e29d
Fix Lutron Caseta area names by ignoring root area during area name retrieval (#80576) 2022-10-23 17:28:15 -05:00
Robert Svensson 03bf37e12c
Refactor UniFi DPI switch entities (#80761)
* Refactor UniFi DPI switch entities

* Remove dpi presence from items_added
2022-10-23 22:42:24 +02:00
Robert Svensson d75834cd1e
Add presence duration number (#79498) 2022-10-23 22:30:03 +02:00
G Johansson b04165b495
Add Sensibo Climate React (#78221) 2022-10-23 15:22:14 -05:00
Kevin Addeman 071f335fdb
Add dynamic generation of device triggers from keypad buttons (#80797)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-23 14:57:04 -05:00
G Johansson 57b2bb4889
Add entity service - Set Full AC state to Sensibo (#80820)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-23 13:55:53 -05:00
Robert Svensson 0444dd71a6
Refactor UniFi outlet switches (#80738)
* Rewrite UniFi outlet switches

* Bump aiounifi to v41

* Remove devices from items_added input
2022-10-23 20:28:45 +02:00
Avi Miller 2966f9ed8e
Add themes for LIFX multi-zone devices via a new select entity (#80067) 2022-10-23 11:28:17 -05:00
Bouwe Westerdijk bd6678c73b
Bump plugwise to v0.25.3 (#80782) 2022-10-23 12:42:35 +02:00
Shay Levy 228d491216
Fix Shelly entry unload and add tests for init (#80760) 2022-10-22 09:00:35 +02:00
René Klomp f21fabba17
Bump pysma to 0.7.1 (#80601)
* Bump pysma to 0.7.0

* Bump pysma to 0.7.1

* Fix test
2022-10-21 22:54:42 +02:00
J. Nick Koston 9c8a919e3f
Remove system_log missing format arg test (#80739) 2022-10-21 14:49:39 -04:00
starkillerOG a2080492de
Remove Xiaomi Miio YAML import (#78995)
* Deprecate YAML import

* Add logging for unexpected errors

* remove unused import

* fix tests

* unused import

* fix tests

* fix snake_case

* Do not add to standard key string
2022-10-21 18:07:49 +02:00
Rami Mosleh 3aa24afad8
Retry setup in case of empty response from Pushover api (#80602)
Retry setup in case of empty response
2022-10-21 17:52:02 +02:00
Kevin Stillhammer c70614fd7c
Move default options to config_flow for waze_travel_time (#80681)
Move default options to config_flow

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-21 08:02:41 -07:00
J. Nick Koston fe67703e13
Log invalid messages instead of raising in system_log (#80645) 2022-10-21 10:52:03 -04:00
Allen Porter 69dab4acfe
Reduce unnecessary alarm firing to speed up calendar trigger test (#80732) 2022-10-21 10:47:37 -04:00
Timm Schäuble e6892a613e
Bump simplepush to 2.1.1 (#80608)
* Update to new library version

* Remove test for removed send_encrypted function

* Bump simplepush to 2.1.1
2022-10-21 16:13:46 +02:00
Allen Porter d1d218444b
Improve calendar trigger test quality (#79451)
Improve calendar test quality
2022-10-21 10:56:17 +02:00
Franck Nijhof bb287dd0ed
Integrations v2.1: Virtual integrations (#80613) 2022-10-20 23:09:06 -04:00
Kevin Stillhammer b35cfe711a
Move default option handling to config_flow for google_travel_time (#80607)
Move default option handling to config_flow
2022-10-20 19:32:45 -07:00
Aaron Bach 60b3d6816b
Replace custom OpenUV data object with coordinators (#80705)
* Replace custom OpenUV data object with coordinators

* Typing

* Code review
2022-10-20 19:37:20 -06:00
Chris Talkington 245c13e6ed
Add diagnostics to jellyfin (#80651) 2022-10-20 20:02:40 -05:00
J. Nick Koston 03362bec1c
Defer bluetooth scanner watchdog restart if one is already in progress (#80679) 2022-10-20 13:56:20 -05:00
Robert Svensson 92eaa539b6
Simplify mocking UniFi websocket (#80652)
* Simplify mocking UniFi websocket

* Fix one more
2022-10-20 19:37:13 +02:00
Kevin Stillhammer 8dd2d6f825
Remove deprecated yaml import for waze_travel_time (#80669)
Remove deprecated yaml import

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-20 08:17:21 -07:00
epenet e84e5f134e
Use US_CUSTOMARY_SYSTEM in tests (#80658)
* Use US_CUSTOMARY_SYSTEM in tests

* Don't update test_unit_system
2022-10-20 15:42:23 +02:00
Michał Huryn 4e4682d2e0
Add blebox binary_sensor platform (#79535)
* Add binary_sensor platform, with test.

* Applied suggestions by @epenet

* refactor: as @epenet suggested, passing entity_description to init

* Update homeassistant/components/blebox/binary_sensor.py

@epenet suggestion, moved refactored logic of create_blebox_entities into BleBoxBinarySensorEntity init

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

* refactor: as @epenet class selector and entity creation moved to binary_sensor

* refactor: list comprehension in entity list setup in binary sensor

* Update homeassistant/components/blebox/binary_sensor.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-20 14:35:28 +02:00
Shay Levy aea7a9af18
Bump aioshelly to 4.0.0 (#80423)
* Bump aioshelly to 4.0.0

* Remove leftover

* Fix number platform

* Set last_update_success to false upon failure in number and climate

* Set last_update_success upon failurie in entity
2022-10-20 15:08:48 +03:00
Avishay ae7eb9cef9
Add mode control for Modbus climate entities (#73906)
* Add support for Modbus HVAC control registers
2022-10-20 13:15:30 +02:00
epenet b23a66d776
Add websocket type hints in entity_registry (#80657)
* Add websocket type hints in entity_registry

* Adjust websocket_list_entities

* Fix update

* Fix websocket_update_entity

* Apply suggestion

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

* Apply suggestion

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

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-20 12:20:39 +02:00
epenet 8a1cc05e0c
Enforce kwargs in unit system initialisation (#80620)
* Enforce kwargs in unit system initialisation

* Fix tests

* Sort kwargs in unit_system
2022-10-20 10:43:32 +02:00
Robert Svensson d0ed4b1ff2
Replace constants with enums in UniFi (#80637)
Replace constants with enums
Fix bad imports
2022-10-20 00:10:01 +03:00
uvjustin eb141a532c
Bump ha-av to v10.0.0 (#80514) 2022-10-20 00:06:49 +03:00
Robert Svensson 04cdcad7f8
Expose UniFi PoE ports as individual switches (#80566)
* Add simple PoE control switches

* Add basic tests

* Complete testing

* Dont use port.up as part of available

* Bump aiounifi to v40
2022-10-19 19:54:40 +02:00
epenet 374d46ec09
Improve type hints in blebox (#80511)
* Add generics to blebox

* Remove walrus

* Move logic into each platform

* Code style

* Apply suggestion
2022-10-19 17:49:40 +02:00
Franck Nijhof 6ea6782d23
Add buttons to dismiss notifications in LaMetric (#80605) 2022-10-19 17:46:54 +02:00
epenet 9afb4c6c9e
Adjust precipitation units (#79780)
* Adjust precipitation units

* Use PRECIPITATION_INTENSITY

* Revert isy994

* Adjust SensorDeviceClass docstring

* Adjust comment
2022-10-19 14:35:49 +02:00
epenet 67d1dde69f
Rename IMPERIAL_SYSTEM to US_CUSTOMARY_SYSTEM (#80253)
* Rename IMPERIAL_SYSTEM

* Deprecate is_metric property and adjust tests

* Adjust unit_system config validation

* Add yaml tests

* Add tests for private name

* Fix incorrect rebase

* Adjust docstring

* Add store migration

* Update unit_system.py

* Minimise test tweaks

* Fix tests

* Add conversion to migration

* Rename new key and adjust tests

* Adjust websocket_detect_config

* Move original_unit_system tracking to subclass
2022-10-19 13:31:08 +02:00
Erik Montnemery f4951a4f31
Add CI job which runs recorder tests on MariaDB (#80586)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-10-19 13:04:28 +02:00
Franck Nijhof c4bbc439a5
Integrations v2.1: Differentiating hubs, devices and services (#80524)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-19 12:41:43 +02:00
Bouwe Westerdijk 0c8884fd51
Add sensor, selector and switch for Plugwise Anna + Loria combination (#80558)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-10-19 11:26:27 +02:00
Erik Montnemery 31a787558f
Ensure recorder test fixture is setup before hass fixture (#80528)
* Ensure recorder test fixture is setup before hass fixture

* Adjust more tests
2022-10-19 07:58:47 +02:00
Franck Nijhof e3919babb2
Add chart service to LaMetric (#80554) 2022-10-18 19:36:19 -06:00
Patrick ZAJDA a717ea8afc
Migrate Broadlink to new entity naming style (#80187)
* Migrate Broadlink to new entity naming style

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

* Add some tests

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

Signed-off-by: Patrick ZAJDA <patrick@zajda.fr>
2022-10-18 22:09:23 +02:00
Shay Levy 8e9457d808
Add Shelly support for sleeping Gen2 devices (#79889) 2022-10-18 22:42:22 +03:00
Aaron Bach 78e66b6cbe
Add diagnostics to Enphase Envoy (#79950)
* Streamline Enphase Envoy config flow tests

* Don't test data results using constants

* Add diagnostics to Enphase Envoy

* Use whole config entry

* Redact serial number

* One call
2022-10-18 10:25:07 -06:00
Aaron Bach 414d478d3e
Ensure Enphase Envoy test fixtures aren't session-scoped (#80499)
* Ensure Enphase Envoy test fixtures aren't session-scoped

* Code review
2022-10-18 10:24:49 -06:00
Aaron Bach 1cf801afbc
Remove unnecessary session scoping to several test fixtures (#80500)
Co-authored-by: Joakim Plate <elupus@ecce.se>
2022-10-18 18:06:23 +02:00
epenet c37e4b870f
Move attribution to standalone attribute [r-s] (#80520)
* Move attribution to standalone attribute [r-s]

* Fix test
2022-10-18 13:33:20 +02:00
Willem-Jan van Rootselaar 1fe397f7d7
Update bsblan integration (#67399)
* Update bsblan integration

Update the integration to current standards

* removed unused code

update coverage

* some cleanup

* fix conflicts due upstream changes

* fix prettier json files

* fix remove comment code

* use dataclass instead of tuple

* fix spelling

* Set as class attribute

main entity doesn't need to give own name

* fix requirements
2022-10-18 12:06:51 +02:00
jjlawren c1213857ce
Fix Plex reauth with multiple available servers (#80508) 2022-10-18 11:51:43 +02:00
Nippey 0e1fe4eba5
Modbus: Add support for Holding Registers to Binary Sensor (#80460)
Update handling of binary sensors to support reading from holding registers (command 0x03).
2022-10-18 10:31:08 +02:00
Raman Gupta d4c28e04e4
Reduce missed coverage in zwave_js (#79571)
* Reduce missed coverage in zwave_js.climate and cover

* Add switch platform coverage

* Add select platform

* Add lock platform

* Remove one line of coverage from number platform

* update docstring
2022-10-18 10:06:29 +02:00
J. Nick Koston f70f972d88
Fix connectable Bluetooth devices not being seen if the nearest scanner is non-connectable (#80388)
If we saw the non-connectable scanner advertisement first we would reject
the connectable scanner advertisement because it had worse signal strength.

In this case we need to check both
2022-10-17 21:13:26 -04:00
uvjustin d38d21ab3a
Fix stream recorder with orientation transforms (#80370)
Find moov instead of using fixed location
2022-10-17 21:12:45 -04:00
Erik Montnemery 416aad32cc
Don't mock out migration in recorder tests (#80480) 2022-10-17 22:17:08 +02:00
Aaron Bach 72f4665d33
Streamline Enphase Envoy config flow tests (#79914)
* Streamline Enphase Envoy config flow tests

* Don't test data results using constants

* Fix data issues

* Fixtures

* Simplify mock creation

* Docstrings
2022-10-17 20:29:10 +03:00
Franck Nijhof 326a1b21ca
Add message service to LaMetric (#80448) 2022-10-17 16:14:20 +02:00
Jose Ramirez f730f96024
Convert darksky unittest tests to pytest (#79868)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-17 16:09:37 +02:00
epenet a26b3e7a34
Refactor access to ConfigStore (#80467)
* Refactore access to ConfigStore

* Make tests async

* Reset config during test
2022-10-17 13:59:04 +02:00
Florent Thoumie abec592a24
Update to iaqualink 0.5.0 (#80304)
* Update to iaqualink 0.5.0.

* Boolean conditional style fix

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

* Fix black formatting

* Update iaqualink tests after update to 0.5.x

* Remove debug print statements

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-17 10:14:29 +02:00
TheJulianJES b4a203c3c7
Add friendly name to ZHA identify button (#80446) 2022-10-16 19:57:24 -04:00
Joakim Plate 9eb4faf037
Fire bluetooth listener for all matching devices (#80440)
* Fire listener for all matching devices

* Add test case for seen device

* Avoid looping all data if we have address match

* Initialize to empty list
2022-10-16 21:49:12 +02:00
Allen Porter e71bd2c20b
Fix google calendar test to match API behavior (#80436) 2022-10-16 14:45:57 -04:00
Allen Porter a7f33535c7
Fix google calendar event transparency filter (#80438) 2022-10-16 14:45:27 -04:00
Bouwe Westerdijk f5666641ce
Bump plugwise to v0.25.2 and adapt climate (#80347)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-10-16 20:32:38 +02:00
Kevin Stillhammer ef90fe9aee
Display and log google_travel_time errors (#77604)
* Display and log google_travel_time errors

* Rename is_valid_config_entry to validate_config_entry

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>

Signed-off-by: Kevin Stillhammer <kevin.stillhammer@gmail.com>
2022-10-16 10:06:53 -07:00
Steven Looman 731f618028
Make home assistant discoverable via UPnP/SSDP (#79820) 2022-10-15 14:00:46 -04:00
J. Nick Koston d12cbab6c4
Bump bleak to 0.19.0 (#80349) 2022-10-15 13:57:23 -04:00
Franck Nijhof 7bd9ce72f7
Add reauth support to LaMetric (#80355)
* Add reauth support to LaMetric

* Adjust docblock
2022-10-14 23:54:14 +02:00
J. Nick Koston 3b33e0d832
Add support for restoring HomeKit IIDs (#79913) 2022-10-14 09:58:09 -10:00
J. Nick Koston 0c76e3a97e
Automatically determine the advertising interval for bluetooth devices (#79669) 2022-10-14 14:39:18 -04:00
Charles Garwood a68bd8df6f
Add start_application service to fully_kiosk integration (#80226) 2022-10-14 19:21:58 +02:00
Franck Nijhof e3af2cb6b8
Add some typing to common test helpers (#80337) 2022-10-14 18:23:49 +02:00
taiyeoguns e01572bc44
Convert graphite tests to pytest (#79807)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-14 17:59:09 +02:00
Franck Nijhof 6aa47e871d
Little cleanup of Alert tests (#80333) 2022-10-14 17:11:30 +02:00
epenet bff5d1123f
Deprecate CONF_UNIT_SYSTEM_*** constants (#80320)
* Deprecate CONF_UNIT_SYSTEM_*** constants

* Adjust pylint plugin

* Add tests

* Remove single-use function

* Revert logic change

* Revert "Revert logic change"

This reverts commit 60959a0050.

* Tweak again
2022-10-14 16:50:04 +02:00
Erik Montnemery 284893d942
Fix reload of automation and scripts when blueprint changed (#80322) 2022-10-14 16:43:09 +02:00
Erik Montnemery 81f40afd80
Only reload modified automations (#80282)
* Only reload modified automations

* Update tests

* Adjust spelling

* Improve efficiency of matching automations and configurations

* Reload automations without an alias if they have been moved

* Add test

* Add test

* Add test
2022-10-14 15:28:03 +02:00
Franck Nijhof dd266b7119
Remove elevation warning from sun (#80239) 2022-10-14 15:23:44 +02:00
epenet 4c3097a157
Use local UNIT constants in here_travel_time (#80324)
* Use local UNIT constants in here_travel_time

* Fix test
2022-10-14 15:16:03 +02:00
David F. Mulcahey d75e449c52
Add ability to convert ZCL schemas to vol schemas to ZHA (#79908)
* try serializing cluster command schemas

* use min and max value from zigpy type

* different type assignments

* initial command execution changes

* cleanup

* cleanup and typing

* typing

* typing

* add tests

* mypy

* handle raw values too

* check for None responses

* make backwards compatible

* update yaml for svc change
2022-10-14 08:15:10 -04:00
epenet 6a757662e4
Deprecate is_metric property of unit system (#80313) 2022-10-14 13:44:18 +02:00
Marc Mueller a63c9e8fb9
Update python-typing-update to 0.5.0 (#80315) 2022-10-14 13:21:37 +02:00
Janick Bergeron f21a004aa9
Fix before sunrise OR after sunset condition (#76143)
Co-authored-by: Erik Montnemery <erik@montnemery.com>
Co-authored-by: Ben Randall <veleek@gmail.com>
2022-10-14 13:11:10 +02:00
hesselonline a534c136a1
Fix wallbox jwt issue (#79948)
* Bump Wallbox package

* remove debug message

* Force update of auth token by emptying it first

* Force token refresh by emptying token
Improve exception handling

* include tests

* Update __init__.py

* Removed the clearing ot jwt token, issue is fixed by upstream fix in wallbox package.

* Catch connectionerror

* Update homeassistant/components/wallbox/__init__.py

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

* Run black

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-14 13:09:00 +02:00
epenet 8dc3ff72c6
Cleanup config deprecation warning (#80251) 2022-10-14 13:03:17 +02:00
epenet 4c8f8c2e61
Adjust distance unit check in here travel time (#80243)
* Adjust distance unit check in here travel time

* Add tests

* Use system compare

* Use is not ==
2022-10-14 12:22:48 +02:00
epenet 0b7c84edbd
Adjust distance unit check in google travel time (#80232)
* Cleanup unused option in google travel time

* Adjust tests

* Adjust to use local constant

* Tweak logic

* Reduce size of PR

* Add tests

* Use system compare

* Use is not ==

* Adjust to use local constant again
2022-10-14 12:13:47 +02:00
epenet 4dd0c079d5
Deprecate name property of unit system (#80257) 2022-10-14 12:06:14 +02:00
Erik Montnemery 2c206ad050
Fix flaky recorder test (#80246)
* Fix flaky recorder test

* Update tests/components/recorder/test_init.py

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

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-14 09:10:38 +02:00
Shay Levy 5a51738b2f
Add Switcher runner support (#79430)
* Add Switcher runner support

* Retrigger docs check

* Review suggestions

* Move API strings to constants
2022-10-13 22:20:13 +01:00
Diogo Gomes 180b296426
IPMA Code quality improvement (#77771)
* merge upstream/dev

* remove comment

* coverage increase

* merge upstream/dev

* refactor

* wait for another PR

* remove left overs

* wait for next PR

* only remove on successful unload

Co-authored-by: Shay Levy <levyshay1@gmail.com>

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-10-14 00:18:57 +03:00
Erik Montnemery e852c9b012
Fix logbook tests (#80264)
* Fix logbook tests

* Correct tests

* Improve tests
2022-10-13 17:34:45 +02:00
Aaron Bach eae96eb4c2
Add diagnostics to AirNow (#79904) 2022-10-13 07:31:33 -06:00
Erik Montnemery 04cc2ae264
Correct initialization of new databases (#80234) 2022-10-13 13:01:27 +02:00
Erik Montnemery acb1477673
Avoid time traveling in recorder tests (#80247) 2022-10-13 11:51:27 +02:00
Erik Montnemery 4462f2fc46
Fix recorder tests related to mysql (#80238) 2022-10-13 11:44:48 +02:00
Franck Nijhof ea6368775b
Make notifiers of Alert optional (#80209) 2022-10-13 09:04:36 +02:00
Erik Montnemery 466c4656ca
Refactor recorder migration (#80175)
* Refactor recorder migration

* Improve test coverage
2022-10-13 08:11:54 +02:00
Kevin Addeman 01c66aa7c1
Add support for area field from pylutron_caseta (#80221) 2022-10-12 14:26:54 -10:00
Kevin Addeman 82322e3804
Add button entities for Lutron Caseta/RA3/HWQSX (#79963)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-12 10:29:28 -10:00
Franck Nijhof 37a5a09910
Remove unused is_on helper function from Alert (#80190) 2022-10-12 21:10:03 +03:00
Franck Nijhof ad6c3d1cde
Move alert constants into const module (#80170)
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-10-12 17:17:48 +02:00
Franck Nijhof 30920c3da7
Code quality improvements for Fully Kiosk (#80168) 2022-10-12 15:52:09 +02:00
Erik 4a1c40f09b Revert "Refactor recorder migration"
This reverts commit 69e10e5982.
2022-10-12 15:12:12 +02:00
Erik 69e10e5982 Refactor recorder migration 2022-10-12 15:00:28 +02:00
Bouwe Westerdijk 6abf677092
Bump plugwise to v0.25.0 and adapt relevant plugwise code (#80129) 2022-10-12 14:48:09 +02:00
Franck Nijhof b28ad1282a
Use percentage constant as unit in LaMetric brightness (#80162) 2022-10-12 11:56:18 +02:00
Franck Nijhof 1191f4b61d
Add error handling to LaMetric switch platform (#80161) 2022-10-12 11:35:09 +02:00
Franck Nijhof 9396169060
Add error handling to LaMetric select platform (#80160) 2022-10-12 11:34:08 +02:00
Franck Nijhof 77571c8a84
Add error handling to LaMetric number platform (#80159) 2022-10-12 11:33:09 +02:00
CharlB 107e1ed16c
Fix, improve input validation and add tests to ClickSend tts (#76669)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-12 11:27:46 +02:00
Franck Nijhof d03e0380bb
Add brightness controls to LaMetric (#79804) 2022-10-12 10:59:15 +02:00
ollo69 75886d7213
Strip whitespace from Nut "zero" serialno (#80141) 2022-10-12 10:04:48 +02:00
Chris Talkington 46794f7a5d
Add sensor platform to Jellyfin (#79966) 2022-10-12 00:20:32 -05:00
Franck Nijhof a18f8d2ff3
Add error handling to LaMetric button platform (#80136) 2022-10-11 23:50:07 +02:00
J. Nick Koston f23b1750e8
Migrate HomeKit Controller to use stable identifiers (#80064) 2022-10-11 11:26:03 -10:00
Franck Nijhof e3a3f93441
Add full test coverage to LaMetric (#80134) 2022-10-11 22:54:49 +02:00
Aaron Bach b446cab03b
Redact additional sensitive fields in ReCollect Waste diagnostics (#80119)
* Redact additional sensitive fields in ReCollect Waste diagnostics

* One call
2022-10-11 13:14:07 -06:00
Aaron Bach f92da26c04
Add config entry to Ridwell diagnostics (#80120) 2022-10-11 13:03:48 -06:00
Aaron Bach 1262c0e221
Use `entry.as_dict()` in SimpliSafe diagnostics (#80121) 2022-10-11 12:15:32 -06:00
Aaron Bach d4465e4e69
Use `entry.as_dict()` in WattTime diagnostics (#80122) 2022-10-11 12:15:21 -06:00
Aaron Bach 687987f05b
Use `entry.as_dict()` in RainMachine diagnostics (#80118)
* Use `entry.as_dict()` in RainMachine diagnostics

* One call
2022-10-11 12:15:07 -06:00
Aaron Bach 2f6e55b3bb
Fix uncaught error in OpenUV diagnostics test (#80116) 2022-10-11 19:19:13 +03:00
Aaron Bach 4ea46bf841
Use `entry.as_dict()` in OpenUV diagnostics (#80115) 2022-10-11 19:17:03 +03:00
Aaron Bach 020b7e9762
Use `entry.as_dict()` in Notion diagnostics (#80114) 2022-10-11 19:14:35 +03:00
Aaron Bach c05390e09b
Use `entry.as_dict()` in IQVIA diagnostics (#80113) 2022-10-11 19:13:58 +03:00
Aaron Bach 0f002e7044
Use `entry.as_dict()` in Guardian diagnostics (#80112) 2022-10-11 19:12:17 +03:00
Martin Hjelmare 030205df8f
Filter out non official zwave_js add-on discovery (#80110)
* Filter out non official zwave_js add-on discovery

* Add test
2022-10-11 17:37:21 +02:00
Aaron Bach b41cd57c33
Use `entry.as_dict()` in AirVisual diagnostics (#80109) 2022-10-11 09:26:57 -06:00
Aaron Bach f2207af1c9
Use `entry.as_dict()` in Ambient PWS diagnostics (#80111) 2022-10-11 09:26:44 -06:00
Martin Hjelmare 62c4cd3c26
Add name and slug to supervisor discovery info (#80094) 2022-10-11 16:56:45 +02:00
Erik Montnemery 918243b7c8
Improve some sensor statistics tests (#80087) 2022-10-11 08:57:08 -04:00
Erik Montnemery 9aa6043255
Set character set to utf8mb4 when connecting to MySQL or MariaDB databases (#79755) 2022-10-11 14:01:46 +02:00
Erik Montnemery a391b8dd9d
Support correcting sensor volume unit (#80081) 2022-10-11 13:51:28 +02:00
Kevin Stillhammer d01f85b6aa
Remove old import logic for waze_travel_time (#80079)
Remove old import logic
2022-10-11 12:05:53 +03:00
Guido Schmitz 6826f2c291
Add reauth flow for devolo_home_network (#71051)
* Add reauth flow

* Cover cases without existing password

* Add test to verify upgrading from older versions

* Connect to the device first

* Use Mapping for async_step_reauth

* Set empty password for user step and remove unneeded update of unique_id
2022-10-11 10:54:29 +02:00
Jan Bouwhuis 8aa30cce26
Fix state saving when sharing topics for MQTT entities (#79421)
* Do not write old state sharing availability topic

* Add a test

* Support for all availability topics

* delay async_write_ha_state till last callback

* Process write req after processing callback jobs

* Do not count subscription callbacks

* Simplify

* Stale docsting

* No topic needed for delays state write

* No need to clear when reloading

* Move test to test_mixins.py

* Only set up sensor platform for test
2022-10-11 10:49:54 +02:00
Erik Montnemery 69d935b7bd
Teach long term statistics that unit 'rpm' is same as 'RPM' (#80012)
* Teach long term statistics that unit 'rpm' is same as 'RPM'

* Add tests
2022-10-11 10:32:01 +02:00
Kevin Stillhammer edad6d0f26
Remove old import logic for google_travel_time (#80018)
Remove old import logic
2022-10-11 10:49:06 +03:00
Austin Brunkhorst 7d097d18b0
Add support for Snooz BLE devices (#78790)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-10 13:14:27 -10:00
Tobias Sauerwein aa58d7fbd6
Fix Netatmo device trigger (#80047) 2022-10-10 22:04:41 +02:00
Erik Montnemery e8af007124
Disable echo for non SQLite databases (#80032)
* Disable echo for non SQLite databases

* Add test
2022-10-10 22:42:38 +03:00
David F. Mulcahey 20d71a869e
Add friendly entity names for ZHA sensors (#80035)
* Add friendly entity names for ZHA sensors

* lowercase 2nd word
2022-10-10 15:40:42 -04:00
Avi Miller 257ae4d8d3
Add support for the Flame and Morph effects for Tile and Candle (#80014) 2022-10-10 09:01:31 -10:00
Jc2k 117c12d135
Fix Eve Thermo always showing as heating in homekit_controller even when off (#80019) 2022-10-10 08:58:20 -10:00
Erik Montnemery 7b247a79cf
Correct min/max mireds for lights which use K for color temp (#79998) 2022-10-10 16:45:38 +03:00
Erik Montnemery 2ee6ea9877
Adapt group to color temperature in K (#79719)
* Adapt group to color temperature in K

* Adjust tests

* Adjust tests
2022-10-10 14:57:22 +02:00
Patrick ZAJDA d0bffb6c75
Migrate Switchbot to new entity naming style (#80008)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-10-10 14:12:50 +02:00
Charles Garwood ffb6434776
Add load_url service to fully_kiosk integration (#79969) 2022-10-10 14:11:55 +02:00
Franck Nijhof 575501d26a
Add select platform to LaMetric (#79803) 2022-10-10 09:28:36 +02:00
Chris Talkington 7fae85ee85
Add tests for Jellyfin init (#79968) 2022-10-10 00:29:37 -05:00
Chris Talkington 84acb416b8
Use server name as entry title in Jellyfin (#79965) 2022-10-09 23:50:05 -05:00
Charles Garwood 58d531841b
Fix typo SIGNAL_BOOTSTRAP_INTEGRATONS -> SIGNAL_BOOTSTRAP_INTEGRATIONS (#79970) 2022-10-09 17:06:28 -10:00
Avi Miller 41595b0cba
Migrate the LIFX integration to use kelvin for color temp (#79775) 2022-10-09 12:19:50 -10:00
Kevin Addeman 45a30546ec
Add support for Homeowner and Phantom Keypads (#79958) 2022-10-09 12:17:06 -10:00
Franck Nijhof 5a0609ae8b
Add sensor platform to LaMetric (#79935) 2022-10-09 21:28:35 +02:00
Kevin Addeman b7e84543c1
Add support for parent_device field so entities are nested within Keypad Devices (#79513)
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-10-09 08:39:12 -10:00
TheJulianJES 3126762707
Add friendly name to ZHA config entities (#79926)
* Add friendly name to ZHA config entities

* Follow HA capitalization conventions

* Change from "Start-up level" to "Start-up current level"

* Remove siren select friendly names (temporarily)

* Change tests to expect new entity ids

* Re-add siren select friendly names

* Change siren tests to expect new entity ids
2022-10-09 09:11:42 -04:00
G Johansson 031370358c
Remove yaml import openexchangerates (#79856)
* Depr openexchangerates yaml

* Remove setup_platform and issue

* Remove schema

* Remove not longer used constant
2022-10-09 14:50:21 +02:00
Maciej Bieniek 8176400cfd
Migrate attributes to separate sensors in Brother integration (#79932)
Migrate attributes to sensors
2022-10-09 14:48:01 +02:00
Chris Talkington 5b0a37a447
Use persistent device id for jellyfin requests (#79840) 2022-10-08 21:12:30 -05:00
Mick Vleeshouwer 132ff2c410
Update Config Flow to show message about unsupported Overkiz hardware (#79503)
* Update Config Flow to show cozytouch unsupported hardware error

* Apply feedback

* Remove vague unknown user exception

* Fix test

* Code coverage back to 100%
2022-10-08 16:37:03 -06:00
Aaron Bach 8471a71b60
Move AirNow test fixtures to `conftest.py` (#79902)
* Move AirNow test fixtures to `conftest.py`

* Unnecessary fixture

* Better

* Linting
2022-10-08 16:32:51 -06:00
Aaron Bach 6297a28507
Remove redundant Tile test fixture (#79912) 2022-10-08 15:06:57 -06:00
Aaron Bach 33d2bec6f1
Remove redundant IQVIA test fixture (#79911) 2022-10-08 15:06:45 -06:00
Aaron Bach 63379bcaff
Remove redundant Notion test fixture (#79910) 2022-10-08 15:06:32 -06:00
Aaron Bach d90359b424
Remove redundant WattTime test fixture (#79909) 2022-10-08 15:06:20 -06:00
Aaron Bach 5e32fdff26
Remove redundant ReCollect Waste test fixture (#79907) 2022-10-08 15:06:10 -06:00
Aaron Bach b4d525f6a3
Remove redundant Ridwell test fixture (#79906) 2022-10-08 15:05:57 -06:00
Aaron Bach 50911af835
Remove redundant OpenUV test fixture (#79905) 2022-10-08 15:05:45 -06:00
Shay Levy 9019fcb5c5
Migrate Shelly to use kelvin for color temperature (#79880) 2022-10-08 22:24:19 +03:00
Bert Melis 6546bba233
Process abbreviated availability options in mqtt discovery payload (#79712)
Expand availability in mqtt discovery payload
2022-10-08 15:36:49 +02:00
spycle e2b7e79ccb
Fix keymitt_ble discovery (#79809)
* Fix keymitt_ble discovery

* Update tests

* Up version

* Up version keymitt_ble

* Up version keymitt_ble
2022-10-08 08:19:40 +02:00
Maciej Bieniek 5abff31437
Use new device classes in Accuweather integration (#79717)
* Add new device classes

* Update tests
2022-10-07 17:52:36 -06:00
Robert Hillis 87a22fbcca
Move Sonarr API calls to coordinators (#79826) 2022-10-08 00:25:16 +02:00
Franck Nijhof 0b9d029350
Add switch platform to LaMetric (#79759)
* Add switch platform to LaMetric

* Little naming tweak
2022-10-07 15:03:58 +02:00
Erik Montnemery 43091a9856
Revert "Improve device_automation trigger validation" (#79778)
Revert "Improve device_automation trigger validation (#75044)"

This reverts commit 55b036ec5e.
2022-10-07 08:23:53 -04:00
Ville Skyttä 9b44cf0127
Add Huawei LTE reauth flow (#78005)
* Add Huawei LTE reauth flow

* Upgrade huawei-lte-api to 1.6.3, use LoginErrorInvalidCredentialsException
2022-10-07 12:24:09 +02:00
Jan Bouwhuis aee82e2b3b
De-duplicate MQTT config_flow code (#79369)
* De-duplicate config_flow code

* De duplicate code birth and will
2022-10-07 10:12:19 +02:00
taiyeoguns 9a81b65815
Convert kira tests to pytest (#79747) 2022-10-07 08:21:18 +02:00
Franck Nijhof 90d39a414c
Add LaMetric number tests (#79748) 2022-10-07 08:11:10 +02:00
Franck Nijhof 633ffad443
Add diagnostics to LaMetric (#79757)
* Add diagnostics to LaMetric

* Add return value typing

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-07 08:07:59 +02:00
Dave T 6040c30b45
Add visual image preview during generic camera config flow (#71269)
* Add visual preview during setup of generic camera

* Code review: standardize preview  url

* Fix slug test

* Refactor to use HomeAssistantView

* Code review: simplify

* Update manifest

* Don't illegally access protected member

* Increase test coverage

* Prevent browser caching of preview images.

* Code review:move incrementor to ?t=X + simplify

* Discard old flow preview data

* Increase test coverage

* Code review: rename variables for clarity

* Add timeout for image previews

* Fix preview timeout tests

* Simplify: store cam image preview in config_flow

* Call step method to transition between flow steps

* Only store user_input in flow, not CameraObject

* Fix problem where test wouldn't run in isolation.

* Simplify test

* Don't move directly to another step's form

* Remove unused constant

* Simplify test

Co-authored-by: Dave T <davet2001@users.noreply.github.com>
2022-10-06 22:24:19 +02:00
Erik Montnemery 51e6d49451
Adapt homekit to color temperatures in K (#79713) 2022-10-06 09:20:10 -10:00
Erik Montnemery aa5575ba65
Only validate sensors in sensor.recorder.validate_statistics (#79749) 2022-10-06 21:17:46 +02:00
puddly 2dab9073fe
ZHA radio migration: reset the old adapter (#79663) 2022-10-06 14:02:24 -04:00
Erik Montnemery 0a59d37e62
Correct how unit used for statistics is determined (#79725) 2022-10-06 14:01:54 -04:00
epenet aa0bb9c3d2
Improve precision in pressure conversion (#79362)
* Improve precision in pressure conversion

* Use _STANDARD_GRAVITY

* Add again pytest.approx
2022-10-06 12:48:31 +02:00
Erik Montnemery 47d0598e75
Use Kelvin as the preferred color temperature unit (#79591)
* Use Kelvin as the preferred white temperature unit

* Update homekit

* Adjust tests
2022-10-06 12:22:39 +02:00
Shay Levy ce6ccffd9c
Fix Switcher breeze fan mode and swing control (#79676) 2022-10-06 08:10:04 +03:00
J. Nick Koston c798723c27
Fix bluetooth diagnostics on macos (#79680)
* Fix bluetooth diagnostics on macos

The pyobjc objects cannot be pickled which cases dataclasses
asdict to raise an exception when trying to do the deepcopy

We now implement our own as_dict to avoid this problem

* add cover
2022-10-06 04:32:29 +02:00
Erik Montnemery 5d7756885b
Normalize to kWh when handling WS energy/fossil_energy_consumption (#79649)
* Normalize to kWh when handling WS energy/fossil_energy_consumption

* Improve test
2022-10-05 16:27:08 +02:00
Erik Montnemery 59d9d3de69
Add at_started helper (#79577) 2022-10-05 12:24:51 +02:00
Shay Levy 723b018b63
Refactor Shelly tests - do not access hass.data (#79606) 2022-10-05 11:36:06 +02:00
Maciej Bieniek 9dd9147343
Use HA `uuid` as `client_id` in BraviaTV (#79618)
* Use uuid as clientid/nickname

* Fixes after rebase

* Move gen_instance_ids() to utils

* Store client_id and nickname in config_entry

* Update tests

* Clean names

* Rename consts
2022-10-05 11:24:52 +03:00
Erik Montnemery 18033532ca
Fix search throwing on templated services (#79637) 2022-10-05 10:59:18 +03:00
Mike Degatano 416c10a793
Supervisor update entity auto update from api (#79611)
* Supervisor update entity auto update from api

* Update api mocks in tests
2022-10-05 08:27:56 +02:00
Mike Degatano 051374d73e
Handle state is None in InfluxDB (#79609) 2022-10-04 21:43:57 +03:00
Raman Gupta 27413cee19
Bump zwave_js lib to 0.43.0 and fix multi-file firmware updates (#79342) 2022-10-04 10:40:49 -04:00
kpine c040a7a152
Set zwave_js climate entity target temp attributes based on current mode (#79575)
* Report temperature correctly

* DRY

* Add test assertions

* Don't catch TypeError (revert)
2022-10-04 11:54:13 +02:00
Erik Montnemery e93deaa8aa
Simplify long term statistics by always supporting unit conversion (#79557) 2022-10-03 21:50:05 -04:00
J. Nick Koston 2768b2445a
Remove call to deprecated bleak register_detection_callback (#79558) 2022-10-03 21:15:09 -04:00
Allen Porter 90637a721c
Add option to set a stun server for RTSPtoWebRTC (#72574) 2022-10-03 21:10:28 -04:00
Erik Montnemery a2e3978d53
Don't normalize units of long term statistics (#79320)
* Don't normalize units of long term statistics

* Update statistics.py
2022-10-03 21:42:44 +02:00
Raman Gupta 9b7eb6b5a1
Reduce coverage gaps for zwave_js (#79520)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-10-03 20:24:11 +02:00
Petro31 f3007b22c4
Allow setting set_percentage and set_preset_mode of template fan without turning on (#75656)
* decouple set_percentage and set_preset_mode from entity state

* correct set_percent self._state logic

* Add tests

* remove _VALUD_STATES

* decouple percent and preset_mode
2022-10-03 20:22:05 +02:00
Guido Schmitz 3e3f7ea995
Rework devolo Home Network tests (#74472) 2022-10-03 18:21:45 +02:00
Ben Randall 55b036ec5e
Improve device_automation trigger validation (#75044)
* improve device_automation trigger validation

Validates the trigger configuration against the device_trigger schema before trying to access any of the properties in order to provide better error messages.
Updates the error message to include an explicit indication that the error is coming from a trigger configuration.  The inner error message from the validator can be accessed by viewing the stack trace.
Add test case for trigger missing domain.

Make action and condition validation consistent with trigger.  This is not strictly necessary, but should be helpful for certain use cases that bypass some of the outer validation.

Removed redundant schema elements from humidifier device_trigger.

**Blueprint with missing `domain`**
```
2022-07-12 06:02:18.351 ERROR (MainThread) [homeassistant.setup] Error during setup of component automation
Traceback (most recent call last):
  File "/workspaces/core/homeassistant/setup.py", line 235, in _async_setup_component
    result = await task
  File "/workspaces/core/homeassistant/components/automation/__init__.py", line 241, in async_setup
    if not await _async_process_config(hass, config, component):
  File "/workspaces/core/homeassistant/components/automation/__init__.py", line 648, in _async_process_config
    await async_validate_config_item(hass, raw_config),
  File "/workspaces/core/homeassistant/components/automation/config.py", line 74, in async_validate_config_item
    config[CONF_TRIGGER] = await async_validate_trigger_config(
  File "/workspaces/core/homeassistant/helpers/trigger.py", line 59, in async_validate_trigger_config
    conf = await platform.async_validate_trigger_config(hass, conf)
  File "/workspaces/core/homeassistant/components/device_automation/trigger.py", line 67, in async_validate_trigger_config
    hass, config[CONF_DOMAIN], DeviceAutomationType.TRIGGER
KeyError: 'domain'
```

**Blueprint with missing `property` (specific to zwave_js event schema)**
```
2022-07-12 06:09:54.206 ERROR (MainThread) [homeassistant.components.automation] Blueprint Missing Property generated invalid automation with inputs OrderedDict([('control_switch', '498be56d796836a67406e9ad373d23db')]): required key not provided @ data['property']. Got None
```

**Blueprint with missing `domain`**
```
2022-07-12 06:12:16.080 ERROR (MainThread) [homeassistant.components.automation] Blueprint Missing Domain generated invalid automation with inputs OrderedDict([('control_switch', '498be56d796836a67406e9ad373d23db')]): invalid trigger configuration: required key not provided @ data['domain']. Got <homeassistant.components.blueprint.models.BlueprintInputs object at 0x7f581e097820>
```

**Blueprint with missing `property` (specific to zwave_js event schema)**
```
2022-07-12 06:12:16.680 ERROR (MainThread) [homeassistant.components.automation] Blueprint Missing Property generated invalid automation with inputs OrderedDict([('control_switch', '498be56d796836a67406e9ad373d23db')]): invalid trigger configuration: required key not provided @ data['property']. Got <homeassistant.components.blueprint.models.BlueprintInputs object at 0x7f581c0dc9d0>
```

* Revert humifidier TRIGGER_SCHEMA change.
2022-10-03 16:42:57 +02:00
epenet 825f9502ad
Align temperature conversion with other converters (#79521)
* Align temperature conversion with other converters

* Add comments and docstring

* Align tests
2022-10-03 10:09:55 +02:00
ehendrix23 47b40e1e61
Add optional default value to average template function/filter (#77499)
* Return None on empty list

* Updated to use default value

* Update comment.
2022-10-03 10:07:19 +02:00
Maciej Bieniek 3b794038b1
Add reauth flow to BraviaTV integration (#79405)
* Raise ConfigEntryAuthFailed

* Add reauth flow

* Add tests

* Patch pair() method to avoid IO

* Remove unused errors dict
2022-10-02 13:07:57 -07:00
Ryan Fleming 2ea9732419
Support reauth for octoprint (#77213)
* Add reauth flow to octoprint

* Add unit tests around octoprint reauth

* Add missing strings

* Fix unit test mocks
2022-10-02 08:08:45 +02:00
Maximilian 7ae942a62b
Fix nina warning state (#76354)
* Fix warning state

* Improve data handling

* Remove duplicate code
2022-10-01 21:22:18 -07:00
Avi Miller 205ce2bac5
Refactor LIFX multizone devices to use extended messages (#79444) 2022-10-01 18:21:48 -10:00
Jevgeni Kiski f95b8ccc20
Improve vallox tests and code quality (#75787)
code quality improvements
2022-10-01 21:13:15 -07:00
Rami Mosleh 38a680c3eb
Add reauthenticaion to `mikrotik` (#74454) 2022-10-01 20:37:24 -07:00
Allen Porter 7b8b73f826
Update nest climate to avoid duplicate set mode commands (#79445) 2022-10-01 21:59:10 -04:00
Tobias Sauerwein 3e411935bb
Fix Netatmo scope issue with HA cloud (#79437)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-10-01 21:11:54 -04:00
Allen Porter d03553bbf0
Address Google Sheets PR feedback (#78889) 2022-10-01 20:42:11 -04:00
J. Nick Koston 5055d3ff4b
Enable delete device support for iBeacon (#79339) 2022-10-01 14:17:45 -10:00
Steven Looman 083db97476
Sort motioneye media items in media browser (#79408)
* Sort media

* KEY_MEDIA_SORT_ATTR should be in const

* Changes after review
2022-10-02 00:36:03 +02:00
Garrett 9058b5b9c3
Update sensors for Subaru integration (#66996)
* Update sensor.py

* Change "EV Time to Fully Charged" type to datetime object (HA 2022.2)

* Validate types before accessing dict entries

* Test handling of invalid data from Subaru

* Bump to subarulink 0.4.2

* Incorporate style suggestion

* Update sensor.py to use SensorEntity

* isort tests

* Remove SubaruSensor.current_value

* Fix isort errors

* Resolve conflict from previous PR (add locks)

* Fix linting errors in config_flow.py

* Incorporate PR review comments for sensor

* Incorporate PR review comments for sensor

* Make 3rd party library responsible for API data parsing

* Add type annotations to sensor.py

* Incorporate PR review comments

* Incorporate PR review comments

* Set _attr_has_entity_name = True for sensors
2022-10-02 00:25:49 +02:00
Erik Montnemery 2de273500e
Remove state_unit_of_measurement from metadata DB table (#79370)
* Remove state_unit_of_measurement from metadata DB table

* Adjust test
2022-10-01 18:55:00 +02:00
Shay Levy f1f01429f4
Add Switcher Breeze support (#78596)
* Add switcher Breeze support

* Review comments and updates for aioswitcher
2022-10-01 19:14:55 +03:00
Kevin Stillhammer 31ddf6cc31
Log config_flow errors for waze_travel_time (#79352) 2022-10-01 08:56:47 -07:00
Shay Levy 062ee75de9
Bump aioswitcher to 3.0.2 (#79399)
Bump aioswitcher to 3.0.2
2022-10-01 18:04:11 +03:00
J. Nick Koston ec8901b9af
Improve robustness of linking homekit yaml to config entries (#79386) 2022-10-01 16:44:45 +02:00
Maciej Bieniek 8ff12eacd4
Do not use AQI device class for CAQI sensor in Airly integration (#79402) 2022-10-01 16:33:11 +02:00
Shay Levy b27f0c70be
Fix unifiprotect test failing CI (#79406) 2022-10-01 16:22:23 +02:00
Robert Svensson 2ce837f588
Resolve late comments to deCONZ sensor (#79380)
Resolve late comments to deCONZ sensor #79137
2022-09-30 21:49:59 +02:00
Shay Levy c70ca1572b
Make Shelly update sensors disabled by default (#79376) 2022-09-30 14:37:58 -04:00
J. Nick Koston 6694d06b37
Remove iBeacon devices that rotate their major,minor and mac (#79338) 2022-09-30 08:46:45 -04:00
Michał Huryn ed044acca7
Remove blebox AirQuality platform (#77873)
* AirQuality functionality moved to sensors, tests moved accordingly.

* Refreshed fixtures comments.
2022-09-30 11:37:47 +02:00
epenet fb7079c62c
Adjust icons with new device classes (#79348)
* Adjust icons with new device classes

* Fix mysensors tests

* Fix mysensors tests
2022-09-30 10:41:18 +02:00
Erik Montnemery bc2dffabc4
Improve naming of units used in statistics (#79276) 2022-09-30 08:38:44 +02:00
Paulus Schoutsen 6e893d9162
Store alternative domain for Zeroconf homekit discovery (#79240) 2022-09-29 22:21:00 -04:00
Duco Sebel aa6f15b1e2
Use SensorDeviceClass.VOLUME in HomeWizard (#79323)
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2022-09-29 21:51:18 -04:00
uvjustin 2688e5b2d4
Mask spotify content in owntone library (#79247) 2022-09-29 21:07:26 -04:00
Vincent Giorgi d5b966d942
Add Airthings BLE component (#77284)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
Co-authored-by: J. Nick Koston <nick@koston.org>
2022-09-29 15:55:45 -04:00
Robert Hillis d7d6637d79
Unregister Google sheets services during unload (#79314)
* Unregister services during unload - Google Sheets

* uno mas
2022-09-29 20:29:41 +02:00
ehendrix23 ba6a81c565
Resolve traceback error when using variables in template triggers (#77287)
Co-authored-by: Erik <erik@montnemery.com>
2022-09-29 13:26:28 -04:00
Dennis Schroer ee32e0eb3f
Update huisbaasje-client 0.1.0 to energyflip-client 0.2.0 (#79233) 2022-09-29 13:25:23 -04:00
HarvsG f645965172
Add repair for missing Bayesian `prob_given_false` (#79303) 2022-09-29 13:24:06 -04:00
Rami Mosleh e7764b8bf1
Add ConfigEntry template function (#78030)
* Add ConfigEntry template function

* Remove looking up entry_id by entry title
2022-09-29 12:41:59 +02:00
Rami Mosleh d0ac1073a0
Allow entries with same user_key for Pushover (#77904)
* Allow entries with same user_key for Pushover

* remove unique_id completely

* Abort reauth if entered api_key already exists
Update tests
2022-09-29 12:40:53 +02:00
uvjustin 79713d637a
Use Owntone name for forked-daapd (#79214)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-09-28 22:46:27 -04:00
PeteRager 504ce8e93a
Set nest entities as unavailable on lost connection (#78773)
* NEST - Issues with lost internet connectivity #70479

Update Climate and Sensor entities to be unavailable when the device connectivity trait indicates the device is offline.

The prior behavior, the last known values would be displayed indefinitely if the device lost internet connectivity.  This was creating the illusion that the device was still connected.  With this change, the Home Assistant entities will become unavailable when the device loses connectivity.

* Update formatting

* Add doc strings, fix indentation

* Fix doc strings

* Update test_climate_sdm.py

* Update test_climate_sdm.py

* Update test_sensor_sdm.py

* Update test_sensor_sdm.py

* more formatting fixes

* Place availability logic in mixin

1. Consolidate repeated code into mixin and apply mixin to Climate and Sensor entities
2. Return true instead of super.available()
3. No unit test changes required to maintain code coverage

* Define self._device is mixin to make linter happier

* Remove logger used for debugging

* restore whitespace

* Fix test due to underlying merge change

* Update availability_mixin.py

* Move availability logic into device_info

* Update sensor_sdm.py
2022-09-28 19:23:11 -07:00
uvjustin 1a9bcafbd2
Clean up Add spotify support to forked-daapd (#79213) 2022-09-28 21:54:12 -04:00
Kevin Stillhammer 45ecddb9aa
Remove route sensor of here_travel_time (#79211) 2022-09-28 21:50:30 -04:00
HarvsG 768b83139f
Add to issue registry if user has mirrored entries for breaking in #67631 (#79208)
Co-authored-by: Diogo Gomes <diogogomes@gmail.com>
2022-09-28 21:39:15 -04:00
Raman Gupta 3884b4b6bf
Bump zwave-js-server-python to 0.42.0 (#79020) 2022-09-28 21:24:04 -04:00
David F. Mulcahey 2ed48a9b28
Add configuration entities and device actions for Inovelli Blue Series switch to ZHA (#79106)
* Add Inovelli configutation entities to ZHA

* add device actions

* fix attribute name collision

* add device action tests

* disable remote protection per Inovelli request

* expect_reply to false

* update test for expect_reply change

* inovelli feedback

* translation keys and strings

* clean up numbers

* prevent double events

* remove individual LED defaults per inovelli

* redundant check

* update test
2022-09-28 14:22:39 -04:00
epenet 9c3b40dad1
Deprecate conversion utilities (#78957)
* Deprecate utilities

* Deprecate distance and speed

* Add tests

* Adjust pylint

* Simplify temperature deprecation
2022-09-28 19:39:44 +02:00
starkillerOG 4bdd8cb459
Shelly migrate to update entity (#78305)
* Add update entity

* fixes

* fixes

* change to CONFIG catogory

* return latest version if no update available

* fixes

* Remove firmware binary_sensors and buttons

* import Callable from collections

* remove ota_update tests

* Update homeassistant/components/shelly/update.py

Co-authored-by: Shay Levy <levyshay1@gmail.com>

* simplify

* fix mypy

* Create test_update.py

* fix isort

* add progress support

* fix styling

* fix update_tests

* fix styling

* do not exclude shelly update test

* bring coverage to 100%

* snake case

* snake case

* change str(x) to cast(str, x)

* simplify tests

* further simplify tests

* Split MOCK_SHELLY_COAP and MOCK_SHELLY_RPC

* fix issort

* fix status test

* fix isort

* run python3 -m script.hassfest

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-09-28 20:21:30 +03:00
Erik Montnemery b173ae7f44
Add support for integrations v2 (#78801)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 11:31:48 -04:00
Erik Montnemery 7f08dd851e
Make script entities register their own service (#79202) 2022-09-28 11:05:29 -04:00
Maciej Bieniek 8719829fbe
Add missing error catch in Shelly reauth flow (#79205) 2022-09-28 11:00:27 -04:00
avee87 8c0e3b9d50
Migrate MetOffice to new entity naming style (#74978)
Co-authored-by: Franck Nijhof <frenck@frenck.nl>
2022-09-28 16:37:35 +02:00
Jan Bouwhuis 84b2c74746
Move MQTT discovery hass.data globals to dataclass (#78706)
* Add MQTT discovery hass.data globals to dataclass

* isort

* Additional rework

* Add hass.data["mqtt_tags"] to dataclass

* Follow-up comment

* Corrections
2022-09-28 14:13:44 +02:00
Paulus Schoutsen d3f5ccfed8
Allow fetching script config (#79131) 2022-09-28 13:52:58 +02:00
epenet 5438552d4a
Cleanup unit conversion (#79197)
* Move UNIT_RATIO to BaseUnitConverter

* Make UNIT_CONVERSION private

* Remove STATISTIC_UNIT_TO_UNIT_CLASS constant

* Cleanup websocket_api

* Imrpove valid_units check
2022-09-28 13:49:46 +02:00
Rami Mosleh 9bd2117240
Add typing hints to mikrotik tests (#79144) 2022-09-28 13:05:45 +02:00
Paulus Schoutsen 4843d330f3
Allow fetching automation config (#79130) 2022-09-28 12:49:00 +02:00
epenet 5389ff3253
Add new weight device class (#79185) 2022-09-28 12:13:49 +02:00
epenet c96c5bed7d
Remove argument validation in Unit Converter (#79107)
* Remove argument validation in Unit Converter

* Use HomeAssistantError

* Adjust tests

* Improve coverage
2022-09-28 10:58:04 +02:00
epenet 1b8bed936c
Use new DISTANCE and VOLUME device classes in Renault (#77488) 2022-09-28 10:46:24 +02:00
Paulus Schoutsen 010430780e
Allow controlling PrusaLink print jobs (#78720)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 10:42:19 +02:00
Erik Montnemery 6ef33b1d39
Fix overriding a script's entity_id (#78765) 2022-09-28 10:37:34 +02:00
Yuxin Wang 52307708c8
Refactor apcupsd to use config flow (#64809)
* Add Config Flow to APCUPSd integration and remove YAML support.

* Hide the binary sensor if user does not select STATFLAG resource.

* Add tests for config flows.

* Simplify config flow code.

* Spell fix.

* Fix pylint warnings.

* Simplify the code for config flow.

* First attempt to implement import flows to suppport legacy YAML configurations.

* Remove unnecessary log calls.

* Wrap synchronous update call with `hass.async_add_executor_job`.

* Import the YAML configurations when sensor platform is set up.

* Move the logger call since the variables are not properly set up.

* Add codeowner.

* Fix name field of manifest.json.

* Fix linting issue.

* Fix incorrect dependency due to incorrect rebase.

* Update codeowner and config flows via hassfest.

* Postpone the deprecation warning to 2022.7.

* Import future annotations for init file.

* Add an newline at the end to make prettier happy.

* Update github id.

* Add type hints for return types of steps in config flow.

* Move the deprecation date for YAML config to 2022.12.

* Update according to reviews.

* Use async_forward_entry_setups.

* Add helper properties to `APCUPSdData` class.

* Add device_info for binary sensor.

* Simplify config flow.

* Remove options flow strings.

* update the tests according to the changes.

* Add `entity_registry_enabled_default` to entities and use imported CONF_RESOURCES to disable entities instead of skipping them.

* Update according to reviews.

* Do not use model of the UPS as the title for the integration.

Instead, simply use "APCUPSd" as the integration title and let the device info serve as title for each device instead.

* Change schema to be a global variable.

* Add more comments.

* Rewrite the tests for config flows.

* Fix enabled_by_default.

* Show friendly titles in the integration.

* Add import check in `async_setup_platform` to avoid importing in sensor platform setup.

* Add import check in `async_setup_platform` to avoid importing in sensor platform setup.

* Update comments in test files.

* Use parametrize instead of manually iterating different test cases.

* Swap the order of the platform constants.

* Avoid using broad exceptions.

* Set up device info via `_attr_device_info`.

* Remove unrelated test in `test_config_flow`.

* Use `DeviceInfo` instead of dict to assign to `_attr_device_info`.

* Add english translation.

* Add `async_create_issue` for deprecated YAML configuration.

* Enable UPS status by default since it could show "online, charging, on battery etc" which is meaningful for all users.

* Apply suggestions from code review

* Apply suggestion

* Apply suggestion

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-09-28 09:14:04 +02:00
G Johansson 18be5f1387
SQL fix entry options save (#78145)
* SQL fix options

* Testing
2022-09-28 08:49:37 +02:00
Jack Boswell 3d3aa824b3
Refactor Trend to use `async_setup_platform` (#78216)
* Move trend constants to const.py

* Migrate to async_setup_platform

* Fix test

* Reorder attrs
2022-09-28 08:46:13 +02:00
Erik Montnemery c38b1e7727
Improve check of new_entity_id in entity_registry.async_update_entity (#78276)
* Improve check of new_entity_id in entity_registry.async_update_entity

* Fix race in rfxtrx config flow

* Make sure Event is created on time

* Rename poorly named variable

* Fix typing

* Correct typing of _handle_state_change
2022-09-28 08:43:58 +02:00
Michael 69bf77be12
Avoid multiline lambdas in Fritz!Smarthome sensors (#78524)
* avoid multiline lambdas

* update tests
2022-09-28 08:43:31 +02:00
Vincent Knoop Pathuis 9ee81fdd77
Landis+Gyr Heat Meter: add heat previous year GJ as diagnostic (#78690)
Add heat previous year GJ as diagnostic
2022-09-28 08:28:31 +02:00
Robert Hillis e360a4fa9e
Bump aiopyarr to 22.9.0 (#79173) 2022-09-28 08:06:24 +02:00
Ville Skyttä b54458dfba
Fix EZVIZ spelling case (#79164)
* Fix EZVIZ spelling case

The vendor seems consistent about all-uppercase spelling, so let's
follow suit.

* Revert changes to translations other than English
2022-09-28 07:41:33 +02:00
Erik Montnemery 9084beda32
Keep storing statistics for sensors which change device class (#79155) 2022-09-27 14:33:28 -04:00
uvjustin a561b608bf
Add spotify support to forked-daapd (#79136) 2022-09-27 14:32:05 -04:00
uvjustin b043a6ba88
Cleanup add browse media forked daapd #79009 (#79157) 2022-09-27 14:07:19 -04:00