node-red-contrib-huemagic 3.0.0 → 4.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.
Files changed (138) hide show
  1. package/README.md +764 -603
  2. package/examples/Hue Bridge.json +189 -35
  3. package/examples/Hue Brightness.json +124 -14
  4. package/examples/Hue Buttons.json +88 -0
  5. package/examples/Hue Group.json +575 -63
  6. package/examples/Hue Light.json +805 -58
  7. package/examples/Hue Magic.json +69 -24
  8. package/examples/Hue Motion.json +110 -42
  9. package/examples/Hue Rules.json +105 -37
  10. package/examples/Hue Scene.json +145 -28
  11. package/examples/Hue Temperature.json +124 -14
  12. package/huemagic/animations/019-christmas.json +30 -0
  13. package/huemagic/animations/020-superhero.json +56 -0
  14. package/huemagic/animations/021-neoncity.json +52 -0
  15. package/huemagic/animations/previews/006-fireplace.gif +0 -0
  16. package/huemagic/animations/previews/013-strobo.gif +0 -0
  17. package/huemagic/animations/previews/014-randomrainbow.gif +0 -0
  18. package/huemagic/animations/previews/016-milkyway.gif +0 -0
  19. package/huemagic/animations/previews/018-forest.gif +0 -0
  20. package/huemagic/animations/previews/019-christmas.gif +0 -0
  21. package/huemagic/animations/previews/020-superhero.gif +0 -0
  22. package/huemagic/animations/previews/021-neoncity.gif +0 -0
  23. package/huemagic/hue-bridge-config.html +105 -61
  24. package/huemagic/hue-bridge-config.js +628 -319
  25. package/huemagic/hue-bridge.html +41 -21
  26. package/huemagic/hue-bridge.js +190 -396
  27. package/huemagic/hue-brightness.html +127 -59
  28. package/huemagic/hue-brightness.js +105 -55
  29. package/huemagic/hue-buttons.html +197 -0
  30. package/huemagic/hue-buttons.js +152 -0
  31. package/huemagic/hue-group.html +137 -66
  32. package/huemagic/hue-group.js +387 -403
  33. package/huemagic/hue-light.html +132 -64
  34. package/huemagic/hue-light.js +544 -378
  35. package/huemagic/hue-magic.html +36 -20
  36. package/huemagic/hue-magic.js +49 -27
  37. package/huemagic/hue-motion.html +127 -59
  38. package/huemagic/hue-motion.js +99 -101
  39. package/huemagic/hue-rules.html +121 -50
  40. package/huemagic/hue-rules.js +83 -63
  41. package/huemagic/hue-scene.html +95 -114
  42. package/huemagic/hue-scene.js +64 -95
  43. package/huemagic/hue-temperature.html +127 -59
  44. package/huemagic/hue-temperature.js +114 -56
  45. package/huemagic/icons/hue-bridge.png +0 -0
  46. package/huemagic/icons/hue-bridge.svg +3 -0
  47. package/huemagic/icons/hue-brightness.png +0 -0
  48. package/huemagic/icons/hue-brightness.svg +11 -0
  49. package/huemagic/icons/hue-buttons.png +0 -0
  50. package/huemagic/icons/hue-buttons.svg +4 -0
  51. package/huemagic/icons/hue-group.png +0 -0
  52. package/huemagic/icons/hue-group.svg +12 -0
  53. package/huemagic/icons/hue-light.png +0 -0
  54. package/huemagic/icons/hue-light.svg +3 -0
  55. package/huemagic/icons/hue-magic.png +0 -0
  56. package/huemagic/icons/hue-magic.svg +3 -0
  57. package/huemagic/icons/hue-motion.png +0 -0
  58. package/huemagic/icons/hue-motion.svg +9 -0
  59. package/huemagic/icons/hue-rules.png +0 -0
  60. package/huemagic/icons/hue-rules.svg +4 -0
  61. package/huemagic/icons/hue-scene.png +0 -0
  62. package/huemagic/icons/hue-scene.svg +5 -0
  63. package/huemagic/icons/hue-temperature.png +0 -0
  64. package/huemagic/icons/hue-temperature.svg +7 -0
  65. package/huemagic/locales/de/hue-bridge-config.html +17 -12
  66. package/huemagic/locales/de/hue-bridge-config.json +7 -5
  67. package/huemagic/locales/de/hue-bridge.html +64 -145
  68. package/huemagic/locales/de/hue-bridge.json +6 -17
  69. package/huemagic/locales/de/hue-brightness.html +50 -50
  70. package/huemagic/locales/de/hue-brightness.json +6 -5
  71. package/huemagic/locales/de/hue-buttons.html +58 -0
  72. package/huemagic/locales/de/{hue-button.json → hue-buttons.json} +7 -11
  73. package/huemagic/locales/de/hue-group.html +46 -122
  74. package/huemagic/locales/de/hue-group.json +5 -5
  75. package/huemagic/locales/de/hue-light.html +68 -116
  76. package/huemagic/locales/de/hue-light.json +5 -5
  77. package/huemagic/locales/de/hue-magic.html +65 -57
  78. package/huemagic/locales/de/hue-magic.json +2 -1
  79. package/huemagic/locales/de/hue-motion.html +47 -50
  80. package/huemagic/locales/de/hue-motion.json +5 -5
  81. package/huemagic/locales/de/hue-rules.html +68 -73
  82. package/huemagic/locales/de/hue-rules.json +5 -2
  83. package/huemagic/locales/de/hue-scene.html +23 -32
  84. package/huemagic/locales/de/hue-scene.json +5 -2
  85. package/huemagic/locales/de/hue-temperature.html +51 -48
  86. package/huemagic/locales/de/hue-temperature.json +6 -5
  87. package/huemagic/locales/en-US/hue-bridge-config.html +17 -12
  88. package/huemagic/locales/en-US/hue-bridge-config.json +5 -3
  89. package/huemagic/locales/en-US/hue-bridge.html +64 -145
  90. package/huemagic/locales/en-US/hue-bridge.json +5 -16
  91. package/huemagic/locales/en-US/hue-brightness.html +50 -50
  92. package/huemagic/locales/en-US/hue-brightness.json +5 -2
  93. package/huemagic/locales/en-US/hue-buttons.html +58 -0
  94. package/huemagic/locales/en-US/{hue-button.json → hue-buttons.json} +6 -4
  95. package/huemagic/locales/en-US/hue-group.html +46 -122
  96. package/huemagic/locales/en-US/hue-group.json +4 -2
  97. package/huemagic/locales/en-US/hue-light.html +68 -116
  98. package/huemagic/locales/en-US/hue-light.json +4 -2
  99. package/huemagic/locales/en-US/hue-magic.html +65 -57
  100. package/huemagic/locales/en-US/hue-magic.json +3 -1
  101. package/huemagic/locales/en-US/hue-motion.html +47 -50
  102. package/huemagic/locales/en-US/hue-motion.json +4 -2
  103. package/huemagic/locales/en-US/hue-rules.html +68 -73
  104. package/huemagic/locales/en-US/hue-rules.json +5 -2
  105. package/huemagic/locales/en-US/hue-scene.html +23 -32
  106. package/huemagic/locales/en-US/hue-scene.json +5 -2
  107. package/huemagic/locales/en-US/hue-temperature.html +51 -48
  108. package/huemagic/locales/en-US/hue-temperature.json +5 -2
  109. package/huemagic/utils/api.js +290 -0
  110. package/huemagic/utils/color.js +382 -0
  111. package/{utils → huemagic/utils}/merge.js +4 -6
  112. package/huemagic/utils/messages.js +447 -0
  113. package/package.json +9 -15
  114. package/examples/Hue Button.json +0 -40
  115. package/examples/Hue Switch.json +0 -40
  116. package/examples/Hue Tap.json +0 -40
  117. package/huemagic/hue-button.html +0 -132
  118. package/huemagic/hue-button.js +0 -143
  119. package/huemagic/hue-switch.html +0 -132
  120. package/huemagic/hue-switch.js +0 -163
  121. package/huemagic/hue-tap.html +0 -132
  122. package/huemagic/hue-tap.js +0 -123
  123. package/huemagic/icons/hue-button.png +0 -0
  124. package/huemagic/icons/hue-switch.png +0 -0
  125. package/huemagic/icons/hue-tap.png +0 -0
  126. package/huemagic/locales/de/hue-button.html +0 -64
  127. package/huemagic/locales/de/hue-switch.html +0 -64
  128. package/huemagic/locales/de/hue-switch.json +0 -35
  129. package/huemagic/locales/de/hue-tap.html +0 -55
  130. package/huemagic/locales/de/hue-tap.json +0 -27
  131. package/huemagic/locales/en-US/hue-button.html +0 -64
  132. package/huemagic/locales/en-US/hue-switch.html +0 -64
  133. package/huemagic/locales/en-US/hue-switch.json +0 -35
  134. package/huemagic/locales/en-US/hue-tap.html +0 -55
  135. package/huemagic/locales/en-US/hue-tap.json +0 -27
  136. package/utils/color.js +0 -9
  137. package/utils/messages.js +0 -658
  138. package/utils/rgb.js +0 -188
