restoreOnStartup löst Rule aus

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Chaosmax
Beiträge: 20
Registriert: 29. Dez 2020 12:29
Answers: 0

restoreOnStartup löst Rule aus

Beitrag von Chaosmax »

Ich habe eine rule, die ausgelöst wird, wenn sich ein item "changed". Nun habe ich festgestellt, dass diese Regel auch nach dem nächtlichen Restart ausgeführt wird. Das item steht in der Persist-Datei mit restoreOnStartup drin, soll also wiederhergestellt werden, jedoch soll die Regel dabei nicht ausgelöst werden. Kann man das irgendwie einstellen. Danke.

Ich nutze Openhab3 auf eine Raspberry Pi 4.

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: restoreOnStartup löst Rule aus

Beitrag von int5749 »

Nun, warum startest Du jeden Abend neu?? Dabei hat das Item zunächst ein "NULL" oder "UNDEF" und wird dann richtigerweise mit dem letzten Wert befüllt. Dies ist dann "Item Changed" und triggered die Regel.

Du könntest dies z.B. abfangen über

Code: Alles auswählen

(item.state == ON && (previousState != NULL || previousState != UNDEF)
Somit wird die Regel nur bei der Initialisierung nicht ausgelöst

Finde ich nicht ganz schön, aber sollte funktionieren?
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

ThomasW
Beiträge: 33
Registriert: 9. Jan 2021 16:12
Answers: 1

Re: restoreOnStartup löst Rule aus

Beitrag von ThomasW »

Hey du könntest die rule ändern indem du sagst das sie nur auslösen soll wenn sich der Status von einem von dir festgelegten wert zu einem anderen ändert
siehe bild
Screenshot 2021-01-09 175921.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
OH3 auf RPI4,
Heizungssteuerung: Fritz DECT,
Zigbee: Conbee2 über Phoscon-GW: Aqara Opple Schalter, Aqara Temperatursensoren, Aqara Fenstersensoren, Aqara Aktoren, IKEA Lichter
Astro Binding
DWDUnwetter Binding
OpenWeatherMap Binding
FritzBox TR 064 Binding
iRobot Binding
Telegramm Binding für Benachrichtigungen und Steuerung von unterwegs
Rolladensteuerung: Rademacher DuoFern über HTTP Binding

Chaosmax
Beiträge: 20
Registriert: 29. Dez 2020 12:29
Answers: 0

Re: restoreOnStartup löst Rule aus

Beitrag von Chaosmax »

manchmal sollte man doch etwas länger darüber nachdenken und dann Google mit den richtigen Begriffen füttern.
Dann kommt man zu dieser Lösung https://www.openhab.org/docs/configurat ... p-behavior

Werde es mal mit Option 1 probieren.

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: restoreOnStartup löst Rule aus

Beitrag von int5749 »

Chaosmax hat geschrieben: 9. Jan 2021 19:38 Werde es mal mit Option 1 probieren.
Dann sind wir mal gespannt und freuen uns auf Dein Update und die Lösung :D
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Chaosmax
Beiträge: 20
Registriert: 29. Dez 2020 12:29
Answers: 0

Re: restoreOnStartup löst Rule aus

Beitrag von Chaosmax »

Option 1 funktioniert für mich. Wie beschrieben, habe ich einen Switch Item angelegt, welches bei einem Neustart automatisch auf "NULL" gesetzt wird und durch eine Regel, welche 10 min nach dem Restart läuft dann den Switch auf "ON" setzt.
In den anderen Regel habe ich dann eine IF-Funktion eingebaut, die nachdem sich der Status eines Items ändert prüft, ob der Switch auf "ON" ist. Wenn ja wird die Regel ausgeführt sonst nicht.

Problematisch sind aus meiner Sicht zwei Dinge. Zum einen ist dies nur praktikabel, wenn man eine geringe Anzahl von Regeln hat, für die das relevant ist. Bei mir waren es zwei, da ist es ok, ansonsten kann es aber evt. unpraktikabel sein, dies so umzusetzen.
Zweites Problem ist aber ein nicht planmässiger Neustart des Pi. Daher werde ich nun Option 1 und 2 kombinieren und eine Regel und Script zum verzögerten laden der "Umschalt-Regel" schreiben, die jedesmal nach einem Neustart ausgeführt wird.

Edit: der hervorgehobene Teil ist natürlich Quatsch, wenn man die Regel zum ändern des Switches an den Neustart koppelt und nicht an eine feste Uhrzeit. Ursprünglich hatte ich den Neustart für 04:30 Uhr und die Regel zum Umschalten auf 04:40 gesetzt.
Jetzt habe ich mit "when System started" und "createTimer" die Regel so geändert, dass sie nach jedem Restart greift.

Antworten