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) > 配置 > 更新实体转换规则 ## 文档