@@ -1,60 +1,68 @@
1
- <script type="text/x-red" data-help-name="hue-magic">
2
- <p>Hue Magic Node für Animationen</p>
3
-
4
- <h3>Einrichtung</h3>
5
- <p>Wählen Sie aus, ob die Animation auf unbestimmte Zeit wiederholt werden soll und / oder ob der vorherige Zustand wiederhergestellt werden soll, nachdem die Animation beendet / gestoppt wurde. Wählen Sie eine der mitgelieferten Animationen aus und verbinden Sie den Knoten mit einer Gruppe oder einem Licht.</p>
6
-
7
- <h3>Starten / Stoppen</h3>
8
- <p>Startet oder stoppt eine Animation basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
9
- <dl class="message-properties">
10
- <dt>true<span class="property-type">boolean</span></dt>
11
- <dd>Startet die Animation</dd>
12
-
13
- <dt>false<span class="property-type">boolean</span></dt>
14
- <dd>Stoppt die Animation</dd>
15
- </dl>
16
-
17
- <h3>Eigene Animationen</h3>
18
- <p>Alternativ können Sie eigene Animationen erstellen und anwenden. Dazu erstellen Sie ein Array und übergeben es mit den folgenden Parametern an <b>msg.payload.steps</b>.</p>
19
- <dl class="message-properties">
20
- <dt>delay<span class="property-type">int</span></dt>
21
- <dd>Führe diesen Frame nach der Verzögerung aus (in Millisekunden)</dd>
22
-
23
- <dt>animation<span class="property-type">object</span></dt>
24
- <dd>Fügen Sie hier alle Parameter ein, die animiert werden sollen. Unterstützt alle Werte des Nodes "Hue Licht" und "Hue Gruppe".</dd>
25
- </dl>
26
-
27
- <h3>Spezielle Kommandos</h3>
28
- <p>Manchmal ist es sinnvoll, Animationen ungeordnet abzuspielen. Zum Beispiel, um Feuer realistischer zu imitieren. Dazu erstellen Sie ein Objekt und übergeben es mit den folgenden Parametern an <b>msg.payload.specials</b>.</p>
29
- <dl class="message-properties">
30
- <dt>randomOrder<span class="property-type">boolean</span></dt>
31
- <dd>Führt die Schritte in zufälliger Reihenfolge aus</dd>
32
- </dl>
33
-
34
- <h4>Beispiel (eigene Animation)</h4>
35
- <code>
36
- <pre>
37
- {
38
- "animate": true,
39
- "steps": [
40
- {
41
- "delay": 500,
42
- "animation": {
43
- "hex": "#FF0000",
44
- "transitionTime": 1
45
- }
46
- },
47
- {
48
- "delay": 500,
49
- "animation": {
50
- "hex": "#0000FF",
51
- "transitionTime": 1
1
+ <script type="text/markdown" data-help-name="hue-magic">
2
+ Der „Hue Magic“-Node kann komplexe und benutzerdefinierte Animationen auf Lichtern und Gruppen anwenden.
3
+
4
+ ### Einrichtung
5
+
6
+ Vergeben Sie zunächst dem Node einen Namen, um Ihre Animation in der Node-RED-Oberfläche klar einzuordnen. Anschließend haben Sie die Wahl zwischen den Optionen „Wiederholen“ und „Wiederherstellen“. Wählen Sie die Option „Wiederholen“, wenn Sie Ihre Animation auf einem Licht oder einer Gruppe endlos abspielen möchten, bis Sie sie manuell stoppen. Wenn Sie den vorherigen Zustand der Zielressource (Licht / Gruppe) nach Beendigung der Animation wiederherstellen möchten, setzen Sie den Haken auf „Wiederherstellen“. Andernfalls bleibt der letzte Frame der Animation auf der jeweiligen Ressource stehen.
7
+
8
+ Weiter unten haben Sie die Wahl aus vorgefertigten Animationen von HueMagic. Klicken Sie Ihre gewünschte Animation an, um Sie einzustellen.
9
+
10
+ ### Animation starten / stoppen
11
+
12
+ Um eine Animation abzuspielen oder zu stoppen, übergeben Sie ein Objekt mit folgenden Inhalt an den Node:
13
+
14
+ : payload (boolean) : `true`, startet die Animation, `false`, stoppt die Animation
15
+
16
+ ### Eigene Animationen
17
+
18
+ Wenn Sie dem Node eine eigene Animation übergeben, wird die vorausgewählte, vorgefertigte Animation (wenn eingestellt) vorübergehend durch Ihre ersetzt. Eigene HueMagic-Animationen sind eine Folge von Befehlen, die in einem Array zusammengefasst wurden. Jedes Array-Element bildet einen Schritt – wobei ein Schritt auch aus mehreren Frames bestehen kann (Übergangseffekte).
19
+
20
+ Erstellen Sie ein `Array` mit den jeweiligen Animationsschritten in Form eines Objekts und übergeben Sie es unter `msg.payload.steps` an den HueMagic-Node.
21
+
22
+ : delay (int) : Anzahl der Millisekunden die gewartet werden soll, bis dieser Schritt ausgeführt wird
23
+ : animation (object) : Das Objekt beinhaltet die Aktion(en), die in diesem Schritt durchgeführt werden sollen. Identische Parameter wie bei den „Hue Licht“- & „Hue Gruppe“-Nodes
24
+
25
+ ### Beispiel einer eigenen Animation
26
+
27
+ Dieses Beispiel zeigt, wie eine einfache Animation aussehen könnte. Im ersten Schritt wird der Delay von 500 Millisekunden abgewartet. Anschließend wird über eine Zeitspanne von einer Sekunde langsam die Farbe des Lichts auf rot umgestellt. Sobald das Licht vollständig zu rot übergegangen ist, wird der zweite Schritt ausgeführt, der auch einen Delay von 500 Millisekunden hat. Abschließend wechselt die Farbe zu blau.
28
+
29
+ Wenn Sie eingestellt haben, dass die Animation unendlich abgespielt werden soll, wird dieser Prozess endlos wiederholt, bis Sie die Animation manuell stoppen oder den Node neu deployen.
30
+
31
+ Übergeben Sie das folgende Objekt in `msg.payload` um die Beispielanimation abzuspielen.
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
+ }
52
49
  }
53
- }
54
- ]
55
- }</pre>
56
- </code>
50
+ ]
51
+ }
52
+
53
+ ### Spezielle Kommandos
54
+
55
+ Manchmal macht es Sinn eine Animation ungeordnet abzuspielen – z. B. wenn Feuer realistischer imitiert werden soll. Um die einzelnen Schritte ungeordnet und zufällig abzuspielen, können Sie folgenden Befehl an `msg.payload.specials` übergeben:
56
+
57
+ : randomOrder (boolean | any) : `true`, aktiviert die zufällige Wiedergabe der einzelnen Animationsschritte
58
+
59
+ ### Tipps und Hinweise
60
+
61
+ Dieser Node gibt keine Statusnachrichten aus. Bitte verbinden Sie den Ausgangspunkt des Nodes mit einer Gruppe statt einzelnen Lichtern, wenn Sie mehrere Lichter gleichzeitig mit derselben Animation animieren möchten. Die Vorschauen der vorgefertigten Animationen sind eine Simulation und können von der tatsächlichen Animation auf einer Ressource geringfügig (Timing, Farben) abweichen.
62
+
63
+ ### Beispiele von HueMagic
64
+
65
+ HueMagic stellt einige Beispielkonfigurationen zu diesem Node zur Verfügung. Um ein fertiges Beispiel in Ihrer Node-RED-Oberfläche zu importieren, klicken Sie auf das Menü-Icon von Node-RED, wählen Sie dann „Import“ und navigieren Sie in der Sidebar des Popups auf „Beispiele“. Wählen Sie anschließend den HueMagic-Ordner aus und Ihren gewünschten Node, um einen Beispielflow zu importieren.
57
66
 
