node-red-contrib-huemagic 2.8.2 → 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 (165) hide show
  1. package/CHANGELOG.md +229 -0
  2. package/README.md +806 -729
  3. package/examples/Hue Bridge.json +189 -35
  4. package/examples/Hue Brightness.json +124 -14
  5. package/examples/Hue Buttons.json +88 -0
  6. package/examples/Hue Group.json +575 -63
  7. package/examples/Hue Light.json +805 -58
  8. package/examples/Hue Magic.json +69 -24
  9. package/examples/Hue Motion.json +110 -42
  10. package/examples/Hue Rules.json +105 -37
  11. package/examples/Hue Scene.json +145 -28
  12. package/examples/Hue Temperature.json +124 -14
  13. package/huemagic/animations/001-sunny.json +22 -22
  14. package/huemagic/animations/002-cloudy.json +46 -46
  15. package/huemagic/animations/003-nightsky.json +20 -20
  16. package/huemagic/animations/004-sunrise.json +54 -54
  17. package/huemagic/animations/005-sunset.json +46 -46
  18. package/huemagic/animations/006-fireplace.json +74 -74
  19. package/huemagic/animations/007-spring.json +31 -31
  20. package/huemagic/animations/008-autmn.json +23 -23
  21. package/huemagic/animations/009-winter.json +23 -23
  22. package/huemagic/animations/010-dirtyfog.json +23 -23
  23. package/huemagic/animations/011-lgbt.json +49 -50
  24. package/huemagic/animations/012-rasta.json +28 -29
  25. package/huemagic/animations/013-strobo.json +30 -31
  26. package/huemagic/animations/014-randomrainbow.json +30 -31
  27. package/huemagic/animations/015-sos.json +158 -159
  28. package/huemagic/animations/016-milkyway.json +83 -0
  29. package/huemagic/animations/017-beach.json +40 -0
  30. package/huemagic/animations/018-forest.json +43 -0
  31. package/huemagic/animations/019-christmas.json +30 -0
  32. package/huemagic/animations/020-superhero.json +56 -0
  33. package/huemagic/animations/021-neoncity.json +52 -0
  34. package/huemagic/animations/previews/001-sunny.gif +0 -0
  35. package/huemagic/animations/previews/002-cloudy.gif +0 -0
  36. package/huemagic/animations/previews/003-nightsky.gif +0 -0
  37. package/huemagic/animations/previews/004-sunrise.gif +0 -0
  38. package/huemagic/animations/previews/005-sunset.gif +0 -0
  39. package/huemagic/animations/previews/006-fireplace.gif +0 -0
  40. package/huemagic/animations/previews/007-spring.gif +0 -0
  41. package/huemagic/animations/previews/008-autmn.gif +0 -0
  42. package/huemagic/animations/previews/009-winter.gif +0 -0
  43. package/huemagic/animations/previews/010-dirtyfog.gif +0 -0
  44. package/huemagic/animations/previews/011-lgbt.gif +0 -0
  45. package/huemagic/animations/previews/012-rasta.gif +0 -0
  46. package/huemagic/animations/previews/013-strobo.gif +0 -0
  47. package/huemagic/animations/previews/014-randomrainbow.gif +0 -0
  48. package/huemagic/animations/previews/015-sos.gif +0 -0
  49. package/huemagic/animations/previews/016-milkyway.gif +0 -0
  50. package/huemagic/animations/previews/017-beach.gif +0 -0
  51. package/huemagic/animations/previews/018-forest.gif +0 -0
  52. package/huemagic/animations/previews/019-christmas.gif +0 -0
  53. package/huemagic/animations/previews/020-superhero.gif +0 -0
  54. package/huemagic/animations/previews/021-neoncity.gif +0 -0
  55. package/huemagic/hue-bridge-config.html +105 -61
  56. package/huemagic/hue-bridge-config.js +629 -319
  57. package/huemagic/hue-bridge.html +41 -21
  58. package/huemagic/hue-bridge.js +191 -398
  59. package/huemagic/hue-brightness.html +130 -49
  60. package/huemagic/hue-brightness.js +131 -35
  61. package/huemagic/hue-buttons.html +197 -0
  62. package/huemagic/hue-buttons.js +152 -0
  63. package/huemagic/hue-group.html +137 -60
  64. package/huemagic/hue-group.js +394 -367
  65. package/huemagic/hue-light.html +133 -59
  66. package/huemagic/hue-light.js +551 -336
  67. package/huemagic/hue-magic.html +91 -237
  68. package/huemagic/hue-magic.js +57 -27
  69. package/huemagic/hue-motion.html +128 -50
  70. package/huemagic/hue-motion.js +116 -87
  71. package/huemagic/hue-rules.html +121 -50
  72. package/huemagic/hue-rules.js +84 -64
  73. package/huemagic/hue-scene.html +96 -115
  74. package/huemagic/hue-scene.js +65 -96
  75. package/huemagic/hue-temperature.html +130 -49
  76. package/huemagic/hue-temperature.js +136 -32
  77. package/huemagic/icons/hue-bridge.png +0 -0
  78. package/huemagic/icons/hue-bridge.svg +3 -0
  79. package/huemagic/icons/hue-brightness.png +0 -0
  80. package/huemagic/icons/hue-brightness.svg +11 -0
  81. package/huemagic/icons/hue-buttons.png +0 -0
  82. package/huemagic/icons/hue-buttons.svg +4 -0
  83. package/huemagic/icons/hue-group.png +0 -0
  84. package/huemagic/icons/hue-group.svg +12 -0
  85. package/huemagic/icons/hue-light.png +0 -0
  86. package/huemagic/icons/hue-light.svg +3 -0
  87. package/huemagic/icons/hue-magic.png +0 -0
  88. package/huemagic/icons/hue-magic.svg +3 -0
  89. package/huemagic/icons/hue-motion.png +0 -0
  90. package/huemagic/icons/hue-motion.svg +9 -0
  91. package/huemagic/icons/hue-rules.png +0 -0
  92. package/huemagic/icons/hue-rules.svg +4 -0
  93. package/huemagic/icons/hue-scene.png +0 -0
  94. package/huemagic/icons/hue-scene.svg +5 -0
  95. package/huemagic/icons/hue-temperature.png +0 -0
  96. package/huemagic/icons/hue-temperature.svg +7 -0
  97. package/huemagic/locales/de/hue-bridge-config.html +17 -12
  98. package/huemagic/locales/de/hue-bridge-config.json +7 -5
  99. package/huemagic/locales/de/hue-bridge.html +64 -145
  100. package/huemagic/locales/de/hue-bridge.json +6 -17
  101. package/huemagic/locales/de/hue-brightness.html +52 -38
  102. package/huemagic/locales/de/hue-brightness.json +7 -2
  103. package/huemagic/locales/de/hue-buttons.html +58 -0
  104. package/huemagic/locales/de/hue-buttons.json +28 -0
  105. package/huemagic/locales/de/hue-group.html +46 -122
  106. package/huemagic/locales/de/hue-group.json +4 -2
  107. package/huemagic/locales/de/hue-light.html +68 -116
  108. package/huemagic/locales/de/hue-light.json +5 -2
  109. package/huemagic/locales/de/hue-magic.html +65 -57
  110. package/huemagic/locales/de/hue-magic.json +2 -1
  111. package/huemagic/locales/de/hue-motion.html +48 -44
  112. package/huemagic/locales/de/hue-motion.json +6 -3
  113. package/huemagic/locales/de/hue-rules.html +68 -73
  114. package/huemagic/locales/de/hue-rules.json +5 -2
  115. package/huemagic/locales/de/hue-scene.html +23 -32
  116. package/huemagic/locales/de/hue-scene.json +5 -2
  117. package/huemagic/locales/de/hue-temperature.html +53 -36
  118. package/huemagic/locales/de/hue-temperature.json +7 -2
  119. package/huemagic/locales/en-US/hue-bridge-config.html +17 -12
  120. package/huemagic/locales/en-US/hue-bridge-config.json +5 -3
  121. package/huemagic/locales/en-US/hue-bridge.html +64 -145
  122. package/huemagic/locales/en-US/hue-bridge.json +5 -16
  123. package/huemagic/locales/en-US/hue-brightness.html +52 -38
  124. package/huemagic/locales/en-US/hue-brightness.json +10 -3
  125. package/huemagic/locales/en-US/hue-buttons.html +58 -0
  126. package/huemagic/locales/en-US/hue-buttons.json +34 -0
  127. package/huemagic/locales/en-US/hue-group.html +46 -122
  128. package/huemagic/locales/en-US/hue-group.json +7 -3
  129. package/huemagic/locales/en-US/hue-light.html +68 -116
  130. package/huemagic/locales/en-US/hue-light.json +8 -3
  131. package/huemagic/locales/en-US/hue-magic.html +65 -57
  132. package/huemagic/locales/en-US/hue-magic.json +3 -1
  133. package/huemagic/locales/en-US/hue-motion.html +48 -44
  134. package/huemagic/locales/en-US/hue-motion.json +9 -4
  135. package/huemagic/locales/en-US/hue-rules.html +68 -73
  136. package/huemagic/locales/en-US/hue-rules.json +5 -2
  137. package/huemagic/locales/en-US/hue-scene.html +23 -32
  138. package/huemagic/locales/en-US/hue-scene.json +5 -2
  139. package/huemagic/locales/en-US/hue-temperature.html +53 -36
  140. package/huemagic/locales/en-US/hue-temperature.json +10 -3
  141. package/huemagic/utils/api.js +290 -0
  142. package/huemagic/utils/color.js +382 -0
  143. package/{utils → huemagic/utils}/merge.js +9 -6
  144. package/huemagic/utils/messages.js +447 -0
  145. package/package.json +12 -12
  146. package/examples/Hue Switch.json +0 -40
  147. package/examples/Hue Tap.json +0 -40
  148. package/huemagic/assets/anime.js +0 -8
  149. package/huemagic/hue-switch.html +0 -119
  150. package/huemagic/hue-switch.js +0 -113
  151. package/huemagic/hue-tap.html +0 -119
  152. package/huemagic/hue-tap.js +0 -74
  153. package/huemagic/icons/hue-button.png +0 -0
  154. package/huemagic/icons/hue-switch.png +0 -0
  155. package/huemagic/icons/hue-tap.png +0 -0
  156. package/huemagic/locales/de/hue-switch.html +0 -50
  157. package/huemagic/locales/de/hue-switch.json +0 -31
  158. package/huemagic/locales/de/hue-tap.html +0 -41
  159. package/huemagic/locales/de/hue-tap.json +0 -23
  160. package/huemagic/locales/en-US/hue-switch.html +0 -50
  161. package/huemagic/locales/en-US/hue-switch.json +0 -31
  162. package/huemagic/locales/en-US/hue-tap.html +0 -41
  163. package/huemagic/locales/en-US/hue-tap.json +0 -23
  164. package/utils/messages.js +0 -571
  165. package/utils/rgb.js +0 -188
