node-red-contrib-huemagic 4.2.2 → 5.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +89 -5
- package/README.md +506 -123
- package/examples/Deutsch/Hue Automation.json +176 -0
- package/examples/Deutsch/Hue Bridge.json +256 -0
- package/examples/Deutsch/Hue Brightness.json +150 -0
- package/examples/Deutsch/Hue Buttons.json +88 -0
- package/examples/Deutsch/Hue Contact.json +150 -0
- package/examples/Deutsch/Hue Group.json +658 -0
- package/examples/Deutsch/Hue Light.json +893 -0
- package/examples/Deutsch/Hue Magic.json +148 -0
- package/examples/Deutsch/Hue Motion.json +150 -0
- package/examples/Deutsch/Hue Rules.json +150 -0
- package/examples/Deutsch/Hue Scene.json +178 -0
- package/examples/Deutsch/Hue Speaker.json +274 -0
- package/examples/Deutsch/Hue Sync Box.json +378 -0
- package/examples/Deutsch/Hue Temperature.json +150 -0
- package/examples/English/Hue Automation.json +176 -0
- package/examples/{Hue Bridge.json → English/Hue Bridge.json } +1 -1
- package/examples/{Hue Brightness.json → English/Hue Brightness.json } +1 -1
- package/examples/{Hue Buttons.json → English/Hue Buttons.json } +1 -1
- package/examples/English/Hue Contact.json +150 -0
- package/examples/{Hue Group.json → English/Hue Group.json } +1 -1
- package/examples/{Hue Light.json → English/Hue Light.json } +1 -1
- package/examples/{Hue Magic.json → English/Hue Magic.json } +1 -1
- package/examples/{Hue Motion.json → English/Hue Motion.json } +1 -1
- package/examples/{Hue Rules.json → English/Hue Rules.json } +1 -1
- package/examples/{Hue Scene.json → English/Hue Scene.json } +1 -1
- package/examples/English/Hue Speaker.json +274 -0
- package/examples/English/Hue Sync Box.json +378 -0
- package/examples/{Hue Temperature.json → English/Hue Temperature.json } +1 -1
- package/examples/Espa/303/261ol/Hue Automation.json" +176 -0
- package/examples/Espa/303/261ol/Hue Bridge.json" +256 -0
- package/examples/Espa/303/261ol/Hue Brightness.json" +150 -0
- package/examples/Espa/303/261ol/Hue Buttons.json" +88 -0
- package/examples/Espa/303/261ol/Hue Contact.json" +150 -0
- package/examples/Espa/303/261ol/Hue Group.json" +658 -0
- package/examples/Espa/303/261ol/Hue Light.json" +893 -0
- package/examples/Espa/303/261ol/Hue Magic.json" +148 -0
- package/examples/Espa/303/261ol/Hue Motion.json" +150 -0
- package/examples/Espa/303/261ol/Hue Rules.json" +150 -0
- package/examples/Espa/303/261ol/Hue Scene.json" +178 -0
- package/examples/Espa/303/261ol/Hue Speaker.json" +274 -0
- package/examples/Espa/303/261ol/Hue Sync Box.json" +378 -0
- package/examples/Espa/303/261ol/Hue Temperature.json" +150 -0
- package/examples/Fran/303/247ais/Hue Automation.json" +176 -0
- package/examples/Fran/303/247ais/Hue Bridge.json" +256 -0
- package/examples/Fran/303/247ais/Hue Brightness.json" +150 -0
- package/examples/Fran/303/247ais/Hue Buttons.json" +88 -0
- package/examples/Fran/303/247ais/Hue Contact.json" +150 -0
- package/examples/Fran/303/247ais/Hue Group.json" +658 -0
- package/examples/Fran/303/247ais/Hue Light.json" +893 -0
- package/examples/Fran/303/247ais/Hue Magic.json" +148 -0
- package/examples/Fran/303/247ais/Hue Motion.json" +150 -0
- package/examples/Fran/303/247ais/Hue Rules.json" +150 -0
- package/examples/Fran/303/247ais/Hue Scene.json" +178 -0
- package/examples/Fran/303/247ais/Hue Speaker.json" +274 -0
- package/examples/Fran/303/247ais/Hue Sync Box.json" +378 -0
- package/examples/Fran/303/247ais/Hue Temperature.json" +150 -0
- package/examples/Italiano/Hue Automation.json +176 -0
- package/examples/Italiano/Hue Bridge.json +256 -0
- package/examples/Italiano/Hue Brightness.json +150 -0
- package/examples/Italiano/Hue Buttons.json +88 -0
- package/examples/Italiano/Hue Contact.json +150 -0
- package/examples/Italiano/Hue Group.json +658 -0
- package/examples/Italiano/Hue Light.json +893 -0
- package/examples/Italiano/Hue Magic.json +148 -0
- package/examples/Italiano/Hue Motion.json +150 -0
- package/examples/Italiano/Hue Rules.json +150 -0
- package/examples/Italiano/Hue Scene.json +178 -0
- package/examples/Italiano/Hue Speaker.json +274 -0
- package/examples/Italiano/Hue Sync Box.json +378 -0
- package/examples/Italiano/Hue Temperature.json +150 -0
- package/examples/Nederlands/Hue Automation.json +176 -0
- package/examples/Nederlands/Hue Bridge.json +256 -0
- package/examples/Nederlands/Hue Brightness.json +150 -0
- package/examples/Nederlands/Hue Buttons.json +88 -0
- package/examples/Nederlands/Hue Contact.json +150 -0
- package/examples/Nederlands/Hue Group.json +658 -0
- package/examples/Nederlands/Hue Light.json +893 -0
- package/examples/Nederlands/Hue Magic.json +148 -0
- package/examples/Nederlands/Hue Motion.json +150 -0
- package/examples/Nederlands/Hue Rules.json +150 -0
- package/examples/Nederlands/Hue Scene.json +178 -0
- package/examples/Nederlands/Hue Speaker.json +274 -0
- package/examples/Nederlands/Hue Sync Box.json +378 -0
- package/examples/Nederlands/Hue Temperature.json +150 -0
- package/examples/Polski/Hue Automation.json +176 -0
- package/examples/Polski/Hue Bridge.json +256 -0
- package/examples/Polski/Hue Brightness.json +150 -0
- package/examples/Polski/Hue Buttons.json +88 -0
- package/examples/Polski/Hue Contact.json +150 -0
- package/examples/Polski/Hue Group.json +658 -0
- package/examples/Polski/Hue Light.json +893 -0
- package/examples/Polski/Hue Magic.json +148 -0
- package/examples/Polski/Hue Motion.json +150 -0
- package/examples/Polski/Hue Rules.json +150 -0
- package/examples/Polski/Hue Scene.json +178 -0
- package/examples/Polski/Hue Speaker.json +274 -0
- package/examples/Polski/Hue Sync Box.json +378 -0
- package/examples/Polski/Hue Temperature.json +150 -0
- package/examples/Portugu/303/252s/Hue Automation.json" +176 -0
- package/examples/Portugu/303/252s/Hue Bridge.json" +256 -0
- package/examples/Portugu/303/252s/Hue Brightness.json" +150 -0
- package/examples/Portugu/303/252s/Hue Buttons.json" +88 -0
- package/examples/Portugu/303/252s/Hue Contact.json" +150 -0
- package/examples/Portugu/303/252s/Hue Group.json" +658 -0
- package/examples/Portugu/303/252s/Hue Light.json" +893 -0
- package/examples/Portugu/303/252s/Hue Magic.json" +148 -0
- package/examples/Portugu/303/252s/Hue Motion.json" +150 -0
- package/examples/Portugu/303/252s/Hue Rules.json" +150 -0
- package/examples/Portugu/303/252s/Hue Scene.json" +178 -0
- package/examples/Portugu/303/252s/Hue Speaker.json" +274 -0
- package/examples/Portugu/303/252s/Hue Sync Box.json" +378 -0
- package/examples/Portugu/303/252s/Hue Temperature.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Automation.json" +176 -0
- package/examples/T/303/274rk/303/247e/Hue Bridge.json" +256 -0
- package/examples/T/303/274rk/303/247e/Hue Brightness.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Buttons.json" +88 -0
- package/examples/T/303/274rk/303/247e/Hue Contact.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Group.json" +658 -0
- package/examples/T/303/274rk/303/247e/Hue Light.json" +893 -0
- package/examples/T/303/274rk/303/247e/Hue Magic.json" +148 -0
- package/examples/T/303/274rk/303/247e/Hue Motion.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Rules.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Scene.json" +178 -0
- package/examples/T/303/274rk/303/247e/Hue Speaker.json" +274 -0
- package/examples/T/303/274rk/303/247e/Hue Sync Box.json" +378 -0
- package/examples/T/303/274rk/303/247e/Hue Temperature.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Automation.json" +176 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +256 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Brightness.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Buttons.json" +88 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Contact.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Group.json" +658 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Light.json" +893 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Magic.json" +148 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Motion.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Rules.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Scene.json" +178 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Speaker.json" +274 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Sync Box.json" +378 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Temperature.json" +150 -0
- package/huemagic/assets/huemagic-examples.gif +0 -0
- package/huemagic/hue-automation.html +218 -0
- package/huemagic/hue-automation.js +173 -0
- package/huemagic/hue-bridge-config.html +39 -32
- package/huemagic/hue-bridge-config.js +290 -99
- package/huemagic/hue-bridge.html +8 -8
- package/huemagic/hue-bridge.js +29 -4
- package/huemagic/hue-brightness.html +21 -9
- package/huemagic/hue-brightness.js +20 -10
- package/huemagic/hue-buttons.html +16 -9
- package/huemagic/hue-buttons.js +90 -27
- package/huemagic/hue-contact.html +218 -0
- package/huemagic/hue-contact.js +209 -0
- package/huemagic/hue-group.html +16 -9
- package/huemagic/hue-group.js +141 -179
- package/huemagic/hue-light.html +19 -12
- package/huemagic/hue-light.js +222 -167
- package/huemagic/hue-magic.html +3 -5
- package/huemagic/hue-motion.html +16 -9
- package/huemagic/hue-motion.js +37 -8
- package/huemagic/hue-rules.html +16 -9
- package/huemagic/hue-rules.js +16 -8
- package/huemagic/hue-scene.html +9 -5
- package/huemagic/hue-scene.js +52 -16
- package/huemagic/hue-speaker.html +218 -0
- package/huemagic/hue-speaker.js +257 -0
- package/huemagic/hue-syncbox-config.html +123 -0
- package/huemagic/hue-syncbox-config.js +179 -0
- package/huemagic/hue-syncbox.html +82 -0
- package/huemagic/hue-syncbox.js +274 -0
- package/huemagic/hue-temperature.html +21 -9
- package/huemagic/hue-temperature.js +18 -10
- package/huemagic/icons/hue-automation.png +0 -0
- package/huemagic/icons/hue-automation.svg +3 -0
- package/huemagic/icons/hue-contact.png +0 -0
- package/huemagic/icons/hue-contact.svg +4 -0
- package/huemagic/icons/hue-speaker.png +0 -0
- package/huemagic/icons/hue-speaker.svg +6 -0
- package/huemagic/icons/hue-syncbox.png +0 -0
- package/huemagic/icons/hue-syncbox.svg +7 -0
- package/huemagic/locales/de/hue-automation.html +59 -0
- package/huemagic/locales/de/hue-automation.json +33 -0
- package/huemagic/locales/de/hue-bridge-config.json +23 -12
- package/huemagic/locales/de/hue-bridge.html +7 -4
- package/huemagic/locales/de/hue-bridge.json +9 -10
- package/huemagic/locales/de/hue-brightness.html +9 -6
- package/huemagic/locales/de/hue-brightness.json +13 -9
- package/huemagic/locales/de/hue-buttons.html +5 -4
- package/huemagic/locales/de/hue-buttons.json +22 -8
- package/huemagic/locales/de/hue-contact.html +67 -0
- package/huemagic/locales/de/hue-contact.json +35 -0
- package/huemagic/locales/de/hue-group.html +17 -6
- package/huemagic/locales/de/hue-group.json +16 -9
- package/huemagic/locales/de/hue-light.html +6 -6
- package/huemagic/locales/de/hue-light.json +17 -9
- package/huemagic/locales/de/hue-magic.html +1 -1
- package/huemagic/locales/de/hue-magic.json +6 -8
- package/huemagic/locales/de/hue-motion.html +4 -4
- package/huemagic/locales/de/hue-motion.json +14 -9
- package/huemagic/locales/de/hue-rules.html +2 -2
- package/huemagic/locales/de/hue-rules.json +10 -9
- package/huemagic/locales/de/hue-scene.html +11 -3
- package/huemagic/locales/de/hue-scene.json +9 -9
- package/huemagic/locales/de/hue-speaker.html +80 -0
- package/huemagic/locales/de/hue-speaker.json +38 -0
- package/huemagic/locales/de/hue-syncbox-config.html +19 -0
- package/huemagic/locales/de/hue-syncbox-config.json +25 -0
- package/huemagic/locales/de/hue-syncbox.html +86 -0
- package/huemagic/locales/de/hue-syncbox.json +30 -0
- package/huemagic/locales/de/hue-temperature.html +7 -5
- package/huemagic/locales/de/hue-temperature.json +13 -9
- package/huemagic/locales/el/hue-automation.html +59 -0
- package/huemagic/locales/el/hue-automation.json +33 -0
- package/huemagic/locales/el/hue-bridge-config.html +31 -0
- package/huemagic/locales/el/hue-bridge-config.json +40 -0
- package/huemagic/locales/el/hue-bridge.html +96 -0
- package/huemagic/locales/el/hue-bridge.json +26 -0
- package/huemagic/locales/el/hue-brightness.html +70 -0
- package/huemagic/locales/el/hue-brightness.json +37 -0
- package/huemagic/locales/el/hue-buttons.html +59 -0
- package/huemagic/locales/el/hue-buttons.json +42 -0
- package/huemagic/locales/el/hue-contact.html +67 -0
- package/huemagic/locales/el/hue-contact.json +35 -0
- package/huemagic/locales/el/hue-group.html +87 -0
- package/huemagic/locales/el/hue-group.json +46 -0
- package/huemagic/locales/el/hue-light.html +97 -0
- package/huemagic/locales/el/hue-light.json +44 -0
- package/huemagic/locales/el/hue-magic.html +68 -0
- package/huemagic/locales/el/hue-magic.json +26 -0
- package/huemagic/locales/el/hue-motion.html +64 -0
- package/huemagic/locales/el/hue-motion.json +36 -0
- package/huemagic/locales/el/hue-rules.html +69 -0
- package/huemagic/locales/el/hue-rules.json +30 -0
- package/huemagic/locales/el/hue-scene.html +43 -0
- package/huemagic/locales/el/hue-scene.json +32 -0
- package/huemagic/locales/el/hue-speaker.html +80 -0
- package/huemagic/locales/el/hue-speaker.json +38 -0
- package/huemagic/locales/el/hue-syncbox-config.html +19 -0
- package/huemagic/locales/el/hue-syncbox-config.json +25 -0
- package/huemagic/locales/el/hue-syncbox.html +86 -0
- package/huemagic/locales/el/hue-syncbox.json +30 -0
- package/huemagic/locales/el/hue-temperature.html +69 -0
- package/huemagic/locales/el/hue-temperature.json +33 -0
- package/huemagic/locales/en/hue-automation.html +59 -0
- package/huemagic/locales/en/hue-automation.json +33 -0
- package/huemagic/locales/en/hue-bridge-config.json +40 -0
- package/huemagic/locales/{en-US → en}/hue-bridge.html +5 -2
- package/huemagic/locales/{en-US → en}/hue-bridge.json +8 -9
- package/huemagic/locales/{en-US → en}/hue-brightness.html +6 -3
- package/huemagic/locales/{en-US → en}/hue-brightness.json +11 -9
- package/huemagic/locales/{en-US → en}/hue-buttons.html +4 -3
- package/huemagic/locales/en/hue-buttons.json +42 -0
- package/huemagic/locales/en/hue-contact.html +67 -0
- package/huemagic/locales/en/hue-contact.json +35 -0
- package/huemagic/locales/{en-US → en}/hue-group.html +16 -5
- package/huemagic/locales/{en-US → en}/hue-group.json +15 -10
- package/huemagic/locales/{en-US → en}/hue-light.html +3 -3
- package/huemagic/locales/en/hue-light.json +44 -0
- package/huemagic/locales/{en-US → en}/hue-magic.html +1 -1
- package/huemagic/locales/{en-US → en}/hue-motion.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-motion.json +12 -9
- package/huemagic/locales/{en-US → en}/hue-rules.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-rules.json +10 -9
- package/huemagic/locales/{en-US → en}/hue-scene.html +11 -3
- package/huemagic/locales/{en-US → en}/hue-scene.json +9 -9
- package/huemagic/locales/en/hue-speaker.html +80 -0
- package/huemagic/locales/en/hue-speaker.json +38 -0
- package/huemagic/locales/en/hue-syncbox-config.html +19 -0
- package/huemagic/locales/en/hue-syncbox-config.json +25 -0
- package/huemagic/locales/en/hue-syncbox.html +86 -0
- package/huemagic/locales/en/hue-syncbox.json +30 -0
- package/huemagic/locales/{en-US → en}/hue-temperature.html +4 -2
- package/huemagic/locales/{en-US → en}/hue-temperature.json +11 -9
- package/huemagic/locales/es/hue-automation.html +59 -0
- package/huemagic/locales/es/hue-automation.json +33 -0
- package/huemagic/locales/es/hue-bridge-config.html +31 -0
- package/huemagic/locales/es/hue-bridge-config.json +40 -0
- package/huemagic/locales/es/hue-bridge.html +96 -0
- package/huemagic/locales/es/hue-bridge.json +26 -0
- package/huemagic/locales/es/hue-brightness.html +70 -0
- package/huemagic/locales/es/hue-brightness.json +37 -0
- package/huemagic/locales/es/hue-buttons.html +59 -0
- package/huemagic/locales/es/hue-buttons.json +42 -0
- package/huemagic/locales/es/hue-contact.html +67 -0
- package/huemagic/locales/es/hue-contact.json +35 -0
- package/huemagic/locales/es/hue-group.html +87 -0
- package/huemagic/locales/es/hue-group.json +46 -0
- package/huemagic/locales/es/hue-light.html +97 -0
- package/huemagic/locales/es/hue-light.json +44 -0
- package/huemagic/locales/es/hue-magic.html +68 -0
- package/huemagic/locales/es/hue-magic.json +26 -0
- package/huemagic/locales/es/hue-motion.html +64 -0
- package/huemagic/locales/es/hue-motion.json +36 -0
- package/huemagic/locales/es/hue-rules.html +69 -0
- package/huemagic/locales/es/hue-rules.json +30 -0
- package/huemagic/locales/es/hue-scene.html +43 -0
- package/huemagic/locales/es/hue-scene.json +32 -0
- package/huemagic/locales/es/hue-speaker.html +80 -0
- package/huemagic/locales/es/hue-speaker.json +38 -0
- package/huemagic/locales/es/hue-syncbox-config.html +19 -0
- package/huemagic/locales/es/hue-syncbox-config.json +25 -0
- package/huemagic/locales/es/hue-syncbox.html +86 -0
- package/huemagic/locales/es/hue-syncbox.json +30 -0
- package/huemagic/locales/es/hue-temperature.html +69 -0
- package/huemagic/locales/es/hue-temperature.json +33 -0
- package/huemagic/locales/fr/hue-automation.html +59 -0
- package/huemagic/locales/fr/hue-automation.json +33 -0
- package/huemagic/locales/fr/hue-bridge-config.html +31 -0
- package/huemagic/locales/fr/hue-bridge-config.json +40 -0
- package/huemagic/locales/fr/hue-bridge.html +96 -0
- package/huemagic/locales/fr/hue-bridge.json +26 -0
- package/huemagic/locales/fr/hue-brightness.html +70 -0
- package/huemagic/locales/fr/hue-brightness.json +37 -0
- package/huemagic/locales/fr/hue-buttons.html +59 -0
- package/huemagic/locales/fr/hue-buttons.json +42 -0
- package/huemagic/locales/fr/hue-contact.html +67 -0
- package/huemagic/locales/fr/hue-contact.json +35 -0
- package/huemagic/locales/fr/hue-group.html +87 -0
- package/huemagic/locales/fr/hue-group.json +46 -0
- package/huemagic/locales/fr/hue-light.html +97 -0
- package/huemagic/locales/fr/hue-light.json +44 -0
- package/huemagic/locales/fr/hue-magic.html +68 -0
- package/huemagic/locales/fr/hue-magic.json +26 -0
- package/huemagic/locales/fr/hue-motion.html +64 -0
- package/huemagic/locales/fr/hue-motion.json +36 -0
- package/huemagic/locales/fr/hue-rules.html +69 -0
- package/huemagic/locales/fr/hue-rules.json +30 -0
- package/huemagic/locales/fr/hue-scene.html +43 -0
- package/huemagic/locales/fr/hue-scene.json +32 -0
- package/huemagic/locales/fr/hue-speaker.html +80 -0
- package/huemagic/locales/fr/hue-speaker.json +38 -0
- package/huemagic/locales/fr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/fr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/fr/hue-syncbox.html +86 -0
- package/huemagic/locales/fr/hue-syncbox.json +30 -0
- package/huemagic/locales/fr/hue-temperature.html +69 -0
- package/huemagic/locales/fr/hue-temperature.json +33 -0
- package/huemagic/locales/it/hue-automation.html +59 -0
- package/huemagic/locales/it/hue-automation.json +33 -0
- package/huemagic/locales/it/hue-bridge-config.html +31 -0
- package/huemagic/locales/it/hue-bridge-config.json +40 -0
- package/huemagic/locales/it/hue-bridge.html +96 -0
- package/huemagic/locales/it/hue-bridge.json +26 -0
- package/huemagic/locales/it/hue-brightness.html +70 -0
- package/huemagic/locales/it/hue-brightness.json +37 -0
- package/huemagic/locales/it/hue-buttons.html +59 -0
- package/huemagic/locales/it/hue-buttons.json +42 -0
- package/huemagic/locales/it/hue-contact.html +67 -0
- package/huemagic/locales/it/hue-contact.json +35 -0
- package/huemagic/locales/it/hue-group.html +87 -0
- package/huemagic/locales/it/hue-group.json +46 -0
- package/huemagic/locales/it/hue-light.html +97 -0
- package/huemagic/locales/it/hue-light.json +44 -0
- package/huemagic/locales/it/hue-magic.html +68 -0
- package/huemagic/locales/it/hue-magic.json +26 -0
- package/huemagic/locales/it/hue-motion.html +64 -0
- package/huemagic/locales/it/hue-motion.json +36 -0
- package/huemagic/locales/it/hue-rules.html +69 -0
- package/huemagic/locales/it/hue-rules.json +30 -0
- package/huemagic/locales/it/hue-scene.html +43 -0
- package/huemagic/locales/it/hue-scene.json +32 -0
- package/huemagic/locales/it/hue-speaker.html +80 -0
- package/huemagic/locales/it/hue-speaker.json +38 -0
- package/huemagic/locales/it/hue-syncbox-config.html +19 -0
- package/huemagic/locales/it/hue-syncbox-config.json +25 -0
- package/huemagic/locales/it/hue-syncbox.html +86 -0
- package/huemagic/locales/it/hue-syncbox.json +30 -0
- package/huemagic/locales/it/hue-temperature.html +69 -0
- package/huemagic/locales/it/hue-temperature.json +33 -0
- package/huemagic/locales/nl/hue-automation.html +59 -0
- package/huemagic/locales/nl/hue-automation.json +33 -0
- package/huemagic/locales/nl/hue-bridge-config.html +31 -0
- package/huemagic/locales/nl/hue-bridge-config.json +40 -0
- package/huemagic/locales/nl/hue-bridge.html +96 -0
- package/huemagic/locales/nl/hue-bridge.json +26 -0
- package/huemagic/locales/nl/hue-brightness.html +70 -0
- package/huemagic/locales/nl/hue-brightness.json +37 -0
- package/huemagic/locales/nl/hue-buttons.html +59 -0
- package/huemagic/locales/nl/hue-buttons.json +42 -0
- package/huemagic/locales/nl/hue-contact.html +67 -0
- package/huemagic/locales/nl/hue-contact.json +35 -0
- package/huemagic/locales/nl/hue-group.html +87 -0
- package/huemagic/locales/nl/hue-group.json +46 -0
- package/huemagic/locales/nl/hue-light.html +97 -0
- package/huemagic/locales/nl/hue-light.json +44 -0
- package/huemagic/locales/nl/hue-magic.html +68 -0
- package/huemagic/locales/nl/hue-magic.json +26 -0
- package/huemagic/locales/nl/hue-motion.html +64 -0
- package/huemagic/locales/nl/hue-motion.json +36 -0
- package/huemagic/locales/nl/hue-rules.html +69 -0
- package/huemagic/locales/nl/hue-rules.json +30 -0
- package/huemagic/locales/nl/hue-scene.html +43 -0
- package/huemagic/locales/nl/hue-scene.json +32 -0
- package/huemagic/locales/nl/hue-speaker.html +80 -0
- package/huemagic/locales/nl/hue-speaker.json +38 -0
- package/huemagic/locales/nl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/nl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/nl/hue-syncbox.html +86 -0
- package/huemagic/locales/nl/hue-syncbox.json +30 -0
- package/huemagic/locales/nl/hue-temperature.html +69 -0
- package/huemagic/locales/nl/hue-temperature.json +33 -0
- package/huemagic/locales/pl/hue-automation.html +59 -0
- package/huemagic/locales/pl/hue-automation.json +33 -0
- package/huemagic/locales/pl/hue-bridge-config.html +31 -0
- package/huemagic/locales/pl/hue-bridge-config.json +40 -0
- package/huemagic/locales/pl/hue-bridge.html +96 -0
- package/huemagic/locales/pl/hue-bridge.json +26 -0
- package/huemagic/locales/pl/hue-brightness.html +70 -0
- package/huemagic/locales/pl/hue-brightness.json +37 -0
- package/huemagic/locales/pl/hue-buttons.html +59 -0
- package/huemagic/locales/pl/hue-buttons.json +42 -0
- package/huemagic/locales/pl/hue-contact.html +67 -0
- package/huemagic/locales/pl/hue-contact.json +35 -0
- package/huemagic/locales/pl/hue-group.html +87 -0
- package/huemagic/locales/pl/hue-group.json +46 -0
- package/huemagic/locales/pl/hue-light.html +97 -0
- package/huemagic/locales/pl/hue-light.json +44 -0
- package/huemagic/locales/pl/hue-magic.html +68 -0
- package/huemagic/locales/pl/hue-magic.json +26 -0
- package/huemagic/locales/pl/hue-motion.html +64 -0
- package/huemagic/locales/pl/hue-motion.json +36 -0
- package/huemagic/locales/pl/hue-rules.html +69 -0
- package/huemagic/locales/pl/hue-rules.json +30 -0
- package/huemagic/locales/pl/hue-scene.html +43 -0
- package/huemagic/locales/pl/hue-scene.json +32 -0
- package/huemagic/locales/pl/hue-speaker.html +80 -0
- package/huemagic/locales/pl/hue-speaker.json +38 -0
- package/huemagic/locales/pl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pl/hue-syncbox.html +86 -0
- package/huemagic/locales/pl/hue-syncbox.json +30 -0
- package/huemagic/locales/pl/hue-temperature.html +69 -0
- package/huemagic/locales/pl/hue-temperature.json +33 -0
- package/huemagic/locales/pt/hue-automation.html +59 -0
- package/huemagic/locales/pt/hue-automation.json +33 -0
- package/huemagic/locales/pt/hue-bridge-config.html +31 -0
- package/huemagic/locales/pt/hue-bridge-config.json +40 -0
- package/huemagic/locales/pt/hue-bridge.html +96 -0
- package/huemagic/locales/pt/hue-bridge.json +26 -0
- package/huemagic/locales/pt/hue-brightness.html +70 -0
- package/huemagic/locales/pt/hue-brightness.json +37 -0
- package/huemagic/locales/pt/hue-buttons.html +59 -0
- package/huemagic/locales/pt/hue-buttons.json +42 -0
- package/huemagic/locales/pt/hue-contact.html +67 -0
- package/huemagic/locales/pt/hue-contact.json +35 -0
- package/huemagic/locales/pt/hue-group.html +87 -0
- package/huemagic/locales/pt/hue-group.json +46 -0
- package/huemagic/locales/pt/hue-light.html +97 -0
- package/huemagic/locales/pt/hue-light.json +44 -0
- package/huemagic/locales/pt/hue-magic.html +68 -0
- package/huemagic/locales/pt/hue-magic.json +26 -0
- package/huemagic/locales/pt/hue-motion.html +64 -0
- package/huemagic/locales/pt/hue-motion.json +36 -0
- package/huemagic/locales/pt/hue-rules.html +69 -0
- package/huemagic/locales/pt/hue-rules.json +30 -0
- package/huemagic/locales/pt/hue-scene.html +43 -0
- package/huemagic/locales/pt/hue-scene.json +32 -0
- package/huemagic/locales/pt/hue-speaker.html +80 -0
- package/huemagic/locales/pt/hue-speaker.json +38 -0
- package/huemagic/locales/pt/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pt/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pt/hue-syncbox.html +86 -0
- package/huemagic/locales/pt/hue-syncbox.json +30 -0
- package/huemagic/locales/pt/hue-temperature.html +69 -0
- package/huemagic/locales/pt/hue-temperature.json +33 -0
- package/huemagic/locales/tr/hue-automation.html +59 -0
- package/huemagic/locales/tr/hue-automation.json +33 -0
- package/huemagic/locales/tr/hue-bridge-config.html +31 -0
- package/huemagic/locales/tr/hue-bridge-config.json +40 -0
- package/huemagic/locales/tr/hue-bridge.html +96 -0
- package/huemagic/locales/tr/hue-bridge.json +26 -0
- package/huemagic/locales/tr/hue-brightness.html +70 -0
- package/huemagic/locales/tr/hue-brightness.json +37 -0
- package/huemagic/locales/tr/hue-buttons.html +59 -0
- package/huemagic/locales/tr/hue-buttons.json +42 -0
- package/huemagic/locales/tr/hue-contact.html +67 -0
- package/huemagic/locales/tr/hue-contact.json +35 -0
- package/huemagic/locales/tr/hue-group.html +87 -0
- package/huemagic/locales/tr/hue-group.json +46 -0
- package/huemagic/locales/tr/hue-light.html +97 -0
- package/huemagic/locales/tr/hue-light.json +44 -0
- package/huemagic/locales/tr/hue-magic.html +68 -0
- package/huemagic/locales/tr/hue-magic.json +26 -0
- package/huemagic/locales/tr/hue-motion.html +64 -0
- package/huemagic/locales/tr/hue-motion.json +36 -0
- package/huemagic/locales/tr/hue-rules.html +69 -0
- package/huemagic/locales/tr/hue-rules.json +30 -0
- package/huemagic/locales/tr/hue-scene.html +43 -0
- package/huemagic/locales/tr/hue-scene.json +32 -0
- package/huemagic/locales/tr/hue-speaker.html +80 -0
- package/huemagic/locales/tr/hue-speaker.json +38 -0
- package/huemagic/locales/tr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/tr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/tr/hue-syncbox.html +86 -0
- package/huemagic/locales/tr/hue-syncbox.json +30 -0
- package/huemagic/locales/tr/hue-temperature.html +69 -0
- package/huemagic/locales/tr/hue-temperature.json +33 -0
- package/huemagic/utils/api.js +158 -54
- package/huemagic/utils/color.js +20 -2
- package/huemagic/utils/merge.js +3 -2
- package/huemagic/utils/messages.js +506 -120
- package/huemagic/utils/sse.js +51 -0
- package/huemagic/utils/syncbox.js +84 -0
- package/package.json +19 -11
- package/.github/FUNDING.yml +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/npm.yml +0 -18
- package/huemagic/locales/en-US/hue-bridge-config.json +0 -29
- package/huemagic/locales/en-US/hue-buttons.json +0 -34
- package/huemagic/locales/en-US/hue-light.json +0 -38
- /package/huemagic/locales/{en-US → en}/hue-bridge-config.html +0 -0
- /package/huemagic/locales/{en-US → en}/hue-magic.json +0 -0
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-light">
|
|
2
|
+
Węzeł „Hue Światło” steruje światłami podłączonymi do bridge i odbiera ich komunikaty stanu.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne światła. Jeśli znasz już identyfikator światła, możesz go też wpisać ręcznie. Możesz nadać światłu własną nazwę wewnętrzną albo zachować nazwę domyślną. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj komunikaty węzła”. Węzeł przestanie wtedy wysyłać aktualizacje urządzenia. Możesz też zdecydować, aby komunikat inicjalizacji węzła nie był pomijany przy starcie Node-RED. Po włączeniu tego ustawienia po każdym wdrożeniu otrzymasz komunikat stanu wybranego światła. Jeśli wolisz, aby węzeł milczał, dopóki czegoś do niego nie wyślesz, włącz „Zgłaszaj tylko po poleceniu”. Węzeł zignoruje wtedy zmiany z aplikacji lub z przełącznika i odpowie wyłącznie na Twoje polecenia.
|
|
7
|
+
|
|
8
|
+
Po włączeniu ustawienia „Włącz nazywanie kolorów” węzeł przy każdym komunikacie stanu spróbuje opisać ustawiony kolor światła. Na wyjściu otrzymasz wtedy dodatkowy parametr z angielskim opisem bieżącego koloru.
|
|
9
|
+
|
|
10
|
+
Jeśli nie wybierzesz światła i użyjesz konfiguracji węzła w ten sposób, węzeł działa w tzw. „trybie uniwersalnym”. W tym trybie węzeł odbiera i wysyła wszystkie komunikaty stanu tego samego typu. Ustawienia w trybie uniwersalnym możesz też zastosować do konkretnego światła, przekazując jego identyfikator jako ciąg znaków w `msg.topic` razem z ustawieniami.
|
|
11
|
+
|
|
12
|
+
### Odczyt stanu
|
|
13
|
+
|
|
14
|
+
Zwraca bieżący stan światła, gdy tylko do węzła zostanie przekazany obiekt `msg.payload` o następującej zawartości. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Zwraca bieżący stan światła
|
|
17
|
+
|
|
18
|
+
### Włączanie / wyłączanie światła (tryb prosty)
|
|
19
|
+
|
|
20
|
+
Aby szybko włączyć lub wyłączyć światło w trybie prostym, przekaż do węzła obiekt o następującej zawartości:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` włącza światło, `false` je wyłącza
|
|
23
|
+
|
|
24
|
+
### Polecenia światła (rozszerzone)
|
|
25
|
+
|
|
26
|
+
Oprócz zwykłego włączania i wyłączania dostępnych jest wiele innych opcji sterowania światłem. Wszystkie węzły HueMagic obsługują polecenia addytywne. Oznacza to, że możesz przekazać najpierw jedno ustawienie, a później w kolejnym poleceniu następne, nie odrzucając poprzedniego. Przekaż w obiekcie `msg.payload` następujące parametry, aby wykonać bardziej rozbudowane ustawienia światła:
|
|
27
|
+
|
|
28
|
+
: on (boolean): `true` włącza światło, `false` je wyłącza
|
|
29
|
+
: toggle (boolean | any): Przełącza między włączeniem a wyłączeniem, zależnie od poprzedniego stanu światła
|
|
30
|
+
: brightness (int | string): Procentowa wartość jasności światła (0-100) albo ciąg znaków `auto`, aby jasność była ustawiana automatycznie na podstawie bieżącej godziny
|
|
31
|
+
: brightnessLevel (int): Liczbowa wartość jasności światła (0-254)
|
|
32
|
+
: incrementBrightness (int | boolean): Określa, o ile procent rozjaśnić światło, albo `true`, aby rozjaśniać je w krokach co 10 %
|
|
33
|
+
: decrementBrightness (int | boolean): Określa, o ile procent przyciemnić światło, albo `true`, aby przyciemniać je w krokach co 10 %
|
|
34
|
+
: color (string): `random`, aby ustawić losowy kolor, albo angielska nazwa koloru (np. `red`)
|
|
35
|
+
: hex (string): Wartość koloru w zapisie szesnastkowym jako ciąg znaków
|
|
36
|
+
: rgb (array [0,0,0]): Wartość koloru w formacie RGB jako tablica
|
|
37
|
+
: xyColor (object {x [float], y [float]}): Wartość koloru w formacie XY jako obiekt
|
|
38
|
+
: gradient (object {hex […]}): Obiekt zawierający obsługiwany obiekt koloru (np. `hex`, `rgb`, …) oraz kilka kolorów, aby ustawić gradient na obsługiwanych światłach
|
|
39
|
+
: mixColor (object): Kolor mieszany z bieżącym kolorem światła. Przyjmuje obiekty `color`, `hex`, `rgb` lub `xyColor` oraz opcjonalnie `amount` (int) określające proporcję mieszania w procentach
|
|
40
|
+
: image (string): Ścieżka obrazu (lokalnego lub w sieci), aby ustawić bieżący kolor światła na średni kolor obrazu
|
|
41
|
+
: saturation (int): Procent nasycenia bieżącego koloru (beta)
|
|
42
|
+
: colorTemp (int | string): Wartość od 153 do 500 ustawiająca temperaturę barwową światła albo wartości `cold`, `normal`, `warm`, `hot` i `auto`, przy czym `auto` dobiera temperaturę barwową na podstawie bieżącej godziny
|
|
43
|
+
: incrementColorTemp (int | boolean): Wartość określająca, o ile temperatura barwowa ma być cieplejsza, albo `true`, aby ocieplać ją w krokach co 50
|
|
44
|
+
: decrementColorTemp (int | boolean): Wartość określająca, o ile temperatura barwowa ma być chłodniejsza, albo `true`, aby ochładzać ją w krokach co 50
|
|
45
|
+
: transitionTime (float): Czas przejścia bieżącego ustawienia w sekundach. Po podaniu `0` światło zmienia się natychmiast. Po podaniu `3` światło przechodzi do żądanego ustawienia z łagodnym przejściem w ciągu następnych 3 sekund
|
|
46
|
+
: colorloop (float): Odtwarza animację „colorloop” przez wskazaną liczbę sekund, a następnie przywraca pierwotny stan światła
|
|
47
|
+
: alert (float): Odtwarza animację „alert” przez wskazaną liczbę sekund, a następnie przywraca pierwotny stan światła
|
|
48
|
+
|
|
49
|
+
### Komunikaty stanu węzła
|
|
50
|
+
|
|
51
|
+
Gdy tylko zostanie wykryta zmiana ustawień światła (czy to przez Node-RED, czy z zewnątrz), węzeł zwraca następujący komunikat stanu:
|
|
52
|
+
|
|
53
|
+
#### Obiekt stanu w `msg.payload`
|
|
54
|
+
|
|
55
|
+
: on (boolean): Stan światła, gdzie `true` oznacza włączone, a `false` wyłączone
|
|
56
|
+
: brightness (int | boolean): Bieżąca jasność w procentach albo `false`, jeśli światło nie obsługuje regulacji jasności
|
|
57
|
+
: brightnessLevel (int | boolean): Bieżąca jasność w zakresie 0-254 albo `false`, jeśli światło nie obsługuje regulacji jasności
|
|
58
|
+
: reachable (boolean | string): `true`, jeśli światło jest połączone z bridge, `unknown`, jeśli stan połączenia jest inny
|
|
59
|
+
: connectionStatus (string): Bieżący stan połączenia z bridge w postaci ciągu znaków. Może przyjmować wartości `connected`, `disconnected`, `connectivity_issue` lub `unidirectional_incoming`
|
|
60
|
+
: rgb (array [int, int, int] | optional): Bieżący kolor światła jako wartość RGB, jeśli światło potrafi wyświetlać kolory
|
|
61
|
+
: hex (string | optional): Bieżący kolor światła jako wartość szesnastkowa, jeśli światło potrafi wyświetlać kolory
|
|
62
|
+
: xyColor (object {x [float], y [float]} | optional): Bieżący kolor światła jako wartość XY, jeśli światło potrafi wyświetlać kolory
|
|
63
|
+
: color (string | optional): Bieżąca nazwa koloru po angielsku, jeśli światło potrafi wyświetlać kolory i włączono odpowiednie ustawienie węzła
|
|
64
|
+
: gradient (object | optional): Bieżące ustawienie gradientu ze wszystkimi dostępnymi jednostkami koloru w postaci tablicy, jeśli światło obsługuje gradienty; `colors` zwraca kolory, `numColors` liczbę ustawionych kolorów w gradiencie, a `totalColors` maksymalną liczbę kolorów, jaką zasób obsługuje w gradiencie
|
|
65
|
+
: colorTemp (int | boolean | optional): Bieżąca temperatura barwowa światła, jeśli światło obsługuje temperatury barwowe i została ustawiona
|
|
66
|
+
: colorTempName (string | optional): Bieżąca temperatura barwowa światła jako opisowy ciąg znaków o wartościach `cold`, `normal`, `warm` lub `hot`, jeśli światło obsługuje temperatury barwowe i została ustawiona. W przeciwnym razie zwracane jest `unknown`
|
|
67
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
68
|
+
|
|
69
|
+
#### Informacje o świetle w `msg.info`
|
|
70
|
+
|
|
71
|
+
: id (string): Wskazuje nowy identyfikator światła
|
|
72
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator światła
|
|
73
|
+
: uniqueId (string): Unikatowy identyfikator światła
|
|
74
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
75
|
+
: name (string): Aktualnie ustawiona nazwa światła
|
|
76
|
+
: type (string): Typ światła (zawsze `light`)
|
|
77
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe światła
|
|
78
|
+
: model (object): Zawiera informacje o modelu światła w polach `id`, `manufacturer`, `name`, `type`, `certified`, `friendsOfHue`, `colorGamut` i `colorGamutType`
|
|
79
|
+
|
|
80
|
+
#### Zmiany stanu w `msg.updated`
|
|
81
|
+
|
|
82
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu światła. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
83
|
+
|
|
84
|
+
#### Poprzedni stan światła w `msg.lastState`
|
|
85
|
+
|
|
86
|
+
Zawiera pełny obiekt stanu (patrz wartości wyjściowe powyżej) sprzed ostatniej zmiany. Jeśli HueMagic nie zarejestrował jeszcze poprzedniego stanu, zwracane jest `false`.
|
|
87
|
+
|
|
88
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
89
|
+
|
|
90
|
+
Jeśli stan węzła zmienił się w wyniku określonego polecenia, wysyłane jest również całe wykonane polecenie. W przeciwnym razie węzeł nie wysyła tego obiektu.
|
|
91
|
+
|
|
92
|
+
### Przykłady z HueMagic
|
|
93
|
+
|
|
94
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
95
|
+
|
|
96
|
+

|
|
97
|
+
</script>
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-light": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
6
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
7
|
+
"onlycommands-node": "Zgłaszaj tylko po poleceniu",
|
|
8
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Zdarzenia uniwersalne",
|
|
11
|
+
"universalevents-node": "Odbiera wszystkie komunikaty innych węzłów tego samego typu (tylko w trybie uniwersalnym)",
|
|
12
|
+
"colornamer": "Colornamer",
|
|
13
|
+
"colornamer-info": "Włącz nazywanie kolorów",
|
|
14
|
+
"input-name": "Nazwa światła",
|
|
15
|
+
"searching": "Wyszukiwanie świateł…",
|
|
16
|
+
"none-found": "Nie znaleziono żadnego światła!",
|
|
17
|
+
"light": "Światło"
|
|
18
|
+
},
|
|
19
|
+
"node": {
|
|
20
|
+
"not-configured": "nieskonfigurowany",
|
|
21
|
+
"init": "inicjalizacja…",
|
|
22
|
+
"not-reachable": "nieosiągalny",
|
|
23
|
+
"universal": "tryb uniwersalny",
|
|
24
|
+
"command": "wykonywanie polecenia…",
|
|
25
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
26
|
+
"title": "Hue Światło",
|
|
27
|
+
"turned-on": "włączone",
|
|
28
|
+
"turned-on-percent": "włączone (__percent__ %)",
|
|
29
|
+
"turned-off": "wyłączone",
|
|
30
|
+
"error-no-id": "Nie podano identyfikatora światła. Zajrzyj do dokumentacji.",
|
|
31
|
+
"error-input": "błąd danych wejściowych",
|
|
32
|
+
"error-invalid-temp": "Nieprawidłowa temperatura barwowa. Dozwolone są tylko wartości od 153 do 500.",
|
|
33
|
+
"input": "włącz / wyłącz",
|
|
34
|
+
"output": "stan",
|
|
35
|
+
"error-not-available": "Światło nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże połączenie z bridge, albo sprawdź, czy identyfikator zasobu podany w konfiguracji jest prawidłowy.",
|
|
36
|
+
"error-invalid-brightness": "Nieprawidłowe ustawienie jasności. Dozwolone są tylko wartości od 0 do 100 procent.",
|
|
37
|
+
"error-invalid-brightness-level": "Nieprawidłowe ustawienie jasności. Dozwolone są tylko wartości od 0 do 254.",
|
|
38
|
+
"error-invalid-sat": "Nieprawidłowe ustawienie nasycenia. Dozwolone są tylko wartości od 0 do 100.",
|
|
39
|
+
"error-no-colorloop": "Efekt colorloop nie jest dostępny dla tego światła.",
|
|
40
|
+
"error-invalid-effect": "Nieprawidłowy efekt. To światło obsługuje: __effects__",
|
|
41
|
+
"error-invalid-powerup": "Nieprawidłowe ustawienie po włączeniu zasilania. Dozwolone ustawienia to: __presets__"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-magic">
|
|
2
|
+
Węzeł „Hue Magic” stosuje złożone i własne animacje do świateł oraz grup.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Najpierw nadaj węzłowi nazwę, aby jednoznacznie rozpoznawać swoją animację w interfejsie Node-RED. Następnie masz do wyboru opcje „Pętla” i „Przywróć”. Wybierz opcję pętli, jeśli chcesz, aby animacja działała na świetle lub grupie bez końca, dopóki nie zatrzymasz jej ręcznie. Jeśli po zakończeniu animacji chcesz przywrócić poprzedni stan zasobu docelowego (światła lub grupy), zaznacz opcję „Przywróć”. W przeciwnym razie na zasobie pozostanie ostatnia klatka animacji.
|
|
7
|
+
|
|
8
|
+
Poniżej możesz wybrać jedną z gotowych animacji HueMagic. Kliknij wybraną animację, aby ją ustawić.
|
|
9
|
+
|
|
10
|
+
### Uruchamianie / zatrzymywanie animacji
|
|
11
|
+
|
|
12
|
+
Aby uruchomić lub zatrzymać animację, przekaż do węzła obiekt o następującej zawartości:
|
|
13
|
+
|
|
14
|
+
: payload (boolean): `true` uruchamia animację, `false` ją zatrzymuje
|
|
15
|
+
|
|
16
|
+
### Własne animacje
|
|
17
|
+
|
|
18
|
+
Jeśli przekażesz do węzła własną animację, wybrana wcześniej animacja predefiniowana (o ile jest ustawiona) zostanie tymczasowo zastąpiona Twoją. Własne animacje HueMagic to sekwencja poleceń zebranych w tablicy. Każdy element tablicy tworzy krok, przy czym krok może się składać z kilku klatek (efektów przejścia).
|
|
19
|
+
|
|
20
|
+
Utwórz tablicę (`array`) z poszczególnymi krokami animacji w postaci obiektów i przekaż ją do węzła HueMagic w `msg.payload.steps`.
|
|
21
|
+
|
|
22
|
+
: delay (int): Liczba milisekund oczekiwania do wykonania tego kroku
|
|
23
|
+
: animation (object): Obiekt zawiera akcję lub akcje do wykonania w tym kroku. Parametry są takie same jak w węzłach „Hue Światło” i „Hue Grupa”
|
|
24
|
+
|
|
25
|
+
### Przykład własnej animacji
|
|
26
|
+
|
|
27
|
+
Ten przykład pokazuje, jak może wyglądać prosta animacja. W pierwszym kroku odczekiwane jest opóźnienie 500 milisekund. Następnie kolor światła powoli zmienia się na czerwony w ciągu jednej sekundy. Gdy światło jest już całkowicie czerwone, wykonywany jest drugi krok, również z opóźnieniem 500 milisekund. Na koniec kolor zmienia się na niebieski.
|
|
28
|
+
|
|
29
|
+
Jeśli ustawisz animację w pętli, proces powtarza się bez końca, dopóki nie zatrzymasz animacji ręcznie albo nie wdrożysz węzła ponownie.
|
|
30
|
+
|
|
31
|
+
Przekaż w `msg.payload` następujący obiekt, aby odtworzyć przykładową animację.
|
|
32
|
+
|
|
33
|
+
{
|
|
34
|
+
"animate": true,
|
|
35
|
+
"steps": [
|
|
36
|
+
{
|
|
37
|
+
"delay": 500,
|
|
38
|
+
"animation": {
|
|
39
|
+
"hex": "#FF0000",
|
|
40
|
+
"transitionTime": 1
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
"delay": 500,
|
|
45
|
+
"animation": {
|
|
46
|
+
"hex": "#0000FF",
|
|
47
|
+
"transitionTime": 1
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
]
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
### Polecenia specjalne
|
|
54
|
+
|
|
55
|
+
Czasem warto odtwarzać animację w losowej kolejności, np. aby realistyczniej naśladować ogień. Aby odtwarzać poszczególne kroki losowo, przekaż w `msg.payload.specials` następujące polecenie:
|
|
56
|
+
|
|
57
|
+
: randomOrder (boolean | any): `true` włącza losowe odtwarzanie poszczególnych kroków animacji
|
|
58
|
+
|
|
59
|
+
### Wskazówki i uwagi
|
|
60
|
+
|
|
61
|
+
Ten węzeł nie wysyła komunikatów stanu. Jeśli chcesz animować kilka świateł jednocześnie tą samą animacją, połącz wyjście węzła z grupą, a nie z pojedynczymi światłami. Podglądy gotowych animacji są symulacjami i mogą się nieznacznie różnić (czasy, kolory) od rzeczywistej animacji na zasobie.
|
|
62
|
+
|
|
63
|
+
### Przykłady z HueMagic
|
|
64
|
+
|
|
65
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
66
|
+
|
|
67
|
+

|
|
68
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-magic": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"input-name": "Nazwa animacji",
|
|
6
|
+
"loop": "Pętla",
|
|
7
|
+
"loop-endless": "Odtwarzaj w nieskończoność",
|
|
8
|
+
"restore": "Przywróć",
|
|
9
|
+
"restore-state": "Przywróć poprzedni stan po zatrzymaniu",
|
|
10
|
+
"animation": "Animacja",
|
|
11
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
12
|
+
"seconds": "s",
|
|
13
|
+
"minutes": "min"
|
|
14
|
+
},
|
|
15
|
+
"node": {
|
|
16
|
+
"title": "Hue Magic",
|
|
17
|
+
"no-animation": "nie podano animacji",
|
|
18
|
+
"animating": "animacja trwa…",
|
|
19
|
+
"stopped": "zatrzymana",
|
|
20
|
+
"input": "uruchom / zatrzymaj animację",
|
|
21
|
+
"output": "światło lub grupa",
|
|
22
|
+
"command": "wykonywanie polecenia…",
|
|
23
|
+
"playmsg": "Animacja uruchomiona…"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-motion">
|
|
2
|
+
Węzeł „Hue Ruch” rejestruje i zgłasza ruch wykryty przez odpowiedni czujnik podłączony do bridge.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne czujniki. Jeśli znasz już identyfikator czujnika, możesz go też wpisać ręcznie. Możesz nadać czujnikowi własną nazwę wewnętrzną albo zachować nazwę domyślną. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj komunikaty węzła”. Węzeł przestanie wtedy wysyłać aktualizacje urządzenia. Możesz też zdecydować, aby komunikat inicjalizacji węzła nie był pomijany przy starcie Node-RED. Po włączeniu tego ustawienia po każdym wdrożeniu otrzymasz komunikat stanu wybranego czujnika. Jeśli wolisz, aby węzeł milczał, dopóki czegoś do niego nie wyślesz, włącz „Zgłaszaj tylko po poleceniu”. Węzeł zignoruje wtedy zmiany z aplikacji lub z przełącznika i odpowie wyłącznie na Twoje polecenia.
|
|
7
|
+
|
|
8
|
+
Jeśli nie wybierzesz czujnika i użyjesz konfiguracji węzła w ten sposób, węzeł działa w tzw. „trybie uniwersalnym”. W tym trybie węzeł odbiera i wysyła wszystkie komunikaty stanu tego samego typu. Ustawienia w trybie uniwersalnym możesz też zastosować do konkretnego czujnika, przekazując jego identyfikator jako ciąg znaków w `msg.topic` razem z ustawieniami.
|
|
9
|
+
|
|
10
|
+
### Odczyt stanu
|
|
11
|
+
|
|
12
|
+
Zwraca bieżący stan czujnika, gdy tylko do węzła zostanie przekazany obiekt `msg.payload` o następującej zawartości. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Zwraca bieżący stan czujnika
|
|
15
|
+
|
|
16
|
+
### Włączanie / wyłączanie czujnika
|
|
17
|
+
|
|
18
|
+
W razie potrzeby czujnik można włączać i wyłączać zdalnie. Wyłączony czujnik nie rejestruje już ruchu i w związku z tym go nie zgłasza. Przekaż w tym celu obiekt o następującej zawartości:
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` włącza czujnik, `false` go wyłącza
|
|
21
|
+
|
|
22
|
+
### Komunikaty stanu węzła
|
|
23
|
+
|
|
24
|
+
Gdy tylko czujnik zarejestruje ruch, węzeł zwraca następujący komunikat stanu:
|
|
25
|
+
|
|
26
|
+
#### Obiekt stanu w `msg.payload`
|
|
27
|
+
|
|
28
|
+
: active (boolean): Wskazuje, czy czujnik jest włączony, czy wyłączony
|
|
29
|
+
: reachable (boolean | string): `true`, jeśli czujnik jest połączony z bridge, `unknown`, jeśli stan połączenia jest inny
|
|
30
|
+
: connectionStatus (string): Bieżący stan połączenia z bridge w postaci ciągu znaków. Może przyjmować wartości `connected`, `disconnected`, `connectivity_issue` lub `unidirectional_incoming`
|
|
31
|
+
: motion (boolean): Wskazuje, czy zarejestrowano ruch
|
|
32
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
33
|
+
|
|
34
|
+
#### Informacje o czujniku w `msg.info`
|
|
35
|
+
|
|
36
|
+
: id (string): Wskazuje nowy identyfikator czujnika
|
|
37
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator czujnika
|
|
38
|
+
: uniqueId (string): Unikatowy identyfikator czujnika
|
|
39
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
40
|
+
: name (string): Aktualnie ustawiona nazwa czujnika
|
|
41
|
+
: type (string): Typ czujnika (zawsze `motion`)
|
|
42
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe czujnika
|
|
43
|
+
: battery (float): Bieżący poziom naładowania baterii czujnika
|
|
44
|
+
: batteryState (string): Bieżący stan poziomu baterii. Może przyjmować wartości `normal`, `low` lub `critical`
|
|
45
|
+
: model (object): Zawiera informacje o modelu czujnika w polach `id`, `manufacturer`, `name`, `type` i `certified`
|
|
46
|
+
|
|
47
|
+
#### Zmiany stanu w `msg.updated`
|
|
48
|
+
|
|
49
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu czujnika. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
50
|
+
|
|
51
|
+
#### Poprzedni stan czujnika w `msg.lastState`
|
|
52
|
+
|
|
53
|
+
Zawiera pełny obiekt stanu (patrz wartości wyjściowe powyżej) sprzed ostatniej zarejestrowanej zmiany. Jeśli HueMagic nie zarejestrował jeszcze poprzedniego stanu, zwracane jest `false`.
|
|
54
|
+
|
|
55
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
56
|
+
|
|
57
|
+
Jeśli stan węzła zmienił się w wyniku określonego polecenia, wysyłane jest również całe wykonane polecenie. W przeciwnym razie węzeł nie wysyła tego obiektu.
|
|
58
|
+
|
|
59
|
+
### Przykłady z HueMagic
|
|
60
|
+
|
|
61
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
62
|
+
|
|
63
|
+