58
- <h3>Tipps und Hinweise</h3>
59
- <p>Verbinden Sie den Hue Magic Node mit nur einem Licht- oder einem gesamten Gruppen-Node, um API-Requests auf der Hue Bridge zu sparen. Die Animationsvorschau kann geringfügig vom tatsächlichen Ergebnis auf einer Lampe / Gruppe abweichen.</p>
67
+ ![examples](https://user-images.githubusercontent.com/5302050/148681840-2275c15a-7c0c-4a37-b817-199608e571d2.gif)
60
68
  </script>
@@ -21,7 +21,8 @@
21
21
  "animating": "animiere…",
22
22
  "stopped": "gestoppt",
23
23
  "input": "Starte Animation",
24
- "output": "Licht oder Gruppe"
24
+ "output": "Licht oder Gruppe",
25
+ "playmsg": "Animation gestartet…"
25
26
  }
26
27
  }
27
28
  }
@@ -1,67 +1,64 @@
1
- <script type="text/x-red" data-help-name="hue-motion">
2
- <p>Hue Bewegungssensor zur Steuerung des Bewegungssensors und zum Empfang von Bewegungsereignissen.</p>
1
+ <script type="text/markdown" data-help-name="hue-motion">
2
+ Der „Hue Bewegungssensor“-Node kann Bewegungen von einem geeigneten Sensor auf der Bridge registrieren und mitteilen.
3
3
 