@@ -1,151 +1,75 @@
1
- <script type="text/x-red" data-help-name="hue-group">
2
- <p>Hue Gruppe zur Steuerung ganzer Gruppen mit Lichtern und zum Empfang von Gruppenereignissen.</p>
1
+ <script type="text/markdown" data-help-name="hue-group">
2
+ Der „Hue Gruppe“-Node kann mehrere Lichter hinter einer Gruppe auf der Bridge gleichzeitig steuern.
3
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 vorkonfigurierten Gruppen zu finden. Geben Sie den Namen der Gruppe manuell ein oder behalten Sie den Standardnamen bei. Beachten Sie, dass Ereignisse nur gesendet werden, wenn der Gruppenstatus geändert wird. Bei Bedarf können alle Statusaktualisierungen dieses Knotens durch Aktivieren der Option "Mitteilungen ignorieren" ignoriert werden.</p>
4
+ ### Einrichtung
6
5
 
7
- <h3>Ein- / Ausschalten (einfach)</h3>
8
- <p>Ändert den Ein- / Aus-Status der Gruppe basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
9
- <dl class="message-properties">
10
- <dt>msg.payload<span class="property-type">boolean</span></dt>
11
- <dd>Schaltet alle Lichter in der Gruppe mit ihrer vorherigen Konfiguration (Farbe und Helligkeit) ein oder aus</dd>
12
- </dl>
6
+ Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Gruppen zu finden. Wenn Sie die ID von einer Gruppe bereits kennen, können Sie sie auch manuell an dieser Stelle eintragen. Sie können intern entweder einen neuen Namen für die Gruppe vergeben oder den vordefinierten Namen 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 Updates 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 der aktuell ausgewählten Gruppe.
13
7
 
