iobroker.zwavews 0.0.13 → 0.0.15
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 +7 -0
- package/io-package.json +27 -27
- package/lib/helper.js +12 -0
- package/main.js +11 -6
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,6 +36,13 @@ we use the Home Assistant Settings for this:
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
## Changelog
|
|
39
|
+
### 0.0.15 (2026-02-09)
|
|
40
|
+
* (arteck) typo
|
|
41
|
+
* (arteck) fix ready status if status is dead
|
|
42
|
+
|
|
43
|
+
### 0.0.14 (2026-02-09)
|
|
44
|
+
* (arteck) add event ready
|
|
45
|
+
|
|
39
46
|
### 0.0.13 (2026-02-07)
|
|
40
47
|
* (arteck) add event type "value notification"
|
|
41
48
|
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "zwavews",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.15",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.0.15": {
|
|
7
|
+
"en": "typo\nfix ready status if status is dead",
|
|
8
|
+
"de": "typo\nbereitstellen des status, wenn der status tot ist",
|
|
9
|
+
"ru": "опечатка\nготовый статус, если статус мертв",
|
|
10
|
+
"pt": "erro de digitação\ncorrigir o estado pronto se o estado estiver morto",
|
|
11
|
+
"nl": "type\nfix ready status als status dood is",
|
|
12
|
+
"fr": "typo\nfixer le statut prêt si le statut est mort",
|
|
13
|
+
"it": "tipo\nfissare lo stato pronto se lo stato è morto",
|
|
14
|
+
"es": "typo\nfijar estado listo si el estado está muerto",
|
|
15
|
+
"pl": "typo\nustaw stan gotowy, jeśli stan jest martwy",
|
|
16
|
+
"uk": "типи\nвиправити готовий статус, якщо статус мертвий",
|
|
17
|
+
"zh-cn": "类型\n如果状态已死亡, 则固定状态"
|
|
18
|
+
},
|
|
19
|
+
"0.0.14": {
|
|
20
|
+
"en": "add event ready",
|
|
21
|
+
"de": "event bereit hinzufügen",
|
|
22
|
+
"ru": "добавить событие готово",
|
|
23
|
+
"pt": "adicionar o evento pronto",
|
|
24
|
+
"nl": "evenement klaar toevoegen",
|
|
25
|
+
"fr": "ajouter l'événement prêt",
|
|
26
|
+
"it": "aggiungere evento pronto",
|
|
27
|
+
"es": "agregar evento listo",
|
|
28
|
+
"pl": "dodaj zdarzenie gotowe",
|
|
29
|
+
"uk": "додати захід готовий",
|
|
30
|
+
"zh-cn": "添加已准备的事件"
|
|
31
|
+
},
|
|
6
32
|
"0.0.13": {
|
|
7
33
|
"en": "add event type \"value notification\"",
|
|
8
34
|
"de": "ereignistyp hinzufügen \"wert-benachrichtigung\"",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "konwertuj status na niższy przypadek",
|
|
68
94
|
"uk": "перетворення статусу в нижній корпус",
|
|
69
95
|
"zh-cn": "将状态转换为小写"
|
|
70
|
-
},
|
|
71
|
-
"0.0.8": {
|
|
72
|
-
"en": "add warning message for inteview states",
|
|
73
|
-
"de": "warnmeldung für inteview-staaten hinzufügen",
|
|
74
|
-
"ru": "добавить предупреждающее сообщение для состояний inteview",
|
|
75
|
-
"pt": "adicionar a mensagem de aviso para estados de inteview",
|
|
76
|
-
"nl": "waarschuwing voor inteview states toevoegen",
|
|
77
|
-
"fr": "ajouter un message d'avertissement pour les états d'inteview",
|
|
78
|
-
"it": "aggiungere un messaggio di avviso per gli stati di inteview",
|
|
79
|
-
"es": "añadir mensaje de advertencia para los estados de inteview",
|
|
80
|
-
"pl": "dodaj komunikat ostrzegawczy dla stanów inteview",
|
|
81
|
-
"uk": "додати повідомлення попередження про стани inteview",
|
|
82
|
-
"zh-cn": "为 inteview 状态添加警告消息"
|
|
83
|
-
},
|
|
84
|
-
"0.0.7": {
|
|
85
|
-
"en": "add name if not in device info tree",
|
|
86
|
-
"de": "name hinzufügen, wenn nicht in gerät info baum",
|
|
87
|
-
"ru": "добавить имя, если не в дереве информации устройства",
|
|
88
|
-
"pt": "adicionar nome se não na árvore de informações do dispositivo",
|
|
89
|
-
"nl": "naam toevoegen indien niet in apparaatinformatieboom",
|
|
90
|
-
"fr": "ajouter un nom si ce n'est pas dans l'arborescence d'information du périphérique",
|
|
91
|
-
"it": "aggiungere il nome se non in dispositivo info albero",
|
|
92
|
-
"es": "añadir nombre si no en el árbol de información del dispositivo",
|
|
93
|
-
"pl": "dodaj nazwę, jeśli nie w drzewie informacyjnym urządzenia",
|
|
94
|
-
"uk": "додати ім'я, якщо не в пристрої інформаційне дерево",
|
|
95
|
-
"zh-cn": "如果没有在设备信息树中添加名称"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"messages": [],
|
package/lib/helper.js
CHANGED
|
@@ -328,7 +328,16 @@ class Helper {
|
|
|
328
328
|
try {
|
|
329
329
|
if (valDP !== undefined) {
|
|
330
330
|
this.adapter.setState(fullPath, valDP, true);
|
|
331
|
+
|
|
332
|
+
if (fullPath.endsWith('ready') ) {
|
|
333
|
+
valDP = element['status'];
|
|
334
|
+
if (utils.isNumeric(valDP) && valDP == 3) {
|
|
335
|
+
fullPath = fullPath.replace(".status", ".ready");
|
|
336
|
+
this.adapter.setState(fullPath, false, true);
|
|
337
|
+
}
|
|
338
|
+
}
|
|
331
339
|
}
|
|
340
|
+
|
|
332
341
|
} catch (err) {
|
|
333
342
|
this.adapter.log.warn(`ERROR ${valDP} ${JSON.stringify(err)}`);
|
|
334
343
|
}
|
|
@@ -490,6 +499,7 @@ class Helper {
|
|
|
490
499
|
type: 'boolean',
|
|
491
500
|
write: false,
|
|
492
501
|
read: true,
|
|
502
|
+
def: false,
|
|
493
503
|
};
|
|
494
504
|
await this.adapter.setObjectNotExistsAsync(`${nodeId}.ready`, {
|
|
495
505
|
type: 'state',
|
|
@@ -497,6 +507,8 @@ class Helper {
|
|
|
497
507
|
native: {},
|
|
498
508
|
});
|
|
499
509
|
|
|
510
|
+
await this.adapter.setStateAsync(`${nodeId}.ready`, false);
|
|
511
|
+
|
|
500
512
|
common = {
|
|
501
513
|
id: 'status',
|
|
502
514
|
name: 'status',
|
package/main.js
CHANGED
|
@@ -146,7 +146,7 @@ class zwavews extends core.Adapter {
|
|
|
146
146
|
|
|
147
147
|
if (wsClient) {
|
|
148
148
|
wsClient.on('open', () => {
|
|
149
|
-
this.log.info('Connect to
|
|
149
|
+
this.log.info('Connect to zwave-js-ui over websocket connection.');
|
|
150
150
|
startListening = true;
|
|
151
151
|
websocketController.send(JSON.stringify({command: "start_listening"}));
|
|
152
152
|
});
|
|
@@ -177,10 +177,9 @@ class zwavews extends core.Adapter {
|
|
|
177
177
|
try {
|
|
178
178
|
const messageObj = JSON.parse(message);
|
|
179
179
|
|
|
180
|
-
|
|
181
|
-
this.log.warn(`--->>> fromZ2W_RAW1 -> ${JSON.stringify(messageObj)}`
|
|
182
|
-
|
|
183
|
-
}
|
|
180
|
+
if (JSON.stringify(messageObj).includes(logCustomizations.debugDevices) && logCustomizations.debugDevices !== "") {
|
|
181
|
+
this.log.warn(`--->>> fromZ2W_RAW1 -> ${JSON.stringify(messageObj)}`);
|
|
182
|
+
}
|
|
184
183
|
|
|
185
184
|
const type = messageObj?.type;
|
|
186
185
|
|
|
@@ -303,7 +302,13 @@ class zwavews extends core.Adapter {
|
|
|
303
302
|
case 'dead': {
|
|
304
303
|
const nodeId = utils.formatNodeId(eventTyp.nodeId);
|
|
305
304
|
await helper.parse(`${nodeId}.status`, eventTyp.event.toLowerCase(), options);
|
|
306
|
-
|
|
305
|
+
|
|
306
|
+
if (eventTyp.event === 'dead') {
|
|
307
|
+
await helper.parse(`${nodeId}.ready`, false, options);
|
|
308
|
+
} else {
|
|
309
|
+
await helper.parse(`${nodeId}.ready`, true, options);
|
|
310
|
+
}
|
|
311
|
+
|
|
307
312
|
if (this.config.wakeUpInfo) {
|
|
308
313
|
this.log.info(`${utils.formatNodeId(eventTyp.nodeId)} --> ${eventTyp.event}`);
|
|
309
314
|
}
|