diff --git a/tests/components/smartthings/__init__.py b/tests/components/smartthings/__init__.py index 3727cd7ccb6..3002f543038 100644 --- a/tests/components/smartthings/__init__.py +++ b/tests/components/smartthings/__init__.py @@ -68,6 +68,7 @@ DEVICE_FIXTURES = [ "da_wm_wm_100002", "da_wm_wm_000001", "da_wm_wm_000001_1", + "da_wm_mf_01001", "da_wm_sc_000001", "da_wm_dw_01011", "da_rvc_normal_000001", diff --git a/tests/components/smartthings/fixtures/device_status/da_wm_mf_01001.json b/tests/components/smartthings/fixtures/device_status/da_wm_mf_01001.json new file mode 100644 index 00000000000..8d5da07eeb1 --- /dev/null +++ b/tests/components/smartthings/fixtures/device_status/da_wm_mf_01001.json @@ -0,0 +1,331 @@ +{ + "components": { + "main": { + "refresh": {}, + "execute": { + "data": { + "value": null + } + }, + "samsungce.deviceIdentification": { + "micomAssayCode": { + "value": "20349241", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "modelName": { + "value": null + }, + "serialNumber": { + "value": null + }, + "serialNumberExtra": { + "value": null + }, + "releaseCountry": { + "value": null + }, + "modelClassificationCode": { + "value": "3A000000001511000A90020200000000", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "description": { + "value": "AMF-WW-TP1-22-COMMON_FT-MF/DC92-03492A_0001", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "releaseYear": { + "value": 21, + "timestamp": "2025-06-16T00:39:32.549Z" + }, + "binaryId": { + "value": "AMF-WW-TP1-22-COMMON", + "timestamp": "2026-03-17T09:56:51.547Z" + } + }, + "switch": { + "switch": { + "value": "on", + "timestamp": "2026-03-17T09:56:51.608Z" + } + }, + "sec.wifiConfiguration": { + "autoReconnection": { + "value": null + }, + "minVersion": { + "value": null + }, + "supportedWiFiFreq": { + "value": null + }, + "supportedAuthType": { + "value": null + }, + "protocolType": { + "value": null + } + }, + "samsungce.microfiberFilterOperatingState": { + "operatingState": { + "value": "ready", + "timestamp": "2026-03-17T10:27:51.168Z" + }, + "supportedJobStates": { + "value": [ + "none", + "filtering", + "bypassing", + "waiting", + "stopping", + "sensing" + ], + "timestamp": "2026-03-17T07:49:18.985Z" + }, + "supportedOperatingStates": { + "value": ["ready", "running", "paused"], + "timestamp": "2026-03-17T07:49:18.985Z" + }, + "microfiberFilterJobState": { + "value": "waiting", + "timestamp": "2026-03-17T10:27:51.168Z" + } + }, + "samsungce.selfCheck": { + "result": { + "value": null + }, + "supportedActions": { + "value": null + }, + "progress": { + "value": null + }, + "errors": { + "value": null + }, + "status": { + "value": null + } + }, + "samsungce.softwareVersion": { + "versions": { + "value": [ + { + "id": "0", + "swType": "Software", + "versionNumber": "03334A230323(A603)", + "description": "AMF-WW-TP1-22-COMMON|20349241|3A000000001511000A90020200000000" + }, + { + "id": "1", + "swType": "Firmware", + "versionNumber": "23051057,FFFFFFFF", + "description": "Firmware_1_DB_20349241230510571FFFFFFFFFFFFFFFFFFFFFFFFFFE(018020349241FFFFFFFF_30000000)(FileDown:0)(Type:0)" + } + ], + "timestamp": "2026-03-17T09:56:51.548Z" + } + }, + "samsungce.microfiberFilterSettings": { + "bypassMode": { + "value": "disabled", + "timestamp": "2026-03-17T09:56:51.095Z" + } + }, + "ocf": { + "st": { + "value": null + }, + "mndt": { + "value": null + }, + "mnfv": { + "value": "AMF-WW-TP1-22-COMMON_30230323", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnhw": { + "value": "Realtek", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "di": { + "value": "42e80b4d-24c4-a810-11b3-f90375c56a39", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnsl": { + "value": "http://www.samsung.com", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "dmv": { + "value": "res.1.1.0,sh.1.1.0", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "n": { + "value": "[microfiber] Samsung", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnmo": { + "value": "AMF-WW-TP1-22-COMMON|20349241|3A000000001511000A90020200000000", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "vid": { + "value": "DA-WM-MF-01001", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnmn": { + "value": "Samsung Electronics", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnml": { + "value": "http://www.samsung.com", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnpv": { + "value": "DAWIT 2.0", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "mnos": { + "value": "TizenRT 3.1", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "pi": { + "value": "42e80b4d-24c4-a810-11b3-f90375c56a39", + "timestamp": "2025-06-18T08:56:52.092Z" + }, + "icv": { + "value": "core.1.1.0", + "timestamp": "2025-06-18T08:56:52.092Z" + } + }, + "custom.disabledCapabilities": { + "disabledCapabilities": { + "value": [], + "timestamp": "2026-03-17T09:19:46.018Z" + } + }, + "samsungce.driverVersion": { + "versionNumber": { + "value": 25040101, + "timestamp": "2025-06-16T01:24:28.272Z" + } + }, + "samsungce.softwareUpdate": { + "targetModule": { + "value": {}, + "timestamp": "2026-03-17T09:56:51.716Z" + }, + "otnDUID": { + "value": "MTCHUODPC4IYE", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "lastUpdatedDate": { + "value": null + }, + "availableModules": { + "value": [], + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "newVersionAvailable": { + "value": false, + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "operatingState": { + "value": null + }, + "progress": { + "value": null + } + }, + "sec.diagnosticsInformation": { + "logType": { + "value": ["errCode", "dump"], + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "endpoint": { + "value": "SSM", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "minVersion": { + "value": "1.0", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "signinPermission": { + "value": null + }, + "setupId": { + "value": "WM0", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "protocolType": { + "value": "wifi_https", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "tsId": { + "value": null + }, + "mnId": { + "value": "0AJT", + "timestamp": "2026-03-17T09:56:51.548Z" + }, + "dumpType": { + "value": "file", + "timestamp": "2026-03-17T09:56:51.548Z" + } + }, + "samsungce.bladeFilter": { + "bladeFilterStatus": { + "value": null + }, + "bladeFilterLastResetDate": { + "value": null + }, + "bladeFilterUsage": { + "value": null + }, + "bladeFilterResetType": { + "value": null + }, + "bladeFilterUsageStep": { + "value": null + }, + "bladeFilterCapacity": { + "value": null + } + }, + "samsungce.microfiberFilterStatus": { + "supportedStatus": { + "value": ["blockage", "normal"], + "timestamp": "2026-03-17T07:49:18.985Z" + }, + "status": { + "value": "normal", + "timestamp": "2026-03-17T07:49:18.985Z" + } + }, + "custom.waterFilter": { + "waterFilterUsageStep": { + "value": 1, + "timestamp": "2026-03-17T09:19:46.018Z" + }, + "waterFilterResetType": { + "value": ["replaceable"], + "timestamp": "2026-03-17T09:19:46.018Z" + }, + "waterFilterCapacity": { + "value": 12, + "unit": "Hour", + "timestamp": "2026-03-17T09:19:46.018Z" + }, + "waterFilterLastResetDate": { + "value": null + }, + "waterFilterUsage": { + "value": 78, + "timestamp": "2026-03-17T10:17:49.492Z" + }, + "waterFilterStatus": { + "value": "normal", + "timestamp": "2026-03-17T09:19:46.018Z" + } + } + } + } +} diff --git a/tests/components/smartthings/fixtures/devices/da_wm_mf_01001.json b/tests/components/smartthings/fixtures/devices/da_wm_mf_01001.json new file mode 100644 index 00000000000..796731affe4 --- /dev/null +++ b/tests/components/smartthings/fixtures/devices/da_wm_mf_01001.json @@ -0,0 +1,126 @@ +{ + "items": [ + { + "deviceId": "42e80b4d-24c4-a810-11b3-f90375c56a39", + "name": "[microfiber] Samsung", + "label": "Filtro in microfibra", + "manufacturerName": "Samsung Electronics", + "presentationId": "DA-WM-MF-01001", + "deviceManufacturerCode": "Samsung Electronics", + "locationId": "dc3da2dd-adb0-41b9-9367-9dafc2637386", + "ownerId": "98f99f44-0f42-c20c-a48f-e53c911e27c7", + "roomId": "4696910e-f24d-4831-817b-b8b6b49ed885", + "deviceTypeName": "x.com.st.d.microfiberfilter", + "components": [ + { + "id": "main", + "label": "main", + "capabilities": [ + { + "id": "ocf", + "version": 1 + }, + { + "id": "execute", + "version": 1 + }, + { + "id": "refresh", + "version": 1 + }, + { + "id": "switch", + "version": 1 + }, + { + "id": "samsungce.bladeFilter", + "version": 1 + }, + { + "id": "samsungce.deviceIdentification", + "version": 1 + }, + { + "id": "samsungce.driverVersion", + "version": 1 + }, + { + "id": "samsungce.microfiberFilterOperatingState", + "version": 1 + }, + { + "id": "samsungce.microfiberFilterSettings", + "version": 1 + }, + { + "id": "samsungce.microfiberFilterStatus", + "version": 1 + }, + { + "id": "samsungce.selfCheck", + "version": 1 + }, + { + "id": "samsungce.softwareUpdate", + "version": 1 + }, + { + "id": "samsungce.softwareVersion", + "version": 1 + }, + { + "id": "sec.diagnosticsInformation", + "version": 1 + }, + { + "id": "sec.wifiConfiguration", + "version": 1 + }, + { + "id": "custom.disabledCapabilities", + "version": 1 + }, + { + "id": "custom.waterFilter", + "version": 1 + } + ], + "categories": [ + { + "name": "MicroFiberFilter", + "categoryType": "manufacturer" + } + ], + "optional": false + } + ], + "createTime": "2025-05-06T11:48:20.516Z", + "profile": { + "id": "b40c8b41-e933-334b-8597-d721a881e2ee" + }, + "ocf": { + "ocfDeviceType": "x.com.st.d.microfiberfilter", + "name": "[microfiber] Samsung", + "specVersion": "core.1.1.0", + "verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0", + "manufacturerName": "Samsung Electronics", + "modelNumber": "AMF-WW-TP1-22-COMMON|20349241|3A000000001511000A90020200000000", + "platformVersion": "DAWIT 2.0", + "platformOS": "TizenRT 3.1", + "hwVersion": "Realtek", + "firmwareVersion": "AMF-WW-TP1-22-COMMON_30230323", + "vendorId": "DA-WM-MF-01001", + "vendorResourceClientServerVersion": "Realtek Release 3.1.220727", + "lastSignupTime": "2025-05-06T11:48:20.456199900Z", + "transferCandidate": false, + "additionalAuthCodeRequired": false + }, + "type": "OCF", + "restrictionTier": 0, + "allowed": null, + "executionContext": "CLOUD", + "relationships": [] + } + ], + "_links": {} +} diff --git a/tests/components/smartthings/snapshots/test_binary_sensor.ambr b/tests/components/smartthings/snapshots/test_binary_sensor.ambr index 402fe706694..c0d9e42ed09 100644 --- a/tests/components/smartthings/snapshots/test_binary_sensor.ambr +++ b/tests/components/smartthings/snapshots/test_binary_sensor.ambr @@ -2325,6 +2325,57 @@ 'state': 'off', }) # --- +# name: test_all_entities[da_wm_mf_01001][binary_sensor.filtro_in_microfibra_filter_status-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': 'binary_sensor', + 'entity_category': None, + 'entity_id': 'binary_sensor.filtro_in_microfibra_filter_status', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Filter status', + 'options': dict({ + }), + 'original_device_class': , + 'original_icon': None, + 'original_name': 'Filter status', + 'platform': 'smartthings', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'filter_status', + 'unique_id': '42e80b4d-24c4-a810-11b3-f90375c56a39_main_custom.waterFilter_waterFilterStatus_waterFilterStatus', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[da_wm_mf_01001][binary_sensor.filtro_in_microfibra_filter_status-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'device_class': 'problem', + 'friendly_name': 'Filtro in microfibra Filter status', + }), + 'context': , + 'entity_id': 'binary_sensor.filtro_in_microfibra_filter_status', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'off', + }) +# --- # name: test_all_entities[da_wm_sc_000001][binary_sensor.airdresser_child_lock-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ diff --git a/tests/components/smartthings/snapshots/test_button.ambr b/tests/components/smartthings/snapshots/test_button.ambr index 717adcd4f08..b6e7d64f2e2 100644 --- a/tests/components/smartthings/snapshots/test_button.ambr +++ b/tests/components/smartthings/snapshots/test_button.ambr @@ -549,3 +549,53 @@ 'state': 'unknown', }) # --- +# name: test_all_entities[da_wm_mf_01001][button.filtro_in_microfibra_reset_water_filter-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': 'button', + 'entity_category': , + 'entity_id': 'button.filtro_in_microfibra_reset_water_filter', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Reset water filter', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Reset water filter', + 'platform': 'smartthings', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'reset_water_filter', + 'unique_id': '42e80b4d-24c4-a810-11b3-f90375c56a39_main_custom.waterFilter_resetWaterFilter', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[da_wm_mf_01001][button.filtro_in_microfibra_reset_water_filter-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Filtro in microfibra Reset water filter', + }), + 'context': , + 'entity_id': 'button.filtro_in_microfibra_reset_water_filter', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'unknown', + }) +# --- diff --git a/tests/components/smartthings/snapshots/test_init.ambr b/tests/components/smartthings/snapshots/test_init.ambr index 88c901b6552..28d7b0eb0f1 100644 --- a/tests/components/smartthings/snapshots/test_init.ambr +++ b/tests/components/smartthings/snapshots/test_init.ambr @@ -1270,6 +1270,37 @@ 'via_device_id': None, }) # --- +# name: test_devices[da_wm_mf_01001] + DeviceRegistryEntrySnapshot({ + 'area_id': None, + 'config_entries': , + 'config_entries_subentries': , + 'configuration_url': 'https://account.smartthings.com', + 'connections': set({ + }), + 'disabled_by': None, + 'entry_type': None, + 'hw_version': 'Realtek', + 'id': , + 'identifiers': set({ + tuple( + 'smartthings', + '42e80b4d-24c4-a810-11b3-f90375c56a39', + ), + }), + 'labels': set({ + }), + 'manufacturer': 'Samsung Electronics', + 'model': 'AMF-WW-TP1-22-COMMON', + 'model_id': None, + 'name': 'Filtro in microfibra', + 'name_by_user': None, + 'primary_config_entry': , + 'serial_number': None, + 'sw_version': 'AMF-WW-TP1-22-COMMON_30230323', + 'via_device_id': None, + }) +# --- # name: test_devices[da_wm_sc_000001] DeviceRegistryEntrySnapshot({ 'area_id': None, diff --git a/tests/components/smartthings/snapshots/test_select.ambr b/tests/components/smartthings/snapshots/test_select.ambr index 8826e831a20..b09f6267ac5 100644 --- a/tests/components/smartthings/snapshots/test_select.ambr +++ b/tests/components/smartthings/snapshots/test_select.ambr @@ -727,8 +727,9 @@ # --- # name: test_all_entities[da_rvc_map_01011][select.robot_vacuum_sound_mode-entry] EntityRegistryEntrySnapshot({ - 'aliases': set({ - }), + 'aliases': list([ + None, + ]), 'area_id': None, 'capabilities': dict({ 'options': list([ diff --git a/tests/components/smartthings/snapshots/test_sensor.ambr b/tests/components/smartthings/snapshots/test_sensor.ambr index 408b272365b..ff948fbceb8 100644 --- a/tests/components/smartthings/snapshots/test_sensor.ambr +++ b/tests/components/smartthings/snapshots/test_sensor.ambr @@ -14360,6 +14360,60 @@ 'state': '1336.2', }) # --- +# name: test_all_entities[da_wm_mf_01001][sensor.filtro_in_microfibra_water_filter_usage-entry] + EntityRegistryEntrySnapshot({ + 'aliases': list([ + None, + ]), + 'area_id': None, + 'capabilities': dict({ + 'state_class': , + }), + 'config_entry_id': , + 'config_subentry_id': , + 'device_class': None, + 'device_id': , + 'disabled_by': None, + 'domain': 'sensor', + 'entity_category': None, + 'entity_id': 'sensor.filtro_in_microfibra_water_filter_usage', + 'has_entity_name': True, + 'hidden_by': None, + 'icon': None, + 'id': , + 'labels': set({ + }), + 'name': None, + 'object_id_base': 'Water filter usage', + 'options': dict({ + }), + 'original_device_class': None, + 'original_icon': None, + 'original_name': 'Water filter usage', + 'platform': 'smartthings', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': 'water_filter_usage', + 'unique_id': '42e80b4d-24c4-a810-11b3-f90375c56a39_main_custom.waterFilter_waterFilterUsage_waterFilterUsage', + 'unit_of_measurement': '%', + }) +# --- +# name: test_all_entities[da_wm_mf_01001][sensor.filtro_in_microfibra_water_filter_usage-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Filtro in microfibra Water filter usage', + 'state_class': , + 'unit_of_measurement': '%', + }), + 'context': , + 'entity_id': 'sensor.filtro_in_microfibra_water_filter_usage', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': '78', + }) +# --- # name: test_all_entities[da_wm_sc_000001][sensor.airdresser_completion_time-entry] EntityRegistryEntrySnapshot({ 'aliases': list([ diff --git a/tests/components/smartthings/snapshots/test_switch.ambr b/tests/components/smartthings/snapshots/test_switch.ambr index f621e4c7074..50e52460902 100644 --- a/tests/components/smartthings/snapshots/test_switch.ambr +++ b/tests/components/smartthings/snapshots/test_switch.ambr @@ -1499,6 +1499,56 @@ 'state': 'off', }) # --- +# name: test_all_entities[da_wm_mf_01001][switch.filtro_in_microfibra-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': None, + 'entity_id': 'switch.filtro_in_microfibra', + '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': 'smartthings', + 'previous_unique_id': None, + 'suggested_object_id': None, + 'supported_features': 0, + 'translation_key': None, + 'unique_id': '42e80b4d-24c4-a810-11b3-f90375c56a39_main_switch_switch_switch', + 'unit_of_measurement': None, + }) +# --- +# name: test_all_entities[da_wm_mf_01001][switch.filtro_in_microfibra-state] + StateSnapshot({ + 'attributes': ReadOnlyDict({ + 'friendly_name': 'Filtro in microfibra', + }), + 'context': , + 'entity_id': 'switch.filtro_in_microfibra', + 'last_changed': , + 'last_reported': , + 'last_updated': , + 'state': 'on', + }) +# --- # name: test_all_entities[da_wm_sc_000001][switch.airdresser_auto_cycle_link-entry] EntityRegistryEntrySnapshot({ 'aliases': list([