FHEM Forum

FHEM => Frontends => SVG / Plots / logProxy => Thema gestartet von: DieterN am 28 März 2024, 13:57:29

Titel: [Gelöst] Wieder mal Perl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 13:57:29
Hallo liebe Gemeinde
Ich bekommen unregelmässig folgende Log Einträge:
 12:43:00 1: PERL WARNING: Argument "o" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1377.
2024.03.28 12:43:00 1: stacktrace:
2024.03.28 12:43:00 1:     main::__ANON__                      called by ./FHEM/98_SVG.pm (1377)
2024.03.28 12:43:00 1:     main::SVG_getSteps                  called by ./FHEM/98_SVG.pm (1838)
2024.03.28 12:43:00 1:     main::SVG_render                    called by ./FHEM/98_SVG.pm (1236)
2024.03.28 12:43:00 1:     main::SVG_doShowLog                 called by ./FHEM/98_SVG.pm (1127)
2024.03.28 12:43:00 1:     main::SVG_showLog                   called by ./FHEM/01_FHEMWEB.pm (1011)
2024.03.28 12:43:00 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (609)
2024.03.28 12:43:00 1:     main::FW_Read                       called by fhem.pl (3985)
2024.03.28 12:43:00 1:     main::CallFn                        called by fhem.pl (786)

leider finde ich nicht heraus woher sie kommen.
Hoffe jemand kann mir helfen.
Ich habe alle meine Plots durchsucht und sie Funktionieren soweit.

BG Dieter
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: JoWiemann am 28 März 2024, 14:13:58
Hallo Dieter,

bitte einmal sehr aufmerksam die Definitionen Deiner SVG Devices ansehen. Irgendwo hast Du wohl ein o (Oh) anstatt einer 0 hinterlegt.

Grüße Jörg
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 14:38:34
Zitat von: JoWiemann am 28 März 2024, 14:13:58Hallo Dieter,

bitte einmal sehr aufmerksam die Definitionen Deiner SVG Devices ansehen. Irgendwo hast Du wohl ein o (Oh) anstatt einer 0 hinterlegt.

Grüße Jörg
Hallo Jörg
das mache ich schon seit Tagen.
Ich dachte mit stacktrace erfahre ich woher das kommt.
Zudem funktionieren alle meine Plots.
Alles schon 100mal gecheckt, aber nur halt bei den SVG Plots direkt. Nicht in den gplot definitionen
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: JoWiemann am 28 März 2024, 14:52:17
Zitat von: DieterN am 28 März 2024, 14:38:34Hallo Jörg
das mache ich schon seit Tagen.
Ich dachte mit stacktrace erfahre ich woher das kommt.
Zudem funktionieren alle meine Plots.
Alles schon 100mal gecheckt, aber nur halt bei den SVG Plots direkt. Nicht in den gplot definitionen

Du kannst einfach mal in der fhem.cfg bzw. in den *.gplot Dateien nach einem o suchen. Oder Du setzt mit:

attr TYPE=SVG verbose 5

alle SVG Devices auf verbose 5. Das dann umfangreicherer Log könnte den Kandidaten finden.

Grüße Jörg
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 14:59:26
Zitat von: JoWiemann am 28 März 2024, 14:52:17attr TYPE=SVG verbose 5

Das werde ich jetzt versuchen.

Das o suchen habe ich schon in den gplot Dateien und fhem config gemacht.

Danke für den Tipp
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 15:14:51
Also mit verbose 5 kommt keine Info.
Wenn ich die plots einzeln aufrufe, kommt auch kein Eintrag in den log.
Wenn ich aber über den Room "Plots" alle meine Plots aufrufen, kommt der Fehlereintrag.
2024.03.28 15:04:45 1: PERL WARNING: Argument "o" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1377.
2024.03.28 15:08:42 1: PERL WARNING: Argument "o" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1377.
2024.03.28 15:10:36 1: PERL WARNING: Argument "o" isn't numeric in subtraction (-) at ./FHEM/98_SVG.pm line 1377.
 Mit verbose 5 gesetzt!!!
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: erwin am 28 März 2024, 15:57:52
Das "o" könnte in der Range def im plot file sein, oder auch in den Daten, wenn kein range definiert ist! (autorange calc).
Der Fehler kommt jedenfalls bei dem Versuch den y-range (max-min) auszurechnen... 
l.g. erwin
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 16:00:40
Hi Danke
aber hast du das auch gelesen?
Wenn ich die plots einzeln aufrufe, kommt auch kein Eintrag in den log.
Wenn ich aber über den Room "Plots" alle meine Plots aufrufen, kommt der Fehlereintrag.

Wie kann das zusammen hängen?
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: rudolfkoenig am 28 März 2024, 16:25:42
ZitatWenn ich die plots einzeln aufrufe, kommt auch kein Eintrag in den log.
Das waere ein Wunder.

Die Fehlermeldung kommt aus der Routine, die Anhand minimum und maximum die vertikalen Markierungen in der Anzeige berechnet.
Ich wuerde:
- die Logs einzeln im Detailfenster anschauen
- pruefen, ob in "Range as [min:max]" (wenn gesetzt) nicht doch ein o statt 0 verwendet wurde.
- wenn das nicht hilft, dann auf die Warnung im FHEM-Log achten, "Show preprocessed input" in der SVG Detailfenster aufrufen, die Stelle mit dem o in den Daten finden und FileLog / DbLog / etc per Konfiguration ueberzeugen, die Daten ohne "o" zu liefern.

Ich tippe auf explizit gesetzten Range.
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: erwin am 28 März 2024, 16:28:59
... gelesen ja - verstanden: nein,auch weil du nicht geschrieben hast wie du "einzeln" zu den plots kommst.
Wenn dem so ist (was ich für unwahrscheinlich halte), würde ich jeden plot in einen extra raum verschieben und checken, wo es passiert.
l.g. erwin
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 16:41:06
Zitat von: erwin am 28 März 2024, 16:28:59.. gelesen ja - verstanden: nein,auch weil du nicht geschrieben hast wie du "einzeln" zu den plots kommst.
Wenn dem so ist (was ich für unwahrscheinlich halte), würde ich jeden plot in einen extra raum verschieben und checken, wo es passiert.

Das tutz mir leid. Also
ich habe zu Raum(wohnz, Küche usw..) natürlich einen eigenen Room.
Wenn ich auf die SVG Plots zugreife, kommt kein Fehler.
Wenn ich über den Room PLOTS (inden alle meinen Plots sind) gehe kommt die Fehlermeldung. Sonst nicht. Deswegen habe ich nirgends wo was gefunden in den Konfig Dateien. Das währe ja einfach gewesen. ;D
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 16:48:01
Zitat von: rudolfkoenig am 28 März 2024, 16:25:42
ZitatWenn ich die plots einzeln aufrufe, kommt auch kein Eintrag in den log.
Das waere ein Wunder.

Die Fehlermeldung kommt aus der Routine, die Anhand minimum und maximum die vertikalen Markierungen in der Anzeige berechnet.
Ich wuerde:
- die Logs einzeln im Detailfenster anschauen
- pruefen, ob in "Range as [min:max]" (wenn gesetzt) nicht doch ein o statt 0 verwendet wurde.
- wenn das nicht hilft, dann auf die Warnung im FHEM-Log achten, "Show preprocessed input" in der SVG Detailfenster aufrufen, die Stelle mit dem o in den Daten finden und FileLog / DbLog / etc per Konfiguration ueberzeugen, die Daten ohne "o" zu liefern.

Ich tippe auf explizit gesetzten Range.
Hallo Rudolf
Zitat von: rudolfkoenig am 28 März 2024, 16:25:42Das waere ein Wunder.
Das verstehe ich nicht. Wenn eine min: max Definition falsch ist, ist sie doch immer falsch und nicht unterschiedlich, wenn man sich alle Plots anschaut oder einzeln.
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 17:01:26
Zitat von: DieterN am 28 März 2024, 16:48:01- pruefen, ob in "Range as [min:max]" (wenn gesetzt) nicht doch ein o statt 0 verwendet wurde.
Habe ich nirgends man. gesetzt. Verwende immer die Automatik.
Zitat von: DieterN am 28 März 2024, 16:48:01- die Logs einzeln im Detailfenster anschauen
Habe ich natürlich gemacht.
Zitat von: DieterN am 28 März 2024, 16:48:01wenn das nicht hilft, dann auf die Warnung im FHEM-Log achten, "Show preprocessed input" in der SVG Detailfenster aufrufen, die Stelle mit dem o in den Daten finden und FileLog / DbLog / etc per Konfiguration ueberzeugen, die Daten ohne "o" zu liefern.
da bin ich jetzt ratlos. wie ich da vorgehen muss
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: rudolfkoenig am 28 März 2024, 17:07:40
ZitatWenn eine min: max Definition falsch ist, ist sie doch immer falsch und nicht unterschiedlich, wenn man sich alle Plots anschaut oder einzeln.
Genau.
Gilt auch dann, wenn min/max aus den Daten kommen.
Aus diesem Grund waere deine Beobachtung ein Wunder.

