iobroker.lorawan 1.22.18 → 1.22.20

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 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.20 (2026-06-16)
28
+ - (BenAhrdt) Write publishIds and subscribedTopics delayed
29
+
30
+ ### 1.22.19 (2026-06-16)
31
+ - (BenAhrdt) Test durch fehlerhaften git commit
32
+
27
33
  ### 1.22.18 (2026-06-16)
28
34
  - (BenAhrdt) Testversion, ohne info. schreiben
29
35
 
@@ -33,13 +39,6 @@ For now there is documentation in English here: https://wiki.hafenmeister.de
33
39
  ### 1.22.16 (2026-06-06)
34
40
  - (BenAhrdt) Bugfix COver in ToIob
35
41
 
36
- ### 1.22.15 (2026-06-05)
37
- - (BenAhrdt) Add roles for some new devices
38
-
39
- ### 1.22.14 (2026-06-03)
40
- - (BenAhrdt) ToIob suports hs mode for color (light)
41
- - (BenAhrdt) issues from depandabot
42
-
43
42
  [Older changes can be found there](CHANGELOG_OLD.md)
44
43
 
45
44
  ## License
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "lorawan",
4
- "version": "1.22.18",
4
+ "version": "1.22.20",
5
5
  "news": {
6
+ "1.22.20": {
7
+ "en": "Write publishIds and subscribedTopics delayed",
8
+ "de": "Write publishIds und abonnierteTopics verzögert",
9
+ "ru": "Написать Ids и подписатьсяTopics задерживается",
10
+ "pt": "Escrever os IDs de publicação e os Topics subscritos atrasados",
11
+ "nl": "PublicerenIds en geabonneerdTopics vertraagd schrijven",
12
+ "fr": "Ecrire des Ids et s'abonnerSujets retardés",
13
+ "it": "Scrivere pubblicaIds e abbonati Argomenti ritardati",
14
+ "es": "Escribe publicacionesIds y suscritosTemas retrasados",
15
+ "pl": "Napisz publishIds i subskrybedTopics opóźnione",
16
+ "uk": "Напишіть відгукПрихильники та підписки",
17
+ "zh-cn": "写入 Publishing Ids 和订阅日期延迟"
18
+ },
19
+ "1.22.19": {
20
+ "en": "Test durch fehlerhaften git commit",
21
+ "de": "Test durch fehlerhaften git commit",
22
+ "ru": "Тестирование durch fehlerhaften",
23
+ "pt": "Teste durch fehlerhaften git commit",
24
+ "nl": "Test durch fehlerhoften git commit",
25
+ "fr": "Tester l'engagement de fehlerhaften git",
26
+ "it": "Test durch fehlerhaften git commit",
27
+ "es": "Test durch fehlerhaften git commit",
28
+ "pl": "Test durch fehlerhaften git commit",
29
+ "uk": "Тест дюх fehlerhaften git commit",
30
+ "zh-cn": "测试 fehlerhaften git 执行"
31
+ },
6
32
  "1.22.18": {
7
33
  "en": "Testversion, ohne info. schreiben",
8
34
  "de": "Testversion, ohne Info. schreiben",
@@ -67,32 +93,6 @@
67
93
  "pl": "Tolob suports tryb hs dla koloru (światła)\nkwestie związane z depandabot",
68
94
  "uk": "ToIob suports hs режим для кольору (світло)\nпитання від depandabot",
69
95
  "zh-cn": "颜色的 ToIob suports hs 模式( 浅色)\n发件人的问题"
70
- },
71
- "1.22.13": {
72
- "en": "Changes in io-package.\nChanges in package.json",
73
- "de": "Änderungen im io-Paket.\nÄnderungen im Paket.json",
74
- "ru": "Изменения в io-пакете.\nИзменения в package.json",
75
- "pt": "Alterações no pacote io.\nAlterações no package.json",
76
- "nl": "Wijzigingen in de verpakking.\nWijzigingen in package.json",
77
- "fr": "Changements dans l'emballage.\nChangements dans package.json",
78
- "it": "Cambiamenti nel pacchetto io.\nModifiche nel pacchetto.json",
79
- "es": "Cambios en io-paquete.\nCambios en package.json",
80
- "pl": "Zmiany w pakiecie jo-.\nZmiany w package.json",
81
- "uk": "Зміни в io-package.\nЗміни в package.json",
82
- "zh-cn": "Io包装的变化.\n软件包的变化 json"
83
- },
84
- "1.22.12": {
85
- "en": "Adapter requires node.js >= 22 now\nDefault Bridge all downlink.control and uplin.decoded to bridge",
86
- "de": "Adapter benötigt node.js >= 22 jetzt\nDefault Bridge all downlink.control und uplin.decodiert zur Brücke",
87
- "ru": "Адаптер требует node.js >= 22 сейчас\nDefault Bridge all downlink.control and uplin.decoded to Bridge скачать бесплатно",
88
- "pt": "Adaptador requer nod.js >= 22 agora\nPonte padrão todos downlink.control e uplin.decoded para ponte",
89
- "nl": "Voor de adapter zijn node.js < 22 nu nodig\nStandaard brug alle downlink.control en uplin.decodeerd naar brug",
90
- "fr": "Adaptateur nécessite node.js >= 22 maintenant\nPar défaut Bridge all downlink.control et uplin.decoded to bridge",
91
- "it": "Adattatore richiede node.js >= 22 ora\nDefault Bridge all downlink.control e uplin.decoded to bridge",
92
- "es": "Adaptador requiere node.js ю= 22 ahora\nDefault Bridge all downlink.control y uplin.decoded to bridge",
93
- "pl": "Adapter wymaga node.js > = 22\nDomyślny most wszystko downlink.control i uplin.decoded most",
94
- "uk": "Адаптер вимагає node.js >= 22 тепер\nJavaScript licenses API Веб-сайт Go1.13.8",
95
- "zh-cn": "适配器需要节点.js 现在22\n默认桥全部下行链路. control and uplin.decoded to bridge"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -187,6 +187,10 @@ class bridgeClass extends EventEmiter {
187
187
  assign: 'assign',
188
188
  messageTo: 'messageTo',
189
189
  };
190
+
191
+ // Timerwerte für verzögertes Schreiben
192
+ this.publishedIdsWriteTimer = undefined;
193
+ this.subscribedTopicsWriteTimer = undefined;
190
194
  }
191
195
 
192
196
  /*********************************************************************
@@ -234,7 +238,7 @@ class bridgeClass extends EventEmiter {
234
238
  this.VitualIds[this.SubscribedTopics[topic].id] = message;
235
239
  // Return the virtual mode
236
240
  await this.publishId(this.SubscribedTopics[topic].id, message, {});
237
- await this.writeSubscribedTopics();
241
+ this.scheduleSubscribedTopicsWrite();
238
242
  return;
239
243
  }
240
244
 
@@ -278,7 +282,7 @@ class bridgeClass extends EventEmiter {
278
282
  c: 'from bridge',
279
283
  });
280
284
  }
281
- await this.writeSubscribedTopics();
285
+ this.scheduleSubscribedTopicsWrite();
282
286
  return;
283
287
  }
284
288
 
@@ -367,7 +371,7 @@ class bridgeClass extends EventEmiter {
367
371
  });
368
372
  }
369
373
  }
370
- await this.writeSubscribedTopics();
374
+ this.scheduleSubscribedTopicsWrite();
371
375
  } else {
372
376
  this.adapter.log.debug(`The received Topic ${topic} is not subscribed`);
373
377
  }
@@ -379,13 +383,25 @@ class bridgeClass extends EventEmiter {
379
383
  /**
380
384
  * Write Subscribed Topics
381
385
  */
382
- async writeSubscribedTopics() {
383
- /*await this.adapter.setState(
384
- 'info.subscribedTopics',
385
- { val: JSON.stringify(this.SubscribedTopics), c: 'from bridge' },
386
- true,
387
- );vorerst Test*/
386
+ scheduleSubscribedTopicsWrite() {
387
+ if (this.subscribedTopicsWriteTimer) {
388
+ return;
389
+ }
390
+
391
+ this.subscribedTopicsWriteTimer = setTimeout(async () => {
392
+ this.subscribedTopicsWriteTimer = undefined;
393
+
394
+ await this.adapter.setState(
395
+ 'info.subscribedTopics',
396
+ {
397
+ val: JSON.stringify(this.SubscribedTopics),
398
+ c: 'from bridge',
399
+ },
400
+ true,
401
+ );
402
+ }, 1000);
388
403
  }
404
+
389
405
  /**
390
406
  * @param {string} hex value of the color
391
407
  */
@@ -1097,7 +1113,7 @@ class bridgeClass extends EventEmiter {
1097
1113
  options.retain = true;
1098
1114
  }
1099
1115
  await this.bridgeMqttClient.publish(topic, value, options);
1100
- /*await this.adapter.setState('info.publishedIds', JSON.stringify(this.PublishedIds), true); vorerst Test*/
1116
+ this.schedulePublishedIdsWrite();
1101
1117
  }
1102
1118
 
1103
1119
  /* alt 26.11.2025
@@ -1363,6 +1379,25 @@ class bridgeClass extends EventEmiter {
1363
1379
  }
1364
1380
  }
1365
1381
 
1382
+ /**
1383
+ * schedule the Published Ids
1384
+ */
1385
+ schedulePublishedIdsWrite() {
1386
+ if (this.publishedIdsWriteTimer) {
1387
+ return;
1388
+ }
1389
+
1390
+ this.publishedIdsWriteTimer = setTimeout(async () => {
1391
+ this.publishedIdsWriteTimer = undefined;
1392
+
1393
+ try {
1394
+ await this.adapter.setState('info.publishedIds', JSON.stringify(this.PublishedIds), true);
1395
+ } catch (error) {
1396
+ this.adapter.log.error(`schedulePublishedIdsWrite: ${error}`);
1397
+ }
1398
+ }, 1000);
1399
+ }
1400
+
1366
1401
  /*********************************************************************
1367
1402
  * **************** assign Structur of internal memory ***************
1368
1403
  * ******************************************************************/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.lorawan",
3
- "version": "1.22.18",
3
+ "version": "1.22.20",
4
4
  "description": "converts the desired lora gateway data to a ioBroker structure",
5
5
  "author": {
6
6
  "name": "BenAhrdt",