From 4ea0754094dd6e7d0730ce1cb6ddbb3c0c99fd79 Mon Sep 17 00:00:00 2001 From: Franck Nijhof Date: Sat, 4 Jan 2020 22:44:28 +0100 Subject: [PATCH] Fix WLED light transition (#30490) --- homeassistant/components/wled/light.py | 9 +++++++-- tests/components/wled/test_light.py | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/homeassistant/components/wled/light.py b/homeassistant/components/wled/light.py index 8bc1a56b205..14340dfe39e 100644 --- a/homeassistant/components/wled/light.py +++ b/homeassistant/components/wled/light.py @@ -143,8 +143,13 @@ class WLEDLight(Light, WLEDDeviceEntity): async def async_turn_off(self, **kwargs: Any) -> None: """Turn off the light.""" + data = {ATTR_ON: False, ATTR_SEGMENT_ID: self._segment} + + if ATTR_TRANSITION in kwargs: + data[ATTR_TRANSITION] = kwargs[ATTR_TRANSITION] * 1000 + try: - await self.wled.light(on=False) + await self.wled.light(**data) self._state = False except WLEDError: _LOGGER.error("An error occurred while turning off WLED light.") @@ -168,7 +173,7 @@ class WLEDLight(Light, WLEDDeviceEntity): data[ATTR_COLOR_PRIMARY] = color_util.color_hsv_to_RGB(hue, sat, 100) if ATTR_TRANSITION in kwargs: - data[ATTR_TRANSITION] = kwargs[ATTR_TRANSITION] + data[ATTR_TRANSITION] = kwargs[ATTR_TRANSITION] * 1000 if ATTR_BRIGHTNESS in kwargs: data[ATTR_BRIGHTNESS] = kwargs[ATTR_BRIGHTNESS] diff --git a/tests/components/wled/test_light.py b/tests/components/wled/test_light.py index 037081608af..357a600dd5b 100644 --- a/tests/components/wled/test_light.py +++ b/tests/components/wled/test_light.py @@ -90,7 +90,7 @@ async def test_switch_change_state( await hass.services.async_call( LIGHT_DOMAIN, SERVICE_TURN_OFF, - {ATTR_ENTITY_ID: "light.wled_rgb_light"}, + {ATTR_ENTITY_ID: "light.wled_rgb_light", ATTR_TRANSITION: 5}, blocking=True, ) await hass.async_block_till_done()