From d0508ead2552914ce813b84b3b4d81fdf2267fca Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Thu, 12 Jun 2025 10:40:54 +0800 Subject: [PATCH 1/6] Fix specs (#1132) --- README.md | 2 +- .../xiaomi_home/miot/miot_client.py | 2 +- .../xiaomi_home/miot/specs/multi_lang.json | 78 ++++++++++++++++++- .../xiaomi_home/miot/specs/spec_modify.yaml | 25 ++++++ doc/README_zh.md | 2 +- 5 files changed, 104 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 22f8e6e..9d46eaf 100644 --- a/README.md +++ b/README.md @@ -376,7 +376,7 @@ Example: } ``` -> If you edit `specv2entity.py`, `spec_filter.json` or `multi_lang.json` in the `custom_components/xiaomi_home/miot/specs` directory in your Home Assistant, you need to update the entity conversion rule in the integration's CONFIGURE page to take effect. Method: [Settings > Devices & services > Configured > Xiaomi Home](https://my.home-assistant.io/redirect/integration/?domain=xiaomi_home) > CONFIGURE > Update Entity Conversion Rule +> If you edit any files in the `custom_components/xiaomi_home/miot/specs` directory (`spec_filter.py`, `spec_modify.json`, `multi_lang.json`, etc.) in your Home Assistant, you need to update the entity conversion rule in the integration's CONFIGURE page to take effect. Method: [Settings > Devices & services > Configured > Xiaomi Home](https://my.home-assistant.io/redirect/integration/?domain=xiaomi_home) > CONFIGURE > Update entity conversion rules ## Documents diff --git a/custom_components/xiaomi_home/miot/miot_client.py b/custom_components/xiaomi_home/miot/miot_client.py index 58f506d..72bd855 100644 --- a/custom_components/xiaomi_home/miot/miot_client.py +++ b/custom_components/xiaomi_home/miot/miot_client.py @@ -629,7 +629,7 @@ class MIoTClient: mips = self._mips_local.get(device_gw['group_id'], None) if mips is None: _LOGGER.error( - 'no gw route, %s, try control throw cloud', + 'no gw route, %s, try control through cloud', device_gw) else: result = await mips.set_prop_async( diff --git a/custom_components/xiaomi_home/miot/specs/multi_lang.json b/custom_components/xiaomi_home/miot/specs/multi_lang.json index b2e7979..a7c0391 100644 --- a/custom_components/xiaomi_home/miot/specs/multi_lang.json +++ b/custom_components/xiaomi_home/miot/specs/multi_lang.json @@ -168,7 +168,7 @@ "service:003:property:1021:valuelist:002": "已上锁(反锁)", "service:003:property:1021:valuelist:003": "已上锁(反锁+童锁)", "service:003:property:1021:valuelist:004": "已开锁", - "service:003:property:1021:valuelist:008": "门未关(门超时未关)", + "service:003:property:1021:valuelist:008": "门未关(门超时未关)", "service:003:property:1021:valuelist:012": "门虚掩" } }, @@ -194,5 +194,79 @@ "service:016:action:001": "中键确认", "service:017:action:001": "右键确认" } + }, + "urn:miot-spec-v2:device:thermostat:0000A031:cubee-th123e": { + "ru": { + "service:002": "термостат", + "service:002:property:001": "выключатель", + "service:002:property:002": "режим нагрузки", + "service:002:property:002:valuelist:000": "без подогрева", + "service:002:property:002:valuelist:001": "нагрев", + "service:002:property:003": "неисправность", + "service:002:property:003:valuelist:000": "ошибка датчика", + "service:002:property:003:valuelist:001": "без ошибок", + "service:002:property:003:valuelist:002": "защита от высоких температур", + "service:002:property:003:valuelist:003": "криогенная защита", + "service:002:property:004": "режим", + "service:002:property:004:valuelist:000": "ручной режим", + "service:002:property:004:valuelist:001": "домашний режим", + "service:002:property:004:valuelist:002": "режим выхода из дома", + "service:002:property:004:valuelist:003": "автоматический режим", + "service:002:property:004:valuelist:004": "Режим сна", + "service:002:property:005": "температура цели", + "service:002:property:007": "текущая температура", + "service:004": "Пользовательские услуги", + "service:004:property:001": "детский замок", + "service:004:property:002": "тип датчика", + "service:004:property:002:valuelist:000": "внутренний датчик", + "service:004:property:002:valuelist:001": "выносной датчик", + "service:004:property:002:valuelist:002": "встроенный и внешний датчик", + "service:004:property:003": "пусковая разность температур", + "service:004:property:004": "компенсационная температура", + "service:004:property:005": "температура выносного датчика", + "service:004:property:006": "максимальная температура цели", + "service:004:property:007": "минимальная температура цели " + } + }, + "urn:miot-spec-v2:device:thermostat:0000A031:cubee-th123w": { + "ru": { + "service:002": "термостат", + "service:002:property:001": "выключатель", + "service:002:property:002": "режим нагрузки", + "service:002:property:002:valuelist:000": "нагрев", + "service:002:property:002:valuelist:001": "без подогрева", + "service:002:property:003": "неисправность", + "service:002:property:003:valuelist:000": "без ошибок", + "service:002:property:003:valuelist:001": "ошибка датчика", + "service:002:property:003:valuelist:002": "защита от высоких температур", + "service:002:property:003:valuelist:003": "криогенная защита", + "service:002:property:004": "режим", + "service:002:property:004:valuelist:000": "ручной режим", + "service:002:property:004:valuelist:001": "домашний режим", + "service:002:property:004:valuelist:002": "режим выхода из дома", + "service:002:property:004:valuelist:003": "автоматический режим", + "service:002:property:004:valuelist:004": "Режим сна", + "service:002:property:005": "температура цели", + "service:002:property:007": "текущая температура", + "service:004": "Пользовательские услуги", + "service:004:property:001": "детский замок", + "service:004:property:002": "тип датчика", + "service:004:property:002:valuelist:000": "внутренний датчик", + "service:004:property:002:valuelist:001": "выносной датчик", + "service:004:property:002:valuelist:002": "встроенный и внешний датчик", + "service:004:property:003": "пусковая разность температур", + "service:004:property:004": "компенсационная температура", + "service:004:property:005": "температура выносного датчика", + "service:004:property:006": "максимальная температура цели", + "service:004:property:007": "минимальная температура цели " + } + }, + "urn:miot-spec-v2:device:vacuum:0000A006:ijai-v1": { + "zh_cn": { + "service:007:property:005:valuelist:000": "安静", + "service:007:property:005:valuelist:001": "标准", + "service:007:property:005:valuelist:002": "中档", + "service:007:property:005:valuelist:003": "强力" + } } -} +} \ No newline at end of file diff --git a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml index 3bf9c3b..cda8f9a 100644 --- a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml +++ b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml @@ -12,6 +12,11 @@ urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6: urn:miot-spec-v2:device:air-monitor:0000A008:cgllc-s1:1: prop.2.5: name: voc-density +urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-ua1a:1: urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-ua1a:3 +urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-ua1a:2: urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-ua1a:3 +urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-ua1a:3: + prop.3.5: + expr: (src_value*6) urn:miot-spec-v2:device:airer:0000A00D:hyd-lyjpro:1: prop.2.3: name: current-position-a @@ -53,9 +58,15 @@ urn:miot-spec-v2:device:bath-heater:0000A028:xiaomi-s1:1: urn:miot-spec-v2:device:fan:0000A005:dmaker-p5:1: prop.2.4: name: fan-level-a +urn:miot-spec-v2:device:fan:0000A005:xiaomi-p43:1: + prop.2.2: + name: fan-level-a urn:miot-spec-v2:device:fan:0000A005:xiaomi-p51:1: prop.2.2: name: fan-level-a +urn:miot-spec-v2:device:fan:0000A005:xiaomi-p69:1:0000D062: + prop.2.4: + name: fan-level-a urn:miot-spec-v2:device:fan:0000A005:zhimi-sa1:3: prop.2.2: name: fan-level-a @@ -96,6 +107,11 @@ urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:1: - notify urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:2: urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:1 urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:3: urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:1 +urn:miot-spec-v2:device:hood:0000A01B:cykj-jyj22:1: urn:miot-spec-v2:device:hood:0000A01B:cykj-jyj22:3 +urn:miot-spec-v2:device:hood:0000A01B:cykj-jyj22:2: urn:miot-spec-v2:device:hood:0000A01B:cykj-jyj22:3 +urn:miot-spec-v2:device:hood:0000A01B:cykj-jyj22:3: + prop.3.1: + name: on-ventilation urn:miot-spec-v2:device:kettle:0000A009:yunmi-r3:1: prop.3.1: unit: ppm @@ -120,6 +136,10 @@ urn:miot-spec-v2:device:motion-sensor:0000A014:lumi-acn001:1: - read - notify unit: mV +urn:miot-spec-v2:device:occupancy-sensor:0000A0BF:ainice-3b:1: urn:miot-spec-v2:device:occupancy-sensor:0000A0BF:ainice-3b:2 +urn:miot-spec-v2:device:occupancy-sensor:0000A0BF:ainice-3b:2: + prop.2.8: + name: people-number urn:miot-spec-v2:device:occupancy-sensor:0000A0BF:izq-24:2:0000C824: prop.2.6: unit: cm @@ -189,6 +209,11 @@ urn:miot-spec-v2:device:safe-box:0000A042:loock-v1:1: prop.5.1: name: contact-state expr: src_value!=1 +urn:miot-spec-v2:device:switch:0000A003:090615-x1tpm:1:0000D042: + prop.27.3: + name: light-on + prop.27.4: + name: light-fan-on urn:miot-spec-v2:device:switch:0000A003:lxzn-cbcsmj:1:0000D00D: prop.3.1: expr: round(src_value/100, 2) diff --git a/doc/README_zh.md b/doc/README_zh.md index b33ece3..c3dc93e 100644 --- a/doc/README_zh.md +++ b/doc/README_zh.md @@ -378,7 +378,7 @@ siid、piid、eiid、aiid、value 均为十进制三位整数。 } ``` -> 在 Home Assistant 中修改了 `custom_components/xiaomi_home/miot/specs` 路径下的 `specv2entity.py`、`spec_filter.json`、`multi_lang.json` 文件的内容,需要在集成配置中更新实体转换规则才能生效。方法:[设置 > 设备与服务 > 已配置 > Xiaomi Home](https://my.home-assistant.io/redirect/integration/?domain=xiaomi_home) > 配置 > 更新实体转换规则 +> 在 Home Assistant 中修改了 `custom_components/xiaomi_home/miot/specs` 路径下的任何文件(`spec_filter.py`、`spec_modify.json`、`multi_lang.json`等),需要在集成配置中更新实体转换规则才能生效。方法:[设置 > 设备与服务 > 已配置 > Xiaomi Home](https://my.home-assistant.io/redirect/integration/?domain=xiaomi_home) > 配置 > 更新实体转换规则 ## 文档 From 9fdbf3dff289cea6637ec64acf697c119a646efa Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Thu, 12 Jun 2025 10:41:12 +0800 Subject: [PATCH 2/6] fix: mrbond.airer.m1t closing status (#1134) --- custom_components/xiaomi_home/cover.py | 2 +- custom_components/xiaomi_home/miot/specs/spec_modify.yaml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/custom_components/xiaomi_home/cover.py b/custom_components/xiaomi_home/cover.py index 08398e6..0d1817c 100644 --- a/custom_components/xiaomi_home/cover.py +++ b/custom_components/xiaomi_home/cover.py @@ -161,7 +161,7 @@ class Cover(MIoTServiceEntity, CoverEntity): for item in prop.value_list.items: if item.name in {'opening', 'open', 'up'}: self._prop_status_opening.append(item.value) - elif item.name in {'closing', 'close', 'down'}: + elif item.name in {'closing', 'close', 'down', 'dowm'}: self._prop_status_closing.append(item.value) elif item.name in {'stop', 'stopped', 'pause'}: self._prop_status_stop.append(item.value) diff --git a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml index cda8f9a..3d034fa 100644 --- a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml +++ b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml @@ -31,6 +31,9 @@ urn:miot-spec-v2:device:airer:0000A00D:hyd-znlyj5:1: - 1 - 1 urn:miot-spec-v2:device:airer:0000A00D:hyd-znlyj5:2: urn:miot-spec-v2:device:airer:0000A00D:hyd-znlyj5:1 +urn:miot-spec-v2:device:airer:0000A00D:mrbond-m1t:1: + prop.2.3: + name: current-position-a urn:miot-spec-v2:device:airer:0000A00D:mrbond-m33a:1: prop.2.3: name: current-position-a From 5179e97e38df0e86281260b66b465169202292db Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Thu, 12 Jun 2025 10:41:37 +0800 Subject: [PATCH 3/6] fix: the error "mips unsub internal error, 4, None" (#1135) --- custom_components/xiaomi_home/miot/miot_mips.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/custom_components/xiaomi_home/miot/miot_mips.py b/custom_components/xiaomi_home/miot/miot_mips.py index f1a4534..4513aef 100644 --- a/custom_components/xiaomi_home/miot/miot_mips.py +++ b/custom_components/xiaomi_home/miot/miot_mips.py @@ -60,6 +60,7 @@ from typing import Any, Callable, Optional, final, Coroutine from paho.mqtt.client import ( MQTT_ERR_SUCCESS, + MQTT_ERR_NO_CONN, MQTT_ERR_UNKNOWN, Client, MQTTv5, @@ -533,7 +534,7 @@ class _MipsClient(ABC): return try: result, mid = self._mqtt.unsubscribe(topic=topic) - if result == MQTT_ERR_SUCCESS: + if (result == MQTT_ERR_SUCCESS) or (result == MQTT_ERR_NO_CONN): self.log_debug( f'mips unsub internal success, {result}, {mid}, {topic}') return From 028399c0b153d5c3f09ba1be37d2ade766d6aa1c Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Thu, 19 Jun 2025 17:07:31 +0800 Subject: [PATCH 4/6] fix: tofan.airrtc.wk01 thermostat and air conditioner service (#1160) --- .../xiaomi_home/miot/miot_client.py | 7 +- .../xiaomi_home/miot/specs/multi_lang.json | 11 ++ .../xiaomi_home/miot/specs/spec_add.json | 159 ++++++++++++++++++ .../xiaomi_home/miot/specs/spec_filter.yaml | 4 + 4 files changed, 179 insertions(+), 2 deletions(-) diff --git a/custom_components/xiaomi_home/miot/miot_client.py b/custom_components/xiaomi_home/miot/miot_client.py index 72bd855..cdfe110 100644 --- a/custom_components/xiaomi_home/miot/miot_client.py +++ b/custom_components/xiaomi_home/miot/miot_client.py @@ -629,11 +629,14 @@ class MIoTClient: mips = self._mips_local.get(device_gw['group_id'], None) if mips is None: _LOGGER.error( - 'no gw route, %s, try control through cloud', + 'no gateway route, %s, try control through cloud', device_gw) else: result = await mips.set_prop_async( did=did, siid=siid, piid=piid, value=value) + _LOGGER.debug( + 'gateway set prop, %s.%d.%d, %s -> %s', + did, siid, piid, value, result) rc = (result or {}).get( 'code', MIoTErrorCode.CODE_MIPS_INVALID_RESULT.value) if rc in [0, 1]: @@ -663,7 +666,7 @@ class MIoTClient: {'did': did, 'siid': siid, 'piid': piid, 'value': value} ]) _LOGGER.debug( - 'set prop response, %s.%d.%d, %s, result, %s', + 'cloud set prop, %s.%d.%d, %s -> %s', did, siid, piid, value, result) if result and len(result) == 1: rc = result[0].get( diff --git a/custom_components/xiaomi_home/miot/specs/multi_lang.json b/custom_components/xiaomi_home/miot/specs/multi_lang.json index a7c0391..d1f51ca 100644 --- a/custom_components/xiaomi_home/miot/specs/multi_lang.json +++ b/custom_components/xiaomi_home/miot/specs/multi_lang.json @@ -261,6 +261,17 @@ "service:004:property:007": "минимальная температура цели " } }, + "urn:miot-spec-v2:device:thermostat:0000A031:tofan-wk01": { + "en": { + "service:002": "Thermostat", + "service:002:property:002": "Air Conditioner Mode", + "service:004": "Air Conditioner" + }, + "zh_cn": { + "service:002": "地暖", + "service:004": "空调" + } + }, "urn:miot-spec-v2:device:vacuum:0000A006:ijai-v1": { "zh_cn": { "service:007:property:005:valuelist:000": "安静", diff --git a/custom_components/xiaomi_home/miot/specs/spec_add.json b/custom_components/xiaomi_home/miot/specs/spec_add.json index 3ead8d0..dac4a9a 100644 --- a/custom_components/xiaomi_home/miot/specs/spec_add.json +++ b/custom_components/xiaomi_home/miot/specs/spec_add.json @@ -19,6 +19,165 @@ ] } ], + "urn:miot-spec-v2:device:thermostat:0000A031:tofan-wk01:1:0000C822": [ + { + "iid": 2, + "type": "urn:miot-spec-v2:service:thermostat:0000784A:tofan-wk01:1", + "description": "Thermostat", + "properties": [ + { + "iid": 1, + "type": "urn:miot-spec-v2:property:on:00000006:tofan-wk01:1", + "description": "Switch Status", + "format": "bool", + "access": [ + "read", + "write", + "notify" + ] + }, + { + "iid": 2, + "type": "urn:miot-spec-v2:property:mode-a:00000008:tofan-wk01:1", + "description": "Mode", + "format": "uint8", + "access": [ + "read", + "write", + "notify" + ], + "value-list": [ + { + "value": 0, + "description": "Auto" + }, + { + "value": 1, + "description": "Cool" + }, + { + "value": 2, + "description": "Heat" + }, + { + "value": 3, + "description": "Fan" + }, + { + "value": 4, + "description": "Dry" + } + ] + }, + { + "iid": 3, + "type": "urn:miot-spec-v2:property:fault:00000009:tofan-wk01:1", + "description": "Device Fault", + "format": "uint8", + "access": [ + "read", + "notify" + ], + "value-list": [ + { + "value": 0, + "description": "No Faults" + } + ] + }, + { + "iid": 4, + "type": "urn:miot-spec-v2:property:target-temperature:00000021:tofan-wk01:1", + "description": "Target Temperature", + "format": "uint8", + "access": [ + "read", + "write", + "notify" + ], + "unit": "celsius", + "value-range": [ + 16, + 35, + 1 + ] + } + ], + "actions": [ + { + "iid": 1, + "type": "urn:miot-spec-v2:action:toggle:00002811:tofan-wk01:1", + "description": "Toggle", + "in": [], + "out": [] + } + ] + }, + { + "iid": 4, + "type": "urn:miot-spec-v2:service:air-conditioner:0000780F:tofan-wk01:1", + "description": "Air Conditioner", + "properties": [ + { + "iid": 1, + "type": "urn:miot-spec-v2:property:on:00000006:tofan-wk01:1", + "description": "Switch Status", + "format": "bool", + "access": [ + "read", + "write", + "notify" + ] + }, + { + "iid": 2, + "type": "urn:miot-spec-v2:property:target-temperature:00000021:tofan-wk01:1", + "description": "Target Temperature", + "format": "uint8", + "access": [ + "read", + "write", + "notify" + ], + "unit": "celsius", + "value-range": [ + 16, + 32, + 1 + ] + }, + { + "iid": 3, + "type": "urn:miot-spec-v2:property:fan-level:00000016:tofan-wk01:1", + "description": "Fan Level", + "format": "uint8", + "access": [ + "read", + "write", + "notify" + ], + "value-list": [ + { + "value": 0, + "description": "Auto" + }, + { + "value": 2, + "description": "Low" + }, + { + "value": 3, + "description": "Medium" + }, + { + "value": 4, + "description": "High" + } + ] + } + ] + } + ], "urn:miot-spec-v2:device:water-heater:0000A02A:xiaomi-yms2:1": [ { "iid": 2, diff --git a/custom_components/xiaomi_home/miot/specs/spec_filter.yaml b/custom_components/xiaomi_home/miot/specs/spec_filter.yaml index 77f302c..12625ac 100644 --- a/custom_components/xiaomi_home/miot/specs/spec_filter.yaml +++ b/custom_components/xiaomi_home/miot/specs/spec_filter.yaml @@ -44,3 +44,7 @@ urn:miot-spec-v2:device:motion-sensor:0000A014:xiaomi-pir1: urn:miot-spec-v2:device:router:0000A036:xiaomi-rd03: services: - '*' +urn:miot-spec-v2:device:thermostat:0000A031:tofan-wk01: + services: + - '2' + - '4' From 3402587b1c3f6eec08fc7942fa797b09e473d47a Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Mon, 23 Jun 2025 16:21:39 +0800 Subject: [PATCH 5/6] Fix specs (#1187) * fix: 090615.switch.x1tpm English switch name (#1122) * fix: dmaker.fan.p33 fan-level (#1165) * fix: humidity-range string value unit (#1179) --- .../xiaomi_home/miot/specs/multi_lang.json | 7 +++++ .../xiaomi_home/miot/specs/spec_modify.yaml | 26 +++++++++++++++++++ 2 files changed, 33 insertions(+) diff --git a/custom_components/xiaomi_home/miot/specs/multi_lang.json b/custom_components/xiaomi_home/miot/specs/multi_lang.json index d1f51ca..68d2fb9 100644 --- a/custom_components/xiaomi_home/miot/specs/multi_lang.json +++ b/custom_components/xiaomi_home/miot/specs/multi_lang.json @@ -181,6 +181,13 @@ "service:002:property:003": "光照强度" } }, + "urn:miot-spec-v2:device:switch:0000A003:090615-x1tpm": { + "en": { + "service:027:property:001": "Fan Switch", + "service:027:property:003": "Light Switch", + "service:027:property:004": "Fan and Light Switch" + } + }, "urn:miot-spec-v2:device:switch:0000A003:lumi-acn040": { "en": { "service:011": "Right Button On and Off", diff --git a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml index 3d034fa..b3d2b8f 100644 --- a/custom_components/xiaomi_home/miot/specs/spec_modify.yaml +++ b/custom_components/xiaomi_home/miot/specs/spec_modify.yaml @@ -1,6 +1,18 @@ urn:miot-spec-v2:device:air-condition-outlet:0000A045:lumi-mcn04:1: prop.3.4: format: uint8 +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c20:1: + prop.10.6: + unit: none +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c20:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c20:1 +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c24:1: + prop.10.6: + unit: none +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c24:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c24:1 +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c35:1: + prop.10.6: + unit: none +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c35:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c35:1 urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:1: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6 urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6 urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6 @@ -9,6 +21,11 @@ urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:5: urn:miot-spec-v2:d urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6: prop.10.6: unit: none +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:7: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6 +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-mt0:1: + prop.10.6: + unit: none +urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-mt0:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-mt0:1 urn:miot-spec-v2:device:air-monitor:0000A008:cgllc-s1:1: prop.2.5: name: voc-density @@ -58,6 +75,15 @@ urn:miot-spec-v2:device:bath-heater:0000A028:opple-acmoto:1: urn:miot-spec-v2:device:bath-heater:0000A028:xiaomi-s1:1: prop.4.4: name: fan-level-ventilation +urn:miot-spec-v2:device:fan:0000A005:dmaker-p33:1: + prop.2.2: + name: fan-level-a + prop.2.6: + name: fan-level + access: + - read + - write + - notify urn:miot-spec-v2:device:fan:0000A005:dmaker-p5:1: prop.2.4: name: fan-level-a From d659d13e49ca87dca7f55e34c5543d9f99b20740 Mon Sep 17 00:00:00 2001 From: Li Shuzhen Date: Mon, 23 Jun 2025 16:40:29 +0800 Subject: [PATCH 6/6] docs: update changelog and version to v0.3.3 (#1188) --- CHANGELOG.md | 14 ++++++++++++++ custom_components/xiaomi_home/manifest.json | 2 +- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 65d5922..1a18c3b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,18 @@ # CHANGELOG +## v0.3.3 +### Changed +- Change the log level of error "mips unsub internal error, 4, None". [#1135](https://github.com/XiaoMi/ha_xiaomi_home/pull/1135) +- Add necessary logs for distinguishing the set_properties command source. [#1160](https://github.com/XiaoMi/ha_xiaomi_home/pull/1160) + +### Fixed +- Fix tofan.airrtc.wk01 thermostat and air conditioner service. [#1160](https://github.com/XiaoMi/ha_xiaomi_home/pull/1160) +- Fix mrbond.airer.m1t closing status. [#1134](https://github.com/XiaoMi/ha_xiaomi_home/pull/1134) +- Fix the MIoT-Spec-V2 of xiaomi.fan.p69 fan service, ainice.sensor_occupy.3b people number, cykj.hood.jyj22 ventilation switch status, xiaomi.fan.p43 fan level, zhimi.airp.ua1a pm10 density, 090615.switch.x1tpm switch status, dmaker.fan.p33 fan-level. [#1132](https://github.com/XiaoMi/ha_xiaomi_home/pull/1132) +- Fix cubee.airrtc.th123e and cubee.airrtc.th123w MIoT-Spec-V2 instance descriptions in Russian. +- Fix ijai.vacuum.v1 suction-state value-list descriptions in Chinese. +- Fix the misuse of Chinese brackets in multi_lang.json. +- The unit of the humidity-range property of xiaomi.aircondition.mt0, xiaomi.aircondition.c35, xiaomi.aircondition.c24 and xiaomi.aircondition.c20 is "none". [#1187](https://github.com/XiaoMi/ha_xiaomi_home/pull/1187) + ## v0.3.2 > Xiaomi Home has been added to the Home Assistant Community Store (HACS) as a default since May 8, 2025. ### Added diff --git a/custom_components/xiaomi_home/manifest.json b/custom_components/xiaomi_home/manifest.json index 9d3c97e..5c97f6a 100644 --- a/custom_components/xiaomi_home/manifest.json +++ b/custom_components/xiaomi_home/manifest.json @@ -25,7 +25,7 @@ "cryptography", "psutil" ], - "version": "v0.3.2", + "version": "v0.3.3", "zeroconf": [ "_miot-central._tcp.local." ]