(gelöst) "$EVTPART2" requires explicit package name

Begonnen von igami, 10 Dezember 2015, 22:00:09

Vorheriges Thema - Nächstes Thema

igami

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

Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED

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");
}
Pi3 mit fhem.cfg + DbLog/logProxy
Komm vorbei zum FHEM Treffen im Kreis Gütersloh! Das nächste Mal im April 2020.

MAINTAINER: archetype, LuftdatenInfo, monitoring, msgDialog, Nmap, powerMap
ToDo: AVScene, FluxLED