[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