iobroker.lorawan 1.16.10 → 1.16.11

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
@@ -23,6 +23,10 @@ For now there is documentation in English here: https://wiki.hafenmeister.de
23
23
  Placeholder for the next version (at the beginning of the line):
24
24
  ### **WORK IN PROGRESS**
25
25
  -->
26
+ ### 1.16.11 (2025-09-18)
27
+ * (BenAhrdt) dont use bridge enum within namespace of adapter
28
+ * (BenAhrdt) Improve Namebuilding of foreign states to bridge
29
+
26
30
  ### 1.16.10 (2025-09-18)
27
31
  * (BenAhrdt) bugfix change query of Bridgeurl to LoRaWAN url
28
32
 
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "lorawan",
4
- "version": "1.16.10",
4
+ "version": "1.16.11",
5
5
  "news": {
6
+ "1.16.11": {
7
+ "en": "dont use bridge enum within namespace of adapter\nImprove Namebuilding of foreign states to bridge",
8
+ "de": "Verwenden Sie keine Bridge-Enum innerhalb des Namensraums des Adapters.\nVerbessern Sie den Namensaufbau ausländischer Staaten auf Bridging",
9
+ "ru": "не используйте перечисление bridge в пространстве имен адаптера\nУлучшено построение имен иностранных государств для функции bridge.",
10
+ "pt": "Não use a enumeração de ponte dentro do namespace do adaptador.\nMelhorar a construção de nomes de estados estrangeiros para ponte",
11
+ "nl": "Gebruik geen brugenum binnen de namespace van de adapter.\nVerbeter de naamopbouw van buitenlandse staten naar brug",
12
+ "fr": "Ne pas utiliser l'énumération pont (bridge enum) à l'intérieur de l'espace de noms de l'adaptateur.\nAmélioration de la construction du nom des états étrangers pour les ponts.",
13
+ "it": "Non utilizzare l'enumerazione del ponte all'interno dello spazio dei nomi dell'adattatore.\nMiglioramento del nome delle costruzioni degli stati stranieri per rendere più coerente",
14
+ "es": "no use el enum de puente dentro del espacio de nombres del adaptador\nMejorar la construcción de nombres de estados extranjeros para la conexión.",
15
+ "pl": "Nie używaj typu enum bridge w przestrzeni nazw adaptera.\nPoprawiono nazewnictwo zagranicznych stanów, aby ułatwić ich identyfikację.",
16
+ "uk": "не використовуйте перелік `bridge` в межах простору імен адаптера\nПокращено назви зовнішніх держав для зручності.",
17
+ "zh-cn": "在适配器的命名空间中不要使用桥接枚举。\n改进外国状态的名称构建以弥合差异"
18
+ },
6
19
  "1.16.10": {
7
20
  "en": "bugfix change query of Bridgeurl to LoRaWAN url",
8
21
  "de": "Fehlerbehebung Änderung der Abfrage von Bridge-URL zu LoRaWAN-URL",
@@ -80,19 +93,6 @@
80
93
  "pl": "Poprawiono błąd w powiadomieniach do Bridge (nowe urządzenie zostało znalezione) => nie ustawiona przestrzeń nazw",
81
94
  "uk": "Виправлено помилку у сповіщеннях до мосту (виявлено новий пристрій) => не встановлений простір імен",
82
95
  "zh-cn": "修复了通知到桥接器的bug(发现新设备)=>命名空间未设置"
83
- },
84
- "1.16.4": {
85
- "en": "Bridge import foreign states till Adapter is running\nBridge delete foreign states till Adapter is running",
86
- "de": "Brücke importiert externe Zustände, solange der Adapter läuft.\nLösche Fremdzustände aus der Datenbank, solange der Adapter aktiv ist.",
87
- "ru": "Импортируйте внешние состояния моста до запуска адаптера\nУдаление внешних состояний Bridge, пока работает адаптер.",
88
- "pt": "Importar estados externos da ponte até que o adaptador esteja em execução\nExcluir estados estrangeiros da ponte até que o adaptador esteja em execução",
89
- "nl": "Importeer externe toestanden van de brug totdat de adapter actief is\nBridge verwijdert externe statussen zolang de adapter actief is",
90
- "fr": "Importer les états étrangers du pont tant que l'adaptateur est en cours d'exécution.\nSupprimer les états étrangers du pont tant que l'adaptateur est en cours d'exécution",
91
- "it": "Importa gli stati esterni del bridge finché l'adattatore è in esecuzione\nEliminazione dello stato estero del bridge fino a quando l'adattatore è in esecuzione",
92
- "es": "Importar estados extranjeros del puente hasta que el adaptador esté en funcionamiento.\nEliminar estados extranjeros del puente hasta que el adaptador esté en funcionamiento",
93
- "pl": "Importuj stany mostu do momentu uruchomienia adaptera.\nUsunięto stany obce do momentu uruchomienia adaptera.",
94
- "uk": "Міст імпортує зовнішні стани поки адаптер працює\nВидалення зовнішніх станів у мосту доки адаптер працює.",
95
- "zh-cn": "桥接器在适配器运行之前导入外部状态\n桥删除外部状态直到适配器运行"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -1577,7 +1577,13 @@ class bridgeClass {
1577
1577
  const bridgeElements = await this.adapter.getForeignObjectAsync(idBridgefunction);
1578
1578
  if (bridgeElements) {
1579
1579
  for (const member of bridgeElements.common.members) {
1580
- await this.discoverForeignRange(member);
1580
+ if (!member.startsWith(this.adapter.namespace)) {
1581
+ await this.discoverForeignRange(member);
1582
+ } else {
1583
+ this.adapter.log.warn(
1584
+ `The bridge enum is set within adapternamespace. please remove form id: ${member}`,
1585
+ );
1586
+ }
1581
1587
  }
1582
1588
  }
1583
1589
  }
@@ -1661,6 +1667,9 @@ class bridgeClass {
1661
1667
  } else {
1662
1668
  parentName = parentChannel.common.name.de;
1663
1669
  }
1670
+ if (parentName === '') {
1671
+ parentName = partentId;
1672
+ }
1664
1673
  }
1665
1674
  } else {
1666
1675
  this.adapter.log.debug(`Parentdevice: ${JSON.stringify(parentDevice)}`);
@@ -1715,15 +1724,6 @@ class bridgeClass {
1715
1724
  discoveryPayload,
1716
1725
  discoveryPayload.state_topic,
1717
1726
  );
1718
-
1719
- /*if (!this.PublishedIds[id]) {
1720
- this.PublishedIds[id] = { discovery: [] };
1721
- }
1722
- this.PublishedIds[id].discovery.push({
1723
- topic: discoveryTopic,
1724
- payload: structuredClone(discoveryPayload),
1725
- });
1726
- this.PublishedIds[id].state_topic = discoveryPayload.state_topic;*/
1727
1727
  }
