node-red-contrib-huemagic 4.2.2 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/CHANGELOG.md +89 -5
  2. package/README.md +506 -123
  3. package/examples/Deutsch/Hue Automation.json +176 -0
  4. package/examples/Deutsch/Hue Bridge.json +256 -0
  5. package/examples/Deutsch/Hue Brightness.json +150 -0
  6. package/examples/Deutsch/Hue Buttons.json +88 -0
  7. package/examples/Deutsch/Hue Contact.json +150 -0
  8. package/examples/Deutsch/Hue Group.json +658 -0
  9. package/examples/Deutsch/Hue Light.json +893 -0
  10. package/examples/Deutsch/Hue Magic.json +148 -0
  11. package/examples/Deutsch/Hue Motion.json +150 -0
  12. package/examples/Deutsch/Hue Rules.json +150 -0
  13. package/examples/Deutsch/Hue Scene.json +178 -0
  14. package/examples/Deutsch/Hue Speaker.json +274 -0
  15. package/examples/Deutsch/Hue Sync Box.json +378 -0
  16. package/examples/Deutsch/Hue Temperature.json +150 -0
  17. package/examples/English/Hue Automation.json +176 -0
  18. package/examples/{Hue Bridge.json → English/Hue Bridge.json } +1 -1
  19. package/examples/{Hue Brightness.json → English/Hue Brightness.json } +1 -1
  20. package/examples/{Hue Buttons.json → English/Hue Buttons.json } +1 -1
  21. package/examples/English/Hue Contact.json +150 -0
  22. package/examples/{Hue Group.json → English/Hue Group.json } +1 -1
  23. package/examples/{Hue Light.json → English/Hue Light.json } +1 -1
  24. package/examples/{Hue Magic.json → English/Hue Magic.json } +1 -1
  25. package/examples/{Hue Motion.json → English/Hue Motion.json } +1 -1
  26. package/examples/{Hue Rules.json → English/Hue Rules.json } +1 -1
  27. package/examples/{Hue Scene.json → English/Hue Scene.json } +1 -1
  28. package/examples/English/Hue Speaker.json +274 -0
  29. package/examples/English/Hue Sync Box.json +378 -0
  30. package/examples/{Hue Temperature.json → English/Hue Temperature.json } +1 -1
  31. package/examples/Espa/303/261ol/Hue Automation.json" +176 -0
  32. package/examples/Espa/303/261ol/Hue Bridge.json" +256 -0
  33. package/examples/Espa/303/261ol/Hue Brightness.json" +150 -0
  34. package/examples/Espa/303/261ol/Hue Buttons.json" +88 -0
  35. package/examples/Espa/303/261ol/Hue Contact.json" +150 -0
  36. package/examples/Espa/303/261ol/Hue Group.json" +658 -0
  37. package/examples/Espa/303/261ol/Hue Light.json" +893 -0
  38. package/examples/Espa/303/261ol/Hue Magic.json" +148 -0
  39. package/examples/Espa/303/261ol/Hue Motion.json" +150 -0
  40. package/examples/Espa/303/261ol/Hue Rules.json" +150 -0
  41. package/examples/Espa/303/261ol/Hue Scene.json" +178 -0
  42. package/examples/Espa/303/261ol/Hue Speaker.json" +274 -0
  43. package/examples/Espa/303/261ol/Hue Sync Box.json" +378 -0
  44. package/examples/Espa/303/261ol/Hue Temperature.json" +150 -0
  45. package/examples/Fran/303/247ais/Hue Automation.json" +176 -0
  46. package/examples/Fran/303/247ais/Hue Bridge.json" +256 -0
  47. package/examples/Fran/303/247ais/Hue Brightness.json" +150 -0
  48. package/examples/Fran/303/247ais/Hue Buttons.json" +88 -0
  49. package/examples/Fran/303/247ais/Hue Contact.json" +150 -0
  50. package/examples/Fran/303/247ais/Hue Group.json" +658 -0
  51. package/examples/Fran/303/247ais/Hue Light.json" +893 -0
  52. package/examples/Fran/303/247ais/Hue Magic.json" +148 -0
  53. package/examples/Fran/303/247ais/Hue Motion.json" +150 -0
  54. package/examples/Fran/303/247ais/Hue Rules.json" +150 -0
  55. package/examples/Fran/303/247ais/Hue Scene.json" +178 -0
  56. package/examples/Fran/303/247ais/Hue Speaker.json" +274 -0
  57. package/examples/Fran/303/247ais/Hue Sync Box.json" +378 -0
  58. package/examples/Fran/303/247ais/Hue Temperature.json" +150 -0
  59. package/examples/Italiano/Hue Automation.json +176 -0
  60. package/examples/Italiano/Hue Bridge.json +256 -0
  61. package/examples/Italiano/Hue Brightness.json +150 -0
  62. package/examples/Italiano/Hue Buttons.json +88 -0
  63. package/examples/Italiano/Hue Contact.json +150 -0
  64. package/examples/Italiano/Hue Group.json +658 -0
  65. package/examples/Italiano/Hue Light.json +893 -0
  66. package/examples/Italiano/Hue Magic.json +148 -0
  67. package/examples/Italiano/Hue Motion.json +150 -0
  68. package/examples/Italiano/Hue Rules.json +150 -0
  69. package/examples/Italiano/Hue Scene.json +178 -0
  70. package/examples/Italiano/Hue Speaker.json +274 -0
  71. package/examples/Italiano/Hue Sync Box.json +378 -0
  72. package/examples/Italiano/Hue Temperature.json +150 -0
  73. package/examples/Nederlands/Hue Automation.json +176 -0
  74. package/examples/Nederlands/Hue Bridge.json +256 -0
  75. package/examples/Nederlands/Hue Brightness.json +150 -0
  76. package/examples/Nederlands/Hue Buttons.json +88 -0
  77. package/examples/Nederlands/Hue Contact.json +150 -0
  78. package/examples/Nederlands/Hue Group.json +658 -0
  79. package/examples/Nederlands/Hue Light.json +893 -0
  80. package/examples/Nederlands/Hue Magic.json +148 -0
  81. package/examples/Nederlands/Hue Motion.json +150 -0
  82. package/examples/Nederlands/Hue Rules.json +150 -0
  83. package/examples/Nederlands/Hue Scene.json +178 -0
  84. package/examples/Nederlands/Hue Speaker.json +274 -0
  85. package/examples/Nederlands/Hue Sync Box.json +378 -0
  86. package/examples/Nederlands/Hue Temperature.json +150 -0
  87. package/examples/Polski/Hue Automation.json +176 -0
  88. package/examples/Polski/Hue Bridge.json +256 -0
  89. package/examples/Polski/Hue Brightness.json +150 -0
  90. package/examples/Polski/Hue Buttons.json +88 -0
  91. package/examples/Polski/Hue Contact.json +150 -0
  92. package/examples/Polski/Hue Group.json +658 -0
  93. package/examples/Polski/Hue Light.json +893 -0
  94. package/examples/Polski/Hue Magic.json +148 -0
  95. package/examples/Polski/Hue Motion.json +150 -0
  96. package/examples/Polski/Hue Rules.json +150 -0
  97. package/examples/Polski/Hue Scene.json +178 -0
  98. package/examples/Polski/Hue Speaker.json +274 -0
  99. package/examples/Polski/Hue Sync Box.json +378 -0
  100. package/examples/Polski/Hue Temperature.json +150 -0
  101. package/examples/Portugu/303/252s/Hue Automation.json" +176 -0
  102. package/examples/Portugu/303/252s/Hue Bridge.json" +256 -0
  103. package/examples/Portugu/303/252s/Hue Brightness.json" +150 -0
  104. package/examples/Portugu/303/252s/Hue Buttons.json" +88 -0
  105. package/examples/Portugu/303/252s/Hue Contact.json" +150 -0
  106. package/examples/Portugu/303/252s/Hue Group.json" +658 -0
  107. package/examples/Portugu/303/252s/Hue Light.json" +893 -0
  108. package/examples/Portugu/303/252s/Hue Magic.json" +148 -0
  109. package/examples/Portugu/303/252s/Hue Motion.json" +150 -0
  110. package/examples/Portugu/303/252s/Hue Rules.json" +150 -0
  111. package/examples/Portugu/303/252s/Hue Scene.json" +178 -0
  112. package/examples/Portugu/303/252s/Hue Speaker.json" +274 -0
  113. package/examples/Portugu/303/252s/Hue Sync Box.json" +378 -0
  114. package/examples/Portugu/303/252s/Hue Temperature.json" +150 -0
  115. package/examples/T/303/274rk/303/247e/Hue Automation.json" +176 -0
  116. package/examples/T/303/274rk/303/247e/Hue Bridge.json" +256 -0
  117. package/examples/T/303/274rk/303/247e/Hue Brightness.json" +150 -0
  118. package/examples/T/303/274rk/303/247e/Hue Buttons.json" +88 -0
  119. package/examples/T/303/274rk/303/247e/Hue Contact.json" +150 -0
  120. package/examples/T/303/274rk/303/247e/Hue Group.json" +658 -0
  121. package/examples/T/303/274rk/303/247e/Hue Light.json" +893 -0
  122. package/examples/T/303/274rk/303/247e/Hue Magic.json" +148 -0
  123. package/examples/T/303/274rk/303/247e/Hue Motion.json" +150 -0
  124. package/examples/T/303/274rk/303/247e/Hue Rules.json" +150 -0
  125. package/examples/T/303/274rk/303/247e/Hue Scene.json" +178 -0
  126. package/examples/T/303/274rk/303/247e/Hue Speaker.json" +274 -0
  127. package/examples/T/303/274rk/303/247e/Hue Sync Box.json" +378 -0
  128. package/examples/T/303/274rk/303/247e/Hue Temperature.json" +150 -0
  129. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Automation.json" +176 -0
  130. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +256 -0
  131. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Brightness.json" +150 -0
  132. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Buttons.json" +88 -0
  133. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Contact.json" +150 -0
  134. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Group.json" +658 -0
  135. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Light.json" +893 -0
  136. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Magic.json" +148 -0
  137. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Motion.json" +150 -0
  138. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Rules.json" +150 -0
  139. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Scene.json" +178 -0
  140. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Speaker.json" +274 -0
  141. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Sync Box.json" +378 -0
  142. package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Temperature.json" +150 -0
  143. package/huemagic/assets/huemagic-examples.gif +0 -0
  144. package/huemagic/hue-automation.html +218 -0
  145. package/huemagic/hue-automation.js +173 -0
  146. package/huemagic/hue-bridge-config.html +39 -32
  147. package/huemagic/hue-bridge-config.js +290 -99
  148. package/huemagic/hue-bridge.html +8 -8
  149. package/huemagic/hue-bridge.js +29 -4
  150. package/huemagic/hue-brightness.html +21 -9
  151. package/huemagic/hue-brightness.js +20 -10
  152. package/huemagic/hue-buttons.html +16 -9
  153. package/huemagic/hue-buttons.js +90 -27
  154. package/huemagic/hue-contact.html +218 -0
  155. package/huemagic/hue-contact.js +209 -0
  156. package/huemagic/hue-group.html +16 -9
  157. package/huemagic/hue-group.js +141 -179
  158. package/huemagic/hue-light.html +19 -12
  159. package/huemagic/hue-light.js +222 -167
  160. package/huemagic/hue-magic.html +3 -5
  161. package/huemagic/hue-motion.html +16 -9
  162. package/huemagic/hue-motion.js +37 -8
  163. package/huemagic/hue-rules.html +16 -9
  164. package/huemagic/hue-rules.js +16 -8
  165. package/huemagic/hue-scene.html +9 -5
  166. package/huemagic/hue-scene.js +52 -16
  167. package/huemagic/hue-speaker.html +218 -0
  168. package/huemagic/hue-speaker.js +257 -0
  169. package/huemagic/hue-syncbox-config.html +123 -0
  170. package/huemagic/hue-syncbox-config.js +179 -0
  171. package/huemagic/hue-syncbox.html +82 -0
  172. package/huemagic/hue-syncbox.js +274 -0
  173. package/huemagic/hue-temperature.html +21 -9
  174. package/huemagic/hue-temperature.js +18 -10
  175. package/huemagic/icons/hue-automation.png +0 -0
  176. package/huemagic/icons/hue-automation.svg +3 -0
  177. package/huemagic/icons/hue-contact.png +0 -0
  178. package/huemagic/icons/hue-contact.svg +4 -0
  179. package/huemagic/icons/hue-speaker.png +0 -0
  180. package/huemagic/icons/hue-speaker.svg +6 -0
  181. package/huemagic/icons/hue-syncbox.png +0 -0
  182. package/huemagic/icons/hue-syncbox.svg +7 -0
  183. package/huemagic/locales/de/hue-automation.html +59 -0
  184. package/huemagic/locales/de/hue-automation.json +33 -0
  185. package/huemagic/locales/de/hue-bridge-config.json +23 -12
  186. package/huemagic/locales/de/hue-bridge.html +7 -4
  187. package/huemagic/locales/de/hue-bridge.json +9 -10
  188. package/huemagic/locales/de/hue-brightness.html +9 -6
  189. package/huemagic/locales/de/hue-brightness.json +13 -9
  190. package/huemagic/locales/de/hue-buttons.html +5 -4
  191. package/huemagic/locales/de/hue-buttons.json +22 -8
  192. package/huemagic/locales/de/hue-contact.html +67 -0
  193. package/huemagic/locales/de/hue-contact.json +35 -0
  194. package/huemagic/locales/de/hue-group.html +17 -6
  195. package/huemagic/locales/de/hue-group.json +16 -9
  196. package/huemagic/locales/de/hue-light.html +6 -6
  197. package/huemagic/locales/de/hue-light.json +17 -9
  198. package/huemagic/locales/de/hue-magic.html +1 -1
  199. package/huemagic/locales/de/hue-magic.json +6 -8
  200. package/huemagic/locales/de/hue-motion.html +4 -4
  201. package/huemagic/locales/de/hue-motion.json +14 -9
  202. package/huemagic/locales/de/hue-rules.html +2 -2
  203. package/huemagic/locales/de/hue-rules.json +10 -9
  204. package/huemagic/locales/de/hue-scene.html +11 -3
  205. package/huemagic/locales/de/hue-scene.json +9 -9
  206. package/huemagic/locales/de/hue-speaker.html +80 -0
  207. package/huemagic/locales/de/hue-speaker.json +38 -0
  208. package/huemagic/locales/de/hue-syncbox-config.html +19 -0
  209. package/huemagic/locales/de/hue-syncbox-config.json +25 -0
  210. package/huemagic/locales/de/hue-syncbox.html +86 -0
  211. package/huemagic/locales/de/hue-syncbox.json +30 -0
  212. package/huemagic/locales/de/hue-temperature.html +7 -5
  213. package/huemagic/locales/de/hue-temperature.json +13 -9
  214. package/huemagic/locales/el/hue-automation.html +59 -0
  215. package/huemagic/locales/el/hue-automation.json +33 -0
  216. package/huemagic/locales/el/hue-bridge-config.html +31 -0
  217. package/huemagic/locales/el/hue-bridge-config.json +40 -0
  218. package/huemagic/locales/el/hue-bridge.html +96 -0
  219. package/huemagic/locales/el/hue-bridge.json +26 -0
  220. package/huemagic/locales/el/hue-brightness.html +70 -0
  221. package/huemagic/locales/el/hue-brightness.json +37 -0
  222. package/huemagic/locales/el/hue-buttons.html +59 -0
  223. package/huemagic/locales/el/hue-buttons.json +42 -0
  224. package/huemagic/locales/el/hue-contact.html +67 -0
  225. package/huemagic/locales/el/hue-contact.json +35 -0
  226. package/huemagic/locales/el/hue-group.html +87 -0
  227. package/huemagic/locales/el/hue-group.json +46 -0
  228. package/huemagic/locales/el/hue-light.html +97 -0
  229. package/huemagic/locales/el/hue-light.json +44 -0
  230. package/huemagic/locales/el/hue-magic.html +68 -0
  231. package/huemagic/locales/el/hue-magic.json +26 -0
  232. package/huemagic/locales/el/hue-motion.html +64 -0
  233. package/huemagic/locales/el/hue-motion.json +36 -0
  234. package/huemagic/locales/el/hue-rules.html +69 -0
  235. package/huemagic/locales/el/hue-rules.json +30 -0
  236. package/huemagic/locales/el/hue-scene.html +43 -0
  237. package/huemagic/locales/el/hue-scene.json +32 -0
  238. package/huemagic/locales/el/hue-speaker.html +80 -0
  239. package/huemagic/locales/el/hue-speaker.json +38 -0
  240. package/huemagic/locales/el/hue-syncbox-config.html +19 -0
  241. package/huemagic/locales/el/hue-syncbox-config.json +25 -0
  242. package/huemagic/locales/el/hue-syncbox.html +86 -0
  243. package/huemagic/locales/el/hue-syncbox.json +30 -0
  244. package/huemagic/locales/el/hue-temperature.html +69 -0
  245. package/huemagic/locales/el/hue-temperature.json +33 -0
  246. package/huemagic/locales/en/hue-automation.html +59 -0
  247. package/huemagic/locales/en/hue-automation.json +33 -0
  248. package/huemagic/locales/en/hue-bridge-config.json +40 -0
  249. package/huemagic/locales/{en-US → en}/hue-bridge.html +5 -2
  250. package/huemagic/locales/{en-US → en}/hue-bridge.json +8 -9
  251. package/huemagic/locales/{en-US → en}/hue-brightness.html +6 -3
  252. package/huemagic/locales/{en-US → en}/hue-brightness.json +11 -9
  253. package/huemagic/locales/{en-US → en}/hue-buttons.html +4 -3
  254. package/huemagic/locales/en/hue-buttons.json +42 -0
  255. package/huemagic/locales/en/hue-contact.html +67 -0
  256. package/huemagic/locales/en/hue-contact.json +35 -0
  257. package/huemagic/locales/{en-US → en}/hue-group.html +16 -5
  258. package/huemagic/locales/{en-US → en}/hue-group.json +15 -10
  259. package/huemagic/locales/{en-US → en}/hue-light.html +3 -3
  260. package/huemagic/locales/en/hue-light.json +44 -0
  261. package/huemagic/locales/{en-US → en}/hue-magic.html +1 -1
  262. package/huemagic/locales/{en-US → en}/hue-motion.html +2 -2
  263. package/huemagic/locales/{en-US → en}/hue-motion.json +12 -9
  264. package/huemagic/locales/{en-US → en}/hue-rules.html +2 -2
  265. package/huemagic/locales/{en-US → en}/hue-rules.json +10 -9
  266. package/huemagic/locales/{en-US → en}/hue-scene.html +11 -3
  267. package/huemagic/locales/{en-US → en}/hue-scene.json +9 -9
  268. package/huemagic/locales/en/hue-speaker.html +80 -0
  269. package/huemagic/locales/en/hue-speaker.json +38 -0
  270. package/huemagic/locales/en/hue-syncbox-config.html +19 -0
  271. package/huemagic/locales/en/hue-syncbox-config.json +25 -0
  272. package/huemagic/locales/en/hue-syncbox.html +86 -0
  273. package/huemagic/locales/en/hue-syncbox.json +30 -0
  274. package/huemagic/locales/{en-US → en}/hue-temperature.html +4 -2
  275. package/huemagic/locales/{en-US → en}/hue-temperature.json +11 -9
  276. package/huemagic/locales/es/hue-automation.html +59 -0
  277. package/huemagic/locales/es/hue-automation.json +33 -0
  278. package/huemagic/locales/es/hue-bridge-config.html +31 -0
  279. package/huemagic/locales/es/hue-bridge-config.json +40 -0
  280. package/huemagic/locales/es/hue-bridge.html +96 -0
  281. package/huemagic/locales/es/hue-bridge.json +26 -0
  282. package/huemagic/locales/es/hue-brightness.html +70 -0
  283. package/huemagic/locales/es/hue-brightness.json +37 -0
  284. package/huemagic/locales/es/hue-buttons.html +59 -0
  285. package/huemagic/locales/es/hue-buttons.json +42 -0
  286. package/huemagic/locales/es/hue-contact.html +67 -0
  287. package/huemagic/locales/es/hue-contact.json +35 -0
  288. package/huemagic/locales/es/hue-group.html +87 -0
  289. package/huemagic/locales/es/hue-group.json +46 -0
  290. package/huemagic/locales/es/hue-light.html +97 -0
  291. package/huemagic/locales/es/hue-light.json +44 -0
  292. package/huemagic/locales/es/hue-magic.html +68 -0
  293. package/huemagic/locales/es/hue-magic.json +26 -0
  294. package/huemagic/locales/es/hue-motion.html +64 -0
  295. package/huemagic/locales/es/hue-motion.json +36 -0
  296. package/huemagic/locales/es/hue-rules.html +69 -0
  297. package/huemagic/locales/es/hue-rules.json +30 -0
  298. package/huemagic/locales/es/hue-scene.html +43 -0
  299. package/huemagic/locales/es/hue-scene.json +32 -0
  300. package/huemagic/locales/es/hue-speaker.html +80 -0
  301. package/huemagic/locales/es/hue-speaker.json +38 -0
  302. package/huemagic/locales/es/hue-syncbox-config.html +19 -0
  303. package/huemagic/locales/es/hue-syncbox-config.json +25 -0
  304. package/huemagic/locales/es/hue-syncbox.html +86 -0
  305. package/huemagic/locales/es/hue-syncbox.json +30 -0
  306. package/huemagic/locales/es/hue-temperature.html +69 -0
  307. package/huemagic/locales/es/hue-temperature.json +33 -0
  308. package/huemagic/locales/fr/hue-automation.html +59 -0
  309. package/huemagic/locales/fr/hue-automation.json +33 -0
  310. package/huemagic/locales/fr/hue-bridge-config.html +31 -0
  311. package/huemagic/locales/fr/hue-bridge-config.json +40 -0
  312. package/huemagic/locales/fr/hue-bridge.html +96 -0
  313. package/huemagic/locales/fr/hue-bridge.json +26 -0
  314. package/huemagic/locales/fr/hue-brightness.html +70 -0
  315. package/huemagic/locales/fr/hue-brightness.json +37 -0
  316. package/huemagic/locales/fr/hue-buttons.html +59 -0
  317. package/huemagic/locales/fr/hue-buttons.json +42 -0
  318. package/huemagic/locales/fr/hue-contact.html +67 -0
  319. package/huemagic/locales/fr/hue-contact.json +35 -0
  320. package/huemagic/locales/fr/hue-group.html +87 -0
  321. package/huemagic/locales/fr/hue-group.json +46 -0
  322. package/huemagic/locales/fr/hue-light.html +97 -0
  323. package/huemagic/locales/fr/hue-light.json +44 -0
  324. package/huemagic/locales/fr/hue-magic.html +68 -0
  325. package/huemagic/locales/fr/hue-magic.json +26 -0
  326. package/huemagic/locales/fr/hue-motion.html +64 -0
  327. package/huemagic/locales/fr/hue-motion.json +36 -0
  328. package/huemagic/locales/fr/hue-rules.html +69 -0
  329. package/huemagic/locales/fr/hue-rules.json +30 -0
  330. package/huemagic/locales/fr/hue-scene.html +43 -0
  331. package/huemagic/locales/fr/hue-scene.json +32 -0
  332. package/huemagic/locales/fr/hue-speaker.html +80 -0
  333. package/huemagic/locales/fr/hue-speaker.json +38 -0
  334. package/huemagic/locales/fr/hue-syncbox-config.html +19 -0
  335. package/huemagic/locales/fr/hue-syncbox-config.json +25 -0
  336. package/huemagic/locales/fr/hue-syncbox.html +86 -0
  337. package/huemagic/locales/fr/hue-syncbox.json +30 -0
  338. package/huemagic/locales/fr/hue-temperature.html +69 -0
  339. package/huemagic/locales/fr/hue-temperature.json +33 -0
  340. package/huemagic/locales/it/hue-automation.html +59 -0
  341. package/huemagic/locales/it/hue-automation.json +33 -0
  342. package/huemagic/locales/it/hue-bridge-config.html +31 -0
  343. package/huemagic/locales/it/hue-bridge-config.json +40 -0
  344. package/huemagic/locales/it/hue-bridge.html +96 -0
  345. package/huemagic/locales/it/hue-bridge.json +26 -0
  346. package/huemagic/locales/it/hue-brightness.html +70 -0
  347. package/huemagic/locales/it/hue-brightness.json +37 -0
  348. package/huemagic/locales/it/hue-buttons.html +59 -0
  349. package/huemagic/locales/it/hue-buttons.json +42 -0
  350. package/huemagic/locales/it/hue-contact.html +67 -0
  351. package/huemagic/locales/it/hue-contact.json +35 -0
  352. package/huemagic/locales/it/hue-group.html +87 -0
  353. package/huemagic/locales/it/hue-group.json +46 -0
  354. package/huemagic/locales/it/hue-light.html +97 -0
  355. package/huemagic/locales/it/hue-light.json +44 -0
  356. package/huemagic/locales/it/hue-magic.html +68 -0
  357. package/huemagic/locales/it/hue-magic.json +26 -0
  358. package/huemagic/locales/it/hue-motion.html +64 -0
  359. package/huemagic/locales/it/hue-motion.json +36 -0
  360. package/huemagic/locales/it/hue-rules.html +69 -0
  361. package/huemagic/locales/it/hue-rules.json +30 -0
  362. package/huemagic/locales/it/hue-scene.html +43 -0
  363. package/huemagic/locales/it/hue-scene.json +32 -0
  364. package/huemagic/locales/it/hue-speaker.html +80 -0
  365. package/huemagic/locales/it/hue-speaker.json +38 -0
  366. package/huemagic/locales/it/hue-syncbox-config.html +19 -0
  367. package/huemagic/locales/it/hue-syncbox-config.json +25 -0
  368. package/huemagic/locales/it/hue-syncbox.html +86 -0
  369. package/huemagic/locales/it/hue-syncbox.json +30 -0
  370. package/huemagic/locales/it/hue-temperature.html +69 -0
  371. package/huemagic/locales/it/hue-temperature.json +33 -0
  372. package/huemagic/locales/nl/hue-automation.html +59 -0
  373. package/huemagic/locales/nl/hue-automation.json +33 -0
  374. package/huemagic/locales/nl/hue-bridge-config.html +31 -0
  375. package/huemagic/locales/nl/hue-bridge-config.json +40 -0
  376. package/huemagic/locales/nl/hue-bridge.html +96 -0
  377. package/huemagic/locales/nl/hue-bridge.json +26 -0
  378. package/huemagic/locales/nl/hue-brightness.html +70 -0
  379. package/huemagic/locales/nl/hue-brightness.json +37 -0
  380. package/huemagic/locales/nl/hue-buttons.html +59 -0
  381. package/huemagic/locales/nl/hue-buttons.json +42 -0
  382. package/huemagic/locales/nl/hue-contact.html +67 -0
  383. package/huemagic/locales/nl/hue-contact.json +35 -0
  384. package/huemagic/locales/nl/hue-group.html +87 -0
  385. package/huemagic/locales/nl/hue-group.json +46 -0
  386. package/huemagic/locales/nl/hue-light.html +97 -0
  387. package/huemagic/locales/nl/hue-light.json +44 -0
  388. package/huemagic/locales/nl/hue-magic.html +68 -0
  389. package/huemagic/locales/nl/hue-magic.json +26 -0
  390. package/huemagic/locales/nl/hue-motion.html +64 -0
  391. package/huemagic/locales/nl/hue-motion.json +36 -0
  392. package/huemagic/locales/nl/hue-rules.html +69 -0
  393. package/huemagic/locales/nl/hue-rules.json +30 -0
  394. package/huemagic/locales/nl/hue-scene.html +43 -0
  395. package/huemagic/locales/nl/hue-scene.json +32 -0
  396. package/huemagic/locales/nl/hue-speaker.html +80 -0
  397. package/huemagic/locales/nl/hue-speaker.json +38 -0
  398. package/huemagic/locales/nl/hue-syncbox-config.html +19 -0
  399. package/huemagic/locales/nl/hue-syncbox-config.json +25 -0
  400. package/huemagic/locales/nl/hue-syncbox.html +86 -0
  401. package/huemagic/locales/nl/hue-syncbox.json +30 -0
  402. package/huemagic/locales/nl/hue-temperature.html +69 -0
  403. package/huemagic/locales/nl/hue-temperature.json +33 -0
  404. package/huemagic/locales/pl/hue-automation.html +59 -0
  405. package/huemagic/locales/pl/hue-automation.json +33 -0
  406. package/huemagic/locales/pl/hue-bridge-config.html +31 -0
  407. package/huemagic/locales/pl/hue-bridge-config.json +40 -0
  408. package/huemagic/locales/pl/hue-bridge.html +96 -0
  409. package/huemagic/locales/pl/hue-bridge.json +26 -0
  410. package/huemagic/locales/pl/hue-brightness.html +70 -0
  411. package/huemagic/locales/pl/hue-brightness.json +37 -0
  412. package/huemagic/locales/pl/hue-buttons.html +59 -0
  413. package/huemagic/locales/pl/hue-buttons.json +42 -0
  414. package/huemagic/locales/pl/hue-contact.html +67 -0
  415. package/huemagic/locales/pl/hue-contact.json +35 -0
  416. package/huemagic/locales/pl/hue-group.html +87 -0
  417. package/huemagic/locales/pl/hue-group.json +46 -0
  418. package/huemagic/locales/pl/hue-light.html +97 -0
  419. package/huemagic/locales/pl/hue-light.json +44 -0
  420. package/huemagic/locales/pl/hue-magic.html +68 -0
  421. package/huemagic/locales/pl/hue-magic.json +26 -0
  422. package/huemagic/locales/pl/hue-motion.html +64 -0
  423. package/huemagic/locales/pl/hue-motion.json +36 -0
  424. package/huemagic/locales/pl/hue-rules.html +69 -0
  425. package/huemagic/locales/pl/hue-rules.json +30 -0
  426. package/huemagic/locales/pl/hue-scene.html +43 -0
  427. package/huemagic/locales/pl/hue-scene.json +32 -0
  428. package/huemagic/locales/pl/hue-speaker.html +80 -0
  429. package/huemagic/locales/pl/hue-speaker.json +38 -0
  430. package/huemagic/locales/pl/hue-syncbox-config.html +19 -0
  431. package/huemagic/locales/pl/hue-syncbox-config.json +25 -0
  432. package/huemagic/locales/pl/hue-syncbox.html +86 -0
  433. package/huemagic/locales/pl/hue-syncbox.json +30 -0
  434. package/huemagic/locales/pl/hue-temperature.html +69 -0
  435. package/huemagic/locales/pl/hue-temperature.json +33 -0
  436. package/huemagic/locales/pt/hue-automation.html +59 -0
  437. package/huemagic/locales/pt/hue-automation.json +33 -0
  438. package/huemagic/locales/pt/hue-bridge-config.html +31 -0
  439. package/huemagic/locales/pt/hue-bridge-config.json +40 -0
  440. package/huemagic/locales/pt/hue-bridge.html +96 -0
  441. package/huemagic/locales/pt/hue-bridge.json +26 -0
  442. package/huemagic/locales/pt/hue-brightness.html +70 -0
  443. package/huemagic/locales/pt/hue-brightness.json +37 -0
  444. package/huemagic/locales/pt/hue-buttons.html +59 -0
  445. package/huemagic/locales/pt/hue-buttons.json +42 -0
  446. package/huemagic/locales/pt/hue-contact.html +67 -0
  447. package/huemagic/locales/pt/hue-contact.json +35 -0
  448. package/huemagic/locales/pt/hue-group.html +87 -0
  449. package/huemagic/locales/pt/hue-group.json +46 -0
  450. package/huemagic/locales/pt/hue-light.html +97 -0
  451. package/huemagic/locales/pt/hue-light.json +44 -0
  452. package/huemagic/locales/pt/hue-magic.html +68 -0
  453. package/huemagic/locales/pt/hue-magic.json +26 -0
  454. package/huemagic/locales/pt/hue-motion.html +64 -0
  455. package/huemagic/locales/pt/hue-motion.json +36 -0
  456. package/huemagic/locales/pt/hue-rules.html +69 -0
  457. package/huemagic/locales/pt/hue-rules.json +30 -0
  458. package/huemagic/locales/pt/hue-scene.html +43 -0
  459. package/huemagic/locales/pt/hue-scene.json +32 -0
  460. package/huemagic/locales/pt/hue-speaker.html +80 -0
  461. package/huemagic/locales/pt/hue-speaker.json +38 -0
  462. package/huemagic/locales/pt/hue-syncbox-config.html +19 -0
  463. package/huemagic/locales/pt/hue-syncbox-config.json +25 -0
  464. package/huemagic/locales/pt/hue-syncbox.html +86 -0
  465. package/huemagic/locales/pt/hue-syncbox.json +30 -0
  466. package/huemagic/locales/pt/hue-temperature.html +69 -0
  467. package/huemagic/locales/pt/hue-temperature.json +33 -0
  468. package/huemagic/locales/tr/hue-automation.html +59 -0
  469. package/huemagic/locales/tr/hue-automation.json +33 -0
  470. package/huemagic/locales/tr/hue-bridge-config.html +31 -0
  471. package/huemagic/locales/tr/hue-bridge-config.json +40 -0
  472. package/huemagic/locales/tr/hue-bridge.html +96 -0
  473. package/huemagic/locales/tr/hue-bridge.json +26 -0
  474. package/huemagic/locales/tr/hue-brightness.html +70 -0
  475. package/huemagic/locales/tr/hue-brightness.json +37 -0
  476. package/huemagic/locales/tr/hue-buttons.html +59 -0
  477. package/huemagic/locales/tr/hue-buttons.json +42 -0
  478. package/huemagic/locales/tr/hue-contact.html +67 -0
  479. package/huemagic/locales/tr/hue-contact.json +35 -0
  480. package/huemagic/locales/tr/hue-group.html +87 -0
  481. package/huemagic/locales/tr/hue-group.json +46 -0
  482. package/huemagic/locales/tr/hue-light.html +97 -0
  483. package/huemagic/locales/tr/hue-light.json +44 -0
  484. package/huemagic/locales/tr/hue-magic.html +68 -0
  485. package/huemagic/locales/tr/hue-magic.json +26 -0
  486. package/huemagic/locales/tr/hue-motion.html +64 -0
  487. package/huemagic/locales/tr/hue-motion.json +36 -0
  488. package/huemagic/locales/tr/hue-rules.html +69 -0
  489. package/huemagic/locales/tr/hue-rules.json +30 -0
  490. package/huemagic/locales/tr/hue-scene.html +43 -0
  491. package/huemagic/locales/tr/hue-scene.json +32 -0
  492. package/huemagic/locales/tr/hue-speaker.html +80 -0
  493. package/huemagic/locales/tr/hue-speaker.json +38 -0
  494. package/huemagic/locales/tr/hue-syncbox-config.html +19 -0
  495. package/huemagic/locales/tr/hue-syncbox-config.json +25 -0
  496. package/huemagic/locales/tr/hue-syncbox.html +86 -0
  497. package/huemagic/locales/tr/hue-syncbox.json +30 -0
  498. package/huemagic/locales/tr/hue-temperature.html +69 -0
  499. package/huemagic/locales/tr/hue-temperature.json +33 -0
  500. package/huemagic/utils/api.js +158 -54
  501. package/huemagic/utils/color.js +20 -2
  502. package/huemagic/utils/merge.js +3 -2
  503. package/huemagic/utils/messages.js +506 -120
  504. package/huemagic/utils/sse.js +51 -0
  505. package/huemagic/utils/syncbox.js +84 -0
  506. package/package.json +19 -11
  507. package/.github/FUNDING.yml +0 -2
  508. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
  509. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  510. package/.github/workflows/npm.yml +0 -18
  511. package/huemagic/locales/en-US/hue-bridge-config.json +0 -29
  512. package/huemagic/locales/en-US/hue-buttons.json +0 -34
  513. package/huemagic/locales/en-US/hue-light.json +0 -38
  514. /package/huemagic/locales/{en-US → en}/hue-bridge-config.html +0 -0
  515. /package/huemagic/locales/{en-US → en}/hue-magic.json +0 -0
