Eigene DbLog Abfrage direkt in SVG Plot

Begonnen von budda85, 29 März 2017, 09:13:05

Vorheriges Thema - Nächstes Thema

budda85

Guten Morgen zusammen,

Ist es möglich eine SQL Abfrage direkt in ein SVG Plot zu packen?
Ich haben eine Datenbank die mit dblog gefüllt wird. Es werden alle 5 Minuten Werte von meiner PV-Anlage (KostalPiko) in die DB geloggt. Einmal abends um 23:00 Uhr wird das Reading Daily.Energy.Last gesetzt welches mir dann den gesamt Ertrag des Tages anzeigt.

Für diesen Wert habe ich eine Abfrage in SQL gemacht.
Als ergebins bekomme ich in phpMyAdmin dann folgendes:

SELECT year(h.TIMESTAMP) "Jahr", month(h.TIMESTAMP) "Monat", format(sum(h.VALUE), 2) "Ertrag"
FROM history h
WHERE (READING = "Daily.Energy.Last")
GROUP BY year(h.TIMESTAMP), month(h.TIMESTAMP)
WITH ROLLUP


Jahr Monat Ertrag
2015 11 77.04
2015 12 41.16
2015 118.20
2016 1 50.95
2016 2 156.45
2016 3 324.56
2016 4 528.64
2016 5 742.14
2016 6 518.64
2016 7 586.16
2016 8 660.44
2016 9 608.21
2016 10 201.46
2016 11 94.50
2016 12 60.38
2016 4,532.53
2017 1 79.79
2017 2 164.57
2017 3 415.16
2017 659.52
5,310.25


Das würde ich dann jetzt gerne für je ein Jahr in ein Diagramm haben, nur habe ich leider keine Idee wie ich das anstellen soll.
Schicke ich die Abfrage mit dblog ab, bekomme ich im Reading nur einen Wert angezeigt.
Ich habe mir auch schon einen Perl-Code zusammen gedengelt der mir das in das Hauptlogfile rein schreibt, aber das ist ja nicht Sinn von dblog das ich dann wieder ein Lofile voll schreibe.

budda85


Frank_Huber

Ich würde von FHEM die Jahreswerte errechnen lassen und in ein Dummy schreiben. dann kannst die direkt plotten.

Als Beispiel für Tageswerte von meinem Stromzähler:
define Stromverbrauch at *00:01:00 {\
my $wert1=ReadingsVal("Stromzaehler","total_consumption","--");;\
my $wert2=$wert1/1000;;\
my $wert3=ReadingsVal("Verbrauch","Stromzaehler","--");;\
my $wert4=$wert2-$wert3;;\
fhem("setreading Verbrauch StromzaehlerVortag $wert3");;\
fhem("setreading Verbrauch Stromzaehler $wert2");;\
fhem("setreading Verbrauch Stromverbrauch $wert4");;\
}
attr Stromverbrauch group Energie
attr Stromverbrauch room zentrale Funktionen


kannst Dir ja auf deinen Jahresverbrauch editieren.
Die historischen Werte lassen sich dann direkt in die DB nachtragen.

justme1968

schau dir mal readingsProxy an. damit kannst auf werte aus beliebigen quellen plotten wenn du den entsprechenden code der die daten ins passende format bringt schreibst.

aber wenn die daten in einer normalen fhem dblog datenbank stecken musst du doch nur das plotfile passend erzeugen.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968