[gelöst] SVG Plot mit DbLog Fehler space is not allowed in >DbLog< definition

Begonnen von aaameyer, 28 Januar 2025, 02:07:55

Vorheriges Thema - Nächstes Thema

aaameyer

Hallo zusammen,
in meiner FHEM Installation logge ich alles mit DbLog und versuche ein SVG Plot zu erzeugen. Dieser sieht auch so aus wie er es soll, nur dass bei jedem Aufruf im Logfile folgender Fehler erscheint:

2025.01.28 01:55:17 3: SVG_Blauberg_S21_Status: space is not allowed in >DbLog< definition: Blauberg_S21:Abluft_Luftfeuchte:::
2025.01.28 01:55:17 3: SVG_Blauberg_S21_Status: space is not allowed in >DbLog< definition: Blauberg_S21:Abluft_RPM:::

Leider finde ich im Wiki oder Forum keinen Hinweis wie ich den Fehler weg bekomme und eigentlich sieht der Plot auch gut aus, nur sind Fehler im Logfile nichts was ich einfahc hinnehmen will. Auch der Blick in den Source-Code hat mir nicht weitergeholfen, da ich nicht fit genug in Perl bin.

Hat jemand eine Idee?

Hier mein SVG_Blauberg_S21_Status.gplot
# Created by FHEM/98_SVG.pm, 2017-09-23 21:24:00
set terminal png transparent size <SIZE> crop
set output '<OUT>.png'
set xdata time
set timefmt "%Y-%m-%d_%H:%M:%S"
set xlabel " "
set title 'KWL Stockborn 15 Status'
set ytics
set y2tics
set grid ytics
set ylabel "Feuchte %"
set y2label "RPM"
set yrange [20:100]
set y2range [-100:2200]

#logdb Blauberg_S21:Abluft_Luftfeuchte:::
#logdb Blauberg_S21:Abluft_RPM:::

plot "<IN>" using 1:2 axes x1y1 title 'Abluft Feuchte' ls l0 lw 1 with lines,\
     "<IN>" using 1:2 axes x1y2 title 'Abluft RPM' ls l1 lw 1 with steps

In der fhem.cfg ist es wie folgt eingebunden:
define logdb DbLog ./db.conf .*:.*
define SVG_Blauberg_S21_Status SVG logdb:SVG_Blauberg_S21_Status:HISTORY

rudolfkoenig

Es geht um die #logdb Zeilen in der .gplot Datei.

Dabei ist exakt ein Leerzeichen erlaubt zwischen Name (#logdb) und dem Rest (z.Bsp. Blauberg_S21:Abluft_RPM:::), und auch dieser Rest darf nicht mit einem Leerzeichen abgeschlossen werden.

Ich habe ein Testlauf mit dem angehaengten .gplot gemacht, und ich bekomme keine Fehlermeldung.
Vmtl. wurde das Problem in der Zwischenzeit gefixt.

aaameyer

Hallo, danke für das Testen! Die Fehlermeldung hat sich für mich auch eindeutig gelesen und ich habe nur ein Leerzeichen bzw. keines am Ende der Zeile. Duch den Hinweis, dass der Plot bei einem anderen User funktioniert, habe ich noch mal intensiver experimentiert und herausgefunden, dass es daran lag, dass meine gplot Datei im UTF8 gespeichert war.
Wenn man die gplot Datei als ANSI 1252 speichert verschwinden die Fehler im Logfile.
Leider führt einem die Fehlermeldung auf die falsche Spur, evtl. kann der Maintainer des Moduls die Fehlermeldung mit dem Hinweis auf die Codepage erweitern oder es sogar so fixen, dass UTF8 gplot Dateien auch gelesen werden können.

rudolfkoenig

Kannst Du mir bitte die "UTF8" Version der .gplot Datei hier anhaengen, da ich es gerade nicht schaffe, das Problem nachzustellen.

Und bitte kein Thema schliessen, sonst koennen "normale Benutzer" spaetere Erkenntnisse nicht hinzufuegen.
Lieber das Betreff aendern, und ein [gelöst] vorne dranstellen.

aaameyer

#4
Sorry hatte erst jetzt noch mal in das Forum geschaut.
Anbei die UTF-8 Version meiner gplot Datei.

rudolfkoenig

Die Ursache hat nichts mit UTF-8 zu tun, es sind die DOS-ueblichen Zeilenden.
Ich habe das Modul angepasst, damit es damit zurechtkommt.