iobroker.lorawan 1.14.9 → 1.15.1

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,13 @@ 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.15.1 (2025-09-14)
27
+ * (BenAhrdt) Send Trigger retain = false
28
+
29
+ ### 1.15.0 (2025-09-14)
30
+ * (BenAhrdt) Bring notification for Bridge in Admin
31
+ * (BenAhrdt) Notify different trigger to Bridge
32
+
26
33
  ### 1.14.9 (2025-09-13)
27
34
  * (BenAhrdt) notifi new device discovered till Adapter running
28
35
 
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Es wurde keine Bridge Konfiguriert !!!",
143
143
  "EnableRefresh": "zyklisches Discovery",
144
144
  "EnableRefreshTooltip": "aktivieren, um zyklisch mit einem cron zu discovern",
145
- "* Not Present (Virtual)": "* Nicht vorhanden (virtuell)"
145
+ "* Not Present (Virtual)": "* Nicht vorhanden (virtuell)",
146
+ "BridgenotificationActivation": "Benachrichtigungsaktivierung",
147
+ "BridgenotificationTooltip": "Aktivieren oder deaktivieren Sie die Benachrichtigung",
148
+ "BridgeDevicenotificationActivation": "Gerätebenachrichtigungsaktivierung",
149
+ "BridgeDevicenotificationTooltip": "Aktivieren oder deaktivieren Sie die Benachrichtigung für Geräte",
150
+ "all notifications": "Alle Benachrichtigungen",
151
+ "bridge connection": "Verbindungsbenachrichtigungen",
152
+ "new discover": "Discover Benachrichtigungen",
153
+ "device online offline": "Gerätezustandsmeldungen",
154
+ "no notifications": "Keine Benachrichtigungen",
155
+ "LoRaWAN Network Service is connected": "Der Lorawan Netzwerkdienst ist verbunden",
156
+ "LoRaWAN Network Service is disconnected": "Der Lorawan Netzwerkdienst ist getrennt",
157
+ "LoRaWAN device is back online": "Folgendes Lorawan Gerät ist wieder online",
158
+ "LoRaWAN device is offline": "Folgendes Lorawan Gerät ist offline",
159
+ "connection to bridge is activ": "Die Verbindung zur Bridge ist aktiv",
160
+ "connection to bridge will be closed": "Die Verbindung zur Bridge wird geschlossen",
161
+ "new device discovered": "Neues Gerät discovered"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "There is no bridge configed !!!",
143
143
  "EnableRefresh": "cyclic Discover",
144
144
  "EnableRefreshTooltip": "enable to discover in a cyclic cron",
145
- "* Not Present (Virtual)": "* Not Present (Virtual)"
145
+ "* Not Present (Virtual)": "* Not Present (Virtual)",
146
+ "BridgenotificationActivation": "notification activation",
147
+ "BridgenotificationTooltip": "activate or deactivate the notification",
148
+ "BridgeDevicenotificationActivation": "device notification activation",
149
+ "BridgeDevicenotificationTooltip": "activate or deactivate the notification for devices",
150
+ "all notifications": "all notifications",
151
+ "bridge connection": "connection notifications",
152
+ "new discover": "discover notifications",
153
+ "device online offline": "device state notifications",
154
+ "no notifications": "nonotifications",
155
+ "LoRaWAN Network Service is connected": "LoRaWAN Network Service is connected",
156
+ "LoRaWAN Network Service is disconnected": "LoRaWAN Network Service is disconnected",
157
+ "LoRaWAN device is back online": "The following LoRaWAN device is back online",
158
+ "LoRaWAN device is offline": "The following LoRaWAN device is offline",
159
+ "connection to bridge is activ": "connection to bridge is activ",
160
+ "connection to bridge will be closed": "connection to bridge will be closed",
161
+ "new device discovered": "new device discovered"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "¡No hay puente configurado!",
143
143
  "EnableRefresh": "descubrimiento cíclico",
144
144
  "EnableRefreshTooltip": "Habilitar descubrir en un cron cíclico",
145
- "* Not Present (Virtual)": "* No presente (virtual)"
145
+ "* Not Present (Virtual)": "* No presente (virtual)",
146
+ "BridgenotificationActivation": "activación de notificación",
147
+ "BridgenotificationTooltip": "activar o desactivar la notificación",
148
+ "BridgeDevicenotificationActivation": "activación de notificación del dispositivo",
149
+ "BridgeDevicenotificationTooltip": "activar o desactivar la notificación de dispositivos",
150
+ "all notifications": "Todas las notificaciones",
151
+ "bridge connection": "Notificaciones de conexión",
152
+ "new discover": "Descubrir notificaciones",
153
+ "device online offline": "Notificaciones de estado del dispositivo",
154
+ "no notifications": "sintificaciones",
155
+ "LoRaWAN Network Service is connected": "El servicio de red de Lorawan está conectado",
156
+ "LoRaWAN Network Service is disconnected": "El servicio de la red Lorawan está desconectado",
157
+ "LoRaWAN device is back online": "El dispositivo Lorawan está de vuelta en línea",
158
+ "LoRaWAN device is offline": "El dispositivo Lorawan está fuera de línea",
159
+ "connection to bridge is activ": "La conexión al puente es activado",
160
+ "connection to bridge will be closed": "La conexión al puente se cerrará",
161
+ "new device discovered": "nuevo dispositivo descubierto"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Il n'y a pas de pont confié !!!",
143
143
  "EnableRefresh": "Discover cyclique",
144
144
  "EnableRefreshTooltip": "permettre de découvrir dans un cron cyclique",
