FHEM Forum

FHEM => Automatisierung => Thema gestartet von: klausw am 29 November 2013, 12:29:20

Titel: auf bestehendes at Ereignis prüfen
Beitrag von: klausw am 29 November 2013, 12:29:20
Hallo,

ist es möglich, zu überprüfen ob ein at Event mit bekanntem Namen existiert?
Ich lege über die fhem.cfg ein at Ereignis an:

define act_d1 notify d1 { \
my $dimwert = %;;\
my $dimwertc = $dimwert*2.551 ;;\
my $hexwert = sprintf("0x%%x",$dimwertc);;\
system "sudo i2cset -y 1 0x60 0x03 $hexwert";;\
fhem ("delete d1_abschalten");;\
if ("%" ne "0") {\
fhem ("define d1_abschalten at +00:05:00 set d1 0");;\
Log 0, "dimmwert von @ geändert auf $hexwert";;\
}\
}


damit ich es anlegen kann, darf es natürlich vorher nicht existieren.
Daher lösche ich es im mom einfach, bekomme aber natürlich im Logfile eine Fehlermeldung wenn es nicht existiert:

delete d1_abschalten : Please define d1_abschalten first

Daher möchte ich abprüfen, ob das Ereignis existiert und nur dann löschen.

Grüße
Klaus
Titel: Antw:auf bestehendes at Ereignis prüfen
Beitrag von: Puschel74 am 29 November 2013, 12:41:18
Hallo,

fhem ("delete d1_abschalten") if (Value("d1_abschalten") ne "")
löscht d1_abschalten nur wenn es angelegt ist resp.

fhem ("define d1_abschalten at +00:05:00 set d1 0") if (Value("d1_abschalten") eq "")
legt d1_abschalten nur an wenn es nicht bereits existiert.

Ich hoffe das stimmt so - nur aus dem Kopf geschrieben.

Grüsse
Titel: Antw:auf bestehendes at Ereignis prüfen
Beitrag von: klausw am 29 November 2013, 14:29:25
Funktioniert genauso wie du es geschrieben hast.
Danke  ;D
Titel: Antw:auf bestehendes at Ereignis prüfen
Beitrag von: Puschel74 am 29 November 2013, 15:13:32
Gern geschehen.