4
- <h3>Einrichtung</h3>
5
- <p>Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Bewegungssensoren zu finden. Geben Sie den Namen des Sensors manuell ein oder behalten Sie den Standardgerätenamen bei. Beachten Sie, dass Ereignisse nur gesendet werden, wenn eine Bewegung erkannt wird, wenn eine Bewegung stoppt oder wenn der Bewegungssensor den Befehl "Aktivieren / Deaktivieren" empfängt. Bei Bedarf können alle Statusaktualisierungen dieses Nodes durch Aktivieren der Option "Mitteilungen ignorieren" ignoriert werden. Wenn Sie diesen Node im Universalmodus betreiben, können Sie optional auch auswählen, ob dieser Node alle Mitteilungen von anderen Nodes desselben Typs empfangen und ausgeben soll.</p>
4
+ ### Einrichtung
6
5
 
7
- <h3>Aktivieren / Deaktivieren</h3>
8
- <p>Aktiviert oder deaktiviert den Bewegungssensor oder ruft den Status ab basierend auf den übergebenen <b>msg</b>-Werten von:</p>
9
- <dl class="message-properties">
10
- <dt>true<span class="property-type">boolean</span></dt>
11
- <dd>Aktiviert den Bewegungssensor</dd>
6
+ Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Sensoren zu finden. Wenn Sie die ID des Sensors bereits kennen, können Sie sie auch manuell an dieser Stelle eintragen. Sie können intern entweder einen neuen Namen für den Sensor vergeben oder den vordefinierten Namen des Sensors wählen. Optional können Sie auch alle automatischen Statusmeldungen dieses Nodes deaktivieren, indem Sie die Einstellung „Ignoriere die Mitteilungen des Nodes“ anklicken. Der Node wird anschließend keine Geräteupdates mehr ausgeben. Alternativ können Sie auch auswählen, ob die Initialisierungsnachricht des Nodes beim Start von Node-RED nicht unterdrückt werden soll. Wenn Sie diese Einstellung aktivieren, erhalten Sie nach jedem Deploy eine Statusmeldung des aktuell ausgewählten Sensors.
12
7
 
13
- <dt>false<span class="property-type">boolean</span></dt>
14
- <dd>Deaktiviert den Bewegungssensor</dd>
8
+ Wenn Sie keinen Sensor auswählen und die Node-Konfiguration so anwenden, arbeitet der Node im sogenannten „Universalmodus“. In diesem Modus empfängt der Node alle Statusmitteilungen desselben Typs und gibt diese aus. Sie können aber auch Einstellungen im Universalmodus auf einen bestimmten Sensor anwenden, indem Sie die entsprechende Sensor-ID als String in `msg.topic` zusammen mit Ihren Einstellungen übergeben.
15
9
 
16
- <dt class="optional">status<span class="property-type">any</span></dt>
17
- <dd>Gibt den aktuellen Status des Nodes zurück, ohne eine Aktion durchzuführen</dd>
18
- </dl>
10
+ ### Status abrufen
19
11
 
20
- <h3>Bewegungsereignisse</h3>
21
- <p>Die vom Bewegungssensor gesendete Ereignismeldung enthält die folgenden Daten im Objekt <b>msg.payload</b>:</p>
22
- <dl class="message-properties">
23
- <dt>active<span class="property-type">boolean</span></dt>
24
- <dd>Aktueller Sensorzustand</dd>
12
+ Gibt den aktuellen Status des Sensors aus, sobald ein `msg.payload`-Objekt mit folgendem Inhalt an den Node übergeben wurde. Sie können alternativ auch den Button in der Node-RED-Oberfläche betätigen, ohne vorher eine Nachricht an den Node übergeben zu müssen.
25
13
 
26
- <dt>motion<span class="property-type">boolean</span></dt>
27
- <dd>Zeigt an, ob eine Bewegung erkannt wurde oder nicht</dd>
14
+ : status (boolean) : Gibt den aktuellen Status des Sensors zurück
28
15
 
29
- <dt>updated<span class="property-type">string</span></dt>
30
- <dd>ISO 8601 Datum der zuletzt erkannten Bewegung</dd>
31
- </dl>
16
+ ### Sensor ein- / ausschalten
32
17
 
33
- <h3>Zusätzliche Sensorinformationen</h3>
34
- <p>Zusätzliche Informationen zum Sensor werden an das Objekt <b>msg.info</b> gesendet:</p>
35
- <dl class="message-properties">
36
- <dt>id<span class="property-type">int</span></dt>
37
- <dd>Numerische ID des Sensors, wie auf der Bridge registriert</dd>
18
+ Der Sensor kann im Bedarfsfall ferngesteuert ein- und ausgeschalten werden. Wenn der Sensor ausgeschaltet wurde, registriert er keine Bewegungen mehr und gibt diese entsprechend auch nicht mehr aus. Übergeben Sie dafür ein Objekt mit folgendem Inhalt:
38
19
 
39
- <dt>uniqueId<span class="property-type">string</span></dt>
40
- <dd>Eindeutige ID des Sensors (normalerweise Hardware-ID)</dd>
20
+ : payload (boolean) : `true` schaltet den Sensor ein, `false` schaltet ihn aus
41
21
 
42
- <dt>name<span class="property-type">string</span></dt>
43
- <dd>Name des Sensors</dd>
22
+ ### Statusnachrichten des Nodes
44
23
 
45
- <dt>type<span class="property-type">string</span></dt>
46
- <dd>Sensor-Typ (z.B. Daylight, CLIPTemperature, ZGPSwitch)</dd>
24
+ Sobald der Sensor eine Bewegung registriert hat, wird folgende Statusnachricht vom Node zurückgegeben:
47
25
 
48
- <dt>softwareVersion<span class="property-type">float</span></dt>
49
- <dd>Softwareversion des Sensors</dd>
26
+ #### Statusobjekt unter `msg.payload`
50
27
 