14
- <h3>Ein- / Ausschalten (erweitert)</h3>
15
- <p>Ändert den Gruppenstatus, den Effekt, die Farbe und die Helligkeit basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
16
- <dl class="message-properties">
17
- <dt class="optional">on<span class="property-type">boolean</span></dt>
18
- <dd>True, um alle Lichter in der Gruppe einzuschalten, false, um sie auszuschalten</dd>
8
+ Wenn Sie keine Gruppe 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 Gruppe anwenden, indem Sie die entsprechende Gruppen-ID als String in `msg.topic` zusammen mit Ihren Einstellungen übergeben.
19
9
 
20
- <dt class="optional">brightness<span class="property-type">int</span></dt>
21
- <dd>Optional konfigurierbare Helligkeit der Lichter in Prozent (0-100)</dd>
10
+ ### Status abrufen
22
11
 
23
- <dt class="optional">brightnessLevel<span class="property-type">int</span></dt>
24
- <dd>Optional konfigurierbare Helligkeit der Lichter (0-254)</dd>
12
+ Gibt den aktuellen Status der Gruppe 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 class="optional">incrementBrightness<span class="property-type">int</span></dt>
27
- <dd>Erhöht die Helligkeit um einen bestimmten Prozentwert</dd>
14
+ : status (boolean) : Gibt den aktuellen Status der Gruppe zurück
28
15
 
29
- <dt class="optional">decrementBrightness<span class="property-type">int</span></dt>
30
- <dd>Verringert die Helligkeit um einen bestimmten Prozentwert</dd>
16
+ ### Gruppe ein- / ausschalten (einfach)
31
17
 
32
- <dt class="optional">ignoreOffLights<span class="property-type">boolean</span></dt>
33
- <dd>Ignoriert ausgeschaltete Lichter in der Gruppe, wenn "incrementBrightness / decrementBrightness" übergeben wird</dd>
18
+ Um eine gesamte Gruppe im einfachen Modus schnell ein- oder auszuschalten, übergeben Sie ein Objekt mit folgendem Inhalt an den Node. Bitte beachten Sie, dass der Befehl nur dann ausgeführt wird, wenn der aktuelle Status der Gruppe nicht mit Ihrem gewünschten Status übereinstimmt. Das heißt, dass alle Lichter vorher ausgeschaltet sein müssen, bevor Sie sie mit dem `true`-Befehl einschalten können.
34
19
 
35
- <dt class="optional">rgb<span class="property-type">array[int,int,int]</span></dt>
36
- <dd>Optional konfigurierbarer RGB-Farbwert aller Leuchten innerhalb der Gruppe. Sie müssen den RGB-Wert nicht übergeben, wenn Sie bereits einen HEX-Wert übergeben haben</dd>
20
+ : payload (boolean) : `true` schaltet die gesamte Gruppe ein, `false` schaltet sie aus
37
21
 
38
- <dt class="optional">hex<span class="property-type">string</span></dt>
39
- <dd>Optional konfigurierbarer HEX-Farbwert aller Leuchten innerhalb der Gruppe. Sie müssen den HEX-Wert nicht übergeben, wenn Sie bereits einen RGB-Wert übergeben haben</dd>
22
+ ### Gruppensteuerung (erweitert)
40
23
 
41
- <dt class="optional">color<span class="property-type">string</span></dt>
42
- <dd>Optional konfigurierbarer, von Menschen lesbarer Farbname in Englisch wie "red" oder "random" für eine zufällige Farbe</dd>
24
+ Neben dem einfachen Ein- und Ausschalten, stehen Ihnen auch viele weitere Optionen zur Steuerung der Gruppe zur Verfügung. Alle Nodes in HueMagic können mit additiven Befehlen gesteuert werden. Das heißt, dass Sie zunächst eine Einstellung übergeben können und in einem späteren Befehl eine weitere Einstellung, ohne, dass die vorherige Einstellung damit verworfen wird. Übergeben Sie folgende Parameter in ein `msg.payload`-Objekt, um umfangreichere Einstellungen an der Gruppe vorzunehmen:
43
25
 
44
- <dt class="optional">image<span class="property-type">string</span></dt>
45
- <dd>Optional konfigurierbarer Bildpfad (Internet oder lokal), um der Gruppe die dominanteste Farbe zuzuweisen</dd>
26
+ : on (boolean) : `true` schaltet die gesamte Gruppe ein, `false` schaltet sie aus (bitte Hinweis oben beachten)
27
+ : toggle (boolean | any) : Wechselt zwischen Ein- und Ausschalten, je nachdem, wie der vorherige Zustand der Gruppe war
28
+ : brightness (int | string) : Prozentualer Wert der Lichthelligkeit (0-100) oder ein String mit dem Wert `auto`, um die Lichthelligkeit automatisch auf Basis der aktuellen Uhrzeit einzustellen
29
+ : brightnessLevel (int) : Nummerischer Wert der Lichthelligkeit (0-254)
30
+ : color (string) : `random`, um eine zufällige Farbe einzustellen oder einen englischen Farbnamen (z. B. `red`)
31
+ : hex (string) : Farbwert in Hexadezimal in Form eines Strings
32
+ : rgb (array[0,0,0]) : Farbwert im RGB-Format in Form eines Arrays
33
+ : xyColor (object{x[float], y[float]}) : Farbwert im XY-Farbformat in Form eines Objekts
34
+ : image (string) : Pfad eines Bildes (lokal oder im Web), um die aktuelle Farbe der Gruppe auf die Durschschnittsfarbe des Bildes einzustellen
35
+ : colorTemp (int | string) : Wert zwischen 153 und 500, um die Farbtemperatur der Gruppe einzustellen oder die Werte `cold`, `normal`, `warm`, `hot` und `auto` – wobei `auto` die Farbtemperatur auf Basis der aktuellen Uhrzeit ausmacht
36
+ : transitionTime (float) : Übergangszeit der aktuellen Einstellung in Sekunden. Wenn `0` eingegeben wird, wechselt die Gruppe in die gewünschte Einstellung sofort. Wenn `3` eingegeben wird, wechselt die Gruppe mit einem leichten Übergang in den nächsten 3 Sekunden auf die gewünschte Einstellung
37
+ : colorloop (float) : Spielt eine „colorloop“-Animation für die gewählte Dauer in Sekunden ab und wechselt anschließend wieder zurück auf den ursprünglichen Zustand der Gruppe
38
+ : alert (float) : Spielt eine „alert“-Animation für die gewählte Dauer in Sekunden ab und wechselt anschließend wieder zurück auf den ursprünglichen Zustand der Gruppe
46
39
 
