node-red-contrib-knx-ultimate 7.1.4 → 8.0.2

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 (657) hide show
  1. package/CHANGELOG.md +20 -10
  2. package/MIGRATION.md +40 -0
  3. package/README.md +32 -6
  4. package/docs/README.md +34 -0
  5. package/docs/assets/brand/made-in-italy.svg +12 -0
  6. package/examples/Alerter - Device Alert Aggregation.json +5 -2
  7. package/examples/Auto Responder - Read Request Defaults.json +5 -2
  8. package/examples/Garage - Door Controller.json +5 -2
  9. package/examples/Global Context - Expose KNX Values.json +5 -2
  10. package/examples/KNX DateTime - Set Date and Time to Bus.json +111 -89
  11. package/examples/Load Control - Manual Shedding Mode.json +5 -2
  12. package/examples/Logger ETS File and Telegram Count.json +10 -2
  13. package/examples/Scene Controller Recall and Save.json +33 -6
  14. package/examples/Staircase - Timer, Override and Block.json +5 -2
  15. package/examples/WatchDog Connect Disconnect.json +98 -70
  16. package/nodes/commonFunctions.js +0 -587
  17. package/nodes/knxUltimate-config.html +0 -14
  18. package/nodes/knxUltimate-config.js +1 -18
  19. package/nodes/knxUltimate.html +1 -6
  20. package/nodes/knxUltimateIoTBridge.html +0 -14
  21. package/nodes/knxUltimateLegacyMigration.js +75 -0
  22. package/nodes/knxUltimateMultiRouting.html +1 -7
  23. package/nodes/knxUltimateRouterFilter.html +1 -7
  24. package/nodes/knxUltimateUtility.html +0 -6
  25. package/nodes/knxUltimateViewer.html +0 -6
  26. package/nodes/locales/de/knxUltimate-config.html +0 -8
  27. package/nodes/locales/de/knxUltimate.html +0 -8
  28. package/nodes/locales/de/knxUltimateIoTBridge.html +0 -8
  29. package/nodes/locales/de/knxUltimateMultiRouting.html +0 -8
  30. package/nodes/locales/de/knxUltimateRouterFilter.html +0 -8
  31. package/nodes/locales/de/knxUltimateUtility.html +0 -8
  32. package/nodes/locales/de/knxUltimateUtility.json +16 -1
  33. package/nodes/locales/de/knxUltimateViewer.html +0 -8
  34. package/nodes/locales/en/knxUltimate-config.html +0 -8
  35. package/nodes/locales/en/knxUltimate.html +0 -8
  36. package/nodes/locales/en/knxUltimateIoTBridge.html +0 -8
  37. package/nodes/locales/en/knxUltimateMultiRouting.html +0 -8
  38. package/nodes/locales/en/knxUltimateRouterFilter.html +0 -8
  39. package/nodes/locales/en/knxUltimateUtility.html +0 -8
  40. package/nodes/locales/en/knxUltimateUtility.json +16 -1
  41. package/nodes/locales/en/knxUltimateViewer.html +0 -8
  42. package/nodes/locales/es/knxUltimate-config.html +0 -8
  43. package/nodes/locales/es/knxUltimate.html +0 -8
  44. package/nodes/locales/es/knxUltimateIoTBridge.html +0 -8
  45. package/nodes/locales/es/knxUltimateMultiRouting.html +0 -8
  46. package/nodes/locales/es/knxUltimateRouterFilter.html +0 -8
  47. package/nodes/locales/es/knxUltimateUtility.html +0 -8
  48. package/nodes/locales/es/knxUltimateUtility.json +17 -2
  49. package/nodes/locales/es/knxUltimateViewer.html +0 -8
  50. package/nodes/locales/fr/knxUltimate-config.html +0 -8
  51. package/nodes/locales/fr/knxUltimate.html +0 -8
  52. package/nodes/locales/fr/knxUltimateIoTBridge.html +0 -8
  53. package/nodes/locales/fr/knxUltimateMultiRouting.html +0 -8
  54. package/nodes/locales/fr/knxUltimateRouterFilter.html +0 -8
  55. package/nodes/locales/fr/knxUltimateUtility.html +0 -8
  56. package/nodes/locales/fr/knxUltimateUtility.json +16 -1
  57. package/nodes/locales/fr/knxUltimateViewer.html +0 -8
  58. package/nodes/locales/it/knxUltimate-config.html +0 -8
  59. package/nodes/locales/it/knxUltimate.html +0 -8
  60. package/nodes/locales/it/knxUltimateIoTBridge.html +0 -8
  61. package/nodes/locales/it/knxUltimateMultiRouting.html +0 -8
  62. package/nodes/locales/it/knxUltimateRouterFilter.html +0 -8
  63. package/nodes/locales/it/knxUltimateUtility.html +0 -8
  64. package/nodes/locales/it/knxUltimateUtility.json +16 -1
  65. package/nodes/locales/it/knxUltimateViewer.html +0 -8
  66. package/nodes/locales/zh-CN/knxUltimate-config.html +0 -8
  67. package/nodes/locales/zh-CN/knxUltimate.html +0 -8
  68. package/nodes/locales/zh-CN/knxUltimateIoTBridge.html +0 -8
  69. package/nodes/locales/zh-CN/knxUltimateMultiRouting.html +0 -8
  70. package/nodes/locales/zh-CN/knxUltimateRouterFilter.html +0 -8
  71. package/nodes/locales/zh-CN/knxUltimateUtility.html +0 -8
  72. package/nodes/locales/zh-CN/knxUltimateUtility.json +16 -1
  73. package/nodes/locales/zh-CN/knxUltimateViewer.html +0 -8
  74. package/nodes/plugins/knxUltimate-v8-migration-recovery-plugin.html +140 -0
  75. package/package.json +22 -69
  76. package/resources/11f26b4500.js +2 -2
  77. package/resources/KNXAIChatAdapterMappings.js +2 -416
  78. package/resources/configNodeEditorSelection.js +2 -32
  79. package/resources/hueControllerEditorSelection.js +2 -32
  80. package/resources/hueControllerMigrationDialog.js +2 -254
  81. package/resources/hueControllerProfiles.js +2 -9319
  82. package/resources/knxUtilityProfiles.js +2041 -2082
  83. package/resources/legacyMigrationNotice.js +23 -111
  84. package/resources/matterQrScanner.js +2 -98
  85. package/resources/upgradeToV8.js +94 -26
  86. package/scripts/check-legacy-flows.js +142 -0
  87. package/examples/Hue Area Motion - Zone Presence.json +0 -77
  88. package/examples/Hue Battery - Level Status.json +0 -77
  89. package/examples/Hue Button - Short and Dim Commands.json +0 -83
  90. package/examples/Hue Camera Motion - Presence.json +0 -77
  91. package/examples/Hue Config - Bridge Template.json +0 -27
  92. package/examples/Hue Contact Sensor - Open Closed.json +0 -75
  93. package/examples/Hue Device Software Update - Availability.json +0 -77
  94. package/examples/Hue Humidity Sensor - Relative Humidity.json +0 -77
  95. package/examples/Hue Light - Switch and Brightness.json +0 -67
  96. package/examples/Hue Light Sensor - Lux to KNX.json +0 -77
  97. package/examples/Hue Motion - Presence Sensor.json +0 -76
  98. package/examples/Hue Plug - Switch and State.json +0 -63
  99. package/examples/Hue Scene - Recall from KNX.json +0 -63
  100. package/examples/Hue Tap Dial - Relative Dimming.json +0 -76
  101. package/examples/Hue Temperature Sensor - Celsius to KNX.json +0 -77
  102. package/examples/Hue Zigbee Connectivity - Online Status.json +0 -77
  103. package/examples/Matter Controller - Semantic Flow Input.json +0 -248
  104. package/nodes/hue-config.html +0 -378
  105. package/nodes/hue-config.js +0 -846
  106. package/nodes/icons/node-alerter-icon.png +0 -0
  107. package/nodes/icons/node-homekit-icon.png +0 -0
  108. package/nodes/icons/node-homekit-icon.svg +0 -10
  109. package/nodes/icons/node-hue-icon.svg +0 -10
  110. package/nodes/icons/node-knx-icon.png +0 -0
  111. package/nodes/icons/node-logger-icon.png +0 -0
  112. package/nodes/icons/node-logger2-icon.png +0 -0
  113. package/nodes/icons/node-logger2-icon.svg +0 -32
  114. package/nodes/icons/node-matter-bridge-icon.svg +0 -6
  115. package/nodes/icons/node-matter-controller-icon.svg +0 -6
  116. package/nodes/icons/node-matter-icon.svg +0 -12
  117. package/nodes/icons/node-scene-icon.png +0 -0
  118. package/nodes/icons/node-watchdog-icon.png +0 -0
  119. package/nodes/knxUltimateAI.html +0 -1826
  120. package/nodes/knxUltimateAI.js +0 -16797
  121. package/nodes/knxUltimateAIHomeAssistant.html +0 -54
  122. package/nodes/knxUltimateAIHomeAssistant.js +0 -152
  123. package/nodes/knxUltimateAlerter.html +0 -267
  124. package/nodes/knxUltimateAlerter.js +0 -300
  125. package/nodes/knxUltimateAutoResponder.html +0 -128
  126. package/nodes/knxUltimateAutoResponder.js +0 -264
  127. package/nodes/knxUltimateDateTime.html +0 -579
  128. package/nodes/knxUltimateDateTime.js +0 -282
  129. package/nodes/knxUltimateGarage.html +0 -337
  130. package/nodes/knxUltimateGarage.js +0 -504
  131. package/nodes/knxUltimateGlobalContext.html +0 -145
  132. package/nodes/knxUltimateGlobalContext.js +0 -208
  133. package/nodes/knxUltimateHATranslator.html +0 -85
  134. package/nodes/knxUltimateHATranslator.js +0 -83
  135. package/nodes/knxUltimateHueAreaMotion.html +0 -670
  136. package/nodes/knxUltimateHueAreaMotion.js +0 -218
  137. package/nodes/knxUltimateHueBattery.html +0 -646
  138. package/nodes/knxUltimateHueBattery.js +0 -182
  139. package/nodes/knxUltimateHueButton.html +0 -804
  140. package/nodes/knxUltimateHueButton.js +0 -292
  141. package/nodes/knxUltimateHueCameraMotion.html +0 -671
  142. package/nodes/knxUltimateHueCameraMotion.js +0 -218
  143. package/nodes/knxUltimateHueContactSensor.html +0 -609
  144. package/nodes/knxUltimateHueContactSensor.js +0 -188
  145. package/nodes/knxUltimateHueController.html +0 -1765
  146. package/nodes/knxUltimateHueController.js +0 -28
  147. package/nodes/knxUltimateHueHumiditySensor.html +0 -641
  148. package/nodes/knxUltimateHueHumiditySensor.js +0 -201
  149. package/nodes/knxUltimateHueLight.html +0 -2516
  150. package/nodes/knxUltimateHueLight.js +0 -1582
  151. package/nodes/knxUltimateHueLightSensor.html +0 -636
  152. package/nodes/knxUltimateHueLightSensor.js +0 -177
  153. package/nodes/knxUltimateHueMotion.html +0 -634
  154. package/nodes/knxUltimateHueMotion.js +0 -182
  155. package/nodes/knxUltimateHuePlug.html +0 -576
  156. package/nodes/knxUltimateHuePlug.js +0 -341
  157. package/nodes/knxUltimateHueScene.html +0 -967
  158. package/nodes/knxUltimateHueScene.js +0 -349
  159. package/nodes/knxUltimateHueTapDial.html +0 -640
  160. package/nodes/knxUltimateHueTapDial.js +0 -268
  161. package/nodes/knxUltimateHueTemperatureSensor.html +0 -639
  162. package/nodes/knxUltimateHueTemperatureSensor.js +0 -184
  163. package/nodes/knxUltimateHueZigbeeConnectivity.html +0 -648
  164. package/nodes/knxUltimateHueZigbeeConnectivity.js +0 -182
  165. package/nodes/knxUltimateHuedevice_software_update.html +0 -650
  166. package/nodes/knxUltimateHuedevice_software_update.js +0 -182
  167. package/nodes/knxUltimateLoadControl.html +0 -425
  168. package/nodes/knxUltimateLoadControl.js +0 -443
  169. package/nodes/knxUltimateLogger.html +0 -197
  170. package/nodes/knxUltimateLogger.js +0 -224
  171. package/nodes/knxUltimateMatterBridge.html +0 -689
  172. package/nodes/knxUltimateMatterBridge.js +0 -464
  173. package/nodes/knxUltimateMatterControllerDevice.html +0 -2851
  174. package/nodes/knxUltimateMatterControllerDevice.js +0 -1747
  175. package/nodes/knxUltimateSceneController.html +0 -529
  176. package/nodes/knxUltimateSceneController.js +0 -437
  177. package/nodes/knxUltimateStaircase.html +0 -346
  178. package/nodes/knxUltimateStaircase.js +0 -463
  179. package/nodes/knxUltimateWatchDog.html +0 -241
  180. package/nodes/knxUltimateWatchDog.js +0 -230
  181. package/nodes/locales/de/hue-config.html +0 -33
  182. package/nodes/locales/de/hue-config.json +0 -21
  183. package/nodes/locales/de/knxUltimateAI.html +0 -13
  184. package/nodes/locales/de/knxUltimateAI.json +0 -231
  185. package/nodes/locales/de/knxUltimateAIHomeAssistant.html +0 -11
  186. package/nodes/locales/de/knxUltimateAlerter.html +0 -159
  187. package/nodes/locales/de/knxUltimateAlerter.json +0 -27
  188. package/nodes/locales/de/knxUltimateAutoResponder.html +0 -96
  189. package/nodes/locales/de/knxUltimateAutoResponder.json +0 -8
  190. package/nodes/locales/de/knxUltimateDateTime.html +0 -45
  191. package/nodes/locales/de/knxUltimateDateTime.json +0 -32
  192. package/nodes/locales/de/knxUltimateGarage.html +0 -79
  193. package/nodes/locales/de/knxUltimateGarage.json +0 -51
  194. package/nodes/locales/de/knxUltimateGlobalContext.html +0 -76
  195. package/nodes/locales/de/knxUltimateGlobalContext.json +0 -24
  196. package/nodes/locales/de/knxUltimateHATranslator.html +0 -25
  197. package/nodes/locales/de/knxUltimateHATranslator.json +0 -8
  198. package/nodes/locales/de/knxUltimateHueAreaMotion.html +0 -44
  199. package/nodes/locales/de/knxUltimateHueAreaMotion.json +0 -31
  200. package/nodes/locales/de/knxUltimateHueBattery.html +0 -37
  201. package/nodes/locales/de/knxUltimateHueBattery.json +0 -30
  202. package/nodes/locales/de/knxUltimateHueButton.html +0 -52
  203. package/nodes/locales/de/knxUltimateHueButton.json +0 -34
  204. package/nodes/locales/de/knxUltimateHueCameraMotion.html +0 -38
  205. package/nodes/locales/de/knxUltimateHueCameraMotion.json +0 -30
  206. package/nodes/locales/de/knxUltimateHueContactSensor.html +0 -35
  207. package/nodes/locales/de/knxUltimateHueContactSensor.json +0 -26
  208. package/nodes/locales/de/knxUltimateHueController.html +0 -690
  209. package/nodes/locales/de/knxUltimateHueController.json +0 -64
  210. package/nodes/locales/de/knxUltimateHueHumiditySensor.html +0 -38
  211. package/nodes/locales/de/knxUltimateHueHumiditySensor.json +0 -30
  212. package/nodes/locales/de/knxUltimateHueLight.html +0 -121
  213. package/nodes/locales/de/knxUltimateHueLight.json +0 -94
  214. package/nodes/locales/de/knxUltimateHueLightSensor.html +0 -38
  215. package/nodes/locales/de/knxUltimateHueLightSensor.json +0 -19
  216. package/nodes/locales/de/knxUltimateHueMotion.html +0 -41
  217. package/nodes/locales/de/knxUltimateHueMotion.json +0 -27
  218. package/nodes/locales/de/knxUltimateHuePlug.html +0 -50
  219. package/nodes/locales/de/knxUltimateHuePlug.json +0 -33
  220. package/nodes/locales/de/knxUltimateHueScene.html +0 -45
  221. package/nodes/locales/de/knxUltimateHueScene.json +0 -41
  222. package/nodes/locales/de/knxUltimateHueTapDial.html +0 -40
  223. package/nodes/locales/de/knxUltimateHueTapDial.json +0 -28
  224. package/nodes/locales/de/knxUltimateHueTemperatureSensor.html +0 -38
  225. package/nodes/locales/de/knxUltimateHueTemperatureSensor.json +0 -30
  226. package/nodes/locales/de/knxUltimateHueZigbeeConnectivity.html +0 -39
  227. package/nodes/locales/de/knxUltimateHueZigbeeConnectivity.json +0 -30
  228. package/nodes/locales/de/knxUltimateHuedevice_software_update.html +0 -36
  229. package/nodes/locales/de/knxUltimateHuedevice_software_update.json +0 -30
  230. package/nodes/locales/de/knxUltimateLoadControl.html +0 -69
  231. package/nodes/locales/de/knxUltimateLoadControl.json +0 -28
  232. package/nodes/locales/de/knxUltimateLogger.html +0 -126
  233. package/nodes/locales/de/knxUltimateLogger.json +0 -31
  234. package/nodes/locales/de/knxUltimateMatterBridge.html +0 -65
  235. package/nodes/locales/de/knxUltimateMatterBridge.json +0 -123
  236. package/nodes/locales/de/knxUltimateMatterControllerDevice.html +0 -57
  237. package/nodes/locales/de/knxUltimateMatterControllerDevice.json +0 -146
  238. package/nodes/locales/de/knxUltimateSceneController.html +0 -98
  239. package/nodes/locales/de/knxUltimateSceneController.json +0 -32
  240. package/nodes/locales/de/knxUltimateStaircase.html +0 -77
  241. package/nodes/locales/de/knxUltimateStaircase.json +0 -62
  242. package/nodes/locales/de/knxUltimateWatchDog.html +0 -178
  243. package/nodes/locales/de/knxUltimateWatchDog.json +0 -27
  244. package/nodes/locales/de/matter-config.html +0 -47
  245. package/nodes/locales/de/matter-config.json +0 -47
  246. package/nodes/locales/de/matterbridge-config.html +0 -45
  247. package/nodes/locales/de/matterbridge-config.json +0 -25
  248. package/nodes/locales/en/hue-config.html +0 -31
  249. package/nodes/locales/en/hue-config.json +0 -21
  250. package/nodes/locales/en/knxUltimateAI.html +0 -13
  251. package/nodes/locales/en/knxUltimateAI.json +0 -234
  252. package/nodes/locales/en/knxUltimateAIHomeAssistant.html +0 -11
  253. package/nodes/locales/en/knxUltimateAlerter.html +0 -164
  254. package/nodes/locales/en/knxUltimateAlerter.json +0 -27
  255. package/nodes/locales/en/knxUltimateAutoResponder.html +0 -94
  256. package/nodes/locales/en/knxUltimateAutoResponder.json +0 -8
  257. package/nodes/locales/en/knxUltimateDateTime.html +0 -67
  258. package/nodes/locales/en/knxUltimateDateTime.json +0 -32
  259. package/nodes/locales/en/knxUltimateGarage.html +0 -79
  260. package/nodes/locales/en/knxUltimateGarage.json +0 -51
  261. package/nodes/locales/en/knxUltimateGlobalContext.html +0 -124
  262. package/nodes/locales/en/knxUltimateGlobalContext.json +0 -24
  263. package/nodes/locales/en/knxUltimateHATranslator.html +0 -25
  264. package/nodes/locales/en/knxUltimateHATranslator.json +0 -8
  265. package/nodes/locales/en/knxUltimateHueAreaMotion.html +0 -44
  266. package/nodes/locales/en/knxUltimateHueAreaMotion.json +0 -31
  267. package/nodes/locales/en/knxUltimateHueBattery.html +0 -37
  268. package/nodes/locales/en/knxUltimateHueBattery.json +0 -30
  269. package/nodes/locales/en/knxUltimateHueButton.html +0 -52
  270. package/nodes/locales/en/knxUltimateHueButton.json +0 -34
  271. package/nodes/locales/en/knxUltimateHueCameraMotion.html +0 -38
  272. package/nodes/locales/en/knxUltimateHueCameraMotion.json +0 -30
  273. package/nodes/locales/en/knxUltimateHueContactSensor.html +0 -35
  274. package/nodes/locales/en/knxUltimateHueContactSensor.json +0 -26
  275. package/nodes/locales/en/knxUltimateHueController.html +0 -691
  276. package/nodes/locales/en/knxUltimateHueController.json +0 -64
  277. package/nodes/locales/en/knxUltimateHueHumiditySensor.html +0 -38
  278. package/nodes/locales/en/knxUltimateHueHumiditySensor.json +0 -30
  279. package/nodes/locales/en/knxUltimateHueLight.html +0 -124
  280. package/nodes/locales/en/knxUltimateHueLight.json +0 -94
  281. package/nodes/locales/en/knxUltimateHueLightSensor.html +0 -38
  282. package/nodes/locales/en/knxUltimateHueLightSensor.json +0 -19
  283. package/nodes/locales/en/knxUltimateHueMotion.html +0 -41
  284. package/nodes/locales/en/knxUltimateHueMotion.json +0 -27
  285. package/nodes/locales/en/knxUltimateHuePlug.html +0 -50
  286. package/nodes/locales/en/knxUltimateHuePlug.json +0 -33
  287. package/nodes/locales/en/knxUltimateHueScene.html +0 -45
  288. package/nodes/locales/en/knxUltimateHueScene.json +0 -41
  289. package/nodes/locales/en/knxUltimateHueTapDial.html +0 -40
  290. package/nodes/locales/en/knxUltimateHueTapDial.json +0 -28
  291. package/nodes/locales/en/knxUltimateHueTemperatureSensor.html +0 -38
  292. package/nodes/locales/en/knxUltimateHueTemperatureSensor.json +0 -30
  293. package/nodes/locales/en/knxUltimateHueZigbeeConnectivity.html +0 -39
  294. package/nodes/locales/en/knxUltimateHueZigbeeConnectivity.json +0 -30
  295. package/nodes/locales/en/knxUltimateHuedevice_software_update.html +0 -36
  296. package/nodes/locales/en/knxUltimateHuedevice_software_update.json +0 -30
  297. package/nodes/locales/en/knxUltimateLoadControl.html +0 -76
  298. package/nodes/locales/en/knxUltimateLoadControl.json +0 -28
  299. package/nodes/locales/en/knxUltimateLogger.html +0 -161
  300. package/nodes/locales/en/knxUltimateLogger.json +0 -31
  301. package/nodes/locales/en/knxUltimateMatterBridge.html +0 -65
  302. package/nodes/locales/en/knxUltimateMatterBridge.json +0 -123
  303. package/nodes/locales/en/knxUltimateMatterControllerDevice.html +0 -57
  304. package/nodes/locales/en/knxUltimateMatterControllerDevice.json +0 -146
  305. package/nodes/locales/en/knxUltimateSceneController.html +0 -117
  306. package/nodes/locales/en/knxUltimateSceneController.json +0 -32
  307. package/nodes/locales/en/knxUltimateStaircase.html +0 -77
  308. package/nodes/locales/en/knxUltimateStaircase.json +0 -62
  309. package/nodes/locales/en/knxUltimateWatchDog.html +0 -244
  310. package/nodes/locales/en/knxUltimateWatchDog.json +0 -27
  311. package/nodes/locales/en/matter-config.html +0 -47
  312. package/nodes/locales/en/matter-config.json +0 -48
  313. package/nodes/locales/en/matterbridge-config.html +0 -45
  314. package/nodes/locales/en/matterbridge-config.json +0 -25
  315. package/nodes/locales/es/hue-config.html +0 -31
  316. package/nodes/locales/es/hue-config.json +0 -21
  317. package/nodes/locales/es/knxUltimateAI.html +0 -13
  318. package/nodes/locales/es/knxUltimateAI.json +0 -231
  319. package/nodes/locales/es/knxUltimateAIHomeAssistant.html +0 -11
  320. package/nodes/locales/es/knxUltimateAlerter.html +0 -164
  321. package/nodes/locales/es/knxUltimateAlerter.json +0 -27
  322. package/nodes/locales/es/knxUltimateAutoResponder.html +0 -81
  323. package/nodes/locales/es/knxUltimateAutoResponder.json +0 -8
  324. package/nodes/locales/es/knxUltimateDateTime.html +0 -45
  325. package/nodes/locales/es/knxUltimateDateTime.json +0 -32
  326. package/nodes/locales/es/knxUltimateGarage.html +0 -79
  327. package/nodes/locales/es/knxUltimateGarage.json +0 -51
  328. package/nodes/locales/es/knxUltimateGlobalContext.html +0 -128
  329. package/nodes/locales/es/knxUltimateGlobalContext.json +0 -24
  330. package/nodes/locales/es/knxUltimateHATranslator.html +0 -25
  331. package/nodes/locales/es/knxUltimateHATranslator.json +0 -8
  332. package/nodes/locales/es/knxUltimateHueAreaMotion.html +0 -44
  333. package/nodes/locales/es/knxUltimateHueAreaMotion.json +0 -31
  334. package/nodes/locales/es/knxUltimateHueBattery.html +0 -37
  335. package/nodes/locales/es/knxUltimateHueBattery.json +0 -30
  336. package/nodes/locales/es/knxUltimateHueButton.html +0 -52
  337. package/nodes/locales/es/knxUltimateHueButton.json +0 -34
  338. package/nodes/locales/es/knxUltimateHueCameraMotion.html +0 -38
  339. package/nodes/locales/es/knxUltimateHueCameraMotion.json +0 -30
  340. package/nodes/locales/es/knxUltimateHueContactSensor.html +0 -35
  341. package/nodes/locales/es/knxUltimateHueContactSensor.json +0 -26
  342. package/nodes/locales/es/knxUltimateHueController.html +0 -691
  343. package/nodes/locales/es/knxUltimateHueController.json +0 -64
  344. package/nodes/locales/es/knxUltimateHueHumiditySensor.html +0 -38
  345. package/nodes/locales/es/knxUltimateHueHumiditySensor.json +0 -30
  346. package/nodes/locales/es/knxUltimateHueLight.html +0 -124
  347. package/nodes/locales/es/knxUltimateHueLight.json +0 -94
  348. package/nodes/locales/es/knxUltimateHueLightSensor.html +0 -38
  349. package/nodes/locales/es/knxUltimateHueLightSensor.json +0 -19
  350. package/nodes/locales/es/knxUltimateHueMotion.html +0 -41
  351. package/nodes/locales/es/knxUltimateHueMotion.json +0 -27
  352. package/nodes/locales/es/knxUltimateHuePlug.html +0 -50
  353. package/nodes/locales/es/knxUltimateHuePlug.json +0 -33
  354. package/nodes/locales/es/knxUltimateHueScene.html +0 -45
  355. package/nodes/locales/es/knxUltimateHueScene.json +0 -41
  356. package/nodes/locales/es/knxUltimateHueTapDial.html +0 -40
  357. package/nodes/locales/es/knxUltimateHueTapDial.json +0 -28
  358. package/nodes/locales/es/knxUltimateHueTemperatureSensor.html +0 -38
  359. package/nodes/locales/es/knxUltimateHueTemperatureSensor.json +0 -30
  360. package/nodes/locales/es/knxUltimateHueZigbeeConnectivity.html +0 -39
  361. package/nodes/locales/es/knxUltimateHueZigbeeConnectivity.json +0 -30
  362. package/nodes/locales/es/knxUltimateHuedevice_software_update.html +0 -36
  363. package/nodes/locales/es/knxUltimateHuedevice_software_update.json +0 -30
  364. package/nodes/locales/es/knxUltimateLoadControl.html +0 -76
  365. package/nodes/locales/es/knxUltimateLoadControl.json +0 -28
  366. package/nodes/locales/es/knxUltimateLogger.html +0 -162
  367. package/nodes/locales/es/knxUltimateLogger.json +0 -31
  368. package/nodes/locales/es/knxUltimateMatterBridge.html +0 -65
  369. package/nodes/locales/es/knxUltimateMatterBridge.json +0 -123
  370. package/nodes/locales/es/knxUltimateMatterControllerDevice.html +0 -57
  371. package/nodes/locales/es/knxUltimateMatterControllerDevice.json +0 -146
  372. package/nodes/locales/es/knxUltimateSceneController.html +0 -115
  373. package/nodes/locales/es/knxUltimateSceneController.json +0 -32
  374. package/nodes/locales/es/knxUltimateStaircase.html +0 -77
  375. package/nodes/locales/es/knxUltimateStaircase.json +0 -62
  376. package/nodes/locales/es/knxUltimateWatchDog.html +0 -230
  377. package/nodes/locales/es/knxUltimateWatchDog.json +0 -27
  378. package/nodes/locales/es/matter-config.html +0 -47
  379. package/nodes/locales/es/matter-config.json +0 -47
  380. package/nodes/locales/es/matterbridge-config.html +0 -45
  381. package/nodes/locales/es/matterbridge-config.json +0 -25
  382. package/nodes/locales/fr/hue-config.html +0 -31
  383. package/nodes/locales/fr/hue-config.json +0 -21
  384. package/nodes/locales/fr/knxUltimateAI.html +0 -13
  385. package/nodes/locales/fr/knxUltimateAI.json +0 -231
  386. package/nodes/locales/fr/knxUltimateAIHomeAssistant.html +0 -11
  387. package/nodes/locales/fr/knxUltimateAlerter.html +0 -164
  388. package/nodes/locales/fr/knxUltimateAlerter.json +0 -27
  389. package/nodes/locales/fr/knxUltimateAutoResponder.html +0 -92
  390. package/nodes/locales/fr/knxUltimateAutoResponder.json +0 -8
  391. package/nodes/locales/fr/knxUltimateDateTime.html +0 -45
  392. package/nodes/locales/fr/knxUltimateDateTime.json +0 -32
  393. package/nodes/locales/fr/knxUltimateGarage.html +0 -79
  394. package/nodes/locales/fr/knxUltimateGarage.json +0 -51
  395. package/nodes/locales/fr/knxUltimateGlobalContext.html +0 -122
  396. package/nodes/locales/fr/knxUltimateGlobalContext.json +0 -24
  397. package/nodes/locales/fr/knxUltimateHATranslator.html +0 -25
  398. package/nodes/locales/fr/knxUltimateHATranslator.json +0 -8
  399. package/nodes/locales/fr/knxUltimateHueAreaMotion.html +0 -44
  400. package/nodes/locales/fr/knxUltimateHueAreaMotion.json +0 -31
  401. package/nodes/locales/fr/knxUltimateHueBattery.html +0 -37
  402. package/nodes/locales/fr/knxUltimateHueBattery.json +0 -30
  403. package/nodes/locales/fr/knxUltimateHueButton.html +0 -52
  404. package/nodes/locales/fr/knxUltimateHueButton.json +0 -34
  405. package/nodes/locales/fr/knxUltimateHueCameraMotion.html +0 -38
  406. package/nodes/locales/fr/knxUltimateHueCameraMotion.json +0 -30
  407. package/nodes/locales/fr/knxUltimateHueContactSensor.html +0 -35
  408. package/nodes/locales/fr/knxUltimateHueContactSensor.json +0 -26
  409. package/nodes/locales/fr/knxUltimateHueController.html +0 -691
  410. package/nodes/locales/fr/knxUltimateHueController.json +0 -64
  411. package/nodes/locales/fr/knxUltimateHueHumiditySensor.html +0 -38
  412. package/nodes/locales/fr/knxUltimateHueHumiditySensor.json +0 -30
  413. package/nodes/locales/fr/knxUltimateHueLight.html +0 -124
  414. package/nodes/locales/fr/knxUltimateHueLight.json +0 -86
  415. package/nodes/locales/fr/knxUltimateHueLightSensor.html +0 -38
  416. package/nodes/locales/fr/knxUltimateHueLightSensor.json +0 -19
  417. package/nodes/locales/fr/knxUltimateHueMotion.html +0 -41
  418. package/nodes/locales/fr/knxUltimateHueMotion.json +0 -27
  419. package/nodes/locales/fr/knxUltimateHuePlug.html +0 -50
  420. package/nodes/locales/fr/knxUltimateHuePlug.json +0 -33
  421. package/nodes/locales/fr/knxUltimateHueScene.html +0 -45
  422. package/nodes/locales/fr/knxUltimateHueScene.json +0 -41
  423. package/nodes/locales/fr/knxUltimateHueTapDial.html +0 -40
  424. package/nodes/locales/fr/knxUltimateHueTapDial.json +0 -28
  425. package/nodes/locales/fr/knxUltimateHueTemperatureSensor.html +0 -38
  426. package/nodes/locales/fr/knxUltimateHueTemperatureSensor.json +0 -30
  427. package/nodes/locales/fr/knxUltimateHueZigbeeConnectivity.html +0 -39
  428. package/nodes/locales/fr/knxUltimateHueZigbeeConnectivity.json +0 -30
  429. package/nodes/locales/fr/knxUltimateHuedevice_software_update.html +0 -36
  430. package/nodes/locales/fr/knxUltimateHuedevice_software_update.json +0 -30
  431. package/nodes/locales/fr/knxUltimateLoadControl.html +0 -76
  432. package/nodes/locales/fr/knxUltimateLoadControl.json +0 -28
  433. package/nodes/locales/fr/knxUltimateLogger.html +0 -160
  434. package/nodes/locales/fr/knxUltimateLogger.json +0 -31
  435. package/nodes/locales/fr/knxUltimateMatterBridge.html +0 -65
  436. package/nodes/locales/fr/knxUltimateMatterBridge.json +0 -123
  437. package/nodes/locales/fr/knxUltimateMatterControllerDevice.html +0 -57
  438. package/nodes/locales/fr/knxUltimateMatterControllerDevice.json +0 -146
  439. package/nodes/locales/fr/knxUltimateSceneController.html +0 -117
  440. package/nodes/locales/fr/knxUltimateSceneController.json +0 -32
  441. package/nodes/locales/fr/knxUltimateStaircase.html +0 -77
  442. package/nodes/locales/fr/knxUltimateStaircase.json +0 -62
  443. package/nodes/locales/fr/knxUltimateWatchDog.html +0 -228
  444. package/nodes/locales/fr/knxUltimateWatchDog.json +0 -27
  445. package/nodes/locales/fr/matter-config.html +0 -47
  446. package/nodes/locales/fr/matter-config.json +0 -47
  447. package/nodes/locales/fr/matterbridge-config.html +0 -45
  448. package/nodes/locales/fr/matterbridge-config.json +0 -25
  449. package/nodes/locales/it/hue-config.html +0 -33
  450. package/nodes/locales/it/hue-config.json +0 -21
  451. package/nodes/locales/it/knxUltimateAI.html +0 -13
  452. package/nodes/locales/it/knxUltimateAI.json +0 -234
  453. package/nodes/locales/it/knxUltimateAIHomeAssistant.html +0 -11
  454. package/nodes/locales/it/knxUltimateAlerter.html +0 -159
  455. package/nodes/locales/it/knxUltimateAlerter.json +0 -27
  456. package/nodes/locales/it/knxUltimateAutoResponder.html +0 -96
  457. package/nodes/locales/it/knxUltimateAutoResponder.json +0 -8
  458. package/nodes/locales/it/knxUltimateDateTime.html +0 -67
  459. package/nodes/locales/it/knxUltimateDateTime.json +0 -32
  460. package/nodes/locales/it/knxUltimateGarage.html +0 -79
  461. package/nodes/locales/it/knxUltimateGarage.json +0 -51
  462. package/nodes/locales/it/knxUltimateGlobalContext.html +0 -81
  463. package/nodes/locales/it/knxUltimateGlobalContext.json +0 -24
  464. package/nodes/locales/it/knxUltimateHATranslator.html +0 -24
  465. package/nodes/locales/it/knxUltimateHATranslator.json +0 -8
  466. package/nodes/locales/it/knxUltimateHueAreaMotion.html +0 -44
  467. package/nodes/locales/it/knxUltimateHueAreaMotion.json +0 -31
  468. package/nodes/locales/it/knxUltimateHueBattery.html +0 -37
  469. package/nodes/locales/it/knxUltimateHueBattery.json +0 -30
  470. package/nodes/locales/it/knxUltimateHueButton.html +0 -52
  471. package/nodes/locales/it/knxUltimateHueButton.json +0 -34
  472. package/nodes/locales/it/knxUltimateHueCameraMotion.html +0 -38
  473. package/nodes/locales/it/knxUltimateHueCameraMotion.json +0 -30
  474. package/nodes/locales/it/knxUltimateHueContactSensor.html +0 -35
  475. package/nodes/locales/it/knxUltimateHueContactSensor.json +0 -26
  476. package/nodes/locales/it/knxUltimateHueController.html +0 -690
  477. package/nodes/locales/it/knxUltimateHueController.json +0 -64
  478. package/nodes/locales/it/knxUltimateHueHumiditySensor 2.html +0 -11
  479. package/nodes/locales/it/knxUltimateHueHumiditySensor.html +0 -38
  480. package/nodes/locales/it/knxUltimateHueHumiditySensor.json +0 -30
  481. package/nodes/locales/it/knxUltimateHueLight.html +0 -124
  482. package/nodes/locales/it/knxUltimateHueLight.json +0 -94
  483. package/nodes/locales/it/knxUltimateHueLightSensor.html +0 -38
  484. package/nodes/locales/it/knxUltimateHueLightSensor.json +0 -19
  485. package/nodes/locales/it/knxUltimateHueMotion.html +0 -41
  486. package/nodes/locales/it/knxUltimateHueMotion.json +0 -27
  487. package/nodes/locales/it/knxUltimateHuePlug.html +0 -50
  488. package/nodes/locales/it/knxUltimateHuePlug.json +0 -33
  489. package/nodes/locales/it/knxUltimateHueScene.html +0 -45
  490. package/nodes/locales/it/knxUltimateHueScene.json +0 -41
  491. package/nodes/locales/it/knxUltimateHueTapDial.html +0 -40
  492. package/nodes/locales/it/knxUltimateHueTapDial.json +0 -28
  493. package/nodes/locales/it/knxUltimateHueTemperatureSensor.html +0 -38
  494. package/nodes/locales/it/knxUltimateHueTemperatureSensor.json +0 -30
  495. package/nodes/locales/it/knxUltimateHueZigbeeConnectivity.html +0 -39
  496. package/nodes/locales/it/knxUltimateHueZigbeeConnectivity.json +0 -30
  497. package/nodes/locales/it/knxUltimateHuedevice_software_update.html +0 -35
  498. package/nodes/locales/it/knxUltimateHuedevice_software_update.json +0 -30
  499. package/nodes/locales/it/knxUltimateLoadControl.html +0 -76
  500. package/nodes/locales/it/knxUltimateLoadControl.json +0 -28
  501. package/nodes/locales/it/knxUltimateLogger.html +0 -132
  502. package/nodes/locales/it/knxUltimateLogger.json +0 -31
  503. package/nodes/locales/it/knxUltimateMatterBridge.html +0 -65
  504. package/nodes/locales/it/knxUltimateMatterBridge.json +0 -123
  505. package/nodes/locales/it/knxUltimateMatterControllerDevice.html +0 -57
  506. package/nodes/locales/it/knxUltimateMatterControllerDevice.json +0 -146
  507. package/nodes/locales/it/knxUltimateSceneController.html +0 -101
  508. package/nodes/locales/it/knxUltimateSceneController.json +0 -32
  509. package/nodes/locales/it/knxUltimateStaircase.html +0 -77
  510. package/nodes/locales/it/knxUltimateStaircase.json +0 -62
  511. package/nodes/locales/it/knxUltimateWatchDog.html +0 -194
  512. package/nodes/locales/it/knxUltimateWatchDog.json +0 -27
  513. package/nodes/locales/it/matter-config.html +0 -47
  514. package/nodes/locales/it/matter-config.json +0 -48
  515. package/nodes/locales/it/matterbridge-config.html +0 -45
  516. package/nodes/locales/it/matterbridge-config.json +0 -25
  517. package/nodes/locales/zh-CN/hue-config.html +0 -33
  518. package/nodes/locales/zh-CN/hue-config.json +0 -21
  519. package/nodes/locales/zh-CN/knxUltimateAI.html +0 -13
  520. package/nodes/locales/zh-CN/knxUltimateAI.json +0 -231
  521. package/nodes/locales/zh-CN/knxUltimateAIHomeAssistant.html +0 -11
  522. package/nodes/locales/zh-CN/knxUltimateAlerter.html +0 -159
  523. package/nodes/locales/zh-CN/knxUltimateAlerter.json +0 -27
  524. package/nodes/locales/zh-CN/knxUltimateAutoResponder.html +0 -94
  525. package/nodes/locales/zh-CN/knxUltimateAutoResponder.json +0 -8
  526. package/nodes/locales/zh-CN/knxUltimateDateTime.html +0 -45
  527. package/nodes/locales/zh-CN/knxUltimateDateTime.json +0 -32
  528. package/nodes/locales/zh-CN/knxUltimateGarage.html +0 -79
  529. package/nodes/locales/zh-CN/knxUltimateGarage.json +0 -51
  530. package/nodes/locales/zh-CN/knxUltimateGlobalContext.html +0 -77
  531. package/nodes/locales/zh-CN/knxUltimateGlobalContext.json +0 -24
  532. package/nodes/locales/zh-CN/knxUltimateHATranslator.html +0 -25
  533. package/nodes/locales/zh-CN/knxUltimateHATranslator.json +0 -8
  534. package/nodes/locales/zh-CN/knxUltimateHueAreaMotion.html +0 -44
  535. package/nodes/locales/zh-CN/knxUltimateHueAreaMotion.json +0 -31
  536. package/nodes/locales/zh-CN/knxUltimateHueBattery.html +0 -37
  537. package/nodes/locales/zh-CN/knxUltimateHueBattery.json +0 -30
  538. package/nodes/locales/zh-CN/knxUltimateHueButton.html +0 -52
  539. package/nodes/locales/zh-CN/knxUltimateHueButton.json +0 -34
  540. package/nodes/locales/zh-CN/knxUltimateHueCameraMotion.html +0 -38
  541. package/nodes/locales/zh-CN/knxUltimateHueCameraMotion.json +0 -30
  542. package/nodes/locales/zh-CN/knxUltimateHueContactSensor.html +0 -35
  543. package/nodes/locales/zh-CN/knxUltimateHueContactSensor.json +0 -26
  544. package/nodes/locales/zh-CN/knxUltimateHueController.html +0 -693
  545. package/nodes/locales/zh-CN/knxUltimateHueController.json +0 -64
  546. package/nodes/locales/zh-CN/knxUltimateHueHumiditySensor.html +0 -38
  547. package/nodes/locales/zh-CN/knxUltimateHueHumiditySensor.json +0 -30
  548. package/nodes/locales/zh-CN/knxUltimateHueLight.html +0 -126
  549. package/nodes/locales/zh-CN/knxUltimateHueLight.json +0 -86
  550. package/nodes/locales/zh-CN/knxUltimateHueLightSensor.html +0 -38
  551. package/nodes/locales/zh-CN/knxUltimateHueLightSensor.json +0 -9
  552. package/nodes/locales/zh-CN/knxUltimateHueMotion.html +0 -41
  553. package/nodes/locales/zh-CN/knxUltimateHueMotion.json +0 -27
  554. package/nodes/locales/zh-CN/knxUltimateHuePlug.html +0 -50
  555. package/nodes/locales/zh-CN/knxUltimateHuePlug.json +0 -33
  556. package/nodes/locales/zh-CN/knxUltimateHueScene.html +0 -45
  557. package/nodes/locales/zh-CN/knxUltimateHueScene.json +0 -41
  558. package/nodes/locales/zh-CN/knxUltimateHueTapDial.html +0 -40
  559. package/nodes/locales/zh-CN/knxUltimateHueTapDial.json +0 -28
  560. package/nodes/locales/zh-CN/knxUltimateHueTemperatureSensor.html +0 -38
  561. package/nodes/locales/zh-CN/knxUltimateHueTemperatureSensor.json +0 -30
  562. package/nodes/locales/zh-CN/knxUltimateHueZigbeeConnectivity.html +0 -39
  563. package/nodes/locales/zh-CN/knxUltimateHueZigbeeConnectivity.json +0 -30
  564. package/nodes/locales/zh-CN/knxUltimateHuedevice_software_update.html +0 -36
  565. package/nodes/locales/zh-CN/knxUltimateHuedevice_software_update.json +0 -30
  566. package/nodes/locales/zh-CN/knxUltimateLoadControl.html +0 -76
  567. package/nodes/locales/zh-CN/knxUltimateLoadControl.json +0 -28
  568. package/nodes/locales/zh-CN/knxUltimateLogger.html +0 -126
  569. package/nodes/locales/zh-CN/knxUltimateLogger.json +0 -31
  570. package/nodes/locales/zh-CN/knxUltimateMatterBridge.html +0 -65
  571. package/nodes/locales/zh-CN/knxUltimateMatterBridge.json +0 -123
  572. package/nodes/locales/zh-CN/knxUltimateMatterControllerDevice.html +0 -57
  573. package/nodes/locales/zh-CN/knxUltimateMatterControllerDevice.json +0 -146
  574. package/nodes/locales/zh-CN/knxUltimateSceneController.html +0 -98
  575. package/nodes/locales/zh-CN/knxUltimateSceneController.json +0 -32
  576. package/nodes/locales/zh-CN/knxUltimateStaircase.html +0 -77
  577. package/nodes/locales/zh-CN/knxUltimateStaircase.json +0 -62
  578. package/nodes/locales/zh-CN/knxUltimateWatchDog.html +0 -178
  579. package/nodes/locales/zh-CN/knxUltimateWatchDog.json +0 -27
  580. package/nodes/locales/zh-CN/matter-config.html +0 -47
  581. package/nodes/locales/zh-CN/matter-config.json +0 -47
  582. package/nodes/locales/zh-CN/matterbridge-config.html +0 -45
  583. package/nodes/locales/zh-CN/matterbridge-config.json +0 -25
  584. package/nodes/matter-config.html +0 -578
  585. package/nodes/matter-config.js +0 -387
  586. package/nodes/matterbridge-config.html +0 -198
  587. package/nodes/matterbridge-config.js +0 -261
  588. package/nodes/plugins/knxUltimate-cerebrum-runtime-plugin.js +0 -79
  589. package/nodes/plugins/knxUltimate-migration-notice-plugin.html +0 -44
  590. package/nodes/plugins/knxUltimateAI-vue/assets/app.css +0 -1
  591. package/nodes/plugins/knxUltimateAI-vue/assets/app.js +0 -13
  592. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-html2canvas.esm.js +0 -5
  593. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-index.es.js +0 -5
  594. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-jspdf.es.min.js +0 -79
  595. package/nodes/plugins/knxUltimateAI-vue/assets/chunk-purify.es.js +0 -3
  596. package/nodes/plugins/knxUltimateAI-vue/index.html +0 -13
  597. package/nodes/utils/HueEventStream.mjs +0 -176
  598. package/nodes/utils/colorManipulators/XYFromRGB_Supergiovane.js +0 -113
  599. package/nodes/utils/colorManipulators/hueColorConverter.js +0 -521
  600. package/nodes/utils/http.js +0 -291
  601. package/nodes/utils/hueControllerProfileAdapter.js +0 -104
  602. package/nodes/utils/hueControllerProfiles/runtime/area_motion.js +0 -221
  603. package/nodes/utils/hueControllerProfiles/runtime/button.js +0 -295
  604. package/nodes/utils/hueControllerProfiles/runtime/camera_motion.js +0 -221
  605. package/nodes/utils/hueControllerProfiles/runtime/contact.js +0 -191
  606. package/nodes/utils/hueControllerProfiles/runtime/device_power.js +0 -185
  607. package/nodes/utils/hueControllerProfiles/runtime/device_software_update.js +0 -185
  608. package/nodes/utils/hueControllerProfiles/runtime/humidity.js +0 -204
  609. package/nodes/utils/hueControllerProfiles/runtime/light.js +0 -1585
  610. package/nodes/utils/hueControllerProfiles/runtime/light_level.js +0 -180
  611. package/nodes/utils/hueControllerProfiles/runtime/motion.js +0 -185
  612. package/nodes/utils/hueControllerProfiles/runtime/plug.js +0 -344
  613. package/nodes/utils/hueControllerProfiles/runtime/relative_rotary.js +0 -271
  614. package/nodes/utils/hueControllerProfiles/runtime/scene.js +0 -352
  615. package/nodes/utils/hueControllerProfiles/runtime/temperature.js +0 -187
  616. package/nodes/utils/hueControllerProfiles/runtime/zigbee_connectivity.js +0 -185
  617. package/nodes/utils/hueControllerResourceCatalog.js +0 -71
  618. package/nodes/utils/hueEngine.mjs +0 -469
  619. package/nodes/utils/knxAiCamera.js +0 -302
  620. package/nodes/utils/knxAiCatalogRetrieval.js +0 -349
  621. package/nodes/utils/knxAiCerebrum.js +0 -406
  622. package/nodes/utils/knxAiChatContext.js +0 -496
  623. package/nodes/utils/knxAiEventHistory.js +0 -521
  624. package/nodes/utils/knxAiHomeMemory.js +0 -1021
  625. package/nodes/utils/knxAiScheduler.js +0 -445
  626. package/nodes/utils/knxAiSemanticContext.js +0 -662
  627. package/nodes/utils/knxAiTelegramVoice.js +0 -545
  628. package/nodes/utils/knxAiWebAccess.js +0 -631
  629. package/nodes/utils/lightEngines/canonicalLight.js +0 -75
  630. package/nodes/utils/lightEngines/hueLightEngine.js +0 -51
  631. package/nodes/utils/lightEngines/index.js +0 -25
  632. package/nodes/utils/lightEngines/knxLightCommand.js +0 -79
  633. package/nodes/utils/lightEngines/lightEngine.js +0 -46
  634. package/nodes/utils/lightEngines/matterHueShim.js +0 -59
  635. package/nodes/utils/lightEngines/matterLightEngine.js +0 -117
  636. package/nodes/utils/matterBridgeDeviceFactory.mjs +0 -780
  637. package/nodes/utils/matterBridgeEngine.mjs +0 -297
  638. package/nodes/utils/matterControllerCommandGate.js +0 -47
  639. package/nodes/utils/matterControllerProfiles/doorLock.js +0 -258
  640. package/nodes/utils/matterControllerProfiles/fan.js +0 -19
  641. package/nodes/utils/matterControllerProfiles/index.js +0 -34
  642. package/nodes/utils/matterControllerProfiles/mappedEndpoint.js +0 -217
  643. package/nodes/utils/matterControllerProfiles/switch.js +0 -13
  644. package/nodes/utils/matterControllerProfiles/thermostat.js +0 -19
  645. package/nodes/utils/matterControllerProfiles/universal.js +0 -462
  646. package/nodes/utils/matterControllerProfiles/windowCovering.js +0 -19
  647. package/nodes/utils/matterControllerSemanticInput.js +0 -212
  648. package/nodes/utils/matterEngine.mjs +0 -894
  649. package/nodes/utils/matterEnvironmentLock.mjs +0 -32
  650. package/nodes/utils/matterKnxConverter.js +0 -204
  651. package/nodes/utils/matterStorageBackup.js +0 -100
  652. package/resources/HA-icon.png +0 -0
  653. package/resources/dim.png +0 -0
  654. package/resources/rgb.png +0 -0
  655. package/resources/tunablewhite.png +0 -0
  656. package/resources/zxing-browser-0.2.0.min.js +0 -1
  657. package/resources/zxing-browser-LICENSE.txt +0 -21
