node-red-contrib-knx-ultimate 3.3.37 → 3.3.38
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/CHANGELOG.md +4 -0
- package/nodes/knxUltimate-config.js +2 -2
- package/nodes/knxUltimate.js +2 -2
- package/nodes/knxUltimateAlerter.js +4 -0
- package/nodes/knxUltimateGarageDoorBarrierOpener.js +2 -2
- package/nodes/knxUltimateLoadControl.js +4 -0
- package/nodes/knxUltimateViewer.js +4 -0
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,10 @@
|
|
|
6
6
|
|
|
7
7
|
# CHANGELOG
|
|
8
8
|
|
|
9
|
+
**Version 3.3.38** - May 2025<br/>
|
|
10
|
+
- FIX: fixed possible issue having tabulator chars in the group address names.<br/>
|
|
11
|
+
- KNX Engine: better handling of disconnections telegrams.<br/>
|
|
12
|
+
|
|
9
13
|
**Version 3.3.37** - May 2025<br/>
|
|
10
14
|
- FIX: fixed an issue preventing the nodes from loading the presistent data from file, after node-red restarting or gateway reconnection.<br/>
|
|
11
15
|
|
|
@@ -1789,8 +1789,8 @@ module.exports = (RED) => {
|
|
|
1789
1789
|
sOut += sChar;
|
|
1790
1790
|
} else {
|
|
1791
1791
|
if (bStart) {
|
|
1792
|
-
// i'm in the phrase, delimited by "". No CRLF should be there
|
|
1793
|
-
if (sChar !== "\n" && sChar !== "\r") {
|
|
1792
|
+
// i'm in the phrase, delimited by "". No CRLF nor TABulators should be there
|
|
1793
|
+
if (sChar !== "\n" && sChar !== "\r" && sChar !== "\t") {
|
|
1794
1794
|
sOut += sChar;
|
|
1795
1795
|
} else {
|
|
1796
1796
|
sOut += " "; // Where it was a CRLF, i put a space
|
package/nodes/knxUltimate.js
CHANGED
|
@@ -11,12 +11,12 @@ module.exports = function (RED) {
|
|
|
11
11
|
RED.nodes.createNode(this, config);
|
|
12
12
|
const node = this;
|
|
13
13
|
node.serverKNX = RED.nodes.getNode(config.server) || undefined;
|
|
14
|
-
|
|
15
|
-
if (node.serverKNX === null) {
|
|
14
|
+
if (node.serverKNX === undefined) {
|
|
16
15
|
node.status({ fill: 'red', shape: 'dot', text: '[THE GATEWAY NODE HAS BEEN DISABLED]' });
|
|
17
16
|
return;
|
|
18
17
|
}
|
|
19
18
|
|
|
19
|
+
|
|
20
20
|
// Used to call the status update from the config node.
|
|
21
21
|
node.setNodeStatus = ({
|
|
22
22
|
fill, shape, text, payload, GA, dpt, devicename,
|
|
@@ -11,6 +11,10 @@ module.exports = function (RED) {
|
|
|
11
11
|
RED.nodes.createNode(this, config);
|
|
12
12
|
const node = this;
|
|
13
13
|
node.serverKNX = RED.nodes.getNode(config.server) || undefined;
|
|
14
|
+
if (node.serverKNX === undefined) {
|
|
15
|
+
node.status({ fill: 'red', shape: 'dot', text: '[THE GATEWAY NODE HAS BEEN DISABLED]' });
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
14
18
|
node.name = config.name || 'KNX Alerter';
|
|
15
19
|
node.listenallga = true; // Dont' remove this.
|
|
16
20
|
node.notifyreadrequest = false;
|
|
@@ -18,12 +18,12 @@ module.exports = function (RED) {
|
|
|
18
18
|
RED.nodes.createNode(this, config);
|
|
19
19
|
const node = this;
|
|
20
20
|
node.serverKNX = RED.nodes.getNode(config.server) || undefined;
|
|
21
|
-
|
|
22
|
-
if (node.serverKNX === null) {
|
|
21
|
+
if (node.serverKNX === undefined) {
|
|
23
22
|
node.status({ fill: 'red', shape: 'dot', text: '[THE GATEWAY NODE HAS BEEN DISABLED]' });
|
|
24
23
|
return;
|
|
25
24
|
}
|
|
26
25
|
|
|
26
|
+
|
|
27
27
|
node.topic = config.topic;
|
|
28
28
|
node.dpt = '1.001';
|
|
29
29
|
node.notifyreadrequest = false;
|
|
@@ -8,6 +8,10 @@ module.exports = function (RED) {
|
|
|
8
8
|
RED.nodes.createNode(this, config)
|
|
9
9
|
const node = this
|
|
10
10
|
node.serverKNX = RED.nodes.getNode(config.server) || undefined
|
|
11
|
+
if (node.serverKNX === undefined) {
|
|
12
|
+
node.status({ fill: 'red', shape: 'dot', text: '[THE GATEWAY NODE HAS BEEN DISABLED]' });
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
11
15
|
node.name = config.name || 'KNX Load Control'
|
|
12
16
|
node.topic = config.topic
|
|
13
17
|
node.dpt = config.dpt
|
|
@@ -6,6 +6,10 @@ module.exports = function (RED) {
|
|
|
6
6
|
RED.nodes.createNode(this, config);
|
|
7
7
|
const node = this;
|
|
8
8
|
node.serverKNX = RED.nodes.getNode(config.server) || undefined;
|
|
9
|
+
if (node.serverKNX === undefined) {
|
|
10
|
+
node.status({ fill: 'red', shape: 'dot', text: '[THE GATEWAY NODE HAS BEEN DISABLED]' });
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
9
13
|
node.topic = node.name;
|
|
10
14
|
node.name = config.name === undefined ? 'KNXViewer' : config.name;
|
|
11
15
|
node.outputtopic = node.name;
|
package/package.json
CHANGED
|
@@ -3,14 +3,14 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=20.18.1"
|
|
5
5
|
},
|
|
6
|
-
"version": "3.3.
|
|
6
|
+
"version": "3.3.38",
|
|
7
7
|
"description": "Control your KNX intallation via Node-Red! A bunch of KNX nodes, with integrated Philips HUE control and ETS group address importer. Easy to use and highly configurable.",
|
|
8
8
|
"dependencies": {
|
|
9
9
|
"binary-parser": "2.2.1",
|
|
10
10
|
"crypto-js": "4.2.0",
|
|
11
11
|
"dns-sync": "0.2.1",
|
|
12
12
|
"js-yaml": "4.1.0",
|
|
13
|
-
"knxultimate": "4.1.
|
|
13
|
+
"knxultimate": "4.1.3",
|
|
14
14
|
"lodash": "4.17.21",
|
|
15
15
|
"mkdirp": "3.0.1",
|
|
16
16
|
"node-color-log": "12.0.1",
|