HUE Lampen kurzzeitig auf andere Werte setzen und zurück

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

BtBread
Beiträge: 45
Registriert: 3. Jul 2019 10:30
Answers: 0

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

Beitrag 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

BtBread
Beiträge: 45
Registriert: 3. Jul 2019 10:30
Answers: 0

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

Beitrag 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)

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

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

Beitrag 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.
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Benutzeravatar
udo1toni
Beiträge: 15247
Registriert: 11. Apr 2018 18:05
Answers: 242
Wohnort: Darmstadt

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

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

Antworten