@@ -1,65 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateMatterBridge">
2
- ### Upgrade to KNX Ultimate 8
3
-
4
- Version 7 shows a compact **Upgrade to v8** button at the top of this editor. It downloads a flow backup, installs the required companion packages, converts compatible nodes, performs a full Deploy, verifies the saved flows and installs version 8. Restart the Node-RED service when prompted; reloading only the browser is not enough. Legacy KNX AI nodes stop the automatic operation.
5
-
6
- [Full upgrade guide](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- ## Overview
11
-
12
- Each Expose KNX to Matter node exposes **one KNX device as a Matter device**: the paired controllers (Alexa, Google Home, Apple Home...) see it, with the name you typed, ready for app and voice control. Point it to a **Matter Bridge** configuration node (the actual bridge, paired once - the pairing QR code lives there) and add as many device nodes as you want, anywhere in your flows.
13
-
14
- This is the opposite direction of the *Matter Device* node: there KNX controls a Matter device, here the Matter controllers control KNX.
15
-
16
- Changing the device type after the bridge has been paired changes the Matter endpoint structure. Controllers may keep the old endpoint as unreachable; in that case reset/re-pair the bridge or create a new exposed device.
17
-
18
- ## Configuration
19
-
20
- |Field|Description|
21
- |--|--|
22
- | Matter bridge | The Matter Bridge configuration node this device belongs to |
23
- | KNX GW | KNX gateway used for telegrams. **Optional**: without it the device runs in flow-only mode via the node PINs. Auto-selected when your project has only one gateway |
24
- | Name | What Alexa & Co. show and use for voice commands |
25
- | Device type | The Matter device type (see below); it drives which group address fields appear |
26
- | Read status at startup | Sends a `GroupValue_Read` to the status GAs at startup, so the Matter attributes are populated |
27
-
28
- ## Device types and group addresses
29
-
30
- |Type|Group addresses|
31
- |--|--|
32
- | On/Off light, Plug | On/Off command GA, On/Off status GA (DPT 1.001) |
33
- | Dimmable light | + Dimming % command/status GA (DPT 5.001) |
34
- | RGB color light | + RGB color command/status GA (DPT 232.600). The Matter color (hue/saturation or XY, from the app color wheel) is converted to/from the KNX RGB triplet |
35
- | Tunable white light | + Color temperature command/status GA in Kelvin (DPT 7.600) |
36
- | Cover / Shutter | Up/Down (DPT 1.008), Stop (DPT 1.017), Position % command/status (DPT 5.001), optional position inversion |
37
- | Thermostat (heating and/or cooling) | Current temperature GA, Setpoint command/status GA (DPT 9.001). Optionally add a Cooling setpoint command/status GA to also expose a Cool mode (dual-setpoint) |
38
- | Room air conditioner | One Matter device combining On/Off (DPT 1.001), current temperature and heating/cooling setpoints (DPT 9.001), and fan speed % (DPT 5.001) command/status GAs |
39
- | Fan / Ventilation | Fan speed % command/status GA (DPT 5.001) |
40
- | Door lock | Lock/Unlock command GA and Locked/Unlocked status GA (DPT 1.001; `true` = locked) |
41
- | Sensors (temperature, humidity, light, occupancy, contact) | One status GA each |
42
- | Smoke/CO alarm | Smoke alarm status GA + optional CO alarm status GA (DPT 1.005): critical notifications on the phone |
43
- | Water leak detector | Leak status GA (DPT 1.005) |
44
- | Air quality sensor (CO2) | CO2 status GA in ppm (DPT 9.008); the air quality class (good/fair/moderate/poor...) is derived automatically |
45
- | Robot vacuum | **Flow-only**: no group addresses. Enable the node PINs: assistant commands ("start cleaning", pause/resume/go home) arrive on the output as `rvcmode`/`rvccommand`; report the state back with `msg.payload = { function: "rvcstate", value: "running"|"docked"|"charging"|"paused"|"error" }` and the mode with `function: "rvcmode", value: "cleaning"|"idle"` |
46
-
47
- - **Command GA**: written to the KNX bus when the assistant sends a command.
48
- - **Status GA**: read from the bus to keep the Matter attributes (and the apps) updated.
49
-
50
- ## Advanced compatibility
51
-
52
- These options are hidden unless they apply to the selected type. Dimmable devices can ignore the brightness command that some controllers send immediately after `On`. For covers, **Swap Open / Close** reverses both the binary KNX command and percentage direction. **Cover slider debounce** coalesces rapid intermediate targets before writing to KNX: `0` uses adaptive windows (400 ms for the first command, 150 ms for subsequent commands); `1`–`5000` forces one fixed window. Covers can also optimistically update the Matter position after a command, then correct it when the KNX status GA reports the real position.
53
-
54
- ## Node PINs
55
-
56
- The PIN selector is outside the editor tabs. Enabling it reveals a contextual **Flow input/output** section directly below, with copyable examples filtered to the selected device type:
57
-
58
- - **Input**: update the Matter state from the flow, without the KNX bus: `msg.payload = { function: "onoff", value: true }` (`function` is one of `onoff`, `level`, `rgb`, `colortemp`, `position`, `temperature`, `humidity`, `illuminance`, `occupancy`, `contact`, `currenttemp`, `setpoint`, `coolingsetpoint`, `fanspeed`, `lock`, `smoke`, `co`, `leak`, `co2`, `rvcstate`, `rvcmode`). Useful to expose flow-computed values (e.g. a virtual sensor) to Alexa & Co.
59
- - **Output**: every command received from a Matter controller is forwarded to the flow: `msg.topic` = device name, `msg.payload` = value, `msg.matter` = the raw command. A device without command GAs becomes a **flow-only device**.
60
-
61
- ## Notes
62
-
63
- - The Matter identity of the device is tied to this node: deleting the node and creating a new one makes the apps see a brand-new device.
64
- - Added/renamed/removed device nodes are picked up by the paired controllers within seconds, without re-pairing the bridge.
65
- </script>
@@ -1,123 +0,0 @@
1
- {
2
- "knxUltimateMatterBridge": {
3
- "title": "Expose KNX to Matter",
4
- "bridge_name": "Matter bridge name",
5
- "port": "Port",
6
- "devices_help": "Add the KNX devices to expose on Matter. The \"Name\" is what Alexa/Google/Apple will show and use for voice commands. Command GA = written when the assistant sends a command; Status GA = read from the bus to keep the app updated.",
7
- "read_status_startup": "Read the status group addresses at startup",
8
- "opt_yes": "Yes",
9
- "opt_no": "No",
10
- "node_pins": "Node Input/Output PINs",
11
- "node_pins_hide": "Hide",
12
- "node_pins_show": "Show node input/output PINs",
13
- "type_change_warning": "Changing the device type after the bridge has been paired changes the Matter endpoint structure. Alexa/Google/Apple may keep the old endpoint as unreachable; you may need to reset/re-pair the Matter Bridge or create a new exposed device instead.",
14
- "fields": {
15
- "type": "Device type",
16
- "name": "Name (shown by Alexa & Co.)",
17
- "name_placeholder": "e.g. Kitchen light",
18
- "invert": "Invert position %"
19
- },
20
- "advanced": {
21
- "title": "Advanced compatibility",
22
- "help": " Use these options only when a Matter controller or a KNX actuator needs special handling.",
23
- "alexa_dedup_ms": "Alexa duplicate-command window (ms, 0 = off)",
24
- "turn_on_behavior": "Turn-on behavior",
25
- "turn_on_ignore_level": "Ignore brightness sent immediately after On",
26
- "turn_on_forward_all": "Forward every brightness command",
27
- "ignore_level_ms": "Ignore brightness after On (ms)",
28
- "cover_swap_open_close": "Swap cover Open / Close",
29
- "cover_slider_debounce": "Cover slider debounce (ms, 0 = adaptive)",
30
- "cover_update_mode": "Cover state update",
31
- "cover_optimistic": "Optimistically update Matter position",
32
- "cover_wait_status": "Wait for KNX status only",
33
- "cover_status_timeout": "Cover status timeout (ms)"
34
- },
35
- "tabs": {
36
- "mappings": "KNX mappings",
37
- "advanced": "Advanced options"
38
- },
39
- "flow_help": {
40
- "title": "Flow input/output",
41
- "intro": "These examples match the selected device type and are available while the node input/output PINs are enabled.",
42
- "input_title": "Flow → Matter (node input)",
43
- "input_hint": "Send one of these messages to update the exposed Matter state without writing to KNX.",
44
- "output_title": "Matter → Flow (node output)",
45
- "output_hint": "Commands received from a Matter controller are emitted with the value in msg.payload and raw routing details in msg.matter.",
46
- "function": "Function",
47
- "message": "Example message",
48
- "copy": "Copy",
49
- "copied": "Message copied",
50
- "no_input": "This device type has no flow state-update examples.",
51
- "no_output": "This device type does not emit controller commands; its output remains silent."
52
- },
53
- "functions": {
54
- "fn_onoff_cmd": "On/Off command GA",
55
- "fn_onoff_status": "On/Off status GA",
56
- "fn_level_cmd": "Dimming % command GA",
57
- "fn_level_status": "Dimming % status GA",
58
- "fn_sensor_ga": "Sensor status GA",
59
- "fn_updown": "Up/Down command GA",
60
- "fn_stop": "Stop command GA",
61
- "fn_position_cmd": "Position % command GA",
62
- "fn_position_status": "Position % status GA",
63
- "fn_currenttemp": "Current temperature GA",
64
- "fn_setpoint_cmd": "Setpoint command GA",
65
- "fn_setpoint_status": "Setpoint status GA",
66
- "fn_coolingsetpoint_cmd": "Cooling setpoint command GA",
67
- "fn_coolingsetpoint_status": "Cooling setpoint status GA",
68
- "fn_rgb_cmd": "RGB color command GA (DPT 232.600)",
69
- "fn_rgb_status": "RGB color status GA (DPT 232.600)",
70
- "fn_ct_cmd": "Color temperature command GA (Kelvin)",
71
- "fn_ct_status": "Color temperature status GA (Kelvin)",
72
- "fn_smoke_ga": "Smoke alarm status GA",
73
- "fn_co_ga": "CO alarm status GA (optional)",
74
- "fn_leak_ga": "Leak status GA",
75
- "fn_co2_ga": "CO2 status GA (ppm, DPT 9.008)",
76
- "fn_fanspeed_cmd": "Fan speed % command GA",
77
- "fn_fanspeed_status": "Fan speed % status GA",
78
- "fn_lock_cmd": "Lock/Unlock command GA",
79
- "fn_lock_status": "Locked/Unlocked status GA"
80
- },
81
- "types": {
82
- "onofflight": "On/Off light",
83
- "dimmablelight": "Dimmable light",
84
- "rgblight": "RGB color light",
85
- "colortemperaturelight": "Tunable white light (color temperature)",
86
- "onoffplug": "Plug / Socket (on/off)",
87
- "temperaturesensor": "Temperature sensor",
88
- "humiditysensor": "Humidity sensor",
89
- "lightsensor": "Light sensor (Lux)",
90
- "occupancysensor": "Occupancy sensor",
91
- "contactsensor": "Contact sensor",
92
- "windowcovering": "Cover / Shutter",
93
- "thermostat": "Thermostat (heating)",
94
- "roomairconditioner": "Room air conditioner",
95
- "fan": "Fan / Ventilation",
96
- "doorlock": "Door lock",
97
- "smokecoalarm": "Smoke/CO alarm",
98
- "waterleakdetector": "Water leak detector",
99
- "airqualitysensor": "Air quality sensor (CO2)",
100
- "robotvacuum": "Robot vacuum (flow-only, via node PINs)"
101
- },
102
- "pairing": {
103
- "title": "Pairing (Alexa, Google Home, Apple Home...)",
104
- "not_running": "The Matter bridge is not running yet. Deploy, wait a few seconds, then click refresh.",
105
- "commissioned": "Bridge paired with these controllers:",
106
- "awaiting": "Awaiting pairing. Scan the QR code or enter the manual code in your Matter app:",
107
- "qr_link": "Open the QR code in the browser",
108
- "deploy_first": "Deploy this node first, then click refresh.",
109
- "reset_button": "Reset pairing",
110
- "reset_confirm": "Remove ALL paired controllers and restart pairing? The devices will disappear from Alexa/Google/Apple.",
111
- "reset_ok": "Pairing reset. The bridge is now advertising for pairing again."
112
- },
113
- "bridge": "Matter bridge",
114
- "device_name": "Name (shown by Alexa & Co.)",
115
- "device_help": "Pick the device type and give it the name the voice assistant will use, then fill the group addresses. The KNX gateway is optional: without it, enable the node PINs and drive the device from the flow."
116
- },
117
- "common": {
118
- "ga": "GA",
119
- "dpt": "DPT",
120
- "name": "Name",
121
- "knx_gw": "KNX GW"
122
- }
123
- }
@@ -1,57 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateMatterControllerDevice">
2
- ### Upgrade to KNX Ultimate 8
3
-
4
- Version 7 shows a compact **Upgrade to v8** button at the top of this editor. It downloads a flow backup, installs the required companion packages, converts compatible nodes, performs a full Deploy, verifies the saved flows and installs version 8. Restart the Node-RED service when prompted; reloading only the browser is not enough. Legacy KNX AI nodes stop the automatic operation.
5
-
6
- [Full upgrade guide](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- This node controls a commissioned Matter endpoint from KNX. Select the Matter device and the editor detects its capabilities, then shows only the KNX mappings that make sense for that endpoint.
11
-
12
- Clicking or focusing the Matter device field always opens the complete commissioned endpoint list, even when a device is already selected. Typing continues to filter it.
13
-
14
- It replaces the unpublished per-device Matter controller nodes and keeps the full light UI when the selected endpoint is a light.
15
-
16
- ## Configuration
17
-
18
- |Field|Description|
19
- |--|--|
20
- | KNX GW | KNX gateway used to write and answer the configured group addresses. It can be left empty when only Node-RED output is needed. The saved gateway remains selected while the editor initializes and changes only after an explicit user selection. |
21
- | Matter controller | Matter controller configuration node where the device has been commissioned. |
22
- | Matter device | Matter endpoint selected from commissioned devices. The UI is rebuilt from its real capabilities. |
23
- | Switch / Plug / Light On-Off | On/Off command and status group addresses, usually DPT `1.001`. |
24
- | Door Lock | A DPT `1.xxx` command GA invokes `lockDoor` for `true` and `unlockDoor` for `false`; a separate status GA receives only unambiguous Locked/Unlocked states. If the endpoint requires it, store the remote-operation PIN in the credential field. Commands not advertised by the endpoint are rejected. |
25
- | Other endpoints | Plugs, On/Off actuators, covers, thermostats, fans, environmental/contact/occupancy sensors, battery, power and energy endpoints use the multi-purpose mapped profile. The dedicated **Mappings** tab contains only mappings backed by clusters, attributes and commands advertised by that endpoint; leave a GA empty to disable it. |
26
- | Light controls | For light endpoints, the same light UI is used: relative DIM (DPT `3.007`), brightness %, RGB/HSV, tunable white, switch-on brightness/temperature, day/night lighting, min/max dim level and dim speed. Unsupported sections are hidden. |
27
- | Sensors | Sensor endpoints expose their measurement/status GA only when supported: temperature, humidity, illuminance, occupancy, contact and battery. |
28
- | Read at startup | Publishes the cached Matter value at deploy/startup or when the device reconnects. |
29
- | Update local state from KNX write | Updates the local Matter/KNX cache when a telegram is written on a configured KNX GA. |
30
- | Node Input/Output PINs | Shows Node-RED input/output pins and reveals the **Flow input** section directly below this field. Lights show their supported top-level light-state messages; non-light endpoints show the simple `{function,value}` contract and advanced Matter fields. The selection is preserved when the editor is reopened. |
31
-
32
- ## Flow input
33
-
34
- Enable **Node Input/Output PINs** to reveal the **Flow input** section directly below the selector. For lights it shows copyable examples for the supported top-level properties, such as `msg.on`, `msg.dimming`, `msg.color_temperature` and `msg.color`. For non-light endpoints it is built from the advertised structure and provides the selected Endpoint ID, every readable/writable attribute and every accepted command. It remains available when the node is used only by a flow without a KNX gateway.
35
-
36
- Simple writes use `msg.payload = {function:"position",value:35}`. Omit `value` to read a supported state, for example `{function:"temperature"}`; the output uses human units and includes raw routing details in `msg.matter`. Supported functions include `onoff`, `level`, `position`, `tiltposition`, `open`, `close`, `stop`, `setpoint`, `coolingsetpoint`, `currenttemp`, `fanspeed`, sensor readings and `identify`, but only when advertised by that endpoint. Door Lock accepts `{function:"lock",value:true|false}`.
37
-
38
- Existing advanced inputs remain valid: use top-level `msg.clusterId` plus `msg.command`/`msg.args`, or `msg.attribute` with optional `msg.value`. Node ID and Endpoint ID are already selected by the node; `msg.endpointId` is only an optional override.
39
-
40
- ## Universal Mode
41
-
42
- Select **Universal Mode** in the **Mode** selector to receive every attribute report, cluster event and device initialization from this Matter controller. It always has one input and one output and does not use endpoint mappings. A KNX gateway is optional and is used only by the Battery Monitor alarm/text GAs.
43
-
44
- The **Universal Battery Monitor** scans all endpoints for Power Source, emits an initial snapshot, and caches complete normalized battery state. The optional KNX GAs publish an aggregate alarm as DPT 1.005 and cycle low-battery device names every 2 seconds as DPT 16.001. Send `{payload:{action:"getAllBatteries"}}` to retrieve the cached inventory.
45
-
46
- Outputs carry the raw value in `msg.payload` and routing details in `msg.matter` (`source`, `nodeId`, `endpointId`, `clusterId`, attribute/event name). Inputs use `msg.nodeId`, `msg.endpointId`, `msg.clusterId` and either `msg.command` with `msg.args`, or `msg.attribute`; add `msg.value` to write, omit it to read. The selectors may also be nested under `msg.matter`.
47
-
48
- Examples: `{nodeId:"100",endpointId:1,clusterId:6,command:"on",args:{}}` turns On; `{nodeId:"100",endpointId:1,clusterId:47,attribute:"batPercentRemaining"}` reads battery. Battery reports remain in raw Matter half-percent units; divide by two in a Function node when a percentage is needed.
49
-
50
- ## Behaviour
51
-
52
- The node keeps a local cache from Matter updates and KNX writes, answers KNX read requests from that cache, and can emit/read values at startup. Only the configured group addresses are listened to, so unrelated KNX traffic is ignored.
53
-
54
- Commands are scheduled in a separate ordered lane for each commissioned device. An offline, timing-out or removed device therefore cannot delay other Matter devices that use the same KNX group address. A node that still references a removed device rejects the command immediately and shows **Device no longer commissioned** in red; select a valid Matter device or remove the stale Controller node.
55
-
56
- An unavailable-device error is latched: further KNX and flow commands are ignored and cannot overwrite the red status. The node resumes automatically as soon as that Matter device reports `connected`; opening the node editor also clears the latch to allow a manual retry.
57
- </script>
@@ -1,146 +0,0 @@
1
- {
2
- "knxUltimateMatterControllerDevice": {
3
- "title": "Control Matter from KNX",
4
- "node-input-name": "Name",
5
- "node-input-nameLightSwitch": "Switch (bit)",
6
- "node-input-GALightSwitch": "GA",
7
- "node-input-dptLightSwitch": "dpt",
8
- "node-input-nameLightState": "State (bit)",
9
- "node-input-GALightState": "GA",
10
- "node-input-dptLightState": "dpt",
11
- "node-input-hueLight": "Matter device",
12
- "paletteLabel": "Control Matter from KNX",
13
- "no_devices": "No Matter devices found. Check the Matter controller and click refresh.",
14
- "input_help_label": "Flow input",
15
- "input_help_pin_hint": "Enable the node input/output PINs before sending these messages.",
16
- "input_help_endpoint": "Selected endpoint",
17
- "input_help_endpoint_hint": "The node already knows the Node ID and Endpoint ID, so the simple messages do not need them.",
18
- "input_help_simple_title": "Simple messages",
19
- "input_help_simple_hint": "These functions use human units and are translated to the Matter cluster, command or attribute shown by the selected endpoint.",
20
- "input_help_light_hint": "Light endpoints accept light-state properties directly on msg (not inside msg.payload). Only controls supported by the selected light are shown.",
21
- "input_help_advanced_title": "Advanced Matter details",
22
- "input_help_advanced_hint": "Only advertised attributes and commands are listed. Attribute write examples use 0 as a placeholder; command arguments may need to be adapted to the Matter data type.",
23
- "input_help_operation": "Operation",
24
- "input_help_function": "Function",
25
- "input_help_target": "Matter target",
26
- "input_help_message": "Message",
27
- "input_help_read": "Read",
28
- "input_help_write": "Write",
29
- "input_help_command": "Command",
30
- "input_help_copy": "Copy",
31
- "input_help_copied": "Message copied",
32
- "input_help_no_simple": "This endpoint has no known simple input functions.",
33
- "input_help_no_structure": "The Matter structure is unavailable. Refresh the device list while the endpoint is online.",
34
- "input_functions": {
35
- "onoff": "On / Off", "on": "On", "off": "Off", "level": "Level", "brightness": "Brightness", "color_temperature": "Colour temperature", "xy_color": "XY colour", "position": "Cover position", "tiltposition": "Cover tilt", "open": "Open", "close": "Close", "stop": "Stop", "setpoint": "Heating setpoint", "coolingsetpoint": "Cooling setpoint", "currenttemp": "Current temperature", "fanspeed": "Fan speed", "temperature": "Temperature", "humidity": "Humidity", "illuminance": "Illuminance", "occupancy": "Occupancy", "contact": "Contact", "battery": "Battery", "activepower": "Active power", "importedenergy": "Imported energy", "identify": "Identify", "lock": "Lock", "unlock": "Unlock"
36
- },
37
- "tabs": {
38
- "switch": "Switch",
39
- "dim": "Dim",
40
- "tunable_white": "Tunable white",
41
- "rgb_hsv": "RGB/HSV",
42
- "effects": "Effects",
43
- "mappings": "Mappings",
44
- "behaviour": "Behaviour"
45
- },
46
- "control": "Control",
47
- "status": "Status",
48
- "door_lock_command": "Lock / unlock",
49
- "door_lock_status": "Lock state",
50
- "door_lock_pin": "Remote-operation PIN",
51
- "door_lock_pin_required": "This lock reports that a PIN is required for remote operation.",
52
- "door_lock_commands_missing": "This endpoint does not advertise both lock and unlock commands. Missing commands will be rejected.",
53
- "mapped": {
54
- "onoff_command": "On / Off command", "onoff_state": "On / Off state", "cover_updown": "Cover up / down", "cover_stop": "Cover stop", "cover_position_command": "Cover position command", "cover_position_state": "Cover position state", "heating_command": "Heating setpoint command", "heating_state": "Heating setpoint state", "cooling_command": "Cooling setpoint command", "cooling_state": "Cooling setpoint state", "local_temperature": "Local temperature", "fan_command": "Fan speed command", "fan_state": "Fan speed state", "temperature": "Temperature", "humidity": "Humidity", "illuminance": "Illuminance", "occupancy": "Occupancy", "contact": "Boolean / contact state", "battery": "Battery", "active_power": "Active power", "imported_energy": "Imported energy"
55
- },
56
- "night_lighting": "Night Lighting",
57
- "no_night_lighting": "No night lighting",
58
- "get_current": "Get current",
59
- "get_again": "Get again",
60
- "wait": "Wait...",
61
- "locate_no_bridge": "Select a Matter controller first",
62
- "locate_no_device": "Select a Matter device first",
63
- "locate_success": "Locate command sent",
64
- "locate_started": "Locate mode started. Press again to stop (auto-stops after 10 minutes).",
65
- "locate_stopped": "Locate mode stopped.",
66
- "locate_start_title": "Locate selected Matter device",
67
- "locate_stop_title": "Stop locate mode",
68
- "locate_error": "Unable to locate Matter device",
69
- "day_night": "Day/Night",
70
- "invert_day_night": "Invert day/night value",
71
- "override_night_mode": "Force day mode",
72
- "override_no": "No",
73
- "override_set_day_fast_this": "Switch to DAY mode by rapid switching the light off then on (this light only)",
74
- "override_set_day_fast_all": "Switch to DAY mode by rapid switching the light off then on (apply to ALL light nodes)",
75
- "node_pins": "Node Input/Output PINs",
76
- "node_pins_hide": "Hide",
77
- "node_pins_show": "Show node input/output PINs",
78
- "read_status_startup": "Read status at startup",
79
- "opt_no": "No",
80
- "opt_yes_emit": "Yes, and emit KNX telegrams.",
81
- "knx_brightness_status": "KNX Brightness Status",
82
- "knx_brightness_onhueoff": "When the Matter light is Off send 0%. When it is On, restore the previous value (default KNX behaviour)",
83
- "knx_brightness_no": "Leave as is (default Matter behaviour)",
84
- "update_local_state_from_knx_write": "Update local cached Matter state from KNX bus writes",
85
- "update_local_state_from_knx_write_hint": "Enabled: faster local reactions and consistent immediate KNX read responses. Disabled: keep the cache aligned only with real Matter reports.",
86
- "use_min_brightness": "Use minimum brightness specified for the Matter light",
87
- "k_suffix": "K",
88
- "temp_desc_2200": "(start of Philips White Ambiance lights range)",
89
- "temp_desc_2700": "(warm white, intimate, cozy, personal, for living rooms)",
90
- "temp_desc_3000": "(soft white, warm, calming, for bathrooms and kitchens)",
91
- "temp_desc_3500_day": "(neutral white, balanced, friendly, inviting, for office spaces and retail)",
92
- "temp_desc_3500_night": "(not recommended for night time - neutral white, for office spaces and retail)",
93
- "temp_desc_4100_day": "(cool white, precise, clean, focused, for garages and grocery stores)",
94
- "temp_desc_4100_night": "(not recommended for night time - cool white, precise, clean, focused, for garages and grocery stores)",
95
- "temp_desc_5000_day": "(bright white, vibrant, crisp, for warehouses, sports stadiums and healthcare)",
96
- "temp_desc_5000_night": "(not recommended for night time - bright white, vibrant, crisp, for warehouses, sports stadiums and healthcare)",
97
- "temp_desc_6500_day": "(daylight, alert, energetic, for indoor agriculture)",
98
- "temp_desc_6500_night": "(not recommended for night time - daylight, alert, energetic, for indoor agriculture)",
99
- "switch_on_behaviour": "Switch on behaviour",
100
- "none": "None",
101
- "switch_off": "(Switch Off)",
102
- "select_color": "Select color",
103
- "select_temperature_brightness": "Select temperature and brightness",
104
- "select_brightness": "Select brightness",
105
- "effect_command": "Effect command",
106
- "effect_status": "Effect status",
107
- "effect_mapping": "Mappings",
108
- "effect_autofill": "Fill with available effects",
109
- "effect_tip": "Provide KNX value / Matter effect pairs. When the incoming KNX payload matches the value, the selected effect is applied to the light.",
110
- "effect_tip_status": "If a status group address is configured, the current Matter effect is emitted using the mapped KNX value or the effect name.",
111
- "effect_not_supported": "This light does not expose Matter effects.",
112
- "effect_knx_value_placeholder": "Value to match",
113
- "effect_base_label": "Basic Matter effects",
114
- "effect_native_label": "Native Matter effects",
115
- "matter_controller": "Matter controller",
116
- "matter_device": "Matter device",
117
- "device_type": "Device type",
118
- "matter_section": "Matter device",
119
- "controller_mode": "Mode",
120
- "single_mode": "Single device",
121
- "universal_mode": "Universal Mode (all Matter devices)",
122
- "universal_mode_description": "Listen to and control all Matter devices connected to this controller. Universal Mode works without KNX mappings.",
123
- "universal_service": "Service",
124
- "universal_service_battery_monitor": "Universal Battery Monitor",
125
- "universal_service_all_events": "All Matter events",
126
- "universal_battery_threshold": "Low battery threshold",
127
- "universal_low_battery_ga": "Low battery alarm GA",
128
- "universal_low_battery_text_ga": "Low battery device GA",
129
- "universal_battery_only_low": "Emit only low batteries",
130
- "universal_emit_initial": "Emit initial battery snapshot",
131
- "universal_include_raw": "Include raw Matter event",
132
- "universal_mode_status": "Universal Matter mode",
133
- "universal_mode_locate_disabled": "Locate is unavailable in Universal Mode.",
134
- "universal_controller_name": "Matter Universal Controller"
135
- },
136
- "common": {
137
- "ga": "GA",
138
- "dpt": "DPT",
139
- "name": "Name",
140
- "youtube_sample": "Youtube sample",
141
- "knx_gw": "KNX GW",
142
- "hue_bridge": "Matter controller",
143
- "philips_hue": "Matter",
144
- "read": "Read"
145
- }
146
- }
@@ -1,117 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateSceneController">
2
- ### Upgrade to KNX Ultimate 8
3
-
4
- Version 7 shows a compact **Upgrade to v8** button at the top of this editor. It downloads a flow backup, installs the required HUE/Matter packages, converts compatible nodes, performs a full Deploy, verifies the saved flows and installs version 8. Restart the Node-RED service when prompted; reloading only the browser is not enough. Legacy KNX AI nodes stop the automatic operation.
5
-
6
- [Full upgrade guide](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- **Deprecated:** This dedicated node remains supported for existing flows. Use **KNX Utility** for new flows and select the matching function. The legacy node is hidden from the palette and marked `(deprecated)` on the canvas. Its editor offers a button to convert all compatible legacy KNX utility nodes in every flow and subflow after confirmation. Conversion happens locally in the browser, preserves IDs, settings, connections and groups, and supports Undo. Confirming closes the current node editor and discards unsaved edits. Review the result before Deploy.
11
-
12
- <p>The scene controllre node, behaves exactly as a scene controller KNX device. It's capable of saving and recalling a scene.</p>
13
-
14
- # SCENE CONTROLLER NODE SETTINGS
15
-
16
- | Property | Description |
17
- | ------------ | ---------------------------------------------------------------------------------------------------- |
18
- | Gateway | Selected KNX gateway. |
19
- | Scene Recall | **Datapoint ** and**Trigger Value ** . Group Address for scene recall. Example 0/0/1. The scene controller will react to telegrams coming from this group address, to recall the scene. The datapoint is the datapoint type (DPT) of the _scene recall_ group address. The Trigger Value is the value that must be reveived, to trigger the scene recall.**Remember ** : to trigger a scene or save a scene via a DIM command, put in the scene recall or scene save**trigger value** , the correct object for dimming ({decr\_incr:1,data:5} for dim increase, {decr\_incr:0,data:5} for dim decrease) |
20
- | Scene Save | **Datapoint ** and**Trigger Value ** . Group Address for saving a scene. Example 0/0/2. The scene controller will react to telegrams coming from this group address, by saving all the current values of all devices in the scene, that can be recalled later. Every time you press, or long press a real knx pushbutton in your building, the scene controller will read the values of all devices in the scene and save it in a non volatile storage. The datapoint is the datapoint type (DPT) of the _scene save_ group address. The Trigger Value is the value that must be reveived, to trigger the scene saving.**Remember ** : to trigger a scene or save a scene via a DIM command, put in the scene recall or scene save**trigger value** , the correct object for dimming ({decr\_incr:1,data:5} for dim increase, {decr\_incr:0,data:5} for dim decrease) |
21
- | Node name | Node name, in the format "Recall: device name used to recall the scene / Save: device name for saving the scene". But you can set whatever name you want. |
22
- | Topic | Node's topic. |
23
-
24
- ## SCENE CONFIGURATION
25
-
26
- You need to add devices to the scene, like a standard real scene controller knx device. This is a list, each row represents a device.
27
-
28
- _ **The scene node automatically saves the updated values of all actuators belonging to the scene, whenever it receives a new value from the BUS.** _
29
-
30
- | Property | Description |
31
- | ------------- | ---------------------------------------------------------------------------------------------------- |
32
- | ADD button | Add a row to the list. |
33
- | Row's field | First field is the group address, second is the datapoint, third is the default value for this device in the scene (this can be overridden by the _scene save_ function). Below, is the device name.<br/> To insert a _pause_, type **wait ** in the first field and a number in the last field, that represents the time (in milliseconds) of the pause, for example**2000 ** <br/><br>The**wait ** command accept also values indicating seconds, minutes or hours.<br>To set a value in seconds, add**s ** after the numeric value, for example (**12s ** )<br>To set a value in minutes, add**m ** after the numeric value, for example (**5m ** )<br>To set a value in hours, add**h ** after the numeric value, for example (**1h** ) |
34
- | Remove button | Remove a device from the list. |
35
-
36
- # MESSAGE OUTPUT FROM THE SCENE CONTROLLER NODE
37
-
38
- ```javascript
39
-
40
- msg = {
41
- topic: "Scene Controller" <i>(Contains the node's topic, for example "MyTopic").</i>
42
- recallscene: <i>(<b>true</b> if a scene has been recalled, otherwise <b>false</b>).</i>
43
- savescene: <i>(<b>true</b> if a scene has been saved, otherwise <b>false</b>).</i>
44
- savevalue: <i>(<b>true</b> if a group address value belonging to an actuator in the scene, has been manually saved by a msg input, otherwise <b>false</b>).</i>
45
- disabled: <i>(<b>true</b> if the scene controller has been disabled via input message msg.disabled = true, otherwise <b>false</b>).</i>
46
- }
47
-
48
- ```
49
-
50
- ---
51
-
52
- # INPUT FLOW MESSAGE
53
-
54
- The Scene Controller node reacts primarly to KNX telegrams and rely to that to recall and save scenes.
55
-
56
- You can, however, recall and save scenes by sending a msg to the node. The scene controller can be disabled to inhibite the commands coming from the KNX Bus.
57
-
58
- **RECALL A SCENE**
59
-
60
- ```javascript
61
-
62
- // Example of a function that recall the scene
63
- msg.recallscene = true;
64
- return msg;
65
-
66
- ```
67
-
68
- **SAVE A SCENE**
69
-
70
- ```javascript
71
-
72
- // Example of a function that saves the scene
73
- msg.savescene = true;
74
- return msg;
75
-
76
- ```
77
-
78
- **SAVE CURRENT VALUE OF A GROUP ADDRESS ** _**The scene node already saves the updated values of all actuators belonging to the scene.** _
79
-
80
- Sometimes it is useful to be able to save the current value of a group address that is different from the one entered in the scene, as the real value of the scene actuator.
81
-
82
- For example, a shutter actuator usually has a command group address and a status one.
83
-
84
- The node saves the scene by taking command group address values, which may not be aligned with the true state value.
85
-
86
- However, you can work around this by manually updating the command group address value, taking it from the status group address.
87
-
88
- Think this: if you have a blind actuator, having a group address for move, a group address for step, a group address for absolute height etc... the only group address knowing the exact position of the blind, is the **absolute height value status** group address. <br/>
89
-
90
- With this status group address, you can update the command group addresses of the blind actuators belonging to the scene. Please see the sample in the wiki.
91
-
92
- ```javascript
93
-
94
- // Example of a function that saves the status of a blind actuator, belongind to the scene.
95
- msg.savevalue = true;
96
- msg.topic = "0/1/1";
97
- msg.payload = 70;
98
- return msg;
99
-
100
- ```
101
-
102
- **DISABLE SCENE CONTROLLER**
103
-
104
- You can disable the scene controller (it disables the reception of telegram from KNX BUS but the node still accept the input msg from the flow instead). Sometime is advisable to disable the recall and save of a scene, for example, when it's night and you call, from a KNX Pushbutton, a "TV Scene" that raises or lowers a blind, the scene won't be recalled or saved. Instead, you can enable another scene, just for night, for example to dim a series of lights.
105
-
106
- ```javascript
107
-
108
- // Example of disabling the scene controller. The commands coming from KNX BUS will be disabled. The node still accept the input msg from the flow instead!
109
- msg.disabled = true; // Otherwise "msg.disabled = false" to re-enable the node.
110
- return msg;
111
-
112
- ```
113
-
114
- ## SEE ALSO
115
-
116
- [Sample Scene Controller](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Sample-Scene-Node)
117
- </script>
@@ -1,32 +0,0 @@
1
- {
2
- "knxUltimateSceneController": {
3
- "paletteLabel": "KNX Scene Controller (deprecated)",
4
- "title": "Scene controller",
5
- "properties": {
6
- "node-input-server": "Gateway",
7
- "node-input-topic": "Scene Recall",
8
- "node-input-dpt": "Datapoint",
9
- "node-input-topicTrigger": "Trigger",
10
- "node-input-topicSave": "Scene Save",
11
- "node-input-name": "Node Name",
12
- "node-input-outputtopic": "Topic"
13
- },
14
- "placeholder": {
15
- "leaveempty": "Leave empty to use Group Address",
16
- "valueexample": "Ex: false, true, otherwise any value"
17
- },
18
- "other": {
19
- "sceneConfig": "Scene default values configuration",
20
- "add": "Press ADD, to add a device in the scene"
21
- },
22
- "advanced": {
23
- "notify-DPT3007": "You selected a relative DIM. Please <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---Dimming'>click here to view this sample</a> and learn how to handle such payload.",
24
- "notify-DPT18001": "You selected a scene Datapoint. Please <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---Control-a-scene-actuator'>click here to view this sample</a> and learn how to handle such payload.",
25
- "notify-DPT232600": "You selected an RGB Datapoint. Please <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---RGB-Color'>click here to view this sample</a> and learn how to handle such payload.",
26
- "notify-DPT251600": "You selected an RGBW Datapoint. Please <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---RGBW-Color-plus-White'>click here to view this sample</a> and learn how to handle such payload."
27
- },
28
- "legacy_notice": "This node is deprecated and remains supported for existing flows. Use KNX Utility for new flows. The button below converts all compatible legacy KNX utility nodes in every flow and subflow.",
29
- "migration_button": "Convert all compatible legacy KNX nodes",
30
- "migration_button_title": "Convert every compatible legacy KNX utility instance in all editor flows and subflows to KNX Utility"
31
- }
32
- }
@@ -1,77 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateStaircase">
2
- ### Upgrade to KNX Ultimate 8
3
-
4
- Version 7 shows a compact **Upgrade to v8** button at the top of this editor. It downloads a flow backup, installs the required HUE/Matter packages, converts compatible nodes, performs a full Deploy, verifies the saved flows and installs version 8. Restart the Node-RED service when prompted; reloading only the browser is not enough. Legacy KNX AI nodes stop the automatic operation.
5
-
6
- [Full upgrade guide](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- **Deprecated:** This dedicated node remains supported for existing flows. Use **KNX Utility** for new flows and select the matching function. The legacy node is hidden from the palette and marked `(deprecated)` on the canvas. Its editor offers a button to convert all compatible legacy KNX utility nodes in every flow and subflow after confirmation. Conversion happens locally in the browser, preserves IDs, settings, connections and groups, and supports Undo. Confirming closes the current node editor and discards unsaved edits. Review the result before Deploy.
11
-
12
- # KNX STAIRCASE LIGHT
13
-
14
- <p>Use this node to implement a KNX staircase timer. It listens for trigger pulses, drives the output actuator, mirrors the state on a status GA and honours manual override or block commands.</p>
15
-
16
- **Group addresses**
17
-
18
- |Property|Description|
19
- |--|--|
20
- | Trigger GA | Binary input that starts the timer when it receives `1`. If “0 command cancels the cycle” is enabled, a `0` stops the light immediately. |
21
- | Output GA | Actuator driven while the cycle is active. Select the DPT that matches the load (binary, dimming, analog, …). |
22
- | Status GA | Mirrors the active/pre-warning state. With pre-warning in *Toggle status GA* mode it will briefly change state before timeout. |
23
- | Override GA | Forces the light ON and pauses the timer for the duration of the override signal. |
24
- | Block GA | When true, new triggers are ignored. Depending on *When blocked* the light is either forced OFF or left untouched. |
25
-
26
- **Timer behaviour**
27
-
28
- |Option|Description|
29
- |--|--|
30
- | Timer duration | Base countdown length for the staircase cycle. |
31
- | On new trigger | Choose whether further pulses restart the timer, extend it by the configured duration, or are ignored. |
32
- | 0 command cancels the cycle | Ends the cycle with reason `manual-off` when the trigger returns to `0`. |
33
- | When blocked | Decide if a block command should only inhibit new triggers or also force the output off. |
34
-
35
- **Pre-warning**
36
-
37
- |Option|Description|
38
- |--|--|
39
- | Send pre-warning | Enables the alert before timeout. |
40
- | Pre-warning offset | Seconds before the end when the alert is triggered. |
41
- | Pre-warning mode | *Toggle status GA* briefly toggles the status address. *Flash output* switches the output off and back on after the configured flash duration. |
42
- | Flash duration | Time in milliseconds the output remains off when flashing. |
43
-
44
- **Node output**
45
-
46
- - When *Emit events* is enabled the node outputs structured objects describing `trigger`, `extend`, `prewarn`, `timeout`, `override`, `block` and `manual-off` events. Each payload includes `event`, `remaining`, `active`, `override`, `blocked` and optional details.
47
- - Without events enabled you can rely on the KNX status GA for automation feedback.
48
-
49
- ## Inputs
50
-
51
- |Property|Description|
52
- |--|--|
53
- | Flow input | Send `true`, `false`, `"open"` or `"close"` from the flow to start or cancel the timer. |
54
- | KNX telegrams | The node reacts to telegrams for the configured group addresses. |
55
-
56
- ## Flow example
57
-
58
- ```javascript
59
-
60
- // Start the staircase timer
61
- msg.payload = true;
62
- return msg;
63
- ```
64
-
65
- ```javascript
66
- // Cancel the timer (requires '0 command cancels the cycle')
67
- msg.payload = false;
68
- return msg;
69
- ```
70
-
71
- ## Outputs
72
-
73
- |Property|Description|
74
- |--|--|
75
- | Events (optional) | Sends the event objects when *Emit events* is checked. |
76
-
77
- </script>