node-red-contrib-huemagic 4.2.2 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +94 -5
- package/README.md +525 -123
- package/examples/Deutsch/Hue Automation.json +176 -0
- package/examples/Deutsch/Hue Bridge.json +256 -0
- package/examples/Deutsch/Hue Brightness.json +150 -0
- package/examples/Deutsch/Hue Buttons.json +88 -0
- package/examples/Deutsch/Hue Contact.json +150 -0
- package/examples/Deutsch/Hue Group.json +658 -0
- package/examples/Deutsch/Hue Light.json +893 -0
- package/examples/Deutsch/Hue Magic.json +148 -0
- package/examples/Deutsch/Hue Motion.json +150 -0
- package/examples/Deutsch/Hue Rules.json +150 -0
- package/examples/Deutsch/Hue Scene.json +178 -0
- package/examples/Deutsch/Hue Speaker.json +274 -0
- package/examples/Deutsch/Hue Sync Box.json +378 -0
- package/examples/Deutsch/Hue Temperature.json +150 -0
- package/examples/English/Hue Automation.json +176 -0
- package/examples/{Hue Bridge.json → English/Hue Bridge.json } +1 -1
- package/examples/{Hue Brightness.json → English/Hue Brightness.json } +1 -1
- package/examples/{Hue Buttons.json → English/Hue Buttons.json } +1 -1
- package/examples/English/Hue Contact.json +150 -0
- package/examples/{Hue Group.json → English/Hue Group.json } +1 -1
- package/examples/{Hue Light.json → English/Hue Light.json } +1 -1
- package/examples/{Hue Magic.json → English/Hue Magic.json } +1 -1
- package/examples/{Hue Motion.json → English/Hue Motion.json } +1 -1
- package/examples/{Hue Rules.json → English/Hue Rules.json } +1 -1
- package/examples/{Hue Scene.json → English/Hue Scene.json } +1 -1
- package/examples/English/Hue Speaker.json +274 -0
- package/examples/English/Hue Sync Box.json +378 -0
- package/examples/{Hue Temperature.json → English/Hue Temperature.json } +1 -1
- package/examples/Espa/303/261ol/Hue Automation.json" +176 -0
- package/examples/Espa/303/261ol/Hue Bridge.json" +256 -0
- package/examples/Espa/303/261ol/Hue Brightness.json" +150 -0
- package/examples/Espa/303/261ol/Hue Buttons.json" +88 -0
- package/examples/Espa/303/261ol/Hue Contact.json" +150 -0
- package/examples/Espa/303/261ol/Hue Group.json" +658 -0
- package/examples/Espa/303/261ol/Hue Light.json" +893 -0
- package/examples/Espa/303/261ol/Hue Magic.json" +148 -0
- package/examples/Espa/303/261ol/Hue Motion.json" +150 -0
- package/examples/Espa/303/261ol/Hue Rules.json" +150 -0
- package/examples/Espa/303/261ol/Hue Scene.json" +178 -0
- package/examples/Espa/303/261ol/Hue Speaker.json" +274 -0
- package/examples/Espa/303/261ol/Hue Sync Box.json" +378 -0
- package/examples/Espa/303/261ol/Hue Temperature.json" +150 -0
- package/examples/Fran/303/247ais/Hue Automation.json" +176 -0
- package/examples/Fran/303/247ais/Hue Bridge.json" +256 -0
- package/examples/Fran/303/247ais/Hue Brightness.json" +150 -0
- package/examples/Fran/303/247ais/Hue Buttons.json" +88 -0
- package/examples/Fran/303/247ais/Hue Contact.json" +150 -0
- package/examples/Fran/303/247ais/Hue Group.json" +658 -0
- package/examples/Fran/303/247ais/Hue Light.json" +893 -0
- package/examples/Fran/303/247ais/Hue Magic.json" +148 -0
- package/examples/Fran/303/247ais/Hue Motion.json" +150 -0
- package/examples/Fran/303/247ais/Hue Rules.json" +150 -0
- package/examples/Fran/303/247ais/Hue Scene.json" +178 -0
- package/examples/Fran/303/247ais/Hue Speaker.json" +274 -0
- package/examples/Fran/303/247ais/Hue Sync Box.json" +378 -0
- package/examples/Fran/303/247ais/Hue Temperature.json" +150 -0
- package/examples/Italiano/Hue Automation.json +176 -0
- package/examples/Italiano/Hue Bridge.json +256 -0
- package/examples/Italiano/Hue Brightness.json +150 -0
- package/examples/Italiano/Hue Buttons.json +88 -0
- package/examples/Italiano/Hue Contact.json +150 -0
- package/examples/Italiano/Hue Group.json +658 -0
- package/examples/Italiano/Hue Light.json +893 -0
- package/examples/Italiano/Hue Magic.json +148 -0
- package/examples/Italiano/Hue Motion.json +150 -0
- package/examples/Italiano/Hue Rules.json +150 -0
- package/examples/Italiano/Hue Scene.json +178 -0
- package/examples/Italiano/Hue Speaker.json +274 -0
- package/examples/Italiano/Hue Sync Box.json +378 -0
- package/examples/Italiano/Hue Temperature.json +150 -0
- package/examples/Nederlands/Hue Automation.json +176 -0
- package/examples/Nederlands/Hue Bridge.json +256 -0
- package/examples/Nederlands/Hue Brightness.json +150 -0
- package/examples/Nederlands/Hue Buttons.json +88 -0
- package/examples/Nederlands/Hue Contact.json +150 -0
- package/examples/Nederlands/Hue Group.json +658 -0
- package/examples/Nederlands/Hue Light.json +893 -0
- package/examples/Nederlands/Hue Magic.json +148 -0
- package/examples/Nederlands/Hue Motion.json +150 -0
- package/examples/Nederlands/Hue Rules.json +150 -0
- package/examples/Nederlands/Hue Scene.json +178 -0
- package/examples/Nederlands/Hue Speaker.json +274 -0
- package/examples/Nederlands/Hue Sync Box.json +378 -0
- package/examples/Nederlands/Hue Temperature.json +150 -0
- package/examples/Polski/Hue Automation.json +176 -0
- package/examples/Polski/Hue Bridge.json +256 -0
- package/examples/Polski/Hue Brightness.json +150 -0
- package/examples/Polski/Hue Buttons.json +88 -0
- package/examples/Polski/Hue Contact.json +150 -0
- package/examples/Polski/Hue Group.json +658 -0
- package/examples/Polski/Hue Light.json +893 -0
- package/examples/Polski/Hue Magic.json +148 -0
- package/examples/Polski/Hue Motion.json +150 -0
- package/examples/Polski/Hue Rules.json +150 -0
- package/examples/Polski/Hue Scene.json +178 -0
- package/examples/Polski/Hue Speaker.json +274 -0
- package/examples/Polski/Hue Sync Box.json +378 -0
- package/examples/Polski/Hue Temperature.json +150 -0
- package/examples/Portugu/303/252s/Hue Automation.json" +176 -0
- package/examples/Portugu/303/252s/Hue Bridge.json" +256 -0
- package/examples/Portugu/303/252s/Hue Brightness.json" +150 -0
- package/examples/Portugu/303/252s/Hue Buttons.json" +88 -0
- package/examples/Portugu/303/252s/Hue Contact.json" +150 -0
- package/examples/Portugu/303/252s/Hue Group.json" +658 -0
- package/examples/Portugu/303/252s/Hue Light.json" +893 -0
- package/examples/Portugu/303/252s/Hue Magic.json" +148 -0
- package/examples/Portugu/303/252s/Hue Motion.json" +150 -0
- package/examples/Portugu/303/252s/Hue Rules.json" +150 -0
- package/examples/Portugu/303/252s/Hue Scene.json" +178 -0
- package/examples/Portugu/303/252s/Hue Speaker.json" +274 -0
- package/examples/Portugu/303/252s/Hue Sync Box.json" +378 -0
- package/examples/Portugu/303/252s/Hue Temperature.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Automation.json" +176 -0
- package/examples/T/303/274rk/303/247e/Hue Bridge.json" +256 -0
- package/examples/T/303/274rk/303/247e/Hue Brightness.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Buttons.json" +88 -0
- package/examples/T/303/274rk/303/247e/Hue Contact.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Group.json" +658 -0
- package/examples/T/303/274rk/303/247e/Hue Light.json" +893 -0
- package/examples/T/303/274rk/303/247e/Hue Magic.json" +148 -0
- package/examples/T/303/274rk/303/247e/Hue Motion.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Rules.json" +150 -0
- package/examples/T/303/274rk/303/247e/Hue Scene.json" +178 -0
- package/examples/T/303/274rk/303/247e/Hue Speaker.json" +274 -0
- package/examples/T/303/274rk/303/247e/Hue Sync Box.json" +378 -0
- package/examples/T/303/274rk/303/247e/Hue Temperature.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Automation.json" +176 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Bridge.json" +256 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Brightness.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Buttons.json" +88 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Contact.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Group.json" +658 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Light.json" +893 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Magic.json" +148 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Motion.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Rules.json" +150 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Scene.json" +178 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Speaker.json" +274 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Sync Box.json" +378 -0
- package/examples//316/225/316/273/316/273/316/267/316/275/316/271/316/272/316/254/Hue Temperature.json" +150 -0
- package/huemagic/assets/huemagic-examples.gif +0 -0
- package/huemagic/hue-automation.html +218 -0
- package/huemagic/hue-automation.js +173 -0
- package/huemagic/hue-bridge-config.html +39 -32
- package/huemagic/hue-bridge-config.js +290 -99
- package/huemagic/hue-bridge.html +8 -8
- package/huemagic/hue-bridge.js +29 -4
- package/huemagic/hue-brightness.html +21 -9
- package/huemagic/hue-brightness.js +20 -10
- package/huemagic/hue-buttons.html +227 -11
- package/huemagic/hue-buttons.js +183 -28
- package/huemagic/hue-contact.html +218 -0
- package/huemagic/hue-contact.js +209 -0
- package/huemagic/hue-group.html +16 -9
- package/huemagic/hue-group.js +141 -179
- package/huemagic/hue-light.html +19 -12
- package/huemagic/hue-light.js +222 -167
- package/huemagic/hue-magic.html +3 -5
- package/huemagic/hue-motion.html +16 -9
- package/huemagic/hue-motion.js +37 -8
- package/huemagic/hue-rules.html +16 -9
- package/huemagic/hue-rules.js +16 -8
- package/huemagic/hue-scene.html +9 -5
- package/huemagic/hue-scene.js +52 -16
- package/huemagic/hue-speaker.html +218 -0
- package/huemagic/hue-speaker.js +257 -0
- package/huemagic/hue-syncbox-config.html +123 -0
- package/huemagic/hue-syncbox-config.js +179 -0
- package/huemagic/hue-syncbox.html +82 -0
- package/huemagic/hue-syncbox.js +274 -0
- package/huemagic/hue-temperature.html +21 -9
- package/huemagic/hue-temperature.js +18 -10
- package/huemagic/icons/hue-automation.png +0 -0
- package/huemagic/icons/hue-automation.svg +3 -0
- package/huemagic/icons/hue-contact.png +0 -0
- package/huemagic/icons/hue-contact.svg +4 -0
- package/huemagic/icons/hue-speaker.png +0 -0
- package/huemagic/icons/hue-speaker.svg +6 -0
- package/huemagic/icons/hue-syncbox.png +0 -0
- package/huemagic/icons/hue-syncbox.svg +7 -0
- package/huemagic/locales/de/hue-automation.html +59 -0
- package/huemagic/locales/de/hue-automation.json +33 -0
- package/huemagic/locales/de/hue-bridge-config.json +23 -12
- package/huemagic/locales/de/hue-bridge.html +7 -4
- package/huemagic/locales/de/hue-bridge.json +9 -10
- package/huemagic/locales/de/hue-brightness.html +9 -6
- package/huemagic/locales/de/hue-brightness.json +13 -9
- package/huemagic/locales/de/hue-buttons.html +7 -4
- package/huemagic/locales/de/hue-buttons.json +42 -8
- package/huemagic/locales/de/hue-contact.html +67 -0
- package/huemagic/locales/de/hue-contact.json +35 -0
- package/huemagic/locales/de/hue-group.html +17 -6
- package/huemagic/locales/de/hue-group.json +16 -9
- package/huemagic/locales/de/hue-light.html +6 -6
- package/huemagic/locales/de/hue-light.json +17 -9
- package/huemagic/locales/de/hue-magic.html +1 -1
- package/huemagic/locales/de/hue-magic.json +6 -8
- package/huemagic/locales/de/hue-motion.html +4 -4
- package/huemagic/locales/de/hue-motion.json +14 -9
- package/huemagic/locales/de/hue-rules.html +2 -2
- package/huemagic/locales/de/hue-rules.json +10 -9
- package/huemagic/locales/de/hue-scene.html +11 -3
- package/huemagic/locales/de/hue-scene.json +9 -9
- package/huemagic/locales/de/hue-speaker.html +80 -0
- package/huemagic/locales/de/hue-speaker.json +38 -0
- package/huemagic/locales/de/hue-syncbox-config.html +19 -0
- package/huemagic/locales/de/hue-syncbox-config.json +25 -0
- package/huemagic/locales/de/hue-syncbox.html +86 -0
- package/huemagic/locales/de/hue-syncbox.json +30 -0
- package/huemagic/locales/de/hue-temperature.html +7 -5
- package/huemagic/locales/de/hue-temperature.json +13 -9
- package/huemagic/locales/el/hue-automation.html +59 -0
- package/huemagic/locales/el/hue-automation.json +33 -0
- package/huemagic/locales/el/hue-bridge-config.html +31 -0
- package/huemagic/locales/el/hue-bridge-config.json +40 -0
- package/huemagic/locales/el/hue-bridge.html +96 -0
- package/huemagic/locales/el/hue-bridge.json +26 -0
- package/huemagic/locales/el/hue-brightness.html +70 -0
- package/huemagic/locales/el/hue-brightness.json +37 -0
- package/huemagic/locales/el/hue-buttons.html +61 -0
- package/huemagic/locales/el/hue-buttons.json +62 -0
- package/huemagic/locales/el/hue-contact.html +67 -0
- package/huemagic/locales/el/hue-contact.json +35 -0
- package/huemagic/locales/el/hue-group.html +87 -0
- package/huemagic/locales/el/hue-group.json +46 -0
- package/huemagic/locales/el/hue-light.html +97 -0
- package/huemagic/locales/el/hue-light.json +44 -0
- package/huemagic/locales/el/hue-magic.html +68 -0
- package/huemagic/locales/el/hue-magic.json +26 -0
- package/huemagic/locales/el/hue-motion.html +64 -0
- package/huemagic/locales/el/hue-motion.json +36 -0
- package/huemagic/locales/el/hue-rules.html +69 -0
- package/huemagic/locales/el/hue-rules.json +30 -0
- package/huemagic/locales/el/hue-scene.html +43 -0
- package/huemagic/locales/el/hue-scene.json +32 -0
- package/huemagic/locales/el/hue-speaker.html +80 -0
- package/huemagic/locales/el/hue-speaker.json +38 -0
- package/huemagic/locales/el/hue-syncbox-config.html +19 -0
- package/huemagic/locales/el/hue-syncbox-config.json +25 -0
- package/huemagic/locales/el/hue-syncbox.html +86 -0
- package/huemagic/locales/el/hue-syncbox.json +30 -0
- package/huemagic/locales/el/hue-temperature.html +69 -0
- package/huemagic/locales/el/hue-temperature.json +33 -0
- package/huemagic/locales/en/hue-automation.html +59 -0
- package/huemagic/locales/en/hue-automation.json +33 -0
- package/huemagic/locales/en/hue-bridge-config.json +40 -0
- package/huemagic/locales/{en-US → en}/hue-bridge.html +5 -2
- package/huemagic/locales/{en-US → en}/hue-bridge.json +8 -9
- package/huemagic/locales/{en-US → en}/hue-brightness.html +6 -3
- package/huemagic/locales/{en-US → en}/hue-brightness.json +11 -9
- package/huemagic/locales/{en-US → en}/hue-buttons.html +6 -3
- package/huemagic/locales/en/hue-buttons.json +62 -0
- package/huemagic/locales/en/hue-contact.html +67 -0
- package/huemagic/locales/en/hue-contact.json +35 -0
- package/huemagic/locales/{en-US → en}/hue-group.html +16 -5
- package/huemagic/locales/{en-US → en}/hue-group.json +15 -10
- package/huemagic/locales/{en-US → en}/hue-light.html +3 -3
- package/huemagic/locales/en/hue-light.json +44 -0
- package/huemagic/locales/{en-US → en}/hue-magic.html +1 -1
- package/huemagic/locales/{en-US → en}/hue-motion.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-motion.json +12 -9
- package/huemagic/locales/{en-US → en}/hue-rules.html +2 -2
- package/huemagic/locales/{en-US → en}/hue-rules.json +10 -9
- package/huemagic/locales/{en-US → en}/hue-scene.html +11 -3
- package/huemagic/locales/{en-US → en}/hue-scene.json +9 -9
- package/huemagic/locales/en/hue-speaker.html +80 -0
- package/huemagic/locales/en/hue-speaker.json +38 -0
- package/huemagic/locales/en/hue-syncbox-config.html +19 -0
- package/huemagic/locales/en/hue-syncbox-config.json +25 -0
- package/huemagic/locales/en/hue-syncbox.html +86 -0
- package/huemagic/locales/en/hue-syncbox.json +30 -0
- package/huemagic/locales/{en-US → en}/hue-temperature.html +4 -2
- package/huemagic/locales/{en-US → en}/hue-temperature.json +11 -9
- package/huemagic/locales/es/hue-automation.html +59 -0
- package/huemagic/locales/es/hue-automation.json +33 -0
- package/huemagic/locales/es/hue-bridge-config.html +31 -0
- package/huemagic/locales/es/hue-bridge-config.json +40 -0
- package/huemagic/locales/es/hue-bridge.html +96 -0
- package/huemagic/locales/es/hue-bridge.json +26 -0
- package/huemagic/locales/es/hue-brightness.html +70 -0
- package/huemagic/locales/es/hue-brightness.json +37 -0
- package/huemagic/locales/es/hue-buttons.html +61 -0
- package/huemagic/locales/es/hue-buttons.json +62 -0
- package/huemagic/locales/es/hue-contact.html +67 -0
- package/huemagic/locales/es/hue-contact.json +35 -0
- package/huemagic/locales/es/hue-group.html +87 -0
- package/huemagic/locales/es/hue-group.json +46 -0
- package/huemagic/locales/es/hue-light.html +97 -0
- package/huemagic/locales/es/hue-light.json +44 -0
- package/huemagic/locales/es/hue-magic.html +68 -0
- package/huemagic/locales/es/hue-magic.json +26 -0
- package/huemagic/locales/es/hue-motion.html +64 -0
- package/huemagic/locales/es/hue-motion.json +36 -0
- package/huemagic/locales/es/hue-rules.html +69 -0
- package/huemagic/locales/es/hue-rules.json +30 -0
- package/huemagic/locales/es/hue-scene.html +43 -0
- package/huemagic/locales/es/hue-scene.json +32 -0
- package/huemagic/locales/es/hue-speaker.html +80 -0
- package/huemagic/locales/es/hue-speaker.json +38 -0
- package/huemagic/locales/es/hue-syncbox-config.html +19 -0
- package/huemagic/locales/es/hue-syncbox-config.json +25 -0
- package/huemagic/locales/es/hue-syncbox.html +86 -0
- package/huemagic/locales/es/hue-syncbox.json +30 -0
- package/huemagic/locales/es/hue-temperature.html +69 -0
- package/huemagic/locales/es/hue-temperature.json +33 -0
- package/huemagic/locales/fr/hue-automation.html +59 -0
- package/huemagic/locales/fr/hue-automation.json +33 -0
- package/huemagic/locales/fr/hue-bridge-config.html +31 -0
- package/huemagic/locales/fr/hue-bridge-config.json +40 -0
- package/huemagic/locales/fr/hue-bridge.html +96 -0
- package/huemagic/locales/fr/hue-bridge.json +26 -0
- package/huemagic/locales/fr/hue-brightness.html +70 -0
- package/huemagic/locales/fr/hue-brightness.json +37 -0
- package/huemagic/locales/fr/hue-buttons.html +61 -0
- package/huemagic/locales/fr/hue-buttons.json +62 -0
- package/huemagic/locales/fr/hue-contact.html +67 -0
- package/huemagic/locales/fr/hue-contact.json +35 -0
- package/huemagic/locales/fr/hue-group.html +87 -0
- package/huemagic/locales/fr/hue-group.json +46 -0
- package/huemagic/locales/fr/hue-light.html +97 -0
- package/huemagic/locales/fr/hue-light.json +44 -0
- package/huemagic/locales/fr/hue-magic.html +68 -0
- package/huemagic/locales/fr/hue-magic.json +26 -0
- package/huemagic/locales/fr/hue-motion.html +64 -0
- package/huemagic/locales/fr/hue-motion.json +36 -0
- package/huemagic/locales/fr/hue-rules.html +69 -0
- package/huemagic/locales/fr/hue-rules.json +30 -0
- package/huemagic/locales/fr/hue-scene.html +43 -0
- package/huemagic/locales/fr/hue-scene.json +32 -0
- package/huemagic/locales/fr/hue-speaker.html +80 -0
- package/huemagic/locales/fr/hue-speaker.json +38 -0
- package/huemagic/locales/fr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/fr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/fr/hue-syncbox.html +86 -0
- package/huemagic/locales/fr/hue-syncbox.json +30 -0
- package/huemagic/locales/fr/hue-temperature.html +69 -0
- package/huemagic/locales/fr/hue-temperature.json +33 -0
- package/huemagic/locales/it/hue-automation.html +59 -0
- package/huemagic/locales/it/hue-automation.json +33 -0
- package/huemagic/locales/it/hue-bridge-config.html +31 -0
- package/huemagic/locales/it/hue-bridge-config.json +40 -0
- package/huemagic/locales/it/hue-bridge.html +96 -0
- package/huemagic/locales/it/hue-bridge.json +26 -0
- package/huemagic/locales/it/hue-brightness.html +70 -0
- package/huemagic/locales/it/hue-brightness.json +37 -0
- package/huemagic/locales/it/hue-buttons.html +61 -0
- package/huemagic/locales/it/hue-buttons.json +62 -0
- package/huemagic/locales/it/hue-contact.html +67 -0
- package/huemagic/locales/it/hue-contact.json +35 -0
- package/huemagic/locales/it/hue-group.html +87 -0
- package/huemagic/locales/it/hue-group.json +46 -0
- package/huemagic/locales/it/hue-light.html +97 -0
- package/huemagic/locales/it/hue-light.json +44 -0
- package/huemagic/locales/it/hue-magic.html +68 -0
- package/huemagic/locales/it/hue-magic.json +26 -0
- package/huemagic/locales/it/hue-motion.html +64 -0
- package/huemagic/locales/it/hue-motion.json +36 -0
- package/huemagic/locales/it/hue-rules.html +69 -0
- package/huemagic/locales/it/hue-rules.json +30 -0
- package/huemagic/locales/it/hue-scene.html +43 -0
- package/huemagic/locales/it/hue-scene.json +32 -0
- package/huemagic/locales/it/hue-speaker.html +80 -0
- package/huemagic/locales/it/hue-speaker.json +38 -0
- package/huemagic/locales/it/hue-syncbox-config.html +19 -0
- package/huemagic/locales/it/hue-syncbox-config.json +25 -0
- package/huemagic/locales/it/hue-syncbox.html +86 -0
- package/huemagic/locales/it/hue-syncbox.json +30 -0
- package/huemagic/locales/it/hue-temperature.html +69 -0
- package/huemagic/locales/it/hue-temperature.json +33 -0
- package/huemagic/locales/nl/hue-automation.html +59 -0
- package/huemagic/locales/nl/hue-automation.json +33 -0
- package/huemagic/locales/nl/hue-bridge-config.html +31 -0
- package/huemagic/locales/nl/hue-bridge-config.json +40 -0
- package/huemagic/locales/nl/hue-bridge.html +96 -0
- package/huemagic/locales/nl/hue-bridge.json +26 -0
- package/huemagic/locales/nl/hue-brightness.html +70 -0
- package/huemagic/locales/nl/hue-brightness.json +37 -0
- package/huemagic/locales/nl/hue-buttons.html +61 -0
- package/huemagic/locales/nl/hue-buttons.json +62 -0
- package/huemagic/locales/nl/hue-contact.html +67 -0
- package/huemagic/locales/nl/hue-contact.json +35 -0
- package/huemagic/locales/nl/hue-group.html +87 -0
- package/huemagic/locales/nl/hue-group.json +46 -0
- package/huemagic/locales/nl/hue-light.html +97 -0
- package/huemagic/locales/nl/hue-light.json +44 -0
- package/huemagic/locales/nl/hue-magic.html +68 -0
- package/huemagic/locales/nl/hue-magic.json +26 -0
- package/huemagic/locales/nl/hue-motion.html +64 -0
- package/huemagic/locales/nl/hue-motion.json +36 -0
- package/huemagic/locales/nl/hue-rules.html +69 -0
- package/huemagic/locales/nl/hue-rules.json +30 -0
- package/huemagic/locales/nl/hue-scene.html +43 -0
- package/huemagic/locales/nl/hue-scene.json +32 -0
- package/huemagic/locales/nl/hue-speaker.html +80 -0
- package/huemagic/locales/nl/hue-speaker.json +38 -0
- package/huemagic/locales/nl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/nl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/nl/hue-syncbox.html +86 -0
- package/huemagic/locales/nl/hue-syncbox.json +30 -0
- package/huemagic/locales/nl/hue-temperature.html +69 -0
- package/huemagic/locales/nl/hue-temperature.json +33 -0
- package/huemagic/locales/pl/hue-automation.html +59 -0
- package/huemagic/locales/pl/hue-automation.json +33 -0
- package/huemagic/locales/pl/hue-bridge-config.html +31 -0
- package/huemagic/locales/pl/hue-bridge-config.json +40 -0
- package/huemagic/locales/pl/hue-bridge.html +96 -0
- package/huemagic/locales/pl/hue-bridge.json +26 -0
- package/huemagic/locales/pl/hue-brightness.html +70 -0
- package/huemagic/locales/pl/hue-brightness.json +37 -0
- package/huemagic/locales/pl/hue-buttons.html +61 -0
- package/huemagic/locales/pl/hue-buttons.json +62 -0
- package/huemagic/locales/pl/hue-contact.html +67 -0
- package/huemagic/locales/pl/hue-contact.json +35 -0
- package/huemagic/locales/pl/hue-group.html +87 -0
- package/huemagic/locales/pl/hue-group.json +46 -0
- package/huemagic/locales/pl/hue-light.html +97 -0
- package/huemagic/locales/pl/hue-light.json +44 -0
- package/huemagic/locales/pl/hue-magic.html +68 -0
- package/huemagic/locales/pl/hue-magic.json +26 -0
- package/huemagic/locales/pl/hue-motion.html +64 -0
- package/huemagic/locales/pl/hue-motion.json +36 -0
- package/huemagic/locales/pl/hue-rules.html +69 -0
- package/huemagic/locales/pl/hue-rules.json +30 -0
- package/huemagic/locales/pl/hue-scene.html +43 -0
- package/huemagic/locales/pl/hue-scene.json +32 -0
- package/huemagic/locales/pl/hue-speaker.html +80 -0
- package/huemagic/locales/pl/hue-speaker.json +38 -0
- package/huemagic/locales/pl/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pl/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pl/hue-syncbox.html +86 -0
- package/huemagic/locales/pl/hue-syncbox.json +30 -0
- package/huemagic/locales/pl/hue-temperature.html +69 -0
- package/huemagic/locales/pl/hue-temperature.json +33 -0
- package/huemagic/locales/pt/hue-automation.html +59 -0
- package/huemagic/locales/pt/hue-automation.json +33 -0
- package/huemagic/locales/pt/hue-bridge-config.html +31 -0
- package/huemagic/locales/pt/hue-bridge-config.json +40 -0
- package/huemagic/locales/pt/hue-bridge.html +96 -0
- package/huemagic/locales/pt/hue-bridge.json +26 -0
- package/huemagic/locales/pt/hue-brightness.html +70 -0
- package/huemagic/locales/pt/hue-brightness.json +37 -0
- package/huemagic/locales/pt/hue-buttons.html +61 -0
- package/huemagic/locales/pt/hue-buttons.json +62 -0
- package/huemagic/locales/pt/hue-contact.html +67 -0
- package/huemagic/locales/pt/hue-contact.json +35 -0
- package/huemagic/locales/pt/hue-group.html +87 -0
- package/huemagic/locales/pt/hue-group.json +46 -0
- package/huemagic/locales/pt/hue-light.html +97 -0
- package/huemagic/locales/pt/hue-light.json +44 -0
- package/huemagic/locales/pt/hue-magic.html +68 -0
- package/huemagic/locales/pt/hue-magic.json +26 -0
- package/huemagic/locales/pt/hue-motion.html +64 -0
- package/huemagic/locales/pt/hue-motion.json +36 -0
- package/huemagic/locales/pt/hue-rules.html +69 -0
- package/huemagic/locales/pt/hue-rules.json +30 -0
- package/huemagic/locales/pt/hue-scene.html +43 -0
- package/huemagic/locales/pt/hue-scene.json +32 -0
- package/huemagic/locales/pt/hue-speaker.html +80 -0
- package/huemagic/locales/pt/hue-speaker.json +38 -0
- package/huemagic/locales/pt/hue-syncbox-config.html +19 -0
- package/huemagic/locales/pt/hue-syncbox-config.json +25 -0
- package/huemagic/locales/pt/hue-syncbox.html +86 -0
- package/huemagic/locales/pt/hue-syncbox.json +30 -0
- package/huemagic/locales/pt/hue-temperature.html +69 -0
- package/huemagic/locales/pt/hue-temperature.json +33 -0
- package/huemagic/locales/tr/hue-automation.html +59 -0
- package/huemagic/locales/tr/hue-automation.json +33 -0
- package/huemagic/locales/tr/hue-bridge-config.html +31 -0
- package/huemagic/locales/tr/hue-bridge-config.json +40 -0
- package/huemagic/locales/tr/hue-bridge.html +96 -0
- package/huemagic/locales/tr/hue-bridge.json +26 -0
- package/huemagic/locales/tr/hue-brightness.html +70 -0
- package/huemagic/locales/tr/hue-brightness.json +37 -0
- package/huemagic/locales/tr/hue-buttons.html +61 -0
- package/huemagic/locales/tr/hue-buttons.json +62 -0
- package/huemagic/locales/tr/hue-contact.html +67 -0
- package/huemagic/locales/tr/hue-contact.json +35 -0
- package/huemagic/locales/tr/hue-group.html +87 -0
- package/huemagic/locales/tr/hue-group.json +46 -0
- package/huemagic/locales/tr/hue-light.html +97 -0
- package/huemagic/locales/tr/hue-light.json +44 -0
- package/huemagic/locales/tr/hue-magic.html +68 -0
- package/huemagic/locales/tr/hue-magic.json +26 -0
- package/huemagic/locales/tr/hue-motion.html +64 -0
- package/huemagic/locales/tr/hue-motion.json +36 -0
- package/huemagic/locales/tr/hue-rules.html +69 -0
- package/huemagic/locales/tr/hue-rules.json +30 -0
- package/huemagic/locales/tr/hue-scene.html +43 -0
- package/huemagic/locales/tr/hue-scene.json +32 -0
- package/huemagic/locales/tr/hue-speaker.html +80 -0
- package/huemagic/locales/tr/hue-speaker.json +38 -0
- package/huemagic/locales/tr/hue-syncbox-config.html +19 -0
- package/huemagic/locales/tr/hue-syncbox-config.json +25 -0
- package/huemagic/locales/tr/hue-syncbox.html +86 -0
- package/huemagic/locales/tr/hue-syncbox.json +30 -0
- package/huemagic/locales/tr/hue-temperature.html +69 -0
- package/huemagic/locales/tr/hue-temperature.json +33 -0
- package/huemagic/utils/api.js +158 -54
- package/huemagic/utils/color.js +20 -2
- package/huemagic/utils/merge.js +3 -2
- package/huemagic/utils/messages.js +506 -120
- package/huemagic/utils/sse.js +51 -0
- package/huemagic/utils/syncbox.js +84 -0
- package/package.json +19 -11
- package/.github/FUNDING.yml +0 -2
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -30
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/.github/workflows/npm.yml +0 -18
- package/huemagic/locales/en-US/hue-bridge-config.json +0 -29
- package/huemagic/locales/en-US/hue-buttons.json +0 -34
- package/huemagic/locales/en-US/hue-light.json +0 -38
- /package/huemagic/locales/{en-US → en}/hue-bridge-config.html +0 -0
- /package/huemagic/locales/{en-US → en}/hue-magic.json +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-automation">
|
|
2
|
+
Węzeł „Hue Automatyzacja” włącza i wyłącza automatyzacje utworzone w aplikacji Philips Hue.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne automatyzacje. Jeśli znasz już identyfikator automatyzacji, możesz go też wpisać ręcznie. Możesz nadać automatyzacji 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. 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 wybranej automatyzacji. 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 automatyzacji 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 automatyzacji, przekazując jej identyfikator jako ciąg znaków w `msg.topic` razem z ustawieniami.
|
|
9
|
+
|
|
10
|
+
### Włączanie / wyłączanie automatyzacji
|
|
11
|
+
|
|
12
|
+
Wyłączona automatyzacja pozostaje na bridge i można ją w każdej chwili ponownie włączyć. Przekaż w tym celu obiekt o następującej zawartości:
|
|
13
|
+
|
|
14
|
+
: payload (boolean): `true` włącza automatyzację, `false` ją wyłącza
|
|
15
|
+
: enabled (boolean): Jak wyżej, jeśli wolisz przekazać obiekt
|
|
16
|
+
: toggle (boolean | any): Przełącza między stanem włączonym a wyłączonym, zależnie od poprzedniego stanu
|
|
17
|
+
|
|
18
|
+
### Komunikaty stanu węzła
|
|
19
|
+
|
|
20
|
+
Gdy tylko automatyzacja się zmieni, węzeł zwraca następujący komunikat stanu:
|
|
21
|
+
|
|
22
|
+
#### Obiekt stanu w `msg.payload`
|
|
23
|
+
|
|
24
|
+
: enabled (boolean): Wskazuje, czy automatyzacja jest włączona
|
|
25
|
+
: running (boolean): `true`, gdy bridge faktycznie wykonuje automatyzację
|
|
26
|
+
: status (string | boolean): Bieżący stan. Może przyjmować wartości `initializing`, `running`, `disabled` lub `errored`
|
|
27
|
+
: lastError (string | boolean): Ostatni błąd zgłoszony przez bridge albo `false`
|
|
28
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
29
|
+
|
|
30
|
+
#### Informacje o automatyzacji w `msg.info`
|
|
31
|
+
|
|
32
|
+
: id (string): Wskazuje identyfikator automatyzacji
|
|
33
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator automatyzacji
|
|
34
|
+
: name (string | boolean): Nazwa nadana automatyzacji w aplikacji Philips Hue
|
|
35
|
+
: type (string): Typ zasobu (zawsze `automation`)
|
|
36
|
+
: script (string | boolean): Identyfikator skryptu zachowania stojącego za automatyzacją
|
|
37
|
+
|
|
38
|
+
#### Konfiguracja w `msg.configuration`
|
|
39
|
+
|
|
40
|
+
Zawiera ustawienia automatyzacji w postaci zapisanej przez aplikację Philips Hue. Struktura zależy od typu automatyzacji i jest przekazywana bez zmian.
|
|
41
|
+
|
|
42
|
+
#### Zmiany stanu w `msg.updated`
|
|
43
|
+
|
|
44
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu automatyzacji. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
45
|
+
|
|
46
|
+
#### Poprzedni stan automatyzacji w `msg.lastState`
|
|
47
|
+
|
|
48
|
+
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`.
|
|
49
|
+
|
|
50
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
51
|
+
|
|
52
|
+
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.
|
|
53
|
+
|
|
54
|
+
### Przykłady z HueMagic
|
|
55
|
+
|
|
56
|
+
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.
|
|
57
|
+
|
|
58
|
+

|
|
59
|
+
</script>
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-automation": {
|
|
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 automatyzacji",
|
|
13
|
+
"searching": "Wyszukiwanie automatyzacji…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnej automatyzacji!",
|
|
15
|
+
"automation": "Automatyzacja"
|
|
16
|
+
},
|
|
17
|
+
"node": {
|
|
18
|
+
"not-configured": "nieskonfigurowany",
|
|
19
|
+
"init": "inicjalizacja…",
|
|
20
|
+
"universal": "tryb uniwersalny",
|
|
21
|
+
"command": "wykonywanie polecenia…",
|
|
22
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
23
|
+
"title": "Hue Automatyzacja",
|
|
24
|
+
"enabled": "włączona",
|
|
25
|
+
"disabled": "wyłączona",
|
|
26
|
+
"errored": "błąd",
|
|
27
|
+
"input": "włącz / wyłącz",
|
|
28
|
+
"output": "automatyzacja",
|
|
29
|
+
"error-no-id": "Podaj prawidłowy identyfikator: automatyzacja.",
|
|
30
|
+
"error-not-available": "Automatyzacja 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."
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge">
|
|
2
|
+
Łączy się z mostkiem Philips Hue Bridge.
|
|
3
|
+
|
|
4
|
+
### Nazwa
|
|
5
|
+
|
|
6
|
+
Możesz nadać bridge własną nazwę wewnętrzną albo zachować nazwę domyślną.
|
|
7
|
+
|
|
8
|
+
### Adres IP i port bridge
|
|
9
|
+
|
|
10
|
+
Wpisz adres IP Hue Bridge ręcznie albo naciśnij przycisk, aby wyświetlić wszystkie dostępne lokalnie mostki (zalecana jest statyczna konfiguracja IP na Hue Bridge). Opcjonalnie możesz też określić inny port, dopisując dwukropek do adresu IP.
|
|
11
|
+
|
|
12
|
+
### Klucz API
|
|
13
|
+
|
|
14
|
+
Wpisz klucz API Hue Bridge ręcznie albo naciśnij przycisk, aby utworzyć nowy klucz. Aby utworzyć nowy klucz, w ciągu 20 sekund naciśnij fizyczny przycisk na bridge, co zakończy proces.
|
|
15
|
+
|
|
16
|
+
### Procesy robocze
|
|
17
|
+
|
|
18
|
+
Wartość „Procesy robocze” określa, ile równoległych poleceń HueMagic może wysyłać do bridge jednocześnie. Zgodnie z oficjalną dokumentacją Philips Hue Bridge nie należy wysyłać więcej niż 10 poleceń na sekundę, w przeciwnym razie bridge może nie nadążyć z przetwarzaniem żądań i zwróci błędy.
|
|
19
|
+
|
|
20
|
+
Jeśli jednocześnie zostanie wysłanych więcej poleceń niż ustawiona tu wartość, HueMagic wykona je po kolei, gdy tylko przepustowość znów na to pozwoli.
|
|
21
|
+
|
|
22
|
+
Ustaw wartość poniżej 10 (np. od 4 do 7), jeśli wysyłasz polecenia do bridge również poza HueMagic, aby zachować zalecaną przez Philips Hue przepustowość poleceń na sekundę.
|
|
23
|
+
|
|
24
|
+
### Automatyczne aktualizacje oprogramowania układowego
|
|
25
|
+
|
|
26
|
+
HueMagic okresowo sprawdza dostępność aktualizacji oprogramowania układowego Philips Hue i instaluje je automatycznie, gdy są dostępne. Możesz wyłączyć to zachowanie, klikając odpowiednie pole wyboru.
|
|
27
|
+
|
|
28
|
+
### Wyłączanie powiadomień
|
|
29
|
+
|
|
30
|
+
Po włączeniu tego ustawienia wszystkie węzły powiązane z tym bridge przestaną otrzymywać automatyczne komunikaty stanu.
|
|
31
|
+
</script>
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge-config": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"apikey": "Klucz API",
|
|
6
|
+
"missing-ip": "Brak adresu IP Hue Bridge…",
|
|
7
|
+
"disable-events": "Wyłącz zdarzenia",
|
|
8
|
+
"disable-events-info": "Wyłącz zdarzenia we wszystkich węzłach",
|
|
9
|
+
"searching": "Wyszukiwanie urządzeń Hue Bridge…",
|
|
10
|
+
"none-found": "Nie znaleziono żadnego Hue Bridge!",
|
|
11
|
+
"unknown-error": "Coś poszło nie tak. Spróbuj ponownie.",
|
|
12
|
+
"invalid": "Niestety. Wybrany Hue Bridge jest nieprawidłowy: ",
|
|
13
|
+
"error-select-first": "Wybierz swój Hue Bridge, zanim utworzysz nowego użytkownika!",
|
|
14
|
+
"waiting": "oczekiwanie na przycisk parowania…",
|
|
15
|
+
"new-user-press": "Naciśnij teraz przycisk na swoim Hue Bridge, aby utworzyć nowego użytkownika!",
|
|
16
|
+
"retry": "Nie wykryto naciśnięcia przycisku. Spróbuj ponownie…",
|
|
17
|
+
"success": "Użytkownik został utworzony!",
|
|
18
|
+
"connecting": "Łączenie z bridge…",
|
|
19
|
+
"autoupdates": "Włącz automatyczne aktualizacje oprogramowania układowego",
|
|
20
|
+
"bridge-ip": "Adres IP bridge",
|
|
21
|
+
"worker": "Procesy robocze"
|
|
22
|
+
},
|
|
23
|
+
"node": {
|
|
24
|
+
"title": "Hue Bridge",
|
|
25
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
26
|
+
"initializing": "Inicjalizacja bridge (__bridge__)…",
|
|
27
|
+
"connected": "Połączono z bridge",
|
|
28
|
+
"processing": "Przetwarzanie zasobów bridge…",
|
|
29
|
+
"initial-emit": "Pierwsza emisja stanów zasobów…",
|
|
30
|
+
"keep-updated": "Aktualizowanie węzłów…",
|
|
31
|
+
"subscribing": "Subskrybowanie zdarzeń bridge…",
|
|
32
|
+
"unsubscribing": "Anulowanie subskrypcji zdarzeń bridge…",
|
|
33
|
+
"no-legacy-api": "Bridge nie odpowiada na starym API, kontynuacja bez jego konfiguracji…",
|
|
34
|
+
"request-error": "Błąd podczas pobierania informacji z bridge (__error__)",
|
|
35
|
+
"connection-lost": "Utracono połączenie z bridge (__reason__). Ponowna próba za __seconds__ s…",
|
|
36
|
+
"resources-changed": "Zasoby na bridge uległy zmianie. Ponowne wczytywanie…",
|
|
37
|
+
"not-connected": "Bridge nie jest połączony."
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-bridge-node">
|
|
2
|
+
Węzeł „Hue Bridge” to uniwersalny węzeł, który potrafi zwracać wszystkie ustawienia bridge oraz komunikaty stanu pozostałych węzłów.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Najpierw wybierz żądany Hue Bridge. Opcjonalnie możesz wyłączyć wszystkie automatyczne komunikaty stanu tego węzła ustawieniem „Pomijaj globalne aktualizacje i komunikaty urządzeń w tym węźle”. Węzeł przestanie wtedy wysyłać aktualizacje urządzeń.
|
|
7
|
+
|
|
8
|
+
Możesz też zdecydować, aby komunikaty inicjalizacji wszystkich węzłów nie były pomijane przy starcie Node-RED. Po włączeniu tego ustawienia po każdym wdrożeniu otrzymasz komunikat stanu ze wszystkich zasobów połączonych z bridge.
|
|
9
|
+
|
|
10
|
+
### Odczyt ustawień i stanu
|
|
11
|
+
|
|
12
|
+
Zwraca bieżący stan i ustawienia bridge, gdy tylko do węzła zostanie wysłany poniższy komunikat. Możesz też nacisnąć przycisk w interfejsie Node-RED, bez wcześniejszego wysyłania komunikatu do węzła.
|
|
13
|
+
|
|
14
|
+
: payload (boolean): Zwraca bieżący stan bridge
|
|
15
|
+
|
|
16
|
+
### Uruchamianie skanowania TouchLink
|
|
17
|
+
|
|
18
|
+
Za pomocą „skanowania TouchLink” możesz sparować z bridge nowe lub stare urządzenia (np. po przywróceniu ustawień fabrycznych). Przekaż w tym celu obiekt `msg.payload` o następującej zawartości:
|
|
19
|
+
|
|
20
|
+
: touchLink (boolean): Paruje stare lub nowe urządzenia z bridge
|
|
21
|
+
|
|
22
|
+
### Odczyt wszystkich urządzeń i zasobów
|
|
23
|
+
|
|
24
|
+
Poleceniem „fetch” możesz uzyskać listę wybranych urządzeń aktualnie połączonych z bridge. Przekaż w tym celu obiekt `msg.payload` o następującej zawartości:
|
|
25
|
+
|
|
26
|
+
: fetch (string | array [string, ...]): Przyjmuje wartości `light`, `group`, `button`, `motion`, `temperature`, `light_level` lub `rule`
|
|
27
|
+
|
|
28
|
+
### Zmiana ustawień Hue Bridge
|
|
29
|
+
|
|
30
|
+
Poniższym poleceniem możesz zmienić wybrane ustawienia bridge. Przekaż do węzła obiekt `msg.payload.settings` z następującymi opcjami:
|
|
31
|
+
|
|
32
|
+
> [!WARNING]
|
|
33
|
+
> Zmiana ustawień sieciowych wymaga ponownej konfiguracji bridge w HueMagic.
|
|
34
|
+
|
|
35
|
+
: name (string): Zmienia nazwę bridge; musi zawierać od 4 do 16 znaków
|
|
36
|
+
: zigbeeChannel (int): Zmienia bieżący kanał ZigBee (`11`, `15`, `20`, `25` lub `0`)
|
|
37
|
+
: ipAddress (string): Zmienia adres IP w ustawieniach sieciowych
|
|
38
|
+
: dhcpEnabled (boolean): `true` włącza DHCP w ustawieniach sieciowych, `false` je wyłącza
|
|
39
|
+
: netmask (string): Zmienia maskę sieci w ustawieniach sieciowych
|
|
40
|
+
: gateway (string): Określa bramę w ustawieniach sieciowych
|
|
41
|
+
: proxyAddress (string): Ustawia adres serwera proxy w ustawieniach sieciowych
|
|
42
|
+
: proxyPort (string | int): Określa port serwera proxy w ustawieniach sieciowych
|
|
43
|
+
: timeZone (string): Zmienia strefę czasową ustawioną na bridge
|
|
44
|
+
|
|
45
|
+
### Komunikaty stanu węzła
|
|
46
|
+
|
|
47
|
+
Komunikaty stanu węzła „Hue Bridge” są dynamiczne. Choć mają określony schemat, ich zawartość może się różnić w zależności od tego, jaka akcja została właśnie wykonana na węźle.
|
|
48
|
+
|
|
49
|
+
#### Obiekt stanu w `msg.payload`
|
|
50
|
+
|
|
51
|
+
: id (string): Unikatowy identyfikator Hue Bridge
|
|
52
|
+
: name (string): Aktualnie ustawiona nazwa
|
|
53
|
+
: factoryNew (boolean): Wskazuje, czy bridge jest fabrycznie nowy
|
|
54
|
+
: replacesBridgeId (string | boolean): Zwraca stary identyfikator bridge (jeśli przeprowadzono migrację) albo `false`
|
|
55
|
+
: dataStoreVersion (string): Wersja magazynu danych
|
|
56
|
+
: starterKitId (string | boolean): Nazwa zestawu startowego utworzonego fabrycznie albo `false`
|
|
57
|
+
: softwareVersion (string): Wersja oprogramowania bridge
|
|
58
|
+
: apiVersion (string): Wersja API bridge
|
|
59
|
+
: zigbeeChannel (int): Aktualnie używany kanał ZigBee
|
|
60
|
+
: macAddress (string): Adres MAC bridge
|
|
61
|
+
: ipAddress (string): Adres IP bridge
|
|
62
|
+
: dhcpEnabled (boolean): Wskazuje, czy DHCP jest włączone
|
|
63
|
+
: netmask (string): Maska sieci bridge
|
|
64
|
+
: gateway (string): Brama bridge
|
|
65
|
+
: proxyAddress (string | boolean): Aktualnie używany adres serwera proxy albo `false`
|
|
66
|
+
: proxyPort (string): Aktualnie używany port serwera proxy
|
|
67
|
+
: utcTime (string): Czas UTC na bridge
|
|
68
|
+
: timeZone (string): Strefa czasowa ustawiona na bridge
|
|
69
|
+
: localTime (string): Lokalna strefa czasowa
|
|
70
|
+
: portalServicesEnabled (boolean): Wskazuje, czy usługi portalu są włączone
|
|
71
|
+
: portalConnected (boolean): Wskazuje, czy bridge jest połączony z portalem
|
|
72
|
+
: linkButtonEnabled (boolean): Wskazuje, czy przycisk parowania jest aktywny
|
|
73
|
+
: touchlinkEnabled (boolean): Wskazuje, czy TouchLink jest włączony
|
|
74
|
+
: autoUpdatesEnabled (boolean): Wskazuje, czy HueMagic będzie automatycznie sprawdzać aktualizacje
|
|
75
|
+
: users (array [object, ...]): Lista wszystkich użytkowników bridge (tablica obiektów)
|
|
76
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
77
|
+
: model (object): Zawiera informacje o modelu bridge w polach `id`, `manufacturer` i `name`
|
|
78
|
+
|
|
79
|
+
#### Wyniki „fetch” w `msg.results` (opcjonalnie)
|
|
80
|
+
|
|
81
|
+
Jeśli w węźle użyto polecenia „fetch”, bridge zwraca odpowiednie wyniki w obiekcie `msg.results`. Obiekt zawiera odpytane grupy zasobów, a te z kolei wszystkie odpowiadające im zasoby w postaci tablicy.
|
|
82
|
+
|
|
83
|
+
#### Globalne komunikaty stanu w `msg.updated` (opcjonalnie)
|
|
84
|
+
|
|
85
|
+
O ile nie zostanie to wyłączone, węzeł zwraca zaktualizowany komunikat stanu dla każdego zasobu na bridge. Komunikat w `msg.updated` odpowiada schematowi danego zasobu i różni się w zależności od typu urządzenia, które zaktualizowano jako ostatnie.
|
|
86
|
+
|
|
87
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
88
|
+
|
|
89
|
+
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.
|
|
90
|
+
|
|
91
|
+
### Przykłady z HueMagic
|
|
92
|
+
|
|
93
|
+
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.
|
|
94
|
+
|
|
95
|
+

|
|
96
|
+
</script>
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-bridge": {
|
|
3
|
+
"config": {
|
|
4
|
+
"name": "Nazwa",
|
|
5
|
+
"input-name": "Nazwa Hue Bridge",
|
|
6
|
+
"skipglobalevents-info": "Pomijaj globalne aktualizacje i komunikaty urządzeń w tym węźle",
|
|
7
|
+
"sendinitevents-node": "Nie pomijaj komunikatu inicjalizacji",
|
|
8
|
+
"bridge": "Bridge"
|
|
9
|
+
},
|
|
10
|
+
"node": {
|
|
11
|
+
"title": "Hue Bridge",
|
|
12
|
+
"not-configured": "nieskonfigurowany",
|
|
13
|
+
"connecting": "łączenie…",
|
|
14
|
+
"connected": "połączono",
|
|
15
|
+
"starting-tl": "uruchamianie TouchLink…",
|
|
16
|
+
"started-tl": "TouchLink uruchomiony…",
|
|
17
|
+
"f-resources": "pobieranie zasobów…",
|
|
18
|
+
"updating-settings": "aktualizowanie ustawień…",
|
|
19
|
+
"settings-updated": "ustawienia zaktualizowane",
|
|
20
|
+
"input": "ustawienia / pobranie",
|
|
21
|
+
"output": "informacje o bridge",
|
|
22
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
23
|
+
"error-not-available": "Bridge nie jest jeszcze dostępny. Poczekaj, aż HueMagic nawiąże z nim połączenie."
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-brightness">
|
|
2
|
+
Węzeł „Hue Jasność” odczytuje bieżący poziom oświetlenia z odpowiedniego czujnika podłączonego 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
|
+
Ustawienie „Ciemno poniżej” określa, od jakiego poziomu oświetlenia węzeł uznaje pomieszczenie za ciemne. Pokój z jasną lampą wymaga zupełnie innej wartości niż korytarz bez okna, więc po prostu wpisz liczbę luksów pasującą do Twojego pomieszczenia. Wartości `dark` i `daylight` będą się wtedy kierować Twoim ustawieniem zamiast domyślnymi 90 luksami.
|
|
9
|
+
|
|
10
|
+
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.
|
|
11
|
+
|
|
12
|
+
### Odczyt stanu
|
|
13
|
+
|
|
14
|
+
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.
|
|
15
|
+
|
|
16
|
+
: status (boolean): Zwraca bieżący stan czujnika
|
|
17
|
+
|
|
18
|
+
### Włączanie / wyłączanie czujnika
|
|
19
|
+
|
|
20
|
+
W razie potrzeby czujnik można włączać i wyłączać zdalnie. Wyłączony czujnik nie rejestruje już zmian poziomu oświetlenia i w związku z tym ich nie zgłasza. Przekaż w tym celu obiekt o następującej zawartości:
|
|
21
|
+
|
|
22
|
+
: payload (boolean): `true` włącza czujnik, `false` go wyłącza
|
|
23
|
+
|
|
24
|
+
### Komunikaty stanu węzła
|
|
25
|
+
|
|
26
|
+
Gdy tylko czujnik wykryje zmianę poziomu oświetlenia, zwracany jest następujący komunikat stanu:
|
|
27
|
+
|
|
28
|
+
#### Obiekt stanu w `msg.payload`
|
|
29
|
+
|
|
30
|
+
: active (boolean): Wskazuje, czy czujnik jest włączony, czy wyłączony
|
|
31
|
+
: reachable (boolean | string): `true`, jeśli czujnik jest połączony z bridge, `unknown`, jeśli stan połączenia jest inny
|
|
32
|
+
: 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`
|
|
33
|
+
: lux (int): Wskazuje rzeczywistą wartość LUX poziomu oświetlenia
|
|
34
|
+
: lightLevel (int): Wskazuje natężenie światła mierzone przez czujnik
|
|
35
|
+
: dark (boolean): `true`, jeśli zarejestrowano ciemność
|
|
36
|
+
: daylight (boolean): `true`, jeśli zarejestrowano światło dzienne
|
|
37
|
+
: darkThreshold (int): Poziom oświetlenia w luksach, poniżej którego węzeł zgłasza ciemność
|
|
38
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
39
|
+
|
|
40
|
+
#### Informacje o czujniku w `msg.info`
|
|
41
|
+
|
|
42
|
+
: id (string): Wskazuje nowy identyfikator czujnika
|
|
43
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator czujnika
|
|
44
|
+
: uniqueId (string): Unikatowy identyfikator czujnika
|
|
45
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
46
|
+
: name (string): Aktualnie ustawiona nazwa czujnika
|
|
47
|
+
: type (string): Typ czujnika (zawsze `light_level`)
|
|
48
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe czujnika
|
|
49
|
+
: battery (float): Bieżący poziom naładowania baterii czujnika
|
|
50
|
+
: batteryState (string): Bieżący stan poziomu baterii. Może przyjmować wartości `normal`, `low` lub `critical`
|
|
51
|
+
: model (object): Zawiera informacje o modelu czujnika w polach `id`, `manufacturer`, `name`, `type` i `certified`
|
|
52
|
+
|
|
53
|
+
#### Zmiany stanu w `msg.updated`
|
|
54
|
+
|
|
55
|
+
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.
|
|
56
|
+
|
|
57
|
+
#### Poprzedni stan czujnika w `msg.lastState`
|
|
58
|
+
|
|
59
|
+
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`.
|
|
60
|
+
|
|
61
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+
### Przykłady z HueMagic
|
|
66
|
+
|
|
67
|
+
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.
|
|
68
|
+
|
|
69
|
+

|
|
70
|
+
</script>
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-brightness": {
|
|
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 jasności",
|
|
13
|
+
"searching": "Wyszukiwanie czujników…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnego czujnika jasności!",
|
|
15
|
+
"sensor": "Czujnik",
|
|
16
|
+
"all": "Wszystkie grupy / światła",
|
|
17
|
+
"darkthreshold": "Ciemno poniżej"
|
|
18
|
+
},
|
|
19
|
+
"node": {
|
|
20
|
+
"not-configured": "nieskonfigurowany",
|
|
21
|
+
"deactivated": "wyłączony",
|
|
22
|
+
"init": "inicjalizacja…",
|
|
23
|
+
"not-reachable": "nieosiągalny",
|
|
24
|
+
"universal": "tryb uniwersalny",
|
|
25
|
+
"command": "wykonywanie polecenia…",
|
|
26
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
27
|
+
"title": "Hue Jasność",
|
|
28
|
+
"lux": "__lux__ lx",
|
|
29
|
+
"lux-dark": "__lux__ lx (ciemno)",
|
|
30
|
+
"lux-daylight": "__lux__ lx (światło dzienne)",
|
|
31
|
+
"input": "zapytanie o stan",
|
|
32
|
+
"output": "jasność (zmieniona)",
|
|
33
|
+
"error-no-id": "Podaj prawidłowy identyfikator: czujnik.",
|
|
34
|
+
"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."
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-buttons">
|
|
2
|
+
Węzeł „Hue Przyciski” odbiera zdarzenia przełączania z urządzeń wejściowych podłączonych do bridge.
|
|
3
|
+
|
|
4
|
+
### Konfiguracja
|
|
5
|
+
|
|
6
|
+
Wybierz skonfigurowany Hue Bridge i kliknij przycisk wyszukiwania, aby znaleźć wszystkie dostępne przełączniki i przyciski. Jeśli znasz już identyfikator przełącznika lub przycisku, możesz go też wpisać ręcznie. Możesz nadać urządzeniu 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ć zdarzenia przełączania. 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 przełącznika lub przycisku. 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 przełącznika ani przycisku 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.
|
|
9
|
+
|
|
10
|
+
W sekcji „Dodatkowe wyjścia” możesz dodać jedno wyjście na każdy zakres przycisków, z których każde jest wyzwalane przez określone działanie (początek naciśnięcia, koniec krótkiego naciśnięcia, koniec długiego naciśnięcia po osiągnięciu skonfigurowanego czasu trwania, lub cyklicznie podczas trwania długiego naciśnięcia). Pierwsze wyjście węzła nadal zawsze otrzymuje każde zdarzenie, tak jak dotychczas; dodatkowe wyjścia otrzymują kopię komunikatu tylko wtedy, gdy pasują zarówno zakres przycisków, jak i działanie.
|
|
11
|
+
|
|
12
|
+
### Odczyt stanu
|
|
13
|
+
|
|
14
|
+
Zwraca bieżący stan przełącznika lub przycisku, 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 przełącznika lub przycisku
|
|
17
|
+
|
|
18
|
+
### Komunikaty stanu węzła
|
|
19
|
+
|
|
20
|
+
Gdy tylko zostanie naciśnięty przycisk, węzeł zwraca następujący komunikat stanu:
|
|
21
|
+
|
|
22
|
+
#### Obiekt stanu w `msg.payload`
|
|
23
|
+
|
|
24
|
+
: reachable (boolean | string): `true`, jeśli przełącznik lub przycisk jest połączony z bridge, `unknown`, jeśli stan połączenia jest inny
|
|
25
|
+
: 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`
|
|
26
|
+
: button (int | boolean): Numeryczny identyfikator ostatnio naciśniętego przycisku albo `false`, jeśli nie naciśnięto żadnego
|
|
27
|
+
: action (string | boolean): `false`, jeśli nie naciśnięto żadnego przycisku, albo `initial_press`, `repeat`, `short_release`, `long_press`, `long_release` lub `double_short_release` w postaci ciągu znaków
|
|
28
|
+
: rotation (object | boolean): `false`, jeśli urządzenie nie ma pokrętła lub nim nie obrócono; w przeciwnym razie obiekt z polami `action` (`start` lub `repeat`), `direction` (`clock_wise` lub `counter_clock_wise`), `clockwise` (wartość logiczna), `steps` (1000 kroków to pełny obrót), `degrees` i `duration` w milisekundach
|
|
29
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
30
|
+
|
|
31
|
+
#### Informacje o przełączniku lub przycisku w `msg.info`
|
|
32
|
+
|
|
33
|
+
: id (string): Wskazuje nowy identyfikator przełącznika lub przycisku
|
|
34
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator przełącznika lub przycisku
|
|
35
|
+
: uniqueId (string): Unikatowy identyfikator przełącznika lub przycisku
|
|
36
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
37
|
+
: name (string): Aktualnie ustawiona nazwa przełącznika lub przycisku
|
|
38
|
+
: type (string): Typ przełącznika lub przycisku (zawsze `button`)
|
|
39
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe przełącznika lub przycisku
|
|
40
|
+
: battery (float | boolean): Bieżący poziom naładowania baterii przełącznika lub przycisku, `false`, gdy urządzenie nie ma baterii
|
|
41
|
+
: 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
|
|
42
|
+
: model (object): Zawiera informacje o modelu przełącznika lub przycisku w polach `id`, `manufacturer`, `name`, `type` i `certified`
|
|
43
|
+
|
|
44
|
+
#### Zmiany stanu w `msg.updated`
|
|
45
|
+
|
|
46
|
+
Wymienia w postaci obiektu poszczególne parametry, które zmieniły się względem poprzedniego stanu przełącznika lub przycisku. Jeśli nie zarejestrowano żadnych zmian, obiekt jest pusty.
|
|
47
|
+
|
|
48
|
+
#### Poprzedni stan przełącznika lub przycisku w `msg.lastState`
|
|
49
|
+
|
|
50
|
+
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`.
|
|
51
|
+
|
|
52
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
53
|
+
|
|
54
|
+
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.
|
|
55
|
+
|
|
56
|
+
### Przykłady z HueMagic
|
|
57
|
+
|
|
58
|
+
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.
|
|
59
|
+
|
|
60
|
+

|
|
61
|
+
</script>
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-buttons": {
|
|
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 przycisku",
|
|
13
|
+
"searching": "Wyszukiwanie Hue Buttons…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnego Hue Button!",
|
|
15
|
+
"button": "Przycisk",
|
|
16
|
+
"add-outputs": "Dodatkowe wyjścia...",
|
|
17
|
+
"add-outputs-range": "Zakres przycisków...",
|
|
18
|
+
"add-outputs-newflow": "Uruchom nowy przepływ przy...",
|
|
19
|
+
"add-outputs-nr": "Wyjście nr",
|
|
20
|
+
"add-outputs-btn-from": "Od...",
|
|
21
|
+
"add-outputs-btn-to": "Do...",
|
|
22
|
+
"add-outputs-startpress": "Początek naciśnięcia",
|
|
23
|
+
"add-outputs-shortpress": "Koniec krótkiego naciśnięcia",
|
|
24
|
+
"add-outputs-longpress": "Koniec długiego naciśnięcia po >",
|
|
25
|
+
"add-outputs-longpresswhile": "Długie naciśnięcie (podczas trzymania)",
|
|
26
|
+
"add-outputs-btn-addnew": "dodaj nowy zakres przycisków",
|
|
27
|
+
"outputlabel-btn-from": "przycisk #__from__",
|
|
28
|
+
"outputlabel-btn-from-to": "przyciski #__from__ do #__to__",
|
|
29
|
+
"outputlabel-btn-on": "przy:",
|
|
30
|
+
"outputlabel-btn-startpress": "Początek naciśnięcia",
|
|
31
|
+
"outputlabel-btn-shortpress": "Koniec krótkiego naciśnięcia",
|
|
32
|
+
"outputlabel-btn-longpress": "Długie naciśnięcie (>__duration__s)",
|
|
33
|
+
"outputlabel-btn-longpresswhile": "Długie naciśnięcie (podczas trzymania)"
|
|
34
|
+
},
|
|
35
|
+
"node": {
|
|
36
|
+
"not-configured": "nieskonfigurowany",
|
|
37
|
+
"universal": "tryb uniwersalny",
|
|
38
|
+
"command": "wykonywanie polecenia…",
|
|
39
|
+
"statusmsg": "Stan odczytany pomyślnie…",
|
|
40
|
+
"title": "Hue Przyciski",
|
|
41
|
+
"waiting": "oczekiwanie…",
|
|
42
|
+
"button-on": "On",
|
|
43
|
+
"action-pressed": "naciśnięty",
|
|
44
|
+
"action-holded": "przytrzymany",
|
|
45
|
+
"action-shortreleased": "krótko zwolniony",
|
|
46
|
+
"action-longreleased": "zwolniony po przytrzymaniu",
|
|
47
|
+
"action-repeated": "powtórzony",
|
|
48
|
+
"action-doublepressed": "naciśnięty dwukrotnie",
|
|
49
|
+
"action-started": "początek naciśnięcia",
|
|
50
|
+
"dial-clockwise": "Pokrętło ↻ __degrees__°",
|
|
51
|
+
"dial-counterclockwise": "Pokrętło ↺ __degrees__°",
|
|
52
|
+
"button-status": "Przycisk nr __button__ (__action__)",
|
|
53
|
+
"button-status-duration": "Przycisk nr __button__ (__action__, __duration__s)",
|
|
54
|
+
"input": "zapytanie o stan",
|
|
55
|
+
"output": "naciśnięty przycisk",
|
|
56
|
+
"error-no-id": "Podaj prawidłowy identyfikator: przełącznik.",
|
|
57
|
+
"error-not-available": "Przełącznik 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.",
|
|
58
|
+
"error-no-switchmode": "To urządzenie nie ma konfigurowalnego trybu przełącznika.",
|
|
59
|
+
"error-invalid-switchmode": "Nieprawidłowy tryb przełącznika. To urządzenie obsługuje: __modes__"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
<script type="text/markdown" data-help-name="hue-contact">
|
|
2
|
+
Węzeł „Hue Kontakt” informuje, czy czujnik kontaktowy (np. Hue Secure) jest obecnie otwarty, czy zamknięty.
|
|
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ż zmian kontaktu i w związku z tym ich 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 zmieni się stan kontaktu, 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
|
+
: contact (string | boolean): `contact`, jeśli kontakt jest zamknięty, `no_contact`, jeśli jest otwarty, lub `false`, jeśli czujnik jeszcze nic nie zgłosił
|
|
32
|
+
: changed (string | boolean): Czas ostatniej zmiany kontaktu (ISO 8601) lub `false`, jeśli czujnik jeszcze nic nie zgłosił
|
|
33
|
+
: tampered (boolean): Dostępne tylko w czujnikach z wykrywaniem sabotażu; `true`, jeśli czujnik został naruszony
|
|
34
|
+
: updated (string): Czas ostatniej aktualizacji zasobu przez HueMagic (ISO 8601)
|
|
35
|
+
|
|
36
|
+
#### Informacje o czujniku w `msg.info`
|
|
37
|
+
|
|
38
|
+
: id (string): Wskazuje nowy identyfikator czujnika
|
|
39
|
+
: idV1 (string | boolean): Wskazuje stary identyfikator czujnika
|
|
40
|
+
: uniqueId (string): Unikatowy identyfikator czujnika
|
|
41
|
+
: deviceId (string): Unikatowy identyfikator urządzenia
|
|
42
|
+
: name (string): Aktualnie ustawiona nazwa czujnika
|
|
43
|
+
: type (string): Typ czujnika (zawsze `contact`)
|
|
44
|
+
: softwareVersion (string): Bieżące oprogramowanie układowe czujnika
|
|
45
|
+
: battery (float | boolean): Bieżący poziom naładowania baterii czujnika, `false`, gdy urządzenie nie ma baterii
|
|
46
|
+
: 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
|
|
47
|
+
: model (object): Zawiera informacje o modelu czujnika w polach `id`, `manufacturer`, `name`, `type` i `certified`
|
|
48
|
+
|
|
49
|
+
#### Zmiany stanu w `msg.updated`
|
|
50
|
+
|
|
51
|
+
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.
|
|
52
|
+
|
|
53
|
+
#### Poprzedni stan czujnika w `msg.lastState`
|
|
54
|
+
|
|
55
|
+
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`.
|
|
56
|
+
|
|
57
|
+
#### Ostatnie polecenie w `msg.command` (opcjonalnie)
|
|
58
|
+
|
|
59
|
+
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.
|
|
60
|
+
|
|
61
|
+
### Przykłady z HueMagic
|
|
62
|
+
|
|
63
|
+
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.
|
|
64
|
+
|
|
65
|
+

|
|
66
|
+
|
|
67
|
+
</script>
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hue-contact": {
|
|
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 kontaktowych…",
|
|
14
|
+
"none-found": "Nie znaleziono żadnego czujnika kontaktowego!",
|
|
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 Kontakt",
|
|
26
|
+
"contact": "kontakt",
|
|
27
|
+
"no-contact": "brak kontaktu",
|
|
28
|
+
"input": "włącz / wyłącz / stan",
|
|
29
|
+
"output": "kontakt",
|
|
30
|
+
"tampered": "naruszony",
|
|
31
|
+
"error-no-id": "Podaj prawidłowy identyfikator: czujnik.",
|
|
32
|
+
"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."
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|