From d02bb70f0cf50c70f576e1b58679c00e6097660a Mon Sep 17 00:00:00 2001 From: Carlos Giraldo Date: Sun, 17 May 2020 09:57:24 +0200 Subject: [PATCH] deCONZ - Add support for "Window covering controller" (#35294) * Add support for "Window covering controller" Some window cover devices such as Sunricher SR-ZG9080A are identified in deconz as "Window covering controller". We need to include this device type in const.py to be integrated as type "cover" in home-assistant. * Added Window covering controller to deconz tests --- homeassistant/components/deconz/const.py | 2 +- tests/components/deconz/test_cover.py | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/homeassistant/components/deconz/const.py b/homeassistant/components/deconz/const.py index cd125613f21..c2190321fdf 100644 --- a/homeassistant/components/deconz/const.py +++ b/homeassistant/components/deconz/const.py @@ -37,7 +37,7 @@ ATTR_ON = "on" ATTR_VALVE = "valve" DAMPERS = ["Level controllable output"] -WINDOW_COVERS = ["Window covering device"] +WINDOW_COVERS = ["Window covering device", "Window covering controller"] COVER_TYPES = DAMPERS + WINDOW_COVERS POWER_PLUGS = ["On/Off light", "On/Off plug-in unit", "Smart plug"] diff --git a/tests/components/deconz/test_cover.py b/tests/components/deconz/test_cover.py index 4f45e36c5b1..095ae7e4bc5 100644 --- a/tests/components/deconz/test_cover.py +++ b/tests/components/deconz/test_cover.py @@ -41,6 +41,14 @@ COVERS = { "modelid": "Not zigbee spec", "uniqueid": "00:00:00:00:00:00:00:03-00", }, + "5": { + "id": "Window covering controller id", + "name": "Window covering controller", + "type": "Window covering controller", + "state": {"bri": 254, "on": True, "reachable": True}, + "modelid": "Motor controller", + "uniqueid": "00:00:00:00:00:00:00:04-00", + }, } @@ -71,7 +79,8 @@ async def test_cover(hass): assert "cover.window_covering_device" in gateway.deconz_ids assert "cover.unsupported_cover" not in gateway.deconz_ids assert "cover.deconz_old_brightness_cover" in gateway.deconz_ids - assert len(hass.states.async_all()) == 4 + assert "cover.window_covering_controller" in gateway.deconz_ids + assert len(hass.states.async_all()) == 5 level_controllable_cover = hass.states.get("cover.level_controllable_cover") assert level_controllable_cover.state == "open"