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 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/>
@@ -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/>
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "knxultimate",
3
3
  "description": "KNX IP protocol implementation for Node. This is the ENGINE of Node-Red KNX-Ultimate node.",
4
- "version": "1.0.48",
4
+ "version": "1.0.49",
5
5
  "engines": {
6
6
  "node": ">=14"
7
7
  },
@@ -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().warn('DPT9: cannot write non-numeric or undefined value')
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
  ![Sample Node](img/readmemain.png)
15
15
 
16
- Control your KNX intallation via Node-Red!<br/>
17
- A bunch of KNX nodes, with integrated Philips HUE control and ETS group address importer.<br/>
18
- Easy to use and highly configurable.
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
- ## HELP, SAMPLES, TROUBLESHOOT, WIKI, FAQ, BEST PRACTICES
55
+ ## LESSONS FROM BEGINNER TO CERTIFIED KNX-ULTIMATE GURU STATUS
69
56
 
70
- <a href="https://github.com/Supergiovane/node-red-contrib-knx-ultimate/wiki/Overview"><img src="https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/wiki/flags/usa-today.png"/></a>
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
- ## STARTER PACK
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>Sample ETS csv file to paste into the ETS field of your config node.</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>Sample ETS esf file to paste into the ETS field of your config node.</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
- > You can work with a mix of knx-ultimate nodes, some with **Universal mode (listen to all Group Addresses)** checked and some not. You are absolutely free! See this youtube video,
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
  ![Logo](https://raw.githubusercontent.com/Supergiovane/node-red-contrib-knx-ultimate/master/img/wiki/flags/madeinitaly.png)
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.18",
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
- ]