iobroker.openknx 1.1.14 → 1.2.0

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
@@ -20,6 +20,11 @@
20
20
  ![Stable](http://iobroker.live/badges/openknx-stable.svg)
21
21
  ![Installed](http://iobroker.live/badges/openknx-installed.svg)
22
22
 
23
+ ## Sentry
24
+ **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.**
25
+ For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
26
+
27
+ ## Info
23
28
  ioBroker adapter for KNX IP communication, powered by [KNXUltimate](https://github.com/Supergiovane/knxultimate).
24
29
 
25
30
  - Native .knxproj import (ETS4/5/6, password-protected projects supported) -- import dialog accepts both .knxproj and .xml files
@@ -68,6 +73,9 @@ Recommended order (start with the cheapest step, only escalate if needed):
68
73
  Placeholder for the next version (at the beginning of the line):
69
74
  ### **WORK IN PROGRESS**
70
75
  -->
76
+ ### 1.2.0 (2026-06-25)
77
+ - (copilot) Adapter requires node.js >= 22 now
78
+
71
79
  ### 1.1.14 (2026-06-11)
72
80
  - improve reconnect logic
73
81
  - improve project import
@@ -84,13 +92,6 @@ Recommended order (start with the cheapest step, only escalate if needed):
84
92
  ### 1.1.11 (2026-05-08)
85
93
  - fix for UDP interface connection
86
94
 
87
- ### 1.1.10 (2026-05-05)
88
- - add new DPTs and units
89
-
90
- ### initial version
91
-
92
- - initial version from https://www.npmjs.com/package/iobroker.knx/v/0.8.3
93
-
94
95
  [Older changelogs can be found there](CHANGELOG_OLD.md)
95
96
 
96
97
  ## License
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "openknx",
4
- "version": "1.1.14",
4
+ "version": "1.2.0",
5
5
  "news": {
6
+ "1.2.0": {
7
+ "en": "Adapter requires node.js >= 22 now",
8
+ "de": "Der Adapter benötigt jetzt Node.js >= 22.",
9
+ "ru": "Для работы адаптера требуется Node.js версии >= 22.",
10
+ "pt": "O adaptador agora requer Node.js >= 22.",
11
+ "nl": "De adapter vereist nu Node.js versie 22 of hoger.",
12
+ "fr": "L'adaptateur nécessite désormais Node.js >= 22.",
13
+ "it": "L'adattatore ora richiede Node.js >= 22",
14
+ "es": "El adaptador ahora requiere node.js >= 22.",
15
+ "pl": "Adapter wymaga teraz node.js >= 22",
16
+ "uk": "Адаптер тепер вимагає node.js >= 22",
17
+ "zh-cn": "适配器现在需要 node.js 版本 >= 22。"
18
+ },
6
19
  "1.1.14": {
7
20
  "en": "improve reconnect logic\nimprove project import",
8
21
  "de": "reconnect logik verbessert\nprojektimport verbessert",
@@ -80,19 +93,6 @@
80
93
  "pl": "fix handling of unkown DPT",
81
94
  "uk": "фіксувати обробку unkown DPT",
82
95
  "zh-cn": "固定处理未隐藏的 DPT"
83
- },
84
- "1.1.8": {
85
- "en": "add compatiblity mode für raw DPT5.*\nreduce default delay to 25ms",
86
- "de": "Kombatiblitäts-Modus für raw DPT5.*\nDefault-Delay auf 25m reduziert",
87
- "ru": "добавить режим совместимости с сырым DPT5.*\nуменьшить задержку до 25 мс",
88
- "pt": "adicionar o modo de compatibilidade für cru DPT5.*\nreduzir o atraso padrão para 25ms",
89
- "nl": "compatiblity mode für raw DPT5.*\nde standaardvertraging verlagen naar 25ms",
90
- "fr": "ajouter le mode de compatibilité für brut DPT5.*\nréduire le délai par défaut à 25ms",
91
- "it": "aggiungere la modalità compatiblity für raw DPT5.*\nridurre il ritardo predefinito a 25ms",
92
- "es": "añadir compatiblity mode für raw DPT5.*\nreducir el retraso predeterminado a 25 ms",
93
- "pl": "dodać tryb kompatybilności für raw DPT5. *\nzmniejszyć domyślne opóźnienie do 25ms",
94
- "uk": "додати режим сумісності für raw DPT5.*\nзменшити затримку за замовчуванням до 25ms",
95
- "zh-cn": "添加相容性模式 für 原始 DPT5. *\n将默认延迟减少至 25 ms"
96
96
  }
97
97
  },
98
98
  "titleLang": {
@@ -260,7 +260,7 @@
260
260
  "_id": "info.busload",
261
261
  "type": "state",
262
262
  "common": {
263
- "role": "info",
263
+ "role": "value",
264
264
  "name": {
265
265
  "en": "Busload in the last 5 seconds",
266
266
  "de": "Buslast in den letzten 5 Sekunden",
@@ -286,7 +286,7 @@
286
286
  "_id": "info.messagecount",
287
287
  "type": "state",
288
288
  "common": {
289
- "role": "info",
289
+ "role": "value",
290
290
  "name": {
291
291
  "en": "Message count",
292
292
  "de": "Meldungszahl",
@@ -300,14 +300,12 @@ module.exports = {
300
300
  let commonWrite = true;
301
301
  let autoread = !tools.isTriggerDPT(dpt);
302
302
 
303
- let transmitFlag = false;
304
303
  let updateFlag = false;
305
304
 
306
305
  if (linkedCOs.length > 0) {
307
306
  // Use CO flags: any CO with read flag -> common.read; any CO with write flag -> common.write
308
307
  commonRead = linkedCOs.some(co => co.flags.read);
309
308
  commonWrite = linkedCOs.some(co => co.flags.write);
310
- transmitFlag = linkedCOs.some(co => co.flags.transmit);
311
309
  updateFlag = linkedCOs.some(co => co.flags.update);
312
310
  // Use read_on_init from COs if available, fallback to DPT-based heuristic
313
311
  const hasReadOnInit = linkedCOs.some(co => co.flags.read_on_init);
@@ -339,7 +337,6 @@ module.exports = {
339
337
  type: type,
340
338
  unit: dptObj?.subtype?.unit || "",
341
339
  write: commonWrite,
342
- update: transmitFlag,
343
340
  states: dptObj?.subtype?.enc,
344
341
  ...(range[0] != null && typeof range[0] == "number" && type == "number" && { min: range[0] }),
345
342
  ...(range[1] != null && typeof range[0] == "number" && type == "number" && { max: range[1] }),
package/main.js CHANGED
@@ -1527,7 +1527,7 @@ class openknx extends utils.Adapter {
1527
1527
  let ifaceName = "";
1528
1528
  let ifaceMatchedIp = "";
1529
1529
  if (this.config.localInterface) {
1530
- const interfaces = require("os").networkInterfaces();
1530
+ const interfaces = require("node:os").networkInterfaces();
1531
1531
  for (const [name, addrs] of Object.entries(interfaces)) {
1532
1532
  if (addrs && addrs.some(a => a.address === this.config.localInterface)) {
1533
1533
  ifaceName = name;
@@ -1547,7 +1547,7 @@ class openknx extends utils.Adapter {
1547
1547
  // to localIPAddress, derived from the chosen network interface — wrong selection
1548
1548
  // on multi-homed hosts (Docker, VPN, multiple NICs) is the most common cause of
1549
1549
  // "v0.7 worked, v1.x doesn't" reports.
1550
- const allIfs = require("os").networkInterfaces();
1550
+ const allIfs = require("node:os").networkInterfaces();
1551
1551
  const ipv4Candidates = [];
1552
1552
  for (const [name, addrs] of Object.entries(allIfs)) {
1553
1553
  if (!addrs) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.openknx",
3
- "version": "1.1.14",
3
+ "version": "1.2.0",
4
4
  "description": "ioBroker knx Adapter",
5
5
  "author": "boellner",
6
6
  "contributors": [
@@ -31,7 +31,7 @@
31
31
  "url": "https://github.com/iobroker-community-adapters/ioBroker.openknx"
32
32
  },
33
33
  "engines": {
34
- "node": ">=20"
34
+ "node": ">=22"
35
35
  },
36
36
  "dependencies": {
37
37
  "@iobroker/adapter-core": "^3.4.1",
@@ -50,8 +50,8 @@
50
50
  "@iobroker/adapter-dev": "^1.5.0",
51
51
  "@iobroker/eslint-config": "^2.3.4",
52
52
  "@iobroker/testing": "^5.2.2",
53
- "@tsconfig/node20": "^20.1.9",
54
- "@types/node": "^20.19.43",
53
+ "@tsconfig/node22": "^22.0.5",
54
+ "@types/node": "^22.20.0",
55
55
  "typescript": "~5.9.3"
56
56
  },
57
57
  "main": "main.js",