diff --git a/tests/components/tuya/fixtures/sp_knkaf1d0dytgyhix.json b/tests/components/tuya/fixtures/sp_knkaf1d0dytgyhix.json new file mode 100644 index 00000000000..273354363c3 --- /dev/null +++ b/tests/components/tuya/fixtures/sp_knkaf1d0dytgyhix.json @@ -0,0 +1,289 @@ +{ + "name": "Security Camera", + "category": "sp", + "product_id": "knkaf1d0dytgyhix", + "product_name": "Security Camera", + "online": true, + "sub": false, + "time_zone": "+02:00", + "active_time": "2025-09-11T13:22:03+00:00", + "create_time": "2025-09-11T13:22:03+00:00", + "update_time": "2025-09-11T13:22:03+00:00", + "function": { + "basic_indicator": { + "type": "Boolean", + "value": "{}" + }, + "basic_flip": { + "type": "Boolean", + "value": "{}" + }, + "basic_osd": { + "type": "Boolean", + "value": "{}" + }, + "basic_private": { + "type": "Boolean", + "value": "{}" + }, + "motion_sensitivity": { + "type": "Enum", + "value": "{\"range\":[\"0\",\"1\",\"2\"]}" + }, + "basic_wdr": { + "type": "Boolean", + "value": "{}" + }, + "basic_nightvision": { + "type": "Enum", + "value": "{\"range\":[\"0\",\"1\",\"2\"]}" + }, + "sd_format": { + "type": "Boolean", + "value": "{}" + }, + "motion_record": { + "type": "Boolean", + "value": "{}" + }, + "ipc_auto_siren": { + "type": "Boolean", + "value": "{}" + }, + "ipc_sharp": { + "type": "Integer", + "value": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}" + }, + "motion_switch": { + "type": "Boolean", + "value": "{}" + }, + "record_switch1": { + "type": "Boolean", + "value": "{}" + }, + "decibel_switch": { + "type": "Boolean", + "value": "{}" + }, + "decibel_sensitivity": { + "type": "Enum", + "value": "{\"range\":[\"0\",\"1\"]}" + }, + "record_switch": { + "type": "Boolean", + "value": "{}" + }, + "record_mode": { + "type": "Enum", + "value": "{\"range\":[\"1\",\"2\"]}" + }, + "siren_switch": { + "type": "Boolean", + "value": "{}" + }, + "device_restart": { + "type": "Boolean", + "value": "{}" + }, + "motion_area_switch": { + "type": "Boolean", + "value": "{}" + }, + "motion_area": { + "type": "String", + "value": "{\"maxlen\":255}" + }, + "ipc_contrast": { + "type": "Integer", + "value": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}" + }, + "ipc_bright": { + "type": "Integer", + "value": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}" + } + }, + "local_strategy": {}, + "status_range": { + "basic_indicator": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "basic_flip": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "basic_osd": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "basic_private": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "motion_sensitivity": { + "type": "Enum", + "value": "{\"range\":[\"0\",\"1\",\"2\"]}", + "report_type": null + }, + "basic_wdr": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "basic_nightvision": { + "type": "Enum", + "value": "{\"range\":[\"0\",\"1\",\"2\"]}", + "report_type": null + }, + "sd_storge": { + "type": "String", + "value": "{\"maxlen\":255}", + "report_type": null + }, + "sd_status": { + "type": "Integer", + "value": "{\"min\":1,\"max\":5,\"scale\":0,\"step\":1}", + "report_type": null + }, + "sd_format": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "motion_record": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "movement_detect_pic": { + "type": "Raw", + "value": "{}", + "report_type": null + }, + "sd_format_state": { + "type": "Integer", + "value": "{\"min\":-20000,\"max\":200000,\"scale\":0,\"step\":1}", + "report_type": null + }, + "ipc_auto_siren": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "ipc_sharp": { + "type": "Integer", + "value": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}", + "report_type": null + }, + "motion_switch": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "record_switch1": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "decibel_switch": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "decibel_sensitivity": { + "type": "Enum", + "value": "{\"range\":[\"0\",\"1\"]}", + "report_type": null + }, + "record_switch": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "record_mode": { + "type": "Enum", + "value": "{\"range\":[\"1\",\"2\"]}", + "report_type": null + }, + "siren_switch": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "device_restart": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "motion_area_switch": { + "type": "Boolean", + "value": "{}", + "report_type": null + }, + "motion_area": { + "type": "String", + "value": "{\"maxlen\":255}", + "report_type": null + }, + "alarm_message": { + "type": "String", + "value": "{}", + "report_type": null + }, + "ipc_contrast": { + "type": "Integer", + "value": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}", + "report_type": null + }, + "ipc_bright": { + "type": "Integer", + "value": "{\"unit\":\"%\",\"min\":0,\"max\":100,\"scale\":0,\"step\":1}", + "report_type": null + }, + "initiative_message": { + "type": "Raw", + "value": "{}", + "report_type": null + } + }, + "status": { + "basic_indicator": true, + "basic_flip": false, + "basic_osd": true, + "basic_private": false, + "motion_sensitivity": "1", + "basic_wdr": false, + "basic_nightvision": "1", + "sd_storge": "896|896|0", + "sd_status": 5, + "sd_format": false, + "motion_record": false, + "movement_detect_pic": "**REDACTED**", + "sd_format_state": 0, + "ipc_auto_siren": false, + "ipc_sharp": 50, + "motion_switch": true, + "record_switch1": false, + "decibel_switch": false, + "decibel_sensitivity": "0", + "record_switch": true, + "record_mode": "1", + "siren_switch": false, + "device_restart": true, + "motion_area_switch": false, + "motion_area": "{\"num\":1,\"region0\":{\"x\":0,\"y\":0,\"xlen\":100,\"ylen\":100}}", + "alarm_message": "**REDACTED**", + "ipc_contrast": 50, + "ipc_bright": 50, + "initiative_message": "" + }, + "set_up": true, + "support_local": false, + "quirk": null, + "warnings": null +} diff --git a/tests/components/tuya/snapshots/test_camera.ambr b/tests/components/tuya/snapshots/test_camera.ambr index 869d283924f..59dbeda27a9 100644 --- a/tests/components/tuya/snapshots/test_camera.ambr +++ b/tests/components/tuya/snapshots/test_camera.ambr @@ -441,3 +441,59 @@ 'state': 'idle', }) # --- +# name: test_platform_setup_and_discovery[camera.security_camera-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'camera', + 'entity_category': None, + 'entity_id': 'camera.security_camera', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': None, + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': , + 'translation_key': None, + 'unique_id': 'tuya.xihygtyd0d1faknkps', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[camera.security_camera-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'access_token': '1', + 'brand': 'Tuya', + 'entity_picture': '/api/camera_proxy/camera.security_camera?token=1', + 'friendly_name': 'Security Camera', + 'model_name': 'Security Camera', + 'motion_detection': True, + 'supported_features': , + }), + 'context': , + 'entity_id': 'camera.security_camera', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'recording', + }) +# --- diff --git a/tests/components/tuya/snapshots/test_event.ambr b/tests/components/tuya/snapshots/test_event.ambr index 1be56199ed1..225771a88a7 100644 --- a/tests/components/tuya/snapshots/test_event.ambr +++ b/tests/components/tuya/snapshots/test_event.ambr @@ -806,3 +806,63 @@ 'state': '2023-11-01T12:14:15.000+00:00', }) # --- +# name: test_platform_setup_and_discovery[event.security_camera_doorbell_message-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'event_types': list([ + 'triggered', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'event', + 'entity_category': None, + 'entity_id': 'event.security_camera_doorbell_message', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Doorbell message', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Doorbell message', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'doorbell_message', + 'unique_id': 'tuya.xihygtyd0d1faknkpsalarm_message', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[event.security_camera_doorbell_message-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'doorbell', + 'event_type': 'triggered', + 'event_types': list([ + 'triggered', + ]), + 'friendly_name': 'Security Camera Doorbell message', + 'message': '', + }), + 'context': , + 'entity_id': 'event.security_camera_doorbell_message', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '2023-11-01T12:14:15.000+00:00', + }) +# --- diff --git a/tests/components/tuya/snapshots/test_init.ambr b/tests/components/tuya/snapshots/test_init.ambr index 99185f6bc74..52ec376e839 100644 --- a/tests/components/tuya/snapshots/test_init.ambr +++ b/tests/components/tuya/snapshots/test_init.ambr @@ -8865,6 +8865,37 @@ 'via_device_id': None, }) # --- +# name: test_device_registry[xihygtyd0d1faknkps] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': None, + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': None, + 'id': , + 'identifiers': set({ + tuple( + 'tuya', + 'xihygtyd0d1faknkps', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Tuya', + 'model': 'Security Camera', + 'model_id': 'knkaf1d0dytgyhix', + 'name': 'Security Camera', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': None, + 'via_device_id': None, + }) +# --- # name: test_device_registry[xms6qowipdvjnkdgqdt] DeviceRegistryEntrySnapshot({ 'area_id': None, diff --git a/tests/components/tuya/snapshots/test_light.ambr b/tests/components/tuya/snapshots/test_light.ambr index d6b5e4f0c27..2504a0502de 100644 --- a/tests/components/tuya/snapshots/test_light.ambr +++ b/tests/components/tuya/snapshots/test_light.ambr @@ -3245,6 +3245,65 @@ 'state': 'off', }) # --- +# name: test_platform_setup_and_discovery[light.security_camera_indicator_light-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'supported_color_modes': list([ + , + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'light', + 'entity_category': , + 'entity_id': 'light.security_camera_indicator_light', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Indicator light', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Indicator light', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': 'tuya.xihygtyd0d1faknkpsbasic_indicator', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[light.security_camera_indicator_light-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'color_mode': , + 'friendly_name': 'Security Camera Indicator light', + 'supported_color_modes': list([ + , + ]), + 'supported_features': , + }), + 'context': , + 'entity_id': 'light.security_camera_indicator_light', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- # name: test_platform_setup_and_discovery[light.shop_light_5-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ diff --git a/tests/components/tuya/snapshots/test_select.ambr b/tests/components/tuya/snapshots/test_select.ambr index 5db9bdcc146..7cf4e5b1be8 100644 --- a/tests/components/tuya/snapshots/test_select.ambr +++ b/tests/components/tuya/snapshots/test_select.ambr @@ -5025,6 +5025,246 @@ 'state': 'unknown', }) # --- +# name: test_platform_setup_and_discovery[select.security_camera_motion_detection_sensitivity-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + '0', + '1', + '2', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.security_camera_motion_detection_sensitivity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Motion detection sensitivity', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Motion detection sensitivity', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'motion_sensitivity', + 'unique_id': 'tuya.xihygtyd0d1faknkpsmotion_sensitivity', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_motion_detection_sensitivity-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Motion detection sensitivity', + 'options': list([ + '0', + '1', + '2', + ]), + }), + 'context': , + 'entity_id': 'select.security_camera_motion_detection_sensitivity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1', + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_night_vision-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + '0', + '1', + '2', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.security_camera_night_vision', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Night vision', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Night vision', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'basic_nightvision', + 'unique_id': 'tuya.xihygtyd0d1faknkpsbasic_nightvision', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_night_vision-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Night vision', + 'options': list([ + '0', + '1', + '2', + ]), + }), + 'context': , + 'entity_id': 'select.security_camera_night_vision', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1', + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_record_mode-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + '1', + '2', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.security_camera_record_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Record mode', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Record mode', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'record_mode', + 'unique_id': 'tuya.xihygtyd0d1faknkpsrecord_mode', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_record_mode-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Record mode', + 'options': list([ + '1', + '2', + ]), + }), + 'context': , + 'entity_id': 'select.security_camera_record_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '1', + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_sound_detection_sensitivity-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'options': list([ + '0', + '1', + ]), + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'select', + 'entity_category': , + 'entity_id': 'select.security_camera_sound_detection_sensitivity', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Sound detection sensitivity', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Sound detection sensitivity', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'decibel_sensitivity', + 'unique_id': 'tuya.xihygtyd0d1faknkpsdecibel_sensitivity', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[select.security_camera_sound_detection_sensitivity-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Sound detection sensitivity', + 'options': list([ + '0', + '1', + ]), + }), + 'context': , + 'entity_id': 'select.security_camera_sound_detection_sensitivity', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '0', + }) +# --- # name: test_platform_setup_and_discovery[select.security_light_indicator_light_mode-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ diff --git a/tests/components/tuya/snapshots/test_siren.ambr b/tests/components/tuya/snapshots/test_siren.ambr index c984815d063..a55094d0688 100644 --- a/tests/components/tuya/snapshots/test_siren.ambr +++ b/tests/components/tuya/snapshots/test_siren.ambr @@ -152,6 +152,57 @@ 'state': 'off', }) # --- +# name: test_platform_setup_and_discovery[siren.security_camera-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'siren', + 'entity_category': None, + 'entity_id': 'siren.security_camera', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': None, + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': None, + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': , + 'translation_key': None, + 'unique_id': 'tuya.xihygtyd0d1faknkpssiren_switch', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[siren.security_camera-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera', + 'supported_features': , + }), + 'context': , + 'entity_id': 'siren.security_camera', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- # name: test_platform_setup_and_discovery[siren.siren_veranda-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ diff --git a/tests/components/tuya/snapshots/test_switch.ambr b/tests/components/tuya/snapshots/test_switch.ambr index 7bb25523c7b..7d88812ae70 100644 --- a/tests/components/tuya/snapshots/test_switch.ambr +++ b/tests/components/tuya/snapshots/test_switch.ambr @@ -9125,6 +9125,406 @@ 'state': 'on', }) # --- +# name: test_platform_setup_and_discovery[switch.security_camera_flip-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_flip', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Flip', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Flip', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'flip', + 'unique_id': 'tuya.xihygtyd0d1faknkpsbasic_flip', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_flip-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Flip', + }), + 'context': , + 'entity_id': 'switch.security_camera_flip', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_motion_alarm-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_motion_alarm', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Motion alarm', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Motion alarm', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'motion_alarm', + 'unique_id': 'tuya.xihygtyd0d1faknkpsmotion_switch', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_motion_alarm-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Motion alarm', + }), + 'context': , + 'entity_id': 'switch.security_camera_motion_alarm', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_motion_recording-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_motion_recording', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Motion recording', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Motion recording', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'motion_recording', + 'unique_id': 'tuya.xihygtyd0d1faknkpsmotion_record', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_motion_recording-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Motion recording', + }), + 'context': , + 'entity_id': 'switch.security_camera_motion_recording', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_privacy_mode-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_privacy_mode', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Privacy mode', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Privacy mode', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'privacy_mode', + 'unique_id': 'tuya.xihygtyd0d1faknkpsbasic_private', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_privacy_mode-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Privacy mode', + }), + 'context': , + 'entity_id': 'switch.security_camera_privacy_mode', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_sound_detection-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_sound_detection', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Sound detection', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Sound detection', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'sound_detection', + 'unique_id': 'tuya.xihygtyd0d1faknkpsdecibel_switch', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_sound_detection-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Sound detection', + }), + 'context': , + 'entity_id': 'switch.security_camera_sound_detection', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_time_watermark-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_time_watermark', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Time watermark', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Time watermark', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'time_watermark', + 'unique_id': 'tuya.xihygtyd0d1faknkpsbasic_osd', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_time_watermark-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Time watermark', + }), + 'context': , + 'entity_id': 'switch.security_camera_time_watermark', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_video_recording-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_video_recording', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Video recording', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Video recording', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'video_recording', + 'unique_id': 'tuya.xihygtyd0d1faknkpsrecord_switch', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_video_recording-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Video recording', + }), + 'context': , + 'entity_id': 'switch.security_camera_video_recording', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_wide_dynamic_range-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': None, + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'switch', + 'entity_category': , + 'entity_id': 'switch.security_camera_wide_dynamic_range', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Wide dynamic range', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Wide dynamic range', + 'platform': 'tuya', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'wide_dynamic_range', + 'unique_id': 'tuya.xihygtyd0d1faknkpsbasic_wdr', + 'unit_of_measurement': None, + }) +# --- +# name: test_platform_setup_and_discovery[switch.security_camera_wide_dynamic_range-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Security Camera Wide dynamic range', + }), + 'context': , + 'entity_id': 'switch.security_camera_wide_dynamic_range', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- # name: test_platform_setup_and_discovery[switch.security_light_child_lock-entry] EntityRegistryEntrySnapshot({ 'aliases': list([