Example #1
0
                                                    brightness)
            return
        # Handle switch to RGB Color Mode
        if rgb := kwargs.get(ATTR_RGB_COLOR):
            if not self._device.requires_turn_on:
                rgb = _min_rgb_brightness(rgb)
            red, green, blue = rgb
            await self._device.async_set_levels(red,
                                                green,
                                                blue,
                                                brightness=brightness)
            return
        # Handle switch to RGBW Color Mode
        if rgbw := kwargs.get(ATTR_RGBW_COLOR):
            if ATTR_BRIGHTNESS in kwargs:
                rgbw = rgbw_brightness(rgbw, brightness)
            rgbw = _min_rgbw_brightness(rgbw, self._device.rgbw)
            await self._device.async_set_levels(*rgbw)
            return
        # Handle switch to RGBWW Color Mode
        if rgbcw := kwargs.get(ATTR_RGBWW_COLOR):
            if ATTR_BRIGHTNESS in kwargs:
                rgbcw = rgbcw_brightness(kwargs[ATTR_RGBWW_COLOR], brightness)
            rgbwc = rgbcw_to_rgbwc(rgbcw)
            rgbwc = _min_rgbwc_brightness(rgbwc, self._device.rgbww)
            await self._device.async_set_levels(*rgbwc)
            return
        if (white := kwargs.get(ATTR_WHITE)) is not None:
            await self._device.async_set_levels(w=white)
            return
Example #2
0
     brightness = kwargs.get(
         ATTR_BRIGHTNESS, self._device.getWhiteTemperature()[1]
     )
     cold, warm = color_temp_to_white_levels(color_temp_kelvin, brightness)
     await self._device.async_set_levels(r=0, b=0, g=0, w=warm, w2=cold)
     return
 # Handle switch to RGB Color Mode
 if ATTR_RGB_COLOR in kwargs:
     await self._device.async_set_levels(
         *kwargs[ATTR_RGB_COLOR], brightness=brightness
     )
     return
 # Handle switch to RGBW Color Mode
 if ATTR_RGBW_COLOR in kwargs:
     if ATTR_BRIGHTNESS in kwargs:
         rgbw = rgbw_brightness(kwargs[ATTR_RGBW_COLOR], brightness)
     else:
         rgbw = kwargs[ATTR_RGBW_COLOR]
     await self._device.async_set_levels(*rgbw)
     return
 # Handle switch to RGBWW Color Mode
 if ATTR_RGBWW_COLOR in kwargs:
     if ATTR_BRIGHTNESS in kwargs:
         rgbcw = rgbcw_brightness(kwargs[ATTR_RGBWW_COLOR], brightness)
     else:
         rgbcw = kwargs[ATTR_RGBWW_COLOR]
     await self._device.async_set_levels(*rgbcw_to_rgbwc(rgbcw))
     return
 if ATTR_WHITE in kwargs:
     await self._device.async_set_levels(w=kwargs[ATTR_WHITE])
     return