51
- <dt>battery<span class="property-type">int</span></dt>
52
- <dd>Aktueller Batteriestand des Sensors in Prozent</dd>
28
+ : active (boolean) : Gibt an, ob der Sensor ein- oder ausgeschaltet ist
29
+ : reachable (boolean | string) : `true` wenn der Sensor mit der Bridge verbunden ist, `unknown` wenn der Verbindungsstatus abweicht
30
+ : connectionStatus (string) : Der aktuelle Verbindugsstatus mit der Bridge in Form eines Strings. Kann `connected`, `disconnected`, `connectivity_issue` oder `unidirectional_incoming` als Wert beinhalten
31
+ : motion (boolean) : Gibt an, ob eine Bewegung registriert wurde
32
+ : updated (string) : Zeitpunkt der letzten Aktualisierung der Ressource von HueMagic (ISO 8601)
53
33
 
54
- <dt>model<span class="property-type">object</span></dt>
55
- <dd>Das Modellobjekt des Sensors enthält modellspezifische Informationen wie model.id, model.manufacturer, model.name und model.type</dd>
56
- </dl>
34
+ #### Informationen zum Sensor unter `msg.info`
57
35
 
58
- <h3>Universalmodus (optional)</h3>
59
- <p>Definiert die Sensor-ID auf der Hue Bridge manuell, wenn sie nicht in den Node-Eigenschaften konfiguriert ist:</p>
60
- <dl class="message-properties">
61
- <dt>msg.topic<span class="property-type">int</span></dt>
62
- <dd>Manuelle Definition der Sensor-ID</dd>
63
- </dl>
36
+ : id (string) : Gibt die neue ID des Sensors an
37
+ : idV1 (string | boolean) : Gibt die alte ID des Sensors an
38
+ : uniqueId (string) : Die eindeutige ID des Sensors
39
+ : deviceId (string) : Die eindeutige ID des Geräts
40
+ : name (string) : Der aktuell eingestellte Name des Sensors
41
+ : type (string) : Der Typ des Sensors (immer `motion`)
42
+ : softwareVersion (string) : Die aktuelle Firmware des Sensors
43
+ : battery (float) : Der aktuelle Batteriestand des Sensors
44
+ : batteryState (string) : Der aktuelle Status des Batteriestands. Kann `normal`, `low` oder `critical` als Wert beinhalten
45
+ : model (object) : Beinhaltet die Modellinformationen des Sensors unter `id`, `manufacturer`, `name`, `type` und `certified`
64
46
 
65
- <h3>Letzte Zustandsinformationen</h3>
66
- <p>Dieser Node schickt auch die gesamten letzten Zustandsinformationen (vor dem Update) in das <b>msg.lastState</b>-Objekt. Dieses kann entweder false (Boolean) or die Objekte payload (msg.lastState.payload) und info (msg.lastState.info) beinhalten. Der Rückgabewert "false" wird nur dann gesendet, wenn es keinen letzten Zustand gab oder der Node neu erstellt oder gestartet wurde.</p>
47
+ #### Zustandsänderungen unter `msg.updated`
48
+
49
+ Listet einzelne Parameter in Form eines Objekts auf, die sich im Vergleich zum letzten Zustand des Sensors geändert haben. Wenn keine Änderungen registriert wurden, ist dieses Objekt leer.
50
+
51
+ #### Letzter Stand des Sensors unter `msg.lastState`
52
+
53
+ Beinhaltet das komplette Statusobjekt (siehe Ausgabewerte oben) des letzten Zustands vor der zuletzt registrierten Änderung. Wenn der letzte Zustand von HueMagic noch nicht registriert wurde, wird `false` ausgegeben.
54
+
55
+ #### Letzter Befehl unter `msg.command` (optional)
56
+
57
+ Sofern der Status des Nodes sich über einen bestimmten Befehl geändert hat, wird der gesamte Befehl der ausgeführt wurde mit ausgegeben. Andernfalls wird dieses Objekt vom Node nicht ausgegeben.
58
+
59
+ ### Beispiele von HueMagic
60
+
61
+ HueMagic stellt einige Beispielkonfigurationen zu diesem Node zur Verfügung. Um ein fertiges Beispiel in Ihrer Node-RED-Oberfläche zu importieren, klicken Sie auf das Menü-Icon von Node-RED, wählen Sie dann „Import“ und navigieren Sie in der Sidebar des Popups auf „Beispiele“. Wählen Sie anschließend den HueMagic-Ordner aus und Ihren gewünschten Node, um einen Beispielflow zu importieren.
62
+
63
+ ![examples](https://user-images.githubusercontent.com/5302050/148681840-2275c15a-7c0c-4a37-b817-199608e571d2.gif)
67
64
  </script>
@@ -5,14 +5,12 @@
5
5
  {
6
6
  "name": "Name",
7
7
  "input-name": "Name des Sensors",
8
- "skipevents": "Mitteilungen ignorieren",
9
8
  "skipevents-node": "Ignoriere die Mitteilungen des Nodes",
9
+ "sendinitevents-node": "Initialisierungsnachricht nicht unterdrücken",
10
10
  "searching": "Suche nach Bewegungssensoren…",
11
11
  "none-found": "Keine Bewegungssensoren gefunden!",
12
12
  "unknown-error": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",
13
- "sensor": "Sensor",
14
- "universalevents": "Universelle Mitteilungen",
15
- "universalevents-node": "Empfängt alle Mitteilungen anderer Nodes desselben Typs (nur im Universalmodus)"
13
+ "sensor": "Sensor"
16
14
  },
17
15
  "node":
18
16
  {
@@ -25,7 +23,9 @@
25
23
  "deactivated": "deaktiviert",
26
24
  "input": "aktivieren / deaktivieren / Statusabfrage",
27
25
  "output": "erkannte Bewegung",
28
- "universal": "Universalmodus"
26
+ "universal": "Universalmodus",
27
+ "command": "führt Befehl aus…",
28
+ "statusmsg": "Status erfolgreich abgefragt…"
29
29
  }
30
30
  }
31
31
  }
