node-red-contrib-huemagic 4.2.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -5
- package/README.md +525 -123
- package/examples/Deutsch/Hue Automation.json +176 -0
- package/examples/Deutsch/Hue Bridge.json +256 -0
- package/examples/Deutsch/Hue Brightness.json +150 -0
- package/examples/Deutsch/Hue Buttons.json +88 -0
- package/examples/Deutsch/Hue Contact.json +150 -0
- package/examples/Deutsch/Hue Group.json +658 -0
- package/examples/Deutsch/Hue Light.json +893 -0
- package/examples/Deutsch/Hue Magic.json +148 -0
- package/examples/Deutsch/Hue Motion.json +150 -0
- package/examples/Deutsch/Hue Rules.json +150 -0
- package/examples/Deutsch/Hue Scene.json +178 -0
- package/examples/Deutsch/Hue Speaker.json +274 -0
- package/examples/Deutsch/Hue Sync Box.json +378 -0
- package/examples/Deutsch/Hue Temperature.json +150 -0
- package/examples/English/Hue Automation.json +176 -0
- package/examples/{Hue Bridge.json → English/Hue Bridge.json } +1 -1
- package/examples/{Hue Brightness.json → English/Hue Brightness.json } +1 -1
- package/examples/{Hue Buttons.json → English/Hue Buttons.json } +1 -1
- package/examples/English/Hue Contact.json +150 -0
- package/examples/{Hue Group.json → English/Hue Group.json } +1 -1
- package/examples/{Hue Light.json → English/Hue Light.json } +1 -1
- package/examples/{Hue Magic.json → English/Hue Magic.json } +1 -1
- package/examples/{Hue Motion.json → English/Hue Motion.json } +1 -1
- package/examples/{Hue Rules.json → English/Hue Rules.json } +1 -1
- package/examples/{Hue Scene.json → English/Hue Scene.json } +1 -1
- package/examples/English/Hue Speaker.json +274 -0
- package/examples/English/Hue Sync Box.json +378 -0
- package/examples/{Hue Temperature.json → English/Hue Temperature.json } +1 -1
- package/examples/Espa/303/261ol/Hue Automation.json" +176 -0
- package/examples/Espa/303/261ol/Hue Bridge.json" +256 -0
- package/examples/Espa/303/261ol/Hue Brightness.json" +150 -0
- package/examples/Espa/303/261ol/Hue Buttons.json" +88 -0
- package/examples/Espa/303/261ol/Hue Contact.json" +150 -0
- package/examples/Espa/303/261ol/Hue Group.json" +658 -0
- package/examples/Espa/303/261ol/Hue Light.json" +893 -0
- package/examples/Espa/303/261ol/Hue Magic.json" +148 -0
- package/examples/Espa/303/261ol/Hue Motion.json" +150 -0
- package/examples/Espa/303/261ol/Hue Rules.json" +150 -0
- package/examples/Espa/303/261ol/Hue Scene.json" +178 -0
- package/examples/Espa/303/261ol/Hue Speaker.json" +274 -0
- package/examples/Espa/303/261ol/Hue Sync Box.json" +378 -0
- package/examples/Espa/303/261ol/Hue Temperature.json" +150 -0
- package/examples/Fran/303/247ais/Hue Automation.json" +176 -0
- package/examples/Fran/303/247ais/Hue Bridge.json" +256 -0
- package/examples/Fran/303/247ais/Hue Brightness.json" +150 -0
- package/examples/Fran/303/247ais/Hue Buttons.json" +88 -0
- package/examples/Fran/303/247ais/Hue Contact.json" +150 -0
- package/examples/Fran/303/247ais/Hue Group.json" +658 -0
- package/examples/Fran/303/247ais/Hue Light.json" +893 -0
- package/examples/Fran/303/247ais/Hue Magic.json" +148 -0
- package/examples/Fran/303/247ais/Hue Motion.json" +150 -0
- package/examples/Fran/303/247ais/Hue Rules.json" +150 -0
- package/examples/Fran/303/247ais/Hue Scene.json" +178 -0
- package/examples/Fran/303/247ais/Hue Speaker.json" +274 -0
- package/examples/Fran/303/247ais/Hue Sync Box.json" +378 -0
- package/examples/Fran/303/247ais/Hue Temperature.json" +150 -0
- package/examples/Italiano/Hue Automation.json +176 -0
- package/examples/Italiano/Hue Bridge.json +256 -0
- package/examples/Italiano/Hue Brightness.json +150 -0
- package/examples/Italiano/Hue Buttons.json +88 -0
- package/examples/Italiano/Hue Contact.json +150 -0
- package/examples/Italiano/Hue Group.json +658 -0
- package/examples/Italiano/Hue Light.json +893 -0
- package/examples/Italiano/Hue Magic.json +148 -0
- package/examples/Italiano/Hue Motion.json +150 -0
- package/examples/Italiano/Hue Rules.json +150 -0
- package/examples/Italiano/Hue Scene.json +178 -0
- package/examples/Italiano/Hue Speaker.json +274 -0
- package/examples/Italiano/Hue Sync Box.json +378 -0
- package/examples/Italiano/Hue Temperature.json +150 -0
- package/examples/Nederlands/Hue Automation.json +176 -0
- package/examples/Nederlands/Hue Bridge.json +256 -0
- package/examples/Nederlands/Hue Brightness.json +150 -0
- package/examples/Nederlands/Hue Buttons.json +88 -0
- package/examples/Nederlands/Hue Contact.json +150 -0
- package/examples/Nederlands/Hue Group.json +658 -0
- package/examples/Nederlands/Hue Light.json +893 -0
- package/examples/Nederlands/Hue Magic.json +148 -0
- package/examples/Nederlands/Hue Motion.json +150 -0
- package/examples/Nederlands/Hue Rules.json +150 -0
- package/examples/Nederlands/Hue Scene.json +178 -0
- package/examples/Nederlands/Hue Speaker.json +274 -0
- package/examples/Nederlands/Hue Sync Box.json +378 -0
- package/examples/Nederlands/Hue Temperature.json +150 -0
- package/examples/Polski/Hue Automation.json +176 -0
- package/examples/Polski/Hue Bridge.json +256 -0
- package/examples/Polski/Hue Brightness.json +150 -0
- package/examples/Polski/Hue Buttons.json +88 -0
- package/examples/Polski/Hue Contact.json +150 -0
- package/examples/Polski/Hue Group.json +658 -0
- package/examples/Polski/Hue Light.json +893 -0
- package/examples/Polski/Hue Magic.json +148 -0
- package/examples/Polski/Hue Motion.json +150 -0
- package/examples/Polski/Hue Rules.json +150 -0
- package/examples/Polski/Hue Scene.json +178 -0
- package/examples/Polski/Hue Speaker.json +274 -0
- package/examples/Polski/Hue Sync Box.json +378 -0
- package/examples/Polski/Hue Temperature.json +150 -0
- package/examples/Portugu/303/252s/Hue Automation.json" +176 -0
- package/examples/Portugu/303/252s/Hue Bridge.json" +256 -0
- package/examples/Portugu/303/252s/Hue Brightness.json" +150 -0
- package/examples/Portugu/303/252s/Hue Buttons.json" +88 -0
- package/examples/Portugu/303/252s/Hue Contact.json" +150 -0
- package/examples/Portugu/303/252s/Hue Group.json" +658 -0
- package/examples/Portugu/303/252s/Hue Light.json" +893 -0
- package/examples/Portugu/303/252s/Hue Magic.json" +148 -0
- package/examples/Portugu/303/252s/Hue Motion.json" +150 -0
- package/examples/Portugu/303/252s/Hue Rules.json" +150 -0
- package/examples/Portugu/303/252s/Hue Scene.json" +178 -0
- package/examples/Portugu/303/252s/Hue Speaker.json" +274 -0
- package/examples/Portugu/303/252s/Hue Sync Box.json" +378 -0
- package/examples/Portugu/303/252s/Hue Temperature.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Automation.json" +176 -0
- package/examples/T/303/274rk/303/247e/Hue Bridge.json" +256 -0
- package/examples/T/303/274rk/303/247e/Hue Brightness.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Buttons.json" +88 -0
- package/examples/T/303/274rk/303/247e/Hue Contact.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Group.json" +658 -0
- package/examples/T/303/274rk/303/247e/Hue Light.json" +893 -0
- package/examples/T/303/274rk/303/247e/Hue Magic.json" +148 -0
- package/examples/T/303/274rk/303/247e/Hue Motion.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Rules.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Scene.json" +178 -0
- package/examples/T/303/274rk/303/247e/Hue Speaker.json" +274 -0
- package/examples/T/303/274rk/303/247e/Hue Sync Box.json" +378 -0
- package/examples/T/303/274rk/303/247e/Hue Temperature.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Automation.json" +176 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +256 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Brightness.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Buttons.json" +88 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Contact.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Group.json" +658 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Light.json" +893 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Magic.json" +148 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Motion.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Rules.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Scene.json" +178 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Speaker.json" +274 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Sync Box.json" +378 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Temperature.json" +150 -0
- package/huemagic/assets/huemagic-examples.gif +0 -0
- package/huemagic/hue-automation.html +218 -0
- package/huemagic/hue-automation.js +173 -0
- package/huemagic/hue-bridge-config.html +39 -32
- package/huemagic/hue-bridge-config.js +290 -99
- package/huemagic/hue-bridge.html +8 -8
- package/huemagic/hue-bridge.js +29 -4
- package/huemagic/hue-brightness.html +21 -9
- package/huemagic/hue-brightness.js +20 -10
- package/huemagic/hue-buttons.html +227 -11
- package/huemagic/hue-buttons.js +183 -28
- package/huemagic/hue-contact.html +218 -0
- package/huemagic/hue-contact.js +209 -0
- package/huemagic/hue-group.html +16 -9
- package/huemagic/hue-group.js +141 -179
- package/huemagic/hue-light.html +19 -12
- package/huemagic/hue-light.js +222 -167
- package/huemagic/hue-magic.html +3 -5
- package/huemagic/hue-motion.html +16 -9
- package/huemagic/hue-motion.js +37 -8
- package/huemagic/hue-rules.html +16 -9
- package/huemagic/hue-rules.js +16 -8
- package/huemagic/hue-scene.html +9 -5
- package/huemagic/hue-scene.js +52 -16
- package/huemagic/hue-speaker.html +218 -0
- package/huemagic/hue-speaker.js +257 -0
- package/huemagic/hue-syncbox-config.html +123 -0
- package/huemagic/hue-syncbox-config.js +179 -0
- package/huemagic/hue-syncbox.html +82 -0
- package/huemagic/hue-syncbox.js +274 -0
- package/huemagic/hue-temperature.html +21 -9
- package/huemagic/hue-temperature.js +18 -10
- package/huemagic/icons/hue-automation.png +0 -0
- package/huemagic/icons/hue-automation.svg +3 -0
- package/huemagic/icons/hue-contact.png +0 -0
- package/huemagic/icons/hue-contact.svg +4 -0
- package/huemagic/icons/hue-speaker.png +0 -0
- package/huemagic/icons/hue-speaker.svg +6 -0
- package/huemagic/icons/hue-syncbox.png +0 -0
- package/huemagic/icons/hue-syncbox.svg +7 -0
- package/huemagic/locales/de/hue-automation.html +59 -0
- package/huemagic/locales/de/hue-automation.json +33 -0
- package/huemagic/locales/de/hue-bridge-config.json +23 -12
- package/huemagic/locales/de/hue-bridge.html +7 -4
- package/huemagic/locales/de/hue-bridge.json +9 -10
- package/huemagic/locales/de/hue-brightness.html +9 -6
- package/huemagic/locales/de/hue-brightness.json +13 -9
- package/huemagic/locales/de/hue-buttons.html +7 -4
- package/huemagic/locales/de/hue-buttons.json +42 -8
- package/huemagic/locales/de/hue-contact.html +67 -0
- package/huemagic/locales/de/hue-contact.json +35 -0
- package/huemagic/locales/de/hue-group.html +17 -6
- package/huemagic/locales/de/hue-group.json +16 -9
- package/huemagic/locales/de/hue-light.html +6 -6
- package/huemagic/locales/de/hue-light.json +17 -9
- package/huemagic/locales/de/hue-magic.html +1 -1
- package/huemagic/locales/de/hue-magic.json +6 -8
- package/huemagic/locales/de/hue-motion.html +4 -4
- package/huemagic/locales/de/hue-motion.json +14 -9
- package/huemagic/locales/de/hue-rules.html +2 -2
- package/huemagic/locales/de/hue-rules.json +10 -9
- package/huemagic/locales/de/hue-scene.html +11 -3
- package/huemagic/locales/de/hue-scene.json +9 -9
- package/huemagic/locales/de/hue-speaker.html +80 -0
- package/huemagic/locales/de/hue-speaker.json +38 -0
- package/huemagic/locales/de/hue-syncbox-config.html +19 -0
- package/huemagic/locales/de/hue-syncbox-config.json +25 -0
- package/huemagic/locales/de/hue-syncbox.html +86 -0
- package/huemagic/locales/de/hue-syncbox.json +30 -0
- package/huemagic/locales/de/hue-temperature.html +7 -5
- package/huemagic/locales/de/hue-temperature.json +13 -9
- package/huemagic/locales/el/hue-automation.html +59 -0
- package/huemagic/locales/el/hue-automation.json +33 -0
- package/huemagic/locales/el/hue-bridge-config.html +31 -0
- package/huemagic/locales/el/hue-bridge-config.json +40 -0
- package/huemagic/locales/el/hue-bridge.html +96 -0
- package/huemagic/locales/el/hue-bridge.json +26 -0
- package/huemagic/locales/el/hue-brightness.html +70 -0
- package/huemagic/locales/el/hue-brightness.json +37 -0
- package/huemagic/locales/el/hue-buttons.html +61 -0
- package/huemagic/locales/el/hue-buttons.json +62 -0
- package/huemagic/locales/el/hue-contact.html +67 -0
- package/huemagic/locales/el/hue-contact.json +35 -0
- package/huemagic/locales/el/hue-group.html +87 -0
- package/huemagic/locales/el/hue-group.json +46 -0
- package/huemagic/locales/el/hue-light.html +97 -0
- package/huemagic/locales/el/hue-light.json +44 -0
- package/huemagic/locales/el/hue-magic.html +68 -0
- package/huemagic/locales/el/hue-magic.json +26 -0
- package/huemagic/locales/el/hue-motion.html +64 -0
- package/huemagic/locales/el/hue-motion.json +36 -0
- package/huemagic/locales/el/hue-rules.html +69 -0
- package/huemagic/locales/el/hue-rules.json +30 -0
- package/huemagic/locales/el/hue-scene.html +43 -0
- package/huemagic/locales/el/hue-scene.json +32 -0
- package/huemagic/locales/el/hue-speaker.html +80 -0
- package/huemagic/locales/el/hue-speaker.json +38 -0
- package/huemagic/locales/el/hue-syncbox-config.html +19 -0
- package/huemagic/locales/el/hue-syncbox-config.json +25 -0
- package/huemagic/locales/el/hue-syncbox.html +86 -0
- package/huemagic/locales/el/hue-syncbox.json +30 -0
- package/huemagic/locales/el/hue-temperature.html +69 -0
- package/huemagic/locales/el/hue-temperature.json +33 -0
- package/huemagic/locales/en/hue-automation.html +59 -0
- package/huemagic/locales/en/hue-automation.json +33 -0
- package/huemagic/locales/en/hue-bridge-config.json +40 -0
- package/huemagic/locales/{en-US → en}/hue-bridge.html +5 -2
- package/huemagic/locales/{en-US → en}/hue-bridge.json +8 -9
- package/huemagic/locales/{en-US → en}/hue-brightness.html +6 -3
- package/huemagic/locales/{en-US → en}/hue-brightness.json +11 -9
- package/huemagic/locales/{en-US → en}/hue-buttons.html +6 -3
- package/huemagic/locales/en/hue-buttons.json +62 -0
- package/huemagic/locales/en/hue-contact.html +67 -0
- package/huemagic/locales/en/hue-contact.json +35 -0
- package/huemagic/locales/{en-US → en}/hue-group.html +16 -5
- package/huemagic/locales/{en-US → en}/hue-group.json +15 -10
- package/huemagic/locales/{en-US → en}/hue-light.html +3 -3
- package/huemagic/locales/en/hue-light.json +44 -0
- package/huemagic/locales/{en-US → en}/hue-magic.html +1 -1
- package/huemagic/locales/{en-US → en}/hue-motion.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-motion.json +12 -9
- package/huemagic/locales/{en-US → en}/hue-rules.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-rules.json +10 -9
- package/huemagic/locales/{en-US → en}/hue-scene.html +11 -3
- package/huemagic/locales/{en-US → en}/hue-scene.json +9 -9
- package/huemagic/locales/en/hue-speaker.html +80 -0
- package/huemagic/locales/en/hue-speaker.json +38 -0
- package/huemagic/locales/en/hue-syncbox-config.html +19 -0
- package/huemagic/locales/en/hue-syncbox-config.json +25 -0
- package/huemagic/locales/en/hue-syncbox.html +86 -0
- package/huemagic/locales/en/hue-syncbox.json +30 -0
- package/huemagic/locales/{en-US → en}/hue-temperature.html +4 -2
- package/huemagic/locales/{en-US → en}/hue-temperature.json +11 -9
- package/huemagic/locales/es/hue-automation.html +59 -0
- package/huemagic/locales/es/hue-automation.json +33 -0
- package/huemagic/locales/es/hue-bridge-config.html +31 -0
- package/huemagic/locales/es/hue-bridge-config.json +40 -0
- package/huemagic/locales/es/hue-bridge.html +96 -0
- package/huemagic/locales/es/hue-bridge.json +26 -0
- package/huemagic/locales/es/hue-brightness.html +70 -0
- package/huemagic/locales/es/hue-brightness.json +37 -0
- package/huemagic/locales/es/hue-buttons.html +61 -0
- package/huemagic/locales/es/hue-buttons.json +62 -0
- package/huemagic/locales/es/hue-contact.html +67 -0
- package/huemagic/locales/es/hue-contact.json +35 -0
- package/huemagic/locales/es/hue-group.html +87 -0
- package/huemagic/locales/es/hue-group.json +46 -0
- package/huemagic/locales/es/hue-light.html +97 -0
- package/huemagic/locales/es/hue-light.json +44 -0
- package/huemagic/locales/es/hue-magic.html +68 -0
- package/huemagic/locales/es/hue-magic.json +26 -0
- package/huemagic/locales/es/hue-motion.html +64 -0
- package/huemagic/locales/es/hue-motion.json +36 -0
- package/huemagic/locales/es/hue-rules.html +69 -0
- package/huemagic/locales/es/hue-rules.json +30 -0
- package/huemagic/locales/es/hue-scene.html +43 -0
- package/huemagic/locales/es/hue-scene.json +32 -0
- package/huemagic/locales/es/hue-speaker.html +80 -0
- package/huemagic/locales/es/hue-speaker.json +38 -0
- package/huemagic/locales/es/hue-syncbox-config.html +19 -0
- package/huemagic/locales/es/hue-syncbox-config.json +25 -0
- package/huemagic/locales/es/hue-syncbox.html +86 -0
- package/huemagic/locales/es/hue-syncbox.json +30 -0
- package/huemagic/locales/es/hue-temperature.html +69 -0
- package/huemagic/locales/es/hue-temperature.json +33 -0
- package/huemagic/locales/fr/hue-automation.html +59 -0
- package/huemagic/locales/fr/hue-automation.json +33 -0
- package/huemagic/locales/fr/hue-bridge-config.html +31 -0
- package/huemagic/locales/fr/hue-bridge-config.json +40 -0
- package/huemagic/locales/fr/hue-bridge.html +96 -0
- package/huemagic/locales/fr/hue-bridge.json +26 -0
- package/huemagic/locales/fr/hue-brightness.html +70 -0
- package/huemagic/locales/fr/hue-brightness.json +37 -0
- package/huemagic/locales/fr/hue-buttons.html +61 -0
- package/huemagic/locales/fr/hue-buttons.json +62 -0
- package/huemagic/locales/fr/hue-contact.html +67 -0
- package/huemagic/locales/fr/hue-contact.json +35 -0
- package/huemagic/locales/fr/hue-group.html +87 -0
- package/huemagic/locales/fr/hue-group.json +46 -0
- package/huemagic/locales/fr/hue-light.html +97 -0
- package/huemagic/locales/fr/hue-light.json +44 -0
- package/huemagic/locales/fr/hue-magic.html +68 -0
- package/huemagic/locales/fr/hue-magic.json +26 -0
- package/huemagic/locales/fr/hue-motion.html +64 -0
- package/huemagic/locales/fr/hue-motion.json +36 -0
- package/huemagic/locales/fr/hue-rules.html +69 -0
- package/huemagic/locales/fr/hue-rules.json +30 -0
- package/huemagic/locales/fr/hue-scene.html +43 -0
- package/huemagic/locales/fr/hue-scene.json +32 -0
- package/huemagic/locales/fr/hue-speaker.html +80 -0
- package/huemagic/locales/fr/hue-speaker.json +38 -0
- package/huemagic/locales/fr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/fr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/fr/hue-syncbox.html +86 -0
- package/huemagic/locales/fr/hue-syncbox.json +30 -0
- package/huemagic/locales/fr/hue-temperature.html +69 -0
- package/huemagic/locales/fr/hue-temperature.json +33 -0
- package/huemagic/locales/it/hue-automation.html +59 -0
- package/huemagic/locales/it/hue-automation.json +33 -0
- package/huemagic/locales/it/hue-bridge-config.html +31 -0
- package/huemagic/locales/it/hue-bridge-config.json +40 -0
- package/huemagic/locales/it/hue-bridge.html +96 -0
- package/huemagic/locales/it/hue-bridge.json +26 -0
- package/huemagic/locales/it/hue-brightness.html +70 -0
- package/huemagic/locales/it/hue-brightness.json +37 -0
- package/huemagic/locales/it/hue-buttons.html +61 -0
- package/huemagic/locales/it/hue-buttons.json +62 -0
- package/huemagic/locales/it/hue-contact.html +67 -0
- package/huemagic/locales/it/hue-contact.json +35 -0
- package/huemagic/locales/it/hue-group.html +87 -0
- package/huemagic/locales/it/hue-group.json +46 -0
- package/huemagic/locales/it/hue-light.html +97 -0
- package/huemagic/locales/it/hue-light.json +44 -0
- package/huemagic/locales/it/hue-magic.html +68 -0
- package/huemagic/locales/it/hue-magic.json +26 -0
- package/huemagic/locales/it/hue-motion.html +64 -0
- package/huemagic/locales/it/hue-motion.json +36 -0
- package/huemagic/locales/it/hue-rules.html +69 -0
- package/huemagic/locales/it/hue-rules.json +30 -0
- package/huemagic/locales/it/hue-scene.html +43 -0
- package/huemagic/locales/it/hue-scene.json +32 -0
- package/huemagic/locales/it/hue-speaker.html +80 -0
- package/huemagic/locales/it/hue-speaker.json +38 -0
- package/huemagic/locales/it/hue-syncbox-config.html +19 -0
- package/huemagic/locales/it/hue-syncbox-config.json +25 -0
- package/huemagic/locales/it/hue-syncbox.html +86 -0
- package/huemagic/locales/it/hue-syncbox.json +30 -0
- package/huemagic/locales/it/hue-temperature.html +69 -0
- package/huemagic/locales/it/hue-temperature.json +33 -0
- package/huemagic/locales/nl/hue-automation.html +59 -0
- package/huemagic/locales/nl/hue-automation.json +33 -0
- package/huemagic/locales/nl/hue-bridge-config.html +31 -0
- package/huemagic/locales/nl/hue-bridge-config.json +40 -0
- package/huemagic/locales/nl/hue-bridge.html +96 -0
- package/huemagic/locales/nl/hue-bridge.json +26 -0
- package/huemagic/locales/nl/hue-brightness.html +70 -0
- package/huemagic/locales/nl/hue-brightness.json +37 -0
- package/huemagic/locales/nl/hue-buttons.html +61 -0
- package/huemagic/locales/nl/hue-buttons.json +62 -0
- package/huemagic/locales/nl/hue-contact.html +67 -0
- package/huemagic/locales/nl/hue-contact.json +35 -0
- package/huemagic/locales/nl/hue-group.html +87 -0
- package/huemagic/locales/nl/hue-group.json +46 -0
- package/huemagic/locales/nl/hue-light.html +97 -0
- package/huemagic/locales/nl/hue-light.json +44 -0
- package/huemagic/locales/nl/hue-magic.html +68 -0
- package/huemagic/locales/nl/hue-magic.json +26 -0
- package/huemagic/locales/nl/hue-motion.html +64 -0
- package/huemagic/locales/nl/hue-motion.json +36 -0
- package/huemagic/locales/nl/hue-rules.html +69 -0
- package/huemagic/locales/nl/hue-rules.json +30 -0
- package/huemagic/locales/nl/hue-scene.html +43 -0
- package/huemagic/locales/nl/hue-scene.json +32 -0
- package/huemagic/locales/nl/hue-speaker.html +80 -0
- package/huemagic/locales/nl/hue-speaker.json +38 -0
- package/huemagic/locales/nl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/nl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/nl/hue-syncbox.html +86 -0
- package/huemagic/locales/nl/hue-syncbox.json +30 -0
- package/huemagic/locales/nl/hue-temperature.html +69 -0
- package/huemagic/locales/nl/hue-temperature.json +33 -0
- package/huemagic/locales/pl/hue-automation.html +59 -0
- package/huemagic/locales/pl/hue-automation.json +33 -0
- package/huemagic/locales/pl/hue-bridge-config.html +31 -0
- package/huemagic/locales/pl/hue-bridge-config.json +40 -0
- package/huemagic/locales/pl/hue-bridge.html +96 -0
- package/huemagic/locales/pl/hue-bridge.json +26 -0
- package/huemagic/locales/pl/hue-brightness.html +70 -0
- package/huemagic/locales/pl/hue-brightness.json +37 -0
- package/huemagic/locales/pl/hue-buttons.html +61 -0
- package/huemagic/locales/pl/hue-buttons.json +62 -0
- package/huemagic/locales/pl/hue-contact.html +67 -0
- package/huemagic/locales/pl/hue-contact.json +35 -0
- package/huemagic/locales/pl/hue-group.html +87 -0
- package/huemagic/locales/pl/hue-group.json +46 -0
- package/huemagic/locales/pl/hue-light.html +97 -0
- package/huemagic/locales/pl/hue-light.json +44 -0
- package/huemagic/locales/pl/hue-magic.html +68 -0
- package/huemagic/locales/pl/hue-magic.json +26 -0
- package/huemagic/locales/pl/hue-motion.html +64 -0
- package/huemagic/locales/pl/hue-motion.json +36 -0
- package/huemagic/locales/pl/hue-rules.html +69 -0
- package/huemagic/locales/pl/hue-rules.json +30 -0
- package/huemagic/locales/pl/hue-scene.html +43 -0
- package/huemagic/locales/pl/hue-scene.json +32 -0
- package/huemagic/locales/pl/hue-speaker.html +80 -0
- package/huemagic/locales/pl/hue-speaker.json +38 -0
- package/huemagic/locales/pl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pl/hue-syncbox.html +86 -0
- package/huemagic/locales/pl/hue-syncbox.json +30 -0
- package/huemagic/locales/pl/hue-temperature.html +69 -0
- package/huemagic/locales/pl/hue-temperature.json +33 -0
- package/huemagic/locales/pt/hue-automation.html +59 -0
- package/huemagic/locales/pt/hue-automation.json +33 -0
- package/huemagic/locales/pt/hue-bridge-config.html +31 -0
- package/huemagic/locales/pt/hue-bridge-config.json +40 -0
- package/huemagic/locales/pt/hue-bridge.html +96 -0
- package/huemagic/locales/pt/hue-bridge.json +26 -0
- package/huemagic/locales/pt/hue-brightness.html +70 -0
- package/huemagic/locales/pt/hue-brightness.json +37 -0
- package/huemagic/locales/pt/hue-buttons.html +61 -0
- package/huemagic/locales/pt/hue-buttons.json +62 -0
- package/huemagic/locales/pt/hue-contact.html +67 -0
- package/huemagic/locales/pt/hue-contact.json +35 -0
- package/huemagic/locales/pt/hue-group.html +87 -0
- package/huemagic/locales/pt/hue-group.json +46 -0
- package/huemagic/locales/pt/hue-light.html +97 -0
- package/huemagic/locales/pt/hue-light.json +44 -0
- package/huemagic/locales/pt/hue-magic.html +68 -0
- package/huemagic/locales/pt/hue-magic.json +26 -0
- package/huemagic/locales/pt/hue-motion.html +64 -0
- package/huemagic/locales/pt/hue-motion.json +36 -0
- package/huemagic/locales/pt/hue-rules.html +69 -0
- package/huemagic/locales/pt/hue-rules.json +30 -0
- package/huemagic/locales/pt/hue-scene.html +43 -0
- package/huemagic/locales/pt/hue-scene.json +32 -0
- package/huemagic/locales/pt/hue-speaker.html +80 -0
- package/huemagic/locales/pt/hue-speaker.json +38 -0
- package/huemagic/locales/pt/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pt/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pt/hue-syncbox.html +86 -0
- package/huemagic/locales/pt/hue-syncbox.json +30 -0
- package/huemagic/locales/pt/hue-temperature.html +69 -0
- package/huemagic/locales/pt/hue-temperature.json +33 -0
- package/huemagic/locales/tr/hue-automation.html +59 -0
- package/huemagic/locales/tr/hue-automation.json +33 -0
- package/huemagic/locales/tr/hue-bridge-config.html +31 -0
- package/huemagic/locales/tr/hue-bridge-config.json +40 -0
- package/huemagic/locales/tr/hue-bridge.html +96 -0
- package/huemagic/locales/tr/hue-bridge.json +26 -0
- package/huemagic/locales/tr/hue-brightness.html +70 -0
- package/huemagic/locales/tr/hue-brightness.json +37 -0
- package/huemagic/locales/tr/hue-buttons.html +61 -0
- package/huemagic/locales/tr/hue-buttons.json +62 -0
- package/huemagic/locales/tr/hue-contact.html +67 -0
- package/huemagic/locales/tr/hue-contact.json +35 -0
- package/huemagic/locales/tr/hue-group.html +87 -0
- package/huemagic/locales/tr/hue-group.json +46 -0
- package/huemagic/locales/tr/hue-light.html +97 -0
- package/huemagic/locales/tr/hue-light.json +44 -0
- package/huemagic/locales/tr/hue-magic.html +68 -0
- package/huemagic/locales/tr/hue-magic.json +26 -0
- package/huemagic/locales/tr/hue-motion.html +64 -0
- package/huemagic/locales/tr/hue-motion.json +36 -0
- package/huemagic/locales/tr/hue-rules.html +69 -0
- package/huemagic/locales/tr/hue-rules.json +30 -0
- package/huemagic/locales/tr/hue-scene.html +43 -0
- package/huemagic/locales/tr/hue-scene.json +32 -0
- package/huemagic/locales/tr/hue-speaker.html +80 -0
- package/huemagic/locales/tr/hue-speaker.json +38 -0
- package/huemagic/locales/tr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/tr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/tr/hue-syncbox.html +86 -0
- package/huemagic/locales/tr/hue-syncbox.json +30 -0
- package/huemagic/locales/tr/hue-temperature.html +69 -0
- package/huemagic/locales/tr/hue-temperature.json +33 -0
- package/huemagic/utils/api.js +158 -54
- package/huemagic/utils/color.js +20 -2
- package/huemagic/utils/merge.js +3 -2
- package/huemagic/utils/messages.js +506 -120
- package/huemagic/utils/sse.js +51 -0
- package/huemagic/utils/syncbox.js +84 -0
- package/package.json +19 -11
- package/.github/FUNDING.yml +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/npm.yml +0 -18
- package/huemagic/locales/en-US/hue-bridge-config.json +0 -29
- package/huemagic/locales/en-US/hue-buttons.json +0 -34
- package/huemagic/locales/en-US/hue-light.json +0 -38
- /package/huemagic/locales/{en-US → en}/hue-bridge-config.html +0 -0
- /package/huemagic/locales/{en-US → en}/hue-magic.json +0 -0
|
@@ -0,0 +1,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>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-temperature": {
|
|
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 temperatura…",
|
|
14
|
+
"none-found": "Nenhum sensor de temperatura encontrado.",
|
|
15
|
+
"sensor": "Sensor",
|
|
16
|
+
"offset": "Correção"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"not-configured": "não configurado",
|
|
20
|
+
"init": "a inicializar…",
|
|
21
|
+
"not-reachable": "inacessível",
|
|
22
|
+
"universal": "modo universal",
|
|
23
|
+
"command": "a executar comando…",
|
|
24
|
+
"deactivated": "desativado",
|
|
25
|
+
"statusmsg": "Estado consultado com sucesso…",
|
|
26
|
+
"title": "Hue Temperatura",
|
|
27
|
+
"input": "consulta de estado",
|
|
28
|
+
"output": "temperatura (alterada)",
|
|
29
|
+
"error-no-id": "Indique um ID de sensor válido.",
|
|
30
|
+
"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."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-automation">
|
|
2
|
+
«Hue Otomasyon» düğümü, Philips Hue uygulamasında oluşturduğunuz otomasyonları etkinleştirip devre dışı bırakabilir.
|
|
3
|
+
|
|
4
|
+
### Kurulum
|
|
5
|
+
|
|
6
|
+
Önceden yapılandırılmış Hue Bridge'i seçin ve mevcut tüm otomasyonları bulmak için arama düğmesine tıklayın. Otomasyonun kimliğini zaten biliyorsanız, buraya elle de girebilirsiniz. Otomasyona dahili olarak yeni bir ad verebilir veya önceden tanımlı adı kullanabilirsiniz. İsteğe bağlı olarak «Düğümün mesajlarını yoksay» ayarıyla bu düğümün tüm otomatik durum mesajlarını devre dışı bırakabilirsiniz. Düğüm bundan sonra güncelleme yayınlamaz. Alternatif olarak, Node-RED başlatılırken düğümün başlatma mesajının bastırılmamasını seçebilirsiniz. Bu ayarı etkinleştirirseniz her dağıtımdan sonra seçili otomasyonun durum mesajını alırsınız. Düğümün siz bir şey gönderene kadar sessiz kalmasını tercih ediyorsanız «Yalnızca bir komuttan sonra bildir» seçeneğini etkinleştirin. Bu durumda uygulamadan veya bir anahtardan gelen değişiklikleri yok sayar ve yalnızca sizin komutlarınıza yanıt verir.
|
|
7
|
+
|
|
8
|
+
Bir otomasyon seçmez ve düğüm yapılandırmasını bu şekilde kullanırsanız, düğüm «evrensel mod» adı verilen modda çalışır. Bu modda düğüm aynı türdeki tüm durum mesajlarını alır ve yayınlar. Evrensel modda ayarları belirli bir otomasyona uygulamak için ilgili otomasyon kimliğini `msg.topic` içinde dize olarak ayarlarınızla birlikte gönderebilirsiniz.
|
|
9
|
+
|
|
10
|
+
### Otomasyonu etkinleştirme / devre dışı bırakma
|
|
11
|
+
|
|
12
|
+
Devre dışı bırakılan bir otomasyon bridge üzerinde kalır ve istediğiniz zaman yeniden etkinleştirilebilir. Bunun için aşağıdaki içeriğe sahip bir nesne gönderin:
|
|
13
|
+
|
|
14
|
+
: payload (boolean): `true` otomasyonu etkinleştirir, `false` devre dışı bırakır
|
|
15
|
+
: enabled (boolean): Bir nesne göndermeyi tercih ederseniz yukarıdakiyle aynı
|
|
16
|
+
: toggle (boolean | any): Önceki duruma göre etkin ve devre dışı arasında geçiş yapar
|
|
17
|
+
|
|
18
|
+
### Düğümün durum mesajları
|
|
19
|
+
|
|
20
|
+
Otomasyon değiştiği anda düğüm aşağıdaki durum mesajını döndürür:
|
|
21
|
+
|
|
22
|
+
#### `msg.payload` altındaki durum nesnesi
|
|
23
|
+
|
|
24
|
+
: enabled (boolean): Otomasyonun etkin olup olmadığını belirtir
|
|
25
|
+
: running (boolean): Bridge otomasyonu fiilen yürütürken `true`
|
|
26
|
+
: status (string | boolean): Geçerli durum. Değer olarak `initializing`, `running`, `disabled` veya `errored` içerebilir
|
|
27
|
+
: lastError (string | boolean): Bridge tarafından bildirilen son hata veya `false`
|
|
28
|
+
: updated (string): Kaynağın HueMagic tarafından son güncellenme zamanı (ISO 8601)
|
|
29
|
+
|
|
30
|
+
#### `msg.info` altındaki otomasyon bilgileri
|
|
31
|
+
|
|
32
|
+
: id (string): Otomasyonun kimliğini belirtir
|
|
33
|
+
: idV1 (string | boolean): Otomasyonun eski kimliğini belirtir
|
|
34
|
+
: name (string | boolean): Otomasyona Philips Hue uygulamasında verdiğiniz ad
|
|
35
|
+
: type (string): Kaynağın türü (her zaman `automation`)
|
|
36
|
+
: script (string | boolean): Otomasyonun arkasındaki davranış betiğinin kimliği
|
|
37
|
+
|
|
38
|
+
#### `msg.configuration` altındaki yapılandırma
|
|
39
|
+
|
|
40
|
+
Otomasyonun ayarlarını, Philips Hue uygulamasının kaydettiği biçimde içerir. Yapı, otomasyonun türüne bağlıdır ve değiştirilmeden aktarılır.
|
|
41
|
+
|
|
42
|
+
#### `msg.updated` altındaki durum değişiklikleri
|
|
43
|
+
|
|
44
|
+
Otomasyonun önceki durumuna kıyasla değişen parametreleri bir nesne olarak listeler. Herhangi bir değişiklik kaydedilmediyse bu nesne boştur.
|
|
45
|
+
|
|
46
|
+
#### `msg.lastState` altındaki son otomasyon durumu
|
|
47
|
+
|
|
48
|
+
Son kaydedilen değişiklikten önceki durumun eksiksiz durum nesnesini içerir (yukarıdaki çıktı değerlerine bakın). HueMagic önceki durumu henüz kaydetmediyse `false` verilir.
|
|
49
|
+
|
|
50
|
+
#### `msg.command` altındaki son komut (isteğe bağlı)
|
|
51
|
+
|
|
52
|
+
Düğümün durumu belirli bir komutla değiştiyse, yürütülen komutun tamamı da çıktı olarak verilir. Aksi hâlde düğüm bu nesneyi çıktı olarak vermez.
|
|
53
|
+
|
|
54
|
+
### HueMagic örnekleri
|
|
55
|
+
|
|
56
|
+
HueMagic bu düğüm için bazı örnek yapılandırmalar sunar. Node-RED arayüzünüze eksiksiz bir örnek aktarmak için Node-RED menü simgesine tıklayın, «Import» seçeneğini seçin ve açılan pencerenin kenar çubuğunda «Examples» bölümüne gidin. Ardından HueMagic klasörünü ve istediğiniz düğümü seçerek örnek bir akış aktarın.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-automation": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Ad",
|
|
5
|
+
"skipevents-node": "Düğümün mesajlarını yoksay",
|
|
6
|
+
"sendinitevents-node": "Başlatma olayını bastırma",
|
|
7
|
+
"onlycommands-node": "Yalnızca bir komuttan sonra bildir",
|
|
8
|
+
"unknown-error": "Bir şeyler ters gitti. Lütfen tekrar deneyin.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Evrensel olaylar",
|
|
11
|
+
"universalevents-node": "Aynı türdeki diğer düğümlerin tüm mesajlarını alır (yalnızca evrensel modda)",
|
|
12
|
+
"input-name": "Otomasyon adı",
|
|
13
|
+
"searching": "Otomasyonlar aranıyor…",
|
|
14
|
+
"none-found": "Hiç otomasyon bulunamadı!",
|
|
15
|
+
"automation": "Otomasyon"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "yapılandırılmadı",
|
|
19
|
+
"init": "başlatılıyor…",
|
|
20
|
+
"universal": "evrensel mod",
|
|
21
|
+
"command": "komut yürütülüyor…",
|
|
22
|
+
"statusmsg": "Durum başarıyla sorgulandı…",
|
|
23
|
+
"title": "Hue Otomasyon",
|
|
24
|
+
"enabled": "etkin",
|
|
25
|
+
"disabled": "devre dışı",
|
|
26
|
+
"errored": "hata",
|
|
27
|
+
"input": "etkinleştir / devre dışı bırak",
|
|
28
|
+
"output": "otomasyon",
|
|
29
|
+
"error-no-id": "Lütfen geçerli bir otomasyon kimliği girin.",
|
|
30
|
+
"error-not-available": "Otomasyon henüz kullanılabilir değil. HueMagic bridge ile bağlantı kurana kadar bekleyin veya yapılandırmadaki kaynak kimliğinin geçerli olup olmadığını kontrol edin."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge">
|
|
2
|
+
Bir Philips Hue Bridge'e bağlanır.
|
|
3
|
+
|
|
4
|
+
### Ad
|
|
5
|
+
|
|
6
|
+
Bridge'e dahili olarak farklı bir ad verebilir veya varsayılan adı koruyabilirsiniz.
|
|
7
|
+
|
|
8
|
+
### Bridge IP adresi ve bağlantı noktası
|
|
9
|
+
|
|
10
|
+
Hue Bridge IP adresini elle girin veya yerel ağdaki tüm bridge'leri listelemek için düğmeye basın (Hue Bridge üzerinde statik IP yapılandırması önerilir). İsteğe bağlı olarak IP adresine iki nokta üst üste ekleyerek bridge için farklı bir bağlantı noktası da tanımlayabilirsiniz.
|
|
11
|
+
|
|
12
|
+
### API anahtarı
|
|
13
|
+
|
|
14
|
+
Hue Bridge API anahtarını elle girin veya yeni bir anahtar oluşturmak için düğmeye basın. Yeni bir anahtar oluşturmak istiyorsanız, işlemi tamamlamak için 20 saniye içinde bridge'in fiziksel düğmesine basmanız gerekir.
|
|
15
|
+
|
|
16
|
+
### İş parçacığı
|
|
17
|
+
|
|
18
|
+
«İş parçacığı» değeri, HueMagic'in bridge'e aynı anda gönderebileceği paralel komut sayısını belirler. Philips Hue Bridge'in resmî belgelerine göre saniyede 10'dan fazla komut gönderilmemelidir; aksi hâlde bridge istekleri yeterince hızlı işleyemeyip hata verebilir.
|
|
19
|
+
|
|
20
|
+
Aynı anda burada ayarlanan değerden fazla komut gönderilirse, HueMagic komutları aktarım yeniden mümkün olduğunda sırayla yürütür.
|
|
21
|
+
|
|
22
|
+
HueMagic dışından da bridge'e komut gönderiyorsanız, Philips Hue'nun önerdiği saniye başına komut sayısına uymak için bu değeri 10'un altına (ör. 4 ile 7 arası) ayarlayın.
|
|
23
|
+
|
|
24
|
+
### Otomatik ürün yazılımı güncellemeleri
|
|
25
|
+
|
|
26
|
+
HueMagic düzenli aralıklarla Philips Hue ürün yazılımı güncellemelerini denetler ve mevcut olduklarında otomatik olarak kurar. İlgili onay kutusunu işaretleyerek bu davranışı devre dışı bırakabilirsiniz.
|
|
27
|
+
|
|
28
|
+
### Bildirimleri devre dışı bırakma
|
|
29
|
+
|
|
30
|
+
Bu ayarı etkinleştirirseniz, bu bridge'e bağlı tüm düğümler artık otomatik durum mesajı almaz.
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Ad",
|
|
5
|
+
"apikey": "API anahtarı",
|
|
6
|
+
"missing-ip": "Hue Bridge IP adresi eksik…",
|
|
7
|
+
"disable-events": "Olayları devre dışı bırak",
|
|
8
|
+
"disable-events-info": "Tüm düğümlerde olayları devre dışı bırak",
|
|
9
|
+
"searching": "Hue Bridge aranıyor…",
|
|
10
|
+
"none-found": "Hiç Hue Bridge bulunamadı!",
|
|
11
|
+
"unknown-error": "Bir şeyler ters gitti. Lütfen tekrar deneyin.",
|
|
12
|
+
"invalid": "Üzgünüz. Seçtiğiniz Hue Bridge geçersiz: ",
|
|
13
|
+
"error-select-first": "Yeni bir kullanıcı oluşturmadan önce Hue Bridge cihazınızı seçin!",
|
|
14
|
+
"waiting": "bağlantı düğmesi bekleniyor…",
|
|
15
|
+
"new-user-press": "Yeni bir kullanıcı oluşturmak için şimdi Hue Bridge cihazınızdaki düğmeye basın!",
|
|
16
|
+
"retry": "Düğmeye basılmadı. Lütfen tekrar deneyin…",
|
|
17
|
+
"success": "Kullanıcı başarıyla oluşturuldu!",
|
|
18
|
+
"connecting": "Bridge ile bağlantı kuruluyor…",
|
|
19
|
+
"autoupdates": "Otomatik ürün yazılımı güncellemelerini etkinleştir",
|
|
20
|
+
"bridge-ip": "Bridge IP adresi",
|
|
21
|
+
"worker": "İş parçacığı"
|
|
22
|
+
},
|
|
23
|
+
"node": {
|
|
24
|
+
"title": "Hue Bridge",
|
|
25
|
+
"statusmsg": "Durum başarıyla sorgulandı…",
|
|
26
|
+
"initializing": "Bridge başlatılıyor (__bridge__)…",
|
|
27
|
+
"connected": "Bridge ile bağlantı kuruldu",
|
|
28
|
+
"processing": "Bridge kaynakları işleniyor…",
|
|
29
|
+
"initial-emit": "Kaynak durumlarının ilk yayını…",
|
|
30
|
+
"keep-updated": "Düğümler güncel tutuluyor…",
|
|
31
|
+
"subscribing": "Bridge olaylarına abone olunuyor…",
|
|
32
|
+
"unsubscribing": "Bridge olayları aboneliği sonlandırılıyor…",
|
|
33
|
+
"no-legacy-api": "Bridge eski API üzerinden yanıt vermiyor, yapılandırması olmadan devam ediliyor…",
|
|
34
|
+
"request-error": "Bridge'ten bilgi istenirken hata oluştu (__error__)",
|
|
35
|
+
"connection-lost": "Bridge bağlantısı koptu (__reason__). __seconds__ saniye içinde yeniden denenecek…",
|
|
36
|
+
"resources-changed": "Bridge üzerindeki kaynaklar değişti. Yeniden yükleniyor…",
|
|
37
|
+
"not-connected": "Bridge bağlı değil."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge-node">
|
|
2
|
+
«Hue Bridge» düğümü, bridge'in tüm ayarlarını ve diğer düğümlerin durum mesajlarını verebilen evrensel bir düğümdür.
|
|
3
|
+
|
|
4
|
+
### Kurulum
|
|
5
|
+
|
|
6
|
+
Önce istediğiniz Hue Bridge'i seçin. İsteğe bağlı olarak «Bu düğümde genel cihaz güncellemelerini ve mesajlarını yoksay» ayarıyla bu düğümün tüm otomatik durum mesajlarını devre dışı bırakabilirsiniz. Düğüm bundan sonra cihaz güncellemesi yayınlamaz.
|
|
7
|
+
|
|
8
|
+
Alternatif olarak, Node-RED başlatılırken tüm düğümlerin başlatma mesajlarının bastırılmamasını seçebilirsiniz. Bu ayarı etkinleştirirseniz her dağıtımdan sonra bridge'e bağlı tüm kaynaklardan durum mesajı alırsınız.
|
|
9
|
+
|
|
10
|
+
### Ayarları / durumu sorgulama
|
|
11
|
+
|
|
12
|
+
Düğüme aşağıdaki mesaj gönderildiğinde bridge'in güncel durumunu ve ayarlarını verir. Alternatif olarak, önce düğüme bir mesaj göndermeden Node-RED arayüzündeki düğmeye de basabilirsiniz.
|
|
13
|
+
|
|
14
|
+
: payload (boolean): Bridge'in güncel durumunu döndürür
|
|
15
|
+
|
|
16
|
+
### TouchLink taraması başlatma
|
|
17
|
+
|
|
18
|
+
Bir «TouchLink taraması» ile yeni veya eski cihazları bridge'e eşleyebilirsiniz (ör. bir sıfırlamadan sonra). Bunun için `msg.payload` nesnesini aşağıdaki içerikle gönderin:
|
|
19
|
+
|
|
20
|
+
: touchLink (boolean): Eski veya yeni cihazları bridge ile eşler
|
|
21
|
+
|
|
22
|
+
### Tüm cihazları ve kaynakları sorgulama
|
|
23
|
+
|
|
24
|
+
«fetch» komutuyla bridge'e o anda bağlı olan belirli cihazların listesini alabilirsiniz. Bunun için `msg.payload` nesnesini aşağıdaki içerikle gönderin:
|
|
25
|
+
|
|
26
|
+
: fetch (string | array [string, ...]): Değer olarak `light`, `group`, `button`, `motion`, `temperature`, `light_level` veya `rule` kabul eder
|
|
27
|
+
|
|
28
|
+
### Hue Bridge ayarlarını değiştirme
|
|
29
|
+
|
|
30
|
+
Aşağıdaki komutla bridge üzerindeki belirli ayarları değiştirebilirsiniz. Düğüme `msg.payload.settings` nesnesini aşağıdaki ayar seçenekleriyle gönderin:
|
|
31
|
+
|
|
32
|
+
> [!WARNING]
|
|
33
|
+
> Ağ ayarlarının değiştirilmesi, bridge'in HueMagic'te yeniden yapılandırılmasını gerektirir.
|
|
34
|
+
|
|
35
|
+
: name (string): Bridge'in adını değiştirir ve en az 4, en fazla 16 karakter içermelidir
|
|
36
|
+
: zigbeeChannel (int): Geçerli ZigBee kanalını değiştirir (`11`, `15`, `20`, `25` veya `0`)
|
|
37
|
+
: ipAddress (string): Ağ ayarlarındaki IP adresini değiştirir
|
|
38
|
+
: dhcpEnabled (boolean): `true` ağ ayarlarında DHCP'yi etkinleştirir, `false` devre dışı bırakır
|
|
39
|
+
: netmask (string): Ağ ayarlarındaki ağ maskesini değiştirir
|
|
40
|
+
: gateway (string): Ağ ayarlarındaki ağ geçidini belirler
|
|
41
|
+
: proxyAddress (string): Ağ ayarlarında bir proxy adresi belirler
|
|
42
|
+
: proxyPort (string | int): Ağ ayarlarındaki proxy bağlantı noktasını belirler
|
|
43
|
+
: timeZone (string): Bridge üzerinde ayarlı olan saat dilimini değiştirir
|
|
44
|
+
|
|
45
|
+
### Düğümün durum mesajları
|
|
46
|
+
|
|
47
|
+
«Hue Bridge» düğümünün durum mesajları dinamiktir. Belirli bir düzeni izleseler de, çıktıları düğümde az önce hangi eylemin yapıldığına göre değişebilir.
|
|
48
|
+
|
|
49
|
+
#### `msg.payload` altındaki durum nesnesi
|
|
50
|
+
|
|
51
|
+
: id (string): Hue Bridge'in benzersiz kimliği
|
|
52
|
+
: name (string): Geçerli ad
|
|
53
|
+
: factoryNew (boolean): Bridge'in sıfır olup olmadığını belirtir
|
|
54
|
+
: replacesBridgeId (string | boolean): Eski bridge kimliğini (bir geçiş yapıldıysa) veya `false` verir
|
|
55
|
+
: dataStoreVersion (string): Veri deposunun sürümü
|
|
56
|
+
: starterKitId (string | boolean): Fabrikada oluşturulan başlangıç setinin adı veya `false`
|
|
57
|
+
: softwareVersion (string): Bridge'in yazılım sürümü
|
|
58
|
+
: apiVersion (string): Bridge'in API sürümü
|
|
59
|
+
: zigbeeChannel (int): Şu anda kullanılan ZigBee kanalı
|
|
60
|
+
: macAddress (string): Bridge'in MAC adresi
|
|
61
|
+
: ipAddress (string): Bridge'in IP adresi
|
|
62
|
+
: dhcpEnabled (boolean): DHCP'nin etkin olup olmadığını belirtir
|
|
63
|
+
: netmask (string): Bridge'in ağ maskesi
|
|
64
|
+
: gateway (string): Bridge'in ağ geçidi
|
|
65
|
+
: proxyAddress (string | boolean): Şu anda kullanılan proxy adresi veya `false`
|
|
66
|
+
: proxyPort (string): Şu anda kullanılan proxy bağlantı noktası
|
|
67
|
+
: utcTime (string): Bridge üzerindeki UTC saati
|
|
68
|
+
: timeZone (string): Bridge üzerinde ayarlı saat dilimi
|
|
69
|
+
: localTime (string): Yerel saat dilimi
|
|
70
|
+
: portalServicesEnabled (boolean): Portal hizmetlerinin etkin olup olmadığını belirtir
|
|
71
|
+
: portalConnected (boolean): Bridge'in portala bağlı olup olmadığını belirtir
|
|
72
|
+
: linkButtonEnabled (boolean): Bağlantı düğmesinin etkin olup olmadığını belirtir
|
|
73
|
+
: touchlinkEnabled (boolean): TouchLink'in etkin olup olmadığını belirtir
|
|
74
|
+
: autoUpdatesEnabled (boolean): HueMagic'in güncellemeleri otomatik denetleyip denetlemeyeceğini belirtir
|
|
75
|
+
: users (array [object, ...]): Bridge üzerindeki tüm kullanıcıların listesi (nesne dizisi)
|
|
76
|
+
: updated (string): Kaynağın HueMagic tarafından son güncellenme zamanı (ISO 8601)
|
|
77
|
+
: model (object): Bridge'in model bilgilerini `id`, `manufacturer` ve `name` altında içerir
|
|
78
|
+
|
|
79
|
+
#### `msg.results` altındaki «fetch» sonuçları (isteğe bağlı)
|
|
80
|
+
|
|
81
|
+
Düğümde «fetch» komutu kullanıldıysa, bridge ilgili sonuçları `msg.results` nesnesinde verir. Nesne, sorgulanan kaynak gruplarını içerir; bunlar da ilgili tüm kaynakları dizi olarak barındırır.
|
|
82
|
+
|
|
83
|
+
#### `msg.updated` altındaki genel durum mesajları (isteğe bağlı)
|
|
84
|
+
|
|
85
|
+
Devre dışı bırakılmadıkça düğüm, bridge üzerindeki her kaynak için güncellenmiş bir durum mesajı verir. `msg.updated` altındaki durum mesajı ilgili kaynağın düzenini izler ve en son güncellenen cihazın türüne göre değişir.
|
|
86
|
+
|
|
87
|
+
#### `msg.command` altındaki son komut (isteğe bağlı)
|
|
88
|
+
|
|
89
|
+
Düğümün durumu belirli bir komutla değiştiyse, yürütülen komutun tamamı da çıktı olarak verilir. Aksi hâlde düğüm bu nesneyi çıktı olarak vermez.
|
|
90
|
+
|
|
91
|
+
### HueMagic örnekleri
|
|
92
|
+
|
|
93
|
+
HueMagic bu düğüm için bazı örnek yapılandırmalar sunar. Node-RED arayüzünüze eksiksiz bir örnek aktarmak için Node-RED menü simgesine tıklayın, «Import» seçeneğini seçin ve açılan pencerenin kenar çubuğunda «Examples» bölümüne gidin. Ardından HueMagic klasörünü ve istediğiniz düğümü seçerek örnek bir akış aktarın.
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Ad",
|
|
5
|
+
"input-name": "Hue Bridge adı",
|
|
6
|
+
"skipglobalevents-info": "Bu düğümde genel cihaz güncellemelerini ve mesajlarını yoksay",
|
|
7
|
+
"sendinitevents-node": "Başlatma olayını bastırma",
|
|
8
|
+
"bridge": "Bridge"
|
|
9
|
+
},
|
|
10
|
+
"node": {
|
|
11
|
+
"title": "Hue Bridge",
|
|
12
|
+
"not-configured": "yapılandırılmadı",
|
|
13
|
+
"connecting": "bağlanılıyor…",
|
|
14
|
+
"connected": "bağlandı",
|
|
15
|
+
"starting-tl": "TouchLink başlatılıyor…",
|
|
16
|
+
"started-tl": "TouchLink başlatıldı…",
|
|
17
|
+
"f-resources": "kaynaklar alınıyor…",
|
|
18
|
+
"updating-settings": "ayarlar güncelleniyor…",
|
|
19
|
+
"settings-updated": "ayarlar güncellendi",
|
|
20
|
+
"input": "ayarlar / sorgu",
|
|
21
|
+
"output": "bridge bilgileri",
|
|
22
|
+
"statusmsg": "Durum başarıyla sorgulandı…",
|
|
23
|
+
"error-not-available": "Bridge henüz kullanılabilir değil. HueMagic bridge ile bağlantı kurana kadar bekleyin."
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-brightness">
|
|
2
|
+
«Hue Parlaklık» düğümü, bridge'e bağlı uygun bir sensörden güncel ışık düzeyini okuyabilir.
|
|
3
|
+
|
|
4
|
+
### Kurulum
|
|
5
|
+
|
|
6
|
+
Önceden yapılandırılmış Hue Bridge'i seçin ve mevcut tüm sensörleri bulmak için arama düğmesine tıklayın. Sensörün kimliğini zaten biliyorsanız, buraya elle de girebilirsiniz. Sensöre dahili olarak yeni bir ad verebilir veya önceden tanımlı adı kullanabilirsiniz. İsteğe bağlı olarak «Düğümün mesajlarını yoksay» ayarıyla bu düğümün tüm otomatik durum mesajlarını devre dışı bırakabilirsiniz. Düğüm bundan sonra cihaz güncellemesi yayınlamaz. Alternatif olarak, Node-RED başlatılırken düğümün başlatma mesajının bastırılmamasını seçebilirsiniz. Bu ayarı etkinleştirirseniz her dağıtımdan sonra seçili sensörün durum mesajını alırsınız. Düğümün siz bir şey gönderene kadar sessiz kalmasını tercih ediyorsanız «Yalnızca bir komuttan sonra bildir» seçeneğini etkinleştirin. Bu durumda uygulamadan veya bir anahtardan gelen değişiklikleri yok sayar ve yalnızca sizin komutlarınıza yanıt verir.
|
|
7
|
+
|
|
8
|
+
«Şunun altında karanlık» ayarı, düğümün bir odayı hangi ışık düzeyinin altında karanlık saydığını belirler. Parlak bir lambası olan bir oda, penceresiz bir koridordan tamamen farklı bir değer gerektirir; bu yüzden odanıza uyan lux değerini girmeniz yeterlidir. `dark` ve `daylight` değerleri bundan sonra varsayılan 90 lux yerine sizin ayarınıza göre belirlenir.
|
|
9
|
+
|
|
10
|
+
Bir sensör seçmez ve düğüm yapılandırmasını bu şekilde kullanırsanız, düğüm «evrensel mod» adı verilen modda çalışır. Bu modda düğüm aynı türdeki tüm durum mesajlarını alır ve yayınlar. Evrensel modda ayarları belirli bir sensöre uygulamak için ilgili sensör kimliğini `msg.topic` içinde dize olarak ayarlarınızla birlikte gönderebilirsiniz.
|
|
11
|
+
|
|
12
|
+
### Durumu sorgulama
|
|
13
|
+
|
|
14
|
+
Düğüme aşağıdaki içeriğe sahip bir `msg.payload` nesnesi iletildiğinde sensörün güncel durumunu verir. Alternatif olarak, önce düğüme bir mesaj göndermeden Node-RED arayüzündeki düğmeye de basabilirsiniz.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Sensörün güncel durumunu döndürür
|
|
17
|
+
|
|
18
|
+
### Sensörü açma / kapatma
|
|
19
|
+
|
|
20
|
+
Gerekirse sensör uzaktan açılıp kapatılabilir. Sensör kapatıldığında artık ışık düzeyi değişikliği kaydetmez ve dolayısıyla bildirmez. Bunun için aşağıdaki içeriğe sahip bir nesne gönderin:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` sensörü açar, `false` kapatır
|
|
23
|
+
|
|
24
|
+
### Düğümün durum mesajları
|
|
25
|
+
|
|
26
|
+
Sensör ışık düzeyinde bir değişiklik algıladığı anda aşağıdaki durum mesajı döndürülür:
|
|
27
|
+
|
|
28
|
+
#### `msg.payload` altındaki durum nesnesi
|
|
29
|
+
|
|
30
|
+
: active (boolean): Sensörün açık mı kapalı mı olduğunu belirtir
|
|
31
|
+
: reachable (boolean | string): Sensör bridge'e bağlıysa `true`, bağlantı durumu farklıysa `unknown`
|
|
32
|
+
: connectionStatus (string): Bridge ile olan güncel bağlantı durumu (dize olarak). Değer olarak `connected`, `disconnected`, `connectivity_issue` veya `unidirectional_incoming` içerebilir
|
|
33
|
+
: lux (int): Işık düzeyinin gerçek LUX değerini belirtir
|
|
34
|
+
: lightLevel (int): Sensörün ölçtüğü ışık şiddetini belirtir
|
|
35
|
+
: dark (boolean): Karanlık kaydedildiyse `true`
|
|
36
|
+
: daylight (boolean): Gün ışığı kaydedildiyse `true`
|
|
37
|
+
: darkThreshold (int): Düğümün karanlık bildirdiği, lux cinsinden ışık düzeyi sınırı
|
|
38
|
+
: updated (string): Kaynağın HueMagic tarafından son güncellenme zamanı (ISO 8601)
|
|
39
|
+
|
|
40
|
+
#### `msg.info` altındaki sensör bilgileri
|
|
41
|
+
|
|
42
|
+
: id (string): Sensörün yeni kimliğini belirtir
|
|
43
|
+
: idV1 (string | boolean): Sensörün eski kimliğini belirtir
|
|
44
|
+
: uniqueId (string): Sensörün benzersiz kimliği
|
|
45
|
+
: deviceId (string): Cihazın benzersiz kimliği
|
|
46
|
+
: name (string): Sensörün geçerli adı
|
|
47
|
+
: type (string): Sensörün türü (her zaman `light_level`)
|
|
48
|
+
: softwareVersion (string): Sensörün geçerli ürün yazılımı
|
|
49
|
+
: battery (float): Sensörün geçerli pil düzeyi
|
|
50
|
+
: batteryState (string): Pil düzeyinin geçerli durumu. Değer olarak `normal`, `low` veya `critical` içerebilir
|
|
51
|
+
: model (object): Sensörün model bilgilerini `id`, `manufacturer`, `name`, `type` ve `certified` altında içerir
|
|
52
|
+
|
|
53
|
+
#### `msg.updated` altındaki durum değişiklikleri
|
|
54
|
+
|
|
55
|
+
Sensörün önceki durumuna kıyasla değişen parametreleri bir nesne olarak listeler. Herhangi bir değişiklik kaydedilmediyse bu nesne boştur.
|
|
56
|
+
|
|
57
|
+
#### `msg.lastState` altındaki son sensör durumu
|
|
58
|
+
|
|
59
|
+
Son kaydedilen değişiklikten önceki durumun eksiksiz durum nesnesini içerir (yukarıdaki çıktı değerlerine bakın). HueMagic önceki durumu henüz kaydetmediyse `false` verilir.
|
|
60
|
+
|
|
61
|
+
#### `msg.command` altındaki son komut (isteğe bağlı)
|
|
62
|
+
|
|
63
|
+
Düğümün durumu belirli bir komutla değiştiyse, yürütülen komutun tamamı da çıktı olarak verilir. Aksi hâlde düğüm bu nesneyi çıktı olarak vermez.
|
|
64
|
+
|
|
65
|
+
### HueMagic örnekleri
|
|
66
|
+
|
|
67
|
+
HueMagic bu düğüm için bazı örnek yapılandırmalar sunar. Node-RED arayüzünüze eksiksiz bir örnek aktarmak için Node-RED menü simgesine tıklayın, «Import» seçeneğini seçin ve açılan pencerenin kenar çubuğunda «Examples» bölümüne gidin. Ardından HueMagic klasörünü ve istediğiniz düğümü seçerek örnek bir akış aktarın.
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
</script>
|