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.
- package/CHANGELOG.md +94 -5
- package/README.md +525 -123
- package/examples/Deutsch/Hue Automation.json +176 -0
- package/examples/Deutsch/Hue Bridge.json +256 -0
- package/examples/Deutsch/Hue Brightness.json +150 -0
- package/examples/Deutsch/Hue Buttons.json +88 -0
- package/examples/Deutsch/Hue Contact.json +150 -0
- package/examples/Deutsch/Hue Group.json +658 -0
- package/examples/Deutsch/Hue Light.json +893 -0
- package/examples/Deutsch/Hue Magic.json +148 -0
- package/examples/Deutsch/Hue Motion.json +150 -0
- package/examples/Deutsch/Hue Rules.json +150 -0
- package/examples/Deutsch/Hue Scene.json +178 -0
- package/examples/Deutsch/Hue Speaker.json +274 -0
- package/examples/Deutsch/Hue Sync Box.json +378 -0
- package/examples/Deutsch/Hue Temperature.json +150 -0
- package/examples/English/Hue Automation.json +176 -0
- package/examples/{Hue Bridge.json → English/Hue Bridge.json } +1 -1
- package/examples/{Hue Brightness.json → English/Hue Brightness.json } +1 -1
- package/examples/{Hue Buttons.json → English/Hue Buttons.json } +1 -1
- package/examples/English/Hue Contact.json +150 -0
- package/examples/{Hue Group.json → English/Hue Group.json } +1 -1
- package/examples/{Hue Light.json → English/Hue Light.json } +1 -1
- package/examples/{Hue Magic.json → English/Hue Magic.json } +1 -1
- package/examples/{Hue Motion.json → English/Hue Motion.json } +1 -1
- package/examples/{Hue Rules.json → English/Hue Rules.json } +1 -1
- package/examples/{Hue Scene.json → English/Hue Scene.json } +1 -1
- package/examples/English/Hue Speaker.json +274 -0
- package/examples/English/Hue Sync Box.json +378 -0
- package/examples/{Hue Temperature.json → English/Hue Temperature.json } +1 -1
- package/examples/Espa/303/261ol/Hue Automation.json" +176 -0
- package/examples/Espa/303/261ol/Hue Bridge.json" +256 -0
- package/examples/Espa/303/261ol/Hue Brightness.json" +150 -0
- package/examples/Espa/303/261ol/Hue Buttons.json" +88 -0
- package/examples/Espa/303/261ol/Hue Contact.json" +150 -0
- package/examples/Espa/303/261ol/Hue Group.json" +658 -0
- package/examples/Espa/303/261ol/Hue Light.json" +893 -0
- package/examples/Espa/303/261ol/Hue Magic.json" +148 -0
- package/examples/Espa/303/261ol/Hue Motion.json" +150 -0
- package/examples/Espa/303/261ol/Hue Rules.json" +150 -0
- package/examples/Espa/303/261ol/Hue Scene.json" +178 -0
- package/examples/Espa/303/261ol/Hue Speaker.json" +274 -0
- package/examples/Espa/303/261ol/Hue Sync Box.json" +378 -0
- package/examples/Espa/303/261ol/Hue Temperature.json" +150 -0
- package/examples/Fran/303/247ais/Hue Automation.json" +176 -0
- package/examples/Fran/303/247ais/Hue Bridge.json" +256 -0
- package/examples/Fran/303/247ais/Hue Brightness.json" +150 -0
- package/examples/Fran/303/247ais/Hue Buttons.json" +88 -0
- package/examples/Fran/303/247ais/Hue Contact.json" +150 -0
- package/examples/Fran/303/247ais/Hue Group.json" +658 -0
- package/examples/Fran/303/247ais/Hue Light.json" +893 -0
- package/examples/Fran/303/247ais/Hue Magic.json" +148 -0
- package/examples/Fran/303/247ais/Hue Motion.json" +150 -0
- package/examples/Fran/303/247ais/Hue Rules.json" +150 -0
- package/examples/Fran/303/247ais/Hue Scene.json" +178 -0
- package/examples/Fran/303/247ais/Hue Speaker.json" +274 -0
- package/examples/Fran/303/247ais/Hue Sync Box.json" +378 -0
- package/examples/Fran/303/247ais/Hue Temperature.json" +150 -0
- package/examples/Italiano/Hue Automation.json +176 -0
- package/examples/Italiano/Hue Bridge.json +256 -0
- package/examples/Italiano/Hue Brightness.json +150 -0
- package/examples/Italiano/Hue Buttons.json +88 -0
- package/examples/Italiano/Hue Contact.json +150 -0
- package/examples/Italiano/Hue Group.json +658 -0
- package/examples/Italiano/Hue Light.json +893 -0
- package/examples/Italiano/Hue Magic.json +148 -0
- package/examples/Italiano/Hue Motion.json +150 -0
- package/examples/Italiano/Hue Rules.json +150 -0
- package/examples/Italiano/Hue Scene.json +178 -0
- package/examples/Italiano/Hue Speaker.json +274 -0
- package/examples/Italiano/Hue Sync Box.json +378 -0
- package/examples/Italiano/Hue Temperature.json +150 -0
- package/examples/Nederlands/Hue Automation.json +176 -0
- package/examples/Nederlands/Hue Bridge.json +256 -0
- package/examples/Nederlands/Hue Brightness.json +150 -0
- package/examples/Nederlands/Hue Buttons.json +88 -0
- package/examples/Nederlands/Hue Contact.json +150 -0
- package/examples/Nederlands/Hue Group.json +658 -0
- package/examples/Nederlands/Hue Light.json +893 -0
- package/examples/Nederlands/Hue Magic.json +148 -0
- package/examples/Nederlands/Hue Motion.json +150 -0
- package/examples/Nederlands/Hue Rules.json +150 -0
- package/examples/Nederlands/Hue Scene.json +178 -0
- package/examples/Nederlands/Hue Speaker.json +274 -0
- package/examples/Nederlands/Hue Sync Box.json +378 -0
- package/examples/Nederlands/Hue Temperature.json +150 -0
- package/examples/Polski/Hue Automation.json +176 -0
- package/examples/Polski/Hue Bridge.json +256 -0
- package/examples/Polski/Hue Brightness.json +150 -0
- package/examples/Polski/Hue Buttons.json +88 -0
- package/examples/Polski/Hue Contact.json +150 -0
- package/examples/Polski/Hue Group.json +658 -0
- package/examples/Polski/Hue Light.json +893 -0
- package/examples/Polski/Hue Magic.json +148 -0
- package/examples/Polski/Hue Motion.json +150 -0
- package/examples/Polski/Hue Rules.json +150 -0
- package/examples/Polski/Hue Scene.json +178 -0
- package/examples/Polski/Hue Speaker.json +274 -0
- package/examples/Polski/Hue Sync Box.json +378 -0
- package/examples/Polski/Hue Temperature.json +150 -0
- package/examples/Portugu/303/252s/Hue Automation.json" +176 -0
- package/examples/Portugu/303/252s/Hue Bridge.json" +256 -0
- package/examples/Portugu/303/252s/Hue Brightness.json" +150 -0
- package/examples/Portugu/303/252s/Hue Buttons.json" +88 -0
- package/examples/Portugu/303/252s/Hue Contact.json" +150 -0
- package/examples/Portugu/303/252s/Hue Group.json" +658 -0
- package/examples/Portugu/303/252s/Hue Light.json" +893 -0
- package/examples/Portugu/303/252s/Hue Magic.json" +148 -0
- package/examples/Portugu/303/252s/Hue Motion.json" +150 -0
- package/examples/Portugu/303/252s/Hue Rules.json" +150 -0
- package/examples/Portugu/303/252s/Hue Scene.json" +178 -0
- package/examples/Portugu/303/252s/Hue Speaker.json" +274 -0
- package/examples/Portugu/303/252s/Hue Sync Box.json" +378 -0
- package/examples/Portugu/303/252s/Hue Temperature.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Automation.json" +176 -0
- package/examples/T/303/274rk/303/247e/Hue Bridge.json" +256 -0
- package/examples/T/303/274rk/303/247e/Hue Brightness.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Buttons.json" +88 -0
- package/examples/T/303/274rk/303/247e/Hue Contact.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Group.json" +658 -0
- package/examples/T/303/274rk/303/247e/Hue Light.json" +893 -0
- package/examples/T/303/274rk/303/247e/Hue Magic.json" +148 -0
- package/examples/T/303/274rk/303/247e/Hue Motion.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Rules.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Scene.json" +178 -0
- package/examples/T/303/274rk/303/247e/Hue Speaker.json" +274 -0
- package/examples/T/303/274rk/303/247e/Hue Sync Box.json" +378 -0
- package/examples/T/303/274rk/303/247e/Hue Temperature.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Automation.json" +176 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +256 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Brightness.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Buttons.json" +88 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Contact.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Group.json" +658 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Light.json" +893 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Magic.json" +148 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Motion.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Rules.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Scene.json" +178 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Speaker.json" +274 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Sync Box.json" +378 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Temperature.json" +150 -0
- package/huemagic/assets/huemagic-examples.gif +0 -0
- package/huemagic/hue-automation.html +218 -0
- package/huemagic/hue-automation.js +173 -0
- package/huemagic/hue-bridge-config.html +39 -32
- package/huemagic/hue-bridge-config.js +290 -99
- package/huemagic/hue-bridge.html +8 -8
- package/huemagic/hue-bridge.js +29 -4
- package/huemagic/hue-brightness.html +21 -9
- package/huemagic/hue-brightness.js +20 -10
- package/huemagic/hue-buttons.html +227 -11
- package/huemagic/hue-buttons.js +183 -28
- package/huemagic/hue-contact.html +218 -0
- package/huemagic/hue-contact.js +209 -0
- package/huemagic/hue-group.html +16 -9
- package/huemagic/hue-group.js +141 -179
- package/huemagic/hue-light.html +19 -12
- package/huemagic/hue-light.js +222 -167
- package/huemagic/hue-magic.html +3 -5
- package/huemagic/hue-motion.html +16 -9
- package/huemagic/hue-motion.js +37 -8
- package/huemagic/hue-rules.html +16 -9
- package/huemagic/hue-rules.js +16 -8
- package/huemagic/hue-scene.html +9 -5
- package/huemagic/hue-scene.js +52 -16
- package/huemagic/hue-speaker.html +218 -0
- package/huemagic/hue-speaker.js +257 -0
- package/huemagic/hue-syncbox-config.html +123 -0
- package/huemagic/hue-syncbox-config.js +179 -0
- package/huemagic/hue-syncbox.html +82 -0
- package/huemagic/hue-syncbox.js +274 -0
- package/huemagic/hue-temperature.html +21 -9
- package/huemagic/hue-temperature.js +18 -10
- package/huemagic/icons/hue-automation.png +0 -0
- package/huemagic/icons/hue-automation.svg +3 -0
- package/huemagic/icons/hue-contact.png +0 -0
- package/huemagic/icons/hue-contact.svg +4 -0
- package/huemagic/icons/hue-speaker.png +0 -0
- package/huemagic/icons/hue-speaker.svg +6 -0
- package/huemagic/icons/hue-syncbox.png +0 -0
- package/huemagic/icons/hue-syncbox.svg +7 -0
- package/huemagic/locales/de/hue-automation.html +59 -0
- package/huemagic/locales/de/hue-automation.json +33 -0
- package/huemagic/locales/de/hue-bridge-config.json +23 -12
- package/huemagic/locales/de/hue-bridge.html +7 -4
- package/huemagic/locales/de/hue-bridge.json +9 -10
- package/huemagic/locales/de/hue-brightness.html +9 -6
- package/huemagic/locales/de/hue-brightness.json +13 -9
- package/huemagic/locales/de/hue-buttons.html +7 -4
- package/huemagic/locales/de/hue-buttons.json +42 -8
- package/huemagic/locales/de/hue-contact.html +67 -0
- package/huemagic/locales/de/hue-contact.json +35 -0
- package/huemagic/locales/de/hue-group.html +17 -6
- package/huemagic/locales/de/hue-group.json +16 -9
- package/huemagic/locales/de/hue-light.html +6 -6
- package/huemagic/locales/de/hue-light.json +17 -9
- package/huemagic/locales/de/hue-magic.html +1 -1
- package/huemagic/locales/de/hue-magic.json +6 -8
- package/huemagic/locales/de/hue-motion.html +4 -4
- package/huemagic/locales/de/hue-motion.json +14 -9
- package/huemagic/locales/de/hue-rules.html +2 -2
- package/huemagic/locales/de/hue-rules.json +10 -9
- package/huemagic/locales/de/hue-scene.html +11 -3
- package/huemagic/locales/de/hue-scene.json +9 -9
- package/huemagic/locales/de/hue-speaker.html +80 -0
- package/huemagic/locales/de/hue-speaker.json +38 -0
- package/huemagic/locales/de/hue-syncbox-config.html +19 -0
- package/huemagic/locales/de/hue-syncbox-config.json +25 -0
- package/huemagic/locales/de/hue-syncbox.html +86 -0
- package/huemagic/locales/de/hue-syncbox.json +30 -0
- package/huemagic/locales/de/hue-temperature.html +7 -5
- package/huemagic/locales/de/hue-temperature.json +13 -9
- package/huemagic/locales/el/hue-automation.html +59 -0
- package/huemagic/locales/el/hue-automation.json +33 -0
- package/huemagic/locales/el/hue-bridge-config.html +31 -0
- package/huemagic/locales/el/hue-bridge-config.json +40 -0
- package/huemagic/locales/el/hue-bridge.html +96 -0
- package/huemagic/locales/el/hue-bridge.json +26 -0
- package/huemagic/locales/el/hue-brightness.html +70 -0
- package/huemagic/locales/el/hue-brightness.json +37 -0
- package/huemagic/locales/el/hue-buttons.html +61 -0
- package/huemagic/locales/el/hue-buttons.json +62 -0
- package/huemagic/locales/el/hue-contact.html +67 -0
- package/huemagic/locales/el/hue-contact.json +35 -0
- package/huemagic/locales/el/hue-group.html +87 -0
- package/huemagic/locales/el/hue-group.json +46 -0
- package/huemagic/locales/el/hue-light.html +97 -0
- package/huemagic/locales/el/hue-light.json +44 -0
- package/huemagic/locales/el/hue-magic.html +68 -0
- package/huemagic/locales/el/hue-magic.json +26 -0
- package/huemagic/locales/el/hue-motion.html +64 -0
- package/huemagic/locales/el/hue-motion.json +36 -0
- package/huemagic/locales/el/hue-rules.html +69 -0
- package/huemagic/locales/el/hue-rules.json +30 -0
- package/huemagic/locales/el/hue-scene.html +43 -0
- package/huemagic/locales/el/hue-scene.json +32 -0
- package/huemagic/locales/el/hue-speaker.html +80 -0
- package/huemagic/locales/el/hue-speaker.json +38 -0
- package/huemagic/locales/el/hue-syncbox-config.html +19 -0
- package/huemagic/locales/el/hue-syncbox-config.json +25 -0
- package/huemagic/locales/el/hue-syncbox.html +86 -0
- package/huemagic/locales/el/hue-syncbox.json +30 -0
- package/huemagic/locales/el/hue-temperature.html +69 -0
- package/huemagic/locales/el/hue-temperature.json +33 -0
- package/huemagic/locales/en/hue-automation.html +59 -0
- package/huemagic/locales/en/hue-automation.json +33 -0
- package/huemagic/locales/en/hue-bridge-config.json +40 -0
- package/huemagic/locales/{en-US → en}/hue-bridge.html +5 -2
- package/huemagic/locales/{en-US → en}/hue-bridge.json +8 -9
- package/huemagic/locales/{en-US → en}/hue-brightness.html +6 -3
- package/huemagic/locales/{en-US → en}/hue-brightness.json +11 -9
- package/huemagic/locales/{en-US → en}/hue-buttons.html +6 -3
- package/huemagic/locales/en/hue-buttons.json +62 -0
- package/huemagic/locales/en/hue-contact.html +67 -0
- package/huemagic/locales/en/hue-contact.json +35 -0
- package/huemagic/locales/{en-US → en}/hue-group.html +16 -5
- package/huemagic/locales/{en-US → en}/hue-group.json +15 -10
- package/huemagic/locales/{en-US → en}/hue-light.html +3 -3
- package/huemagic/locales/en/hue-light.json +44 -0
- package/huemagic/locales/{en-US → en}/hue-magic.html +1 -1
- package/huemagic/locales/{en-US → en}/hue-motion.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-motion.json +12 -9
- package/huemagic/locales/{en-US → en}/hue-rules.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-rules.json +10 -9
- package/huemagic/locales/{en-US → en}/hue-scene.html +11 -3
- package/huemagic/locales/{en-US → en}/hue-scene.json +9 -9
- package/huemagic/locales/en/hue-speaker.html +80 -0
- package/huemagic/locales/en/hue-speaker.json +38 -0
- package/huemagic/locales/en/hue-syncbox-config.html +19 -0
- package/huemagic/locales/en/hue-syncbox-config.json +25 -0
- package/huemagic/locales/en/hue-syncbox.html +86 -0
- package/huemagic/locales/en/hue-syncbox.json +30 -0
- package/huemagic/locales/{en-US → en}/hue-temperature.html +4 -2
- package/huemagic/locales/{en-US → en}/hue-temperature.json +11 -9
- package/huemagic/locales/es/hue-automation.html +59 -0
- package/huemagic/locales/es/hue-automation.json +33 -0
- package/huemagic/locales/es/hue-bridge-config.html +31 -0
- package/huemagic/locales/es/hue-bridge-config.json +40 -0
- package/huemagic/locales/es/hue-bridge.html +96 -0
- package/huemagic/locales/es/hue-bridge.json +26 -0
- package/huemagic/locales/es/hue-brightness.html +70 -0
- package/huemagic/locales/es/hue-brightness.json +37 -0
- package/huemagic/locales/es/hue-buttons.html +61 -0
- package/huemagic/locales/es/hue-buttons.json +62 -0
- package/huemagic/locales/es/hue-contact.html +67 -0
- package/huemagic/locales/es/hue-contact.json +35 -0
- package/huemagic/locales/es/hue-group.html +87 -0
- package/huemagic/locales/es/hue-group.json +46 -0
- package/huemagic/locales/es/hue-light.html +97 -0
- package/huemagic/locales/es/hue-light.json +44 -0
- package/huemagic/locales/es/hue-magic.html +68 -0
- package/huemagic/locales/es/hue-magic.json +26 -0
- package/huemagic/locales/es/hue-motion.html +64 -0
- package/huemagic/locales/es/hue-motion.json +36 -0
- package/huemagic/locales/es/hue-rules.html +69 -0
- package/huemagic/locales/es/hue-rules.json +30 -0
- package/huemagic/locales/es/hue-scene.html +43 -0
- package/huemagic/locales/es/hue-scene.json +32 -0
- package/huemagic/locales/es/hue-speaker.html +80 -0
- package/huemagic/locales/es/hue-speaker.json +38 -0
- package/huemagic/locales/es/hue-syncbox-config.html +19 -0
- package/huemagic/locales/es/hue-syncbox-config.json +25 -0
- package/huemagic/locales/es/hue-syncbox.html +86 -0
- package/huemagic/locales/es/hue-syncbox.json +30 -0
- package/huemagic/locales/es/hue-temperature.html +69 -0
- package/huemagic/locales/es/hue-temperature.json +33 -0
- package/huemagic/locales/fr/hue-automation.html +59 -0
- package/huemagic/locales/fr/hue-automation.json +33 -0
- package/huemagic/locales/fr/hue-bridge-config.html +31 -0
- package/huemagic/locales/fr/hue-bridge-config.json +40 -0
- package/huemagic/locales/fr/hue-bridge.html +96 -0
- package/huemagic/locales/fr/hue-bridge.json +26 -0
- package/huemagic/locales/fr/hue-brightness.html +70 -0
- package/huemagic/locales/fr/hue-brightness.json +37 -0
- package/huemagic/locales/fr/hue-buttons.html +61 -0
- package/huemagic/locales/fr/hue-buttons.json +62 -0
- package/huemagic/locales/fr/hue-contact.html +67 -0
- package/huemagic/locales/fr/hue-contact.json +35 -0
- package/huemagic/locales/fr/hue-group.html +87 -0
- package/huemagic/locales/fr/hue-group.json +46 -0
- package/huemagic/locales/fr/hue-light.html +97 -0
- package/huemagic/locales/fr/hue-light.json +44 -0
- package/huemagic/locales/fr/hue-magic.html +68 -0
- package/huemagic/locales/fr/hue-magic.json +26 -0
- package/huemagic/locales/fr/hue-motion.html +64 -0
- package/huemagic/locales/fr/hue-motion.json +36 -0
- package/huemagic/locales/fr/hue-rules.html +69 -0
- package/huemagic/locales/fr/hue-rules.json +30 -0
- package/huemagic/locales/fr/hue-scene.html +43 -0
- package/huemagic/locales/fr/hue-scene.json +32 -0
- package/huemagic/locales/fr/hue-speaker.html +80 -0
- package/huemagic/locales/fr/hue-speaker.json +38 -0
- package/huemagic/locales/fr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/fr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/fr/hue-syncbox.html +86 -0
- package/huemagic/locales/fr/hue-syncbox.json +30 -0
- package/huemagic/locales/fr/hue-temperature.html +69 -0
- package/huemagic/locales/fr/hue-temperature.json +33 -0
- package/huemagic/locales/it/hue-automation.html +59 -0
- package/huemagic/locales/it/hue-automation.json +33 -0
- package/huemagic/locales/it/hue-bridge-config.html +31 -0
- package/huemagic/locales/it/hue-bridge-config.json +40 -0
- package/huemagic/locales/it/hue-bridge.html +96 -0
- package/huemagic/locales/it/hue-bridge.json +26 -0
- package/huemagic/locales/it/hue-brightness.html +70 -0
- package/huemagic/locales/it/hue-brightness.json +37 -0
- package/huemagic/locales/it/hue-buttons.html +61 -0
- package/huemagic/locales/it/hue-buttons.json +62 -0
- package/huemagic/locales/it/hue-contact.html +67 -0
- package/huemagic/locales/it/hue-contact.json +35 -0
- package/huemagic/locales/it/hue-group.html +87 -0
- package/huemagic/locales/it/hue-group.json +46 -0
- package/huemagic/locales/it/hue-light.html +97 -0
- package/huemagic/locales/it/hue-light.json +44 -0
- package/huemagic/locales/it/hue-magic.html +68 -0
- package/huemagic/locales/it/hue-magic.json +26 -0
- package/huemagic/locales/it/hue-motion.html +64 -0
- package/huemagic/locales/it/hue-motion.json +36 -0
- package/huemagic/locales/it/hue-rules.html +69 -0
- package/huemagic/locales/it/hue-rules.json +30 -0
- package/huemagic/locales/it/hue-scene.html +43 -0
- package/huemagic/locales/it/hue-scene.json +32 -0
- package/huemagic/locales/it/hue-speaker.html +80 -0
- package/huemagic/locales/it/hue-speaker.json +38 -0
- package/huemagic/locales/it/hue-syncbox-config.html +19 -0
- package/huemagic/locales/it/hue-syncbox-config.json +25 -0
- package/huemagic/locales/it/hue-syncbox.html +86 -0
- package/huemagic/locales/it/hue-syncbox.json +30 -0
- package/huemagic/locales/it/hue-temperature.html +69 -0
- package/huemagic/locales/it/hue-temperature.json +33 -0
- package/huemagic/locales/nl/hue-automation.html +59 -0
- package/huemagic/locales/nl/hue-automation.json +33 -0
- package/huemagic/locales/nl/hue-bridge-config.html +31 -0
- package/huemagic/locales/nl/hue-bridge-config.json +40 -0
- package/huemagic/locales/nl/hue-bridge.html +96 -0
- package/huemagic/locales/nl/hue-bridge.json +26 -0
- package/huemagic/locales/nl/hue-brightness.html +70 -0
- package/huemagic/locales/nl/hue-brightness.json +37 -0
- package/huemagic/locales/nl/hue-buttons.html +61 -0
- package/huemagic/locales/nl/hue-buttons.json +62 -0
- package/huemagic/locales/nl/hue-contact.html +67 -0
- package/huemagic/locales/nl/hue-contact.json +35 -0
- package/huemagic/locales/nl/hue-group.html +87 -0
- package/huemagic/locales/nl/hue-group.json +46 -0
- package/huemagic/locales/nl/hue-light.html +97 -0
- package/huemagic/locales/nl/hue-light.json +44 -0
- package/huemagic/locales/nl/hue-magic.html +68 -0
- package/huemagic/locales/nl/hue-magic.json +26 -0
- package/huemagic/locales/nl/hue-motion.html +64 -0
- package/huemagic/locales/nl/hue-motion.json +36 -0
- package/huemagic/locales/nl/hue-rules.html +69 -0
- package/huemagic/locales/nl/hue-rules.json +30 -0
- package/huemagic/locales/nl/hue-scene.html +43 -0
- package/huemagic/locales/nl/hue-scene.json +32 -0
- package/huemagic/locales/nl/hue-speaker.html +80 -0
- package/huemagic/locales/nl/hue-speaker.json +38 -0
- package/huemagic/locales/nl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/nl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/nl/hue-syncbox.html +86 -0
- package/huemagic/locales/nl/hue-syncbox.json +30 -0
- package/huemagic/locales/nl/hue-temperature.html +69 -0
- package/huemagic/locales/nl/hue-temperature.json +33 -0
- package/huemagic/locales/pl/hue-automation.html +59 -0
- package/huemagic/locales/pl/hue-automation.json +33 -0
- package/huemagic/locales/pl/hue-bridge-config.html +31 -0
- package/huemagic/locales/pl/hue-bridge-config.json +40 -0
- package/huemagic/locales/pl/hue-bridge.html +96 -0
- package/huemagic/locales/pl/hue-bridge.json +26 -0
- package/huemagic/locales/pl/hue-brightness.html +70 -0
- package/huemagic/locales/pl/hue-brightness.json +37 -0
- package/huemagic/locales/pl/hue-buttons.html +61 -0
- package/huemagic/locales/pl/hue-buttons.json +62 -0
- package/huemagic/locales/pl/hue-contact.html +67 -0
- package/huemagic/locales/pl/hue-contact.json +35 -0
- package/huemagic/locales/pl/hue-group.html +87 -0
- package/huemagic/locales/pl/hue-group.json +46 -0
- package/huemagic/locales/pl/hue-light.html +97 -0
- package/huemagic/locales/pl/hue-light.json +44 -0
- package/huemagic/locales/pl/hue-magic.html +68 -0
- package/huemagic/locales/pl/hue-magic.json +26 -0
- package/huemagic/locales/pl/hue-motion.html +64 -0
- package/huemagic/locales/pl/hue-motion.json +36 -0
- package/huemagic/locales/pl/hue-rules.html +69 -0
- package/huemagic/locales/pl/hue-rules.json +30 -0
- package/huemagic/locales/pl/hue-scene.html +43 -0
- package/huemagic/locales/pl/hue-scene.json +32 -0
- package/huemagic/locales/pl/hue-speaker.html +80 -0
- package/huemagic/locales/pl/hue-speaker.json +38 -0
- package/huemagic/locales/pl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pl/hue-syncbox.html +86 -0
- package/huemagic/locales/pl/hue-syncbox.json +30 -0
- package/huemagic/locales/pl/hue-temperature.html +69 -0
- package/huemagic/locales/pl/hue-temperature.json +33 -0
- package/huemagic/locales/pt/hue-automation.html +59 -0
- package/huemagic/locales/pt/hue-automation.json +33 -0
- package/huemagic/locales/pt/hue-bridge-config.html +31 -0
- package/huemagic/locales/pt/hue-bridge-config.json +40 -0
- package/huemagic/locales/pt/hue-bridge.html +96 -0
- package/huemagic/locales/pt/hue-bridge.json +26 -0
- package/huemagic/locales/pt/hue-brightness.html +70 -0
- package/huemagic/locales/pt/hue-brightness.json +37 -0
- package/huemagic/locales/pt/hue-buttons.html +61 -0
- package/huemagic/locales/pt/hue-buttons.json +62 -0
- package/huemagic/locales/pt/hue-contact.html +67 -0
- package/huemagic/locales/pt/hue-contact.json +35 -0
- package/huemagic/locales/pt/hue-group.html +87 -0
- package/huemagic/locales/pt/hue-group.json +46 -0
- package/huemagic/locales/pt/hue-light.html +97 -0
- package/huemagic/locales/pt/hue-light.json +44 -0
- package/huemagic/locales/pt/hue-magic.html +68 -0
- package/huemagic/locales/pt/hue-magic.json +26 -0
- package/huemagic/locales/pt/hue-motion.html +64 -0
- package/huemagic/locales/pt/hue-motion.json +36 -0
- package/huemagic/locales/pt/hue-rules.html +69 -0
- package/huemagic/locales/pt/hue-rules.json +30 -0
- package/huemagic/locales/pt/hue-scene.html +43 -0
- package/huemagic/locales/pt/hue-scene.json +32 -0
- package/huemagic/locales/pt/hue-speaker.html +80 -0
- package/huemagic/locales/pt/hue-speaker.json +38 -0
- package/huemagic/locales/pt/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pt/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pt/hue-syncbox.html +86 -0
- package/huemagic/locales/pt/hue-syncbox.json +30 -0
- package/huemagic/locales/pt/hue-temperature.html +69 -0
- package/huemagic/locales/pt/hue-temperature.json +33 -0
- package/huemagic/locales/tr/hue-automation.html +59 -0
- package/huemagic/locales/tr/hue-automation.json +33 -0
- package/huemagic/locales/tr/hue-bridge-config.html +31 -0
- package/huemagic/locales/tr/hue-bridge-config.json +40 -0
- package/huemagic/locales/tr/hue-bridge.html +96 -0
- package/huemagic/locales/tr/hue-bridge.json +26 -0
- package/huemagic/locales/tr/hue-brightness.html +70 -0
- package/huemagic/locales/tr/hue-brightness.json +37 -0
- package/huemagic/locales/tr/hue-buttons.html +61 -0
- package/huemagic/locales/tr/hue-buttons.json +62 -0
- package/huemagic/locales/tr/hue-contact.html +67 -0
- package/huemagic/locales/tr/hue-contact.json +35 -0
- package/huemagic/locales/tr/hue-group.html +87 -0
- package/huemagic/locales/tr/hue-group.json +46 -0
- package/huemagic/locales/tr/hue-light.html +97 -0
- package/huemagic/locales/tr/hue-light.json +44 -0
- package/huemagic/locales/tr/hue-magic.html +68 -0
- package/huemagic/locales/tr/hue-magic.json +26 -0
- package/huemagic/locales/tr/hue-motion.html +64 -0
- package/huemagic/locales/tr/hue-motion.json +36 -0
- package/huemagic/locales/tr/hue-rules.html +69 -0
- package/huemagic/locales/tr/hue-rules.json +30 -0
- package/huemagic/locales/tr/hue-scene.html +43 -0
- package/huemagic/locales/tr/hue-scene.json +32 -0
- package/huemagic/locales/tr/hue-speaker.html +80 -0
- package/huemagic/locales/tr/hue-speaker.json +38 -0
- package/huemagic/locales/tr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/tr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/tr/hue-syncbox.html +86 -0
- package/huemagic/locales/tr/hue-syncbox.json +30 -0
- package/huemagic/locales/tr/hue-temperature.html +69 -0
- package/huemagic/locales/tr/hue-temperature.json +33 -0
- package/huemagic/utils/api.js +158 -54
- package/huemagic/utils/color.js +20 -2
- package/huemagic/utils/merge.js +3 -2
- package/huemagic/utils/messages.js +506 -120
- package/huemagic/utils/sse.js +51 -0
- package/huemagic/utils/syncbox.js +84 -0
- package/package.json +19 -11
- package/.github/FUNDING.yml +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/npm.yml +0 -18
- package/huemagic/locales/en-US/hue-bridge-config.json +0 -29
- package/huemagic/locales/en-US/hue-buttons.json +0 -34
- package/huemagic/locales/en-US/hue-light.json +0 -38
- /package/huemagic/locales/{en-US → en}/hue-bridge-config.html +0 -0
- /package/huemagic/locales/{en-US → en}/hue-magic.json +0 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge-node">
|
|
2
|
+
O nó «Hue Bridge» é um nó universal que pode emitir todas as definições do bridge e as mensagens de estado dos restantes nós.
|
|
3
|
+
|
|
4
|
+
### Configuração
|
|
5
|
+
|
|
6
|
+
Selecione primeiro o Hue Bridge pretendido. Opcionalmente, pode desativar todas as mensagens de estado automáticas deste nó através da definição «Ignorar as atualizações e mensagens globais dos dispositivos neste nó». O nó deixará de emitir atualizações do dispositivo.
|
|
7
|
+
|
|
8
|
+
Em alternativa, pode escolher que as mensagens de inicialização de todos os nós não sejam suprimidas no arranque do Node-RED. Se ativar esta definição, receberá após cada implementação uma mensagem de estado de todos os recursos ligados ao bridge.
|
|
9
|
+
|
|
10
|
+
### Consultar definições e estado
|
|
11
|
+
|
|
12
|
+
Emite o estado e as definições atuais do bridge assim que a seguinte mensagem for enviada ao nó. 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
|
+
: payload (boolean): Devolve o estado atual do bridge
|
|
15
|
+
|
|
16
|
+
### Iniciar uma análise TouchLink
|
|
17
|
+
|
|
18
|
+
Com uma «análise TouchLink» pode emparelhar dispositivos novos ou antigos com o bridge (p. ex. após uma reposição). Para tal, transmita o objeto `msg.payload` com o seguinte conteúdo:
|
|
19
|
+
|
|
20
|
+
: touchLink (boolean): Emparelha dispositivos antigos ou novos com o bridge
|
|
21
|
+
|
|
22
|
+
### Consultar todos os dispositivos e recursos
|
|
23
|
+
|
|
24
|
+
Com o comando «fetch» pode obter uma lista de determinados dispositivos atualmente ligados ao bridge. Para tal, transmita o objeto `msg.payload` com o seguinte conteúdo:
|
|
25
|
+
|
|
26
|
+
: fetch (string | array [string, ...]): Aceita `light`, `group`, `button`, `motion`, `temperature`, `light_level` ou `rule` como valor(es)
|
|
27
|
+
|
|
28
|
+
### Alterar as definições do Hue Bridge
|
|
29
|
+
|
|
30
|
+
Com o comando seguinte pode alterar determinadas definições no bridge. Transmita ao nó o objeto `msg.payload.settings` com as seguintes opções de definição:
|
|
31
|
+
|
|
32
|
+
> [!WARNING]
|
|
33
|
+
> A alteração das definições de rede exige a reconfiguração do bridge no HueMagic.
|
|
34
|
+
|
|
35
|
+
: name (string): Altera o nome do bridge e tem de conter entre 4 e 16 carateres
|
|
36
|
+
: zigbeeChannel (int): Altera o canal ZigBee atual (`11`, `15`, `20`, `25` ou `0`)
|
|
37
|
+
: ipAddress (string): Altera o endereço IP nas definições de rede
|
|
38
|
+
: dhcpEnabled (boolean): `true` ativa o DHCP nas definições de rede, `false` desativa-o
|
|
39
|
+
: netmask (string): Altera a máscara de rede nas definições de rede
|
|
40
|
+
: gateway (string): Define o gateway nas definições de rede
|
|
41
|
+
: proxyAddress (string): Define um endereço de proxy nas definições de rede
|
|
42
|
+
: proxyPort (string | int): Define a porta do proxy nas definições de rede
|
|
43
|
+
: timeZone (string): Altera o fuso horário atualmente definido no bridge
|
|
44
|
+
|
|
45
|
+
### Mensagens de estado do nó
|
|
46
|
+
|
|
47
|
+
As mensagens de estado do nó «Hue Bridge» são dinâmicas. Embora sigam um determinado padrão, a sua saída pode variar consoante a ação que acabou de ser executada no nó.
|
|
48
|
+
|
|
49
|
+
#### Objeto de estado em `msg.payload`
|
|
50
|
+
|
|
51
|
+
: id (string): ID único do Hue Bridge
|
|
52
|
+
: name (string): Nome atualmente atribuído
|
|
53
|
+
: factoryNew (boolean): Indica se o bridge é totalmente novo
|
|
54
|
+
: replacesBridgeId (string | boolean): Devolve o ID do bridge antigo (se tiver sido efetuada uma migração) ou `false`
|
|
55
|
+
: dataStoreVersion (string): Versão do repositório de dados
|
|
56
|
+
: starterKitId (string | boolean): Nome do kit inicial criado na fábrica ou `false`
|
|
57
|
+
: softwareVersion (string): Versão de software do bridge
|
|
58
|
+
: apiVersion (string): Versão da API do bridge
|
|
59
|
+
: zigbeeChannel (int): Canal ZigBee atualmente utilizado
|
|
60
|
+
: macAddress (string): Endereço MAC do bridge
|
|
61
|
+
: ipAddress (string): Endereço IP do bridge
|
|
62
|
+
: dhcpEnabled (boolean): Indica se o DHCP está ativado
|
|
63
|
+
: netmask (string): Máscara de rede do bridge
|
|
64
|
+
: gateway (string): Gateway do bridge
|
|
65
|
+
: proxyAddress (string | boolean): Endereço de proxy atualmente utilizado ou `false`
|
|
66
|
+
: proxyPort (string): Porta de proxy atualmente utilizada
|
|
67
|
+
: utcTime (string): Hora UTC no bridge
|
|
68
|
+
: timeZone (string): Fuso horário atualmente definido no bridge
|
|
69
|
+
: localTime (string): Fuso horário local
|
|
70
|
+
: portalServicesEnabled (boolean): Indica se os serviços do portal estão ativados
|
|
71
|
+
: portalConnected (boolean): Indica se o bridge está ligado ao portal
|
|
72
|
+
: linkButtonEnabled (boolean): Indica se o botão de ligação está ativado
|
|
73
|
+
: touchlinkEnabled (boolean): Indica se o TouchLink está ativado
|
|
74
|
+
: autoUpdatesEnabled (boolean): Indica se o HueMagic procurará atualizações automaticamente
|
|
75
|
+
: users (array [object, ...]): Lista de todos os utilizadores no bridge (matriz de objetos)
|
|
76
|
+
: updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
|
|
77
|
+
: model (object): Contém as informações de modelo do bridge em `id`, `manufacturer` e `name`
|
|
78
|
+
|
|
79
|
+
#### Resultados de «fetch» em `msg.results` (opcional)
|
|
80
|
+
|
|
81
|
+
Se o comando «fetch» tiver sido utilizado no nó, o bridge emite os resultados correspondentes no objeto `msg.results`. O objeto contém os grupos de recursos consultados, que por sua vez contêm todos os recursos correspondentes sob a forma de matriz.
|
|
82
|
+
|
|
83
|
+
#### Mensagens de estado globais em `msg.updated` (opcional)
|
|
84
|
+
|
|
85
|
+
Salvo se desativado, o nó emite uma mensagem de estado atualizada para cada recurso do bridge. A mensagem de estado em `msg.updated` segue o padrão do respetivo recurso e varia consoante o tipo de dispositivo que foi atualizado por último.
|
|
86
|
+
|
|
87
|
+
#### Último comando em `msg.command` (opcional)
|
|
88
|
+
|
|
89
|
+
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.
|
|
90
|
+
|
|
91
|
+
### Exemplos do HueMagic
|
|
92
|
+
|
|
93
|
+
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.
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"input-name": "Nome do Hue Bridge",
|
|
6
|
+
"skipglobalevents-info": "Ignorar as atualizações e mensagens globais dos dispositivos neste nó",
|
|
7
|
+
"sendinitevents-node": "Não suprimir o evento de inicialização",
|
|
8
|
+
"bridge": "Bridge"
|
|
9
|
+
},
|
|
10
|
+
"node": {
|
|
11
|
+
"title": "Hue Bridge",
|
|
12
|
+
"not-configured": "não configurado",
|
|
13
|
+
"connecting": "a ligar…",
|
|
14
|
+
"connected": "ligado",
|
|
15
|
+
"starting-tl": "a iniciar o TouchLink…",
|
|
16
|
+
"started-tl": "TouchLink iniciado…",
|
|
17
|
+
"f-resources": "a obter recursos…",
|
|
18
|
+
"updating-settings": "a atualizar as definições…",
|
|
19
|
+
"settings-updated": "definições atualizadas",
|
|
20
|
+
"input": "definições / consulta",
|
|
21
|
+
"output": "informações do bridge",
|
|
22
|
+
"statusmsg": "Estado consultado com sucesso…",
|
|
23
|
+
"error-not-available": "O bridge ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com o bridge."
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-brightness">
|
|
2
|
+
O nó «Hue Luminosidade» pode ler o nível de luz atual de 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
|
+
A definição «Escuro abaixo de» determina a partir de que nível de luz o nó considera que uma divisão está escura. Uma divisão com um candeeiro forte precisa de um valor completamente diferente de um corredor sem janela, por isso basta introduzir o número de lux adequado ao seu espaço. Os valores `dark` e `daylight` passam então a seguir a sua definição em vez do valor predefinido de 90 lux.
|
|
9
|
+
|
|
10
|
+
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.
|
|
11
|
+
|
|
12
|
+
### Consultar o estado
|
|
13
|
+
|
|
14
|
+
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ó.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Devolve o estado atual do sensor
|
|
17
|
+
|
|
18
|
+
### Ligar / desligar o sensor
|
|
19
|
+
|
|
20
|
+
Se necessário, o sensor pode ser ligado e desligado remotamente. Se o sensor estiver desligado, deixa de registar alterações do nível de luz e, por conseguinte, deixa de as emitir. Para tal, transmita um objeto com o seguinte conteúdo:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` liga o sensor, `false` desliga-o
|
|
23
|
+
|
|
24
|
+
### Mensagens de estado do nó
|
|
25
|
+
|
|
26
|
+
Assim que o sensor deteta uma alteração do nível de luz, é devolvida a seguinte mensagem de estado:
|
|
27
|
+
|
|
28
|
+
#### Objeto de estado em `msg.payload`
|
|
29
|
+
|
|
30
|
+
: active (boolean): Indica se o sensor está ligado ou desligado
|
|
31
|
+
: reachable (boolean | string): `true` se o sensor estiver ligado ao bridge, `unknown` se o estado da ligação divergir
|
|
32
|
+
: 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
|
|
33
|
+
: lux (int): Indica o valor LUX real do nível de luz
|
|
34
|
+
: lightLevel (int): Indica a intensidade luminosa do sensor
|
|
35
|
+
: dark (boolean): `true` se foi registada escuridão
|
|
36
|
+
: daylight (boolean): `true` se foi registada luz do dia
|
|
37
|
+
: darkThreshold (int): O nível de luz em lux abaixo do qual o nó comunica escuridão
|
|
38
|
+
: updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
|
|
39
|
+
|
|
40
|
+
#### Informações sobre o sensor em `msg.info`
|
|
41
|
+
|
|
42
|
+
: id (string): Indica o novo ID do sensor
|
|
43
|
+
: idV1 (string | boolean): Indica o ID antigo do sensor
|
|
44
|
+
: uniqueId (string): O ID único do sensor
|
|
45
|
+
: deviceId (string): O ID único do dispositivo
|
|
46
|
+
: name (string): O nome atualmente atribuído ao sensor
|
|
47
|
+
: type (string): O tipo do sensor (sempre `light_level`)
|
|
48
|
+
: softwareVersion (string): O firmware atual do sensor
|
|
49
|
+
: battery (float): O nível atual da bateria do sensor
|
|
50
|
+
: batteryState (string): O estado atual do nível da bateria. Pode conter `normal`, `low` ou `critical` como valor
|
|
51
|
+
: model (object): Contém as informações de modelo do sensor em `id`, `manufacturer`, `name`, `type` e `certified`
|
|
52
|
+
|
|
53
|
+
#### Alterações de estado em `msg.updated`
|
|
54
|
+
|
|
55
|
+
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.
|
|
56
|
+
|
|
57
|
+
#### Último estado do sensor em `msg.lastState`
|
|
58
|
+
|
|
59
|
+
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`.
|
|
60
|
+
|
|
61
|
+
#### Último comando em `msg.command` (opcional)
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
### Exemplos do HueMagic
|
|
66
|
+
|
|
67
|
+
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.
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
</script>
|
|
@@ -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,61 @@
|
|
|
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
|
+
Em «Saídas adicionais» pode adicionar uma saída por cada intervalo de botões, cada uma acionada por uma ação específica (início da pressão, fim de uma pressão curta, fim de uma pressão longa assim que esta tenha durado pelo menos a duração configurada, ou repetidamente enquanto uma pressão longa está em curso). A primeira saída do nó continua a receber sempre todos os eventos, tal como antes; as saídas adicionais só recebem uma cópia da mensagem quando o intervalo de botões e a ação correspondem.
|
|
11
|
+
|
|
12
|
+
### Consultar o estado
|
|
13
|
+
|
|
14
|
+
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ó.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Devolve o estado atual do interruptor ou botão
|
|
17
|
+
|
|
18
|
+
### Mensagens de estado do nó
|
|
19
|
+
|
|
20
|
+
Assim que uma tecla é premida, o nó devolve a seguinte mensagem de estado:
|
|
21
|
+
|
|
22
|
+
#### Objeto de estado em `msg.payload`
|
|
23
|
+
|
|
24
|
+
: reachable (boolean | string): `true` se o interruptor ou botão estiver ligado ao bridge, `unknown` se o estado da ligação divergir
|
|
25
|
+
: 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
|
|
26
|
+
: button (int | boolean): ID numérico da última tecla premida ou `false` se nenhuma tecla foi premida
|
|
27
|
+
: 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
|
|
28
|
+
: 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
|
|
29
|
+
: updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Informações sobre o interruptor ou botão em `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): Indica o novo ID do interruptor ou botão
|
|
34
|
+
: idV1 (string | boolean): Indica o ID antigo do interruptor ou botão
|
|
35
|
+
: uniqueId (string): O ID único do interruptor ou botão
|
|
36
|
+
: deviceId (string): O ID único do dispositivo
|
|
37
|
+
: name (string): O nome atualmente atribuído ao interruptor ou botão
|
|
38
|
+
: type (string): O tipo do interruptor ou botão (sempre `button`)
|
|
39
|
+
: softwareVersion (string): O firmware atual do interruptor ou botão
|
|
40
|
+
: battery (float | boolean): O nível atual da bateria do interruptor ou botão, `false` quando não existe bateria
|
|
41
|
+
: 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
|
|
42
|
+
: model (object): Contém as informações de modelo do interruptor ou botão em `id`, `manufacturer`, `name`, `type` e `certified`
|
|
43
|
+
|
|
44
|
+
#### Alterações de estado em `msg.updated`
|
|
45
|
+
|
|
46
|
+
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.
|
|
47
|
+
|
|
48
|
+
#### Último estado do interruptor ou botão em `msg.lastState`
|
|
49
|
+
|
|
50
|
+
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`.
|
|
51
|
+
|
|
52
|
+
#### Último comando em `msg.command` (opcional)
|
|
53
|
+
|
|
54
|
+
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.
|
|
55
|
+
|
|
56
|
+
### Exemplos do HueMagic
|
|
57
|
+
|
|
58
|
+
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.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
</script>
|
|
@@ -0,0 +1,62 @@
|
|
|
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
|
+
"add-outputs": "Saídas adicionais...",
|
|
17
|
+
"add-outputs-range": "Intervalo de botões...",
|
|
18
|
+
"add-outputs-newflow": "Acionar um novo fluxo em...",
|
|
19
|
+
"add-outputs-nr": "Saída n.º",
|
|
20
|
+
"add-outputs-btn-from": "De...",
|
|
21
|
+
"add-outputs-btn-to": "Até...",
|
|
22
|
+
"add-outputs-startpress": "Início da pressão",
|
|
23
|
+
"add-outputs-shortpress": "Fim de pressão curta",
|
|
24
|
+
"add-outputs-longpress": "Fim de pressão longa quando >",
|
|
25
|
+
"add-outputs-longpresswhile": "Pressão longa (enquanto premido)",
|
|
26
|
+
"add-outputs-btn-addnew": "adicionar novo intervalo de botões",
|
|
27
|
+
"outputlabel-btn-from": "botão #__from__",
|
|
28
|
+
"outputlabel-btn-from-to": "botões #__from__ a #__to__",
|
|
29
|
+
"outputlabel-btn-on": "em:",
|
|
30
|
+
"outputlabel-btn-startpress": "Início da pressão",
|
|
31
|
+
"outputlabel-btn-shortpress": "Fim de pressão curta",
|
|
32
|
+
"outputlabel-btn-longpress": "Pressão longa (>__duration__s)",
|
|
33
|
+
"outputlabel-btn-longpresswhile": "Pressão longa (enquanto premido)"
|
|
34
|
+
},
|
|
35
|
+
"node": {
|
|
36
|
+
"not-configured": "não configurado",
|
|
37
|
+
"universal": "modo universal",
|
|
38
|
+
"command": "a executar comando…",
|
|
39
|
+
"statusmsg": "Estado consultado com sucesso…",
|
|
40
|
+
"title": "Hue Botões",
|
|
41
|
+
"waiting": "a aguardar…",
|
|
42
|
+
"button-on": "On",
|
|
43
|
+
"action-pressed": "premido",
|
|
44
|
+
"action-holded": "mantido premido",
|
|
45
|
+
"action-shortreleased": "solto brevemente",
|
|
46
|
+
"action-longreleased": "solto após ser mantido",
|
|
47
|
+
"action-repeated": "repetido",
|
|
48
|
+
"action-doublepressed": "premido duas vezes",
|
|
49
|
+
"action-started": "início da pressão",
|
|
50
|
+
"dial-clockwise": "Roda ↻ __degrees__°",
|
|
51
|
+
"dial-counterclockwise": "Roda ↺ __degrees__°",
|
|
52
|
+
"button-status": "Botão n.º __button__ (__action__)",
|
|
53
|
+
"button-status-duration": "Botão n.º __button__ (__action__, __duration__s)",
|
|
54
|
+
"input": "consulta de estado",
|
|
55
|
+
"output": "botão premido",
|
|
56
|
+
"error-no-id": "Indique um ID de interruptor válido.",
|
|
57
|
+
"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.",
|
|
58
|
+
"error-no-switchmode": "Este dispositivo não tem um modo de interruptor configurável.",
|
|
59
|
+
"error-invalid-switchmode": "Modo de interruptor inválido. Este dispositivo suporta: __modes__"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -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
|
+

|
|
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
|
+

|
|
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
|
+
}
|