In Java ist die Sache klar: obj == null, in Javascript schon nicht mehr so ganz: obj == null oder auch obj === null – und bei OpenHAB gibt es gleich mehrere Schreibweisen, die im Netz verbreitet sind und tatsächlich in vorherigen Versionen mal innerhalb der Rules funktioniert haben. Tatsächlich ist aber nur eine Abfrage korrekt.
Und zwar so:
item.state == NULL
Nur so und genau in dieser Schreibweise wird der Status eines Items auf NULL überprüft. Prüfungen auf „null“ oder „undefined“ werden bestenfalls von veralteten Version toleriert.
Mit Hilfe dieser Abfrage lassen sich alle Eingabewerte einer Regel auf Verfügbarkeit überprüfen. Die typischen Abbruchfehler bei fehlenden Werten, insbesondere nach dem Neustart sind somit ausgeschlossen.
if (item1.state == NULL) return;
if (item2.state == NULL) return;
if (item3.state == NULL) return;
Noch keine Kommentare