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
HUE Lampen kurzzeitig auf andere Werte setzen und zurück
-
- Beiträge: 45
- Registriert: 3. Jul 2019 10:30
-
- Beiträge: 45
- Registriert: 3. Jul 2019 10:30
Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück
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)
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)
- peter-pan
- Beiträge: 2758
- Registriert: 28. Nov 2018 12:03
- Wohnort: Schwäbisch Gmünd
Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück
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.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian
- udo1toni
- Beiträge: 15247
- Registriert: 11. Apr 2018 18:05
- Wohnort: Darmstadt
Re: HUE Lampen kurzzeitig auf andere Werte setzen und zurück
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.
=== vs. ==
Es handelt sich um einen Vergleichsoperator == steht für "ist gleich". === steht für "ist identisch". Das mag jetzt etwas kleinkariert wirken

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

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.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet