FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: igami am 10 Dezember 2015, 22:00:09

Titel: (gelöst) "$EVTPART2" requires explicit package name
Beitrag von: igami am 10 Dezember 2015, 22:00:09
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

Titel: Antw:EVTPART
Beitrag von: igami am 11 Dezember 2015, 05:45:38
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");
}