Wie kann ich eine Rule zeitweise abschalten?

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
ymca72
Beiträge: 15
Registriert: 3. Jan 2021 17:16
Answers: 0
Wohnort: Südhessen

Wie kann ich eine Rule zeitweise abschalten?

Beitrag von ymca72 »

Hallo zusammen,

es wird ja langsam wärmer und heute habe ich meine automatische Beregungsanlage mit Brunnenpume wieder in Betreib genommen. Diese wird über eine Tasmotadose und den internen Zeitplan gesteuert. Die Ventile werden derzeit noch völlig oversized mit eine RPI und Cron gesteuert. Das soll geändert werden, die Brocken liegen auch schon hier aber ist nicht mein Thema hier.

Die Brunnenpumpe füllt auch ab und zu meine Zisterne nach. Ich habe dazu eine Rule geschrieben, das wenn mein Ultraschallsensor in der Zisterne einen Wasserstand =>175cm meldet, soll die Pumpe einschalten. Eine zweite Rule schaltet die Pumpe wieder aus wenn der Stand <=160cm ist. Und genau diese Rule stellt mir nun ein Bein, das alle 5min die Pumpe ausgeht, weil die ja die Rule <=160cm erfüllt ist. Wie kann ich die Rule jetzt zeitweise ausschalten das sie während 19 und 20 Uhr mir die Pumpe nicht ständig ausmacht, wenn der Sensor meldet es weniger als 160cm drin. (Bemerkung zum Verständnis: Der Wasserstand ist invertiert >175cm leer, < 160cm nicht so leer ;-)

Ich habe schon versucht die Rule etwas umzuschreiben aber der Effekt ist der gleiche. ich habe das alles im normalen Rule Editor versucht machen aber da sind die Möglichkeiten etwas beschränkt.

Hat da jemand ne Idee wie ich das hinbekomme? Ich hab jetzt erstmal Quick`n`dirty die Rule ausgeschaltet aber das ist ja nicht der Sinn der Sache.

Ich wäre euch echt dankbar!

Danke und Gruß
Ymca72

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

Re: Wie kann ich eine Rule zeitweise abschalten?

Beitrag von udo1toni »

Im Zweifel gibt es ja vermutlich mehrere Ventile, die darüber entscheiden, ob nun die Zisterne gefüllt wird oder die Beregnung. Werden diese Ventile automatisch gesteuert, so musst Du nur in der "Abschalt-Rule" zusätzlich prüfen, ob das Zisternen-Füll-Ventil offen oder geschlossen ist (oder meinetwegen auch, ob die Beregnung gerade mit Wasser versorgt wird).

Ohne die konkreten Rules ist das Ganze aber sehr theoretisch.

Welche Items stehen zur Verfügung? Wie sieht der Rule-Code aus? (Bei UI Rules bitte unbedingt die Code-Ansicht als Text)
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

ymca72
Beiträge: 15
Registriert: 3. Jan 2021 17:16
Answers: 0
Wohnort: Südhessen

Re: Wie kann ich eine Rule zeitweise abschalten?

Beitrag von ymca72 »

Hallo,

Udo hat mir mal wieder den <schubs in die richtige Richtung gegeben und jetzt funktionierts. Ich verriegele erstmal mit einer Messung der Leistung, die die Gartensteuerung aufnimmt. Wenn kein Ventil angesteuert ist nimmt die Gartensteurung so ca.4 Watt auf (RPI und 24V Trafo). Wenn ein Ventil angesteuert ist sind es so ca 9-10Watt. Und diesen Wert nehme ich und dann verriegelt es sich.

Meine Rule sieht jetzt so aus:

Code: Alles auswählen

configuration: {}
triggers:
  - id: "1"
    configuration:
      itemName: Zisterne_Fuellhoehe
    type: core.ItemStateUpdateTrigger
conditions:
  - inputs: {}
    id: "4"
    configuration:
      itemName: Gartensteuerung_GartensteuerungLeistung
      state: "7"
      operator: <=
    type: core.ItemStateCondition
  - inputs: {}
    id: "3"
    configuration:
      itemName: Zisterne_Fuellhoehe
      state: "160"
      operator: <=
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "2"
    configuration:
      command: OFF
      itemName: Brunnenpumpe_Switch
    type: core.ItemCommandAction
Blöd ist nur, wenn ich die Rule testweise ausführe (bei allen richtig gesetzten Werten) klappt es nicht. Nur wenn ich die Rule regulär ausführen lasse, dann klappt es.
Das einzige was mir jetzt noch ein Bein stellen könnte, ist das wenn der Wert Leistung noch den alten Wert hat und via MQTT noch nicht den erhöhten Leistungswert gemeldet wurde, das dann die Rule wieder zuschlägt. Aber das ist dann ehr ein verschmerzbares Timingproblem.

@udo1toni: Dank dir nochmal für den richtigen Tipp!

Danke und Gruß
YMCA72

Antworten