<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hallo Tilman,<br>
    </p>
    <div class="moz-cite-prefix">Am 17.04.21 um 00:29 schrieb Tilman
      Glötzner:<br>
    </div>
    <blockquote type="cite"
      cite="mid:fb1a78ba-6793-e7da-1bb3-a6162ed4f5d0@gloetzner.net">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>Hallo Rupert und Daniel (und  Maik)<br>
      </p>
      <p>vielen Dank für Eure Emails -- und auch dafür, dass ihr Euch
        die Mühe gemacht habt, sie in Englisch zu beantworten. Ich
        dachte, es sei eine englische Mailing-Liste.</p>
      <p>a) Energie ist Leistung über Zeit. Wenn die Leistung (und  die
        Energie als Fläche unterhalb der Leistung ) angezeigt werden
        soll, ist die Leistung in der Tat die korrekte Einheit.
        Grundsätzlich interessiert mich,  wann die Solaranlage wieviel
        Energie einspeist, um die Statistiken, die die  Solaranlage
        ausgibt, überprüfen zu können. Dabei muss die zeitliche
        Auflösung nicht superhoch sein, d.h. eine Darstellung Energie
        pro Zeitraum  auch mit einer zeitlichen Auflösung von 1 oder 2
        Stunden  ist immer noch von Wert für meine Anwendung. <br>
      </p>
      <p>b) >  In case you want to compare different time spans with
        each other use the drop-down-list "Current" in the upper right
        corner. You will get bars with kWh. <br>
      </p>
      <p>Das kann ich nachvollziehen (jedenfalls manchmal. Ich hatte
        auch schon die Einheit "MW" -- entweder aufgrund von
        Fehlkonfigurationen oder Bugs ) . Wenn ich mit der Maus über die
        Balken gehe, bekomme die Werte der Balken in kwh bzw wh
        angezeigt. Die Einheit am Koordinatensystem bleibt allerdings
        "kw".  Ich habe einen Screenshot (Screenshot from 2021-04-16
        21-43-55.png) angehängt. Der erste 4kwh-Balken zum Beispiel
        beginnt um 11:30 und endet um 11:54. Angezeigt wird er beim
        "Mouse-Over" mit 4 kwh. Wenn man davon ausgeht, dass die Fläche
        des Balken die Energie repräsentiert,  wären diese 4kw *
        (24/60)h = 1.6kwh. Nach meinem Dafürhalten ist das zumindest
        missverständlich.</p>
      <p> </p>
      <pre class="moz-quote-pre" wrap="">c) > The values provided by the meter are in coarse resolution, kWh only. To get it finer you probably have ask your grid or meter operator for a PIN. </pre>
      <p>Die Zähler scheint seine Werte in Wh auszugeben, wobei seine
        Auflösung  1 kw ist. Interessant ist dabei, dass das Intervall,
        mit dem neue Daten gelesen werden können, stark schwankt.
        Teilweise gibt es ein neues, wenn auch unverändertes Datum nach
        circa 20 Sekunden -- es können aber genauso gut knapp 20 Minuten
        vergehen. Das hätte ich so nicht erwartet. Woran kann das
        liegen?<br>
      </p>
      <p>[Apr 16 19:29:46][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618597786931<br>
        [Apr 16 19:38:53][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618598333000<br>
        [Apr 16 19:46:43][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618598803773<br>
        [Apr 16 19:54:11][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618599251678<br>
        [Apr 16 19:54:32][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618599272865<br>
        [Apr 16 19:55:40][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618599340580<br>
        [Apr 16 19:56:01][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618599361815<br>
        [Apr 16 19:57:45][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618599465882<br>
        [Apr 16 19:59:32][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618599572206<br>
        [Apr 16 20:18:51][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618600731348<br>
        [Apr 16 20:22:44][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618600964294<br>
        [Apr 16 20:23:10][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618600990264<br>
        [Apr 16 20:24:18][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618601058775<br>
        [Apr 16 20:26:25][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618601185035<br>
        [Apr 16 20:28:37][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618601317107<br>
        [Apr 16 20:47:36][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618602456850<br>
        [Apr 16 20:55:44][mtr0] Reading:
        id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=34000.00
        ts=1618602944267<br>
      </p>
    </blockquote>
    <p>Du hast Recht, der Zähler sollte eine konstante Ausgabefrequenz
      haben. Es wird vermutlich am Auslesen liegen: Vielleicht ist der
      Optokopf nicht richtig positioniert, oder Dein System ist so
      ausgelastet, dass es Werte verwirft. Schau mal in das Logfile, was
      zwischen zwei Readings passiert: Bei Verbosity=15 wird ja
      praktisch alles mitgeschrieben, Du hast aber nur einzelne Zeilen
      (grep?) gepostet. Oder lies mal direkt mit, was an der
      USB-Schnittstelle ankommt.<br>
    </p>
    <p><br>
    </p>
    <blockquote type="cite"
      cite="mid:fb1a78ba-6793-e7da-1bb3-a6162ed4f5d0@gloetzner.net">
      <p> </p>
      <p>4) > Without finer resolution the graphs are almost useless
        because you only see peaks once in a while (when Wh changes from
        33000.00 to 34000.00, e.g.), especially when you log in high
        frequency (aggtime: -1).</p>
      <p>Das sehe ich nicht ganz so -- aber ich finde die Darstellung
        zumindest gewöhnungsbedürftig. Auch wenn mir klar ist, dass man
        bei der Darstellung aufgrund der zeitlichen Auflösung als auch
        der der Energie Kompromisse eingehen muss,  bin ich vom
        Verhalten der GUI nicht restlos überzeugt: In Screenshot from
        2021-04-16 22-18-49.png sieht man einen Peak mit einer Energie
        von 1kwh, der sich durch eine Leistung von 37.2 kw während eines
        Zeitraums von 10:40:09 bis 10:41:46, d.h 97 Sekunden ergibt.
        Soweit, so gut. Allerdings kann die Solaranlage diese Leistung
        zu keinem Zeitpunkt zur Verfügung stellen.</p>
      <p> Schaut man sich das Logfile dazu an, gibt es für 10:41:46
        tatsächlich ein Datum -- allerdings keines um 10:40:09. Ein
        Zählerwechsel hat zu diesem Zeitpunkt nicht statt gefunden.
        Sowohl der Zeitpunkt als auch die Zeitdauer von 97 Sekunden 
        erscheinen mir willkürlich. <br>
      </p>
      <p>[Apr 15 10:40:46][mtr0] Reading:
        id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=174000.00
        ts=1618479646012</p>
      <p>Der Zählerstandübergang von 173 kwh auf 174 kwh erfolgt
        irgendwann zwischen 10:31:58  und 10:32:43 . Der von 174 kwh zu
        175 kwh zwischen 10:44:34 und 10:44:59. 1 kwh ist also zwischen
        10:32:43  und 10:44:59 erzeugt worden. Wäre es dann nicht
        schlüssiger, von einem Durschnitt in diesem Zeitraum auszugehen,
        d.h.  einen Graph, der eine Leistung von 4.89 kw über 736
        Sekunden (von  10:32:43  bis 10:44:59) zeigt? Zugegebener Maßen
        hat das auch seine Schwächen, wenn z.B. über längere Zeit nur
        wenig Energie transferiert wird, so dass der nächste
        Zählerwechsel erst nach einem längerem Zeitraum erfolgt.<br>
      </p>
      <p>[Apr 15 10:31:58][mtr0] Reading:
        id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=173000.00
        ts=1618479118882 <br>
      </p>
      <p>[Apr 15 10:32:43][mtr0] Reading:
        id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=174000.00
        ts=1618479163626 <br>
      </p>
      <p>[Apr 15 10:44:34][mtr0] Reading:
        id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=174000.00
        ts=1618479874661 <br>
      </p>
      <p>[Apr 15 10:44:59][mtr0] Reading:
        id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=175000.00
        ts=1618479899725 <br>
      </p>
    </blockquote>
    <p>Derartige Diskussionen hatten wir hier schon reichlich.
      Volkszähler ist ein breit angelegtes System. Nicht nur für
      Verbrauchszähler wie Du nun einen hast (der Zählerstände liefert),
      sondern auch für Impulsausgänge, Temperatursensoren oder was man
      auf der Welt sonst noch messen kann. Die Messwerte werden, sofern
      nötig, umgerechnet auf Größen, die zu einem Zeitpunkt gelten: Z.B.
      die Leistung um 10:32h war 165W, oder die Temperatur betrug
      22,3°C. Schaut man sich dann größere Zeiträume an, oder nutzt den
      "hourly"-Graphen wie in Screenshot from 2021-04-16 21-43-55.png,
      werden Durchschnittswerte für diesen Zeitraum berechnet und
      angezeigt. Die Breite des Balkens hat m.W. keine Bedeutung, so
      dass Dein Rückschluss auf Energie so nicht möglich ist. <br>
    </p>
    <p>Und generell bewegen wir uns hier in der digitalen
      Signalverarbeitung analoger, kontinuierlicher Größen. D.h. wir
      haben eine Abtastrate (zeitliche Auflösung des Messwerts) und
      Quantelung (z.B. 0,1°C Auflösung, oder wie bei Dir 1 kWh). Von
      Messfehlern gar nicht zu sprechen. <b>Man muss sich daran
        gewöhnen, dass bei dieser Arbeitsweise Rückschlüsse auf
        tatsächliche Vorgänge, die sich zwischen zwei Abtastzeitpunkten
        oder zwischen zwei Messwerten abgespielt haben, grundsätzlich
        nicht möglich sind!</b> <br>
    </p>
    <p>Beispiel: Dein Waschbeckenablauf ist defekt, und Du hast einen
      Eimer darunter, den Du leerst sobald er voll ist. Wenn Du das
      protokolliert und feststellst, dass Du das so ca. alle 5 bis 12h
      machst, weißt Du aber immer noch nicht, ob der Wasserhahn tropft
      oder ob sich gelegentlich (und wann!) jemand die Hände wäscht. Um
      das herauszufinden, muss Du häufig (zeitliche Abtastung) und genau
      (nicht nur "Eimer voll", sondern genaue Füllhöhe) messen. </p>
    <p>Dein setting ist nun besonders krass: Die Messgenauigkeit beträgt
      lediglich 1 kWh, d.h. der Messwert ändert sich manchmal erst nach
      Stunden. Aber Du holst ihn alle paar Sekunden! Das ist nicht nur
      Datenmüll auf der Datenbank, sondern es führt auch zu falschen
      Schlussfolgerungen, nämlich dass beim Sprung um 1 kWh angenommen
      werden muss, dass die Leistung zwischen den beiden Messpunkten
      1kWh/Delta_t extrem hoch war, z.B. 1kW*3600s/10s = 360 kW (bei
      Delta_t = 10 s), oder 3,6 MW wenn Delta_t zufälligerweise 1 s war,
      oder eben 37,2 kW, weil bei Dir Delta_t wohl 96,7 s war -- einfach
      nur beliebiger Quatsch! Und wenn sich der Zählerstand zwischen
      zwei Abtastungen / Erfassungen nicht geändert hat, ja was soll die
      Leistung dann anderes sein als Null?!?<br>
    </p>
    <p><b>Derartige Probleme kann die Software nicht lösen, das musst Du
        machen:</b></p>
    <p>- Sinnvolle Anpassung der Auflösungen (Zeit und Größe), entweder
      durch Freischalten einer höheren Auflösung der Zählerstände
      mittels PIN oder durch Reduktion der Abtastrate z.B. auf 1/h
      (sollte mit aggtime gehen)</p>
    <p>- Sinnvolle Nutzung des Frontends, also nicht nicht in Zeiträume
      hineinzoomen, in denen sich nichts getan hat -- oder in dem
      zufälligerweise der Zähler um 1kWh vorgesprungen ist. Bei Dir wäre
      vermutlich nur "Daily" sinnvoll im Balkengraph, oder Woche bzw.
      Monat als Verlauf. Dann würde das Frontend bzw. die Middleware
      irgendwann selbständig Mittelwerte über längere Zeiträume bilden,
      und Dein "Block-Verbrauch" wie in Screenshot from 2021-04-16
      22-18-49.png verschwindet.</p>
    <p>Gruß von Lech und Wertach</p>
    <p>Rupert<br>
    </p>
  </body>
</html>