1728
1728
  if (options.Bridgestate.subscribe) {
1729
1729
  this.assignTopicStructure(
@@ -1736,15 +1736,6 @@ class bridgeClass {
1736
1736
  discoveryPayload,
1737
1737
  id,
1738
1738
  );
1739
-
1740
- /*if (!this.SubscribedTopics[discoveryPayload.command_topic]) {
1741
- this.SubscribedTopics[discoveryPayload.command_topic] = { discovery: [] };
1742
- }
1743
- this.SubscribedTopics[discoveryPayload.command_topic].discovery.push({
1744
- topic: discoveryTopic,
1745
- payload: structuredClone(discoveryPayload),
1746
- });
1747
- this.SubscribedTopics[discoveryPayload.command_topic].id = id;*/
1748
1739
  }
1749
1740
  await this.publishDiscovery(id, {
1750
1741
  topic: discoveryTopic,
package/main.js CHANGED
@@ -441,7 +441,13 @@ class Lorawan extends utils.Adapter {
441
441
  const members = obj.common.members;
442
442
  for (const member of members) {
443
443
  if (!this.bridge.ForeignBridgeMembers[member]) {
444
- await this.bridge?.discoverForeignRange(member);
444
+ if (!member.startsWith(this.namespace)) {
445
+ await this.bridge?.discoverForeignRange(member);
446
+ } else {
447
+ this.log.warn(
448
+ `The bridge enum is set within adapternamespace. please remove form id: ${member}`,
449
+ );
450
+ }
445
451
  return;
446
452
  }
447
453
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.lorawan",
3
- "version": "1.16.10",
3
+ "version": "1.16.11",
4
4
  "description": "converts the desired lora gateway data to a ioBroker structure",
5
5
  "author": {
6
6
  "name": "BenAhrdt",