Verschieben von Programmcode nach 99_Utils.pm

Begonnen von Bastelbude, 05 Juni 2013, 18:58:14

Vorheriges Thema - Nächstes Thema

Bastelbude

Hallo,
ich möchte die Batterieüberwachung (Wiki-Eintrag) nach 99_Utils.pm verschieben.
Was mache ich da falsch:
Ursprünglicher, funktionierender Code:

in fhem.cfg:
define n_batt_chk notify K_Trockenraum_TH.*:[Bb]attery.* { if("%" !~ m/ok/) { \
  { DebianMail('recipient@@internet.de' (@@internet.de'), 'FHEM Batteriewarnung', '@ %')};; \
   Log 3, "@: Batteriewarnung %";; \
  } \
 }


nun abgeändert:
fhem.cfg:
define Bat_K_Trockenraum_TH notify K_Trockenraum_TH.*:[Bb]attery.* \{ evtHandlerBattery('@','%');; }

utils_99.pm:

sub evtHandlerBattery($$)
{
  my $Component = shift; # @
  my $State = shift;     # %
 
  if($State !~ m/ok/) { \
      { DebianMail('recipient@@internet.de' (@@internet.de'), 'FHEM Batteriewarnung', '$Component $State')};; \
      Log 3, "$Component: Batteriewarnung $State";; \
      } \  
}

Wer kann mir da weiterhelfen, ich hab den Dreh mit der Variablenübergabe noch nicht raus.
Vielen Dank schonmal.

MisterEltako

Die Datei muß 99_Utils.pm lauten. Sonst wird Sie nicht rechtzeitig geladen In dieser ist ;; nur als ; zuschreiben. Weiterhin braucht man hier das Zeilenende "\" nicht!

Also so:

fhem.cfg:

define Bat_K_Trockenraum_TH notify K_Trockenraum_TH.*:[Bb]attery.* {\
   evtHandlerBattery('@','%');;}


99_Utils.pm:

sub evtHandlerBattery($$)
{
my $Component = shift;
my $State = shift;

if($State !~ m/ok/) {
 DebianMail('recipient@@internet.de', 'FHEM Batteriewarnung', '$Component $State')};
 Log 3, "$Component: Batteriewarnung $State";
 }
}



MfG, MisterEltako
HMLAN-Konfigurations-Adapter, HM-Funkjalousieaktor/HM-Dimmaktor/HM-Schaltaktor f. Markenschalter, Jalousie-/Schaltaktor von Eltako, FT4 v. Eltako, TCM310