[gelöst]Problemchen bei DOIF

Begonnen von AndyMu, 01 November 2015, 18:05:45

Vorheriges Thema - Nächstes Thema

AndyMu

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!

AndyMu

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

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

AndyMu


Damian

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

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

AndyMu

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

AndyMu

Ok, irgendwie liegt es an den auskommentierten Zeilen, nehme ich die raus ist es ok.