Es passiert aber keine Action. Ich nehme an, der Trigger "When" zieht nicht, weil im "Weather_OWM_Temperature" 20 °C" steht.
Wie geht man jetzt damit am besten um? Das Item entsprechend umbauen? Was mach ich dann mit der Anzeige z.B. im HABPanel, oder macht man etwas an der Rule?
Hab jetzt hier eine Weile gesucht, aber viele haben scheinbar immer noch rules() aka OH2. Und jetzt hab ich mir doch wirklich schon fast alles aus den Textdateien heraus migriert und abgewöhnt o)
Danke & Grüße
André
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8
Du kannst im Trigger-Teil der Rule keine Conditions setzen. Du kannst triggern, wenn ein Itemstatus einen bestimmten Wert annimmt, nicht aber, wenn ein bestimmter Wert über- oder unterschritten wird. Was Du stattdessen tun kannst: die Rule löst bei Änderung des Status aus (das state-Feld bleibt dabei leer). Zusätzlich setzt Du über den But Only If Teil eine Condition. Hier kannst Du als Condition prüfen, ob ein bestimmter Wert überschritten wurde.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte
Und der Inhalt "22" vs. "20 °C" (meine eigentliche Frage) ist OH egal?
Danke & Grüße
André
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8
AndreM77 hat geschrieben: 10. Jun 2021 16:15
Und der Inhalt "22" vs. "20 °C" (meine eigentliche Frage) ist OH egal?
Die hatte ich dann glatt überlesen...
Nein, das ist nicht egal. Wenn Du ein Item mit QuantityType im Status vergleichen willst, musst Du eine passende Einheit angeben. Ob Du dann aber 22 °C oder 71.6 °F oder 295.15 K schreibst, kannst Du selbst entscheiden - die UoM Funktion in openHAB rechnet das für Dich passend um - und damit sollte auch klar sein, warum es nicht reicht, die Zahl hin zu schreiben und warum dieses UoM so absolut wünschenswert ist.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte
Hab verstanden, dass ich einfach gegen '> 23 °C' vergleiche. Bin gespannt o)
Danke!
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8
udo1toni hat geschrieben: 9. Jun 2021 23:22
Du kannst im Trigger-Teil der Rule keine Conditions setzen. Du kannst triggern, wenn ein Itemstatus einen bestimmten Wert annimmt, nicht aber, wenn ein bestimmter Wert über- oder unterschritten wird. Was Du stattdessen tun kannst: die Rule löst bei Änderung des Status aus (das state-Feld bleibt dabei leer). Zusätzlich setzt Du über den But Only If Teil eine Condition. Hier kannst Du als Condition prüfen, ob ein bestimmter Wert überschritten wurde.
Ich nochmal dazu. Die Ruhe wird nicht gezogen. Im Event.Log hab ich h dazu auch keinen Eintrag.
Time Based Rules tun. Was kann es noch sein? Wo kann ich noch debuggen?
Danke!
Grüße
André
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8
Wie gesagt, der Trigger kann kein größer als.
Stattdessen musst Du den Trigger auf changed ändern. Dann packst Du noch eine "But only if" Bedingung dazu. Dort schränkst Du ein, dass die Rule nur gestartet wird, wenn der konkrete Wert über Deinem Grenzwert liegt. Dort müsstest Du auch den Wert mit Einheit angeben können.
Es ist möglich, dass Du die Einheit mit der Pipe anhängen musst. Dann stünde da z.B. > 22 | °C (Das ist die Schreibweise, wie sie in normalen DSL Rules Verwendung findet)
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte
2021-08-12 13:10:41.751 [INFO ] [openhab.event.ItemStateChangedEvent ] - Item 'Weather_OWM_Temp_h3' changed from 24.76 °C to 24.84 °C
Wo/Wie kann ich noch suchen?
Andere Regeln, zeitbasiert, erledigen wunderbar ihre Aufgabe.
Danke!!
Grüße
André
--
Connectivity: Z-WAVE, TCP/IP, Velux KLF200, Hue Bridge und IO-Homecontrol
Backend: openHAB 4.0.2 im Docker Container auf QNAP NAS
UI: HABPanel auf Amazon Fire 8
Und macht eigentlich nichts anderes als ein LogInfo auszugeben und einen Schalter (Dummy_3) einzuschalten. Was ich anders gemacht habe als sonst in DSL-Rules, ich habe beim Vergleichswert auf das Pipe-Symbol vor dem UoM verzichtet, obwohl das Item selber ein UoM-Item ist.