mirror of
https://github.com/home-assistant/core.git
synced 2025-07-13 08:17:08 +00:00
Fix dryer operating state in SmartThings (#140277)
This commit is contained in:
parent
994bf27024
commit
76e76a417c
@ -219,6 +219,9 @@ async def async_migrate_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
|
|||||||
KEEP_CAPABILITY_QUIRK: dict[
|
KEEP_CAPABILITY_QUIRK: dict[
|
||||||
Capability | str, Callable[[dict[Attribute | str, Status]], bool]
|
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: (
|
Capability.WASHER_OPERATING_STATE: (
|
||||||
lambda status: status[Attribute.SUPPORTED_MACHINE_STATES].value is not None
|
lambda status: status[Attribute.SUPPORTED_MACHINE_STATES].value is not None
|
||||||
),
|
),
|
||||||
|
@ -104,6 +104,7 @@ def mock_smartthings() -> Generator[AsyncMock]:
|
|||||||
"iphone",
|
"iphone",
|
||||||
"da_wm_dw_000001",
|
"da_wm_dw_000001",
|
||||||
"da_wm_wd_000001",
|
"da_wm_wd_000001",
|
||||||
|
"da_wm_wd_000001_1",
|
||||||
"da_wm_wm_000001",
|
"da_wm_wm_000001",
|
||||||
"da_wm_wm_000001_1",
|
"da_wm_wm_000001_1",
|
||||||
"da_rvc_normal_000001",
|
"da_rvc_normal_000001",
|
||||||
|
@ -0,0 +1,692 @@
|
|||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,205 @@
|
|||||||
|
{
|
||||||
|
"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,
|
'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]
|
# name: test_devices[da_wm_wm_000001]
|
||||||
DeviceRegistryEntrySnapshot({
|
DeviceRegistryEntrySnapshot({
|
||||||
'area_id': 'theater',
|
'area_id': 'theater',
|
||||||
|
@ -3532,6 +3532,473 @@
|
|||||||
'state': '0.0',
|
'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]
|
# name: test_all_entities[da_wm_wm_000001][sensor.washer_completion_time-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
|
@ -234,6 +234,53 @@
|
|||||||
'state': 'off',
|
'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]
|
# name: test_all_entities[da_wm_wm_000001][switch.washer-entry]
|
||||||
EntityRegistryEntrySnapshot({
|
EntityRegistryEntrySnapshot({
|
||||||
'aliases': set({
|
'aliases': set({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user