145
- "* Not Present (Virtual)": "* Pas présent (virtuel)"
145
+ "* Not Present (Virtual)": "* Pas présent (virtuel)",
146
+ "BridgenotificationActivation": "activation de la notification",
147
+ "BridgenotificationTooltip": "activer ou désactiver la notification",
148
+ "BridgeDevicenotificationActivation": "Activation de la notification de l'appareil",
149
+ "BridgeDevicenotificationTooltip": "activer ou désactiver la notification des appareils",
150
+ "all notifications": "Toutes les notifications",
151
+ "bridge connection": "Notifications de connexion",
152
+ "new discover": "Découvrez les notifications",
153
+ "device online offline": "Notifications d'état de dispositif",
154
+ "no notifications": "non-otifications",
155
+ "LoRaWAN Network Service is connected": "Le service réseau Lorawan est connecté",
156
+ "LoRaWAN Network Service is disconnected": "Le service réseau Lorawan est déconnecté",
157
+ "LoRaWAN device is back online": "L'appareil Lorawan est de retour en ligne",
158
+ "LoRaWAN device is offline": "Le dispositif Lorawan est hors ligne",
159
+ "connection to bridge is activ": "La connexion au pont est activ",
160
+ "connection to bridge will be closed": "La connexion au pont sera fermée",
161
+ "new device discovered": "Nouvel appareil découvert"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Non c'è bridge configurato !!!",
143
143
  "EnableRefresh": "scoperta ciclica",
144
144
  "EnableRefreshTooltip": "Abilita di scoprire in un cron ciclico",
145
- "* Not Present (Virtual)": "* Non presente (virtuale)"
145
+ "* Not Present (Virtual)": "* Non presente (virtuale)",
146
+ "BridgenotificationActivation": "Attivazione della notifica",
147
+ "BridgenotificationTooltip": "attivare o disattivare la notifica",
148
+ "BridgeDevicenotificationActivation": "Attivazione della notifica del dispositivo",
149
+ "BridgeDevicenotificationTooltip": "attivare o disattivare la notifica per i dispositivi",
150
+ "all notifications": "tutte le notifiche",
151
+ "bridge connection": "Notifiche di connessione",
152
+ "new discover": "Scopri le notifiche",
153
+ "device online offline": "Notifiche dello stato del dispositivo",
154
+ "no notifications": "nonotificazioni",
155
+ "LoRaWAN Network Service is connected": "Il servizio di rete Lorawan è connesso",
156
+ "LoRaWAN Network Service is disconnected": "Il servizio di rete Lorawan è disconnesso",
157
+ "LoRaWAN device is back online": "Il dispositivo Lorawan è tornato online",
158
+ "LoRaWAN device is offline": "Il dispositivo Lorawan è offline",
159
+ "connection to bridge is activ": "La connessione a bridge è attiva",
160
+ "connection to bridge will be closed": "La connessione al ponte sarà chiusa",
161
+ "new device discovered": "Nuovo dispositivo scoperto"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Er is geen brug geconfigureerd !!!",
143
143
  "EnableRefresh": "cyclische ontdekking",
144
144
  "EnableRefreshTooltip": "in staat te stellen te ontdekken in een cyclische cron",
145
- "* Not Present (Virtual)": "* Niet aanwezig (virtueel)"
145
+ "* Not Present (Virtual)": "* Niet aanwezig (virtueel)",
146
+ "BridgenotificationActivation": "Activering van melding",
147
+ "BridgenotificationTooltip": "de melding activeren of deactiveren",
148
+ "BridgeDevicenotificationActivation": "Activering van apparaatmeldingen",
149
+ "BridgeDevicenotificationTooltip": "de melding voor apparaten activeren of deactiveren",
150
+ "all notifications": "Alle meldingen",
151
+ "bridge connection": "Verbindingsmeldingen",
152
+ "new discover": "Ontdek meldingen",
153
+ "device online offline": "Apparaatstatusmeldingen",
154
+ "no notifications": "niet -outificaties",
155
+ "LoRaWAN Network Service is connected": "Lorawan Network Service is verbonden",
156
+ "LoRaWAN Network Service is disconnected": "Lorawan Network Service is losgekoppeld",
157
+ "LoRaWAN device is back online": "Lorawan -apparaat is weer online",
158
+ "LoRaWAN device is offline": "Lorawan -apparaat is offline",
159
+ "connection to bridge is activ": "Verbinding met Bridge is activ",
160
+ "connection to bridge will be closed": "Verbinding met Bridge wordt gesloten",
161
+ "new device discovered": "Nieuw apparaat ontdekt"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Nie ma skonfigurowanego mostu !!!",
143
143
  "EnableRefresh": "cykliczne odkrycie",
144
144
  "EnableRefreshTooltip": "umożliwić odkrycie w cyklicznym cronie",
145
- "* Not Present (Virtual)": "* Nie obecne (wirtualne)"
145
+ "* Not Present (Virtual)": "* Nie obecne (wirtualne)",
146
+ "BridgenotificationActivation": "Aktywacja powiadomienia",
147
+ "BridgenotificationTooltip": "aktywuj lub dezaktywuj powiadomienie",
148
+ "BridgeDevicenotificationActivation": "Aktywacja powiadomienia urządzenia",
149
+ "BridgeDevicenotificationTooltip": "aktywuj lub dezaktywuj powiadomienie o urządzeniach",
150
+ "all notifications": "wszystkie powiadomienia",
151
+ "bridge connection": "Powiadomienia połączeń",
152
+ "new discover": "Odkryj powiadomienia",
153
+ "device online offline": "Powiadomienia stanu urządzenia",
154
+ "no notifications": "nietyfikacje",
155
+ "LoRaWAN Network Service is connected": "Lorawan Network Service jest podłączona",
156
+ "LoRaWAN Network Service is disconnected": "Lorawan Network Service jest odłączona",
157
+ "LoRaWAN device is back online": "Urządzenie Lorawan powraca online",
158
+ "LoRaWAN device is offline": "Urządzenie Lorawan jest offline",
159
+ "connection to bridge is activ": "Połączenie z mostem jest aktywne",
160
+ "connection to bridge will be closed": "Połączenie z mostem zostanie zamknięte",
161
+ "new device discovered": "odkryte nowe urządzenie"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Não há ponte configurada !!!",
143
143
  "EnableRefresh": "descoberta cíclica",
