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,19 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-syncbox-config">
|
|
2
|
+
Łączy się z urządzeniem Philips Hue Play HDMI Sync Box.
|
|
3
|
+
|
|
4
|
+
### Nazwa
|
|
5
|
+
|
|
6
|
+
Możesz nadać sync box własną nazwę wewnętrzną albo zachować nazwę domyślną.
|
|
7
|
+
|
|
8
|
+
### Adres IP Sync Box
|
|
9
|
+
|
|
10
|
+
Adres IP Twojego sync box w sieci lokalnej. Po jego wpisaniu HueMagic spróbuje odczytać nazwę urządzenia i wstawi ją za Ciebie.
|
|
11
|
+
|
|
12
|
+
### Token dostępu
|
|
13
|
+
|
|
14
|
+
Sync box nie należy do Twojego Hue Bridge i wymaga własnego tokenu. Kliknij przycisk obok pola, a następnie przytrzymaj przycisk na sync box, aż dioda zamiga na zielono. HueMagic przez minutę odpytuje urządzenie i zapisuje token, gdy tylko ono odpowie.
|
|
15
|
+
|
|
16
|
+
### Odświeżanie
|
|
17
|
+
|
|
18
|
+
Sync box nie wysyła swojego stanu samodzielnie, dlatego HueMagic regularnie o niego pyta. To ustawienie określa, ile sekund mija między dwoma zapytaniami. Domyślne 10 sekund to dobry kompromis między szybką reakcją stanu a ruchem sieciowym — nie ustawiaj mniej, niż faktycznie potrzebujesz.
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-syncbox-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"syncbox-ip": "Adres IP Sync Box",
|
|
6
|
+
"token": "Token dostępu",
|
|
7
|
+
"pollinterval": "Odświeżanie (s)",
|
|
8
|
+
"missing-ip": "Brak adresu IP Hue Sync Box…",
|
|
9
|
+
"connecting": "Łączenie z sync box…",
|
|
10
|
+
"invalid": "Niestety. Wybrany Hue Sync Box jest nieprawidłowy: ",
|
|
11
|
+
"error-select-first": "Podaj adres IP swojego Hue Sync Box, zanim utworzysz nowy token!",
|
|
12
|
+
"waiting": "oczekiwanie na przycisk…",
|
|
13
|
+
"new-user-press": "Przytrzymaj przycisk na swoim Hue Sync Box, aż dioda zamiga na zielono!",
|
|
14
|
+
"retry": "Nie wykryto naciśnięcia przycisku. Spróbuj ponownie…",
|
|
15
|
+
"success": "Token dostępu został utworzony!"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"title": "Hue Sync Box",
|
|
19
|
+
"initializing": "Inicjalizacja sync box (__syncbox__)…",
|
|
20
|
+
"connected": "Połączono z sync box",
|
|
21
|
+
"request-error": "Błąd podczas pobierania informacji z sync box (__error__)",
|
|
22
|
+
"statusmsg": "Stan odczytany pomyślnie…"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-syncbox">
|
|
2
|
+
Węzeł „Hue Sync Box” steruje urządzeniem Philips Hue Play HDMI Sync Box i informuje, co ono aktualnie robi.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Sync box nie jest połączony z Twoim Hue Bridge, lecz korzysta z własnego lokalnego API, dlatego wymaga osobnej konfiguracji. Wpisz adres IP swojego sync box i kliknij przycisk obok pola tokenu dostępu. Następnie przytrzymaj przycisk na sync box, aż dioda zamiga na zielono — HueMagic przez minutę odpytuje urządzenie i zapisuje token, gdy tylko ono odpowie.
|
|
7
|
+
|
|
8
|
+
Ponieważ sync box nie wysyła swojego stanu samodzielnie, HueMagic regularnie o niego pyta. Częstotliwość ustawisz w konfiguracji; domyślnie jest to co 10 sekund. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj komunikaty węzła”. Możesz też zdecydować, aby komunikat inicjalizacji węzła nie był pomijany przy starcie Node-RED. Jeśli wolisz, aby węzeł milczał, dopóki czegoś do niego nie wyślesz, włącz „Zgłaszaj tylko po poleceniu”. Węzeł zignoruje wtedy zmiany z aplikacji lub z przełącznika i odpowie wyłącznie na Twoje polecenia.
|
|
9
|
+
|
|
10
|
+
### Odczyt stanu
|
|
11
|
+
|
|
12
|
+
Zwraca bieżący stan sync box, gdy tylko do węzła zostanie przekazany obiekt `msg.payload` o następującej zawartości. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Zwraca bieżący stan sync box
|
|
15
|
+
|
|
16
|
+
### Włączanie / wyłączanie (tryb prosty)
|
|
17
|
+
|
|
18
|
+
Aby szybko włączyć lub wyłączyć sync box, przekaż do węzła obiekt o następującej zawartości. Po włączeniu przywracany jest ostatnio używany tryb synchronizacji.
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` uruchamia synchronizację, `false` przełącza urządzenie w tryb oszczędzania energii
|
|
21
|
+
|
|
22
|
+
### Polecenia sync box (rozszerzone)
|
|
23
|
+
|
|
24
|
+
Przekaż w obiekcie `msg.payload` następujące parametry, aby dokładniej sterować sync box:
|
|
25
|
+
|
|
26
|
+
: mode (string): Jedna z wartości: `powersave`, `passthrough`, `video`, `game`, `music` lub `ambient`
|
|
27
|
+
: sync (boolean): `true` uruchamia synchronizację, `false` ją zatrzymuje
|
|
28
|
+
: toggle (boolean | any): Przełącza synchronizację zależnie od poprzedniego stanu
|
|
29
|
+
: passthrough (boolean): `true` przekazuje obraz do telewizora bez synchronizacji
|
|
30
|
+
: intensity (string): Jak mocno światła podążają za obrazem. Jedna z wartości: `subtle`, `moderate`, `high` lub `intense`
|
|
31
|
+
: brightness (int): Procentowa wartość jasności (0-100)
|
|
32
|
+
: brightnessLevel (int): Liczbowa wartość jasności w skali urządzenia (0-200, gdzie 100 to wartość bazowa)
|
|
33
|
+
: incrementBrightness (int | boolean): Określa, o ile procent zwiększyć jasność sync box, albo `true` dla kroków co 10 %
|
|
34
|
+
: decrementBrightness (int | boolean): Określa, o ile procent zmniejszyć jasność sync box, albo `true` dla kroków co 10 %
|
|
35
|
+
: input (string | int): Wejście HDMI, które ma być pokazane: `input1` do `input4` albo po prostu `1` do `4`
|
|
36
|
+
: entertainmentArea (string): Strefa rozrywki, którą ma sterować urządzenie, np. `groups/13`
|
|
37
|
+
|
|
38
|
+
### Komunikaty stanu węzła
|
|
39
|
+
|
|
40
|
+
Za każdym razem, gdy zmieni się stan sync box, węzeł zwraca następujący komunikat stanu:
|
|
41
|
+
|
|
42
|
+
#### Obiekt stanu w `msg.payload`
|
|
43
|
+
|
|
44
|
+
: on (boolean): `false`, gdy urządzenie jest w trybie oszczędzania energii
|
|
45
|
+
: syncing (boolean): `true`, gdy światła podążają za obrazem
|
|
46
|
+
: passthrough (boolean): `true`, gdy urządzenie przekazuje obraz dalej
|
|
47
|
+
: mode (string): Aktualnie aktywny tryb
|
|
48
|
+
: lastSyncMode (string): Ostatnio używany tryb synchronizacji
|
|
49
|
+
: intensity (string | boolean): Intensywność aktualnie aktywnego trybu
|
|
50
|
+
: brightness (int | boolean): Jasność w procentach
|
|
51
|
+
: brightnessLevel (int | boolean): Jasność w skali urządzenia (0-200)
|
|
52
|
+
: input (string | boolean): Aktualnie pokazywane wejście HDMI
|
|
53
|
+
: inputs (object): Wszystkie cztery wejścia HDMI wraz z polami `name`, `type`, `status` (`unplugged`, `plugged`, `linked` lub `unknown`) oraz informacją, czy są `active`
|
|
54
|
+
: entertainmentArea (string | boolean): Strefa rozrywki sterowana przez urządzenie
|
|
55
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
56
|
+
|
|
57
|
+
#### Informacje o sync box w `msg.info`
|
|
58
|
+
|
|
59
|
+
: id (string | boolean): Unikatowy identyfikator sync box
|
|
60
|
+
: name (string | boolean): Aktualnie ustawiona nazwa sync box
|
|
61
|
+
: type (string): Typ urządzenia (zawsze `syncbox`)
|
|
62
|
+
: ipAddress (string | boolean): Adres IP, który urządzenie podaje dla siebie
|
|
63
|
+
: softwareVersion (string | boolean): Bieżące oprogramowanie układowe sync box
|
|
64
|
+
: apiLevel (int | boolean): Poziom API sync box
|
|
65
|
+
: ledMode (int | boolean): Aktualnie ustawiony tryb diody LED
|
|
66
|
+
: wifi (object | boolean): Zawiera `ssid` i `strength` połączenia bezprzewodowego
|
|
67
|
+
: model (object): Zawiera informacje o modelu sync box w polach `id`, `manufacturer` i `name`
|
|
68
|
+
|
|
69
|
+
#### Zmiany stanu w `msg.updated`
|
|
70
|
+
|
|
71
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu sync box. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
72
|
+
|
|
73
|
+
#### Poprzedni stan sync box w `msg.lastState`
|
|
74
|
+
|
|
75
|
+
Zawiera pełny obiekt stanu (patrz wartości wyjściowe powyżej) sprzed ostatniej zarejestrowanej zmiany. Jeśli HueMagic nie zarejestrował jeszcze poprzedniego stanu, zwracane jest `false`.
|
|
76
|
+
|
|
77
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
78
|
+
|
|
79
|
+
Jeśli stan węzła zmienił się w wyniku określonego polecenia, wysyłane jest również całe wykonane polecenie. W przeciwnym razie węzeł nie wysyła tego obiektu.
|
|
80
|
+
|
|
81
|
+
### Przykłady z HueMagic
|
|
82
|
+
|
|
83
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-syncbox": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
6
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
7
|
+
"onlycommands-node": "Zgłaszaj tylko po poleceniu",
|
|
8
|
+
"input-name": "Nazwa Sync Box",
|
|
9
|
+
"syncbox": "Sync Box"
|
|
10
|
+
},
|
|
11
|
+
"node": {
|
|
12
|
+
"not-configured": "nieskonfigurowany",
|
|
13
|
+
"command": "wykonywanie polecenia…",
|
|
14
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
15
|
+
"title": "Hue Sync Box",
|
|
16
|
+
"connecting": "łączenie…",
|
|
17
|
+
"powersave": "wyłączony",
|
|
18
|
+
"passthrough": "przekazywanie obrazu",
|
|
19
|
+
"syncing": "__mode__ (__intensity__)",
|
|
20
|
+
"input": "sterowanie sync box",
|
|
21
|
+
"output": "sync box",
|
|
22
|
+
"error-not-available": "Sync box nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże z nim połączenie.",
|
|
23
|
+
"error-invalid-mode": "Nieprawidłowy tryb. Dozwolone są: __modes__",
|
|
24
|
+
"error-invalid-intensity": "Nieprawidłowa intensywność. Dozwolone są: __intensities__",
|
|
25
|
+
"error-invalid-brightness": "Nieprawidłowe ustawienie jasności. Dozwolone są tylko wartości od 0 do 100 procent.",
|
|
26
|
+
"error-invalid-brightness-level": "Nieprawidłowe ustawienie jasności. Dozwolone są tylko wartości od 0 do 200.",
|
|
27
|
+
"error-invalid-input": "Nieprawidłowe wejście HDMI. Dozwolone są tylko input1 do input4."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-temperature">
|
|
2
|
+
Węzeł „Hue Temperatura” odczytuje i zgłasza bieżącą temperaturę otoczenia z odpowiedniego czujnika podłączonego do bridge.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne czujniki. Jeśli znasz już identyfikator czujnika, możesz go też wpisać ręcznie. Możesz nadać czujnikowi własną nazwę wewnętrzną albo zachować nazwę domyślną. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj komunikaty węzła”. Węzeł przestanie wtedy wysyłać aktualizacje urządzenia. Możesz też zdecydować, aby komunikat inicjalizacji węzła nie był pomijany przy starcie Node-RED. Po włączeniu tego ustawienia po każdym wdrożeniu otrzymasz komunikat stanu wybranego czujnika. Jeśli wolisz, aby węzeł milczał, dopóki czegoś do niego nie wyślesz, włącz „Zgłaszaj tylko po poleceniu”. Węzeł zignoruje wtedy zmiany z aplikacji lub z przełącznika i odpowie wyłącznie na Twoje polecenia.
|
|
7
|
+
|
|
8
|
+
Czujniki ruchu montuje się zwykle w rogu pomieszczenia i przez własną elektronikę często mierzą nieco za wysoką temperaturę. Ustawieniem „Korekta” możesz skalibrować czujnik bez okrężnych dróg: wpisana tu wartość (np. `-1.5`) jest dodawana do każdego pomiaru, zanim węzeł go zwróci. Korekta obowiązuje jednocześnie dla wszystkich jednostek temperatury.
|
|
9
|
+
|
|
10
|
+
Jeśli nie wybierzesz czujnika i użyjesz konfiguracji węzła w ten sposób, węzeł działa w tzw. „trybie uniwersalnym”. W tym trybie węzeł odbiera i wysyła wszystkie komunikaty stanu tego samego typu. Ustawienia w trybie uniwersalnym możesz też zastosować do konkretnego czujnika, przekazując jego identyfikator jako ciąg znaków w `msg.topic` razem z ustawieniami.
|
|
11
|
+
|
|
12
|
+
### Odczyt stanu
|
|
13
|
+
|
|
14
|
+
Zwraca bieżący stan czujnika, gdy tylko do węzła zostanie przekazany obiekt `msg.payload` o następującej zawartości. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Zwraca bieżący stan czujnika
|
|
17
|
+
|
|
18
|
+
### Włączanie / wyłączanie czujnika
|
|
19
|
+
|
|
20
|
+
W razie potrzeby czujnik można włączać i wyłączać zdalnie. Wyłączony czujnik nie rejestruje już zmian temperatury i w związku z tym ich nie zgłasza. Przekaż w tym celu obiekt o następującej zawartości:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` włącza czujnik, `false` go wyłącza
|
|
23
|
+
|
|
24
|
+
### Komunikaty stanu węzła
|
|
25
|
+
|
|
26
|
+
Gdy tylko czujnik zarejestruje zmianę temperatury, węzeł zwraca następujący komunikat stanu:
|
|
27
|
+
|
|
28
|
+
#### Obiekt stanu w `msg.payload`
|
|
29
|
+
|
|
30
|
+
: active (boolean): Wskazuje, czy czujnik jest włączony, czy wyłączony
|
|
31
|
+
: reachable (boolean | string): `true`, jeśli czujnik jest połączony z bridge, `unknown`, jeśli stan połączenia jest inny
|
|
32
|
+
: connectionStatus (string): Bieżący stan połączenia z bridge w postaci ciągu znaków. Może przyjmować wartości `connected`, `disconnected`, `connectivity_issue` lub `unidirectional_incoming`
|
|
33
|
+
: celsius (float): Wskazuje bieżącą temperaturę otoczenia w °C (stopnie Celsjusza)
|
|
34
|
+
: fahrenheit (float): Wskazuje bieżącą temperaturę otoczenia w °F (stopnie Fahrenheita)
|
|
35
|
+
: temperatureIs (string): Opisuje bieżącą temperaturę wartościami `very cold`, `cold`, `slightly cold`, `comfortable`, `slightly warm`, `warm`, `hot` lub `very hot`
|
|
36
|
+
: deviceValue (float): Pierwotna wartość temperatury z czujnika
|
|
37
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
38
|
+
|
|
39
|
+
#### Informacje o czujniku w `msg.info`
|
|
40
|
+
|
|
41
|
+
: id (string): Wskazuje nowy identyfikator czujnika
|
|
42
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator czujnika
|
|
43
|
+
: uniqueId (string): Unikatowy identyfikator czujnika
|
|
44
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
45
|
+
: name (string): Aktualnie ustawiona nazwa czujnika
|
|
46
|
+
: type (string): Typ czujnika (zawsze `temperature`)
|
|
47
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe czujnika
|
|
48
|
+
: battery (float): Bieżący poziom naładowania baterii czujnika
|
|
49
|
+
: batteryState (string): Bieżący stan poziomu baterii. Może przyjmować wartości `normal`, `low` lub `critical`
|
|
50
|
+
: model (object): Zawiera informacje o modelu czujnika w polach `id`, `manufacturer`, `name`, `type` i `certified`
|
|
51
|
+
|
|
52
|
+
#### Zmiany stanu w `msg.updated`
|
|
53
|
+
|
|
54
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu czujnika. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
55
|
+
|
|
56
|
+
#### Poprzedni stan czujnika w `msg.lastState`
|
|
57
|
+
|
|
58
|
+
Zawiera pełny obiekt stanu (patrz wartości wyjściowe powyżej) sprzed ostatniej zarejestrowanej zmiany. Jeśli HueMagic nie zarejestrował jeszcze poprzedniego stanu, zwracane jest `false`.
|
|
59
|
+
|
|
60
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
61
|
+
|
|
62
|
+
Jeśli stan węzła zmienił się w wyniku określonego polecenia, wysyłane jest również całe wykonane polecenie. W przeciwnym razie węzeł nie wysyła tego obiektu.
|
|
63
|
+
|
|
64
|
+
### Przykłady z HueMagic
|
|
65
|
+
|
|
66
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-temperature": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
6
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
7
|
+
"onlycommands-node": "Zgłaszaj tylko po poleceniu",
|
|
8
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Zdarzenia uniwersalne",
|
|
11
|
+
"universalevents-node": "Odbiera wszystkie komunikaty innych węzłów tego samego typu (tylko w trybie uniwersalnym)",
|
|
12
|
+
"input-name": "Nazwa czujnika",
|
|
13
|
+
"searching": "wyszukiwanie czujników temperatury…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnego czujnika temperatury.",
|
|
15
|
+
"sensor": "Czujnik",
|
|
16
|
+
"offset": "Korekta"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"not-configured": "nieskonfigurowany",
|
|
20
|
+
"init": "inicjalizacja…",
|
|
21
|
+
"not-reachable": "nieosiągalny",
|
|
22
|
+
"universal": "tryb uniwersalny",
|
|
23
|
+
"command": "wykonywanie polecenia…",
|
|
24
|
+
"deactivated": "wyłączony",
|
|
25
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
26
|
+
"title": "Hue Temperatura",
|
|
27
|
+
"input": "zapytanie o stan",
|
|
28
|
+
"output": "temperatura (zmieniona)",
|
|
29
|
+
"error-no-id": "Podaj prawidłowy identyfikator: czujnik.",
|
|
30
|
+
"error-not-available": "Czujnik nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże połączenie z bridge, albo sprawdź, czy identyfikator zasobu podany w konfiguracji jest prawidłowy."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-automation">
|
|
2
|
+
O nó «Hue Automatização» pode ativar e desativar as automatizações que criou na aplicação Philips Hue.
|
|
3
|
+
|
|
4
|
+
### Configuração
|
|
5
|
+
|
|
6
|
+
Selecione o Hue Bridge pré-configurado e clique no botão de pesquisa para encontrar todas as automatizações disponíveis. Se já souber o ID da automatização, também o pode introduzir aqui manualmente. Pode atribuir internamente um novo nome à automatização 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 da automatização selecionada após cada implementação. Se preferir que o nó permaneça em silêncio até lhe enviar algo, ative «Comunicar apenas após um comando». Nesse caso, ignora as alterações feitas na aplicação ou num interruptor e responde apenas aos seus próprios comandos.
|
|
7
|
+
|
|
8
|
+
Se não selecionar nenhuma automatizaçã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. Também pode aplicar definições no modo universal a uma automatização específica, transmitindo o respetivo ID como cadeia de carateres em `msg.topic` juntamente com as suas definições.
|
|
9
|
+
|
|
10
|
+
### Ativar / desativar a automatização
|
|
11
|
+
|
|
12
|
+
Uma automatização desativada permanece no bridge e pode ser reativada a qualquer momento. Para tal, transmita um objeto com o seguinte conteúdo:
|
|
13
|
+
|
|
14
|
+
: payload (boolean): `true` ativa a automatização, `false` desativa-a
|
|
15
|
+
: enabled (boolean): Como acima, se preferir transmitir um objeto
|
|
16
|
+
: toggle (boolean | any): Alterna entre ativada e desativada, consoante o estado anterior
|
|
17
|
+
|
|
18
|
+
### Mensagens de estado do nó
|
|
19
|
+
|
|
20
|
+
Assim que a automatização muda, o nó devolve a seguinte mensagem de estado:
|
|
21
|
+
|
|
22
|
+
#### Objeto de estado em `msg.payload`
|
|
23
|
+
|
|
24
|
+
: enabled (boolean): Indica se a automatização está ativada
|
|
25
|
+
: running (boolean): `true` enquanto o bridge estiver efetivamente a executar a automatização
|
|
26
|
+
: status (string | boolean): O estado atual. Pode conter `initializing`, `running`, `disabled` ou `errored` como valor
|
|
27
|
+
: lastError (string | boolean): O último erro comunicado pelo bridge ou `false`
|
|
28
|
+
: updated (string): Momento da última atualização do recurso pelo HueMagic (ISO 8601)
|
|
29
|
+
|
|
30
|
+
#### Informações sobre a automatização em `msg.info`
|
|
31
|
+
|
|
32
|
+
: id (string): Indica o ID da automatização
|
|
33
|
+
: idV1 (string | boolean): Indica o ID antigo da automatização
|
|
34
|
+
: name (string | boolean): O nome que atribuiu à automatização na aplicação Philips Hue
|
|
35
|
+
: type (string): O tipo do recurso (sempre `automation`)
|
|
36
|
+
: script (string | boolean): O ID do script de comportamento subjacente à automatização
|
|
37
|
+
|
|
38
|
+
#### Configuração em `msg.configuration`
|
|
39
|
+
|
|
40
|
+
Contém as definições da automatização tal como foram guardadas pela aplicação Philips Hue. A estrutura depende do tipo de automatização e é transmitida sem alterações.
|
|
41
|
+
|
|
42
|
+
#### Alterações de estado em `msg.updated`
|
|
43
|
+
|
|
44
|
+
Enumera sob a forma de um objeto os parâmetros que foram alterados em relação ao último estado da automatização. Se não tiverem sido registadas alterações, este objeto está vazio.
|
|
45
|
+
|
|
46
|
+
#### Último estado da automatização em `msg.lastState`
|
|
47
|
+
|
|
48
|
+
Contém o objeto de estado completo (ver os valores de saída acima) do último estado antes da última alteração registada. Se o HueMagic ainda não tiver registado o último estado, é emitido `false`.
|
|
49
|
+
|
|
50
|
+
#### Último comando em `msg.command` (opcional)
|
|
51
|
+
|
|
52
|
+
Se o estado do nó tiver sido alterado através de um determinado comando, é também emitido o comando completo que foi executado. Caso contrário, o nó não emite este objeto.
|
|
53
|
+
|
|
54
|
+
### Exemplos do HueMagic
|
|
55
|
+
|
|
56
|
+
O HueMagic disponibiliza algumas configurações de exemplo para este nó. Para importar um exemplo completo na sua interface Node-RED, clique no ícone de menu do Node-RED, selecione «Importar» e navegue até «Exemplos» na barra lateral da janela. Em seguida, selecione a pasta HueMagic e o nó pretendido para importar um fluxo de exemplo.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-automation": {
|
|
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 da automatização",
|
|
13
|
+
"searching": "A procurar automatizações…",
|
|
14
|
+
"none-found": "Nenhuma automatização encontrada!",
|
|
15
|
+
"automation": "Automatização"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "não configurado",
|
|
19
|
+
"init": "a inicializar…",
|
|
20
|
+
"universal": "modo universal",
|
|
21
|
+
"command": "a executar comando…",
|
|
22
|
+
"statusmsg": "Estado consultado com sucesso…",
|
|
23
|
+
"title": "Hue Automatização",
|
|
24
|
+
"enabled": "ativada",
|
|
25
|
+
"disabled": "desativada",
|
|
26
|
+
"errored": "erro",
|
|
27
|
+
"input": "ativar / desativar",
|
|
28
|
+
"output": "automatização",
|
|
29
|
+
"error-no-id": "Indique um ID de automatização válido.",
|
|
30
|
+
"error-not-available": "A automatização 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."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge">
|
|
2
|
+
Liga-se a um Philips Hue Bridge.
|
|
3
|
+
|
|
4
|
+
### Nome
|
|
5
|
+
|
|
6
|
+
Pode atribuir ao bridge um nome interno alternativo ou manter o nome predefinido.
|
|
7
|
+
|
|
8
|
+
### IP e porta do bridge
|
|
9
|
+
|
|
10
|
+
Introduza manualmente o endereço IP do Hue Bridge ou prima o botão para listar todos os bridges disponíveis localmente (recomenda-se uma configuração de IP estático no Hue Bridge). Opcionalmente, pode também definir uma porta alternativa para o bridge acrescentando dois pontos ao endereço IP.
|
|
11
|
+
|
|
12
|
+
### Chave API
|
|
13
|
+
|
|
14
|
+
Introduza manualmente a chave API do Hue Bridge ou prima o botão para criar uma nova chave. Se quiser criar uma nova chave, tem de premir o botão físico do bridge no espaço de 20 segundos para concluir o processo.
|
|
15
|
+
|
|
16
|
+
### Processos
|
|
17
|
+
|
|
18
|
+
O valor «Processos» determina quantos comandos paralelos o HueMagic pode enviar ao bridge em simultâneo. De acordo com a documentação oficial do Philips Hue Bridge, não devem ser enviados mais de 10 comandos por segundo, caso contrário existe o risco de o bridge não conseguir processar os pedidos com a mesma rapidez e devolver erros.
|
|
19
|
+
|
|
20
|
+
Se forem enviados em simultâneo mais comandos do que o valor aqui definido, o HueMagic executa os comandos sequencialmente assim que o débito voltar a permitir.
|
|
21
|
+
|
|
22
|
+
Defina este valor abaixo de 10 (p. ex. 4 a 7) se também enviar comandos ao bridge fora do HueMagic, para respeitar o débito de comandos por segundo recomendado pela Philips Hue.
|
|
23
|
+
|
|
24
|
+
### Atualizações automáticas de firmware
|
|
25
|
+
|
|
26
|
+
O HueMagic verifica periodicamente se existem atualizações de firmware da Philips Hue e instala-as automaticamente quando estão disponíveis. Pode desativar este comportamento clicando na caixa de verificação correspondente.
|
|
27
|
+
|
|
28
|
+
### Desativar as notificações
|
|
29
|
+
|
|
30
|
+
Se ativar esta definição, todos os nós associados a este bridge deixarão de receber mensagens de estado automáticas.
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"apikey": "Chave API",
|
|
6
|
+
"missing-ip": "Falta o IP do Hue Bridge…",
|
|
7
|
+
"disable-events": "Desativar eventos",
|
|
8
|
+
"disable-events-info": "Desativar os eventos em todos os nós",
|
|
9
|
+
"searching": "A procurar Hue Bridges…",
|
|
10
|
+
"none-found": "Nenhum Hue Bridge encontrado!",
|
|
11
|
+
"unknown-error": "Algo correu mal. Tente novamente.",
|
|
12
|
+
"invalid": "Lamentamos. O Hue Bridge selecionado não é válido: ",
|
|
13
|
+
"error-select-first": "Selecione o seu Hue Bridge antes de criar um novo utilizador!",
|
|
14
|
+
"waiting": "à espera do botão de ligação…",
|
|
15
|
+
"new-user-press": "Prima agora o botão do seu Hue Bridge para criar um novo utilizador!",
|
|
16
|
+
"retry": "Não foi detetada qualquer pressão do botão. Tente novamente…",
|
|
17
|
+
"success": "Utilizador criado com sucesso!",
|
|
18
|
+
"connecting": "A ligar ao bridge…",
|
|
19
|
+
"autoupdates": "Ativar as atualizações automáticas de firmware",
|
|
20
|
+
"bridge-ip": "IP do bridge",
|
|
21
|
+
"worker": "Processos"
|
|
22
|
+
},
|
|
23
|
+
"node": {
|
|
24
|
+
"title": "Hue Bridge",
|
|
25
|
+
"statusmsg": "Estado consultado com sucesso…",
|
|
26
|
+
"initializing": "A inicializar o bridge (__bridge__)…",
|
|
27
|
+
"connected": "Ligado ao bridge",
|
|
28
|
+
"processing": "A processar os recursos do bridge…",
|
|
29
|
+
"initial-emit": "Emissão inicial dos estados dos recursos…",
|
|
30
|
+
"keep-updated": "A manter os nós atualizados…",
|
|
31
|
+
"subscribing": "A subscrever os eventos do bridge…",
|
|
32
|
+
"unsubscribing": "A cancelar a subscrição dos eventos do bridge…",
|
|
33
|
+
"no-legacy-api": "O bridge não responde na API antiga, prossegue-se sem a respetiva configuração…",
|
|
34
|
+
"request-error": "Erro ao pedir informações ao bridge (__error__)",
|
|
35
|
+
"connection-lost": "Ligação ao bridge perdida (__reason__). Nova tentativa dentro de __seconds__ segundos…",
|
|
36
|
+
"resources-changed": "Os recursos do bridge foram alterados. A recarregar…",
|
|
37
|
+
"not-connected": "O bridge não está ligado."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -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>
|