@@ -0,0 +1,97 @@
1
+ <script type="text/markdown" data-help-name="hue-light">
2
+ El nodo «Hue Luz» puede controlar las luces conectadas al bridge y recibir sus mensajes de estado.
3
+
4
+ ### Configuración
5
+
6
+ Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todas las luces disponibles. Si ya conoce el ID de una luz, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo a la luz o utilizar el nombre predefinido. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones del dispositivo. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si activa este ajuste, recibirá un mensaje de estado de la luz seleccionada después de cada despliegue. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
7
+
8
+ Si activa el ajuste «Activar los nombres de color», el nodo intentará describir el color de luz configurado en cada mensaje de estado. En ese caso recibirá en la salida un parámetro adicional con la descripción en inglés del color actual.
9
+
10
+ Si no selecciona ninguna luz y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a una luz concreta pasando el ID de la luz correspondiente como cadena en `msg.topic` junto con sus ajustes.
11
+
12
+ ### Consultar el estado
13
+
14
+ Emite el estado actual de la luz en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
15
+
16
+ : status (boolean): Devuelve el estado actual de la luz
17
+
18
+ ### Encender / apagar la luz (modo sencillo)
19
+
20
+ Para encender o apagar rápidamente una luz en el modo sencillo, pase al nodo un objeto con el siguiente contenido:
21
+
22
+ : payload (boolean): `true` enciende la luz, `false` la apaga
23
+
24
+ ### Comandos de luz (ampliado)
25
+
26
+ Además de encender y apagar sin más, hay muchas otras opciones disponibles para controlar la luz. Todos los nodos de HueMagic se pueden controlar con comandos aditivos. Esto significa que puede pasar primero un ajuste y después otro en un comando posterior sin descartar el ajuste anterior. Transfiera los siguientes parámetros en un objeto `msg.payload` para realizar ajustes más amplios en la luz:
27
+
28
+ : on (boolean): `true` enciende la luz, `false` la apaga
29
+ : toggle (boolean | any): Alterna entre encendido y apagado, según el estado anterior de la luz
30
+ : brightness (int | string): Valor porcentual del brillo de la luz (0-100) o una cadena con el valor `auto` para ajustar el brillo automáticamente en función de la hora actual
31
+ : brightnessLevel (int): Valor numérico del brillo de la luz (0-254)
32
+ : incrementBrightness (int | boolean): Indica en cuántos puntos porcentuales debe aumentarse el brillo de la luz, o `true` para aclararla en pasos del 10 %
33
+ : decrementBrightness (int | boolean): Indica en cuántos puntos porcentuales debe reducirse el brillo de la luz, o `true` para oscurecerla en pasos del 10 %
34
+ : color (string): `random` para establecer un color aleatorio o un nombre de color en inglés (p. ej. `red`)
35
+ : hex (string): Valor de color en hexadecimal en forma de cadena
36
+ : rgb (array [0,0,0]): Valor de color en formato RGB en forma de array
37
+ : xyColor (object {x [float], y [float]}): Valor de color en el formato de color XY en forma de objeto
38
+ : gradient (object {hex […]}): Un objeto con un objeto de color admitido (p. ej. `hex`, `rgb`, …) y varios colores para aplicar un degradado a las luces compatibles
39
+ : mixColor (object): Un color que se mezcla con el color de luz actual. Admite objetos `color`, `hex`, `rgb` o `xyColor` y, opcionalmente, `amount` (int) para indicar la proporción de mezcla en porcentaje
40
+ : image (string): Ruta de una imagen (local o en la web) para ajustar el color actual de la luz al color medio de la imagen
41
+ : saturation (int): Porcentaje de saturación del color actual (beta)
42
+ : colorTemp (int | string): Valor entre 153 y 500 para ajustar la temperatura de color de la luz, o los valores `cold`, `normal`, `warm`, `hot` y `auto`, donde `auto` fija la temperatura de color en función de la hora actual
43
+ : incrementColorTemp (int | boolean): Valor que indica cuánto debe subir la temperatura de color hacia el cálido, o `true` para hacerla más cálida en pasos de 50
44
+ : decrementColorTemp (int | boolean): Valor que indica cuánto debe bajar la temperatura de color hacia el frío, o `true` para hacerla más fría en pasos de 50
45
+ : transitionTime (float): Tiempo de transición del ajuste actual en segundos. Si se indica `0`, la luz cambia de inmediato al ajuste deseado. Si se indica `3`, la luz pasa al ajuste deseado con una ligera transición en los 3 segundos siguientes
46
+ : colorloop (float): Reproduce una animación «colorloop» durante los segundos indicados y después vuelve al estado original de la luz
47
+ : alert (float): Reproduce una animación «alert» durante los segundos indicados y después vuelve al estado original de la luz
48
+
49
+ ### Mensajes de estado del nodo
50
+
51
+ En cuanto se detecta un cambio en los ajustes de la luz (ya sea a través de Node-RED o de forma externa), el nodo devuelve el siguiente mensaje de estado:
52
+
53
+ #### Objeto de estado en `msg.payload`
54
+
55
+ : on (boolean): Estado de la luz, donde `true` significa encendida y `false` apagada
56
+ : brightness (int | boolean): Brillo actual en porcentaje o `false` si la luz no admite ajuste de brillo
57
+ : brightnessLevel (int | boolean): Brillo actual de 0 a 254 o `false` si la luz no admite ajuste de brillo
58
+ : reachable (boolean | string): `true` si la luz está conectada al bridge, `unknown` si el estado de la conexión difiere
59
+ : connectionStatus (string): El estado actual de la conexión con el bridge en forma de cadena. Puede contener `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` como valor
60
+ : rgb (array [int, int, int] | optional): Color de luz actual en forma de valor RGB, si la luz puede mostrar colores
61
+ : hex (string | optional): Color de luz actual en forma de valor hexadecimal, si la luz puede mostrar colores
62
+ : xyColor (object {x [float], y [float]} | optional): Color de luz actual en forma de valor XY, si la luz puede mostrar colores
63
+ : color (string | optional): Nombre actual del color en inglés, si la luz puede mostrar colores y se ha activado el ajuste correspondiente del nodo
64
+ : gradient (object | optional): Ajuste de degradado actual con todas las unidades de color disponibles en forma de array, si la luz admite degradados, donde `colors` devuelve los colores, `numColors` el número de colores definidos en el degradado y `totalColors` el número máximo de colores que el recurso puede admitir en el degradado
65
+ : colorTemp (int | boolean | optional): Temperatura de color actual de la luz, si la luz puede mostrar temperaturas de color y se ha definido una
66
+ : colorTempName (string | optional): Temperatura de color actual de la luz en forma de cadena descriptiva con los valores `cold`, `normal`, `warm` o `hot`, si la luz puede mostrar temperaturas de color y se ha definido una. En caso contrario se emite `unknown`
67
+ : updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
68
+
69
+ #### Información sobre la luz en `msg.info`
70
+
71
+ : id (string): Indica el nuevo ID de la luz
72
+ : idV1 (string | boolean): Indica el ID antiguo de la luz
73
+ : uniqueId (string): El ID único de la luz
74
+ : deviceId (string): El ID único del dispositivo
75
+ : name (string): El nombre asignado actualmente a la luz
76
+ : type (string): El tipo de luz (siempre `light`)
77
+ : softwareVersion (string): El firmware actual de la luz
78
+ : model (object): Contiene la información de modelo de la luz en `id`, `manufacturer`, `name`, `type`, `certified`, `friendsOfHue`, `colorGamut` y `colorGamutType`
79
+
80
+ #### Cambios de estado en `msg.updated`
81
+
82
+ Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado de la luz. Si no se ha registrado ningún cambio, este objeto está vacío.
83
+
84
+ #### Último estado de la luz en `msg.lastState`
85
+
86
+ Contiene el objeto de estado completo (véanse los valores de salida anteriores) del último estado antes del último cambio. Si HueMagic aún no ha registrado el último estado, se emite `false`.
87
+
88
+ #### Último comando en `msg.command` (opcional)
89
+
90
+ Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
91
+
92
+ ### Ejemplos de HueMagic
93
+
94
+ HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
95
+
96
+ ![examples](hue/assets/huemagic-examples.gif)
97
+ </script>
@@ -0,0 +1,44 @@
1
+ {
2
+ "hue-light": {
3
+ "config": {
4
+ "name": "Nombre",
5
+ "skipevents-node": "Omitir los mensajes del nodo",
6
+ "sendinitevents-node": "No suprimir el evento de inicialización",
7
+ "onlycommands-node": "Informar solo tras un comando",
8
+ "unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universales",
11
+ "universalevents-node": "Recibe todos los mensajes de otros nodos del mismo tipo (solo en modo universal)",
12
+ "colornamer": "Colornamer",
13
+ "colornamer-info": "Activar los nombres de color",
14
+ "input-name": "Nombre de la luz",
15
+ "searching": "Buscando luces…",
16
+ "none-found": "¡No se ha encontrado ninguna luz!",
17
+ "light": "Luz"
18
+ },
19
+ "node": {
20
+ "not-configured": "sin configurar",
21
+ "init": "inicializando…",
22
+ "not-reachable": "no accesible",
23
+ "universal": "modo universal",
24
+ "command": "ejecutando comando…",
25
+ "statusmsg": "Estado consultado correctamente…",
26
+ "title": "Hue Luz",
27
+ "turned-on": "encendida",
28
+ "turned-on-percent": "encendida (__percent__ %)",
29
+ "turned-off": "apagada",
30
+ "error-no-id": "No se ha definido ningún ID de luz. Consulte la documentación.",
31
+ "error-input": "error de entrada",
32
+ "error-invalid-temp": "Temperatura de color no válida. Solo se permite de 153 a 500.",
33
+ "input": "encender / apagar",
34
+ "output": "estado",
35
+ "error-not-available": "La luz aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido.",
36
+ "error-invalid-brightness": "Ajuste de brillo no válido. Solo se permite de 0 a 100 por ciento.",
37
+ "error-invalid-brightness-level": "Ajuste de brillo no válido. Solo se permite de 0 a 254.",
38
+ "error-invalid-sat": "Ajuste de saturación no válido. Solo se permite de 0 a 100.",
39
+ "error-no-colorloop": "El efecto colorloop no está disponible para esta luz.",
40
+ "error-invalid-effect": "Efecto no válido. Esta luz admite: __effects__",
41
+ "error-invalid-powerup": "Ajuste de encendido no válido. Los preajustes permitidos son: __presets__"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,68 @@
1
+ <script type="text/markdown" data-help-name="hue-magic">
2
+ El nodo «Hue Magic» puede aplicar animaciones complejas y personalizadas a luces y grupos.
3
+
4
+ ### Configuración
5
+
6
+ Asigne primero un nombre al nodo para poder identificar claramente su animación en la interfaz de Node-RED. A continuación puede elegir entre las opciones «Bucle» y «Restaurar». Seleccione la opción de bucle si desea que su animación se ejecute indefinidamente en una luz o un grupo hasta que la detenga manualmente. Si desea restaurar el estado anterior del recurso de destino (luz o grupo) una vez finalizada la animación, marque la opción «Restaurar». De lo contrario, el último fotograma de la animación permanecerá en el recurso correspondiente.
7
+
8
+ Más abajo puede elegir entre las animaciones ya preparadas de HueMagic. Haga clic en la animación que desee para aplicarla.
9
+
10
+ ### Iniciar / detener la animación
11
+
12
+ Para reproducir o detener una animación, pase al nodo un objeto con el siguiente contenido:
13
+
14
+ : payload (boolean): `true` inicia la animación, `false` la detiene
15
+
16
+ ### Animaciones personalizadas
17
+
18
+ Si pasa su propia animación al nodo, la animación predefinida seleccionada (si la hay) se sustituye temporalmente por la suya. Las animaciones propias de HueMagic son una secuencia de comandos agrupados en un array. Cada elemento del array constituye un paso, y un paso puede constar a su vez de varios fotogramas (efectos de transición).
19
+
20
+ Cree un `array` con los distintos pasos de la animación en forma de objeto y transfiéralo al nodo HueMagic en `msg.payload.steps`.
21
+
22
+ : delay (int): Número de milisegundos que se espera hasta ejecutar este paso
23
+ : animation (object): El objeto contiene la acción o acciones que se deben ejecutar en este paso. Los parámetros son idénticos a los de los nodos «Hue Luz» y «Hue Grupo»
24
+
25
+ ### Ejemplo de una animación personalizada
26
+
27
+ Este ejemplo muestra el aspecto que podría tener una animación sencilla. En el primer paso se espera el retardo de 500 milisegundos. Después, el color de la luz cambia lentamente a rojo a lo largo de un segundo. En cuanto la luz ha pasado completamente a rojo, se ejecuta el segundo paso, que también tiene un retardo de 500 milisegundos. Por último, el color cambia a azul.
28
+
29
+ Si ha configurado la animación en bucle, este proceso se repite indefinidamente hasta que detenga la animación manualmente o vuelva a desplegar el nodo.
30
+
31
+ Pase el siguiente objeto en `msg.payload` para reproducir la animación de ejemplo.
32
+
33
+ {
34
+ "animate": true,
35
+ "steps": [
36
+ {
37
+ "delay": 500,
38
+ "animation": {
39
+ "hex": "#FF0000",
40
+ "transitionTime": 1
41
+ }
42
+ },
43
+ {
44
+ "delay": 500,
45
+ "animation": {
46
+ "hex": "#0000FF",
47
+ "transitionTime": 1
48
+ }
49
+ }
50
+ ]
51
+ }
52
+
53
+ ### Comandos especiales
54
+
55
+ A veces tiene sentido reproducir una animación de forma desordenada, p. ej. si se quiere imitar el fuego de manera más realista. Para reproducir los pasos individuales de forma aleatoria, puede pasar el siguiente comando en `msg.payload.specials`:
56
+
57
+ : randomOrder (boolean | any): `true` activa la reproducción aleatoria de los distintos pasos de la animación
58
+
59
+ ### Consejos e indicaciones
60
+
61
+ Este nodo no emite mensajes de estado. Conecte la salida del nodo a un grupo en lugar de a luces individuales si desea animar varias luces a la vez con la misma animación. Las vistas previas de las animaciones predefinidas son simulaciones y pueden diferir ligeramente (tiempos, colores) de la animación real sobre un recurso.
62
+
63
+ ### Ejemplos de HueMagic
64
+
65
+ HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
66
+
67
+ ![examples](hue/assets/huemagic-examples.gif)
68
+ </script>
@@ -0,0 +1,26 @@
1
+ {
2
+ "hue-magic": {
3
+ "config": {
4
+ "name": "Nombre",
5
+ "input-name": "Nombre de la animación",
6
+ "loop": "Bucle",
7
+ "loop-endless": "Repetir indefinidamente",
8
+ "restore": "Restaurar",
9
+ "restore-state": "Restaurar el estado anterior al detener",
10
+ "animation": "Animación",
11
+ "unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
12
+ "seconds": "s",
13
+ "minutes": "min"
14
+ },
15
+ "node": {
16
+ "title": "Hue Magic",
17
+ "no-animation": "ninguna animación indicada",
18
+ "animating": "animando…",
19
+ "stopped": "detenida",
20
+ "input": "iniciar / detener animación",
21
+ "output": "luz o grupo",
22
+ "command": "ejecutando comando…",
23
+ "playmsg": "Animación iniciada…"
24
+ }
25
+ }
26
+ }
@@ -0,0 +1,64 @@
1
+ <script type="text/markdown" data-help-name="hue-motion">
2
+ El nodo «Hue Movimiento» puede registrar y comunicar los movimientos detectados por un sensor adecuado conectado al bridge.
3
+
4
+ ### Configuración
5
+
6
+ Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todos los sensores disponibles. Si ya conoce el ID del sensor, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo al sensor o utilizar el nombre predefinido. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones del dispositivo. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si activa este ajuste, recibirá un mensaje de estado del sensor seleccionado después de cada despliegue. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
7
+
8
+ Si no selecciona ningún sensor y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a un sensor concreto pasando el ID del sensor correspondiente como cadena en `msg.topic` junto con sus ajustes.
9
+
10
+ ### Consultar el estado
11
+
12
+ Emite el estado actual del sensor en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
13
+
14
+ : status (boolean): Devuelve el estado actual del sensor
15
+
16
+ ### Encender / apagar el sensor
17
+
18
+ Si es necesario, el sensor puede encenderse y apagarse de forma remota. Si el sensor está apagado, deja de registrar movimientos y, por tanto, ya no los emite. Para ello, pase un objeto con el siguiente contenido:
19
+
20
+ : payload (boolean): `true` enciende el sensor, `false` lo apaga
21
+
22
+ ### Mensajes de estado del nodo
23
+
24
+ En cuanto el sensor registra un movimiento, el nodo devuelve el siguiente mensaje de estado:
25
+
26
+ #### Objeto de estado en `msg.payload`
27
+
28
+ : active (boolean): Indica si el sensor está encendido o apagado
29
+ : reachable (boolean | string): `true` si el sensor está conectado al bridge, `unknown` si el estado de la conexión difiere
30
+ : connectionStatus (string): El estado actual de la conexión con el bridge en forma de cadena. Puede contener `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` como valor
31
+ : motion (boolean): Indica si se ha registrado movimiento
32
+ : updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
33
+
34
+ #### Información sobre el sensor en `msg.info`
35
+
36
+ : id (string): Indica el nuevo ID del sensor
37
+ : idV1 (string | boolean): Indica el ID antiguo del sensor
38
+ : uniqueId (string): El ID único del sensor
39
+ : deviceId (string): El ID único del dispositivo
40
+ : name (string): El nombre asignado actualmente al sensor
41
+ : type (string): El tipo de sensor (siempre `motion`)
42
+ : softwareVersion (string): El firmware actual del sensor
43
+ : battery (float): El nivel de batería actual del sensor
44
+ : batteryState (string): El estado actual del nivel de batería. Puede contener `normal`, `low` o `critical` como valor
45
+ : model (object): Contiene la información de modelo del sensor en `id`, `manufacturer`, `name`, `type` y `certified`
46
+
47
+ #### Cambios de estado en `msg.updated`
48
+
49
+ Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado del sensor. Si no se ha registrado ningún cambio, este objeto está vacío.
50
+
51
+ #### Último estado del sensor en `msg.lastState`
52
+
53
+ Contiene el objeto de estado completo (véanse los valores de salida anteriores) del último estado antes del último cambio registrado. Si HueMagic aún no ha registrado el último estado, se emite `false`.
54
+
55
+ #### Último comando en `msg.command` (opcional)
56
+
57
+ Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
58
+
59
+ ### Ejemplos de HueMagic
60
+
61
+ HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
62
+
63
+ ![examples](hue/assets/huemagic-examples.gif)
64
+ </script>
@@ -0,0 +1,36 @@
1
+ {
2
+ "hue-motion": {
3
+ "config": {
4
+ "name": "Nombre",
5
+ "skipevents-node": "Omitir los mensajes del nodo",
6
+ "sendinitevents-node": "No suprimir el evento de inicialización",
7
+ "onlycommands-node": "Informar solo tras un comando",
8
+ "unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universales",
11
+ "universalevents-node": "Recibe todos los mensajes de otros nodos del mismo tipo (solo en modo universal)",
12
+ "input-name": "Nombre del sensor",
13
+ "searching": "Buscando sensores de movimiento…",
14
+ "none-found": "¡No se ha encontrado ningún sensor de movimiento!",
15
+ "sensor": "Sensor"
16
+ },
17
+ "node": {
18
+ "not-configured": "sin configurar",
19
+ "not-reachable": "no accesible",
20
+ "activated": "activado",
21
+ "deactivated": "desactivado",
22
+ "universal": "modo universal",
23
+ "command": "ejecutando comando…",
24
+ "statusmsg": "Estado consultado correctamente…",
25
+ "title": "Hue Movimiento",
26
+ "motion": "movimiento detectado",
27
+ "no-motion": "sin movimiento",
28
+ "input": "activar / desactivar / estado",
29
+ "output": "movimiento detectado",
30
+ "error-no-id": "Indique un ID de sensor válido.",
31
+ "error-not-available": "El sensor aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido.",
32
+ "error-no-sensitivity": "Esta fuente de movimiento no tiene una sensibilidad ajustable.",
33
+ "error-invalid-sensitivity": "Sensibilidad no válida. Solo se permite de 0 a __max__."
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,69 @@
1
+ <script type="text/markdown" data-help-name="hue-rules">
2
+ El nodo «Hue Regla» puede activar o desactivar las reglas guardadas en el bridge y consultar sus ajustes.
3
+
4
+ ### Configuración
5
+
6
+ Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todas las reglas disponibles. Si ya conoce el ID de la regla, también puede introducirlo aquí manualmente. Como alternativa, puede asignar un nombre nuevo o utilizar el nombre predefinido de la regla. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
7
+
8
+ Si no selecciona ninguna regla y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a una regla concreta pasando el ID de la regla correspondiente como cadena en `msg.topic` junto con sus ajustes.
9
+
10
+ ### Consultar propiedades y ajustes
11
+
12
+ Emite las propiedades actuales de la regla en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
13
+
14
+ : status (boolean): Devuelve el estado actual de la regla
15
+
16
+ ### Activar / desactivar la regla
17
+
18
+ La regla puede activarse y desactivarse cuando sea necesario. Si la regla está desactivada, dejará de ejecutarse en el bridge hasta que la vuelva a activar. Para ello, pase un objeto con el siguiente contenido:
19
+
20
+ : payload (boolean): `true` activa la regla, `false` la desactiva
21
+
22
+ ### Mensajes de estado del nodo
23
+
24
+ En cuanto cambia el estado (activada / desactivada) de una regla, el nodo devuelve el siguiente mensaje de estado:
25
+
26
+ #### Objeto de estado en `msg.payload`
27
+
28
+ : enabled (boolean): Indica si la regla está activada o desactivada
29
+ : triggered (string): Momento de la última ejecución (ISO 8601)
30
+
31
+ #### Información sobre la regla en `msg.info`
32
+
33
+ : id (string): El ID único de la regla
34
+ : created (string): Fecha de creación de la regla (ISO 8601)
35
+ : name (string): Nombre de la regla en el bridge
36
+ : timesTriggered (int): Número de veces que se ha ejecutado la regla en el bridge
37
+ : owner (string): ID del propietario de esta regla
38
+ : status (string): Estado de la regla en forma de cadena
39
+
40
+ #### Condiciones de la regla en `msg.conditions` (array)
41
+
42
+ : address (string): Ruta a un atributo de un sensor
43
+ : operator (string): Operador
44
+ : value (string): El valor que se debe comprobar
45
+
46
+ #### Acciones de la regla en `msg.actions` (array)
47
+
48
+ : address (string): La dirección de destino del recurso
49
+ : method (string): El método de la petición
50
+ : body (object): La acción que se debe ejecutar
51
+
52
+ #### Cambios de estado en `msg.updated`
53
+
54
+ Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado de la regla. Si no se ha registrado ningún cambio, este objeto está vacío.
55
+
56
+ #### Último estado de la regla en `msg.lastState`
57
+
58
+ Contiene el objeto completo (véanse los valores de salida anteriores) del último estado antes del último cambio registrado de la regla. Si HueMagic aún no ha registrado el último estado, se emite `false`.
59
+
60
+ #### Último comando en `msg.command` (opcional)
61
+
62
+ Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
63
+
64
+ ### Ejemplos de HueMagic
65
+
66
+ HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
67
+
68
+ ![examples](hue/assets/huemagic-examples.gif)
69
+ </script>
@@ -0,0 +1,30 @@
1
+ {
2
+ "hue-rules": {
3
+ "config": {
4
+ "name": "Nombre",
5
+ "skipevents-node": "Omitir los mensajes del nodo",
6
+ "sendinitevents-node": "No suprimir el evento de inicialización",
7
+ "onlycommands-node": "Informar solo tras un comando",
8
+ "unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
9
+ "bridge": "Bridge",
10
+ "input-name": "Nombre de la regla",
11
+ "searching": "Buscando reglas…",
12
+ "none-found": "¡No se ha encontrado ninguna regla!",
13
+ "rule": "Regla"
14
+ },
15
+ "node": {
16
+ "init": "inicializando…",
17
+ "universal": "modo universal",
18
+ "command": "ejecutando comando…",
19
+ "statusmsg": "Estado consultado correctamente…",
20
+ "title": "Hue Regla",
21
+ "no-rule": "ninguna regla seleccionada",
22
+ "enabled": "activada",
23
+ "disabled": "desactivada",
24
+ "output": "regla (ejecutada)",
25
+ "input": "activar / desactivar",
26
+ "error-no-id": "Indique un ID de regla válido.",
27
+ "error-not-available": "La regla aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido."
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,43 @@
1
+ <script type="text/markdown" data-help-name="hue-scene">
2
+ El nodo «Hue Escena» puede reanudar escenas guardadas en el bridge y aplicarlas a determinados grupos.
3
+
4
+ ### Configuración
5
+
6
+ Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todas las escenas disponibles. Las escenas se ordenan primero por habitación o zona y después por su nombre, de modo que las escenas de una misma habitación siempre quedan juntas en la lista. Si ya conoce el ID de la escena, también puede introducirlo aquí manualmente. Como alternativa, puede asignar internamente un nombre a la escena o utilizar su nombre predefinido.
7
+
8
+ ### Activar una escena
9
+
10
+ Puede activar una escena predefinida pasando un objeto con el siguiente contenido:
11
+
12
+ : payload (boolean): Activa una escena preconfigurada
13
+ : transitionTime (float): Tiempo de transición de la escena en segundos. Si se pasa `0`, la escena se aplica de inmediato. Si pasa `3`, las luces se funden hacia la escena en los siguientes 3 segundos. El bridge acepta hasta 6000 segundos
14
+ : brightness (float): Brillo de toda la escena en porcentaje (`0` – `100`), de modo que puede activar una misma escena más clara o más tenue según la hora del día
15
+
16
+ > [!NOTE]
17
+ > Ambos ajustes solo están disponibles para escenas normales. Una escena inteligente se rige por los horarios que haya definido para ella en la app de Philips Hue.
18
+
19
+ ### Activar una escena en modo universal
20
+
21
+ Si utiliza este nodo en el llamado «modo universal» y no ha configurado ninguna escena en el nodo, también puede transferir al nodo la escena que desee como comando. Para ello, pase un objeto `msg.payload` con el siguiente contenido:
22
+
23
+ : scene (string): ID de la escena que se debe activar en el bridge
24
+
25
+ ### Activar una escena en determinados grupos
26
+
27
+ Conecte la salida de este nodo a uno o varios grupos para aplicar una escena a grupos concretos. Como alternativa, puede hacerlo de forma «dinámica» pasando al nodo un objeto `msg.payload` con el siguiente contenido:
28
+
29
+ : group (string | array [string,…]): ID del grupo o un array con los ID de varios grupos para limitar la escena a esos grupos
30
+
31
+ ### Más información sobre el nodo
32
+
33
+ Este nodo no emite mensajes de estado.
34
+
35
+ > [!IMPORTANT]
36
+ > Solo puede aplicar escenas a grupos si estos ya están vinculados a la escena correspondiente en el bridge. De lo contrario no se aplicará nada.
37
+
38
+ ### Ejemplos de HueMagic
39
+
40
+ HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
41
+
42
+ ![examples](hue/assets/huemagic-examples.gif)
43
+ </script>
@@ -0,0 +1,32 @@
1
+ {
2
+ "hue-scene": {
3
+ "config": {
4
+ "name": "Nombre",
5
+ "input-name": "Nombre de la escena",
6
+ "skipevents-node": "Omitir los mensajes del nodo",
7
+ "sendinitevents-node": "No suprimir el evento de inicialización",
8
+ "searching": "Buscando escenas…",
9
+ "none-found": "¡No se ha encontrado ninguna escena!",
10
+ "unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
11
+ "scene": "Escena",
12
+ "group": "Grupo",
13
+ "group-none-found": "¡No se ha encontrado ningún grupo!",
14
+ "group-searching": "Buscando grupos…",
15
+ "groups-all": "Todos los grupos / luces",
16
+ "bridge": "Bridge"
17
+ },
18
+ "node": {
19
+ "title": "Hue Escena",
20
+ "not-configured": "sin configurar",
21
+ "recalled": "escena activada",
22
+ "recalled-on-group": "escena activada en el grupo",
23
+ "no-id": "Sin ID de escena.",
24
+ "input": "activar escena",
25
+ "output": "grupo(s) de destino",
26
+ "command": "ejecutando comando…",
27
+ "statusmsg": "Activando la escena…",
28
+ "error-not-available": "La escena aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido.",
29
+ "error-invalid-brightness": "Ajuste de brillo no válido. Solo se permite de 0 a 100 por ciento."
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,80 @@
1
+ <script type="text/markdown" data-help-name="hue-speaker">
2
+ El nodo «Hue Altavoz» puede reproducir los sonidos de un timbre Hue Secure y utilizarlo como sirena interior.
3
+
4
+ ### Configuración
5
+
6
+ Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todos los altavoces disponibles. Si ya conoce el ID del altavoz, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo al altavoz o utilizar el nombre predefinido. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones del dispositivo. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si activa este ajuste, recibirá un mensaje de estado del altavoz seleccionado después de cada despliegue. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
7
+
8
+ Si no selecciona ningún altavoz y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a un altavoz concreto pasando el ID del altavoz correspondiente como cadena en `msg.topic` junto con sus ajustes.
9
+
10
+ ### Consultar el estado
11
+
12
+ Emite el estado actual del altavoz en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
13
+
14
+ : status (boolean): Devuelve el estado actual del altavoz
15
+
16
+ ### Reproducir un sonido
17
+
18
+ Un altavoz conoce tres canales independientes. `chime` es el sonido del timbre, `alarm` es la sirena y `alert` es una notificación breve. Los sonidos que conoce realmente un dispositivo se enumeran en `msg.info.sounds`. Transfiera los siguientes parámetros en un objeto `msg.payload`:
19
+
20
+ : chime (string | object | boolean): Nombre del sonido del timbre; `false` lo detiene de nuevo
21
+ : alarm (string | object | boolean): Nombre del sonido de la sirena; `false` lo detiene de nuevo
22
+ : alert (string | object | boolean): Nombre del sonido de notificación; `false` lo detiene de nuevo
23
+ : mute (boolean): `true` silencia el altavoz, `false` vuelve a activar el sonido
24
+
25
+ En lugar de un simple nombre de sonido, también puede pasar un objeto para controlar el volumen y la duración:
26
+
27
+ : sound (string): Nombre del sonido, p. ej. `ding_dong_classic` o `siren`
28
+ : volume (int): Volumen en porcentaje (0-100)
29
+ : duration (float): Tiempo de reproducción en segundos
30
+
31
+ ### Mensajes de estado del nodo
32
+
33
+ En cuanto el altavoz empieza o deja de reproducir, el nodo devuelve el siguiente mensaje de estado.
34
+
35
+ > [!NOTE]
36
+ > El bridge informa del último sonido reproducido y no lo restablece hasta bastante después de finalizar la reproducción, por lo que estos valores van algo por detrás del audio.
37
+
38
+ #### Objeto de estado en `msg.payload`
39
+
40
+ : reachable (boolean | string): `true` si el altavoz está conectado al bridge, `unknown` si el estado de la conexión difiere
41
+ : connectionStatus (string): El estado actual de la conexión con el bridge en forma de cadena. Puede contener `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` como valor
42
+ : playing (boolean): `true` mientras el altavoz reproduce cualquier sonido
43
+ : chime (string | boolean): Nombre del sonido de timbre que se está reproduciendo o `false`
44
+ : alarm (string | boolean): Nombre del sonido de sirena que se está reproduciendo o `false`
45
+ : alert (string | boolean): Nombre del sonido de notificación que se está reproduciendo o `false`
46
+ : muted (boolean): Indica si el altavoz está silenciado
47
+ : updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
48
+
49
+ #### Información sobre el altavoz en `msg.info`
50
+
51
+ : id (string): Indica el nuevo ID del altavoz
52
+ : idV1 (string | boolean): Indica el ID antiguo del altavoz
53
+ : uniqueId (string): El ID único del altavoz
54
+ : deviceId (string): El ID único del dispositivo
55
+ : name (string): El nombre asignado actualmente al altavoz
56
+ : type (string): El tipo de dispositivo (siempre `speaker`)
57
+ : softwareVersion (string): El firmware actual del altavoz
58
+ : battery (float | boolean): El nivel de batería actual del altavoz, `false` si no hay batería
59
+ : batteryState (string | boolean): El estado actual del nivel de batería. Puede contener `normal`, `low` o `critical` como valor, o `false` si no hay batería
60
+ : sounds (object): Contiene los sonidos que conoce este dispositivo en `chime`, `alarm` y `alert`
61
+ : model (object): Contiene la información de modelo del altavoz en `id`, `manufacturer`, `name`, `type` y `certified`
62
+
63
+ #### Cambios de estado en `msg.updated`
64
+
65
+ Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado del altavoz. Si no se ha registrado ningún cambio, este objeto está vacío.
66
+
67
+ #### Último estado del altavoz en `msg.lastState`
68
+
69
+ Contiene el objeto de estado completo (véanse los valores de salida anteriores) del último estado antes del último cambio registrado. Si HueMagic aún no ha registrado el último estado, se emite `false`.
70
+
71
+ #### Último comando en `msg.command` (opcional)
72
+
73
+ Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
74
+
75
+ ### Ejemplos de HueMagic
76
+
77
+ HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
78
+
79
+ ![examples](hue/assets/huemagic-examples.gif)
80
+ </script>