PVbeiNacht
Benutzer
- Beiträge
- 14
Liebes Forum.
Ich betreibe bei mir eine Photovoltaikanlage mit einer Victron Venus GX Auswerteeinheit. Aus der lese ich ca. 150 Werte pro Sekunde per MODBUS-TCP über ioBroker als Docker in eine MariaDB10 ein.
Nun möchte ich mittels einer Aggregatfunktion die Energie berechnen.
Die Tabelle (ts_number) ist folgend aufgebaut:
Die aktuelle Leistung wird unter id=23 abgelegt.
Ich möchte nun die Energie als integrierte Leistung (hier in Watt) berechnen, d.h. Leistung/Zeiteinheit und das dann aufsummieren. Die Zeit ist hier in Millisekunden angegeben.
Meine ersten Versuche haben mich über die LAG Funktion geführt leider kann ich das Ergebnis nicht aufsummieren:
Das Ergebnis sieht dann so aus:
Was mache ich falsch?
Danke für Eure Hilfe!
Ich betreibe bei mir eine Photovoltaikanlage mit einer Victron Venus GX Auswerteeinheit. Aus der lese ich ca. 150 Werte pro Sekunde per MODBUS-TCP über ioBroker als Docker in eine MariaDB10 ein.
Nun möchte ich mittels einer Aggregatfunktion die Energie berechnen.
Die Tabelle (ts_number) ist folgend aufgebaut:
Code:
id ts val ack _from q
14 1583162122689 0.7 1 2 0
16 1583162120627 175.7 1 2 0
14 1583162120627 0.6 1 2 0
52 1583162120624 0.5 1 2 0
10 1583162120599 0 1 2 0
14 1583162118563 0.7 1 2 0
16 1583162118563 175.7 1 2 0
23 1583162118563 42 1 2 0
52 1583162118563 0.6 1 2 0
Ich möchte nun die Energie als integrierte Leistung (hier in Watt) berechnen, d.h. Leistung/Zeiteinheit und das dann aufsummieren. Die Zeit ist hier in Millisekunden angegeben.
Meine ersten Versuche haben mich über die LAG Funktion geführt leider kann ich das Ergebnis nicht aufsummieren:
Code:
SET @sum := 0.0;
SET @zwi := 0.0;
SELECT
row_number() OVER (ORDER BY ts DESC) AS Nummer,
from_unixtime(floor(ts/1000)) AS time_sec,
val AS VALUE,
@zwi := (ts - (lag(ts) over (ORDER BY ts))) * val/1000 AS WS,
(@sum := @zwi/3600000 + @sum) AS Gesamt
FROM ts_number
WHERE id=23
ORDER BY ts DESC
Code:
Nummer time_sec VALUE WS Gesamt
1 2020-03-02 16:31:46 41 84.337 0.00000000000000000000000000000000000000
2 2020-03-02 16:31:44 43 95.589 0.00000000000000000000000000000000000000
3 2020-03-02 16:31:42 40 165.8 0.00000000000000000000000000000000000000
4 2020-03-02 16:31:38 43 88.494 0.00000000000000000000000000000000000000
Danke für Eure Hilfe!
Zuletzt bearbeitet: