Guten Abend,
ich habe ein notify mit folgender DEF:
global.(DEFINED|(DELETE)?ATTR.default_).* {
inheritance;
my $regexp = AttrVal($EVTPART1, "regexp", "TYPE=undef");
fhem("deleteattr $regexp $EVTPART2") if($EVTPART1 eq "DELETEATTR");
}
Immer wenn ich nun ein device definiere bekomme ich die Fehlermeldung
2015.12.10 21:48:35 3: inheritance_notify return value: Global symbol "$EVTPART2" requires explicit package name at (eval 629) line 4.
Ist ja auch verständlich, schließlich gibt es das dann ja auch nicht. Aber wie kann ich es umgehen, dass überhaupt versucht wird die Variable auszulesen? Schließlich ist die if Bedingung ja nicht wahr.
Grüße
igami
Habe es nun mittels split gelöst.
global.(DEFINED|(DELETE)?ATTR.default_).* {
inheritance;
my $regexp = AttrVal($EVTPART1, "regexp", "TYPE=undef");
fhem("deleteattr $regexp ".(split(" ", $EVENT))[2]) if($EVTPART1 eq "DELETEATTR");
}