@@ -1,74 +1,69 @@
1
- <script type="text/x-red" data-help-name="hue-rules">
2
- <p>Hue Regel Node zum Empfangen von Regelereignissen oder zum Aktivieren / Deaktivieren von Regeln.</p>
3
-
4
- <h3>Einrichtung</h3>
5
- <p>Wählen Sie die vorkonfigurierte Hue Bridge aus und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Regeln auf der Bridge zu finden. Geben Sie den Namen der Regel manuell ein oder behalten Sie den Standardnamen bei. Beachten Sie, dass Ereignisse nur bei der Bereitstellung (einmalig) gesendet werden und wenn die Regel auf der Bridge ausgelöst wird. Bei Bedarf können alle Statusaktualisierungen dieses Nodes durch Aktivieren der Option "Mitteilungen ignorieren" ignoriert werden.</p>
6
-
7
- <h3>Aktivieren / Deaktivieren</h3>
8
- <p>Aktiviert oder deaktiviert die Regel basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
9
- <dl class="message-properties">
10
- <dt>true<span class="property-type">boolean</span></dt>
11
- <dd>Aktiviert die Regel</dd>
12
-
13
- <dt>false<span class="property-type">boolean</span></dt>
14
- <dd>Deaktiviert die Regel</dd>
15
- </dl>
16
-
17
- <h3>Regel-Mitteilungen</h3>
18
- <p>Die vom Regel-Node gesendete Ereignismeldung enthält die folgenden Daten im Objekt <b>msg.payload</b>:</p>
19
- <dl class="message-properties">
20
- <dt>triggered<span class="property-type">string</span></dt>
21
- <dd>ISO 8601 Datum der letzten Aktivierung</dd>
22
- </dl>
23
-
24
- <h3>Zusätzliche Regelinformationen</h3>
25
- <p>Zusätzliche Informationen zu der Regel werden an das Objekt <b>msg.info</b> gesendet:</p>
26
- <dl class="message-properties">
27
- <dt>id<span class="property-type">int</span></dt>
28
- <dd>Numerische ID der Regel, wie auf der Bridge registriert</dd>
29
-
30
- <dt>created<span class="property-type">string</span></dt>
31
- <dd>ISO 8601 Datum des Erstellungsdatums der Regel</dd>
32
-
33
- <dt>name<span class="property-type">string</span></dt>
34
- <dd>Name der Regel</dd>
35
-
36
- <dt>timesTriggered<span class="property-type">int</span></dt>
37
- <dd>Anzahl die angibt wie oft die Regel bereits aktiviert wurde</dd>
38
-
39
- <dt>owner<span class="property-type">string</span></dt>
40
- <dd>Nutzer, der die Regel erstellte</dd>
41
-
42
- <dt>status<span class="property-type">string</span></dt>
43
- <dd>aktiviert oder deaktiviert, Regel ist auslösbar bei aktiviert</dd>
44
- </dl>
45
-
46
- <h3>Regelbedingungen</h3>
47
- <p>Ein Array von Objekten, die die Regelbedingungen darstellen, wird an das Array <b>msg.conditions</b> gesendet:</p>
48
- <dl class="message-properties">
49
- <dt>address<span class="property-type">string</span></dt>
50
- <dd>Die Sensorressource / der Statusstandort für die Bedingung</dd>
51
-
52
- <dt>operator<span class="property-type">string</span></dt>
53
- <dd>Der Operator für die Bedingung</dd>
54
-
55
- <dt>value<span class="property-type">string</span></dt>
56
- <dd>Der Wert, der in Verbindung mit dem Operator verwendet wird</dd>
57
- </dl>
58
-
59
- <h3>Regelaktionen</h3>
60
- <p>Ein Array von Objekten, die die Regelaktionen darstellen, wird an das Array <b>msg.actions</b> gesendet:</p>
61
- <dl class="message-properties">
62
- <dt>address<span class="property-type">string</span></dt>
63
- <dd>Der Ort der umsetzbaren Ressource</dd>
64
-
65
- <dt>method<span class="property-type">string</span></dt>
66
- <dd>Art der Methode für die Aktion (z.B. GET, PUT)</dd>
67
-
68
- <dt>body<span class="property-type">object</span></dt>
69
- <dd>Das Body / Inhalt der Aktion</dd>
70
- </dl>
71
-
72
- <h3>Letzte Zustandsinformationen</h3>
73
- <p>Dieser Node schickt auch die gesamten letzten Zustandsinformationen (vor dem Update) in das <b>msg.lastState</b>-Objekt. Dieses kann entweder false (Boolean) or die Objekte payload (msg.lastState.payload) und info (msg.lastState.info) beinhalten. Der Rückgabewert "false" wird nur dann gesendet, wenn es keinen letzten Zustand gab oder der Node neu erstellt oder gestartet wurde.</p>
1
+ <script type="text/markdown" data-help-name="hue-rules">
2
+ Der „Hue Regel“-Node kann in der Bridge gespeicherte Regeln aktivieren oder deaktivieren und ihre Einstellung abrufen.
3
+
4
+ ### Einrichtung
5
+
6
+ Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Regeln zu finden. Wenn Sie die ID der Regel bereits kennen, können Sie sie auch manuell an dieser Stelle eintragen. Alternativ können Sie auch einen neuen Namen vergeben oder den vordefinierten Namen der Regel wählen.
7
+
8
+ Wenn Sie keine Regel auswählen und die Node-Konfiguration so anwenden, arbeitet der Node im sogenannten „Universalmodus“. In diesem Modus empfängt der Node alle Statusmitteilungen desselben Typs und gibt diese aus. Sie können aber auch Einstellungen im Universalmodus auf eine bestimmte Regel anwenden, indem Sie die entsprechende Regel-ID als String in `msg.topic` zusammen mit Ihren Einstellungen übergeben.
9
+
10
+ ### Eigenschaften / Einstellungen abrufen
11
+
12
+ Gibt die aktuellen Eigenschaften der Regel aus, sobald ein `msg.payload`-Objekt mit folgendem Inhalt an den Node übergeben wurde. Sie können alternativ auch den Button in der Node-RED-Oberfläche betätigen, ohne vorher eine Nachricht an den Node übergeben zu müssen.
13
+
14
+ : status (boolean) : Gibt den aktuellen Status der Regel zurück
15
+
16
+ ### Regel aktivieren / deaktivieren
17
+
18
+ Die Regel kann im Bedarfsfall aktiviert und deaktiviert werden. Wenn die Regel deaktiviert wurde, wird sie in der Bridge nicht mehr ausgeführt, bis Sie sie wieder reaktivieren. Übergeben Sie dafür ein Objekt mit folgendem Inhalt:
19
+
20
+ : payload (boolean) : `true` aktiviert die Regel, `false` deaktiviert sie
21
+
22
+ ### Statusnachrichten des Nodes
23
+
24
+ Sobald sich der Status (aktiviert / deaktiviert) einer Regel ändert, wird folgende Statusnachricht vom Node zurückgegeben:
25
+
26
+ #### Statusobjekt unter `msg.payload`
27
+
28
+ : enabled (boolean) : Gibt an, ob die Regel aktiviert oder deaktiviert ist
29
+ : triggered (string) : Zeitpunkt der letzten Ausführung (ISO 8601)
30
+
31
+ #### Informationen der Regel unter `msg.info`
32
+
33
+ : id (string) : Die eindeutige ID der Regel
34
+ : created (string) : Erstellungsdatum der Regel (ISO 8601)
35
+ : name (string) : Name der Regel auf der Bridge
36
+ : timesTriggered (int) : Anzahl der Ausführungen der Regel auf der Bridge
37
+ : owner (string) : ID des Besitzers / der Besitzerin dieser Regel
38
+ : status (string) : Status der Regel in Form eines Strings
39
+
40
+ #### Regelkonditionen unter `msg.conditions` (array)
41
+
42
+ : address (string) : Pfad zu einem Attribut eines Sensors
43
+ : operator (string) : Operator
44
+ : value (string) : Der zu prüfende Wert
45
+
46
+ #### Regelaktionen unter `msg.actions` (array)
47
+
48
+ : address (string) : Die Zieladresse der Ressource
49
+ : method (string) : Die Anfragemethode
50
+ : body (object) : Die Aktion, die ausgeführt werden soll
51
+
52
+ #### Zustandsänderungen unter `msg.updated`
53
+
54
+ Listet einzelne Parameter in Form eines Objekts auf, die sich im Vergleich zum letzten Zustand der Regel geändert haben. Wenn keine Änderungen registriert wurden, ist dieses Objekt leer.
55
+
56
+ #### Letzter Stand der Regel unter `msg.lastState`
57
+
58
+ Beinhaltet das komplette Objekt (siehe Ausgabewerte oben) des letzten Zustands vor der zuletzt registrierten Änderung der Regel. Wenn der letzte Zustand von HueMagic noch nicht registriert wurde, wird `false` ausgegeben.
59
+
60
+ #### Letzter Befehl unter `msg.command` (optional)
61
+
62
+ Sofern der Status des Nodes sich über einen bestimmten Befehl geändert hat, wird der gesamte Befehl der ausgeführt wurde mit ausgegeben. Andernfalls wird dieses Objekt vom Node nicht ausgegeben.
63
+
64
+ ### Beispiele von HueMagic
65
+
66
+ HueMagic stellt einige Beispielkonfigurationen zu diesem Node zur Verfügung. Um ein fertiges Beispiel in Ihrer Node-RED-Oberfläche zu importieren, klicken Sie auf das Menü-Icon von Node-RED, wählen Sie dann „Import“ und navigieren Sie in der Sidebar des Popups auf „Beispiele“. Wählen Sie anschließend den HueMagic-Ordner aus und Ihren gewünschten Node, um einen Beispielflow zu importieren.
67
+
68
+ ![examples](https://user-images.githubusercontent.com/5302050/148681840-2275c15a-7c0c-4a37-b817-199608e571d2.gif)
74
69
  </script>
@@ -5,8 +5,8 @@
5
5
  {
6
6
  "name": "Name",
7
7
  "input-name": "Name der Regel",
8
- "skipevents": "Mitteilungen ignorieren",
9
8
  "skipevents-node": "Ignoriere die Mitteilungen des Nodes",
9
+ "sendinitevents-node": "Initialisierungsnachricht nicht unterdrücken",
10
10
  "searching": "Suche nach Regeln…",
11
11
  "none-found": "Keine Regeln gefunden!",
12
12
  "unknown-error": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",
@@ -20,7 +20,10 @@
20
20
  "enabled": "aktiviert",
21
21
  "disabled": "deaktiviert",
22
22
  "output": "Regel (aktiviert)",
23
- "input": "aktivieren / deaktivieren"
23
+ "input": "aktivieren / deaktivieren",
24
+ "universal": "Universalmodus",
25
+ "command": "führt Befehl aus…",
26
+ "statusmsg": "Status erfolgreich abgefragt…"
24
27
  }
25
28
  }
