diff --git a/homeassistant/components/tuya/const.py b/homeassistant/components/tuya/const.py index edd807c980f..1e7648ab01c 100644 --- a/homeassistant/components/tuya/const.py +++ b/homeassistant/components/tuya/const.py @@ -607,6 +607,7 @@ class DPCode(StrEnum): ALARM_DELAY_TIME = "alarm_delay_time" ALARM_MESSAGE = "alarm_message" ALARM_MSG = "alarm_msg" + ALARM_STATE = "alarm_state" ALARM_SWITCH = "alarm_switch" # Alarm switch ALARM_TIME = "alarm_time" # Alarm time ALARM_VOLUME = "alarm_volume" # Alarm volume diff --git a/homeassistant/components/tuya/select.py b/homeassistant/components/tuya/select.py index b631caffc7e..3c84885f5e2 100644 --- a/homeassistant/components/tuya/select.py +++ b/homeassistant/components/tuya/select.py @@ -207,6 +207,11 @@ SELECTS: dict[DeviceCategory, tuple[SelectEntityDescription, ...]] = { ), ), DeviceCategory.SGBJ: ( + SelectEntityDescription( + key=DPCode.ALARM_STATE, + translation_key="siren_mode", + entity_category=EntityCategory.CONFIG, + ), SelectEntityDescription( key=DPCode.ALARM_VOLUME, translation_key="volume", diff --git a/homeassistant/components/tuya/strings.json b/homeassistant/components/tuya/strings.json index c95dea753ea..7fa7d6e136f 100644 --- a/homeassistant/components/tuya/strings.json +++ b/homeassistant/components/tuya/strings.json @@ -494,6 +494,15 @@ "power_on": "[%key:common::state::on%]" } }, + "siren_mode": { + "name": "Siren mode", + "state": { + "alarm_light": "Light", + "alarm_sound": "Sound", + "alarm_sound_light": "Sound & light", + "normal": "[%key:common::state::normal%]" + } + }, "target_humidity": { "name": "Target humidity" }, diff --git a/tests/components/tuya/snapshots/test_select.ambr b/tests/components/tuya/snapshots/test_select.ambr index cb343fce8c9..da473187b88 100644 --- a/tests/components/tuya/snapshots/test_select.ambr +++ b/tests/components/tuya/snapshots/test_select.ambr @@ -4389,6 +4389,67 @@ 'state': 'power_on', }) # --- +# name: test_platform_setup_and_discovery[select.siren_siren_mode-entry] + EntityRegistryEntrySnapshot({ + 'aliases': set({ + }), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + 'alarm_sound', + 'alarm_light', + 'alarm_sound_light', + 'normal', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.siren_siren_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Siren mode', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'siren_mode', + 'unique_id': 'tuya.okwwus27jhqqe2mijbgsalarm_state', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.siren_siren_mode-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Siren Siren mode', + 'options': list([ + 'alarm_sound', + 'alarm_light', + 'alarm_sound_light', + 'normal', + ]), + }), + 'context': , + 'entity_id': 'select.siren_siren_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'normal', + }) +# --- # name: test_platform_setup_and_discovery[select.siren_veranda_volume-entry] EntityRegistryEntrySnapshot({ 'aliases': set({