Hallo Zusammen,
habe heute morgen ein msgStat im HMinfo durchgeführt - daraufhin erschienen die folgenden Perl-Warnings im Log:
2014.10.18 09:05:41 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 756.
2014.10.18 09:05:41 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 757.
2014.10.18 09:05:41 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 758.
2014.10.18 09:05:41 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 759.
2014.10.18 09:05:41 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_HMinfo.pm line 762.
2014.10.18 09:05:41 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_HMinfo.pm line 763.
Gibts da evtl. ein Fix für?
Danke und Grüße
Chris
sollte eigentlich nicht vorkommen - wird alles initialisiert, hoffe ich.
sende einmal
{my $h = $modules{CUL_HM}{stat}{r};;my @a=keys%{$h};;my $r;;foreach(@a){$r.="\n$_: ".(ref $h->{$_} eq ref {}?join(",",sort keys %{$h->{$_}{h}}):"empty")};;return $r }
und schicke das Ergebnis
Hier das Ergebnis
HMLAN1: 0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,3,4,5,6,7,8,9
dummy: empty
Grüße
Chris
perfekt.
kommt zu diesem Zeitpunkt auch die Fehlermeldung? Da ist alles initialisiert
gerade nochmal msgStat aufgerufen - jetzt kommt keine Fehlermeldung mehr.
Hallo, hänge mich da mal dran.
bei mir kommt beim Aufruf von msgStat auch die vorgenannte Meldung.
2014.10.22 09:14:59 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 756.
2014.10.22 09:14:59 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_HMinfo.pm line 762.
Mit Aufruf von
{my $h = $modules{CUL_HM}{stat}{r};;my @a=keys%{$h};;my $r;;foreach(@a){$r.="\n$_: ".(ref $h->{$_} eq ref {}?join(",",sort keys %{$h->{$_}{h}}):"empty")};;return $r }
kommt
StatCntRfresh:
HMLAN1: 0,1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23,3,4,5,6,7,8,9
dummy: empty
Fehlermeldung bleibt aber Aufruf von msgStat.
Lösung ?
Lösung war ein update der 98_HMinfo.pm
:)
Gruß Billy
jep, hier kamen heute ebenfalls wieder folgende Meldungen
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 757.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 757.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 757.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 758.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 759.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_HMinfo.pm line 760.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_HMinfo.pm line 763.
2014.10.23 14:14:38 1: PERL WARNING: Use of uninitialized value in addition (+) at ./FHEM/98_HMinfo.pm line 764.
Grüße
Chris
Habe heute folgende Meldung gefunden:
Zitat2014.12.26 11:51:52 1: PERL WARNING: Use of uninitialized value in sprintf at ./FHEM/98_JsonList.pm line 249.
Weiterhin hat meine Freundin immer mal wieder den Jsonlist Fehler bei ihrer Iphone FHEM-Remote App. In welchem Zusammenhang das steht und wann genau
der Fehler in der App Auftritt kann ich nicht sagen. Habe auch keine Ahnung warum der o.g. Fehler im Logfile erschien. 3 Minuten vorher hat der HMLAN sich neu
im Lan angemeldet, da dies kurz für ihn ausgefallen war (Powerline sei Dank).
das sollte eher von den Entwicklern des jsonlist korrigiert werden.
$str .= sprintf("%*s\"measured\": \"%s\"\n", $lev+12, " ", $r->{$c}{TIME});
sieht seltsam aus, da $r->{$c}{TIME} den fehler zu machen scheint, aber noch nicht einmal ausgegeben wird.
Moin,
als erstes mal "Vielen Dank" für das Modul und die "Arbeit". 8)
Bin Heute im Logfile, auf folgendes:
2015.07.22 13:19:07 1: PERL WARNING: Use of uninitialized value $p in hash element at ./FHEM/98_HMinfo.pm line 134.
aufmerksam geworden..
Zeile 134 aus 98_HMinfo.pm: $errFlt{$p}{x}=1; # add at least one reading
List HMinfo:Internals:
CHANGED
ERRactNames wz_hk2_Fenster
I_HM_IOdevices CUL868:ok,: vccu;Initialized: CUL868;
NAME HMinfo
NR 147
STATE updated:2015-07-22 14:06:50
TYPE HMinfo
Version 01
CHANGETIME:
Helper:
Dblog:
I_rssiminlevel:
Mydblog:
TIME 1437563947.60875
VALUE 59<:0 60>:2 80>:1 99>:0
Readings:
2015-07-13 01:32:30 C_sumDefined entities:25,device:6,channel:21,virtual:0
2015-07-18 08:32:14 I_actTotal alive:4,dead:1,unkn:0,off:0
2015-07-22 13:19:07 I_rssiMinLevel 59<:0 60>:2 80>:1 99>:0
2015-07-13 01:32:30 I_sum_battery ok:1,
2015-07-13 01:32:30 I_sum_sabotageError off:1,
Nb:
cnt 0
Attributes:
group homematic
room Homematic,Übersicht
sumERROR battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],,smoke_detect:none,cover:closed
sumStatus battery,sabotageError,powerError,motor
webCmd update:protoEvents short:rssi:peerXref:configCheck:models
Hatte ein "update" über "webcmd" bei HMinfo ausgeführt.
Ein erneutes "update" führt aber zu keinem neuen Logfile Eintrag.
Erst ein Neustart und "update" führt wieder zu einem Eintrag.
1. Was für Daten benötigt Ihr noch von mir?
2. Tritt der Fehler nur bei mir auf?
3. Hat jemand eine Idee, wie ich die "PERL WARNING" ( mit Eurer Hilfe ) beseitigen kann?
Viele Grüße & besten Dank
Sunny
PS: Raspberry2 mit Linux Rpi2Addon 4.0.8-v7+ #805 SMP PREEMPT Thu Jul 16 18:46:20 BST 2015 armv7l
sumError hat ein leeres Element
uncertain:[no|yes],,smoke_detect:none,
2-mal komma.
Hallo martinp876,
vielen Dank für das schnelle finden meines Dummen Fehlers. ::)
Habe jetzt "sumERROR" von dem zweiten Komma befreit.
Recht herzlichen Dank
Sunny
Moin martinp876,
Sorry, habe da doch noch einmal eine Frage...
Habe auf meinem Test Fhem mal
define HMinfo HMinfo
eingegeben.
Dort wird automatisch
sumERROR
battery:ok,sabotageError:off,powerError:ok,overload:off,overheat:off,reduced:off,motorErr:ok,error:none,uncertain:[no|yes],,smoke_detect:none,cover:closed
erstellt.
Kann es sein, das der "Fehler", durch "98_HMinfo.pm" Zeile 53
Zitat.",uncertain:[no|yes],"
entsteht ?
Bitte nicht mißverstehen, sind meine Anfänge mal in Perl zuschauen... :-[
Schönen Tag & Viele Grüße
Sunny
ZitatBitte nicht mißverstehen, sind meine Anfänge mal in Perl zuschauen
warum? Stimmt doch.
ist mir nicht aufgefallen, da das Attribut gesetzt ist und der falsche default nur gesetzt wird, wenn es eben einen default braucht.
Falls SVN wieder gehen wird ist es korrigiert.