node-red-contrib-huemagic 4.2.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -5
- package/README.md +506 -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 +16 -9
- package/huemagic/hue-buttons.js +90 -27
- 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 +5 -4
- package/huemagic/locales/de/hue-buttons.json +22 -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 +59 -0
- package/huemagic/locales/el/hue-buttons.json +42 -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 +4 -3
- package/huemagic/locales/en/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/es/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/fr/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/it/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/nl/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/pl/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/pt/hue-buttons.json +42 -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 +59 -0
- package/huemagic/locales/tr/hue-buttons.json +42 -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,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
|
+

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

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

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

|
|
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
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-syncbox-config">
|
|
2
|
+
Liga-se a uma Philips Hue Play HDMI Sync Box.
|
|
3
|
+
|
|
4
|
+
### Nome
|
|
5
|
+
|
|
6
|
+
Pode atribuir à sync box um nome interno alternativo ou manter o nome predefinido.
|
|
7
|
+
|
|
8
|
+
### IP da Sync Box
|
|
9
|
+
|
|
10
|
+
O endereço IP da sua sync box na rede local. Assim que o introduzir, o HueMagic tenta ler o nome do aparelho e preenche-o por si.
|
|
11
|
+
|
|
12
|
+
### Token de acesso
|
|
13
|
+
|
|
14
|
+
A sync box não faz parte do seu Hue Bridge e precisa do seu próprio token. Clique no botão junto ao campo e mantenha depois premido o botão da sync box até o LED piscar a verde. O HueMagic continua a interrogar o aparelho durante um minuto e guarda o token assim que este responder.
|
|
15
|
+
|
|
16
|
+
### Atualização
|
|
17
|
+
|
|
18
|
+
A sync box não envia o seu estado por iniciativa própria, por isso o HueMagic pergunta-lho regularmente. Esta definição determina quantos segundos decorrem entre dois pedidos. O valor predefinido de 10 segundos é um bom compromisso entre um estado reativo e o tráfego de rede — não o reduza mais do que realmente precisa.
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-syncbox-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"syncbox-ip": "IP da Sync Box",
|
|
6
|
+
"token": "Token de acesso",
|
|
7
|
+
"pollinterval": "Atualização (s)",
|
|
8
|
+
"missing-ip": "Falta o IP da Hue Sync Box…",
|
|
9
|
+
"connecting": "A ligar à sync box…",
|
|
10
|
+
"invalid": "Lamentamos. A Hue Sync Box selecionada não é válida: ",
|
|
11
|
+
"error-select-first": "Introduza o IP da sua Hue Sync Box antes de criar um novo token!",
|
|
12
|
+
"waiting": "à espera do botão…",
|
|
13
|
+
"new-user-press": "Mantenha premido o botão da sua Hue Sync Box até o LED piscar a verde!",
|
|
14
|
+
"retry": "Não foi detetada qualquer pressão do botão. Tente novamente…",
|
|
15
|
+
"success": "Token de acesso criado com sucesso!"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"title": "Hue Sync Box",
|
|
19
|
+
"initializing": "A inicializar a sync box (__syncbox__)…",
|
|
20
|
+
"connected": "Ligado à sync box",
|
|
21
|
+
"request-error": "Erro ao pedir informações à sync box (__error__)",
|
|
22
|
+
"statusmsg": "Estado consultado com sucesso…"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-syncbox">
|
|
2
|
+
O nó «Hue Sync Box» controla uma Philips Hue Play HDMI Sync Box e comunica o que esta está a fazer no momento.
|
|
3
|
+
|
|
4
|
+
### Configuração
|
|
5
|
+
|
|
6
|
+
A sync box não está ligada ao seu Hue Bridge, mas fala a sua própria API local, pelo que necessita de uma configuração própria. Introduza o endereço IP da sua sync box e clique no botão junto ao campo do token de acesso. Mantenha depois premido o botão da sync box até o LED piscar a verde — o HueMagic continua a interrogar o aparelho durante um minuto e guarda o token assim que este responder.
|
|
7
|
+
|
|
8
|
+
Uma vez que a sync box não envia o seu estado por iniciativa própria, o HueMagic pergunta-lho regularmente. Pode definir a frequência na configuração; o valor predefinido é de 10 segundos. Opcionalmente, pode desativar todas as mensagens de estado automáticas deste nó através da definição «Ignorar as mensagens do nó». 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.
|
|
9
|
+
|
|
10
|
+
### Consultar o estado
|
|
11
|
+
|
|
12
|
+
Emite o estado atual da sync box 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 sync box
|
|
15
|
+
|
|
16
|
+
### Ligar / desligar (modo simples)
|
|
17
|
+
|
|
18
|
+
Para ligar ou desligar rapidamente a sync box, transmita ao nó um objeto com o seguinte conteúdo. Ao ligar, é retomado o último modo de sincronização utilizado.
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` inicia a sincronização, `false` coloca o aparelho em poupança de energia
|
|
21
|
+
|
|
22
|
+
### Comandos da sync box (avançado)
|
|
23
|
+
|
|
24
|
+
Transmita os seguintes parâmetros num objeto `msg.payload` para controlar a sync box de forma mais detalhada:
|
|
25
|
+
|
|
26
|
+
: mode (string): Um de `powersave`, `passthrough`, `video`, `game`, `music` ou `ambient`
|
|
27
|
+
: sync (boolean): `true` inicia a sincronização, `false` para-a
|
|
28
|
+
: toggle (boolean | any): Alterna a sincronização consoante o estado anterior
|
|
29
|
+
: passthrough (boolean): `true` encaminha a imagem para o seu televisor sem sincronizar
|
|
30
|
+
: intensity (string): Com que intensidade as luzes seguem a imagem. Um de `subtle`, `moderate`, `high` ou `intense`
|
|
31
|
+
: brightness (int): Valor percentual do brilho (0-100)
|
|
32
|
+
: brightnessLevel (int): Valor numérico do brilho tal como o aparelho o conta (0-200, sendo 100 o valor de referência)
|
|
33
|
+
: incrementBrightness (int | boolean): Indica em quantos pontos percentuais o brilho da sync box deve aumentar, ou `true` para passos de 10 %
|
|
34
|
+
: decrementBrightness (int | boolean): Indica em quantos pontos percentuais o brilho da sync box deve diminuir, ou `true` para passos de 10 %
|
|
35
|
+
: input (string | int): A entrada HDMI a apresentar, de `input1` a `input4` ou simplesmente de `1` a `4`
|
|
36
|
+
: entertainmentArea (string): A área de entretenimento que o aparelho deve controlar, p. ex. `groups/13`
|
|
37
|
+
|
|
38
|
+
### Mensagens de estado do nó
|
|
39
|
+
|
|
40
|
+
Sempre que o estado da sync box muda, o nó devolve a seguinte mensagem de estado:
|
|
41
|
+
|
|
42
|
+
#### Objeto de estado em `msg.payload`
|
|
43
|
+
|
|
44
|
+
: on (boolean): `false` enquanto o aparelho estiver em poupança de energia
|
|
45
|
+
: syncing (boolean): `true` enquanto as luzes seguirem a imagem
|
|
46
|
+
: passthrough (boolean): `true` enquanto o aparelho encaminhar a imagem
|
|
47
|
+
: mode (string): O modo atualmente ativo
|
|
48
|
+
: lastSyncMode (string): O último modo de sincronização utilizado
|
|
49
|
+
: intensity (string | boolean): Intensidade do modo atualmente ativo
|
|
50
|
+
: brightness (int | boolean): Brilho em percentagem
|
|
51
|
+
: brightnessLevel (int | boolean): Brilho tal como o aparelho o conta (0-200)
|
|
52
|
+
: input (string | boolean): A entrada HDMI atualmente apresentada
|
|
53
|
+
: inputs (object): As quatro entradas HDMI com o respetivo `name`, `type`, `status` (`unplugged`, `plugged`, `linked` ou `unknown`) e se estão `active`
|
|
54
|
+
: entertainmentArea (string | boolean): A área de entretenimento controlada pelo aparelho
|
|
55
|
+
: updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
|
|
56
|
+
|
|
57
|
+
#### Informações sobre a sync box em `msg.info`
|
|
58
|
+
|
|
59
|
+
: id (string | boolean): O ID único da sync box
|
|
60
|
+
: name (string | boolean): O nome atualmente atribuído à sync box
|
|
61
|
+
: type (string): O tipo do dispositivo (sempre `syncbox`)
|
|
62
|
+
: ipAddress (string | boolean): O endereço IP que o aparelho indica para si próprio
|
|
63
|
+
: softwareVersion (string | boolean): O firmware atual da sync box
|
|
64
|
+
: apiLevel (int | boolean): O nível de API da sync box
|
|
65
|
+
: ledMode (int | boolean): O modo de LED atualmente definido
|
|
66
|
+
: wifi (object | boolean): Contém `ssid` e `strength` da ligação sem fios
|
|
67
|
+
: model (object): Contém as informações de modelo da sync box em `id`, `manufacturer` e `name`
|
|
68
|
+
|
|
69
|
+
#### Alterações de estado em `msg.updated`
|
|
70
|
+
|
|
71
|
+
Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado da sync box. Se não tiverem sido registadas alterações, este objeto está vazio.
|
|
72
|
+
|
|
73
|
+
#### Último estado da sync box em `msg.lastState`
|
|
74
|
+
|
|
75
|
+
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`.
|
|
76
|
+
|
|
77
|
+
#### Último comando em `msg.command` (opcional)
|
|
78
|
+
|
|
79
|
+
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.
|
|
80
|
+
|
|
81
|
+
### Exemplos do HueMagic
|
|
82
|
+
|
|
83
|
+
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.
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-syncbox": {
|
|
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
|
+
"input-name": "Nome da Sync Box",
|
|
9
|
+
"syncbox": "Sync Box"
|
|
10
|
+
},
|
|
11
|
+
"node": {
|
|
12
|
+
"not-configured": "não configurado",
|
|
13
|
+
"command": "a executar comando…",
|
|
14
|
+
"statusmsg": "Estado consultado com sucesso…",
|
|
15
|
+
"title": "Hue Sync Box",
|
|
16
|
+
"connecting": "a ligar…",
|
|
17
|
+
"powersave": "desligada",
|
|
18
|
+
"passthrough": "passagem direta",
|
|
19
|
+
"syncing": "__mode__ (__intensity__)",
|
|
20
|
+
"input": "controlar a sync box",
|
|
21
|
+
"output": "sync box",
|
|
22
|
+
"error-not-available": "A sync box ainda não está disponível. Aguarde até que o HueMagic tenha estabelecido a ligação com ela.",
|
|
23
|
+
"error-invalid-mode": "Modo inválido. São permitidos: __modes__",
|
|
24
|
+
"error-invalid-intensity": "Intensidade inválida. São permitidas: __intensities__",
|
|
25
|
+
"error-invalid-brightness": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 100 por cento.",
|
|
26
|
+
"error-invalid-brightness-level": "Definição de brilho inválida. Apenas são permitidos valores de 0 a 200.",
|
|
27
|
+
"error-invalid-input": "Entrada HDMI inválida. Apenas são permitidas input1 a input4."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-temperature">
|
|
2
|
+
O nó «Hue Temperatura» pode consultar e comunicar a temperatura ambiente 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
|
+
Os sensores de movimento são geralmente instalados num canto da divisão e medem muitas vezes um valor ligeiramente elevado devido à sua própria eletrónica. Com a definição «Correção» pode calibrar o sensor sem rodeios: o valor que introduzir aqui (p. ex. `-1.5`) é somado a cada valor medido antes de o nó o emitir. A correção aplica-se simultaneamente a todas as unidades de temperatura.
|
|
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 de temperatura 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 regista uma alteração de temperatura, o nó devolve 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
|
+
: celsius (float): Indica a temperatura ambiente atual em °C (graus Celsius)
|
|
34
|
+
: fahrenheit (float): Indica a temperatura ambiente atual em °F (graus Fahrenheit)
|
|
35
|
+
: temperatureIs (string): Descreve a temperatura atual com os valores `very cold`, `cold`, `slightly cold`, `comfortable`, `slightly warm`, `warm`, `hot` ou `very hot`
|
|
36
|
+
: deviceValue (float): O valor original da temperatura fornecido pelo sensor
|
|
37
|
+
: updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
|
|
38
|
+
|
|
39
|
+
#### Informações sobre o sensor em `msg.info`
|
|
40
|
+
|
|
41
|
+
: id (string): Indica o novo ID do sensor
|
|
42
|
+
: idV1 (string | boolean): Indica o ID antigo do sensor
|
|
43
|
+
: uniqueId (string): O ID único do sensor
|
|
44
|
+
: deviceId (string): O ID único do dispositivo
|
|
45
|
+
: name (string): O nome atualmente atribuído ao sensor
|
|
46
|
+
: type (string): O tipo do sensor (sempre `temperature`)
|
|
47
|
+
: softwareVersion (string): O firmware atual do sensor
|
|
48
|
+
: battery (float): O nível atual da bateria do sensor
|
|
49
|
+
: batteryState (string): O estado atual do nível da bateria. Pode conter `normal`, `low` ou `critical` como valor
|
|
50
|
+
: model (object): Contém as informações de modelo do sensor em `id`, `manufacturer`, `name`, `type` e `certified`
|
|
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 do sensor. Se não tiverem sido registadas alterações, este objeto está vazio.
|
|
55
|
+
|
|
56
|
+
#### Último estado do sensor em `msg.lastState`
|
|
57
|
+
|
|
58
|
+
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`.
|
|
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
|
+

|
|
69
|
+
</script>
|