FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: lohi am 28 November 2015, 13:32:04

Titel: Code funktioniert plötzlich nicht mehr.
Beitrag von: lohi am 28 November 2015, 13:32:04
Hallo,

der folgende Code hat bisher immer funktioniert und jetzt
nicht mehr.

define alarm notify .*:(opened) {\
my $status = ReadingsVal("@", "state", "nn");;\
my $deftype=$attr{@}{alarm};;\
if ($deftype eq "yes" && Value("alarmdummy") eq "closed") {fhem("set Lothar_Handy message ALARM!!!!!;;set maildummy on")}}

Leider komme ich nicht dahinter woran es liegt.
Im logfile steht folgendes:

2015.11.28 11:43:45 4: CUL_Parse: CUL_0 Z0BE8000212345611ADC6000000 -74
2015.11.28 11:43:45 4: CUL_Parse: CUL_0 Z0BE8063011ADC6123456001212 -65
2015.11.28 11:43:45 4: alarm exec {
my $status = ReadingsVal("$", "state", "nn");;
my $deftype=$attr{$}{alarm};;
if ($deftype eq "yes" && Value("alarmdummy") eq "closed") {fhem("set Lothar_Handy message ALARM!!!!!;;set maildummy on")}}
2015.11.28 11:43:45 3: alarm return value: Final $ should be \$ or $name at (eval 7006) line 2, within string
syntax error at (eval 7006) line 2, near "("$""
syntax error at (eval 7006) line 4, near ";
if"
Global symbol "$deftype" requires explicit package name at (eval 7006) line 4.
syntax error at (eval 7006) line 4, near "}}"
Missing right curly or square bracket at (eval 7006) line 5, at end of line

Bisher habe ich die meisten Probleme, durch suchen im Wiki und Forum, lösen können,
aber disesmal komme ich nicht weiter und hoffe das mir jemand einen Tip geben kann.

Gruss
Lothar
Titel: Antw:Code funktioniert plötzlich nicht mehr.
Beitrag von: UliM am 28 November 2015, 13:39:51
Hi,
siehe http://forum.fhem.de/index.php/topic,44094.0.html (http://forum.fhem.de/index.php/topic,44094.0.html)
Du musst in Deinem code die @ erstezen durch $NAME, also
my $status = ReadingsVal("$NAME", "state", "nn");;\
my $deftype=AttrVal("$NAME",'alarm',undef);;\

Gruß Uli
Titel: Antw:Code funktioniert plötzlich nicht mehr.
Beitrag von: lohi am 28 November 2015, 13:56:54
Hallo Uli,

vielen vielen Dank für die super schnelle Hilfe.
Funktioniert wieder einwandfrei.

Gruss Lothar