144
144
  "EnableRefreshTooltip": "ativar descobrir em um cron cíclico",
145
- "* Not Present (Virtual)": "* Não presente (virtual)"
145
+ "* Not Present (Virtual)": "* Não presente (virtual)",
146
+ "BridgenotificationActivation": "Ativação de notificação",
147
+ "BridgenotificationTooltip": "ativar ou desativar a notificação",
148
+ "BridgeDevicenotificationActivation": "Ativação de notificação do dispositivo",
149
+ "BridgeDevicenotificationTooltip": "ativar ou desativar a notificação para dispositivos",
150
+ "all notifications": "todas as notificações",
151
+ "bridge connection": "notificações de conexão",
152
+ "new discover": "Descubra notificações",
153
+ "device online offline": "Notificações de estado do dispositivo",
154
+ "no notifications": "nãotificações",
155
+ "LoRaWAN Network Service is connected": "O serviço de rede de Lorawan está conectado",
156
+ "LoRaWAN Network Service is disconnected": "O serviço de rede de Lorawan está desconectado",
157
+ "LoRaWAN device is back online": "O dispositivo Lorawan está novamente online",
158
+ "LoRaWAN device is offline": "O dispositivo Lorawan está offline",
159
+ "connection to bridge is activ": "A conexão com a ponte é ativista",
160
+ "connection to bridge will be closed": "A conexão com a ponte será fechada",
161
+ "new device discovered": "novo dispositivo descoberto"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Там нет моста, настроенного !!!",
143
143
  "EnableRefresh": "Циклическое открытие",
144
144
  "EnableRefreshTooltip": "Позвольте обнаружить в циклическом крон",
145
- "* Not Present (Virtual)": "* Нет присутствующего (виртуально)"
145
+ "* Not Present (Virtual)": "* Нет присутствующего (виртуально)",
146
+ "BridgenotificationActivation": "активация уведомления",
147
+ "BridgenotificationTooltip": "активировать или деактивировать уведомление",
148
+ "BridgeDevicenotificationActivation": "Активация уведомления устройства",
149
+ "BridgeDevicenotificationTooltip": "активировать или деактивировать уведомление для устройств",
150
+ "all notifications": "все уведомления",
151
+ "bridge connection": "Уведомления об соединении",
152
+ "new discover": "Откройте для себя уведомления",
153
+ "device online offline": "Уведомления о состоянии устройства",
154
+ "no notifications": "Нетификации",
155
+ "LoRaWAN Network Service is connected": "СЕВЕТЫЙ СЕВЕТ ЛОРАВАН подключен",
156
+ "LoRaWAN Network Service is disconnected": "Сетевая служба Lorawan отключена",
157
+ "LoRaWAN device is back online": "Устройство Lorawan возвращается в Интернет",
158
+ "LoRaWAN device is offline": "Устройство Lorawan в автономном режиме",
159
+ "connection to bridge is activ": "Соединение с мостом является активацией",
160
+ "connection to bridge will be closed": "Соединение с мостом будет закрыто",
161
+ "new device discovered": "Новое устройство обнаружено"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "Немає мосту конфігурації !!!",
143
143
  "EnableRefresh": "Циклічне відкриття",
144
144
  "EnableRefreshTooltip": "Дозвольте відкрити в циклічному кронті",
145
- "* Not Present (Virtual)": "* Немає (віртуальний)"
145
+ "* Not Present (Virtual)": "* Немає (віртуальний)",
146
+ "BridgenotificationActivation": "Активація сповіщень",
147
+ "BridgenotificationTooltip": "активуйте або деактивувати повідомлення",
148
+ "BridgeDevicenotificationActivation": "Активація сповіщень пристрою",
149
+ "BridgeDevicenotificationTooltip": "Активуйте або деактивувати сповіщення про пристрої",
150
+ "all notifications": "Всі сповіщення",
151
+ "bridge connection": "Повідомлення про з'єднання",
152
+ "new discover": "Відкрийте сповіщення",
153
+ "device online offline": "Повідомлення про стан пристрою",
154
+ "no notifications": "неофіції",
155
+ "LoRaWAN Network Service is connected": "Служба мережі Lorawan підключена",
156
+ "LoRaWAN Network Service is disconnected": "Служба мережі Lorawan відключена",
157
+ "LoRaWAN device is back online": "Пристрій Lorawan повернувся в Інтернет",
158
+ "LoRaWAN device is offline": "Пристрій Lorawan офлайн",
159
+ "connection to bridge is activ": "Підключення до мосту активується",
160
+ "connection to bridge will be closed": "Підключення до мосту буде закрито",
161
+ "new device discovered": "Виявлений новий пристрій"
146
162
  }
@@ -142,5 +142,21 @@
142
142
  "NoBridgeConfiged": "没有桥梁配置!!!",
143
143
  "EnableRefresh": "循环发现",
144
144
  "EnableRefreshTooltip": "使能够在循环克隆中发现",
145
- "* Not Present (Virtual)": "*不存在(虚拟)"
145
+ "* Not Present (Virtual)": "*不存在(虚拟)",
146
+ "BridgenotificationActivation": "通知激活",
147
+ "BridgenotificationTooltip": "激活或停用通知",
148
+ "BridgeDevicenotificationActivation": "设备通知激活",
149
+ "BridgeDevicenotificationTooltip": "激活或停用设备的通知",
150
+ "all notifications": "所有通知",
151
+ "bridge connection": "连接通知",
152
+ "new discover": "发现通知",
153
+ "device online offline": "设备状态通知",
154
+ "no notifications": "非专用",
155
+ "LoRaWAN Network Service is connected": "Lorawan网络服务已连接",
156
+ "LoRaWAN Network Service is disconnected": "Lorawan网络服务已断开连接",
157
+ "LoRaWAN device is back online": "Lorawan设备返回在线",
158
+ "LoRaWAN device is offline": "Lorawan设备离线",
159
+ "connection to bridge is activ": "连接到桥梁是激活",
160
+ "connection to bridge will be closed": "连接到桥梁将关闭",
161
+ "new device discovered": "发现了新设备"
146
162
  }