47
- <dt class="optional">transitionTime<span class="property-type">float</span></dt>
48
- <dd>Optional konfigurierbarer temporärer Wert, der den Übergang eines Effekts definiert (Wert in Sekunden, 0 für sofort, 5 für fünf Sekunden)</dd>
40
+ ### Statusnachrichten des Nodes
49
41
 
50
- <dt class="optional">colorloop<span class="property-type">float / boolean</span></dt>
51
- <dd>Optional konfigurierbarer Farbschleifeneffekt. Float = deaktiviert den Effekt nach x Sekunden oder Boolean um den Effekt zu aktivieren / deaktivieren</dd>
42
+ Wenn eine Änderung in der Gruppe festgestellt wurde, wird folgende Statusnachricht vom Node zurückgegeben. Bitte beachten Sie, dass die Gruppe nur dann Statusmeldungen ausgibt, wenn entweder das letzte Licht ausgeschaltet wird oder wenn das erste Licht eingeschaltet wird (wenn alle vorher ausgeschaltet waren).
52
43
 
53
- <dt class="optional">colorTemp<span class="property-type">int</span></dt>
54
- <dd>Optional konfigurierbare Farbtemperatur der Gruppenlichter von 153 bis 500</dd>
44
+ Anders als beim „Hue Licht“-Node, stehen Ihnen hier viel weniger Statusinformationen zur Verfügung, da eine Gruppe viele unterschiedliche Gerätetypen mit unterschiedlichen Werten beinhalten kann, die nicht zusammengefasst werden können.
55
45
 
56
- <dt class="optional">incrementColorTemp<span class="property-type">int</span></dt>
57
- <dd>Erhöht / verringert die Farbtemperatur um einen bestimmten Wert</dd>
46
+ #### Statusobjekt unter `msg.payload`
58
47
 
59
- <dt class="optional">saturation<span class="property-type">int</span></dt>
60
- <dd>Optional konfigurierbare Farbsättigung der Gruppe in Prozent (von 0 bis 100)</dd>
48
+ : on (boolean) : Zustand der Gruppe, wobei `true` für an steht und `false` für aus
49
+ : updated (string) : Zeitpunkt der letzten Aktualisierung der Ressource von HueMagic (ISO 8601)
61
50
 
62
- <dt class="optional">status<span class="property-type">any</span></dt>
63
- <dd>Gibt den aktuellen Status des Nodes zurück, ohne eine Aktion durchzuführen</dd>
64
- </dl>
51
+ #### Informationen der Gruppe unter `msg.info`
65
52
 
66
- <h3>Ein- / Ausschalten (automatisch)</h3>
67
- <p>Schaltet die Lichter abhängig vom aktuellen Status basierend auf dem übergebenen Wert von <b>msg.payload</b> ein oder aus:</p>
68
- <dl class="message-properties">
69
- <dt>toggle<span class="property-type">any</span></dt>
70
- <dd>Schaltet alle Lichter in der Gruppe mit ihrer vorherigen Konfiguration (Farbe und Helligkeit) ein oder aus</dd>
71
- </dl>
53
+ : id (string) : Gibt die neue ID der Gruppe an
54
+ : idV1 (string | boolean) : Gibt die alte ID der Gruppe an
55
+ : name (string) : Der aktuell eingestellte Name des Gruppe
56
+ : type (string) : Der Typ des Gruppe (immer `group`)
72
57
 
73
- <h3>Alarmeffekt</h3>
74
- <p>Spielt einen Alarmeffekt basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
75
- <dl class="message-properties">
76
- <dt>alert<span class="property-type">int</span></dt>
77
- <dd>Konfigurierbare Anzahl von Sekunden, um den Alarmeffekt abzuspielen (max. 30)</dd>
58
+ #### Zustandsänderungen unter `msg.updated`
78
59
 
79
- <dt class="optional">rgb<span class="property-type">array[int,int,int]</span></dt>
80
- <dd>Optional konfigurierbarer RGB-Farbwert des Alarmeffekt. Sie müssen den RGB-Wert nicht übergeben, wenn Sie bereits einen HEX-Wert übergeben haben</dd>
60
+ Listet einzelne Parameter in Form eines Objekts auf, die sich im Vergleich zum letzten Zustand der Gruppe geändert haben. Wenn keine Änderungen registriert wurden, ist dieses Objekt leer.
81
61
 
82
- <dt class="optional">hex<span class="property-type">string</span></dt>
83
- <dd>Optional konfigurierbarer HEX-Farbwert des Alert-Effekts. Sie müssen den HEX-Wert nicht übergeben, wenn Sie bereits einen RGB-Wert übergeben haben</dd>
62
+ #### Letzter Stand des Lichts unter `msg.lastState`
84
63
 
85
- <dt class="optional">color<span class="property-type">string</span></dt>
86
- <dd>Optional konfigurierbarer, von Menschen lesbarer Farbname in Englisch wie "red" oder "random" für eine zufällige Farbe</dd>
87
- </dl>
64
+ Beinhaltet das komplette Statusobjekt (siehe Ausgabewerte oben) des letzten Zustands vor der letzten Änderung. Wenn der letzte Zustand von HueMagic noch nicht registriert wurde, wird `false` ausgegeben.
88
65
 
89
- <h3>Gruppen-Ereignisse</h3>
90
- <p>Die von der Gruppe gesendete Ereignismeldung enthält die folgenden Daten im Objekt <b>msg.payload</b>:</p>
91
- <dl class="message-properties">
92
- <dt>on<span class="property-type">boolean</span></dt>
93
- <dd>True für an, false, für aus</dd>
66
+ #### Letzter Befehl unter `msg.command` (optional)
94
67
 
95
- <dt>allOn<span class="property-type">boolean</span></dt>
96
- <dd>True wenn alle Lichter in der Gruppe an sind, false wenn alle aus sind</dd>
68
+ 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.
97
69
 
98
- <dt>anyOn<span class="property-type">boolean</span></dt>
99
- <dd>True wenn manche Lichter in der Gruppe an sind, false wenn alle aus sind</dd>
70
+ ### Beispiele von HueMagic
100
71
 
101
- <dt>brightness<span class="property-type">int</span></dt>
102
- <dd>Aktuelle Helligkeit aller Lichter in der gesamten Gruppe in Prozent</dd>
72
+ 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.
103
73
 
