iobroker.zigbee 2.0.2 → 2.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -0
- package/io-package.json +27 -27
- package/lib/DeviceDebug.js +80 -0
- package/main.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -136,6 +136,22 @@ You can thank the authors by these links:
|
|
|
136
136
|
|
|
137
137
|
-----------------------------------------------------------------------------------------------------
|
|
138
138
|
## Changelog
|
|
139
|
+
### 2.0.4 (2025-03-09)
|
|
140
|
+
* back to 2.0.2
|
|
141
|
+
|
|
142
|
+
### 2.0.3 (2025-03-07)
|
|
143
|
+
* fix configured info
|
|
144
|
+
* fix battery voltage (V -> mV)
|
|
145
|
+
* enable debug interface v1.0
|
|
146
|
+
* Push Zigbee-Herdsman to 3.5.7
|
|
147
|
+
* Push Zigbee-Herdsman-Converters to 23.1.1
|
|
148
|
+
* fix configure on message
|
|
149
|
+
* remove extra warning messages
|
|
150
|
+
* fix Adapter-Checker notes
|
|
151
|
+
* improve base64 image detection
|
|
152
|
+
* removed unused adaptert objects (info.groups, excludes) from adapter config
|
|
153
|
+
*
|
|
154
|
+
|
|
139
155
|
### 2.0.2 (2025-03-02)
|
|
140
156
|
* fix expose generation with expose function requiring a device. (Issue #1842)
|
|
141
157
|
* fix failure to configure for devices needing multiple configurations (Issue #2375)
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "zigbee",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.4",
|
|
5
5
|
"news": {
|
|
6
|
+
"2.0.4": {
|
|
7
|
+
"en": "back to 2.0.2",
|
|
8
|
+
"de": "zurück zu 2.0.2",
|
|
9
|
+
"ru": "вернуться в 2.0.2",
|
|
10
|
+
"pt": "voltar para 2.0.2",
|
|
11
|
+
"nl": "terug naar 2.0.2",
|
|
12
|
+
"fr": "retour à 2.0.2",
|
|
13
|
+
"it": "torna a 2.0.2",
|
|
14
|
+
"es": "volver a 2.0.2",
|
|
15
|
+
"pl": "powrót do 2.0.2",
|
|
16
|
+
"uk": "до 2.0.2",
|
|
17
|
+
"zh-cn": "返回到2.0.2"
|
|
18
|
+
},
|
|
19
|
+
"2.0.3": {
|
|
20
|
+
"en": "fix configured info\nfix battery voltage (V -> mV)\nenable debug interface v1.0\nPush Zigbee-Herdsman to 3.5.7\nPush Zigbee-Herdsman-Converters to 23.1.1\nfix configure on message\nremove extra warning messages\nfix Adapter-Checker notes\nimprove base64 image detection\nremoved unused adaptert objects (info.groups, excludes) from adapter config\n",
|
|
21
|
+
"de": "die konfigurierten informationen\nbatteriespannung fixieren (V -> mV)\ndebug interface v1.0\nPush Zigbee-Herdsman auf 3.5.7\nPush Zigbee-Herdsman-Konverter auf 23.1.1\nkonfigurieren der nachricht\nzusätzliche warnmeldungen entfernen\nfix Adapter-Checker-Noten\nverbesserung der bilderkennung von base64\nentfernte ungenutzte adapterobjekte (info.groups, ausgenommen) von adapter config\n",
|
|
22
|
+
"ru": "исправить сконфигурированную информацию\nфиксировать напряжение батареи (V -> mV)\nвключить интерфейс отладки v1.0\nПодтолкнуть Зигби-Хердсмана к 3.5.7\nНажмите Zigbee-Herdsman-Converters на 23.1.1\nисправить конфигурацию на сообщение\nудалить дополнительные предупреждающие сообщения\nзаписи Adapter-Checker\nобнаружение изображений base64\nудаленные неиспользуемые объекты адаптера (info.groups, исключает) из конфигурации адаптера\n",
|
|
23
|
+
"pt": "corrigir informações configuradas\ncorrigir a tensão da bateria (V -> mV)\nenable debug interface v1.0\nEmpurre Zigbee-Herdsman para 3.5.7\nEmpurre Zigbee-Herdsman-Converters para 23.1.1\ncorrigir configurar na mensagem\nremover mensagens de aviso extra\ncorrigir notas Adapter-Checker\nmelhorar a detecção de imagem base64\nremoveu objetos adaptadores não utilizados (info.groups, exclui) da configuração do adaptador\n",
|
|
24
|
+
"nl": "fix geconfigureerde informatie\nvast te stellen batterijspanning (V -> mV)\ndebug interface v1.0 inschakelen\nDuw Zigbee-Herdsman naar 3.5.7\nDuw Zigbee-Herdsman-Converters naar 23.1.1\nfix configureren op bericht\nextra waarschuwingsberichten verwijderen\nfix Adapter-Checker notities\nverbeteren base64 beelddetectie\nverwijderd ongebruikte adapter objecten (info.groups, exclusief) uit adapter config\n",
|
|
25
|
+
"fr": "correction des informations configurées\ncorrection de la tension de la batterie (V -> mV)\nactive l'interface debug v1.0\nPoussez Zigbee-Herdsman à 3.5.7\nPousser Zigbee-Herdsman-Converters à 23.1.1\ncorrection de configuration sur le message\nsupprimer les messages d'avertissement supplémentaires\ncorrection des notes de l'adaptateur-vérificateur\naméliorer la détection d'image de base64\nobjets de l'adaptateurt supprimés (info.groups, exclut) de la configuration de l'adaptateur\n",
|
|
26
|
+
"it": "correzione delle informazioni configurate\ncorreggere la tensione della batteria (V -> mV)\nabilitare l'interfaccia di debug v1.0\nSpingere Zigbee-Herdsman a 3.5.7\nSpingere Zigbee-Herdsman-Converters a 23.1.1\ncorrezione configurare sul messaggio\nrimuovere i messaggi di avviso extra\nfissare le note dell'adattatore-Checker\nmigliorare il rilevamento delle immagini base64\nrimosso oggetti adattatori non utilizzati (info.groups, esclude) dalla configurazione dell'adattatore\n",
|
|
27
|
+
"es": "fijar información configurada\ntensión de batería de fijación (V - título mV)\nhabilitar interfaz de depuración v1.0\nEmpuja Zigbee-Herdsman a 3.5.7\nEmpuja Zigbee-Herdsman-Converters a 23.1.1\nfijar configuración en el mensaje\neliminar mensajes de advertencia extra\nfijar las notas de Adaptador-Checker\nmejorar la detección de imágenes base64\nobjetos de adaptador no usados (info.groups, excluye) de configuración de adaptador\n",
|
|
28
|
+
"pl": "naprawić skonfigurowane informacje\nstałe napięcie akumulatora (V - > mV)\nwłącz interfejs debugowania v1.0\nPush Zigbee-Herdsman do 3.5.7\nPush Zigbee- Herdsman- Konwertery do 23.1.1\nustaw konfigurację na wiadomości\nusuwa dodatkowe komunikaty ostrzegawcze\nfix Adapter- Notatki kontrolne\npoprawa wykrywania obrazu bazowego64\nusunięte niewykorzystane obiekty adaptert (info.groups, excluses) z konfiguracji adaptera\n",
|
|
29
|
+
"uk": "виправлено налаштовану інформацію\nфіксатор напруги акумулятора (В -> мВ)\nувімкнути інтерфейс налагодження v1.0\nPush Zigbee-Herdsman до 3.5.7\nPush Zigbee-Herdsman-Converters до 23.1.1\nфіксувати налаштування на повідомлення\nвидалити додаткові повідомлення попередження\nвиправити адаптер-Checker ноти\nполіпшення базового64 виявлення зображень\nвидалити невикористані об'єкти адаптера (info.groups, виключає) з налаштування адаптера\n",
|
|
30
|
+
"zh-cn": "修复已配置的信息\n固定电池电压(V - > mV)\n启用调试接口 v1.0\n将Zigbee-Herdsman推至3.5.7\n将Zigbee-Herdsman-Convers推向23.1.1\n固定信件的配置\n删除额外的警告信件\n修正适配器检查符\n改进基本64图像检测\n从适配器配置中删除未使用的适配对象( 信息组, 排除)\n"
|
|
31
|
+
},
|
|
6
32
|
"2.0.2": {
|
|
7
33
|
"en": "fix expose generation with expose function requiring a device. (Issue #1842)\nfix failure to configure for devices needing multiple configurations (Issue #2375)\nfix hold/release and press/release action handling (Issue #2387)\nfix lib/legacy requirement for external converters (Issue #2376)\nimproved external converter handling\nfix OTA bug\nimproved message handling for devices which report values outside their defined ranges\npreparation for ZHC 22.x (model definition loaded on demand\nfix legacy definition for devices\nadded action state for remotes.\n",
|
|
8
34
|
"de": "fix exponieren Erzeugung mit exponierender Funktion, die ein Gerät benötigt. (Ausgabe #1842)\nfehler beim Konfigurieren von Geräten, die mehrere Konfigurationen benötigen (Issue #2375)\nfix Hold/Release und Presse/Release-Action-Handling (Issue #2387)\nfix lib/legacy Anforderung für externe Konverter (Issue #2376)\nverbesserte externe konverterhandhabung\noTA Fehler beheben\nverbesserte nachrichtenbehandlung für geräte, die werte außerhalb ihrer definierten bereiche melden\nvorbereitung auf ZHC 22.x (Modelldefinition geladen auf Anfrage\nfix legacy definition für geräte\nden aktionszustand für remotes hinzugefügt.\n",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "corr ikona pobierz błąd (axios)",
|
|
68
94
|
"uk": "корр іконки завантажити помилку (axios)",
|
|
69
95
|
"zh-cn": "corr 图标下载错误( axios)"
|
|
70
|
-
},
|
|
71
|
-
"1.10.12": {
|
|
72
|
-
"en": "corr Channel Scan",
|
|
73
|
-
"de": "corr Channel Scan",
|
|
74
|
-
"ru": "корректор канала",
|
|
75
|
-
"pt": "escaneamento do canal de cortiça",
|
|
76
|
-
"nl": "corr kanaalscan",
|
|
77
|
-
"fr": "balayage du canal corr",
|
|
78
|
-
"it": "corr Channel Scansione",
|
|
79
|
-
"es": "corr Channel Scan",
|
|
80
|
-
"pl": "corr Channel Scan",
|
|
81
|
-
"uk": "сканування каналу",
|
|
82
|
-
"zh-cn": "频道扫描"
|
|
83
|
-
},
|
|
84
|
-
"1.10.11": {
|
|
85
|
-
"en": "BREAKING CHANGE\n\nbugs : ChannelScan is currently not available\n\n\nfix linter errors\ndisable map display for deactivated devices\nnew option on map: disable physics interaction\nnew zigbee-herdsman-converters 20.28.0\nnew zigbee-herdsman 2.1.1\nAllow use of keyless converters (used for TuYa and compatible devices in zigbee-herdsman-converters\nswap from request to axios\ndelete groups works again",
|
|
86
|
-
"de": "VERWENDUNGSBEREICH\n\nbugs : ChannelScan ist derzeit nicht verfügbar\n\n\nlinterfehler beheben\nkartenanzeige für deaktivierte geräte deaktivieren\nneue option auf der karte: physik-interaktion deaktivieren\nneue zickbee-herdsman-konverter 20.28.0\nneuer zickbee-herdsman 2.1.1\nVerwenden von schlüssellosen Wandlern (für TuYa und kompatible Geräte in Zickbee-herdsman-Konverter verwendet)\nswap von anfrage an axios\nlöschen von gruppen funktioniert wieder",
|
|
87
|
-
"ru": "ОБМЕН\n\nжуки: ChannelScan в настоящее время не доступен\n\n\nисправление ошибок\nотключить отображение карты для деактивированных устройств\nновый вариант на карте: отключить взаимодействие физики\n20.28.0\n2.1.1\nПозволить использовать бесключевые конвертеры (используемые для TuYa и совместимые устройства в zigbee-herdsman-конвертерах\nсвопа от запроса к axios\nудалить группы снова",
|
|
88
|
-
"pt": "ALTERAÇÕES DE TRABALHO\n\nbugs : ChannelScan não está disponível\n\n\ncorrigir erros do linter\ndesativar a exibição do mapa para dispositivos desativados\nnova opção no mapa: desativar a interação física\nnovos conversores de zigbee-herdsman 20.28.0\nnovo zigbee-herdsman 2.1.1\nPermitir o uso de conversores sem chave (usado para TuYa e dispositivos compatíveis em conversores de zigbee-herdsman\nswap de pedido para axios\nexcluir grupos funciona novamente",
|
|
89
|
-
"nl": "BREAKING VERANDERING\n\nbugs: ChannelScan is momenteel niet beschikbaar\n\n\nrepareren linter fouten\nkaartweergave voor gedeactiveerde apparaten uitschakelen\nnieuwe optie op de kaart: interactie natuurkunde uitschakelen\nnieuwe zigbee-herdsman-converters 20.28.0\nnieuwe zigbee-herdsman 2.1.1\nGebruik van sleutelloze converters toestaan (gebruikt voor TuYa en compatibele apparaten in zigbee-herdsman-converters\nruil van verzoek naar axios\ngroepen opnieuw verwijderen",
|
|
90
|
-
"fr": "CHANGEMENT DE BREAING\n\nbugs : ChannelScan n'est actuellement pas disponible\n\n\ncorrection des erreurs linter\ndésactiver l'affichage de la carte pour les appareils désactivés\nnouvelle option sur la carte: désactiver l'interaction physique\nnouveaux convertisseurs zigbee-herdsman 20.28.0\nnouveau zigbee-herdsman 2.1.1\nPermettre l'utilisation de convertisseurs sans clé (utilisés pour TuYa et appareils compatibles dans les convertisseurs zigbee-herdsman-converters\néchange de la demande à l'axios\nsupprimer les groupes fonctionne à nouveau",
|
|
91
|
-
"it": "CAPITOLO DI RICERCA\n\nbugs: ChannelScan non è attualmente disponibile\n\n\ncorreggere gli errori di linter\ndisabilitare la visualizzazione della mappa per i dispositivi disattivati\nnuova opzione sulla mappa: disabilitare l'interazione fisica\nnuovo zigbee-herdsman-converters 20.28.0\nnuovo zigbee-herdsman 2.1.1\nConsentire l'uso di convertitori senza chiave (utilizzati per TuYa e dispositivi compatibili in zigbee-herdsman-converter\nswap da richiesta a assios\ncancellare i gruppi funziona di nuovo",
|
|
92
|
-
"es": "BREAKING CHANGE\n\nbugs : ChannelScan actualmente no está disponible\n\n\ncorrige errores de invierno\npantalla de mapa deshabilitado para dispositivos desactivados\nnueva opción en el mapa: la interacción física deshabilitada\nnuevos zigbee-herdsman-converters 20.28.0\nnuevo zigbee-herdsman 2.1.1\nPermitir el uso de convertidores sin llave (utilizados para TuYa y dispositivos compatibles en zigbee-herdsman-converters\nswap from request to axios\neliminar grupos funciona de nuevo",
|
|
93
|
-
"pl": "ZMIANA ZBIORCZA\n\nbłędy: ChannelScan jest obecnie niedostępny\n\n\nnaprawić błędy lintera\nwyłączyć wyświetlacz mapy dla wyłączonych urządzeń\nnowa opcja na mapie: wyłączenie interakcji fizyki\nnowe konwertery zigbee- herdsman- 20.28.0\nnowy zigbee-herdsman 2.1.1\nZezwalaj na stosowanie konwerterów bezklawiszowych (używanych dla TuYa i kompatybilnych urządzeń w konwerterach zigbee- herdsman-\nzamiana z wniosku na aksjos\nusuń grupy działa ponownie",
|
|
94
|
-
"uk": "БРЕАКІНГ ЗМІН\n\nпомилки : CanalScan наразі немає\n\n\nвиправлено помилки linter\nвідключення відображення карти для деактивованих пристроїв\nновий варіант на карті: відключена фізика взаємодія\nнові zigbee-herdsman-converters 20.28.0\nновий zigbee-herdsman 2.1.1\nДозволити використання без ключів конвертерів (використовується для TuYa та сумісних пристроїв в zigbee-herdsman-converters\nковтання від запиту в осях\nвидалити групи знову",
|
|
95
|
-
"zh-cn": "破坏变化\n\n错误 : 频道扫描目前不可用\n\n\n修正线性错误\n禁用已停用设备的地图显示\n地图上的新选项: 禁用物理交互\n新齐格比-牧民-转换器 20.28.0\n新齐格比牧民 2.1.1\n允许使用无密钥转换器( 用于 TuYa 和 Zigbee- herdsman- 转换器中的兼容设备)\n从请求转换为轴\n再次删除组工作"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
const { EventEmitter } = require('events');
|
|
2
|
+
const fs = require('fs');
|
|
3
|
+
class DeviceDebug extends EventEmitter {
|
|
4
|
+
constructor(adapter) {
|
|
5
|
+
super();
|
|
6
|
+
this.adapter = adapter;
|
|
7
|
+
this.dataByID = { };
|
|
8
|
+
this.dataByDevice = { };
|
|
9
|
+
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
info(message, data) {
|
|
13
|
+
this.emit('log', 'info', message, data);
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
error(message, data) {
|
|
17
|
+
this.emit('log', 'error', message, data);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
debug(message, data) {
|
|
21
|
+
this.emit('log', 'debug', message, data);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
warn(message, data) {
|
|
25
|
+
this.emit('log', 'warn', message, data);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
start(statescontroller, zigbeecontroller) {
|
|
29
|
+
this.info('--- creating device debug ---');
|
|
30
|
+
statescontroller.on('device_debug', this.onDebugEvent.bind(this))
|
|
31
|
+
this.adapter.on('device_debug', this.onDebugEvent.bind(this))
|
|
32
|
+
zigbeecontroller.on('device_debug', this.onDebugEvent.bind(this))
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
onDebugEvent(message) {
|
|
36
|
+
if (typeof message === 'object' && message.hasOwnProperty('ID'))
|
|
37
|
+
{
|
|
38
|
+
let flag='NONE';
|
|
39
|
+
if (message.hasOwnProperty('data')) {
|
|
40
|
+
const dataId = message.ID;
|
|
41
|
+
const item = this.dataByID[dataId] ? this.dataByID[dataId] : { dataID: dataId, deviceID:'unknown', states:[],flags:[], errors:[], IO:message.IO };
|
|
42
|
+
this.dataByID[dataId] = item;
|
|
43
|
+
const data = message.data;
|
|
44
|
+
if (data.error && item.errors.indexOf(data.error)<0) item.errors.push(data.error);
|
|
45
|
+
if (data.states) item.states.push(...data.states);
|
|
46
|
+
if (data.flag && item.flags.indexOf(data.flag)<0) item.flags.push(data.flag);
|
|
47
|
+
if (data.payload && !item.payload) item.payload = data.payload;
|
|
48
|
+
item.IO = data.IO ? true : false;
|
|
49
|
+
if (data.error) flag = data.error;
|
|
50
|
+
else if (data.flag)
|
|
51
|
+
if (data.flag === 'SUCCESS') flag = data.flag;
|
|
52
|
+
else flag = item.IO ? 'I'+data.flag : 'O'+data.flag;
|
|
53
|
+
else
|
|
54
|
+
flag = item.IO ? 'IN' : 'OUT';
|
|
55
|
+
if (data.ID && data.ID !== item.deviceID) {
|
|
56
|
+
item.deviceID = data.ID;
|
|
57
|
+
const DevData = this.dataByDevice[item.deviceID] ? this.dataByDevice[item.deviceID] : { IN:[], OUT:[] };
|
|
58
|
+
const target = (data.IO ? DevData.IN : DevData.OUT)
|
|
59
|
+
while (target.length > 20 || (target.length > 10 && dataId - target[0]>30000)) {
|
|
60
|
+
const pre = target.length;
|
|
61
|
+
const ditem = target.shift();
|
|
62
|
+
delete this.dataByID[ditem.dataID];
|
|
63
|
+
this.debug(`on Debug Message: removing item ${ditem.dataID} : pre ${pre} post ${target.length}`)
|
|
64
|
+
}
|
|
65
|
+
target.push(item);
|
|
66
|
+
this.dataByDevice[item.deviceID] = DevData;
|
|
67
|
+
}
|
|
68
|
+
if (message.hasOwnProperty('message')) {
|
|
69
|
+
this.warn(`ELEVATED:${flag} (${dataId.toString(16).slice(-4)}) ${message.message}`)
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
collectDebugData() {
|
|
76
|
+
return this.dataByDevice;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
module.exports = DeviceDebug;
|
package/main.js
CHANGED