Fix color setting of tplink lights (#14108)

This commit is contained in:
Anders Melchiorsen 2018-04-28 23:12:11 +02:00 committed by Paulus Schoutsen
parent 93fe61bf13
commit e6d4501ee3

View File

@ -11,8 +11,8 @@ import voluptuous as vol
from homeassistant.const import (CONF_HOST, CONF_NAME) from homeassistant.const import (CONF_HOST, CONF_NAME)
from homeassistant.components.light import ( from homeassistant.components.light import (
Light, ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_KELVIN, ATTR_HS_COLOR, Light, ATTR_BRIGHTNESS, ATTR_COLOR_TEMP, ATTR_HS_COLOR, SUPPORT_BRIGHTNESS,
SUPPORT_BRIGHTNESS, SUPPORT_COLOR_TEMP, SUPPORT_COLOR, PLATFORM_SCHEMA) SUPPORT_COLOR_TEMP, SUPPORT_COLOR, PLATFORM_SCHEMA)
import homeassistant.helpers.config_validation as cv import homeassistant.helpers.config_validation as cv
from homeassistant.util.color import \ from homeassistant.util.color import \
color_temperature_mired_to_kelvin as mired_to_kelvin color_temperature_mired_to_kelvin as mired_to_kelvin
@ -90,15 +90,15 @@ class TPLinkSmartBulb(Light):
if ATTR_COLOR_TEMP in kwargs: if ATTR_COLOR_TEMP in kwargs:
self.smartbulb.color_temp = \ self.smartbulb.color_temp = \
mired_to_kelvin(kwargs[ATTR_COLOR_TEMP]) mired_to_kelvin(kwargs[ATTR_COLOR_TEMP])
if ATTR_KELVIN in kwargs:
self.smartbulb.color_temp = kwargs[ATTR_KELVIN] brightness = brightness_to_percentage(
if ATTR_BRIGHTNESS in kwargs: kwargs.get(ATTR_BRIGHTNESS, self.brightness or 255))
brightness = kwargs.get(ATTR_BRIGHTNESS, self.brightness or 255)
self.smartbulb.brightness = brightness_to_percentage(brightness)
if ATTR_HS_COLOR in kwargs: if ATTR_HS_COLOR in kwargs:
hue, sat = kwargs.get(ATTR_HS_COLOR) hue, sat = kwargs.get(ATTR_HS_COLOR)
hsv = (hue, sat, 100) hsv = (int(hue), int(sat), brightness)
self.smartbulb.hsv = hsv self.smartbulb.hsv = hsv
elif ATTR_BRIGHTNESS in kwargs:
self.smartbulb.brightness = brightness
def turn_off(self, **kwargs): def turn_off(self, **kwargs):
"""Turn the light off.""" """Turn the light off."""