Hallo *,
ich hab irgendwas noch nicht richtig kapiert:
Bei einer DOIF habe ich folgendes Skript hinterlegt
([Privathandy_Andy] eq "absent") ({
fhem( "set Alarmierung_Andy message Die Garage ist noch offen")if [ga_tor_fk] eq "open";;
})
DOELSE
Warum bekomme ich dabei eine Fehlermeldung
{ fhem( "set Alarmierung_Andy message Die Garage ist noch offen")if open eq "open";; }: Not enough arguments for open at (eval 1517) line 1, near "open eq"
Danke!
Ok... hab's gerade aus nem anderen Schnipsel gesehen, es muss lauten:
([Privathandy_Andy] eq "absent") ({
fhem( "set Alarmierung_Andy message Die Garage ist noch offen")if ReadingsVal("ga_tor_fk","state","") eq "open";;
})
DOELSE
Zitat von: AndyMu am 01 November 2015, 18:08:36
Ok... hab's gerade aus nem anderen Schnipsel gesehen, es muss lauten:
([Privathandy_Andy] eq "absent") ({
fhem( "set Alarmierung_Andy message Die Garage ist noch offen")if ReadingsVal("ga_tor_fk","state","") eq "open";;
})
DOELSE
Wenn du die Sachen so umständlich definierst, dann kannst du auch gleich notify benutzen. Ich würde es so machen:
([Privathandy_Andy] eq "absent" and [?ga_tor_fk] eq "open") (set Alarmierung_Andy message Die Garage ist noch offen)
Ist kürzer und weniger kryptisch.
Gruß
Damian
Ah cool... danke!
Zitat von: AndyMu am 01 November 2015, 20:19:28
Ah cool... danke!
Ansonsten hier nachschlagen:
http://fhem.de/commandref_DE.html#DOIF
Dort wirst du kein Perl-if finden, da die Bedingung von DOIF schon eine aufbereitete Perl-if-Abfrage darstellt.
Gruß
Damian
Was mach ich hier falsch? Es wird eine fehlende, rechte Klammer angemahnt... nur seh ich diese nicht; oder bin ich blind?
{ Log 1, "EG Badfenster seit 30 Minuten offen";; #fhem( "set Alarmierung_Andy message Das EG Badfenster ist noch offen");; #fhem( "set Alarmierung_Karin message Das EG Badfenster ist noch offen");; fhem( "set SATReceiver msg message 0 $hsm: Das EG Badfenster ist noch offen")if ReadingsVal("SATReceiver","state","") eq "on";; }: Missing right curly or square bracket at (eval 2533) line 1, at end of line syntax error at (eval 2533) line 1, at EOF
Der Code dazu ist:
([eg_bz_fk] eq "open") ({
Log 1, "EG Badfenster seit 30 Minuten offen";;
#fhem( "set Alarmierung_Andy message Das EG Badfenster ist noch offen");;
#fhem( "set Alarmierung_Karin message Das EG Badfenster ist noch offen");;
fhem( "set SATReceiver msg message 0 $hsm: Das EG Badfenster ist noch offen")if ReadingsVal("SATReceiver","state","") eq "on";;
})
DOELSE
Ok, irgendwie liegt es an den auskommentierten Zeilen, nehme ich die raus ist es ok.