Hauptmenü

Notify

Begonnen von Wolfgang Hochweller, 09 Oktober 2017, 23:54:30

Vorheriges Thema - Nächstes Thema

Wolfgang Hochweller

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.

CoolTux


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
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net