node-red-contrib-huemagic 4.2.2 → 5.0.1

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 +94 -5
  2. package/README.md +525 -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 +227 -11
  153. package/huemagic/hue-buttons.js +183 -28
  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 +7 -4
  191. package/huemagic/locales/de/hue-buttons.json +42 -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 +61 -0
  223. package/huemagic/locales/el/hue-buttons.json +62 -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 +6 -3
  254. package/huemagic/locales/en/hue-buttons.json +62 -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 +61 -0
  285. package/huemagic/locales/es/hue-buttons.json +62 -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 +61 -0
  317. package/huemagic/locales/fr/hue-buttons.json +62 -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 +61 -0
  349. package/huemagic/locales/it/hue-buttons.json +62 -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 +61 -0
  381. package/huemagic/locales/nl/hue-buttons.json +62 -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 +61 -0
  413. package/huemagic/locales/pl/hue-buttons.json +62 -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 +61 -0
  445. package/huemagic/locales/pt/hue-buttons.json +62 -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 +61 -0
  477. package/huemagic/locales/tr/hue-buttons.json +62 -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
+ 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
+ }
@@ -0,0 +1,64 @@
1
+ <script type="text/markdown" data-help-name="hue-motion">
2
+ O nó «Hue Movimento» pode registar e comunicar os movimentos detetados por um sensor adequado ligado 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 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 movimentos e, por conseguinte, deixa de os 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 sensor regista um movimento, 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
+ : motion (boolean): Indica se foi registado movimento
32
+ : updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
33
+
34
+ #### Informações sobre o sensor em `msg.info`
35
+
36
+ : id (string): Indica o novo ID do sensor
37
+ : idV1 (string | boolean): Indica o ID antigo do sensor
38
+ : uniqueId (string): O ID único do sensor
39
+ : deviceId (string): O ID único do dispositivo
40
+ : name (string): O nome atualmente atribuído ao sensor
41
+ : type (string): O tipo do sensor (sempre `motion`)
42
+ : softwareVersion (string): O firmware atual do sensor
43
+ : battery (float): O nível atual da bateria do sensor
44
+ : batteryState (string): O estado atual do nível da bateria. Pode conter `normal`, `low` ou `critical` como valor
45
+ : model (object): Contém as informações de modelo do sensor em `id`, `manufacturer`, `name`, `type` e `certified`
46
+
47
+ #### Alterações de estado em `msg.updated`
48
+
49
+ 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.
50
+
51
+ #### Último estado do sensor em `msg.lastState`
52
+
53
+ 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`.
54
+
55
+ #### Último comando em `msg.command` (opcional)
56
+
57
+ 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.
58
+
59
+ ### Exemplos do HueMagic
60
+
61
+ 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.
62
+
63
+ ![examples](hue/assets/huemagic-examples.gif)
64
+ </script>
@@ -0,0 +1,36 @@
1
+ {
2
+ "hue-motion": {
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 movimento…",
14
+ "none-found": "Nenhum sensor de movimento 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 Movimento",
26
+ "motion": "movimento detetado",
27
+ "no-motion": "sem movimento",
28
+ "input": "ativar / desativar / estado",
29
+ "output": "movimento detetado",
30
+ "error-no-id": "Indique um ID de sensor válido.",
31
+ "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.",
32
+ "error-no-sensitivity": "Esta fonte de movimento não tem sensibilidade ajustável.",
33
+ "error-invalid-sensitivity": "Sensibilidade inválida. Apenas são permitidos valores de 0 a __max__."
34
+ }
35
+ }
36
+ }
@@ -0,0 +1,69 @@
1
+ <script type="text/markdown" data-help-name="hue-rules">
2
+ O nó «Hue Regra» pode ativar ou desativar as regras guardadas no bridge e consultar as respetivas definições.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todas as regras disponíveis. Se já souber o ID da regra, também o pode introduzir aqui manualmente. Em alternativa, pode atribuir um novo nome ou manter o nome predefinido da regra. 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 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 nenhuma regra 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 regra específica, transmitindo o respetivo ID como cadeia de carateres em `msg.topic` juntamente com as suas definições.
9
+
10
+ ### Consultar propriedades e definições
11
+
12
+ Emite as propriedades atuais da regra 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 da regra
15
+
16
+ ### Ativar / desativar a regra
17
+
18
+ A regra pode ser ativada e desativada sempre que necessário. Se a regra estiver desativada, deixa de ser executada no bridge até a reativar. Para tal, transmita um objeto com o seguinte conteúdo:
19
+
20
+ : payload (boolean): `true` ativa a regra, `false` desativa-a
21
+
22
+ ### Mensagens de estado do nó
23
+
24
+ Assim que o estado (ativada / desativada) de uma regra muda, o nó devolve a seguinte mensagem de estado:
25
+
26
+ #### Objeto de estado em `msg.payload`
27
+
28
+ : enabled (boolean): Indica se a regra está ativada ou desativada
29
+ : triggered (string): Momento da última execução (ISO 8601)
30
+
31
+ #### Informações sobre a regra em `msg.info`
32
+
33
+ : id (string): O ID único da regra
34
+ : created (string): Data de criação da regra (ISO 8601)
35
+ : name (string): Nome da regra no bridge
36
+ : timesTriggered (int): Número de vezes que a regra foi executada no bridge
37
+ : owner (string): ID do proprietário desta regra
38
+ : status (string): Estado da regra sob a forma de cadeia de carateres
39
+
40
+ #### Condições da regra em `msg.conditions` (matriz)
41
+
42
+ : address (string): Caminho para um atributo de um sensor
43
+ : operator (string): Operador
44
+ : value (string): O valor a verificar
45
+
46
+ #### Ações da regra em `msg.actions` (matriz)
47
+
48
+ : address (string): O endereço de destino do recurso
49
+ : method (string): O método do pedido
50
+ : body (object): A ação a executar
51
+
52
+ #### Alterações de estado em `msg.updated`
53
+
54
+ Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado da regra. Se não tiverem sido registadas alterações, este objeto está vazio.
55
+
56
+ #### Último estado da regra em `msg.lastState`
57
+
58
+ Contém o objeto completo (ver os valores de saída acima) do último estado antes da última alteração registada da regra. Se o HueMagic ainda não tiver registado o último estado, é emitido `false`.
59
+
60
+ #### Último comando em `msg.command` (opcional)
61
+
62
+ 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.
63
+
64
+ ### Exemplos do HueMagic
65
+
66
+ 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.
67
+
68
+ ![examples](hue/assets/huemagic-examples.gif)
69
+ </script>
@@ -0,0 +1,30 @@
1
+ {
2
+ "hue-rules": {
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
+ "input-name": "Nome da regra",
11
+ "searching": "A procurar regras…",
12
+ "none-found": "Nenhuma regra encontrada!",
13
+ "rule": "Regra"
14
+ },
15
+ "node": {
16
+ "init": "a inicializar…",
17
+ "universal": "modo universal",
18
+ "command": "a executar comando…",
19
+ "statusmsg": "Estado consultado com sucesso…",
20
+ "title": "Hue Regra",
21
+ "no-rule": "nenhuma regra selecionada",
22
+ "enabled": "ativada",
23
+ "disabled": "desativada",
24
+ "output": "regra (executada)",
25
+ "input": "ativar / desativar",
26
+ "error-no-id": "Indique um ID de regra válido.",
27
+ "error-not-available": "A regra 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."
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,43 @@
1
+ <script type="text/markdown" data-help-name="hue-scene">
2
+ O nó «Hue Cena» pode retomar cenas guardadas no bridge e aplicá-las a determinados grupos.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todas as cenas disponíveis. As cenas são ordenadas primeiro por divisão ou zona e depois pelo nome, para que as cenas da mesma divisão fiquem sempre juntas na lista. Se já souber o ID da cena, também o pode introduzir aqui manualmente. Em alternativa, pode atribuir internamente um nome à cena ou manter o nome predefinido.
7
+
8
+ ### Ativar uma cena
9
+
10
+ Pode ativar uma cena predefinida transmitindo um objeto com o seguinte conteúdo:
11
+
12
+ : payload (boolean): Ativa uma cena pré-configurada
13
+ : transitionTime (float): Tempo de transição da cena em segundos. Se for transmitido `0`, a cena é aplicada de imediato. Se transmitir `3`, as luzes fazem a transição para a cena nos 3 segundos seguintes. O bridge aceita até 6000 segundos
14
+ : brightness (float): Brilho de toda a cena em percentagem (`0` – `100`), para poder ativar a mesma cena mais clara ou mais suave consoante a hora do dia
15
+
16
+ > [!NOTE]
17
+ > Ambas as definições só estão disponíveis para cenas normais. Uma cena inteligente segue os horários que definiu para ela na aplicação Philips Hue.
18
+
19
+ ### Ativar uma cena no modo universal
20
+
21
+ Se utilizar este nó no chamado «modo universal» e não tiver definido nenhuma cena na configuração do nó, também pode transmitir ao nó a cena pretendida como comando. Para tal, transmita um objeto `msg.payload` com o seguinte conteúdo:
22
+
23
+ : scene (string): ID da cena a ativar no bridge
24
+
25
+ ### Ativar uma cena em determinados grupos
26
+
27
+ Ligue a saída deste nó a um ou mais grupos para aplicar uma cena a grupos específicos. Em alternativa, pode fazê-lo «dinamicamente», transmitindo ao nó um objeto `msg.payload` com o seguinte conteúdo:
28
+
29
+ : group (string | array [string,…]): ID do grupo ou uma matriz com os ID de vários grupos para limitar a cena a esses grupos
30
+
31
+ ### Mais informações sobre o nó
32
+
33
+ Este nó não emite mensagens de estado.
34
+
35
+ > [!IMPORTANT]
36
+ > Só pode aplicar cenas a grupos se estes já estiverem associados à respetiva cena no bridge. Caso contrário, não será aplicado nada.
37
+
38
+ ### Exemplos do HueMagic
39
+
40
+ 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.
41
+
42
+ ![examples](hue/assets/huemagic-examples.gif)
43
+ </script>
@@ -0,0 +1,32 @@
1
+ {
2
+ "hue-scene": {
3
+ "config": {
4
+ "name": "Nome",
5
+ "input-name": "Nome da cena",
6
+ "skipevents-node": "Ignorar as mensagens do nó",
7
+ "sendinitevents-node": "Não suprimir o evento de inicialização",
8
+ "searching": "A procurar cenas…",
9
+ "none-found": "Nenhuma cena encontrada!",
10
+ "unknown-error": "Algo correu mal. Tente novamente.",
11
+ "scene": "Cena",
12
+ "group": "Grupo",
13
+ "group-none-found": "Nenhum grupo encontrado!",
14
+ "group-searching": "A procurar grupos…",
15
+ "groups-all": "Todos os grupos / luzes",
16
+ "bridge": "Bridge"
17
+ },
18
+ "node": {
19
+ "title": "Hue Cena",
20
+ "not-configured": "não configurado",
21
+ "recalled": "cena ativada",
22
+ "recalled-on-group": "cena ativada no grupo",
23
+ "no-id": "Sem ID de cena.",
24
+ "input": "ativar cena",
25
+ "output": "grupo(s) de destino",
26
+ "command": "a executar comando…",
27
+ "statusmsg": "A ativar a cena…",
28
+ "error-not-available": "A cena 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.",
29
+ "error-invalid-brightness": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 100 por cento."
30
+ }
31
+ }
32
+ }
@@ -0,0 +1,80 @@
1
+ <script type="text/markdown" data-help-name="hue-speaker">
2
+ O nó «Hue Altifalante» pode reproduzir os sons de uma campainha Hue Secure e utilizá-la como sirene de interior.
3
+
4
+ ### Configuração
5
+
6
+ Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todos os altifalantes disponíveis. Se já souber o ID do altifalante, também o pode introduzir aqui manualmente. Pode atribuir internamente um novo nome ao altifalante 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 altifalante 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 altifalante 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 altifalante 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 altifalante 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 altifalante
15
+
16
+ ### Reproduzir um som
17
+
18
+ Um altifalante conhece três canais distintos. `chime` é o som da campainha, `alarm` é a sirene e `alert` é uma notificação curta. Os sons que um aparelho conhece efetivamente são listados em `msg.info.sounds`. Transmita os seguintes parâmetros num objeto `msg.payload`:
19
+
20
+ : chime (string | object | boolean): Nome do som da campainha; `false` para-o novamente
21
+ : alarm (string | object | boolean): Nome do som da sirene; `false` para-o novamente
22
+ : alert (string | object | boolean): Nome do som de notificação; `false` para-o novamente
23
+ : mute (boolean): `true` silencia o altifalante, `false` volta a ativar o som
24
+
25
+ Em vez de um simples nome de som, também pode transmitir um objeto para controlar o volume e a duração:
26
+
27
+ : sound (string): Nome do som, p. ex. `ding_dong_classic` ou `siren`
28
+ : volume (int): Volume em percentagem (0-100)
29
+ : duration (float): Tempo de reprodução em segundos
30
+
31
+ ### Mensagens de estado do nó
32
+
33
+ Assim que o altifalante começa ou deixa de reproduzir, o nó devolve a seguinte mensagem de estado.
34
+
35
+ > [!NOTE]
36
+ > O bridge comunica o último som reproduzido e só o repõe bastante depois de terminada a reprodução, pelo que estes valores ficam ligeiramente atrasados em relação ao áudio.
37
+
38
+ #### Objeto de estado em `msg.payload`
39
+
40
+ : reachable (boolean | string): `true` se o altifalante estiver ligado ao bridge, `unknown` se o estado da ligação divergir
41
+ : 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
42
+ : playing (boolean): `true` enquanto o altifalante estiver a reproduzir algum som
43
+ : chime (string | boolean): Nome do som de campainha em reprodução ou `false`
44
+ : alarm (string | boolean): Nome do som de sirene em reprodução ou `false`
45
+ : alert (string | boolean): Nome do som de notificação em reprodução ou `false`
46
+ : muted (boolean): Indica se o altifalante está silenciado
47
+ : updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
48
+
49
+ #### Informações sobre o altifalante em `msg.info`
50
+
51
+ : id (string): Indica o novo ID do altifalante
52
+ : idV1 (string | boolean): Indica o ID antigo do altifalante
53
+ : uniqueId (string): O ID único do altifalante
54
+ : deviceId (string): O ID único do dispositivo
55
+ : name (string): O nome atualmente atribuído ao altifalante
56
+ : type (string): O tipo do dispositivo (sempre `speaker`)
57
+ : softwareVersion (string): O firmware atual do altifalante
58
+ : battery (float | boolean): O nível atual da bateria do altifalante, `false` quando não existe bateria
59
+ : 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
60
+ : sounds (object): Contém os sons que este aparelho conhece em `chime`, `alarm` e `alert`
61
+ : model (object): Contém as informações de modelo do altifalante em `id`, `manufacturer`, `name`, `type` e `certified`
62
+
63
+ #### Alterações de estado em `msg.updated`
64
+
65
+ Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado do altifalante. Se não tiverem sido registadas alterações, este objeto está vazio.
66
+
67
+ #### Último estado do altifalante em `msg.lastState`
68
+
69
+ 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`.
70
+
71
+ #### Último comando em `msg.command` (opcional)
72
+
73
+ 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.
74
+
75
+ ### Exemplos do HueMagic
76
+
77
+ 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.
78
+
79
+ ![examples](hue/assets/huemagic-examples.gif)
80
+ </script>
@@ -0,0 +1,38 @@
1
+ {
2
+ "hue-speaker": {
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 altifalante",
13
+ "searching": "A procurar altifalantes…",
14
+ "none-found": "Nenhum altifalante encontrado!",
15
+ "speaker": "Altifalante"
16
+ },
17
+ "node": {
18
+ "not-configured": "não configurado",
19
+ "not-reachable": "inacessível",
20
+ "universal": "modo universal",
21
+ "command": "a executar comando…",
22
+ "statusmsg": "Estado consultado com sucesso…",
23
+ "title": "Hue Altifalante",
24
+ "silent": "silencioso",
25
+ "muted": "sem som",
26
+ "playing-alarm": "alarme (__sound__)",
27
+ "playing-chime": "campainha (__sound__)",
28
+ "playing-alert": "aviso (__sound__)",
29
+ "input": "reproduzir som / estado",
30
+ "output": "altifalante",
31
+ "error-no-id": "Indique um ID de altifalante válido.",
32
+ "error-not-available": "O altifalante 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
+ "error-no-channel": "Este altifalante não tem qualquer som do tipo __channel__.",
34
+ "error-invalid-sound": "Som de __channel__ inválido. São permitidos: __sounds__",
35
+ "error-invalid-volume": "Definição de volume inválida. Apenas são permitidos valores de 0 a 100."
36
+ }
37
+ }
38
+ }