@@ -785,15 +785,36 @@
785
785
  "xl": 2
786
786
  },
787
787
  "BridgenotificationActivation":{
788
+ "newLine": true,
788
789
  "type": "select",
789
- "label": "notificationActivation",
790
+ "label": "BridgenotificationActivation",
790
791
  "hidden": "data.BridgeType === 'off'",
791
- "tooltip": "notificationActivationTooltip",
792
+ "tooltip": "BridgenotificationActivationTooltip",
792
793
  "options": [
793
- {"label":"notification","value":"notification"},
794
- {"label":"no notification","value":"no notification"}
794
+ {"label":"all notifications","value":"allNotifications, bridgeConnection, newDiscover, deviceState"},
795
+ {"label":"bridge connection","value":"bridgeConnection"},
796
+ {"label":"new discover","value":"newDiscover"},
797
+ {"label":"device online offline","value":"deviceState"},
798
+ {"label":"no notifications","value":"noNotifications"}
795
799
  ],
796
- "default": "notification",
800
+ "default": "allNotifications, bridgeConnection, newDiscover, deviceState",
801
+ "xs": 12,
802
+ "sm": 3,
803
+ "md": 3,
804
+ "lg": 3,
805
+ "xl": 3
806
+ },
807
+ "BridgeDevicenotificationActivation":{
808
+ "type": "select",
809
+ "label": "BridgeDevicenotificationActivation",
810
+ "hidden": "data.BridgeType === 'off'",
811
+ "tooltip": "BridgeDevicenotificationActivationTooltip",
812
+ "options": [
813
+ {"label":"all notifications","value":"allNotifications, bridgeConnection, newDiscover, deviceState"},
814
+ {"label":"device online offline","value":"deviceState"},
815
+ {"label":"no notifications","value":"noNotifications"}
816
+ ],
817
+ "default": "allNotifications, bridgeConnection, newDiscover, deviceState",
797
818
  "xs": 12,
798
819
  "sm": 3,
799
820
  "md": 3,
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "lorawan",
4
- "version": "1.14.9",
4
+ "version": "1.15.1",
5
5
  "news": {
6
+ "1.15.1": {
7
+ "en": "Send trigger with retain = false",
8
+ "de": "Trigger mit retain = false senden",
9
+ "ru": "Отправка триггера с retain = false",
10
+ "pt": "Enviar trigger com retain = false",
11
+ "nl": "Verzend trigger met retain = false",
12
+ "fr": "Envoyer le trigger avec retain = false",
13
+ "it": "Invia trigger con retain = false",
14
+ "es": "Enviar trigger con retain = false",
15
+ "pl": "Wyślij trigger z retain = false",
16
+ "uk": "Надіслати тригер з retain = false",
17
+ "zh-cn": "发送带有 retain = false 的触发器"
18
+ },
19
+ "1.15.0": {
20
+ "en": "Bring notification for bridge in admin\nNotify different triggers to bridge",
21
+ "de": "Benachrichtigung für Bridge im Admin hinzufügen\nUnterschiedliche Trigger an Bridge melden",
22
+ "ru": "Добавить уведомление для моста в админке\nУведомление о различных триггерах на мост",
23
+ "pt": "Trazer notificação para a bridge no admin\nNotificar diferentes gatilhos para a bridge",
24
+ "nl": "Breng melding voor bridge in admin\nMeld verschillende triggers aan bridge",
25
+ "fr": "Ajouter une notification pour la bridge dans l'admin\nNotifier différents déclencheurs à la bridge",
26
+ "it": "Porta notifica per bridge in admin\nNotifica diversi trigger al bridge",
27
+ "es": "Añadir notificación para bridge en el admin\nNotificar diferentes disparadores al bridge",
28
+ "pl": "Dodaj powiadomienie dla bridge w adminie\nPowiadamiaj o różnych wyzwalaczach do bridge",
29
+ "uk": "Додати сповіщення для bridge в адмінці\nПовідомляти різні тригери до bridge",
30
+ "zh-cn": "在管理中为桥接添加通知\n通知不同的触发器到桥接"
31
+ },
6
32
  "1.14.9": {
7
33
  "en": "Notify new device discovered until adapter is running",
8
34
  "de": "Benachrichtige über neu entdecktes Gerät, solange der Adapter läuft",
@@ -67,32 +93,6 @@
67
93
  "pl": "Zapisz ostatnie 10 opublikowanych i subskrybowanych wartości",
68
94
  "uk": "Зберігати останні 10 опублікованих і підписаних значень",
69
95
  "zh-cn": "保存最近 10 个已发布和已订阅的值"
70
- },
71
- "1.14.4": {
72
- "en": "Return the virtual mode",
73
- "de": "Rückkehr des Virtual Mode",
74
- "ru": "Возврат виртуального режима",
75
- "pt": "Retornar o modo virtual",
76
- "nl": "Herstel de virtuele modus",
77
- "fr": "Rétablir le mode virtuel",
78
- "it": "Ripristino della modalità virtuale",
79
- "es": "Restaurar el modo virtual",
80
- "pl": "Przywrócenie trybu wirtualnego",
81
- "uk": "Повернення віртуального режиму",
82
- "zh-cn": "恢复虚拟模式"
83
- },
84
- "1.14.3": {
85
- "en": "Change naming of virtual ID for virtual_mode",
86
- "de": "Änderung der Benennung der virtuellen ID für virtual_mode",
87
- "ru": "Изменено именование виртуального ID для virtual_mode",
88
- "pt": "Alterar a nomeação do ID virtual para virtual_mode",
89
- "nl": "Wijzig de naamgeving van virtueel ID voor virtual_mode",
90
- "fr": "Modifier la dénomination de l'ID virtuel pour virtual_mode",
91
- "it": "Modifica la denominazione dell'ID virtuale per virtual_mode",
92
- "es": "Cambiar la denominación del ID virtual para virtual_mode",
93
- "pl": "Zmiana nazewnictwa identyfikatora wirtualnego dla virtual_mode",
94
- "uk": "Зміна найменування віртуального ID для virtual_mode",
95
- "zh-cn": "更改 virtual_mode 的虚拟 ID 命名"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -198,11 +198,75 @@
198
198
  "zh-cn": "这些通知代表设备、网关或LoraWAN网络服务的新闻"
199
199
  },
200
200
  "categories": [
201
+ {
202
+ "category": "Bridge connected",
203
+ "name": {
204
+ "en": "The desired Bridge was connected",
205
+ "de": "Die gewünschte Bridge wurde verbunden",
206
+ "ru": "Желаемый мост был подключен",
207
+ "pt": "A ponte desejada foi conectada",
208
+ "nl": "De gewenste Bridge was aangesloten",
209
+ "fr": "Le pont souhaité a été connecté",
210
+ "it": "Il Bridge desiderato è stato collegato",
211
+ "es": "El puente deseado estaba conectado",
212
+ "pl": "Połączono żądaną Bridge",
213
+ "uk": "З'єднано бажаний міст",
214
+ "zh-cn": "所期望的网桥已连接"
215
+ },
216
+ "severity": "info",
217
+ "description": {
218
+ "en": "The connection to the Bridge changed from disconnected to connected",
219
+ "de": "Die Verbindung zur Bridge hat sich von getrennt zu verbunden geändert",
220
+ "ru": "Соединение с мостом изменилось от отключенного к подключенному",
221
+ "pt": "A conexão com a ponte mudou de desconectada para conectada",
222
+ "nl": "De verbinding met de Bridge veranderde van losgekoppeld naar verbonden",
223
+ "fr": "La connexion au pont est passée de déconnectée à connectée",
224
+ "it": "Il collegamento alla Bridge è cambiato da disconnesso a collegato",
225
+ "es": "La conexión con el puente cambió de desconectado a conectado",
226
+ "pl": "Połączenie z Bridge zmieniło się z odłączonego na podłączony",
227
+ "uk": "З'єднання до мосту змінено з відключеного на підключений",
228
+ "zh-cn": "连接网桥从断开变为已连接"
229
+ },
230
+ "regex": [],
231
+ "limit": 1
232
+ },
233
+ {
234
+ "category": "Bridge disconnected",
235
+ "name": {
236
+ "en": "The desired Bridge was disconnected",
237
+ "de": "Die gewünschte Bridge ist nicht mehr erreichbar",
238
+ "ru": "Желаемый мост был отключен",
239
+ "pt": "A ponte desejada foi desligada",
240
+ "nl": "De gewenste Bridge werd afgesloten",
241
+ "fr": "Le pont souhaité a été déconnecté",
242
+ "it": "Il Bridge desiderato è stato disconnesso",
243
+ "es": "El puente deseado fue desconectado",
244
+ "pl": "Wybrana Bridge została odłączona",
245
+ "uk": "Відключено бажаний міст",
246
+ "zh-cn": "所期望的网桥已断开"
247
+ },
248
+ "severity": "alert",
249
+ "description": {
250
+ "en": "The connection to the Bridge changed from connected to disconnected",
251
+ "de": "Die Verbindung zur Bridge hat sich von verbunden zu getrennt geändert",
252
+ "ru": "Соединение с мостом изменилось от подключенного к отключенному",
253
+ "pt": "A conexão com a ponte mudou de conectada para desconectada",
254
+ "nl": "De verbinding met de Bridge veranderde van verbonden naar losgekoppeld",
255
+ "fr": "La connexion au pont est passée de connectée à déconnectée",
256
+ "it": "La connessione alla Bridge è cambiata da collegata a disconnessa",
257
+ "es": "La conexión con el puente cambió de conectado a desconectado",
258
+ "pl": "Połączenie z Bridge zmieniło się z podłączonego na odłączony",
259
+ "uk": "З'єднання до мосту змінено з підключеного до відключеного",
260
+ "zh-cn": "连接网桥从已连接变为断开"
261
+ },
262
+ "regex": [],
263
+ "limit": 1
264
+ },
201
265
  {
202
266
  "category": "LoRaWAN Network Service connected",
203
267
  "name": {
204
268
  "en": "The desired LoRaWAN Network service was connected",
205
- "de": "Der gewünschte LoRaWAN Network Service wurde verbunden",
269
+ "de": "Der LoRaWAN Netzwerk Service wurde verbunden",
206
270
  "ru": "Желаемый сервис LoRaWAN Network был подключен",
207
271
  "pt": "O serviço de rede LoRaWAN desejado foi conectado",
208
272
  "nl": "De gewenste LoRaWAN Network service was aangesloten",
@@ -234,7 +298,7 @@
234
298
  "category": "LoRaWAN Network Service disconnected",
235
299
  "name": {
236
300
  "en": "The desired LoRaWAN Network service was disconnected",
237
- "de": "Der gewünschte LoRaWAN Network Service ist nicht mehr erreichbar",
301
+ "de": "Der LoRaWAN Netzwerk Service ist nicht mehr erreichbar",
238
302
  "ru": "Желаемый сервис LoRaWAN Network был отключен",
239
303
  "pt": "O serviço de rede LoRaWAN desejado foi desligado",
240
304
  "nl": "De gewenste LoRaWAN Network service werd afgesloten",
@@ -344,7 +408,7 @@
344
408
  "password": "",
345
409
  "ssl": true,
346
410
  "origin": "ttn",
347
- "notificationActivation": "notification",
411
+ "notificationActivation": "allNotifications, brdigeConnection, newDiscover, deviceState",
348
412
  "downlinkConfig": [],
349
413
  "customDecodedJsonActive": false,
350
414
  "customConfigurationJsonActive": false,
@@ -358,7 +422,8 @@
358
422
  "BridgeType": "off",
359
423
  "EnableRefresh": true,
360
424
  "RefreshDiscoveryCronJob": "0 * * * *",
361
- "BridgenotificationActivation": "notification",
425
+ "BridgenotificationActivation": "allNotifications, brdigeConnection, newDiscover, deviceState",
426
+ "BridgeDevicenotificationActivation": "allNotifications, brdigeConnection, newDiscover, deviceState",
362
427
  "DeviceIdentifiers": [
363
428
  {
364
429
  "DeviceIdentifier": "usedApplicationName"
@@ -50,6 +50,13 @@ class bridgeClass {
50
50
  online: 'online',
51
51
  };
52
52
 
53
+ this.Notificationlevel = {
54
+ all: 'allNotifications',
55
+ bridgeConnection: 'bridgeConnection',
56
+ newDiscover: 'newDiscover',
57
+ deviceState: 'deviceState',
58
+ };
59
+
53
60
  // Timeoutput always like german view
54
61
  this.Timeoutput = {
55
62
  Argument: 'de-DE',
@@ -197,7 +204,7 @@ class bridgeClass {
197
204
  );
198
205
  this.VitualIds[this.SubscribedTopics[topic].id] = message;
199
206
  // Return the virtual mode
200
- this.publishId(this.SubscribedTopics[topic].id, message);
207
+ await this.publishId(this.SubscribedTopics[topic].id, message, {});
201
208
  return;
202
209
  }
203
210
  await this.adapter.setState(this.SubscribedTopics[topic].id, message);
@@ -226,12 +233,17 @@ class bridgeClass {
226
233
  await this.discovery(id, options);
227
234
  // only publish new discovered Ids
228
235
  if (countBefore !== Object.keys(this.DiscoveredIds).length) {
229
- const devicename = `${this.adapter.bridge.Words.notification}${this.adapter.bridge.GeneralId}`;
230
- if (this.adapter.bridge.Notifications[devicename]) {
231
- const discoveredDevice = this.DiscoveredIds[id].payload.device.name;
232
- this.adapter.bridge.publishId(devicename, `New device discovered: ${discoveredDevice}`);
233
- }
234
- await this.publishId(id, Stateval);
236
+ const device = this.DiscoveredIds[id].informations.usedDeviceId;
237
+ const application = this.DiscoveredIds[id].informations.usedApplicationName;
238
+ const message = `${this.adapter.i18nTranslation['new device discovered']}.\n${this.adapter.i18nTranslation['Device']}: ${device}\n${this.adapter.i18nTranslation['Application']}: ${application}`;
239
+ const notificationId = `${this.adapter.bridge.Words.notification}${this.adapter.bridge.GeneralId}`;
240
+ await this.adapter.bridge?.publishNotification(
241
+ notificationId,
242
+ message,
243
+ this.adapter.bridge?.Notificationlevel.deviceState,
244
+ false,
245
+ );
246
+ await this.publishId(id, Stateval, {});
235
247
  }
236
248
  } else {
237
249
  this.adapter.log.debug(`work called with id ${id}, but Bridge is not connected yet.`);
@@ -599,9 +611,9 @@ class bridgeClass {
599
611
  },
600
612
  },
601
613
  });
602
- await this.publishId(config.climateIds.target, undefined);
603
- await this.publishId(config.climateIds.act, undefined);
604
- await this.publishId(config.climateIds.mode, modeval);
614
+ await this.publishId(config.climateIds.target, undefined, {});
615
+ await this.publishId(config.climateIds.act, undefined, {});
616
+ await this.publishId(config.climateIds.mode, modeval, {});
605
617
  }
606
618
  }
607
619
  } catch (error) {
@@ -647,6 +659,46 @@ class bridgeClass {
647
659
  }
648
660
  }
649
661
 
662
+ /*********************************************************************
663
+ * ********************* Publish zur Bridge **************************
664
+ * ******************************************************************/
665
+
666
+ /**
667
+ * @param id Id, for notification
668
+ * @param message message for notification
669
+ * @param level level, for notification
670
+ * @param device notification isfor device
671
+ */
672
+ async publishNotification(id, message, level, device) {
673
+ const activeFunction = 'bridge.js - publishNotification';
674
+ this.adapter.log.debug(`Function ${activeFunction} started.`);
675
+ try {
676
+ if (this.adapter.bridge.Notifications[id]) {
677
+ if (device) {
678
+ if (this.adapter.config.BridgeDevicenotificationActivation.includes(level)) {
679
+ await this.publishId(id, message, { retain: false });
680
+ } else {
681
+ this.adapter.log.debug(
682
+ `the level ${level} is not reached. Actual level: ${this.adapter.config.BridgeDevicenotificationActivation}`,
683
+ );
684
+ }
685
+ } else {
686
+ if (this.adapter.config.BridgenotificationActivation.includes(level)) {
687
+ await this.publishId(id, message, { retain: false });
688
+ } else {
689
+ this.adapter.log.debug(
690
+ `the level ${level} is not reached. Actual level: ${this.adapter.config.BridgenotificationActivation}`,
691
+ );
692
+ }
693
+ }
694
+ } else {
695
+ this.adapter.log.debug(`the id ${id} is not set for Notifications`);
696
+ }
697
+ } catch (error) {
698
+ this.adapter.log.error(`error at ${activeFunction}: ${error}`);
699
+ }
700
+ }
701
+
650
702
  /*********************************************************************
651
703
  * ********************* Publish zur Bridge **************************
652
704
  * ******************************************************************/
@@ -654,8 +706,9 @@ class bridgeClass {
654
706
  /**
655
707
  * @param id Id, wich is to discover
656
708
  * @param val Value of the used Id
709
+ * @param options options for special values
657
710
  */
658
- async publishId(id, val) {
711
+ async publishId(id, val, options) {
659
712
  const activeFunction = 'bridge.js - publishId';
660
713
  this.adapter.log.debug(`Function ${activeFunction} started.`);
661
714
  try {
@@ -690,9 +743,10 @@ class bridgeClass {
690
743
  if (typeof val !== 'string') {
691
744
  val = JSON.stringify(val);
692
745
  }
693
- await this.bridgeMqttClient.publish(this.PublishedIds[id].state_topic, val, {
694
- retain: true,
695
- });
746
+ if (options && !options.reatin === false) {
747
+ options.retain = true;
748
+ }
749
+ await this.bridgeMqttClient.publish(this.PublishedIds[id].state_topic, val, options);
696
750
  await this.adapter.setState('info.publishedIds', JSON.stringify(this.PublishedIds), true);
697
751
  } else {
698
752
  this.adapter.log.debug(`Id ${id} is not set for publish.`);
@@ -770,9 +824,7 @@ class bridgeClass {
770
824
  usedDeviceId: changeInfo.usedDeviceId,
771
825
  },
772
826
  });
773
- if (this.adapter.config.BridgenotificationActivation === 'notification') {
774
- await this.discoverDeviceNotifications(changeInfo);
775
- }
827
+ await this.discoverDeviceNotifications(changeInfo);
776
828
  }
777
829
  }
778
830
 
@@ -848,9 +900,7 @@ class bridgeClass {
848
900
  usedDeviceId: changeInfo.usedDeviceId,
849
901
  },
850
902
  });
851
- if (this.adapter.config.BridgenotificationActivation === 'notification') {
852
- await this.discoverDeviceNotifications(changeInfo);
853
- }
903
+ await this.discoverDeviceNotifications(changeInfo);
854
904
  }
855
905
  }