Zitatda bin ich jetzt ratlos. wie ich da vorgehen muss
Einzeln _alle_ SVGs in der Detailansicht anschauen, und dabei paraellel das FHEM-Log beobachten.
Die Liste der SVGs kriegt man auch mit "list TYPE=SVG"
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 17:59:57
Zitat von: rudolfkoenig am 28 März 2024, 17:07:40Einzeln _alle_ SVGs in der Detailansicht anschauen, und dabei paraellel das FHEM-Log beobachten
Das habe ich natürlich schon längst getestet.
Da kommt kein Fehler im Log.
Nur wenn ich über den Room(PLots, wo alle Plots aus allen Zimmern zusammengefasst sind) aufrufen, kommt der Fehler LOg.
Das ist ja das komische
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: betateilchen am 28 März 2024, 18:08:53
Zitat von: DieterN am 28 März 2024, 17:59:57Nur wenn ich über den Room(PLots, wo alle Plots aus allen Zimmern zusammengefasst sind) aufrufen, kommt der Fehler LOg.

Kann ja sein.

Vergleiche doch mal das Ergebnis von

count TYPE=SVG
mit dem Ergebnis von

count room=Plots
Alternativ kannst Du statt "count" auch "list" nehmen und die Ergebnislisten vergleichen, aber die zwei Zahlen vergleichen geht halt erstmal schneller.
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 18:54:44
Zitat von: betateilchen am 28 März 2024, 18:08:53
Zitat von: DieterN am 28 März 2024, 17:59:57Nur wenn ich über den Room(PLots, wo alle Plots aus allen Zimmern zusammengefasst sind) aufrufen, kommt der Fehler LOg.

Kann ja sein.

Vergleiche doch mal das Ergebnis von

count TYPE=SVG
mit dem Ergebnis von

count room=Plots
Alternativ kannst Du statt "count" auch "list" nehmen und die Ergebnislisten vergleichen, aber die zwei Zahlen vergleichen geht halt erstmal schneller.
15
Zitat von: betateilchen am 28 März 2024, 18:08:53count room=Plots
17
da sind oben noch meine zwei Stromzähler für Erzeugung und Lieferung dabei. Habe ich mal rausgenommen. Fehler trotzdem
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DasQ am 28 März 2024, 19:05:23
Zitat von: JoWiemann am 28 März 2024, 14:13:58Hallo Dieter,

bitte einmal sehr aufmerksam die Definitionen Deiner SVG Devices ansehen. Irgendwo hast Du wohl ein o (Oh) anstatt einer 0 hinterlegt.

Grüße Jörg

naja da plots aus logs gemacht sind, wird wohl eher ein logdevice ein o an einer stelle liefern, an der eine zahl erwartet wird.

hast du @DieterM vielleicht was wie den readingsWatcher am laufen und ersetzt ein wert durch text?

wirst wohl nicht drum rum kommen dir die "Show preprocessed input" in den plots mal genauer anzuschauen
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: betateilchen am 28 März 2024, 19:06:04
15 vs. 17?

Zitat von: DieterN am 28 März 2024, 18:54:44da sind oben noch meine zwei Stromzähler für Erzeugung und Lieferung dabei. Habe ich mal rausgenommen. Fehler trotzdem


Jetzt behaupte ich einfach mal, Du hast vermutlich immer noch nicht alle (!) SVG devices sorgfältig genug kontrolliert - sowohl die gplot-Dateien als auch die Attribute. Und am besten noch den preprocessed input.
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 19:17:28
Zitat von: betateilchen am 28 März 2024, 19:06:0415 vs. 17?

Zitat von: DieterN am 28 März 2024, 18:54:44da sind oben noch meine zwei Stromzähler für Erzeugung und Lieferung dabei. Habe ich mal rausgenommen. Fehler trotzdem


Jetzt behaupte ich einfach mal, Du hast vermutlich immer noch nicht alle (!) SVG devices sorgfältig genug kontrolliert - sowohl die gplot-Dateien als auch die Attribute. Und am besten noch den preprocessed input.

