Syntax Rules and more

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

faximan
Beiträge: 30
Registriert: 17. Aug 2019 12:49

Re: Syntax Rules and more

Beitrag von faximan »

Nachtrag ich bin nun mal in die karaf Konsole gegangen - wenn ich dort die Items aufliste, sehe ich folgendes:

Code: Alles auswählen

sNacht (Type=SwitchItem, State=NULL, Label=Nacht, Category=null)
Liegt es vielleicht daran das ein Teil der Regel nr 2x am tag getrigegrt wird und dann der status des Switch sich erst ändert?
Das evtl nach einen Neustart von open hab der wert des switches wieder auf NULL gestetzt wird?

Muss für den Switch evtl. doch noch ein Thing konfiguriert werden (evtl. auch sinnvoll um den staus in paper ui zu überwachen?)

Wenn ich in der Regel die Werte wie folgt abändere schaltet es

Code: Alles auswählen

if(tBewegung === null && sNacht.state == NULL)
Ich kann mir es momenatn nur so erklären das dieser wert NULL im switch falsch ist und heute morgen nicht richtig geupdatet wurde... bzwnach einen neustart wieder auf null gesetzt wurde (?)...

edit: In die Richtung muss es gehen...
Habe gerade mal im paperui mit der rule engine eine rule gesetzt die den switch s.Nacht neue Werte geben hat - wenn dieser nicht auf NULL sondern auf ON oder OFF steht funktioniert auch der Rest....

Mal abwarten wie es sich heute Abend verhält...
Die Frage ist natürlich warum stand es wieder auf NULL....
Und wie kann ich evtl noch den Trigger auslösen das der Nachtschalter nach testerei wieder in den richtigen Zustand gesetzt wird...

Edit 2;
meine Vermutung ist richtig - das ganze ist nicht reboot fest - sobald man oh neu startet wir der wert des Schalters sNacht auf >NULL gesetzt

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

Re: Syntax Rules and more

Beitrag von udo1toni »

Der Schalter wird nur zum Triggerzeitpunkt gesetzt. Die Rule darfst Du natürlich nicht ändern, denn sobald der Schalter mal gesetzt wurde, geht es nicht mehr. Du musst Dir überlegen, was schlimmer ist: Das Licht wird nach einem Neustart eingeschaltet, obwohl es noch hell ist. Oder: Das Licht bleibt aus, obwohl es bereits dunkel ist. Entsprechend setzt Du die Bedingung:

Code: Alles auswählen

if(tBewegung === null && sNacht.state == ON)// triggert nur bei ON
if(tBewegung === null && sNacht.state != OFF)// triggert bei ON und NULL
Man kann auch eine Rule definieren, welche bei Systemstart nachschaut, ob es Nacht oder Tag ist. Dazu brauchst Du die Elevation. Ist sie größer als 0, steht die Sonne über dem Horizont -> sNacht = OFF, ansonsten steht sie unter dem Horizont -> sNacht = ON.

Code: Alles auswählen

rule "Systemstart"
when
    system started
then
    createTimer(now.plusSeconds(20), [|                                               //dem Astro Binding etwas Zeit geben
        sNacht.postUpdate(if((elevation.state as Number).floatValue < -1)ON else OFF) //die Elevation steht im Item elevation. Astro verwendet UoM
    ])
end
Alternativ kannst Du auch die Zeiten auswerten und mit der aktuellen Zeit vergleichen, aber das ist vergleichsweise kompliziert, mit massig Typumwandlungen, aus dem Kopf könnte ich das jetzt nicht (aber zumindest weiß ich, wo ich fündig werde... ;) )
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

faximan
Beiträge: 30
Registriert: 17. Aug 2019 12:49

Re: Syntax Rules and more

Beitrag von faximan »

ich musste noch "when System started" korregieren - das hatte ich aber schnell durchblickt... danach zerhaut es mir leider das System ... Sobald ich die rule aktiviere rattert es im log...

Caused by: org.eclipse.smarthome.model.script.engine.ScriptExecutionException: The name 'elevation' cannot be resolved to an item or type; line 6, column 31, length 9

//die Elevation steht im Item elevation. Astro verwendet UoM


Was ist damit genau gemeint .... ?

stoße da gedanklich noch auf eine blockade .... muss ich diese items noch anlegen? Oder doch noch was was ich übersehe

Lg
Jan

Edit:
trete leider immer noch auf der Stelle....

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

Re: Syntax Rules and more

Beitrag von udo1toni »

Na ja, das Item musst Du anlegen und mit dem astro binding channel verknüpfen, der die Elevation enthält. Sorry, das hätte ich vielleicht nochmal dazu schreiben sollen.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

faximan
Beiträge: 30
Registriert: 17. Aug 2019 12:49

Re: Syntax Rules and more

Beitrag von faximan »

Hallo Udo...


VIELEN DANK
Ich habs hinbekommen!

Perfekte Lösung

Antworten