[gelöst] Logfehler evtl. ESP Bridge? Argument "undefined" isn't numeric in nume

Begonnen von tklein, 25 April 2017, 17:23:02

Vorheriges Thema - Nächstes Thema

tklein

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");
  }

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

viegener

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
Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tklein

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
FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2

viegener

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)

Kein Support über PM - Anfragen gerne im Forum - Damit auch andere profitieren und helfen können

tklein

FHEM auf Pi 3, Echo (Plus, Dot und Connect), CUL868/433, HM Komponenten, Broadlink, Enigma (VU DUO2), Alexa/Homebridge, Sonoffs (POW, RF, Basic), Wemos D1 (IR, DHT, BH1750, OLED, BMP180), IT/Steckdosen, Fritzbox mit SIP, Wifilight, MQTT, Pilight, Xiaomi Flower Sensor, Spotify, Dooya, Shelly, Conbee2