[gelöst] at mit Perl aus 99_myUtils.pm prüfen und ggf. löschen

Begonnen von throbin, 26 Februar 2017, 10:59:39

Vorheriges Thema - Nächstes Thema

throbin

Hi,

ich möchte mit einer Perlfunktion prüfen ob ein Timer definiert ist und ggf. diesen dann löschen. Wenn ich den Code im DEF eines Notify schreibe, dann funktioniert es:

#Check for existing valid timer and delete it
if(defined($defs{'timer_dummySwitch'}))
{
  fhem("delete timer_dummySwitch");
}
fhem("define timer_dummySwitch at +00:00:10 set dummySwitch off");


Dasselbe in 99_myUtils.pm klappt nicht, es sieht so aus als ob der Timer gar nicht definiert ist, die Perl-Funktion sieht wie folgt aus:

sub DeleteTimerIfDefined($)
{
  my ($tim) = @_;
  if(defined($defs{tim}))
  {
    fhem("delete $tim");
  }
}


Wie kann ich einen Timer mit einer Perl-Funktion abbrechen/löschen? defmod scheidet aus, ich will den Timer nicht neustarten... set on/off-for-timer geht auch nicht, da ich das nicht nur für einfache Schaltvorgänge verwende.

Danke!

throbin