Rule mit zweierlei Condtition

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Oekel
Beiträge: 201
Registriert: 28. Aug 2021 10:34
Answers: 0

Rule mit zweierlei Condtition

Beitrag von Oekel »

Moin,

ich versuche gerade folgendes (möglichst einfach )in eine einzige Rule zu quetschen:
WENN: Cronjob alle 5min
DANN: erzeuge einen TTS-String (der die Fenster einzelnd benennt +="sind offen." / bzw. "Alle Fenster geschlossen." setzt.)
DANN: Sende den String an ein TTS-Gerät
ABER NUR, WENN die Fenster-Gruppe == OFFEN (def. Parent: eines offen --> ganze Gruppe offen)

Code: Alles auswählen

configuration: {}
triggers:
  - id: "3"
    configuration:
      cronExpression: 0 0/5 * * * ? *
    type: timer.GenericCronTrigger
conditions:
  - inputs: {}
    id: "2"
    configuration:
      itemName: doorsWindows
      state: CLOSED
      operator: "!="
    type: core.ItemStateCondition
actions:
  - inputs: {}
    id: "4"
    configuration:
      considerConditions: true
      ruleUIDs:
        - tts_windows_DSL
    type: core.RunRuleAction
  - inputs: {}
    id: "1"
    configuration:
      blockSource: <xml Sprachausgabe /xml>
Funktioniert natürlich auch. Nun wird würde ich das ganze aber AUCH noch gerne 1x ausführen, wenn sich der Zustand eines Gruppenmitgliedes geändert hat bzw. alle Fenster geschlossen sind. (die Bedingung an sich kenne ich, doch ich bekomme es in keinen LOGISCHEN Einklang mit der ONLY-IF Bedingung ;) )

Am einfachsten geht es natürlich mit 2 Rules und ich wüsste natürlich auch, wie ich es im Script-Only erledige. Aber ich wollte mich mal an die Click-Varianten rantasten, da diese auch am einfachsten (innerhalb der Fam. erklärt werden können)

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

Re: Rule mit zweierlei Condtition

Beitrag von udo1toni »

Meine Frage wäre ja eher, warum überhaupt den Cron Job?

Ansonsten sind Klick-regeln meiner Meinung komplett überbewertet. Eine Hausautomation bedarf eines Administrators, der weiß, was er tut.
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Rule mit zweierlei Condtition

Beitrag von HiG »

Da ich ein ähnliches Problem habe...ich möchte abängig von 2 Werten die Rule ausführen...also entweder oder....


bin ich auf diesen Artikel gestoßen.
https://community.openhab.org/t/rule-wi ... on/36066/6

Klingt erstmal plausibel... funktioniert aber leider nicht bei mir. Weder "or" noch "OR" noch "Or" noch "||" gehen

Es kommt immer ne Meldung wie

Code: Alles auswählen

Configuration model 'xxx.rules' has errors, therefore ignoring it: [4,4]: no viable alternative at input 'Or'

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Rule mit zweierlei Condtition

Beitrag von int5749 »

HiG hat geschrieben: 15. Jan 2022 19:26 Da ich ein ähnliches Problem habe...ich möchte abängig von 2 Werten die Rule ausführen...also entweder oder....


bin ich auf diesen Artikel gestoßen.
https://community.openhab.org/t/rule-wi ... on/36066/6

Klingt erstmal plausibel... funktioniert aber leider nicht bei mir. Weder "or" noch "OR" noch "Or" noch "||" gehen

Es kommt immer ne Meldung wie

Code: Alles auswählen

Configuration model 'xxx.rules' has errors, therefore ignoring it: [4,4]: no viable alternative at input 'Or'
Spätestens hier wäre Deine Rule interessant, in meiner Glaskugel herrscht Sturm :lol:
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Rule mit zweierlei Condtition

Beitrag von HiG »

int5749 hat geschrieben: 15. Jan 2022 19:45 in meiner Glaskugel herrscht Sturm
Scheint öfter vorzukommen :lol:

Wenn sich in Zeile 3 einer Rule schon ein Problem auftut...dann ist die meist nicht spannend ;-)

Code: Alles auswählen

rule "Temperatur Office"
when
   Item x_dg_of_ms_01_temp changed
then

val Number temp2_off   = ((x_dg_of_ms_01_temp.state as Number))
val Number temp1_off   = ((x_dg_of_hz_Temp_Ist.state as Number))
val Number temp_off   = ((temp1_off+temp2_off)/2)
logInfo("Heizung Office", temp_off.toString)
logInfo("Heizung Office", temp1_off.toString)
logInfo("Heizung Office", temp2_off.toString)

end
und anstatt

Code: Alles auswählen

Item x_dg_of_ms_01_temp changed
hätte ich gerne sowas

Code: Alles auswählen

Item x_dg_of_ms_01_temp OR x_dg_of_hz_Temp_Ist changed

Fastehste?

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Rule mit zweierlei Condtition

Beitrag von int5749 »

HiG hat geschrieben: 15. Jan 2022 19:55 Fastehste?
Das nicht, aber mein Google Translator hat wahre Wunder vollbracht

Code: Alles auswählen

Item x_dg_of_ms_01_temp changed or
Item x_dg_of_hz_Temp_Ist changed
Sollte helfen?
PS: So steht es auch in dem Link, den Du gepostet hattest.

Du könntest natürlich auch beide Items in eine Gruppe, z.B. Group AlleMeineTempItems packen

Dann sollte auch

Code: Alles auswählen

Member of AlleMeineTempItems changed
funktionieren.

VG
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Benutzeravatar
HiG
Beiträge: 136
Registriert: 16. Jun 2021 13:39
Answers: 0

Re: Rule mit zweierlei Condtition

Beitrag von HiG »

int5749 hat geschrieben: 15. Jan 2022 20:16 PS: So steht es auch in dem Link, den Du gepostet hattest.
jaja...streu dem alten Kerl noch Salz in die Wunde. Jetzt...wo Du es erwähnst...haste natürlich Recht #soifz

int5749 hat geschrieben: 15. Jan 2022 20:16 Du könntest natürlich auch beide Items in eine Gruppe,
You are my Held :!:

int5749
Beiträge: 1173
Registriert: 4. Nov 2019 22:08
Answers: 9

Re: Rule mit zweierlei Condtition

Beitrag von int5749 »

Hauptsache es geht und mit einer Gruppe könntest Du leicht weitere Items hinzufügen, ohne die Rule ändern zu müssen.
Einfach eine neues Item in die Gruppe aufnehmen => schwupps fertig
openHAB 4.1.0 Release mit openHABian in einem Debian Bookworm (LXC) unter Proxmox 8.1.3

Antworten