FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: cdn am 18 November 2015, 20:05:32

Titel: Notify mehrere UND Bedingungen verknüpfen
Beitrag von: cdn am 18 November 2015, 20:05:32
Hallo zusammen,

ich versuche Gerade mehrere Bedingungen in notify zu verknüpfen. Vielleicht kann mir ja jemand helfen:

Ich würde gerne, dass wenn Bed1 & Bed2 erfüllt sind den befehl ausführen. Geht dies nur mit einer if Bedingung oder gibt es dafür einen Syntax wie bei oder den |

Danke im voraus
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: Kharim am 18 November 2015, 20:13:40
Klar kannst du das in einer If durchführen....

If (Bed1 && Bed2) {
}
ist eine UND Verknüpfung

If (Bed1 || Bed2) {
}
ist eine ODER Verknüpfung

Siehe auch:
http://www.fhemwiki.de/wiki/If-condition
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: AET_FHEM am 18 November 2015, 20:21:37
genau zB.:

define FS_Festnetz_An_WE8 at *08:01 { if (($we && Value("HomeStatus") eq "1") ) {fhem ("set REV01 on") } }


=> REV01 schaltet nur on wenn Wochenende und wenn HomeStatus 1 ist
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: cdn am 18 November 2015, 20:36:35
Also sollte das so gehen?

#Abwesenheit
define HESOffSetTempLow notify Dummy1:off|Dummy2:off {\
  if( Value("Dummy1") eq "off" && Value("Dummy2") eq "off") {\
fhem "set Hinten_Clima desired-temp 16.5;;set Konfi_Links_Clima desired-temp 17.0;;"} {\
fhem "set L_Vorne_Links off;;"}\
  }}


Edit: Klappt leider nicht. Es geht ja darum, dass der notify beide dummies checkt. und BEIDE auf off sind.
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: Paul am 18 November 2015, 20:54:46
Warum hast du einmal value geschrieben und einmal nicht?
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: cdn am 18 November 2015, 20:55:32
War ein Fehler. Habs aber gerade ergänzt, ändert sich leider nichts :-(
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: Paul am 18 November 2015, 20:58:18
Und die Klammern?
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: cdn am 18 November 2015, 20:59:06
Habs gerade mal ergänzt wie mein aktueller Stand ist. So denke ich sollte es gehen, tut es aber leider nicht.
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: igami am 19 November 2015, 05:55:02
Statt notify könntest du auch DOIF verwenden.
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: Ralli am 19 November 2015, 07:00:05
... z.B.


define HESOffSetTempLow DOIF ([Dummy1] eq "off" and [Dummy2] eq "off") \
(set Hinten_Clima desired-temp 16.5) \
        (set Konfi_Links_Clima desired-temp 17.0) \
(set L_Vorne_Links off) \
        DOELSE()


Damit erschlägst Du gleichzeitig auch die Abfrage, ob beide Dummys off sind.
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: Damian am 19 November 2015, 08:38:40
Wenn man die einzelnen set-Befehle nicht bewusst mit wait verzögern will, würde ich die Set-Befehle hintereinander angeben, damit werden nicht unnötig Zwischenzustände des Moduls erzeugt. Wenn man das Attribut do always nicht angibt, wird automatisch der DOELSE-Fall erzeugt, die Definition sieht dann einfach so aus:


define HESOffSetTempLow DOIF ([Dummy1] eq "off" and [Dummy2] eq "off")
  (set Hinten_Clima desired-temp 16.5, set Konfi_Links_Clima desired-temp 17.0,  set L_Vorne_Links off)


Gruß

Damian
Titel: Antw:Notify mehrere UND Bedingungen verknüpfen
Beitrag von: cdn am 19 November 2015, 12:26:18
Zitat von: Damian am 19 November 2015, 08:38:40
Wenn man die einzelnen set-Befehle nicht bewusst mit wait verzögern will, würde ich die Set-Befehle hintereinander angeben, damit werden nicht unnötig Zwischenzustände des Moduls erzeugt. Wenn man das Attribut do always nicht angibt, wird automatisch der DOELSE-Fall erzeugt, die Definition sieht dann einfach so aus:


define HESOffSetTempLow DOIF ([Dummy1] eq "off" and [Dummy2] eq "off")
  (set Hinten_Clima desired-temp 16.5, set Konfi_Links_Clima desired-temp 17.0,  set L_Vorne_Links off)


Gruß

Damian

Sehr cool! Es funktioniert. Besten Dank!

Kann ich diese Vereinfachung, dass alle fhem Befehle direkt ausgeführt werden auch bei notify verwenden? Und gibt es für DOIF auch den AND Parameter? Habe im commandref leider nichts dazu gefunden.