Seite 1 von 2

Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 2. Apr 2021 09:42
von tbeer
Hallo Zusammen,

ich benutze die UI in Openhab3 um Regeln zu erstellen (ich steige gerade von OH 2.0 auf OH3 um) - ich habe hierzu eine Frage bzgl. der logischen Verknüpfung der Bedingungen/Conditions.
Gibt man mehrere Conditions an, werden diese logisch "UND" verknüpft. Besteht über die UI die Möglichkeit, die Verknüpfungslogik zu konfigurieren (AND, OR, XOR) ?

Herzlichen Dank und viele Grüße,
Thomas

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 3. Apr 2021 12:04
von udo1toni
Welche Conditions meinst Du? Welche Rule Art (über die Main UI stehen hier verschiedene Optionen zur Auswahl)?

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 5. Mai 2021 20:15
von hannesk1973
Ich möchte mich der Frage hier anschließen,
möchte auch in einer Rule die ich ich mit dem Designer erstelle auf ein Item reagieren.

Habe also als "When" ein Change auf das Item drinnen.
Then der Ausgang der geschaltet werden soll
But Only If sollte jetzt mehrere verschiedene States von dem Item akzeptieren
(state = "1" oder state = "2")

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 5. Mai 2021 20:26
von ErrPunktErr
Meinst du mit "Designer" evtl. den Blockly Editor?

Wenn ja, in etwa sowas?
Bildschirmfoto vom 2021-05-05 20-25-19.png

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 5. Mai 2021 21:07
von hannesk1973
nein meinte eigentlich diese Maske

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 5. Mai 2021 21:46
von ErrPunktErr
Du hast also bei "Then" direkt eine Item Action erstellt und willst die Einträge unter "But only if" logisch mit "oder" verknüpfen. Korrekt?

Ich glaube das funktioniert so nicht weil die Verknüpfung der Bedingungen an dieser Stelle auf UND limitiert ist. Du kannst aber statt eine Item Action zu erstellen, unter Then einfach "Run Script" auswählen und ein Blockly Script erstellen. Dort kannst du dir dann verschiedenste Bedingungen zusammenklicken. Siehe mein Screenshot oben. Dann brauchst du die Bedingung in dieser Maske auch nicht mehr.

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 8. Mai 2021 19:54
von hannesk1973
Danke für den Tipp, habs jetzt mir Script gemacht allerdings gleich Javascript da ich mir da leichter tue.

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 9. Jun 2021 09:59
von martin_aus_Ddorf
Hallo zusammen,

in der OH3 Doku habe ich es nicht finden können, doch meine Test-Rule ergab, dass sowohl die Trigger als auch die "But only if" jeweils ODER verknüpft sind.
Ein Trigger für "Schalter A",
wenn B auf "ON" gestellt wird, PLUS
wenn es 18 Uhr ist,

wurde immer ausgelöst, sobald ich den Schalter B eingeschaltet habe. Das PLUS ist also ein ODER.

In dem Codebeispiel sind also die id "2" und "3" ODER verknüpft.
Gleiches gilt m.E. für die "But only if" Bedingungen.

Code: Alles auswählen

triggers:
  - id: "2"
    configuration:
      itemName: SONOFFBasic1_SONOFFBASIC1
      command: ON
    type: core.ItemCommandTrigger
  - id: "3"
    configuration:
      time: 18:00
    type: timer.TimeOfDayTrigger
conditions: []
actions:
  - inputs: {}
    id: "1"
    configuration:
      itemName: VersenkungsregnerAnAus
      command: ON
    type: core.ItemCommandAction
Grüße
Martin

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 9. Jun 2021 11:14
von peter-pan
Trigger sind immer event-basierend (When). D. h. sie reagieren, wenn ein bestimmter Zustand ausgelöst wird, z.B. ein Schalter wird angeschaltet (ON). Die "Auslöser" können aber nicht verknüpft werden (and) werden.

Ob bestimmte Bedingungen erfüllt werden, muss im Ablaufteil (Then) abgefragt werden.

Re: Openhab3 und Rules: Mehrere Conditions (And/Or Verknüpfung)

Verfasst: 9. Jun 2021 19:42
von martin_aus_Ddorf
Äh - sorry, ne.
Ob ein "Then" ausgeführt wird, muss im Teil "But only if" ausgewertet werden. Der Button "runn now" sollte das "when" sumulieren.
ScreenShot 069 openHAB - Mozilla Firefox.jpg
Und wenn bei mir die "Rasenzeitsteuerung = off" dann soll die Regel NICHT ausgeführt werden. Und um das zu simulieren sollte der Button "run now" (blaues Dreieck) da sein, oder ich habe den Button nicht verstanden - was ja meine Eingangsfrage war... Wie gesagt, im Echt-Betrieb funktioniert der Schalte im "but ony if"-Teil.

Grüße
Martin