iobroker.lorawan 1.22.3 → 1.22.5
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 -106
- package/io-package.json +27 -27
- package/lib/modules/deviceManager/bridgeDevices.js +23 -24
- 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.5 (2026-04-10)
|
|
28
|
+
* (BenAhrdt) bugfix displaying buttons in dM cards
|
|
29
|
+
|
|
30
|
+
### 1.22.4 (2026-04-10)
|
|
31
|
+
* (BenAhrdt) bugfix lock entity in dM card
|
|
32
|
+
|
|
27
33
|
### 1.22.3 (2026-04-10)
|
|
28
34
|
* (BenAhrdt) add first Test for states of configed devices shown in device Manager cards
|
|
29
35
|
|
|
@@ -36,112 +42,6 @@ For now there is documentation in English here: https://wiki.hafenmeister.de
|
|
|
36
42
|
### 1.22.0 (2026-04-01)
|
|
37
43
|
* (BenAhrdt) new Design in device Manager Cards
|
|
38
44
|
|
|
39
|
-
### 1.21.31 (2026-04-01)
|
|
40
|
-
* (BenAhrdt) Display more Infos and colors in Cards
|
|
41
|
-
|
|
42
|
-
### 1.21.30 (2026-04-01)
|
|
43
|
-
* (BenAhrdt) bugfix warn logging
|
|
44
|
-
|
|
45
|
-
### 1.21.29 (2026-04-01)
|
|
46
|
-
* (BenAhrdt) check native
|
|
47
|
-
|
|
48
|
-
### 1.21.28 (2026-04-01)
|
|
49
|
-
* (BenAhrdt) add enum query to air quality
|
|
50
|
-
|
|
51
|
-
### 1.21.27 (2026-04-01)
|
|
52
|
-
* (BenAhrdt) bugfix airqulity
|
|
53
|
-
|
|
54
|
-
### 1.21.26 (2026-04-01)
|
|
55
|
-
* (BenAhrdt) add airquilty for toIob devices
|
|
56
|
-
* (BenAhrdt) add functionality off native card
|
|
57
|
-
|
|
58
|
-
### 1.21.25 (2026-04-01)
|
|
59
|
-
* (BenAhrdt) add prelabel to some roles for card
|
|
60
|
-
|
|
61
|
-
### 1.21.24 (2026-04-01)
|
|
62
|
-
* (BenAhrdt) Merge cardRoles at startup in default
|
|
63
|
-
* (BenAhrdt) add some roles to cardRoles
|
|
64
|
-
* (BenAhrdt) add some roles to toIob generation
|
|
65
|
-
|
|
66
|
-
### 1.21.23 (2026-03-31)
|
|
67
|
-
* (BenAhrdt) add DeviceObject to every device in dM
|
|
68
|
-
* (BenAhrdt) remove moin / max because used in default
|
|
69
|
-
|
|
70
|
-
### 1.21.22 (2026-03-31)
|
|
71
|
-
* (BenAhrdt) bugfix in bridge objectStore
|
|
72
|
-
* (BenAhrdt) add sensor.motion to cardRoles
|
|
73
|
-
|
|
74
|
-
### 1.21.21 (2026-03-30)
|
|
75
|
-
* (BenAhrdt) change priority to name => lable => id (in card)
|
|
76
|
-
|
|
77
|
-
### 1.21.20 (2026-03-30)
|
|
78
|
-
* (BenAhrdt) add more role definitions and logic to card roles
|
|
79
|
-
|
|
80
|
-
### 1.21.19 (2026-03-30)
|
|
81
|
-
* (BenAhrdt) add value.power.active to cardRoles and possibility for Name (label? Name? ID)
|
|
82
|
-
|
|
83
|
-
### 1.21.18 (2026-03-30)
|
|
84
|
-
* (BenAhrdt) bugfix display states for bridged devices in dM
|
|
85
|
-
|
|
86
|
-
### 1.21.17 (2026-03-30)
|
|
87
|
-
* (BenAhrdt) change display of sensor.contact in dM card
|
|
88
|
-
|
|
89
|
-
### 1.21.16 (2026-03-30)
|
|
90
|
-
* (BenAhrdt) implements cardRoles state to define displayed Roles in card
|
|
91
|
-
* (BenAhrdt) First try of custom Info at dM
|
|
92
|
-
|
|
93
|
-
### 1.21.15 (2026-03-28)
|
|
94
|
-
* (BenAhrdt) implement TTI tenant to download to TTI
|
|
95
|
-
|
|
96
|
-
### 1.21.14 (2026-03-27)
|
|
97
|
-
* (BenAhrdt) change userdata and alias query for bridge
|
|
98
|
-
|
|
99
|
-
### 1.21.13 (2026-03-23)
|
|
100
|
-
* (BenAhrdt) improve displaying devEUI in actual Values
|
|
101
|
-
|
|
102
|
-
### 1.21.12 (2026-03-19)
|
|
103
|
-
* (BenAhrdt) bugfix display devices in case of bridge is not selected
|
|
104
|
-
|
|
105
|
-
### 1.21.11 (2026-03-15)
|
|
106
|
-
* (BenAhrdt) improve nameing of actual values
|
|
107
|
-
* (BenAhrdt) imlpement digits to actual values
|
|
108
|
-
|
|
109
|
-
### 1.21.10 (2026-03-12)
|
|
110
|
-
* (BenAhrdt) change Testing and change standard value of lorawan origin to off
|
|
111
|
-
|
|
112
|
-
### 1.21.9 (2026-03-06)
|
|
113
|
-
* (BenAhrdt) persistant Bride DeviceIds
|
|
114
|
-
|
|
115
|
-
### 1.21.8 (2026-03-04)
|
|
116
|
-
* (BenAhrdt) update icons
|
|
117
|
-
|
|
118
|
-
### 1.21.7 (2026-03-04)
|
|
119
|
-
* (BenAhrdt) update logic for icons and link building
|
|
120
|
-
|
|
121
|
-
### 1.21.6 (2026-03-04)
|
|
122
|
-
* (BenAhrdt) change logic for TTN link and change base ip handling
|
|
123
|
-
* (BenAhrdt) set more devices at default
|
|
124
|
-
|
|
125
|
-
### 1.21.5 (2026-03-04)
|
|
126
|
-
* (BenAhrdt) implements link to Chirpstack / TTN
|
|
127
|
-
|
|
128
|
-
### 1.21.4 (2026-03-03)
|
|
129
|
-
* (BenAhrdt) update the updateBridge function in objectStore
|
|
130
|
-
* (BenAhrdt) improve LoraWAN and ToIob funkction (init / update)
|
|
131
|
-
|
|
132
|
-
### 1.21.3 (2026-03-02)
|
|
133
|
-
* (BenAhrdt) add Link to ToIoB Devices
|
|
134
|
-
|
|
135
|
-
### 1.21.2 (2026-03-02)
|
|
136
|
-
* (BenAhrdt) update icon for device link
|
|
137
|
-
|
|
138
|
-
### 1.21.1 (2026-03-02)
|
|
139
|
-
* (BenAhrdt) bring possibility for editing base ip in devce Manager
|
|
140
|
-
|
|
141
|
-
### 1.21.0 (2026-03-02)
|
|
142
|
-
* (BenAhrdt) update deviceManager (dm-utils) to 3.0.0
|
|
143
|
-
* (BenAhrdt) add Links for Bridge devices
|
|
144
|
-
|
|
145
45
|
### Older entries
|
|
146
46
|
[here](OLD_CHANGELOG.md)
|
|
147
47
|
|
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.5",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.22.5": {
|
|
7
|
+
"en": "bugfix displaying buttons in dM cards",
|
|
8
|
+
"de": "bugfix Anzeigetasten in dM-Karten",
|
|
9
|
+
"ru": "bugfix отображение кнопок в картах dM",
|
|
10
|
+
"pt": "correcção de erros a mostrar botões nas cartas dM",
|
|
11
|
+
"nl": "bugfix tonen van knoppen in dM-kaarten",
|
|
12
|
+
"fr": "bugfix affichant les boutons dans les cartes dM",
|
|
13
|
+
"it": "pulsanti di visualizzazione bugfix nelle schede dM",
|
|
14
|
+
"es": "botones de visualización de bugfix en tarjetas dM",
|
|
15
|
+
"pl": "bugfix wyświetlanie przycisków w kartach dM",
|
|
16
|
+
"uk": "кнопки відображення помилок в dM-картах",
|
|
17
|
+
"zh-cn": "在 dM 纸卡中显示按钮"
|
|
18
|
+
},
|
|
19
|
+
"1.22.4": {
|
|
20
|
+
"en": "bugfix lock entity in dM card",
|
|
21
|
+
"de": "bugfix Schloss Entität in dM Karte",
|
|
22
|
+
"ru": "bugfix lock entity в карте dM",
|
|
23
|
+
"pt": "entidade de bloqueio de bugfix no cartão dM",
|
|
24
|
+
"nl": "bugfix slot entiteit in dM-kaart",
|
|
25
|
+
"fr": "bugfix lock entity dans la carte dM",
|
|
26
|
+
"it": "entità di blocco bugfix nella scheda dM",
|
|
27
|
+
"es": "bugfix entidad de bloqueo en tarjeta dM",
|
|
28
|
+
"pl": "element blokujący bugfix w karcie dM",
|
|
29
|
+
"uk": "суб'єкт блокування помилок в картці dM",
|
|
30
|
+
"zh-cn": "dM 卡中的bugfix锁实体"
|
|
31
|
+
},
|
|
6
32
|
"1.22.3": {
|
|
7
33
|
"en": "add first Test for states of configed devices shown in device Manager cards",
|
|
8
34
|
"de": "fügen Sie ersten Test für Zustände von konfiktiven Geräten in Device Manager-Karten",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Wyświetl więcej informacji i kolorów w kartach",
|
|
68
94
|
"uk": "Показати більше інформації та кольорів в картках",
|
|
69
95
|
"zh-cn": "在卡片中显示更多信息和颜色"
|
|
70
|
-
},
|
|
71
|
-
"1.21.30": {
|
|
72
|
-
"en": "bugfix warn logging",
|
|
73
|
-
"de": "bugfix warnen",
|
|
74
|
-
"ru": "bugfix предупреждает об опасности",
|
|
75
|
-
"pt": "aviso de erro de registro",
|
|
76
|
-
"nl": "bugfix waarschuwing loggen",
|
|
77
|
-
"fr": "bugfix prévient l'enregistrement",
|
|
78
|
-
"it": "bugfix avvertire la registrazione",
|
|
79
|
-
"es": "bugfix warn logging",
|
|
80
|
-
"pl": "bugfix ostrzega logowanie",
|
|
81
|
-
"uk": "виправлення помилок",
|
|
82
|
-
"zh-cn": "错误修正警告日志"
|
|
83
|
-
},
|
|
84
|
-
"1.21.29": {
|
|
85
|
-
"en": "check native",
|
|
86
|
-
"de": "check native",
|
|
87
|
-
"ru": "проверить родной",
|
|
88
|
-
"pt": "verificar nativo",
|
|
89
|
-
"nl": "native controleren",
|
|
90
|
-
"fr": "vérifier native",
|
|
91
|
-
"it": "controllare nativo",
|
|
92
|
-
"es": "cheque nativo",
|
|
93
|
-
"pl": "sprawdź rodzime",
|
|
94
|
-
"uk": "перевірити рідний",
|
|
95
|
-
"zh-cn": "检查本地"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
|
@@ -239,14 +239,13 @@ class bridgeDevicesClass {
|
|
|
239
239
|
if (deviceValue.entityType.cover) {
|
|
240
240
|
for (const discovery of deviceValue.discovery) {
|
|
241
241
|
if (discovery.topic.startsWith('homeassistant/cover/')) {
|
|
242
|
-
this.adapter.log.warn(3);
|
|
243
242
|
let card = {};
|
|
244
243
|
if (discovery.ids.open) {
|
|
245
244
|
this.adapter.log[this.adapter.logtypes.listDevices]?.(
|
|
246
245
|
`Start building Light On for Id: ${discovery.ids.open}`,
|
|
247
246
|
);
|
|
248
247
|
usedId[discovery.ids.open] = true;
|
|
249
|
-
card = { preLabel: '
|
|
248
|
+
card = { preLabel: '', label: 'Öffnen' };
|
|
250
249
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.open].object.native?.card);
|
|
251
250
|
const preLabel = card.preLabel ?? '';
|
|
252
251
|
let label = '';
|
|
@@ -259,7 +258,7 @@ class bridgeDevicesClass {
|
|
|
259
258
|
deviceValue.ids[discovery.ids.open].object._id.lastIndexOf('.') + 1,
|
|
260
259
|
);
|
|
261
260
|
}
|
|
262
|
-
res.customInfo.schema.items[`${discovery.ids.open}`] = {
|
|
261
|
+
res.customInfo.schema.items[`${discovery.ids.open}_open`] = {
|
|
263
262
|
type: 'state',
|
|
264
263
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
265
264
|
oid: discovery.ids.open,
|
|
@@ -275,7 +274,7 @@ class bridgeDevicesClass {
|
|
|
275
274
|
`Start building Light On for Id: ${discovery.ids.close}`,
|
|
276
275
|
);
|
|
277
276
|
usedId[discovery.ids.close] = true;
|
|
278
|
-
card = { preLabel: '
|
|
277
|
+
card = { preLabel: '', label: 'Schließen' };
|
|
279
278
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.close].object.native?.card);
|
|
280
279
|
const preLabel = card.preLabel ?? '';
|
|
281
280
|
let label = '';
|
|
@@ -288,7 +287,7 @@ class bridgeDevicesClass {
|
|
|
288
287
|
deviceValue.ids[discovery.ids.close].object._id.lastIndexOf('.') + 1,
|
|
289
288
|
);
|
|
290
289
|
}
|
|
291
|
-
res.customInfo.schema.items[`${discovery.ids.close}`] = {
|
|
290
|
+
res.customInfo.schema.items[`${discovery.ids.close}_close`] = {
|
|
292
291
|
type: 'state',
|
|
293
292
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
294
293
|
oid: discovery.ids.close,
|
|
@@ -304,7 +303,7 @@ class bridgeDevicesClass {
|
|
|
304
303
|
`Start building Light On for Id: ${discovery.ids.stop}`,
|
|
305
304
|
);
|
|
306
305
|
usedId[discovery.ids.stop] = true;
|
|
307
|
-
card = { preLabel: '
|
|
306
|
+
card = { preLabel: '', label: 'Stop' };
|
|
308
307
|
card = lodash.merge(card, deviceValue.ids[discovery.ids.stop].object.native?.card);
|
|
309
308
|
const preLabel = card.preLabel ?? '';
|
|
310
309
|
let label = '';
|
|
@@ -317,7 +316,7 @@ class bridgeDevicesClass {
|
|
|
317
316
|
deviceValue.ids[discovery.ids.stop].object._id.lastIndexOf('.') + 1,
|
|
318
317
|
);
|
|
319
318
|
}
|
|
320
|
-
res.customInfo.schema.items[`${discovery.ids.stop}`] = {
|
|
319
|
+
res.customInfo.schema.items[`${discovery.ids.stop}_stop`] = {
|
|
321
320
|
type: 'state',
|
|
322
321
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
323
322
|
oid: discovery.ids.stop,
|
|
@@ -346,7 +345,7 @@ class bridgeDevicesClass {
|
|
|
346
345
|
deviceValue.ids[discovery.ids.openSignal].object._id.lastIndexOf('.') + 1,
|
|
347
346
|
);
|
|
348
347
|
}
|
|
349
|
-
res.customInfo.schema.items[`${discovery.ids.openSignal}`] = {
|
|
348
|
+
res.customInfo.schema.items[`${discovery.ids.openSignal}_openSignal`] = {
|
|
350
349
|
type: 'state',
|
|
351
350
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
352
351
|
oid: discovery.ids.openSignal,
|
|
@@ -377,7 +376,7 @@ class bridgeDevicesClass {
|
|
|
377
376
|
deviceValue.ids[discovery.ids.closedSignal].object._id.lastIndexOf('.') + 1,
|
|
378
377
|
);
|
|
379
378
|
}
|
|
380
|
-
res.customInfo.schema.items[`${discovery.ids.closedSignal}`] = {
|
|
379
|
+
res.customInfo.schema.items[`${discovery.ids.closedSignal}_closedSignal`] = {
|
|
381
380
|
type: 'state',
|
|
382
381
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
383
382
|
oid: discovery.ids.closedSignal,
|
|
@@ -403,11 +402,11 @@ class bridgeDevicesClass {
|
|
|
403
402
|
let card = {};
|
|
404
403
|
if (discovery.ids.lock) {
|
|
405
404
|
this.adapter.log[this.adapter.logtypes.listDevices]?.(
|
|
406
|
-
`Start building Light On for Id: ${discovery.ids.
|
|
405
|
+
`Start building Light On for Id: ${discovery.ids.lock}`,
|
|
407
406
|
);
|
|
408
|
-
usedId[discovery.ids.
|
|
407
|
+
usedId[discovery.ids.lock] = true;
|
|
409
408
|
card = { preLabel: '🔒 ', label: 'Abschließen' };
|
|
410
|
-
card = lodash.merge(card, deviceValue.ids[discovery.ids.
|
|
409
|
+
card = lodash.merge(card, deviceValue.ids[discovery.ids.lock].object.native?.card);
|
|
411
410
|
const preLabel = card.preLabel ?? '';
|
|
412
411
|
let label = '';
|
|
413
412
|
if (card.name) {
|
|
@@ -415,14 +414,14 @@ class bridgeDevicesClass {
|
|
|
415
414
|
} else if (card.label) {
|
|
416
415
|
label = card.label;
|
|
417
416
|
} else {
|
|
418
|
-
label = deviceValue.ids[discovery.ids.
|
|
419
|
-
deviceValue.ids[discovery.ids.
|
|
417
|
+
label = deviceValue.ids[discovery.ids.lock].object._id.substring(
|
|
418
|
+
deviceValue.ids[discovery.ids.lock].object._id.lastIndexOf('.') + 1,
|
|
420
419
|
);
|
|
421
420
|
}
|
|
422
|
-
res.customInfo.schema.items[`${discovery.ids.
|
|
421
|
+
res.customInfo.schema.items[`${discovery.ids.lock}_lock`] = {
|
|
423
422
|
type: 'state',
|
|
424
423
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
425
|
-
oid: discovery.ids.
|
|
424
|
+
oid: discovery.ids.lock,
|
|
426
425
|
foreign: true,
|
|
427
426
|
// Render as an interactive switch control.
|
|
428
427
|
control: 'button',
|
|
@@ -432,11 +431,11 @@ class bridgeDevicesClass {
|
|
|
432
431
|
}
|
|
433
432
|
if (discovery.ids.unlock) {
|
|
434
433
|
this.adapter.log[this.adapter.logtypes.listDevices]?.(
|
|
435
|
-
`Start building Light On for Id: ${discovery.ids.
|
|
434
|
+
`Start building Light On for Id: ${discovery.ids.unlock}`,
|
|
436
435
|
);
|
|
437
|
-
usedId[discovery.ids.
|
|
436
|
+
usedId[discovery.ids.unlock] = true;
|
|
438
437
|
card = { preLabel: '🔓 ', label: 'Aufschließen' };
|
|
439
|
-
card = lodash.merge(card, deviceValue.ids[discovery.ids.
|
|
438
|
+
card = lodash.merge(card, deviceValue.ids[discovery.ids.unlock].object.native?.card);
|
|
440
439
|
const preLabel = card.preLabel ?? '';
|
|
441
440
|
let label = '';
|
|
442
441
|
if (card.name) {
|
|
@@ -444,14 +443,14 @@ class bridgeDevicesClass {
|
|
|
444
443
|
} else if (card.label) {
|
|
445
444
|
label = card.label;
|
|
446
445
|
} else {
|
|
447
|
-
label = deviceValue.ids[discovery.ids.
|
|
448
|
-
deviceValue.ids[discovery.ids.
|
|
446
|
+
label = deviceValue.ids[discovery.ids.unlock].object._id.substring(
|
|
447
|
+
deviceValue.ids[discovery.ids.unlock].object._id.lastIndexOf('.') + 1,
|
|
449
448
|
);
|
|
450
449
|
}
|
|
451
|
-
res.customInfo.schema.items[`${discovery.ids.
|
|
450
|
+
res.customInfo.schema.items[`${discovery.ids.unlock}_unlock`] = {
|
|
452
451
|
type: 'state',
|
|
453
452
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
454
|
-
oid: discovery.ids.
|
|
453
|
+
oid: discovery.ids.unlock,
|
|
455
454
|
foreign: true,
|
|
456
455
|
// Render as an interactive switch control.
|
|
457
456
|
control: 'button',
|
|
@@ -477,7 +476,7 @@ class bridgeDevicesClass {
|
|
|
477
476
|
deviceValue.ids[discovery.ids.open].object._id.lastIndexOf('.') + 1,
|
|
478
477
|
);
|
|
479
478
|
}
|
|
480
|
-
res.customInfo.schema.items[`${discovery.ids.open}`] = {
|
|
479
|
+
res.customInfo.schema.items[`${discovery.ids.open}_open`] = {
|
|
481
480
|
type: 'state',
|
|
482
481
|
// The full state ID including namespace (foreign = true means it's an absolute ID).
|
|
483
482
|
oid: discovery.ids.open,
|