26
29
  }
@@ -1,44 +1,35 @@
1
- <script type="text/x-red" data-help-name="hue-scene">
2
- <p>Hue Szene zum Aufrufen (Aktivieren) von Farbszenen.</p>
1
+ <script type="text/markdown" data-help-name="hue-scene">
2
+ Der „Hue Szene“-Node kann in der Bridge gespeicherte Szenen wiederaufnehmen und auf bestimmte Gruppen anwenden.
3
3
 
4
- <h3>Einrichtung</h3>
5
- <p>Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Szenen zu finden. Geben Sie den Namen der Szene manuell ein oder behalten Sie den Standardnamen der Szene bei. Beachten Sie, dass Ereignisse nur gesendet werden, wenn der Szenen-Node einen Befehl empfängt. Bei Bedarf können alle Statusaktualisierungen dieses Nodes durch Aktivieren der Option "Miteilungen ignorieren" ignoriert werden.</p>
4
+ ### Einrichtung
6
5
 
7
- <h3>Aktivieren (vorkonfiguriert)</h3>
8
- <p>Wenn eine Szene konfiguriert ist, wird die vorkonfigurierte Szene durch einen übergebenen Wert auf dem Szenen-Node aktiviert.</p>
6
+ Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Szenen zu finden. Wenn Sie die ID der Szene bereits kennen, können Sie sie auch manuell an dieser Stelle eintragen. Alternativ können Sie auch einen internen Namen für die Szene vergeben oder den vordefinierten Namen der Szene wählen.
9
7
 