|
|
64
|
+
</script>
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-motion": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
6
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
7
|
+
"onlycommands-node": "Zgłaszaj tylko po poleceniu",
|
|
8
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Zdarzenia uniwersalne",
|
|
11
|
+
"universalevents-node": "Odbiera wszystkie komunikaty innych węzłów tego samego typu (tylko w trybie uniwersalnym)",
|
|
12
|
+
"input-name": "Nazwa czujnika",
|
|
13
|
+
"searching": "Wyszukiwanie czujników ruchu…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnego czujnika ruchu!",
|
|
15
|
+
"sensor": "Czujnik"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "nieskonfigurowany",
|
|
19
|
+
"not-reachable": "nieosiągalny",
|
|
20
|
+
"activated": "włączony",
|
|
21
|
+
"deactivated": "wyłączony",
|
|
22
|
+
"universal": "tryb uniwersalny",
|
|
23
|
+
"command": "wykonywanie polecenia…",
|
|
24
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
25
|
+
"title": "Hue Ruch",
|
|
26
|
+
"motion": "wykryto ruch",
|
|
27
|
+
"no-motion": "brak ruchu",
|
|
28
|
+
"input": "włącz / wyłącz / stan",
|
|
29
|
+
"output": "wykryto ruch",
|
|
30
|
+
"error-no-id": "Podaj prawidłowy identyfikator: czujnik.",
|
|
31
|
+
"error-not-available": "Czujnik nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże połączenie z bridge, albo sprawdź, czy identyfikator zasobu podany w konfiguracji jest prawidłowy.",
|
|
32
|
+
"error-no-sensitivity": "To źródło ruchu nie ma regulowanej czułości.",
|
|
33
|
+
"error-invalid-sensitivity": "Nieprawidłowa czułość. Dozwolone są tylko wartości od 0 do __max__."
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-rules">
|
|
2
|
+
Węzeł „Hue Reguła” włącza i wyłącza reguły zapisane w bridge oraz odczytuje ich ustawienia.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne reguły. Jeśli znasz już identyfikator reguły, możesz go też wpisać ręcznie. Możesz też nadać regule nową nazwę albo zachować nazwę domyślną. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj komunikaty węzła”. Węzeł przestanie wtedy wysyłać aktualizacje. Możesz też zdecydować, aby komunikat inicjalizacji węzła nie był pomijany przy starcie Node-RED. Jeśli wolisz, aby węzeł milczał, dopóki czegoś do niego nie wyślesz, włącz „Zgłaszaj tylko po poleceniu”. Węzeł zignoruje wtedy zmiany z aplikacji lub z przełącznika i odpowie wyłącznie na Twoje polecenia.
|
|
7
|
+
|
|
8
|
+
Jeśli nie wybierzesz reguły i użyjesz konfiguracji węzła w ten sposób, węzeł działa w tzw. „trybie uniwersalnym”. W tym trybie węzeł odbiera i wysyła wszystkie komunikaty stanu tego samego typu. Ustawienia w trybie uniwersalnym możesz też zastosować do konkretnej reguły, przekazując jej identyfikator jako ciąg znaków w `msg.topic` razem z ustawieniami.
|
|
9
|
+
|
|
10
|
+
### Odczyt właściwości i ustawień
|
|
11
|
+
|
|
12
|
+
Zwraca bieżące właściwości reguły, gdy tylko do węzła zostanie przekazany obiekt `msg.payload` o następującej zawartości. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Zwraca bieżący stan reguły
|
|
15
|
+
|
|
16
|
+
### Włączanie / wyłączanie reguły
|
|
17
|
+
|
|
18
|
+
Regułę można w razie potrzeby włączać i wyłączać. Wyłączona reguła nie jest wykonywana w bridge, dopóki jej ponownie nie włączysz. Przekaż w tym celu obiekt o następującej zawartości:
|
|
19
|
+
|
|
20
|
+
: payload (boolean): `true` włącza regułę, `false` ją wyłącza
|
|
21
|
+
|
|
22
|
+
### Komunikaty stanu węzła
|
|
23
|
+
|
|
24
|
+
Gdy tylko zmieni się stan reguły (włączona / wyłączona), węzeł zwraca następujący komunikat stanu:
|
|
25
|
+
|
|
26
|
+
#### Obiekt stanu w `msg.payload`
|
|
27
|
+
|
|
28
|
+
: enabled (boolean): Wskazuje, czy reguła jest włączona, czy wyłączona
|
|
29
|
+
: triggered (string): Czas ostatniego wykonania (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Informacje o regule w `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): Unikatowy identyfikator reguły
|
|
34
|
+
: created (string): Data utworzenia reguły (ISO 8601)
|
|
35
|
+
: name (string): Nazwa reguły na bridge
|
|
36
|
+
: timesTriggered (int): Liczba wykonań reguły na bridge
|
|
37
|
+
: owner (string): Identyfikator właściciela tej reguły
|
|
38
|
+
: status (string): Stan reguły w postaci ciągu znaków
|
|
39
|
+
|
|
40
|
+
#### Warunki reguły w `msg.conditions` (tablica)
|
|
41
|
+
|
|
42
|
+
: address (string): Ścieżka do atrybutu czujnika
|
|
43
|
+
: operator (string): Operator
|
|
44
|
+
: value (string): Wartość, która ma zostać sprawdzona
|
|
45
|
+
|
|
46
|
+
#### Akcje reguły w `msg.actions` (tablica)
|
|
47
|
+
|
|
48
|
+
: address (string): Adres docelowy zasobu
|
|
49
|
+
: method (string): Metoda żądania
|
|
50
|
+
: body (object): Akcja, która ma zostać wykonana
|
|
51
|
+
|
|
52
|
+
#### Zmiany stanu w `msg.updated`
|
|
53
|
+
|
|
54
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu reguły. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
55
|
+
|
|
56
|
+
#### Poprzedni stan reguły w `msg.lastState`
|
|
57
|
+
|
|
58
|
+
Zawiera pełny obiekt (patrz wartości wyjściowe powyżej) sprzed ostatniej zarejestrowanej zmiany reguły. Jeśli HueMagic nie zarejestrował jeszcze poprzedniego stanu, zwracane jest `false`.
|
|
59
|
+
|
|
60
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
61
|
+
|
|
62
|
+
Jeśli stan węzła zmienił się w wyniku określonego polecenia, wysyłane jest również całe wykonane polecenie. W przeciwnym razie węzeł nie wysyła tego obiektu.
|
|
63
|
+
|
|
64
|
+
### Przykłady z HueMagic
|
|
65
|
+
|
|
66
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
67
|
+
|
|
68
|
+

|
|
69
|
+
</script>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-rules": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
6
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
7
|
+
"onlycommands-node": "Zgłaszaj tylko po poleceniu",
|
|
8
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"input-name": "Nazwa reguły",
|
|
11
|
+
"searching": "Wyszukiwanie reguł…",
|
|
12
|
+
"none-found": "Nie znaleziono żadnej reguły!",
|
|
13
|
+
"rule": "Reguła"
|
|
14
|
+
},
|
|
15
|
+
"node": {
|
|
16
|
+
"init": "inicjalizacja…",
|
|
17
|
+
"universal": "tryb uniwersalny",
|
|
18
|
+
"command": "wykonywanie polecenia…",
|
|
19
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
20
|
+
"title": "Hue Reguła",
|
|
21
|
+
"no-rule": "nie wybrano reguły",
|
|
22
|
+
"enabled": "włączona",
|
|
23
|
+
"disabled": "wyłączona",
|
|
24
|
+
"output": "reguła (wykonana)",
|
|
25
|
+
"input": "włącz / wyłącz",
|
|
26
|
+
"error-no-id": "Podaj prawidłowy identyfikator: reguła.",
|
|
27
|
+
"error-not-available": "Reguła nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże połączenie z bridge, albo sprawdź, czy identyfikator zasobu podany w konfiguracji jest prawidłowy."
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-scene">
|
|
2
|
+
Węzeł „Hue Scena” przywraca sceny zapisane w bridge i stosuje je do wybranych grup.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne sceny. Sceny są sortowane najpierw według pomieszczenia lub strefy, a następnie według nazwy, dzięki czemu sceny jednego pomieszczenia zawsze pozostają razem na liście. Jeśli znasz już identyfikator sceny, możesz go też wpisać ręcznie. Możesz też nadać scenie własną nazwę wewnętrzną albo zachować nazwę domyślną.
|
|
7
|
+
|
|
8
|
+
### Włączanie sceny
|
|
9
|
+
|
|
10
|
+
Zdefiniowaną scenę możesz włączyć, przekazując obiekt o następującej zawartości:
|
|
11
|
+
|
|
12
|
+
: payload (boolean): Włącza skonfigurowaną scenę
|
|
13
|
+
: transitionTime (float): Czas przejścia sceny w sekundach. Po przekazaniu `0` scena zostanie zastosowana natychmiast. Po przekazaniu `3` światła przejdą do sceny w ciągu następnych 3 sekund. Bridge akceptuje do 6000 sekund
|
|
14
|
+
: brightness (float): Jasność całej sceny w procentach (`0` – `100`), dzięki czemu tę samą scenę możesz włączyć jaśniej lub ciemniej zależnie od pory dnia
|
|
15
|
+
|
|
16
|
+
> [!NOTE]
|
|
17
|
+
> Oba ustawienia są dostępne tylko dla zwykłych scen. Scena inteligentna kieruje się godzinami zdefiniowanymi dla niej w aplikacji Philips Hue.
|
|
18
|
+
|
|
19
|
+
### Włączanie sceny w trybie uniwersalnym
|
|
20
|
+
|
|
21
|
+
Jeśli używasz tego węzła w tzw. „trybie uniwersalnym” i nie ustawiłeś sceny w jego konfiguracji, żądaną scenę możesz przekazać do węzła jako polecenie. Przekaż w tym celu obiekt `msg.payload` o następującej zawartości:
|
|
22
|
+
|
|
23
|
+
: scene (string): Identyfikator sceny, która ma zostać włączona na bridge
|
|
24
|
+
|
|
25
|
+
### Włączanie sceny w wybranych grupach
|
|
26
|
+
|
|
27
|
+
Połącz wyjście tego węzła z jedną lub kilkoma grupami, aby zastosować scenę do konkretnych grup. Możesz to zrobić także „dynamicznie”, przekazując do węzła obiekt `msg.payload` o następującej zawartości:
|
|
28
|
+
|
|
29
|
+
: group (string | array [string,…]): Identyfikator grupy albo tablica identyfikatorów kilku grup, aby ograniczyć scenę do tych grup
|
|
30
|
+
|
|
31
|
+
### Więcej informacji o węźle
|
|
32
|
+
|
|
33
|
+
Ten węzeł nie wysyła komunikatów stanu.
|
|
34
|
+
|
|
35
|
+
> [!IMPORTANT]
|
|
36
|
+
> Sceny można stosować do grup tylko wtedy, gdy grupy są już powiązane z daną sceną na bridge. W przeciwnym razie nic nie zostanie zastosowane.
|
|
37
|
+
|
|
38
|
+
### Przykłady z HueMagic
|
|
39
|
+
|
|
40
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
41
|
+
|
|
42
|
+

|
|
43
|
+
</script>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-scene": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"input-name": "Nazwa sceny",
|
|
6
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
7
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
8
|
+
"searching": "Wyszukiwanie scen…",
|
|
9
|
+
"none-found": "Nie znaleziono żadnej sceny!",
|
|
10
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
11
|
+
"scene": "Scena",
|
|
12
|
+
"group": "Grupa",
|
|
13
|
+
"group-none-found": "Nie znaleziono żadnej grupy!",
|
|
14
|
+
"group-searching": "Wyszukiwanie grup…",
|
|
15
|
+
"groups-all": "Wszystkie grupy / światła",
|
|
16
|
+
"bridge": "Bridge"
|
|
17
|
+
},
|
|
18
|
+
"node": {
|
|
19
|
+
"title": "Hue Scena",
|
|
20
|
+
"not-configured": "nieskonfigurowany",
|
|
21
|
+
"recalled": "scena włączona",
|
|
22
|
+
"recalled-on-group": "scena włączona w grupie",
|
|
23
|
+
"no-id": "Brak identyfikatora sceny.",
|
|
24
|
+
"input": "włącz scenę",
|
|
25
|
+
"output": "grupa docelowa",
|
|
26
|
+
"command": "wykonywanie polecenia…",
|
|
27
|
+
"statusmsg": "Włączanie sceny…",
|
|
28
|
+
"error-not-available": "Scena nie jest jeszcze dostępna. Poczekaj, aż HueMagic nawiąże połączenie z bridge, albo sprawdź, czy identyfikator zasobu podany w konfiguracji jest prawidłowy.",
|
|
29
|
+
"error-invalid-brightness": "Nieprawidłowe ustawienie jasności. Dozwolone są tylko wartości od 0 do 100 procent."
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-speaker">
|
|
2
|
+
Węzeł „Hue Głośnik” odtwarza dźwięki dzwonka Hue Secure i pozwala używać go jako syreny wewnętrznej.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne głośniki. Jeśli znasz już identyfikator głośnika, możesz go też wpisać ręcznie. Możesz nadać głośnikowi własną nazwę wewnętrzną albo zachować nazwę domyślną. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj komunikaty węzła”. Węzeł przestanie wtedy wysyłać aktualizacje urządzenia. Możesz też zdecydować, aby komunikat inicjalizacji węzła nie był pomijany przy starcie Node-RED. Po włączeniu tego ustawienia po każdym wdrożeniu otrzymasz komunikat stanu wybranego głośnika. Jeśli wolisz, aby węzeł milczał, dopóki czegoś do niego nie wyślesz, włącz „Zgłaszaj tylko po poleceniu”. Węzeł zignoruje wtedy zmiany z aplikacji lub z przełącznika i odpowie wyłącznie na Twoje polecenia.
|
|
7
|
+
|
|
8
|
+
Jeśli nie wybierzesz głośnika i użyjesz konfiguracji węzła w ten sposób, węzeł działa w tzw. „trybie uniwersalnym”. W tym trybie węzeł odbiera i wysyła wszystkie komunikaty stanu tego samego typu. Ustawienia w trybie uniwersalnym możesz też zastosować do konkretnego głośnika, przekazując jego identyfikator jako ciąg znaków w `msg.topic` razem z ustawieniami.
|
|
9
|
+
|
|
10
|
+
### Odczyt stanu
|
|
11
|
+
|
|
12
|
+
Zwraca bieżący stan głośnika, gdy tylko do węzła zostanie przekazany obiekt `msg.payload` o następującej zawartości. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
13
|
+
|
|
14
|
+
: status (boolean): Zwraca bieżący stan głośnika
|
|
15
|
+
|
|
16
|
+
### Odtwarzanie dźwięku
|
|
17
|
+
|
|
18
|
+
Głośnik ma trzy osobne kanały. `chime` to dźwięk dzwonka do drzwi, `alarm` to syrena, a `alert` to krótkie powiadomienie. Dźwięki, które dane urządzenie faktycznie zna, są wymienione w `msg.info.sounds`. Przekaż następujące parametry w obiekcie `msg.payload`:
|
|
19
|
+
|
|
20
|
+
: chime (string | object | boolean): Nazwa dźwięku dzwonka; `false` ponownie go zatrzymuje
|
|
21
|
+
: alarm (string | object | boolean): Nazwa dźwięku syreny; `false` ponownie go zatrzymuje
|
|
22
|
+
: alert (string | object | boolean): Nazwa dźwięku powiadomienia; `false` ponownie go zatrzymuje
|
|
23
|
+
: mute (boolean): `true` wycisza głośnik, `false` ponownie włącza dźwięk
|
|
24
|
+
|
|
25
|
+
Zamiast samej nazwy dźwięku możesz też przekazać obiekt, aby sterować głośnością i czasem trwania:
|
|
26
|
+
|
|
27
|
+
: sound (string): Nazwa dźwięku, np. `ding_dong_classic` lub `siren`
|
|
28
|
+
: volume (int): Głośność w procentach (0-100)
|
|
29
|
+
: duration (float): Czas odtwarzania w sekundach
|
|
30
|
+
|
|
31
|
+
### Komunikaty stanu węzła
|
|
32
|
+
|
|
33
|
+
Gdy tylko głośnik zacznie lub przestanie odtwarzać, węzeł zwraca następujący komunikat stanu.
|
|
34
|
+
|
|
35
|
+
> [!NOTE]
|
|
36
|
+
> Bridge zgłasza ostatnio odtworzony dźwięk i zeruje go dopiero długo po zakończeniu odtwarzania, więc te wartości nieco się opóźniają względem dźwięku.
|
|
37
|
+
|
|
38
|
+
#### Obiekt stanu w `msg.payload`
|
|
39
|
+
|
|
40
|
+
: reachable (boolean | string): `true`, jeśli głośnik jest połączony z bridge, `unknown`, jeśli stan połączenia jest inny
|
|
41
|
+
: connectionStatus (string): Bieżący stan połączenia z bridge w postaci ciągu znaków. Może przyjmować wartości `connected`, `disconnected`, `connectivity_issue` lub `unidirectional_incoming`
|
|
42
|
+
: playing (boolean): `true`, gdy głośnik odtwarza jakikolwiek dźwięk
|
|
43
|
+
: chime (string | boolean): Nazwa odtwarzanego dźwięku dzwonka albo `false`
|
|
44
|
+
: alarm (string | boolean): Nazwa odtwarzanego dźwięku syreny albo `false`
|
|
45
|
+
: alert (string | boolean): Nazwa odtwarzanego dźwięku powiadomienia albo `false`
|
|
46
|
+
: muted (boolean): Wskazuje, czy głośnik jest wyciszony
|
|
47
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
48
|
+
|
|
49
|
+
#### Informacje o głośniku w `msg.info`
|
|
50
|
+
|
|
51
|
+
: id (string): Wskazuje nowy identyfikator głośnika
|
|
52
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator głośnika
|
|
53
|
+
: uniqueId (string): Unikatowy identyfikator głośnika
|
|
54
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
55
|
+
: name (string): Aktualnie ustawiona nazwa głośnika
|
|
56
|
+
: type (string): Typ urządzenia (zawsze `speaker`)
|
|
57
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe głośnika
|
|
58
|
+
: battery (float | boolean): Bieżący poziom naładowania baterii głośnika, `false`, gdy urządzenie nie ma baterii
|
|
59
|
+
: batteryState (string | boolean): Bieżący stan poziomu baterii. Może przyjmować wartości `normal`, `low` lub `critical`, albo `false`, gdy urządzenie nie ma baterii
|
|
60
|
+
: sounds (object): Zawiera dźwięki znane temu urządzeniu w polach `chime`, `alarm` i `alert`
|
|
61
|
+
: model (object): Zawiera informacje o modelu głośnika w polach `id`, `manufacturer`, `name`, `type` i `certified`
|
|
62
|
+
|
|
63
|
+
#### Zmiany stanu w `msg.updated`
|
|
64
|
+
|
|
65
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu głośnika. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
66
|
+
|
|
67
|
+
#### Poprzedni stan głośnika w `msg.lastState`
|
|
68
|
+
|
|
69
|
+
Zawiera pełny obiekt stanu (patrz wartości wyjściowe powyżej) sprzed ostatniej zarejestrowanej zmiany. Jeśli HueMagic nie zarejestrował jeszcze poprzedniego stanu, zwracane jest `false`.
|
|
70
|
+
|
|
71
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
72
|
+
|
|
73
|
+
Jeśli stan węzła zmienił się w wyniku określonego polecenia, wysyłane jest również całe wykonane polecenie. W przeciwnym razie węzeł nie wysyła tego obiektu.
|
|
74
|
+
|
|
75
|
+
### Przykłady z HueMagic
|
|
76
|
+
|
|
77
|
+
HueMagic udostępnia kilka przykładowych konfiguracji dla tego węzła. Aby zaimportować gotowy przykład do interfejsu Node-RED, kliknij ikonę menu Node-RED, wybierz „Import”, a następnie przejdź do „Examples” na pasku bocznym okna. Wybierz katalog HueMagic i żądany węzeł, aby zaimportować przykładowy przepływ.
|
|
78
|
+
|
|
79
|
+

|
|
80
|
+
</script>
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-speaker": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"skipevents-node": "Pomijaj komunikaty węzła",
|
|
6
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
7
|
+
"onlycommands-node": "Zgłaszaj tylko po poleceniu",
|
|
8
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
9
|
+
"bridge": "Bridge",
|
|
10
|
+
"universalevents": "Zdarzenia uniwersalne",
|
|
11
|
+
"universalevents-node": "Odbiera wszystkie komunikaty innych węzłów tego samego typu (tylko w trybie uniwersalnym)",
|
|
12
|
+
"input-name": "Nazwa głośnika",
|
|
13
|
+
"searching": "Wyszukiwanie głośników…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnego głośnika!",
|
|
15
|
+
"speaker": "Głośnik"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "nieskonfigurowany",
|
|
19
|
+
"not-reachable": "nieosiągalny",
|
|
20
|
+
"universal": "tryb uniwersalny",
|
|
21
|
+
"command": "wykonywanie polecenia…",
|
|
22
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
23
|
+
"title": "Hue Głośnik",
|
|
24
|
+
"silent": "cisza",
|
|
25
|
+
"muted": "wyciszony",
|
|
26
|
+
"playing-alarm": "alarm (__sound__)",
|
|
27
|
+
"playing-chime": "dzwonek (__sound__)",
|
|
28
|
+
"playing-alert": "ostrzeżenie (__sound__)",
|
|
29
|
+
"input": "odtwórz dźwięk / stan",
|
|
30
|
+
"output": "głośnik",
|
|
31
|
+
"error-no-id": "Podaj prawidłowy identyfikator: głośnik.",
|
|
32
|
+
"error-not-available": "Głośnik nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże połączenie z bridge, albo sprawdź, czy identyfikator zasobu podany w konfiguracji jest prawidłowy.",
|
|
33
|
+
"error-no-channel": "Ten głośnik nie ma dźwięku typu __channel__.",
|
|
34
|
+
"error-invalid-sound": "Nieprawidłowy dźwięk __channel__. Dozwolone są: __sounds__",
|
|
35
|
+
"error-invalid-volume": "Nieprawidłowe ustawienie głośności. Dozwolone są tylko wartości od 0 do 100."
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|