<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div dir="ltr"></div><div dir="ltr"><br></div><div dir="ltr"><blockquote type="cite">Am 29.11.2021 um 20:11 schrieb Tilman Glötzner <tilman_1@gloetzner.net>:<br><br></blockquote></div><blockquote type="cite"><div dir="ltr">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<p>Hi <br>
</p>
<p>>Hast du die aggregation der Middleware aktiviert? <br>
</p>
<p>Meinst Du "aggmode"? Den habe ich je nach Zählertype auf "sum"
(S0) bzw "max" (SmartMeter mit IR-Schnittstelle) bzw. auf "none"
(Leistungmessung des SmartMeters) gesetzt.</p></div></blockquote><div><br></div>Nein, es ging Frank um die Aggregation in der Middleware. Damit wird eine Hilfstabelle aufgebaut die Abfragen wie Deine dramatisch beschleunigt. <br><blockquote type="cite"><div dir="ltr">
<p>Und ich logge minütlich -- was relativ kurz ist und ordentlich
Daten erzeugt. Hilft mir aber beim Plausibiliseren des Verhaltens
des Wechselrichters. Und als netter Nebeneffekt kann man an Hand
der Patterns mit etwas Übung den jeweiligen Verbraucher
identifizieren :-)</p></div></blockquote><div>Ich logge tw. sekündlich und unsere Demoinstanz hat >1Mrd Einträge. Dank Aggregation kein Problem.</div><blockquote type="cite"><div dir="ltr">
<p>Der RPI ist übrigens einer RPI B+ mit 512 MB.<br>
</p>
<p>Grüße</p>
Tilman
<div class="moz-cite-prefix">On 29.11.21 18:25, Frank Richter wrote:<br>
</div>
<blockquote type="cite" cite="mid:CAD+U_OAb01ZAb_xu7hJDNTODTrYwTBpP5BQ8-_kaA4j401d5oQ@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="ltr">Hi,
<div><br>
</div>
<div>wär schon deutlich einfacher das per API zu machen. </div></div></blockquote></div></blockquote><div><br></div>Das würde ich auch empfehlen. In Sql wirst Du nie vernünftige Performance erreichen wenn Du die Logik die wir haben nicht auch noch nachbaust..<div><br></div><div>Viele Grüße, Andreas </div><div><br><blockquote type="cite"><div dir="ltr"><blockquote type="cite" cite="mid:CAD+U_OAb01ZAb_xu7hJDNTODTrYwTBpP5BQ8-_kaA4j401d5oQ@mail.gmail.com"><div dir="ltr"><div>Hast du
die aggregation der Middleware aktiviert? In welchem Intervall
loggst du deine Daten?</div>
<div><br>
</div>
<div>Grüße</div>
<div>Frank</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Am Mo., 29. Nov. 2021 um
17:09 Uhr schrieb Tilman Glötzner <<a href="mailto:tilman_1@gloetzner.net" moz-do-not-send="true">tilman_1@gloetzner.net</a>>:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hallo<br>
<br>
<br>
ich würde gerne die über einen Tag akkumulierten
Energie-Verbrauche auf <br>
den verschiedenen Zähler, die ich betreibe, auslesen und in
ein File <br>
exportieren (um sie mit dem Energiemessung der Solaranlage
vergleichen <br>
zu können). Am liebsten wäre mir ein csv-File. Dazu hat
vzlogger auch <br>
eine Schnittstelle (<a href="http://logger.fritz.box/api/data.csv" rel="noreferrer" target="_blank" moz-do-not-send="true">http://logger.fritz.box/api/data.csv</a>),
die <br>
allerdings eine Fehlermeldung "Maximum execution time
exceeded" zurück <br>
gibt -- wahrscheinlich, weil die Datenbank mittlerweile zu
gross ist <br>
oder der RPI zu schwachbrüstig.<br>
<br>
Als Workaround habe ich die die Datenbank auf einen anderen,
hoffentlich <br>
schnelleren Rechner kopiert und möchte nun die Daten tageweise
direkt <br>
aus der kopierten Datenbank holen und zur Not mit einem
Skript <br>
nachprozessieren.<br>
<br>
a) Ich schätze mal, dass ich über die UUID im Config-File
mittels der <br>
Spalte "id" in der Tabelle "entities" die Daten eines Sensors
aus der <br>
Tabelle "data" auswählen kann, d.h. select * from data where
channel_id <br>
= <<a href="http://entities.id" rel="noreferrer" target="_blank" moz-do-not-send="true">entities.id</a>>.
Stimmt das so?<br>
<br>
b) In welcher Einheit liegen timestamp und value der Tabelle
"data" vor <br>
? In Watt für Zähler mit Impulsausgang und in absoluten Wh für
<br>
SmartZähler ?<br>
<br>
c) Ist es in sql möglich, den Timestamp aus der aktuellen Zeit
zu <br>
ermitteln=?<br>
d) Und wie hole ich die Wh aus der Datenbank? So ?<br>
<br>
select sum(value) from data where channel_id = <<a href="http://entities.id" rel="noreferrer" target="_blank" moz-do-not-send="true">entities.id</a>> and <br>
timestamp between <timestamp1> and <timestamp2>
order by timestamp;<br>
<br>
Oder brauche ich dafür ein Script und muss die Fläche, die
zwischen 2 <br>
benachbarten Werten aus "data" aufgespannt wird, berechnen?<br>
<br>
<br>
Danke und Gruß<br>
<br>
Tilman<br>
<br>
</blockquote>
</div>
</blockquote>
</div></blockquote></div></body></html>