node-red-contrib-knx-ultimate 1.2.53 → 1.3.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.
Files changed (114) hide show
  1. package/.vscode/launch.json +15 -0
  2. package/CHANGELOG.md +52 -1
  3. package/KNXEngine/Curve25519.js +1814 -0
  4. package/KNXEngine/KNXClient.js +894 -0
  5. package/KNXEngine/KNXSocketOptions.js +3 -0
  6. package/KNXEngine/KNXsecureKeyring.js +568 -0
  7. package/KNXEngine/KnxLog.js +68 -0
  8. package/KNXEngine/a.json +49296 -0
  9. package/KNXEngine/cur.js +217 -0
  10. package/KNXEngine/dptlib/dpt1.js +201 -0
  11. package/KNXEngine/dptlib/dpt10.js +106 -0
  12. package/KNXEngine/dptlib/dpt11.js +84 -0
  13. package/KNXEngine/dptlib/dpt12.js +63 -0
  14. package/KNXEngine/dptlib/dpt13.js +77 -0
  15. package/KNXEngine/dptlib/dpt14.js +191 -0
  16. package/KNXEngine/dptlib/dpt15.js +24 -0
  17. package/KNXEngine/dptlib/dpt16.js +67 -0
  18. package/KNXEngine/dptlib/dpt17.js +25 -0
  19. package/KNXEngine/dptlib/dpt18.js +96 -0
  20. package/KNXEngine/dptlib/dpt19.js +62 -0
  21. package/KNXEngine/dptlib/dpt2.js +132 -0
  22. package/KNXEngine/dptlib/dpt20.js +52 -0
  23. package/KNXEngine/dptlib/dpt213.js +156 -0
  24. package/KNXEngine/dptlib/dpt22.js +145 -0
  25. package/KNXEngine/dptlib/dpt222.js +158 -0
  26. package/KNXEngine/dptlib/dpt232.js +58 -0
  27. package/KNXEngine/dptlib/dpt237.js +92 -0
  28. package/KNXEngine/dptlib/dpt238.js +73 -0
  29. package/KNXEngine/dptlib/dpt242.js +84 -0
  30. package/KNXEngine/dptlib/dpt249.js +87 -0
  31. package/KNXEngine/dptlib/dpt251.js +76 -0
  32. package/KNXEngine/dptlib/dpt3.js +89 -0
  33. package/KNXEngine/dptlib/dpt4.js +58 -0
  34. package/KNXEngine/dptlib/dpt5.js +70 -0
  35. package/KNXEngine/dptlib/dpt6.js +42 -0
  36. package/KNXEngine/dptlib/dpt7.js +150 -0
  37. package/KNXEngine/dptlib/dpt8.js +94 -0
  38. package/KNXEngine/dptlib/dpt9.js +212 -0
  39. package/KNXEngine/dptlib/dpt999.js +61 -0
  40. package/KNXEngine/dptlib/index.js +185 -0
  41. package/KNXEngine/errors/BufferLengthError.js +5 -0
  42. package/KNXEngine/errors/DateFormatError.js +5 -0
  43. package/KNXEngine/errors/DuplicateRequestError.js +5 -0
  44. package/KNXEngine/errors/InvalidValueError.js +5 -0
  45. package/KNXEngine/errors/NotImplementedError.js +5 -0
  46. package/KNXEngine/errors/RequestTimeoutError.js +3 -0
  47. package/KNXEngine/errors/index.js +7 -0
  48. package/KNXEngine/index.js +15 -0
  49. package/KNXEngine/protocol/CRD.js +58 -0
  50. package/KNXEngine/protocol/CRI.js +31 -0
  51. package/KNXEngine/protocol/CRIFactory.js +21 -0
  52. package/KNXEngine/protocol/DIB.js +3 -0
  53. package/KNXEngine/protocol/DeviceInfo.js +211 -0
  54. package/KNXEngine/protocol/HPAI.js +92 -0
  55. package/KNXEngine/protocol/IPConfig.js +90 -0
  56. package/KNXEngine/protocol/IPCurrentConfig.js +103 -0
  57. package/KNXEngine/protocol/KNXAddress.js +114 -0
  58. package/KNXEngine/protocol/KNXAddresses.js +53 -0
  59. package/KNXEngine/protocol/KNXConnectRequest.js +39 -0
  60. package/KNXEngine/protocol/KNXConnectResponse.js +61 -0
  61. package/KNXEngine/protocol/KNXConnectionStateRequest.js +36 -0
  62. package/KNXEngine/protocol/KNXConnectionStateResponse.js +50 -0
  63. package/KNXEngine/protocol/KNXConstants.js +82 -0
  64. package/KNXEngine/protocol/KNXDataBuffer.js +23 -0
  65. package/KNXEngine/protocol/KNXDescriptionRequest.js +24 -0
  66. package/KNXEngine/protocol/KNXDescriptionResponse.js +32 -0
  67. package/KNXEngine/protocol/KNXDisconnectRequest.js +34 -0
  68. package/KNXEngine/protocol/KNXDisconnectResponse.js +28 -0
  69. package/KNXEngine/protocol/KNXHeader.js +54 -0
  70. package/KNXEngine/protocol/KNXPacket.js +21 -0
  71. package/KNXEngine/protocol/KNXProtocol.js +105 -0
  72. package/KNXEngine/protocol/KNXRoutingIndication.js +36 -0
  73. package/KNXEngine/protocol/KNXSearchRequest.js +24 -0
  74. package/KNXEngine/protocol/KNXSearchResponse.js +34 -0
  75. package/KNXEngine/protocol/KNXSecureSessionRequest.js +59 -0
  76. package/KNXEngine/protocol/KNXTunnelingAck.js +37 -0
  77. package/KNXEngine/protocol/KNXTunnelingRequest.js +46 -0
  78. package/KNXEngine/protocol/KNXUtils.js +54 -0
  79. package/KNXEngine/protocol/ServiceFamilies.js +66 -0
  80. package/KNXEngine/protocol/TunnelCRI.js +37 -0
  81. package/KNXEngine/protocol/cEMI/AdditionalInfo.js +34 -0
  82. package/KNXEngine/protocol/cEMI/CEMIConstants.js +28 -0
  83. package/KNXEngine/protocol/cEMI/CEMIFactory.js +41 -0
  84. package/KNXEngine/protocol/cEMI/CEMIMessage.js +31 -0
  85. package/KNXEngine/protocol/cEMI/ControlField.js +110 -0
  86. package/KNXEngine/protocol/cEMI/LDataCon.js +53 -0
  87. package/KNXEngine/protocol/cEMI/LDataInd.js +53 -0
  88. package/KNXEngine/protocol/cEMI/LDataReq.js +53 -0
  89. package/KNXEngine/protocol/cEMI/NPDU.js +127 -0
  90. package/KNXEngine/protocol/cEMI/TLVInfo.js +27 -0
  91. package/KNXEngine/protocol/index.js +7 -0
  92. package/KNXEngine/util/ipAddressHelper.js +41 -0
  93. package/README.md +1 -1
  94. package/knxultimate-api2/src/Address.js +2 -3
  95. package/knxultimate-api2/src/Connection.js +35 -21
  96. package/knxultimate-api2/src/FSM.js +281 -187
  97. package/knxultimate-api2/src/IpRoutingConnection.js +7 -3
  98. package/knxultimate-api2/src/IpTunnelingConnection.js +8 -2
  99. package/knxultimate-api2/src/KNXsecureKeyring.js +262 -28
  100. package/knxultimate-api2/src/KnxConstants.js +2 -1
  101. package/knxultimate-api2/src/KnxProtocol.js +13 -2
  102. package/knxultimate-api2/src/dptlib/dpt12.js +13 -1
  103. package/knxultimate-api2/src/superKNX.js +117 -0
  104. package/nodes/knxUltimate-config API2.js +1838 -0
  105. package/nodes/knxUltimate-config.html +52 -23
  106. package/nodes/knxUltimate-config.js +271 -244
  107. package/nodes/knxUltimate.html +8 -3
  108. package/nodes/knxUltimate.js +22 -23
  109. package/nodes/knxUltimateWatchDog.js +20 -22
  110. package/nodes/locales/de/knxUltimate-config.json +2 -2
  111. package/nodes/locales/en-US/knxUltimate-config.json +2 -2
  112. package/nodes/locales/it/knxUltimate-config.json +2 -2
  113. package/nodes/locales/zh-CN/knxUltimate-config.json +1 -1
  114. package/package.json +4 -2