856
906
  }
@@ -1321,9 +1371,7 @@ class bridgeClass {
1321
1371
  }
1322
1372
  }
1323
1373
  await this.discoverClimate();
1324
- if (this.adapter.config.BridgenotificationActivation === 'notification') {
1325
- await this.discoverGeneralNotification();
1326
- }
1374
+ await this.discoverGeneralNotification();
1327
1375
  } catch (error) {
1328
1376
  this.adapter.log.error(`error at ${activeFunction}: ${error}`);
1329
1377
  }
@@ -42,12 +42,20 @@ class bridgeMqttClientClass {
42
42
 
43
43
  await this.adapter.bridge.checkAllStatesForBridgeWork({ forceDiscovery: true });
44
44
  this.adapter.bridge.createScheduleJobs();
45
- if (this.adapter.config.BridgenotificationActivation === 'notification' && this.adapter.bridge) {
46
- const devicename = `${this.adapter.bridge.Words.notification}${this.adapter.bridge.GeneralId}`;
47
- if (this.adapter.bridge.Notifications[devicename]) {
48
- this.adapter.bridge.publishId(devicename, `Connection to Bridge is active.`);
49
- }
45
+ if (this.adapter.config.notificationActivation === 'notification') {
46
+ this.adapter.registerNotification(
47
+ 'lorawan',
48
+ 'Bridge connected',
49
+ this.adapter.i18nTranslation['connection to bridge is activ'],
50
+ );
50
51
  }
52
+ const notificationId = `${this.adapter.bridge.Words.notification}${this.adapter.bridge.GeneralId}`;
53
+ await this.adapter.bridge?.publishNotification(
54
+ notificationId,
55
+ this.adapter.i18nTranslation['connection to bridge is activ'],
56
+ this.adapter.bridge?.Notificationlevel.bridgeConnection,
57
+ false,
58
+ );
51
59
  });
