Skip to content
Snippets Groups Projects
Unverified Commit 76e76a41 authored by Joost Lekkerkerker's avatar Joost Lekkerkerker Committed by GitHub
Browse files

Fix dryer operating state in SmartThings (#140277)

parent 994bf270
No related branches found
No related tags found
No related merge requests found
......@@ -219,6 +219,9 @@ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
KEEP_CAPABILITY_QUIRK: dict[
Capability | str, Callable[[dict[Attribute | str, Status]], bool]
] = {
Capability.DRYER_OPERATING_STATE: (
lambda status: status[Attribute.SUPPORTED_MACHINE_STATES].value is not None
),
Capability.WASHER_OPERATING_STATE: (
lambda status: status[Attribute.SUPPORTED_MACHINE_STATES].value is not None
),
......
......@@ -104,6 +104,7 @@ def mock_smartthings() -> Generator[AsyncMock]:
"iphone",
"da_wm_dw_000001",
"da_wm_wd_000001",
"da_wm_wd_000001_1",
"da_wm_wm_000001",
"da_wm_wm_000001_1",
"da_rvc_normal_000001",
......
{
"components": {
"hca.main": {
"hca.dryerMode": {
"mode": {
"value": "normal",
"timestamp": "2025-03-09T16:31:41.247Z"
},
"supportedModes": {
"value": ["normal", "quickDry", "mix", "timeDry"],
"timestamp": "2025-03-09T16:31:40.486Z"
}
}
},
"main": {
"custom.dryerWrinklePrevent": {
"operatingState": {
"value": "ready",
"timestamp": "2025-03-09T16:31:40.486Z"
},
"dryerWrinklePrevent": {
"value": "off",
"timestamp": "2025-03-09T16:31:41.077Z"
}
},
"samsungce.dryerDryingTemperature": {
"dryingTemperature": {
"value": null,
"timestamp": "2021-04-02T18:31:36.756Z"
},
"supportedDryingTemperature": {
"value": null,
"timestamp": "2021-04-02T18:29:52.258Z"
}
},
"samsungce.welcomeMessage": {
"welcomeMessage": {
"value": null,
"timestamp": "2021-04-02T18:32:37.913Z"
}
},
"samsungce.dongleSoftwareInstallation": {
"status": {
"value": "completed",
"timestamp": "2022-06-17T17:07:35.734Z"
}
},
"samsungce.dryerCyclePreset": {
"maxNumberOfPresets": {
"value": 10,
"timestamp": "2025-03-09T16:31:41.229Z"
},
"presets": {
"value": null,
"timestamp": "2021-04-02T18:30:36.772Z"
}
},
"samsungce.deviceIdentification": {
"micomAssayCode": {
"value": "20221341",
"timestamp": "2025-03-09T16:31:40.834Z"
},
"modelName": {
"value": null,
"timestamp": "2021-04-02T18:29:53.622Z"
},
"serialNumber": {
"value": null,
"timestamp": "2021-04-02T18:29:52.641Z"
},
"serialNumberExtra": {
"value": null,
"timestamp": "2021-04-02T18:29:51.653Z"
},
"modelClassificationCode": {
"value": "30010102001211000103000000000000",
"timestamp": "2025-03-09T16:31:40.834Z"
},
"description": {
"value": "DA_WM_A51_20_COMMON_DV6800N/DC92-01967B_0404",
"timestamp": "2025-03-09T16:31:40.834Z"
},
"releaseYear": {
"value": null
},
"binaryId": {
"value": "DA_WM_A51_20_COMMON",
"timestamp": "2025-03-09T19:07:40.295Z"
}
},
"switch": {
"switch": {
"value": "off",
"timestamp": "2025-03-09T19:47:36.549Z"
}
},
"samsungce.quickControl": {
"version": {
"value": null
}
},
"samsungce.dryerFreezePrevent": {
"operatingState": {
"value": null
}
},
"ocf": {
"st": {
"value": null,
"timestamp": "2020-06-20T10:01:02.741Z"
},
"mndt": {
"value": null,
"timestamp": "2020-06-25T01:53:25.278Z"
},
"mnfv": {
"value": "DA_WM_A51_20_COMMON_30230708",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnhw": {
"value": "ARTIK051",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"di": {
"value": "3a6c4e05-811d-5041-e956-3d04c424cbcd",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnsl": {
"value": "http://www.samsung.com",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"dmv": {
"value": "res.1.1.0,sh.1.1.0",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"n": {
"value": "[dryer] Samsung",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnmo": {
"value": "DA_WM_A51_20_COMMON|20221341|30010102001211000103000000000000",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"vid": {
"value": "DA-WM-WD-000001",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnmn": {
"value": "Samsung Electronics",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnml": {
"value": "http://www.samsung.com",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnpv": {
"value": "DAWIT 2.0",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"mnos": {
"value": "TizenRT 1.0 + IPv6",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"pi": {
"value": "3a6c4e05-811d-5041-e956-3d04c424cbcd",
"timestamp": "2024-12-15T10:53:49.561Z"
},
"icv": {
"value": "core.1.1.0",
"timestamp": "2024-12-15T10:53:49.561Z"
}
},
"custom.dryerDryLevel": {
"dryerDryLevel": {
"value": "2",
"timestamp": "2025-03-09T19:47:36.806Z"
},
"supportedDryerDryLevel": {
"value": ["none", "1", "2", "3"],
"timestamp": "2020-11-18T20:16:43.428Z"
}
},
"samsungce.dryerAutoCycleLink": {
"dryerAutoCycleLink": {
"value": null,
"timestamp": "2020-08-11T12:41:38.646Z"
}
},
"samsungce.dryerCycle": {
"dryerCycle": {
"value": "Table_00_Course_9A",
"timestamp": "2025-03-09T16:31:41.247Z"
},
"supportedCycles": {
"value": [
{
"cycle": "9A",
"supportedOptions": {
"dryingLevel": {
"raw": "D20E",
"default": "2",
"options": ["1", "2", "3"]
}
}
},
{
"cycle": "CA",
"supportedOptions": {
"dryingLevel": {
"raw": "D10E",
"default": "1",
"options": ["1", "2", "3"]
}
}
},
{
"cycle": "DB",
"supportedOptions": {
"dryingLevel": {
"raw": "D204",
"default": "2",
"options": ["2"]
}
}
},
{
"cycle": "99",
"supportedOptions": {
"dryingLevel": {
"raw": "D20E",
"default": "2",
"options": ["1", "2", "3"]
}
}
},
{
"cycle": "93",
"supportedOptions": {
"dryingLevel": {
"raw": "D102",
"default": "1",
"options": ["1"]
}
}
},
{
"cycle": "B5",
"supportedOptions": {
"dryingLevel": {
"raw": "D102",
"default": "1",
"options": ["1"]
}
}
},
{
"cycle": "D7",
"supportedOptions": {
"dryingLevel": {
"raw": "D204",
"default": "2",
"options": ["2"]
}
}
},
{
"cycle": "A5",
"supportedOptions": {
"dryingLevel": {
"raw": "D204",
"default": "2",
"options": ["2"]
}
}
},
{
"cycle": "96",
"supportedOptions": {
"dryingLevel": {
"raw": "D000",
"default": "none",
"options": []
}
}
},
{
"cycle": "97",
"supportedOptions": {
"dryingLevel": {
"raw": "D000",
"default": "none",
"options": []
}
}
},
{
"cycle": "7F",
"supportedOptions": {
"dryingLevel": {
"raw": "D000",
"default": "none",
"options": []
}
}
},
{
"cycle": "98",
"supportedOptions": {
"dryingLevel": {
"raw": "D000",
"default": "none",
"options": []
}
}
},
{
"cycle": "EB",
"supportedOptions": {
"dryingLevel": {
"raw": "D204",
"default": "2",
"options": ["2"]
}
}
},
{
"cycle": "B6",
"supportedOptions": {
"dryingLevel": {
"raw": "D20E",
"default": "2",
"options": ["1", "2", "3"]
}
}
}
],
"timestamp": "2025-02-10T02:24:03.524Z"
},
"referenceTable": {
"value": {
"id": "Table_00"
},
"timestamp": "2025-03-09T16:31:41.247Z"
},
"specializedFunctionClassification": {
"value": 4,
"timestamp": "2025-03-09T16:31:40.486Z"
}
},
"custom.disabledCapabilities": {
"disabledCapabilities": {
"value": [
"samsungce.dryerDelayEnd",
"dryerOperatingState",
"samsungce.dryerCyclePreset",
"samsungce.welcomeMessage",
"samsungce.dongleSoftwareInstallation",
"sec.wifiConfiguration",
"samsungce.quickControl",
"samsungce.deviceInfoPrivate",
"demandResponseLoadControl",
"samsungce.dryerFreezePrevent",
"samsungce.dryerDryingTemperature",
"sec.diagnosticsInformation"
],
"timestamp": "2024-07-02T14:42:38.334Z"
}
},
"samsungce.driverVersion": {
"versionNumber": {
"value": 24110101,
"timestamp": "2024-12-02T07:43:41.263Z"
}
},
"sec.diagnosticsInformation": {
"logType": {
"value": null
},
"endpoint": {
"value": null
},
"minVersion": {
"value": null
},
"signinPermission": {
"value": null
},
"setupId": {
"value": null
},
"protocolType": {
"value": null
},
"tsId": {
"value": null
},
"mnId": {
"value": null
},
"dumpType": {
"value": null
}
},
"samsungce.kidsLock": {
"lockState": {
"value": "unlocked",
"timestamp": "2025-03-09T16:31:40.882Z"
}
},
"demandResponseLoadControl": {
"drlcStatus": {
"value": null
}
},
"samsungce.detergentOrder": {
"alarmEnabled": {
"value": false,
"timestamp": "2025-03-09T16:31:40.486Z"
},
"orderThreshold": {
"value": 0,
"unit": "cc",
"timestamp": "2025-03-09T16:31:40.486Z"
}
},
"powerConsumptionReport": {
"powerConsumption": {
"value": {
"energy": 796400,
"deltaEnergy": 0,
"power": 0,
"powerEnergy": 0.0,
"persistedEnergy": 0,
"energySaved": 0,
"start": "2025-03-09T19:47:26Z",
"end": "2025-03-09T19:47:37Z"
},
"timestamp": "2025-03-09T19:47:37.283Z"
}
},
"dryerOperatingState": {
"completionTime": {
"value": "2025-03-09T22:55:37Z",
"timestamp": "2025-03-09T19:47:37.015Z"
},
"machineState": {
"value": "stop",
"timestamp": "2025-03-09T19:47:37.015Z"
},
"supportedMachineStates": {
"value": ["stop", "run", "pause"],
"timestamp": "2025-03-09T16:31:41.172Z"
},
"dryerJobState": {
"value": "none",
"timestamp": "2025-03-09T19:47:37.015Z"
}
},
"samsungce.detergentState": {
"remainingAmount": {
"value": 0,
"unit": "cc",
"timestamp": "2025-03-09T16:31:40.486Z"
},
"dosage": {
"value": 0,
"unit": "cc",
"timestamp": "2025-03-09T16:31:40.486Z"
},
"initialAmount": {
"value": 0,
"unit": "cc",
"timestamp": "2025-03-09T16:31:40.486Z"
},
"detergentType": {
"value": "none",
"timestamp": "2021-04-02T18:29:51.428Z"
}
},
"samsungce.dryerDelayEnd": {
"remainingTime": {
"value": 0,
"unit": "min",
"timestamp": "2025-03-09T16:31:41.172Z"
}
},
"refresh": {},
"custom.jobBeginningStatus": {
"jobBeginningStatus": {
"value": null,
"timestamp": "2020-06-25T01:53:34.974Z"
}
},
"execute": {
"data": {
"value": {
"payload": {
"rt": ["x.com.samsung.da.information"],
"if": ["oic.if.baseline", "oic.if.a"],
"x.com.samsung.da.modelNum": "DA_WM_A51_20_COMMON|20221341|30010102001211000103000000000000",
"x.com.samsung.da.description": "DA_WM_A51_20_COMMON_DV6800N/DC92-01967B_0404",
"x.com.samsung.da.serialNum": "0T625AEN100200N",
"x.com.samsung.da.otnDUID": "SHCDM6YAPCCXC",
"x.com.samsung.da.items": [
{
"x.com.samsung.da.id": "0",
"x.com.samsung.da.description": "DA_WM_A51_20_COMMON|20221341|30010102001211000103000000000000",
"x.com.samsung.da.type": "Software",
"x.com.samsung.da.number": "02198A220728(E256)",
"x.com.samsung.da.newVersionAvailable": "0"
},
{
"x.com.samsung.da.id": "1",
"x.com.samsung.da.description": "DA_WM_A51_20_COMMON",
"x.com.samsung.da.type": "Firmware",
"x.com.samsung.da.number": "17111305,19060420",
"x.com.samsung.da.newVersionAvailable": "0"
}
]
}
},
"data": {
"href": "/information/vs/0"
},
"timestamp": "2023-08-07T00:06:05.984Z"
}
},
"sec.wifiConfiguration": {
"autoReconnection": {
"value": null
},
"minVersion": {
"value": null
},
"supportedWiFiFreq": {
"value": null
},
"supportedAuthType": {
"value": null
},
"protocolType": {
"value": null
}
},
"remoteControlStatus": {
"remoteControlEnabled": {
"value": "false",
"timestamp": "2025-03-09T16:31:41.180Z"
}
},
"custom.supportedOptions": {
"course": {
"value": null
},
"referenceTable": {
"value": {
"id": "Table_00"
},
"timestamp": "2025-03-09T16:31:41.247Z"
},
"supportedCourses": {
"value": [
"9A",
"CA",
"DB",
"99",
"93",
"B5",
"D7",
"A5",
"96",
"97",
"7F",
"98",
"EB",
"B6"
],
"timestamp": "2025-03-09T16:31:40.486Z"
}
},
"custom.energyType": {
"energyType": {
"value": "2.0",
"timestamp": "2022-06-17T17:07:35.734Z"
},
"energySavingSupport": {
"value": false,
"timestamp": "2022-06-17T17:07:35.734Z"
},
"drMaxDuration": {
"value": null
},
"energySavingLevel": {
"value": null
},
"energySavingInfo": {
"value": null
},
"supportedEnergySavingLevels": {
"value": null
},
"energySavingOperation": {
"value": null
},
"notificationTemplateID": {
"value": null
},
"energySavingOperationSupport": {
"value": null
}
},
"samsungce.dryerOperatingState": {
"operatingState": {
"value": "ready",
"timestamp": "2025-03-09T19:47:37.015Z"
},
"supportedOperatingStates": {
"value": ["ready", "running", "paused"],
"timestamp": "2022-11-01T12:48:22.390Z"
},
"scheduledJobs": {
"value": [
{
"jobName": "drying",
"timeInMin": 192
},
{
"jobName": "cooling",
"timeInMin": 1
}
],
"timestamp": "2025-03-09T16:31:40.486Z"
},
"progress": {
"value": 1,
"unit": "%",
"timestamp": "2025-03-09T19:47:37.015Z"
},
"remainingTimeStr": {
"value": "03:08",
"timestamp": "2025-03-09T19:47:37.015Z"
},
"dryerJobState": {
"value": "none",
"timestamp": "2025-03-09T19:47:37.015Z"
},
"remainingTime": {
"value": 188,
"unit": "min",
"timestamp": "2025-03-09T19:47:37.015Z"
}
},
"samsungce.softwareUpdate": {
"targetModule": {
"value": null
},
"otnDUID": {
"value": "SHCDM6YAPCCXC",
"timestamp": "2025-03-09T16:31:40.834Z"
},
"lastUpdatedDate": {
"value": null
},
"availableModules": {
"value": [],
"timestamp": "2024-12-01T21:16:50.598Z"
},
"newVersionAvailable": {
"value": false,
"timestamp": "2024-12-01T21:16:50.598Z"
},
"operatingState": {
"value": null
},
"progress": {
"value": null
}
},
"samsungce.dryerDryingTime": {
"supportedDryingTime": {
"value": ["0", "30", "60", "90", "120", "150"],
"timestamp": "2021-04-02T18:29:51.428Z"
},
"dryingTime": {
"value": "0",
"unit": "min",
"timestamp": "2025-03-09T16:31:41.077Z"
}
}
}
}
}
{
"items": [
{
"deviceId": "3a6c4e05-811d-5041-e956-3d04c424cbcd",
"name": "[dryer] Samsung",
"label": "Seca-Roupa",
"manufacturerName": "Samsung Electronics",
"presentationId": "DA-WM-WD-000001",
"deviceManufacturerCode": "Samsung Electronics",
"locationId": "06efa178-ad2f-4d22-838c-d63e05e5a58a",
"ownerId": "1a5f5619-e9ec-4302-beb9-633bb1657897",
"roomId": "dde24053-9707-49a5-ba0e-f19681514f37",
"deviceTypeName": "Samsung OCF Dryer",
"components": [
{
"id": "main",
"label": "Seca-Roupa",
"capabilities": [
{
"id": "ocf",
"version": 1
},
{
"id": "execute",
"version": 1
},
{
"id": "refresh",
"version": 1
},
{
"id": "switch",
"version": 1
},
{
"id": "remoteControlStatus",
"version": 1
},
{
"id": "dryerOperatingState",
"version": 1
},
{
"id": "powerConsumptionReport",
"version": 1
},
{
"id": "demandResponseLoadControl",
"version": 1
},
{
"id": "custom.disabledCapabilities",
"version": 1
},
{
"id": "custom.dryerDryLevel",
"version": 1
},
{
"id": "custom.dryerWrinklePrevent",
"version": 1
},
{
"id": "custom.energyType",
"version": 1
},
{
"id": "custom.jobBeginningStatus",
"version": 1
},
{
"id": "custom.supportedOptions",
"version": 1
},
{
"id": "samsungce.softwareUpdate",
"version": 1
},
{
"id": "samsungce.detergentOrder",
"version": 1
},
{
"id": "samsungce.detergentState",
"version": 1
},
{
"id": "samsungce.deviceIdentification",
"version": 1
},
{
"id": "samsungce.dongleSoftwareInstallation",
"version": 1
},
{
"id": "samsungce.driverVersion",
"version": 1
},
{
"id": "samsungce.dryerAutoCycleLink",
"version": 1
},
{
"id": "samsungce.dryerCycle",
"version": 1
},
{
"id": "samsungce.dryerCyclePreset",
"version": 1
},
{
"id": "samsungce.dryerDelayEnd",
"version": 1
},
{
"id": "samsungce.dryerDryingTemperature",
"version": 1
},
{
"id": "samsungce.dryerDryingTime",
"version": 1
},
{
"id": "samsungce.dryerFreezePrevent",
"version": 1
},
{
"id": "samsungce.dryerOperatingState",
"version": 1
},
{
"id": "samsungce.kidsLock",
"version": 1
},
{
"id": "samsungce.welcomeMessage",
"version": 1
},
{
"id": "samsungce.quickControl",
"version": 1
},
{
"id": "sec.diagnosticsInformation",
"version": 1
},
{
"id": "sec.wifiConfiguration",
"version": 1
}
],
"categories": [
{
"name": "Dryer",
"categoryType": "manufacturer"
}
]
},
{
"id": "hca.main",
"label": "hca.main",
"capabilities": [
{
"id": "hca.dryerMode",
"version": 1
}
],
"categories": [
{
"name": "Other",
"categoryType": "manufacturer"
}
]
}
],
"createTime": "2020-06-20T10:00:42Z",
"profile": {
"id": "53a1d049-eeda-396c-8324-e33438ef57be"
},
"ocf": {
"ocfDeviceType": "oic.d.dryer",
"name": "[dryer] Samsung",
"specVersion": "core.1.1.0",
"verticalDomainSpecVersion": "res.1.1.0,sh.1.1.0",
"manufacturerName": "Samsung Electronics",
"modelNumber": "DA_WM_A51_20_COMMON|20221341|30010102001211000103000000000000",
"platformVersion": "DAWIT 2.0",
"platformOS": "TizenRT 1.0 + IPv6",
"hwVersion": "ARTIK051",
"firmwareVersion": "DA_WM_A51_20_COMMON_30230708",
"vendorId": "DA-WM-WD-000001",
"vendorResourceClientServerVersion": "ARTIK051 Release 2.210224.1",
"lastSignupTime": "2020-11-19T04:43:50.736Z",
"transferCandidate": false,
"additionalAuthCodeRequired": false
},
"type": "OCF",
"restrictionTier": 0,
"allowed": null,
"executionContext": "CLOUD",
"relationships": []
}
],
"_links": {}
}
......@@ -497,6 +497,39 @@
'via_device_id': None,
})
# ---
# name: test_devices[da_wm_wd_000001_1]
DeviceRegistryEntrySnapshot({
'area_id': None,
'config_entries': <ANY>,
'config_entries_subentries': <ANY>,
'configuration_url': 'https://account.smartthings.com',
'connections': set({
}),
'disabled_by': None,
'entry_type': None,
'hw_version': 'ARTIK051',
'id': <ANY>,
'identifiers': set({
tuple(
'smartthings',
'3a6c4e05-811d-5041-e956-3d04c424cbcd',
),
}),
'is_new': False,
'labels': set({
}),
'manufacturer': 'Samsung Electronics',
'model': 'DA_WM_A51_20_COMMON',
'model_id': None,
'name': 'Seca-Roupa',
'name_by_user': None,
'primary_config_entry': <ANY>,
'serial_number': None,
'suggested_area': None,
'sw_version': 'DA_WM_A51_20_COMMON_30230708',
'via_device_id': None,
})
# ---
# name: test_devices[da_wm_wm_000001]
DeviceRegistryEntrySnapshot({
'area_id': 'theater',
......
......@@ -3532,6 +3532,473 @@
'state': '0.0',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_completion_time',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.TIMESTAMP: 'timestamp'>,
'original_icon': None,
'original_name': 'Completion time',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'completion_time',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.completionTime',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_completion_time-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'timestamp',
'friendly_name': 'Seca-Roupa Completion time',
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_completion_time',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '2025-03-09T22:55:37+00:00',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_energy-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_energy',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.ENERGY: 'energy'>,
'original_icon': None,
'original_name': 'Energy',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.energy_meter',
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_energy-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'energy',
'friendly_name': 'Seca-Roupa Energy',
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_energy',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '796.4',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_energy_difference-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.TOTAL: 'total'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_energy_difference',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.ENERGY: 'energy'>,
'original_icon': None,
'original_name': 'Energy difference',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'energy_difference',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.deltaEnergy_meter',
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_energy_difference-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'energy',
'friendly_name': 'Seca-Roupa Energy difference',
'state_class': <SensorStateClass.TOTAL: 'total'>,
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_energy_difference',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_energy_saved-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_energy_saved',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.ENERGY: 'energy'>,
'original_icon': None,
'original_name': 'Energy saved',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'energy_saved',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.energySaved_meter',
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_energy_saved-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'energy',
'friendly_name': 'Seca-Roupa Energy saved',
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_energy_saved',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_job_state-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'cooling',
'delay_wash',
'drying',
'finished',
'none',
'refreshing',
'weight_sensing',
'wrinkle_prevent',
'dehumidifying',
'ai_drying',
'sanitizing',
'internal_care',
'freeze_protection',
'continuous_dehumidifying',
'thawing_frozen_inside',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_job_state',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Job state',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'dryer_job_state',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.dryerJobState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_job_state-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Seca-Roupa Job state',
'options': list([
'cooling',
'delay_wash',
'drying',
'finished',
'none',
'refreshing',
'weight_sensing',
'wrinkle_prevent',
'dehumidifying',
'ai_drying',
'sanitizing',
'internal_care',
'freeze_protection',
'continuous_dehumidifying',
'thawing_frozen_inside',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_job_state',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'none',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_machine_state-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'options': list([
'pause',
'run',
'stop',
]),
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_machine_state',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ENUM: 'enum'>,
'original_icon': None,
'original_name': 'Machine state',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'dryer_machine_state',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.machineState',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_machine_state-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'enum',
'friendly_name': 'Seca-Roupa Machine state',
'options': list([
'pause',
'run',
'stop',
]),
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_machine_state',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'stop',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_power-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_power',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.POWER: 'power'>,
'original_icon': None,
'original_name': 'Power',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.power_meter',
'unit_of_measurement': <UnitOfPower.WATT: 'W'>,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_power-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'power',
'friendly_name': 'Seca-Roupa Power',
'power_consumption_end': '2025-03-09T19:47:37Z',
'power_consumption_start': '2025-03-09T19:47:26Z',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': <UnitOfPower.WATT: 'W'>,
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_power',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_power_energy-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.seca_roupa_power_energy',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
'sensor': dict({
'suggested_display_precision': 2,
}),
}),
'original_device_class': <SensorDeviceClass.ENERGY: 'energy'>,
'original_icon': None,
'original_name': 'Power energy',
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': 'power_energy',
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd.powerEnergy_meter',
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][sensor.seca_roupa_power_energy-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'energy',
'friendly_name': 'Seca-Roupa Power energy',
'state_class': <SensorStateClass.TOTAL_INCREASING: 'total_increasing'>,
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
}),
'context': <ANY>,
'entity_id': 'sensor.seca_roupa_power_energy',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '0.0',
})
# ---
# name: test_all_entities[da_wm_wm_000001][sensor.washer_completion_time-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
......
......@@ -234,6 +234,53 @@
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][switch.seca_roupa-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': None,
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'switch',
'entity_category': None,
'entity_id': 'switch.seca_roupa',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'options': dict({
}),
'original_device_class': None,
'original_icon': None,
'original_name': None,
'platform': 'smartthings',
'previous_unique_id': None,
'supported_features': 0,
'translation_key': None,
'unique_id': '3a6c4e05-811d-5041-e956-3d04c424cbcd',
'unit_of_measurement': None,
})
# ---
# name: test_all_entities[da_wm_wd_000001_1][switch.seca_roupa-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'friendly_name': 'Seca-Roupa',
}),
'context': <ANY>,
'entity_id': 'switch.seca_roupa',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': 'off',
})
# ---
# name: test_all_entities[da_wm_wm_000001][switch.washer-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment