[Gelöst] Unklare Perl Warnung permanent im Log

Begonnen von isy, 06 Januar 2023, 23:17:07

Vorheriges Thema - Nächstes Thema

isy

Heute gefunden, Warnung erfolgt schon länger.
Leider keine Angabe des Moduls.

Habt ihr eine Idee,  wo ich suchen könnte?
"sprintf" finde ich im System nur bei einem Shelly, aber ohne "temperature"
"+2.5" fnde ich nirgends.

VG Helmut

2023.01.06 22:51:18 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 170992) line 1.
2023.01.06 22:51:18 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.01.06 22:52:58 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 171125) line 1.
2023.01.06 22:52:58 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.01.06 22:53:57 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 171204) line 1.
2023.01.06 22:53:57 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
Ein Weg wird erst zu einem Weg, wenn man ihn geht

OdfFhem

Ursache scheint der leere Defaultwert bei ReadingsVal zu sein ... "0" wäre besser ... oder direkt ReadingsNum mit Defaultwert 0 ... oder Berechnung vermeiden bei fehlendem Reading ... oder ...

Es könnte sich um ein userReadings handeln ... fhem.cfg durchsuchen

Könnte natürlich auch in 99_myUtils.pm stecken ...


betateilchen

Man könnte auch einfach mal stacktrace auf 1 setzen, um mehr Informationen zu bekommen, woher die Meldung kommt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

isy

Danke euch schon mal.
Bin heute außer Haus, morgen setze ich die Suche fort.

Ich hatte das proplanta Modul in Verdacht, da neu installiert, das war es aber  nicht.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Hallo betateilchen,
Die Neugier hat gesiegt, dafür hat man VPN.

attr stacktrace auf 1 gesetzt.
2023.01.07 18:03:22 1: PERL WARNING: Argument "" isn't numeric in addition (+) at (eval 280523) line 1.
2023.01.07 18:03:22 3: eval: { sprintf("%.1f",ReadingsVal($name,"temperature","")+2.5) }
2023.01.07 18:03:22 1: stacktrace:
2023.01.07 18:03:22 1:     main::__ANON__                      called by (eval 280523) (1)
2023.01.07 18:03:22 1:     (eval)                              called by fhem.pl (4936)
2023.01.07 18:03:22 1:     main::readingsEndUpdate             called by ./FHEM/10_MQTT2_DEVICE.pm (196)
2023.01.07 18:03:22 1:     main::MQTT2_DEVICE_Parse            called by fhem.pl (4175)
2023.01.07 18:03:22 1:     main::Dispatch                      called by ./FHEM/00_MQTT2_SERVER.pm (580)
2023.01.07 18:03:22 1:     main::MQTT2_SERVER_doPublish        called by ./FHEM/00_MQTT2_SERVER.pm (460)
2023.01.07 18:03:22 1:     main::MQTT2_SERVER_Read             called by ./FHEM/00_MQTT2_SERVER.pm (530)
2023.01.07 18:03:22 1:     main::__ANON__                      called by fhem.pl (3501)
2023.01.07 18:03:22 1:     main::HandleTimeout                 called by fhem.pl (705)


Das sagt mir leider nicht wirklich etwas
73
Ein Weg wird erst zu einem Weg, wenn man ihn geht

betateilchen

main::MQTT2_DEVICE_Parse 

Zumindest weiß man nun, dass die Meldung aus einem MQTT2_DEVICE kommt (und vermutlich beim Parsen einer MQTT-Nachricht auftritt).


--
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

isy

Woll.
Es handelt sich um einen zigbee2mqtt Bewegungsmelder.
Davon habe ich drei Gleiche in Betrieb,  einer zeigt ein temperature reading von 2.5, das ist natürlich Unsinn, die kennen keine Temp.
Der ist es also.

Ich habe das Reading gelöscht,  keine Ahnung, wo das herkam.
19.:02:48 mal abwarten. Dann kommt das nä. Telegramm, Es kann aber sein, dass der solche Daten sendet.
Wenn dem so ist, werde ich den morgen resetten.
Ein Weg wird erst zu einem Weg, wenn man ihn geht

isy

Ein Weg wird erst zu einem Weg, wenn man ihn geht

OdfFhem

Zitat von: isy am 07 Januar 2023, 19:05:31
Bleibt ruhig.
Bin ich  ;)


Ein Reading zu löschen wird das obige Problem nicht lösen können, denn es geht ja um eine Berechnung ...

isy

Ein Weg wird erst zu einem Weg, wenn man ihn geht