Commit graph

11333 commits

Author SHA1 Message Date
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
Kevin Stillhammer
a0119f7ed0
Resolve zones and return state in find_coordinates (#66081) 2022-02-09 10:43:20 +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
911e488d48
Fix ENTITY_CATEGORIES_SCHEMA (#66108)
Co-authored-by: Paulus Schoutsen <balloob@gmail.com>
2022-02-08 14:00:53 -08: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
Paulus Schoutsen
95a890c6e1
Get_url to prefer external URL if SSL configured (#66039) 2022-02-07 15:44:02 -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