Hallo zusammen,
seit gestern habe ich sehr viele von den folgenden Logeinträgen. Ich konnte die Ursache noch nicht ermitteln. Evtl. hängt das mit der ESP Bridge zusammen. Das könnte zeitlich passen.
Die Einträge habe ich seit 2 Tagen. Wie könnte ich weiter versuchen den Fehler einzugrenzen?
2017.04.24 13:46:35 4: ESPEasy espBridge_192.168.0.91_15337: Closing tcp session.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892. <-- erstes Vorkommen
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric eq (==) at fhem.pl line 3560.
....
Reboot
2017.04.25 17:01:07 0: Featurelevel: 5.8
2017.04.25 17:01:07 0: Server started with 344 defined entities (fhem.pl:14046/2017-04-20 perl:5.020002 os:linux user:fhem pid:2608)
2017.04.25 17:01:07 3: telnetForBlockingFn_1493132467: port 36245 opened
2017.04.25 17:01:08 3: UWZ Unwetterzentrale: Run.964 Done fetching data
2017.04.25 17:01:08 3: Fritz_Box_Monitor device opened
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Argument "undefined" isn't numeric in numeric eq (==) at fhem.pl line 3560.
Argument "undefined" isn't numeric in numeric gt (>) at fhem.pl line 892.
Es werden die Funktionen Log3 ($$$) und Dispatch($$$) aufgerufen:
sub
Log3($$$)
{
my ($dev, $loglevel, $text) = @_;
$dev = $dev->{NAME} if(defined($dev) && ref($dev) eq "HASH");
if(defined($dev) &&
defined($attr{$dev}) &&
defined (my $devlevel = $attr{$dev}{verbose})) {
return if($loglevel > $devlevel); <-- Zeile 892
} else {
return if($loglevel > $attr{global}{verbose});
}
sub
Dispatch($$$)
{
my ($hash, $dmsg, $addvals) = @_;
my $module = $modules{$hash->{TYPE}};
my $name = $hash->{NAME};
if(GetVerbose($name) == 5) { <-- Zeile 3560
Log3 $hash, 5, escapeLogLine("$name: dispatch $dmsg");
}
Schau doch mal im EspBridge Device welchen Wert das Attribut verbose hat. Sehr wahrscheinlich hast Du es geändert und dabei übersehen, dass es sich auf undefined gesetzt hat. Dann musst Du das Attribut löschen und neu setzen.
Grüße Jörg
Es muss nicht unbedingt ESPEasy sein, denn der Eintrag muss nicht zusammenhängen. Vielleicht kannst Du ihn ja identifizieren durch suchen nach dem verbosewert:
list a:verbose=undefined
Jup Jörg hat genau ins schwarze getroffen. :-)
Und wieder etwas gelernt. Wie seid ihr auf das verbose gekommen?
Vielen Dank für die Hilfe!
Thomas
Die Vergleiche im Code betreffen in beiden Fällen das Loglevel für den speziellen Fall und der wird am Device über das ATtribut verbose eingestellt. Das gibt hier den Wert für den Vergleich vor (wenn gesetzt, sonst der globale verbose level)
Vielen Dank für die Erklärung!