@@ -0,0 +1,15 @@
1
+ {
2
+ // Usare IntelliSense per informazioni sui possibili attributi.
3
+ // Al passaggio del mouse vengono visualizzate le descrizioni degli attributi esistenti.
4
+ // Per altre informazioni, visitare: https://go.microsoft.com/fwlink/?linkid=830387
5
+ "version": "0.2.0",
6
+ "configurations": [
7
+ {
8
+ "type": "pwa-chrome",
9
+ "request": "launch",
10
+ "name": "Launch Chrome against localhost",
11
+ "url": "http://localhost:8080",
12
+ "webRoot": "${workspaceFolder}"
13
+ }
14
+ ]
15
+ }
package/CHANGELOG.md CHANGED
@@ -3,7 +3,58 @@
3
3
  [![Donate via PayPal](https://img.shields.io/badge/Donate-PayPal-blue.svg?style=flat-square)](https://www.paypal.me/techtoday)
4
4
 
5
5
  <br/>
6
-
6
+ <p>
7
+ <b>Version 1.3.0</b> - December 2021<br/>
8
+ ---- MAJOR VERSION WITH TOTALLY REWRITTEN KNX API, IN PURE JAVASCRIPT ----<br/>
9
+ ---- IF YOU ENCOUNTER ISSUES, JUST INSTALL THE LAST OLD VERSION WITH:npm install node-red-knx-ultimate@1.2.57 ----<br/>
10
+ ---- PLEASE BE AWARE THAT ALL PREVIOULSY KNX SECURE OPTIONS HAVE BEEN HIDDEN UNTIL READY TO BE RELEASED, TO AVOID CONFUSIONS ----<br/>
11
+ - KNX-Secure: not ready yet. I think not before the 1° quarter of 2022 because i'm learning the MANY cryptograhics algorithms of this Secure thing. Already done are the loading/checking against password of the ETS Keyring file, the new TCP stack (will come toghether with the already present UDP stack) and the first connection handshake between KNX-Ultimate and a KNX/IP Interface via TCP tunnel, using the DH Curve25519 algorythm. SOMEONE INTERESTED HELPING ME WITH THE DEVELOPMENT (FOR FREE)?<br/>
12
+ - NEW: new KNX API developed in these months. This new API is more speedy, more mantainable (get rid of the old "machina" framework) and ready to accomodate the natively supports KNX-Secure.<br/>
13
+ - NEW: ETS Logger: now the node logs the sent packets as well (previously, it was recording only the received ones).<br/>
14
+ - NEW: KNX-Ultimate now supports TCP connection as well (for KNX Secure tunneling). All protocols are now supported (UDP Routing and Tunneling, TCP).<br/>
15
+ - NEW: You can now choose the IP protocol to be used for the gateway.<br/>
16
+ - NEW: WatchDog node: You can now set the communication protocol (TunnelingUDP, Multicast) using msg.setGatewayConfig.Protocol. Updated the Wiki as well to reflect the change.<br/>
17
+ - FIX: Watchdog node's setConfig sat the wrong configuration in case of more than one node gateway simultaneously active on the same flow.<br/>
18
+ - FIX: Manually setting interface in a gateway node set to multicast address, resulting in the gateway bond to all interfaces, causing some issues in receiving datagrams on systems having more than one ethernet interface active at the same time.<br/>
19
+ - FIX: KNX-Device: if the node was set to react to "Read" requests and "Autorespond" was also enabled and "Autorespond with default value if no payload is present" was also active, in some circumstances the "response" telegram was sent to a wrong group address.<br/>
20
+ - FIX: Config gateway: the custom delay between Telegrams sent to the KNX BUS was locked to the safe mimimum of 40ms, even if you sat a lower value. Now is 30ms, but proceed with caution if you set a low value. 50ms should be the safe-default.<br/>
21
+ - FIX: Config gateway: suppress acknowledge telegram now work as expected, totally ignoring received Acknowledges and don't ask for any as well. Prior was only ignoring the received Acknowledges.<br/>
22
+ </p>
23
+ <p>
24
+ <b>Version 1.2.57</b> - November 2021<br/>
25
+ - Added following datapoints:<br/>
26
+ - 12.100 counter timesec (s)<br/>
27
+ - 12.101 counter timemin (min)<br/>
28
+ - 12.102 counter timehrs (h)<br/>
29
+ - 12.1200 volume liquid (l)<br/>
30
+ </p>
31
+ <p>
32
+ <b>Version 1.2.56</b> - November 2021<br/>
33
+ - FIX: hotfix echo in tunneling mode doesn't work since 1.2.55.<br/>
34
+ </p>
35
+ <p>
36
+ <b>Version 1.2.55</b> - November 2021<br/>
37
+ - Gateway servere node: recoding of some javascript parts, to increase speed to better accomodate the crypt/entrypt process of the upcoming KNX-Secure implementation.<br/>
38
+ - KNX-Secure: succesfully read ETS Keyring file and decrypt of Devices keys, Group Address keys, Backbone Key, Management Key and Auth Key.<br/>
39
+ - KNX-Secure: a shield icon near the Gateway name in the KNX Device node appears, if KNX-Secure gateway has been selected.<br/>
40
+ - KNX-Secure: node-red log now logs wether the gateway is secure or not, ETS Keyring project name, created By and ETS version.<br/>
41
+ </p>
42
+ <p>
43
+ <b>Version 1.2.54</b> - November 2021<br/>
44
+ - <font color="red">THIS VERSION TOUCHES MANY CONNECTIVITY POINTS.</font> It should handle all things better, but if you've trouble, you can always revert to the previous version by issuing <b>npm install node-red-contrib-knx-ultimate@1.2.53</b><br/>
45
+ - Tunneling/Routing connection optimization: standardized delay in CONNECT_RESPONSE timeout and cleaned some code to better handling installations with more than 500 group addresses.<br/>
46
+ - In tunneling mode, the node now signal the disconnection after 3 KNX Interface's connection state response failed, as per KNX standard.<br/>
47
+ - Increased the socket telegram TTL (Time to Live) for Multicast as well as for Unicast, from 16 to 128 for better handling of multirouted packets.<br/>
48
+ - Added "[THE GATEWAY NODE HAS BEEN DISABLED]" node status message, if you've disabled the KNX Gateway.<br/>
49
+ - NEW: you can now choose to delay the connection to the KNX BUS at start. In some circumstances it's advisable to delay the connection to the BUS to allow the ethernet cards to be lifted up by the sysop. Thi happens often in VM environments.<br/>
50
+ - Changing the log level in the Gateway node doesn't require a node-red restart anymore.<br/>
51
+ - Because i'm flooded by user's queries, i removed a warning from the node status, if the persitent file has not yet been created.<br/>
52
+ - Wait for message acknowledge by the IP router: now waits for 5 failed message ACKs before firing the disconnection sequence.<br/>
53
+ - FIX: fixed a false "disconnection" node status, due to a glitch in the KNX API (after a connection request, the API was sending a false "disconnection" status). Chiamati in causa anche tutti i Santi, prima.<br/>
54
+ - Fixed some check-connection timers not stopping in time.<br/>
55
+ - Speed up the first KNX connection after node-red start/restart/deploy.<br/>
56
+ - Speed up the reconnection attempts in case of disconnections.<br/>
57
+ </p>
7
58
  <p>
8
59
  <b>Version 1.2.53</b> - November 2021<br/>
9
60
  - Device node: as soon as you add a new node with "read from bus at start" option enabeld, it requests the value from the BUS also if you DEPLOY "modified nodes" only. Prior to that, you had to do a full DEPLOY.<br/>