node-red-contrib-knx-ultimate 2.4.18 → 2.4.20
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 +8 -0
- package/KNXEngine/CHANGELOG.md +5 -1
- package/KNXEngine/package.json +1 -1
- package/KNXEngine/src/dptlib/dpt9.js +2 -1
- package/README.md +28 -75
- package/img/KNX_CERTI_MARK_RGB.jpg +0 -0
- package/package.json +1 -1
- package/RBEtrueFalse.json +0 -55
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
|
|
7
7
|
# CHANGELOG
|
|
8
8
|
|
|
9
|
+
**Version 2.4.20** - April 2024<br/>
|
|
10
|
+
- Warning: this version uses the Node-Red plugin system; the Node-Red version must be **equals or major than 3.1.1**<br/>
|
|
11
|
+
- DPT9: auto transform a string value, to a numeric value.<br/>
|
|
12
|
+
|
|
13
|
+
**Version 2.4.19** - April 2024<br/>
|
|
14
|
+
- Warning: this version uses the Node-Red plugin system; the Node-Red version must be **equals or major than 3.1.1**<br/>
|
|
15
|
+
- Start adding youtube lessons and tutorials and linking it with the nodes.<br/>
|
|
16
|
+
|
|
9
17
|
**Version 2.4.18** - April 2024<br/>
|
|
10
18
|
- Warning: this version uses the Node-Red plugin system; the Node-Red version must be **equals or major than 3.1.1**<br/>
|
|
11
19
|
- Fixed some backward compatibility glitches in the KNX-Device's UI.<br/>
|
package/KNXEngine/CHANGELOG.md
CHANGED
|
@@ -6,11 +6,15 @@
|
|
|
6
6
|
|
|
7
7
|
# CHANGELOG
|
|
8
8
|
|
|
9
|
+
|
|
10
|
+
<p>
|
|
11
|
+
<b>Version 1.0.49</b> - April 2024<br/>
|
|
12
|
+
- DPT9: auto transform a string value, to a numeric value.<br/>
|
|
13
|
+
</p>
|
|
9
14
|
<p>
|
|
10
15
|
<b>Version 1.0.48</b> - February 2024<br/>
|
|
11
16
|
- Maintenance release.<br/>
|
|
12
17
|
</p>
|
|
13
|
-
|
|
14
18
|
<p>
|
|
15
19
|
<b>Version 1.0.47</b> - January 2024<br/>
|
|
16
20
|
- NEW: added DPT 275.100.<br/>
|
package/KNXEngine/package.json
CHANGED
|
@@ -36,8 +36,9 @@ function frexp(value) {
|
|
|
36
36
|
exports.formatAPDU = function (value) {
|
|
37
37
|
const apdu_data = Buffer.alloc(2)
|
|
38
38
|
if (!isFinite(value)) {
|
|
39
|
-
knxLog.get().
|
|
39
|
+
knxLog.get().error('DPT9: cannot write non-numeric or undefined value');
|
|
40
40
|
} else {
|
|
41
|
+
value = Number(value); // Sometime a number is passed as string.
|
|
41
42
|
value = value.toFixed(2); // Fix issue with float having too many decimals.
|
|
42
43
|
const arr = frexp(value)
|
|
43
44
|
const mantissa = arr[0]; const exponent = arr[1]
|
package/README.md
CHANGED
|
@@ -13,9 +13,13 @@
|
|
|
13
13
|
|
|
14
14
|

|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
|
|
17
|
+
<p align='center'>
|
|
18
|
+
<img width="110px" src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/KNX_CERTI_MARK_RGB.jpg" ></br>
|
|
19
|
+
<span style="font-size:0.7em;color:grey;">Authorized KNX logo by KNX Association*</span>
|
|
20
|
+
</p>
|
|
21
|
+
|
|
22
|
+
</br>
|
|
19
23
|
|
|
20
24
|
**You can use it immediately!**
|
|
21
25
|
|
|
@@ -40,42 +44,30 @@ msg.payload = {red:255, green:200, blue:30} // Put some colors in our life
|
|
|
40
44
|
* **PHILIPS HUE nodeset** [here](https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki/en-hue-configuration). Link HUE devices to KNX in a simple way.
|
|
41
45
|
* **HOME ASSISTANT translator node** translates the HA input msg, to a KNX value. Comes with a built-in translation table, that's user editable.
|
|
42
46
|
|
|
43
|
-
|
|
44
|
-
<br>
|
|
45
47
|
<br>
|
|
46
48
|
|
|
47
49
|
## CHANGELOG
|
|
48
50
|
|
|
49
51
|
* See <a href="https://github.com/Supergiovane/node-red-contrib-knx-ultimate/blob/master/CHANGELOG.md">here the changelog</a>
|
|
50
52
|
|
|
51
|
-
<br
|
|
52
|
-
<br>
|
|
53
|
-
|
|
54
|
-
## VOLUNTEER NEEDED FOR KNX SECURE
|
|
55
|
-
|
|
56
|
-
**************************************************
|
|
57
|
-
KNX-Secure is under development.<br/>
|
|
58
|
-
I need volunteer helping in development of KNX Secure.<br/>
|
|
59
|
-
High knowledge of cryptography and KNX is needed.
|
|
60
|
-
**************************************************
|
|
61
|
-
|
|
62
|
-
<br>
|
|
63
|
-
<br>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
<br/>
|
|
67
54
|
|
|
68
|
-
##
|
|
55
|
+
## LESSONS FROM BEGINNER TO CERTIFIED KNX-ULTIMATE GURU STATUS
|
|
69
56
|
|
|
70
|
-
<a href="https://
|
|
57
|
+
* <a href="https://youtu.be/4rjrMqszhP8" target="_blank">Lesson 01 - Introduction to KNX Device<br/>
|
|
58
|
+
<img width="200px" src="https://img.youtube.com/vi/4rjrMqszhP8/0.jpg" ></a>
|
|
71
59
|
|
|
60
|
+
* <a href="https://youtu.be/sRW5sHPnYi0" target="_blank">Lesson 02 - Working with ETS file importer<br/>
|
|
61
|
+
<img width="200px" src="https://img.youtube.com/vi/sRW5sHPnYi0/0.jpg" ></a>
|
|
72
62
|
|
|
73
|
-
> Tons of documentation, samples, even for use in conjunction with <img width="90px" src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/homekit.png" > <img width="70px" src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/alexa.png" > <img width="90px" src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/googleassistant.png" >
|
|
74
63
|
|
|
64
|
+
[More to come...](https://github.com/Supergiovane/node-red-contrib-knx-ultimate)
|
|
75
65
|
|
|
76
66
|
|
|
67
|
+
<br/>
|
|
68
|
+
<br/>
|
|
77
69
|
|
|
78
|
-
##
|
|
70
|
+
## DOCUMENTATION
|
|
79
71
|
|
|
80
72
|
* [Wiki and Help](https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki)
|
|
81
73
|
* [Youtube channel](https://www.youtube.com/playlist?list=PL9Yh1bjbLAYpfy1Auz6CKDfXUusgMwOQr)
|
|
@@ -127,11 +119,6 @@ The Node protects you, from mistakes you can do. [Node Protections](https://gith
|
|
|
127
119
|
|
|
128
120
|
You can select to activate or deactivate it. If active, the node reacts only if payload from KNX Bus or from input msg is changed.
|
|
129
121
|
|
|
130
|
-
</details>
|
|
131
|
-
<details><summary>Automatic KNX interface type detection</summary>
|
|
132
|
-
|
|
133
|
-
Full support for IP Interfaces as well for IP Routers. It's recommended the use of IP Routers because of simple setup and stability in a large environment.
|
|
134
|
-
|
|
135
122
|
</details>
|
|
136
123
|
<details><summary>RAW message directly to the BUS</summary>
|
|
137
124
|
|
|
@@ -144,9 +131,10 @@ You can send RAW buffers directly to the bus.
|
|
|
144
131
|
## WORKING WITH THE ETS CSV FILE OR WITH ESF FILE
|
|
145
132
|
|
|
146
133
|
Instead of create a knx-ultimate node for each Group Address to control, you can import your ETS csv or esf group addresses file.
|
|
147
|
-
Thanks to that, the knx-ultimate node where you selected **Universal mode (listen to all Group Addresses)**, becomes an universal input/output node, aware of all Datapoints, Group Addresses and Device's name (ex: Living Room Lamp). Just send the payload to the knx-ultimate node, and it'll encode it with the right datapoint and send it to the bus. Likewise, when the knx-ultimate node receives a telegram from the bus, it outputs a right decoded payload using the datapoint specified in the ETS file.
|
|
134
|
+
Thanks to that, the knx-ultimate node where you selected **Universal mode (listen to all Group Addresses)**, becomes an universal input/output node, aware of all Datapoints, Group Addresses and Device's name (ex: Living Room Lamp). Just send the payload to the knx-ultimate node, and it'll encode it with the right datapoint and send it to the bus. Likewise, when the knx-ultimate node receives a telegram from the bus, it outputs a right decoded payload using the datapoint specified in the ETS file.
|
|
135
|
+
|
|
148
136
|
|
|
149
|
-
<details><summary>
|
|
137
|
+
<details><summary>Click here for a sample ETS csv file to paste into the ETS field of your config node.</summary>
|
|
150
138
|
|
|
151
139
|
> Copy/Paste this into your configuration node.
|
|
152
140
|
|
|
@@ -185,7 +173,7 @@ Thanks to that, the knx-ultimate node where you selected **Universal mode (liste
|
|
|
185
173
|
</details>
|
|
186
174
|
|
|
187
175
|
|
|
188
|
-
<details><summary>
|
|
176
|
+
<details><summary>Click here for a sample ETS esf file to paste into the ETS field of your config node.</summary>
|
|
189
177
|
|
|
190
178
|
> Copy/Paste this into your configuration node.
|
|
191
179
|
|
|
@@ -221,54 +209,13 @@ Attuatori luci.Luci primo piano.0/0/21 LED cambiacolori RGB scala EIS 1 'Switchi
|
|
|
221
209
|
|
|
222
210
|
</details>
|
|
223
211
|
|
|
224
|
-
|
|
212
|
+
<br/>
|
|
225
213
|
|
|
226
214
|
<a href="https://youtu.be/egRbR_KwP9I" target="_blank"><img src='https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/yt.png' width='60%'></a>
|
|
227
215
|
|
|
228
216
|
<br/>
|
|
229
217
|
|
|
230
218
|
|
|
231
|
-
# <a href="https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki">Click here for comprehensive samples</a>
|
|
232
|
-
**Turn on/off a Lamp**
|
|
233
|
-
|
|
234
|
-
```javascript
|
|
235
|
-
|
|
236
|
-
return {payload:true}
|
|
237
|
-
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
```javascript
|
|
241
|
-
|
|
242
|
-
return {payload:false}
|
|
243
|
-
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
**Increase the light/open blind**
|
|
247
|
-
|
|
248
|
-
```javascript
|
|
249
|
-
|
|
250
|
-
// The parameter "data" indicates the relative amount of the dimming commmand (how much to dim).
|
|
251
|
-
// The parameter "data" can be any integer value from 0 to 7
|
|
252
|
-
// The parameter decr_incr:1 increases the light
|
|
253
|
-
// The parameter decr_incr:0 decreases the light
|
|
254
|
-
msg.payload = {decr_incr: 1, data: 5};
|
|
255
|
-
return msg;
|
|
256
|
-
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
**Set RGBW color**
|
|
260
|
-
|
|
261
|
-
```javascript
|
|
262
|
-
|
|
263
|
-
// Each color in a range between 0 and 255
|
|
264
|
-
msg.payload = {red:90, green:200, blue:30, white:120, mR:1, mG:1, mB:1, mW:1};
|
|
265
|
-
return msg;
|
|
266
|
-
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
--> [MORE Samples and documentation....](https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki)
|
|
270
|
-
|
|
271
|
-
<br/>
|
|
272
219
|
|
|
273
220
|
|
|
274
221
|
## COMMERCIAL COMPANIES USING KNX-ULTIMATE
|
|
@@ -357,6 +304,12 @@ A big THANK YOU to [@svenflender](https://github.com/svenflender) for the logo a
|
|
|
357
304
|
<br/>
|
|
358
305
|
|
|
359
306
|

|
|
307
|
+
<p align='left'>
|
|
308
|
+
<img width="110px" src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/KNX_CERTI_MARK_RGB.jpg" ></br>
|
|
309
|
+
Authorized KNX logo by KNX Association</br>
|
|
310
|
+
*<i>The author <b>Massimo Saccani</b> has been authorized to use the KNX logo.
|
|
311
|
+
<br/>Forks of the knx-ultimate node are not implicitly allowed to use the KNX logo.</i>
|
|
312
|
+
</p>
|
|
360
313
|
|
|
361
314
|
[license-image]: https://img.shields.io/badge/license-MIT-blue.svg
|
|
362
315
|
[license-url]: https://github.com/Supergiovane/node-red-contrib-knx-ultimate/master/LICENSE
|
|
Binary file
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"engines": {
|
|
4
4
|
"node": ">=16.0.0"
|
|
5
5
|
},
|
|
6
|
-
"version": "2.4.
|
|
6
|
+
"version": "2.4.20",
|
|
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",
|
package/RBEtrueFalse.json
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
[
|
|
2
|
-
{
|
|
3
|
-
"id": "bbc41a15b589edd3",
|
|
4
|
-
"type": "knxUltimate",
|
|
5
|
-
"z": "a108904.7aa037",
|
|
6
|
-
"server": "a01c5d80.1bbb78",
|
|
7
|
-
"topic": "3/1/18",
|
|
8
|
-
"outputtopic": "",
|
|
9
|
-
"dpt": "1.009",
|
|
10
|
-
"initialread": false,
|
|
11
|
-
"notifyreadrequest": false,
|
|
12
|
-
"notifyresponse": false,
|
|
13
|
-
"notifywrite": true,
|
|
14
|
-
"notifyreadrequestalsorespondtobus": false,
|
|
15
|
-
"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "",
|
|
16
|
-
"listenallga": false,
|
|
17
|
-
"name": "Porta REI apri/chiudi [ON/OFF]",
|
|
18
|
-
"outputtype": "write",
|
|
19
|
-
"outputRBE": true,
|
|
20
|
-
"inputRBE": true,
|
|
21
|
-
"formatmultiplyvalue": "1",
|
|
22
|
-
"formatnegativevalue": "leave",
|
|
23
|
-
"formatdecimalsvalue": "999",
|
|
24
|
-
"passthrough": "no",
|
|
25
|
-
"x": 700,
|
|
26
|
-
"y": 1580,
|
|
27
|
-
"wires": [
|
|
28
|
-
[]
|
|
29
|
-
]
|
|
30
|
-
}
|
|
31
|
-
]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
[
|
|
35
|
-
{
|
|
36
|
-
"id": "48937ee6.d1bac",
|
|
37
|
-
"type": "knxUltimate",
|
|
38
|
-
"z": "10f01cd3.a2c053",
|
|
39
|
-
"server": "a01c5d80.1bbb78",
|
|
40
|
-
"topic": "0/1/0",
|
|
41
|
-
"dpt": "1.001",
|
|
42
|
-
"initialread": false,
|
|
43
|
-
"notifyreadrequest": false,
|
|
44
|
-
"notifyresponse": false,
|
|
45
|
-
"notifywrite": true,
|
|
46
|
-
"listenallga": false,
|
|
47
|
-
"name": "Corridoio e scala luce",
|
|
48
|
-
"outputtype": "write",
|
|
49
|
-
"x": 900,
|
|
50
|
-
"y": 2980,
|
|
51
|
-
"wires": [
|
|
52
|
-
[]
|
|
53
|
-
]
|
|
54
|
-
}
|
|
55
|
-
]
|