Fritzbox Presence Modul eingebunden , aber FHEM vergisst irgendwann die Routine

Begonnen von lynckmeister, 20 September 2017, 20:48:08

Vorheriges Thema - Nächstes Thema

lynckmeister

Hallo,
ich habe nach der Anleitung von Tim (https://voizchat.de/fhem-tutorial-serie-teil-06-anwesenheitserkennung-ueber-wlan/)
die Anwesenheitserkennung über das Fritzbox Modul und presence eingebaut.
Dazuhabe ich in myUtilsTemplate.pm eine Routine eingehängt :
sub
NetDevDa($)
{
my $n = 0;
my ($Reading) = @_;
$Reading =~ tr/:/_/;
my @fbs = devspec2array("TYPE=FRITZBOX");
foreach( @fbs ) {
my $Name = ReadingsVal($_,"mac_" . $Reading,"");
if( ($Name ne "") && ($Name ne "inactive") ) {
$n++;
}
}
if( $n == 0) {
return 0;
} else {
return 1;
}
}


Nach einigen Tagen aber scheint FHEM diese NETDEVDA routine zu vergessen , dann bekomme ich mit presence nur noch ERROR gemeldet und im Log file steht:

PRESENCE (lynckmeister) - error while processing check: unexpected function output (expected 0 or 1): Undefined subroutine &main::NetDevDa called at (eval 4641) line 1.

Wenn ich die Funktion dann umbenenne ein NetDevDaDa und das Presence modul auf diese Funktion verweise funktioniert es wieder eine Zeit ...
Wie kommt es dazu ?`

CoolTux

Seltsam das sie Funktion überhaupt geladen wird.
Du musst die Datei auch umbenennen. Vielleicht mal lieber erst was offizielles lesen wie FHEM Wiki.

https://wiki.fhem.de/wiki/99_myUtils_anlegen
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

lynckmeister

Hi CoolTux, danke für deinen Tip,
aber dort ist ja zu lesen :
Bei der Bearbeitung über den Integrierten Editor wird die Programmdatei beim Abspeichern automatisch mit den Änderungen neu geladen.
da ich das einfach in den integrierten Editor gepastet habe, kann man demnach davon ausgehen, dass sie geladen wird beim speichern.
Und das merkt man ja auch daran, dass es zunächst funktioniert.
Warum aber "entädt" sich die Funktion noch einer gewissen Zeit?

CoolTux

myUtilsTemplate.pm

Was sagt Dir das Wort Template und was steht genau im Wiki wie die Datei für eine reibungslose Funktion heißen soll?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

lynckmeister

 8) ich versthehe... danke für die Hilfe - jetzt wird es wohl laufen... werde es die Tage beobachten!