Compare commits

..

No commits in common. "main" and "v0.4.6" have entirely different histories.
main ... v0.4.6

9 changed files with 71 additions and 429 deletions

View File

@ -1,16 +1,4 @@
# CHANGELOG # CHANGELOG
## v0.4.7
### Added
- Add turkish language in multi_lang.json. [#1593](https://github.com/XiaoMi/ha_xiaomi_home/pull/1593)
### Changed
- Remove unused info getting from central hub gateway. [#1574](https://github.com/XiaoMi/ha_xiaomi_home/pull/1574)
- Remove xiaomi.router.rd03 from `UNSUPPORTED_MODELS` and add era.airp.cwb03, k0918.toothbrush.t700 into it. [#1567](https://github.com/XiaoMi/ha_xiaomi_home/pull/1567)
### Fixed
- Update the BLE mesh device online state from the central hub gateway. Partially fix the BLE mesh device online state. [#1579](https://github.com/XiaoMi/ha_xiaomi_home/pull/1579)
- Add unit for xiaomi.toothbrush.p001 brush-head-left-level property. [#1588](https://github.com/XiaoMi/ha_xiaomi_home/pull/1588)
- Fix the playing-state property's access field of xiaomi.wifispeaker.lx04, xiaomi.wifispeaker.lx06, xiaomi.wifispeaker.x08c and xiaomi.wifispeaker.l04m. [#1567](https://github.com/XiaoMi/ha_xiaomi_home/pull/1567)
- Fix the MIoT-Spec-V2 of xiaomi.airc.h09h00 humidity-range unit. [#1567](https://github.com/XiaoMi/ha_xiaomi_home/pull/1567)
## v0.4.6 ## v0.4.6
### Added ### Added
- Add tv-box device as the media player entity. [#1562](https://github.com/XiaoMi/ha_xiaomi_home/pull/1562) - Add tv-box device as the media player entity. [#1562](https://github.com/XiaoMi/ha_xiaomi_home/pull/1562)
@ -24,7 +12,7 @@
- Catch paho-mqtt subscribe error properly. [#1551](https://github.com/XiaoMi/ha_xiaomi_home/pull/1551) - Catch paho-mqtt subscribe error properly. [#1551](https://github.com/XiaoMi/ha_xiaomi_home/pull/1551)
- After the network resumes, keep retrying to fetch the device list until it succeeds. [#1555](https://github.com/XiaoMi/ha_xiaomi_home/pull/1555) - After the network resumes, keep retrying to fetch the device list until it succeeds. [#1555](https://github.com/XiaoMi/ha_xiaomi_home/pull/1555)
- Catch the http post error properly. [#1555](https://github.com/XiaoMi/ha_xiaomi_home/pull/1555) - Catch the http post error properly. [#1555](https://github.com/XiaoMi/ha_xiaomi_home/pull/1555)
- Fix the format and the access field of daikin.aircondition.k2 and daikin.airfresh.k33 string value properties. [#1561](https://github.com/XiaoMi/ha_xiaomi_home/pull/1561) - Fixed the format and the access field of daikin.aircondition.k2 and fix: daikin.airfresh.k33 string value properties. [#1561](https://github.com/XiaoMi/ha_xiaomi_home/pull/1561)
## v0.4.5 ## v0.4.5
### Changed ### Changed

View File

@ -25,7 +25,7 @@
"cryptography", "cryptography",
"psutil" "psutil"
], ],
"version": "v0.4.7", "version": "v0.4.6",
"zeroconf": [ "zeroconf": [
"_miot-central._tcp.local." "_miot-central._tcp.local."
] ]

View File

@ -90,9 +90,8 @@ SUPPORTED_PLATFORMS: list = [
UNSUPPORTED_MODELS: list = [ UNSUPPORTED_MODELS: list = [
'chuangmi.ir.v2', 'chuangmi.ir.v2',
'era.airp.cwb03',
'hmpace.motion.v6nfc', 'hmpace.motion.v6nfc',
'k0918.toothbrush.t700' 'xiaomi.router.rd03'
] ]
DEFAULT_CLOUD_SERVER: str = 'cn' DEFAULT_CLOUD_SERVER: str = 'cn'

View File

@ -1256,15 +1256,7 @@ class MIoTClient:
) -> None: ) -> None:
_LOGGER.info( _LOGGER.info(
'gateway devices list changed, %s, %s', mips.group_id, did_list) 'gateway devices list changed, %s, %s', mips.group_id, did_list)
payload: dict = { payload: dict = {'filter': {'did': did_list}}
'filter': {
'did': did_list
},
'info': [
'name', 'model', 'urn',
'online', 'specV2Access', 'pushAvailable'
]
}
gw_list = await mips.get_dev_list_async( gw_list = await mips.get_dev_list_async(
payload=json.dumps(payload)) payload=json.dumps(payload))
if gw_list is None: if gw_list is None:
@ -1527,8 +1519,6 @@ class MIoTClient:
if did not in filter_dids: if did not in filter_dids:
continue continue
device_old = self._device_list_gateway.get(did, None) device_old = self._device_list_gateway.get(did, None)
gw_state_old = device_old.get(
'online', False) if device_old else False
gw_state_new: bool = False gw_state_new: bool = False
device_new = gw_list.pop(did, None) device_new = gw_list.pop(did, None)
if device_new: if device_new:
@ -1542,7 +1532,7 @@ class MIoTClient:
device_old['online'] = False device_old['online'] = False
# Update cache group_id # Update cache group_id
info['group_id'] = group_id info['group_id'] = group_id
if (gw_state_old == gw_state_new) and (not gw_state_new): if not gw_state_new:
continue continue
self.__update_device_msg_sub(did=did) self.__update_device_msg_sub(did=did)
state_old: Optional[bool] = info.get('online', None) state_old: Optional[bool] = info.get('online', None)
@ -1600,14 +1590,7 @@ class MIoTClient:
if not mips.mips_state: if not mips.mips_state:
_LOGGER.debug('local mips disconnect, skip refresh, %s', group_id) _LOGGER.debug('local mips disconnect, skip refresh, %s', group_id)
return return
payload: dict = { gw_list: dict = await mips.get_dev_list_async()
'info': [
'name', 'model', 'urn',
'online', 'specV2Access', 'pushAvailable'
]
}
gw_list: dict = await mips.get_dev_list_async(
payload=json.dumps(payload))
if gw_list is None: if gw_list is None:
_LOGGER.error( _LOGGER.error(
'refresh gw devices with group_id failed, %s, %s', 'refresh gw devices with group_id failed, %s, %s',

View File

@ -601,8 +601,15 @@ class MIoTHttpClient:
'bssid': device.get('bssid', None), 'bssid': device.get('bssid', None),
'order_time': device.get('orderTime', 0), 'order_time': device.get('orderTime', 0),
'fw_version': device.get('extra', {}).get( 'fw_version': device.get('extra', {}).get(
'fw_version', None) 'fw_version', 'unknown'),
} }
if isinstance(device.get('extra', None), dict) and device['extra']:
device_infos[did]['fw_version'] = device['extra'].get(
'fw_version', None)
device_infos[did]['mcu_version'] = device['extra'].get(
'mcu_version', None)
device_infos[did]['platform'] = device['extra'].get(
'platform', None)
next_start_did = res_obj.get('next_start_did', None) next_start_did = res_obj.get('next_start_did', None)
if res_obj.get('has_more', False) and next_start_did: if res_obj.get('has_more', False) and next_start_did:

View File

@ -682,66 +682,58 @@ class MIoTDevice:
def unit_convert(self, spec_unit: str) -> Optional[str]: def unit_convert(self, spec_unit: str) -> Optional[str]:
"""Convert MIoT unit to Home Assistant unit. """Convert MIoT unit to Home Assistant unit.
2026/01/06: property unit statistics of the latest released 25/01/20: All online prop unit statistical tables: unit, quantity.
MIoT-Spec-V2 for all device models: unit, quantity.
{ {
"no_unit": 148499, "no_unit": 148499,
"percentage": 12074, "percentage": 10042,
"none": 11857, "kelvin": 1895,
"minutes": 5707, "rgb": 772, // color
"celsius": 5767, "celsius": 5762,
"seconds": 3062, "none": 16106,
"kelvin": 2511, "hours": 1540,
"hours": 1380, "minutes": 5061,
"days": 615, "ms": 27,
"rgb": 752, // color "watt": 216,
"L": 379, "arcdegrees": 159,
"mg/m3": 335, "ppm": 177,
"ppm": 182, "μg/m3": 106,
"watt": 246, "days": 571,
"arcdegrees": 130, "seconds": 2749,
"μg/m3": 117,
"kWh": 149,
"ms": 108,
"pascal": 108,
"lux": 100,
"V": 59,
"m": 45,
"A": 36,
"mL": 30,
"arcdegress": 25,
"mA": 26,
"bpm": 21, // realtime-heartrate
"B/s": 21, "B/s": 21,
"weeks": 18, "pascal": 110,
"dB": 17, "mg/m3": 339,
"calorie": 18, // 1 cal = 4.184 J "lux": 125,
"metre": 15, "kWh": 124,
"hour": 11,
"cm": 12,
"gram": 8,
"km/h": 8,
"mV": 9,
"times": 4, // exercise-count
"kCal": 4,
"mmHg": 4,
"pcs": 3,
"meter": 3,
"kW": 2,
"KByte/s": 2,
"毫摩尔每升": 2, // blood-sugar, cholesterol
"m3/h": 2,
"ppb": 2,
"mv": 2, "mv": 2,
"w": 1, "V": 38,
"bar": 1, "A": 29,
"megapascal": 1, "mV": 4,
"kB": 1, "L": 352,
"mmol/L": 1, // urea "m": 37,
"min/km": 1, "毫摩尔每升": 2, // blood-sugar, cholesterol
"mmol/L": 1, // urea
"weeks": 26,
"meter": 3,
"dB": 26,
"hour": 14,
"calorie": 19, // 1 cal = 4.184 J
"ppb": 3,
"arcdegress": 30,
"bpm": 4, // realtime-heartrate
"gram": 7,
"km/h": 9,
"W": 1,
"m3/h": 2,
"kilopascal": 1, "kilopascal": 1,
"mL": 4,
"mmHg": 4,
"w": 1,
"liter": 1, "liter": 1,
"W": 1 "cm": 3,
"mA": 2,
"kilogram": 2,
"kcal/d": 2, // basal-metabolism
"times": 1 // exercise-count
} }
""" """
unit_map = { unit_map = {

View File

@ -1394,9 +1394,19 @@ class MipsLocalClient(_MipsClient):
continue continue
device_list[did] = { device_list[did] = {
'did': did, 'did': did,
'name': name,
'urn': urn,
'model': model,
'online': info.get('online', False), 'online': info.get('online', False),
'icon': info.get('icon', None),
'fw_version': None,
'home_id': '',
'home_name': '',
'room_id': info.get('roomId', ''),
'room_name': info.get('roomName', ''),
'specv2_access': info.get('specV2Access', False), 'specv2_access': info.get('specV2Access', False),
'push_available': info.get('pushAvailable', False) 'push_available': info.get('pushAvailable', False),
'manufacturer': model.split('.')[0],
} }
return device_list return device_list

View File

@ -3,35 +3,20 @@
"en": { "en": {
"service:003:property:001:valuelist:000": "Idle", "service:003:property:001:valuelist:000": "Idle",
"service:003:property:001:valuelist:001": "Dry" "service:003:property:001:valuelist:001": "Dry"
},
"tr": {
"service:003:property:001:valuelist:000": "Boşta",
"service:003:property:001:valuelist:001": "Kurutma"
} }
}, },
"urn:miot-spec-v2:device:electronic-valve:0000A0A7:lxzn-02": { "urn:miot-spec-v2:device:electronic-valve:0000A0A7:lxzn-02": {
"tr": {
"service:004:property:001": "Yüksek Güç - Eşik Ayarı"
},
"zh-Hans": { "zh-Hans": {
"service:004:property:001": "功率过高-阈值设置" "service:004:property:001": "功率过高-阈值设置"
} }
}, },
"urn:miot-spec-v2:device:electronic-valve:0000A0A7:ykcn-cbcs": { "urn:miot-spec-v2:device:electronic-valve:0000A0A7:ykcn-cbcs": {
"tr": {
"service:004:property:001": "Yüksek Güç - Eşik Ayarı",
"service:004:property:009": "Düşük Voltaj Alarmı - Eşik Ayarı"
},
"zh-Hans": { "zh-Hans": {
"service:004:property:001": "功率过高-阈值设置", "service:004:property:001": "功率过高-阈值设置",
"service:004:property:009": "欠压告警-阈值设置" "service:004:property:009": "欠压告警-阈值设置"
} }
}, },
"urn:miot-spec-v2:device:fan:0000A005:zhimi-za1": { "urn:miot-spec-v2:device:fan:0000A005:zhimi-za1": {
"tr": {
"service:002:property:005:valuelist:000": "Doğal Rüzgar",
"service:002:property:005:valuelist:001": "Doğrudan Üfleme"
},
"zh-Hans": { "zh-Hans": {
"service:002:property:005:valuelist:000": "自然风", "service:002:property:005:valuelist:000": "自然风",
"service:002:property:005:valuelist:001": "直吹风" "service:002:property:005:valuelist:001": "直吹风"
@ -170,28 +155,6 @@
"service:004:event:001": "Произошло виртуальное событие", "service:004:event:001": "Произошло виртуальное событие",
"service:004:property:001": "Название события" "service:004:property:001": "Название события"
}, },
"tr": {
"service:001": "Cihaz Bilgileri",
"service:001:property:003": "Cihaz ID",
"service:001:property:005": "Seri Numarası (SN)",
"service:002": "Ağ Geçidi",
"service:002:event:001": "Ağ Değişti",
"service:002:event:002": "Ağ Değişti",
"service:002:property:001": "Erişim Yöntemi",
"service:002:property:001:valuelist:000": "Kablolu",
"service:002:property:001:valuelist:001": "5G Kablosuz",
"service:002:property:001:valuelist:002": "2.4G Kablosuz",
"service:002:property:002": "IP Adresi",
"service:002:property:003": "WiFi Ağ Adı",
"service:002:property:004": "Geçerli Zaman",
"service:002:property:005": "DHCP Sunucusu MAC Adresi",
"service:003": "Gösterge Işığı",
"service:003:property:001": "Anahtar",
"service:004": "Sanal Hizmet",
"service:004:action:001": "Sanal Olay Oluştur",
"service:004:event:001": "Sanal Olay Gerçekleşti",
"service:004:property:001": "Olay Adı"
},
"zh-Hant": { "zh-Hant": {
"service:001": "設備信息", "service:001": "設備信息",
"service:001:property:003": "設備ID", "service:001:property:003": "設備ID",
@ -216,15 +179,6 @@
} }
}, },
"urn:miot-spec-v2:device:lock:0000A038:loock-t2pv1": { "urn:miot-spec-v2:device:lock:0000A038:loock-t2pv1": {
"tr": {
"service:003:property:1021:valuelist:000": "Kilitli",
"service:003:property:1021:valuelist:001": "Kilitli (Çocuk Kilidi)",
"service:003:property:1021:valuelist:002": "Kilitli (İçten Kilitli)",
"service:003:property:1021:valuelist:003": "Kilitli (İçten Kilitli + Çocuk Kilidi)",
"service:003:property:1021:valuelist:004": "Kilidi Açık",
"service:003:property:1021:valuelist:008": "Kapı Kapalı Değil (Zaman Aşımı)",
"service:003:property:1021:valuelist:012": "Kapı Aralık"
},
"zh-Hans": { "zh-Hans": {
"service:003:property:1021:valuelist:000": "已上锁", "service:003:property:1021:valuelist:000": "已上锁",
"service:003:property:1021:valuelist:001": "已上锁(童锁)", "service:003:property:1021:valuelist:001": "已上锁(童锁)",
@ -239,10 +193,6 @@
"en": { "en": {
"service:002:property:001": "Soil Moisture" "service:002:property:001": "Soil Moisture"
}, },
"tr": {
"service:002:property:001": "Toprak Nemi",
"service:002:property:003": "Işık Yoğunluğu"
},
"zh-Hans": { "zh-Hans": {
"service:002:property:001": "土壤湿度", "service:002:property:001": "土壤湿度",
"service:002:property:003": "光照强度" "service:002:property:003": "光照强度"
@ -253,11 +203,6 @@
"service:027:property:001": "Fan Switch", "service:027:property:001": "Fan Switch",
"service:027:property:003": "Light Switch", "service:027:property:003": "Light Switch",
"service:027:property:004": "Fan and Light Switch" "service:027:property:004": "Fan and Light Switch"
},
"tr": {
"service:027:property:001": "Vantilatör Anahtarı",
"service:027:property:003": "Işık Anahtarı",
"service:027:property:004": "Vantilatör ve Işık Anahtarı"
} }
}, },
"urn:miot-spec-v2:device:switch:0000A003:lumi-acn040": { "urn:miot-spec-v2:device:switch:0000A003:lumi-acn040": {
@ -268,13 +213,6 @@
"service:016:action:001": "Middle Button Identify", "service:016:action:001": "Middle Button Identify",
"service:017:action:001": "Right Button Identify" "service:017:action:001": "Right Button Identify"
}, },
"tr": {
"service:011": "Sağ Düğme Açma ve Kapama",
"service:011:property:001": "Sağ Düğme Açma ve Kapama",
"service:015:action:001": "Sol Düğme Tanımlama",
"service:016:action:001": "Orta Düğme Tanımlama",
"service:017:action:001": "Sağ Düğme Tanımlama"
},
"zh-Hans": { "zh-Hans": {
"service:015:action:001": "左键确认", "service:015:action:001": "左键确认",
"service:016:action:001": "中键确认", "service:016:action:001": "中键确认",
@ -312,37 +250,6 @@
"service:004:property:005": "температура выносного датчика", "service:004:property:005": "температура выносного датчика",
"service:004:property:006": "максимальная температура цели", "service:004:property:006": "максимальная температура цели",
"service:004:property:007": "минимальная температура цели " "service:004:property:007": "минимальная температура цели "
},
"tr": {
"service:002": "Termostat",
"service:002:property:001": "Anahtar",
"service:002:property:002": "Yük Modu",
"service:002:property:002:valuelist:000": "Isıtmasız",
"service:002:property:002:valuelist:001": "Isıtma",
"service:002:property:003": "Arıza",
"service:002:property:003:valuelist:000": "Sensör Hatası",
"service:002:property:003:valuelist:001": "Hata Yok",
"service:002:property:003:valuelist:002": "Yüksek Sıcaklık Koruması",
"service:002:property:003:valuelist:003": "Düşük Sıcaklık Koruması",
"service:002:property:004": "Mod",
"service:002:property:004:valuelist:000": "Manuel Mod",
"service:002:property:004:valuelist:001": "Ev Modu",
"service:002:property:004:valuelist:002": "Dışarıda Modu",
"service:002:property:004:valuelist:003": "Otomatik Mod",
"service:002:property:004:valuelist:004": "Uyku Modu",
"service:002:property:005": "Hedef Sıcaklık",
"service:002:property:007": "Geçerli Sıcaklık",
"service:004": "Özel Hizmetler",
"service:004:property:001": "Çocuk Kilidi",
"service:004:property:002": "Sensör Tipi",
"service:004:property:002:valuelist:000": "Dahili Sensör",
"service:004:property:002:valuelist:001": "Harici Sensör",
"service:004:property:002:valuelist:002": "Dahili ve Harici Sensör",
"service:004:property:003": "Başlangıç Sıcaklık Farkı",
"service:004:property:004": "Telafi Sıcaklığı",
"service:004:property:005": "Harici Sensör Sıcaklığı",
"service:004:property:006": "Maksimum Hedef Sıcaklık",
"service:004:property:007": "Minimum Hedef Sıcaklık"
} }
}, },
"urn:miot-spec-v2:device:thermostat:0000A031:cubee-th123w": { "urn:miot-spec-v2:device:thermostat:0000A031:cubee-th123w": {
@ -376,37 +283,6 @@
"service:004:property:005": "температура выносного датчика", "service:004:property:005": "температура выносного датчика",
"service:004:property:006": "максимальная температура цели", "service:004:property:006": "максимальная температура цели",
"service:004:property:007": "минимальная температура цели " "service:004:property:007": "минимальная температура цели "
},
"tr": {
"service:002": "Termostat",
"service:002:property:001": "Anahtar",
"service:002:property:002": "Yük Modu",
"service:002:property:002:valuelist:000": "Isıtma",
"service:002:property:002:valuelist:001": "Isıtmasız",
"service:002:property:003": "Arıza",
"service:002:property:003:valuelist:000": "Hata Yok",
"service:002:property:003:valuelist:001": "Sensör Hatası",
"service:002:property:003:valuelist:002": "Yüksek Sıcaklık Koruması",
"service:002:property:003:valuelist:003": "Düşük Sıcaklık Koruması",
"service:002:property:004": "Mod",
"service:002:property:004:valuelist:000": "Manuel Mod",
"service:002:property:004:valuelist:001": "Ev Modu",
"service:002:property:004:valuelist:002": "Dışarıda Modu",
"service:002:property:004:valuelist:003": "Otomatik Mod",
"service:002:property:004:valuelist:004": "Uyku Modu",
"service:002:property:005": "Hedef Sıcaklık",
"service:002:property:007": "Geçerli Sıcaklık",
"service:004": "Özel Hizmetler",
"service:004:property:001": "Çocuk Kilidi",
"service:004:property:002": "Sensör Tipi",
"service:004:property:002:valuelist:000": "Dahili Sensör",
"service:004:property:002:valuelist:001": "Harici Sensör",
"service:004:property:002:valuelist:002": "Dahili ve Harici Sensör",
"service:004:property:003": "Başlangıç Sıcaklık Farkı",
"service:004:property:004": "Telafi Sıcaklığı",
"service:004:property:005": "Harici Sensör Sıcaklığı",
"service:004:property:006": "Maksimum Hedef Sıcaklık",
"service:004:property:007": "Minimum Hedef Sıcaklık"
} }
}, },
"urn:miot-spec-v2:device:thermostat:0000A031:tofan-wk01": { "urn:miot-spec-v2:device:thermostat:0000A031:tofan-wk01": {
@ -415,204 +291,17 @@
"service:002:property:002": "Air Conditioner Mode", "service:002:property:002": "Air Conditioner Mode",
"service:004": "Air Conditioner" "service:004": "Air Conditioner"
}, },
"tr": {
"service:002": "Yerden Isıtma",
"service:002:property:002": "Klima Modu",
"service:004": "Klima"
},
"zh-Hans": { "zh-Hans": {
"service:002": "地暖", "service:002": "地暖",
"service:004": "空调" "service:004": "空调"
} }
}, },
"urn:miot-spec-v2:device:vacuum:0000A006:ijai-v1": { "urn:miot-spec-v2:device:vacuum:0000A006:ijai-v1": {
"tr": {
"service:007:property:005:valuelist:000": "Sessiz",
"service:007:property:005:valuelist:001": "Standart",
"service:007:property:005:valuelist:002": "Orta",
"service:007:property:005:valuelist:003": "Güçlü"
},
"zh-Hans": { "zh-Hans": {
"service:007:property:005:valuelist:000": "安静", "service:007:property:005:valuelist:000": "安静",
"service:007:property:005:valuelist:001": "标准", "service:007:property:005:valuelist:001": "标准",
"service:007:property:005:valuelist:002": "中档", "service:007:property:005:valuelist:002": "中档",
"service:007:property:005:valuelist:003": "强力" "service:007:property:005:valuelist:003": "强力"
} }
},
"urn:miot-spec-v2:device:vacuum:0000A006:narwa-001": {
"tr": {
"service:001": "Cihaz Bilgileri",
"service:002": "Pil",
"service:002:property:001": "Pil Seviyesi",
"service:003": "Robot Süpürge",
"service:003:property:001": "Çalışma Durumu",
"service:004": "Temizleme",
"service:004:property:001": "Temizlik Modu",
"service:004:property:002": "Emme Gücü",
"service:005": "Harita Yönetimi",
"service:005:property:001": "Harita Listesi",
"service:005:property:002": "Aktif Harita",
"service:005:property:003": "Harita Adı",
"service:006": "Tüketim Malzemeleri",
"service:006:property:001": "Ana Fırça Ömrü",
"service:006:property:002": "Yan Fırça Ömrü",
"service:006:property:003": "Filtre Ömrü"
}
},
"urn:miot-spec-v2:device:vacuum:0000A006:narwa-ax11": {
"tr": {
"service:001": "Cihaz Bilgileri",
"service:002": "Pil",
"service:002:property:001": "Pil Seviyesi",
"service:003": "Robot Süpürge",
"service:003:property:001": "Çalışma Durumu",
"service:004": "Temizleme",
"service:004:property:001": "Temizlik Modu",
"service:004:property:002": "Emme Gücü",
"service:005": "Harita Yönetimi",
"service:005:property:001": "Harita Listesi",
"service:005:property:002": "Aktif Harita",
"service:005:property:003": "Harita Adı",
"service:006": "Tüketim Malzemeleri",
"service:006:property:001": "Ana Fırça Ömrü",
"service:006:property:002": "Yan Fırça Ömrü",
"service:006:property:003": "Filtre Ömrü"
}
},
"urn:miot-spec-v2:device:vacuum:0000A006:roidmi-v60": {
"tr": {
"service:001": "Cihaz Bilgileri",
"service:002": "Pil",
"service:002:property:001": "Pil Seviyesi",
"service:003": "Robot Süpürge",
"service:003:property:001": "Çalışma Durumu",
"service:004": "Temizleme",
"service:004:property:001": "Temizlik Modu",
"service:004:property:002": "Emme Gücü",
"service:004:property:003": "Temizlik Süresi",
"service:004:property:004": "Temizlenen Alan",
"service:005": "Harita Yönetimi",
"service:005:property:001": "Harita Listesi",
"service:005:property:002": "Aktif Harita",
"service:005:property:003": "Harita Adı",
"service:006": "Tüketim Malzemeleri",
"service:006:property:001": "Ana Fırça Ömrü",
"service:006:property:002": "Yan Fırça Ömrü",
"service:006:property:003": "Filtre Ömrü",
"service:007": "Emme Gücü",
"service:007:property:001": "Güç Seviyesi",
"service:007:property:001:valuelist:000": "Sessiz",
"service:007:property:001:valuelist:001": "Standart",
"service:007:property:001:valuelist:002": "Orta",
"service:007:property:001:valuelist:003": "Güçlü"
}
},
"urn:miot-spec-v2:device:vacuum:0000A006:viomi-v38": {
"tr": {
"service:001": "Cihaz Bilgileri",
"service:002": "Pil",
"service:002:property:001": "Pil Seviyesi",
"service:002:property:002": "Şarj Durumu",
"service:003": "Robot Süpürge",
"service:003:property:001": "Çalışma Durumu",
"service:003:property:002": "Hata Kodu",
"service:004": "Temizleme",
"service:004:property:001": "Temizlik Modu",
"service:004:property:002": "Emme Gücü",
"service:004:property:003": "Su Seviyesi",
"service:004:property:004": "Temizlik Süresi",
"service:004:property:005": "Temizlenen Alan",
"service:005": "Tüketim Malzemeleri",
"service:005:property:001": "Ana Fırça Ömrü",
"service:005:property:002": "Yan Fırça Ömrü",
"service:005:property:003": "Filtre Ömrü",
"service:005:property:004": "Sensör Ömrü",
"service:005:property:005": "Paspas Bezi Ömrü",
"service:006": "Harita Yönetimi",
"service:006:property:001": "Harita Listesi",
"service:006:property:002": "Aktif Harita",
"service:006:property:003": "Harita Adı",
"service:006:property:004": "Harita ID",
"service:007": "Emme Gücü",
"service:007:property:001": "Güç Seviyesi",
"service:007:property:001:valuelist:000": "Sessiz",
"service:007:property:001:valuelist:001": "Standart",
"service:007:property:001:valuelist:002": "Orta",
"service:007:property:001:valuelist:003": "Güçlü",
"service:007:property:001:valuelist:004": "Maksimum",
"service:008": "Su Tankı",
"service:008:property:001": "Su Seviyesi",
"service:008:property:001:valuelist:000": "Düşük",
"service:008:property:001:valuelist:001": "Orta",
"service:008:property:001:valuelist:002": "Yüksek",
"service:009": "Bölge Temizliği",
"service:009:property:001": "Oda Seçimi",
"service:009:property:002": "Bölge Temizliği",
"service:010": "Zamanlama",
"service:010:property:001": "Zamanlayıcı",
"service:010:property:002": "Temizlik Zamanı",
"service:011": "Ses ve Bildirim",
"service:011:property:001": "Ses Seviyesi",
"service:011:property:002": "Sesli Bildirimler",
"service:012": "Gelişmiş Ayarlar",
"service:012:property:001": "Halı Modu",
"service:012:property:002": "Tekrar Geçiş",
"service:012:property:003": "Kenar Temizliği",
"service:012:property:004": "Engel Algılama"
}
},
"urn:miot-spec-v2:device:vacuum:0000A006:viomi-v5": {
"tr": {
"service:001": "Cihaz Bilgileri",
"service:002": "Pil",
"service:002:property:001": "Pil Seviyesi",
"service:002:property:002": "Şarj Durumu",
"service:003": "Robot Süpürge",
"service:003:property:001": "Çalışma Durumu",
"service:003:property:002": "Hata Kodu",
"service:004": "Temizleme",
"service:004:property:001": "Temizlik Modu",
"service:004:property:002": "Emme Gücü",
"service:004:property:003": "Su Seviyesi",
"service:004:property:004": "Temizlik Süresi",
"service:004:property:005": "Temizlenen Alan",
"service:005": "Tüketim Malzemeleri",
"service:005:property:001": "Ana Fırça Ömrü",
"service:005:property:002": "Yan Fırça Ömrü",
"service:005:property:003": "Filtre Ömrü",
"service:005:property:004": "Sensör Ömrü",
"service:005:property:005": "Paspas Bezi Ömrü",
"service:006": "Harita Yönetimi",
"service:006:property:001": "Harita Listesi",
"service:006:property:002": "Aktif Harita",
"service:006:property:003": "Harita Adı",
"service:006:property:004": "Harita ID",
"service:007": "Emme Gücü",
"service:007:property:001": "Güç Seviyesi",
"service:007:property:001:valuelist:000": "Sessiz",
"service:007:property:001:valuelist:001": "Standart",
"service:007:property:001:valuelist:002": "Orta",
"service:007:property:001:valuelist:003": "Güçlü",
"service:007:property:001:valuelist:004": "Maksimum",
"service:008": "Su Tankı",
"service:008:property:001": "Su Seviyesi",
"service:008:property:001:valuelist:000": "Düşük",
"service:008:property:001:valuelist:001": "Orta",
"service:008:property:001:valuelist:002": "Yüksek",
"service:009": "Bölge Temizliği",
"service:009:property:001": "Oda Seçimi",
"service:009:property:002": "Bölge Temizliği",
"service:010": "Zamanlama",
"service:010:property:001": "Zamanlayıcı",
"service:010:property:002": "Temizlik Zamanı",
"service:011": "Ses ve Bildirim",
"service:011:property:001": "Ses Seviyesi",
"service:011:property:002": "Sesli Bildirimler",
"service:012": "Gelişmiş Ayarlar",
"service:012:property:001": "Halı Modu",
"service:012:property:002": "Tekrar Geçiş",
"service:012:property:003": "Kenar Temizliği",
"service:012:property:004": "Engel Algılama"
}
} }
} }

View File

@ -54,9 +54,6 @@ urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c35:1:
prop.10.6: prop.10.6:
unit: none 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-c35:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c35:1
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h09h00:4:
prop.10.6:
unit: none
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h40h00:1: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h40h00:1:
prop.10.6: prop.10.6:
unit: none unit: none
@ -502,26 +499,6 @@ urn:miot-spec-v2:device:safe-box:0000A042:loock-v1:1:
prop.5.1: prop.5.1:
name: contact-state name: contact-state
expr: (src_value!=1) expr: (src_value!=1)
urn:miot-spec-v2:device:speaker:0000A015:xiaomi-l04m:2:
prop.3.1:
access:
- read
- notify
urn:miot-spec-v2:device:speaker:0000A015:xiaomi-lx04:2:
prop.3.1:
access:
- read
- notify
urn:miot-spec-v2:device:speaker:0000A015:xiaomi-lx06:2:
prop.3.1:
access:
- read
- notify
urn:miot-spec-v2:device:speaker:0000A015:xiaomi-x08c:2:
prop.2.1:
access:
- read
- notify
urn:miot-spec-v2:device:speaker:0000A015:xiaomi-x08e:1: urn:miot-spec-v2:device:speaker:0000A015:xiaomi-x08e:1:
prop.3.1: prop.3.1:
name: playing-state-a name: playing-state-a
@ -582,9 +559,6 @@ urn:miot-spec-v2:device:thermostat:0000A031:suittc-wk168:1:
description: '15' description: '15'
- value: 16 - value: 16
description: '16' description: '16'
urn:miot-spec-v2:device:toothbrush:0000A07E:xiaomi-p001:1:
prop.4.1041:
unit: days
urn:miot-spec-v2:device:water-purifier:0000A013:roswan-lte01:1:0000D05A: urn:miot-spec-v2:device:water-purifier:0000A013:roswan-lte01:1:0000D05A:
prop.4.1: prop.4.1:
unit: ppm unit: ppm