104
- <dt>brightnessLevel<span class="property-type">int</span></dt>
105
- <dd>Aktuelle Helligkeit aller Lichter in der gesamten Gruppe (0-254)</dd>
106
-
107
- <dt class="optional">rgb<span class="property-type">array[int,int,int]</span></dt>
108
- <dd>Aktueller RGB-Farbwert aller Lichter in der Gruppe (falls unterstützt)</dd>
109
-
110
- <dt class="optional">hex<span class="property-type">string</span></dt>
111
- <dd>Aktueller HEX-Farbwert aller Lichter in der Gruppe (falls unterstützt)</dd>
112
-
113
- <dt class="optional">color<span class="property-type">string</span></dt>
114
- <dd>Aktueller Farbname aller Lichter in der Gruppe (falls unterstützt)</dd>
115
-
116
- <dt class="optional">colorTemp<span class="property-type">int</span></dt>
117
- <dd>Aktuelle Farbtemperatur aller Lichter der Gruppe im Durchschnitt (falls unterstützt)</dd>
118
-
119
- <dt>updated<span class="property-type">ISO 8601 date string</span></dt>
120
- <dd>ISO 8601 Datum der letzten Aktualisierung des Gruppenstatus</dd>
121
- </dl>
122
-
123
- <h3>Zusätzliche Gruppeninformationen</h3>
124
- <p>Zusätzliche Informationen zu der Gruppe werden an das Objekt <b>msg.info</b> gesendet:</p>
125
- <dl class="message-properties">
126
- <dt>id<span class="property-type">int</span></dt>
127
- <dd>Gruppen-ID, die automatisch von der Bridge generiert wird</dd>
128
-
129
- <dt>lightIds<span class="property-type">array[int…]</span></dt>
130
- <dd>Ein Array von Lichter-IDs, die der Gruppe zugeordnet sind</dd>
131
-
132
- <dt>name<span class="property-type">string</span></dt>
133
- <dd>Name der Gruppe</dd>
134
-
135
- <dt>type<span class="property-type">string</span></dt>
136
- <dd>Gruppentyp (z.B. LightGroup, Luminaire, LightSource, Room)</dd>
137
-
138
- <dt class="optional">model<span class="property-type">object</span></dt>
139
- <dd>Huejay (die API hinter HueMagic) führt eine Liste der von Philips Hue unterstützten Leuchtenmodelle. Das Group Model-Attribut gibt optional ein GroupModel-Objekt zurück. Dieses Objekt enthält weitere Informationen zum Modell, z.B. model.id, model.manufacturer, model.name, model.type, model.colorGamut und model.friendsOfHue</dd>
140
- </dl>
141
-
142
- <h3>Universalmodus (optional)</h3>
143
- <p>Definiert die Gruppen-ID auf der Hue Bridge manuell, wenn sie nicht in den Node-Eigenschaften konfiguriert ist (deaktiviert Gruppenaktualisierungsmitteilungen):</p>
144
- <dl class="message-properties">
145
- <dt>msg.topic<span class="property-type">int</span></dt>
146
- <dd>Manuelle Definition der Gruppen-ID</dd>
147
- </dl>
148
-
149
- <h3>Letzte Zustandsinformationen</h3>
150
- <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>
74
+ ![examples](https://user-images.githubusercontent.com/5302050/148681840-2275c15a-7c0c-4a37-b817-199608e571d2.gif)
151
75
  </script>
@@ -5,8 +5,8 @@
5
5
  {
6
6
  "name": "Name",
7
7
  "input-name": "Name der Gruppe",
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 Gruppen…",
11
11
  "none-found": "Keine Gruppen gefunden!",
12
12
  "unknown-error": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",
@@ -31,7 +31,9 @@
31
31
  "error-invalid-sat": "Ungültige Sättigungseinstellung. Erlaubt sind Werte zwischen 0 - 254.",
32
32
  "error-invalid-temp": "Ungültige Farbtemperatur. Erlaubt sind Werte zwischen 153 - 500.",
33
33
  "input": "Ein- / Ausschalten",
34
- "output": "Status"
34
+ "output": "Status",
35
+ "command": "führt Befehl aus…",
36
+ "statusmsg": "Status erfolgreich abgefragt…"
35
37
  }
36
38
  }
37
39
  }
@@ -1,145 +1,97 @@
1
- <script type="text/x-red" data-help-name="hue-light">
2
- <p>Hue Licht zum Steuern der Lichter und Empfangen von Glühbirnenereignissen.</p>
1
+ <script type="text/markdown" data-help-name="hue-light">
2
+ Der „Hue Licht“-Node kann mit der Bridge verbundene Lichter steuern und ihre Statusmitteilungen empfangen.
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 Lichter zu finden. Geben Sie den Namen des Lichts manuell ein oder behalten Sie den Standardgerätenamen bei. Beachten Sie, dass Ereignisse nur gesendet werden, wenn sich der Status der Glühbirne ändert. Bei Bedarf können alle Statusaktualisierungen dieses Nodes durch Aktivieren der Option "Mitteilungen ignorieren" ignoriert werden.</p>
4
+ ### Einrichtung
6
5
 
7
- <h3>Ein- / Ausschalten (einfach)</h3>
8
- <p>Ändert den Licht-Ein / Aus-Status basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
9
- <dl class="message-properties">
10
- <dt>msg.payload<span class="property-type">boolean</span></dt>
11
- <dd>Schaltet das Licht mit der vorherigen Konfiguration (Farbe und Helligkeit) ein oder aus</dd>
12
- </dl>
6
+ Wählen Sie die vorkonfigurierte Hue Bridge und klicken Sie auf die Suchschaltfläche, um alle verfügbaren Lichter zu finden. Wenn Sie die ID von einem Licht bereits kennen, können Sie sie auch manuell an dieser Stelle eintragen. Sie können intern entweder einen neuen Namen für das Licht vergeben oder den vordefinierten Namen 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 Lichts.
13
7
 
14
- <h3>Ein- / Ausschalten (erweitert)</h3>
15
- <p>Ändert den Lichtzustand, den Effekt, die Farbe und die Helligkeit basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
16
- <dl class="message-properties">
17
- <dt class="optional">on<span class="property-type">boolean</span></dt>
18
- <dd>True, um die Glühbirne einzuschalten, false, um sie auszuschalten</dd>
8
+ Wenn Sie die Einstellung „Aktiviere Farbnamen“ aktivieren, wird der Node bei jeder Statusmeldung versuchen, die aktuell eingerichtete Lichtfarbe zu beschreiben. Sie erhalten dann also einen zusätzlichen Parameter mit der englischen Beschreibung der aktuell eingestellten Farbe in der Ausgabe.
19
9
 
