Perl Warning fhem.pl 1652

Begonnen von Rampler, 15 Mai 2025, 09:37:56

Vorheriges Thema - Nächstes Thema

Rampler

Hallo zusammen,
neuerdings habe ich immer mal wieder diese Warnings:

2025.05.14 23:59:55 1: PERL WARNING: Wide character in print at fhem.pl line 1652.
2025.05.14 23:59:55 1: stacktrace:
2025.05.14 23:59:55 1:     main::__ANON__                      called by fhem.pl (1652)
2025.05.14 23:59:55 1:     main::WriteStatefile                called by ./FHEM/98_statistics.pm (410)
2025.05.14 23:59:55 1:     main::statistics_DoStatisticsAll    called by ./FHEM/98_statistics.pm (389)
2025.05.14 23:59:55 1:     main::statistics_PeriodChange       called by fhem.pl (3511)
2025.05.14 23:59:55 1:     main::HandleTimeout                 called by fhem.pl (710)

025.05.15 08:58:51 1: PERL WARNING: Wide character in print at fhem.pl line 1652.
2025.05.15 08:58:51 1: stacktrace:
2025.05.15 08:58:51 1:     main::__ANON__                      called by fhem.pl (1652)
2025.05.15 08:58:51 1:     main::WriteStatefile                called by fhem.pl (1739)
2025.05.15 08:58:51 1:     main::CommandSave                   called by fhem.pl (1285)
2025.05.15 08:58:51 1:     main::AnalyzeCommand                called by fhem.pl (1136)
2025.05.15 08:58:51 1:     main::AnalyzeCommandChain           called by ./FHEM/98_telnet.pm (263)
2025.05.15 08:58:51 1:     main::telnet_Read                   called by fhem.pl (3988)
2025.05.15 08:58:51 1:     main::CallFn                        called by fhem.pl (789)
Wrote configuration to fhem.cfg
2025.05.15 08:58:57 0: Server shutdown
2025.05.15 08:58:57 1: Shutdown executed
2025.05.15 08:58:58 1: PERL WARNING: Wide character in print at fhem.pl line 1652.
2025.05.15 08:58:58 1: stacktrace:
2025.05.15 08:58:58 1:     main::__ANON__                      called by fhem.pl (1652)
2025.05.15 08:58:58 1:     main::WriteStatefile                called by fhem.pl (1873)
2025.05.15 08:58:58 1:     main::CommandShutdown               called by fhem.pl (738)

Hat jemand einen Tipp, wo die Ursache liegen könnte ?

VG Klaus
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

betateilchen

Vermutung: in irgendeinem reading stehen merkwürdig/falsch codierte Zeichen.

Um der Sache auf die Spur zu kommen, könntest Du in der (jetzt leeren) Zeile 1650 eintragen:

Debug "device: $d";
damit solltest Du zumindest das betroffene device rausfinden können.
Danach aber die Zeile wieder löschen :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

rudolfkoenig

Zusaetzlich: das betreffende Modul hat die Daten (womoeglich per Bibliothek) eingelesen, ohne sie zu konvertieren.
Per Voreinstellung (attr global encoding bytestream) muessen alle Module die Daten nach UTF-8 konvertieren, das ist hier nicht passiert.
Mit "attr global encoding unicode" muss alles nach "wide-char" konvertiert werden, leider machen da viele Module nicht mit.

Rampler

Zitat von: rudolfkoenig am 15 Mai 2025, 10:16:55Mit "attr global encoding unicode" muss alles nach "wide-char" konvertiert werden, leider machen da viele Module nicht mit.

Kann ich einfach einen "attr global encoding unicode" absetzen ?
Die Empfehlung ist ja offensichtlich bytestream.
Mit welchen Problemen ist denn zu rechnen ?


Zitat von: betateilchen am 15 Mai 2025, 09:47:48Debug "device: $d";

Habe ich mal gemacht, abwarten..
Nehme an, dass bei einem "config save" jedes device angemeckert wird, ist wohl normal ?


3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!

rudolfkoenig

ZitatKann ich einfach einen "attr global encoding unicode" absetzen ?
Das ist einfach.
Nach einer Weile stellt sich dann raus, ob alle verwendeten Module diese Einstellung unterstuetzen.
Ich habe versucht das bei meinen Modulen zu tun.

betateilchen

Zitat von: Rampler am 15 Mai 2025, 14:52:05Nehme an, dass bei einem "config save" jedes device angemeckert wird, ist wohl normal ?

Ja, sorry. Ich fürchte, mein Vorschlag beruht auf einem Denkfehler meinerseits.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Rampler

Habe das Problem lösen können !
Es lag an meinen schwachsinnigen webCmdLabel Definition eines bestimmten Devices.
Ich habe einfach mal nachgedacht, was ich die letzten Tage so verändert habe ...

In sofern, alles wieder super.
Danke für eure Hilfe.
3 HMUART (2 via ESP8266), 1 DUOFERN, 12 ESP8266, SolvisBen, GoodWE WR, RPI2 (Bullseye), ZWAVE, HM-Classic, und hoch zufrieden ...
Danke an alle, die was dazu beigetragen haben !!