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

china2013 at abwesend.de china2013 at abwesend.de
Tue May 24 23:12:18 CEST 2016


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 --------------
A non-text attachment was scrubbed...
Name: Sprung nach manuellem Start USB1.jpg
Type: image/jpeg
Size: 254265 bytes
Desc: not available
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20160524/527a784e/attachment-0001.jpg>


More information about the volkszaehler-users mailing list