[vz-users] Fwd: Landis+Gyr DLMS-Schnittstelle mit vzlogger auslesen

applicationMGR ecoCuyo applicationMGR at ecoCuyo.de
Tue Dec 2 17:26:25 CET 2014


Hallo zusammen,

meine erst Nachricht an den Verteiler - hoffe das ist korrekt adressiert, sonst bitte Hinweis!

Ziel:
> Auslesen der Register mit vzlogger gemäß OBIS-Codes aus den Zählern und Multiplikation der Werte mit den Faktoren 200 bzw. 80, bevor die Werte in die DB geschrieben werden, sodass im Frontend die tatsächlichen Leistungs- und Verbrauchswerte angezeigt werden.

Konfiguration: 
> Messwandler-Zähler von Landis+Gyr mit DLMS-Schnittstelle
> Typ E650, ZMD410CT44.2407 S3 B31 mit Faktor 200 (Bezug/Lieferung)
> Typ E650, ZMD410CT44.2407 S3 B32 mit Faktor 80 (Erzeugung) 
> Raspi PI B+
> IR-USB-Leseköpfe  von Udo

Was bisher lief:
> Die Installation auf dem Raspi ist getestet (andere vzlogger.conf und UUIDs fürs Frontend alles tadellos)
> läuft einwandfrei bei direkt messenden SML-eHZ der Marke emh
> auch ein xxd < /dev/usb-ir-lesekopf0 funktioniert bei solchen SML-Zählern einwandfrei (... plappern von alleine los)

Neuer Einsatz des Raspi bei Messwandler-Zählern. Per Internet-Recherche auf folgenden Beitrag gestossen:
> http://www.photovoltaikforum.com/volkszaehler-org-f131/fuenf-elektronische-zaehler-auslesen-t94624-s10.html <http://www.photovoltaikforum.com/volkszaehler-org-f131/fuenf-elektronische-zaehler-auslesen-t94624-s10.html>
> http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/zmd120ap?s[]=dlms <http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/zmd120ap?s[]=dlms>
Zum Testen folgende vzlogger.conf mit nur einem Meter:
> /**
> * 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 <http://wiki.volkszaehler.org/software/controller/vzlogger#configuration>
> */
> {
>   "retry" : 30, /* how long to sleep between failed requests, in seconds */
>   "daemon": false, /* run as server */
>   //"foreground" : true, /* don’t  run in background (prevents forking) */
>   "verbosity" : 15, /* between 0 and 15 */
>   "log" : "/var/log/vzlogger.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 if no UUID was requested? */
>     "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" : "d0",     /* see 'vzlogger -h' for list of available protocols */
>         "device" : "/dev/usb-ir-lesekopf0",
>         "parity" :  "7E1", /* 7E1 */
>         "baudrate" : 9600,
>         "pullseq" : "2f3f210d0a",
>         "interval" : 5 // Wartezeit bis zum nächsten Pull
> ]}

Test vzlogger mit vzlogger.conf oben. Setzen der Baudrate 300 führte zu:
> [Nov 25 17:15:56][d0]   Invalid baudrate: 300
> [Nov 25 17:15:56][d0]   Failed to parse the baud rate”

Setzen der Baudrate 9600 gab dann keinen Fehler zurück - vielleicht, weil in rc.local folgendes steht:
> stty -F /dev/ttyUSB0 9600 -parity -cstopb
> stty -F /dev/ttyUSB1 9600 -parity -cstopb
> 
Testaufruf vzlogger: 
> sudo vzlogger -c /etc/vzlogger.conf
> 
> [Nov 25 18:18:47][mtr0] Creating new meter with protocol d0.
> [Nov 25 18:18:47][d0]   pullseq len:5 found
> [Nov 25 18:18:47][mtr0] Meter configured. enabled
> [Nov 25 18:18:47]       New meter initialized (protocol=d0)
> [Nov 25 18:18:47]       Have 1 meters.
> [Nov 25 18:18:47][main] daemon=0, local=0
> [Nov 25 18:18:47]       NOT Daemonize process...
> [Nov 25 18:18:47]       Opened logfile /var/log/vzlogger.log
> [Nov 25 18:18:47][]     ===> Start meters.
> [Nov 25 18:18:47][mtr0] Meter connection established
> [Nov 25 18:18:47][mtr0] Meter thread started
> [Nov 25 18:18:47][mtr0] meter is opened. Start channels.
> [Nov 25 18:18:47][]     Startup done.
> [Nov 25 18:18:47][mtr0] Number of readers: 32
> [Nov 25 18:18:47][mtr0] Config.daemon: 0
> [Nov 25 18:18:47][mtr0] Config.local: 0
> [Nov 25 18:18:47][d0]   sending pullsequenz send (len:5 is:5).
> [Nov 25 18:18:47][d0]   Something unexpected happened: read:501!
> [Nov 25 18:18:47][mtr0] Got 0 new readings from meter:
> [Nov 25 18:18:47][mtr0] Next reading in 5 seconds
> [Nov 25 18:18:52][d0]   sending pullsequenz send (len:5 is:5).
> [Nov 25 18:18:52][d0]   Something unexpected happened: read:501!
> [Nov 25 18:18:52][mtr0] Got 0 new readings from meter:
> [Nov 25 18:18:52][mtr0] Next reading in 5 seconds
> ^C[Nov 25 18:18:57]       terminating on signal 2.
> [Nov 25 18:18:57]       Closing connections to terminate
> [Nov 25 18:18:57][]     Server stopped.


Diese Fragestellung ist zwar schon vor mir an der einen oder anderen Stelle im Internet beschrieben worden, aber die Threads enden dann ohne dass ich die Lösung begriffen hätte (Problem zwischen Stuhl und Tastatur?

Muss das Shellscript unter http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/zmd120ap?s[]=dlms <http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/zmd120ap?s[]=dlms> permanent laufen und wirft die Werte aus den Zählern? 

Bleibt die Hoffnung, dass einer von Euch mir helfen kann und ich danach das Wiki um diese Zähler und die erforderlichen Schritte zur Konfiguration erweitere. Ansonsten geht es den Weg, den Udo vorschlug: HTerm und rumprobieren... 

Wer kann mir das bitte, bitte ersparen? :-)

Beste Grüße
Armin

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20141202/5cdf8bb3/attachment-0001.html>


More information about the volkszaehler-users mailing list