Hauptmenü

PERL WARNING

Begonnen von satprofi, 01 Oktober 2024, 09:51:29

Vorheriges Thema - Nächstes Thema

satprofi

Hallo.
Kann man herausfinden bei welchem define da der Fehler ist? "eval xxxxxx" bedeutet was?

PERL WARNING: Argument "" isn't numeric in numeric lt (<) at (eval 8718806) line 1
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

MadMax-FHEM

Bissi mau die gelieferten Infos...

Wie wäre es denn die tatsächlichen WARN-Meldungen zu posten, also eine Kopie aus dem Log, statt "einen Auszug nachzuformulieren"?
Und wenn Logs/WARN/etc. posten, dann besser code-Tags :)

Setz doch mal das Attribut stacktrace bei global auf 1, dann bekommst du mehr Angaben zu dem WARN...

Vermutlich hast du irgendwo einen Vergleich "eingebaut", wo du einen "numerischen Vergleichsoperator" ('< > ==') nutzt, aber eine Zeichenkette vorliegt...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

satprofi

Danke für den tipp.
Ok, eines hab ich gefunden, RSS. Aber zweites?
2024.10.01 11:48:43 1: PERL WARNING: Invalid conversion in sprintf: end of string at /opt/fhem/lib/FHEM/HTTPMOD/Utils.pm line 436.
2024.10.01 11:48:43 1: stacktrace:
2024.10.01 11:48:43 1:     main::__ANON__                      called by /opt/fhem/lib/FHEM/HTTPMOD/Utils.pm (436)
2024.10.01 11:48:43 1:     FHEM::HTTPMOD::Utils::FormatVal     called by /opt/fhem/FHEM/98_Modbus.pm (2988)
2024.10.01 11:48:43 1:     Modbus::CreateDataObjects           called by /opt/fhem/FHEM/98_Modbus.pm (3027)
2024.10.01 11:48:43 1:     Modbus::ParseDataString             called by /opt/fhem/FHEM/98_Modbus.pm (2383)
2024.10.01 11:48:43 1:     Modbus::HandleResponse              called by /opt/fhem/FHEM/98_Modbus.pm (2040)
2024.10.01 11:48:43 1:     Modbus::ReadFn                      called by fhem.pl (3985)
2024.10.01 11:48:43 1:     main::CallFn                        called by fhem.pl (786)

2024.10.01 11:49:01 1: PERL WARNING: Argument "" isn't numeric in numeric lt (<) at (eval 8917178) line 1.
2024.10.01 11:49:01 1: eval: {(ReadingsVal('Strompreis_heute','07-08h','')) < (ReadingsVal('Strompreis','Durchschnitt',''))}
2024.10.01 11:49:01 1: stacktrace:
2024.10.01 11:49:01 1:     main::__ANON__                      called by (eval 8917178) (1)
2024.10.01 11:49:01 1:     (eval)                              called by fhem.pl (1177)
2024.10.01 11:49:01 1:     main::AnalyzePerlCommand            called by /opt/fhem/FHEM/02_RSS.pm (593)
2024.10.01 11:49:01 1:     main::RSS_analyzePerl               called by /opt/fhem/FHEM/02_RSS.pm (667)
2024.10.01 11:49:01 1:     main::RSS_evalLayout                called by /opt/fhem/FHEM/02_RSS.pm (1036)
2024.10.01 11:49:01 1:     (eval)                              called by /opt/fhem/FHEM/02_RSS.pm (930)
2024.10.01 11:49:01 1:     main::RSS_returnIMG                 called by /opt/fhem/FHEM/02_RSS.pm (1088)
2024.10.01 11:49:01 1:     main::RSS_CGI                       called by /opt/fhem/FHEM/01_FHEMWEB.pm (1011)
2024.10.01 11:49:01 1:     main::FW_answerCall                 called by /opt/fhem/FHEM/01_FHEMWEB.pm (609)
2024.10.01 11:49:01 1:     main::FW_Read                       called by fhem.pl (3985)
2024.10.01 11:49:01 1:     main::CallFn                        called by fhem.pl (786)
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

betateilchen

#3
Zitat von: satprofi am 01 Oktober 2024, 11:53:54Ok, eines hab ich gefunden, RSS. Aber zweites?

Das zweite kommt aus einem Modbus device. Wenn Du in dem device verbose=5 setzt, bekommst Du einen Logeintrag, der Dir den fehlerhaften Aufruf komplett zeigt.


Übrigens - zurück zu Deinem RSS: wenn man Werte aus readings numerisch auf größer oder kleiner vergleicht, sollte man besser ReadingsNum() verwenden anstatt ReadingsVal(). Daß in Deinem Vergleich einige überflüssige Klammern sind, lasse ich jetzt mal außen vor.

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