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