<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<p>Hallo</p>
<p>was möchte ich (immer noch) machen?</p>
<p>Ich möchte die Zählerwerte (als Energie, d.h. kwh) meiner 5
Stromzähler jeweils aggregiert für einen Tag in ein CSV ausgeben.</p>
<p><br>
</p>
<p>Was habe ich bisher gemacht?</p>
<p>- Ich habe eine zusätzliche SSD an meinem PI angeschlossen, so
dass genug Platz zum Anlegen der Hilfstabellen (cache) da ist.<br>
</p>
<p>- Und ich habe die Hilfstabellen für das Verbessern der
Performance angelegt (mit php
/var/www/volkszaehler.org/bin/aggregate run -m full -l day -l hour
-l minute)</p>
<p>- siehe auch
<a class="moz-txt-link-freetext" href="https://wiki.volkszaehler.org/howto/datenmengen?s">https://wiki.volkszaehler.org/howto/datenmengen?s</a>[]=datenbank&s[]=aggregieren<br>
</p>
<p><br>
</p>
<p>Was funktioniert bisher noch nicht?</p>
<p>Als Versuch wollte ich die Daten für einen bestimmten Zeitraum
über die Api der Middleware auslesen. Dazu habe ich (in meiner
naiven Art) folgenden Befehl abgesetzt. Leider scheint das Format
nicht zu stimmen. Was mache ich falsch?<br>
</p>
<p>wget -O test.txt
<a class="moz-txt-link-freetext" href="http://logger/middleware/data.csv?from=01-12-2021\&to=12-12-2021">http://logger/middleware/data.csv?from=01-12-2021\&to=12-12-2021</a><br>
--2021-12-22 11:41:09--
<a class="moz-txt-link-freetext" href="http://logger/middleware/data.csv?from=01-12-2021&to=12-12-2021">http://logger/middleware/data.csv?from=01-12-2021&to=12-12-2021</a><br>
Resolving logger (logger)... 192.168.100.159<br>
Connecting to logger (logger)|192.168.100.159|:80... connected.<br>
HTTP request sent, awaiting response... 400 Bad Request<br>
2021-12-22 11:41:09 ERROR 400: Bad Request.<br>
</p>
<p>Vielen Danke und Vorweihnachtliche Grüße<br>
</p>
<p>Tilman<br>
</p>
<p><br>
</p>
<div class="moz-cite-prefix">On 30.11.21 08:35, Frank Richter wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CAD+U_OCeuUjcTrhC7m+swC=ay9p4KP5Qt2rcOzako2XbH2zuzw@mail.gmail.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<div dir="auto">Moin,
<div dir="auto"><br>
</div>
<div dir="auto">hast du verifiziert dass aktuell keine
Aggregation läuft? Was liefert </div>
<div dir="auto"><a
href="http://IP-ADRESSE/middleware.php/capabilities/database.json"
moz-do-not-send="true">http://IP-ADRESSE/middleware.php/capabilities/database.json</a>
?</div>
<div dir="auto"><br>
</div>
<div dir="auto">Grüße</div>
<div dir="auto">Frank</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Tilman Glötzner <<a
href="mailto:tilman_1@gloetzner.net" moz-do-not-send="true">tilman_1@gloetzner.net</a>>
schrieb am Di., 30. Nov. 2021, 01:28:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<p>Hi<br>
</p>
<p>Falls mir der Speicherplatz dabei ausgehen sollte,
müsste ich zurückrollen, die Datenbank auf einen großeren
Datenträger kopieren und nochmal aggregieren. Da es
Hilfstabellen sind und die Rohdaten in data erhalten
bleiben, sollte das funktionieren. Was muss ich neben der
Tabelle aggreate noch dazu löschen?</p>
<p>Danke und Gruß</p>
<p>Tilman<br>
</p>
<div>On 29.11.21 23:23, Frank Richter wrote:<br>
</div>
<blockquote type="cite">
<div dir="auto"><span style="font-size:12.8px">"aggmode":
"none" aggregiert nichts, bei Leistung wäre "avg"
sinnvoll.</span>
<div dir="auto" style="font-size:12.8px"><br>
</div>
<div dir="auto" style="font-size:12.8px">Damit die
Middleware-Aggregation läuft, brauchst du
entsprechende Cronjobs. Schau mal nach ob die bei dir
existieren. Siehe auch im Wiki: <a
href="https://wiki.volkszaehler.org/howto/datenmengen"
target="_blank" rel="noreferrer"
moz-do-not-send="true">https://wiki.volkszaehler.org/howto/datenmengen</a></div>
<div dir="auto" style="font-size:12.8px"><br>
</div>
<div dir="auto" style="font-size:12.8px">Grüße</div>
<div dir="auto" style="font-size:12.8px">Frank</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Tilman Glötzner <<a
href="mailto:tilman_1@gloetzner.net" target="_blank"
rel="noreferrer" moz-do-not-send="true">tilman_1@gloetzner.net</a>>
schrieb am Mo., 29. Nov. 2021, 20:11:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0
.8ex;border-left:1px #ccc solid;padding-left:1ex">
<div>
<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>
<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>
<p>Der RPI ist übrigens einer RPI B+ mit 512 MB.<br>
</p>
<p>Grüße</p>
Tilman
<div>On 29.11.21 18:25, Frank Richter wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,
<div><br>
</div>
<div>wär schon deutlich einfacher das per API zu
machen. 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"
rel="noreferrer noreferrer" target="_blank"
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 noreferrer 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 noreferrer 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 noreferrer 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>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
</body>
</html>