Commit Graph

10112 Commits

Author SHA1 Message Date
Paulus Schoutsen
dd48f1e6fc Allow uploading media to media folder (#66143) 2022-02-10 08:03:14 -08:00
J. Nick Koston
0fb2c78b6d Add RGBW/RGBWW support to WiZ (#66196) 2022-02-10 09:08:33 -06:00
Franck Nijhof
8760cb035a More cleanup in Plugwise switch (#66254) 2022-02-10 10:17:37 +01:00
Franck Nijhof
b3814aa4e6 Refactor Plugwise command handling (#66202) 2022-02-10 09:53:26 +01:00
j-a-n
243d003acc Add Moehlenhoff Alpha2 underfloor heating system integration (#42771)
* Add Moehlenhoff Alpha2 underfloor heating system integration

* isort changes

* flake8 changes

* Do not exclude config_flow.py

* pylint changes

* Add config_flow test

* correct requirements_test_all.txt

* more tests

* Update test description

* Test connection and catch TimeoutError in async_setup_entry

* Add version to manifest file

* Remove version from manifest file

* Replace tests.async_mock.patch by unittest.mock.patch

* Update moehlenhoff-alpha2 to version 1.0.1

* Update requirements for moehlenhoff-alpha2 1.0.1

* Update moehlenhoff-alpha2 to 1.0.2

* Use async_setup_platforms

* Use async_unload_platforms

* Separate connection and devices for each entry_id

* Use async_track_time_interval to schedule updates

* Check if input is valid before checking uniqueness

* Move Exception handling to validate_input

* Catch aiohttp.client_exceptions.ClientConnectorError

* Remove translation files

* Mock TimeoutError

* Fix data update

* Replace current callback implementation with ha dispatcher

* Return False in should_poll

* Remove unused argument

* Remove CONNECTION_CLASS

* Use _async_current_entries

* Call async_schedule_update_ha_state after data update

* Remove unneeded async_setup

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Remove unneeded async_setup_platform

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Set Schema attribute host required

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Remove unused Exception class

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Update manifest.json

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* pylint constructor return type None

* Replace properties by class variables

* use pass instead of return

* Remove unused sync update method

* remove property hvac_action

* remove pass

* rework exception handling

* Update homeassistant/components/moehlenhoff_alpha2/config_flow.py

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>

* Correct indentation

* catch Exception in validate_input

* Replace HomeAssistantType with HomeAssistant

* Update to moehlenhoff-alpha2 1.0.3

* Allow to switch between heating and cooling mode

* Update moehlenhoff-alpha2 to version 1.0.4

* Update heatarea data after setting target temperature

* Support hvac_action

* Fix heatarea update with multiple bases

* Update data after setting preset mode

* Use custom preset modes like defined by device

* Fix config flow test

* Fix test_duplicate_error

* Rename property to extra_state_attributes

Rename property device_state_attributes to extra_state_attributes and
return lowercase keys in dict.

* Refactor using DataUpdateCoordinator

* Remove _attr_should_poll

* Raise HomeAssistantError on communication error

Catch HTTPError instead of broad except and reraise as HomeAssistantError

* Change DataUpdateCoordinator name to alpha2_base

* Refresh coordinator before setting data

* Raise ValueError on invalid heat area mode

* Rename heatarea to heat_area

* Set type annotation in class attribute

* Move coordinator to top

* Move exception handling to the coordinator

* Use heat_area_id directly

* Sore get_cooling() result into local var

* Add explanation of status attributes

and remove BLOCK_HC

* Fix pylint warnings

* from __future__ import annotations

* Use Platform Enum

* Move data handling to coordinator

* Remove property extra_state_attributes

* Add missing annotations

* Update moehlenhoff-alpha2 to version 1.1.2

* Rework tests based on the scaffold template

* Set also heat/cool/day/night temp with target temp

* Remove unneeded code from tests

Co-authored-by: Milan Meulemans <milan.meulemans@live.be>
2022-02-10 08:28:52 +01:00
epenet
cc5bb556c8 Move Freebox reboot service to a button entity (#65501)
* Add restart button to freebox

* Add warning

* restart => reboot

* Add button tests

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-09 22:20:24 +01:00
Paulus Schoutsen
3bce870c6d Add helper for media players to handle HA hosted media (#66120)
* Sonos to sign all HASS urls

* Don't sign if queries in url

* Extract media player hass URL handling to helper
2022-02-09 12:50:33 -08:00
Stephan Traub
a6013dc0de Update WiZ with IP address validation (#66117) 2022-02-09 12:53:32 -06:00
Franck Nijhof
aa95150360 Add entity descriptions to Plugwise switch platform (#66174) 2022-02-09 17:56:07 +01:00
Erik Montnemery
3f7b7187ab Fix controlling nested groups (#66176) 2022-02-09 14:27:46 +01:00
Duco Sebel
f2fe091979 Allow HomeWizard devices with disabled api to show up in discovery (#65295) 2022-02-08 14:51:28 -08:00
Dave T
5ebc02cef6 Fix generic camera typo in attr_frame_interval (#65390) 2022-02-08 14:47:36 -08:00
Paulus Schoutsen
716a1e2a64 Add camera media source (#65977) 2022-02-08 14:32:02 -08:00
Franck Nijhof
b9f21d4e07 Improve typing of Spotify (#66109)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-08 23:07:13 +01:00
Robert Svensson
b012b79167 Adapt deCONZ number platform to align with updated design of binary sensor and sensor platforms (#65248)
* Adapt number to align with binary sensor and sensor platforms

* Make number tests easier to expand
2022-02-08 23:03:37 +01:00
Erik Montnemery
009b31941a Support restoring SensorEntity native_value (#66068) 2022-02-08 14:00:26 -08:00
Patrik Lindgren
f8a84f0101 Add diagnostics for Tradfri platform (#66092)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-08 22:05:33 +01:00
epenet
86ab500afd Add Renault hvac sensors (#65993)
* Add hvac sensors to renault

* Adjust fixtures

* Adjust tests

* Use icon_fn

* Use lambda

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-08 22:02:45 +01:00
Erik Montnemery
55d8314093 Fix cleanup of MQTT debug info (#66104) 2022-02-08 12:49:25 -08:00
Sander Jochems
d574e54fd8 Fivem code quality improvements (#66086)
* specify config type

* move coordinator outside try block

* rename gamename to game_name

* remove log in __init__

* Remove logging and minify update

* Add types to parameters

* Remove name from device

* Remove update listener

* Remove status icon

* Dont allow duplicate entries

* Use default translation string

* Remove online and port from coordinator
2022-02-08 20:42:55 +01:00
Franck Nijhof
4efebcb86c Use upstream device information for Plugwise (#66074) 2022-02-08 19:08:01 +01:00
Tiernan
2df5060d80 Fix TOD incorrectly determining the state between sunrise and sunset (#65884)
* Fix TOD component incorrectly determining the state between sunrise and sunset (#30199)

* TOD fix

* Comment added

* Review

* Review

* Review

* Update time after day fix workaround for compatibility with
current version.
Only apply fix when using times and not when using sun events.
Add unit test for behaviour.

Co-authored-by: Nikolay Vasilchuk <Anonym.tsk@gmail.com>
2022-02-08 14:26:36 +01:00
Franck Nijhof
1fc717ed1c Add diagnostics support to Plugwise (#65982) 2022-02-08 12:43:45 +01:00
Franck Nijhof
d12a392767 Update plugwise 0.16.2 (#65933) 2022-02-08 11:13:05 +01:00
Sander Jochems
0ea82bdbfb Fivem integration (#65089)
* Initial fivem integration setup

* Use licenseKey for unique ID

* Create FiveMServer class

* Create FiveMStatusBinarySensor

* Fix platform loading

* Create sensor platform

* Remove config flow tests

* Update manifest.json

* Use attr_ instead or properties in sensors.py

* Use entry_id as unique_id

* Move device info to _attr instead of property

* Register callback in FiveMEntity

* Create config flow tests

* Add loggin to fivem

* Use FiveM in config_flow

* Use update_coordinator instead of dispatcher

* Bump fivem-api to 0.1.2

* Remove leftovers

* More tests for config flow

* Add component files to .coveragerc

* Fix simple comments

* Add gamename check to config flow

* Use entity descriptions for sensors

* Move extra attributes to init

* Use [] instead of get() for server info

* Fix error in gamename test
2022-02-08 11:27:11 +02:00
Tobias Sauerwein
8b38fa58aa Bump pytest to 7.0.0 (#65981) 2022-02-08 10:03:27 +01:00
Raman Gupta
4076ca9641 Fix schema for zwave_js WS API (#66052) 2022-02-07 21:53:48 -08:00
Patrik Lindgren
afd0005a31 Add sensor for filter time left on Tradfri fan platform (#65877)
* Add support for filter time left

* Fix test for fan platform

* Remove debug code

* Add unique id migration tool

* Convert to hours

* Fix tests

* Apply suggestions from code review

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

* Add comment, check migration

* Refactor migration helper

* Refactor migration helper

* Move definition of new unique id

* Return after warning

* Add test for unique id migration

Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-08 02:21:22 +01:00
J. Nick Koston
f943f30492 Add discovery support to elkm1 (#65205) 2022-02-07 16:25:26 -08:00
Erik Montnemery
7cc6770f83 Revert "Make idle chromecasts appear as idle instead of off" (#66005) 2022-02-07 20:24:30 +01:00
Franck Nijhof
4732e37005 Remove passing loop into sleep in SamsungTV (#66030) 2022-02-07 20:08:54 +01:00
G Johansson
480ce84b8a Improve code quality filesize (#65240) 2022-02-07 11:59:06 -06:00
Erik Montnemery
910b1f1ec8 Speed up deletion of duplicated statistics (#66014) 2022-02-07 09:11:52 -08:00
Pedro Lamas
ebbe1ff1a2 Cache webostv supported_features state (#65930)
* Cache webostv supported_features state

* Fixes typings

* Restore supported_features attribute on restart

* Reverts change on supported_features initial state

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

* Fixes tests

Co-authored-by: Shay Levy <levyshay1@gmail.com>
2022-02-07 17:49:18 +02:00
Poltorak Serguei
3c5a667d97 Add Z-Wave.Me integration (#65473)
* Add support of Z-Wave.Me Z-Way and RaZberry server (#61182)

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: LawfulChaos <kerbalspacema@gmail.com>

* Add switch platform to Z-Wave.Me integration (#64957)

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

* Add button platform to Z-Wave.Me integration (#65109)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Fix button controller access (#65117)

* Add lock platform to Z-Wave.Me integration #65109 (#65114)

Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
Co-authored-by: Dmitry Vlasov <kerbalspacema@gmail.com>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>

* Add sensor platform to Z-Wave.Me integration (#65132)

* Sensor Entity

* Sensor fixes

* Apply suggestions from code review

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

* Inline descriotion according to review proposal

* State Classes for sensor

* Generic sensor

* Generic sensor

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

* Add binary sensor platform to Z-Wave.Me integration (#65306)

* Binary Sensor Entity

* Update docstring

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

* Add Light Entity platform to Z-Wave.Me integration (#65331)

* Light Entity

* mypy fix

* Fixes, ZWaveMePlatforms enum

* Apply suggestions from code review

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

* Fixes

* Fixes

* Fixes

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

* Add Thermostat platform to Z-Wave.Me integration #65331 (#65371)

* Climate entity

* Climate entity

* Apply suggestions from code review

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

* Climate entity fix

* Clean up

* cleanup

* Import order fix

* Correct naming

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

* Correct zwave_me .coveragerc (#65491)

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

Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
Co-authored-by: LawfulChaos <kerbalspacema@gmail.com>
Co-authored-by: epenet <6771947+epenet@users.noreply.github.com>
2022-02-07 16:27:11 +01:00
Joakim Sørensen
b1015296d9 Add diagnostics to Version integration (#65999)
Co-authored-by: Martin Hjelmare <marhje52@gmail.com>
2022-02-07 16:11:04 +01:00
epenet
486c068111 Allow None on Renault binary sensors (#65997)
* Enable None on renault binary sensors

* Adjust tests

Co-authored-by: epenet <epenet@users.noreply.github.com>
2022-02-07 15:06:40 +02:00
Joakim Sørensen
38f7213002 Add more tests to device registry updates (#65989) 2022-02-07 11:15:04 +01:00
rhpijnacker
bb762d5b0f 100% code coverage for config_flow of dsmr component (#65238) 2022-02-07 10:48:33 +01:00
Chris Talkington
f05caf451e Small cleanup of sonarr sensor platform (#65962) 2022-02-07 09:53:23 +01:00
Teemu R
fd7e2e76e7 Add tplink diagnostics (#65822) 2022-02-06 16:50:44 -06:00
Teemu R
f4ebb03bab Add tplink hardware version to device info (#65951)
* Add tplink hardware version to device info

* Update mocks

Co-authored-by: J. Nick Koston <nick@koston.org>
2022-02-07 00:37:54 +02:00
ollo69
341d039252 Improve androidtv mac address handling and test coverage (#65749)
* Better mac addr handling and improve test coverage

* Apply suggested changes

* Apply more suggested changes
2022-02-06 14:15:50 -08:00
Allen Porter
ddd198de37 Fix legacy nest diagnostics to return empty rather than fail (#65824)
Fix legacy nest diangostics to return gracefully, rather than a TypError
by checking explicitiy for SDM in the config entry. Update diagnostics
to use the common nest test fixture, and extend with support for the
legacy nest config. Use the sdm test fixture in the existing legacy
tests so they all share the same config files.
2022-02-06 14:14:25 -08:00
J. Nick Koston
41f602c3df Fix loss of ability to control white channel in HomeKit on RGB&W lights (#65864)
* Fix loss of ability to control white channel in HomeKit on RGB&W lights

- Fix white channel missing from RGB/W lights

- Fix temp missing from RGB/CW lights

- Fixes #65529

* cover the missing case

* bright fix

* force brightness notify on color mode change as well
2022-02-06 14:12:30 -08:00
J. Nick Koston
62da194340 Add diagnostics support to HomeKit (#65942)
* Add diagnostics support to HomeKit

* remove debug
2022-02-06 14:02:07 -08:00
Alex Yao
88309a26b7 Fix Yeelight Music Mode Rate Limits (#64891) 2022-02-06 15:34:27 -06:00
Diego Elio Pettenò
c6aa526469 Support songpal wireless-only soundbar identifiers (#65330)
As shown in #64868, a number of newer models don't come wiht a macAddr
attributes, so for those fall back to the wireless address.

This could be hidden by the python-songpal library but for now this will
make it possible to have multiple modern songpal devices on the same
network.
2022-02-06 22:33:58 +01:00
Niels AD
ccdf182d31 rfxtrx: Add command_on/command_off support for pt2262 switch entities (#65798) 2022-02-06 19:39:57 +01:00
Sander Huisman
e7dfc89452 Add unique ID to InfluxDB sensor (#65518) 2022-02-06 18:40:37 +01:00