20
- <dt class="optional">brightness<span class="property-type">int</span></dt>
21
- <dd>Optional konfigurierbare Helligkeit des Lichts in Prozent (0-100)</dd>
10
+ Wenn Sie kein Licht 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 ein bestimmtes Licht anwenden, indem Sie die entsprechende Licht-ID als String in `msg.topic` zusammen mit Ihren Einstellungen übergeben.
22
11
 
23
- <dt class="optional">brightnessLevel<span class="property-type">int</span></dt>
24
- <dd>Optional konfigurierbare Helligkeitsstufe des Lichts (0-254)</dd>
12
+ ### Status abrufen
25
13
 
26
- <dt class="optional">incrementBrightness<span class="property-type">int</span></dt>
27
- <dd>Erhöht die Helligkeit um einen bestimmten Prozentwert</dd>
14
+ Gibt den aktuellen Status des Lichts 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.
28
15
 
29
- <dt class="optional">decrementBrightness<span class="property-type">int</span></dt>
30
- <dd>Verringert die Helligkeit um einen bestimmten Prozentwert</dd>
16
+ : status (boolean) : Gibt den aktuellen Status des Lichts zurück
31
17
 
32
- <dt class="optional">rgb<span class="property-type">array[int,int,int]</span></dt>
33
- <dd>Optional konfigurierbarer RGB-Farbwert der Glühlampe. Sie müssen den RGB-Wert nicht übergeben, wenn Sie bereits einen HEX-Wert übergeben haben</dd>
18
+ ### Licht ein- / ausschalten (einfach)
34
19
 
35
- <dt class="optional">hex<span class="property-type">string</span></dt>
36
- <dd>Optional konfigurierbarer HEX-Farbwert der Glühlampe. Sie müssen den HEX-Wert nicht übergeben, wenn Sie bereits einen RGB-Wert übergeben haben</dd>
20
+ Um ein Licht im einfachen Modus schnell ein- oder auszuschalten, übergeben Sie ein Objekt mit folgendem Inhalt an den Node:
37
21
 
38
- <dt class="optional">color<span class="property-type">string</span></dt>
39
- <dd>Optional konfigurierbarer, von Menschen lesbarer Farbname in Englisch wie "red" oder "random" für eine zufällige Farbe</dd>
22
+ : payload (boolean) : `true` schaltet das Licht ein, `false` schaltet es aus
40
23
 
41
- <dt class="optional">image<span class="property-type">string</span></dt>
42
- <dd>Optional konfigurierbarer Bildpfad (Internet oder lokal), um die dominanteste Farbe auf das Licht anzuwenden</dd>
24
+ ### Lichtsteuerung (erweitert)
43
25
 
44
- <dt class="optional">transitionTime<span class="property-type">float</span></dt>
45
- <dd>Optional konfigurierbarer temporärer Wert, der den Übergang eines Effekts definiert (Wert in Sekunden, 0 für sofort, 5 für fünf Sekunden)</dd>
26
+ Neben dem einfachen Ein- und Ausschalten, stehen Ihnen auch viele weitere Optionen zur Steuerung des Lichts zur Verfügung. Alle Nodes in HueMagic können mit additiven Befehlen gesteuert werden. Das heißt, dass Sie zunächst eine Einstellung übergeben können und in einem späteren Befehl eine weitere Einstellung, ohne, dass die vorherige Einstellung damit verworfen wird. Übergeben Sie folgende Parameter in ein `msg.payload`-Objekt, um umfangreichere Einstellungen am Licht vorzunehmen:
46
27
 
47
- <dt class="optional">colorloop<span class="property-type">float / boolean</span></dt>
48
- <dd>Optional konfigurierbarer Farbschleifeneffekt. Float = deaktiviert den Effekt nach x Sekunden oder Boolean um den Effekt zu aktivieren / deaktivieren</dd>
28
+ : on (boolean) : `true` schaltet das Licht ein, `false` schaltet es aus
29
+ : toggle (boolean | any) : Wechselt zwischen Ain- und Ausschalten, je nachdem, wie der vorherige Zustand der Lichts war
30
+ : brightness (int | string) : Prozentualer Wert der Lichthelligkeit (0-100) oder ein String mit dem Wert `auto`, um die Helligkeit automatisch auf Basis der aktuellen Uhrzeit einzustellen
31
+ : brightnessLevel (int) : Nummerischer Wert der Lichthelligkeit (0-254)
32
+ : incrementBrightness (int | boolean) : Gibt an, um wie viel Prozent das Licht heller gemacht werden soll oder `true`, um das Licht in 10%-Schritten heller zu machen
33
+ : decrementBrightness (int | boolean) : Gibt an, um wie viel Prozent das Licht dunkler gemacht werden soll oder `true`, um das Licht in 10%-Schritten dunkler zu machen
34
+ : color (string) : `random`, um eine zufällige Farbe einzustellen oder einen englischen Farbnamen (z. B. `red`)
35
+ : hex (string) : Farbwert in Hexadezimal in Form eines Strings
36
+ : rgb (array[0,0,0]) : Farbwert im RGB-Format in Form eines Arrays
37
+ : xyColor (object{x[float], y[float]}) : Farbwert im XY-Farbformat in Form eines Objekts
38
+ : gradient (object{hex[…]}) : Ein Objekt mit einem unterstützem Farbobjekt (z. B. `hex`, `rgb`, …) und mehreren Farben, um einen Gradienten auf unterstützte Lichter einzustellen
39
+ : mixColor (object) : Eine Farbe, die mit der aktuellen Lichtfarbe gemischt werden soll. Kann `color`, `hex`, `rgb` oder `xyColor` Objekte annehmen und optional `amount` (int), um das Mischverhältnis in Prozent anzugeben
40
+ : image (string) : Pfad eines Bildes (lokal oder im Web) um die aktuelle Farbe des Lichts auf die Durschschnittsfarbe des Bildes einzustellen
41
+ : saturation (int) : Prozentualer Wert der Sättigung der aktuellen Farbe (beta)
42
+ : colorTemp (int | string) : Wert zwischen 153 und 500, um die Farbtemperatur des Lichts einzustellen oder die Werte `cold`, `normal`, `warm`, `hot` und `auto` – wobei `auto` die Farbtemperatur auf Basis der aktuellen Uhrzeit ausmacht
43
+ : incrementColorTemp (int | boolean) : Wert um wie viel die Farbtemperatur wärmer werden soll oder `true`, um in 50er-Schritten die Farbtemperatur wärmer zu machen
44
+ : decrementColorTemp (int | boolean) : Wert um wie viel die Farbtemperatur kälter werden soll oder `true`, um in 50er-Schritten die Farbtemperatur kälter zu machen
45
+ : transitionTime (float) : Übergangszeit der aktuellen Einstellung in Sekunden. Wenn 0 eingegeben wird, wechselt das Licht in die gewünschte Einstellung sofort. Wenn 3 eingegeben wird, wechselt das Licht mit einem leichten Übergang in den nächsten 3 Sekunden auf die gewünschte Einstellung
46
+ : colorloop (float) : Spielt eine „colorloop“-Animation für die gewählte Dauer in Sekunden ab und wechselt anschließend wieder zurück auf den ursprünglichen Zustand des Lichts
47
+ : alert (float) : Spielt eine „alert“-Animation für die gewählte Dauer in Sekunden ab und wechselt anschließend wieder zurück auf den ursprünglichen Zustand des Lichts
49
48
 
