iobroker.lorawan 1.22.25 → 1.22.27

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,13 @@ 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.27 (2026-07-04)
28
+ - (BenAhrdt) Bugfix warning for wrong id
29
+ - (BenAhrdt) Add Profile to downloadconfig
30
+
31
+ ### 1.22.26 (2026-07-04)
32
+ - (BenAhrdt) Add ststes into Lock entity for ToIob devices
33
+
27
34
  ### 1.22.25 (2026-06-25)
28
35
  - (BenAhrdt) Change Assignhandler for case intensive Check
29
36
  - (BenAhrdt) Add subAssign for a part of name
@@ -34,12 +41,6 @@ For now there is documentation in English here: https://wiki.hafenmeister.de
34
41
  ### 1.22.23 (2026-06-17)
35
42
  - (BenAhrdt) setTimeout changed into this.adapter.SetTimeout
36
43
 
37
- ### 1.22.22 (2026-06-16)
38
- - (BenAhrdt) Remove writing of the last 10 values at receive and public message
39
-
40
- ### 1.22.21 (2026-06-16)
41
- - (BenAhrdt) Changed setTimeout to this.adapter.setTimeout
42
-
43
44
  [Older changes can be found there](CHANGELOG_OLD.md)
44
45
 
45
46
  ## License
@@ -232,7 +232,7 @@
232
232
  "customJson": "Objekt für den \"Custom\"-Bereich im \"Common\" Objekt",
233
233
  "customJsonActiveTooltip": "With this function it is possible to add your own custom entries to the decoded states",
234
234
  "customJsonInformation": "With this function it is possible to add your own custom entries to the decoded states. Just input the desired json content in active function.",
235
- "customJsonTooltip": "Fügen Sie ein Objekt hinzu, welches in common.custom geschrieben wird.",
235
+ "customJsonTooltip": "Add a new Object, wich will be written into common.custom.",
236
236
  "decimalPlaces": "decimal places",
237
237
  "decimalPlacesTooltip": "select the desired numberof decimal places",
238
238
  "detectedRoles": "detected roles",
