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,37 @@
1
+ {
2
+ "hue-brightness": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "skipevents-node": "Ignorar as mensagens do nó",
6
+ "sendinitevents-node": "Não suprimir o evento de inicialização",
7
+ "onlycommands-node": "Comunicar apenas após um comando",
8
+ "unknown-error": "Algo correu mal. Tente novamente.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universais",
11
+ "universalevents-node": "Recebe todas as mensagens de outros nós do mesmo tipo (apenas no modo universal)",
12
+ "input-name": "Nome do sensor de luminosidade",
13
+ "searching": "A procurar sensores…",
14
+ "none-found": "Nenhum sensor de luminosidade encontrado!",
15
+ "sensor": "Sensor",
16
+ "all": "Todos os grupos / luzes",
17
+ "darkthreshold": "Escuro abaixo de"
18
+ },
19
+ "node": {
20
+ "not-configured": "não configurado",
21
+ "deactivated": "desativado",
22
+ "init": "a inicializar…",
23
+ "not-reachable": "inacessível",
24
+ "universal": "modo universal",
25
+ "command": "a executar comando…",
26
+ "statusmsg": "Estado consultado com sucesso…",
27
+ "title": "Hue Luminosidade",
28
+ "lux": "__lux__ lux",
29
+ "lux-dark": "__lux__ lux (escuro)",
30
+ "lux-daylight": "__lux__ lux (luz do dia)",
31
+ "input": "consulta de estado",
32
+ "output": "luminosidade (alterada)",
33
+ "error-no-id": "Indique um ID de sensor válido.",
34
+ "error-not-available": "O sensor ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com o bridge ou verifique se o ID do recurso indicado na configuração é válido."
35
+ }
36
+ }
37
+ }
@@ -0,0 +1,59 @@
1
+ <script type="text/markdown" data-help-name="hue-buttons">
2
+ O nó «Hue Botões» recebe os eventos de comutação dos dispositivos de entrada ligados ao bridge.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todos os interruptores e botões disponíveis. Se já souber o ID do interruptor ou botão, também o pode introduzir aqui manualmente. Pode atribuir internamente um novo nome ao dispositivo ou manter o nome predefinido. Opcionalmente, pode desativar todas as mensagens de estado automáticas deste nó através da definição «Ignorar as mensagens do nó». O nó deixará de emitir eventos de comutação. Em alternativa, pode escolher que a mensagem de inicialização do nó não seja suprimida no arranque do Node-RED. Se ativar esta definição, receberá uma mensagem de estado do interruptor ou botão selecionado após cada implementação. Se preferir que o nó permaneça em silêncio até lhe enviar algo, ative «Comunicar apenas após um comando». Nesse caso, ignora as alterações feitas na aplicação ou num interruptor e responde apenas aos seus próprios comandos.
7
+
8
+ Se não selecionar nenhum interruptor ou botão e utilizar assim a configuração do nó, o nó funciona no chamado «modo universal». Neste modo, o nó recebe e emite todas as mensagens de estado do mesmo tipo.
9
+
10
+ ### Consultar o estado
11
+
12
+ Emite o estado atual do interruptor ou botão assim que for transmitido ao nó um objeto `msg.payload` com o seguinte conteúdo. Em alternativa, também pode premir o botão na interface do Node-RED sem ter de enviar previamente uma mensagem ao nó.
13
+
14
+ : status (boolean): Devolve o estado atual do interruptor ou botão
15
+
16
+ ### Mensagens de estado do nó
17
+
18
+ Assim que uma tecla é premida, o nó devolve a seguinte mensagem de estado:
19
+
20
+ #### Objeto de estado em `msg.payload`
21
+
22
+ : reachable (boolean | string): `true` se o interruptor ou botão estiver ligado ao bridge, `unknown` se o estado da ligação divergir
23
+ : connectionStatus (string): O estado atual da ligação com o bridge sob a forma de uma cadeia de carateres. Pode conter `connected`, `disconnected`, `connectivity_issue` ou `unidirectional_incoming` como valor
24
+ : button (int | boolean): ID numérico da última tecla premida ou `false` se nenhuma tecla foi premida
25
+ : action (string | boolean): `false` se nenhuma tecla foi premida, ou `initial_press`, `repeat`, `short_release`, `long_press`, `long_release` ou `double_short_release` sob a forma de cadeia de carateres
26
+ : rotation (object | boolean): `false` se o dispositivo não tiver roda ou não tiver sido rodado; caso contrário, um objeto com `action` (`start` ou `repeat`), `direction` (`clock_wise` ou `counter_clock_wise`), `clockwise` (booleano), `steps` (1000 passos correspondem a uma volta completa), `degrees` e `duration` em milissegundos
27
+ : updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
28
+
29
+ #### Informações sobre o interruptor ou botão em `msg.info`
30
+
31
+ : id (string): Indica o novo ID do interruptor ou botão
32
+ : idV1 (string | boolean): Indica o ID antigo do interruptor ou botão
33
+ : uniqueId (string): O ID único do interruptor ou botão
34
+ : deviceId (string): O ID único do dispositivo
35
+ : name (string): O nome atualmente atribuído ao interruptor ou botão
36
+ : type (string): O tipo do interruptor ou botão (sempre `button`)
37
+ : softwareVersion (string): O firmware atual do interruptor ou botão
38
+ : battery (float | boolean): O nível atual da bateria do interruptor ou botão, `false` quando não existe bateria
39
+ : batteryState (string | boolean): O estado atual do nível da bateria. Pode conter `normal`, `low` ou `critical` como valor, ou `false` quando não existe bateria
40
+ : model (object): Contém as informações de modelo do interruptor ou botão em `id`, `manufacturer`, `name`, `type` e `certified`
41
+
42
+ #### Alterações de estado em `msg.updated`
43
+
44
+ Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado do interruptor ou botão. Se não tiverem sido registadas alterações, este objeto está vazio.
45
+
46
+ #### Último estado do interruptor ou botão em `msg.lastState`
47
+
48
+ Contém o objeto de estado completo (ver os valores de saída acima) do último estado antes da última alteração registada. Se o HueMagic ainda não tiver registado o último estado, é emitido `false`.
49
+
50
+ #### Último comando em `msg.command` (opcional)
51
+
52
+ Se o estado do nó tiver sido alterado através de um determinado comando, é também emitido o comando completo que foi executado. Caso contrário, o nó não emite este objeto.
53
+
54
+ ### Exemplos do HueMagic
55
+
56
+ O HueMagic disponibiliza algumas configurações de exemplo para este nó. Para importar um exemplo completo na sua interface Node-RED, clique no ícone de menu do Node-RED, selecione «Importar» e navegue até «Exemplos» na barra lateral da janela. Em seguida, selecione a pasta HueMagic e o nó pretendido para importar um fluxo de exemplo.
57
+
58
+ ![examples](hue/assets/huemagic-examples.gif)
59
+ </script>
@@ -0,0 +1,42 @@
1
+ {
2
+ "hue-buttons": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "skipevents-node": "Ignorar as mensagens do nó",
6
+ "sendinitevents-node": "Não suprimir o evento de inicialização",
7
+ "onlycommands-node": "Comunicar apenas após um comando",
8
+ "unknown-error": "Algo correu mal. Tente novamente.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universais",
11
+ "universalevents-node": "Recebe todas as mensagens de outros nós do mesmo tipo (apenas no modo universal)",
12
+ "input-name": "Nome do botão",
13
+ "searching": "A procurar Hue Buttons…",
14
+ "none-found": "Nenhum Hue Button encontrado!",
15
+ "button": "Botão"
16
+ },
17
+ "node": {
18
+ "not-configured": "não configurado",
19
+ "universal": "modo universal",
20
+ "command": "a executar comando…",
21
+ "statusmsg": "Estado consultado com sucesso…",
22
+ "title": "Hue Botões",
23
+ "waiting": "a aguardar…",
24
+ "button-on": "On",
25
+ "action-pressed": "premido",
26
+ "action-holded": "mantido premido",
27
+ "action-shortreleased": "solto brevemente",
28
+ "action-longreleased": "solto após ser mantido",
29
+ "action-repeated": "repetido",
30
+ "action-doublepressed": "premido duas vezes",
31
+ "dial-clockwise": "Roda ↻ __degrees__°",
32
+ "dial-counterclockwise": "Roda ↺ __degrees__°",
33
+ "button-status": "Botão n.º __button__ (__action__)",
34
+ "input": "consulta de estado",
35
+ "output": "botão premido",
36
+ "error-no-id": "Indique um ID de interruptor válido.",
37
+ "error-not-available": "O interruptor ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com o bridge ou verifique se o ID do recurso indicado na configuração é válido.",
38
+ "error-no-switchmode": "Este dispositivo não tem um modo de interruptor configurável.",
39
+ "error-invalid-switchmode": "Modo de interruptor inválido. Este dispositivo suporta: __modes__"
40
+ }
41
+ }
42
+ }
@@ -0,0 +1,67 @@
1
+ <script type="text/markdown" data-help-name="hue-contact">
2
+ O nó «Hue Contacto» indica se um sensor de contacto (p. ex. Hue Secure) está atualmente aberto ou fechado.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todos os sensores disponíveis. Se já souber o ID do sensor, também o pode introduzir aqui manualmente. Pode atribuir internamente um novo nome ao sensor ou manter o nome predefinido. Opcionalmente, pode desativar todas as mensagens de estado automáticas deste nó através da definição «Ignorar as mensagens do nó». O nó deixará de emitir atualizações do dispositivo. Em alternativa, pode escolher que a mensagem de inicialização do nó não seja suprimida no arranque do Node-RED. Se ativar esta definição, receberá uma mensagem de estado do sensor selecionado após cada implementação. Se preferir que o nó permaneça em silêncio até lhe enviar algo, ative «Comunicar apenas após um comando». Nesse caso, ignora as alterações feitas na aplicação ou num interruptor e responde apenas aos seus próprios comandos.
7
+
8
+ Se não selecionar nenhum sensor e utilizar assim a configuração do nó, o nó funciona no chamado «modo universal». Neste modo, o nó recebe e emite todas as mensagens de estado do mesmo tipo. Também pode aplicar definições no modo universal a um sensor específico, transmitindo o respetivo ID do sensor como cadeia de carateres em `msg.topic` juntamente com as suas definições.
9
+
10
+ ### Consultar o estado
11
+
12
+ Emite o estado atual do sensor assim que for transmitido ao nó um objeto `msg.payload` com o seguinte conteúdo. Em alternativa, também pode premir o botão na interface do Node-RED sem ter de enviar previamente uma mensagem ao nó.
13
+
14
+ : status (boolean): Devolve o estado atual do sensor
15
+
16
+ ### Ligar / desligar o sensor
17
+
18
+ Se necessário, o sensor pode ser ligado e desligado remotamente. Se o sensor estiver desligado, deixa de registar alterações de contacto e, por conseguinte, deixa de as emitir. Para tal, transmita um objeto com o seguinte conteúdo:
19
+
20
+ : payload (boolean): `true` liga o sensor, `false` desliga-o
21
+
22
+ ### Mensagens de estado do nó
23
+
24
+ Assim que o contacto muda, o nó devolve a seguinte mensagem de estado:
25
+
26
+ #### Objeto de estado em `msg.payload`
27
+
28
+ : active (boolean): Indica se o sensor está ligado ou desligado
29
+ : reachable (boolean | string): `true` se o sensor estiver ligado ao bridge, `unknown` se o estado da ligação divergir
30
+ : connectionStatus (string): O estado atual da ligação com o bridge sob a forma de uma cadeia de carateres. Pode conter `connected`, `disconnected`, `connectivity_issue` ou `unidirectional_incoming` como valor
31
+ : contact (string | boolean): `contact` se o contacto estiver fechado, `no_contact` se estiver aberto ou `false` se o sensor ainda não tiver comunicado
32
+ : changed (string | boolean): Momento da última alteração de contacto (ISO 8601) ou `false` se o sensor ainda não tiver comunicado
33
+ : tampered (boolean): Apenas disponível em sensores com deteção de manipulação; `true` se o sensor tiver sido manipulado
34
+ : updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
35
+
36
+ #### Informações sobre o sensor em `msg.info`
37
+
38
+ : id (string): Indica o novo ID do sensor
39
+ : idV1 (string | boolean): Indica o ID antigo do sensor
40
+ : uniqueId (string): O ID único do sensor
41
+ : deviceId (string): O ID único do dispositivo
42
+ : name (string): O nome atualmente atribuído ao sensor
43
+ : type (string): O tipo do sensor (sempre `contact`)
44
+ : softwareVersion (string): O firmware atual do sensor
45
+ : battery (float | boolean): O nível atual da bateria do sensor, `false` quando não existe bateria
46
+ : batteryState (string | boolean): O estado atual do nível da bateria. Pode conter `normal`, `low` ou `critical` como valor, ou `false` quando não existe bateria
47
+ : model (object): Contém as informações de modelo do sensor em `id`, `manufacturer`, `name`, `type` e `certified`
48
+
49
+ #### Alterações de estado em `msg.updated`
50
+
51
+ Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado do sensor. Se não tiverem sido registadas alterações, este objeto está vazio.
52
+
53
+ #### Último estado do sensor em `msg.lastState`
54
+
55
+ Contém o objeto de estado completo (ver os valores de saída acima) do último estado antes da última alteração registada. Se o HueMagic ainda não tiver registado o último estado, é emitido `false`.
56
+
57
+ #### Último comando em `msg.command` (opcional)
58
+
59
+ Se o estado do nó tiver sido alterado através de um determinado comando, é também emitido o comando completo que foi executado. Caso contrário, o nó não emite este objeto.
60
+
61
+ ### Exemplos do HueMagic
62
+
63
+ O HueMagic disponibiliza algumas configurações de exemplo para este nó. Para importar um exemplo completo na sua interface Node-RED, clique no ícone de menu do Node-RED, selecione «Importar» e navegue até «Exemplos» na barra lateral da janela. Em seguida, selecione a pasta HueMagic e o nó pretendido para importar um fluxo de exemplo.
64
+
65
+ ![examples](hue/assets/huemagic-examples.gif)
66
+
67
+ </script>
@@ -0,0 +1,35 @@
1
+ {
2
+ "hue-contact": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "skipevents-node": "Ignorar as mensagens do nó",
6
+ "sendinitevents-node": "Não suprimir o evento de inicialização",
7
+ "onlycommands-node": "Comunicar apenas após um comando",
8
+ "unknown-error": "Algo correu mal. Tente novamente.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universais",
11
+ "universalevents-node": "Recebe todas as mensagens de outros nós do mesmo tipo (apenas no modo universal)",
12
+ "input-name": "Nome do sensor",
13
+ "searching": "A procurar sensores de contacto…",
14
+ "none-found": "Nenhum sensor de contacto encontrado!",
15
+ "sensor": "Sensor"
16
+ },
17
+ "node": {
18
+ "not-configured": "não configurado",
19
+ "not-reachable": "inacessível",
20
+ "activated": "ativado",
21
+ "deactivated": "desativado",
22
+ "universal": "modo universal",
23
+ "command": "a executar comando…",
24
+ "statusmsg": "Estado consultado com sucesso…",
25
+ "title": "Hue Contacto",
26
+ "contact": "contacto",
27
+ "no-contact": "sem contacto",
28
+ "input": "ativar / desativar / estado",
29
+ "output": "contacto",
30
+ "tampered": "manipulado",
31
+ "error-no-id": "Indique um ID de sensor válido.",
32
+ "error-not-available": "O sensor ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com o bridge ou verifique se o ID do recurso indicado na configuração é válido."
33
+ }
34
+ }
35
+ }
@@ -0,0 +1,87 @@
1
+ <script type="text/markdown" data-help-name="hue-group">
2
+ O nó «Hue Grupo» pode controlar em simultâneo várias luzes agrupadas no bridge.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todos os grupos disponíveis. Se já souber o ID de um grupo, também o pode introduzir aqui manualmente. Pode atribuir internamente um novo nome ao grupo ou manter o nome predefinido. Opcionalmente, pode desativar todas as mensagens de estado automáticas deste nó através da definição «Ignorar as mensagens do nó». O nó deixará de emitir atualizações. Em alternativa, pode escolher que a mensagem de inicialização do nó não seja suprimida no arranque do Node-RED. Se ativar esta definição, receberá uma mensagem de estado do grupo selecionado após cada implementação. Se preferir que o nó permaneça em silêncio até lhe enviar algo, ative «Comunicar apenas após um comando». Nesse caso, ignora as alterações feitas na aplicação ou num interruptor e responde apenas aos seus próprios comandos.
7
+
8
+ Se não selecionar nenhum grupo e utilizar assim a configuração do nó, o nó funciona no chamado «modo universal». Neste modo, o nó recebe e emite todas as mensagens de estado do mesmo tipo. Também pode aplicar definições no modo universal a um grupo específico, transmitindo o respetivo ID como cadeia de carateres em `msg.topic` juntamente com as suas definições.
9
+
10
+ ### Consultar o estado
11
+
12
+ Emite o estado atual do grupo assim que for transmitido ao nó um objeto `msg.payload` com o seguinte conteúdo. Em alternativa, também pode premir o botão na interface do Node-RED sem ter de enviar previamente uma mensagem ao nó.
13
+
14
+ : status (boolean): Devolve o estado atual do grupo
15
+
16
+ ### Ligar / desligar (modo simples)
17
+
18
+ Para ligar ou desligar rapidamente um grupo inteiro no modo simples, transmita ao nó um objeto com o seguinte conteúdo.
19
+
20
+ : payload (boolean): `true` liga todo o grupo, `false` desliga-o
21
+
22
+ ### Comandos de grupo (avançado)
23
+
24
+ Para além de simplesmente ligar e desligar, existem muitas outras opções para controlar o grupo. Todos os nós do HueMagic podem ser controlados com comandos aditivos. Isto significa que pode transmitir primeiro uma definição e depois outra num comando posterior sem descartar a definição anterior. Transmita os seguintes parâmetros num objeto `msg.payload` para efetuar definições mais amplas no grupo:
25
+
26
+ : on (boolean): `true` liga todo o grupo, `false` desliga-o
27
+ : toggle (boolean | any): Alterna entre ligar e desligar, consoante o estado anterior do grupo
28
+ : brightness (int | string): Valor percentual do brilho da luz (0-100) ou uma cadeia de carateres com o valor `auto` para definir automaticamente o brilho com base na hora atual
29
+ : brightnessLevel (int): Valor numérico do brilho da luz (0-254)
30
+ : incrementBrightness (int): Valor percentual de uma alteração relativa do brilho. O intervalo válido vai de -100 % a +100 %. Os valores positivos aumentam o brilho. O valor predefinido é +10 %
31
+ : decrementBrightness (int): Valor percentual de uma alteração relativa do brilho. O intervalo válido vai de -100 % a +100 %. Os valores positivos diminuem o brilho. O valor predefinido é +10 %
32
+ : color (string): `random` para definir uma cor aleatória ou um nome de cor em inglês (p. ex. `red`)
33
+ : hex (string): Valor de cor em hexadecimal sob a forma de cadeia de carateres
34
+ : rgb (array [0,0,0]): Valor de cor em formato RGB sob a forma de matriz
35
+ : xyColor (object {x [float], y [float]}): Valor de cor no formato de cor XY sob a forma de objeto
36
+ : image (string): Caminho de uma imagem (local ou na web) para definir a cor atual do grupo como a cor média da imagem
37
+ : colorTemp (int | string): Valor entre 153 e 500 para definir a temperatura de cor do grupo, ou os valores `cold`, `normal`, `warm`, `hot` e `auto`, sendo que `auto` define a temperatura de cor com base na hora atual
38
+ : transitionTime (float): Tempo de transição da definição atual em segundos. Se for transmitido `0`, o grupo muda de imediato para a definição pretendida. Se transmitir `3`, o grupo muda para a definição pretendida com uma ligeira transição nos 3 segundos seguintes
39
+ : colorloop (float): Reproduz uma animação «colorloop» durante os segundos indicados e volta depois ao estado original do grupo
40
+ : alert (float): Reproduz uma animação «alert» durante os segundos indicados e volta depois ao estado original do grupo
41
+
42
+ ### Mensagens de estado do nó
43
+
44
+ Quando é detetada uma alteração no grupo, o nó devolve a seguinte mensagem de estado.
45
+
46
+ > [!NOTE]
47
+ > O grupo só emite mensagens de estado quando a última luz é desligada ou quando a primeira é ligada (se todas estivessem apagadas antes).
48
+
49
+ Ao contrário do nó «Hue Luz», dispõe aqui de muito menos informação de estado, uma vez que um grupo pode conter muitos tipos de dispositivo diferentes com valores que não podem ser combinados.
50
+
51
+ #### Objeto de estado em `msg.payload`
52
+
53
+ : on (boolean): Estado do grupo, em que `true` significa ligado e `false` desligado
54
+ : brightness (float | boolean): Brilho do grupo em percentagem ou `false` se o grupo não puder ser regulado
55
+ : brightnessLevel (int | boolean): Brilho do grupo como valor numérico (0-254) ou `false` se o grupo não puder ser regulado
56
+ : rgb (array [0,0,0]): Cor atual do grupo em formato RGB (apenas se disponível)
57
+ : hex (string): Cor atual do grupo em formato hexadecimal (apenas se disponível)
58
+ : xyColor (object {x [float], y [float]}): Cor atual do grupo no formato de cor XY (apenas se disponível)
59
+ : colorTemp (int): Temperatura de cor atualmente definida para o grupo (apenas se disponível)
60
+ : updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
61
+
62
+ #### Informações sobre o grupo em `msg.info`
63
+
64
+ : id (string): Indica o novo ID do grupo
65
+ : idV1 (string | boolean): Indica o ID antigo do grupo
66
+ : name (string): O nome atualmente atribuído ao grupo
67
+ : resources (object) : Contém todos os dispositivos e recursos associados ao grupo
68
+ : type (string): O tipo do grupo (sempre `group`)
69
+
70
+ #### Alterações de estado em `msg.updated`
71
+
72
+ Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado do grupo. Se não tiverem sido registadas alterações, este objeto está vazio.
73
+
74
+ #### Último estado da luz em `msg.lastState`
75
+
76
+ Contém o objeto de estado completo (ver os valores de saída acima) do último estado antes da última alteração. Se o HueMagic ainda não tiver registado o último estado, é emitido `false`.
77
+
78
+ #### Último comando em `msg.command` (opcional)
79
+
80
+ Se o estado do nó tiver sido alterado através de um determinado comando, é também emitido o comando completo que foi executado. Caso contrário, o nó não emite este objeto.
81
+
82
+ ### Exemplos do HueMagic
83
+
84
+ O HueMagic disponibiliza algumas configurações de exemplo para este nó. Para importar um exemplo completo na sua interface Node-RED, clique no ícone de menu do Node-RED, selecione «Importar» e navegue até «Exemplos» na barra lateral da janela. Em seguida, selecione a pasta HueMagic e o nó pretendido para importar um fluxo de exemplo.
85
+
86
+ ![examples](hue/assets/huemagic-examples.gif)
87
+ </script>
@@ -0,0 +1,46 @@
1
+ {
2
+ "hue-group": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "skipevents-node": "Ignorar as mensagens do nó",
6
+ "sendinitevents-node": "Não suprimir o evento de inicialização",
7
+ "onlycommands-node": "Comunicar apenas após um comando",
8
+ "unknown-error": "Algo correu mal. Tente novamente.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universais",
11
+ "universalevents-node": "Recebe todas as mensagens de outros nós do mesmo tipo (apenas no modo universal)",
12
+ "colornamer": "Colornamer",
13
+ "colornamer-info": "Ativar a denominação das cores",
14
+ "input-name": "Nome do grupo",
15
+ "searching": "A procurar grupos…",
16
+ "none-found": "Nenhum grupo encontrado!",
17
+ "group": "Grupo",
18
+ "all": "Todos os grupos / luzes"
19
+ },
20
+ "node": {
21
+ "not-configured": "não configurado",
22
+ "init": "a inicializar…",
23
+ "universal": "modo universal",
24
+ "command": "a executar comando…",
25
+ "statusmsg": "Estado consultado com sucesso…",
26
+ "title": "Hue Grupo",
27
+ "brightness": " (__percent__ %)",
28
+ "all-on": "todas as luzes acesas",
29
+ "all-off": "todas as luzes apagadas",
30
+ "some-on": "algumas luzes acesas",
31
+ "turned-on": "ligado",
32
+ "error-input": "erro de entrada",
33
+ "error-no-id": "Nenhum ID de grupo indicado.",
34
+ "error-invalid-sat": "Definição de saturação inválida. Apenas são permitidos valores de 0 a 254.",
35
+ "error-invalid-temp": "Temperatura de cor inválida. Apenas são permitidos valores de 153 a 500.",
36
+ "input": "ligar / desligar",
37
+ "output": "estado",
38
+ "error-not-available": "O grupo ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com o bridge ou verifique se o ID do recurso indicado na configuração é válido.",
39
+ "error-invalid-brightness": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 100 por cento.",
40
+ "error-invalid-brightness-level": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 254.",
41
+ "error-invalid-increment": "Definição incrementBrightness inválida. Apenas são permitidos valores de -100 % a 100 %.",
42
+ "error-invalid-decrement": "Definição decrementBrightness inválida. Apenas são permitidos valores de -100 % a 100 %.",
43
+ "error-no-colorloop": "O efeito colorloop não está disponível para este grupo."
44
+ }
45
+ }
46
+ }
@@ -0,0 +1,97 @@
1
+ <script type="text/markdown" data-help-name="hue-light">
2
+ O nó «Hue Luz» pode controlar as luzes ligadas ao bridge e receber as respetivas mensagens de estado.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todas as luzes disponíveis. Se já souber o ID de uma luz, também o pode introduzir aqui manualmente. Pode atribuir internamente um novo nome à luz ou manter o nome predefinido. Opcionalmente, pode desativar todas as mensagens de estado automáticas deste nó através da definição «Ignorar as mensagens do nó». O nó deixará de emitir atualizações do dispositivo. Em alternativa, pode escolher que a mensagem de inicialização do nó não seja suprimida no arranque do Node-RED. Se ativar esta definição, receberá uma mensagem de estado da luz selecionada após cada implementação. Se preferir que o nó permaneça em silêncio até lhe enviar algo, ative «Comunicar apenas após um comando». Nesse caso, ignora as alterações feitas na aplicação ou num interruptor e responde apenas aos seus próprios comandos.
7
+
8
+ Se ativar a definição «Ativar a denominação das cores», o nó tentará descrever a cor de luz definida em cada mensagem de estado. Receberá então na saída um parâmetro adicional com a descrição em inglês da cor atual.
9
+
10
+ Se não selecionar nenhuma luz e utilizar assim a configuração do nó, o nó funciona no chamado «modo universal». Neste modo, o nó recebe e emite todas as mensagens de estado do mesmo tipo. Também pode aplicar definições no modo universal a uma luz específica, transmitindo o respetivo ID como cadeia de carateres em `msg.topic` juntamente com as suas definições.
11
+
12
+ ### Consultar o estado
13
+
14
+ Emite o estado atual da luz assim que for transmitido ao nó um objeto `msg.payload` com o seguinte conteúdo. Em alternativa, também pode premir o botão na interface do Node-RED sem ter de enviar previamente uma mensagem ao nó.
15
+
16
+ : status (boolean): Devolve o estado atual da luz
17
+
18
+ ### Ligar / desligar a luz (modo simples)
19
+
20
+ Para ligar ou desligar rapidamente uma luz no modo simples, transmita ao nó um objeto com o seguinte conteúdo:
21
+
22
+ : payload (boolean): `true` liga a luz, `false` desliga-a
23
+
24
+ ### Comandos de luz (avançado)
25
+
26
+ Para além de simplesmente ligar e desligar, existem muitas outras opções para controlar a luz. Todos os nós do HueMagic podem ser controlados com comandos aditivos. Isto significa que pode transmitir primeiro uma definição e depois outra num comando posterior sem descartar a definição anterior. Transmita os seguintes parâmetros num objeto `msg.payload` para efetuar definições mais amplas na luz:
27
+
28
+ : on (boolean): `true` liga a luz, `false` desliga-a
29
+ : toggle (boolean | any): Alterna entre ligar e desligar, consoante o estado anterior da luz
30
+ : brightness (int | string): Valor percentual do brilho da luz (0-100) ou uma cadeia de carateres com o valor `auto` para definir automaticamente o brilho com base na hora atual
31
+ : brightnessLevel (int): Valor numérico do brilho da luz (0-254)
32
+ : incrementBrightness (int | boolean): Indica em quantos pontos percentuais a luz deve ficar mais clara, ou `true` para a aumentar em passos de 10 %
33
+ : decrementBrightness (int | boolean): Indica em quantos pontos percentuais a luz deve ficar mais escura, ou `true` para a diminuir em passos de 10 %
34
+ : color (string): `random` para definir uma cor aleatória ou um nome de cor em inglês (p. ex. `red`)
35
+ : hex (string): Valor de cor em hexadecimal sob a forma de cadeia de carateres
36
+ : rgb (array [0,0,0]): Valor de cor em formato RGB sob a forma de matriz
37
+ : xyColor (object {x [float], y [float]}): Valor de cor no formato de cor XY sob a forma de objeto
38
+ : gradient (object {hex […]}): Um objeto com um objeto de cor suportado (p. ex. `hex`, `rgb`, …) e várias cores para aplicar um gradiente às luzes compatíveis
39
+ : mixColor (object): Uma cor a misturar com a cor de luz atual. Aceita objetos `color`, `hex`, `rgb` ou `xyColor` e, opcionalmente, `amount` (int) para indicar a proporção de mistura em percentagem
40
+ : image (string): Caminho de uma imagem (local ou na web) para definir a cor atual da luz como a cor média da imagem
41
+ : saturation (int): Percentagem da saturação da cor atual (beta)
42
+ : colorTemp (int | string): Valor entre 153 e 500 para definir a temperatura de cor da luz, ou os valores `cold`, `normal`, `warm`, `hot` e `auto`, sendo que `auto` define a temperatura de cor com base na hora atual
43
+ : incrementColorTemp (int | boolean): Valor que indica quanto a temperatura de cor deve ficar mais quente, ou `true` para a tornar mais quente em passos de 50
44
+ : decrementColorTemp (int | boolean): Valor que indica quanto a temperatura de cor deve ficar mais fria, ou `true` para a tornar mais fria em passos de 50
45
+ : transitionTime (float): Tempo de transição da definição atual em segundos. Se for indicado `0`, a luz muda de imediato para a definição pretendida. Se for indicado `3`, a luz muda para a definição pretendida com uma ligeira transição nos 3 segundos seguintes
46
+ : colorloop (float): Reproduz uma animação «colorloop» durante os segundos indicados e volta depois ao estado original da luz
47
+ : alert (float): Reproduz uma animação «alert» durante os segundos indicados e volta depois ao estado original da luz
48
+
49
+ ### Mensagens de estado do nó
50
+
51
+ Assim que é detetada uma alteração nas definições da luz (quer através do Node-RED, quer externamente), o nó devolve a seguinte mensagem de estado:
52
+
53
+ #### Objeto de estado em `msg.payload`
54
+
55
+ : on (boolean): Estado da luz, em que `true` significa acesa e `false` apagada
56
+ : brightness (int | boolean): Brilho atual em percentagem ou `false` se a luz não suportar definição de brilho
57
+ : brightnessLevel (int | boolean): Brilho atual de 0 a 254 ou `false` se a luz não suportar definição de brilho
58
+ : reachable (boolean | string): `true` se a luz estiver ligada ao bridge, `unknown` se o estado da ligação divergir
59
+ : connectionStatus (string): O estado atual da ligação com o bridge sob a forma de uma cadeia de carateres. Pode conter `connected`, `disconnected`, `connectivity_issue` ou `unidirectional_incoming` como valor
60
+ : rgb (array [int, int, int] | optional): Cor de luz atual sob a forma de valor RGB, se a luz conseguir apresentar cores
61
+ : hex (string | optional): Cor de luz atual sob a forma de valor hexadecimal, se a luz conseguir apresentar cores
62
+ : xyColor (object {x [float], y [float]} | optional): Cor de luz atual sob a forma de valor XY, se a luz conseguir apresentar cores
63
+ : color (string | optional): Nome atual da cor em inglês, se a luz conseguir apresentar cores e a definição correspondente do nó estiver ativada
64
+ : gradient (object | optional): Definição de gradiente atual com todas as unidades de cor disponíveis sob a forma de matriz, se a luz suportar gradientes, em que `colors` devolve as cores, `numColors` o número de cores definidas no gradiente e `totalColors` o número máximo de cores que o recurso consegue suportar no gradiente
65
+ : colorTemp (int | boolean | optional): Temperatura de cor atual da luz, se a luz conseguir apresentar temperaturas de cor e tiver sido definida uma
66
+ : colorTempName (string | optional): Temperatura de cor atual da luz sob a forma de cadeia descritiva com os valores `cold`, `normal`, `warm` ou `hot`, se a luz conseguir apresentar temperaturas de cor e tiver sido definida uma. Caso contrário, é emitido `unknown`
67
+ : updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
68
+
69
+ #### Informações sobre a luz em `msg.info`
70
+
71
+ : id (string): Indica o novo ID da luz
72
+ : idV1 (string | boolean): Indica o ID antigo da luz
73
+ : uniqueId (string): O ID único da luz
74
+ : deviceId (string): O ID único do dispositivo
75
+ : name (string): O nome atualmente atribuído à luz
76
+ : type (string): O tipo da luz (sempre `light`)
77
+ : softwareVersion (string): O firmware atual da luz
78
+ : model (object): Contém as informações de modelo da luz em `id`, `manufacturer`, `name`, `type`, `certified`, `friendsOfHue`, `colorGamut` e `colorGamutType`
79
+
80
+ #### Alterações de estado em `msg.updated`
81
+
82
+ Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado da luz. Se não tiverem sido registadas alterações, este objeto está vazio.
83
+
84
+ #### Último estado da luz em `msg.lastState`
85
+
86
+ Contém o objeto de estado completo (ver os valores de saída acima) do último estado antes da última alteração. Se o HueMagic ainda não tiver registado o último estado, é emitido `false`.
87
+
88
+ #### Último comando em `msg.command` (opcional)
89
+
90
+ Se o estado do nó tiver sido alterado através de um determinado comando, é também emitido o comando completo que foi executado. Caso contrário, o nó não emite este objeto.
91
+
92
+ ### Exemplos do HueMagic
93
+
94
+ O HueMagic disponibiliza algumas configurações de exemplo para este nó. Para importar um exemplo completo na sua interface Node-RED, clique no ícone de menu do Node-RED, selecione «Importar» e navegue até «Exemplos» na barra lateral da janela. Em seguida, selecione a pasta HueMagic e o nó pretendido para importar um fluxo de exemplo.
95
+
96
+ ![examples](hue/assets/huemagic-examples.gif)
97
+ </script>
@@ -0,0 +1,44 @@
1
+ {
2
+ "hue-light": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "skipevents-node": "Ignorar as mensagens do nó",
6
+ "sendinitevents-node": "Não suprimir o evento de inicialização",
7
+ "onlycommands-node": "Comunicar apenas após um comando",
8
+ "unknown-error": "Algo correu mal. Tente novamente.",
9
+ "bridge": "Bridge",
10
+ "universalevents": "Eventos universais",
11
+ "universalevents-node": "Recebe todas as mensagens de outros nós do mesmo tipo (apenas no modo universal)",
12
+ "colornamer": "Colornamer",
13
+ "colornamer-info": "Ativar a denominação das cores",
14
+ "input-name": "Nome da luz",
15
+ "searching": "A procurar luzes…",
16
+ "none-found": "Nenhuma luz encontrada!",
17
+ "light": "Luz"
18
+ },
19
+ "node": {
20
+ "not-configured": "não configurado",
21
+ "init": "a inicializar…",
22
+ "not-reachable": "inacessível",
23
+ "universal": "modo universal",
24
+ "command": "a executar comando…",
25
+ "statusmsg": "Estado consultado com sucesso…",
26
+ "title": "Hue Luz",
27
+ "turned-on": "acesa",
28
+ "turned-on-percent": "acesa (__percent__ %)",
29
+ "turned-off": "apagada",
30
+ "error-no-id": "Nenhum ID de luz definido. Consulte a documentação.",
31
+ "error-input": "erro de entrada",
32
+ "error-invalid-temp": "Temperatura de cor inválida. Apenas são permitidos valores de 153 a 500.",
33
+ "input": "ligar / desligar",
34
+ "output": "estado",
35
+ "error-not-available": "A luz ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com o bridge ou verifique se o ID do recurso indicado na configuração é válido.",
36
+ "error-invalid-brightness": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 100 por cento.",
37
+ "error-invalid-brightness-level": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 254.",
38
+ "error-invalid-sat": "Definição de saturação inválida. Apenas são permitidos valores de 0 a 100.",
39
+ "error-no-colorloop": "O efeito colorloop não está disponível para esta luz.",
40
+ "error-invalid-effect": "Efeito inválido. Esta luz suporta: __effects__",
41
+ "error-invalid-powerup": "Definição de arranque inválida. As predefinições permitidas são: __presets__"
42
+ }
43
+ }
44
+ }
@@ -0,0 +1,68 @@
1
+ <script type="text/markdown" data-help-name="hue-magic">
2
+ O nó «Hue Magic» pode aplicar animações complexas e personalizadas a luzes e grupos.
3
+
4
+ ### Configuração
5
+
6
+ Comece por dar um nome ao nó para poder identificar claramente a sua animação na interface do Node-RED. Depois pode escolher entre as opções «Repetição» e «Restaurar». Selecione a opção de repetição se quiser que a sua animação seja executada indefinidamente numa luz ou grupo até a parar manualmente. Se quiser restaurar o estado anterior do recurso de destino (luz / grupo) após o fim da animação, assinale a opção «Restaurar». Caso contrário, o último fotograma da animação permanece no respetivo recurso.
7
+
8
+ Mais abaixo pode escolher entre as animações já preparadas do HueMagic. Clique na animação pretendida para a definir.
9
+
10
+ ### Iniciar / parar a animação
11
+
12
+ Para reproduzir ou parar uma animação, transmita ao nó um objeto com o seguinte conteúdo:
13
+
14
+ : payload (boolean): `true` inicia a animação, `false` para-a
15
+
16
+ ### Animações personalizadas
17
+
18
+ Se transmitir a sua própria animação ao nó, a animação predefinida selecionada (se existir) é temporariamente substituída pela sua. As animações próprias do HueMagic são uma sequência de comandos agrupados numa matriz. Cada elemento da matriz constitui um passo, sendo que um passo também pode ser composto por vários fotogramas (efeitos de transição).
19
+
20
+ Crie um `array` com os vários passos da animação sob a forma de objeto e transmita-o ao nó HueMagic em `msg.payload.steps`.
21
+
22
+ : delay (int): Número de milissegundos a aguardar até este passo ser executado
23
+ : animation (object): O objeto contém a ação ou ações a executar neste passo. Parâmetros idênticos aos dos nós «Hue Luz» e «Hue Grupo»
24
+
25
+ ### Exemplo de uma animação personalizada
26
+
27
+ Este exemplo mostra o aspeto que uma animação simples pode ter. No primeiro passo aguarda-se o atraso de 500 milissegundos. Em seguida, a cor da luz muda lentamente para vermelho ao longo de um segundo. Assim que a luz fica completamente vermelha, é executado o segundo passo, que tem igualmente um atraso de 500 milissegundos. Por fim, a cor muda para azul.
28
+
29
+ Se tiver definido a animação em repetição, este processo repete-se indefinidamente até parar a animação manualmente ou voltar a implementar o nó.
30
+
31
+ Transmita o objeto seguinte em `msg.payload` para reproduzir a animação de exemplo.
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 especiais
54
+
55
+ Por vezes faz sentido reproduzir uma animação de forma desordenada, p. ex. para imitar o fogo de maneira mais realista. Para reproduzir os vários passos aleatoriamente, pode transmitir o seguinte comando em `msg.payload.specials`:
56
+
57
+ : randomOrder (boolean | any): `true` ativa a reprodução aleatória dos vários passos da animação
58
+
59
+ ### Dicas e indicações
60
+
61
+ Este nó não emite mensagens de estado. Ligue a saída do nó a um grupo em vez de a luzes individuais se quiser animar várias luzes ao mesmo tempo com a mesma animação. As pré-visualizações das animações já preparadas são simulações e podem diferir ligeiramente (tempos, cores) da animação real num recurso.
62
+
63
+ ### Exemplos do HueMagic
64
+
65
+ O HueMagic disponibiliza algumas configurações de exemplo para este nó. Para importar um exemplo completo na sua interface Node-RED, clique no ícone de menu do Node-RED, selecione «Importar» e navegue até «Exemplos» na barra lateral da janela. Em seguida, selecione a pasta HueMagic e o nó pretendido para importar um fluxo de exemplo.
66
+
67
+ ![examples](hue/assets/huemagic-examples.gif)
68
+ </script>
@@ -0,0 +1,26 @@
1
+ {
2
+ "hue-magic": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "input-name": "Nome da animação",
6
+ "loop": "Repetição",
7
+ "loop-endless": "Repetir indefinidamente",
8
+ "restore": "Restaurar",
9
+ "restore-state": "Restaurar o estado anterior após parar",
10
+ "animation": "Animação",
11
+ "unknown-error": "Algo correu mal. Tente novamente.",
12
+ "seconds": "s",
13
+ "minutes": "min"
14
+ },
15
+ "node": {
16
+ "title": "Hue Magic",
17
+ "no-animation": "nenhuma animação indicada",
18
+ "animating": "a animar…",
19
+ "stopped": "parada",
20
+ "input": "iniciar / parar a animação",
21
+ "output": "luz ou grupo",
22
+ "command": "a executar comando…",
23
+ "playmsg": "Animação iniciada…"
24
+ }
25
+ }
26
+ }