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,31 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge">
|
|
2
|
+
Se conecta a un Philips Hue Bridge.
|
|
3
|
+
|
|
4
|
+
### Nombre
|
|
5
|
+
|
|
6
|
+
Puede asignar al bridge un nombre interno alternativo o conservar el nombre predeterminado.
|
|
7
|
+
|
|
8
|
+
### IP y puerto del bridge
|
|
9
|
+
|
|
10
|
+
Introduzca manualmente la dirección IP del Hue Bridge o pulse el botón para consultar todos los bridges disponibles localmente (se recomienda una configuración de IP estática en el Hue Bridge). De forma opcional, también puede definir un puerto alternativo para el bridge añadiendo dos puntos a la dirección IP.
|
|
11
|
+
|
|
12
|
+
### Clave API
|
|
13
|
+
|
|
14
|
+
Introduzca manualmente la clave API del Hue Bridge o pulse el botón para crear una clave nueva. Si desea crear una clave nueva, debe pulsar el botón físico del bridge dentro de un plazo de 20 segundos para completar el proceso.
|
|
15
|
+
|
|
16
|
+
### Procesos
|
|
17
|
+
|
|
18
|
+
El valor «Procesos» determina cuántos comandos paralelos puede enviar HueMagic al bridge al mismo tiempo. Según la documentación oficial del Philips Hue Bridge no deberían enviarse más de 10 comandos por segundo; de lo contrario existe el riesgo de que el bridge no pueda procesar las peticiones con la suficiente rapidez y devuelva errores.
|
|
19
|
+
|
|
20
|
+
Si se envían al mismo tiempo más comandos que el valor configurado aquí, HueMagic ejecutará los comandos de forma secuencial en cuanto vuelva a ser posible.
|
|
21
|
+
|
|
22
|
+
Ajuste este valor por debajo de 10 (p. ej. de 4 a 7) si también envía comandos al bridge fuera de HueMagic, para respetar el rendimiento de comandos por segundo recomendado por Philips Hue.
|
|
23
|
+
|
|
24
|
+
### Actualizaciones automáticas de firmware
|
|
25
|
+
|
|
26
|
+
HueMagic comprueba periódicamente si hay actualizaciones de firmware de Philips Hue disponibles y las instala automáticamente cuando existen. Puede desactivar este comportamiento marcando la casilla correspondiente.
|
|
27
|
+
|
|
28
|
+
### Desactivar las notificaciones
|
|
29
|
+
|
|
30
|
+
Si activa este ajuste, todos los nodos que dependan de este bridge dejarán de recibir mensajes de estado automáticos.
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"apikey": "Clave API",
|
|
6
|
+
"missing-ip": "Falta la IP del Hue Bridge…",
|
|
7
|
+
"disable-events": "Desactivar eventos",
|
|
8
|
+
"disable-events-info": "Desactivar los eventos en todos los nodos",
|
|
9
|
+
"searching": "Buscando Hue Bridges…",
|
|
10
|
+
"none-found": "¡No se ha encontrado ningún Hue Bridge!",
|
|
11
|
+
"unknown-error": "Algo ha salido mal. Inténtelo de nuevo.",
|
|
12
|
+
"invalid": "Lo sentimos. El Hue Bridge seleccionado no es válido: ",
|
|
13
|
+
"error-select-first": "¡Seleccione su Hue Bridge antes de crear un nuevo usuario!",
|
|
14
|
+
"waiting": "esperando al botón de vinculación…",
|
|
15
|
+
"new-user-press": "¡Pulse ahora el botón de su Hue Bridge para crear un nuevo usuario!",
|
|
16
|
+
"retry": "No se ha detectado ninguna pulsación. Inténtelo de nuevo…",
|
|
17
|
+
"success": "¡Usuario creado correctamente!",
|
|
18
|
+
"connecting": "Conectando con el bridge…",
|
|
19
|
+
"autoupdates": "Activar las actualizaciones automáticas de firmware",
|
|
20
|
+
"bridge-ip": "IP del bridge",
|
|
21
|
+
"worker": "Procesos"
|
|
22
|
+
},
|
|
23
|
+
"node": {
|
|
24
|
+
"title": "Hue Bridge",
|
|
25
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
26
|
+
"initializing": "Inicializando el bridge (__bridge__)…",
|
|
27
|
+
"connected": "Conectado al bridge",
|
|
28
|
+
"processing": "Procesando los recursos del bridge…",
|
|
29
|
+
"initial-emit": "Emisión inicial de los estados de los recursos…",
|
|
30
|
+
"keep-updated": "Manteniendo los nodos actualizados…",
|
|
31
|
+
"subscribing": "Suscribiéndose a los eventos del bridge…",
|
|
32
|
+
"unsubscribing": "Cancelando la suscripción a los eventos del bridge…",
|
|
33
|
+
"no-legacy-api": "El bridge no responde en la API antigua, se continúa sin su configuración…",
|
|
34
|
+
"request-error": "Error al solicitar información al bridge (__error__)",
|
|
35
|
+
"connection-lost": "Se ha perdido la conexión con el bridge (__reason__). Nuevo intento en __seconds__ segundos…",
|
|
36
|
+
"resources-changed": "Los recursos del bridge han cambiado. Recargando…",
|
|
37
|
+
"not-connected": "El bridge no está conectado."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge-node">
|
|
2
|
+
El nodo «Hue Bridge» es un nodo universal que puede emitir todos los ajustes del bridge y los mensajes de estado de los demás nodos.
|
|
3
|
+
|
|
4
|
+
### Configuración
|
|
5
|
+
|
|
6
|
+
Seleccione primero el Hue Bridge deseado. De forma opcional, puede desactivar todos los mensajes de estado automáticos de este nodo mediante el ajuste «Omitir las actualizaciones y los mensajes globales de los dispositivos en este nodo». El nodo dejará entonces de emitir actualizaciones de dispositivo.
|
|
7
|
+
|
|
8
|
+
También puede elegir que los mensajes de inicialización de todos los nodos no se supriman al iniciar Node-RED. Si activa este ajuste, recibirá después de cada despliegue un mensaje de estado de todos los recursos conectados al bridge.
|
|
9
|
+
|
|
10
|
+
### Consultar ajustes y estado
|
|
11
|
+
|
|
12
|
+
Emite el estado y los ajustes actuales del bridge en cuanto se envía al nodo el siguiente mensaje. 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
|
+
: payload (boolean): Devuelve el estado actual del bridge
|
|
15
|
+
|
|
16
|
+
### Iniciar un escaneo TouchLink
|
|
17
|
+
|
|
18
|
+
Con un «escaneo TouchLink» puede vincular al bridge dispositivos nuevos o antiguos (p. ej. después de un reinicio de fábrica). Para ello, transfiera el objeto `msg.payload` con el siguiente contenido:
|
|
19
|
+
|
|
20
|
+
: touchLink (boolean): Vincula dispositivos antiguos o nuevos con el bridge
|
|
21
|
+
|
|
22
|
+
### Consultar todos los dispositivos y recursos
|
|
23
|
+
|
|
24
|
+
Con el comando «fetch» puede obtener una lista de determinados dispositivos conectados actualmente al bridge. Para ello, transfiera el objeto `msg.payload` con el siguiente contenido:
|
|
25
|
+
|
|
26
|
+
: fetch (string | array [string, ...]): Admite `light`, `group`, `button`, `motion`, `temperature`, `light_level` o `rule` como valor o valores
|
|
27
|
+
|
|
28
|
+
### Cambiar los ajustes del Hue Bridge
|
|
29
|
+
|
|
30
|
+
Con el siguiente comando puede cambiar determinados ajustes del bridge. Transfiera al nodo el objeto `msg.payload.settings` con las siguientes opciones de ajuste:
|
|
31
|
+
|
|
32
|
+
> [!WARNING]
|
|
33
|
+
> Cambiar los ajustes de red obliga a reconfigurar el bridge en HueMagic.
|
|
34
|
+
|
|
35
|
+
: name (string): Cambia el nombre del bridge y debe contener entre 4 y 16 caracteres
|
|
36
|
+
: zigbeeChannel (int): Cambia el canal ZigBee actual (`11`, `15`, `20`, `25` o `0`)
|
|
37
|
+
: ipAddress (string): Cambia la dirección IP en los ajustes de red
|
|
38
|
+
: dhcpEnabled (boolean): `true` activa DHCP en los ajustes de red, `false` lo desactiva
|
|
39
|
+
: netmask (string): Cambia la máscara de red en los ajustes de red
|
|
40
|
+
: gateway (string): Define la puerta de enlace en los ajustes de red
|
|
41
|
+
: proxyAddress (string): Establece una dirección de proxy en los ajustes de red
|
|
42
|
+
: proxyPort (string | int): Define el puerto del proxy en los ajustes de red
|
|
43
|
+
: timeZone (string): Cambia la zona horaria configurada actualmente en el bridge
|
|
44
|
+
|
|
45
|
+
### Mensajes de estado del nodo
|
|
46
|
+
|
|
47
|
+
Los mensajes de estado del nodo «Hue Bridge» son dinámicos. Aunque siguen un patrón determinado, su salida puede variar según la acción que se acabe de ejecutar en el nodo.
|
|
48
|
+
|
|
49
|
+
#### Objeto de estado en `msg.payload`
|
|
50
|
+
|
|
51
|
+
: id (string): ID único del Hue Bridge
|
|
52
|
+
: name (string): Nombre asignado actualmente
|
|
53
|
+
: factoryNew (boolean): Indica si el bridge es completamente nuevo
|
|
54
|
+
: replacesBridgeId (string | boolean): Devuelve el ID del bridge antiguo (si se ha realizado una migración) o `false`
|
|
55
|
+
: dataStoreVersion (string): Versión del almacén de datos
|
|
56
|
+
: starterKitId (string | boolean): Nombre del kit de inicio creado en fábrica o `false`
|
|
57
|
+
: softwareVersion (string): Versión de software del bridge
|
|
58
|
+
: apiVersion (string): Versión de API del bridge
|
|
59
|
+
: zigbeeChannel (int): Canal ZigBee utilizado actualmente
|
|
60
|
+
: macAddress (string): Dirección MAC del bridge
|
|
61
|
+
: ipAddress (string): Dirección IP del bridge
|
|
62
|
+
: dhcpEnabled (boolean): Indica si DHCP está activado
|
|
63
|
+
: netmask (string): Máscara de red del bridge
|
|
64
|
+
: gateway (string): Puerta de enlace del bridge
|
|
65
|
+
: proxyAddress (string | boolean): Dirección de proxy utilizada actualmente o `false`
|
|
66
|
+
: proxyPort (string): Puerto de proxy utilizado actualmente
|
|
67
|
+
: utcTime (string): Hora UTC en el bridge
|
|
68
|
+
: timeZone (string): Zona horaria configurada actualmente en el bridge
|
|
69
|
+
: localTime (string): Zona horaria local
|
|
70
|
+
: portalServicesEnabled (boolean): Indica si los servicios del portal están activados
|
|
71
|
+
: portalConnected (boolean): Indica si el bridge está conectado al portal
|
|
72
|
+
: linkButtonEnabled (boolean): Indica si el botón de vinculación está activado
|
|
73
|
+
: touchlinkEnabled (boolean): Indica si TouchLink está activado
|
|
74
|
+
: autoUpdatesEnabled (boolean): Indica si HueMagic buscará actualizaciones automáticamente
|
|
75
|
+
: users (array [object, ...]): Lista de todos los usuarios del bridge (array de objetos)
|
|
76
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
77
|
+
: model (object): Contiene la información de modelo del bridge en `id`, `manufacturer` y `name`
|
|
78
|
+
|
|
79
|
+
#### Resultados de «fetch» en `msg.results` (opcional)
|
|
80
|
+
|
|
81
|
+
Si se ha utilizado el comando «fetch» en el nodo, el bridge emite los resultados correspondientes en el objeto `msg.results`. El objeto contiene los grupos de recursos consultados, que a su vez incluyen todos los recursos correspondientes en forma de array.
|
|
82
|
+
|
|
83
|
+
#### Mensajes de estado globales en `msg.updated` (opcional)
|
|
84
|
+
|
|
85
|
+
Salvo que se desactive, el nodo emite un mensaje de estado actualizado para cada recurso del bridge. El mensaje de estado en `msg.updated` sigue el patrón del recurso correspondiente y varía según el tipo de dispositivo que se haya actualizado en último lugar.
|
|
86
|
+
|
|
87
|
+
#### Último comando en `msg.command` (opcional)
|
|
88
|
+
|
|
89
|
+
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.
|
|
90
|
+
|
|
91
|
+
### Ejemplos de HueMagic
|
|
92
|
+
|
|
93
|
+
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.
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nombre",
|
|
5
|
+
"input-name": "Nombre del Hue Bridge",
|
|
6
|
+
"skipglobalevents-info": "Omitir las actualizaciones y los mensajes globales de los dispositivos en este nodo",
|
|
7
|
+
"sendinitevents-node": "No suprimir el evento de inicialización",
|
|
8
|
+
"bridge": "Bridge"
|
|
9
|
+
},
|
|
10
|
+
"node": {
|
|
11
|
+
"title": "Hue Bridge",
|
|
12
|
+
"not-configured": "sin configurar",
|
|
13
|
+
"connecting": "conectando…",
|
|
14
|
+
"connected": "conectado",
|
|
15
|
+
"starting-tl": "iniciando TouchLink…",
|
|
16
|
+
"started-tl": "TouchLink iniciado…",
|
|
17
|
+
"f-resources": "obteniendo recursos…",
|
|
18
|
+
"updating-settings": "actualizando los ajustes…",
|
|
19
|
+
"settings-updated": "ajustes actualizados",
|
|
20
|
+
"input": "ajustes / consulta",
|
|
21
|
+
"output": "información del bridge",
|
|
22
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
23
|
+
"error-not-available": "El bridge aún no está disponible. Espere hasta que HueMagic haya establecido la conexión con el bridge."
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-brightness">
|
|
2
|
+
El nodo «Hue Luminosidad» puede leer el nivel de luz actual de 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
|
+
El ajuste «Oscuro por debajo de» determina a partir de qué nivel de luz el nodo considera que una habitación está a oscuras. Una habitación con una lámpara potente necesita un valor muy distinto al de un pasillo sin ventanas, así que introduzca sencillamente el número de lux que se ajuste a su estancia. Los valores `dark` y `daylight` se guiarán entonces por su ajuste en lugar de por el valor predeterminado de 90 lux.
|
|
9
|
+
|
|
10
|
+
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.
|
|
11
|
+
|
|
12
|
+
### Consultar el estado
|
|
13
|
+
|
|
14
|
+
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.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Devuelve el estado actual del sensor
|
|
17
|
+
|
|
18
|
+
### Encender / apagar el sensor
|
|
19
|
+
|
|
20
|
+
Si es necesario, el sensor puede encenderse y apagarse de forma remota. Si el sensor está apagado, deja de registrar cambios en el nivel de luz y, por tanto, ya no los emite. Para ello, pase un objeto con el siguiente contenido:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` enciende el sensor, `false` lo apaga
|
|
23
|
+
|
|
24
|
+
### Mensajes de estado del nodo
|
|
25
|
+
|
|
26
|
+
En cuanto el sensor detecta un cambio en el nivel de luz, se devuelve el siguiente mensaje de estado:
|
|
27
|
+
|
|
28
|
+
#### Objeto de estado en `msg.payload`
|
|
29
|
+
|
|
30
|
+
: active (boolean): Indica si el sensor está encendido o apagado
|
|
31
|
+
: reachable (boolean | string): `true` si el sensor está conectado al bridge, `unknown` si el estado de la conexión difiere
|
|
32
|
+
: 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
|
|
33
|
+
: lux (int): Indica el valor LUX real del nivel de luz
|
|
34
|
+
: lightLevel (int): Indica la intensidad lumínica del sensor
|
|
35
|
+
: dark (boolean): `true` si se ha registrado oscuridad
|
|
36
|
+
: daylight (boolean): `true` si se ha registrado luz diurna
|
|
37
|
+
: darkThreshold (int): El nivel de luz en lux por debajo del cual el nodo informa de oscuridad
|
|
38
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
39
|
+
|
|
40
|
+
#### Información sobre el sensor en `msg.info`
|
|
41
|
+
|
|
42
|
+
: id (string): Indica el nuevo ID del sensor
|
|
43
|
+
: idV1 (string | boolean): Indica el ID antiguo del sensor
|
|
44
|
+
: uniqueId (string): El ID único del sensor
|
|
45
|
+
: deviceId (string): El ID único del dispositivo
|
|
46
|
+
: name (string): El nombre asignado actualmente al sensor
|
|
47
|
+
: type (string): El tipo de sensor (siempre `light_level`)
|
|
48
|
+
: softwareVersion (string): El firmware actual del sensor
|
|
49
|
+
: battery (float): El nivel de batería actual del sensor
|
|
50
|
+
: batteryState (string): El estado actual del nivel de batería. Puede contener `normal`, `low` o `critical` como valor
|
|
51
|
+
: model (object): Contiene la información de modelo del sensor en `id`, `manufacturer`, `name`, `type` y `certified`
|
|
52
|
+
|
|
53
|
+
#### Cambios de estado en `msg.updated`
|
|
54
|
+
|
|
55
|
+
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.
|
|
56
|
+
|
|
57
|
+
#### Último estado del sensor en `msg.lastState`
|
|
58
|
+
|
|
59
|
+
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`.
|
|
60
|
+
|
|
61
|
+
#### Último comando en `msg.command` (opcional)
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
### Ejemplos de HueMagic
|
|
66
|
+
|
|
67
|
+
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.
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
</script>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-brightness": {
|
|
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 de luminosidad",
|
|
13
|
+
"searching": "Buscando sensores…",
|
|
14
|
+
"none-found": "¡No se ha encontrado ningún sensor de luminosidad!",
|
|
15
|
+
"sensor": "Sensor",
|
|
16
|
+
"all": "Todos los grupos / luces",
|
|
17
|
+
"darkthreshold": "Oscuro por debajo de"
|
|
18
|
+
},
|
|
19
|
+
"node": {
|
|
20
|
+
"not-configured": "sin configurar",
|
|
21
|
+
"deactivated": "desactivado",
|
|
22
|
+
"init": "inicializando…",
|
|
23
|
+
"not-reachable": "no accesible",
|
|
24
|
+
"universal": "modo universal",
|
|
25
|
+
"command": "ejecutando comando…",
|
|
26
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
27
|
+
"title": "Hue Luminosidad",
|
|
28
|
+
"lux": "__lux__ lux",
|
|
29
|
+
"lux-dark": "__lux__ lux (oscuro)",
|
|
30
|
+
"lux-daylight": "__lux__ lux (luz diurna)",
|
|
31
|
+
"input": "consulta de estado",
|
|
32
|
+
"output": "luminosidad (cambiada)",
|
|
33
|
+
"error-no-id": "Indique un ID de sensor válido.",
|
|
34
|
+
"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."
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-buttons">
|
|
2
|
+
El nodo «Hue Botones» recibe los eventos de conmutación de los dispositivos de entrada conectados 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 interruptores y botones disponibles. Si ya conoce el ID del interruptor o botón, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo al dispositivo o conservar su 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 eventos de conmutación. 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 interruptor o botón 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 interruptor o botón 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.
|
|
9
|
+
|
|
10
|
+
En «Salidas adicionales» puede añadir una salida por cada rango de botones, activada cada una por una acción concreta (inicio de la pulsación, fin de una pulsación corta, fin de una pulsación larga una vez alcanzada la duración configurada, o de forma repetida mientras la pulsación larga está en curso). La primera salida del nodo sigue recibiendo siempre todos los eventos, como antes; las salidas adicionales solo reciben una copia del mensaje cuando coinciden tanto el rango de botones como la acción.
|
|
11
|
+
|
|
12
|
+
### Consultar el estado
|
|
13
|
+
|
|
14
|
+
Emite el estado actual del interruptor o botón 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 del interruptor o botón
|
|
17
|
+
|
|
18
|
+
### Mensajes de estado del nodo
|
|
19
|
+
|
|
20
|
+
En cuanto se pulsa una tecla, el nodo devuelve el siguiente mensaje de estado:
|
|
21
|
+
|
|
22
|
+
#### Objeto de estado en `msg.payload`
|
|
23
|
+
|
|
24
|
+
: reachable (boolean | string): `true` si el interruptor o botón está conectado al bridge, `unknown` si el estado de la conexión difiere
|
|
25
|
+
: 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
|
|
26
|
+
: button (int | boolean): ID numérico de la tecla pulsada en último lugar o `false` si no se ha pulsado ninguna
|
|
27
|
+
: action (string | boolean): `false` si no se ha pulsado ninguna tecla, o bien `initial_press`, `repeat`, `short_release`, `long_press`, `long_release` o `double_short_release` en forma de cadena
|
|
28
|
+
: rotation (object | boolean): `false` si el dispositivo no tiene rueda o no se ha girado; en caso contrario, un objeto con `action` (`start` o `repeat`), `direction` (`clock_wise` o `counter_clock_wise`), `clockwise` (booleano), `steps` (1000 pasos equivalen a una vuelta completa), `degrees` y `duration` en milisegundos
|
|
29
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Información sobre el interruptor o botón en `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): Indica el nuevo ID del interruptor o botón
|
|
34
|
+
: idV1 (string | boolean): Indica el ID antiguo del interruptor o botón
|
|
35
|
+
: uniqueId (string): El ID único del interruptor o botón
|
|
36
|
+
: deviceId (string): El ID único del dispositivo
|
|
37
|
+
: name (string): El nombre asignado actualmente al interruptor o botón
|
|
38
|
+
: type (string): El tipo del interruptor o botón (siempre `button`)
|
|
39
|
+
: softwareVersion (string): El firmware actual del interruptor o botón
|
|
40
|
+
: battery (float | boolean): El nivel de batería actual del interruptor o botón, `false` si no hay batería
|
|
41
|
+
: 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
|
|
42
|
+
: model (object): Contiene la información de modelo del interruptor o botón en `id`, `manufacturer`, `name`, `type` y `certified`
|
|
43
|
+
|
|
44
|
+
#### Cambios de estado en `msg.updated`
|
|
45
|
+
|
|
46
|
+
Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado del interruptor o botón. Si no se ha registrado ningún cambio, este objeto está vacío.
|
|
47
|
+
|
|
48
|
+
#### Último estado del interruptor o botón en `msg.lastState`
|
|
49
|
+
|
|
50
|
+
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`.
|
|
51
|
+
|
|
52
|
+
#### Último comando en `msg.command` (opcional)
|
|
53
|
+
|
|
54
|
+
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.
|
|
55
|
+
|
|
56
|
+
### Ejemplos de HueMagic
|
|
57
|
+
|
|
58
|
+
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.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
</script>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-buttons": {
|
|
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 botón",
|
|
13
|
+
"searching": "Buscando Hue Buttons…",
|
|
14
|
+
"none-found": "¡No se ha encontrado ningún Hue Button!",
|
|
15
|
+
"button": "Botón",
|
|
16
|
+
"add-outputs": "Salidas adicionales...",
|
|
17
|
+
"add-outputs-range": "Rango de botones...",
|
|
18
|
+
"add-outputs-newflow": "Activar un nuevo flujo en...",
|
|
19
|
+
"add-outputs-nr": "Salida n.°",
|
|
20
|
+
"add-outputs-btn-from": "Desde...",
|
|
21
|
+
"add-outputs-btn-to": "Hasta...",
|
|
22
|
+
"add-outputs-startpress": "Inicio de la pulsación",
|
|
23
|
+
"add-outputs-shortpress": "Fin de pulsación corta",
|
|
24
|
+
"add-outputs-longpress": "Fin de pulsación larga cuando >",
|
|
25
|
+
"add-outputs-longpresswhile": "Pulsación larga (mientras se mantiene)",
|
|
26
|
+
"add-outputs-btn-addnew": "añadir nuevo rango de botones",
|
|
27
|
+
"outputlabel-btn-from": "botón #__from__",
|
|
28
|
+
"outputlabel-btn-from-to": "botones #__from__ a #__to__",
|
|
29
|
+
"outputlabel-btn-on": "en:",
|
|
30
|
+
"outputlabel-btn-startpress": "Inicio de la pulsación",
|
|
31
|
+
"outputlabel-btn-shortpress": "Fin de pulsación corta",
|
|
32
|
+
"outputlabel-btn-longpress": "Pulsación larga (>__duration__s)",
|
|
33
|
+
"outputlabel-btn-longpresswhile": "Pulsación larga (mientras se mantiene)"
|
|
34
|
+
},
|
|
35
|
+
"node": {
|
|
36
|
+
"not-configured": "sin configurar",
|
|
37
|
+
"universal": "modo universal",
|
|
38
|
+
"command": "ejecutando comando…",
|
|
39
|
+
"statusmsg": "Estado consultado correctamente…",
|
|
40
|
+
"title": "Hue Botones",
|
|
41
|
+
"waiting": "esperando…",
|
|
42
|
+
"button-on": "On",
|
|
43
|
+
"action-pressed": "pulsado",
|
|
44
|
+
"action-holded": "mantenido",
|
|
45
|
+
"action-shortreleased": "soltado brevemente",
|
|
46
|
+
"action-longreleased": "soltado tras mantener",
|
|
47
|
+
"action-repeated": "repetido",
|
|
48
|
+
"action-doublepressed": "pulsado dos veces",
|
|
49
|
+
"action-started": "inicio de pulsación",
|
|
50
|
+
"dial-clockwise": "Rueda ↻ __degrees__°",
|
|
51
|
+
"dial-counterclockwise": "Rueda ↺ __degrees__°",
|
|
52
|
+
"button-status": "Botón n.º __button__ (__action__)",
|
|
53
|
+
"button-status-duration": "Botón n.º __button__ (__action__, __duration__s)",
|
|
54
|
+
"input": "consulta de estado",
|
|
55
|
+
"output": "botón pulsado",
|
|
56
|
+
"error-no-id": "Indique un ID de interruptor válido.",
|
|
57
|
+
"error-not-available": "El interruptor 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.",
|
|
58
|
+
"error-no-switchmode": "Este dispositivo no tiene un modo de interruptor configurable.",
|
|
59
|
+
"error-invalid-switchmode": "Modo de interruptor no válido. Este dispositivo admite: __modes__"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-contact">
|
|
2
|
+
El nodo «Hue Contacto» indica si un sensor de contacto (p. ej. Hue Secure) está actualmente abierto o cerrado.
|
|
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 cambios de contacto 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 cambia el contacto, 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
|
+
: contact (string | boolean): `contact` si el contacto está cerrado, `no_contact` si está abierto o `false` si el sensor aún no ha informado
|
|
32
|
+
: changed (string | boolean): Momento del último cambio de contacto (ISO 8601) o `false` si el sensor aún no ha informado
|
|
33
|
+
: tampered (boolean): Solo disponible en sensores con detección de manipulación; `true` si se ha manipulado el sensor
|
|
34
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
35
|
+
|
|
36
|
+
#### Información sobre el sensor en `msg.info`
|
|
37
|
+
|
|
38
|
+
: id (string): Indica el nuevo ID del sensor
|
|
39
|
+
: idV1 (string | boolean): Indica el ID antiguo del sensor
|
|
40
|
+
: uniqueId (string): El ID único del sensor
|
|
41
|
+
: deviceId (string): El ID único del dispositivo
|
|
42
|
+
: name (string): El nombre asignado actualmente al sensor
|
|
43
|
+
: type (string): El tipo de sensor (siempre `contact`)
|
|
44
|
+
: softwareVersion (string): El firmware actual del sensor
|
|
45
|
+
: battery (float | boolean): El nivel de batería actual del sensor, `false` si no hay batería
|
|
46
|
+
: 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
|
|
47
|
+
: model (object): Contiene la información de modelo del sensor en `id`, `manufacturer`, `name`, `type` y `certified`
|
|
48
|
+
|
|
49
|
+
#### Cambios de estado en `msg.updated`
|
|
50
|
+
|
|
51
|
+
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.
|
|
52
|
+
|
|
53
|
+
#### Último estado del sensor en `msg.lastState`
|
|
54
|
+
|
|
55
|
+
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`.
|
|
56
|
+
|
|
57
|
+
#### Último comando en `msg.command` (opcional)
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
### Ejemplos de HueMagic
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+

|
|
66
|
+
|
|
67
|
+
</script>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-contact": {
|
|
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 contacto…",
|
|
14
|
+
"none-found": "¡No se ha encontrado ningún sensor de contacto!",
|
|
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 Contacto",
|
|
26
|
+
"contact": "contacto",
|
|
27
|
+
"no-contact": "sin contacto",
|
|
28
|
+
"input": "activar / desactivar / estado",
|
|
29
|
+
"output": "contacto",
|
|
30
|
+
"tampered": "manipulado",
|
|
31
|
+
"error-no-id": "Indique un ID de sensor válido.",
|
|
32
|
+
"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."
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-group">
|
|
2
|
+
El nodo «Hue Grupo» puede controlar a la vez varias luces agrupadas en el 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 grupos disponibles. Si ya conoce el ID de un grupo, también puede introducirlo aquí manualmente. Puede asignar internamente un nombre nuevo al grupo 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. 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 grupo 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 grupo 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 grupo concreto pasando el ID del grupo correspondiente como cadena en `msg.topic` junto con sus ajustes.
|
|
9
|
+
|
|
10
|
+
### Consultar el estado
|
|
11
|
+
|
|
12
|
+
Emite el estado actual del grupo 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 grupo
|
|
15
|
+
|
|
16
|
+
### Encender / apagar (modo sencillo)
|
|
17
|
+
|
|
18
|
+
Para encender o apagar rápidamente todo un grupo en el modo sencillo, pase al nodo un objeto con el siguiente contenido.
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` enciende todo el grupo, `false` lo apaga
|
|
21
|
+
|
|
22
|
+
### Comandos de grupo (ampliado)
|
|
23
|
+
|
|
24
|
+
Además de encender y apagar sin más, hay muchas otras opciones disponibles para controlar el grupo. 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 el grupo:
|
|
25
|
+
|
|
26
|
+
: on (boolean): `true` enciende todo el grupo, `false` lo apaga
|
|
27
|
+
: toggle (boolean | any): Alterna entre encendido y apagado, según el estado anterior del grupo
|
|
28
|
+
: 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
|
|
29
|
+
: brightnessLevel (int): Valor numérico del brillo de la luz (0-254)
|
|
30
|
+
: incrementBrightness (int): Valor porcentual de un cambio relativo de brillo. El rango válido va de -100 % a +100 %. Los valores positivos aumentan el brillo. El valor predeterminado es +10 %
|
|
31
|
+
: decrementBrightness (int): Valor porcentual de un cambio relativo de brillo. El rango válido va de -100 % a +100 %. Los valores positivos reducen el brillo. El valor predeterminado es +10 %
|
|
32
|
+
: color (string): `random` para establecer un color aleatorio o un nombre de color en inglés (p. ej. `red`)
|
|
33
|
+
: hex (string): Valor de color en hexadecimal en forma de cadena
|
|
34
|
+
: rgb (array [0,0,0]): Valor de color en formato RGB en forma de array
|
|
35
|
+
: xyColor (object {x [float], y [float]}): Valor de color en el formato de color XY en forma de objeto
|
|
36
|
+
: image (string): Ruta de una imagen (local o en la web) para ajustar el color actual del grupo al color medio de la imagen
|
|
37
|
+
: colorTemp (int | string): Valor entre 153 y 500 para ajustar la temperatura de color del grupo, o los valores `cold`, `normal`, `warm`, `hot` y `auto`, donde `auto` fija la temperatura de color en función de la hora actual
|
|
38
|
+
: transitionTime (float): Tiempo de transición del ajuste actual en segundos. Si se pasa `0`, el grupo cambia de inmediato al ajuste deseado. Si pasa `3`, el grupo pasa al ajuste deseado con una ligera transición en los 3 segundos siguientes
|
|
39
|
+
: colorloop (float): Reproduce una animación «colorloop» durante los segundos indicados y después vuelve al estado original del grupo
|
|
40
|
+
: alert (float): Reproduce una animación «alert» durante los segundos indicados y después vuelve al estado original del grupo
|
|
41
|
+
|
|
42
|
+
### Mensajes de estado del nodo
|
|
43
|
+
|
|
44
|
+
Cuando se detecta un cambio en el grupo, el nodo devuelve el siguiente mensaje de estado.
|
|
45
|
+
|
|
46
|
+
> [!NOTE]
|
|
47
|
+
> El grupo solo emite mensajes de estado cuando se apaga la última luz o cuando se enciende la primera (si antes estaban todas apagadas).
|
|
48
|
+
|
|
49
|
+
A diferencia del nodo «Hue Luz», aquí dispone de mucha menos información de estado, ya que un grupo puede contener muchos tipos de dispositivo distintos con valores que no se pueden combinar.
|
|
50
|
+
|
|
51
|
+
#### Objeto de estado en `msg.payload`
|
|
52
|
+
|
|
53
|
+
: on (boolean): Estado del grupo, donde `true` significa encendido y `false` apagado
|
|
54
|
+
: brightness (float | boolean): Brillo del grupo en porcentaje o `false` si el grupo no se puede atenuar
|
|
55
|
+
: brightnessLevel (int | boolean): Brillo del grupo como valor numérico (0-254) o `false` si el grupo no se puede atenuar
|
|
56
|
+
: rgb (array [0,0,0]): Color actual del grupo en formato RGB (solo si está disponible)
|
|
57
|
+
: hex (string): Color actual del grupo en formato hexadecimal (solo si está disponible)
|
|
58
|
+
: xyColor (object {x [float], y [float]}): Color actual del grupo en el formato de color XY (solo si está disponible)
|
|
59
|
+
: colorTemp (int): Temperatura de color configurada actualmente para el grupo (solo si está disponible)
|
|
60
|
+
: updated (string): Momento de la última actualización del recurso por parte de HueMagic (ISO 8601)
|
|
61
|
+
|
|
62
|
+
#### Información sobre el grupo en `msg.info`
|
|
63
|
+
|
|
64
|
+
: id (string): Indica el nuevo ID del grupo
|
|
65
|
+
: idV1 (string | boolean): Indica el ID antiguo del grupo
|
|
66
|
+
: name (string): El nombre asignado actualmente al grupo
|
|
67
|
+
: resources (object) : Contiene todos los dispositivos y recursos que hay detrás del grupo
|
|
68
|
+
: type (string): El tipo de grupo (siempre `group`)
|
|
69
|
+
|
|
70
|
+
#### Cambios de estado en `msg.updated`
|
|
71
|
+
|
|
72
|
+
Enumera en forma de objeto los parámetros concretos que han cambiado con respecto al último estado del grupo. Si no se ha registrado ningún cambio, este objeto está vacío.
|
|
73
|
+
|
|
74
|
+
#### Último estado de la luz en `msg.lastState`
|
|
75
|
+
|
|
76
|
+
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`.
|
|
77
|
+
|
|
78
|
+
#### Último comando en `msg.command` (opcional)
|
|
79
|
+
|
|
80
|
+
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.
|
|
81
|
+
|
|
82
|
+
### Ejemplos de HueMagic
|
|
83
|
+
|
|
84
|
+
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.
|
|
85
|
+
|
|
86
|
+

|
|
87
|
+
</script>
|