From 43c66b90df534ef92ffeeaf31659477d864ab0cc Mon Sep 17 00:00:00 2001 From: Robert Hillis Date: Sun, 25 Sep 2022 19:47:38 -0400 Subject: [PATCH] Change Skybell color mode to RGB (#78078) --- homeassistant/components/skybell/light.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/homeassistant/components/skybell/light.py b/homeassistant/components/skybell/light.py index 2b3066a8827..311122c28e7 100644 --- a/homeassistant/components/skybell/light.py +++ b/homeassistant/components/skybell/light.py @@ -3,6 +3,8 @@ from __future__ import annotations from typing import Any +from aioskybell.helpers.const import BRIGHTNESS, RGB_COLOR + from homeassistant.components.light import ( ATTR_BRIGHTNESS, ATTR_RGB_COLOR, @@ -31,16 +33,16 @@ async def async_setup_entry( class SkybellLight(SkybellEntity, LightEntity): """A light implementation for Skybell devices.""" - _attr_supported_color_modes = {ColorMode.BRIGHTNESS, ColorMode.RGB} + _attr_color_mode = ColorMode.RGB + _attr_supported_color_modes = {ColorMode.RGB} async def async_turn_on(self, **kwargs: Any) -> None: """Turn on the light.""" if ATTR_RGB_COLOR in kwargs: - rgb = kwargs[ATTR_RGB_COLOR] - await self._device.async_set_setting(ATTR_RGB_COLOR, rgb) + await self._device.async_set_setting(RGB_COLOR, kwargs[ATTR_RGB_COLOR]) if ATTR_BRIGHTNESS in kwargs: level = int((kwargs.get(ATTR_BRIGHTNESS, 0) * 100) / 255) - await self._device.async_set_setting(ATTR_BRIGHTNESS, level) + await self._device.async_set_setting(BRIGHTNESS, level) async def async_turn_off(self, **kwargs: Any) -> None: """Turn off the light.""" @@ -55,3 +57,8 @@ class SkybellLight(SkybellEntity, LightEntity): def brightness(self) -> int: """Return the brightness of the light.""" return int((self._device.led_intensity * 255) / 100) + + @property + def rgb_color(self) -> tuple[int, int, int] | None: + """Return the rgb color value [int, int, int].""" + return self._device.led_rgb