Hauptmenü

If Bedingungen

Begonnen von kschi, 26 Februar 2020, 23:06:44

Vorheriges Thema - Nächstes Thema

kschi

Hallo Otto,

also ich verzweifle hier und ich steige beim besten Willen durch diese verschachtelte Syntax mit fhem und perl nicht durch...Dazu kommen noch diverse verschachtelte Klammern, das ist ja echt was für Tüftler und Programmierer... Aber ich versuche nicht so schnell aufzugeben...

Ich stecke jetzt in diesem DOIF fest. Momentan habe ich 2 Dummyschalter, die meine BM symbolisieren. Dann habe ich eine Dummypumpe, die Zeit x läuft und diese Dummylampe, die einfach im Hintergrund abgefragt werden soll. Diese Dummylampe geht für Zeit X an, wenn die Pumpe aus geht.

Internals:
   DEF        (Schalter1|Schalter2).(on|off) {if(Value("Schalter1")eq "on"||Value("Schalter2")eq "on"){fhem("set Pumpe on;sleep 10;set Pumpe off")}}

   FUUID      5e57fe2c-f33f-1d52-6a76-640a29839c5e00be
   NAME       n_pumpe
   NR         40
   NTFY_ORDER 50-n_pumpe
   REGEXP     (Schalter1|Schalter2).(on|off)
   STATE      2020-03-04 19:48:37
   TRIGGERTIME 1583347717.88894
   TYPE       notify
   READINGS:
     2020-03-04 19:48:32   state           active
Attributes:


Die Pumpe darf nur angehen, wenn die Dummylampe aus ist und einer der Bewegungsmelder anspricht.

Auf deutsch würde ich das jetzt so sagen:

Mache wenn (Schalter1|Schalter2) angeht, erst mal ne Überprüfung ob (Lampe) aus ist. Wenn Lampe aus, dann mach die Pumpe an. Wenn Lampe an, mach gar nichts.

Mit dem Codeschnipsel unten würde ich das jetzt so schreiben wollen:

define di_Pumpe DOIF ([Schalter1:"on"] or [Schalter2:"on"]) (if(Value("Lampe") eq "off") {fhem("set Pumpe on")}

Aber wie so oft, funktioniert das einfach nicht... Wer kann mir helfen?

Otto123

Du nimmst irgendwie spanisch, ungarisch und deutsch, wirfst jeweils sein paar Brocken in den Becher und schüttest Sie auf den Tisch.
Ich weiß nicht genau wie Du das, wohin schreibst, aber das muss vor Fehlern nur so hageln. :-X
define di_Pumpe DOIF (([Schalter1:"on"] or [Schalter2:"on"]) and [Lampe] eq "off") (set Pumpe on)

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz