Seite 2 von 2

Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück

Verfasst: 21. Aug 2019 17:36
von BtBread
Super.
Jetzt geht es wie gewünscht.
Besten Dank nochmal.
Hab in diesem Zug sämtliche sleeps durch timer ersetzt und auch die sendCommands Actions durch die Methode ersetzt.

Hab ne Menge gelernt. Danke euch beiden.
Gruß
Bernd

Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück

Verfasst: 21. Aug 2019 17:42
von BtBread
Sorry. Noch ne offene Frage: lieber immer Methoden anstatt Actions? Also auch beim postUpdate?
Und noch ne Frage: wo ist der Unterschied zwischen 2 und 3 Gleichheitszeichen bei einer IF Bedingung?

Bei Timer: if(tAlarm === null)
Bei States: if(swSchalter == ON)

Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück

Verfasst: 21. Aug 2019 17:51
von peter-pan
Gute Frage. Das hängt mit dem Wert zusammen. Bei "null" immer 3 . Z.B.: "===" oder "!==" und bei den anderen Vergleichen 2. Das musst du evtl. mal googeln.

Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück

Verfasst: 22. Aug 2019 12:43
von udo1toni
Methode statt Action: Ja, unbedingt, das gilt für postUpdate() genauso wie für sendCommand()

=== vs. ==

Es handelt sich um einen Vergleichsoperator == steht für "ist gleich". === steht für "ist identisch". Das mag jetzt etwas kleinkariert wirken :) aber das ist in der Programmwelt tatsächlich ein Unterschied.

null ist ja keine Zeichenfolge, mit der verglichen wird, sondern es ist die Absenz jeglichen Wertes.
Dazu muss man wissen, wie Werte im Computer gespeichert werden. Das läuft über Zeiger auf Speicherplätze.
Da ich das selbst nicht so gut beschreiben kann ;) kürze ich hier ab und gehe nur auf den Sonderfall "gar kein Wert" ein.
Da wird nämlich auf eine ganz bestimmte Stelle im Speicher verwiesen.
null verweist ebenfalls auf exakt diese Speicherstelle.
Der Vergleich === prüft also, ob der Zeiger auf die identische Speicherstelle verweist.

Gegen ON prüft man aber nur auf einen vorhandenen Wert, der auch in einer anderen Speicherstelle stehen könnte.