52
60
 
53
61
  this.client.on('disconnect', () => {
@@ -72,6 +80,13 @@ class bridgeMqttClientClass {
72
80
  this.adapter.log.info(`Connection to Bridge is closed.`);
73
81
  }
74
82
  this.adapter.setState('info.bridgeConnection', false, true);
83
+ if (this.adapter.config.notificationActivation === 'notification') {
84
+ this.adapter.registerNotification(
85
+ 'lorawan',
86
+ 'Bridge disconnected',
87
+ this.adapter.i18nTranslation['connection to bridge will be closed'],
88
+ );
89
+ }
75
90
  this.internalConnectionstate = false;
76
91
  });
77
92
 
@@ -296,18 +296,26 @@ class directorieshandlerClass {
296
296
  // create changeinfo and register notification
297
297
  const changeInfo = await this.adapter.getChangeInfo(objectId);
298
298
  if (changeInfo) {
299
- const message = `The LoRaWAN device ${changeInfo.usedDeviceId} in the application ${changeInfo.usedApplicationName} is back online`;
299
+ const message = `${this.adapter.i18nTranslation['LoRaWAN device is back online']}.\n${this.adapter.i18nTranslation['Device']}: ${changeInfo.usedDeviceId}\n${this.adapter.i18nTranslation['Application']}: ${changeInfo.usedApplicationName}`;
300
300
  this.adapter.registerNotification(
301
301
  'lorawan',
302
302
  'Lorawan device back online',
303
303
  message,
304
304
  );
305
- if (this.adapter.bridge) {
306
- const notificationId = `${changeInfo.applicationId}.devices.${changeInfo.deviceEUI}${this.adapter.bridge.NotificationId}${this.adapter.bridge.OnlineId}`;
307
- if (this.adapter.bridge.Notifications[notificationId]) {
308
- this.adapter.bridge.publishId(notificationId, message);
309
- }
310
- }
305
+ let notificationId = `${changeInfo.applicationId}.devices.${changeInfo.deviceEUI}${this.adapter.bridge.NotificationId}${this.adapter.bridge.OnlineId}`;
306
+ await this.adapter.bridge?.publishNotification(
307
+ notificationId,
308
+ message,
309
+ this.adapter.bridge?.Notificationlevel.deviceState,
310
+ true,
311
+ );
312
+ notificationId = `${this.adapter.bridge.Words.notification}${this.adapter.bridge.GeneralId}`;
313
+ await this.adapter.bridge?.publishNotification(
314
+ notificationId,
315
+ message,
316
+ this.adapter.bridge?.Notificationlevel.deviceState,
317
+ false,
318
+ );
311
319
  }
312
320
  }
