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