From 52d0214766fcf213e85ddcb5480be4d955a280ec Mon Sep 17 00:00:00 2001 From: lucka-me Date: Thu, 9 Jan 2025 02:09:55 +0800 Subject: [PATCH 1/3] feat: add climate support for electric blanket - Enable the climate feature (control panel, HomeKit Bridge accessory, etc.) for electric-blanket devices - Add device conversion for electric-blanket, simply map to heater entity --- .../xiaomi_home/miot/specs/specv2entity.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/custom_components/xiaomi_home/miot/specs/specv2entity.py b/custom_components/xiaomi_home/miot/specs/specv2entity.py index 9e36011d..3c8ce8f1 100644 --- a/custom_components/xiaomi_home/miot/specs/specv2entity.py +++ b/custom_components/xiaomi_home/miot/specs/specv2entity.py @@ -241,6 +241,29 @@ }, }, 'entity': 'heater' + }, + 'electric-blanket': { + 'required': { + 'electric-blanket': { + 'required': { + 'properties': { + 'on': {'read', 'write'} + } + }, + 'optional': { + 'properties': {'target-temperature'} + }, + } + }, + 'optional': { + 'environment': { + 'required': {}, + 'optional': { + 'properties': {'temperature'} + } + }, + }, + 'entity': 'heater' } } From fa34b4fb1cb208d78f87dfc81acb104c2adfa25f Mon Sep 17 00:00:00 2001 From: lucka-me Date: Fri, 24 Jan 2025 00:13:11 +0800 Subject: [PATCH 2/3] fix: source of temperature property electric blanket is incorrect - Use temperature of electric-blanket instead of environment --- .../xiaomi_home/miot/specs/specv2entity.py | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/custom_components/xiaomi_home/miot/specs/specv2entity.py b/custom_components/xiaomi_home/miot/specs/specv2entity.py index 3c8ce8f1..3751283e 100644 --- a/custom_components/xiaomi_home/miot/specs/specv2entity.py +++ b/custom_components/xiaomi_home/miot/specs/specv2entity.py @@ -251,18 +251,10 @@ } }, 'optional': { - 'properties': {'target-temperature'} + 'properties': {'target-temperature', 'temperature'} }, } }, - 'optional': { - 'environment': { - 'required': {}, - 'optional': { - 'properties': {'temperature'} - } - }, - }, 'entity': 'heater' } } From 448a9d7b26e479a735473858df848245e7e256d5 Mon Sep 17 00:00:00 2001 From: lucka-me Date: Sun, 26 Jan 2025 11:16:36 +0800 Subject: [PATCH 3/3] fix: missing `optional` key in `electric-blanket` --- custom_components/xiaomi_home/miot/specs/specv2entity.py | 1 + 1 file changed, 1 insertion(+) diff --git a/custom_components/xiaomi_home/miot/specs/specv2entity.py b/custom_components/xiaomi_home/miot/specs/specv2entity.py index 3751283e..ed733dd0 100644 --- a/custom_components/xiaomi_home/miot/specs/specv2entity.py +++ b/custom_components/xiaomi_home/miot/specs/specv2entity.py @@ -255,6 +255,7 @@ }, } }, + 'optional': {}, 'entity': 'heater' } }