node-red-contrib-huemagic 4.2.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -5
- package/README.md +506 -123
- package/examples/Deutsch/Hue Automation.json +176 -0
- package/examples/Deutsch/Hue Bridge.json +256 -0
- package/examples/Deutsch/Hue Brightness.json +150 -0
- package/examples/Deutsch/Hue Buttons.json +88 -0
- package/examples/Deutsch/Hue Contact.json +150 -0
- package/examples/Deutsch/Hue Group.json +658 -0
- package/examples/Deutsch/Hue Light.json +893 -0
- package/examples/Deutsch/Hue Magic.json +148 -0
- package/examples/Deutsch/Hue Motion.json +150 -0
- package/examples/Deutsch/Hue Rules.json +150 -0
- package/examples/Deutsch/Hue Scene.json +178 -0
- package/examples/Deutsch/Hue Speaker.json +274 -0
- package/examples/Deutsch/Hue Sync Box.json +378 -0
- package/examples/Deutsch/Hue Temperature.json +150 -0
- package/examples/English/Hue Automation.json +176 -0
- package/examples/{Hue Bridge.json → English/Hue Bridge.json } +1 -1
- package/examples/{Hue Brightness.json → English/Hue Brightness.json } +1 -1
- package/examples/{Hue Buttons.json → English/Hue Buttons.json } +1 -1
- package/examples/English/Hue Contact.json +150 -0
- package/examples/{Hue Group.json → English/Hue Group.json } +1 -1
- package/examples/{Hue Light.json → English/Hue Light.json } +1 -1
- package/examples/{Hue Magic.json → English/Hue Magic.json } +1 -1
- package/examples/{Hue Motion.json → English/Hue Motion.json } +1 -1
- package/examples/{Hue Rules.json → English/Hue Rules.json } +1 -1
- package/examples/{Hue Scene.json → English/Hue Scene.json } +1 -1
- package/examples/English/Hue Speaker.json +274 -0
- package/examples/English/Hue Sync Box.json +378 -0
- package/examples/{Hue Temperature.json → English/Hue Temperature.json } +1 -1
- package/examples/Espa/303/261ol/Hue Automation.json" +176 -0
- package/examples/Espa/303/261ol/Hue Bridge.json" +256 -0
- package/examples/Espa/303/261ol/Hue Brightness.json" +150 -0
- package/examples/Espa/303/261ol/Hue Buttons.json" +88 -0
- package/examples/Espa/303/261ol/Hue Contact.json" +150 -0
- package/examples/Espa/303/261ol/Hue Group.json" +658 -0
- package/examples/Espa/303/261ol/Hue Light.json" +893 -0
- package/examples/Espa/303/261ol/Hue Magic.json" +148 -0
- package/examples/Espa/303/261ol/Hue Motion.json" +150 -0
- package/examples/Espa/303/261ol/Hue Rules.json" +150 -0
- package/examples/Espa/303/261ol/Hue Scene.json" +178 -0
- package/examples/Espa/303/261ol/Hue Speaker.json" +274 -0
- package/examples/Espa/303/261ol/Hue Sync Box.json" +378 -0
- package/examples/Espa/303/261ol/Hue Temperature.json" +150 -0
- package/examples/Fran/303/247ais/Hue Automation.json" +176 -0
- package/examples/Fran/303/247ais/Hue Bridge.json" +256 -0
- package/examples/Fran/303/247ais/Hue Brightness.json" +150 -0
- package/examples/Fran/303/247ais/Hue Buttons.json" +88 -0
- package/examples/Fran/303/247ais/Hue Contact.json" +150 -0
- package/examples/Fran/303/247ais/Hue Group.json" +658 -0
- package/examples/Fran/303/247ais/Hue Light.json" +893 -0
- package/examples/Fran/303/247ais/Hue Magic.json" +148 -0
- package/examples/Fran/303/247ais/Hue Motion.json" +150 -0
- package/examples/Fran/303/247ais/Hue Rules.json" +150 -0
- package/examples/Fran/303/247ais/Hue Scene.json" +178 -0
- package/examples/Fran/303/247ais/Hue Speaker.json" +274 -0
- package/examples/Fran/303/247ais/Hue Sync Box.json" +378 -0
- package/examples/Fran/303/247ais/Hue Temperature.json" +150 -0
- package/examples/Italiano/Hue Automation.json +176 -0
- package/examples/Italiano/Hue Bridge.json +256 -0
- package/examples/Italiano/Hue Brightness.json +150 -0
- package/examples/Italiano/Hue Buttons.json +88 -0
- package/examples/Italiano/Hue Contact.json +150 -0
- package/examples/Italiano/Hue Group.json +658 -0
- package/examples/Italiano/Hue Light.json +893 -0
- package/examples/Italiano/Hue Magic.json +148 -0
- package/examples/Italiano/Hue Motion.json +150 -0
- package/examples/Italiano/Hue Rules.json +150 -0
- package/examples/Italiano/Hue Scene.json +178 -0
- package/examples/Italiano/Hue Speaker.json +274 -0
- package/examples/Italiano/Hue Sync Box.json +378 -0
- package/examples/Italiano/Hue Temperature.json +150 -0
- package/examples/Nederlands/Hue Automation.json +176 -0
- package/examples/Nederlands/Hue Bridge.json +256 -0
- package/examples/Nederlands/Hue Brightness.json +150 -0
- package/examples/Nederlands/Hue Buttons.json +88 -0
- package/examples/Nederlands/Hue Contact.json +150 -0
- package/examples/Nederlands/Hue Group.json +658 -0
- package/examples/Nederlands/Hue Light.json +893 -0
- package/examples/Nederlands/Hue Magic.json +148 -0
- package/examples/Nederlands/Hue Motion.json +150 -0
- package/examples/Nederlands/Hue Rules.json +150 -0
- package/examples/Nederlands/Hue Scene.json +178 -0
- package/examples/Nederlands/Hue Speaker.json +274 -0
- package/examples/Nederlands/Hue Sync Box.json +378 -0
- package/examples/Nederlands/Hue Temperature.json +150 -0
- package/examples/Polski/Hue Automation.json +176 -0
- package/examples/Polski/Hue Bridge.json +256 -0
- package/examples/Polski/Hue Brightness.json +150 -0
- package/examples/Polski/Hue Buttons.json +88 -0
- package/examples/Polski/Hue Contact.json +150 -0
- package/examples/Polski/Hue Group.json +658 -0
- package/examples/Polski/Hue Light.json +893 -0
- package/examples/Polski/Hue Magic.json +148 -0
- package/examples/Polski/Hue Motion.json +150 -0
- package/examples/Polski/Hue Rules.json +150 -0
- package/examples/Polski/Hue Scene.json +178 -0
- package/examples/Polski/Hue Speaker.json +274 -0
- package/examples/Polski/Hue Sync Box.json +378 -0
- package/examples/Polski/Hue Temperature.json +150 -0
- package/examples/Portugu/303/252s/Hue Automation.json" +176 -0
- package/examples/Portugu/303/252s/Hue Bridge.json" +256 -0
- package/examples/Portugu/303/252s/Hue Brightness.json" +150 -0
- package/examples/Portugu/303/252s/Hue Buttons.json" +88 -0
- package/examples/Portugu/303/252s/Hue Contact.json" +150 -0
- package/examples/Portugu/303/252s/Hue Group.json" +658 -0
- package/examples/Portugu/303/252s/Hue Light.json" +893 -0
- package/examples/Portugu/303/252s/Hue Magic.json" +148 -0
- package/examples/Portugu/303/252s/Hue Motion.json" +150 -0
- package/examples/Portugu/303/252s/Hue Rules.json" +150 -0
- package/examples/Portugu/303/252s/Hue Scene.json" +178 -0
- package/examples/Portugu/303/252s/Hue Speaker.json" +274 -0
- package/examples/Portugu/303/252s/Hue Sync Box.json" +378 -0
- package/examples/Portugu/303/252s/Hue Temperature.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Automation.json" +176 -0
- package/examples/T/303/274rk/303/247e/Hue Bridge.json" +256 -0
- package/examples/T/303/274rk/303/247e/Hue Brightness.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Buttons.json" +88 -0
- package/examples/T/303/274rk/303/247e/Hue Contact.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Group.json" +658 -0
- package/examples/T/303/274rk/303/247e/Hue Light.json" +893 -0
- package/examples/T/303/274rk/303/247e/Hue Magic.json" +148 -0
- package/examples/T/303/274rk/303/247e/Hue Motion.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Rules.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Scene.json" +178 -0
- package/examples/T/303/274rk/303/247e/Hue Speaker.json" +274 -0
- package/examples/T/303/274rk/303/247e/Hue Sync Box.json" +378 -0
- package/examples/T/303/274rk/303/247e/Hue Temperature.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Automation.json" +176 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +256 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Brightness.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Buttons.json" +88 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Contact.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Group.json" +658 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Light.json" +893 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Magic.json" +148 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Motion.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Rules.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Scene.json" +178 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Speaker.json" +274 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Sync Box.json" +378 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Temperature.json" +150 -0
- package/huemagic/assets/huemagic-examples.gif +0 -0
- package/huemagic/hue-automation.html +218 -0
- package/huemagic/hue-automation.js +173 -0
- package/huemagic/hue-bridge-config.html +39 -32
- package/huemagic/hue-bridge-config.js +290 -99
- package/huemagic/hue-bridge.html +8 -8
- package/huemagic/hue-bridge.js +29 -4
- package/huemagic/hue-brightness.html +21 -9
- package/huemagic/hue-brightness.js +20 -10
- package/huemagic/hue-buttons.html +16 -9
- package/huemagic/hue-buttons.js +90 -27
- package/huemagic/hue-contact.html +218 -0
- package/huemagic/hue-contact.js +209 -0
- package/huemagic/hue-group.html +16 -9
- package/huemagic/hue-group.js +141 -179
- package/huemagic/hue-light.html +19 -12
- package/huemagic/hue-light.js +222 -167
- package/huemagic/hue-magic.html +3 -5
- package/huemagic/hue-motion.html +16 -9
- package/huemagic/hue-motion.js +37 -8
- package/huemagic/hue-rules.html +16 -9
- package/huemagic/hue-rules.js +16 -8
- package/huemagic/hue-scene.html +9 -5
- package/huemagic/hue-scene.js +52 -16
- package/huemagic/hue-speaker.html +218 -0
- package/huemagic/hue-speaker.js +257 -0
- package/huemagic/hue-syncbox-config.html +123 -0
- package/huemagic/hue-syncbox-config.js +179 -0
- package/huemagic/hue-syncbox.html +82 -0
- package/huemagic/hue-syncbox.js +274 -0
- package/huemagic/hue-temperature.html +21 -9
- package/huemagic/hue-temperature.js +18 -10
- package/huemagic/icons/hue-automation.png +0 -0
- package/huemagic/icons/hue-automation.svg +3 -0
- package/huemagic/icons/hue-contact.png +0 -0
- package/huemagic/icons/hue-contact.svg +4 -0
- package/huemagic/icons/hue-speaker.png +0 -0
- package/huemagic/icons/hue-speaker.svg +6 -0
- package/huemagic/icons/hue-syncbox.png +0 -0
- package/huemagic/icons/hue-syncbox.svg +7 -0
- package/huemagic/locales/de/hue-automation.html +59 -0
- package/huemagic/locales/de/hue-automation.json +33 -0
- package/huemagic/locales/de/hue-bridge-config.json +23 -12
- package/huemagic/locales/de/hue-bridge.html +7 -4
- package/huemagic/locales/de/hue-bridge.json +9 -10
- package/huemagic/locales/de/hue-brightness.html +9 -6
- package/huemagic/locales/de/hue-brightness.json +13 -9
- package/huemagic/locales/de/hue-buttons.html +5 -4
- package/huemagic/locales/de/hue-buttons.json +22 -8
- package/huemagic/locales/de/hue-contact.html +67 -0
- package/huemagic/locales/de/hue-contact.json +35 -0
- package/huemagic/locales/de/hue-group.html +17 -6
- package/huemagic/locales/de/hue-group.json +16 -9
- package/huemagic/locales/de/hue-light.html +6 -6
- package/huemagic/locales/de/hue-light.json +17 -9
- package/huemagic/locales/de/hue-magic.html +1 -1
- package/huemagic/locales/de/hue-magic.json +6 -8
- package/huemagic/locales/de/hue-motion.html +4 -4
- package/huemagic/locales/de/hue-motion.json +14 -9
- package/huemagic/locales/de/hue-rules.html +2 -2
- package/huemagic/locales/de/hue-rules.json +10 -9
- package/huemagic/locales/de/hue-scene.html +11 -3
- package/huemagic/locales/de/hue-scene.json +9 -9
- package/huemagic/locales/de/hue-speaker.html +80 -0
- package/huemagic/locales/de/hue-speaker.json +38 -0
- package/huemagic/locales/de/hue-syncbox-config.html +19 -0
- package/huemagic/locales/de/hue-syncbox-config.json +25 -0
- package/huemagic/locales/de/hue-syncbox.html +86 -0
- package/huemagic/locales/de/hue-syncbox.json +30 -0
- package/huemagic/locales/de/hue-temperature.html +7 -5
- package/huemagic/locales/de/hue-temperature.json +13 -9
- package/huemagic/locales/el/hue-automation.html +59 -0
- package/huemagic/locales/el/hue-automation.json +33 -0
- package/huemagic/locales/el/hue-bridge-config.html +31 -0
- package/huemagic/locales/el/hue-bridge-config.json +40 -0
- package/huemagic/locales/el/hue-bridge.html +96 -0
- package/huemagic/locales/el/hue-bridge.json +26 -0
- package/huemagic/locales/el/hue-brightness.html +70 -0
- package/huemagic/locales/el/hue-brightness.json +37 -0
- package/huemagic/locales/el/hue-buttons.html +59 -0
- package/huemagic/locales/el/hue-buttons.json +42 -0
- package/huemagic/locales/el/hue-contact.html +67 -0
- package/huemagic/locales/el/hue-contact.json +35 -0
- package/huemagic/locales/el/hue-group.html +87 -0
- package/huemagic/locales/el/hue-group.json +46 -0
- package/huemagic/locales/el/hue-light.html +97 -0
- package/huemagic/locales/el/hue-light.json +44 -0
- package/huemagic/locales/el/hue-magic.html +68 -0
- package/huemagic/locales/el/hue-magic.json +26 -0
- package/huemagic/locales/el/hue-motion.html +64 -0
- package/huemagic/locales/el/hue-motion.json +36 -0
- package/huemagic/locales/el/hue-rules.html +69 -0
- package/huemagic/locales/el/hue-rules.json +30 -0
- package/huemagic/locales/el/hue-scene.html +43 -0
- package/huemagic/locales/el/hue-scene.json +32 -0
- package/huemagic/locales/el/hue-speaker.html +80 -0
- package/huemagic/locales/el/hue-speaker.json +38 -0
- package/huemagic/locales/el/hue-syncbox-config.html +19 -0
- package/huemagic/locales/el/hue-syncbox-config.json +25 -0
- package/huemagic/locales/el/hue-syncbox.html +86 -0
- package/huemagic/locales/el/hue-syncbox.json +30 -0
- package/huemagic/locales/el/hue-temperature.html +69 -0
- package/huemagic/locales/el/hue-temperature.json +33 -0
- package/huemagic/locales/en/hue-automation.html +59 -0
- package/huemagic/locales/en/hue-automation.json +33 -0
- package/huemagic/locales/en/hue-bridge-config.json +40 -0
- package/huemagic/locales/{en-US → en}/hue-bridge.html +5 -2
- package/huemagic/locales/{en-US → en}/hue-bridge.json +8 -9
- package/huemagic/locales/{en-US → en}/hue-brightness.html +6 -3
- package/huemagic/locales/{en-US → en}/hue-brightness.json +11 -9
- package/huemagic/locales/{en-US → en}/hue-buttons.html +4 -3
- package/huemagic/locales/en/hue-buttons.json +42 -0
- package/huemagic/locales/en/hue-contact.html +67 -0
- package/huemagic/locales/en/hue-contact.json +35 -0
- package/huemagic/locales/{en-US → en}/hue-group.html +16 -5
- package/huemagic/locales/{en-US → en}/hue-group.json +15 -10
- package/huemagic/locales/{en-US → en}/hue-light.html +3 -3
- package/huemagic/locales/en/hue-light.json +44 -0
- package/huemagic/locales/{en-US → en}/hue-magic.html +1 -1
- package/huemagic/locales/{en-US → en}/hue-motion.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-motion.json +12 -9
- package/huemagic/locales/{en-US → en}/hue-rules.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-rules.json +10 -9
- package/huemagic/locales/{en-US → en}/hue-scene.html +11 -3
- package/huemagic/locales/{en-US → en}/hue-scene.json +9 -9
- package/huemagic/locales/en/hue-speaker.html +80 -0
- package/huemagic/locales/en/hue-speaker.json +38 -0
- package/huemagic/locales/en/hue-syncbox-config.html +19 -0
- package/huemagic/locales/en/hue-syncbox-config.json +25 -0
- package/huemagic/locales/en/hue-syncbox.html +86 -0
- package/huemagic/locales/en/hue-syncbox.json +30 -0
- package/huemagic/locales/{en-US → en}/hue-temperature.html +4 -2
- package/huemagic/locales/{en-US → en}/hue-temperature.json +11 -9
- package/huemagic/locales/es/hue-automation.html +59 -0
- package/huemagic/locales/es/hue-automation.json +33 -0
- package/huemagic/locales/es/hue-bridge-config.html +31 -0
- package/huemagic/locales/es/hue-bridge-config.json +40 -0
- package/huemagic/locales/es/hue-bridge.html +96 -0
- package/huemagic/locales/es/hue-bridge.json +26 -0
- package/huemagic/locales/es/hue-brightness.html +70 -0
- package/huemagic/locales/es/hue-brightness.json +37 -0
- package/huemagic/locales/es/hue-buttons.html +59 -0
- package/huemagic/locales/es/hue-buttons.json +42 -0
- package/huemagic/locales/es/hue-contact.html +67 -0
- package/huemagic/locales/es/hue-contact.json +35 -0
- package/huemagic/locales/es/hue-group.html +87 -0
- package/huemagic/locales/es/hue-group.json +46 -0
- package/huemagic/locales/es/hue-light.html +97 -0
- package/huemagic/locales/es/hue-light.json +44 -0
- package/huemagic/locales/es/hue-magic.html +68 -0
- package/huemagic/locales/es/hue-magic.json +26 -0
- package/huemagic/locales/es/hue-motion.html +64 -0
- package/huemagic/locales/es/hue-motion.json +36 -0
- package/huemagic/locales/es/hue-rules.html +69 -0
- package/huemagic/locales/es/hue-rules.json +30 -0
- package/huemagic/locales/es/hue-scene.html +43 -0
- package/huemagic/locales/es/hue-scene.json +32 -0
- package/huemagic/locales/es/hue-speaker.html +80 -0
- package/huemagic/locales/es/hue-speaker.json +38 -0
- package/huemagic/locales/es/hue-syncbox-config.html +19 -0
- package/huemagic/locales/es/hue-syncbox-config.json +25 -0
- package/huemagic/locales/es/hue-syncbox.html +86 -0
- package/huemagic/locales/es/hue-syncbox.json +30 -0
- package/huemagic/locales/es/hue-temperature.html +69 -0
- package/huemagic/locales/es/hue-temperature.json +33 -0
- package/huemagic/locales/fr/hue-automation.html +59 -0
- package/huemagic/locales/fr/hue-automation.json +33 -0
- package/huemagic/locales/fr/hue-bridge-config.html +31 -0
- package/huemagic/locales/fr/hue-bridge-config.json +40 -0
- package/huemagic/locales/fr/hue-bridge.html +96 -0
- package/huemagic/locales/fr/hue-bridge.json +26 -0
- package/huemagic/locales/fr/hue-brightness.html +70 -0
- package/huemagic/locales/fr/hue-brightness.json +37 -0
- package/huemagic/locales/fr/hue-buttons.html +59 -0
- package/huemagic/locales/fr/hue-buttons.json +42 -0
- package/huemagic/locales/fr/hue-contact.html +67 -0
- package/huemagic/locales/fr/hue-contact.json +35 -0
- package/huemagic/locales/fr/hue-group.html +87 -0
- package/huemagic/locales/fr/hue-group.json +46 -0
- package/huemagic/locales/fr/hue-light.html +97 -0
- package/huemagic/locales/fr/hue-light.json +44 -0
- package/huemagic/locales/fr/hue-magic.html +68 -0
- package/huemagic/locales/fr/hue-magic.json +26 -0
- package/huemagic/locales/fr/hue-motion.html +64 -0
- package/huemagic/locales/fr/hue-motion.json +36 -0
- package/huemagic/locales/fr/hue-rules.html +69 -0
- package/huemagic/locales/fr/hue-rules.json +30 -0
- package/huemagic/locales/fr/hue-scene.html +43 -0
- package/huemagic/locales/fr/hue-scene.json +32 -0
- package/huemagic/locales/fr/hue-speaker.html +80 -0
- package/huemagic/locales/fr/hue-speaker.json +38 -0
- package/huemagic/locales/fr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/fr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/fr/hue-syncbox.html +86 -0
- package/huemagic/locales/fr/hue-syncbox.json +30 -0
- package/huemagic/locales/fr/hue-temperature.html +69 -0
- package/huemagic/locales/fr/hue-temperature.json +33 -0
- package/huemagic/locales/it/hue-automation.html +59 -0
- package/huemagic/locales/it/hue-automation.json +33 -0
- package/huemagic/locales/it/hue-bridge-config.html +31 -0
- package/huemagic/locales/it/hue-bridge-config.json +40 -0
- package/huemagic/locales/it/hue-bridge.html +96 -0
- package/huemagic/locales/it/hue-bridge.json +26 -0
- package/huemagic/locales/it/hue-brightness.html +70 -0
- package/huemagic/locales/it/hue-brightness.json +37 -0
- package/huemagic/locales/it/hue-buttons.html +59 -0
- package/huemagic/locales/it/hue-buttons.json +42 -0
- package/huemagic/locales/it/hue-contact.html +67 -0
- package/huemagic/locales/it/hue-contact.json +35 -0
- package/huemagic/locales/it/hue-group.html +87 -0
- package/huemagic/locales/it/hue-group.json +46 -0
- package/huemagic/locales/it/hue-light.html +97 -0
- package/huemagic/locales/it/hue-light.json +44 -0
- package/huemagic/locales/it/hue-magic.html +68 -0
- package/huemagic/locales/it/hue-magic.json +26 -0
- package/huemagic/locales/it/hue-motion.html +64 -0
- package/huemagic/locales/it/hue-motion.json +36 -0
- package/huemagic/locales/it/hue-rules.html +69 -0
- package/huemagic/locales/it/hue-rules.json +30 -0
- package/huemagic/locales/it/hue-scene.html +43 -0
- package/huemagic/locales/it/hue-scene.json +32 -0
- package/huemagic/locales/it/hue-speaker.html +80 -0
- package/huemagic/locales/it/hue-speaker.json +38 -0
- package/huemagic/locales/it/hue-syncbox-config.html +19 -0
- package/huemagic/locales/it/hue-syncbox-config.json +25 -0
- package/huemagic/locales/it/hue-syncbox.html +86 -0
- package/huemagic/locales/it/hue-syncbox.json +30 -0
- package/huemagic/locales/it/hue-temperature.html +69 -0
- package/huemagic/locales/it/hue-temperature.json +33 -0
- package/huemagic/locales/nl/hue-automation.html +59 -0
- package/huemagic/locales/nl/hue-automation.json +33 -0
- package/huemagic/locales/nl/hue-bridge-config.html +31 -0
- package/huemagic/locales/nl/hue-bridge-config.json +40 -0
- package/huemagic/locales/nl/hue-bridge.html +96 -0
- package/huemagic/locales/nl/hue-bridge.json +26 -0
- package/huemagic/locales/nl/hue-brightness.html +70 -0
- package/huemagic/locales/nl/hue-brightness.json +37 -0
- package/huemagic/locales/nl/hue-buttons.html +59 -0
- package/huemagic/locales/nl/hue-buttons.json +42 -0
- package/huemagic/locales/nl/hue-contact.html +67 -0
- package/huemagic/locales/nl/hue-contact.json +35 -0
- package/huemagic/locales/nl/hue-group.html +87 -0
- package/huemagic/locales/nl/hue-group.json +46 -0
- package/huemagic/locales/nl/hue-light.html +97 -0
- package/huemagic/locales/nl/hue-light.json +44 -0
- package/huemagic/locales/nl/hue-magic.html +68 -0
- package/huemagic/locales/nl/hue-magic.json +26 -0
- package/huemagic/locales/nl/hue-motion.html +64 -0
- package/huemagic/locales/nl/hue-motion.json +36 -0
- package/huemagic/locales/nl/hue-rules.html +69 -0
- package/huemagic/locales/nl/hue-rules.json +30 -0
- package/huemagic/locales/nl/hue-scene.html +43 -0
- package/huemagic/locales/nl/hue-scene.json +32 -0
- package/huemagic/locales/nl/hue-speaker.html +80 -0
- package/huemagic/locales/nl/hue-speaker.json +38 -0
- package/huemagic/locales/nl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/nl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/nl/hue-syncbox.html +86 -0
- package/huemagic/locales/nl/hue-syncbox.json +30 -0
- package/huemagic/locales/nl/hue-temperature.html +69 -0
- package/huemagic/locales/nl/hue-temperature.json +33 -0
- package/huemagic/locales/pl/hue-automation.html +59 -0
- package/huemagic/locales/pl/hue-automation.json +33 -0
- package/huemagic/locales/pl/hue-bridge-config.html +31 -0
- package/huemagic/locales/pl/hue-bridge-config.json +40 -0
- package/huemagic/locales/pl/hue-bridge.html +96 -0
- package/huemagic/locales/pl/hue-bridge.json +26 -0
- package/huemagic/locales/pl/hue-brightness.html +70 -0
- package/huemagic/locales/pl/hue-brightness.json +37 -0
- package/huemagic/locales/pl/hue-buttons.html +59 -0
- package/huemagic/locales/pl/hue-buttons.json +42 -0
- package/huemagic/locales/pl/hue-contact.html +67 -0
- package/huemagic/locales/pl/hue-contact.json +35 -0
- package/huemagic/locales/pl/hue-group.html +87 -0
- package/huemagic/locales/pl/hue-group.json +46 -0
- package/huemagic/locales/pl/hue-light.html +97 -0
- package/huemagic/locales/pl/hue-light.json +44 -0
- package/huemagic/locales/pl/hue-magic.html +68 -0
- package/huemagic/locales/pl/hue-magic.json +26 -0
- package/huemagic/locales/pl/hue-motion.html +64 -0
- package/huemagic/locales/pl/hue-motion.json +36 -0
- package/huemagic/locales/pl/hue-rules.html +69 -0
- package/huemagic/locales/pl/hue-rules.json +30 -0
- package/huemagic/locales/pl/hue-scene.html +43 -0
- package/huemagic/locales/pl/hue-scene.json +32 -0
- package/huemagic/locales/pl/hue-speaker.html +80 -0
- package/huemagic/locales/pl/hue-speaker.json +38 -0
- package/huemagic/locales/pl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pl/hue-syncbox.html +86 -0
- package/huemagic/locales/pl/hue-syncbox.json +30 -0
- package/huemagic/locales/pl/hue-temperature.html +69 -0
- package/huemagic/locales/pl/hue-temperature.json +33 -0
- package/huemagic/locales/pt/hue-automation.html +59 -0
- package/huemagic/locales/pt/hue-automation.json +33 -0
- package/huemagic/locales/pt/hue-bridge-config.html +31 -0
- package/huemagic/locales/pt/hue-bridge-config.json +40 -0
- package/huemagic/locales/pt/hue-bridge.html +96 -0
- package/huemagic/locales/pt/hue-bridge.json +26 -0
- package/huemagic/locales/pt/hue-brightness.html +70 -0
- package/huemagic/locales/pt/hue-brightness.json +37 -0
- package/huemagic/locales/pt/hue-buttons.html +59 -0
- package/huemagic/locales/pt/hue-buttons.json +42 -0
- package/huemagic/locales/pt/hue-contact.html +67 -0
- package/huemagic/locales/pt/hue-contact.json +35 -0
- package/huemagic/locales/pt/hue-group.html +87 -0
- package/huemagic/locales/pt/hue-group.json +46 -0
- package/huemagic/locales/pt/hue-light.html +97 -0
- package/huemagic/locales/pt/hue-light.json +44 -0
- package/huemagic/locales/pt/hue-magic.html +68 -0
- package/huemagic/locales/pt/hue-magic.json +26 -0
- package/huemagic/locales/pt/hue-motion.html +64 -0
- package/huemagic/locales/pt/hue-motion.json +36 -0
- package/huemagic/locales/pt/hue-rules.html +69 -0
- package/huemagic/locales/pt/hue-rules.json +30 -0
- package/huemagic/locales/pt/hue-scene.html +43 -0
- package/huemagic/locales/pt/hue-scene.json +32 -0
- package/huemagic/locales/pt/hue-speaker.html +80 -0
- package/huemagic/locales/pt/hue-speaker.json +38 -0
- package/huemagic/locales/pt/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pt/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pt/hue-syncbox.html +86 -0
- package/huemagic/locales/pt/hue-syncbox.json +30 -0
- package/huemagic/locales/pt/hue-temperature.html +69 -0
- package/huemagic/locales/pt/hue-temperature.json +33 -0
- package/huemagic/locales/tr/hue-automation.html +59 -0
- package/huemagic/locales/tr/hue-automation.json +33 -0
- package/huemagic/locales/tr/hue-bridge-config.html +31 -0
- package/huemagic/locales/tr/hue-bridge-config.json +40 -0
- package/huemagic/locales/tr/hue-bridge.html +96 -0
- package/huemagic/locales/tr/hue-bridge.json +26 -0
- package/huemagic/locales/tr/hue-brightness.html +70 -0
- package/huemagic/locales/tr/hue-brightness.json +37 -0
- package/huemagic/locales/tr/hue-buttons.html +59 -0
- package/huemagic/locales/tr/hue-buttons.json +42 -0
- package/huemagic/locales/tr/hue-contact.html +67 -0
- package/huemagic/locales/tr/hue-contact.json +35 -0
- package/huemagic/locales/tr/hue-group.html +87 -0
- package/huemagic/locales/tr/hue-group.json +46 -0
- package/huemagic/locales/tr/hue-light.html +97 -0
- package/huemagic/locales/tr/hue-light.json +44 -0
- package/huemagic/locales/tr/hue-magic.html +68 -0
- package/huemagic/locales/tr/hue-magic.json +26 -0
- package/huemagic/locales/tr/hue-motion.html +64 -0
- package/huemagic/locales/tr/hue-motion.json +36 -0
- package/huemagic/locales/tr/hue-rules.html +69 -0
- package/huemagic/locales/tr/hue-rules.json +30 -0
- package/huemagic/locales/tr/hue-scene.html +43 -0
- package/huemagic/locales/tr/hue-scene.json +32 -0
- package/huemagic/locales/tr/hue-speaker.html +80 -0
- package/huemagic/locales/tr/hue-speaker.json +38 -0
- package/huemagic/locales/tr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/tr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/tr/hue-syncbox.html +86 -0
- package/huemagic/locales/tr/hue-syncbox.json +30 -0
- package/huemagic/locales/tr/hue-temperature.html +69 -0
- package/huemagic/locales/tr/hue-temperature.json +33 -0
- package/huemagic/utils/api.js +158 -54
- package/huemagic/utils/color.js +20 -2
- package/huemagic/utils/merge.js +3 -2
- package/huemagic/utils/messages.js +506 -120
- package/huemagic/utils/sse.js +51 -0
- package/huemagic/utils/syncbox.js +84 -0
- package/package.json +19 -11
- package/.github/FUNDING.yml +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/npm.yml +0 -18
- package/huemagic/locales/en-US/hue-bridge-config.json +0 -29
- package/huemagic/locales/en-US/hue-buttons.json +0 -34
- package/huemagic/locales/en-US/hue-light.json +0 -38
- /package/huemagic/locales/{en-US → en}/hue-bridge-config.html +0 -0
- /package/huemagic/locales/{en-US → en}/hue-magic.json +0 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-rules">
|
|
2
|
+
Il nodo «Hue Regola» può attivare o disattivare le regole salvate nel bridge e richiamarne le impostazioni.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutte le regole disponibili. Se conosce già l'ID della regola, può anche inserirlo qui manualmente. In alternativa può assegnare un nuovo nome oppure mantenere quello predefinito della regola. 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. 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 alcuna regola 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 regola specifica trasmettendo il relativo ID come stringa in `msg.topic` insieme alle sue impostazioni.
|
|
9
|
+
|
|
10
|
+
### Richiedere proprietà e impostazioni
|
|
11
|
+
|
|
12
|
+
Emette le proprietà attuali della regola 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 della regola
|
|
15
|
+
|
|
16
|
+
### Attivare / disattivare la regola
|
|
17
|
+
|
|
18
|
+
La regola può essere attivata e disattivata all'occorrenza. Se la regola è disattivata, non verrà più eseguita nel bridge finché non la riattiverà. A tal fine, trasmetta un oggetto con il seguente contenuto:
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` attiva la regola, `false` la disattiva
|
|
21
|
+
|
|
22
|
+
### Messaggi di stato del nodo
|
|
23
|
+
|
|
24
|
+
Non appena lo stato (attivata / disattivata) di una regola cambia, il nodo restituisce il seguente messaggio di stato:
|
|
25
|
+
|
|
26
|
+
#### Oggetto di stato in `msg.payload`
|
|
27
|
+
|
|
28
|
+
: enabled (boolean): Indica se la regola è attivata o disattivata
|
|
29
|
+
: triggered (string): Momento dell'ultima esecuzione (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Informazioni sulla regola in `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): L'ID univoco della regola
|
|
34
|
+
: created (string): Data di creazione della regola (ISO 8601)
|
|
35
|
+
: name (string): Nome della regola sul bridge
|
|
36
|
+
: timesTriggered (int): Numero di volte in cui la regola è stata eseguita sul bridge
|
|
37
|
+
: owner (string): ID del proprietario di questa regola
|
|
38
|
+
: status (string): Stato della regola sotto forma di stringa
|
|
39
|
+
|
|
40
|
+
#### Condizioni della regola in `msg.conditions` (array)
|
|
41
|
+
|
|
42
|
+
: address (string): Percorso verso un attributo di un sensore
|
|
43
|
+
: operator (string): Operatore
|
|
44
|
+
: value (string): Il valore da verificare
|
|
45
|
+
|
|
46
|
+
#### Azioni della regola in `msg.actions` (array)
|
|
47
|
+
|
|
48
|
+
: address (string): L'indirizzo di destinazione della risorsa
|
|
49
|
+
: method (string): Il metodo della richiesta
|
|
50
|
+
: body (object): L'azione da eseguire
|
|
51
|
+
|
|
52
|
+
#### Variazioni di stato in `msg.updated`
|
|
53
|
+
|
|
54
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato della regola. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
55
|
+
|
|
56
|
+
#### Ultimo stato della regola in `msg.lastState`
|
|
57
|
+
|
|
58
|
+
Contiene l'oggetto completo (vedi i valori di uscita sopra) dell'ultimo stato prima dell'ultima modifica registrata della regola. Se HueMagic non ha ancora registrato l'ultimo stato, viene emesso `false`.
|
|
59
|
+
|
|
60
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
61
|
+
|
|
62
|
+
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.
|
|
63
|
+
|
|
64
|
+
### Esempi di HueMagic
|
|
65
|
+
|
|
66
|
+
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.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-rules": {
|
|
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
|
+
"input-name": "Nome della regola",
|
|
11
|
+
"searching": "Ricerca di regole…",
|
|
12
|
+
"none-found": "Nessuna regola trovata!",
|
|
13
|
+
"rule": "Regola"
|
|
14
|
+
},
|
|
15
|
+
"node": {
|
|
16
|
+
"init": "inizializzazione…",
|
|
17
|
+
"universal": "modalità universale",
|
|
18
|
+
"command": "esecuzione del comando…",
|
|
19
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
20
|
+
"title": "Hue Regola",
|
|
21
|
+
"no-rule": "nessuna regola selezionata",
|
|
22
|
+
"enabled": "attivata",
|
|
23
|
+
"disabled": "disattivata",
|
|
24
|
+
"output": "regola (eseguita)",
|
|
25
|
+
"input": "attiva / disattiva",
|
|
26
|
+
"error-no-id": "Indichi un ID regola valido.",
|
|
27
|
+
"error-not-available": "La regola non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-scene">
|
|
2
|
+
Il nodo «Hue Scena» può richiamare scene salvate nel bridge e applicarle a determinati gruppi.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutte le scene disponibili. Le scene vengono ordinate prima per stanza o zona e poi per nome, così le scene di una stessa stanza restano sempre vicine nell'elenco. Se conosce già l'ID della scena, può anche inserirlo qui manualmente. In alternativa può assegnare internamente un nome alla scena oppure mantenere quello predefinito.
|
|
7
|
+
|
|
8
|
+
### Attivare una scena
|
|
9
|
+
|
|
10
|
+
Può attivare una scena predefinita trasmettendo un oggetto con il seguente contenuto:
|
|
11
|
+
|
|
12
|
+
: payload (boolean): Attiva una scena preconfigurata
|
|
13
|
+
: transitionTime (float): Tempo di transizione della scena in secondi. Se viene trasmesso `0`, la scena viene applicata immediatamente. Se trasmette `3`, le luci passano alla scena in dissolvenza nei 3 secondi successivi. Il bridge accetta fino a 6000 secondi
|
|
14
|
+
: brightness (float): Luminosità dell'intera scena in percentuale (`0` – `100`), così può richiamare una stessa scena più chiara o più soffusa a seconda dell'ora del giorno
|
|
15
|
+
|
|
16
|
+
> [!NOTE]
|
|
17
|
+
> Entrambe le impostazioni sono disponibili solo per le scene normali. Una scena smart segue gli orari che ha definito per essa nell'app Philips Hue.
|
|
18
|
+
|
|
19
|
+
### Attivare una scena in modalità universale
|
|
20
|
+
|
|
21
|
+
Se utilizza questo nodo nella cosiddetta «modalità universale» e non ha impostato alcuna scena nella configurazione del nodo, può anche trasmettere al nodo la scena desiderata come comando. A tal fine, trasmetta un oggetto `msg.payload` con il seguente contenuto:
|
|
22
|
+
|
|
23
|
+
: scene (string): ID della scena da attivare sul bridge
|
|
24
|
+
|
|
25
|
+
### Attivare una scena su determinati gruppi
|
|
26
|
+
|
|
27
|
+
Colleghi l'uscita di questo nodo a uno o più gruppi per applicare una scena a gruppi specifici. In alternativa può farlo «dinamicamente» trasmettendo al nodo un oggetto `msg.payload` con il seguente contenuto:
|
|
28
|
+
|
|
29
|
+
: group (string | array [string,…]): ID del gruppo o un array con gli ID di più gruppi per limitare la scena a tali gruppi
|
|
30
|
+
|
|
31
|
+
### Ulteriori informazioni sul nodo
|
|
32
|
+
|
|
33
|
+
Questo nodo non emette messaggi di stato.
|
|
34
|
+
|
|
35
|
+
> [!IMPORTANT]
|
|
36
|
+
> Può applicare le scene ai gruppi solo se questi sono già collegati alla rispettiva scena sul bridge. In caso contrario non verrà applicato nulla.
|
|
37
|
+
|
|
38
|
+
### Esempi di HueMagic
|
|
39
|
+
|
|
40
|
+
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.
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
</script>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-scene": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"input-name": "Nome della scena",
|
|
6
|
+
"skipevents-node": "Ignora i messaggi del nodo",
|
|
7
|
+
"sendinitevents-node": "Non sopprimere l'evento di inizializzazione",
|
|
8
|
+
"searching": "Ricerca di scene…",
|
|
9
|
+
"none-found": "Nessuna scena trovata!",
|
|
10
|
+
"unknown-error": "Qualcosa è andato storto. Riprovi.",
|
|
11
|
+
"scene": "Scena",
|
|
12
|
+
"group": "Gruppo",
|
|
13
|
+
"group-none-found": "Nessun gruppo trovato!",
|
|
14
|
+
"group-searching": "Ricerca di gruppi…",
|
|
15
|
+
"groups-all": "Tutti i gruppi / le luci",
|
|
16
|
+
"bridge": "Bridge"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"title": "Hue Scena",
|
|
20
|
+
"not-configured": "non configurato",
|
|
21
|
+
"recalled": "scena attivata",
|
|
22
|
+
"recalled-on-group": "scena attivata sul gruppo",
|
|
23
|
+
"no-id": "Nessun ID scena.",
|
|
24
|
+
"input": "attiva la scena",
|
|
25
|
+
"output": "gruppo/i di destinazione",
|
|
26
|
+
"command": "esecuzione del comando…",
|
|
27
|
+
"statusmsg": "Attivazione della scena…",
|
|
28
|
+
"error-not-available": "La scena non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con il bridge oppure verifichi se l'ID della risorsa indicato nella configurazione è valido.",
|
|
29
|
+
"error-invalid-brightness": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 100 percento."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-speaker">
|
|
2
|
+
Il nodo «Hue Altoparlante» può riprodurre i suoni di un campanello Hue Secure e utilizzarlo come sirena da interni.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
Selezioni il Hue Bridge preconfigurato e faccia clic sul pulsante di ricerca per trovare tutti gli altoparlanti disponibili. Se conosce già l'ID dell'altoparlante, può anche inserirlo qui manualmente. Può assegnare internamente un nuovo nome all'altoparlante 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 dell'altoparlante 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 altoparlante 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 altoparlante 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 dell'altoparlante 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 dell'altoparlante
|
|
15
|
+
|
|
16
|
+
### Riprodurre un suono
|
|
17
|
+
|
|
18
|
+
Un altoparlante conosce tre canali separati. `chime` è il suono del campanello, `alarm` è la sirena e `alert` è una breve notifica. I suoni effettivamente conosciuti da un dispositivo sono elencati in `msg.info.sounds`. Trasmetta i seguenti parametri in un oggetto `msg.payload`:
|
|
19
|
+
|
|
20
|
+
: chime (string | object | boolean): Nome del suono del campanello; `false` lo interrompe di nuovo
|
|
21
|
+
: alarm (string | object | boolean): Nome del suono della sirena; `false` lo interrompe di nuovo
|
|
22
|
+
: alert (string | object | boolean): Nome del suono di notifica; `false` lo interrompe di nuovo
|
|
23
|
+
: mute (boolean): `true` disattiva l'audio dell'altoparlante, `false` lo riattiva
|
|
24
|
+
|
|
25
|
+
Al posto del semplice nome del suono può anche trasmettere un oggetto per controllare volume e durata:
|
|
26
|
+
|
|
27
|
+
: sound (string): Nome del suono, ad es. `ding_dong_classic` o `siren`
|
|
28
|
+
: volume (int): Volume in percentuale (0-100)
|
|
29
|
+
: duration (float): Durata di riproduzione in secondi
|
|
30
|
+
|
|
31
|
+
### Messaggi di stato del nodo
|
|
32
|
+
|
|
33
|
+
Non appena l'altoparlante inizia o smette di riprodurre, il nodo restituisce il seguente messaggio di stato.
|
|
34
|
+
|
|
35
|
+
> [!NOTE]
|
|
36
|
+
> Il bridge segnala l'ultimo suono riprodotto e lo azzera solo molto dopo la fine della riproduzione, quindi questi valori sono leggermente in ritardo rispetto all'audio.
|
|
37
|
+
|
|
38
|
+
#### Oggetto di stato in `msg.payload`
|
|
39
|
+
|
|
40
|
+
: reachable (boolean | string): `true` se l'altoparlante è collegato al bridge, `unknown` se lo stato della connessione è diverso
|
|
41
|
+
: 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
|
|
42
|
+
: playing (boolean): `true` mentre l'altoparlante riproduce un suono qualsiasi
|
|
43
|
+
: chime (string | boolean): Nome del suono del campanello in riproduzione o `false`
|
|
44
|
+
: alarm (string | boolean): Nome del suono della sirena in riproduzione o `false`
|
|
45
|
+
: alert (string | boolean): Nome del suono di notifica in riproduzione o `false`
|
|
46
|
+
: muted (boolean): Indica se l'audio dell'altoparlante è disattivato
|
|
47
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
48
|
+
|
|
49
|
+
#### Informazioni sull'altoparlante in `msg.info`
|
|
50
|
+
|
|
51
|
+
: id (string): Indica il nuovo ID dell'altoparlante
|
|
52
|
+
: idV1 (string | boolean): Indica il vecchio ID dell'altoparlante
|
|
53
|
+
: uniqueId (string): L'ID univoco dell'altoparlante
|
|
54
|
+
: deviceId (string): L'ID univoco del dispositivo
|
|
55
|
+
: name (string): Il nome attualmente assegnato all'altoparlante
|
|
56
|
+
: type (string): Il tipo di dispositivo (sempre `speaker`)
|
|
57
|
+
: softwareVersion (string): Il firmware attuale dell'altoparlante
|
|
58
|
+
: battery (float | boolean): Il livello attuale della batteria dell'altoparlante, `false` se non è presente alcuna batteria
|
|
59
|
+
: batteryState (string | boolean): Lo stato attuale del livello della batteria. Può contenere `normal`, `low` o `critical` come valore, `false` se non è presente alcuna batteria
|
|
60
|
+
: sounds (object): Contiene i suoni conosciuti da questo dispositivo in `chime`, `alarm` e `alert`
|
|
61
|
+
: model (object): Contiene le informazioni sul modello dell'altoparlante in `id`, `manufacturer`, `name`, `type` e `certified`
|
|
62
|
+
|
|
63
|
+
#### Variazioni di stato in `msg.updated`
|
|
64
|
+
|
|
65
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato dell'altoparlante. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
66
|
+
|
|
67
|
+
#### Ultimo stato dell'altoparlante in `msg.lastState`
|
|
68
|
+
|
|
69
|
+
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`.
|
|
70
|
+
|
|
71
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
72
|
+
|
|
73
|
+
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.
|
|
74
|
+
|
|
75
|
+
### Esempi di HueMagic
|
|
76
|
+
|
|
77
|
+
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.
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
</script>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-speaker": {
|
|
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 dell'altoparlante",
|
|
13
|
+
"searching": "Ricerca di altoparlanti…",
|
|
14
|
+
"none-found": "Nessun altoparlante trovato!",
|
|
15
|
+
"speaker": "Altoparlante"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "non configurato",
|
|
19
|
+
"not-reachable": "non raggiungibile",
|
|
20
|
+
"universal": "modalità universale",
|
|
21
|
+
"command": "esecuzione del comando…",
|
|
22
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
23
|
+
"title": "Hue Altoparlante",
|
|
24
|
+
"silent": "silenzioso",
|
|
25
|
+
"muted": "disattivato",
|
|
26
|
+
"playing-alarm": "allarme (__sound__)",
|
|
27
|
+
"playing-chime": "campanello (__sound__)",
|
|
28
|
+
"playing-alert": "avviso (__sound__)",
|
|
29
|
+
"input": "riproduci suono / stato",
|
|
30
|
+
"output": "altoparlante",
|
|
31
|
+
"error-no-id": "Indichi un ID altoparlante valido.",
|
|
32
|
+
"error-not-available": "L'altoparlante 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
|
+
"error-no-channel": "Questo altoparlante non ha alcun suono di tipo __channel__.",
|
|
34
|
+
"error-invalid-sound": "Suono __channel__ non valido. Sono consentiti: __sounds__",
|
|
35
|
+
"error-invalid-volume": "Impostazione del volume non valida. Sono consentiti solo valori da 0 a 100."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-syncbox-config">
|
|
2
|
+
Si collega a una Philips Hue Play HDMI Sync Box.
|
|
3
|
+
|
|
4
|
+
### Nome
|
|
5
|
+
|
|
6
|
+
Può assegnare alla sync box un nome interno alternativo oppure mantenere quello predefinito.
|
|
7
|
+
|
|
8
|
+
### IP della Sync Box
|
|
9
|
+
|
|
10
|
+
L'indirizzo IP della sua sync box nella rete locale. Appena lo inserisce, HueMagic prova a leggere il nome del dispositivo e lo compila al posto suo.
|
|
11
|
+
|
|
12
|
+
### Token di accesso
|
|
13
|
+
|
|
14
|
+
La sync box non fa parte del suo Hue Bridge e necessita di un proprio token. Faccia clic sul pulsante accanto al campo e tenga poi premuto il pulsante sulla sync box finché il LED non lampeggia in verde. HueMagic continua a interrogare il dispositivo per un minuto e memorizza il token non appena risponde.
|
|
15
|
+
|
|
16
|
+
### Aggiornamento
|
|
17
|
+
|
|
18
|
+
La sync box non invia da sola il proprio stato, quindi HueMagic lo richiede regolarmente. Questa impostazione definisce quanti secondi intercorrono tra due richieste. Il valore predefinito di 10 secondi è un buon compromesso tra reattività dello stato e traffico di rete: non lo riduca più del necessario.
|
|
19
|
+
</script>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-syncbox-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nome",
|
|
5
|
+
"syncbox-ip": "IP della Sync Box",
|
|
6
|
+
"token": "Token di accesso",
|
|
7
|
+
"pollinterval": "Aggiornamento (s)",
|
|
8
|
+
"missing-ip": "IP della Hue Sync Box mancante…",
|
|
9
|
+
"connecting": "Connessione alla sync box…",
|
|
10
|
+
"invalid": "Spiacenti. La Hue Sync Box selezionata non è valida: ",
|
|
11
|
+
"error-select-first": "Inserisca l'IP della sua Hue Sync Box prima di creare un nuovo token!",
|
|
12
|
+
"waiting": "in attesa della pressione del pulsante…",
|
|
13
|
+
"new-user-press": "Tenga premuto il pulsante della sua Hue Sync Box finché il LED non lampeggia in verde!",
|
|
14
|
+
"retry": "Nessuna pressione rilevata. Riprovi…",
|
|
15
|
+
"success": "Token di accesso creato correttamente!"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"title": "Hue Sync Box",
|
|
19
|
+
"initializing": "Inizializzazione della sync box (__syncbox__)…",
|
|
20
|
+
"connected": "Connesso alla sync box",
|
|
21
|
+
"request-error": "Errore durante la richiesta di informazioni alla sync box (__error__)",
|
|
22
|
+
"statusmsg": "Stato interrogato correttamente…"
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-syncbox">
|
|
2
|
+
Il nodo «Hue Sync Box» controlla una Philips Hue Play HDMI Sync Box e comunica ciò che sta facendo in quel momento.
|
|
3
|
+
|
|
4
|
+
### Configurazione
|
|
5
|
+
|
|
6
|
+
La sync box non è collegata al suo Hue Bridge ma parla una propria API locale, quindi necessita di una configurazione a sé. Inserisca l'indirizzo IP della sua sync box e faccia clic sul pulsante accanto al campo del token di accesso. Tenga poi premuto il pulsante sulla sync box finché il LED non lampeggia in verde: HueMagic continua a interrogare il dispositivo per un minuto e memorizza il token non appena risponde.
|
|
7
|
+
|
|
8
|
+
Poiché la sync box non invia da sola il proprio stato, HueMagic lo richiede regolarmente. Può impostare la frequenza nella configurazione; il valore predefinito è ogni 10 secondi. Facoltativamente può disattivare tutti i messaggi di stato automatici di questo nodo tramite l'impostazione «Ignora i messaggi del nodo». In alternativa può scegliere che il messaggio di inizializzazione del nodo non venga soppresso all'avvio di Node-RED. 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.
|
|
9
|
+
|
|
10
|
+
### Richiedere lo stato
|
|
11
|
+
|
|
12
|
+
Emette lo stato attuale della sync box 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 della sync box
|
|
15
|
+
|
|
16
|
+
### Accendere / spegnere (modalità semplice)
|
|
17
|
+
|
|
18
|
+
Per accendere o spegnere rapidamente la sync box, trasmetta al nodo un oggetto con il seguente contenuto. All'accensione viene ripristinata l'ultima modalità di sincronizzazione utilizzata.
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` avvia la sincronizzazione, `false` mette il dispositivo in risparmio energetico
|
|
21
|
+
|
|
22
|
+
### Comandi della sync box (esteso)
|
|
23
|
+
|
|
24
|
+
Trasmetta i seguenti parametri in un oggetto `msg.payload` per controllare la sync box in modo più dettagliato:
|
|
25
|
+
|
|
26
|
+
: mode (string): Uno tra `powersave`, `passthrough`, `video`, `game`, `music` o `ambient`
|
|
27
|
+
: sync (boolean): `true` avvia la sincronizzazione, `false` la arresta
|
|
28
|
+
: toggle (boolean | any): Alterna la sincronizzazione a seconda dello stato precedente
|
|
29
|
+
: passthrough (boolean): `true` passa l'immagine al suo televisore senza sincronizzare
|
|
30
|
+
: intensity (string): Con quale intensità le luci seguono l'immagine. Uno tra `subtle`, `moderate`, `high` o `intense`
|
|
31
|
+
: brightness (int): Valore percentuale della luminosità (0-100)
|
|
32
|
+
: brightnessLevel (int): Valore numerico della luminosità come lo conta il dispositivo (0-200, dove 100 è il valore di riferimento)
|
|
33
|
+
: incrementBrightness (int | boolean): Indica di quanti punti percentuali aumentare la luminosità della sync box, oppure `true` per passi del 10 %
|
|
34
|
+
: decrementBrightness (int | boolean): Indica di quanti punti percentuali ridurre la luminosità della sync box, oppure `true` per passi del 10 %
|
|
35
|
+
: input (string | int): L'ingresso HDMI da mostrare, da `input1` a `input4` oppure semplicemente da `1` a `4`
|
|
36
|
+
: entertainmentArea (string): L'area entertainment che il dispositivo deve pilotare, ad es. `groups/13`
|
|
37
|
+
|
|
38
|
+
### Messaggi di stato del nodo
|
|
39
|
+
|
|
40
|
+
Ogni volta che lo stato della sync box cambia, il nodo restituisce il seguente messaggio di stato:
|
|
41
|
+
|
|
42
|
+
#### Oggetto di stato in `msg.payload`
|
|
43
|
+
|
|
44
|
+
: on (boolean): `false` mentre il dispositivo è in risparmio energetico
|
|
45
|
+
: syncing (boolean): `true` mentre le luci seguono l'immagine
|
|
46
|
+
: passthrough (boolean): `true` mentre il dispositivo passa l'immagine senza sincronizzare
|
|
47
|
+
: mode (string): La modalità attualmente attiva
|
|
48
|
+
: lastSyncMode (string): L'ultima modalità di sincronizzazione utilizzata
|
|
49
|
+
: intensity (string | boolean): Intensità della modalità attualmente attiva
|
|
50
|
+
: brightness (int | boolean): Luminosità in percentuale
|
|
51
|
+
: brightnessLevel (int | boolean): Luminosità come la conta il dispositivo (0-200)
|
|
52
|
+
: input (string | boolean): L'ingresso HDMI attualmente mostrato
|
|
53
|
+
: inputs (object): Tutti e quattro gli ingressi HDMI con `name`, `type`, `status` (`unplugged`, `plugged`, `linked` o `unknown`) e se sono `active`
|
|
54
|
+
: entertainmentArea (string | boolean): L'area entertainment pilotata dal dispositivo
|
|
55
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
56
|
+
|
|
57
|
+
#### Informazioni sulla sync box in `msg.info`
|
|
58
|
+
|
|
59
|
+
: id (string | boolean): L'ID univoco della sync box
|
|
60
|
+
: name (string | boolean): Il nome attualmente assegnato alla sync box
|
|
61
|
+
: type (string): Il tipo di dispositivo (sempre `syncbox`)
|
|
62
|
+
: ipAddress (string | boolean): L'indirizzo IP che il dispositivo indica per sé stesso
|
|
63
|
+
: softwareVersion (string | boolean): Il firmware attuale della sync box
|
|
64
|
+
: apiLevel (int | boolean): Il livello API della sync box
|
|
65
|
+
: ledMode (int | boolean): La modalità LED attualmente impostata
|
|
66
|
+
: wifi (object | boolean): Contiene `ssid` e `strength` della connessione wireless
|
|
67
|
+
: model (object): Contiene le informazioni sul modello della sync box in `id`, `manufacturer` e `name`
|
|
68
|
+
|
|
69
|
+
#### Variazioni di stato in `msg.updated`
|
|
70
|
+
|
|
71
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato della sync box. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
72
|
+
|
|
73
|
+
#### Ultimo stato della sync box in `msg.lastState`
|
|
74
|
+
|
|
75
|
+
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`.
|
|
76
|
+
|
|
77
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
78
|
+
|
|
79
|
+
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.
|
|
80
|
+
|
|
81
|
+
### Esempi di HueMagic
|
|
82
|
+
|
|
83
|
+
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.
|
|
84
|
+
|
|
85
|
+

|
|
86
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-syncbox": {
|
|
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
|
+
"input-name": "Nome della Sync Box",
|
|
9
|
+
"syncbox": "Sync Box"
|
|
10
|
+
},
|
|
11
|
+
"node": {
|
|
12
|
+
"not-configured": "non configurato",
|
|
13
|
+
"command": "esecuzione del comando…",
|
|
14
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
15
|
+
"title": "Hue Sync Box",
|
|
16
|
+
"connecting": "connessione…",
|
|
17
|
+
"powersave": "spenta",
|
|
18
|
+
"passthrough": "passaggio diretto",
|
|
19
|
+
"syncing": "__mode__ (__intensity__)",
|
|
20
|
+
"input": "controlla la sync box",
|
|
21
|
+
"output": "sync box",
|
|
22
|
+
"error-not-available": "La sync box non è ancora disponibile. Attenda che HueMagic abbia stabilito la connessione con essa.",
|
|
23
|
+
"error-invalid-mode": "Modalità non valida. Sono consentite: __modes__",
|
|
24
|
+
"error-invalid-intensity": "Intensità non valida. Sono consentite: __intensities__",
|
|
25
|
+
"error-invalid-brightness": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 100 percento.",
|
|
26
|
+
"error-invalid-brightness-level": "Impostazione di luminosità non valida. Sono consentiti solo valori da 0 a 200.",
|
|
27
|
+
"error-invalid-input": "Ingresso HDMI non valido. Sono consentiti solo da input1 a input4."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-temperature">
|
|
2
|
+
Il nodo «Hue Temperatura» può richiedere e comunicare la temperatura ambiente 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
|
+
I sensori di movimento vengono di solito montati in un angolo della stanza e spesso misurano una temperatura leggermente troppo alta a causa della loro elettronica. Con l'impostazione «Correzione» può calibrare il sensore senza giri di parole: il valore che inserisce qui (ad es. `-1.5`) viene sommato a ogni valore misurato prima che il nodo lo emetta. La correzione vale contemporaneamente per tutte le unità di temperatura.
|
|
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 di temperatura 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 registra una variazione di temperatura, il nodo restituisce 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
|
+
: celsius (float): Indica la temperatura ambiente attuale in °C (gradi Celsius)
|
|
34
|
+
: fahrenheit (float): Indica la temperatura ambiente attuale in °F (gradi Fahrenheit)
|
|
35
|
+
: temperatureIs (string): Descrive la temperatura attuale con i valori `very cold`, `cold`, `slightly cold`, `comfortable`, `slightly warm`, `warm`, `hot` o `very hot`
|
|
36
|
+
: deviceValue (float): Il valore originale della temperatura fornito dal sensore
|
|
37
|
+
: updated (string): Momento dell'ultimo aggiornamento della risorsa da parte di HueMagic (ISO 8601)
|
|
38
|
+
|
|
39
|
+
#### Informazioni sul sensore in `msg.info`
|
|
40
|
+
|
|
41
|
+
: id (string): Indica il nuovo ID del sensore
|
|
42
|
+
: idV1 (string | boolean): Indica il vecchio ID del sensore
|
|
43
|
+
: uniqueId (string): L'ID univoco del sensore
|
|
44
|
+
: deviceId (string): L'ID univoco del dispositivo
|
|
45
|
+
: name (string): Il nome attualmente assegnato al sensore
|
|
46
|
+
: type (string): Il tipo di sensore (sempre `temperature`)
|
|
47
|
+
: softwareVersion (string): Il firmware attuale del sensore
|
|
48
|
+
: battery (float): Il livello attuale della batteria del sensore
|
|
49
|
+
: batteryState (string): Lo stato attuale del livello della batteria. Può contenere `normal`, `low` o `critical` come valore
|
|
50
|
+
: model (object): Contiene le informazioni sul modello del sensore in `id`, `manufacturer`, `name`, `type` e `certified`
|
|
51
|
+
|
|
52
|
+
#### Variazioni di stato in `msg.updated`
|
|
53
|
+
|
|
54
|
+
Elenca sotto forma di oggetto i singoli parametri modificati rispetto all'ultimo stato del sensore. Se non è stata registrata alcuna modifica, questo oggetto è vuoto.
|
|
55
|
+
|
|
56
|
+
#### Ultimo stato del sensore in `msg.lastState`
|
|
57
|
+
|
|
58
|
+
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`.
|
|
59
|
+
|
|
60
|
+
#### Ultimo comando in `msg.command` (facoltativo)
|
|
61
|
+
|
|
62
|
+
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.
|
|
63
|
+
|
|
64
|
+
### Esempi di HueMagic
|
|
65
|
+
|
|
66
|
+
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.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-temperature": {
|
|
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 temperatura…",
|
|
14
|
+
"none-found": "Nessun sensore di temperatura trovato.",
|
|
15
|
+
"sensor": "Sensore",
|
|
16
|
+
"offset": "Correzione"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"not-configured": "non configurato",
|
|
20
|
+
"init": "inizializzazione…",
|
|
21
|
+
"not-reachable": "non raggiungibile",
|
|
22
|
+
"universal": "modalità universale",
|
|
23
|
+
"command": "esecuzione del comando…",
|
|
24
|
+
"deactivated": "disattivato",
|
|
25
|
+
"statusmsg": "Stato interrogato correttamente…",
|
|
26
|
+
"title": "Hue Temperatura",
|
|
27
|
+
"input": "richiesta di stato",
|
|
28
|
+
"output": "temperatura (modificata)",
|
|
29
|
+
"error-no-id": "Indichi un ID sensore valido.",
|
|
30
|
+
"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."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-automation">
|
|
2
|
+
De node "Hue Automatisering" kan de automatiseringen die u in de Philips Hue-app hebt gemaakt in- en uitschakelen.
|
|
3
|
+
|
|
4
|
+
### Instellen
|
|
5
|
+
|
|
6
|
+
Selecteer de vooraf geconfigureerde Hue Bridge en klik op de zoekknop om alle beschikbare automatiseringen te vinden. Als u het ID van de automatisering al kent, kunt u het hier ook handmatig invoeren. U kunt de automatisering intern een nieuwe naam geven of de vooraf ingestelde naam gebruiken. Optioneel kunt u alle automatische statusberichten van deze node uitschakelen met de instelling "Berichten van de node negeren". De node geeft dan geen updates meer uit. U kunt ook kiezen of het initialisatiebericht van de node bij het starten van Node-RED niet wordt onderdrukt. Als u deze instelling activeert, ontvangt u na elke deploy een statusbericht van de geselecteerde automatisering. Wilt u liever dat de node stil blijft totdat u er iets naartoe stuurt, activeer dan "Alleen na een commando melden". De node negeert dan wijzigingen vanuit de app of een schakelaar en antwoordt alleen op uw eigen commando's.
|
|
7
|
+
|
|
8
|
+
Als u geen automatisering selecteert en de nodeconfiguratie zo gebruikt, werkt de node in de zogenoemde "universele modus". In deze modus ontvangt en verstuurt de node alle statusberichten van hetzelfde type. U kunt in de universele modus ook instellingen op een specifieke automatisering toepassen door het bijbehorende automatiserings-ID als tekenreeks in `msg.topic` samen met uw instellingen mee te geven.
|
|
9
|
+
|
|
10
|
+
### Automatisering in-/uitschakelen
|
|
11
|
+
|
|
12
|
+
Een uitgeschakelde automatisering blijft op de bridge staan en kan op elk moment weer worden ingeschakeld. Geef hiervoor een object met de volgende inhoud mee:
|
|
13
|
+
|
|
14
|
+
: payload (boolean): `true` schakelt de automatisering in, `false` schakelt haar uit
|
|
15
|
+
: enabled (boolean): Zoals hierboven, als u liever een object meegeeft
|
|
16
|
+
: toggle (boolean | any): Wisselt tussen in- en uitgeschakeld, afhankelijk van de vorige status
|
|
17
|
+
|
|
18
|
+
### Statusberichten van de node
|
|
19
|
+
|
|
20
|
+
Zodra de automatisering verandert, geeft de node het volgende statusbericht terug:
|
|
21
|
+
|
|
22
|
+
#### Statusobject onder `msg.payload`
|
|
23
|
+
|
|
24
|
+
: enabled (boolean): Geeft aan of de automatisering is ingeschakeld
|
|
25
|
+
: running (boolean): `true` zolang de bridge de automatisering daadwerkelijk uitvoert
|
|
26
|
+
: status (string | boolean): De huidige status. Kan `initializing`, `running`, `disabled` of `errored` als waarde bevatten
|
|
27
|
+
: lastError (string | boolean): De laatste door de bridge gemelde fout of `false`
|
|
28
|
+
: updated (string): Tijdstip van de laatste update van de bron door HueMagic (ISO 8601)
|
|
29
|
+
|
|
30
|
+
#### Informatie over de automatisering onder `msg.info`
|
|
31
|
+
|
|
32
|
+
: id (string): Geeft het ID van de automatisering aan
|
|
33
|
+
: idV1 (string | boolean): Geeft het oude ID van de automatisering aan
|
|
34
|
+
: name (string | boolean): De naam die u de automatisering in de Philips Hue-app hebt gegeven
|
|
35
|
+
: type (string): Het type van de bron (altijd `automation`)
|
|
36
|
+
: script (string | boolean): Het ID van het gedragsscript achter de automatisering
|
|
37
|
+
|
|
38
|
+
#### Configuratie onder `msg.configuration`
|
|
39
|
+
|
|
40
|
+
Bevat de instellingen van de automatisering zoals de Philips Hue-app die heeft opgeslagen. De structuur hangt af van het type automatisering en wordt ongewijzigd doorgegeven.
|
|
41
|
+
|
|
42
|
+
#### Statuswijzigingen onder `msg.updated`
|
|
43
|
+
|
|
44
|
+
Somt in de vorm van een object de afzonderlijke parameters op die ten opzichte van de vorige toestand van de automatisering zijn gewijzigd. Als er geen wijzigingen zijn geregistreerd, is dit object leeg.
|
|
45
|
+
|
|
46
|
+
#### Laatste toestand van de automatisering onder `msg.lastState`
|
|
47
|
+
|
|
48
|
+
Bevat het volledige statusobject (zie de uitvoerwaarden hierboven) van de laatste toestand vóór de laatst geregistreerde wijziging. Als HueMagic de laatste toestand nog niet heeft geregistreerd, wordt `false` uitgegeven.
|
|
49
|
+
|
|
50
|
+
#### Laatste commando onder `msg.command` (optioneel)
|
|
51
|
+
|
|
52
|
+
Als de status van de node door een bepaald commando is gewijzigd, wordt ook het volledige uitgevoerde commando meegegeven. Anders geeft de node dit object niet uit.
|
|
53
|
+
|
|
54
|
+
### Voorbeelden van HueMagic
|
|
55
|
+
|
|
56
|
+
HueMagic stelt enkele voorbeeldconfiguraties voor deze node beschikbaar. Om een volledig voorbeeld in uw Node-RED-interface te importeren, klikt u op het menupictogram van Node-RED, kiest u "Import" en navigeert u in de zijbalk van het pop-upvenster naar "Examples". Selecteer vervolgens de map HueMagic en de gewenste node om een voorbeeldflow te importeren.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
</script>
|