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
- ### Actualizar a KNX Ultimate 8
3
-
4
- La versión 7 muestra un pequeño botón **Actualizar a v8** en la parte superior de este editor. Descarga una copia de los flujos, instala los paquetes HUE/Matter necesarios, convierte los nodos compatibles, realiza un Deploy completo, verifica los flujos guardados e instala la versión 8. Reinicia después el servicio Node-RED cuando se indique; recargar solo el navegador no es suficiente. Los nodos antiguos KNX AI detienen la operación automática.
5
-
6
- [Guía completa de actualización](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/es-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- ## Descripción general
11
-
12
- Cada nodo Expose KNX to Matter expone **un dispositivo KNX como dispositivo Matter**: los controladores emparejados (Alexa, Google Home, Apple Home...) lo ven, con el nombre que hayas elegido, listo para el control por app y por voz. Apúntalo a un nodo de configuración **Bridge Matter** (el bridge en sí, emparejado una sola vez - el QR de emparejamiento vive allí) y añade tantos nodos de dispositivo como quieras, en cualquier flow.
13
-
14
- Es la dirección opuesta al nodo *Matter Device*: allí KNX controla un dispositivo Matter, aquí los controladores Matter controlan KNX.
15
-
16
- Cambiar el tipo de dispositivo después de emparejar el bridge modifica la estructura del endpoint Matter. Los controladores pueden conservar el endpoint antiguo como no alcanzable; en ese caso, restablece/vuelve a emparejar el bridge o crea un nuevo dispositivo expuesto.
17
-
18
- ## Configuración
19
-
20
- |Campo|Descripción|
21
- |--|--|
22
- | Bridge Matter | El nodo de configuración Bridge Matter al que pertenece este dispositivo |
23
- | GW KNX | Gateway KNX usado para los telegramas. **Opcional**: sin él, el dispositivo funciona en modo solo-flow mediante los PINes del nodo. Se selecciona automáticamente si el proyecto tiene un solo gateway |
24
- | Nombre | Lo que Alexa y cía. muestran y usan para los comandos de voz |
25
- | Tipo de dispositivo | El tipo de dispositivo Matter (ver abajo); determina qué campos de dirección de grupo aparecen |
26
- | Leer estado al inicio | Envía un `GroupValue_Read` a las GA de estado al inicio, para poblar los atributos Matter |
27
-
28
- ## Tipos de dispositivo y direcciones de grupo
29
-
30
- |Tipo|Direcciones de grupo|
31
- |--|--|
32
- | Luz On/Off, Enchufe | GA comando On/Off, GA estado On/Off (DPT 1.001) |
33
- | Luz regulable | + GA comando/estado regulación % (DPT 5.001) |
34
- | Luz RGB (color) | + GA comando/estado color RGB (DPT 232.600). El color Matter (hue/saturation o XY, de la rueda de color de la app) se convierte desde/hacia la terna RGB KNX |
35
- | Luz blanco dinámico | + GA comando/estado temperatura de color en Kelvin (DPT 7.600) |
36
- | Persiana / Cortina | Subir/Bajar (DPT 1.008), Stop (DPT 1.017), posición % comando/estado (DPT 5.001), inversión de posición opcional |
37
- | Termostato (calefacción y/o refrigeración) | GA temperatura actual, GA comando/estado consigna (DPT 9.001). Añadiendo también la GA comando/estado consigna de refrigeración se expone también el modo Cool (doble consigna) |
38
- | Aire acondicionado de habitación | Un dispositivo Matter combina GA comando/estado On/Off (DPT 1.001), temperatura actual y consignas de calefacción/refrigeración (DPT 9.001), y velocidad del ventilador % (DPT 5.001) |
39
- | Ventilador / VMC | GA comando/estado velocidad % (DPT 5.001) |
40
- | Cerradura de puerta | GA comando bloqueo/desbloqueo y GA estado bloqueado/desbloqueado (DPT 1.001; `true` = bloqueada) |
41
- | Sensores (temperatura, humedad, luz, presencia, contacto) | Una GA de estado cada uno |
42
- | Alarma humo/CO | GA estado alarma de humo + GA estado alarma CO opcional (DPT 1.005): notificaciones críticas en el teléfono |
43
- | Detector de fugas de agua | GA estado fuga (DPT 1.005) |
44
- | Sensor de calidad del aire (CO2) | GA estado CO2 en ppm (DPT 9.008); la clase de calidad del aire (buena/regular/moderada/mala...) se deriva automáticamente |
45
- | Robot aspirador | **Solo-flow**: sin direcciones de grupo. Habilita los PINes del nodo: los comandos del asistente ("inicia la limpieza", pausa/reanudar/volver a la base) llegan a la salida como `rvcmode`/`rvccommand`; informa el estado con `msg.payload = { function: "rvcstate", value: "running"\|"docked"\|"charging"\|"paused"\|"error" }` y el modo con `function: "rvcmode", value: "cleaning"\|"idle"` |
46
-
47
- - **GA de comando**: se escribe en el bus KNX cuando el asistente envía un comando.
48
- - **GA de estado**: se lee del bus para mantener actualizados los atributos Matter (y las apps).
49
-
50
- ## Compatibilidad avanzada
51
-
52
- Estas opciones solo aparecen cuando tienen sentido para el tipo seleccionado. Los dispositivos regulables pueden ignorar el brillo enviado justo después de `On`. Para persianas, **Intercambiar Abrir / Cerrar** invierte el comando KNX binario y la dirección porcentual. **Antirrebote del deslizador** agrupa objetivos intermedios rápidos antes de escribir en KNX: `0` usa ventanas adaptativas (400 ms para el primer comando y 150 ms para los siguientes); `1`–`5000` fuerza una ventana fija. La posición Matter también puede actualizarse de forma optimista y corregirse después mediante la GA de estado KNX.
53
-
54
- ## PINes del nodo
55
-
56
- El selector de PINes está fuera de las pestañas del editor. Al activarlo aparece justo debajo una sección contextual **Entrada/salida del flow**, con ejemplos copiables filtrados según el tipo de dispositivo:
57
-
58
- - **Entrada**: actualiza el estado Matter desde el flow, sin pasar por el bus KNX: `msg.payload = { function: "onoff", value: true }` (`function` es una de `onoff`, `level`, `rgb`, `colortemp`, `position`, `temperature`, `humidity`, `illuminance`, `occupancy`, `contact`, `currenttemp`, `setpoint`, `coolingsetpoint`, `fanspeed`, `lock`, `smoke`, `co`, `leak`, `co2`, `rvcstate`, `rvcmode`). Útil para exponer a Alexa y cía. valores calculados en el flow (p.ej. un sensor virtual).
59
- - **Salida**: cada comando recibido de un controlador Matter se reenvía al flow: `msg.topic` = nombre del dispositivo, `msg.payload` = valor, `msg.matter` = el comando en bruto. Un dispositivo sin GA de comando se convierte en un **dispositivo solo-flow**.
60
-
61
- ## Notas
62
-
63
- - La identidad Matter del dispositivo está ligada a este nodo: si borras el nodo y creas uno nuevo, las apps ven un dispositivo completamente nuevo.
64
- - Los nodos de dispositivo añadidos/renombrados/eliminados se detectan en pocos segundos, sin volver a emparejar el bridge.
65
- </script>
@@ -1,123 +0,0 @@
1
- {
2
- "knxUltimateMatterBridge": {
3
- "title": "Expose KNX to Matter",
4
- "bridge_name": "Nombre del bridge Matter",
5
- "port": "Puerto",
6
- "devices_help": "Añade los dispositivos KNX a exponer en Matter. El \"Nombre\" es el que Alexa/Google/Apple muestran y usan para los comandos de voz. GA de comando = se escribe cuando el asistente envía un comando; GA de estado = se lee del bus para mantener la app actualizada.",
7
- "read_status_startup": "Leer las direcciones de grupo de estado al inicio",
8
- "opt_yes": "Sí",
9
- "opt_no": "No",
10
- "node_pins": "PINes de entrada/salida del nodo",
11
- "node_pins_hide": "Ocultar",
12
- "node_pins_show": "Mostrar PINes de entrada/salida",
13
- "type_change_warning": "Cambiar el tipo de dispositivo después de emparejar el bridge cambia la estructura del endpoint Matter. Alexa/Google/Apple pueden conservar el endpoint antiguo como no alcanzable; puede ser necesario restablecer/reemparejar el Matter Bridge o crear un nuevo dispositivo expuesto.",
14
- "fields": {
15
- "type": "Tipo de dispositivo",
16
- "name": "Nombre (mostrado por Alexa y cía.)",
17
- "name_placeholder": "p.ej. Luz cocina",
18
- "invert": "Invertir posición %"
19
- },
20
- "advanced": {
21
- "title": "Compatibilidad avanzada",
22
- "help": " Usa estas opciones solo cuando un controlador Matter o un actuador KNX necesite un tratamiento especial.",
23
- "alexa_dedup_ms": "Ventana anti-duplicados Alexa (ms, 0 = off)",
24
- "turn_on_behavior": "Comportamiento al encender",
25
- "turn_on_ignore_level": "Ignorar brillo enviado justo después de On",
26
- "turn_on_forward_all": "Reenviar cada comando de brillo",
27
- "ignore_level_ms": "Ignorar brillo tras On (ms)",
28
- "cover_swap_open_close": "Intercambiar Abrir / Cerrar persiana",
29
- "cover_slider_debounce": "Antirrebote del deslizador (ms, 0 = adaptativo)",
30
- "cover_update_mode": "Actualización de estado de persiana",
31
- "cover_optimistic": "Actualizar la posición Matter de forma optimista",
32
- "cover_wait_status": "Esperar solo el estado KNX",
33
- "cover_status_timeout": "Timeout estado persiana (ms)"
34
- },
35
- "tabs": {
36
- "mappings": "Asignaciones KNX",
37
- "advanced": "Opciones avanzadas"
38
- },
39
- "flow_help": {
40
- "title": "Entrada/salida del flow",
41
- "intro": "Estos ejemplos corresponden al tipo de dispositivo seleccionado y están disponibles mientras los pines de entrada/salida del nodo están activados.",
42
- "input_title": "Flow → Matter (entrada del nodo)",
43
- "input_hint": "Envía uno de estos mensajes para actualizar el estado Matter expuesto sin escribir en KNX.",
44
- "output_title": "Matter → Flow (salida del nodo)",
45
- "output_hint": "Los comandos recibidos de un controlador Matter se emiten con el valor en msg.payload y los detalles raw en msg.matter.",
46
- "function": "Función",
47
- "message": "Mensaje de ejemplo",
48
- "copy": "Copiar",
49
- "copied": "Mensaje copiado",
50
- "no_input": "Este tipo de dispositivo no tiene ejemplos de actualización de estado desde el flow.",
51
- "no_output": "Este tipo de dispositivo no emite comandos del controlador; su salida permanece inactiva."
52
- },
53
- "functions": {
54
- "fn_onoff_cmd": "GA comando On/Off",
55
- "fn_onoff_status": "GA estado On/Off",
56
- "fn_level_cmd": "GA comando regulación %",
57
- "fn_level_status": "GA estado regulación %",
58
- "fn_sensor_ga": "GA estado del sensor",
59
- "fn_updown": "GA comando Subir/Bajar",
60
- "fn_stop": "GA comando Stop",
61
- "fn_position_cmd": "GA comando posición %",
62
- "fn_position_status": "GA estado posición %",
63
- "fn_currenttemp": "GA temperatura actual",
64
- "fn_setpoint_cmd": "GA comando consigna",
65
- "fn_setpoint_status": "GA estado consigna",
66
- "fn_coolingsetpoint_cmd": "GA comando consigna refrigeración",
67
- "fn_coolingsetpoint_status": "GA estado consigna refrigeración",
68
- "fn_rgb_cmd": "GA comando color RGB (DPT 232.600)",
69
- "fn_rgb_status": "GA estado color RGB (DPT 232.600)",
70
- "fn_ct_cmd": "GA comando temperatura de color (Kelvin)",
71
- "fn_ct_status": "GA estado temperatura de color (Kelvin)",
72
- "fn_smoke_ga": "GA estado alarma de humo",
73
- "fn_co_ga": "GA estado alarma CO (opcional)",
74
- "fn_leak_ga": "GA estado fuga de agua",
75
- "fn_co2_ga": "GA estado CO2 (ppm, DPT 9.008)",
76
- "fn_fanspeed_cmd": "GA comando velocidad ventilador %",
77
- "fn_fanspeed_status": "GA estado velocidad ventilador %",
78
- "fn_lock_cmd": "GA comando bloqueo/desbloqueo",
79
- "fn_lock_status": "GA estado bloqueado/desbloqueado"
80
- },
81
- "types": {
82
- "onofflight": "Luz On/Off",
83
- "dimmablelight": "Luz regulable",
84
- "rgblight": "Luz RGB (color)",
85
- "colortemperaturelight": "Luz blanco dinámico (temperatura de color)",
86
- "onoffplug": "Enchufe (on/off)",
87
- "temperaturesensor": "Sensor de temperatura",
88
- "humiditysensor": "Sensor de humedad",
89
- "lightsensor": "Sensor de luz (Lux)",
90
- "occupancysensor": "Sensor de presencia",
91
- "contactsensor": "Sensor de contacto",
92
- "windowcovering": "Persiana / Cortina",
93
- "thermostat": "Termostato (calefacción)",
94
- "roomairconditioner": "Aire acondicionado de habitación",
95
- "fan": "Ventilador / VMC",
96
- "doorlock": "Cerradura de puerta",
97
- "smokecoalarm": "Alarma humo/CO",
98
- "waterleakdetector": "Detector de fugas de agua",
99
- "airqualitysensor": "Sensor de calidad del aire (CO2)",
100
- "robotvacuum": "Robot aspirador (solo flow, vía PINes del nodo)"
101
- },
102
- "pairing": {
103
- "title": "Emparejamiento (Alexa, Google Home, Apple Home...)",
104
- "not_running": "El bridge Matter aún no está en ejecución. Haz deploy, espera unos segundos y pulsa actualizar.",
105
- "commissioned": "Bridge emparejado con estos controladores:",
106
- "awaiting": "Esperando emparejamiento. Escanea el código QR o introduce el código manual en tu app Matter:",
107
- "qr_link": "Abrir el código QR en el navegador",
108
- "deploy_first": "Haz deploy de este nodo primero y pulsa actualizar.",
109
- "reset_button": "Restablecer emparejamiento",
110
- "reset_confirm": "¿Eliminar TODOS los controladores emparejados y reiniciar el emparejamiento? Los dispositivos desaparecerán de Alexa/Google/Apple.",
111
- "reset_ok": "Emparejamiento restablecido. El bridge vuelve a estar en espera de emparejamiento."
112
- },
113
- "bridge": "Bridge Matter",
114
- "device_name": "Nombre (mostrado por Alexa y cía.)",
115
- "device_help": "Elige el tipo de dispositivo y dale el nombre que usará el asistente de voz, luego rellena las direcciones de grupo. El gateway KNX es opcional: sin él, habilita los PINes del nodo y controla el dispositivo desde el flow."
116
- },
117
- "common": {
118
- "ga": "GA",
119
- "dpt": "DPT",
120
- "name": "Nombre",
121
- "knx_gw": "GW KNX"
122
- }
123
- }
@@ -1,57 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateMatterControllerDevice">
2
- ### Actualizar a KNX Ultimate 8
3
-
4
- La versión 7 muestra un pequeño botón **Actualizar a v8** en la parte superior de este editor. Descarga una copia de los flujos, instala los paquetes HUE/Matter necesarios, convierte los nodos compatibles, realiza un Deploy completo, verifica los flujos guardados e instala la versión 8. Reinicia después el servicio Node-RED cuando se indique; recargar solo el navegador no es suficiente. Los nodos antiguos KNX AI detienen la operación automática.
5
-
6
- [Guía completa de actualización](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/es-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- Este nodo controla desde KNX un endpoint Matter ya emparejado. Selecciona el dispositivo Matter y el editor detecta sus capacidades, mostrando solo las asignaciones KNX coherentes con ese endpoint.
11
-
12
- Al hacer clic o enfocar el campo del dispositivo Matter siempre se abre la lista completa de endpoints emparejados, aunque ya haya un dispositivo seleccionado. Al escribir, la lista sigue filtrándose.
13
-
14
- Sustituye a los nodos Matter separados no publicados y conserva toda la UI de luz cuando el endpoint seleccionado es una luz.
15
-
16
- ## Configuración
17
-
18
- |Campo|Descripción|
19
- |--|--|
20
- | KNX GW | Gateway KNX usado para escribir y responder las direcciones de grupo configuradas. Puede quedar vacío si solo se necesita la salida Node-RED. El gateway guardado permanece seleccionado durante la inicialización del editor y solo cambia tras una selección explícita del usuario. |
21
- | Matter controller | Nodo de configuración Matter Controller donde el dispositivo fue emparejado. |
22
- | Dispositivo Matter | Endpoint Matter seleccionado entre los dispositivos emparejados. La UI se reconstruye a partir de sus capacidades reales. |
23
- | Switch / Enchufe / Luz On-Off | Direcciones de grupo de comando y estado On/Off, normalmente DPT `1.001`. |
24
- | Cerradura | Una GA de comando DPT `1.xxx` invoca `lockDoor` con `true` y `unlockDoor` con `false`; una GA de estado separada recibe solo estados Bloqueada/Desbloqueada inequívocos. Si el endpoint lo exige, el PIN remoto se guarda en el campo de credencial. Los comandos no anunciados se rechazan. |
25
- | Otros endpoints | Enchufes, actuadores On/Off, persianas, termostatos, ventiladores, sensores ambientales/de contacto/de ocupación, batería, potencia y energía usan el perfil multipropósito. La pestaña **Mapeos** contiene únicamente las funciones respaldadas por los clústeres, atributos y comandos anunciados. |
26
- | Controles de luz | Para endpoints de luz se usa la UI de luz completa: DIM relativo (DPT `3.007`), brillo %, RGB/HSV, blanco ajustable, brillo/temperatura al encender, modo día/noche, nivel min/max y velocidad de regulación. Las secciones no soportadas quedan ocultas. |
27
- | Sensores | Los endpoints de sensor muestran su GA de medida/estado solo cuando está soportado: temperatura, humedad, iluminancia, ocupación, contacto y batería. |
28
- | Read at startup | Publica el valor Matter en caché al desplegar/iniciar o cuando el dispositivo se reconecta. |
29
- | Update local state from KNX write | Actualiza la caché local Matter/KNX cuando se escribe un telegrama en una GA KNX configurada. |
30
- | Node Input/Output PINs | Muestra pines de entrada/salida Node-RED y la sección **Entrada del flow** justo debajo de este campo. Las luces muestran sus mensajes de estado compatibles en el nivel superior; los demás endpoints muestran el formato simple `{function,value}` y los campos Matter avanzados. |
31
-
32
- ## Entrada del flow
33
-
34
- Activa **Node Input/Output PINs** para mostrar la sección **Entrada del flow** justo debajo del selector. Para una luz, muestra ejemplos copiables de las propiedades compatibles en el nivel superior, como `msg.on`, `msg.dimming`, `msg.color_temperature` y `msg.color`. Para los demás endpoints, se construye con la estructura anunciada y muestra el Endpoint ID, todos los atributos legibles/escribibles y los comandos aceptados. Sigue disponible sin gateway KNX.
35
-
36
- Una escritura simple usa `msg.payload = {function:"position",value:35}`. Omite `value` para leer un estado, por ejemplo `{function:"temperature"}`; la salida usa unidades comprensibles e incluye los detalles raw en `msg.matter`. Las funciones `onoff`, `level`, `position`, `open`, `close`, `stop`, consignas, ventilador y sensores solo aparecen si el endpoint las anuncia. Una cerradura acepta `{function:"lock",value:true|false}`.
37
-
38
- Las entradas avanzadas siguen siendo válidas: `msg.clusterId` con `msg.command`/`msg.args`, o `msg.attribute` y el `msg.value` opcional. El Node ID y el Endpoint ID ya están seleccionados en el nodo.
39
-
40
- ## Modo universal
41
-
42
- Selecciona **Modo universal** para supervisar todos los dispositivos. Siempre tiene una entrada y una salida y no usa mapeos de endpoint. El gateway KNX es opcional y solo se utiliza para las GA de alarma/texto del monitor.
43
-
44
- El **Monitor universal de baterías** conserva el estado completo. Las GA KNX opcionales publican la alarma global como DPT 1.005 y alternan cada 2 segundos los dispositivos como DPT 16.001. `{payload:{action:"getAllBatteries"}}` devuelve el inventario.
45
-
46
- La salida contiene el valor raw en `msg.payload` y el enrutamiento en `msg.matter` (`source`, `nodeId`, `endpointId`, `clusterId`, nombre de atributo/evento). La entrada usa `msg.nodeId`, `msg.endpointId`, `msg.clusterId` y `msg.command` con `msg.args`, o `msg.attribute`; añade `msg.value` para escribir y omítelo para leer. Los campos también pueden estar bajo `msg.matter`.
47
-
48
- Ejemplos: `{nodeId:"100",endpointId:1,clusterId:6,command:"on",args:{}}` enciende; `{nodeId:"100",endpointId:1,clusterId:47,attribute:"batPercentRemaining"}` lee la batería. La batería permanece en unidades Matter raw de medio porcentaje; divídela entre dos en un nodo Function.
49
-
50
- ## Comportamiento
51
-
52
- El nodo mantiene una caché local con actualizaciones Matter y escrituras KNX, responde lecturas KNX desde esa caché y puede emitir/leer valores al inicio. Solo escucha las direcciones de grupo configuradas, por lo que ignora el tráfico KNX no relacionado.
53
-
54
- Los comandos se ejecutan en una cola ordenada independiente para cada dispositivo emparejado. Por tanto, un dispositivo sin conexión, agotado por tiempo de espera o eliminado no puede retrasar otros dispositivos Matter que utilicen la misma dirección de grupo KNX. Un nodo que aún referencia un dispositivo eliminado rechaza el comando inmediatamente y muestra **Device no longer commissioned** en rojo; selecciona un dispositivo Matter válido o elimina el nodo Controller huérfano.
55
-
56
- El error de dispositivo no disponible queda enclavado: los siguientes comandos KNX y flow se ignoran y no pueden sobrescribir el estado rojo. El nodo se reanuda automáticamente en cuanto ese dispositivo Matter informa `connected`; abrir el editor del nodo también libera el bloqueo para permitir un reintento manual.
57
- </script>
@@ -1,146 +0,0 @@
1
- {
2
- "knxUltimateMatterControllerDevice": {
3
- "title": "Control Matter from KNX",
4
- "node-input-name": "Nombre",
5
- "node-input-nameLightSwitch": "Interruptor (bit)",
6
- "node-input-GALightSwitch": "Georgia",
7
- "node-input-dptLightSwitch": "DPT",
8
- "node-input-nameLightState": "Estado (bit)",
9
- "node-input-GALightState": "Georgia",
10
- "node-input-dptLightState": "DPT",
11
- "node-input-hueLight": "Dispositivo Matter",
12
- "paletteLabel": "Control Matter from KNX",
13
- "no_devices": "No se encontraron dispositivos Matter. Comprueba el controlador Matter y actualiza.",
14
- "input_help_label": "Entrada del flow",
15
- "input_help_pin_hint": "Activa los pines de entrada/salida del nodo antes de enviar estos mensajes.",
16
- "input_help_endpoint": "Endpoint seleccionado",
17
- "input_help_endpoint_hint": "El nodo ya conoce el Node ID y el Endpoint ID; los mensajes simples no los necesitan.",
18
- "input_help_simple_title": "Mensajes simples",
19
- "input_help_simple_hint": "Estas funciones usan unidades comprensibles y se traducen al clúster, comando o atributo Matter del endpoint seleccionado.",
20
- "input_help_light_hint": "Los endpoints de luz aceptan propiedades de estado directamente en msg (no dentro de msg.payload). Solo se muestran los controles compatibles con la luz seleccionada.",
21
- "input_help_advanced_title": "Detalles Matter avanzados",
22
- "input_help_advanced_hint": "Solo se muestran atributos y comandos anunciados. Los ejemplos de escritura usan 0 como marcador; los argumentos de los comandos pueden requerir adaptación al tipo Matter.",
23
- "input_help_operation": "Operación",
24
- "input_help_function": "Función",
25
- "input_help_target": "Destino Matter",
26
- "input_help_message": "Mensaje",
27
- "input_help_read": "Lectura",
28
- "input_help_write": "Escritura",
29
- "input_help_command": "Comando",
30
- "input_help_copy": "Copiar",
31
- "input_help_copied": "Mensaje copiado",
32
- "input_help_no_simple": "Este endpoint no tiene funciones de entrada simples conocidas.",
33
- "input_help_no_structure": "La estructura Matter no está disponible. Actualiza la lista de dispositivos mientras el endpoint esté en línea.",
34
- "input_functions": {
35
- "onoff": "Encender / Apagar", "on": "Encender", "off": "Apagar", "level": "Nivel", "brightness": "Brillo", "color_temperature": "Temperatura de color", "xy_color": "Color XY", "position": "Posición de persiana", "tiltposition": "Inclinación de persiana", "open": "Abrir", "close": "Cerrar", "stop": "Detener", "setpoint": "Consigna de calefacción", "coolingsetpoint": "Consigna de refrigeración", "currenttemp": "Temperatura actual", "fanspeed": "Velocidad del ventilador", "temperature": "Temperatura", "humidity": "Humedad", "illuminance": "Iluminancia", "occupancy": "Ocupación", "contact": "Contacto", "battery": "Batería", "activepower": "Potencia activa", "importedenergy": "Energía importada", "identify": "Identificar", "lock": "Bloquear", "unlock": "Desbloquear"
36
- },
37
- "tabs": {
38
- "switch": "Cambiar",
39
- "dim": "Oscuro",
40
- "tunable_white": "Blanco sintonizable",
41
- "rgb_hsv": "RGB/HSV",
42
- "effects": "Efectos",
43
- "mappings": "Mapeos",
44
- "behaviour": "Comportamiento"
45
- },
46
- "control": "Control",
47
- "status": "Estado",
48
- "door_lock_command": "Bloquear / desbloquear",
49
- "door_lock_status": "Estado de la cerradura",
50
- "door_lock_pin": "PIN de operación remota",
51
- "door_lock_pin_required": "La cerradura indica que se requiere un PIN para operaciones remotas.",
52
- "door_lock_commands_missing": "Este endpoint no anuncia ambos comandos de bloqueo y desbloqueo. Los comandos ausentes serán rechazados.",
53
- "mapped": {
54
- "onoff_command": "Comando Encendido / Apagado", "onoff_state": "Estado Encendido / Apagado", "cover_updown": "Persiana subir / bajar", "cover_stop": "Parar persiana", "cover_position_command": "Comando posición persiana", "cover_position_state": "Estado posición persiana", "heating_command": "Comando consigna calefacción", "heating_state": "Estado consigna calefacción", "cooling_command": "Comando consigna refrigeración", "cooling_state": "Estado consigna refrigeración", "local_temperature": "Temperatura local", "fan_command": "Comando velocidad ventilador", "fan_state": "Estado velocidad ventilador", "temperature": "Temperatura", "humidity": "Humedad", "illuminance": "Iluminancia", "occupancy": "Ocupación", "contact": "Estado booleano / contacto", "battery": "Batería", "active_power": "Potencia activa", "imported_energy": "Energía importada"
55
- },
56
- "night_lighting": "Iluminación nocturna",
57
- "no_night_lighting": "Sin iluminación nocturna",
58
- "get_current": "Obtener",
59
- "get_again": "Volver a",
60
- "wait": "Esperar...",
61
- "locate_no_bridge": "Seleccione primero un controlador Matter",
62
- "locate_no_device": "Seleccione primero un dispositivo Matter",
63
- "locate_success": "Comando de localización enviado",
64
- "locate_started": "Modo de localización iniciado. Pulsa de nuevo para detenerlo (se detiene automáticamente tras 10 minutos).",
65
- "locate_stopped": "Modo de localización detenido.",
66
- "locate_start_title": "Localizar el dispositivo Matter seleccionado",
67
- "locate_stop_title": "Detener el modo de localización",
68
- "locate_error": "No se pudo localizar el dispositivo Matter",
69
- "day_night": "Día/noche",
70
- "invert_day_night": "Invertir el valor de día/noche",
71
- "override_night_mode": "Forzar el modo diurno",
72
- "override_no": "No",
73
- "override_set_day_fast_this": "Cambie al modo de día apagando rápidamente la luz y luego (solo esta luz)",
74
- "override_set_day_fast_all": "Cambie al modo de día apagando rápidamente la luz y luego (aplique a todos los nodos de luz)",
75
- "node_pins": "Pasadores de entrada/salida del nodo",
76
- "node_pins_hide": "Esconder",
77
- "node_pins_show": "Mostrar pines de entrada/salida del nodo",
78
- "read_status_startup": "Estado de lectura en el inicio",
79
- "opt_no": "No",
80
- "opt_yes_emit": "Sí, y emitir telegramas KNX.",
81
- "knx_brightness_status": "Estado de brillo KNX",
82
- "knx_brightness_onhueoff": "Cuando la luz del tono está apagada, envíe 0%. Cuando se enciende, restaure el valor anterior (comportamiento de KNX predeterminado)",
83
- "knx_brightness_no": "Salir como está (comportamiento de tono predeterminado)",
84
- "update_local_state_from_knx_write": "Actualizar el estado local en caché de Matter a partir de escrituras del bus KNX",
85
- "update_local_state_from_knx_write_hint": "Activado: reacciones locales más rápidas y respuestas inmediatas de lectura KNX más coherentes. Desactivado: la caché se actualiza solo con informes Matter reales.",
86
- "use_min_brightness": "Use brillo mínimo especificado en la luz del tono",
87
- "k_suffix": "K",
88
- "temp_desc_2200": "(Inicio de Philips White Ambiance Lights Range)",
89
- "temp_desc_2700": "(Cálido blanco, íntimo, acogedor, personal, para salas de estar)",
90
- "temp_desc_3000": "(Blanco suave, cálido, calmante, para baños y cocinas)",
91
- "temp_desc_3500_day": "(Blanco neutral, equilibrado, amigable, acogedor, para espacios de oficina y venta minorista)",
92
- "temp_desc_3500_night": "(No se recomienda para la noche: blanco neutral, para espacios de oficina y venta minorista)",
93
- "temp_desc_4100_day": "(COOL WHITE, PRECISE, CLIME, COMENTADO, PARA GARAJES Y TIENTES DE GRATOS)",
94
- "temp_desc_4100_night": "(No se recomienda para la noche: blanco frío, preciso, limpio, enfocado, para garajes y supermercados)",
95
- "temp_desc_5000_day": "(blanco brillante, vibrante, crujiente, para almacenes, estadios deportivos y atención médica)",
96
- "temp_desc_5000_night": "(No se recomienda para la noche: blanco brillante, vibrante, nítido, para almacenes, estadios deportivos y atención médica)",
97
- "temp_desc_6500_day": "(Día, alerta, enérgica, para la agricultura interior)",
98
- "temp_desc_6500_night": "(No se recomienda para la noche: luz del día, alerta, enérgica, para la agricultura interior)",
99
- "switch_on_behaviour": "Encender el comportamiento",
100
- "none": "Ninguno",
101
- "switch_off": "(Desconectar)",
102
- "select_color": "Seleccionar color",
103
- "select_temperature_brightness": "Seleccionar temperatura y brillo",
104
- "select_brightness": "Seleccionar brillo",
105
- "effect_command": "Comando de efecto",
106
- "effect_status": "Estado del efecto",
107
- "effect_mapping": "Mapeos",
108
- "effect_autofill": "Llenar con los efectos disponibles",
109
- "effect_tip": "Proporcione pares de valor KNX / efecto Matter. Cuando la carga útil de KNX entrante coincide con el valor, el efecto seleccionado se aplica a la luz.",
110
- "effect_tip_status": "Si se configura una dirección de grupo de estado, el efecto de tono actual se emite utilizando el valor KNX asignado o el nombre del efecto.",
111
- "effect_not_supported": "Esta luz no expone los efectos del tono.",
112
- "effect_knx_value_placeholder": "Valor para coincidir",
113
- "effect_base_label": "Efectos básicos no suyos",
114
- "effect_native_label": "Efectos nativos de tono",
115
- "matter_controller": "Controlador Matter",
116
- "matter_device": "Dispositivo Matter",
117
- "device_type": "Tipo de dispositivo",
118
- "matter_section": "Dispositivo Matter",
119
- "controller_mode": "Modo",
120
- "single_mode": "Dispositivo individual",
121
- "universal_mode": "Modo universal (todos los dispositivos Matter)",
122
- "universal_mode_description": "Escucha y controla todos los dispositivos Matter conectados a este controlador. El modo universal funciona sin mapeos KNX.",
123
- "universal_service": "Servicio",
124
- "universal_service_battery_monitor": "Monitor universal de baterías",
125
- "universal_service_all_events": "Todos los eventos Matter",
126
- "universal_battery_threshold": "Umbral de batería baja",
127
- "universal_low_battery_ga": "GA alarma de batería",
128
- "universal_low_battery_text_ga": "GA nombre del dispositivo",
129
- "universal_battery_only_low": "Emitir solo baterías bajas",
130
- "universal_emit_initial": "Emitir instantánea inicial de baterías",
131
- "universal_include_raw": "Incluir evento Matter raw",
132
- "universal_mode_status": "Modo Matter universal",
133
- "universal_mode_locate_disabled": "Localizar no está disponible en el modo universal.",
134
- "universal_controller_name": "Controlador Matter universal"
135
- },
136
- "common": {
137
- "ga": "Georgia",
138
- "dpt": "DPT",
139
- "name": "Nombre",
140
- "youtube_sample": "Muestra de youtube",
141
- "knx_gw": "KNX GW",
142
- "hue_bridge": "Controlador Matter",
143
- "philips_hue": "Matter",
144
- "read": "Leer"
145
- }
146
- }
@@ -1,115 +0,0 @@
1
- <script type="text/markdown" data-help-name="knxUltimateSceneController">
2
- ### Actualizar a KNX Ultimate 8
3
-
4
- La versión 7 muestra un pequeño botón **Actualizar a v8** en la parte superior de este editor. Descarga una copia de los flujos, instala los paquetes HUE/Matter necesarios, convierte los nodos compatibles, realiza un Deploy completo, verifica los flujos guardados e instala la versión 8. Reinicia después el servicio Node-RED cuando se indique; recargar solo el navegador no es suficiente. Los nodos antiguos KNX AI detienen la operación automática.
5
-
6
- [Guía completa de actualización](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/es-Upgrade-to-v8)
7
-
8
- <br/>
9
-
10
- **Obsoleto:** Este nodo dedicado sigue siendo compatible con los flujos existentes. Para los nuevos flujos usa **KNX Utility** y selecciona la función correspondiente. El nodo antiguo está oculto en la paleta y aparece con `(deprecated)` en el flujo. Su editor ofrece un botón para convertir todas las utilidades KNX antiguas compatibles en todos los flujos y subflujos tras confirmar. La conversión se realiza localmente en el navegador, conserva los ID, ajustes, conexiones y grupos y permite Deshacer. La confirmación cierra el editor del nodo actual y descarta los cambios sin guardar. Revisa el resultado antes de Deploy.
11
-
12
- <p> El nodo de control de la escena se comporta exactamente como un dispositivo KNX de controlador de escena.Es capaz de guardar y recordar una escena. </p>
13
-
14
- # Configuración del nodo del controlador de escena
15
-
16
- |Propiedad |Descripción |
17
- |------------ |---------------------------------------------------------------------------------------------------- |
18
- |Puerta de entrada |Gateway Knx seleccionado.|
19
- |Recuerdo de la escena | **DataPoint ** y**Valor de activación ** .Dirección grupal para el retiro de escena.Ejemplo 0/0/1.El controlador de la escena reaccionará a los telegramas provenientes de esta dirección grupal, para recordar la escena.El punto de datos es el tipo de punto de datos (DPT) de la dirección de grupo _Scene Recall_.El valor de activación es el valor que debe revivirse, para activar el retiro de la escena.**Recuerde ** : para activar una escena o guardar una escena a través de un comando DIM, colocar en el recuerdo de la escena o guardar la escena**Valor de activación** , el objeto correcto para la atenuación ({Dec \ _incr: 1, datos: 5} para un aumento tenue, {regoder \ _incr: 0, datos: 5} para disminución tenue) |
20
- |Guardar escena | **DataPoint ** y**Valor de activación ** .Dirección grupal para guardar una escena.Ejemplo 0/0/2.El controlador de la escena reaccionará a los telegramas provenientes de esta dirección de grupo, guardando todos los valores actuales de todos los dispositivos en la escena, que se pueden recuperar más adelante.Cada vez que presione, o presione durante mucho tiempo un botón KNX real en su edificio, el controlador de la escena leerá los valores de todos los dispositivos en la escena y lo guardará en un almacenamiento no volátil.El punto de datos es el tipo de punto de datos (DPT) de la dirección de grupo _scene save_.El valor de activación es el valor que debe revivirse, para activar el ahorro de la escena.**Recuerde ** : para activar una escena o guardar una escena a través de un comando DIM, colocar en el recuerdo de la escena o guardar la escena**Valor de activación** , el objeto correcto para la atenuación ({Dec \ _incr: 1, datos: 5} para un aumento tenue, {regoder \ _incr: 0, datos: 5} para disminución tenue) |
21
- |Nombre del nodo |Nombre del nodo, en el formato "Recordar: Nombre del dispositivo utilizado para recuperar la escena / Guardar: Nombre del dispositivo para guardar la escena".Pero puedes establecer el nombre que quieras.|
22
- |Tema |Tema del nodo.|
23
-
24
- ## Configuración de la escena
25
-
26
- Debe agregar dispositivos a la escena, como un dispositivo KNX de controlador de escena real estándar.Esta es una lista, cada fila representa un dispositivo.
27
-
28
- _ **El nodo de la escena guarda automáticamente los valores actualizados de todos los actuadores que pertenecen a la escena, cada vez que recibe un nuevo valor del bus.** _
29
-
30
- |Propiedad |Descripción |
31
- |------------- |---------------------------------------------------------------------------------------------------- |
32
- |Botón Agregar |Agregue una fila a la lista.|
33
- |Campo de la fila |El primer campo es la dirección de grupo, el segundo es el punto de datos, tercero es el valor predeterminado para este dispositivo en la escena (la función _scene save_ puede anular esto).A continuación, se encuentra el nombre del dispositivo. <br/> Para insertar un _Pause_, escriba **espera ** en el primer campo y un número en el último campo, que representa el tiempo (en milisegundos) de la pausa, por ejemplo**2000 ** <br/> <br> El comando**espera ** acepta también valores que indican segundos o horas. <BR> a un valor en segundo lugar, add**ssule, por ejemplo, los valores de los numéricos, por ejemplo, por ejemplo, por ejemplo, los valores de los numéricos.( ** 12s**) <br> Para establecer un valor en minutos, agregue ** m**después del valor numérico, por ejemplo ( ** 5m**) <br> Para establecer un valor en horas, agregue ** h**después del valor numérico, por ejemplo ( ** 1H** ) |
34
- |Botón eliminar |Elimine un dispositivo de la lista.|
35
-
36
- # Salida de mensajes desde el nodo del controlador de escena
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
- # Mensaje de flujo de entrada
53
-
54
- El nodo del controlador de la escena reacciona principalmente a los telegramas KNX y confía en eso para recordar y guardar escenas.
55
-
56
- Sin embargo, puede recordar y guardar escenas enviando un mensaje al nodo.El controlador de la escena se puede deshabilitar para inhibir los comandos que provienen del autobús KNX. ** Recuerde una escena**
57
-
58
- ```javascript
59
-
60
- // Example of a function that recall the scene
61
- msg.recallscene = true;
62
- return msg;
63
-
64
- ```
65
-
66
- ** Guardar una escena**
67
-
68
- ```javascript
69
-
70
- // Example of a function that saves the scene
71
- msg.savescene = true;
72
- return msg;
73
-
74
- ```
75
-
76
- ** Guardar el valor actual de una dirección de grupo ** _**El nodo de la escena ya guarda los valores actualizados de todos los actuadores que pertenecen a la escena.** _
77
-
78
- A veces es útil poder guardar el valor actual de una dirección de grupo que es diferente de la que ingresó en la escena, como el valor real del actuador de la escena.
79
-
80
- Por ejemplo, un actuador de obturador generalmente tiene una dirección de grupo de comando y una de estado.
81
-
82
- El nodo guarda la escena tomando valores de dirección de grupo de comando, que pueden no estar alineados con el valor de estado real.
83
-
84
- Sin embargo, puede trabajar en torno a esto actualizando manualmente el valor de la dirección del grupo de comando, tomándolo desde la dirección del grupo de estado.
85
-
86
- Piense en esto: si tiene un actuador ciego, tiene una dirección grupal para el movimiento, una dirección grupal para el paso, una dirección de grupo para la altura absoluta, etc. la única dirección grupal que conoce la posición exacta de la ciega, es la dirección de grupo ** Valor de altura absoluta** .<br/>
87
-
88
- Con esta dirección de grupo de estado, puede actualizar las direcciones del grupo de comando de los actuadores ciegos que pertenecen a la escena.Consulte la muestra en el wiki.
89
-
90
- ```javascript
91
-
92
- // Example of a function that saves the status of a blind actuator, belongind to the scene.
93
- msg.savevalue = true;
94
- msg.topic = "0/1/1";
95
- msg.payload = 70;
96
- return msg;
97
-
98
- ```
99
-
100
- ** Desactivar Controlador de escena**
101
-
102
- Puede deshabilitar el controlador de la escena (deshabilita la recepción del telegrama del bus KNX, pero el nodo aún acepta el mensaje de entrada del flujo en su lugar).En algún momento es aconsejable para deshabilitar el retiro y el salvamento de una escena, por ejemplo, cuando es de noche y llamas, desde un botón de empuje KNX, una "escena de TV" que levanta o baja una ciega, la escena no se recordará ni salvará.En cambio, puede habilitar otra escena, solo por la noche, por ejemplo, para atenuar una serie de luces.
103
-
104
- ```javascript
105
-
106
- // 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!
107
- msg.disabled = true; // Otherwise "msg.disabled = false" to re-enable the node.
108
- return msg;
109
-
110
- ```
111
-
112
- ## Ver también
113
-
114
- [Controlador de escena de muestra](https://supergiovane.github.io/node-red-contrib-knx-ultimate/wiki/Sample-Scene-Node)
115
- </script>
@@ -1,32 +0,0 @@
1
- {
2
- "knxUltimateSceneController": {
3
- "paletteLabel": "Controlador de escena KNX (deprecated)",
4
- "title": "Controlador de escena",
5
- "properties": {
6
- "node-input-server": "Puerta",
7
- "node-input-topic": "Recuerdo de la escena",
8
- "node-input-dpt": "Punto de datos",
9
- "node-input-topicTrigger": "Desencadenar",
10
- "node-input-topicSave": "Guardar escena",
11
- "node-input-name": "Nombre de nodo",
12
- "node-input-outputtopic": "Tema"
13
- },
14
- "placeholder": {
15
- "leaveempty": "Dejar vacío para usar la dirección de grupo",
16
- "valueexample": "Ej: falso, verdadero, de lo contrario cualquier valor"
17
- },
18
- "other": {
19
- "sceneConfig": "Configuración de valores predeterminados de la escena",
20
- "add": "Presione Agregar, para agregar un dispositivo en la escena"
21
- },
22
- "advanced": {
23
- "notify-DPT3007": "Usted seleccionó un tenue relativo. Por favor, __ph_0__ haga clic aquí para ver esta muestra__ph_1__ y aprenda cómo manejar dicha carga útil.",
24
- "notify-DPT18001": "Usted seleccionó un punto de datos de la escena. Por favor, __ph_0__ haga clic aquí para ver esta muestra__ph_1__ y aprenda cómo manejar dicha carga útil.",
25
- "notify-DPT232600": "Seleccionó un punto de datos RGB. Por favor, __ph_0__ haga clic aquí para ver esta muestra__ph_1__ y aprenda cómo manejar dicha carga útil.",
26
- "notify-DPT251600": "Seleccionó un punto de datos RGBW. Por favor, __ph_0__ haga clic aquí para ver esta muestra__ph_1__ y aprenda cómo manejar dicha carga útil."
27
- },
28
- "legacy_notice": "Este nodo está obsoleto y sigue siendo compatible con los flujos existentes. Usa KNX Utility para los nuevos flujos. El botón siguiente convierte todas las utilidades KNX antiguas compatibles en todos los flujos y subflujos.",
29
- "migration_button": "Convertir todos los nodos KNX antiguos compatibles",
30
- "migration_button_title": "Convertir en KNX Utility todas las instancias de utilidades KNX antiguas compatibles en todos los flujos y subflujos del editor"
31
- }
32
- }