[vz-users] S0-Werte aggregieren nur mit "aggfixedinterval": true

Andreas Goetz cpuidle at gmail.com
Fri Jan 8 09:47:11 CET 2016


Moin Jens, Matthias,

2016-01-06 21:44 GMT+01:00 Jens <panterglas at web.de>:

> ...
>
>
> Verstehe ich nicht. Kleine Leistung wird bei aggtime _immer_ zu Sprüngen
> führen da Du nie verhindern kannst dass die Impulse zwischen den
> Intervallen um 1 schwanken.
>
> Meinst Du das?
>
> Bei mir sieht man das gut bei etwa 70 Watt meiner Lüftungsanlage.
>
>
> Ja, hat aber m.e. Nix mit Deiner Erklärung zu tun. Was würdest Du denn
> stattdessen erwarten?
>
> Man kann eigentlich nichts anderes erwarten. Die Summe der Impulse stimmen
> bei Anwendung des aggfixedinterval nicht mehr 1:1 mit originalen
> Zeitintervall überein, da das Zeitintervall, dass für die DB genutzt wird
> zu.U. von dem original Zeitintervall abweichen kann (Beispiel: 100 Impulse
> in real 29,5 Sekunden, werden dann zu 100 Impulsen in 30 Sekunden). Soweit
> ich das verstehe schreibt vzlogger den aggregierten S0-Wert dann zum nächst
> „geraden“ Timestamp. Da gehen u.U. unweigerlich Informationen verloren, es
> sei denn man würde die Impulse zwischen den Zeitdifferenzen (Differenz
> "Zeitfenster reale Messung" und "Zeitfenster adaptiert um Funktion
> aggfixedinterval") auch interpolieren. Dafür müsste man aber über den
> Timestamp heraus loggen und die dann anfallenden Impulse entsprechend dem
> verwendeten Timestamp interpolieren, den man für die DB benutzt. Egal, ist
> auch nicht wichtig und vollkommen überdimensioniert. Es ist mir nur
> aufgefallen, da ich mich mit dem Zeitintervallen beschäftigt habe. Wenn die
> aggtime ohne aggfixedinterval funktioniert würde, wäre es ein Traum :) Dann
> passen Zeiten und Impulse 1:1 zusammen.
>

Absolut richtig! Wie Matthias sagt:

> aggfixedinterval = false // das sollte man eher nicht verwenden,
beschreibe später noch mal, warum nicht.

...da dadurch die Timestamps verfälscht werden. Das macht _nur_ dann Sinn
wenn man- z.B. für Rechenzwecke- identische Timestamps über mehrere Kanäle
braucht.

@Matthias: wir könnten ja auch mal überlegen ob sich das nicht ins Frontend
einbauen lässt- spätestens wenn ich group=minute mache forciere ich das ja
auch, behalte aber die richtigen Timestamps. Sollen wir aggfixedinterval
ausbauen?

Falls es jetzt mit send_zero klappt sollten wir dennoch den vzlogger
korrigieren da aggtime auch ohne funktionieren muss.

vg
Andreas

>
> Hier ein Bild zur Verdeutlichung
> <Schnappschuss (2016-01-06 21.08.43).png>
>
> Viele Grüße
> Jens
>
>
> Viele Grüße, Andreas
>
>
>
> Am 06.01.2016 um 20:55 schrieb Andreas Götz <cpuidle at gmail.com>:
>
> Danke, das könnte der lange gesucht Bug mit aggtime sein!
>
> Was meinst Du mit nicht interpoliert?
>
> Viele Grüße, Andreas
>
> Am 06.01.2016 um 20:29 schrieb Jens <panterglas at web.de>:
>
> Hallo Zusammen,
>
> ich logge einige S0 Zähler und seit zwei Wochen mit dem vzlogger. Ich
> möchte, dass nur alle 30 Sekunden ein Eintrag in die Datenbank geschrieben
> wird. Dafür nutze ich den Parameter „aggtime" auf 30. Das klappt auch,
> allerdings muss man den Parameter "aggfixedinterval" auf true setzen.
> Andernfalls werden die Daten gemäß dem Original-Impuls in die Datenbank
> geschrieben und aggtime wird ignoriert. Leider werden bei aktiviertem
> „aggfixedinterval“ die Werte nicht interpoliert, was zu kleinen
> Sägezahnmustern im Frontend führen kann - gerade bei kleinen Lasten.
>
> Hier ein Screenshot mit und ohne aggfixedinterval
> <Schnappschuss (2016-01-06 20.16.04).png>
>
>
> Meine Knotig, nur bis zum ersten S0-Zähler, die anderen sind gleich bis
> auf die UUID
> {
>   "retry": 0,
>   "daemon": true,
>   "verbosity": 0,
>   "log": "/var/log/vzlogger.log",
>   "local": {
>     "enabled": false,
>     "port": 8080,
>     "index": true,
>     "timeout": 0,
>     "buffer": 0
>   },
>   "push": [
>     {
>       "url": "http://127.0.0.1:5582"
>     }
>   ],
>   "meters": [
>     // Sensor 1
>     {
>       "enabled": true,
>       "allowskip": false,
>       "interval": -1,
>       "aggtime": 30,
>       "aggfixedinterval": true,
>       "channels": [
>         {
>           "uuid": „das-ist-meine-Kanal-UUID",
>           "identifier": "Impulse",
>           "api": "volkszaehler",
>           "middleware": "http://127.0.0.1/middleware.php",
>           "aggmode": "SUM",
>           "duplicates": 0
>         }
>       ],
>       "protocol": "s0",
>       "gpio": 4,
>       "resolution": 1000,
>       "configureGPIO": true,
>       "debounce_delay": 0
>     },
>     // Sensor 2
> … weitere Sensoren
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160108/ae71c8ae/attachment.html>


More information about the volkszaehler-users mailing list