Deutsche Bahn Binding - Regel

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
filmgucker2
Beiträge: 237
Registriert: 8. Apr 2020 20:59
Answers: 0

Deutsche Bahn Binding - Regel

Beitrag von filmgucker2 »

Hallo mal wieder,

ich habe mal wieder Probleme mit der Logik :D ...
Das Binding liefert zu Zugabfahrten 2 Werte:
Die geplante Abfahrtszeit und die geänderte Abfahrtszeit.
Mich interessiert natürlich nur die wahre Abfahrtszeit. Die soll angezeigt werden.
Wenn der Zug pünktlich ist, liefert die Bahn nur die geplante Abfahrtszeit. Das Item geänderte Abfahrtszeit
zeigt "NULL" an. Bei Unpünktlichkeit ist das natürlich nicht so. Wie könnte eine Regel aussehen, die beim
Auslöser "Zugabfahrtgeplante Zeit changed", die wahre Abfahrtszeit in einem anderen item anzeigt?
Wenn ich in der Regel abprüfe, ob das item "GeänderteZeit" den Inhalt NULL hat sagt das Log
Command 'NULL' cannot be parsed for item ...

Gibt es eine elegante Lösung?

Viele Grüße!
Raspberry Pi 4, OH 4.0.3

nw378
Beiträge: 296
Registriert: 22. Sep 2018 10:38
Answers: 5

Re: Deutsche Bahn Binding - Regel

Beitrag von nw378 »

Nimm ein drittes Zeit-Item, dem du die geplante Abfahrzeit zuweist, aber nur wenn die geänderte Abfahrzeit gleich NULL ist.
Andernfalls eben die geänderte Abfahrt.

Wenn der Inhalt NULL ist, sollte das gehen. Evtl. hast du nicht .state abgefragt...?

So inetwa:

Code: Alles auswählen

rule "Anzeigeitem für Abfahrt"
when 
    Item geplante_Abfahrt changed or
    Item geaenderte_Abfahrt changed
then
    if (geaenderte_Abfahrt.state == NULL)
      Abfahrt_Anzeige.postUpdate(geplante_Abfahrt.state)
    else
      Abfahrt_Anzeige.postUpdate(geaenderte_Abfahrt.state)  
end      
openHAB 4.3.3 @ RPi 4 / SSD - InfluxDB2 und Grafana @ Synology Docker - KNX

filmgucker2
Beiträge: 237
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Deutsche Bahn Binding - Regel

Beitrag von filmgucker2 »

Danke für die schnelle Antwort. Ich versuche die Regel in der UI hinzukriegen, und da scheitere ich an dem if...else
Raspberry Pi 4, OH 4.0.3

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

Re: Deutsche Bahn Binding - Regel

Beitrag von udo1toni »

Du musst hier mindestens mit Blockly arbeiten, oder eben auf ein Script ausweichen. Geht aber ohne Probleme auch ausschließlich über die UI, nur halt nicht mit einer simplen when - then - but only if - Variante, da hier keine bedingten Verzweigungen zur Verfügung stehen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

filmgucker2
Beiträge: 237
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Deutsche Bahn Binding - Regel

Beitrag von filmgucker2 »

ok, für Dich sicher ohne Probleme...Geht es eigentlich noch nur mit den old fashioned Text rules bei OH4?
Raspberry Pi 4, OH 4.0.3

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

Re: Deutsche Bahn Binding - Regel

Beitrag von udo1toni »

Ja sicher, die kannst Du genauso verwenden (ich nutze ausschließlich die DSL Rules über Textkonfiguration, ich bin schon seit OH1.0 dabei, warum sollte ich ohne Not umsteigen?)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Harka
Beiträge: 489
Registriert: 30. Apr 2021 13:13
Answers: 19

Re: Deutsche Bahn Binding - Regel

Beitrag von Harka »

nicht jammern. Udo hat doch auf Blockly verwiesen.
ForumAbfahrt.png
oder als DSL-Rule mit den beiden oben genannten Triggern

Code: Alles auswählen

if (geaenderte_Abfahrt.state == NULL)
    Abfahrt_Anzeige.postUpdate(geplante_Abfahrt.state)
  else
    Abfahrt_Anzeige.postUpdate(geaenderte_Abfahrt.state) 
oder in einem Label-Item im Feld "Label - Display this text (or expression result) instead of the item's state"

Code: Alles auswählen

=items.geaenderte_Abfahrt.state == 'NULL' ? items.geplante_Abfahrt.state : items.geaenderte_Abfahrt.state
oder eine Gruppe mit DateTime und LATEST sollte auch gehen.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

filmgucker2
Beiträge: 237
Registriert: 8. Apr 2020 20:59
Answers: 0

Re: Deutsche Bahn Binding - Regel

Beitrag von filmgucker2 »

Wunderbar! Vielen, vielen Dank. Nicht nur für die Logik, sondern auch für den Einstieg in Blockly.
Macht richtig Spaß!
Raspberry Pi 4, OH 4.0.3

Antworten