Rule erstellen in Abhängigkeit

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Innocent
Beiträge: 238
Registriert: 29. Jul 2020 12:40
Answers: 0

Rule erstellen in Abhängigkeit

Beitrag von Innocent »

Guten Morgen 😊

Ich habe einen kleinen Pool, den beheize ich mit einer Solarmatte die vom Wasser durchströmt wird. Die Pumpe dazu hängt an einer Shelly.
Die Pumpe wird aktuell per cron Job eingeschaltet und nach 3 Stunden wieder aus.

Nun würde ich gerne bei bestimmter Temperatur draußen und bestimmter Bewölkung diese rule nicht ausführen lassen. Diese Daten hole ich per openweather, sind also vorhanden.

Wie müßte das aussehen?

Danke schonmal
Openhab 2 auf RaspberryPi 4

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

Re: Rule erstellen in Abhängigkeit

Beitrag von udo1toni »

Die Frage ist, welche Version von openHAB nutzt Du und wie hast Du die Regel erstellt? Handelt es sich um eine UI Rule, so musst Du lediglich den But-Only-If-Block entsprechend befüllen. Handelt es sich um eine konventionelle DSL Rule in einer *.rules Datei, so musst Du zu Beginn des Rule Codes einfach eine Abbruchbedingung in der Art

Code: Alles auswählen

rule ...
when
then
    if(Bedingung 1)
        return;
    if(Bedingung 2)
        return;
    // keine der Abbruchbedingungen trifft zu, also
    // Pumpe einschalten
end
einbauen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Innocent
Beiträge: 238
Registriert: 29. Jul 2020 12:40
Answers: 0

Re: Rule erstellen in Abhängigkeit

Beitrag von Innocent »

System mit openhab2.5.12

Es ist eine *.rules Datei.

Ich werde mir das zu Hause mal anschauen und versuchen zu adaptieren.
Melde mich 😃
Openhab 2 auf RaspberryPi 4

EmptySoft
Beiträge: 247
Registriert: 7. Jan 2020 14:45
Answers: 2
Kontaktdaten:

Re: Rule erstellen in Abhängigkeit

Beitrag von EmptySoft »

Innocent hat geschrieben: 23. Mai 2022 10:16 Ich habe einen kleinen Pool, den beheize ich mit einer Solarmatte die vom Wasser durchströmt wird. Die Pumpe dazu hängt an einer Shelly.
Am Shelly kannst Du 3 Temperatursensoren DS1820 anschließen, einen davon in den Pool, einen an die Solarmatte und dann kannst Du mit den Differenzen arbeiten.

Ich habe da ein recht aufwendiges System daraus gebaut (mit möglichst wenig Energy möglichst viel Temperatur bringen). Wenn Du Interesse hast, melde Dich bei mir per PN
BYe
Harald

Innocent
Beiträge: 238
Registriert: 29. Jul 2020 12:40
Answers: 0

Re: Rule erstellen in Abhängigkeit

Beitrag von Innocent »

Code: Alles auswählen

rule "Pool an wenn 25°C und mehr"
when
    Time cron"0 00 12 * * ? "

then
    if(localCurrentApparentTemperature.state < 25)
        return;


end
So habe ich das mal gemacht, hab ichs richtig verstanden und umgesetzt ???

Soll unter 25°C nicht eingeschaltet werden, über 25°C einschalten.
Openhab 2 auf RaspberryPi 4

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

Re: Rule erstellen in Abhängigkeit

Beitrag von udo1toni »

Na ja, es fehlt halt noch der Einschaltbefehl unterhalb des return;, aber ja, mehre oder weniger sollte es so funktionieren.

Allerdings: Die Frage ist auch, wie das Item definiert ist. Handelt es sich um ein Number Item, oder ist es ein Number:Temperature Item?
Der Unterschied:
Number enthält nur die Zahl, also z.B. 25.4,
Number:Temperature enthält zusätzlich die Einheit, also z.B. 25.4 °C oder auch 77.72 °F(!)

Falls eine Einheit mit dabei ist, geht der Vergleich .state < 25 schief, weil die beiden Zahlen sich nicht im gleichen Wertesystem bewegen.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Innocent
Beiträge: 238
Registriert: 29. Jul 2020 12:40
Answers: 0

Re: Rule erstellen in Abhängigkeit

Beitrag von Innocent »

Ja, den Einschaltbefehl habe ich vergessen, das fiel mir spät auf... 🤣

Nach dem item schaue ich noch. Dann teste ich nochmals.
Openhab 2 auf RaspberryPi 4

Innocent
Beiträge: 238
Registriert: 29. Jul 2020 12:40
Answers: 0

Re: Rule erstellen in Abhängigkeit

Beitrag von Innocent »

Item ist ein number item. Tut also. Dankeschön 😊
Openhab 2 auf RaspberryPi 4

Innocent
Beiträge: 238
Registriert: 29. Jul 2020 12:40
Answers: 0

Re: Rule erstellen in Abhängigkeit

Beitrag von Innocent »

Muss mich korrigieren.
Rule schaltet die Pumpe immer ein egal ob ich < oder > verwende...
Openhab 2 auf RaspberryPi 4

Benutzeravatar
peter-pan
Beiträge: 2758
Registriert: 28. Nov 2018 12:03
Answers: 30
Wohnort: Schwäbisch Gmünd

Re: Rule erstellen in Abhängigkeit

Beitrag von peter-pan »

Bist du sicher, dass es sich um ein Item vom Typ Number handelt ? Oder vielleicht doch um ein Typ "Number:Temperature" ? Das ist der Typ, der von OWM für dieses Item eigentlich vorgegeben wird.

Die Möglichkeiten wären:

Code: Alles auswählen

    if( (localCurrentApparentTemperature.state as Number).floatValue < 7)  {
         .....Code
    oder

    if(localCurrentApparentTemperature.state < 7 | °C) {
       ....Code
Bei der ersten If-Condition wird die Messeinheit im Item entfernt. Bei der zweiten If-Condition wird die Messeinheit dem Vergleichswert hinzugefügt.

Ich finde die erste Form eleganter. Man braucht z.B. nicht zu wissen was die Messeinheit ist und evtl. auch nicht, wie diese formuliert werden muss (z.B.: km, km/h, KM/H, etc..)
Pi5/8GB(PiOS Lite 64-bit(bookworm)/SSD 120GB - OH4.3.5 openhabian

Antworten