[vz-users] Verbrauchsdaten tagesweise auslesen

Andreas Goetz cpuidle at gmail.com
Mo Nov 29 20:17:10 CET 2021


> Am 29.11.2021 um 20:11 schrieb Tilman Glötzner <tilman_1 at gloetzner.net>:
> 
> 
> Hi 
> 
> >Hast du die aggregation der Middleware aktiviert? 
> 
> 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.
> 

Nein, es ging Frank um die Aggregation in der Middleware. Damit wird eine Hilfstabelle aufgebaut die Abfragen wie Deine dramatisch beschleunigt. 
> 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 :-)
> 
Ich logge tw. sekündlich und unsere Demoinstanz hat >1Mrd Einträge. Dank Aggregation kein Problem.
> Der RPI ist übrigens einer RPI B+ mit 512 MB.
> 
> Grüße
> 
> Tilman
>> On 29.11.21 18:25, Frank Richter wrote:
>> Hi,
>> 
>> wär schon deutlich einfacher das per API zu machen.

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..

Viele Grüße, Andreas 

>> Hast du die aggregation der Middleware aktiviert? In welchem Intervall loggst du deine Daten?
>> 
>> Grüße
>> Frank
>> 
>> Am Mo., 29. Nov. 2021 um 17:09 Uhr schrieb Tilman Glötzner <tilman_1 at gloetzner.net>:
>>> Hallo
>>> 
>>> 
>>> ich würde gerne die über einen Tag akkumulierten Energie-Verbrauche auf 
>>> den verschiedenen Zähler, die ich betreibe, auslesen und in ein File 
>>> exportieren (um sie mit dem Energiemessung der Solaranlage vergleichen 
>>> zu können). Am liebsten wäre mir ein csv-File. Dazu hat vzlogger auch 
>>> eine Schnittstelle (http://logger.fritz.box/api/data.csv), die 
>>> allerdings eine Fehlermeldung "Maximum execution time exceeded" zurück 
>>> gibt -- wahrscheinlich, weil die Datenbank mittlerweile zu gross ist 
>>> oder der RPI zu schwachbrüstig.
>>> 
>>> Als Workaround habe ich die die Datenbank auf einen anderen, hoffentlich 
>>> schnelleren Rechner kopiert und möchte nun die Daten tageweise direkt 
>>> aus der kopierten  Datenbank holen und zur Not mit einem Skript 
>>> nachprozessieren.
>>> 
>>> a) Ich schätze mal, dass ich über die UUID im Config-File mittels der 
>>> Spalte "id" in der Tabelle "entities" die Daten eines Sensors aus der 
>>> Tabelle "data" auswählen kann, d.h. select *  from data where channel_id 
>>> = <entities.id>. Stimmt das so?
>>> 
>>> b) In welcher Einheit liegen timestamp und value der Tabelle "data" vor 
>>> ? In Watt für Zähler mit Impulsausgang und in absoluten Wh für 
>>> SmartZähler ?
>>> 
>>> c) Ist es in sql möglich, den Timestamp aus der aktuellen Zeit zu 
>>> ermitteln=?
>>> d) Und wie hole ich die Wh aus der Datenbank? So ?
>>> 
>>>   select sum(value)  from data where channel_id = <entities.id> and 
>>> timestamp between  <timestamp1> and <timestamp2> order by timestamp;
>>> 
>>> Oder brauche ich dafür ein Script und muss die Fläche, die zwischen 2 
>>> benachbarten Werten aus "data" aufgespannt wird, berechnen?
>>> 
>>> 
>>> Danke und Gruß
>>> 
>>> Tilman
>>> 
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20211129/37da2ff6/attachment.html>


Mehr Informationen über die Mailingliste volkszaehler-users