50
- <dt class="optional">colorTemp<span class="property-type">int</span></dt>
51
- <dd>Optional konfigurierbare Farbtemperatur der Leuchte von 153 bis 500</dd>
49
+ ### Statusnachrichten des Nodes
52
50
 
53
- <dt class="optional">incrementColorTemp<span class="property-type">int</span></dt>
54
- <dd>Erhöht / verringert die Farbtemperatur um einen bestimmten Wert</dd>
51
+ Sobald eine Änderung an den Lichteinstellungen festgestellt wurde (egal ob über Node-RED oder extern), wird folgende Statusnachricht vom Node zurückgegeben:
55
52
 
56
- <dt class="optional">saturation<span class="property-type">int</span></dt>
57
- <dd>Optional konfigurierbare Farbsättigung des Lichts in Prozent (von 0 bis 100)</dd>
53
+ #### Statusobjekt unter `msg.payload`
58
54
 
59
- <dt class="optional">status<span class="property-type">any</span></dt>
60
- <dd>Gibt den aktuellen Status des Nodes zurück, ohne eine Aktion durchzuführen</dd>
61
- </dl>
55
+ : on (boolean) : Zustand des Lichts, wobei `true` für an steht und `false` für aus
56
+ : brightness (int | boolean) : Aktuelle Helligkeit in Prozent oder `false`, wenn das Licht keine Helligkeitseinstellung unterstützt
57
+ : brightnessLevel (int | boolean) : Aktuelle Helligkeit von 0-254 oder `false`, wenn das Licht keine Helligkeitseinstellung unterstützt
58
+ : reachable (boolean | string) : `true` wenn das Licht mit der Bridge verbunden ist, `unknown` wenn der Verbindungsstatus abweicht
59
+ : connectionStatus (string) : Der aktuelle Verbindugsstatus mit der Bridge in Form eines Strings. Kann `connected`, `disconnected`, `connectivity_issue` oder `unidirectional_incoming` als Wert beinhalten
60
+ : rgb (array[int,int,int] | optional) : Aktuelle Lichtfarbe in Form eines RGB-Wertes, wenn das Licht Farben darstellen kann
61
+ : hex (string | optional) : Aktuelle Lichtfarbe in Form eines Hexadezimal-Wertes, wenn das Licht Farben darstellen kann
62
+ : xyColor (object{x[float], y[float]} | optional) : Aktuelle Lichtfarbe in Form eines XY-Wertes, wenn das Licht Farben darstellen kann
63
+ : color (string | optional) : Aktueller Lichtname auf Englisch, wenn das Licht Farben darstellen kann und die entsprechende Einstellung des Nodes aktiviert wurde
64
+ : gradient (object | optional) : Aktuelle Gradienteneinstellung mit allen verfügbaren Farbeinheiten in Form eines Arrays, wenn das Licht Gradienteneinstellungen unterstützt, wobei `colors` die Farben ausgibt, `numColors` die Anzahl der eingestellten Farben im Gradienten und `totalColors` die maximal mögliche Anzahl der Farben, die die Ressource im Gradienten unterstützen kann
65
+ : colorTemp (int | boolean | optional) : Aktuelle Farbtemperatur des Lichts, wenn das Licht Farbtemperaturen darstellen kann und eine Farbtemperatur eingestellt wurde
66
+ : colorTempName (string | optional) : Aktuelle Farbtemperatur des Lichts in Form eines beschreibenden Strings mit den Werten `cold`, `normal`, `warm` oder `hot`, wenn das Licht Farbtemperaturen darstellen kann und eine Farbtemperatur eingestellt wurde. Andernfalls wird `unknown` ausgegeben
67
+ : updated (string) : Zeitpunkt der letzten Aktualisierung der Ressource von HueMagic (ISO 8601)
62
68
 
63
- <h3>Ein- / Ausschalten (automatisch)</h3>
64
- <p>Schaltet das Licht abhängig vom aktuellen Status basierend auf dem übergebenen <b>msg.payload</b>-Wert von ein oder aus:</p>
65
- <dl class="message-properties">
66
- <dt>toggle<span class="property-type">any</span></dt>
67
- <dd>Schaltet das Licht mit der vorherigen Konfiguration ein oder aus (Farbe und Helligkeit)</dd>
68
- </dl>
69
+ #### Informationen des Lichts unter `msg.info`
69
70
 
70
- <h3>Alert Effect</h3>
71
- <p>Spielt einen Alarmeffekt basierend auf den übergebenen <b>msg.payload</b>-Werten von:</p>
72
- <dl class="message-properties">
73
- <dt>alert<span class="property-type">int</span></dt>
74
- <dd>Konfigurierbare Anzahl von Sekunden, um den Alarmeffekt abzuspielen (max. 30)</dd>
71
+ : id (string) : Gibt die neue ID des Lichts an
72
+ : idV1 (string | boolean) : Gibt die alte ID des Lichts an
73
+ : uniqueId (string) : Die eindeutige ID des Lichts
74
+ : deviceId (string) : Die eindeutige ID des Geräts
75
+ : name (string) : Der aktuell eingestellte Name des Lichts
76
+ : type (string) : Der Typ des Lichts (immer `light`)
77
+ : softwareVersion (string) : Die aktuelle Firmware des Lichts
78
+ : model (object) : Beinhaltet die Modellinformationen des Lichts unter `id`, `manufacturer`, `name`, `type`, `certified`, `friendsOfHue`, `colorGamut` und `colorGamutType`
75
79
 