313
321
  }
@@ -80,17 +80,24 @@ class messagehandlerClass {
80
80
  // create changeinfo and register notification
81
81
  const changeInfo = await this.adapter.getChangeInfo(adapterObject._id);
82
82
  if (changeInfo) {
83
- const message = `The LoRaWAN device ${changeInfo.usedDeviceId} in the application ${changeInfo.usedApplicationName} is offline`;
83
+ const message = `${this.adapter.i18nTranslation['LoRaWAN device is offline']}.\n${this.adapter.i18nTranslation['Device']}: ${changeInfo.usedDeviceId}\n${this.adapter.i18nTranslation['Application']}: ${changeInfo.usedApplicationName}`;
84
84
  this.adapter.registerNotification('lorawan', 'LoRaWAN device offline', message);
85
- if (
86
- this.adapter.config.BridgenotificationActivation === 'notification' &&
87
- this.adapter.bridge
88
- ) {
89
- const notificationId = `${changeInfo.applicationId}.devices.${changeInfo.deviceEUI}${this.adapter.bridge.NotificationId}${this.adapter.bridge.OfflineId}`;
90
- if (this.adapter.bridge.Notifications[notificationId]) {
91
- this.adapter.bridge.publishId(notificationId, message);
92
- }
93
- }
85
+
86
+ // Notification to bridge
87
+ let notificationId = `${changeInfo.applicationId}.devices.${changeInfo.deviceEUI}${this.adapter.bridge.NotificationId}${this.adapter.bridge.OfflineId}`;
88
+ await this.adapter.bridge?.publishNotification(
89
+ notificationId,
90
+ message,
91
+ this.adapter.bridge?.Notificationlevel.deviceState,
92
+ true,
93
+ );
94
+ notificationId = `${this.adapter.bridge.Words.notification}${this.adapter.bridge.GeneralId}`;
95
+ await this.adapter.bridge?.publishNotification(
96
+ notificationId,
97
+ message,
98
+ this.adapter.bridge?.Notificationlevel.deviceState,
99
+ false,
100
+ );
94
101
  }
95
102
  }
