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,70 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-brightness">
|
|
2
|
+
Il nodo «Hue Luminosità» può leggere il livello di luce attuale da un sensore adatto collegato al bridge.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutti i sensori disponibili. Se conosce già l'ID del sensore, può anche inserirlo qui manualmente. Può assegnare internamente un nuovo nome al sensore oppure mantenere quello predefinito. Facoltativamente può disattivare tutti i messaggi di stato automatici di questo nodo tramite l'impostazione «Ignora i messaggi del nodo». Il nodo non emetterà più aggiornamenti del dispositivo. In alternativa può scegliere che il messaggio di inizializzazione del nodo non venga soppresso all'avvio di Node-RED. Attivando questa impostazione riceverà un messaggio di stato del sensore selezionato dopo ogni deploy. Se preferisce che il nodo resti in silenzio finché non gli invia qualcosa, attivi «Segnala solo dopo un comando». In tal caso ignorerà le modifiche provenienti dall'app o da un interruttore e risponderà solo ai suoi comandi.
|
|
7
|
+
|
|
8
|
+
L'impostazione «Buio sotto» determina a partire da quale livello di luce il nodo considera buia una stanza. Una stanza con una lampada luminosa richiede un valore completamente diverso rispetto a un corridoio senza finestre: inserisca semplicemente il numero di lux adatto al suo ambiente. I valori `dark` e `daylight` seguiranno quindi la sua impostazione anziché il valore predefinito di 90 lux.
|
|
9
|
+
|
|
10
|
+
Se non seleziona alcun sensore e utilizza così la configurazione del nodo, il nodo funziona nella cosiddetta «modalità universale». In questa modalità il nodo riceve ed emette tutti i messaggi di stato dello stesso tipo. Può anche applicare impostazioni in modalità universale a un sensore specifico trasmettendo il relativo ID sensore come stringa in `msg.topic` insieme alle sue impostazioni.
|
|
11
|
+
|
|
12
|
+
### Richiedere lo stato
|
|
13
|
+
|
|
14
|
+
Emette lo stato attuale del sensore non appena al nodo viene trasmesso un oggetto `msg.payload` con il seguente contenuto. In alternativa può anche premere il pulsante nell'interfaccia di Node-RED senza dover inviare prima un messaggio al nodo.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Restituisce lo stato attuale del sensore
|
|
17
|
+
|
|
18
|
+
### Accendere / spegnere il sensore
|
|
19
|
+
|
|
20
|
+
Se necessario, il sensore può essere acceso e spento da remoto. Se il sensore è spento, non registra più alcuna variazione del livello di luce e di conseguenza non la emette. A tal fine, trasmetta un oggetto con il seguente contenuto:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` accende il sensore, `false` lo spegne
|
|
23
|
+
|
|
24
|
+
### Messaggi di stato del nodo
|
|
25
|
+
|
|
26
|
+
Non appena il sensore rileva una variazione del livello di luce, viene restituito il seguente messaggio di stato:
|
|
27
|
+
|
|
28
|
+
#### Oggetto di stato in `msg.payload`
|
|
29
|
+
|
|
30
|
+
: active (boolean): Indica se il sensore è acceso o spento
|
|
31
|
+
: reachable (boolean | string): `true` se il sensore è collegato al bridge, `unknown` se lo stato della connessione è diverso
|
|
32
|
+
: connectionStatus (string): Lo stato attuale della connessione con il bridge sotto forma di stringa. Può contenere `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` come valore
|
|
33
|
+
: lux (int): Indica il valore LUX reale del livello di luce
|
|
34
|
+
: lightLevel (int): Indica l'intensità luminosa del sensore
|
|
35
|
+
: dark (boolean): `true` se è stato rilevato buio
|
|
36
|
+
: daylight (boolean): `true` se è stata rilevata luce diurna
|
|
37
|
+
: darkThreshold (int): Il livello di luce in lux al di sotto del quale il nodo segnala il buio
|
|
38
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
39
|
+
|
|
40
|
+
#### Informazioni sul sensore in `msg.info`
|
|
41
|
+
|
|
42
|
+
: id (string): Indica il nuovo ID del sensore
|
|
43
|
+
: idV1 (string | boolean): Indica il vecchio ID del sensore
|
|
44
|
+
: uniqueId (string): L'ID univoco del sensore
|
|
45
|
+
: deviceId (string): L'ID univoco del dispositivo
|
|
46
|
+
: name (string): Il nome attualmente assegnato al sensore
|
|
47
|
+
: type (string): Il tipo di sensore (sempre `light_level`)
|
|
48
|
+
: softwareVersion (string): Il firmware attuale del sensore
|
|
49
|
+
: battery (float): Il livello attuale della batteria del sensore
|
|
50
|
+
: batteryState (string): Lo stato attuale del livello della batteria. Può contenere `normal`, `low` o `critical` come valore
|
|
51
|
+
: model (object): Contiene le informazioni sul modello del sensore in `id`, `manufacturer`, `name`, `type` e `certified`
|
|
52
|
+
|
|
53
|
+
#### Variazioni di stato in `msg.updated`
|
|
54
|
+
|
|
55
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato del sensore. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
56
|
+
|
|
57
|
+
#### Ultimo stato del sensore in `msg.lastState`
|
|
58
|
+
|
|
59
|
+
Contiene l'oggetto di stato completo (vedi i valori di uscita sopra) dell'ultimo stato prima dell'ultima modifica registrata. Se HueMagic non ha ancora registrato l'ultimo stato, viene emesso `false`.
|
|
60
|
+
|
|
61
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
62
|
+
|
|
63
|
+
Se lo stato del nodo è cambiato a seguito di un determinato comando, viene emesso anche l'intero comando eseguito. In caso contrario, il nodo non emette questo oggetto.
|
|
64
|
+
|
|
65
|
+
### Esempi di HueMagic
|
|
66
|
+
|
|
67
|
+
HueMagic mette a disposizione alcune configurazioni di esempio per questo nodo. Per importare un esempio completo nella sua interfaccia Node-RED, faccia clic sull'icona del menu di Node-RED, selezioni «Importa» e navighi fino a «Esempi» nella barra laterale della finestra. Selezioni quindi la cartella HueMagic e il nodo desiderato per importare un flusso di esempio.
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
</script>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-brightness": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"skipevents-node": "Ignora i messaggi del nodo",
|
|
6
|
+
"sendinitevents-node": "Non sopprimere l'evento di inizializzazione",
|
|
7
|
+
"onlycommands-node": "Segnala solo dopo un comando",
|
|
8
|
+
"unknown-error": "Qualcosa è andato storto. Riprovi.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventi universali",
|
|
11
|
+
"universalevents-node": "Riceve tutti i messaggi dagli altri nodi dello stesso tipo (solo in modalità universale)",
|
|
12
|
+
"input-name": "Nome del sensore di luminosità",
|
|
13
|
+
"searching": "Ricerca di sensori…",
|
|
14
|
+
"none-found": "Nessun sensore di luminosità trovato!",
|
|
15
|
+
"sensor": "Sensore",
|
|
16
|
+
"all": "Tutti i gruppi / le luci",
|
|
17
|
+
"darkthreshold": "Buio sotto"
|
|
18
|
+
},
|
|
19
|
+
"node": {
|
|
20
|
+
"not-configured": "non configurato",
|
|
21
|
+
"deactivated": "disattivato",
|
|
22
|
+
"init": "inizializzazione…",
|
|
23
|
+
"not-reachable": "non raggiungibile",
|
|
24
|
+
"universal": "modalità universale",
|
|
25
|
+
"command": "esecuzione del comando…",
|
|
26
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
27
|
+
"title": "Hue Luminosità",
|
|
28
|
+
"lux": "__lux__ lux",
|
|
29
|
+
"lux-dark": "__lux__ lux (buio)",
|
|
30
|
+
"lux-daylight": "__lux__ lux (luce diurna)",
|
|
31
|
+
"input": "richiesta di stato",
|
|
32
|
+
"output": "luminosità (modificata)",
|
|
33
|
+
"error-no-id": "Indichi un ID sensore valido.",
|
|
34
|
+
"error-not-available": "Il sensore non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido."
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-buttons">
|
|
2
|
+
Il nodo «Hue Pulsanti» riceve gli eventi di commutazione dai dispositivi di input collegati al bridge.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutti gli interruttori e i pulsanti disponibili. Se conosce già l'ID dell'interruttore o del pulsante, può anche inserirlo qui manualmente. Può assegnare internamente un nuovo nome al dispositivo oppure mantenere quello predefinito. Facoltativamente può disattivare tutti i messaggi di stato automatici di questo nodo tramite l'impostazione «Ignora i messaggi del nodo». Il nodo non emetterà più eventi di commutazione. In alternativa può scegliere che il messaggio di inizializzazione del nodo non venga soppresso all'avvio di Node-RED. Attivando questa impostazione riceverà un messaggio di stato dell'interruttore o pulsante selezionato dopo ogni deploy. Se preferisce che il nodo resti in silenzio finché non gli invia qualcosa, attivi «Segnala solo dopo un comando». In tal caso ignorerà le modifiche provenienti dall'app o da un interruttore e risponderà solo ai suoi comandi.
|
|
7
|
+
|
|
8
|
+
Se non seleziona alcun interruttore o pulsante e utilizza così la configurazione del nodo, il nodo funziona nella cosiddetta «modalità universale». In questa modalità il nodo riceve ed emette tutti i messaggi di stato dello stesso tipo.
|
|
9
|
+
|
|
10
|
+
In «Uscite aggiuntive» può aggiungere un'uscita per ogni intervallo di pulsanti, ciascuna attivata da un'azione specifica (inizio della pressione, fine di una pressione breve, fine di una pressione prolungata una volta raggiunta la durata configurata, oppure ripetutamente mentre una pressione prolungata è in corso). La prima uscita del nodo continua a ricevere sempre ogni evento, come prima; le uscite aggiuntive ricevono una copia del messaggio solo quando corrispondono sia l'intervallo di pulsanti sia l'azione.
|
|
11
|
+
|
|
12
|
+
### Richiedere lo stato
|
|
13
|
+
|
|
14
|
+
Emette lo stato attuale dell'interruttore o del pulsante non appena al nodo viene trasmesso un oggetto `msg.payload` con il seguente contenuto. In alternativa può anche premere il pulsante nell'interfaccia di Node-RED senza dover inviare prima un messaggio al nodo.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Restituisce lo stato attuale dell'interruttore o del pulsante
|
|
17
|
+
|
|
18
|
+
### Messaggi di stato del nodo
|
|
19
|
+
|
|
20
|
+
Non appena viene premuto un tasto, il nodo restituisce il seguente messaggio di stato:
|
|
21
|
+
|
|
22
|
+
#### Oggetto di stato in `msg.payload`
|
|
23
|
+
|
|
24
|
+
: reachable (boolean | string): `true` se l'interruttore o il pulsante è collegato al bridge, `unknown` se lo stato della connessione è diverso
|
|
25
|
+
: connectionStatus (string): Lo stato attuale della connessione con il bridge sotto forma di stringa. Può contenere `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` come valore
|
|
26
|
+
: button (int | boolean): ID numerico dell'ultimo tasto premuto o `false` se non è stato premuto alcun tasto
|
|
27
|
+
: action (string | boolean): `false` se non è stato premuto alcun tasto, oppure `initial_press`, `repeat`, `short_release`, `long_press`, `long_release` o `double_short_release` sotto forma di stringa
|
|
28
|
+
: rotation (object | boolean): `false` se il dispositivo non ha una rotella o non è stato ruotato; in caso contrario un oggetto con `action` (`start` o `repeat`), `direction` (`clock_wise` o `counter_clock_wise`), `clockwise` (booleano), `steps` (1000 passi corrispondono a un giro completo), `degrees` e `duration` in millisecondi
|
|
29
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Informazioni sull'interruttore o pulsante in `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): Indica il nuovo ID dell'interruttore o del pulsante
|
|
34
|
+
: idV1 (string | boolean): Indica il vecchio ID dell'interruttore o del pulsante
|
|
35
|
+
: uniqueId (string): L'ID univoco dell'interruttore o del pulsante
|
|
36
|
+
: deviceId (string): L'ID univoco del dispositivo
|
|
37
|
+
: name (string): Il nome attualmente assegnato all'interruttore o al pulsante
|
|
38
|
+
: type (string): Il tipo dell'interruttore o del pulsante (sempre `button`)
|
|
39
|
+
: softwareVersion (string): Il firmware attuale dell'interruttore o del pulsante
|
|
40
|
+
: battery (float | boolean): Il livello attuale della batteria dell'interruttore o del pulsante, `false` se non è presente alcuna batteria
|
|
41
|
+
: batteryState (string | boolean): Lo stato attuale del livello della batteria. Può contenere `normal`, `low` o `critical` come valore, `false` se non è presente alcuna batteria
|
|
42
|
+
: model (object): Contiene le informazioni sul modello dell'interruttore o del pulsante in `id`, `manufacturer`, `name`, `type` e `certified`
|
|
43
|
+
|
|
44
|
+
#### Variazioni di stato in `msg.updated`
|
|
45
|
+
|
|
46
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato dell'interruttore o del pulsante. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
47
|
+
|
|
48
|
+
#### Ultimo stato dell'interruttore o del pulsante in `msg.lastState`
|
|
49
|
+
|
|
50
|
+
Contiene l'oggetto di stato completo (vedi i valori di uscita sopra) dell'ultimo stato prima dell'ultima modifica registrata. Se HueMagic non ha ancora registrato l'ultimo stato, viene emesso `false`.
|
|
51
|
+
|
|
52
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
53
|
+
|
|
54
|
+
Se lo stato del nodo è cambiato a seguito di un determinato comando, viene emesso anche l'intero comando eseguito. In caso contrario, il nodo non emette questo oggetto.
|
|
55
|
+
|
|
56
|
+
### Esempi di HueMagic
|
|
57
|
+
|
|
58
|
+
HueMagic mette a disposizione alcune configurazioni di esempio per questo nodo. Per importare un esempio completo nella sua interfaccia Node-RED, faccia clic sull'icona del menu di Node-RED, selezioni «Importa» e navighi fino a «Esempi» nella barra laterale della finestra. Selezioni quindi la cartella HueMagic e il nodo desiderato per importare un flusso di esempio.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
</script>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-buttons": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"skipevents-node": "Ignora i messaggi del nodo",
|
|
6
|
+
"sendinitevents-node": "Non sopprimere l'evento di inizializzazione",
|
|
7
|
+
"onlycommands-node": "Segnala solo dopo un comando",
|
|
8
|
+
"unknown-error": "Qualcosa è andato storto. Riprovi.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventi universali",
|
|
11
|
+
"universalevents-node": "Riceve tutti i messaggi dagli altri nodi dello stesso tipo (solo in modalità universale)",
|
|
12
|
+
"input-name": "Nome del pulsante",
|
|
13
|
+
"searching": "Ricerca di Hue Buttons…",
|
|
14
|
+
"none-found": "Nessun Hue Button trovato!",
|
|
15
|
+
"button": "Pulsante",
|
|
16
|
+
"add-outputs": "Uscite aggiuntive...",
|
|
17
|
+
"add-outputs-range": "Intervallo di pulsanti...",
|
|
18
|
+
"add-outputs-newflow": "Attiva un nuovo flusso su...",
|
|
19
|
+
"add-outputs-nr": "Uscita n.",
|
|
20
|
+
"add-outputs-btn-from": "Da...",
|
|
21
|
+
"add-outputs-btn-to": "A...",
|
|
22
|
+
"add-outputs-startpress": "Inizio pressione",
|
|
23
|
+
"add-outputs-shortpress": "Fine pressione breve",
|
|
24
|
+
"add-outputs-longpress": "Fine pressione prolungata quando >",
|
|
25
|
+
"add-outputs-longpresswhile": "Pressione prolungata (mentre premuto)",
|
|
26
|
+
"add-outputs-btn-addnew": "aggiungi nuovo intervallo di pulsanti",
|
|
27
|
+
"outputlabel-btn-from": "pulsante #__from__",
|
|
28
|
+
"outputlabel-btn-from-to": "pulsanti #__from__ - #__to__",
|
|
29
|
+
"outputlabel-btn-on": "su:",
|
|
30
|
+
"outputlabel-btn-startpress": "Inizio pressione",
|
|
31
|
+
"outputlabel-btn-shortpress": "Fine pressione breve",
|
|
32
|
+
"outputlabel-btn-longpress": "Pressione prolungata (>__duration__s)",
|
|
33
|
+
"outputlabel-btn-longpresswhile": "Pressione prolungata (mentre premuto)"
|
|
34
|
+
},
|
|
35
|
+
"node": {
|
|
36
|
+
"not-configured": "non configurato",
|
|
37
|
+
"universal": "modalità universale",
|
|
38
|
+
"command": "esecuzione del comando…",
|
|
39
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
40
|
+
"title": "Hue Pulsanti",
|
|
41
|
+
"waiting": "in attesa…",
|
|
42
|
+
"button-on": "On",
|
|
43
|
+
"action-pressed": "premuto",
|
|
44
|
+
"action-holded": "tenuto premuto",
|
|
45
|
+
"action-shortreleased": "rilasciato brevemente",
|
|
46
|
+
"action-longreleased": "rilasciato dopo pressione prolungata",
|
|
47
|
+
"action-repeated": "ripetuto",
|
|
48
|
+
"action-doublepressed": "premuto due volte",
|
|
49
|
+
"action-started": "inizio pressione",
|
|
50
|
+
"dial-clockwise": "Rotella ↻ __degrees__°",
|
|
51
|
+
"dial-counterclockwise": "Rotella ↺ __degrees__°",
|
|
52
|
+
"button-status": "Pulsante n. __button__ (__action__)",
|
|
53
|
+
"button-status-duration": "Pulsante n. __button__ (__action__, __duration__s)",
|
|
54
|
+
"input": "richiesta di stato",
|
|
55
|
+
"output": "pulsante premuto",
|
|
56
|
+
"error-no-id": "Indichi un ID interruttore valido.",
|
|
57
|
+
"error-not-available": "L'interruttore non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido.",
|
|
58
|
+
"error-no-switchmode": "Questo dispositivo non ha una modalità interruttore configurabile.",
|
|
59
|
+
"error-invalid-switchmode": "Modalità interruttore non valida. Questo dispositivo supporta: __modes__"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-contact">
|
|
2
|
+
Il nodo «Hue Contatto» indica se un sensore di contatto (ad es. Hue Secure) è attualmente aperto o chiuso.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutti i sensori disponibili. Se conosce già l'ID del sensore, può anche inserirlo qui manualmente. Può assegnare internamente un nuovo nome al sensore oppure mantenere quello predefinito. Facoltativamente può disattivare tutti i messaggi di stato automatici di questo nodo tramite l'impostazione «Ignora i messaggi del nodo». Il nodo non emetterà più aggiornamenti del dispositivo. In alternativa può scegliere che il messaggio di inizializzazione del nodo non venga soppresso all'avvio di Node-RED. Attivando questa impostazione riceverà un messaggio di stato del sensore selezionato dopo ogni deploy. Se preferisce che il nodo resti in silenzio finché non gli invia qualcosa, attivi «Segnala solo dopo un comando». In tal caso ignorerà le modifiche provenienti dall'app o da un interruttore e risponderà solo ai suoi comandi.
|
|
7
|
+
|
|
8
|
+
Se non seleziona alcun sensore e utilizza così la configurazione del nodo, il nodo funziona nella cosiddetta «modalità universale». In questa modalità il nodo riceve ed emette tutti i messaggi di stato dello stesso tipo. Può anche applicare impostazioni in modalità universale a un sensore specifico trasmettendo il relativo ID sensore come stringa in `msg.topic` insieme alle sue impostazioni.
|
|
9
|
+
|
|
10
|
+
### Richiedere lo stato
|
|
11
|
+
|
|
12
|
+
Emette lo stato attuale del sensore non appena al nodo viene trasmesso un oggetto `msg.payload` con il seguente contenuto. In alternativa può anche premere il pulsante nell'interfaccia di Node-RED senza dover inviare prima un messaggio al nodo.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Restituisce lo stato attuale del sensore
|
|
15
|
+
|
|
16
|
+
### Accendere / spegnere il sensore
|
|
17
|
+
|
|
18
|
+
Se necessario, il sensore può essere acceso e spento da remoto. Se il sensore è spento, non registra più alcuna variazione di contatto e di conseguenza non la emette. A tal fine, trasmetta un oggetto con il seguente contenuto:
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` accende il sensore, `false` lo spegne
|
|
21
|
+
|
|
22
|
+
### Messaggi di stato del nodo
|
|
23
|
+
|
|
24
|
+
Non appena il contatto cambia, il nodo restituisce il seguente messaggio di stato:
|
|
25
|
+
|
|
26
|
+
#### Oggetto di stato in `msg.payload`
|
|
27
|
+
|
|
28
|
+
: active (boolean): Indica se il sensore è acceso o spento
|
|
29
|
+
: reachable (boolean | string): `true` se il sensore è collegato al bridge, `unknown` se lo stato della connessione è diverso
|
|
30
|
+
: connectionStatus (string): Lo stato attuale della connessione con il bridge sotto forma di stringa. Può contenere `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` come valore
|
|
31
|
+
: contact (string | boolean): `contact` se il contatto è chiuso, `no_contact` se è aperto o `false` se il sensore non ha ancora comunicato nulla
|
|
32
|
+
: changed (string | boolean): Momento dell'ultima variazione di contatto (ISO 8601) o `false` se il sensore non ha ancora comunicato nulla
|
|
33
|
+
: tampered (boolean): Disponibile solo sui sensori con rilevamento delle manomissioni; `true` se il sensore è stato manomesso
|
|
34
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
35
|
+
|
|
36
|
+
#### Informazioni sul sensore in `msg.info`
|
|
37
|
+
|
|
38
|
+
: id (string): Indica il nuovo ID del sensore
|
|
39
|
+
: idV1 (string | boolean): Indica il vecchio ID del sensore
|
|
40
|
+
: uniqueId (string): L'ID univoco del sensore
|
|
41
|
+
: deviceId (string): L'ID univoco del dispositivo
|
|
42
|
+
: name (string): Il nome attualmente assegnato al sensore
|
|
43
|
+
: type (string): Il tipo di sensore (sempre `contact`)
|
|
44
|
+
: softwareVersion (string): Il firmware attuale del sensore
|
|
45
|
+
: battery (float | boolean): Il livello attuale della batteria del sensore, `false` se non è presente alcuna batteria
|
|
46
|
+
: batteryState (string | boolean): Lo stato attuale del livello della batteria. Può contenere `normal`, `low` o `critical` come valore, `false` se non è presente alcuna batteria
|
|
47
|
+
: model (object): Contiene le informazioni sul modello del sensore in `id`, `manufacturer`, `name`, `type` e `certified`
|
|
48
|
+
|
|
49
|
+
#### Variazioni di stato in `msg.updated`
|
|
50
|
+
|
|
51
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato del sensore. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
52
|
+
|
|
53
|
+
#### Ultimo stato del sensore in `msg.lastState`
|
|
54
|
+
|
|
55
|
+
Contiene l'oggetto di stato completo (vedi i valori di uscita sopra) dell'ultimo stato prima dell'ultima modifica registrata. Se HueMagic non ha ancora registrato l'ultimo stato, viene emesso `false`.
|
|
56
|
+
|
|
57
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
58
|
+
|
|
59
|
+
Se lo stato del nodo è cambiato a seguito di un determinato comando, viene emesso anche l'intero comando eseguito. In caso contrario, il nodo non emette questo oggetto.
|
|
60
|
+
|
|
61
|
+
### Esempi di HueMagic
|
|
62
|
+
|
|
63
|
+
HueMagic mette a disposizione alcune configurazioni di esempio per questo nodo. Per importare un esempio completo nella sua interfaccia Node-RED, faccia clic sull'icona del menu di Node-RED, selezioni «Importa» e navighi fino a «Esempi» nella barra laterale della finestra. Selezioni quindi la cartella HueMagic e il nodo desiderato per importare un flusso di esempio.
|
|
64
|
+
|
|
65
|
+

|
|
66
|
+
|
|
67
|
+
</script>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-contact": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"skipevents-node": "Ignora i messaggi del nodo",
|
|
6
|
+
"sendinitevents-node": "Non sopprimere l'evento di inizializzazione",
|
|
7
|
+
"onlycommands-node": "Segnala solo dopo un comando",
|
|
8
|
+
"unknown-error": "Qualcosa è andato storto. Riprovi.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventi universali",
|
|
11
|
+
"universalevents-node": "Riceve tutti i messaggi dagli altri nodi dello stesso tipo (solo in modalità universale)",
|
|
12
|
+
"input-name": "Nome del sensore",
|
|
13
|
+
"searching": "Ricerca di sensori di contatto…",
|
|
14
|
+
"none-found": "Nessun sensore di contatto trovato!",
|
|
15
|
+
"sensor": "Sensore"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "non configurato",
|
|
19
|
+
"not-reachable": "non raggiungibile",
|
|
20
|
+
"activated": "attivato",
|
|
21
|
+
"deactivated": "disattivato",
|
|
22
|
+
"universal": "modalità universale",
|
|
23
|
+
"command": "esecuzione del comando…",
|
|
24
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
25
|
+
"title": "Hue Contatto",
|
|
26
|
+
"contact": "contatto",
|
|
27
|
+
"no-contact": "nessun contatto",
|
|
28
|
+
"input": "attiva / disattiva / stato",
|
|
29
|
+
"output": "contatto",
|
|
30
|
+
"tampered": "manomesso",
|
|
31
|
+
"error-no-id": "Indichi un ID sensore valido.",
|
|
32
|
+
"error-not-available": "Il sensore non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido."
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-group">
|
|
2
|
+
Il nodo «Hue Gruppo» può controllare contemporaneamente più luci raccolte in un gruppo sul bridge.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutti i gruppi disponibili. Se conosce già l'ID di un gruppo, può anche inserirlo qui manualmente. Può assegnare internamente un nuovo nome al gruppo oppure mantenere quello predefinito. Facoltativamente può disattivare tutti i messaggi di stato automatici di questo nodo tramite l'impostazione «Ignora i messaggi del nodo». Il nodo non emetterà più aggiornamenti. In alternativa può scegliere che il messaggio di inizializzazione del nodo non venga soppresso all'avvio di Node-RED. Attivando questa impostazione riceverà un messaggio di stato del gruppo selezionato dopo ogni deploy. Se preferisce che il nodo resti in silenzio finché non gli invia qualcosa, attivi «Segnala solo dopo un comando». In tal caso ignorerà le modifiche provenienti dall'app o da un interruttore e risponderà solo ai suoi comandi.
|
|
7
|
+
|
|
8
|
+
Se non seleziona alcun gruppo e utilizza così la configurazione del nodo, il nodo funziona nella cosiddetta «modalità universale». In questa modalità il nodo riceve ed emette tutti i messaggi di stato dello stesso tipo. Può anche applicare impostazioni in modalità universale a un gruppo specifico trasmettendo il relativo ID come stringa in `msg.topic` insieme alle sue impostazioni.
|
|
9
|
+
|
|
10
|
+
### Richiedere lo stato
|
|
11
|
+
|
|
12
|
+
Emette lo stato attuale del gruppo non appena al nodo viene trasmesso un oggetto `msg.payload` con il seguente contenuto. In alternativa può anche premere il pulsante nell'interfaccia di Node-RED senza dover inviare prima un messaggio al nodo.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Restituisce lo stato attuale del gruppo
|
|
15
|
+
|
|
16
|
+
### Accendere / spegnere (modalità semplice)
|
|
17
|
+
|
|
18
|
+
Per accendere o spegnere rapidamente un intero gruppo in modalità semplice, trasmetta al nodo un oggetto con il seguente contenuto.
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` accende l'intero gruppo, `false` lo spegne
|
|
21
|
+
|
|
22
|
+
### Comandi gruppo (esteso)
|
|
23
|
+
|
|
24
|
+
Oltre al semplice accendere e spegnere, sono disponibili molte altre opzioni per controllare il gruppo. Tutti i nodi di HueMagic possono essere controllati con comandi additivi. Ciò significa che può trasmettere prima un'impostazione e poi un'altra in un comando successivo senza annullare quella precedente. Trasmetta i seguenti parametri in un oggetto `msg.payload` per effettuare impostazioni più estese sul gruppo:
|
|
25
|
+
|
|
26
|
+
: on (boolean): `true` accende l'intero gruppo, `false` lo spegne
|
|
27
|
+
: toggle (boolean | any): Alterna tra accensione e spegnimento, a seconda dello stato precedente del gruppo
|
|
28
|
+
: brightness (int | string): Valore percentuale della luminosità (0-100) oppure una stringa con il valore `auto` per impostare automaticamente la luminosità in base all'ora attuale
|
|
29
|
+
: brightnessLevel (int): Valore numerico della luminosità della luce (0-254)
|
|
30
|
+
: incrementBrightness (int): Valore percentuale di una variazione relativa della luminosità. L'intervallo valido va da -100 % a +100 %. I valori positivi aumentano la luminosità. Il valore predefinito è +10 %
|
|
31
|
+
: decrementBrightness (int): Valore percentuale di una variazione relativa della luminosità. L'intervallo valido va da -100 % a +100 %. I valori positivi riducono la luminosità. Il valore predefinito è +10 %
|
|
32
|
+
: color (string): `random` per impostare un colore casuale oppure un nome di colore in inglese (ad es. `red`)
|
|
33
|
+
: hex (string): Valore di colore esadecimale sotto forma di stringa
|
|
34
|
+
: rgb (array [0,0,0]): Valore di colore in formato RGB sotto forma di array
|
|
35
|
+
: xyColor (object {x [float], y [float]}): Valore di colore nel formato XY sotto forma di oggetto
|
|
36
|
+
: image (string): Percorso di un'immagine (locale o sul web) per impostare il colore attuale del gruppo sul colore medio dell'immagine
|
|
37
|
+
: colorTemp (int | string): Valore compreso tra 153 e 500 per impostare la temperatura di colore del gruppo, oppure i valori `cold`, `normal`, `warm`, `hot` e `auto`, dove `auto` imposta la temperatura di colore in base all'ora attuale
|
|
38
|
+
: transitionTime (float): Tempo di transizione dell'impostazione attuale in secondi. Se viene trasmesso `0`, il gruppo passa subito all'impostazione desiderata. Se trasmette `3`, il gruppo passa all'impostazione desiderata con una leggera transizione nei 3 secondi successivi
|
|
39
|
+
: colorloop (float): Riproduce un'animazione «colorloop» per la durata indicata in secondi e poi ripristina lo stato originale del gruppo
|
|
40
|
+
: alert (float): Riproduce un'animazione «alert» per la durata indicata in secondi e poi ripristina lo stato originale del gruppo
|
|
41
|
+
|
|
42
|
+
### Messaggi di stato del nodo
|
|
43
|
+
|
|
44
|
+
Quando viene rilevata una modifica nel gruppo, il nodo restituisce il seguente messaggio di stato.
|
|
45
|
+
|
|
46
|
+
> [!NOTE]
|
|
47
|
+
> Il gruppo emette messaggi di stato solo quando viene spenta l'ultima luce oppure quando viene accesa la prima (se prima erano tutte spente).
|
|
48
|
+
|
|
49
|
+
A differenza del nodo «Hue Luce», qui dispone di molte meno informazioni di stato, poiché un gruppo può contenere molti tipi di dispositivo diversi con valori che non possono essere combinati.
|
|
50
|
+
|
|
51
|
+
#### Oggetto di stato in `msg.payload`
|
|
52
|
+
|
|
53
|
+
: on (boolean): Stato del gruppo, dove `true` significa acceso e `false` spento
|
|
54
|
+
: brightness (float | boolean): Luminosità del gruppo in percentuale oppure `false` se il gruppo non è dimmerabile
|
|
55
|
+
: brightnessLevel (int | boolean): Luminosità del gruppo come valore numerico (0-254) oppure `false` se il gruppo non è dimmerabile
|
|
56
|
+
: rgb (array [0,0,0]): Colore attuale del gruppo in formato RGB (solo se disponibile)
|
|
57
|
+
: hex (string): Colore attuale del gruppo in formato esadecimale (solo se disponibile)
|
|
58
|
+
: xyColor (object {x [float], y [float]}): Colore attuale del gruppo nel formato XY (solo se disponibile)
|
|
59
|
+
: colorTemp (int): Temperatura di colore attualmente impostata per il gruppo (solo se disponibile)
|
|
60
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
61
|
+
|
|
62
|
+
#### Informazioni sul gruppo in `msg.info`
|
|
63
|
+
|
|
64
|
+
: id (string): Indica il nuovo ID del gruppo
|
|
65
|
+
: idV1 (string | boolean): Indica il vecchio ID del gruppo
|
|
66
|
+
: name (string): Il nome attualmente assegnato al gruppo
|
|
67
|
+
: resources (object) : Contiene tutti i dispositivi e le risorse dietro il gruppo
|
|
68
|
+
: type (string): Il tipo di gruppo (sempre `group`)
|
|
69
|
+
|
|
70
|
+
#### Variazioni di stato in `msg.updated`
|
|
71
|
+
|
|
72
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato del gruppo. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
73
|
+
|
|
74
|
+
#### Ultimo stato della luce in `msg.lastState`
|
|
75
|
+
|
|
76
|
+
Contiene l'oggetto di stato completo (vedi i valori di uscita sopra) dell'ultimo stato prima dell'ultima modifica. Se HueMagic non ha ancora registrato l'ultimo stato, viene emesso `false`.
|
|
77
|
+
|
|
78
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
79
|
+
|
|
80
|
+
Se lo stato del nodo è cambiato a seguito di un determinato comando, viene emesso anche l'intero comando eseguito. In caso contrario, il nodo non emette questo oggetto.
|
|
81
|
+
|
|
82
|
+
### Esempi di HueMagic
|
|
83
|
+
|
|
84
|
+
HueMagic mette a disposizione alcune configurazioni di esempio per questo nodo. Per importare un esempio completo nella sua interfaccia Node-RED, faccia clic sull'icona del menu di Node-RED, selezioni «Importa» e navighi fino a «Esempi» nella barra laterale della finestra. Selezioni quindi la cartella HueMagic e il nodo desiderato per importare un flusso di esempio.
|
|
85
|
+
|
|
86
|
+

|
|
87
|
+
</script>
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-group": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"skipevents-node": "Ignora i messaggi del nodo",
|
|
6
|
+
"sendinitevents-node": "Non sopprimere l'evento di inizializzazione",
|
|
7
|
+
"onlycommands-node": "Segnala solo dopo un comando",
|
|
8
|
+
"unknown-error": "Qualcosa è andato storto. Riprovi.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventi universali",
|
|
11
|
+
"universalevents-node": "Riceve tutti i messaggi dagli altri nodi dello stesso tipo (solo in modalità universale)",
|
|
12
|
+
"colornamer": "Colornamer",
|
|
13
|
+
"colornamer-info": "Attiva la denominazione dei colori",
|
|
14
|
+
"input-name": "Nome del gruppo",
|
|
15
|
+
"searching": "Ricerca di gruppi…",
|
|
16
|
+
"none-found": "Nessun gruppo trovato!",
|
|
17
|
+
"group": "Gruppo",
|
|
18
|
+
"all": "Tutti i gruppi / le luci"
|
|
19
|
+
},
|
|
20
|
+
"node": {
|
|
21
|
+
"not-configured": "non configurato",
|
|
22
|
+
"init": "inizializzazione…",
|
|
23
|
+
"universal": "modalità universale",
|
|
24
|
+
"command": "esecuzione del comando…",
|
|
25
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
26
|
+
"title": "Hue Gruppo",
|
|
27
|
+
"brightness": " (__percent__ %)",
|
|
28
|
+
"all-on": "tutte le luci accese",
|
|
29
|
+
"all-off": "tutte le luci spente",
|
|
30
|
+
"some-on": "alcune luci accese",
|
|
31
|
+
"turned-on": "acceso",
|
|
32
|
+
"error-input": "errore di immissione",
|
|
33
|
+
"error-no-id": "Nessun ID gruppo indicato.",
|
|
34
|
+
"error-invalid-sat": "Impostazione di saturazione non valida. Sono consentiti solo valori da 0 a 254.",
|
|
35
|
+
"error-invalid-temp": "Temperatura di colore non valida. Sono consentiti solo valori da 153 a 500.",
|
|
36
|
+
"input": "accendi / spegni",
|
|
37
|
+
"output": "stato",
|
|
38
|
+
"error-not-available": "Il gruppo non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido.",
|
|
39
|
+
"error-invalid-brightness": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 100 percento.",
|
|
40
|
+
"error-invalid-brightness-level": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 254.",
|
|
41
|
+
"error-invalid-increment": "Impostazione incrementBrightness non valida. Sono consentiti solo valori da -100 % a 100 %.",
|
|
42
|
+
"error-invalid-decrement": "Impostazione decrementBrightness non valida. Sono consentiti solo valori da -100 % a 100 %.",
|
|
43
|
+
"error-no-colorloop": "L'effetto colorloop non è disponibile per questo gruppo."
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-light">
|
|
2
|
+
Il nodo «Hue Luce» può controllare le luci collegate al bridge e ricevere i loro messaggi di stato.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutte le luci disponibili. Se conosce già l'ID di una luce, può anche inserirlo qui manualmente. Può assegnare internamente un nuovo nome alla luce oppure mantenere quello predefinito. Facoltativamente può disattivare tutti i messaggi di stato automatici di questo nodo tramite l'impostazione «Ignora i messaggi del nodo». Il nodo non emetterà più aggiornamenti del dispositivo. In alternativa può scegliere che il messaggio di inizializzazione del nodo non venga soppresso all'avvio di Node-RED. Attivando questa impostazione riceverà un messaggio di stato della luce selezionata dopo ogni deploy. Se preferisce che il nodo resti in silenzio finché non gli invia qualcosa, attivi «Segnala solo dopo un comando». In tal caso ignorerà le modifiche provenienti dall'app o da un interruttore e risponderà solo ai suoi comandi.
|
|
7
|
+
|
|
8
|
+
Se attiva l'impostazione «Attiva la denominazione dei colori», il nodo proverà a descrivere il colore di luce impostato per ogni messaggio di stato. Riceverà quindi in uscita un parametro aggiuntivo con la descrizione in inglese del colore attuale.
|
|
9
|
+
|
|
10
|
+
Se non seleziona alcuna luce e utilizza così la configurazione del nodo, il nodo funziona nella cosiddetta «modalità universale». In questa modalità il nodo riceve ed emette tutti i messaggi di stato dello stesso tipo. Può anche applicare impostazioni in modalità universale a una luce specifica trasmettendo il relativo ID come stringa in `msg.topic` insieme alle sue impostazioni.
|
|
11
|
+
|
|
12
|
+
### Richiedere lo stato
|
|
13
|
+
|
|
14
|
+
Emette lo stato attuale della luce non appena al nodo viene trasmesso un oggetto `msg.payload` con il seguente contenuto. In alternativa può anche premere il pulsante nell'interfaccia di Node-RED senza dover inviare prima un messaggio al nodo.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Restituisce lo stato attuale della luce
|
|
17
|
+
|
|
18
|
+
### Accendere / spegnere la luce (modalità semplice)
|
|
19
|
+
|
|
20
|
+
Per accendere o spegnere rapidamente una luce in modalità semplice, trasmetta al nodo un oggetto con il seguente contenuto:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` accende la luce, `false` la spegne
|
|
23
|
+
|
|
24
|
+
### Comandi luce (esteso)
|
|
25
|
+
|
|
26
|
+
Oltre al semplice accendere e spegnere, sono disponibili molte altre opzioni per controllare la luce. Tutti i nodi di HueMagic possono essere controllati con comandi additivi. Ciò significa che può trasmettere prima un'impostazione e poi un'altra in un comando successivo senza annullare quella precedente. Trasmetta i seguenti parametri in un oggetto `msg.payload` per effettuare impostazioni più estese sulla luce:
|
|
27
|
+
|
|
28
|
+
: on (boolean): `true` accende la luce, `false` la spegne
|
|
29
|
+
: toggle (boolean | any): Alterna tra accensione e spegnimento, a seconda dello stato precedente della luce
|
|
30
|
+
: brightness (int | string): Valore percentuale della luminosità della luce (0-100) oppure una stringa con il valore `auto` per impostare automaticamente la luminosità in base all'ora attuale
|
|
31
|
+
: brightnessLevel (int): Valore numerico della luminosità della luce (0-254)
|
|
32
|
+
: incrementBrightness (int | boolean): Indica di quanti punti percentuali schiarire la luce, oppure `true` per schiarirla a passi del 10 %
|
|
33
|
+
: decrementBrightness (int | boolean): Indica di quanti punti percentuali scurire la luce, oppure `true` per scurirla a passi del 10 %
|
|
34
|
+
: color (string): `random` per impostare un colore casuale oppure un nome di colore in inglese (ad es. `red`)
|
|
35
|
+
: hex (string): Valore di colore esadecimale sotto forma di stringa
|
|
36
|
+
: rgb (array [0,0,0]): Valore di colore in formato RGB sotto forma di array
|
|
37
|
+
: xyColor (object {x [float], y [float]}): Valore di colore nel formato XY sotto forma di oggetto
|
|
38
|
+
: gradient (object {hex […]}): Un oggetto con un oggetto colore supportato (ad es. `hex`, `rgb`, …) e più colori per impostare un gradiente sulle luci compatibili
|
|
39
|
+
: mixColor (object): Un colore da miscelare con il colore di luce attuale. Accetta oggetti `color`, `hex`, `rgb` o `xyColor` e facoltativamente `amount` (int) per indicare la proporzione di miscelazione in percentuale
|
|
40
|
+
: image (string): Percorso di un'immagine (locale o sul web) per impostare il colore attuale della luce sul colore medio dell'immagine
|
|
41
|
+
: saturation (int): Percentuale di saturazione del colore attuale (beta)
|
|
42
|
+
: colorTemp (int | string): Valore compreso tra 153 e 500 per impostare la temperatura di colore della luce, oppure i valori `cold`, `normal`, `warm`, `hot` e `auto`, dove `auto` imposta la temperatura di colore in base all'ora attuale
|
|
43
|
+
: incrementColorTemp (int | boolean): Valore di quanto la temperatura di colore debba diventare più calda, oppure `true` per renderla più calda a passi di 50
|
|
44
|
+
: decrementColorTemp (int | boolean): Valore di quanto la temperatura di colore debba diventare più fredda, oppure `true` per renderla più fredda a passi di 50
|
|
45
|
+
: transitionTime (float): Tempo di transizione dell'impostazione attuale in secondi. Se si indica `0`, la luce passa subito all'impostazione desiderata. Se si indica `3`, la luce passa all'impostazione desiderata con una leggera transizione nei 3 secondi successivi
|
|
46
|
+
: colorloop (float): Riproduce un'animazione «colorloop» per la durata indicata in secondi e poi ripristina lo stato originale della luce
|
|
47
|
+
: alert (float): Riproduce un'animazione «alert» per la durata indicata in secondi e poi ripristina lo stato originale della luce
|
|
48
|
+
|
|
49
|
+
### Messaggi di stato del nodo
|
|
50
|
+
|
|
51
|
+
Non appena viene rilevata una modifica alle impostazioni della luce (sia tramite Node-RED sia dall'esterno), il nodo restituisce il seguente messaggio di stato:
|
|
52
|
+
|
|
53
|
+
#### Oggetto di stato in `msg.payload`
|
|
54
|
+
|
|
55
|
+
: on (boolean): Stato della luce, dove `true` significa accesa e `false` spenta
|
|
56
|
+
: brightness (int | boolean): Luminosità attuale in percentuale oppure `false` se la luce non supporta la regolazione della luminosità
|
|
57
|
+
: brightnessLevel (int | boolean): Luminosità attuale da 0 a 254 oppure `false` se la luce non supporta la regolazione della luminosità
|
|
58
|
+
: reachable (boolean | string): `true` se la luce è collegata al bridge, `unknown` se lo stato della connessione è diverso
|
|
59
|
+
: connectionStatus (string): Lo stato attuale della connessione con il bridge sotto forma di stringa. Può contenere `connected`, `disconnected`, `connectivity_issue` o `unidirectional_incoming` come valore
|
|
60
|
+
: rgb (array [int, int, int] | optional): Colore di luce attuale sotto forma di valore RGB, se la luce può visualizzare colori
|
|
61
|
+
: hex (string | optional): Colore di luce attuale sotto forma di valore esadecimale, se la luce può visualizzare colori
|
|
62
|
+
: xyColor (object {x [float], y [float]} | optional): Colore di luce attuale sotto forma di valore XY, se la luce può visualizzare colori
|
|
63
|
+
: color (string | optional): Nome attuale del colore in inglese, se la luce può visualizzare colori ed è stata attivata la relativa impostazione del nodo
|
|
64
|
+
: gradient (object | optional): Impostazione del gradiente attuale con tutte le unità di colore disponibili sotto forma di array, se la luce supporta i gradienti, dove `colors` restituisce i colori, `numColors` il numero di colori impostati nel gradiente e `totalColors` il numero massimo di colori che la risorsa può supportare nel gradiente
|
|
65
|
+
: colorTemp (int | boolean | optional): Temperatura di colore attuale della luce, se la luce può visualizzare temperature di colore ed è stata impostata una temperatura
|
|
66
|
+
: colorTempName (string | optional): Temperatura di colore attuale della luce sotto forma di stringa descrittiva con i valori `cold`, `normal`, `warm` o `hot`, se la luce può visualizzare temperature di colore ed è stata impostata una temperatura. In caso contrario viene emesso `unknown`
|
|
67
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
68
|
+
|
|
69
|
+
#### Informazioni sulla luce in `msg.info`
|
|
70
|
+
|
|
71
|
+
: id (string): Indica il nuovo ID della luce
|
|
72
|
+
: idV1 (string | boolean): Indica il vecchio ID della luce
|
|
73
|
+
: uniqueId (string): L'ID univoco della luce
|
|
74
|
+
: deviceId (string): L'ID univoco del dispositivo
|
|
75
|
+
: name (string): Il nome attualmente assegnato alla luce
|
|
76
|
+
: type (string): Il tipo di luce (sempre `light`)
|
|
77
|
+
: softwareVersion (string): Il firmware attuale della luce
|
|
78
|
+
: model (object): Contiene le informazioni sul modello della luce in `id`, `manufacturer`, `name`, `type`, `certified`, `friendsOfHue`, `colorGamut` e `colorGamutType`
|
|
79
|
+
|
|
80
|
+
#### Variazioni di stato in `msg.updated`
|
|
81
|
+
|
|
82
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato della luce. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
83
|
+
|
|
84
|
+
#### Ultimo stato della luce in `msg.lastState`
|
|
85
|
+
|
|
86
|
+
Contiene l'oggetto di stato completo (vedi i valori di uscita sopra) dell'ultimo stato prima dell'ultima modifica. Se HueMagic non ha ancora registrato l'ultimo stato, viene emesso `false`.
|
|
87
|
+
|
|
88
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
89
|
+
|
|
90
|
+
Se lo stato del nodo è cambiato a seguito di un determinato comando, viene emesso anche l'intero comando eseguito. In caso contrario, il nodo non emette questo oggetto.
|
|
91
|
+
|
|
92
|
+
### Esempi di HueMagic
|
|
93
|
+
|
|
94
|
+
HueMagic mette a disposizione alcune configurazioni di esempio per questo nodo. Per importare un esempio completo nella sua interfaccia Node-RED, faccia clic sull'icona del menu di Node-RED, selezioni «Importa» e navighi fino a «Esempi» nella barra laterale della finestra. Selezioni quindi la cartella HueMagic e il nodo desiderato per importare un flusso di esempio.
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
</script>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-light": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"skipevents-node": "Ignora i messaggi del nodo",
|
|
6
|
+
"sendinitevents-node": "Non sopprimere l'evento di inizializzazione",
|
|
7
|
+
"onlycommands-node": "Segnala solo dopo un comando",
|
|
8
|
+
"unknown-error": "Qualcosa è andato storto. Riprovi.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Eventi universali",
|
|
11
|
+
"universalevents-node": "Riceve tutti i messaggi dagli altri nodi dello stesso tipo (solo in modalità universale)",
|
|
12
|
+
"colornamer": "Colornamer",
|
|
13
|
+
"colornamer-info": "Attiva la denominazione dei colori",
|
|
14
|
+
"input-name": "Nome della luce",
|
|
15
|
+
"searching": "Ricerca di luci…",
|
|
16
|
+
"none-found": "Nessuna luce trovata!",
|
|
17
|
+
"light": "Luce"
|
|
18
|
+
},
|
|
19
|
+
"node": {
|
|
20
|
+
"not-configured": "non configurato",
|
|
21
|
+
"init": "inizializzazione…",
|
|
22
|
+
"not-reachable": "non raggiungibile",
|
|
23
|
+
"universal": "modalità universale",
|
|
24
|
+
"command": "esecuzione del comando…",
|
|
25
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
26
|
+
"title": "Hue Luce",
|
|
27
|
+
"turned-on": "accesa",
|
|
28
|
+
"turned-on-percent": "accesa (__percent__ %)",
|
|
29
|
+
"turned-off": "spenta",
|
|
30
|
+
"error-no-id": "Nessun ID luce definito. Consulti la documentazione.",
|
|
31
|
+
"error-input": "errore di immissione",
|
|
32
|
+
"error-invalid-temp": "Temperatura di colore non valida. Sono consentiti solo valori da 153 a 500.",
|
|
33
|
+
"input": "accendi / spegni",
|
|
34
|
+
"output": "stato",
|
|
35
|
+
"error-not-available": "La luce non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido.",
|
|
36
|
+
"error-invalid-brightness": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 100 percento.",
|
|
37
|
+
"error-invalid-brightness-level": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 254.",
|
|
38
|
+
"error-invalid-sat": "Impostazione di saturazione non valida. Sono consentiti solo valori da 0 a 100.",
|
|
39
|
+
"error-no-colorloop": "L'effetto colorloop non è disponibile per questa luce.",
|
|
40
|
+
"error-invalid-effect": "Effetto non valido. Questa luce supporta: __effects__",
|
|
41
|
+
"error-invalid-powerup": "Impostazione di accensione non valida. I preset consentiti sono: __presets__"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|