iobroker.lorawan 1.22.4 → 1.22.6
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 +6 -0
- package/io-package.json +27 -27
- package/lib/modules/bridge.js +4 -0
- package/lib/modules/deviceManager/bridgeDevices.js +22 -22
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -24,6 +24,12 @@ For now there is documentation in English here: https://wiki.hafenmeister.de
|
|
|
24
24
|
Placeholder for the next version (at the beginning of the line):
|
|
25
25
|
### **WORK IN PROGRESS**
|
|
26
26
|
-->
|
|
27
|
+
### 1.22.6 (2026-04-10)
|
|
28
|
+
* (BenAhrdt) bugfix cover endposition open
|
|
29
|
+
|
|
30
|
+
### 1.22.5 (2026-04-10)
|
|
31
|
+
* (BenAhrdt) bugfix displaying buttons in dM cards
|
|
32
|
+
|
|
27
33
|
### 1.22.4 (2026-04-10)
|
|
28
34
|
* (BenAhrdt) bugfix lock entity in dM card
|
|
29
35
|
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "lorawan",
|
|
4
|
-
"version": "1.22.
|
|
4
|
+
"version": "1.22.6",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.22.6": {
|
|
7
|
+
"en": "bugfix cover endposition open",
|
|
8
|
+
"de": "bugfix cover endposition offen",
|
|
9
|
+
"ru": "багфикс cover end end open",
|
|
10
|
+
"pt": "endposition de cobertura de bugfix aberta",
|
|
11
|
+
"nl": "bugfix cover endposition open",
|
|
12
|
+
"fr": "bugfix endposition de couverture ouverte",
|
|
13
|
+
"it": "bugfix cover endposition aperto",
|
|
14
|
+
"es": "tapa bugfix endposition open",
|
|
15
|
+
"pl": "bugfix pokrywa końcowa otwarta",
|
|
16
|
+
"uk": "відновлення пароля",
|
|
17
|
+
"zh-cn": "bugfix 封面结束位置打开"
|
|
18
|
+
},
|
|
19
|
+
"1.22.5": {
|
|
20
|
+
"en": "bugfix displaying buttons in dM cards",
|
|
21
|
+
"de": "bugfix Anzeigetasten in dM-Karten",
|
|
22
|
+
"ru": "bugfix отображение кнопок в картах dM",
|
|
23
|
+
"pt": "correcção de erros a mostrar botões nas cartas dM",
|
|
24
|
+
"nl": "bugfix tonen van knoppen in dM-kaarten",
|
|
25
|
+
"fr": "bugfix affichant les boutons dans les cartes dM",
|
|
26
|
+
"it": "pulsanti di visualizzazione bugfix nelle schede dM",
|
|
27
|
+
"es": "botones de visualización de bugfix en tarjetas dM",
|
|
28
|
+
"pl": "bugfix wyświetlanie przycisków w kartach dM",
|
|
29
|
+
"uk": "кнопки відображення помилок в dM-картах",
|
|
30
|
+
"zh-cn": "在 dM 纸卡中显示按钮"
|
|
31
|
+
},
|
|
6
32
|
"1.22.4": {
|
|
7
33
|
"en": "bugfix lock entity in dM card",
|
|
8
34
|
"de": "bugfix Schloss Entität in dM Karte",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "nowy projekt w urządzeniu karty menedżer",
|
|
68
94
|
"uk": "новий дизайн в управлінні пристроями Картки",
|
|
69
95
|
"zh-cn": "设备管理卡中的新设计"
|
|
70
|
-
},
|
|
71
|
-
"1.21.31": {
|
|
72
|
-
"en": "Display more Infos and colors in Cards",
|
|
73
|
-
"de": "Mehr Infos und Farben in Karten anzeigen",
|
|
74
|
-
"ru": "Показать больше информации и цветов в картах",
|
|
75
|
-
"pt": "Mostrar mais informações e cores nos cartões",
|
|
76
|
-
"nl": "Meer informatie en kleuren in kaarten tonen",
|
|
77
|
-
"fr": "Afficher plus Infos et couleurs dans les Cartes",
|
|
78
|
-
"it": "Visualizza maggiori informazioni e colori nelle carte",
|
|
79
|
-
"es": "Mostrar más Información y colores en tarjetas",
|
|
80
|
-
"pl": "Wyświetl więcej informacji i kolorów w kartach",
|
|
81
|
-
"uk": "Показати більше інформації та кольорів в картках",
|
|
82
|
-
"zh-cn": "在卡片中显示更多信息和颜色"
|
|
83
|
-
},
|
|
84
|
-
"1.21.30": {
|
|
85
|
-
"en": "bugfix warn logging",
|
|
86
|
-
"de": "bugfix warnen",
|
|
87
|
-
"ru": "bugfix предупреждает об опасности",
|
|
88
|
-
"pt": "aviso de erro de registro",
|
|
89
|
-
"nl": "bugfix waarschuwing loggen",
|
|
90
|
-
"fr": "bugfix prévient l'enregistrement",
|
|
91
|
-
"it": "bugfix avvertire la registrazione",
|
|
92
|
-
"es": "bugfix warn logging",
|
|
93
|
-
"pl": "bugfix ostrzega logowanie",
|
|
94
|
-
"uk": "виправлення помилок",
|
|
95
|
-
"zh-cn": "错误修正警告日志"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/lib/modules/bridge.js
CHANGED
|
@@ -3418,6 +3418,10 @@ class bridgeClass extends EventEmiter {
|
|
|
3418
3418
|
topic: DiscoveryTopic,
|
|
3419
3419
|
payload: structuredClone(DiscoveryPayload),
|
|
3420
3420
|
ids: config.CoverIds,
|
|
3421
|
+
limitLogic: {
|
|
3422
|
+
open: config.CoverOpenSignalTrue,
|
|
3423
|
+
close: config.CoverClosedSignalTrue,
|
|
3424
|
+
},
|
|
3421
3425
|
informations: informations,
|
|
3422
3426
|
from: 'foreignDevices',
|
|
3423
3427
|
});
|
|
@@ -245,7 +245,7 @@ class bridgeDevicesClass {
|
|
|
245
245
|
`Start building Light On for Id: ${discovery.ids.open}`,
|
|
246
246
|
);
|
|
247
247
|
usedId[discovery.ids.open] = true;
|
|
248
|
-
card = { preLabel: '
|
|
248
|
+
card = { preLabel: '', label: 'Öffnen' };
|
|
249
249
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.open].object.native?.card);
|
|
250
250
|
const preLabel = card.preLabel ?? '';
|
|
251
251
|
let label = '';
|
|
@@ -258,7 +258,7 @@ class bridgeDevicesClass {
|
|
|
258
258
|
deviceValue.ids[discovery.ids.open].object._id.lastIndexOf('.') + 1,
|
|
259
259
|
);
|
|
260
260
|
}
|
|
261
|
-
res.customInfo.schema.items[`${discovery.ids.open}`] = {
|
|
261
|
+
res.customInfo.schema.items[`${discovery.ids.open}_open`] = {
|
|
262
262
|
type: 'state',
|
|
263
263
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
264
264
|
oid: discovery.ids.open,
|
|
@@ -274,7 +274,7 @@ class bridgeDevicesClass {
|
|
|
274
274
|
`Start building Light On for Id: ${discovery.ids.close}`,
|
|
275
275
|
);
|
|
276
276
|
usedId[discovery.ids.close] = true;
|
|
277
|
-
card = { preLabel: '
|
|
277
|
+
card = { preLabel: '', label: 'Schließen' };
|
|
278
278
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.close].object.native?.card);
|
|
279
279
|
const preLabel = card.preLabel ?? '';
|
|
280
280
|
let label = '';
|
|
@@ -287,7 +287,7 @@ class bridgeDevicesClass {
|
|
|
287
287
|
deviceValue.ids[discovery.ids.close].object._id.lastIndexOf('.') + 1,
|
|
288
288
|
);
|
|
289
289
|
}
|
|
290
|
-
res.customInfo.schema.items[`${discovery.ids.close}`] = {
|
|
290
|
+
res.customInfo.schema.items[`${discovery.ids.close}_close`] = {
|
|
291
291
|
type: 'state',
|
|
292
292
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
293
293
|
oid: discovery.ids.close,
|
|
@@ -303,7 +303,7 @@ class bridgeDevicesClass {
|
|
|
303
303
|
`Start building Light On for Id: ${discovery.ids.stop}`,
|
|
304
304
|
);
|
|
305
305
|
usedId[discovery.ids.stop] = true;
|
|
306
|
-
card = { preLabel: '
|
|
306
|
+
card = { preLabel: '', label: 'Stop' };
|
|
307
307
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.stop].object.native?.card);
|
|
308
308
|
const preLabel = card.preLabel ?? '';
|
|
309
309
|
let label = '';
|
|
@@ -316,7 +316,7 @@ class bridgeDevicesClass {
|
|
|
316
316
|
deviceValue.ids[discovery.ids.stop].object._id.lastIndexOf('.') + 1,
|
|
317
317
|
);
|
|
318
318
|
}
|
|
319
|
-
res.customInfo.schema.items[`${discovery.ids.stop}`] = {
|
|
319
|
+
res.customInfo.schema.items[`${discovery.ids.stop}_stop`] = {
|
|
320
320
|
type: 'state',
|
|
321
321
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
322
322
|
oid: discovery.ids.stop,
|
|
@@ -345,7 +345,7 @@ class bridgeDevicesClass {
|
|
|
345
345
|
deviceValue.ids[discovery.ids.openSignal].object._id.lastIndexOf('.') + 1,
|
|
346
346
|
);
|
|
347
347
|
}
|
|
348
|
-
res.customInfo.schema.items[`${discovery.ids.openSignal}`] = {
|
|
348
|
+
res.customInfo.schema.items[`${discovery.ids.openSignal}_openSignal`] = {
|
|
349
349
|
type: 'state',
|
|
350
350
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
351
351
|
oid: discovery.ids.openSignal,
|
|
@@ -354,8 +354,8 @@ class bridgeDevicesClass {
|
|
|
354
354
|
control: 'text',
|
|
355
355
|
// Style the text based on the boolean value.
|
|
356
356
|
label: preLabel + label,
|
|
357
|
-
trueText: 'nicht
|
|
358
|
-
falseText: 'Aufgefahren',
|
|
357
|
+
trueText: discovery.limitLogic.open ? 'Aufgefahren' : 'nicht aufgefahren',
|
|
358
|
+
falseText: discovery.limitLogic.open ? 'nicht aufgefahren' : 'Aufgefahren',
|
|
359
359
|
};
|
|
360
360
|
}
|
|
361
361
|
if (discovery.ids.closedSignal) {
|
|
@@ -363,7 +363,7 @@ class bridgeDevicesClass {
|
|
|
363
363
|
`Start building Light On for Id: ${discovery.ids.closedSignal}`,
|
|
364
364
|
);
|
|
365
365
|
usedId[discovery.ids.closedSignal] = true;
|
|
366
|
-
card = { preLabel: '', label: 'Unten (
|
|
366
|
+
card = { preLabel: '', label: 'Unten (zu)' };
|
|
367
367
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.closedSignal].object.native?.card);
|
|
368
368
|
const preLabel = card.preLabel ?? '';
|
|
369
369
|
let label = '';
|
|
@@ -376,7 +376,7 @@ class bridgeDevicesClass {
|
|
|
376
376
|
deviceValue.ids[discovery.ids.closedSignal].object._id.lastIndexOf('.') + 1,
|
|
377
377
|
);
|
|
378
378
|
}
|
|
379
|
-
res.customInfo.schema.items[`${discovery.ids.closedSignal}`] = {
|
|
379
|
+
res.customInfo.schema.items[`${discovery.ids.closedSignal}_closedSignal`] = {
|
|
380
380
|
type: 'state',
|
|
381
381
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
382
382
|
oid: discovery.ids.closedSignal,
|
|
@@ -385,8 +385,8 @@ class bridgeDevicesClass {
|
|
|
385
385
|
control: 'text',
|
|
386
386
|
// Style the text based on the boolean value.
|
|
387
387
|
label: preLabel + label,
|
|
388
|
-
trueText: 'nicht
|
|
389
|
-
falseText: 'Zugefahren',
|
|
388
|
+
trueText: discovery.limitLogic.close ? 'Zugefahren' : 'nicht zugefahren',
|
|
389
|
+
falseText: discovery.limitLogic.close ? 'nicht zugefahren' : 'Zugefahren',
|
|
390
390
|
};
|
|
391
391
|
}
|
|
392
392
|
break;
|
|
@@ -402,11 +402,11 @@ class bridgeDevicesClass {
|
|
|
402
402
|
let card = {};
|
|
403
403
|
if (discovery.ids.lock) {
|
|
404
404
|
this.adapter.log[this.adapter.logtypes.listDevices]?.(
|
|
405
|
-
`Start building Light On for Id: ${discovery.ids.
|
|
405
|
+
`Start building Light On for Id: ${discovery.ids.lock}`,
|
|
406
406
|
);
|
|
407
|
-
usedId[discovery.ids.
|
|
407
|
+
usedId[discovery.ids.lock] = true;
|
|
408
408
|
card = { preLabel: '🔒 ', label: 'Abschließen' };
|
|
409
|
-
card = lodash.merge(card, deviceValue.ids[discovery.ids.
|
|
409
|
+
card = lodash.merge(card, deviceValue.ids[discovery.ids.lock].object.native?.card);
|
|
410
410
|
const preLabel = card.preLabel ?? '';
|
|
411
411
|
let label = '';
|
|
412
412
|
if (card.name) {
|
|
@@ -414,14 +414,14 @@ class bridgeDevicesClass {
|
|
|
414
414
|
} else if (card.label) {
|
|
415
415
|
label = card.label;
|
|
416
416
|
} else {
|
|
417
|
-
label = deviceValue.ids[discovery.ids.
|
|
418
|
-
deviceValue.ids[discovery.ids.
|
|
417
|
+
label = deviceValue.ids[discovery.ids.lock].object._id.substring(
|
|
418
|
+
deviceValue.ids[discovery.ids.lock].object._id.lastIndexOf('.') + 1,
|
|
419
419
|
);
|
|
420
420
|
}
|
|
421
|
-
res.customInfo.schema.items[`${discovery.ids.
|
|
421
|
+
res.customInfo.schema.items[`${discovery.ids.lock}_lock`] = {
|
|
422
422
|
type: 'state',
|
|
423
423
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
424
|
-
oid: discovery.ids.
|
|
424
|
+
oid: discovery.ids.lock,
|
|
425
425
|
foreign: true,
|
|
426
426
|
// Render as an interactive switch control.
|
|
427
427
|
control: 'button',
|
|
@@ -447,7 +447,7 @@ class bridgeDevicesClass {
|
|
|
447
447
|
deviceValue.ids[discovery.ids.unlock].object._id.lastIndexOf('.') + 1,
|
|
448
448
|
);
|
|
449
449
|
}
|
|
450
|
-
res.customInfo.schema.items[`${discovery.ids.unlock}`] = {
|
|
450
|
+
res.customInfo.schema.items[`${discovery.ids.unlock}_unlock`] = {
|
|
451
451
|
type: 'state',
|
|
452
452
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
453
453
|
oid: discovery.ids.unlock,
|
|
@@ -476,7 +476,7 @@ class bridgeDevicesClass {
|
|
|
476
476
|
deviceValue.ids[discovery.ids.open].object._id.lastIndexOf('.') + 1,
|
|
477
477
|
);
|
|
478
478
|
}
|
|
479
|
-
res.customInfo.schema.items[`${discovery.ids.open}`] = {
|
|
479
|
+
res.customInfo.schema.items[`${discovery.ids.open}_open`] = {
|
|
480
480
|
type: 'state',
|
|
481
481
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
482
482
|
oid: discovery.ids.open,
|