Ich habe ein Notify mit folgender Definition :
VerisureAlarm:.* {
my @alarm = qx(vsure "user" "pass" armstate);;
fhem ( "attr VerisureAlarm userReadings status @alarm[2]" );;
}
@alarm ist ein Array aus Strings; als Ergebnis bekomme ich ein korrektes Userreading status als
"statusType": "DISARMED",
So weit, so gut, aber :
Im Logfile :
017.10.09 23:38:41 1: PERL WARNING: Scalar value @alarm[2] better written as $alarm[2] at (eval 3300) line 3.
Was soll mir das sagen ?
Wenn ich das versuche, wuerde das doch so aussehen :
VerisureAlarm:.* {
my $alarm = qx(vsure "user" "pass" armstate);;
fhem ( "attr VerisureAlarm userReadings status $alarm[2]" );;
}
Das ist offenbar nicht zulaessig; beim Editieren dieser DEF erhalte ich :
Global symbol "@alarm" requires explicit package name (did you forget to declare "my @alarm"?) at (eval 3332) line 3.
VerisureAlarm:.* {
my @alarm = qx(vsure "user" "pass" armstate);;
fhem ( "attr VerisureAlarm userReadings status $alarm[2]" );;
}
Du musst schon noch ein Array deklarieren. Nur bei der Ausgabe eines bestimmten Arrayelementes gibst Du dann $ an