SVG Plot mehrere Balken nebeneinander

Begonnen von feger, 26 Juni 2020, 13:22:05

Vorheriges Thema - Nächstes Thema

feger

Hallo!

Ich habe 5 Homematic Funkschaltsteckdosen mit Leistungsmessung.
Ich lasse jede Stunde den Verbrauch in ein FileLog loggen.
Das sieht so aus:
2020-06-25_09:59:00 dum_Stromverbrauch_Stunde Waschmaschine: 0.0000 kWh Kosten: 0.00 Euro
2020-06-25_10:59:00 dum_Stromverbrauch_Stunde Waschmaschine: 0.0000 kWh Kosten: 0.00 Euro

Jetzt hätte ich gerne ein SVG Plot der mir zeigt welches Gerät wieviel verbraucht hat und das jede Stunde.

Im Anhang habe ich ein Bild eingefügt wie ich es mir ungefähr vorstelle. (statt Äpfel, Orangen,Bananen natürlich die Zeitachse)

Kann mir einer einen Tip geben ob es überhaupt möglich ist? (vielleicht mit LogProxy)
mfg feger
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq

fiedel

FeatureLevel: 6.1 auf Wyse N03D ; Deb. 11 ; Perl: v5.14.2 ; IO: HM-MOD-RPI-PCB + VCCU|CUL 868 V 1.66|LinkUSBi |TEK603
HM: SEC-SCO|SCI-3-FM|LC-SW4-PCB|ES-PMSW1-PL|RC-4-2|SEN-MDIR-O|SEC-WDS-2
CUL: HMS100TF|FS20 S4A-2 ; OWDevice: DS18S20|DS2401|DS2406|DS2423

feger

Hallo!
Danke für deine Antwort.

In deinem Beispiel sind aber nur 2 Geräte dargestellt.
Ich würde aber gerne 5 Geräte anzeigen lassen und da überlagern sich die Werte so das man nichts mehr erkennen kann.
Deshalb würde ich sie gerne nebeneinander anzeigen.
z.B.
00-10 Minuten der erste Wert
12-22 Minuten der zweite Wert
24-34 Minuten der dritte Wert
36-46 Minuten der vierte Wert
48-58 Minuten der fünfte Wert

Kann man das vielleicht mit LogProxy so manipulieren?

Ich habe mal testweise den Zeitstempel der Log Einträge angepasst, das würde so funktionieren, ist aber eine sehr unschöne Lösung.

mfg Feger
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

feger

#4
Danke Damian für deine Antwort.

Ich glaube aber du hast mich falsch verstanden.
Das folgende bildet nur eine Stunde am Tag ab:
Zitat von: feger am 27 Juni 2020, 10:40:32
z.B.
00-10 Minuten der erste Wert
12-22 Minuten der zweite Wert
24-34 Minuten der dritte Wert
36-46 Minuten der vierte Wert
48-58 Minuten der fünfte Wert

Ich bräuchte dann also 5 Geräte x 24 Stunden =120 Zylinder.
Wenn ich das richtig verstanden habe, können auch nur aktuelle Werte und keine Werte aus einem Logfile dargestellt werden. Richtig?

Ich versuche es anders zu erklären:
Der 1. Balken, ist der Wert von 00:00-00:59 Uhr des 1. Device und soll von 00:00-00:10 Uhr dargestellt werden.
Der 2. Balken, ist der Wert von 00:00-00:59 Uhr des 2. Device und soll von 00:12-00:22 Uhr dargestellt werden.
Der 3. Balken, ist der Wert von 00:00-00:59 Uhr des 3. Device und soll von 00:24-00:34 Uhr dargestellt werden.
Der 4. Balken, ist der Wert von 00:00-00:59 Uhr des 4. Device und soll von 00:36-00:46 Uhr dargestellt werden.
Der 5. Balken, ist der Wert von 00:00-00:59 Uhr des 5. Device und soll von 00:48-00:58 Uhr dargestellt werden.
Der 6. Balken, ist der Wert von 01:00-01:59 Uhr des 1. Device und soll von 01:00-01:10 Uhr dargestellt werden.
usw.

Ich hoffe es ist jetzt etwas verständlicher beschrieben.
mfg Feger
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq

Damian

Könnte man auch definieren, aber ich zweifele, dass diese Darstellungsart mit 120 einzelnen Balken (24 x 5 Geräte)  gut zu durchschauen wäre.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

feger

Da gebe ich dir vollkommen recht.

Ich überlege gerade mit solchen Balken
"Farbskalierte Anzeige eines Zahlenwertes mit Hilfe der universellen SVG-Funktion bar"
es darzustellen.

Ohne Beschriftung, wenn man sie auf der Zeitachse weit genug zusammen bekommt.

Kann man die Werte auch aus dem LogFile übernehmen oder kann man nur aktuelle Werte darstellen?
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq

Damian

Zitat von: feger am 27 Juni 2020, 15:49:39
Da gebe ich dir vollkommen recht.

Ich überlege gerade mit solchen Balken
"Farbskalierte Anzeige eines Zahlenwertes mit Hilfe der universellen SVG-Funktion bar"
es darzustellen.

Ohne Beschriftung, wenn man sie auf der Zeitachse weit genug zusammen bekommt.

Kann man die Werte auch aus dem LogFile übernehmen oder kann man nur aktuelle Werte darstellen?

Das was du darstellen willst, musst du am besten in Readings ablegen. Für große Datenmengen sind typische Plots besser geeignet.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

feger

Deshalb würde ich gerne wissen ob man das mit LogProxy so manipulieren kann?

mfg Feger
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq

feger

#9
Hallo!

Durch händische manipulation der Zeitstempel im Log-File bekomme ich meinen Plot so wie ich ihn gerne haben möchte.
Ist natürlich keine Alternative, da ich das ja täglich oder sogar stündlich machen müsste.
Vielleicht wird so deutlicher was ich gerne haben möchte.

mfg Feger
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq

feger

Im Moment schreibe ich
mit einem AT die Stunden Werte um *:59 Uhr in ein Stunden LOG File
mit einem AT die Tages Werte um 23:59 Uhr in ein Tages LOG File
mit einem AT die Monats Werte jeden letzten des Monats um 23:59 Uhr in ein Monats LOG File
mit einem AT die Jahres Werte am 31.12.* um 23:59 Uhr in ein Jahres LOG File

Was wäre vernünftiger:
1. jedes AT zu erweitern ...
2. eigene AT zum jeweiligen Zeitpunkt zu starten ...
3. Cron Job einrichten und ein Script jede Stunde zu starten ...
... um die Zeitstempel in den LOG Files zu manipulieren?
CUL433MHz für Intertechno & Somfy
CUL868MHz für Homematic
RFXTRX433E für Oregon & KeeLoq