SVG Plot Beschränkungen?

Begonnen von Edi77, 05 Juni 2021, 18:35:07

Vorheriges Thema - Nächstes Thema

Edi77

Hallo,

Zur Analyse der Stromnetzfrequenz bekomme ich über ser2net alle 25ms einen Messwert, d.h. rund pro Tag 350.000 Messwerte.

Allerdings werden die nie von SVG komplett für einen Tag angezeigt, es fehlt immer etwas .........

Was könnte die Ursache sein?
Vorab, ja es befinden sich Messwerte nach 0 Uhr im Filelog.
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rudolfkoenig

ZitatWas könnte die Ursache sein?
Muell in den Daten, Bug in einer der FHEM-Module, in perl, im Browser oder im Betriebsystem, ungenuegend Speicher, falsche Erwartungen, Mondphase, usw.

Wenn wir die Suche erfolgsorientiert angehen wollen, dann brauche ich mehr Daten:
- die .gplot Datei
- Daten fuer ein Tag (als komprimierten Anhang)
- die FileLog und die SVG Definition (list -r / Raw Definition)

Edi77

#2
Die SVG....gplot


# Created by FHEM/98_SVG.pm, 2021-06-04 22:05:52
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 '<TL>'
set ytics
set y2tics
set grid y2tics
set ylabel "mHz"
set y2label "mHz"

#FileLog_Netzfrequenz 4:.*::

plot "<IN>" using 1:2 axes x1y2 title 'mHz' ls l5 lw 1 with lines



define Netzfrequenz ECMD serial x.x.x.x:3000
attr Netzfrequenz room ENERGIE
define FileLog_Netzfrequenz FileLog ./log/Netzfrequenz-%Y-%m-%d.log Netzfrequenz:.*
attr FileLog_Netzfrequenz room LogDateien
define SVG_FileLog_Netzfrequenz_1 SVG FileLog_Netzfrequenz:SVG_FileLog_Netzfrequenz_1:CURRENT
attr SVG_FileLog_Netzfrequenz_1 plotsize 1024,200
attr SVG_FileLog_Netzfrequenz_1 room ENERGIE
attr SVG_FileLog_Netzfrequenz_1 title "mHz Min $data{min1}, Max $data{max1}, Last $data{currval1}"


Was ich nicht ganz verstehe ist das die Werte ins Filelog geschrieben werden aber nicht in ein reading.
Was habe ich falsch gemacht?
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rudolfkoenig

Das Log schaut bei mir wie im Anhang aus, ich habe das mit Chromium angezeigt. FHEM/perl hat fuer die Anzeige 600KB zusaetzlichen Speicher benoetigt (31MB => 31.6MB), Chrome laut Chrome-Task-Manager 27MB. Die Anzeige des Plots hat ca 2 Sekunden gedauert.
Die Anzeige hat auch auf einem Android Telefon funktioniert, in aehnlicher Zeit.

Welchen Browser auf welchem Platform verwendest Du? Gibt es auch Probleme mit anderen Kombinationen?

ZitatWas ich nicht ganz verstehe ist das die Werte ins Filelog geschrieben werden aber nicht in ein reading.
ECMD kenne ich nicht, prinzipiell koennen aber Module auch Events ohne Reading generieren, und die Weiterverarbeitung in FHEM passiert auf Event-Basis.

rudolfkoenig

Nachtrag: die Datei ist voller CR/NL Endungen: laeuft FHEM unter Windows?

rudolfkoenig

Sorry, meine vorherigen Eintraege bitte ignorieren, ich habe die Datei "instinktiv" bereinigt, deswegen sah ich keine Fehler.

Meine erste Vermutung ist richtig, die Datei enthaelt Muell, mit "set list" in vi schaut es so aus:
2021-06-05_00:17:29 Netzfrequenz UNKNOWNCODE 49971^M $
2021-06-05_00:17:31 Netzfrequenz UNKNOWNCODE 49969^M $
2021-06-05_00:17:31 Netzfrequenz UNKNOWNCODE 49970^M $
2021-06-05_00:17:33 Netzfrequenz UNKNOWNCODE 49969^M $

oder wem xxd besser gefaellt:
00000000: 3230 3231 2d30 362d 3035 5f30 303a 3137  2021-06-05_00:17
00000010: 3a32 3920 4e65 747a 6672 6571 7565 6e7a  :29 Netzfrequenz
00000020: 2055 4e4b 4e4f 574e 434f 4445 2034 3939   UNKNOWNCODE 499
00000030: 3731 0d20 0a32 3032 312d 3036 2d30 355f  71. .2021-06-05_


D.h. die Zeile enthaelt am Ende \r<space>\n, und damit kommt der FileLog Parser nicht zurecht.
\n oder \r oder \r\n sollte funktionieren, aber nicht "\r \n".

Edi77

FHEM läuft unter Ubuntu 18.03 LTS habs mit dem Firefox/Chrome/Brave unter Windows 10 getestet.
Ich habs mir immer mit nano angesehen.

Sorry das ich in meiner Unwissenheit frage, was ist mit "\r \n" gemeint, und wieso bekomme ich die Werte die ins Filelog geschrieben werden nicht Angezeigt?

Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D

rudolfkoenig

ZitatSorry das ich in meiner Unwissenheit frage, was ist mit "\r \n" gemeint,
Carriage-Return Space Newline. Dezimal 13 32 10. Hex 0d20 0a. Siehe mein xxd Zitat.
Ich vermute, dass in der ECMD Definition "Carriage-Return Space" nicht entfernt wurde.
Newline wird vom FileLog dazugebaut.

Zitatund wieso bekomme ich die Werte die ins Filelog geschrieben werden nicht Angezeigt?
Ich kann mich nur wiederholen:
ZitatECMD kenne ich nicht, prinzipiell koennen aber Module auch Events ohne Reading generieren, und die Weiterverarbeitung in FHEM passiert auf Event-Basis.

herrmannj

#8
Ot: was/ womit misst du die Netzfrequenz?

Edi77

Hallo,

Hab dieses Projekt nachgebaut https://gitlab.com/jm_wtal/mains-frequency-measure und dann über TTL to USB und dann an einem RPi über ser2net an die FHEM Hauptinstanz
Master FHEM 6 als VM auf ESX Ubuntu 20.04 LTS mit MAXCube/MAX!/FS20|TabletUI|Flightradar|Tasmota|TTN Lora|CCU3 HomematicIP|RPi mit GammaScout|MQTT EasyESP 8266|LuftdatenInfo|deCONZ HUEDev|probemon|Siemens Logo|P4D|3D PRINTER RAISE3D