at Befehl mit if Befehl für zwei Lampen

Begonnen von Tiedi, 07 Oktober 2014, 08:31:18

Vorheriges Thema - Nächstes Thema

Tiedi

Ich bekomme im Logfile folgenden Fehler
Abendlicht: syntax error at (eval 1732) line 1, near "HandySascha:"

folgenden at - Timer habe ich erstellt:
*{sunset(0)} { fhem ("set WohnzimmerVitrine,Aussenlicht_hinten1 on") if ([Handy1:&STATE] eq "present" || [Handy2:&STATE] eq "present") }

Es sollen, wenn eines der Handys da ist, zum Sonnenuntergang zwei Lampen eingeschaltet werden.

Puschel74

#1
Hallo,

du versuchts if und IF zu vermischen was logischerweise schief geht.
das hatten wir aber bereits ein paar mal hier  8)


Grüße

Edith: Hier die commandref - sogar auf deutsch:
http://fhem.de/commandref_DE.html#IF
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Tiedi

Alles klar danke für den Hinweis.
So gehts:
*{sunset(-2700)} IF ([Handy1:&STATE] eq "present" || [Handy2:&STATE] eq "present") ((set WohnzimmerVitrine,Aussenlicht_hinten1 on))

Puschel74

Hallo,

du weisst aber das, wenn der Zeitpunkt des at rum ist und du erst danach present bist nicht mehr geschaltet wird.

Schau dir mal DOIF an - damit kannst du genau solche Fälle noch abfangen.
Sprich:
at vorbei niemand da = es passiert nichts
at vorbei jemand kommt = Licht schaltet
jemand da und at erreicht = Licht schaltet <-- das kannst du evtl. noch abfangen wenn du das nicht willst

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Tiedi

OK, das war mir klar aber ich glaube DOIF ist mir für den Anfang zu mächtig. Aber vielen Dank! Immer gut zu wissen was es alles gibt :)

Puschel74

Hallo,

mal als Beispiel (ich bin mit DOIF noch nicht so vertraut):
define di_lamp DOIF ([{sunset(-2700)}] and ([Handy1] eq "present" or [Handy2] eq "present")) (set WohnzimmerVitrine,Aussenlicht_hinten1 on)
attr di_lamp do always


Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Damian

Zitat von: Puschel74 am 07 Oktober 2014, 16:30:45
Hallo,

mal als Beispiel (ich bin mit DOIF noch nicht so vertraut):
define di_lamp DOIF ([{sunset(-2700)}] and ([Handy1] eq "present" or [Handy2] eq "present")) (set WohnzimmerVitrine,Aussenlicht_hinten1 on)
attr di_lamp do always


Grüße

Komma ist Trennzeichen bei DOIF zwischen den FHEM-Befehlen, also:

define di_lamp DOIF ([{sunset(-2700)}] and ([Handy1] eq "present" or [Handy2] eq "present")) (set WohnzimmerVitrine on, set Aussenlicht_hinten1 on)

Gruß

Damian





Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

Puschel74

Hallo,

und das ist der einzige Fehler  ::)
Dann werd ich auch langsam auf DOIF migrieren - und das von mir  :o

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

Damian

Zitat von: Puschel74 am 07 Oktober 2014, 17:34:14
Hallo,

und das ist der einzige Fehler  ::)
Dann werd ich auch langsam auf DOIF migrieren - und das von mir  :o

Grüße

ja, oft werden Sachen von at oder notify eins zu eins portiert. Mit einem DOIF macht es aber insbesondere Sinn ein Problem komplett abzudecken, nach dem Motto: "Wer die Lampe anmacht, soll sie auch wieder ausmachen"

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF