Die Variable previousState ist eine implizite Variable, das heißt, sie steht zur Verfügung, weil die Rule durch den Trigger changed ausgelöst wurde. Ein Persistence Service ist dazu nicht notwendig.violine21 hat geschrieben: ↑6. Jan 2020 11:22 Kann ich mir das so vorstellen, das OpenHAB bis zu dieser Zeile, bzw. bis zur Abarbeitung der Rule:den alten Wert im Speicher hat, was ja durch diese Abfrage erkannt wird:Code: Alles auswählen
if(previousState >= 0 && newState < 0)
?Code: Alles auswählen
Item outTemperatur changed
Oder benötige ich dazu evtl. eine Persistence für?Code: Alles auswählen
outTemperatur
Das wäre dann ja super geeignet, um aus Schaltersignalen Impulse zu formen.
Es gibt noch andere implizite Variablen, z.B. receivedCommand, falls die Rule durch received command getriggert wurde.
Man kann diese Variablen auch verwenden, um zu erkennen, welcher Trigger ausgelöst hat, falls man verschiedene Trigger nutzt (siehe oben).
Man muss sich im Zusammenhang mit received command auch klar machen, dass ein Item, welches ein Kommando empfangen hat, nicht zwingend dieses Kommando als Status hält, im Gegenteil ist das nur zufällig und vielleicht der Fall.
Die impliziten Variablen sind in der offiziellen Doku erläutert: https://www.openhab.org/docs/configurat ... tion-block