ich suchen den Fehler schon seit Tagen. Habe alles meines Wissen kontrolliert.(Sonst hätte ich hier kein Fass aufgemacht)
Was meinst du mit preprocessed?
Und nicht vergessen beim einzel Aufruf kommt keine Fehlermeldung. Also müssen doch die SVG Definitionen stimmen. Es wird ja auch alles richtg angezeigt. Auch in beiden Möglichkeiten der Ansicht
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: betateilchen am 28 März 2024, 19:31:36
Zitat von: DieterN am 28 März 2024, 19:17:28Was meinst du mit preprocessed?

Wenn Du tatsächlich der Überzeugung bist, dass Deine SVG devices in Ordnung sind, dann bleiben ja nur die darzustellenden Daten selbst als Ursache für die Perl (ja, es heißt Perl, nicht Pearl...) Warnung.

Im gplot Editor zu jedem SVG device gibt es einen Link "Show preprocessed input", da kannst Du Dir die Werte anschauen, die zum Plotten verwendet werden.

Zitat von: DieterN am 28 März 2024, 19:17:28beim einzel Aufruf kommt keine Fehlermeldung.

In Deinem kompletten Thread hier sehe ich noch nirgends irgendeine Fehlermeldung, sondern nur Warnungen.

Hättest Du tatsächlich einen Fehler, würde das hier nicht zutreffen:

Zitat von: DieterN am 28 März 2024, 19:17:28Es wird ja auch alles richtg angezeigt.
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DasQ am 28 März 2024, 19:33:48
 ;)
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 19:41:21
das habe ich auch schon kontrolliert.
Vielen Dank für euren Einsatz.
Könnt euch jetzt schon paar Ostereier bei mir abholen :D
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: RalfRog am 28 März 2024, 19:55:04
Zitat von: erwin am 28 März 2024, 16:28:59...
Wenn dem so ist (was ich für unwahrscheinlich halte), würde ich jeden plot in einen extra raum verschieben und checken, wo es passiert.

Hallo
Wäre das nicht ein Vorgehen sich gezielt dem problematischen DEVICE zu näheren.
Einfach einzeln DEVICE für DEVICE in einen zweiten Raum verschieben.
Beim ersten Raum ist das Problem irgendwann weg und taucht im anderen Raum auf.

Schränkt die Sucherei ein bzw. vermindert den Suchaufwand.

Gruß Ralf
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: betateilchen am 28 März 2024, 19:57:29
Füge mal in Zeile 1429 (in der aktuellen Version von 98_SVG.pm) folgendes ein:

  Debug "SVG: $name";

Es sollte dann so aussehen:

...
  my $noHeader     = shift;
  Debug "SVG: $name";
  $SVG_RET="";
...

speichere die Datei ab und mache danach einen FHEM Neustart.

Dann sollte für jeden angezeigten plot mindestens eine zusätzliche Zeile im Log auftauchen.
Vielleicht findest Du damit heraus, in welchem Zusammenhang die perl warning entsteht.
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 28 März 2024, 20:04:45
Hallo
die letzten zwei Suchansätze werde ich morgen testen.
Ich sitz schon den ganzen Tag vor dem Rechner.
Somit jetzt genug.
Melde mich morgen wieder.

Vielen Dank für eure Hilfestellung
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: DieterN am 29 März 2024, 11:23:24
Hallo zusammen
Jetzt ist es mir doch etwas peinlich.
Beim verschieben der einzelnen Plots ist die Warnung verschwunden.
Es lag an dem Schlafz Plot, den ich schon seit Monaten nicht verändert hatte.(dachte ich)
Da war es der Min:Max Wert für die Luftfeutigkeit.
Scheinbar wird mal Blind, wenn man zulange am Stück  auf die Kiste schaut.
Allen Helfern vielen Dank und schöne Ostern
Bis bald
BG Dieter
Titel: Aw: Wieder mal Pearl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: JoWiemann am 29 März 2024, 11:49:26
Hallo Dieter,

dass kenne ich auch. Einmal drüber schlafen ist oft die Lösung.

Würdest Du bitte in Deinem ersten Post den Betreff editieren und ein ,,gelöst" an den Anfang setzen.

Grüße und schöne Ostertage

Jörg
Titel: Aw: Wieder mal Perl Warnung und mit stacktrace keine Lösung gefunden
Beitrag von: ph1959de am 29 März 2024, 12:20:18
Zitat von: JoWiemann am 29 März 2024, 11:49:26Würdest Du bitte in Deinem ersten Post den Betreff editieren und ein ,,gelöst" an den Anfang setzen.
... und bei der Gelegenheit bitte auch gleich das Pearl korrigieren - für/gegen alle, die später noch mal darüber stolpern.