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,97 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-light">
|
|
2
|
+
El nodo «Hue Luz» puede controlar las luces conectadas al bridge y recibir sus mensajes de estado.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todas las luces disponibles. Si ya conoce el ID de una luz, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo a la luz o utilizar el nombre predefinido. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones del dispositivo. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si activa este ajuste, recibirá un mensaje de estado de la luz seleccionada después de cada despliegue. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
|
|
7
|
+
|
|
8
|
+
Si activa el ajuste «Activar los nombres de color», el nodo intentará describir el color de luz configurado en cada mensaje de estado. En ese caso recibirá en la salida un parámetro adicional con la descripción en inglés del color actual.
|
|
9
|
+
|
|
10
|
+
Si no selecciona ninguna luz y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a una luz concreta pasando el ID de la luz correspondiente como cadena en `msg.topic` junto con sus ajustes.
|
|
11
|
+
|
|
12
|
+
### Consultar el estado
|
|
13
|
+
|
|
14
|
+
Emite el estado actual de la luz en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Devuelve el estado actual de la luz
|
|
17
|
+
|
|
18
|
+
### Encender / apagar la luz (modo sencillo)
|
|
19
|
+
|
|
20
|
+
Para encender o apagar rápidamente una luz en el modo sencillo, pase al nodo un objeto con el siguiente contenido:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` enciende la luz, `false` la apaga
|
|
23
|
+
|
|
24
|
+
### Comandos de luz (ampliado)
|
|
25
|
+
|
|
26
|
+
Además de encender y apagar sin más, hay muchas otras opciones disponibles para controlar la luz. Todos los nodos de HueMagic se pueden controlar con comandos aditivos. Esto significa que puede pasar primero un ajuste y después otro en un comando posterior sin descartar el ajuste anterior. Transfiera los siguientes parámetros en un objeto `msg.payload` para realizar ajustes más amplios en la luz:
|
|
27
|
+
|
|
28
|
+
: on (boolean): `true` enciende la luz, `false` la apaga
|
|
29
|
+
: toggle (boolean | any): Alterna entre encendido y apagado, según el estado anterior de la luz
|
|
30
|
+
: brightness (int | string): Valor porcentual del brillo de la luz (0-100) o una cadena con el valor `auto` para ajustar el brillo automáticamente en función de la hora actual
|
|
31
|
+
: brightnessLevel (int): Valor numérico del brillo de la luz (0-254)
|
|
32
|
+
: incrementBrightness (int | boolean): Indica en cuántos puntos porcentuales debe aumentarse el brillo de la luz, o `true` para aclararla en pasos del 10 %
|
|
33
|
+
: decrementBrightness (int | boolean): Indica en cuántos puntos porcentuales debe reducirse el brillo de la luz, o `true` para oscurecerla en pasos del 10 %
|
|
34
|
+
: color (string): `random` para establecer un color aleatorio o un nombre de color en inglés (p. ej. `red`)
|
|
35
|
+
: hex (string): Valor de color en hexadecimal en forma de cadena
|
|
36
|
+
: rgb (array [0,0,0]): Valor de color en formato RGB en forma de array
|
|
37
|
+
: xyColor (object {x [float], y [float]}): Valor de color en el formato de color XY en forma de objeto
|
|
38
|
+
: gradient (object {hex […]}): Un objeto con un objeto de color admitido (p. ej. `hex`, `rgb`, …) y varios colores para aplicar un degradado a las luces compatibles
|
|
39
|
+
: mixColor (object): Un color que se mezcla con el color de luz actual. Admite objetos `color`, `hex`, `rgb` o `xyColor` y, opcionalmente, `amount` (int) para indicar la proporción de mezcla en porcentaje
|
|
40
|
+
: image (string): Ruta de una imagen (local o en la web) para ajustar el color actual de la luz al color medio de la imagen
|
|
41
|
+
: saturation (int): Porcentaje de saturación del color actual (beta)
|
|
42
|
+
: colorTemp (int | string): Valor entre 153 y 500 para ajustar la temperatura de color de la luz, o los valores `cold`, `normal`, `warm`, `hot` y `auto`, donde `auto` fija la temperatura de color en función de la hora actual
|
|
43
|
+
: incrementColorTemp (int | boolean): Valor que indica cuánto debe subir la temperatura de color hacia el cálido, o `true` para hacerla más cálida en pasos de 50
|
|
44
|
+
: decrementColorTemp (int | boolean): Valor que indica cuánto debe bajar la temperatura de color hacia el frío, o `true` para hacerla más fría en pasos de 50
|
|
45
|
+
: transitionTime (float): Tiempo de transición del ajuste actual en segundos. Si se indica `0`, la luz cambia de inmediato al ajuste deseado. Si se indica `3`, la luz pasa al ajuste deseado con una ligera transición en los 3 segundos siguientes
|
|
46
|
+
: colorloop (float): Reproduce una animación «colorloop» durante los segundos indicados y después vuelve al estado original de la luz
|
|
47
|
+
: alert (float): Reproduce una animación «alert» durante los segundos indicados y después vuelve al estado original de la luz
|
|
48
|
+
|
|
49
|
+
### Mensajes de estado del nodo
|
|
50
|
+
|
|
51
|
+
En cuanto se detecta un cambio en los ajustes de la luz (ya sea a través de Node-RED o de forma externa), el nodo devuelve el siguiente mensaje de estado:
|
|
52
|
+
|
|
53
|
+
#### Objeto de estado en `msg.payload`
|
|
54
|
+
|
|
55
|
+
: on (boolean): Estado de la luz, donde `true` significa encendida y `false` apagada
|
|
56
|
+
: brightness (int | boolean): Brillo actual en porcentaje o `false` si la luz no admite ajuste de brillo
|
|
57
|
+
: brightnessLevel (int | boolean): Brillo actual de 0 a 254 o `false` si la luz no admite ajuste de brillo
|
|
58
|
+
: reachable (boolean | string): `true` si la luz está conectada al bridge, `unknown` si el estado de la conexión difiere
|
|
59
|
+
: connectionStatus (string): El estado actual de la conexión con el bridge en forma de cadena. Puede contener `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` como valor
|
|
60
|
+
: rgb (array [int, int, int] | optional): Color de luz actual en forma de valor RGB, si la luz puede mostrar colores
|
|
61
|
+
: hex (string | optional): Color de luz actual en forma de valor hexadecimal, si la luz puede mostrar colores
|
|
62
|
+
: xyColor (object {x [float], y [float]} | optional): Color de luz actual en forma de valor XY, si la luz puede mostrar colores
|
|
63
|
+
: color (string | optional): Nombre actual del color en inglés, si la luz puede mostrar colores y se ha activado el ajuste correspondiente del nodo
|
|
64
|
+
: gradient (object | optional): Ajuste de degradado actual con todas las unidades de color disponibles en forma de array, si la luz admite degradados, donde `colors` devuelve los colores, `numColors` el número de colores definidos en el degradado y `totalColors` el número máximo de colores que el recurso puede admitir en el degradado
|
|
65
|
+
: colorTemp (int | boolean | optional): Temperatura de color actual de la luz, si la luz puede mostrar temperaturas de color y se ha definido una
|
|
66
|
+
: colorTempName (string | optional): Temperatura de color actual de la luz en forma de cadena descriptiva con los valores `cold`, `normal`, `warm` o `hot`, si la luz puede mostrar temperaturas de color y se ha definido una. En caso contrario se emite `unknown`
|
|
67
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
68
|
+
|
|
69
|
+
#### Información sobre la luz en `msg.info`
|
|
70
|
+
|
|
71
|
+
: id (string): Indica el nuevo ID de la luz
|
|
72
|
+
: idV1 (string | boolean): Indica el ID antiguo de la luz
|
|
73
|
+
: uniqueId (string): El ID único de la luz
|
|
74
|
+
: deviceId (string): El ID único del dispositivo
|
|
75
|
+
: name (string): El nombre asignado actualmente a la luz
|
|
76
|
+
: type (string): El tipo de luz (siempre `light`)
|
|
77
|
+
: softwareVersion (string): El firmware actual de la luz
|
|
78
|
+
: model (object): Contiene la información de modelo de la luz en `id`, `manufacturer`, `name`, `type`, `certified`, `friendsOfHue`, `colorGamut` y `colorGamutType`
|
|
79
|
+
|
|
80
|
+
#### Cambios de estado en `msg.updated`
|
|
81
|
+
|
|
82
|
+
Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado de la luz. Si no se ha registrado ningún cambio, este objeto está vacío.
|
|
83
|
+
|
|
84
|
+
#### Último estado de la luz en `msg.lastState`
|
|
85
|
+
|
|
86
|
+
Contiene el objeto de estado completo (véanse los valores de salida anteriores) del último estado antes del último cambio. Si HueMagic aún no ha registrado el último estado, se emite `false`.
|
|
87
|
+
|
|
88
|
+
#### Último comando en `msg.command` (opcional)
|
|
89
|
+
|
|
90
|
+
Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
|
|
91
|
+
|
|
92
|
+
### Ejemplos de HueMagic
|
|
93
|
+
|
|
94
|
+
HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
</script>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-light": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"skipevents-node": "Omitir los mensajes del nodo",
|
|
6
|
+
"sendinitevents-node": "No suprimir el evento de inicialización",
|
|
7
|
+
"onlycommands-node": "Informar solo tras un comando",
|
|
8
|
+
"unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventos universales",
|
|
11
|
+
"universalevents-node": "Recibe todos los mensajes de otros nodos del mismo tipo (solo en modo universal)",
|
|
12
|
+
"colornamer": "Colornamer",
|
|
13
|
+
"colornamer-info": "Activar los nombres de color",
|
|
14
|
+
"input-name": "Nombre de la luz",
|
|
15
|
+
"searching": "Buscando luces…",
|
|
16
|
+
"none-found": "¡No se ha encontrado ninguna luz!",
|
|
17
|
+
"light": "Luz"
|
|
18
|
+
},
|
|
19
|
+
"node": {
|
|
20
|
+
"not-configured": "sin configurar",
|
|
21
|
+
"init": "inicializando…",
|
|
22
|
+
"not-reachable": "no accesible",
|
|
23
|
+
"universal": "modo universal",
|
|
24
|
+
"command": "ejecutando comando…",
|
|
25
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
26
|
+
"title": "Hue Luz",
|
|
27
|
+
"turned-on": "encendida",
|
|
28
|
+
"turned-on-percent": "encendida (__percent__ %)",
|
|
29
|
+
"turned-off": "apagada",
|
|
30
|
+
"error-no-id": "No se ha definido ningún ID de luz. Consulte la documentación.",
|
|
31
|
+
"error-input": "error de entrada",
|
|
32
|
+
"error-invalid-temp": "Temperatura de color no válida. Solo se permite de 153 a 500.",
|
|
33
|
+
"input": "encender / apagar",
|
|
34
|
+
"output": "estado",
|
|
35
|
+
"error-not-available": "La luz aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido.",
|
|
36
|
+
"error-invalid-brightness": "Ajuste de brillo no válido. Solo se permite de 0 a 100 por ciento.",
|
|
37
|
+
"error-invalid-brightness-level": "Ajuste de brillo no válido. Solo se permite de 0 a 254.",
|
|
38
|
+
"error-invalid-sat": "Ajuste de saturación no válido. Solo se permite de 0 a 100.",
|
|
39
|
+
"error-no-colorloop": "El efecto colorloop no está disponible para esta luz.",
|
|
40
|
+
"error-invalid-effect": "Efecto no válido. Esta luz admite: __effects__",
|
|
41
|
+
"error-invalid-powerup": "Ajuste de encendido no válido. Los preajustes permitidos son: __presets__"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-magic">
|
|
2
|
+
El nodo «Hue Magic» puede aplicar animaciones complejas y personalizadas a luces y grupos.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Asigne primero un nombre al nodo para poder identificar claramente su animación en la interfaz de Node-RED. A continuación puede elegir entre las opciones «Bucle» y «Restaurar». Seleccione la opción de bucle si desea que su animación se ejecute indefinidamente en una luz o un grupo hasta que la detenga manualmente. Si desea restaurar el estado anterior del recurso de destino (luz o grupo) una vez finalizada la animación, marque la opción «Restaurar». De lo contrario, el último fotograma de la animación permanecerá en el recurso correspondiente.
|
|
7
|
+
|
|
8
|
+
Más abajo puede elegir entre las animaciones ya preparadas de HueMagic. Haga clic en la animación que desee para aplicarla.
|
|
9
|
+
|
|
10
|
+
### Iniciar / detener la animación
|
|
11
|
+
|
|
12
|
+
Para reproducir o detener una animación, pase al nodo un objeto con el siguiente contenido:
|
|
13
|
+
|
|
14
|
+
: payload (boolean): `true` inicia la animación, `false` la detiene
|
|
15
|
+
|
|
16
|
+
### Animaciones personalizadas
|
|
17
|
+
|
|
18
|
+
Si pasa su propia animación al nodo, la animación predefinida seleccionada (si la hay) se sustituye temporalmente por la suya. Las animaciones propias de HueMagic son una secuencia de comandos agrupados en un array. Cada elemento del array constituye un paso, y un paso puede constar a su vez de varios fotogramas (efectos de transición).
|
|
19
|
+
|
|
20
|
+
Cree un `array` con los distintos pasos de la animación en forma de objeto y transfiéralo al nodo HueMagic en `msg.payload.steps`.
|
|
21
|
+
|
|
22
|
+
: delay (int): Número de milisegundos que se espera hasta ejecutar este paso
|
|
23
|
+
: animation (object): El objeto contiene la acción o acciones que se deben ejecutar en este paso. Los parámetros son idénticos a los de los nodos «Hue Luz» y «Hue Grupo»
|
|
24
|
+
|
|
25
|
+
### Ejemplo de una animación personalizada
|
|
26
|
+
|
|
27
|
+
Este ejemplo muestra el aspecto que podría tener una animación sencilla. En el primer paso se espera el retardo de 500 milisegundos. Después, el color de la luz cambia lentamente a rojo a lo largo de un segundo. En cuanto la luz ha pasado completamente a rojo, se ejecuta el segundo paso, que también tiene un retardo de 500 milisegundos. Por último, el color cambia a azul.
|
|
28
|
+
|
|
29
|
+
Si ha configurado la animación en bucle, este proceso se repite indefinidamente hasta que detenga la animación manualmente o vuelva a desplegar el nodo.
|
|
30
|
+
|
|
31
|
+
Pase el siguiente objeto en `msg.payload` para reproducir la animación de ejemplo.
|
|
32
|
+
|
|
33
|
+
{
|
|
34
|
+
"animate": true,
|
|
35
|
+
"steps": [
|
|
36
|
+
{
|
|
37
|
+
"delay": 500,
|
|
38
|
+
"animation": {
|
|
39
|
+
"hex": "#FF0000",
|
|
40
|
+
"transitionTime": 1
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"delay": 500,
|
|
45
|
+
"animation": {
|
|
46
|
+
"hex": "#0000FF",
|
|
47
|
+
"transitionTime": 1
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
### Comandos especiales
|
|
54
|
+
|
|
55
|
+
A veces tiene sentido reproducir una animación de forma desordenada, p. ej. si se quiere imitar el fuego de manera más realista. Para reproducir los pasos individuales de forma aleatoria, puede pasar el siguiente comando en `msg.payload.specials`:
|
|
56
|
+
|
|
57
|
+
: randomOrder (boolean | any): `true` activa la reproducción aleatoria de los distintos pasos de la animación
|
|
58
|
+
|
|
59
|
+
### Consejos e indicaciones
|
|
60
|
+
|
|
61
|
+
Este nodo no emite mensajes de estado. Conecte la salida del nodo a un grupo en lugar de a luces individuales si desea animar varias luces a la vez con la misma animación. Las vistas previas de las animaciones predefinidas son simulaciones y pueden diferir ligeramente (tiempos, colores) de la animación real sobre un recurso.
|
|
62
|
+
|
|
63
|
+
### Ejemplos de HueMagic
|
|
64
|
+
|
|
65
|
+
HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-magic": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"input-name": "Nombre de la animación",
|
|
6
|
+
"loop": "Bucle",
|
|
7
|
+
"loop-endless": "Repetir indefinidamente",
|
|
8
|
+
"restore": "Restaurar",
|
|
9
|
+
"restore-state": "Restaurar el estado anterior al detener",
|
|
10
|
+
"animation": "Animación",
|
|
11
|
+
"unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
|
|
12
|
+
"seconds": "s",
|
|
13
|
+
"minutes": "min"
|
|
14
|
+
},
|
|
15
|
+
"node": {
|
|
16
|
+
"title": "Hue Magic",
|
|
17
|
+
"no-animation": "ninguna animación indicada",
|
|
18
|
+
"animating": "animando…",
|
|
19
|
+
"stopped": "detenida",
|
|
20
|
+
"input": "iniciar / detener animación",
|
|
21
|
+
"output": "luz o grupo",
|
|
22
|
+
"command": "ejecutando comando…",
|
|
23
|
+
"playmsg": "Animación iniciada…"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-motion">
|
|
2
|
+
El nodo «Hue Movimiento» puede registrar y comunicar los movimientos detectados por un sensor adecuado conectado al bridge.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todos los sensores disponibles. Si ya conoce el ID del sensor, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo al sensor o utilizar el nombre predefinido. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones del dispositivo. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si activa este ajuste, recibirá un mensaje de estado del sensor seleccionado después de cada despliegue. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
|
|
7
|
+
|
|
8
|
+
Si no selecciona ningún sensor y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a un sensor concreto pasando el ID del sensor correspondiente como cadena en `msg.topic` junto con sus ajustes.
|
|
9
|
+
|
|
10
|
+
### Consultar el estado
|
|
11
|
+
|
|
12
|
+
Emite el estado actual del sensor en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Devuelve el estado actual del sensor
|
|
15
|
+
|
|
16
|
+
### Encender / apagar el sensor
|
|
17
|
+
|
|
18
|
+
Si es necesario, el sensor puede encenderse y apagarse de forma remota. Si el sensor está apagado, deja de registrar movimientos y, por tanto, ya no los emite. Para ello, pase un objeto con el siguiente contenido:
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` enciende el sensor, `false` lo apaga
|
|
21
|
+
|
|
22
|
+
### Mensajes de estado del nodo
|
|
23
|
+
|
|
24
|
+
En cuanto el sensor registra un movimiento, el nodo devuelve el siguiente mensaje de estado:
|
|
25
|
+
|
|
26
|
+
#### Objeto de estado en `msg.payload`
|
|
27
|
+
|
|
28
|
+
: active (boolean): Indica si el sensor está encendido o apagado
|
|
29
|
+
: reachable (boolean | string): `true` si el sensor está conectado al bridge, `unknown` si el estado de la conexión difiere
|
|
30
|
+
: connectionStatus (string): El estado actual de la conexión con el bridge en forma de cadena. Puede contener `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` como valor
|
|
31
|
+
: motion (boolean): Indica si se ha registrado movimiento
|
|
32
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
33
|
+
|
|
34
|
+
#### Información sobre el sensor en `msg.info`
|
|
35
|
+
|
|
36
|
+
: id (string): Indica el nuevo ID del sensor
|
|
37
|
+
: idV1 (string | boolean): Indica el ID antiguo del sensor
|
|
38
|
+
: uniqueId (string): El ID único del sensor
|
|
39
|
+
: deviceId (string): El ID único del dispositivo
|
|
40
|
+
: name (string): El nombre asignado actualmente al sensor
|
|
41
|
+
: type (string): El tipo de sensor (siempre `motion`)
|
|
42
|
+
: softwareVersion (string): El firmware actual del sensor
|
|
43
|
+
: battery (float): El nivel de batería actual del sensor
|
|
44
|
+
: batteryState (string): El estado actual del nivel de batería. Puede contener `normal`, `low` o `critical` como valor
|
|
45
|
+
: model (object): Contiene la información de modelo del sensor en `id`, `manufacturer`, `name`, `type` y `certified`
|
|
46
|
+
|
|
47
|
+
#### Cambios de estado en `msg.updated`
|
|
48
|
+
|
|
49
|
+
Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado del sensor. Si no se ha registrado ningún cambio, este objeto está vacío.
|
|
50
|
+
|
|
51
|
+
#### Último estado del sensor en `msg.lastState`
|
|
52
|
+
|
|
53
|
+
Contiene el objeto de estado completo (véanse los valores de salida anteriores) del último estado antes del último cambio registrado. Si HueMagic aún no ha registrado el último estado, se emite `false`.
|
|
54
|
+
|
|
55
|
+
#### Último comando en `msg.command` (opcional)
|
|
56
|
+
|
|
57
|
+
Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
|
|
58
|
+
|
|
59
|
+
### Ejemplos de HueMagic
|
|
60
|
+
|
|
61
|
+
HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
</script>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-motion": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"skipevents-node": "Omitir los mensajes del nodo",
|
|
6
|
+
"sendinitevents-node": "No suprimir el evento de inicialización",
|
|
7
|
+
"onlycommands-node": "Informar solo tras un comando",
|
|
8
|
+
"unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventos universales",
|
|
11
|
+
"universalevents-node": "Recibe todos los mensajes de otros nodos del mismo tipo (solo en modo universal)",
|
|
12
|
+
"input-name": "Nombre del sensor",
|
|
13
|
+
"searching": "Buscando sensores de movimiento…",
|
|
14
|
+
"none-found": "¡No se ha encontrado ningún sensor de movimiento!",
|
|
15
|
+
"sensor": "Sensor"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "sin configurar",
|
|
19
|
+
"not-reachable": "no accesible",
|
|
20
|
+
"activated": "activado",
|
|
21
|
+
"deactivated": "desactivado",
|
|
22
|
+
"universal": "modo universal",
|
|
23
|
+
"command": "ejecutando comando…",
|
|
24
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
25
|
+
"title": "Hue Movimiento",
|
|
26
|
+
"motion": "movimiento detectado",
|
|
27
|
+
"no-motion": "sin movimiento",
|
|
28
|
+
"input": "activar / desactivar / estado",
|
|
29
|
+
"output": "movimiento detectado",
|
|
30
|
+
"error-no-id": "Indique un ID de sensor válido.",
|
|
31
|
+
"error-not-available": "El sensor aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido.",
|
|
32
|
+
"error-no-sensitivity": "Esta fuente de movimiento no tiene una sensibilidad ajustable.",
|
|
33
|
+
"error-invalid-sensitivity": "Sensibilidad no válida. Solo se permite de 0 a __max__."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-rules">
|
|
2
|
+
El nodo «Hue Regla» puede activar o desactivar las reglas guardadas en el bridge y consultar sus ajustes.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todas las reglas disponibles. Si ya conoce el ID de la regla, también puede introducirlo aquí manualmente. Como alternativa, puede asignar un nombre nuevo o utilizar el nombre predefinido de la regla. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
|
|
7
|
+
|
|
8
|
+
Si no selecciona ninguna regla y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a una regla concreta pasando el ID de la regla correspondiente como cadena en `msg.topic` junto con sus ajustes.
|
|
9
|
+
|
|
10
|
+
### Consultar propiedades y ajustes
|
|
11
|
+
|
|
12
|
+
Emite las propiedades actuales de la regla en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Devuelve el estado actual de la regla
|
|
15
|
+
|
|
16
|
+
### Activar / desactivar la regla
|
|
17
|
+
|
|
18
|
+
La regla puede activarse y desactivarse cuando sea necesario. Si la regla está desactivada, dejará de ejecutarse en el bridge hasta que la vuelva a activar. Para ello, pase un objeto con el siguiente contenido:
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` activa la regla, `false` la desactiva
|
|
21
|
+
|
|
22
|
+
### Mensajes de estado del nodo
|
|
23
|
+
|
|
24
|
+
En cuanto cambia el estado (activada / desactivada) de una regla, el nodo devuelve el siguiente mensaje de estado:
|
|
25
|
+
|
|
26
|
+
#### Objeto de estado en `msg.payload`
|
|
27
|
+
|
|
28
|
+
: enabled (boolean): Indica si la regla está activada o desactivada
|
|
29
|
+
: triggered (string): Momento de la última ejecución (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Información sobre la regla en `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): El ID único de la regla
|
|
34
|
+
: created (string): Fecha de creación de la regla (ISO 8601)
|
|
35
|
+
: name (string): Nombre de la regla en el bridge
|
|
36
|
+
: timesTriggered (int): Número de veces que se ha ejecutado la regla en el bridge
|
|
37
|
+
: owner (string): ID del propietario de esta regla
|
|
38
|
+
: status (string): Estado de la regla en forma de cadena
|
|
39
|
+
|
|
40
|
+
#### Condiciones de la regla en `msg.conditions` (array)
|
|
41
|
+
|
|
42
|
+
: address (string): Ruta a un atributo de un sensor
|
|
43
|
+
: operator (string): Operador
|
|
44
|
+
: value (string): El valor que se debe comprobar
|
|
45
|
+
|
|
46
|
+
#### Acciones de la regla en `msg.actions` (array)
|
|
47
|
+
|
|
48
|
+
: address (string): La dirección de destino del recurso
|
|
49
|
+
: method (string): El método de la petición
|
|
50
|
+
: body (object): La acción que se debe ejecutar
|
|
51
|
+
|
|
52
|
+
#### Cambios de estado en `msg.updated`
|
|
53
|
+
|
|
54
|
+
Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado de la regla. Si no se ha registrado ningún cambio, este objeto está vacío.
|
|
55
|
+
|
|
56
|
+
#### Último estado de la regla en `msg.lastState`
|
|
57
|
+
|
|
58
|
+
Contiene el objeto completo (véanse los valores de salida anteriores) del último estado antes del último cambio registrado de la regla. Si HueMagic aún no ha registrado el último estado, se emite `false`.
|
|
59
|
+
|
|
60
|
+
#### Último comando en `msg.command` (opcional)
|
|
61
|
+
|
|
62
|
+
Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
|
|
63
|
+
|
|
64
|
+
### Ejemplos de HueMagic
|
|
65
|
+
|
|
66
|
+
HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-rules": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"skipevents-node": "Omitir los mensajes del nodo",
|
|
6
|
+
"sendinitevents-node": "No suprimir el evento de inicialización",
|
|
7
|
+
"onlycommands-node": "Informar solo tras un comando",
|
|
8
|
+
"unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"input-name": "Nombre de la regla",
|
|
11
|
+
"searching": "Buscando reglas…",
|
|
12
|
+
"none-found": "¡No se ha encontrado ninguna regla!",
|
|
13
|
+
"rule": "Regla"
|
|
14
|
+
},
|
|
15
|
+
"node": {
|
|
16
|
+
"init": "inicializando…",
|
|
17
|
+
"universal": "modo universal",
|
|
18
|
+
"command": "ejecutando comando…",
|
|
19
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
20
|
+
"title": "Hue Regla",
|
|
21
|
+
"no-rule": "ninguna regla seleccionada",
|
|
22
|
+
"enabled": "activada",
|
|
23
|
+
"disabled": "desactivada",
|
|
24
|
+
"output": "regla (ejecutada)",
|
|
25
|
+
"input": "activar / desactivar",
|
|
26
|
+
"error-no-id": "Indique un ID de regla válido.",
|
|
27
|
+
"error-not-available": "La regla aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-scene">
|
|
2
|
+
El nodo «Hue Escena» puede reanudar escenas guardadas en el bridge y aplicarlas a determinados grupos.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todas las escenas disponibles. Las escenas se ordenan primero por habitación o zona y después por su nombre, de modo que las escenas de una misma habitación siempre quedan juntas en la lista. Si ya conoce el ID de la escena, también puede introducirlo aquí manualmente. Como alternativa, puede asignar internamente un nombre a la escena o utilizar su nombre predefinido.
|
|
7
|
+
|
|
8
|
+
### Activar una escena
|
|
9
|
+
|
|
10
|
+
Puede activar una escena predefinida pasando un objeto con el siguiente contenido:
|
|
11
|
+
|
|
12
|
+
: payload (boolean): Activa una escena preconfigurada
|
|
13
|
+
: transitionTime (float): Tiempo de transición de la escena en segundos. Si se pasa `0`, la escena se aplica de inmediato. Si pasa `3`, las luces se funden hacia la escena en los siguientes 3 segundos. El bridge acepta hasta 6000 segundos
|
|
14
|
+
: brightness (float): Brillo de toda la escena en porcentaje (`0` – `100`), de modo que puede activar una misma escena más clara o más tenue según la hora del día
|
|
15
|
+
|
|
16
|
+
> [!NOTE]
|
|
17
|
+
> Ambos ajustes solo están disponibles para escenas normales. Una escena inteligente se rige por los horarios que haya definido para ella en la app de Philips Hue.
|
|
18
|
+
|
|
19
|
+
### Activar una escena en modo universal
|
|
20
|
+
|
|
21
|
+
Si utiliza este nodo en el llamado «modo universal» y no ha configurado ninguna escena en el nodo, también puede transferir al nodo la escena que desee como comando. Para ello, pase un objeto `msg.payload` con el siguiente contenido:
|
|
22
|
+
|
|
23
|
+
: scene (string): ID de la escena que se debe activar en el bridge
|
|
24
|
+
|
|
25
|
+
### Activar una escena en determinados grupos
|
|
26
|
+
|
|
27
|
+
Conecte la salida de este nodo a uno o varios grupos para aplicar una escena a grupos concretos. Como alternativa, puede hacerlo de forma «dinámica» pasando al nodo un objeto `msg.payload` con el siguiente contenido:
|
|
28
|
+
|
|
29
|
+
: group (string | array [string,…]): ID del grupo o un array con los ID de varios grupos para limitar la escena a esos grupos
|
|
30
|
+
|
|
31
|
+
### Más información sobre el nodo
|
|
32
|
+
|
|
33
|
+
Este nodo no emite mensajes de estado.
|
|
34
|
+
|
|
35
|
+
> [!IMPORTANT]
|
|
36
|
+
> Solo puede aplicar escenas a grupos si estos ya están vinculados a la escena correspondiente en el bridge. De lo contrario no se aplicará nada.
|
|
37
|
+
|
|
38
|
+
### Ejemplos de HueMagic
|
|
39
|
+
|
|
40
|
+
HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
</script>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-scene": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"input-name": "Nombre de la escena",
|
|
6
|
+
"skipevents-node": "Omitir los mensajes del nodo",
|
|
7
|
+
"sendinitevents-node": "No suprimir el evento de inicialización",
|
|
8
|
+
"searching": "Buscando escenas…",
|
|
9
|
+
"none-found": "¡No se ha encontrado ninguna escena!",
|
|
10
|
+
"unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
|
|
11
|
+
"scene": "Escena",
|
|
12
|
+
"group": "Grupo",
|
|
13
|
+
"group-none-found": "¡No se ha encontrado ningún grupo!",
|
|
14
|
+
"group-searching": "Buscando grupos…",
|
|
15
|
+
"groups-all": "Todos los grupos / luces",
|
|
16
|
+
"bridge": "Bridge"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"title": "Hue Escena",
|
|
20
|
+
"not-configured": "sin configurar",
|
|
21
|
+
"recalled": "escena activada",
|
|
22
|
+
"recalled-on-group": "escena activada en el grupo",
|
|
23
|
+
"no-id": "Sin ID de escena.",
|
|
24
|
+
"input": "activar escena",
|
|
25
|
+
"output": "grupo(s) de destino",
|
|
26
|
+
"command": "ejecutando comando…",
|
|
27
|
+
"statusmsg": "Activando la escena…",
|
|
28
|
+
"error-not-available": "La escena aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge o compruebe si el ID del recurso indicado en la configuración es válido.",
|
|
29
|
+
"error-invalid-brightness": "Ajuste de brillo no válido. Solo se permite de 0 a 100 por ciento."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-speaker">
|
|
2
|
+
El nodo «Hue Altavoz» puede reproducir los sonidos de un timbre Hue Secure y utilizarlo como sirena interior.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Seleccione el Hue Bridge preconfigurado y haga clic en el botón de búsqueda para encontrar todos los altavoces disponibles. Si ya conoce el ID del altavoz, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo al altavoz o utilizar el nombre predefinido. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir los mensajes del nodo». El nodo dejará entonces de emitir actualizaciones del dispositivo. También puede elegir que el mensaje de inicialización del nodo no se suprima al iniciar Node-RED. Si activa este ajuste, recibirá un mensaje de estado del altavoz seleccionado después de cada despliegue. Si prefiere que el nodo permanezca en silencio hasta que usted le envíe algo, active «Informar solo tras un comando». En ese caso ignorará los cambios realizados desde la app o desde un interruptor y solo responderá a sus propios comandos.
|
|
7
|
+
|
|
8
|
+
Si no selecciona ningún altavoz y utiliza así la configuración del nodo, el nodo funciona en el llamado «modo universal». En este modo, el nodo recibe y emite todos los mensajes de estado del mismo tipo. También puede aplicar ajustes en modo universal a un altavoz concreto pasando el ID del altavoz correspondiente como cadena en `msg.topic` junto con sus ajustes.
|
|
9
|
+
|
|
10
|
+
### Consultar el estado
|
|
11
|
+
|
|
12
|
+
Emite el estado actual del altavoz en cuanto se transfiere al nodo un objeto `msg.payload` con el siguiente contenido. Como alternativa, también puede pulsar el botón en la interfaz de Node-RED sin tener que enviar antes ningún mensaje al nodo.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Devuelve el estado actual del altavoz
|
|
15
|
+
|
|
16
|
+
### Reproducir un sonido
|
|
17
|
+
|
|
18
|
+
Un altavoz conoce tres canales independientes. `chime` es el sonido del timbre, `alarm` es la sirena y `alert` es una notificación breve. Los sonidos que conoce realmente un dispositivo se enumeran en `msg.info.sounds`. Transfiera los siguientes parámetros en un objeto `msg.payload`:
|
|
19
|
+
|
|
20
|
+
: chime (string | object | boolean): Nombre del sonido del timbre; `false` lo detiene de nuevo
|
|
21
|
+
: alarm (string | object | boolean): Nombre del sonido de la sirena; `false` lo detiene de nuevo
|
|
22
|
+
: alert (string | object | boolean): Nombre del sonido de notificación; `false` lo detiene de nuevo
|
|
23
|
+
: mute (boolean): `true` silencia el altavoz, `false` vuelve a activar el sonido
|
|
24
|
+
|
|
25
|
+
En lugar de un simple nombre de sonido, también puede pasar un objeto para controlar el volumen y la duración:
|
|
26
|
+
|
|
27
|
+
: sound (string): Nombre del sonido, p. ej. `ding_dong_classic` o `siren`
|
|
28
|
+
: volume (int): Volumen en porcentaje (0-100)
|
|
29
|
+
: duration (float): Tiempo de reproducción en segundos
|
|
30
|
+
|
|
31
|
+
### Mensajes de estado del nodo
|
|
32
|
+
|
|
33
|
+
En cuanto el altavoz empieza o deja de reproducir, el nodo devuelve el siguiente mensaje de estado.
|
|
34
|
+
|
|
35
|
+
> [!NOTE]
|
|
36
|
+
> El bridge informa del último sonido reproducido y no lo restablece hasta bastante después de finalizar la reproducción, por lo que estos valores van algo por detrás del audio.
|
|
37
|
+
|
|
38
|
+
#### Objeto de estado en `msg.payload`
|
|
39
|
+
|
|
40
|
+
: reachable (boolean | string): `true` si el altavoz está conectado al bridge, `unknown` si el estado de la conexión difiere
|
|
41
|
+
: connectionStatus (string): El estado actual de la conexión con el bridge en forma de cadena. Puede contener `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` como valor
|
|
42
|
+
: playing (boolean): `true` mientras el altavoz reproduce cualquier sonido
|
|
43
|
+
: chime (string | boolean): Nombre del sonido de timbre que se está reproduciendo o `false`
|
|
44
|
+
: alarm (string | boolean): Nombre del sonido de sirena que se está reproduciendo o `false`
|
|
45
|
+
: alert (string | boolean): Nombre del sonido de notificación que se está reproduciendo o `false`
|
|
46
|
+
: muted (boolean): Indica si el altavoz está silenciado
|
|
47
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
48
|
+
|
|
49
|
+
#### Información sobre el altavoz en `msg.info`
|
|
50
|
+
|
|
51
|
+
: id (string): Indica el nuevo ID del altavoz
|
|
52
|
+
: idV1 (string | boolean): Indica el ID antiguo del altavoz
|
|
53
|
+
: uniqueId (string): El ID único del altavoz
|
|
54
|
+
: deviceId (string): El ID único del dispositivo
|
|
55
|
+
: name (string): El nombre asignado actualmente al altavoz
|
|
56
|
+
: type (string): El tipo de dispositivo (siempre `speaker`)
|
|
57
|
+
: softwareVersion (string): El firmware actual del altavoz
|
|
58
|
+
: battery (float | boolean): El nivel de batería actual del altavoz, `false` si no hay batería
|
|
59
|
+
: batteryState (string | boolean): El estado actual del nivel de batería. Puede contener `normal`, `low` o `critical` como valor, o `false` si no hay batería
|
|
60
|
+
: sounds (object): Contiene los sonidos que conoce este dispositivo en `chime`, `alarm` y `alert`
|
|
61
|
+
: model (object): Contiene la información de modelo del altavoz en `id`, `manufacturer`, `name`, `type` y `certified`
|
|
62
|
+
|
|
63
|
+
#### Cambios de estado en `msg.updated`
|
|
64
|
+
|
|
65
|
+
Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado del altavoz. Si no se ha registrado ningún cambio, este objeto está vacío.
|
|
66
|
+
|
|
67
|
+
#### Último estado del altavoz en `msg.lastState`
|
|
68
|
+
|
|
69
|
+
Contiene el objeto de estado completo (véanse los valores de salida anteriores) del último estado antes del último cambio registrado. Si HueMagic aún no ha registrado el último estado, se emite `false`.
|
|
70
|
+
|
|
71
|
+
#### Último comando en `msg.command` (opcional)
|
|
72
|
+
|
|
73
|
+
Si el estado del nodo ha cambiado mediante un comando concreto, también se emite el comando completo que se ha ejecutado. De lo contrario, el nodo no emite este objeto.
|
|
74
|
+
|
|
75
|
+
### Ejemplos de HueMagic
|
|
76
|
+
|
|
77
|
+
HueMagic pone a su disposición algunas configuraciones de ejemplo para este nodo. Para importar un ejemplo completo en su interfaz de Node-RED, haga clic en el icono de menú de Node-RED, seleccione «Importar» y navegue hasta «Ejemplos» en la barra lateral de la ventana emergente. A continuación, seleccione la carpeta HueMagic y el nodo que desee para importar un flujo de ejemplo.
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
</script>
|