feat: 初始化小米 IoT (MIoT) 智能家居 Go 库
- 实现 MIoT 客户端核心功能(MQTT 连接、设备管理、属性读写) - 支持云端 API 调用与局域网设备发现(mDNS) - 集成国际化(i18n)多语言支持 - 添加 MIoT 设备规约解析器(spec_parser) - 包含单元测试与使用示例
This commit is contained in:
@@ -0,0 +1,261 @@
|
||||
data:
|
||||
urn:miot-spec-v2:property:air-cooler:000000EB: open_close
|
||||
urn:miot-spec-v2:property:alarm:00000012: open_close
|
||||
urn:miot-spec-v2:property:anion:00000025: open_close
|
||||
urn:miot-spec-v2:property:anti-fake:00000130: yes_no
|
||||
urn:miot-spec-v2:property:arrhythmia:000000B4: yes_no
|
||||
urn:miot-spec-v2:property:auto-cleanup:00000124: open_close
|
||||
urn:miot-spec-v2:property:auto-deodorization:00000125: open_close
|
||||
urn:miot-spec-v2:property:auto-keep-warm:0000002B: open_close
|
||||
urn:miot-spec-v2:property:automatic-feeding:000000F0: open_close
|
||||
urn:miot-spec-v2:property:blow:000000CD: open_close
|
||||
urn:miot-spec-v2:property:card-insertion-state:00000106: yes_no
|
||||
urn:miot-spec-v2:property:contact-state:0000007C: contact_state
|
||||
urn:miot-spec-v2:property:current-physical-control-lock:00000099: open_close
|
||||
urn:miot-spec-v2:property:delay:0000014F: yes_no
|
||||
urn:miot-spec-v2:property:deodorization:000000C6: open_close
|
||||
urn:miot-spec-v2:property:dns-auto-mode:000000DC: open_close
|
||||
urn:miot-spec-v2:property:driving-status:000000B9: yes_no
|
||||
urn:miot-spec-v2:property:dryer:00000027: open_close
|
||||
urn:miot-spec-v2:property:eco:00000024: open_close
|
||||
urn:miot-spec-v2:property:glimmer-full-color:00000089: open_close
|
||||
urn:miot-spec-v2:property:guard-mode:000000B6: open_close
|
||||
urn:miot-spec-v2:property:heater:00000026: open_close
|
||||
urn:miot-spec-v2:property:heating:000000C7: open_close
|
||||
urn:miot-spec-v2:property:horizontal-swing:00000017: open_close
|
||||
urn:miot-spec-v2:property:hot-water-recirculation:0000011C: open_close
|
||||
urn:miot-spec-v2:property:image-distortion-correction:0000010F: open_close
|
||||
urn:miot-spec-v2:property:local-storage:0000011E: yes_no
|
||||
urn:miot-spec-v2:property:motion-detection:00000056: open_close
|
||||
urn:miot-spec-v2:property:motion-state:0000007D: motion_state
|
||||
urn:miot-spec-v2:property:motion-tracking:0000008A: open_close
|
||||
urn:miot-spec-v2:property:motor-reverse:00000072: yes_no
|
||||
urn:miot-spec-v2:property:mute:00000040: open_close
|
||||
urn:miot-spec-v2:property:off-delay:00000053: open_close
|
||||
urn:miot-spec-v2:property:on:00000006: open_close
|
||||
urn:miot-spec-v2:property:physical-controls-locked:0000001D: open_close
|
||||
urn:miot-spec-v2:property:plasma:00000132: yes_no
|
||||
urn:miot-spec-v2:property:preheat:00000103: open_close
|
||||
urn:miot-spec-v2:property:seating-state:000000B8: yes_no
|
||||
urn:miot-spec-v2:property:silent-execution:000000FB: yes_no
|
||||
urn:miot-spec-v2:property:sleep-aid-mode:0000010B: open_close
|
||||
urn:miot-spec-v2:property:sleep-mode:00000028: open_close
|
||||
urn:miot-spec-v2:property:snore-state:0000012A: yes_no
|
||||
urn:miot-spec-v2:property:soft-wind:000000CF: open_close
|
||||
urn:miot-spec-v2:property:speed-control:000000E8: open_close
|
||||
urn:miot-spec-v2:property:submersion-state:0000007E: yes_no
|
||||
urn:miot-spec-v2:property:time-watermark:00000087: open_close
|
||||
urn:miot-spec-v2:property:un-straight-blowing:00000100: open_close
|
||||
urn:miot-spec-v2:property:uv:00000029: open_close
|
||||
urn:miot-spec-v2:property:valve-switch:000000FE: open_close
|
||||
urn:miot-spec-v2:property:ventilation:000000CE: open_close
|
||||
urn:miot-spec-v2:property:vertical-swing:00000018: open_close
|
||||
urn:miot-spec-v2:property:wake-up-mode:00000107: open_close
|
||||
urn:miot-spec-v2:property:water-pump:000000F2: open_close
|
||||
urn:miot-spec-v2:property:watering:000000CC: open_close
|
||||
urn:miot-spec-v2:property:wdr-mode:00000088: open_close
|
||||
urn:miot-spec-v2:property:wet:0000002A: open_close
|
||||
urn:miot-spec-v2:property:wifi-band-combine:000000E0: open_close
|
||||
urn:miot-spec-v2:property:wifi-ssid-hidden:000000E3: yes_no
|
||||
urn:miot-spec-v2:property:wind-reverse:00000117: yes_no
|
||||
translate:
|
||||
default:
|
||||
de:
|
||||
'false': Falsch
|
||||
'true': Wahr
|
||||
en:
|
||||
'false': 'False'
|
||||
'true': 'True'
|
||||
es:
|
||||
'false': Falso
|
||||
'true': Verdadero
|
||||
fr:
|
||||
'false': Faux
|
||||
'true': Vrai
|
||||
it:
|
||||
'false': Falso
|
||||
'true': Vero
|
||||
ja:
|
||||
'false': 偽
|
||||
'true': 真
|
||||
nl:
|
||||
'false': 'False'
|
||||
'true': 'True'
|
||||
pt:
|
||||
'false': 'False'
|
||||
'true': 'True'
|
||||
pt-BR:
|
||||
'false': 'False'
|
||||
'true': 'True'
|
||||
ru:
|
||||
'false': Ложь
|
||||
'true': Истина
|
||||
tr:
|
||||
'false': Yanlış
|
||||
'true': Doğru
|
||||
zh-Hans:
|
||||
'false': 假
|
||||
'true': 真
|
||||
zh-Hant:
|
||||
'false': 假
|
||||
'true': 真
|
||||
contact_state:
|
||||
de:
|
||||
'false': Kein Kontakt
|
||||
'true': Kontakt
|
||||
en:
|
||||
'false': No Contact
|
||||
'true': Contact
|
||||
es:
|
||||
'false': Sin contacto
|
||||
'true': Contacto
|
||||
fr:
|
||||
'false': Pas de contact
|
||||
'true': Contact
|
||||
it:
|
||||
'false': Nessun contatto
|
||||
'true': Contatto
|
||||
ja:
|
||||
'false': 非接触
|
||||
'true': 接触
|
||||
nl:
|
||||
'false': Geen contact
|
||||
'true': Contact
|
||||
pt:
|
||||
'false': Sem contato
|
||||
'true': Contato
|
||||
pt-BR:
|
||||
'false': Sem contato
|
||||
'true': Contato
|
||||
ru:
|
||||
'false': Нет контакта
|
||||
'true': Контакт
|
||||
tr:
|
||||
'false': Temas Yok
|
||||
'true': Temas
|
||||
zh-Hans:
|
||||
'false': 分离
|
||||
'true': 接触
|
||||
zh-Hant:
|
||||
'false': 分離
|
||||
'true': 接觸
|
||||
motion_state:
|
||||
de:
|
||||
'false': Keine Bewegung erkannt
|
||||
'true': Bewegung erkannt
|
||||
en:
|
||||
'false': No Motion Detected
|
||||
'true': Motion Detected
|
||||
es:
|
||||
'false': No se detecta movimiento
|
||||
'true': Movimiento detectado
|
||||
fr:
|
||||
'false': Aucun mouvement détecté
|
||||
'true': Mouvement détecté
|
||||
it:
|
||||
'false': Nessun Movimento Rilevato
|
||||
'true': Movimento Rilevato
|
||||
ja:
|
||||
'false': 動きが検出されません
|
||||
'true': 動きを検知
|
||||
nl:
|
||||
'false': Geen contact
|
||||
'true': Contact
|
||||
pt:
|
||||
'false': Sem contato
|
||||
'true': Contato
|
||||
pt-BR:
|
||||
'false': Sem contato
|
||||
'true': Contato
|
||||
ru:
|
||||
'false': Движение не обнаружено
|
||||
'true': Обнаружено движение
|
||||
tr:
|
||||
'false': Hareket Algılanmadı
|
||||
'true': Hareket Algılandı
|
||||
zh-Hans:
|
||||
'false': 无人
|
||||
'true': 有人
|
||||
zh-Hant:
|
||||
'false': 無人
|
||||
'true': 有人
|
||||
open_close:
|
||||
de:
|
||||
'false': Schließen
|
||||
'true': Öffnen
|
||||
en:
|
||||
'false': Close
|
||||
'true': Open
|
||||
es:
|
||||
'false': Cerrado
|
||||
'true': Abierto
|
||||
fr:
|
||||
'false': Fermer
|
||||
'true': Ouvert
|
||||
it:
|
||||
'false': Chiuso
|
||||
'true': Aperto
|
||||
ja:
|
||||
'false': 閉じる
|
||||
'true': 開く
|
||||
nl:
|
||||
'false': Dicht
|
||||
'true': Open
|
||||
pt:
|
||||
'false': Fechado
|
||||
'true': Aberto
|
||||
pt-BR:
|
||||
'false': Fechado
|
||||
'true': Aberto
|
||||
ru:
|
||||
'false': Закрыть
|
||||
'true': Открыть
|
||||
tr:
|
||||
'false': Kapalı
|
||||
'true': Açık
|
||||
zh-Hans:
|
||||
'false': 关闭
|
||||
'true': 开启
|
||||
zh-Hant:
|
||||
'false': 關閉
|
||||
'true': 開啟
|
||||
yes_no:
|
||||
de:
|
||||
'false': Nein
|
||||
'true': Ja
|
||||
en:
|
||||
'false': 'No'
|
||||
'true': 'Yes'
|
||||
es:
|
||||
'false': 'No'
|
||||
'true': Sí
|
||||
fr:
|
||||
'false': Non
|
||||
'true': Oui
|
||||
it:
|
||||
'false': 'No'
|
||||
'true': Si
|
||||
ja:
|
||||
'false': いいえ
|
||||
'true': はい
|
||||
nl:
|
||||
'false': Nee
|
||||
'true': Ja
|
||||
pt:
|
||||
'false': Não
|
||||
'true': Sim
|
||||
pt-BR:
|
||||
'false': Não
|
||||
'true': Sim
|
||||
ru:
|
||||
'false': Нет
|
||||
'true': Да
|
||||
tr:
|
||||
'false': Hayır
|
||||
'true': Evet
|
||||
zh-Hans:
|
||||
'false': 否
|
||||
'true': 是
|
||||
zh-Hant:
|
||||
'false': 否
|
||||
'true': 是
|
||||
@@ -0,0 +1,774 @@
|
||||
{
|
||||
"urn:miot-spec-v2:device:bath-heater:0000A028:yeelink-v10": {
|
||||
"en": {
|
||||
"service:003:property:001:valuelist:000": "Idle",
|
||||
"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": {
|
||||
"tr": {
|
||||
"service:004:property:001": "Yüksek Güç - Eşik Ayarı"
|
||||
},
|
||||
"zh-Hans": {
|
||||
"service:004:property:001": "功率过高-阈值设置"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"service:004:property:001": "功率过高-阈值设置",
|
||||
"service:004:property:009": "欠压告警-阈值设置"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"service:002:property:005:valuelist:000": "自然风",
|
||||
"service:002:property:005:valuelist:001": "直吹风"
|
||||
}
|
||||
},
|
||||
"urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1": {
|
||||
"de": {
|
||||
"service:001": "Geräteinformationen",
|
||||
"service:001:property:003": "Geräte-ID",
|
||||
"service:001:property:005": "Seriennummer (SN)",
|
||||
"service:002": "Gateway",
|
||||
"service:002:event:001": "Netzwerk geändert",
|
||||
"service:002:event:002": "Netzwerk geändert",
|
||||
"service:002:property:001": "Zugriffsmethode",
|
||||
"service:002:property:001:valuelist:000": "Kabelgebunden",
|
||||
"service:002:property:001:valuelist:001": "5G Drahtlos",
|
||||
"service:002:property:001:valuelist:002": "2.4G Drahtlos",
|
||||
"service:002:property:002": "IP-Adresse",
|
||||
"service:002:property:003": "WiFi-Netzwerkname",
|
||||
"service:002:property:004": "Aktuelle Zeit",
|
||||
"service:002:property:005": "DHCP-Server-MAC-Adresse",
|
||||
"service:003": "Anzeigelampe",
|
||||
"service:003:property:001": "Schalter",
|
||||
"service:004": "Virtueller Dienst",
|
||||
"service:004:action:001": "Virtuelles Ereignis erzeugen",
|
||||
"service:004:event:001": "Virtuelles Ereignis aufgetreten",
|
||||
"service:004:property:001": "Ereignisname"
|
||||
},
|
||||
"en": {
|
||||
"service:001": "Device Information",
|
||||
"service:001:property:003": "Device ID",
|
||||
"service:001:property:005": "Serial Number (SN)",
|
||||
"service:002": "Gateway",
|
||||
"service:002:event:001": "Network Changed",
|
||||
"service:002:event:002": "Network Changed",
|
||||
"service:002:property:001": "Access Method",
|
||||
"service:002:property:001:valuelist:000": "Wired",
|
||||
"service:002:property:001:valuelist:001": "5G Wireless",
|
||||
"service:002:property:001:valuelist:002": "2.4G Wireless",
|
||||
"service:002:property:002": "IP Address",
|
||||
"service:002:property:003": "WiFi Network Name",
|
||||
"service:002:property:004": "Current Time",
|
||||
"service:002:property:005": "DHCP Server MAC Address",
|
||||
"service:003": "Indicator Light",
|
||||
"service:003:property:001": "Switch",
|
||||
"service:004": "Virtual Service",
|
||||
"service:004:action:001": "Generate Virtual Event",
|
||||
"service:004:event:001": "Virtual Event Occurred",
|
||||
"service:004:property:001": "Event Name"
|
||||
},
|
||||
"es": {
|
||||
"service:001": "Información del dispositivo",
|
||||
"service:001:property:003": "ID del dispositivo",
|
||||
"service:001:property:005": "Número de serie (SN)",
|
||||
"service:002": "Puerta de enlace",
|
||||
"service:002:event:001": "Cambio de red",
|
||||
"service:002:event:002": "Cambio de red",
|
||||
"service:002:property:001": "Método de acceso",
|
||||
"service:002:property:001:valuelist:000": "Cableado",
|
||||
"service:002:property:001:valuelist:001": "5G inalámbrico",
|
||||
"service:002:property:001:valuelist:002": "2.4G inalámbrico",
|
||||
"service:002:property:002": "Dirección IP",
|
||||
"service:002:property:003": "Nombre de red WiFi",
|
||||
"service:002:property:004": "Hora actual",
|
||||
"service:002:property:005": "Dirección MAC del servidor DHCP",
|
||||
"service:003": "Luz indicadora",
|
||||
"service:003:property:001": "Interruptor",
|
||||
"service:004": "Servicio virtual",
|
||||
"service:004:action:001": "Generar evento virtual",
|
||||
"service:004:event:001": "Ocurrió un evento virtual",
|
||||
"service:004:property:001": "Nombre del evento"
|
||||
},
|
||||
"fr": {
|
||||
"service:001": "Informations sur l'appareil",
|
||||
"service:001:property:003": "ID de l'appareil",
|
||||
"service:001:property:005": "Numéro de série (SN)",
|
||||
"service:002": "Passerelle",
|
||||
"service:002:event:001": "Changement de réseau",
|
||||
"service:002:event:002": "Changement de réseau",
|
||||
"service:002:property:001": "Méthode d'accès",
|
||||
"service:002:property:001:valuelist:000": "Câblé",
|
||||
"service:002:property:001:valuelist:001": "Sans fil 5G",
|
||||
"service:002:property:001:valuelist:002": "Sans fil 2.4G",
|
||||
"service:002:property:002": "Adresse IP",
|
||||
"service:002:property:003": "Nom du réseau WiFi",
|
||||
"service:002:property:004": "Heure actuelle",
|
||||
"service:002:property:005": "Adresse MAC du serveur DHCP",
|
||||
"service:003": "Voyant lumineux",
|
||||
"service:003:property:001": "Interrupteur",
|
||||
"service:004": "Service virtuel",
|
||||
"service:004:action:001": "Générer un événement virtuel",
|
||||
"service:004:event:001": "Événement virtuel survenu",
|
||||
"service:004:property:001": "Nom de l'événement"
|
||||
},
|
||||
"ja": {
|
||||
"service:001": "デバイス情報",
|
||||
"service:001:property:003": "デバイスID",
|
||||
"service:001:property:005": "シリアル番号 (SN)",
|
||||
"service:002": "ゲートウェイ",
|
||||
"service:002:event:001": "ネットワークが変更されました",
|
||||
"service:002:event:002": "ネットワークが変更されました",
|
||||
"service:002:property:001": "アクセス方法",
|
||||
"service:002:property:001:valuelist:000": "有線",
|
||||
"service:002:property:001:valuelist:001": "5G ワイヤレス",
|
||||
"service:002:property:001:valuelist:002": "2.4G ワイヤレス",
|
||||
"service:002:property:002": "IPアドレス",
|
||||
"service:002:property:003": "WiFiネットワーク名",
|
||||
"service:002:property:004": "現在の時間",
|
||||
"service:002:property:005": "DHCPサーバーMACアドレス",
|
||||
"service:003": "インジケータライト",
|
||||
"service:003:property:001": "スイッチ",
|
||||
"service:004": "バーチャルサービス",
|
||||
"service:004:action:001": "バーチャルイベントを生成",
|
||||
"service:004:event:001": "バーチャルイベントが発生しました",
|
||||
"service:004:property:001": "イベント名"
|
||||
},
|
||||
"ru": {
|
||||
"service:001": "Информация об устройстве",
|
||||
"service:001:property:003": "ID устройства",
|
||||
"service:001:property:005": "Серийный номер (SN)",
|
||||
"service:002": "Шлюз",
|
||||
"service:002:event:001": "Сеть изменена",
|
||||
"service:002:event:002": "Сеть изменена",
|
||||
"service:002:property:001": "Метод доступа",
|
||||
"service:002:property:001:valuelist:000": "Проводной",
|
||||
"service:002:property:001:valuelist:001": "5G Беспроводной",
|
||||
"service:002:property:001:valuelist:002": "2.4G Беспроводной",
|
||||
"service:002:property:002": "IP Адрес",
|
||||
"service:002:property:003": "Название WiFi сети",
|
||||
"service:002:property:004": "Текущее время",
|
||||
"service:002:property:005": "MAC адрес DHCP сервера",
|
||||
"service:003": "Световой индикатор",
|
||||
"service:003:property:001": "Переключатель",
|
||||
"service:004": "Виртуальная служба",
|
||||
"service:004:action:001": "Создать виртуальное событие",
|
||||
"service:004:event: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": {
|
||||
"service:001": "設備信息",
|
||||
"service:001:property:003": "設備ID",
|
||||
"service:001:property:005": "序號 (SN)",
|
||||
"service:002": "網關",
|
||||
"service:002:event:001": "網路發生變化",
|
||||
"service:002:event:002": "網路發生變化",
|
||||
"service:002:property:001": "接入方式",
|
||||
"service:002:property:001:valuelist:000": "有線",
|
||||
"service:002:property:001:valuelist:001": "5G 無線",
|
||||
"service:002:property:001:valuelist:002": "2.4G 無線",
|
||||
"service:002:property:002": "IP地址",
|
||||
"service:002:property:003": "WiFi網路名稱",
|
||||
"service:002:property:004": "當前時間",
|
||||
"service:002:property:005": "DHCP伺服器MAC地址",
|
||||
"service:003": "指示燈",
|
||||
"service:003:property:001": "開關",
|
||||
"service:004": "虛擬服務",
|
||||
"service:004:action:001": "產生虛擬事件",
|
||||
"service:004:event:001": "虛擬事件發生",
|
||||
"service:004:property:001": "事件名稱"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"service:003:property:1021:valuelist:000": "已上锁",
|
||||
"service:003:property:1021:valuelist:001": "已上锁(童锁)",
|
||||
"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:012": "门虚掩"
|
||||
}
|
||||
},
|
||||
"urn:miot-spec-v2:device:plant-monitor:0000A030:hhcc-v1": {
|
||||
"en": {
|
||||
"service:002:property:001": "Soil Moisture"
|
||||
},
|
||||
"tr": {
|
||||
"service:002:property:001": "Toprak Nemi",
|
||||
"service:002:property:003": "Işık Yoğunluğu"
|
||||
},
|
||||
"zh-Hans": {
|
||||
"service:002:property:001": "土壤湿度",
|
||||
"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"
|
||||
},
|
||||
"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": {
|
||||
"en": {
|
||||
"service:011": "Right Button On and Off",
|
||||
"service:011:property:001": "Right Button On and Off",
|
||||
"service:015:action:001": "Left Button Identify",
|
||||
"service:016:action:001": "Middle 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": {
|
||||
"service:015:action:001": "左键确认",
|
||||
"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": "минимальная температура цели "
|
||||
},
|
||||
"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": {
|
||||
"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": "минимальная температура цели "
|
||||
},
|
||||
"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": {
|
||||
"en": {
|
||||
"service:002": "Thermostat",
|
||||
"service:002:property:002": "Air Conditioner Mode",
|
||||
"service:004": "Air Conditioner"
|
||||
},
|
||||
"tr": {
|
||||
"service:002": "Yerden Isıtma",
|
||||
"service:002:property:002": "Klima Modu",
|
||||
"service:004": "Klima"
|
||||
},
|
||||
"zh-Hans": {
|
||||
"service:002": "地暖",
|
||||
"service:004": "空调"
|
||||
}
|
||||
},
|
||||
"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": {
|
||||
"service:007:property:005:valuelist:000": "安静",
|
||||
"service:007:property:005:valuelist:001": "标准",
|
||||
"service:007:property:005:valuelist:002": "中档",
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"urn:miot-spec-v2:device:vacuum:0000A006:xiaomi-ov31cn": {
|
||||
"ru": {
|
||||
"service:002": "РП",
|
||||
"service:002:action:001": "Начать подметание перед влажной уборкой",
|
||||
"service:002:action:002": "Остановить уборку",
|
||||
"service:002:action:003": "Остановить уборку и Домой",
|
||||
"service:002:action:004": "Начать подметание",
|
||||
"service:002:action:005": "Начать влажную уборку",
|
||||
"service:002:action:006": "Начать подметание и влажную уборку",
|
||||
"service:002:action:018": "Станция Очистка мешка от пыли",
|
||||
"service:002:action:019": "Станция Очистить губку",
|
||||
"service:002:action:020": "Станция Сушка воздухом",
|
||||
"service:002:property:001": "ПО",
|
||||
"service:002:property:002": "Статус",
|
||||
"service:002:property: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:005": "Выбор зоны уборки",
|
||||
"service:002:property:006": "Зона уборки",
|
||||
"service:002:property:007": "Время уборки",
|
||||
"service:002:property:008": "Количество уборок",
|
||||
"service:002:property:008:valuelist:000": "Один раз",
|
||||
"service:002:property:008:valuelist:001": "Два раза",
|
||||
"service:002:property:008:valuelist:002": "Три раза",
|
||||
"service:002:property:009": "Мощность уборки",
|
||||
"service:002:property:009:valuelist:000": "Бесшумно",
|
||||
"service:002:property:009:valuelist:001": "Стандарт",
|
||||
"service:002:property:009:valuelist:002": "Интенсивно",
|
||||
"service:002:property:009:valuelist:003": "Турбо",
|
||||
"service:002:property:010": "Уровень смачивания губок",
|
||||
"service:002:property:010:valuelist:000": "Выключено",
|
||||
"service:002:property:010:valuelist:001": "Уровень 1",
|
||||
"service:002:property:010:valuelist:002": "Уровень 2",
|
||||
"service:002:property:010:valuelist:003": "Уровень 3",
|
||||
"service:002:property:020": "Ковёр Повышение мощности на коврах",
|
||||
"service:002:property:021": "Ковёр Избегать ковров",
|
||||
"service:002:property:023": "Возобновления уборки после зарядки",
|
||||
"service:002:property:028": "Автоматическая очистка губки",
|
||||
"service:002:property:029": "Тип возвращения для очистки губки",
|
||||
"service:002:property:029:valuelist:000": "По комнатам",
|
||||
"service:002:property:029:valuelist:001": "По зонам",
|
||||
"service:002:property:029:valuelist:002": "По времени",
|
||||
"service:002:property:030": "Подача воды для очистки губок",
|
||||
"service:002:property:030:valuelist:000": "Глубокая очистка губок",
|
||||
"service:002:property:030:valuelist:001": "Ежедневная очистка губок",
|
||||
"service:002:property:030:valuelist:002": "Экономия воды",
|
||||
"service:002:property:031": "Время сушки",
|
||||
"service:002:property:031:valuelist:000": "2 часа",
|
||||
"service:002:property:031:valuelist:001": "3 часа",
|
||||
"service:002:property:031:valuelist:002": "4 часа",
|
||||
"service:002:property:032": "Автоматическая очистка от пыли",
|
||||
"service:002:property:033": "Частота очистки от пыли",
|
||||
"service:002:property:033:valuelist:000": "Каждый раз",
|
||||
"service:002:property:033:valuelist:001": "Через раз",
|
||||
"service:002:property:033:valuelist:002": "Каждый третий раз",
|
||||
"service:002:property:034": "Автоматическая сушка губок",
|
||||
"service:002:property:036": "Использование моющего средства",
|
||||
"service:002:property:041": "Мытье губок горячей водой",
|
||||
"service:002:property:049": "Запуск самоочистки",
|
||||
"service:002:property:059": "Подача моющего средства",
|
||||
"service:002:property:060": "Уровень смачивания губок вначале уборки",
|
||||
"service:002:property:060:valuelist:000": "Ежедневное",
|
||||
"service:002:property:060:valuelist:001": "Глубокое",
|
||||
"service:002:property:061": "Частота возвращения для очистки губки по зонам",
|
||||
"service:002:property:061:valuelist:000": "5 м²",
|
||||
"service:002:property:061:valuelist:002": "8 м²",
|
||||
"service:002:property:061:valuelist:001": "10 м²",
|
||||
"service:002:property:061:valuelist:003": "15 м²",
|
||||
"service:002:property:061:valuelist:004": "20 м²",
|
||||
"service:002:property:061:valuelist:005": "25 м²",
|
||||
"service:002:property:071": "Напоминание об окончании моющего средства",
|
||||
"service:002:property:073": "Ковёр Параметры очистки",
|
||||
"service:002:property:073:valuelist:000": "Только уборка пыли на коврах",
|
||||
"service:002:property:073:valuelist:001": "Обход ковра",
|
||||
"service:002:property:073:valuelist:002": "Игнорировать",
|
||||
"service:002:property:073:valuelist:003": "Пересечение ковра",
|
||||
"service:002:property:074": "Маршрут убоки",
|
||||
"service:002:property:074:valuelist:000": "Быстрая уборка",
|
||||
"service:002:property:074:valuelist:001": "Стандартная уборка",
|
||||
"service:002:property:074:valuelist:002": "Тщательная уборка",
|
||||
"service:002:property:075": "Стратегия обхода препятствий",
|
||||
"service:002:property:075:valuelist:000": "Режим `Минимум столкновений`",
|
||||
"service:002:property:075:valuelist:001": "Режим большого охвата",
|
||||
"service:002:property:076": "Ковёр Глубокая очистка",
|
||||
"service:002:property:077": "Ковёр Распознавание ковров",
|
||||
"service:002:property:078": "Ковёр Сначала очистить ковёр",
|
||||
"service:002:property:079": "Акцент на краях и углах Вращение губок",
|
||||
"service:002:property:080": "Акцент на краях и углах",
|
||||
"service:002:property:080:valuelist:000": "Один раз в 7 дней",
|
||||
"service:002:property:080:valuelist:001": "Каждую уборку",
|
||||
"service:002:property:081": "Частота возвращения для очистки губки по времени",
|
||||
"service:002:property:082": "Мощность опустошения мешка от пыли",
|
||||
"service:002:property:082:valuelist:000": "Бесшумно",
|
||||
"service:002:property:082:valuelist:001": "Стандарт",
|
||||
"service:002:property:082:valuelist:002": "Интенсивно",
|
||||
"service:002:property:083": "Быстрый доступ",
|
||||
"service:002:property:083:valuelist:000": "Тихая уборка",
|
||||
"service:002:property:083:valuelist:001": "Глубокая очистка",
|
||||
"service:002:property:083:valuelist:002": "Общие настройки",
|
||||
"service:002:property:083:valuelist:003": "ИИ Режим убощика",
|
||||
"service:002:property:083:valuelist:004": "Режим домашних животных",
|
||||
"service:002:property:084": "Температура воды для очистки губок",
|
||||
"service:002:property:084:valuelist:000": "Комнатная",
|
||||
"service:002:property:084:valuelist:001": "Теплая",
|
||||
"service:002:property:084:valuelist:002": "Горячая",
|
||||
"service:002:property:084:valuelist:003": "Интелектуальная",
|
||||
"service:002:property:091": "Акцент на краях и углах Вращение боковой щетки",
|
||||
"service:002:property:092": "Повторное мытье губок",
|
||||
"service:003": "Батарея",
|
||||
"service:003:property:001": "Уровень заряда",
|
||||
"service:003:property:002": "Состояние зарядки",
|
||||
"service:003:property:002:valuelist:000": "Зарядка",
|
||||
"service:003:property:002:valuelist:001": "Не заряжается",
|
||||
"service:003:property:003": "Напряжение",
|
||||
"service:003:action:001": "Начать зарядку",
|
||||
"service:004": "Звук",
|
||||
"service:004:property:001": "Тревога",
|
||||
"service:004:property:002": "Громкость",
|
||||
"service:005": "Блокировка кнопок",
|
||||
"service:005:property:001": "Блокировка от детей",
|
||||
"service:005:property:002": "Статус блокировки",
|
||||
"service:006": "Идентификация",
|
||||
"service:006:action:001": "Найти Робот-Пылесос",
|
||||
"service:009": "Губка",
|
||||
"service:009:property:002": "Оставшийся срок службы",
|
||||
"service:009:action:001": "Сбросить срок службы",
|
||||
"service:010": "Карта",
|
||||
"service:010:property:010": "Автопереключение карты",
|
||||
"service:010:property:010:valuelist:000": "Вручную",
|
||||
"service:010:property:010:valuelist:001": "Автоматически",
|
||||
"service:011": "Не беспокоить",
|
||||
"service:012": "Щетка",
|
||||
"service:012:action:001": "Сбросить срок службы",
|
||||
"service:013": "Боковая щетка",
|
||||
"service:013:action:001": "Сбросить срок службы",
|
||||
"service:014": "Фильтр",
|
||||
"service:014:action:001": "Сбросить срок службы",
|
||||
"service:015": "Озвучка",
|
||||
"service:017": "ИИ",
|
||||
"service:018": "Моющее",
|
||||
"service:018:property:001": "Количество моющего средства",
|
||||
"service:018:property:002": "Подача моющего средства",
|
||||
"service:018:property:003": "Уровень подачи моющего средства",
|
||||
"service:018:property:003:valuelist:000": "Экономия",
|
||||
"service:018:property:003:valuelist:001": "Нормально",
|
||||
"service:018:property:003:valuelist:002": "Много",
|
||||
"service:018:property:003:valuelist:003": "Без ограничений",
|
||||
"service:019": "Одноразовый мешок",
|
||||
"service:019:action:001": "Сбросить срок службы",
|
||||
"service:020:action:007": "Лидар Контроль",
|
||||
"service:020:property:011": "Лидар Статус"
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,69 @@
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:090615-ktf:
|
||||
services:
|
||||
- '4'
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:759413-iez:
|
||||
properties:
|
||||
- '2.3'
|
||||
urn:miot-spec-v2:device:air-purifier:0000A007:zhimi-ma4:
|
||||
properties:
|
||||
- 9.*
|
||||
- 13.*
|
||||
- 15.*
|
||||
services:
|
||||
- '10'
|
||||
urn:miot-spec-v2:device:airer:0000A00D:hyd-lyjpro:
|
||||
properties:
|
||||
- '3.2'
|
||||
urn:miot-spec-v2:device:curtain:0000A00C:lumi-hmcn01:
|
||||
properties:
|
||||
- '5.1'
|
||||
services:
|
||||
- '4'
|
||||
- '7'
|
||||
- '8'
|
||||
urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:
|
||||
events:
|
||||
- '2.1'
|
||||
urn:miot-spec-v2:device:health-pot:0000A051:chunmi-a1:
|
||||
services:
|
||||
- '5'
|
||||
urn:miot-spec-v2:device:light:0000A001:philips-strip3:
|
||||
properties:
|
||||
- '2.2'
|
||||
services:
|
||||
- '1'
|
||||
- '3'
|
||||
urn:miot-spec-v2:device:light:0000A001:yeelink-color2:
|
||||
properties:
|
||||
- 3.*
|
||||
- '2.5'
|
||||
urn:miot-spec-v2:device:light:0000A001:yeelink-dnlight2:
|
||||
services:
|
||||
- '3'
|
||||
urn:miot-spec-v2:device:light:0000A001:yeelink-mbulb3:
|
||||
services:
|
||||
- '3'
|
||||
urn:miot-spec-v2:device:motion-sensor:0000A014:xiaomi-pir1:
|
||||
services:
|
||||
- '1'
|
||||
- '5'
|
||||
urn:miot-spec-v2:device:speaker:0000A015:xiaomi-l15a:
|
||||
properties:
|
||||
- '3.3'
|
||||
- '6.1'
|
||||
- '6.2'
|
||||
- '6.3'
|
||||
- '6.4'
|
||||
urn:miot-spec-v2:device:thermostat:0000A031:tofan-wk01:
|
||||
services:
|
||||
- '2'
|
||||
- '4'
|
||||
urn:miot-spec-v2:device:vacuum:0000A006:narwa-001:
|
||||
services:
|
||||
- '*'
|
||||
urn:miot-spec-v2:device:vacuum:0000A006:narwa-ax11:
|
||||
services:
|
||||
- '*'
|
||||
urn:miot-spec-v2:device:vacuum:0000A006:roidmi-v60:
|
||||
actions:
|
||||
- '2.3'
|
||||
@@ -0,0 +1,634 @@
|
||||
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:daikin-k2:1:
|
||||
prop.2.1:
|
||||
name: ac-on
|
||||
format: string
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.2.2:
|
||||
name: ac-mode
|
||||
format: string
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.3.1:
|
||||
name: ac-fan-level
|
||||
format: string
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:qdhkl-a42:1:
|
||||
prop.2.2:
|
||||
value-list:
|
||||
- value: 1
|
||||
description: Cool
|
||||
- value: 2
|
||||
description: Dry
|
||||
- value: 4
|
||||
description: Fan
|
||||
- value: 8
|
||||
description: Heat
|
||||
- value: 9
|
||||
description: Auto
|
||||
- value: 10
|
||||
description: Heat_cool
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c17:1:
|
||||
prop.10.6:
|
||||
unit: none
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c17:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-c17:1
|
||||
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.8.6:
|
||||
name: power-consumption
|
||||
unit: kWh
|
||||
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-h09h00:4:
|
||||
prop.10.6:
|
||||
unit: none
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h40h00:1:
|
||||
prop.10.6:
|
||||
unit: none
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h43h00:1:
|
||||
prop.10.6:
|
||||
unit: none
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h43h00:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-h43h00:1
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1:
|
||||
prop.10.6:
|
||||
unit: none
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:4: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m16:1
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m28:5:
|
||||
prop.9.5:
|
||||
unit: days
|
||||
prop.10.6:
|
||||
unit: none
|
||||
prop.12.3:
|
||||
unit: rpm
|
||||
prop.12.11:
|
||||
unit: Hz
|
||||
prop.12.13:
|
||||
unit: A
|
||||
prop.12.14:
|
||||
unit: V
|
||||
prop.12.15:
|
||||
unit: pascal
|
||||
prop.12.17:
|
||||
unit: rpm
|
||||
prop.12.21:
|
||||
unit: celsius
|
||||
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
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:4: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:5: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-m9:6
|
||||
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-conditioner:0000A004:xiaomi-rr0r00:1:
|
||||
prop.10.6:
|
||||
unit: none
|
||||
prop.3.12:
|
||||
name: vertical-swing-left-up
|
||||
prop.3.13:
|
||||
name: vertical-swing-left-down
|
||||
prop.3.14:
|
||||
name: vertical-swing-right-up
|
||||
prop.3.15:
|
||||
name: vertical-swing-right-down
|
||||
prop.3.20:
|
||||
name: horizontal-swing-left
|
||||
prop.3.22:
|
||||
name: horizontal-swing-right
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-rr0r00:2: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-rr0r00:1
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-rr0r00:3: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-rr0r00:1
|
||||
urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-rr0r00:4: urn:miot-spec-v2:device:air-conditioner:0000A004:xiaomi-rr0r00:1
|
||||
urn:miot-spec-v2:device:air-fresh:0000A012:daikin-k33:1:
|
||||
prop.2.1:
|
||||
name: ac-on
|
||||
format: string
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.2.3:
|
||||
name: ac-mode
|
||||
format: string
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.2.5:
|
||||
name: ac-fan-level
|
||||
format: string
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
urn:miot-spec-v2:device:air-monitor:0000A008:cgllc-cgd1st:1:
|
||||
prop.3.7:
|
||||
value-range:
|
||||
- -30
|
||||
- 100
|
||||
- 0.1
|
||||
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
|
||||
prop.2.8:
|
||||
name: target-position-a
|
||||
prop.2.9:
|
||||
name: target-position-b
|
||||
prop.2.11:
|
||||
expr: (100-src_value)
|
||||
urn:miot-spec-v2:device:airer:0000A00D:hyd-znlyj5:1:
|
||||
prop.2.3:
|
||||
value-range:
|
||||
- 0
|
||||
- 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
|
||||
prop.2.11:
|
||||
name: current-position-b
|
||||
urn:miot-spec-v2:device:bath-heater:0000A028:mike-2:1:
|
||||
prop.3.1:
|
||||
name: mode-a
|
||||
prop.3.11:
|
||||
name: mode-b
|
||||
prop.3.12:
|
||||
name: mode-c
|
||||
urn:miot-spec-v2:device:bath-heater:0000A028:opple-acmoto:1:
|
||||
prop.5.2:
|
||||
value-list:
|
||||
- value: 1
|
||||
description: low
|
||||
- value: 128
|
||||
description: medium
|
||||
- value: 255
|
||||
description: high
|
||||
urn:miot-spec-v2:device:bath-heater:0000A028:xiaomi-s1:1:
|
||||
prop.4.4:
|
||||
name: fan-level-ventilation
|
||||
urn:miot-spec-v2:device:curtain:0000A00C:bjkcz-kczble:1:0000D031:
|
||||
prop.2.2:
|
||||
name: status-a
|
||||
urn:miot-spec-v2:device:dehumidifier:0000A02D:xiaomi-lite:1:
|
||||
prop.3.2:
|
||||
value-range:
|
||||
- -30
|
||||
- 100
|
||||
- 0.1
|
||||
urn:miot-spec-v2:device:electronic-valve:0000A0A7:lxzn-02:1:0000C833:
|
||||
prop.3.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 999999
|
||||
- 0.01
|
||||
expr: (src_value/100)
|
||||
prop.3.2:
|
||||
unit: mA
|
||||
prop.3.3:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.1
|
||||
expr: (src_value/10)
|
||||
prop.4.1:
|
||||
unit: kW
|
||||
urn:miot-spec-v2:device:electronic-valve:0000A0A7:sanmei-s1:1:
|
||||
prop.3.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 99999999
|
||||
- 0.01
|
||||
expr: round(src_value/100, 2)
|
||||
prop.3.2:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 16777216
|
||||
- 0.01
|
||||
expr: round(src_value/100, 2)
|
||||
prop.3.3:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.1
|
||||
expr: round(src_value/10, 1)
|
||||
urn:miot-spec-v2:device:electronic-valve:0000A0A7:ykcn-cbcs:1:0000C833:
|
||||
prop.3.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 99999999
|
||||
- 0.01
|
||||
expr: round(src_value/100, 2)
|
||||
prop.3.2:
|
||||
unit: mA
|
||||
prop.3.3:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.1
|
||||
expr: round(src_value/10, 1)
|
||||
prop.4.1:
|
||||
unit: kW
|
||||
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
|
||||
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-p45:1:0000D062:
|
||||
prop.2.4:
|
||||
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:xiaomi-p70:1:0000D062:
|
||||
prop.2.4:
|
||||
name: fan-level-a
|
||||
urn:miot-spec-v2:device:fan:0000A005:xiaomi-p76: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
|
||||
urn:miot-spec-v2:device:fan:0000A005:zhimi-v3:3:
|
||||
prop.2.2:
|
||||
name: fan-level-a
|
||||
urn:miot-spec-v2:device:fan:0000A005:zhimi-za4:3:
|
||||
prop.2.2:
|
||||
name: fan-level-a
|
||||
urn:miot-spec-v2:device:gateway:0000A019:lumi-mcn001:1:
|
||||
prop.2.1:
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.2.2:
|
||||
icon: mdi:ip
|
||||
prop.2.3:
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.2.5:
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
urn:miot-spec-v2:device:gateway:0000A019:xiaomi-hub1:1:
|
||||
prop.2.1:
|
||||
name: access-mode
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
prop.2.2:
|
||||
name: ip-address
|
||||
icon: mdi:ip
|
||||
prop.2.3:
|
||||
name: wifi-ssid
|
||||
access:
|
||||
- read
|
||||
- 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:hood:0000A01B:cykj-jyj22:4: urn:miot-spec-v2:device:hood:0000A01B:cykj-jyj22:3
|
||||
urn:miot-spec-v2:device:humidifier:0000A00E:zhimi-ca4:2:
|
||||
prop.2.7:
|
||||
unit: percentage
|
||||
expr: round(src_value*0.83)
|
||||
urn:miot-spec-v2:device:kettle:0000A009:yunmi-r3:1:
|
||||
prop.3.1:
|
||||
unit: ppm
|
||||
urn:miot-spec-v2:device:light:0000A001:shhf-sfla10:1:
|
||||
prop.8.9:
|
||||
name: wind-reverse
|
||||
urn:miot-spec-v2:device:light:0000A001:shhf-sfla12:1:
|
||||
prop.8.11:
|
||||
name: on-a
|
||||
urn:miot-spec-v2:device:light:0000A001:shhf-sflt11:1:0000C802:
|
||||
prop.11.14:
|
||||
name: on-power
|
||||
urn:miot-spec-v2:device:magnet-sensor:0000A016:linp-m1:1:
|
||||
prop.2.1004:
|
||||
name: contact-state
|
||||
value-list:
|
||||
- value: 0
|
||||
description: open
|
||||
- value: 1
|
||||
description: closed
|
||||
expr: (src_value!=1)
|
||||
urn:miot-spec-v2:device:motion-sensor:0000A014:lumi-acn001:1:
|
||||
prop.3.2:
|
||||
access:
|
||||
- read
|
||||
- notify
|
||||
unit: mV
|
||||
urn:miot-spec-v2:device:motion-sensor:0000A014:lumi-bmgl01:1:
|
||||
prop.2.2:
|
||||
value-list:
|
||||
- value: 0
|
||||
description: 0 Seconds
|
||||
- value: 2
|
||||
description: 2 Minutes
|
||||
- value: 5
|
||||
description: 5 Minutes
|
||||
urn:miot-spec-v2:device:motor-controller:0000A01D:adp-adswb4:1:0000C837:
|
||||
prop.2.1:
|
||||
name: motor-switch
|
||||
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.5:
|
||||
name: people-number
|
||||
prop.2.8:
|
||||
name: people-number
|
||||
prop.2.11:
|
||||
name: people-number
|
||||
prop.2.14:
|
||||
name: people-number
|
||||
prop.2.17:
|
||||
name: people-number
|
||||
urn:miot-spec-v2:device:occupancy-sensor:0000A0BF:izq-24:2:0000C824:
|
||||
prop.2.6:
|
||||
unit: cm
|
||||
urn:miot-spec-v2:device:occupancy-sensor:0000A0BF:linp-hb01:2:0000C824:
|
||||
prop.3.3:
|
||||
unit: m
|
||||
urn:miot-spec-v2:device:outlet:0000A002:chuangmi-212a01:1: urn:miot-spec-v2:device:outlet:0000A002:chuangmi-212a01:3
|
||||
urn:miot-spec-v2:device:outlet:0000A002:chuangmi-212a01:2: urn:miot-spec-v2:device:outlet:0000A002:chuangmi-212a01:3
|
||||
urn:miot-spec-v2:device:outlet:0000A002:chuangmi-212a01:3:
|
||||
prop.5.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.01
|
||||
expr: round(src_value*6/1000000, 2)
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-cp1md:1:
|
||||
prop.2.2:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.01
|
||||
expr: round(src_value/1000, 2)
|
||||
prop.2.3:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 3000
|
||||
- 0.1
|
||||
expr: round(src_value/10, 1)
|
||||
prop.2.4:
|
||||
unit: mA
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-cp2:1: urn:miot-spec-v2:device:outlet:0000A002:cuco-cp2:2
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-cp2:2:
|
||||
prop.2.3:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 3000
|
||||
- 0.1
|
||||
expr: round(src_value/10, 1)
|
||||
prop.2.4:
|
||||
unit: mA
|
||||
prop.3.2:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.1
|
||||
expr: round(src_value/10, 1)
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-cp2d:1:
|
||||
prop.3.2:
|
||||
unit: mA
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-cp7pd:1:
|
||||
prop.11.1:
|
||||
unit: Wh
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.001
|
||||
expr: (src_value*1000)
|
||||
prop.11.4:
|
||||
value-range:
|
||||
- 0
|
||||
- 10000
|
||||
- 0.01
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-v3:1:
|
||||
prop.11.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.01
|
||||
expr: round(src_value/100, 2)
|
||||
urn:miot-spec-v2:device:outlet:0000A002:cuco-v3:2: urn:miot-spec-v2:device:outlet:0000A002:cuco-v3:1
|
||||
urn:miot-spec-v2:device:outlet:0000A002:giot-v8icm:1:0000C816:
|
||||
prop.4.1:
|
||||
unit: mWh
|
||||
urn:miot-spec-v2:device:outlet:0000A002:qmi-psv3:1:0000C816:
|
||||
prop.3.3:
|
||||
unit: mV
|
||||
prop.3.4:
|
||||
unit: mA
|
||||
urn:miot-spec-v2:device:outlet:0000A002:yutai-fsov8m:1:0000C816:
|
||||
prop.4.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 429497
|
||||
- 0.01
|
||||
expr: round(src_value/10000, 2)
|
||||
urn:miot-spec-v2:device:outlet:0000A002:zimi-zncz01:1:0000C816: urn:miot-spec-v2:device:outlet:0000A002:zimi-zncz01:2:0000C816
|
||||
urn:miot-spec-v2:device:outlet:0000A002:zimi-zncz01:2:0000C816:
|
||||
prop.3.1:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 350000
|
||||
- 0.01
|
||||
expr: round(src_value/100, 2)
|
||||
urn:miot-spec-v2:device:plant-monitor:0000A030:hhcc-v1:1:
|
||||
prop.2.1:
|
||||
name: soil-moisture
|
||||
icon: mdi:watering-can
|
||||
prop.2.2:
|
||||
name: soil-ec
|
||||
icon: mdi:sprout-outline
|
||||
unit: μS/cm
|
||||
urn:miot-spec-v2:device:relay:0000A03D:lumi-c2acn01:1:
|
||||
prop.4.1:
|
||||
unit: kWh
|
||||
urn:miot-spec-v2:device:router:0000A036:xiaomi-rd08:1:
|
||||
prop.2.1:
|
||||
name: download-speed
|
||||
icon: mdi:download
|
||||
unit: B/s
|
||||
prop.2.2:
|
||||
name: upload-speed
|
||||
icon: mdi:upload
|
||||
unit: B/s
|
||||
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: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:
|
||||
prop.3.1:
|
||||
name: playing-state-a
|
||||
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:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 99999999
|
||||
- 0.01
|
||||
expr: round(src_value/100, 2)
|
||||
prop.3.2:
|
||||
unit: mA
|
||||
prop.3.3:
|
||||
format: float
|
||||
value-range:
|
||||
- 0
|
||||
- 65535
|
||||
- 0.1
|
||||
expr: round(src_value/10, 1)
|
||||
urn:miot-spec-v2:device:thermostat:0000A031:suittc-wk168:1:
|
||||
prop.2.3:
|
||||
value-list:
|
||||
- value: 1
|
||||
description: '1'
|
||||
- value: 2
|
||||
description: '2'
|
||||
- value: 3
|
||||
description: '3'
|
||||
- value: 4
|
||||
description: '4'
|
||||
- value: 5
|
||||
description: '5'
|
||||
- value: 6
|
||||
description: '6'
|
||||
- value: 7
|
||||
description: '7'
|
||||
- value: 8
|
||||
description: '8'
|
||||
- value: 9
|
||||
description: '9'
|
||||
- value: 10
|
||||
description: '10'
|
||||
- value: 11
|
||||
description: '11'
|
||||
- value: 12
|
||||
description: '12'
|
||||
- value: 13
|
||||
description: '13'
|
||||
- value: 14
|
||||
description: '14'
|
||||
- value: 15
|
||||
description: '15'
|
||||
- value: 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:
|
||||
prop.4.1:
|
||||
unit: ppm
|
||||
prop.4.2:
|
||||
unit: ppm
|
||||
urn:miot-spec-v2:device:water-purifier:0000A013:xiaomi-s1200g:1:0000D05A:
|
||||
prop.3.2:
|
||||
unit: days
|
||||
prop.3.3:
|
||||
unit: days
|
||||
prop.3.4:
|
||||
unit: L
|
||||
prop.3.5:
|
||||
unit: L
|
||||
prop.5.2:
|
||||
unit: days
|
||||
prop.5.3:
|
||||
unit: days
|
||||
prop.5.4:
|
||||
unit: L
|
||||
prop.5.5:
|
||||
unit: L
|
||||
urn:miot-spec-v2:device:water-purifier:0000A013:xiaomi-s1200g:2:0000D05A: urn:miot-spec-v2:device:water-purifier:0000A013:xiaomi-s1200g:1:0000D05A
|
||||
urn:miot-spec-v2:device:water-purifier:0000A013:yunmi-s20:1:
|
||||
prop.4.1:
|
||||
unit: ppm
|
||||
prop.4.2:
|
||||
unit: ppm
|
||||
@@ -0,0 +1,716 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Copyright (C) 2024 Xiaomi Corporation.
|
||||
|
||||
The ownership and intellectual property rights of Xiaomi Home Assistant
|
||||
Integration and related Xiaomi cloud service API interface provided under this
|
||||
license, including source code and object code (collectively, "Licensed Work"),
|
||||
are owned by Xiaomi. Subject to the terms and conditions of this License, Xiaomi
|
||||
hereby grants you a personal, limited, non-exclusive, non-transferable,
|
||||
non-sublicensable, and royalty-free license to reproduce, use, modify, and
|
||||
distribute the Licensed Work only for your use of Home Assistant for
|
||||
non-commercial purposes. For the avoidance of doubt, Xiaomi does not authorize
|
||||
you to use the Licensed Work for any other purpose, including but not limited
|
||||
to use Licensed Work to develop applications (APP), Web services, and other
|
||||
forms of software.
|
||||
|
||||
You may reproduce and distribute copies of the Licensed Work, with or without
|
||||
modifications, whether in source or object form, provided that you must give
|
||||
any other recipients of the Licensed Work a copy of this License and retain all
|
||||
copyright and disclaimers.
|
||||
|
||||
Xiaomi provides the Licensed Work on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
||||
CONDITIONS OF ANY KIND, either express or implied, including, without
|
||||
limitation, any warranties, undertakes, or conditions of TITLE, NO ERROR OR
|
||||
OMISSION, CONTINUITY, RELIABILITY, NON-INFRINGEMENT, MERCHANTABILITY, or
|
||||
FITNESS FOR A PARTICULAR PURPOSE. In any event, you are solely responsible
|
||||
for any direct, indirect, special, incidental, or consequential damages or
|
||||
losses arising from the use or inability to use the Licensed Work.
|
||||
|
||||
Xiaomi reserves all rights not expressly granted to you in this License.
|
||||
Except for the rights expressly granted by Xiaomi under this License, Xiaomi
|
||||
does not authorize you in any form to use the trademarks, copyrights, or other
|
||||
forms of intellectual property rights of Xiaomi and its affiliates, including,
|
||||
without limitation, without obtaining other written permission from Xiaomi, you
|
||||
shall not use "Xiaomi", "Mijia" and other words related to Xiaomi or words that
|
||||
may make the public associate with Xiaomi in any form to publicize or promote
|
||||
the software or hardware devices that use the Licensed Work.
|
||||
|
||||
Xiaomi has the right to immediately terminate all your authorization under this
|
||||
License in the event:
|
||||
1. You assert patent invalidation, litigation, or other claims against patents
|
||||
or other intellectual property rights of Xiaomi or its affiliates; or,
|
||||
2. You make, have made, manufacture, sell, or offer to sell products that knock
|
||||
off Xiaomi or its affiliates' products.
|
||||
|
||||
Conversion rules of MIoT-Spec-V2 instance to Home Assistant entity.
|
||||
"""
|
||||
from homeassistant.components.sensor import SensorDeviceClass
|
||||
from homeassistant.components.sensor import SensorStateClass
|
||||
from homeassistant.components.event import EventDeviceClass
|
||||
from homeassistant.components.binary_sensor import BinarySensorDeviceClass
|
||||
|
||||
from homeassistant.const import (CONCENTRATION_MICROGRAMS_PER_CUBIC_METER,
|
||||
EntityCategory, LIGHT_LUX, UnitOfEnergy,
|
||||
UnitOfPower, UnitOfElectricCurrent,
|
||||
UnitOfElectricPotential, UnitOfTemperature,
|
||||
UnitOfPressure, PERCENTAGE)
|
||||
|
||||
# pylint: disable=pointless-string-statement
|
||||
"""SPEC_DEVICE_TRANS_MAP
|
||||
{
|
||||
'<device instance name>':{
|
||||
'required':{
|
||||
'<service instance name>':{
|
||||
'required':{
|
||||
'properties': {
|
||||
'<property instance name>': set<property access: str>
|
||||
},
|
||||
'events': set<event instance name: str>,
|
||||
'actions': set<action instance name: str>
|
||||
},
|
||||
'optional':{
|
||||
'properties': set<property instance name: str>,
|
||||
'events': set<event instance name: str>,
|
||||
'actions': set<action instance name: str>
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional':{
|
||||
'<service instance name>':{
|
||||
'required':{
|
||||
'properties': {
|
||||
'<property instance name>': set<property access: str>
|
||||
},
|
||||
'events': set<event instance name: str>,
|
||||
'actions': set<action instance name: str>
|
||||
},
|
||||
'optional':{
|
||||
'properties': set<property instance name: str>,
|
||||
'events': set<event instance name: str>,
|
||||
'actions': set<action instance name: str>
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': str
|
||||
}
|
||||
}
|
||||
"""
|
||||
SPEC_DEVICE_TRANS_MAP: dict = {
|
||||
'humidifier': {
|
||||
'required': {
|
||||
'humidifier': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mode', 'target-humidity'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'environment': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'relative-humidity': {'read'}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'humidifier'
|
||||
},
|
||||
'dehumidifier': {
|
||||
'required': {
|
||||
'dehumidifier': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mode', 'target-humidity'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'environment': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'relative-humidity': {'read'}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'dehumidifier'
|
||||
},
|
||||
'vacuum': {
|
||||
'required': {
|
||||
'vacuum': {
|
||||
'required': {
|
||||
'actions': {'start-sweep', 'stop-sweeping'},
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'status', 'fan-level'},
|
||||
'actions': {
|
||||
'pause-sweeping', 'continue-sweep', 'stop-and-gocharge'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'identify': {
|
||||
'required': {
|
||||
'actions': {'identify'}
|
||||
}
|
||||
},
|
||||
'battery': {
|
||||
'required': {
|
||||
'actions': {
|
||||
'start-charge'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'vacuum'
|
||||
},
|
||||
'air-conditioner': {
|
||||
'required': {
|
||||
'air-conditioner': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'},
|
||||
'mode': {'read', 'write'},
|
||||
'target-temperature': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'target-humidity'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'fan-control': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {
|
||||
'on', 'fan-level', 'horizontal-swing', 'vertical-swing'
|
||||
}
|
||||
}
|
||||
},
|
||||
'environment': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {'temperature', 'relative-humidity'}
|
||||
}
|
||||
},
|
||||
'air-condition-outlet-matching': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {'ac-state'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'air-conditioner'
|
||||
},
|
||||
'air-condition-outlet': 'air-conditioner',
|
||||
'thermostat': {
|
||||
'required': {
|
||||
'thermostat': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {
|
||||
'target-temperature', 'mode', 'fan-level', 'temperature'
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'environment': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {'temperature', 'relative-humidity'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'thermostat'
|
||||
},
|
||||
'heater': {
|
||||
'required': {
|
||||
'heater': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'target-temperature', 'heat-level'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'environment': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {'temperature', 'relative-humidity'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'heater'
|
||||
},
|
||||
'bath-heater': {
|
||||
'required': {
|
||||
'ptc-bath-heater': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'mode': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'target-temperature', 'temperature'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'fan-control': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {
|
||||
'on', 'fan-level', 'horizontal-swing', 'vertical-swing'
|
||||
}
|
||||
}
|
||||
},
|
||||
'environment': {
|
||||
'required': {},
|
||||
'optional': {
|
||||
'properties': {'temperature'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'bath-heater',
|
||||
},
|
||||
'electric-blanket': {
|
||||
'required': {
|
||||
'electric-blanket': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'},
|
||||
'target-temperature': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mode', 'temperature'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {},
|
||||
'entity': 'electric-blanket'
|
||||
},
|
||||
'speaker': {
|
||||
'required': {
|
||||
'speaker': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'volume': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mute'}
|
||||
}
|
||||
},
|
||||
'play-control': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'playing-state': {'read'}
|
||||
},
|
||||
'actions': {'play'}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'play-loop-mode'},
|
||||
'actions': {'pause', 'stop', 'next', 'previous'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {},
|
||||
'entity': 'wifi-speaker'
|
||||
},
|
||||
'television': {
|
||||
'required': {
|
||||
'speaker': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'volume': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mute'}
|
||||
}
|
||||
},
|
||||
'television': {
|
||||
'required': {
|
||||
'actions': {'turn-off'}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'input-control'},
|
||||
'actions': {'turn-on'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'play-control': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'playing-state': {'read'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'play-loop-mode'},
|
||||
'actions': {'play', 'pause', 'stop', 'next', 'previous'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'television'
|
||||
},
|
||||
'tv-box':{
|
||||
'required': {
|
||||
'speaker': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'volume': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mute'}
|
||||
}
|
||||
},
|
||||
'tv-box': {
|
||||
'required': {
|
||||
'actions': {'turn-off'}
|
||||
},
|
||||
'optional': {
|
||||
'actions': {'turn-on'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'play-control': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'playing-state': {'read'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'play-loop-mode'},
|
||||
'actions': {'play', 'pause', 'stop', 'next', 'previous'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'television'
|
||||
},
|
||||
'watch': {
|
||||
'required': {
|
||||
'watch': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'longitude': {'read'},
|
||||
'latitude': {'read'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'area-id'}
|
||||
}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'battery': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'battery-level': {'read'}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
'entity': 'device_tracker'
|
||||
}
|
||||
}
|
||||
|
||||
"""SPEC_SERVICE_TRANS_MAP
|
||||
{
|
||||
'<service instance name>':{
|
||||
'required':{
|
||||
'properties': {
|
||||
'<property instance name>': set<property access: str>
|
||||
},
|
||||
'events': set<event instance name: str>,
|
||||
'actions': set<action instance name: str>
|
||||
},
|
||||
'optional':{
|
||||
'properties': set<property instance name: str>,
|
||||
'events': set<event instance name: str>,
|
||||
'actions': set<action instance name: str>
|
||||
},
|
||||
'entity': str,
|
||||
'entity_category'?: str
|
||||
}
|
||||
}
|
||||
"""
|
||||
SPEC_SERVICE_TRANS_MAP: dict = {
|
||||
'light': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mode', 'brightness', 'color', 'color-temperature'}
|
||||
},
|
||||
'entity': 'light'
|
||||
},
|
||||
'ambient-light': 'light',
|
||||
'night-light': 'light',
|
||||
'white-light': 'light',
|
||||
'indicator-light': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {
|
||||
'mode',
|
||||
'brightness',
|
||||
}
|
||||
},
|
||||
'entity': 'light',
|
||||
'entity_category': EntityCategory.CONFIG
|
||||
},
|
||||
'fan': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'},
|
||||
'fan-level': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'mode', 'horizontal-swing', 'wind-reverse'}
|
||||
},
|
||||
'entity': 'fan'
|
||||
},
|
||||
'fan-control': 'fan',
|
||||
'ceiling-fan': 'fan',
|
||||
'air-fresh': 'fan',
|
||||
'air-purifier': 'fan',
|
||||
'water-heater': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'temperature', 'target-temperature', 'mode'}
|
||||
},
|
||||
'entity': 'water_heater'
|
||||
},
|
||||
'curtain': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'motor-control': {'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'status', 'current-position', 'target-position'}
|
||||
},
|
||||
'entity': 'cover'
|
||||
},
|
||||
'window-opener': 'curtain',
|
||||
'motor-controller': 'curtain',
|
||||
'airer': 'curtain',
|
||||
'air-conditioner': {
|
||||
'required': {
|
||||
'properties': {
|
||||
'on': {'read', 'write'},
|
||||
'mode': {'read', 'write'},
|
||||
'target-temperature': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'optional': {
|
||||
'properties': {'target-humidity'}
|
||||
},
|
||||
'entity': 'air-conditioner'
|
||||
}
|
||||
}
|
||||
|
||||
"""SPEC_PROP_TRANS_MAP
|
||||
{
|
||||
'entities':{
|
||||
'<entity name>':{
|
||||
'format': set<str>,
|
||||
'access': set<str>
|
||||
}
|
||||
},
|
||||
'properties': {
|
||||
'<property instance name>':{
|
||||
'device_class': str,
|
||||
'entity': str,
|
||||
'state_class'?: str,
|
||||
'unit_of_measurement'?: str
|
||||
}
|
||||
}
|
||||
}
|
||||
"""
|
||||
SPEC_PROP_TRANS_MAP: dict = {
|
||||
'entities': {
|
||||
'sensor': {
|
||||
'format': {'int', 'float'},
|
||||
'access': {'read'}
|
||||
},
|
||||
'binary_sensor': {
|
||||
'format': {'bool', 'int'},
|
||||
'access': {'read'}
|
||||
},
|
||||
'switch': {
|
||||
'format': {'bool'},
|
||||
'access': {'read', 'write'}
|
||||
}
|
||||
},
|
||||
'properties': {
|
||||
'submersion-state': {
|
||||
'device_class': BinarySensorDeviceClass.MOISTURE,
|
||||
'entity': 'binary_sensor'
|
||||
},
|
||||
'contact-state': {
|
||||
'device_class': BinarySensorDeviceClass.DOOR,
|
||||
'entity': 'binary_sensor'
|
||||
},
|
||||
'occupancy-status': {
|
||||
'device_class': BinarySensorDeviceClass.OCCUPANCY,
|
||||
'entity': 'binary_sensor',
|
||||
},
|
||||
'temperature': {
|
||||
'device_class': SensorDeviceClass.TEMPERATURE,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfTemperature.CELSIUS
|
||||
},
|
||||
'relative-humidity': {
|
||||
'device_class': SensorDeviceClass.HUMIDITY,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': PERCENTAGE
|
||||
},
|
||||
'air-quality-index': {
|
||||
'device_class': SensorDeviceClass.AQI,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
},
|
||||
'pm2.5-density': {
|
||||
'device_class': SensorDeviceClass.PM25,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
|
||||
},
|
||||
'pm10-density': {
|
||||
'device_class': SensorDeviceClass.PM10,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
|
||||
},
|
||||
'pm1': {
|
||||
'device_class': SensorDeviceClass.PM1,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': CONCENTRATION_MICROGRAMS_PER_CUBIC_METER
|
||||
},
|
||||
'atmospheric-pressure': {
|
||||
'device_class': SensorDeviceClass.ATMOSPHERIC_PRESSURE,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfPressure.PA
|
||||
},
|
||||
'tvoc-density': {
|
||||
'device_class': SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT
|
||||
},
|
||||
'voc-density': {
|
||||
'device_class': SensorDeviceClass.VOLATILE_ORGANIC_COMPOUNDS_PARTS,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT
|
||||
},
|
||||
'battery-level': {
|
||||
'device_class': SensorDeviceClass.BATTERY,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': PERCENTAGE
|
||||
},
|
||||
'voltage': {
|
||||
'device_class': SensorDeviceClass.VOLTAGE,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfElectricPotential.VOLT
|
||||
},
|
||||
'electric-current': {
|
||||
'device_class': SensorDeviceClass.CURRENT,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfElectricCurrent.AMPERE
|
||||
},
|
||||
'illumination': {
|
||||
'device_class': SensorDeviceClass.ILLUMINANCE,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': LIGHT_LUX
|
||||
},
|
||||
'no-one-determine-time': {
|
||||
'device_class': SensorDeviceClass.DURATION,
|
||||
'entity': 'sensor'
|
||||
},
|
||||
'has-someone-duration': 'no-one-determine-time',
|
||||
'no-one-duration': 'no-one-determine-time',
|
||||
'electric-power': {
|
||||
'device_class': SensorDeviceClass.POWER,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfPower.WATT
|
||||
},
|
||||
'surge-power': {
|
||||
'device_class': SensorDeviceClass.POWER,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfPower.WATT
|
||||
},
|
||||
'power-consumption': {
|
||||
'device_class': SensorDeviceClass.ENERGY,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.TOTAL_INCREASING,
|
||||
'unit_of_measurement': UnitOfEnergy.KILO_WATT_HOUR
|
||||
},
|
||||
'power': {
|
||||
'device_class': SensorDeviceClass.POWER,
|
||||
'entity': 'sensor',
|
||||
'state_class': SensorStateClass.MEASUREMENT,
|
||||
'unit_of_measurement': UnitOfPower.WATT
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
"""SPEC_EVENT_TRANS_MAP
|
||||
{
|
||||
'<event instance name>': str
|
||||
}
|
||||
"""
|
||||
SPEC_EVENT_TRANS_MAP: dict[str, str] = {
|
||||
'click': EventDeviceClass.BUTTON,
|
||||
'double-click': EventDeviceClass.BUTTON,
|
||||
'long-press': EventDeviceClass.BUTTON,
|
||||
'motion-detected': EventDeviceClass.MOTION,
|
||||
'no-motion': EventDeviceClass.MOTION,
|
||||
'doorbell-ring': EventDeviceClass.DOORBELL
|
||||
}
|
||||
|
||||
SPEC_ACTION_TRANS_MAP = {}
|
||||
Reference in New Issue
Block a user