package/io-package.json CHANGED
@@ -1,8 +1,34 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "lorawan",
4
- "version": "1.22.25",
4
+ "version": "1.22.27",
5
5
  "news": {
6
+ "1.22.27": {
7
+ "en": "Bugfix warning for wrong id\nAdd Profile to downloadconfig",
8
+ "de": "Bugfix-Warnung wegen falscher ID\nProfil zu downloadconfig hinzufügen",
9
+ "ru": "Исправлено предупреждение об ошибке, связанной с неверным идентификатором.\nДобавить профиль в downloadconfig",
10
+ "pt": "Aviso de correção de bug para ID incorreto\nAdicionar perfil ao downloadconfig",
11
+ "nl": "Bugfix-waarschuwing voor onjuiste ID\nVoeg profiel toe aan downloadconfig",
12
+ "fr": "Avertissement de correction de bug pour identifiant incorrect\nAjouter le profil à downloadconfig",
13
+ "it": "Avviso di correzione bug per ID errato\nAggiungi il profilo a downloadconfig",
14
+ "es": "Advertencia de corrección de errores por ID incorrecto\nAgregar perfil a downloadconfig",
15
+ "pl": "Ostrzeżenie o naprawie błędu dotyczącego nieprawidłowego identyfikatora\nDodaj profil do downloadconfig",
16
+ "uk": "Попередження про виправлення помилки для неправильного ідентифікатора\nДодати профіль до завантаженої конфігурації",
17
+ "zh-cn": "修复错误 ID 警告\n将配置文件添加到 downloadconfig"
18
+ },
19
+ "1.22.26": {
20
+ "en": "Add ststes into Lock entity for ToIob devices",
21
+ "de": "Fügen Sie Statusmeldungen zur Sperrentität für ToIob-Geräte hinzu.",
22
+ "ru": "Добавьте sttes в сущность Lock для устройств ToIob.",
23
+ "pt": "Adicionar estados à entidade Lock para dispositivos ToIob",
24
+ "nl": "Voeg statussen toe aan de Lock-entiteit voor ToIob-apparaten.",
25
+ "fr": "Ajouter des ststes à l'entité Verrou pour les périphériques ToIob",
26
+ "it": "Aggiungi stati all'entità Blocco per i dispositivi ToIob",
27
+ "es": "Agregar estados a la entidad Bloqueo para dispositivos ToIob",
28
+ "pl": "Dodaj stacje do encji blokady dla urządzeń ToIob",
29
+ "uk": "Додати станції до сутності блокування для пристроїв ToIob",
30
+ "zh-cn": "将状态添加到锁定实体中,用于 ToIob 设备"
31
+ },
6
32
  "1.22.25": {
7
33
  "en": "Change Assignhandler for case intensive Check\nAdd subAssign for a part of name",
8
34
  "de": "Ändern Sie den Zuweisungshandler für die fallintensive Prüfung.\nFüge Unterzuweisung für einen Teil des Namens hinzu",
@@ -67,32 +93,6 @@
67
93
  "pl": "Zmieniono timeout do tego. Adapter. setTimeout",
68
94
  "uk": "Змінено setTimeout в this.adapter.setTimeout",
69
95
  "zh-cn": "更改了设置 Timeout 到此. adapter. set Timeout"
70
- },
71
- "1.22.20": {
72
- "en": "Write publishIds and subscribedTopics delayed",
73
- "de": "Write publishIds und abonnierteTopics verzögert",
74
- "ru": "Написать Ids и подписатьсяTopics задерживается",
75
- "pt": "Escrever os IDs de publicação e os Topics subscritos atrasados",
76
- "nl": "PublicerenIds en geabonneerdTopics vertraagd schrijven",
77
- "fr": "Ecrire des Ids et s'abonnerSujets retardés",
78
- "it": "Scrivere pubblicaIds e abbonati Argomenti ritardati",
79
- "es": "Escribe publicacionesIds y suscritosTemas retrasados",
80
- "pl": "Napisz publishIds i subskrybedTopics opóźnione",
81
- "uk": "Напишіть відгукПрихильники та підписки",
82
- "zh-cn": "写入 Publishing Ids 和订阅日期延迟"
83
- },
84
- "1.22.19": {
85
- "en": "Test durch fehlerhaften git commit",
86
- "de": "Test durch fehlerhaften git commit",
87
- "ru": "Тестирование durch fehlerhaften",
88
- "pt": "Teste durch fehlerhaften git commit",
89
- "nl": "Test durch fehlerhoften git commit",
90
- "fr": "Tester l'engagement de fehlerhaften git",
91
- "it": "Test durch fehlerhaften git commit",
92
- "es": "Test durch fehlerhaften git commit",
93
- "pl": "Test durch fehlerhaften git commit",
94
- "uk": "Тест дюх fehlerhaften git commit",
95
- "zh-cn": "测试 fehlerhaften git 执行"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -2446,7 +2446,7 @@ class bridgeClass extends EventEmiter {
2446
2446
  // Assign the Ids (use the codenameing of discoverHumidifier)
2447
2447
  if (!(await this.generateForeignHumidifierIds(config))) {
2448
2448
  this.adapter.log.warn(
2449
- `The Foreign Humidifier config is not complete, or has error(s): ${config.ClimateName}`,
2449
+ `The Foreign Humidifier config is not complete, or has error(s): ${config.HumidifierName}`,
2450
2450
  );
2451
2451
  return;
2452
2452
  }
@@ -2686,9 +2686,7 @@ class bridgeClass extends EventEmiter {
2686
2686
  );
2687
2687
  // Assign the Ids (use the codenameing of discoverLight)
2688
2688
  if (!(await this.generateForeignLightIds(config))) {
2689
- this.adapter.log.warn(
2690
- `The Foreign Light config is not complete, or has error(s): ${config.ClimateName}`,
2691
- );
2689
+ this.adapter.log.warn(`The Foreign Light config is not complete, or has error(s): ${config.LightName}`);
2692
2690
  return;
2693
2691
  }
2694
2692
 
@@ -3022,9 +3020,7 @@ class bridgeClass extends EventEmiter {
3022
3020
  );
3023
3021
  // Assign the Ids (use the codenameing of discoverCover)
3024
3022
  if (!(await this.generateForeignCoverIds(config))) {
3025
- this.adapter.log.warn(
3026
- `The Foreign Cover config is not complete, or has error(s): ${config.ClimateName}`,
3027
- );
3023
+ this.adapter.log.warn(`The Foreign Cover config is not complete, or has error(s): ${config.CoverName}`);
3028
3024
  return;
3029
3025
  }
3030
3026
 
@@ -3773,9 +3769,7 @@ class bridgeClass extends EventEmiter {
3773
3769
  );
3774
3770
  // Assign the Ids (use the codenameing of discoverMower)
3775
3771
  if (!(await this.generateForeignMowerIds(config))) {
3776
- this.adapter.log.warn(
3777
- `The Foreign Mower config is not complete, or has error(s): ${config.ClimateName}`,
3778
- );
3772
+ this.adapter.log.warn(`The Foreign Mower config is not complete, or has error(s): ${config.MowerName}`);
3779
3773
  return;
3780
3774
  }
3781
3775
 
@@ -449,8 +449,7 @@ class bridgeDeviceHandlerClass {
449
449
  type: 'string',
450
450
  role: this.detectRole(entity, type),
451
451
  read: true,
452
- write: true,
453
- states: entity.capabilities.commands.states ? entity.capabilities.commands.states : undefined,
452
+ write: false,
454
453
  val: entity.state,
455
454
  isAttribute: true,
456
455
  });
@@ -560,21 +559,38 @@ class bridgeDeviceHandlerClass {
560
559
  * **********************************************************************************************
561
560
  * *********************************************************************************************/
562
561
  } else if (entity.domain === 'lock') {
563
- const commands = {
564
- lock: 'lock',
565
- unlock: 'unlock',
566
- };
567
- if ((entity.attributes.supported_features & 1) !== 0) {
568
- commands.open = 'open';
562
+ if (!entity.capabilities.commands) {
563
+ const commands = {
564
+ states: {
565
+ 0: 'lock',
566
+ 1: 'unlock',
567
+ },
568
+ };
569
+ if ((entity.attributes.supported_features & 1) !== 0) {
570
+ commands.states[2] = 'open';
571
+ }
572
+ entity.capabilities.commands = commands;
569
573
  }
574
+
570
575
  state.push({
571
576
  id: `${channel.id}.command`,
572
577
  name: clearStatename || stateId,
573
- type: 'string',
578
+ type: 'number',
574
579
  role: this.detectRole(entity, type),
575
580
  read: true,
576
581
  write: true,
577
- states: commands,
582
+ states: entity.capabilities.commands.states ? entity.capabilities.commands.states : undefined,
583
+ val: null,
584
+ isAttribute: true,
585
+ });
586
+
587
+ state.push({
588
+ id: `${channel.id}.state`,
589
+ name: clearStatename || stateId,
590
+ type: 'string',
591
+ role: this.detectRole(entity, type),
592
+ read: true,
593
+ write: false,
578
594
  val: entity.state,
579
595
  isAttribute: true,
580
596
  });
@@ -866,7 +882,8 @@ class bridgeDeviceHandlerClass {
866
882
  // humidity
867
883
  if (id.endsWith('command')) {
868
884
  sendInfo.attribute = 'command';
869
- sendInfo.value = state.val;
885
+ const commands = idObject.native.entity.capabilities.commands.states;
886
+ sendInfo.value = commands[state.val];
870
887
  }
871
888
  }
872
889
  } else {
@@ -0,0 +1,126 @@
1
+ {
2
+ "deviceType": "MC-PIR-Mini",
3
+ "sendWithUplink": "disabled",
4
+ "port": 1,
5
+ "priority": "NORMAL",
6
+ "confirmed": false,
7
+ "downlinkParameter": [
8
+ {
9
+ "name": "Intervall",
10
+ "port": 1,
11
+ "priority": "NORMAL",
12
+ "type": "number",
13
+ "confirmed": false,
14
+ "front": "02",
15
+ "end": "12",
16
+ "length": 6,
17
+ "on": "01",
18
+ "off": "11",
19
+ "onClick": "030111",
20
+ "multiplyfaktor": "1",
21
+ "unit": "Minuten",
22
+ "deviceType": "Vicki",
23
+ "lengthInByte": 1,
24
+ "decimalPlaces": 0,
25
+ "crc": "noCrc",
26
+ "limitMax": true,
27
+ "limitMin": true,
28
+ "limitMinValue": 3,
29
+ "limitMaxValue": 60,
30
+ "swap": false
31
+ },
32
+ {
33
+ "name": "PIR Demo Mode",
34
+ "port": 1,
35
+ "priority": "NORMAL",
36
+ "type": "boolean",
37
+ "swap": false,
38
+ "_statciText": null,
39
+ "confirmed": false,
40
+ "front": "51",
41
+ "end": "",
42
+ "lengthInByte": 2,
43
+ "on": "3C013D",
44
+ "off": "3C003D",
45
+ "onClick": "030111",
46
+ "multiplyfaktor": 10,
47
+ "decimalPlaces": 1,
48
+ "unit": "",
49
+ "crc": "noCrc",
50
+ "limitMin": true,
51
+ "limitMinValue": 6,
52
+ "limitMax": true,
53
+ "limitMaxValue": 30
54
+ },
55
+ {
56
+ "name": "GetInfos",
57
+ "port": 1,
58
+ "priority": "NORMAL",
59
+ "type": "button",
60
+ "confirmed": false,
61
+ "front": "03",
62
+ "end": "11",
63
+ "length": 8,
64
+ "on": "01",
65
+ "off": "11",
66
+ "onClick": "04121F3D",
67
+ "multiplyfaktor": "1",
68
+ "unit": "",
69
+ "deviceType": "Vicki",
70
+ "decimalPlaces": "1",
71
+ "crc": "noCrc",
72
+ "limitMax": false,
73
+ "lengthInByte": 3,
74
+ "limitMin": false,
75
+ "limitMinValue": 0,
76
+ "limitMaxValue": 0,
77
+ "swap": false
78
+ },
79
+ {
80
+ "name": "Restart",
81
+ "port": 1,
82
+ "priority": "NORMAL",
83
+ "type": "button",
84
+ "swap": false,
85
+ "_statciText": null,
86
+ "confirmed": false,
87
+ "front": "03",
88
+ "end": "11",
89
+ "lengthInByte": 2,
90
+ "on": "01",
91
+ "off": "11",
92
+ "onClick": "A5",
93
+ "multiplyfaktor": 1,
94
+ "decimalPlaces": 0,
95
+ "unit": "",
96
+ "crc": "noCrc",
97
+ "limitMin": false,
98
+ "limitMinValue": 0,
99
+ "limitMax": false,
100
+ "limitMaxValue": 0
101
+ },
102
+ {
103
+ "name": "Led Brightness",
104
+ "port": 1,
105
+ "priority": "NORMAL",
106
+ "type": "number",
107
+ "swap": false,
108
+ "_statciText": null,
109
+ "confirmed": false,
110
+ "front": "21",
111
+ "end": "22",
112
+ "lengthInByte": 1,
113
+ "on": "01",
114
+ "off": "11",
115
+ "onClick": "030111",
116
+ "multiplyfaktor": 1,
117
+ "decimalPlaces": 0,
118
+ "unit": "",
119
+ "crc": "noCrc",
120
+ "limitMin": true,
121
+ "limitMinValue": 0,
122
+ "limitMax": true,
123
+ "limitMaxValue": 100
124
+ }
125
+ ]
126
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.lorawan",
3
- "version": "1.22.25",
3
+ "version": "1.22.27",
4
4
  "description": "converts the desired lora gateway data to a ioBroker structure",
5
5
  "author": {
6
6
  "name": "BenAhrdt",
@@ -25,7 +25,7 @@
25
25
  "node": ">= 22"
26
26
  },
27
27
  "dependencies": {
28
- "@iobroker/adapter-core": "^3.3.2",
28
+ "@iobroker/adapter-core": "^3.4.1",
29
29
  "@iobroker/dm-utils": "^3.0.19",
30
30
  "easy-crc": "^1.1.0",
31
31
  "lodash": "^4.18.1",