[vz-users] lange Verzögerung der Messdaten im Frontend / großer Puffer in ttyUSB

Frank Richter frank.richter83 at gmail.com
Tue May 24 23:34:44 CEST 2016


Hallo,

probiers mal mit aggregation statt interval. aggtime steht in deiner Config
ja schon drin, einfach noch für jeden channel aggmode passend definieren
(MAX für Zählerstände, AVG für Leistungen). Wenn ich richtig Bescheid weiß,
ist interval nur für Zähler gedacht, die gepollt werden müssen.

Grüße
Frank
Am 24.05.2016 23:12 schrieb <china2013 at abwesend.de>:

> Ich habe eine stark verzögerte Darstellung im Frontend.
>
> Ich vermute, dass [b]ttyUSB0[/b] einen riesigen Puffer hat und dieser voll
> läuft.
> Der normale vzlogger holt die Daten nicht schnell genug ab, der Puffer
> läuft voll und verursacht ein riesengroßes time lag.
>
>
> Begründung:
> Wenn das System normal läuft und bereits verzögert ist, dann mache ich das:
> /usr/local/bin/vzlogger -c /home/pi/mgr2109/vzloggertest.conf (diese
> Testconfig habe ich unten angehängt)
> und *sofort* kommen einige 100 kByte auf einmal an Readings an.
>
> Beispiel:
> [May 24 18:27:22]       Opened logfile /home/pi/mgr2109/vzloggertest.log
> [May 24 18:27:22][push] No pushDataServer defined.
> [May 24 18:27:22][]     ===> Start meters
> [May 24 18:27:22][mtr0] Meter connection established
> [May 24 18:27:22][mtr0] Meter thread started
> [May 24 18:27:22][mtr0] Meter is opened. Starting channels.
> [May 24 18:27:22][]     Startup done.
> [May 24 18:27:22][mtr0] Number of readers: 32
> [May 24 18:27:22][mtr0] Config.daemon: 0
> [May 24 18:27:22][mtr0] Config.local: 0
> [May 24 18:27:22][mtr0] Got 4 new readings from meter:
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=28935164.80
> ts=1464107242236
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.1*255/ObisItentifier:1-0:1.8.1*255 value=28935164.80
> ts=1464107242236
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.2*255/ObisItentifier:1-0:1.8.2*255 value=0.00 ts=1464107242236
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:15.7.0*255/ObisItentifier:1-0:15.7.0*255 value=195.50
> ts=1464107242236
> [May 24 18:27:22][mtr0] Got 4 new readings from meter:
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=28935164.90
> ts=1464107242238
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.1*255/ObisItentifier:1-0:1.8.1*255 value=28935164.90
> ts=1464107242238
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.2*255/ObisItentifier:1-0:1.8.2*255 value=0.00 ts=1464107242238
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:15.7.0*255/ObisItentifier:1-0:15.7.0*255 value=195.50
> ts=1464107242238
> [May 24 18:27:22][mtr0] Got 4 new readings from meter:
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=28935165.00
> ts=1464107242240
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.1*255/ObisItentifier:1-0:1.8.1*255 value=28935165.00
> ts=1464107242240
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.2*255/ObisItentifier:1-0:1.8.2*255 value=0.00 ts=1464107242240
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:15.7.0*255/ObisItentifier:1-0:15.7.0*255 value=196.50
> ts=1464107242240
> [May 24 18:27:22][mtr0] Got 4 new readings from meter:
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.0*255/ObisItentifier:1-0:1.8.0*255 value=28935165.10
> ts=1464107242242
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.1*255/ObisItentifier:1-0:1.8.1*255 value=28935165.10
> ts=1464107242242
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:1.8.2*255/ObisItentifier:1-0:1.8.2*255 value=0.00 ts=1464107242242
> [May 24 18:27:22][mtr0] Reading:
> id=1-0:15.7.0*255/ObisItentifier:1-0:15.7.0*255 value=195.50
> ts=1464107242242
> [May 24 18:27:22][mtr0] Got 4 new readings from meter:
> ...
> u.s.w alles mit der gleichen Uhrzeit "[May 24 18:27:22]"
> Danach breche ich mit CTRL+C ab und hoffe, dass der im Hintergrund
> laufende vzlogger nicht gestört wurde.
> Und sofort kommen im "frontend" wieder aktuelle Werte bis das System
> wieder genug Verzögerung angesammelt hat.
> Wie Du sehen kannst, sind die Timestamps (ts=...) am Ende der Zeile
> korrekt : alle 2 Sekunden.
>
> Die Verzögerung habe ich unabhängig voneinander auf ttyUSB0 und ttyUSB1.
>
> Im Anhang noch ein Screenshot mit drei solchen Sprüngen : ttyUSB1 ttyUSB0
> ttyUSB1
> Die gelbe PV Kurve stimmt erst nach Run von "vzloggertest.conf" mit dem
> gelben DesktopGadget "Saftwerk" überein. (zumindest eine Weile)
>
>
> Ich vermute folgende Ursache:
> Der Zähler EMH EHZ-HW8E2A5L0EQ2P sendet immer alle 2 Sekunden sein
> Protokoll.
> Der vzlogger nimmt sich aus dem FIFO Puffer der ttyUSB0 Schnittstelle
> immer nur ein Protokoll mit dem eingestellten "interval": 30
> Also müssten müssten eigentlich die 14 Protokolle dazwischen verworfen
> werden.
>
>
> Ähnliches Thema siehe auch 21.5.2015 :
> [vz-users] Stromdaten werden mit 4 Stündiger Verspätung angezeigt
>
> https://www.mail-archive.com/volkszaehler-users%40demo.volkszaehler.org/msg02769.html
> P.s. Dieses ist mein erstes Posting in einer Mailingliste (verdammt
> komplexes Userinterface) :-(
>
>
> Viele Grüße
> Saftwerk
>
> -----------------------------------------------------------
> Verwendete Hardware :
> 1x PI-3
> 2x Udo's gelbe USB Magnet Leseköpfe
> 2x EMH EHZ-HW8E2A5L0EQ2P
>
> Verwendete Software:
> vzlogger 0.5.1
>     based on git version: heads/master-0-g7e79f4c700-dirty
>     last commit date: Fri, 5 Feb 2016 18:03:28 +0100
>
>
> ----------------------------------------------------------------------------
> Hier meine "vzloggertest.conf" :
>
> ----------------------------------------------------------------------------
> /**
>    * vzlogger configuration
>    *
>    * use proper encoded JSON with javascript comments
>    *
>    * take a look at the wiki for detailed information:
>    *
> http://wiki.volkszaehler.org/software/controller/vzlogger#configuration
>    *
>    * nach dem Upload mit diesem Befehl testen:
>    * /usr/local/bin/vzlogger -c /home/pi/mgr2109/vzloggertest.conf
>    */
>
> {
> "retry" : 30,                   /* how long to sleep between failed
> requests, in seconds */
> "daemon": false,                /* run periodically */
> "verbosity" : 15,               /* between 0 and 15 */
> "log" : "/home/pi/mgr2109/vzloggertest.log",/* path to logfile, optional */
>
> "local" : {
>           "enabled" : false,      /* should we start the local HTTPd for
> serving live readings? */
>           "port" : 8080,            /* the TCP port for the local HTTPd */
>           "index" : true,         /* should we provide a index listing of
> available channels? */
>           "timeout" : 30,         /* timeout for long polling comet
> requests, 0 disables comet, in seconds */
>           "buffer" : 600          /* how long to buffer readings for the
> local interface, in seconds */
> },
>
> "meters" : [{
>           "enabled" : true,       /* disabled meters will be ignored */
>           "protocol" : "sml",     /* use 'vzlogger -h' for list of
> available protocols */
>           "device" : "/dev/ttyUSB1",
>           }
> ]}
>
> ----------------------------------------------------------------------------
>
> Hier die vzlogger.conf :
>
> ----------------------------------------------------------------------------
> /**
>    * vzlogger configuration
>    *
>    * Use properly encoded JSON with javascript comments
>    *
>    * Take a look at the wiki for detailed information:
>    *
> http://wiki.volkszaehler.org/software/controller/vzlogger#configuration
>    *
>    * For an online configuration editor refer to:
>    * http://volkszaehler.github.io/vzlogger/
>    *
>    * nach dem Upload mit diesem Befehlen aktivieren:
>    * pi at pi3:~ $ sudo killall vzlogger
>    * pi at pi3:~ $ sudo cp /home/pi/mgr2109/vzlogger.conf /etc/vzlogger.conf
>    * pi at pi3:~ $ sudo reboot now
>    */
> {  // General settings
>     "retry": 30,                 /* how long to sleep between failed
> requests, in seconds */
>     "daemon": true,              /* run periodically */
>     "verbosity": 5,               /* between 0 and 15 */
>     "log": "/tmp/vzlogger.log",  /* path to logfile, optional */
>     // Build-in HTTP server
>     "local": {
>         "enabled": false,      /* should we start the local HTTPd for
> serving live readings? */
>         "port": 8080,          /* the TCP port for the local HTTPd */
>         "index": true,         /* should we provide a index listing of
> available channels? */
>         "timeout": 30,         /* timeout for long polling comet requests,
> 0 disables comet, in seconds */
>         "buffer": -1           /* how long to buffer readings for the
> local interface, in seconds */
>     },
>     // realtime notification settings
>     "push": [{
>         "url": "http://127.0.0.1:5582"  // notification destination, e.g.
> frontend push-server
>     }],
>     // Meter configuration
>     "meters" : [{
>         "enabled": true,
>         "protocol": "sml",
>         "device": "/dev/ttyUSB0",
>         "interval": 30,
>         "aggtime": 10,
>         "baudrate": 9600,
>         "parity": "8n1",
>         "channels" : [{
>             "uuid" : "ddb38c40-2143-11e6-ba07-892ea74f2d95",
>             "identifier" : "1-0:2.8.0*255",         /* Haus ET (2.8.0
> Wirkarbeit Lieferung -A) */
>             "api" : "volkszaehler",
>             "middleware" : "http://127.0.0.1/middleware.php"
>         },{
>             "uuid" : "eaafc420-2143-11e6-9469-231e8a5088bb",
>             "identifier" : "1-0:1.8.1*255",         /* Haus NT (1.8.1
> Wirkarbeit Bezug +A Tarif 1) */
>             "api" : "volkszaehler",
>             "middleware" : "http://127.0.0.1/middleware.php"
>         },{
>             "uuid" : "f0fec8a0-2143-11e6-aaa5-a7682962a09e",
>             "identifier" : "1-0:1.8.2*255",         /* Haus HT (1.8.2
> Wirkarbeit Bezug +A Tarif 2) */
>             "api" : "volkszaehler",
>             "middleware" : "http://127.0.0.1/middleware.php"
>         },{
>             "uuid" : "00f15380-2144-11e6-95a3-3720f3308148",
>             "identifier" : "1-0:15.7.0*255",         /* Haus Watt (15.7.0
> Wirkleistung) */
>             "api" : "volkszaehler",
>             "middleware" : "http://127.0.0.1/middleware.php"
>         }]
>     },{
>         "enabled": true,
>         "protocol": "sml",
>         "device": "/dev/ttyUSB1",
>         "interval": 30,
>         "aggtime": 10,
>         "baudrate": 9600,
>         "parity": "8n1",
>         "channels" : [{
>             "uuid" : "c15295c0-21c6-11e6-81d0-0b9c8f192e61",
>             "identifier" : "1-0:1.8.1*255",         /* PV (1.8.0
> Wirkarbeit) */
>             "api" : "volkszaehler",
>             "middleware" : "http://127.0.0.1/middleware.php"
>         },{
>             "uuid" : "96367040-21c6-11e6-8f72-710cef347aef",
>             "identifier" : "1-0:15.7.0*255",         /* PV Watt (15.7.0
> Wirkleistung) */
>             "api" : "volkszaehler",
>             "middleware" : "http://127.0.0.1/middleware.php"
>         }]
>     }]
> }
>
> ----------------------------------------------------------------------------
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160524/17d58db8/attachment-0001.html>


More information about the volkszaehler-users mailing list