96
103
  }
@@ -29,7 +29,7 @@ class mqttClientClass {
29
29
  this.adapter.registerNotification(
30
30
  'lorawan',
31
31
  'LoRaWAN Network Service connected',
32
- `The LoRaWAN Network Service ${settings.ipUrl} was connected`,
32
+ `${this.adapter.i18nTranslation['LoRaWAN Network Service is connected']}.\nURL: ${settings.ipUrl}`,
33
33
  );
34
34
  }
35
35
  }
@@ -66,7 +66,7 @@ class mqttClientClass {
66
66
  this.adapter.registerNotification(
67
67
  'lorawan',
68
68
  'LoRaWAN Network Service disconnected',
69
- `The LoRaWAN Network Service ${settings.ipUrl} was disconnected`,
69
+ `${this.adapter.i18nTranslation['LoRaWAN Network Service is disconnected']}.\nURL: ${settings.ipUrl}`,
70
70
  );
71
71
  }
72
72
  }
package/main.js CHANGED
@@ -380,16 +380,16 @@ class Lorawan extends utils.Adapter {
380
380
  *
381
381
  * @param callback function wich is called after shutdown adapter
382
382
  */
383
- onUnload(callback) {
383
+ async onUnload(callback) {
384
384
  try {
385
385
  // Ausgabe der Nachrichtg, dass der Adapter beendet wird
386
- if (this.config.BridgenotificationActivation === 'notification' && this.bridge) {
387
- const devicename = `${this.bridge?.Words.notification}${this.bridge?.GeneralId}`;
388
- if (this.bridge?.Notifications[devicename]) {
389
- this.bridge?.publishId(devicename, `Connection to Bridge will be closed.`);
390
- }
391
- }
392
-
386
+ const notificationId = `${this.bridge?.Words.notification}${this.bridge?.GeneralId}`;
387
+ await this.bridge?.publishNotification(
388
+ notificationId,
389
+ this.i18nTranslation['connection to bridge will be closed'],
390
+ this.bridge?.Notificationlevel.bridgeConnection,
391
+ false,
392
+ );
393
393
  // clear timeout (for simulation)
394
394
  if (this.simulation.timeout) {
395
395
  this.clearTimeout(this.simulation.timeout);
@@ -402,6 +402,9 @@ class Lorawan extends utils.Adapter {
402
402
  // Clear Schedules in Bridge
403
403
  this.bridge?.clearAllSchedules();
404
404
 
405
+ // Destroy Bridged mqtt client
406
+ this.bridge?.bridgeMqttClient?.destroy();
407
+
405
408
  // Destroy mqtt client
406
409
  this.mqttClient?.destroy();
407
410
  callback();
@@ -556,7 +559,7 @@ class Lorawan extends utils.Adapter {
556
559
  this.setState(id, state.val, true);
557
560
  }
558
561
  } else {
559
- await this.bridge?.publishId(await this.removeNamespace(id), state.val);
562
+ await this.bridge?.publishId(await this.removeNamespace(id), state.val, {});
560
563
  }
561
564
  } else {
562
565
  // The state was deleted
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.lorawan",
3
- "version": "1.14.9",
3
+ "version": "1.15.1",
4
4
  "description": "converts the desired lora gateway data to a ioBroker structure",
5
5
  "author": {
6
6
  "name": "BenAhrdt",