diff --git a/homeassistant/components/tuya/const.py b/homeassistant/components/tuya/const.py index e445116d39c..a57ee5e397e 100644 --- a/homeassistant/components/tuya/const.py +++ b/homeassistant/components/tuya/const.py @@ -75,8 +75,9 @@ CONF_PASSWORD = "password" CONF_COUNTRY_CODE = "country_code" CONF_APP_TYPE = "tuya_app_type" -DEVICE_CLASS_TUYA_RELAY_STATUS = "tuya__relay_status" +DEVICE_CLASS_TUYA_LED_TYPE = "tuya__led_type" DEVICE_CLASS_TUYA_LIGHT_MODE = "tuya__light_mode" +DEVICE_CLASS_TUYA_RELAY_STATUS = "tuya__relay_status" TUYA_DISCOVERY_NEW = "tuya_discovery_new" TUYA_HA_SIGNAL_UPDATE_ENTITY = "tuya_entry_update" @@ -136,6 +137,7 @@ class DPCode(str, Enum): BRIGHT_VALUE = "bright_value" # Brightness BRIGHT_VALUE_1 = "bright_value_1" BRIGHT_VALUE_2 = "bright_value_2" + BRIGHT_VALUE_3 = "bright_value_3" BRIGHT_VALUE_V2 = "bright_value_v2" C_F = "c_f" # Temperature unit switching CH2O_STATE = "ch2o_state" @@ -168,6 +170,9 @@ class DPCode(str, Enum): HUMIDITY_CURRENT = "humidity_current" # Current humidity HUMIDITY_SET = "humidity_set" # Humidity setting HUMIDITY_VALUE = "humidity_value" # Humidity + LED_TYPE_1 = "led_type_1" + LED_TYPE_2 = "led_type_2" + LED_TYPE_3 = "led_type_3" LIGHT = "light" # Light LIGHT_MODE = "light_mode" LOCK = "lock" # Lock / Child lock @@ -217,6 +222,7 @@ class DPCode(str, Enum): SWITCH_LED = "switch_led" # Switch SWITCH_LED_1 = "switch_led_1" SWITCH_LED_2 = "switch_led_2" + SWITCH_LED_3 = "switch_led_3" SWITCH_NIGHT_LIGHT = "switch_night_light" SWITCH_SPRAY = "switch_spray" # Spraying switch SWITCH_USB1 = "switch_usb1" # USB 1 diff --git a/homeassistant/components/tuya/light.py b/homeassistant/components/tuya/light.py index 18aedb9366b..308c0037d0b 100644 --- a/homeassistant/components/tuya/light.py +++ b/homeassistant/components/tuya/light.py @@ -113,6 +113,25 @@ LIGHTS: dict[str, tuple[TuyaLightEntityDescription, ...]] = { name="Backlight", ), ), + # Dimmer Switch + # https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o + "tgkg": ( + TuyaLightEntityDescription( + key=DPCode.SWITCH_LED_1, + name="Light", + brightness=DPCode.BRIGHT_VALUE_1, + ), + TuyaLightEntityDescription( + key=DPCode.SWITCH_LED_2, + name="Light 2", + brightness=DPCode.BRIGHT_VALUE_2, + ), + TuyaLightEntityDescription( + key=DPCode.SWITCH_LED_3, + name="Light 3", + brightness=DPCode.BRIGHT_VALUE_3, + ), + ), # Dimmer # https://developer.tuya.com/en/docs/iot/tgq?id=Kaof8ke9il4k4 "tgq": ( diff --git a/homeassistant/components/tuya/select.py b/homeassistant/components/tuya/select.py index 17d6a9c91cb..fe6c030f0bc 100644 --- a/homeassistant/components/tuya/select.py +++ b/homeassistant/components/tuya/select.py @@ -16,6 +16,7 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback from . import HomeAssistantTuyaData from .base import EnumTypeData, TuyaEntity from .const import ( + DEVICE_CLASS_TUYA_LED_TYPE, DEVICE_CLASS_TUYA_LIGHT_MODE, DEVICE_CLASS_TUYA_RELAY_STATUS, DOMAIN, @@ -82,6 +83,40 @@ SELECTS: dict[str, tuple[SelectEntityDescription, ...]] = { entity_category=ENTITY_CATEGORY_CONFIG, ), ), + # Dimmer Switch + # https://developer.tuya.com/en/docs/iot/categorytgkg?id=Kaiuz0ktx7m0o + "tgkg": ( + SelectEntityDescription( + key=DPCode.RELAY_STATUS, + name="Power on Behavior", + device_class=DEVICE_CLASS_TUYA_RELAY_STATUS, + entity_category=ENTITY_CATEGORY_CONFIG, + ), + SelectEntityDescription( + key=DPCode.LIGHT_MODE, + name="Indicator Light Mode", + device_class=DEVICE_CLASS_TUYA_LIGHT_MODE, + entity_category=ENTITY_CATEGORY_CONFIG, + ), + SelectEntityDescription( + key=DPCode.LED_TYPE_1, + name="Light Source Type", + device_class=DEVICE_CLASS_TUYA_LED_TYPE, + entity_category=ENTITY_CATEGORY_CONFIG, + ), + SelectEntityDescription( + key=DPCode.LED_TYPE_2, + name="Light 2 Source Type", + device_class=DEVICE_CLASS_TUYA_LED_TYPE, + entity_category=ENTITY_CATEGORY_CONFIG, + ), + SelectEntityDescription( + key=DPCode.LED_TYPE_3, + name="Light 3 Source Type", + device_class=DEVICE_CLASS_TUYA_LED_TYPE, + entity_category=ENTITY_CATEGORY_CONFIG, + ), + ), } diff --git a/homeassistant/components/tuya/strings.select.json b/homeassistant/components/tuya/strings.select.json index 18450f8d6ff..38d3e7c4a20 100644 --- a/homeassistant/components/tuya/strings.select.json +++ b/homeassistant/components/tuya/strings.select.json @@ -1,5 +1,10 @@ { "state": { + "tuya__led_type": { + "halogen": "Halogen", + "incandescent": "Incandescent", + "led": "LED" + }, "tuya__light_mode": { "none": "[%key:common::state::off%]", "pos": "Indicate switch location", @@ -7,6 +12,9 @@ }, "tuya__relay_status": { "last": "Remember last state", + "memory": "Remember last state", + "off": "[%key:common::state::off%]", + "on": "[%key:common::state::on%]", "power_off": "[%key:common::state::off%]", "power_on": "[%key:common::state::on%]" } diff --git a/homeassistant/components/tuya/translations/select.en.json b/homeassistant/components/tuya/translations/select.en.json index b1e8670f5d4..70ef9486196 100644 --- a/homeassistant/components/tuya/translations/select.en.json +++ b/homeassistant/components/tuya/translations/select.en.json @@ -1,5 +1,10 @@ { "state": { + "tuya__led_type": { + "halogen": "Halogen", + "incandescent": "Incandescent", + "led": "LED" + }, "tuya__light_mode": { "none": "Off", "pos": "Indicate switch location", @@ -7,6 +12,9 @@ }, "tuya__relay_status": { "last": "Remember last state", + "memory": "Remember last state", + "off": "Off", + "on": "On", "power_off": "Off", "power_on": "On" }