10
- <h3>Aktivieren (dynamisch)</h3>
11
- <p>Wenn keine Szene konfiguriert ist, muss ein Szenenname oder eine Szenen-ID übergeben werden, um diese Szene zu aktivieren. Es ist auch möglich, eine Gruppen-ID dynamisch zu übergeben, um eine Szene nur für eine bestimmte Gruppe abzurufen. Die folgenden Parameter können manuell in <b>msg.payload</b> übergeben werden.</p>
12
- <dl class="message-properties">
13
- <dt>scene<span class="property-type">string</span></dt>
14
- <dd>Aktiviert die Szene anhand ihres Namens oder ihrer ID.</dd>
8
+ ### Szene aktivieren
15
9
 
16
- <dt>group<span class="property-type">int</span></dt>
17
- <dd>Ruft eine Szene einer bestimmten Gruppe anhand ihrer ID auf.</dd>
18
- </dl>
10
+ Sie können eine vordefinierte Szene aktivieren, indem Sie ein Objekt mit folgendem Inhalt übergeben:
19
11
 
20
- <h3>Szenenereignisse</h3>
21
- <p>Die Ereignismeldung, die der Szenen-Node sendet, enthält die folgenden Daten im Objekt <b>msg.payload</b>:</p>
22
- <dl class="message-properties">
23
- <dt>id<span class="property-type">string</span></dt>
24
- <dd>Die eindeutige Szenen-ID</dd>
12
+ : payload (boolean) : Aktiviert eine vorkonfigurierte Szene
25
13
 
26
- <dt>name<span class="property-type">string</span></dt>
27
- <dd>Szenen-Name</dd>
14
+ ### Szene im Universalmodus aktivieren
28
15
 
29
- <dt>lightIds<span class="property-type">array[int…]</span></dt>
30
- <dd>Array von zugeordneten Lichter-IDs in der Szene</dd>
16
+ Wenn Sie diesen Node im sogenannten „Universalmodus“ betreiben und keine Szene in der Node-Konfiguration eingestellt haben, können Sie Ihre gewünschte Szene auch als Befehl an den Node übergeben. Übergeben Sie dafür ein `msg.payload`-Objekt mit folgendem Inhalt:
31
17
 
32
- <dt>owner<span class="property-type">string</span></dt>
33
- <dd>Nutzer, der die Szene erstellte</dd>
18
+ : scene (string) : ID der zu aktivierenden Szene auf der Bridge
34
19
 
35
- <dt>appData<span class="property-type">object</span></dt>
36
- <dd>Objekt bestehend aus Versions- und Dateneigenschaften</dd>
20
+ ### Szene auf bestimmte Gruppen aktivieren
37
21
 
38
- <dt>lastUpdated<span class="property-type">string</span></dt>
39
- <dd>ISO 8601 Datum, als die Szene zuletzt aktualisiert wurde</dd>
22
+ Verbinden Sie den Ausgangspunkt dieses Nodes mit eine oder mehreren Gruppen, um eine Szene auf bestimmte Gruppen anzuwenden. Alternativ haben Sie die Möglichkeit dies auch „dynamisch“ zu tun, indem Sie ein `msg.payload`-Objekt mit folgenden Inhalt an den Node übergeben:
40
23
 
41
- <dt>version<span class="property-type">float</span></dt>
42
- <dd>Versionsnummer der Szene</dd>
43
- </dl>
24
+ : group (string | array[string,…]) : ID der Gruppe oder ein Array mit den IDs mehrerer Gruppen, um die Szene auf diese Gruppen zu begrenzen
25
+
26
+ ### Weitere Informationen zum Node
27
+
28
+ Dieser Node gibt keine Statusnachrichten aus. Bitte beachten Sie auch, dass Sie Szenen nur dann auf Gruppen anwenden können, wenn diese bereits auf der Bridge mit der jeweiligen Szene verknüpft sind. Andernfalls wird nichts angewendet.
29
+
30
+ ### Beispiele von HueMagic
31
+
32
+ HueMagic stellt einige Beispielkonfigurationen zu diesem Node zur Verfügung. Um ein fertiges Beispiel in Ihrer Node-RED-Oberfläche zu importieren, klicken Sie auf das Menü-Icon von Node-RED, wählen Sie dann „Import“ und navigieren Sie in der Sidebar des Popups auf „Beispiele“. Wählen Sie anschließend den HueMagic-Ordner aus und Ihren gewünschten Node, um einen Beispielflow zu importieren.
33
+
34
+ ![examples](https://user-images.githubusercontent.com/5302050/148681840-2275c15a-7c0c-4a37-b817-199608e571d2.gif)
44
35
  </script>
@@ -5,11 +5,12 @@
5
5
  {
6
6
  "name": "Name",
7
7
  "input-name": "Name der Szene",
8
- "skipevents": "Mitteilungen ignorieren",
9
8
  "skipevents-node": "Ignoriere die Mitteilungen des Nodes",
9
+ "sendinitevents-node": "Initialisierungsnachricht nicht unterdrücken",
10
10
  "searching": "Suche nach Szenen…",
11
11
  "none-found": "Keine Szenen gefunden!",
12
12
  "unknown-error": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",
13
+ "scene": "Szene",
13
14
  "group": "Gruppe",
14
15
  "group-none-found": "Keine Gruppen gefunden!",
15
16
  "group-searching": "Suche nach Gruppen…",
@@ -23,7 +24,9 @@
23
24
  "recalled-on-group": "Szene auf Gruppe wiederhergestellt",
24
25
  "no-id": "Keine Szenen-ID",
25
26
  "input": "aktiviere Szene",
26
- "output": "Szeneninformationen"
27
+ "output": "Zielgruppe(n)",
28
+ "command": "führt Befehl aus…",
29
+ "statusmsg": "Szene wird wiederhergestellt…"
27
30
  }
28
31
  }
29
32
  }