Nach dem update bekomme ich regelmäßig folgende Warning:
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/72_FRITZBOX.pm line 3462.
Liegt wohl daran das {SECPORT} üblicherweise undef ist aber versucht wird für eine Logmessage zu verwenden:
FRITZBOX_Log $hash, 4, "DEBUG: TR064: $hash->{TR064} or secure Port: $hash->{SECPORT} not available.";
Desweiteren kriege ich Warnings (das ist aber spezifisch, weil ich mein FHEM auf Unicode umgestellt habe) weil in der Help ein nicht unicode konformer Zeichensatz für Umlaute verwendet wird:
PERL WARNING: UTF-8 "\xFC" does not map to Unicode at fhem.pl line 5753, <$FH> line 8497.
ausgelöst von
box_upnp_control_activated - Status Kontrolle \xFCber UPNP
Das betrifft aber nur die Sektion Readings und Ereigniscodes - drüber sind alle Umlaute ok (Copy & Paste aus einer anders kodierten Datei?)
Meinst Du das Update aus dem SVN?
Wenn ja, teste mal bitte die aktuelle Testversion von hier https://forum.fhem.de/index.php?topic=118150.msg1273972#msg1273972
Viele Grüße
Jürgen
Ja, war per "update all".
Die Forum version hat die Probleme immer noch - nur die Zeilennummer hat sich verschoben auf 3534, aber es ist im Prinzip die selbe Codezeile.
Und die Unicode Probleme in der Hilfe bestehen auch noch.
Jörg
Hi Jörg,
dann bitte den Fehler im allgemeinen Thread von Jörg melden.
https://forum.fhem.de/index.php?topic=118150.0
Hier werden aktuell alle Probleme besprochen und immer die aktuelleste Version getestet.
Viele Grüße
Jürgen
Zitat von: Adimarantis am 26 April 2023, 19:37:54Nach dem update bekomme ich regelmäßig folgende Warning:
PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/72_FRITZBOX.pm line 3462.
Hm, das ist interessant.
$strCurl = $soap_resp->{'s:Body'}->{'u:GetStatusInfoResponse'}->{NewUptime};
$Sek = $strCurl;
$Tag = int($Sek/86400);
$Std = int(($Sek/3600)-(24*$Tag));
$Min = int(($Sek/60)-($Std*60)-(1440*$Tag));
line 3462 $Sek -= (($Min*60)+($Std*3600)+(86400*$Tag));
Der Fehler entsteht in einer Code Zeile, wo ich ihn gar nicht erwarte. Welche FritzBox mit welchem Fritz!OS ist bei Dir im Einsatz?
Grüße Jörg
Da sind zu viele Versionen im Umlauf. Die Zeile ist folgende:
FRITZBOX_Log $hash, 4, "DEBUG: TR064: $hash->{TR064} or secure Port: $hash->{SECPORT} not available or wrong Fritz!OS: $FW1.$FW2.";
Da es ja nur logging ist, hab ich das bei mir jetzt einfach auskommentiert.
Ich habe eine 7590 mit FritzOS 7.50
Gruß
Jörg
Zitat von: Adimarantis am 27 April 2023, 20:56:30Da sind zu viele Versionen im Umlauf. Die Zeile ist folgende:
FRITZBOX_Log $hash, 4, "DEBUG: TR064: $hash->{TR064} or secure Port: $hash->{SECPORT} not available or wrong Fritz!OS: $FW1.$FW2.";
Da es ja nur logging ist, hab ich das bei mir jetzt einfach auskommentiert.
Ich habe eine 7590 mit FritzOS 7.50
Gruß
Jörg
Hm, das habe ich jetzt bereinigt. Würdest Du bitte einmal mit der angehängten Version testen. Die Umlaute sind auch alle durch html Codes ersetzt.
Danke und Grüße Jörg
Hat leider nicht vollständig geklappt.
Bei mir ist $hash->{TR064} auch undef
Umlaute machen auch immer noch Ärger.
Hab den undef check mal erweitert. Außerdem habe ich die Datei mit notepad++ geladen, dann Encoding -> Convert to UTF-8 und wieder gespeichert. Jetzt ist Ruhe im Karton.
Gepatchte Datei anbei.
Die Frage ist nur warum TR064 undef ist - darf das überhaupt sein?
Gruß,
Jörg
Zitat von: Adimarantis am 28 April 2023, 08:29:57Hat leider nicht vollständig geklappt.
Bei mir ist $hash->{TR064} auch undef
Die Frage ist nur warum TR064 undef ist - darf das überhaupt sein?
Hallo Jörg,
ja, wenn TR064 in der FritzBox nicht aktiviert ist. Bei der DEBUG Info hatte ich das nicht mehr auf dem Schirm.UPDATE
nein, da der Hash im FRITZBOX_Define mit -1 definiert wird.
Grüße Jörg
Da sind wir beide auf die Präzedenz der Operatoren reingefallen. TR064 ist bei mir "1" - es fehlt einfach eine Klammer im Statement:
FRITZBOX_Log $hash, 4, "DEBUG: TR064: $hash->{TR064} or secure Port:" . ($hash->{SECPORT} ? $hash->{SECPORT} : "none") . " not available or wrong Fritz!OS: $FW1.$FW2.";
Jetzt:
2023.04.28 16:09:50.969 4: FRITZBOX!7590 [Fritzbox: Readout_Run_Web.3534] - DEBUG: TR064: 1 or secure Port:none not available or wrong Fritz!OS: 07.50.