[Gelöst] Wieder mal Perl Warnung und mit stacktrace keine Lösung gefunden

Begonnen von DieterN, 28 März 2024, 13:57:29

Vorheriges Thema - Nächstes Thema

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

DieterN

#2
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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

DieterN

#4
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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

DieterN

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!!!
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

erwin

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
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

DieterN

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?
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

rudolfkoenig

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.

erwin

... 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
FHEM aktuell auf RaspberryPI Mdl 1-4
Maintainer: 00_KNXIO.pm 10_KNX.pm
User: CUNO2 (868 SLOWRF) - HMS100xx, FS20, FHT, 1-Wire  - 2401(iButton), 18x20, 2406, 2413 (AVR), 2450,..,MQTT2, KNX, SONOFF, mySENSORS,....
Hardware:  Busware ROT, Weinzierl IP731, 1-Wire GW,...

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

DieterN

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.
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

rudolfkoenig

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"

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DieterN

#16
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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

DasQ

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
Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DasQ

Fhem on MacMini/Ubuntu.
Absoluter Befürworter der Konsequenten-Kleinschreibung https://de.wikipedia.org/wiki/Kleinschreibung
Infos zu Klimawandel http://www.globalcarbonatlas.org

DieterN

#22
das habe ich auch schon kontrolliert.
Vielen Dank für euren Einsatz.
Könnt euch jetzt schon paar Ostereier bei mir abholen :D
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

RalfRog

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
FHEM auf Raspi 2B mit nanoCUL, HM-MOD-RPI-PCB und über LAN MAX!Cube mit a-culFW (Stack 868 + 433)
HM- Fensterkontakte, UP-Schalter, Bewegungsmelder und ein Rauchmelder

betateilchen

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.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

DieterN

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
Fhem Server: BananaPI M2 auf SSD;  11xJeelink(Temp), 6xFHT8Vs(Stellmotoren), CUL_HM (Fensterkontakte); MQTT2 (8fach Relais) (Fussbodenheizung) und 4x Temp

JoWiemann

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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

ph1959de

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.
Aktives Mitglied des FHEM e.V. | Moderator im Forenbereich "Wiki"