iobroker.lorawan 1.19.0 → 1.19.2
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/assignhandler.js +1 -1
- package/lib/modules/bridge.js +47 -47
- package/lib/modules/bridgeDeviceHandler.js +8 -8
- package/lib/modules/directorieshandler.js +14 -14
- package/lib/modules/messagehandler.js +8 -5
- package/main.js +7 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -23,6 +23,12 @@ 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.19.2 (2026-01-03)
|
|
27
|
+
* (BenAhrdt) bugfix filldownlink
|
|
28
|
+
|
|
29
|
+
### 1.19.1 (2026-01-03)
|
|
30
|
+
* (BenAhrdt) bugfix device and replace debug logs for silly
|
|
31
|
+
|
|
26
32
|
### 1.19.0 (2026-01-03)
|
|
27
33
|
* (BenAhrdt) remove Bridgetype Smarthome
|
|
28
34
|
* (BenAhrdt) add firt possibility to generate devices from Bridge to Iob
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "lorawan",
|
|
4
|
-
"version": "1.19.
|
|
4
|
+
"version": "1.19.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"1.19.2": {
|
|
7
|
+
"en": "bugfix filldownlink",
|
|
8
|
+
"de": "fehlerbehebungen",
|
|
9
|
+
"ru": "bugfix filldownlink",
|
|
10
|
+
"pt": "ligação de preenchimento de correções de erros",
|
|
11
|
+
"nl": "bugfix filldownlink",
|
|
12
|
+
"fr": "bugfix remplissagelien",
|
|
13
|
+
"it": "bugfix filldownlink",
|
|
14
|
+
"es": "bugfix rellenolink",
|
|
15
|
+
"pl": "bugfix fishdownlink",
|
|
16
|
+
"uk": "javascript licenses api веб-сайт",
|
|
17
|
+
"zh-cn": "臭虫补全下行链路"
|
|
18
|
+
},
|
|
19
|
+
"1.19.1": {
|
|
20
|
+
"en": "bugfix device and replace debug logs for silly",
|
|
21
|
+
"de": "bugfix gerät und ersetzen debug protokolle für albern",
|
|
22
|
+
"ru": "bugfix-устройство и замена отладочных журналов на глупые",
|
|
23
|
+
"pt": "dispositivo de correção de bugs e registros de depuração de substituição para bobo",
|
|
24
|
+
"nl": "bugfix-apparaat en debug-logs vervangen voor domheid",
|
|
25
|
+
"fr": "bugfix périphérique et remplacer les journaux de débogage pour idiot",
|
|
26
|
+
"it": "dispositivo bugfix e sostituire i log di debug per sciocco",
|
|
27
|
+
"es": "dispositivo bugfix y reemplazar los registros de depuración para tontos",
|
|
28
|
+
"pl": "bugfix urządzenia i zastąpić logi debug dla głupi",
|
|
29
|
+
"uk": "пристрій для виправлення помилок і заміни журналів для silly",
|
|
30
|
+
"zh-cn": "错误修正设备并替换愚昧的调试日志"
|
|
31
|
+
},
|
|
6
32
|
"1.19.0": {
|
|
7
33
|
"en": "remove Bridgetype Smarthome\nadd firt possibility to generate devices from Bridge to Iob",
|
|
8
34
|
"de": "bridgetype Smarthome entfernen\nfügen Sie firt Möglichkeit, Geräte von Bridge zu Iob zu generieren",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "błąd bugfix",
|
|
68
94
|
"uk": "повідомлень про помилку",
|
|
69
95
|
"zh-cn": "错误修正错误日志"
|
|
70
|
-
},
|
|
71
|
-
"1.18.59": {
|
|
72
|
-
"en": "Chuck checkAllStatesForBridgeWork for better performance",
|
|
73
|
-
"de": "Chuck-Check AllStatesForBridgeWork für bessere Leistung",
|
|
74
|
-
"ru": "Проверка Чака AllStatesForBridgeWork для повышения производительности",
|
|
75
|
-
"pt": "Chuck, verifica. AllStatesForBridgeTrabalhar para melhor desempenho",
|
|
76
|
-
"nl": "Chuck check AllStatesForBridgeWork voor betere prestaties",
|
|
77
|
-
"fr": "Contrôle Chuck AllStatesForBridgeWork pour une meilleure performance",
|
|
78
|
-
"it": "Controllo Chuck AllStatesForBridgeWork per prestazioni migliori",
|
|
79
|
-
"es": "Chuck. AllStatesForBridgeWork para un mejor rendimiento",
|
|
80
|
-
"pl": "Chuck sprawdził Wszystkie państwa dla BridgeWork dla lepszej wydajności",
|
|
81
|
-
"uk": "Перевірка качки AllStatesForBridgeWork для кращої продуктивності",
|
|
82
|
-
"zh-cn": "查克检查 为更好的业绩而努力"
|
|
83
|
-
},
|
|
84
|
-
"1.18.58": {
|
|
85
|
-
"en": "serialize and cache the config messagens",
|
|
86
|
-
"de": "serialisieren und kache die config messagens",
|
|
87
|
-
"ru": "сериализировать и кэшировать config messagens",
|
|
88
|
-
"pt": "serialize e cache as mensagens de configuração",
|
|
89
|
-
"nl": "serialiseren en cache de config messages",
|
|
90
|
-
"fr": "sérialisez et cachez les messages de configuration",
|
|
91
|
-
"it": "serializzare e memorizzare i messaggi di configurazione",
|
|
92
|
-
"es": "serialize y cache los mensajes de config",
|
|
93
|
-
"pl": "serializuj i buforuj wiadomości konfiguracyjne",
|
|
94
|
-
"uk": "послідовність і кешування конфігураційних повідомлень",
|
|
95
|
-
"zh-cn": "序列化和缓存配置信件"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
|
@@ -719,7 +719,7 @@ class assignhandlerClass {
|
|
|
719
719
|
*/
|
|
720
720
|
executeAssign(id, value, assigndata, options) {
|
|
721
721
|
const activeFunction = 'executeAssign';
|
|
722
|
-
this.adapter.log.
|
|
722
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
723
723
|
try {
|
|
724
724
|
// check folder
|
|
725
725
|
const baseInfo = this.adapter.getBaseDeviceInfo(id);
|
package/lib/modules/bridge.js
CHANGED
|
@@ -187,7 +187,7 @@ class bridgeClass {
|
|
|
187
187
|
*/
|
|
188
188
|
async handleMessage(topic, message) {
|
|
189
189
|
const activeFunction = 'bridge.js - handleMessage';
|
|
190
|
-
this.adapter.log.
|
|
190
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
191
191
|
try {
|
|
192
192
|
if (this.SubscribedTopics[topic]) {
|
|
193
193
|
// safe old values (10 last values)
|
|
@@ -338,7 +338,7 @@ class bridgeClass {
|
|
|
338
338
|
*/
|
|
339
339
|
hexToRgb(hex) {
|
|
340
340
|
const activeFunction = 'bridge.js - hexToRgb';
|
|
341
|
-
this.adapter.log.
|
|
341
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
342
342
|
try {
|
|
343
343
|
hex = hex.replace('#', '').trim();
|
|
344
344
|
|
|
@@ -376,7 +376,7 @@ class bridgeClass {
|
|
|
376
376
|
*/
|
|
377
377
|
rgbToHex(colorObject) {
|
|
378
378
|
const activeFunction = 'bridge.js - rgbToHex';
|
|
379
|
-
this.adapter.log.
|
|
379
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
380
380
|
try {
|
|
381
381
|
const { r, g, b } = colorObject;
|
|
382
382
|
|
|
@@ -401,7 +401,7 @@ class bridgeClass {
|
|
|
401
401
|
*/
|
|
402
402
|
async work(id, Stateval, options) {
|
|
403
403
|
const activeFunction = 'bridge.js - work';
|
|
404
|
-
this.adapter.log.
|
|
404
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
405
405
|
try {
|
|
406
406
|
if (this.bridgeMqttClient.internalConnectionstate) {
|
|
407
407
|
const discovered = await this.discovery(id, options);
|
|
@@ -427,7 +427,7 @@ class bridgeClass {
|
|
|
427
427
|
*/
|
|
428
428
|
async discovery(id, options) {
|
|
429
429
|
const activeFunction = 'bridge.js - discovery';
|
|
430
|
-
this.adapter.log.
|
|
430
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
431
431
|
try {
|
|
432
432
|
if (!this.CheckedIds[id] || (options && options.forceDiscovery)) {
|
|
433
433
|
this.CheckedIds[id] = {};
|
|
@@ -450,7 +450,7 @@ class bridgeClass {
|
|
|
450
450
|
*/
|
|
451
451
|
async discoverGeneralNotification() {
|
|
452
452
|
const activeFunction = 'discoverGeneralNotification';
|
|
453
|
-
this.adapter.log.
|
|
453
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
454
454
|
try {
|
|
455
455
|
const notificationId = `${this.adapter.namespace}.${this.Words.notification}${this.GeneralId}`;
|
|
456
456
|
if (!this.Notifications[notificationId]) {
|
|
@@ -491,7 +491,7 @@ class bridgeClass {
|
|
|
491
491
|
*/
|
|
492
492
|
getNotificationDiscoveryObject(deviceIdentifier, notificationType) {
|
|
493
493
|
const activeFunction = 'getNotificationDiscoveryObject';
|
|
494
|
-
this.adapter.log.
|
|
494
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
495
495
|
try {
|
|
496
496
|
const normalizedDeviceIdentifier = this.normalizeString(deviceIdentifier);
|
|
497
497
|
const discoveryobject = {
|
|
@@ -519,7 +519,7 @@ class bridgeClass {
|
|
|
519
519
|
*/
|
|
520
520
|
async discoverClimate() {
|
|
521
521
|
const activeFunction = 'discoverClimate';
|
|
522
|
-
this.adapter.log.
|
|
522
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
523
523
|
try {
|
|
524
524
|
if (this.adapter.config.ClimateConfig) {
|
|
525
525
|
for (const config of this.adapter.config.ClimateConfig) {
|
|
@@ -730,7 +730,7 @@ class bridgeClass {
|
|
|
730
730
|
*/
|
|
731
731
|
async generateClimateIds(config) {
|
|
732
732
|
const activeFunction = 'generateClimateIds';
|
|
733
|
-
this.adapter.log.
|
|
733
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
734
734
|
try {
|
|
735
735
|
const climateIds = { target: '', act: '', mode: '' };
|
|
736
736
|
climateIds.target = `${this.adapter.namespace}.${config.TargetApplication}.devices.${config.TargetDevice}.${config.TargetFolder}.${config.TargetState}`;
|
|
@@ -770,7 +770,7 @@ class bridgeClass {
|
|
|
770
770
|
*/
|
|
771
771
|
async publishNotification(id, message, level) {
|
|
772
772
|
const activeFunction = 'bridge.js - publishNotification';
|
|
773
|
-
this.adapter.log.
|
|
773
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
774
774
|
try {
|
|
775
775
|
if (this.adapter.bridge.Notifications[id]) {
|
|
776
776
|
if (this.adapter.config.BridgenotificationActivation.includes(level)) {
|
|
@@ -799,7 +799,7 @@ class bridgeClass {
|
|
|
799
799
|
*/
|
|
800
800
|
async publishId(id, val, options) {
|
|
801
801
|
const activeFunction = 'bridge.js - publishId';
|
|
802
|
-
this.adapter.log.
|
|
802
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
803
803
|
try {
|
|
804
804
|
if (this.PublishedIds[id]) {
|
|
805
805
|
if (val === undefined) {
|
|
@@ -975,7 +975,7 @@ class bridgeClass {
|
|
|
975
975
|
*/
|
|
976
976
|
async buildDiscovery(id, options) {
|
|
977
977
|
const activeFunction = 'bridge.js - buildDiscovery';
|
|
978
|
-
this.adapter.log.
|
|
978
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
979
979
|
try {
|
|
980
980
|
// Defaultvalue for discover
|
|
981
981
|
let returnValue = { newDevice: undefined, newId: undefined };
|
|
@@ -1222,7 +1222,7 @@ class bridgeClass {
|
|
|
1222
1222
|
*/
|
|
1223
1223
|
async getDiscoveryObject(changeInfo, options) {
|
|
1224
1224
|
const activeFunction = 'bridge.js - getDiscoveryObject';
|
|
1225
|
-
this.adapter.log.
|
|
1225
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1226
1226
|
try {
|
|
1227
1227
|
let indexOfStatebegin = -1;
|
|
1228
1228
|
// Check for state discover outsid the applications
|
|
@@ -1302,7 +1302,7 @@ class bridgeClass {
|
|
|
1302
1302
|
*/
|
|
1303
1303
|
async publishDiscovery(id, DiscoveryObject) {
|
|
1304
1304
|
const activeFunction = 'bridge.js - publishDiscovery';
|
|
1305
|
-
this.adapter.log.
|
|
1305
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1306
1306
|
const returnValue = { newDevice: undefined, newId: undefined };
|
|
1307
1307
|
try {
|
|
1308
1308
|
if (!DiscoveryObject.lastDiscover) {
|
|
@@ -1388,7 +1388,7 @@ class bridgeClass {
|
|
|
1388
1388
|
*/
|
|
1389
1389
|
async getEntityType(options) {
|
|
1390
1390
|
const activeFunction = 'bridge.js - getEntityType';
|
|
1391
|
-
this.adapter.log.
|
|
1391
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1392
1392
|
try {
|
|
1393
1393
|
const common = options.common;
|
|
1394
1394
|
const isWritable = options.Bridgestate.subscribe;
|
|
@@ -1438,7 +1438,7 @@ class bridgeClass {
|
|
|
1438
1438
|
*/
|
|
1439
1439
|
async getStateAttributes(common, entityType) {
|
|
1440
1440
|
const activeFunction = 'bridge.js - getStateAttributes';
|
|
1441
|
-
this.adapter.log.
|
|
1441
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1442
1442
|
try {
|
|
1443
1443
|
const role = (common?.role || '').toLowerCase();
|
|
1444
1444
|
const unit = common?.unit || '';
|
|
@@ -1664,7 +1664,7 @@ class bridgeClass {
|
|
|
1664
1664
|
*/
|
|
1665
1665
|
getDeviceIdentifier(changeInfo, DeviceIdentifiers) {
|
|
1666
1666
|
const activeFunction = 'bridge.js - getDeviceIdentifier';
|
|
1667
|
-
this.adapter.log.
|
|
1667
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1668
1668
|
try {
|
|
1669
1669
|
let DeviceIdentifier = '';
|
|
1670
1670
|
let Separator = '';
|
|
@@ -1723,7 +1723,7 @@ class bridgeClass {
|
|
|
1723
1723
|
*/
|
|
1724
1724
|
normalizeString(Inputstring) {
|
|
1725
1725
|
const activeFunction = 'bridge.js - normalizeString';
|
|
1726
|
-
this.adapter.log.
|
|
1726
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1727
1727
|
try {
|
|
1728
1728
|
return Inputstring.replace(/ä/g, 'ae')
|
|
1729
1729
|
.replace(/ö/g, 'oe')
|
|
@@ -1755,7 +1755,7 @@ class bridgeClass {
|
|
|
1755
1755
|
*/
|
|
1756
1756
|
async checkAllStatesForBridgeWork(options) {
|
|
1757
1757
|
const activeFunction = 'bridge.js - checkAllStatesForBridgeWork';
|
|
1758
|
-
this.adapter.log.
|
|
1758
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1759
1759
|
try {
|
|
1760
1760
|
// get old Discovered ids
|
|
1761
1761
|
this.OldDiscoveredIds = JSON.parse((await this.adapter.getStateAsync('info.discoveredIds')).val);
|
|
@@ -1808,7 +1808,7 @@ class bridgeClass {
|
|
|
1808
1808
|
/*
|
|
1809
1809
|
async checkAllStatesForBridgeWork(options) {
|
|
1810
1810
|
const activeFunction = 'bridge.js - checkAllStatesForBridgeWork';
|
|
1811
|
-
this.adapter.log.
|
|
1811
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1812
1812
|
|
|
1813
1813
|
try {
|
|
1814
1814
|
// get old Discovered ids
|
|
@@ -1883,7 +1883,7 @@ class bridgeClass {
|
|
|
1883
1883
|
*/
|
|
1884
1884
|
generateOldDevices(oldDiscoveredIds) {
|
|
1885
1885
|
const activeFunction = 'bridge.js - generateOldDevices';
|
|
1886
|
-
this.adapter.log.
|
|
1886
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1887
1887
|
try {
|
|
1888
1888
|
const oldDevices = {};
|
|
1889
1889
|
for (const id of Object.values(oldDiscoveredIds)) {
|
|
@@ -1980,7 +1980,7 @@ class bridgeClass {
|
|
|
1980
1980
|
*/
|
|
1981
1981
|
async checkDiscoveries() {
|
|
1982
1982
|
const activeFunction = 'bridge.js - checkDiscoveries';
|
|
1983
|
-
this.adapter.log.
|
|
1983
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
1984
1984
|
try {
|
|
1985
1985
|
for (const id in this.OldDiscoveredIds) {
|
|
1986
1986
|
if (!this.DiscoveredIds[id]) {
|
|
@@ -2017,7 +2017,7 @@ class bridgeClass {
|
|
|
2017
2017
|
*/
|
|
2018
2018
|
createScheduleJobs() {
|
|
2019
2019
|
const activeFunction = 'bridge.js - createScheduleJobs';
|
|
2020
|
-
this.adapter.log.
|
|
2020
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2021
2021
|
try {
|
|
2022
2022
|
if (this.adapter.config.EnableRefresh) {
|
|
2023
2023
|
this.DiscoveryCronjob = schedule.scheduleJob(
|
|
@@ -2035,7 +2035,7 @@ class bridgeClass {
|
|
|
2035
2035
|
*/
|
|
2036
2036
|
async startScheduledDiscovery() {
|
|
2037
2037
|
const activeFunction = 'bridge.js - startScheduledDiscovery';
|
|
2038
|
-
this.adapter.log.
|
|
2038
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2039
2039
|
try {
|
|
2040
2040
|
for (const DiscoveredId in this.DiscoveredIds) {
|
|
2041
2041
|
await this.publishDiscovery(DiscoveredId, this.DiscoveredIds[DiscoveredId]);
|
|
@@ -2050,7 +2050,7 @@ class bridgeClass {
|
|
|
2050
2050
|
*/
|
|
2051
2051
|
clearAllSchedules() {
|
|
2052
2052
|
const activeFunction = 'bridge.js - clearAllSchedules';
|
|
2053
|
-
this.adapter.log.
|
|
2053
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2054
2054
|
try {
|
|
2055
2055
|
schedule.cancelJob(this.DiscoveryCronjob);
|
|
2056
2056
|
} catch (error) {
|
|
@@ -2066,7 +2066,7 @@ class bridgeClass {
|
|
|
2066
2066
|
*/
|
|
2067
2067
|
async getForeignClimateConfig() {
|
|
2068
2068
|
const activeFunction = 'bridge.js - getForeignClimateEntities';
|
|
2069
|
-
this.adapter.log.
|
|
2069
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2070
2070
|
try {
|
|
2071
2071
|
for (const config of this.adapter.config.ClimateForeignConfig) {
|
|
2072
2072
|
await this.discoverForeignClimate(config);
|
|
@@ -2083,7 +2083,7 @@ class bridgeClass {
|
|
|
2083
2083
|
*/
|
|
2084
2084
|
async discoverForeignClimate(config) {
|
|
2085
2085
|
const activeFunction = 'bridge.js - discoverForeignClimateEntities';
|
|
2086
|
-
this.adapter.log.
|
|
2086
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2087
2087
|
try {
|
|
2088
2088
|
// Assign the Ids (use the codenameing of discoverClimate)
|
|
2089
2089
|
if (!(await this.generateForeignClimateIds(config))) {
|
|
@@ -2260,7 +2260,7 @@ class bridgeClass {
|
|
|
2260
2260
|
*/
|
|
2261
2261
|
async generateForeignClimateIds(config) {
|
|
2262
2262
|
const activeFunction = 'generateForeignClimateIds';
|
|
2263
|
-
this.adapter.log.
|
|
2263
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2264
2264
|
try {
|
|
2265
2265
|
const climateIds = { target: '', act: '', mode: '' };
|
|
2266
2266
|
climateIds.target = config.TargetId;
|
|
@@ -2299,7 +2299,7 @@ class bridgeClass {
|
|
|
2299
2299
|
*/
|
|
2300
2300
|
async getForeignHumidifierConfig() {
|
|
2301
2301
|
const activeFunction = 'bridge.js - getForeignHumidifierConfig';
|
|
2302
|
-
this.adapter.log.
|
|
2302
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2303
2303
|
try {
|
|
2304
2304
|
for (const config of this.adapter.config.HumidifierForeignConfig) {
|
|
2305
2305
|
await this.discoverForeignHumidifier(config);
|
|
@@ -2316,7 +2316,7 @@ class bridgeClass {
|
|
|
2316
2316
|
*/
|
|
2317
2317
|
async discoverForeignHumidifier(config) {
|
|
2318
2318
|
const activeFunction = 'bridge.js - discoverForeignHumidifier';
|
|
2319
|
-
this.adapter.log.
|
|
2319
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2320
2320
|
try {
|
|
2321
2321
|
// Assign the Ids (use the codenameing of discoverClimate)
|
|
2322
2322
|
if (!(await this.generateForeignHumidifierIds(config))) {
|
|
@@ -2496,7 +2496,7 @@ class bridgeClass {
|
|
|
2496
2496
|
*/
|
|
2497
2497
|
async generateForeignHumidifierIds(config) {
|
|
2498
2498
|
const activeFunction = 'generateForeignHumidifierIds';
|
|
2499
|
-
this.adapter.log.
|
|
2499
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2500
2500
|
try {
|
|
2501
2501
|
const HumidifierIds = { onOff: '', target: '', act: '' };
|
|
2502
2502
|
HumidifierIds.onOff = config.OnOffId;
|
|
@@ -2528,7 +2528,7 @@ class bridgeClass {
|
|
|
2528
2528
|
*/
|
|
2529
2529
|
async getForeignLightConfig() {
|
|
2530
2530
|
const activeFunction = 'bridge.js - getForeignLightConfig';
|
|
2531
|
-
this.adapter.log.
|
|
2531
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2532
2532
|
try {
|
|
2533
2533
|
for (const config of this.adapter.config.LightForeignConfig) {
|
|
2534
2534
|
await this.discoverForeignLight(config);
|
|
@@ -2545,7 +2545,7 @@ class bridgeClass {
|
|
|
2545
2545
|
*/
|
|
2546
2546
|
async discoverForeignLight(config) {
|
|
2547
2547
|
const activeFunction = 'bridge.js - discoverForeignLight';
|
|
2548
|
-
this.adapter.log.
|
|
2548
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2549
2549
|
try {
|
|
2550
2550
|
// Assign the Ids (use the codenameing of discoverClimate)
|
|
2551
2551
|
if (!(await this.generateForeignLightIds(config))) {
|
|
@@ -2740,7 +2740,7 @@ class bridgeClass {
|
|
|
2740
2740
|
*/
|
|
2741
2741
|
async generateForeignLightIds(config) {
|
|
2742
2742
|
const activeFunction = 'generateForeignLightIds';
|
|
2743
|
-
this.adapter.log.
|
|
2743
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2744
2744
|
try {
|
|
2745
2745
|
const LightIds = { onOff: '' };
|
|
2746
2746
|
LightIds.onOff = config.OnOffId;
|
|
@@ -2779,7 +2779,7 @@ class bridgeClass {
|
|
|
2779
2779
|
*/
|
|
2780
2780
|
async getForeignStatesForStandardEntities() {
|
|
2781
2781
|
const activeFunction = 'bridge.js - getForeignStatesForStandardEntities';
|
|
2782
|
-
this.adapter.log.
|
|
2782
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2783
2783
|
try {
|
|
2784
2784
|
const idBridgefunction = this.adapter.config.BridgeEnum;
|
|
2785
2785
|
if (idBridgefunction !== '' && idBridgefunction !== '*') {
|
|
@@ -2807,7 +2807,7 @@ class bridgeClass {
|
|
|
2807
2807
|
*/
|
|
2808
2808
|
async getForeignCoverConfig() {
|
|
2809
2809
|
const activeFunction = 'bridge.js - getForeignCoverConfig';
|
|
2810
|
-
this.adapter.log.
|
|
2810
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2811
2811
|
try {
|
|
2812
2812
|
for (const config of this.adapter.config.CoverForeignConfig) {
|
|
2813
2813
|
await this.discoverForeignCover(config);
|
|
@@ -2824,7 +2824,7 @@ class bridgeClass {
|
|
|
2824
2824
|
*/
|
|
2825
2825
|
async discoverForeignCover(config) {
|
|
2826
2826
|
const activeFunction = 'bridge.js - discoverForeignCover';
|
|
2827
|
-
this.adapter.log.
|
|
2827
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
2828
2828
|
try {
|
|
2829
2829
|
// Assign the Ids (use the codenameing of discoverClimate)
|
|
2830
2830
|
if (!(await this.generateForeignCoverIds(config))) {
|
|
@@ -3124,7 +3124,7 @@ class bridgeClass {
|
|
|
3124
3124
|
*/
|
|
3125
3125
|
async generateForeignCoverIds(config) {
|
|
3126
3126
|
const activeFunction = 'generateForeignCoverIds';
|
|
3127
|
-
this.adapter.log.
|
|
3127
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3128
3128
|
try {
|
|
3129
3129
|
const CoverIds = {};
|
|
3130
3130
|
if (config.CoverSeparate === 'string') {
|
|
@@ -3175,7 +3175,7 @@ class bridgeClass {
|
|
|
3175
3175
|
*/
|
|
3176
3176
|
async getForeignLockConfig() {
|
|
3177
3177
|
const activeFunction = 'bridge.js - getForeignLockConfig';
|
|
3178
|
-
this.adapter.log.
|
|
3178
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3179
3179
|
try {
|
|
3180
3180
|
for (const config of this.adapter.config.LockForeignConfig) {
|
|
3181
3181
|
await this.discoverForeignLock(config);
|
|
@@ -3192,7 +3192,7 @@ class bridgeClass {
|
|
|
3192
3192
|
*/
|
|
3193
3193
|
async discoverForeignLock(config) {
|
|
3194
3194
|
const activeFunction = 'bridge.js - discoverForeignLock';
|
|
3195
|
-
this.adapter.log.
|
|
3195
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3196
3196
|
try {
|
|
3197
3197
|
// Assign the Ids (use the codenameing of discoverClimate)
|
|
3198
3198
|
if (!(await this.generateForeignLockIds(config))) {
|
|
@@ -3338,7 +3338,7 @@ class bridgeClass {
|
|
|
3338
3338
|
*/
|
|
3339
3339
|
async generateForeignLockIds(config) {
|
|
3340
3340
|
const activeFunction = 'generateForeignLockIds';
|
|
3341
|
-
this.adapter.log.
|
|
3341
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3342
3342
|
try {
|
|
3343
3343
|
const LockIds = {};
|
|
3344
3344
|
if (config.LockSeparate === 'string') {
|
|
@@ -3381,7 +3381,7 @@ class bridgeClass {
|
|
|
3381
3381
|
*/
|
|
3382
3382
|
async discoverForeignRange(id, clear = false) {
|
|
3383
3383
|
const activeFunction = 'bridge.js - discoverForeignRange';
|
|
3384
|
-
this.adapter.log.
|
|
3384
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3385
3385
|
try {
|
|
3386
3386
|
const params = {
|
|
3387
3387
|
startkey: id,
|
|
@@ -3423,7 +3423,7 @@ class bridgeClass {
|
|
|
3423
3423
|
*/
|
|
3424
3424
|
async getParentNameing(id) {
|
|
3425
3425
|
const activeFunction = 'bridge.js - getParentNameing';
|
|
3426
|
-
this.adapter.log.
|
|
3426
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3427
3427
|
try {
|
|
3428
3428
|
let parentId = '';
|
|
3429
3429
|
let parentName = '';
|
|
@@ -3476,7 +3476,7 @@ class bridgeClass {
|
|
|
3476
3476
|
*/
|
|
3477
3477
|
async discoverForeignStandardEntity(id, options) {
|
|
3478
3478
|
const activeFunction = 'bridge.js - discoverForeignStandardEntity';
|
|
3479
|
-
this.adapter.log.
|
|
3479
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3480
3480
|
try {
|
|
3481
3481
|
const state = await this.adapter.getForeignStateAsync(id);
|
|
3482
3482
|
|
|
@@ -3566,7 +3566,7 @@ class bridgeClass {
|
|
|
3566
3566
|
*/
|
|
3567
3567
|
async getUniqueString(id, deviceidentifier) {
|
|
3568
3568
|
const activeFunction = 'bridge.js - getUniqueString';
|
|
3569
|
-
this.adapter.log.
|
|
3569
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3570
3570
|
try {
|
|
3571
3571
|
const unique = {
|
|
3572
3572
|
flat: `${this.normalizeString(deviceidentifier)}_${this.normalizeString(id)}`,
|
|
@@ -3583,7 +3583,7 @@ class bridgeClass {
|
|
|
3583
3583
|
*/
|
|
3584
3584
|
async getParentDevice(id) {
|
|
3585
3585
|
const activeFunction = 'bridge.js - getParentDevice';
|
|
3586
|
-
this.adapter.log.
|
|
3586
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3587
3587
|
try {
|
|
3588
3588
|
const firstIdexOfDot = id.indexOf('.');
|
|
3589
3589
|
const lastIdexOfDot = id.lastIndexOf('.');
|
|
@@ -3609,7 +3609,7 @@ class bridgeClass {
|
|
|
3609
3609
|
*/
|
|
3610
3610
|
async getParentChannel(id) {
|
|
3611
3611
|
const activeFunction = 'bridge.js - getParentChannel';
|
|
3612
|
-
this.adapter.log.
|
|
3612
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
3613
3613
|
try {
|
|
3614
3614
|
const firstIdexOfDot = id.indexOf('.');
|
|
3615
3615
|
const lastIdexOfDot = id.lastIndexOf('.');
|
|
@@ -21,7 +21,7 @@ class bridgeDeviceHandlerClass {
|
|
|
21
21
|
*/
|
|
22
22
|
async generateDeviceStructure(message) {
|
|
23
23
|
const activeFunction = 'bridgeDeviceHandler.js - generateDeviceStructure';
|
|
24
|
-
this.adapter.log.
|
|
24
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
25
25
|
try {
|
|
26
26
|
// Query for Entity
|
|
27
27
|
if (message.entities) {
|
|
@@ -152,7 +152,7 @@ class bridgeDeviceHandlerClass {
|
|
|
152
152
|
*/
|
|
153
153
|
generateStructure(entity) {
|
|
154
154
|
const activeFunction = 'bridgeDeviceHandler.js - generateStructure';
|
|
155
|
-
this.adapter.log.
|
|
155
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
156
156
|
try {
|
|
157
157
|
if (!entity || !entity.entity_id) {
|
|
158
158
|
return null;
|
|
@@ -214,7 +214,7 @@ class bridgeDeviceHandlerClass {
|
|
|
214
214
|
*/
|
|
215
215
|
detectType(entity) {
|
|
216
216
|
const activeFunction = 'bridgeDeviceHandler.js - detectType';
|
|
217
|
-
this.adapter.log.
|
|
217
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
218
218
|
try {
|
|
219
219
|
const s = entity.state;
|
|
220
220
|
|
|
@@ -235,7 +235,7 @@ class bridgeDeviceHandlerClass {
|
|
|
235
235
|
*/
|
|
236
236
|
detectAssign(entity) {
|
|
237
237
|
const activeFunction = 'bridgeDeviceHandler.js - detectAssign';
|
|
238
|
-
this.adapter.log.
|
|
238
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
239
239
|
try {
|
|
240
240
|
const s = entity.state;
|
|
241
241
|
if (['on', 'off'].includes(s)) {
|
|
@@ -255,7 +255,7 @@ class bridgeDeviceHandlerClass {
|
|
|
255
255
|
*/
|
|
256
256
|
isWritable(domain) {
|
|
257
257
|
const activeFunction = 'bridgeDeviceHandler.js - isWritable';
|
|
258
|
-
this.adapter.log.
|
|
258
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
259
259
|
try {
|
|
260
260
|
return [
|
|
261
261
|
'switch',
|
|
@@ -279,7 +279,7 @@ class bridgeDeviceHandlerClass {
|
|
|
279
279
|
*/
|
|
280
280
|
detectRole(entity, domain, type) {
|
|
281
281
|
const activeFunction = 'bridgeDeviceHandler.js - detectRole';
|
|
282
|
-
this.adapter.log.
|
|
282
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
283
283
|
try {
|
|
284
284
|
if (domain === 'switch') {
|
|
285
285
|
return 'switch';
|
|
@@ -322,7 +322,7 @@ class bridgeDeviceHandlerClass {
|
|
|
322
322
|
*/
|
|
323
323
|
buildSafeStateId(entity) {
|
|
324
324
|
const activeFunction = 'bridgeDeviceHandler.js - buildSafeStateId';
|
|
325
|
-
this.adapter.log.
|
|
325
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
326
326
|
try {
|
|
327
327
|
// 1. Basis: unique_id oder entity_id
|
|
328
328
|
const baseId = entity.unique_id || entity.entity_id;
|
|
@@ -353,7 +353,7 @@ class bridgeDeviceHandlerClass {
|
|
|
353
353
|
*/
|
|
354
354
|
async sendData(id, state) {
|
|
355
355
|
const activeFunction = 'bridgeDeviceHandler.js - sendData';
|
|
356
|
-
this.adapter.log.
|
|
356
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
357
357
|
try {
|
|
358
358
|
const idObject = await this.adapter.getObjectAsync(id);
|
|
359
359
|
const sendInfo = {};
|
|
@@ -86,7 +86,7 @@ class directorieshandlerClass {
|
|
|
86
86
|
//general function for writecommands
|
|
87
87
|
this.executeWritecommand = async (writecommand, elementName, sourceId, value) => {
|
|
88
88
|
const activeFunction = 'executeWritecommand';
|
|
89
|
-
this.adapter.log.
|
|
89
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
90
90
|
try {
|
|
91
91
|
// Check, if there is a writetrigger and the stateval is not euqal its releaseVal(still present)
|
|
92
92
|
if (writecommand.releaseValue !== value) {
|
|
@@ -114,7 +114,7 @@ class directorieshandlerClass {
|
|
|
114
114
|
// Define settings for writecommand devicetype
|
|
115
115
|
this.writeCommandDeviceType = async (elementName, sourceId, value) => {
|
|
116
116
|
const activeFunction = 'writeCommandDeviceType';
|
|
117
|
-
this.adapter.log.
|
|
117
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
118
118
|
try {
|
|
119
119
|
const writecommand = {
|
|
120
120
|
destination: 'configuration.devicetype',
|
|
@@ -248,7 +248,7 @@ class directorieshandlerClass {
|
|
|
248
248
|
*/
|
|
249
249
|
async generateRekursivObjects(obj, startDirectory, topic, message, options) {
|
|
250
250
|
const activeFunction = 'generateRekursivObjects';
|
|
251
|
-
this.adapter.log.
|
|
251
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
252
252
|
try {
|
|
253
253
|
// just proceed with ojects
|
|
254
254
|
if (typeof obj === 'object') {
|
|
@@ -531,7 +531,7 @@ class directorieshandlerClass {
|
|
|
531
531
|
*/
|
|
532
532
|
getAttributValue(topic, message, resolvetype) {
|
|
533
533
|
const activeFunction = 'getAttributValue';
|
|
534
|
-
this.adapter.log.
|
|
534
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
535
535
|
try {
|
|
536
536
|
// Select search in case of origin
|
|
537
537
|
switch (this.adapter.config.origin) {
|
|
@@ -556,7 +556,7 @@ class directorieshandlerClass {
|
|
|
556
556
|
*/
|
|
557
557
|
getIconPath(topic, message, icontype) {
|
|
558
558
|
const activeFunction = 'getIconPath';
|
|
559
|
-
this.adapter.log.
|
|
559
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
560
560
|
try {
|
|
561
561
|
// Select search in case of origin
|
|
562
562
|
switch (this.adapter.config.origin) {
|
|
@@ -576,7 +576,7 @@ class directorieshandlerClass {
|
|
|
576
576
|
*/
|
|
577
577
|
analyseConnection(sf, rssi) {
|
|
578
578
|
const activeFunction = 'getIcon';
|
|
579
|
-
this.adapter.log.
|
|
579
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
580
580
|
try {
|
|
581
581
|
this.adapter.log.silly(`icon for device with sf: ${sf} and rssi: ${rssi} requested`);
|
|
582
582
|
let iconPath = `icons/wifiSf`;
|
|
@@ -615,7 +615,7 @@ class directorieshandlerClass {
|
|
|
615
615
|
*/
|
|
616
616
|
getDeviceStartDirectory(topic, message) {
|
|
617
617
|
const activeFunction = 'getDeviceStartDirectory';
|
|
618
|
-
this.adapter.log.
|
|
618
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
619
619
|
try {
|
|
620
620
|
const applicationId = `${this.getAttributValue(topic, message, this.searchableAttributeNames.applicationId)}`;
|
|
621
621
|
const deviceEUI = `${this.getAttributValue(topic, message, this.searchableAttributeNames.deviceEUI)}`;
|
|
@@ -633,7 +633,7 @@ class directorieshandlerClass {
|
|
|
633
633
|
*/
|
|
634
634
|
getTopicResolved(topic) {
|
|
635
635
|
const activeFunction = 'getTopicResolved';
|
|
636
|
-
this.adapter.log.
|
|
636
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
637
637
|
try {
|
|
638
638
|
this.adapter.log.silly(`topic ${topic} is requested for resolveing`);
|
|
639
639
|
// Select in case of origin
|
|
@@ -663,7 +663,7 @@ class directorieshandlerClass {
|
|
|
663
663
|
*/
|
|
664
664
|
getTtnAttributValue(topic, message, resolvetype) {
|
|
665
665
|
const activeFunction = 'getTtnAttributValue';
|
|
666
|
-
this.adapter.log.
|
|
666
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
667
667
|
try {
|
|
668
668
|
this.adapter.log.silly(`attribute ${resolvetype} is requested for ttn`);
|
|
669
669
|
const topicResolved = this.getTopicResolved(topic);
|
|
@@ -700,7 +700,7 @@ class directorieshandlerClass {
|
|
|
700
700
|
*/
|
|
701
701
|
getTtnIconPath(topic, message, icontype) {
|
|
702
702
|
const activeFunction = 'getTtnIconPath';
|
|
703
|
-
this.adapter.log.
|
|
703
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
704
704
|
try {
|
|
705
705
|
this.adapter.log.silly(`icontype ${icontype} is requested for ttn`);
|
|
706
706
|
switch (icontype) {
|
|
@@ -734,7 +734,7 @@ class directorieshandlerClass {
|
|
|
734
734
|
*/
|
|
735
735
|
getTtnTopicResolved(topic) {
|
|
736
736
|
const activeFunction = 'getTtnTopicResolved';
|
|
737
|
-
this.adapter.log.
|
|
737
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
738
738
|
try {
|
|
739
739
|
const topicElements = topic.split('/');
|
|
740
740
|
const topicResolved = {
|
|
@@ -771,7 +771,7 @@ class directorieshandlerClass {
|
|
|
771
771
|
*/
|
|
772
772
|
getChirpstackAttributValue(topic, message, resolvetype) {
|
|
773
773
|
const activeFunction = 'getChirpstackAttributValue';
|
|
774
|
-
this.adapter.log.
|
|
774
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
775
775
|
try {
|
|
776
776
|
this.adapter.log.silly(`attribute ${resolvetype} is requested for chirpstack`);
|
|
777
777
|
const topicResolved = this.getTopicResolved(topic);
|
|
@@ -808,7 +808,7 @@ class directorieshandlerClass {
|
|
|
808
808
|
*/
|
|
809
809
|
getChirpstackIconPath(topic, message, icontype) {
|
|
810
810
|
const activeFunction = 'getChirpstackIconPath';
|
|
811
|
-
this.adapter.log.
|
|
811
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
812
812
|
try {
|
|
813
813
|
this.adapter.log.silly(`icontype ${icontype} is requested for Chirpstack`);
|
|
814
814
|
switch (icontype) {
|
|
@@ -839,7 +839,7 @@ class directorieshandlerClass {
|
|
|
839
839
|
*/
|
|
840
840
|
getChirpstackTopicResolved(topic) {
|
|
841
841
|
const activeFunction = 'getChirpstackTopicResolved';
|
|
842
|
-
this.adapter.log.
|
|
842
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
843
843
|
try {
|
|
844
844
|
const topicElements = topic.split('/');
|
|
845
845
|
const topicResolved = {
|
|
@@ -60,7 +60,7 @@ class messagehandlerClass {
|
|
|
60
60
|
async checkTimestamps() {
|
|
61
61
|
const activeFunction = 'checkTimestamps';
|
|
62
62
|
try {
|
|
63
|
-
this.adapter.log.
|
|
63
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
64
64
|
const adapterObjects = await this.adapter.getAdapterObjectsAsync();
|
|
65
65
|
// Generate Infos of all defices and decoded folders
|
|
66
66
|
for (const adapterObject of Object.values(adapterObjects)) {
|
|
@@ -146,7 +146,10 @@ class messagehandlerClass {
|
|
|
146
146
|
try {
|
|
147
147
|
const adapterObjectsAtStart = await this.adapter.getAdapterObjectsAsync();
|
|
148
148
|
for (const adapterObject of Object.values(adapterObjectsAtStart)) {
|
|
149
|
-
if (
|
|
149
|
+
if (
|
|
150
|
+
adapterObject.type === 'device' &&
|
|
151
|
+
!adapterObject._id.startsWith(`${this.adapter.namespace}.bridge`)
|
|
152
|
+
) {
|
|
150
153
|
await this.fillWithDownlinkConfig(this.adapter.removeNamespace(adapterObject._id), {
|
|
151
154
|
startup: true,
|
|
152
155
|
});
|
|
@@ -179,7 +182,7 @@ class messagehandlerClass {
|
|
|
179
182
|
*/
|
|
180
183
|
async generateDeviceinfosAtStartup() {
|
|
181
184
|
const activeFunction = 'generateDeviceinfosAtStartup';
|
|
182
|
-
this.adapter.log.
|
|
185
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
183
186
|
try {
|
|
184
187
|
const adapterObjectsAtStart = await this.adapter.getAdapterObjectsAsync();
|
|
185
188
|
this.adapter.log.debug(`Adapter objects at start: ${JSON.stringify(adapterObjectsAtStart)}`);
|
|
@@ -284,7 +287,7 @@ class messagehandlerClass {
|
|
|
284
287
|
*/
|
|
285
288
|
async assignDeviceInformation(id, message) {
|
|
286
289
|
const activeFunction = 'assignDeviceInformation';
|
|
287
|
-
this.adapter.log.
|
|
290
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
288
291
|
try {
|
|
289
292
|
const changeInfo = await this.adapter.getChangeInfo(id);
|
|
290
293
|
// Create Attribute for application id
|
|
@@ -411,7 +414,7 @@ class messagehandlerClass {
|
|
|
411
414
|
async fillWithDownlinkConfig(deviceStartdirectory, options) {
|
|
412
415
|
const activeFunction = 'fillWithDownlinkConfig';
|
|
413
416
|
try {
|
|
414
|
-
this.adapter.log.
|
|
417
|
+
this.adapter.log.silly(`Function ${activeFunction} started.`);
|
|
415
418
|
const changeInfo = await this.adapter.getChangeInfo(`${deviceStartdirectory}.fillDownlinkFolder`, {
|
|
416
419
|
withBestMatch: true,
|
|
417
420
|
});
|
package/main.js
CHANGED
|
@@ -460,7 +460,7 @@ class Lorawan extends utils.Adapter {
|
|
|
460
460
|
async onObjectChange(id, obj) {
|
|
461
461
|
this.log.debug(`${id} is changed into ${JSON.stringify(obj.common)}`);
|
|
462
462
|
const activeFunction = 'main.js - onObjectChange';
|
|
463
|
-
this.log.
|
|
463
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
464
464
|
try {
|
|
465
465
|
// Only work, if bridge is activ
|
|
466
466
|
if (this.bridge) {
|
|
@@ -903,7 +903,7 @@ class Lorawan extends utils.Adapter {
|
|
|
903
903
|
|
|
904
904
|
async checkSendDownlinkWithUplink(id, options) {
|
|
905
905
|
const activeFunction = 'main.js - checkSendDownlinkWithUplink';
|
|
906
|
-
this.log.
|
|
906
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
907
907
|
try {
|
|
908
908
|
this.log.debug(`Check for send downlink with uplink.`);
|
|
909
909
|
const changeInfo = await this.getChangeInfo(id, { withBestMatch: true });
|
|
@@ -933,7 +933,7 @@ class Lorawan extends utils.Adapter {
|
|
|
933
933
|
|
|
934
934
|
async getNextSend(deviceDirectory) {
|
|
935
935
|
const activeFunction = 'main.js - getNextSend';
|
|
936
|
-
this.log.
|
|
936
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
937
937
|
try {
|
|
938
938
|
const idFolder = `${deviceDirectory}.${this.messagehandler?.directoryhandler.reachableSubfolders.downlinkNextSend}`;
|
|
939
939
|
return await this.getStateAsync(`${idFolder}.hex`);
|
|
@@ -944,7 +944,7 @@ class Lorawan extends utils.Adapter {
|
|
|
944
944
|
|
|
945
945
|
async writeNextSend(changeInfo, payloadInHex) {
|
|
946
946
|
const activeFunction = 'main.js - writeNextSend';
|
|
947
|
-
this.log.
|
|
947
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
948
948
|
try {
|
|
949
949
|
const idFolderNextSend = `${changeInfo.objectStartDirectory}.${this.messagehandler?.directoryhandler.reachableSubfolders.downlinkNextSend}`;
|
|
950
950
|
const stateId = `${idFolderNextSend}.hex`;
|
|
@@ -972,7 +972,7 @@ class Lorawan extends utils.Adapter {
|
|
|
972
972
|
// Serialize functions
|
|
973
973
|
async withLock(locksMap, key, fn) {
|
|
974
974
|
const activeFunction = 'main.js - withLock';
|
|
975
|
-
this.log.
|
|
975
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
976
976
|
const prev = locksMap.get(key) || Promise.resolve();
|
|
977
977
|
|
|
978
978
|
// fn erst starten, wenn prev fertig ist (egal ob ok oder Fehler)
|
|
@@ -998,7 +998,7 @@ class Lorawan extends utils.Adapter {
|
|
|
998
998
|
|
|
999
999
|
async sendDownlink(topic, message, changeInfo) {
|
|
1000
1000
|
const activeFunction = 'main.js - sendDownlink';
|
|
1001
|
-
this.log.
|
|
1001
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
1002
1002
|
try {
|
|
1003
1003
|
await this.mqttClient?.publish(topic, message, {});
|
|
1004
1004
|
const idFolderNextSend = `${changeInfo.objectStartDirectory}.${this.messagehandler?.directoryhandler.reachableSubfolders.downlinkNextSend}`;
|
|
@@ -1018,7 +1018,7 @@ class Lorawan extends utils.Adapter {
|
|
|
1018
1018
|
|
|
1019
1019
|
getHexpayloadFromDownlink(downlinkmessage) {
|
|
1020
1020
|
const activeFunction = 'main.js - getHexpayloadFromDownlink';
|
|
1021
|
-
this.log.
|
|
1021
|
+
this.log.silly(`Function ${activeFunction} started.`);
|
|
1022
1022
|
try {
|
|
1023
1023
|
let downlink = downlinkmessage;
|
|
1024
1024
|
if (typeof downlink === 'string') {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.lorawan",
|
|
3
|
-
"version": "1.19.
|
|
3
|
+
"version": "1.19.2",
|
|
4
4
|
"description": "converts the desired lora gateway data to a ioBroker structure",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "BenAhrdt",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
"@iobroker/testing": "^5.2.2",
|
|
42
42
|
"@tsconfig/node20": "^20.1.8",
|
|
43
43
|
"@types/lodash": "^4.17.21",
|
|
44
|
-
"@types/node": "^
|
|
44
|
+
"@types/node": "^25.0.3",
|
|
45
45
|
"typescript": "~5.9.3"
|
|
46
46
|
},
|
|
47
47
|
"main": "main.js",
|