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.
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
Vielen Dank!