76
- <dt class="optional">rgb<span class="property-type">array[int,int,int]</span></dt>
77
- <dd>Optional konfigurierbarer RGB-Farbwert des Alarmeffekt. Sie müssen den RGB-Wert nicht übergeben, wenn Sie bereits einen HEX-Wert übergeben haben</dd>
80
+ #### Zustandsänderungen unter `msg.updated`
78
81
 
79
- <dt class="optional">hex<span class="property-type">string</span></dt>
80
- <dd>Optional konfigurierbarer HEX-Farbwert des Alert-Effekts. Sie müssen den HEX-Wert nicht übergeben, wenn Sie bereits einen RGB-Wert übergeben haben</dd>
82
+ Listet einzelne Parameter in Form eines Objekts auf, die sich im Vergleich zum letzten Zustand des Lichts geändert haben. Wenn keine Änderungen registriert wurden, ist dieses Objekt leer.
81
83
 
82
- <dt class="optional">color<span class="property-type">string</span></dt>
83
- <dd>Optional konfigurierbarer, von Menschen lesbarer Farbname in Englisch wie "red" oder "random" für eine zufällige Farbe</dd>
84
- </dl>
84
+ #### Letzter Stand des Lichts unter `msg.lastState`
85
85
 
86
- <h3>Licht-Ereignisse</h3>
87
- <p>Die vom Licht gesendete Ereignismeldung enthält die folgenden Daten im Objekt <b>msg.payload</b>:</p>
88
- <dl class="message-properties">
89
- <dt>on<span class="property-type">boolean</span></dt>
90
- <dd>True für an, false, für aus</dd>
86
+ Beinhaltet das komplette Statusobjekt (siehe Ausgabewerte oben) des letzten Zustands vor der letzten Änderung. Wenn der letzte Zustand von HueMagic noch nicht registriert wurde, wird `false` ausgegeben.
91
87
 
92
- <dt>brightness<span class="property-type">int</span></dt>
93
- <dd>Aktuelle Helligkeit der Glühbirne in Prozent</dd>
88
+ #### Letzter Befehl unter `msg.command` (optional)
94
89
 
95
- <dt>brightnessLevel<span class="property-type">int</span></dt>
96
- <dd>Aktuelle Helligkeit der Glühbirne (0-254)</dd>
90
+ 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.
97
91
 
98
- <dt class="optional">rgb<span class="property-type">array[int,int,int]</span></dt>
99
- <dd>Aktueller RGB-Farbwert der Glühbirne (falls unterstützt)</dd>
92
+ ### Beispiele von HueMagic
100
93
 
101
- <dt class="optional">hex<span class="property-type">string</span></dt>
102
- <dd>Aktueller HEX-Farbwert der Glühbirne (falls unterstützt)</dd>
94
+ 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.
103
95
 
104
- <dt class="optional">color<span class="property-type">string</span></dt>
105
- <dd>Aktueller Farbname der Glühbirne (falls unterstützt)</dd>
106
-
107
- <dt class="optional">colorTemp<span class="property-type">int</span></dt>
108
- <dd>Aktuelle Farbtemperatur der Glühbirne (falls unterstützt)</dd>
109
-
110
- <dt>updated<span class="property-type">ISO 8601 date string</span></dt>
111
- <dd>ISO 8601 Datum der letzten Aktualisierung des Status</dd>
112
- </dl>
113
-
114
- <h3>Zusätzliche Glühbirneninformationen</h3>
115
- <p>Zusätzliche Informationen zur Glühbirne werden an das Objekt <b>msg.info</b> gesendet:</p>
116
- <dl class="message-properties">
117
- <dt>id<span class="property-type">int</span></dt>
118
- <dd>Numerische ID der auf der Bridge registrierten Glühbirne</dd>
119
-
120
- <dt>uniqueId<span class="property-type">string</span></dt>
121
- <dd>Eindeutige ID der Glühbirne (normalerweise Hardware-ID)</dd>
122
-
123
- <dt>name<span class="property-type">string</span></dt>
124
- <dd>Name der Glühbirne</dd>
125
-
126
- <dt>type<span class="property-type">string</span></dt>
127
- <dd>Glühbirnen-Typ (z.B. Extended Color Light, Dimmable Light)</dd>
128
-
129
- <dt>softwareVersion<span class="property-type">float</span></dt>
130
- <dd>Softwareversion der Glühbirne</dd>
131
-
132
- <dt>model<span class="property-type">object</span></dt>
133
- <dd>Das Modellobjekt der Glühbirne enthält modellspezifische Informationen wie model.id, model.manufacturer, model.name, model.type, model.colorGamut und model.friendsOfHue</dd>
134
- </dl>
135
-
136
- <h3>Universalmodus (optional)</h3>
137
- <p>Definiert die Glühbirnen-ID auf der Hue Bridge manuell, wenn sie nicht in den Node-Eigenschaften konfiguriert ist (deaktiviert Lichtaktualisierungsereignisse):</p>
138
- <dl class="message-properties">
139
- <dt>msg.topic<span class="property-type">int</span></dt>
140
- <dd>Manuelle Definition der Glühbirnen-ID</dd>
141
- </dl>
142
-
143
- <h3>Letzte Zustandsinformationen</h3>
144
- <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>
96
+ ![examples](https://user-images.githubusercontent.com/5302050/148681840-2275c15a-7c0c-4a37-b817-199608e571d2.gif)
145
97
  </script>
@@ -5,8 +5,8 @@
5
5
  {
6
6
  "name": "Name",
7
7
  "input-name": "Name des Lichts",
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 Lichtern…",
11
11
  "none-found": "Keine Lichter gefunden!",
12
12
  "unknown-error": "Etwas ist schief gelaufen. Bitte versuchen Sie es erneut.",
@@ -26,8 +26,11 @@
26
26
  "turned-off": "ausgeschaltet",
27
27
  "error-no-id": "Keine Licht-ID definiert.",
28
28
  "error-input": "Eingabefehler",
29
+ "error-invalid-temp": "Ungültige Farbtemperatur. Erlaubt sind Werte zwischen 153 - 500.",
29
30
  "input": "Ein- / Ausschalten",
30
- "output": "Status"
31
+ "output": "Status",
32
+ "command": "führt Befehl aus…",
33
+ "statusmsg": "Status erfolgreich abgefragt…"
31
34
  }
32
35
  }
33
36
  }
@@ -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>