Plötzlich Rule ohne Funktion

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
leupy
Beiträge: 83
Registriert: 21. Nov 2018 19:43
Answers: 0
Wohnort: Saarlouis

Plötzlich Rule ohne Funktion

Beitrag von leupy »

Hallo,
ich habe seit kurzem das Problem bei System Neustart das meine Temperaturen nicht neu gesetzt werden.

Code: Alles auswählen

//----------------------------------------------------
//Init Heizung
//----------------------------------------------------
rule "Init Heizung"
when
    System started or                                   // Wenn System startet oder
    Time cron "0 00 21 * * ?" or                          // um 21:OO Uhr Standartwerte Temperatur laden
    Time cron "0 00 05 * * ?" 
then
    Heizung_E_Soll.postUpdate(21.5)
    Heizung_E_Soll_N.postUpdate(19)
    Heizung_W_Soll.postUpdate(21.5)
    Heizung_W_Soll_N.postUpdate(19)
   
end
Diese Regel hat immer funktionier, jetzt steht nach dem Neustart keine Werte mehr in den Sollwerten.
Kann das mit zu vielen Regeln zusammenhängen die beim Neustart initialisiert werden ?
Im voraus schon mal Danke für die Antwort.
Gruß leupy
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2

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

Re: Plötzlich Rule ohne Funktion

Beitrag von udo1toni »

Hast Du noch andere Rules, welche mit System started getriggert werden?
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

harteknut
Beiträge: 235
Registriert: 3. Dez 2019 08:21
Answers: 9

Re: Plötzlich Rule ohne Funktion

Beitrag von harteknut »

Ich habe gelesen (weis aber nicht mehr wo), dass man das Setzen der ersten Initialwerte nach Systemstart ein bisschen rauszögern soll, weil die Rule-Engine sonst schon losläuft und der Rest noch nicht oben ist. Daher lasse ich erst einen 45 Sekunden Timer ablaufen, bevor die Werte gesetzt werden:

Code: Alles auswählen

rule "Systeminit"
when
	System started
then
	logInfo("zentral.rules", "Systeminitialisierung...")
	createTimer(now.plusSeconds(45)) [|	
	if (zentral_AUS.state == NULL) zentral_AUS.postUpdate(OFF)
	if (EG_Gard_Heiz.state == NULL) EG_Gard_Heiz.postUpdate(OFF)
	if (DR_Klingel_Bewegung.state == NULL) DR_Klingel_Bewegung.postUpdate(OFF)
	[...]
	]
end
Kannst Du ja mal versuchen.

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

Re: Plötzlich Rule ohne Funktion

Beitrag von udo1toni »

Also, eigentlich sollte man Werte überhaupt nicht auf diese Weise initialisieren, wenn es nicht einen guten Grund dafür gibt.

Best practice:
  • Alle Status, die man über ein Addon abrufen kann, sollten vom System automatisch ausgelesen werden.
  • Bei den Status, die sich nicht so auslesen lassen, nutzt man den Persistence Service mapdb mit der Strategy everyChange,restoreOnStartup.
  • Nur die Items, welche zum Systemstart immer einen bestimmten Default Wert haben sollen (unabhängig vom tatsächlichen oder dem letzten bekannten Zustand) werden per Rule gesetzt, mit etwas zeitlichem Versatz, wie von harteknut beschrieben.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
leupy
Beiträge: 83
Registriert: 21. Nov 2018 19:43
Answers: 0
Wohnort: Saarlouis

Re: Plötzlich Rule ohne Funktion

Beitrag von leupy »

Hallo, auf die Erste Frage ob noch mehr Regeln beim Starten laufen. Ja es laufen noch mehr und die Funktionieren ?. Ich werde das ganze überdenken und dann wie von euch vorgeschlagen ändern. 👍
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2

Antworten