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
- ### Aggiornamento a KNX Ultimate 8
3
-
4
- La versione 7 mostra un piccolo pulsante **Aggiorna alla v8** nella parte alta di questo editor. Il pulsante scarica un backup dei flow, installa i package HUE/Matter necessari, converte i nodi compatibili, esegue un Deploy completo, verifica i flow salvati e installa la versione 8. Quando richiesto, riavvia il servizio Node-RED: ricaricare soltanto il browser non basta. I nodi KNX AI legacy fermano la procedura automatica.
5
-
6
- [Guida completa all’aggiornamento](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/it-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- ## Panoramica
11
-
12
- Ogni nodo Expose KNX to Matter espone **un dispositivo KNX come dispositivo Matter**: i controller abbinati (Alexa, Google Home, Apple Home...) lo vedono, con il nome che hai scelto, pronto per il controllo da app e vocale. Puntalo a un nodo di configurazione **Bridge Matter** (il bridge vero e proprio, abbinato una sola volta - il QR di abbinamento vive lì) e aggiungi quanti nodi device vuoi, ovunque nei tuoi flow.
13
-
14
- È la direzione opposta del nodo *Matter Device*: lì KNX controlla un dispositivo Matter, qui i controller Matter controllano KNX.
15
-
16
- Cambiare il tipo dispositivo dopo l'abbinamento del bridge modifica la struttura dell'endpoint Matter. I controller possono conservare il vecchio endpoint come irraggiungibile; in tal caso resetta/riabbina il bridge oppure crea un nuovo dispositivo esposto.
17
-
18
- ## Configurazione
19
-
20
- |Campo|Descrizione|
21
- |--|--|
22
- | Bridge Matter | Il nodo di configurazione Bridge Matter a cui appartiene questo dispositivo |
23
- | GW KNX | Gateway KNX usato per i telegrammi. **Opzionale**: senza, il dispositivo funziona in modalità solo-flow tramite i PIN del nodo. Selezionato automaticamente se il progetto ha un solo gateway |
24
- | Nome | Quello che Alexa & Co. mostrano e usano per i comandi vocali |
25
- | Tipo dispositivo | Il tipo di dispositivo Matter (vedi sotto); determina quali campi indirizzo di gruppo compaiono |
26
- | Leggi lo stato all'avvio | Invia una `GroupValue_Read` ai GA di stato all'avvio, per popolare gli attributi Matter |
27
-
28
- ## Tipi di dispositivo e indirizzi di gruppo
29
-
30
- |Tipo|Indirizzi di gruppo|
31
- |--|--|
32
- | Luce On/Off, Presa | GA comando On/Off, GA stato On/Off (DPT 1.001) |
33
- | Luce dimmerabile | + GA comando/stato dimmer % (DPT 5.001) |
34
- | Luce RGB (colore) | + GA comando/stato colore RGB (DPT 232.600). Il colore Matter (hue/saturation o XY, dalla ruota colore dell'app) viene convertito da/verso la terna RGB KNX |
35
- | Luce bianco dinamico | + GA comando/stato temperatura colore in Kelvin (DPT 7.600) |
36
- | Tapparella / Tenda | Su/Giù (DPT 1.008), Stop (DPT 1.017), posizione % comando/stato (DPT 5.001), inversione posizione opzionale |
37
- | Termostato (riscaldamento e/o raffrescamento) | GA temperatura attuale, GA comando/stato setpoint (DPT 9.001). Aggiungendo anche il GA comando/stato setpoint raffrescamento si espone anche la modalità Cool (doppio setpoint) |
38
- | Condizionatore ambiente | Un unico dispositivo Matter che combina GA comando/stato On/Off (DPT 1.001), temperatura attuale e setpoint caldo/freddo (DPT 9.001), e velocità ventola % (DPT 5.001) |
39
- | Ventola / VMC | GA comando/stato velocità % (DPT 5.001) |
40
- | Serratura porta | GA comando blocco/sblocco e GA stato bloccato/sbloccato (DPT 1.001; `true` = bloccata) |
41
- | Sensori (temperatura, umidità, luminosità, presenza, contatto) | Un GA di stato ciascuno |
42
- | Rilevatore fumo/CO | GA stato allarme fumo + GA stato allarme CO opzionale (DPT 1.005): notifiche critiche sul telefono |
43
- | Rilevatore allagamento | GA stato allagamento (DPT 1.005) |
44
- | Sensore qualità aria (CO2) | GA stato CO2 in ppm (DPT 9.008); la classe qualità aria (buona/discreta/moderata/scarsa...) è derivata automaticamente |
45
- | Robot aspirapolvere | **Solo-flow**: nessun indirizzo di gruppo. Abilita i PIN del nodo: i comandi dell'assistente ("avvia pulizia", pausa/riprendi/torna alla base) arrivano sull'output come `rvcmode`/`rvccommand`; riporta lo stato con `msg.payload = { function: "rvcstate", value: "running"\|"docked"\|"charging"\|"paused"\|"error" }` e la modalità con `function: "rvcmode", value: "cleaning"\|"idle"` |
46
-
47
- - **GA comando**: scritto sul bus KNX quando l'assistente invia un comando.
48
- - **GA stato**: letto dal bus per tenere aggiornati gli attributi Matter (e le app).
49
-
50
- ## Compatibilità avanzata
51
-
52
- Queste opzioni sono nascoste finché non servono al tipo selezionato. I dispositivi dimmerabili possono ignorare il comando luminosità che alcuni controller inviano subito dopo `On`. Per le tapparelle, **Scambia Apri / Chiudi** inverte sia il comando KNX binario sia la direzione percentuale. **Debounce slider tapparella** accorpa i target intermedi rapidi prima della scrittura KNX: `0` usa finestre adattive (400 ms per il primo comando, 150 ms per i successivi); `1`–`5000` imposta una finestra fissa. Le tapparelle possono inoltre aggiornare ottimisticamente la posizione Matter e correggerla quando arriva la posizione reale dalla GA di stato KNX.
53
-
54
- ## PIN del nodo
55
-
56
- Il selettore dei PIN si trova fuori dalle TAB dell'editor. Abilitandolo compare subito sotto una sezione contestuale **Input/output del flow**, con esempi copiabili filtrati per il tipo di dispositivo selezionato:
57
-
58
- - **Input**: aggiorna lo stato Matter dal flow, senza passare dal bus KNX: `msg.payload = { function: "onoff", value: true }` (`function` è una tra `onoff`, `level`, `rgb`, `colortemp`, `position`, `temperature`, `humidity`, `illuminance`, `occupancy`, `contact`, `currenttemp`, `setpoint`, `coolingsetpoint`, `fanspeed`, `lock`, `smoke`, `co`, `leak`, `co2`, `rvcstate`, `rvcmode`). Utile per esporre ad Alexa & Co. valori calcolati nel flow (es. un sensore virtuale).
59
- - **Output**: ogni comando ricevuto da un controller Matter viene inoltrato al flow: `msg.topic` = nome del dispositivo, `msg.payload` = valore, `msg.matter` = il comando grezzo. Un dispositivo senza GA di comando diventa un **dispositivo solo-flow**.
60
-
61
- ## Note
62
-
63
- - L'identità Matter del dispositivo è legata a questo nodo: eliminando il nodo e creandone uno nuovo, le app vedono un dispositivo nuovo di zecca.
64
- - I nodi device aggiunti/rinominati/rimossi vengono recepiti dai controller abbinati in pochi secondi, senza riabbinare il bridge.
65
- </script>
@@ -1,123 +0,0 @@
1
- {
2
- "knxUltimateMatterBridge": {
3
- "title": "Expose KNX to Matter",
4
- "bridge_name": "Nome del bridge Matter",
5
- "port": "Porta",
6
- "devices_help": "Aggiungi i dispositivi KNX da esporre su Matter. Il \"Nome\" è quello che Alexa/Google/Apple mostrano e usano per i comandi vocali. GA comando = scritto quando l'assistente invia un comando; GA stato = letto dal bus per tenere aggiornata l'app.",
7
- "read_status_startup": "Leggi i GA di stato all'avvio",
8
- "opt_yes": "Sì",
9
- "opt_no": "No",
10
- "node_pins": "PIN Input/Output del nodo",
11
- "node_pins_hide": "Nascondi",
12
- "node_pins_show": "Mostra i PIN input/output del nodo",
13
- "type_change_warning": "Cambiare il tipo dispositivo dopo che il bridge è già stato abbinato modifica la struttura dell'endpoint Matter. Alexa/Google/Apple possono mantenere il vecchio endpoint come irraggiungibile; potrebbe servire resettare/riabbinare il Matter Bridge o creare un nuovo dispositivo esposto.",
14
- "fields": {
15
- "type": "Tipo dispositivo",
16
- "name": "Nome (mostrato da Alexa & Co.)",
17
- "name_placeholder": "es. Luce cucina",
18
- "invert": "Inverti posizione %"
19
- },
20
- "advanced": {
21
- "title": "Compatibilità avanzata",
22
- "help": " Usa queste opzioni solo quando un controller Matter o un attuatore KNX richiede una gestione speciale.",
23
- "alexa_dedup_ms": "Finestra anti-duplicati Alexa (ms, 0 = off)",
24
- "turn_on_behavior": "Comportamento all'accensione",
25
- "turn_on_ignore_level": "Ignora luminosità inviata subito dopo On",
26
- "turn_on_forward_all": "Inoltra ogni comando luminosità",
27
- "ignore_level_ms": "Ignora luminosità dopo On (ms)",
28
- "cover_swap_open_close": "Scambia Apri / Chiudi tapparella",
29
- "cover_slider_debounce": "Debounce slider tapparella (ms, 0 = adattivo)",
30
- "cover_update_mode": "Aggiornamento stato tapparella",
31
- "cover_optimistic": "Aggiorna ottimisticamente la posizione Matter",
32
- "cover_wait_status": "Attendi solo lo stato KNX",
33
- "cover_status_timeout": "Timeout stato tapparella (ms)"
34
- },
35
- "tabs": {
36
- "mappings": "Mappature KNX",
37
- "advanced": "Opzioni avanzate"
38
- },
39
- "flow_help": {
40
- "title": "Input/output del flow",
41
- "intro": "Questi esempi corrispondono al tipo di dispositivo selezionato e sono disponibili quando i PIN input/output del nodo sono abilitati.",
42
- "input_title": "Flow → Matter (input del nodo)",
43
- "input_hint": "Invia uno di questi messaggi per aggiornare lo stato Matter esposto senza scrivere sul bus KNX.",
44
- "output_title": "Matter → Flow (output del nodo)",
45
- "output_hint": "I comandi ricevuti da un controller Matter vengono emessi con il valore in msg.payload e i dettagli raw in msg.matter.",
46
- "function": "Funzione",
47
- "message": "Messaggio di esempio",
48
- "copy": "Copia",
49
- "copied": "Messaggio copiato",
50
- "no_input": "Questo tipo di dispositivo non ha esempi di aggiornamento stato dal flow.",
51
- "no_output": "Questo tipo di dispositivo non emette comandi dal controller; il suo output rimane inattivo."
52
- },
53
- "functions": {
54
- "fn_onoff_cmd": "GA comando On/Off",
55
- "fn_onoff_status": "GA stato On/Off",
56
- "fn_level_cmd": "GA comando dimmer %",
57
- "fn_level_status": "GA stato dimmer %",
58
- "fn_sensor_ga": "GA stato sensore",
59
- "fn_updown": "GA comando Su/Giù",
60
- "fn_stop": "GA comando Stop",
61
- "fn_position_cmd": "GA comando posizione %",
62
- "fn_position_status": "GA stato posizione %",
63
- "fn_currenttemp": "GA temperatura attuale",
64
- "fn_setpoint_cmd": "GA comando setpoint",
65
- "fn_setpoint_status": "GA stato setpoint",
66
- "fn_coolingsetpoint_cmd": "GA comando setpoint raffrescamento",
67
- "fn_coolingsetpoint_status": "GA stato setpoint raffrescamento",
68
- "fn_rgb_cmd": "GA comando colore RGB (DPT 232.600)",
69
- "fn_rgb_status": "GA stato colore RGB (DPT 232.600)",
70
- "fn_ct_cmd": "GA comando temperatura colore (Kelvin)",
71
- "fn_ct_status": "GA stato temperatura colore (Kelvin)",
72
- "fn_smoke_ga": "GA stato allarme fumo",
73
- "fn_co_ga": "GA stato allarme CO (opzionale)",
74
- "fn_leak_ga": "GA stato allagamento",
75
- "fn_co2_ga": "GA stato CO2 (ppm, DPT 9.008)",
76
- "fn_fanspeed_cmd": "GA comando velocità ventola %",
77
- "fn_fanspeed_status": "GA stato velocità ventola %",
78
- "fn_lock_cmd": "GA comando blocco/sblocco",
79
- "fn_lock_status": "GA stato bloccato/sbloccato"
80
- },
81
- "types": {
82
- "onofflight": "Luce On/Off",
83
- "dimmablelight": "Luce dimmerabile",
84
- "rgblight": "Luce RGB (colore)",
85
- "colortemperaturelight": "Luce bianco dinamico (temperatura colore)",
86
- "onoffplug": "Presa (on/off)",
87
- "temperaturesensor": "Sensore temperatura",
88
- "humiditysensor": "Sensore umidità",
89
- "lightsensor": "Sensore luminosità (Lux)",
90
- "occupancysensor": "Sensore presenza",
91
- "contactsensor": "Sensore contatto",
92
- "windowcovering": "Tapparella / Tenda",
93
- "thermostat": "Termostato (riscaldamento)",
94
- "roomairconditioner": "Condizionatore ambiente",
95
- "fan": "Ventola / VMC",
96
- "doorlock": "Serratura porta",
97
- "smokecoalarm": "Rilevatore fumo/CO",
98
- "waterleakdetector": "Rilevatore allagamento",
99
- "airqualitysensor": "Sensore qualità aria (CO2)",
100
- "robotvacuum": "Robot aspirapolvere (solo-flow, via PIN del nodo)"
101
- },
102
- "pairing": {
103
- "title": "Abbinamento (Alexa, Google Home, Apple Home...)",
104
- "not_running": "Il bridge Matter non è ancora in esecuzione. Fai il deploy, attendi qualche secondo e clicca aggiorna.",
105
- "commissioned": "Bridge abbinato a questi controller:",
106
- "awaiting": "In attesa di abbinamento. Scansiona il QR code o inserisci il codice manuale nella tua app Matter:",
107
- "qr_link": "Apri il QR code nel browser",
108
- "deploy_first": "Fai prima il deploy di questo nodo, poi clicca aggiorna.",
109
- "reset_button": "Reset abbinamento",
110
- "reset_confirm": "Rimuovere TUTTI i controller abbinati e riavviare l'abbinamento? I dispositivi spariranno da Alexa/Google/Apple.",
111
- "reset_ok": "Abbinamento resettato. Il bridge è di nuovo in attesa di abbinamento."
112
- },
113
- "bridge": "Bridge Matter",
114
- "device_name": "Nome (mostrato da Alexa & Co.)",
115
- "device_help": "Scegli il tipo di dispositivo e dagli il nome che userà l'assistente vocale, poi compila gli indirizzi di gruppo. Il gateway KNX è opzionale: senza, abilita i PIN del nodo e piloti il dispositivo dal flow."
116
- },
117
- "common": {
118
- "ga": "GA",
119
- "dpt": "DPT",
120
- "name": "Nome",
121
- "knx_gw": "GW KNX"
122
- }
123
- }
@@ -1,57 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateMatterControllerDevice">
2
- ### Aggiornamento a KNX Ultimate 8
3
-
4
- La versione 7 mostra un piccolo pulsante **Aggiorna alla v8** nella parte alta di questo editor. Il pulsante scarica un backup dei flow, installa i package HUE/Matter necessari, converte i nodi compatibili, esegue un Deploy completo, verifica i flow salvati e installa la versione 8. Quando richiesto, riavvia il servizio Node-RED: ricaricare soltanto il browser non basta. I nodi KNX AI legacy fermano la procedura automatica.
5
-
6
- [Guida completa all’aggiornamento](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/it-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- Questo nodo controlla da KNX un endpoint Matter già abbinato. Seleziona il dispositivo Matter e l'editor rileva le sue capability, mostrando solo le mappature KNX coerenti con quell'endpoint.
11
-
12
- Un click o il focus sul campo del dispositivo Matter apre sempre l'elenco completo degli endpoint abbinati, anche quando un dispositivo è già selezionato. Digitando, l'elenco continua a essere filtrato.
13
-
14
- Sostituisce i nodi Matter separati non pubblicati e mantiene tutta la UI luce quando l'endpoint selezionato è una luce.
15
-
16
- ## Configurazione
17
-
18
- |Campo|Descrizione|
19
- |--|--|
20
- | KNX GW | Gateway KNX usato per scrivere e rispondere sugli indirizzi di gruppo configurati. Può restare vuoto se serve solo l'output Node-RED. Il gateway salvato rimane selezionato durante l'inizializzazione dell'editor e cambia soltanto dopo una selezione esplicita dell'utente. |
21
- | Matter controller | Nodo di configurazione Matter Controller in cui il dispositivo è stato associato. |
22
- | Dispositivo Matter | Endpoint Matter selezionato tra i dispositivi abbinati. La UI viene ricostruita in base alle capability reali. |
23
- | Switch / Presa / Luce On-Off | Indirizzi di gruppo di comando e stato On/Off, di solito DPT `1.001`. |
24
- | Serratura | Un GA comando DPT `1.xxx` invoca `lockDoor` con `true` e `unlockDoor` con `false`; un GA di stato separato riceve soltanto gli stati non ambigui Bloccata/Sbloccata. Se richiesto dall'endpoint, salva il PIN per operazioni remote nel campo credential. I comandi non annunciati dall'endpoint vengono rifiutati. |
25
- | Altri endpoint | Prese, attuatori On/Off, tapparelle, termostati, ventilatori, sensori ambientali/contatto/presenza, batteria, potenza ed energia usano il profilo multi-purpose. La TAB **Mappature** contiene soltanto le funzioni supportate dai cluster, attributi e comandi annunciati dall'endpoint; lascia vuoto un GA per disabilitarlo. |
26
- | Controlli luce | Per gli endpoint luce viene usata la stessa UI luce completa: DIM relativo (DPT `3.007`), luminosità %, RGB/HSV, bianco dinamico, luminosità/temperatura all'accensione, modalità giorno/notte, livello min/max e velocità dimmer. Le sezioni non supportate restano nascoste. |
27
- | Sensori | Gli endpoint sensore mostrano il relativo GA di misura/stato solo quando supportato: temperatura, umidità, illuminamento, presenza, contatto e batteria. |
28
- | Read at startup | Pubblica il valore Matter in cache al deploy/avvio o quando il dispositivo si riconnette. |
29
- | Update local state from KNX write | Aggiorna la cache locale Matter/KNX quando arriva una scrittura su un GA KNX configurato. |
30
- | Node Input/Output PINs | Mostra i pin input/output Node-RED e la sezione **Input dal flow** subito sotto questo campo. Per le luci sono mostrati i messaggi di stato luce supportati al primo livello; per gli endpoint non luce sono mostrati il formato semplice `{function,value}` e i campi Matter avanzati. La selezione viene mantenuta alla riapertura dell'editor. |
31
-
32
- ## Input dal flow
33
-
34
- Abilita **PIN di Input/Output del nodo** per mostrare la sezione **Input dal flow** subito sotto il selettore. Per le luci contiene esempi copiabili delle proprietà supportate al primo livello, come `msg.on`, `msg.dimming`, `msg.color_temperature` e `msg.color`. Per gli endpoint non luce viene costruita dalla struttura annunciata e mostra l'Endpoint ID selezionato, tutti gli attributi leggibili/scrivibili e tutti i comandi accettati. Rimane disponibile anche quando il nodo viene usato soltanto dal flow senza gateway KNX.
35
-
36
- Le scritture semplici usano `msg.payload = {function:"position",value:35}`. Ometti `value` per leggere uno stato supportato, ad esempio `{function:"temperature"}`; l'output usa unità comprensibili e include i dettagli raw in `msg.matter`. Le funzioni comprendono `onoff`, `level`, `position`, `tiltposition`, `open`, `close`, `stop`, `setpoint`, `coolingsetpoint`, `currenttemp`, `fanspeed`, letture sensore e `identify`, ma soltanto se annunciate dall'endpoint. La serratura accetta `{function:"lock",value:true|false}`.
37
-
38
- Gli input avanzati esistenti restano validi: usa `msg.clusterId` al primo livello con `msg.command`/`msg.args`, oppure `msg.attribute` con l'eventuale `msg.value`. Node ID ed Endpoint ID sono già selezionati dal nodo; `msg.endpointId` serve solo come override opzionale.
39
-
40
- ## Modalità Universale
41
-
42
- Seleziona **Modalità Universale** nel selettore **Modalità** per ricevere tutti i report attributo, gli eventi cluster e le inizializzazioni dei dispositivi. Ha sempre un input e un output e non usa le mappature del singolo endpoint. Il gateway KNX è opzionale e serve solo alle GA allarme/testo del Monitor batterie.
43
-
44
- Il **Monitor batterie universale** cerca Power Source in tutti gli endpoint e conserva lo stato normalizzato completo. Le GA KNX opzionali pubblicano l'allarme complessivo come DPT 1.005 e ciclano ogni 2 secondi i nomi dei device scarichi come DPT 16.001. Invia `{payload:{action:"getAllBatteries"}}` per ottenere l'inventario in cache.
45
-
46
- L'output contiene il valore raw in `msg.payload` e i dati di instradamento in `msg.matter` (`source`, `nodeId`, `endpointId`, `clusterId`, nome attributo/evento). L'input usa `msg.nodeId`, `msg.endpointId`, `msg.clusterId` e `msg.command` con `msg.args`, oppure `msg.attribute`; aggiungi `msg.value` per scrivere, omettilo per leggere. Gli stessi campi possono stare in `msg.matter`.
47
-
48
- Esempi: `{nodeId:"100",endpointId:1,clusterId:6,command:"on",args:{}}` accende; `{nodeId:"100",endpointId:1,clusterId:47,attribute:"batPercentRemaining"}` legge la batteria. Il valore batteria resta nell'unità raw Matter a mezzi punti percentuali; dividilo per due in un nodo Function.
49
-
50
- ## Comportamento
51
-
52
- Il nodo mantiene una cache locale da aggiornamenti Matter e scritture KNX, risponde alle letture KNX dalla cache e può emettere/leggere i valori all'avvio. Ascolta solo gli indirizzi di gruppo configurati, quindi ignora il traffico KNX non pertinente.
53
-
54
- I comandi vengono eseguiti in una coda ordinata separata per ciascun dispositivo associato. Un dispositivo offline, in timeout o rimosso non può quindi ritardare gli altri dispositivi Matter che usano lo stesso indirizzo di gruppo KNX. Un nodo che punta ancora a un dispositivo rimosso rifiuta subito il comando e mostra in rosso **Device no longer commissioned**; seleziona un dispositivo Matter valido oppure elimina il nodo Controller rimasto orfano.
55
-
56
- L'errore di dispositivo non disponibile rimane agganciato: i successivi comandi KNX e flow vengono ignorati e non possono sovrascrivere lo stato rosso. Il nodo riprende automaticamente non appena quel dispositivo Matter segnala `connected`; anche l'apertura dell'editor del nodo azzera il blocco per consentire un tentativo manuale.
57
- </script>
@@ -1,146 +0,0 @@
1
- {
2
- "knxUltimateMatterControllerDevice": {
3
- "title": "Control Matter from KNX",
4
- "node-input-name": "Nome",
5
- "node-input-nameLightSwitch": "Comando (bit)",
6
- "node-input-GALightSwitch": "GA",
7
- "node-input-dptLightSwitch": "dpt",
8
- "node-input-nameLightState": "Stato (bit)",
9
- "node-input-GALightState": "GA",
10
- "node-input-dptLightState": "dpt",
11
- "node-input-hueLight": "Dispositivo Matter",
12
- "paletteLabel": "Control Matter from KNX",
13
- "no_devices": "Nessun dispositivo Matter trovato. Controlla il controller Matter e premi l'icona di aggiornamento.",
14
- "input_help_label": "Input dal flow",
15
- "input_help_pin_hint": "Abilita i PIN di input/output del nodo prima di inviare questi messaggi.",
16
- "input_help_endpoint": "Endpoint selezionato",
17
- "input_help_endpoint_hint": "Il nodo conosce già Node ID ed Endpoint ID, quindi non servono nei messaggi semplici.",
18
- "input_help_simple_title": "Messaggi semplici",
19
- "input_help_simple_hint": "Queste funzioni usano unità comprensibili e vengono tradotte nel cluster, comando o attributo Matter esposto dall'endpoint selezionato.",
20
- "input_help_light_hint": "Gli endpoint luce accettano le proprietà dello stato luce direttamente in msg (non dentro msg.payload). Sono mostrati solo i controlli supportati dalla luce selezionata.",
21
- "input_help_advanced_title": "Dettagli Matter avanzati",
22
- "input_help_advanced_hint": "Sono elencati soltanto attributi e comandi annunciati. Gli esempi di scrittura usano 0 come segnaposto; gli argomenti dei comandi possono richiedere un adattamento al tipo Matter.",
23
- "input_help_operation": "Operazione",
24
- "input_help_function": "Funzione",
25
- "input_help_target": "Target Matter",
26
- "input_help_message": "Messaggio",
27
- "input_help_read": "Lettura",
28
- "input_help_write": "Scrittura",
29
- "input_help_command": "Comando",
30
- "input_help_copy": "Copia",
31
- "input_help_copied": "Messaggio copiato",
32
- "input_help_no_simple": "Questo endpoint non espone funzioni semplici conosciute.",
33
- "input_help_no_structure": "La struttura Matter non è disponibile. Aggiorna la lista dei dispositivi mentre l'endpoint è online.",
34
- "input_functions": {
35
- "onoff": "On / Off", "on": "Accendi", "off": "Spegni", "level": "Livello", "brightness": "Luminosità", "color_temperature": "Temperatura colore", "xy_color": "Colore XY", "position": "Posizione tapparella", "tiltposition": "Inclinazione tapparella", "open": "Apri", "close": "Chiudi", "stop": "Stop", "setpoint": "Setpoint riscaldamento", "coolingsetpoint": "Setpoint raffrescamento", "currenttemp": "Temperatura corrente", "fanspeed": "Velocità ventilatore", "temperature": "Temperatura", "humidity": "Umidità", "illuminance": "Illuminamento", "occupancy": "Presenza", "contact": "Contatto", "battery": "Batteria", "activepower": "Potenza attiva", "importedenergy": "Energia importata", "identify": "Identifica", "lock": "Blocca", "unlock": "Sblocca"
36
- },
37
- "tabs": {
38
- "switch": "On/Off",
39
- "dim": "Dimmer",
40
- "tunable_white": "Bianco regolabile",
41
- "rgb_hsv": "RGB/HSV",
42
- "effects": "Effetti",
43
- "mappings": "Mappature",
44
- "behaviour": "Comportamento"
45
- },
46
- "control": "Comando",
47
- "status": "Stato",
48
- "door_lock_command": "Blocca / sblocca",
49
- "door_lock_status": "Stato serratura",
50
- "door_lock_pin": "PIN operazione remota",
51
- "door_lock_pin_required": "La serratura indica che per le operazioni remote è richiesto un PIN.",
52
- "door_lock_commands_missing": "L'endpoint non annuncia entrambi i comandi di blocco e sblocco. I comandi mancanti saranno rifiutati.",
53
- "mapped": {
54
- "onoff_command": "Comando On / Off", "onoff_state": "Stato On / Off", "cover_updown": "Tapparella su / giù", "cover_stop": "Stop tapparella", "cover_position_command": "Comando posizione tapparella", "cover_position_state": "Stato posizione tapparella", "heating_command": "Comando setpoint riscaldamento", "heating_state": "Stato setpoint riscaldamento", "cooling_command": "Comando setpoint raffrescamento", "cooling_state": "Stato setpoint raffrescamento", "local_temperature": "Temperatura locale", "fan_command": "Comando velocità ventilatore", "fan_state": "Stato velocità ventilatore", "temperature": "Temperatura", "humidity": "Umidità", "illuminance": "Illuminamento", "occupancy": "Presenza", "contact": "Stato booleano / contatto", "battery": "Batteria", "active_power": "Potenza attiva", "imported_energy": "Energia importata"
55
- },
56
- "night_lighting": "Illuminazione notturna",
57
- "no_night_lighting": "Nessuna illuminazione notturna",
58
- "get_current": "Acquisisci colore attuale",
59
- "get_again": "Acquisisci di nuovo",
60
- "wait": "Attendere...",
61
- "locate_no_bridge": "Seleziona prima un controller Matter",
62
- "locate_no_device": "Seleziona prima un dispositivo Matter",
63
- "locate_success": "Comando di localizzazione inviato",
64
- "locate_started": "Modalità di localizzazione avviata. Premi di nuovo per fermarla (si ferma automaticamente dopo 10 minuti).",
65
- "locate_stopped": "Modalità di localizzazione terminata.",
66
- "locate_start_title": "Localizza il dispositivo Matter selezionato",
67
- "locate_stop_title": "Ferma la modalità di localizzazione",
68
- "locate_error": "Impossibile localizzare il dispositivo Matter",
69
- "day_night": "Giorno/Notte",
70
- "invert_day_night": "Inverti valore giorno/notte",
71
- "override_night_mode": "Forza modalità diurna",
72
- "override_no": "No",
73
- "override_set_day_fast_this": "Passa a GIORNO spegnendo e riaccendendo velocemente (solo questa luce)",
74
- "override_set_day_fast_all": "Passa a GIORNO spegnendo e riaccendendo velocemente (tutte le luci)",
75
- "node_pins": "PIN di Input/Output del nodo",
76
- "node_pins_hide": "Nascondi",
77
- "node_pins_show": "Mostra PIN di input/output",
78
- "read_status_startup": "Leggi lo stato all'avvio",
79
- "opt_no": "No",
80
- "opt_yes_emit": "Sì, ed emetti i telegrammi KNX.",
81
- "knx_brightness_status": "Stato luminosità KNX",
82
- "knx_brightness_onhueoff": "Se la luce Matter è spenta invia 0%. Se è accesa, ripristina il valore precedente (comportamento KNX predefinito)",
83
- "knx_brightness_no": "Lascia invariato (comportamento Matter predefinito)",
84
- "update_local_state_from_knx_write": "Aggiorna lo stato Matter locale in cache dai write provenienti dal bus KNX",
85
- "update_local_state_from_knx_write_hint": "Abilitato: reazioni locali più rapide e risposte immediate ai read KNX più coerenti. Disabilitato: la cache si aggiorna solo dai report Matter reali.",
86
- "use_min_brightness": "Usa la luminosità minima specificata per la luce Matter",
87
- "k_suffix": "K",
88
- "temp_desc_2200": "(inizio della gamma Philips White Ambiance)",
89
- "temp_desc_2700": "(bianco caldo, intimo, accogliente, personale, per soggiorni)",
90
- "temp_desc_3000": "(bianco tenue, caldo, rilassante, per bagni e cucine)",
91
- "temp_desc_3500_day": "(bianco neutro, equilibrato, amichevole, invitante, per uffici e negozi)",
92
- "temp_desc_3500_night": "(sconsigliato di notte - bianco neutro, per uffici e negozi)",
93
- "temp_desc_4100_day": "(bianco freddo, preciso, pulito, focalizzato, per garage e supermercati)",
94
- "temp_desc_4100_night": "(sconsigliato di notte - bianco freddo, preciso, pulito, focalizzato, per garage e supermercati)",
95
- "temp_desc_5000_day": "(bianco brillante, vivace, nitido, per magazzini, stadi e sanità)",
96
- "temp_desc_5000_night": "(sconsigliato di notte - bianco brillante, vivace, nitido, per magazzini, stadi e sanità)",
97
- "temp_desc_6500_day": "(luce diurna, allerta, energizzante, per agricoltura indoor)",
98
- "temp_desc_6500_night": "(sconsigliato di notte - luce diurna, allerta, energizzante, per agricoltura indoor)",
99
- "switch_on_behaviour": "Comportamento all'accensione",
100
- "none": "Nessuno",
101
- "switch_off": "(Spenta)",
102
- "select_color": "Seleziona colore",
103
- "select_temperature_brightness": "Seleziona temperatura e luminosità",
104
- "select_brightness": "Seleziona luminosità",
105
- "effect_command": "Comando effetti",
106
- "effect_status": "Stato effetti",
107
- "effect_mapping": "Associazioni",
108
- "effect_autofill": "Compila con gli effetti disponibili",
109
- "effect_tip": "Definisci le coppie valore KNX / effetto Matter. Quando il valore KNX ricevuto coincide, viene attivato l'effetto selezionato.",
110
- "effect_tip_status": "Se configuri lo stato, il nodo invierà su KNX l'effetto corrente (valore associato o nome).",
111
- "effect_not_supported": "Questa lampada non espone effetti Matter.",
112
- "effect_knx_value_placeholder": "Valore da confrontare",
113
- "effect_base_label": "Effetti base Matter",
114
- "effect_native_label": "Effetti nativi Matter",
115
- "matter_controller": "Controller Matter",
116
- "matter_device": "Dispositivo Matter",
117
- "device_type": "Tipo dispositivo",
118
- "matter_section": "Dispositivo Matter",
119
- "controller_mode": "Modalità",
120
- "single_mode": "Dispositivo singolo",
121
- "universal_mode": "Modalità universale (tutti i dispositivi Matter)",
122
- "universal_mode_description": "Ascolta e controlla tutti i dispositivi Matter collegati a questo controller. La Modalità Universale funziona senza mappature KNX.",
123
- "universal_service": "Servizio",
124
- "universal_service_battery_monitor": "Monitor batterie universale",
125
- "universal_service_all_events": "Tutti gli eventi Matter",
126
- "universal_battery_threshold": "Soglia batteria scarica",
127
- "universal_low_battery_ga": "GA allarme batteria",
128
- "universal_low_battery_text_ga": "GA nome device scarico",
129
- "universal_battery_only_low": "Emetti solo batterie scariche",
130
- "universal_emit_initial": "Emetti snapshot iniziale batterie",
131
- "universal_include_raw": "Includi evento Matter raw",
132
- "universal_mode_status": "Modalità Matter universale",
133
- "universal_mode_locate_disabled": "La funzione Trova non è disponibile in Modalità Universale.",
134
- "universal_controller_name": "Controller Matter Universale"
135
- },
136
- "common": {
137
- "ga": "GA",
138
- "dpt": "DPT",
139
- "name": "Nome",
140
- "youtube_sample": "Esempio YouTube",
141
- "knx_gw": "Gateway KNX",
142
- "hue_bridge": "Controller Matter",
143
- "philips_hue": "Matter",
144
- "read": "Leggi"
145
- }
146
- }
@@ -1,101 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateSceneController">
2
- ### Aggiornamento a KNX Ultimate 8
3
-
4
- La versione 7 mostra un piccolo pulsante **Aggiorna alla v8** nella parte alta di questo editor. Il pulsante scarica un backup dei flow, installa i package HUE/Matter necessari, converte i nodi compatibili, esegue un Deploy completo, verifica i flow salvati e installa la versione 8. Quando richiesto, riavvia il servizio Node-RED: ricaricare soltanto il browser non basta. I nodi KNX AI legacy fermano la procedura automatica.
5
-
6
- [Guida completa all’aggiornamento](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/it-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- **Deprecato:** Questo nodo dedicato resta supportato nei flow esistenti. Per i nuovi flow usa **KNX Utility** e seleziona la funzione corrispondente. Il nodo legacy è nascosto nella palette e contrassegnato con `(deprecated)` nel flow. Il suo editor offre un pulsante per convertire tutti i nodi utility KNX legacy compatibili in tutti i flow e subflow dopo conferma. La conversione avviene localmente nel browser, conserva ID, impostazioni, collegamenti e gruppi e supporta Annulla. La conferma chiude l’editor del nodo corrente e scarta le modifiche non salvate. Controlla il risultato prima di premere Deploy.
11
-
12
- # Scene Controller
13
-
14
- Il nodo Scene Controller si comporta come un dispositivo KNX di controllo scene: consente di salvare e richiamare una scena.
15
-
16
- ## Impostazioni del nodo
17
-
18
- | Proprietà | Descrizione |
19
- |--|--|
20
- | Gateway | Gateway KNX selezionato. |
21
- | Richiama Scena | **Datapoint** e **Valore di attivazione**. Indirizzo di gruppo per il richiamo scena (es. `0/0/1`). Il nodo reagisce ai telegrammi ricevuti su questa GA richiamando la scena. Il Datapoint è il DPT della GA di richiamo scena. Il valore di attivazione è il valore che deve essere ricevuto per attivare il richiamo. Ricorda: per richiamare/salvare una scena con un comando DIM, inserisci nel campo del valore di attivazione l'oggetto corretto di dimming (`{decr_incr:1,data:5}` per alzare, `{decr_incr:0,data:5}` per abbassare). |
22
- | Salva Scena | **Datapoint** e **Valore di attivazione**. Indirizzo di gruppo per il salvataggio scena (es. `0/0/2`). Il nodo reagisce ai telegrammi ricevuti salvando i valori correnti di tutti i dispositivi della scena in memoria non volatile. Il Datapoint è il DPT della GA di salvataggio. Il valore di attivazione è il valore che deve essere ricevuto per attivare il salvataggio. Ricorda: per richiamare/salvare una scena con DIM usa l'oggetto di dimming come sopra. |
23
- | Nome nodo | Nome nodo (puoi indicare ad es. "Recall: <dispositivo> / Save: <dispositivo>"). |
24
- | Topic | Topic del nodo. |
25
-
26
- ## Configurazione scena
27
-
28
- Aggiungi i dispositivi alla scena, come faresti con un vero controllore scene KNX. Ogni riga rappresenta un dispositivo.
29
-
30
- La scena salva automaticamente i nuovi valori degli attuatori della lista non appena arrivano dal BUS.
31
-
32
- | Proprietà | Descrizione |
33
- |--|--|
34
- | Pulsante Aggiungi | Aggiunge una riga. |
35
- | Campi riga | 1) Indirizzo di gruppo 2) Datapoint 3) Valore predefinito per questo dispositivo nella scena (può essere sovrascritto da Salva Scena). Sotto, il nome del dispositivo.<br/> Per inserire una pausa, scrivi **wait** nel primo campo e un numero nell'ultimo campo, che rappresenta la durata (millisecondi), ad es. `2000`.<br/> Il comando **wait** accetta anche secondi, minuti o ore: aggiungi `s` (es. `12s`), `m` (es. `5m`) o `h` (es. `1h`). |
36
- | Pulsante Rimuovi | Rimuove una riga/dispositivo. |
37
-
38
- ## Messaggi in uscita
39
-
40
- ```javascript
41
-
42
- msg = {
43
- topic: "Scene Controller", // topic del nodo
44
- recallscene: true|false, // true se è stata richiamata una scena
45
- savescene: true|false, // true se è stata salvata una scena
46
- savevalue: true|false, // true se è stato salvato manualmente il valore di una GA di un attuatore della scena
47
- disabled: true|false // true se il controller scena è stato disabilitato via msg.disabled = true
48
- }
49
- ```
50
-
51
- ---
52
-
53
- ## Messaggi di ingresso (INPUT)
54
-
55
- Il nodo reagisce principalmente ai telegrammi KNX per richiamare/salvare le scene, ma puoi anche pilotarlo via msg. È possibile disabilitare i comandi provenienti dal BUS KNX e usare solo quelli dal flow.
56
-
57
- **Richiama una scena**
58
-
59
- ```javascript
60
-
61
- msg.recallscene = true;
62
- return msg;
63
- ```
64
-
65
- **Salva una scena**
66
-
67
- ```javascript
68
-
69
- msg.savescene = true;
70
- return msg;
71
- ```
72
-
73
- **Salva il valore corrente di una GA**
74
-
75
- La scena salva già automaticamente i valori aggiornati degli attuatori. A volte però è utile salvare come "valore reale di scena” il valore attuale di una GA diversa da quella prevista in scena (es. usare una GA di stato al posto di una GA di comando).
76
-
77
- Esempio: un attuatore tapparella ha GA di comando e GA di stato; il valore certo della posizione è nella GA di stato "altezza assoluta”. Con questa GA puoi aggiornare le GA di comando degli attuatori presenti in scena.
78
-
79
- ```javascript
80
-
81
- // Salva lo stato (ad es. 70%) di una tapparella appartenente alla scena
82
- msg.savevalue = true;
83
- msg.topic = "0/1/1"; // GA
84
- msg.payload = 70; // valore da salvare
85
- return msg;
86
- ```
87
-
88
- **Disabilita il Scene Controller**
89
-
90
- Disabilita i comandi dal BUS KNX (i msg dal flow restano accettati). Utile ad esempio di notte se non vuoi richiamare/salvare scene da pulsanti reali.
91
-
92
- ```javascript
93
-
94
- msg.disabled = true; // false per riabilitare
95
- return msg;
96
- ```
97
-
98
- ## Vedi anche
99
-
100
- [Sample Scene Controller](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Sample-Scene-Node)
101
- </script>
@@ -1,32 +0,0 @@
1
- {
2
- "knxUltimateSceneController": {
3
- "paletteLabel": "Controller Scene KNX (deprecated)",
4
- "title": "Controller scena",
5
- "properties": {
6
- "node-input-server": "Gateway",
7
- "node-input-topic": "Richiama Scena",
8
- "node-input-dpt": "Datapoint",
9
- "node-input-topicTrigger": "Trigger",
10
- "node-input-topicSave": "Salva Scena",
11
- "node-input-name": "Nome nodo",
12
- "node-input-outputtopic": "Topic"
13
- },
14
- "placeholder": {
15
- "leaveempty": "Lascia vuoto per usare l'indirizzo di gruppo",
16
- "valueexample": "Es: false, true, altrimenti qualsiasi valore"
17
- },
18
- "other": {
19
- "sceneConfig": "Configurazione dei valori predefiniti della scena",
20
- "add": "Premi Aggiungi per aggiungere un dispositivo alla scena"
21
- },
22
- "advanced": {
23
- "notify-DPT3007": "Hai selezionato un DIM relativo. Per favore <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---Dimming'>clicca qui per vedere un esempio</a> e capire come gestire il relativo payload.",
24
- "notify-DPT18001": "Hai selezionato un datapoint scena. Per favore <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---Control-a-scene-actuator'>clicca qui per vedere un esempio</a> per capire come gestire il relativo payload.",
25
- "notify-DPT232600": "Hai selezionato un datapoint RGB. Per favore <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---RGB-Color'>clicca qui per vedere un esempio</a> per capire come gestire il relativo payload.",
26
- "notify-DPT251600": "Hai selezionato un datapoint RGBW. Per favore <a target='_blank' href='https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/-Sample---RGBW-Color-plus-White'>clicca qui per vedere un esempio</a> per capire come gestire il relativo payload."
27
- },
28
- "legacy_notice": "Questo nodo è deprecato e resta supportato nei flow esistenti. Usa KNX Utility per i nuovi flow. Il pulsante seguente converte tutti i nodi utility KNX legacy compatibili in tutti i flow e subflow.",
29
- "migration_button": "Converti tutti i nodi KNX legacy compatibili",
30
- "migration_button_title": "Converti in KNX Utility tutte le istanze utility KNX legacy compatibili presenti in tutti i flow e subflow dell’editor"
31
- }
32
- }
@@ -1,77 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateStaircase">
2
- ### Aggiornamento a KNX Ultimate 8
3
-
4
- La versione 7 mostra un piccolo pulsante **Aggiorna alla v8** nella parte alta di questo editor. Il pulsante scarica un backup dei flow, installa i package HUE/Matter necessari, converte i nodi compatibili, esegue un Deploy completo, verifica i flow salvati e installa la versione 8. Quando richiesto, riavvia il servizio Node-RED: ricaricare soltanto il browser non basta. I nodi KNX AI legacy fermano la procedura automatica.
5
-
6
- [Guida completa all’aggiornamento](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/it-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- **Deprecato:** Questo nodo dedicato resta supportato nei flow esistenti. Per i nuovi flow usa **KNX Utility** e seleziona la funzione corrispondente. Il nodo legacy è nascosto nella palette e contrassegnato con `(deprecated)` nel flow. Il suo editor offre un pulsante per convertire tutti i nodi utility KNX legacy compatibili in tutti i flow e subflow dopo conferma. La conversione avviene localmente nel browser, conserva ID, impostazioni, collegamenti e gruppi e supporta Annulla. La conferma chiude l’editor del nodo corrente e scarta le modifiche non salvate. Controlla il risultato prima di premere Deploy.
11
-
12
- # Temporizzatore scale KNX
13
-
14
- <p>Il nodo Temporizzatore scale KNX riproduce il classico timer luci scala. Rileva gli impulsi di attivazione, comanda l'attuatore, sincronizza lo stato tramite una GA di feedback e gestisce i comandi di override o blocco.</p>
15
-
16
- **Indirizzi di gruppo**
17
-
18
- |Proprietà|Descrizione|
19
- |--|--|
20
- | GA impulso | GA binaria che avvia il timer quando riceve `1`. Se abiliti “Il valore 0 annulla il ciclo”, lo `0` spegne immediatamente la luce. |
21
- | GA uscita | Attuatore pilotato durante il ciclo. Seleziona il DPT coerente con il carico (binario, dimmer, analogico, …). |
22
- | GA stato | Replica lo stato attivo e il preavviso. In modalità *Attiva GA stato* viene commutata prima dello spegnimento. |
23
- | GA override | Mantiene la luce accesa e sospende il timer finché rimane a `1`. |
24
- | GA blocco | Quando vale `1` ignora nuovi impulsi. L'opzione *Quando è bloccato* decide se forzare lo spegnimento. |
25
-
26
- **Comportamento del timer**
27
-
28
- |Opzione|Descrizione|
29
- |--|--|
30
- | Durata timer | Durata base del ciclo scala. |
31
- | Nuovo impulso | Scegli se riavviare, prolungare o ignorare gli impulsi successivi. |
32
- | Il valore 0 annulla il ciclo | Arresta il ciclo con motivo `manual-off` quando l'impulso torna a `0`. |
33
- | Quando è bloccato | Determina se il blocco inibisce solo gli impulsi o forza lo spegnimento. |
34
-
35
- **Preavviso**
36
-
37
- |Opzione|Descrizione|
38
- |--|--|
39
- | Invia preavviso | Abilita l'avviso prima dello spegnimento. |
40
- | Preavviso (secondi) | Quanto tempo prima della scadenza attivare l'avviso. |
41
- | Modalità preavviso | *Attiva GA stato* commuta la GA di stato. *Fai lampeggiare l'uscita* spegne e riaccende l'uscita dopo la durata impostata. |
42
- | Durata lampeggio | Millisecondi durante i quali l'uscita resta spenta quando lampeggia. |
43
-
44
- **Uscita del nodo**
45
-
46
- - Se *Emetti eventi* è attivo il nodo emette oggetti strutturati (`trigger`, `extend`, `prewarn`, `timeout`, `override`, `block`, `manual-off`) con `remaining`, `active`, `override`, `blocked`.
47
- - In alternativa puoi usare la GA di stato come feedback direttamente sul bus KNX.
48
-
49
- ## Ingressi
50
-
51
- |Proprietà|Descrizione|
52
- |--|--|
53
- | Input dal flow | Invia `true`, `false`, `'open'` o `'close'` dal flow per avviare o interrompere il temporizzatore. |
54
- | Telegrammi KNX | Il nodo reagisce alle GA configurate. |
55
-
56
- ## Esempio dal flow
57
-
58
- ```javascript
59
-
60
- // Avvia il temporizzatore scale
61
- msg.payload = true;
62
- return msg;
63
- ```
64
-
65
- ```javascript
66
- // Annulla il ciclo (opzione "Il valore 0 annulla il ciclo")
67
- msg.payload = false;
68
- return msg;
69
- ```
70
-
71
- ## Uscite
72
-
73
- |Proprietà|Descrizione|
74
- |--|--|
75
- | Eventi (opzionale) | Con *Emetti eventi* attivo il nodo invia gli oggetti evento descritti sopra sull'uscita. |
76
-
77
- </script>