Merge branch 'master' into update_interval
This commit is contained in:
@@ -71,6 +71,7 @@ localtuya:
|
||||
color_mode: 21 # Optional, usually 2 or 21, default: "none"
|
||||
brightness: 22 # Optional, usually 3 or 22, default: "none"
|
||||
color_temp: 23 # Optional, usually 4 or 23, default: "none"
|
||||
color_temp_reverse: false # Optional, default: false
|
||||
color: 24 # Optional, usually 5 (RGB_HSV) or 24 (HSV), default: "none"
|
||||
brightness_lower: 29 # Optional, usually 0 or 29, default: 29
|
||||
brightness_upper: 1000 # Optional, usually 255 or 1000, default: 1000
|
||||
@@ -79,7 +80,6 @@ localtuya:
|
||||
scene: 25 # Optional, usually 6 (RGB_HSV) or 25 (HSV), default: "none"
|
||||
music_mode: False # Optional, some use internal mic, others, phone mic. Only internal mic is supported, default: "False"
|
||||
|
||||
|
||||
- platform: sensor
|
||||
friendly_name: Plug Voltage
|
||||
id: 20
|
||||
|
@@ -16,6 +16,7 @@ CONF_COLOR = "color"
|
||||
CONF_COLOR_MODE = "color_mode"
|
||||
CONF_COLOR_TEMP_MIN_KELVIN = "color_temp_min_kelvin"
|
||||
CONF_COLOR_TEMP_MAX_KELVIN = "color_temp_max_kelvin"
|
||||
CONF_COLOR_TEMP_REVERSE = "color_temp_reverse"
|
||||
CONF_MUSIC_MODE = "music_mode"
|
||||
|
||||
# switch
|
||||
|
@@ -27,6 +27,7 @@ from .const import (
|
||||
CONF_COLOR_MODE,
|
||||
CONF_COLOR_TEMP_MAX_KELVIN,
|
||||
CONF_COLOR_TEMP_MIN_KELVIN,
|
||||
CONF_COLOR_TEMP_REVERSE,
|
||||
CONF_MUSIC_MODE,
|
||||
)
|
||||
|
||||
@@ -36,6 +37,8 @@ MIRED_TO_KELVIN_CONST = 1000000
|
||||
DEFAULT_MIN_KELVIN = 2700 # MIRED 370
|
||||
DEFAULT_MAX_KELVIN = 6500 # MIRED 153
|
||||
|
||||
DEFAULT_COLOR_TEMP_REVERSE = False
|
||||
|
||||
DEFAULT_LOWER_BRIGHTNESS = 29
|
||||
DEFAULT_UPPER_BRIGHTNESS = 1000
|
||||
|
||||
@@ -117,6 +120,11 @@ def flow_schema(dps):
|
||||
vol.Optional(CONF_COLOR_TEMP_MAX_KELVIN, default=DEFAULT_MAX_KELVIN): vol.All(
|
||||
vol.Coerce(int), vol.Range(min=1500, max=8000)
|
||||
),
|
||||
vol.Optional(
|
||||
CONF_COLOR_TEMP_REVERSE,
|
||||
default=DEFAULT_COLOR_TEMP_REVERSE,
|
||||
description={"suggested_value": DEFAULT_COLOR_TEMP_REVERSE},
|
||||
): bool,
|
||||
vol.Optional(CONF_SCENE): vol.In(dps),
|
||||
vol.Optional(
|
||||
CONF_MUSIC_MODE, default=False, description={"suggested_value": False}
|
||||
@@ -154,6 +162,9 @@ class LocaltuyaLight(LocalTuyaEntity, LightEntity):
|
||||
MIRED_TO_KELVIN_CONST
|
||||
/ self._config.get(CONF_COLOR_TEMP_MAX_KELVIN, DEFAULT_MAX_KELVIN)
|
||||
)
|
||||
self._color_temp_reverse = self._config.get(
|
||||
CONF_COLOR_TEMP_REVERSE, DEFAULT_COLOR_TEMP_REVERSE
|
||||
)
|
||||
self._hs = None
|
||||
self._effect = None
|
||||
self._effect_list = []
|
||||
@@ -199,11 +210,16 @@ class LocaltuyaLight(LocalTuyaEntity, LightEntity):
|
||||
def color_temp(self):
|
||||
"""Return the color_temp of the light."""
|
||||
if self.has_config(CONF_COLOR_TEMP) and self.is_white_mode:
|
||||
color_temp_value = (
|
||||
self._upper_color_temp - self._color_temp
|
||||
if self._color_temp_reverse
|
||||
else self._color_temp
|
||||
)
|
||||
return int(
|
||||
self._max_mired
|
||||
- (
|
||||
((self._max_mired - self._min_mired) / self._upper_color_temp)
|
||||
* self._color_temp
|
||||
* color_temp_value
|
||||
)
|
||||
)
|
||||
return None
|
||||
@@ -364,10 +380,16 @@ class LocaltuyaLight(LocalTuyaEntity, LightEntity):
|
||||
if ATTR_COLOR_TEMP in kwargs and (features & SUPPORT_COLOR_TEMP):
|
||||
if brightness is None:
|
||||
brightness = self._brightness
|
||||
color_temp_value = (
|
||||
(self._max_mired - self._min_mired)
|
||||
- (int(kwargs[ATTR_COLOR_TEMP]) - self._min_mired)
|
||||
if self._color_temp_reverse
|
||||
else (int(kwargs[ATTR_COLOR_TEMP]) - self._min_mired)
|
||||
)
|
||||
color_temp = int(
|
||||
self._upper_color_temp
|
||||
- (self._upper_color_temp / (self._max_mired - self._min_mired))
|
||||
* (int(kwargs[ATTR_COLOR_TEMP]) - self._min_mired)
|
||||
* color_temp_value
|
||||
)
|
||||
states[self._config.get(CONF_COLOR_MODE)] = MODE_WHITE
|
||||
states[self._config.get(CONF_BRIGHTNESS)] = brightness
|
||||
|
@@ -65,6 +65,7 @@
|
||||
"brightness_lower": "Brightness Lower Value",
|
||||
"brightness_upper": "Brightness Upper Value",
|
||||
"color_temp": "Color Temperature",
|
||||
"color_temp_reverse": "Color Temperature Reverse",
|
||||
"color": "Color",
|
||||
"color_mode": "Color Mode",
|
||||
"color_temp_min_kelvin": "Minimum Color Temperature in K",
|
||||
@@ -122,6 +123,7 @@
|
||||
"brightness_lower": "Brightness Lower Value",
|
||||
"brightness_upper": "Brightness Upper Value",
|
||||
"color_temp": "Color Temperature",
|
||||
"color_temp_reverse": "Color Temperature Reverse",
|
||||
"color": "Color",
|
||||
"color_mode": "Color Mode",
|
||||
"color_temp_min_kelvin": "Minimum Color Temperature in K",
|
||||
|
13
info.md
13
info.md
@@ -66,7 +66,18 @@ localtuya:
|
||||
|
||||
- platform: light
|
||||
friendly_name: Device Light
|
||||
id: 4
|
||||
id: 4 # Usually 1 or 20
|
||||
color_mode: 21 # Optional, usually 2 or 21, default: "none"
|
||||
brightness: 22 # Optional, usually 3 or 22, default: "none"
|
||||
color_temp: 23 # Optional, usually 4 or 23, default: "none"
|
||||
color_temp_reverse: false # Optional, default: false
|
||||
color: 24 # Optional, usually 5 (RGB_HSV) or 24 (HSV), default: "none"
|
||||
brightness_lower: 29 # Optional, usually 0 or 29, default: 29
|
||||
brightness_upper: 1000 # Optional, usually 255 or 1000, default: 1000
|
||||
color_temp_min_kelvin: 2700 # Optional, default: 2700
|
||||
color_temp_max_kelvin: 6500 # Optional, default: 6500
|
||||
scene: 25 # Optional, usually 6 (RGB_HSV) or 25 (HSV), default: "none"
|
||||
music_mode: False # Optional, some use internal mic, others, phone mic. Only internal mic is supported, default: "False"
|
||||
|
||||
- platform: sensor
|
||||
friendly_name: Plug Voltage
|
||||
|
Reference in New Issue
Block a user