[vz-dev] vzlogger mit Landis&Gyr ehz

Michael Wulz michael.wulz at gmail.com
Wed Jan 23 19:07:44 CET 2013


Am 23. Januar 2013 01:06 schrieb Thorben Thuermer <r00t at constancy.org>:

> On Tue, 22 Jan 2013 11:53:03 +0100
> Michael Wulz <michael.wulz at gmail.com> wrote:
> > Am 22.01.13 09:52, schrieb Thorben Thuermer:
> > > On Mon, 21 Jan 2013 21:38:56 +0100
> > > Michael Wulz <michael.wulz at gmail.com> wrote:
> > >> Ich habe einen Landis & Gyr EHZ (ZMD3 Serie).
> > Das folgende git:
> > https://github.com/volkszaehler/vzlogger.git
> > >> Segmentation Fault:
> > >> [Jan 21 21:37:06][meter_Segmentation fault
> > > ich wuerde mir das nachher mal anschauen,
> > Die Daten vom Zähler im Attachment "zaehlerdaten.txt"
>
> ich habe die datei gespeichert, und in der config als device statt dem port
> den pfad dazu angegeben, und vzlogger gestartet,
> und kann den crash reproduzieren.
>
> und die ursache fuer den _crash_ ist dummerweise ein bug in einer
> aenderung von mir, der bisher nicht aufgefallen war:
> in src/protocols/d0.c zeile 283:
> print( log_error, "%s(): read unexpected byte: %x: %s%c%c!",
> __FUNCTION__...
> fehlt ein parameter:
> print( log_error, "%s(): read unexpected byte: %x: %s%c%c!", mtr,
> __FUNCTION__...
>
> damit stuerzt vzlogger zumindest nichtmehr ab.
> (schaffst du das das eben selber einzubauen?
>  pull-request ist auch unterwegs, damit der fix in's git kommt)
>
> das wird aber alleine nicht reichen, es gibt noch ein anderes problem,
> aehnlich dem hier beschriebenen:
> http://volkszaehler.org/pipermail/volkszaehler-dev/2013-January/002321.html
>
> (es werden alle werte aus dem telegramm geloggt, statt nur dem
>  per identifier ausgewaehlten.)
>
> bis es fuer den bug eine echte loesung gibt, kannst du mal meinen
> aktuellen workaround versuchen, als patch angehaengt.
> ( im vzlogger-verzeichniss: patch -p1 </path/to/d0_obis.patch )
>
> und dann in deiner config:
>          "identifier" : "255-255:1.8.1",
> zu benutzen,
> damit sollte es erstmal funktionieren.
>
>  Es klappt doch nicht. Alles eingebaut und jetzt getestet. Folgender
Output vom vzLogger:

root at raspberrypi:/usr/local/etc# vzlogger
[Jan 23 19:02:08][mtr0] New meter initialized (protocol=d0)
[Jan 23 19:02:08][ch0]  New channel initialized (uuid=...23c67c middleware=
http://localhost/middleware.php id=255-255:1.8.1)
[Jan 23 19:02:08][mtr0] Meter connection established
[Jan 23 19:02:08][mtr0] Meter thread started
[Jan 23 19:02:08][ch0]  Logging thread started
[Jan 23 19:02:11][mtr0] meter_read_d0(): read unexpected byte: 3f: "?"!
[Jan 23 19:02:11][mtr0] Got 0 new readings from meter:
[Jan 23 19:02:11][mtr0] Updating interval to 3
[Jan 23 19:02:11][ch0]  Buffer dump (size=0 keep=0): {}

bzw.

^C[Jan 23 19:03:10]       Closing connections to terminate
root at raspberrypi:/usr/local/etc# vzlogger
[Jan 23 19:03:11][mtr0] New meter initialized (protocol=d0)
[Jan 23 19:03:11][ch0]  New channel initialized (uuid=...23c67c middleware=
http://localhost/middleware.php id=255-255:1.8.1*01)
[Jan 23 19:03:11][mtr0] Meter connection established
[Jan 23 19:03:11][mtr0] Meter thread started
[Jan 23 19:03:11][ch0]  Logging thread started
[Jan 23 19:03:13][mtr0] meter_read_d0(): read unexpected byte: 3f: "?"!
[Jan 23 19:03:13][mtr0] Got 0 new readings from meter:
[Jan 23 19:03:13][mtr0] Updating interval to 2
[Jan 23 19:03:13][ch0]  Buffer dump (size=0 keep=0): {}

Hatte versucht die OSID mit *01 wie im cat < /dev/ttyUSB0 ausgegeben zu
ändern.
Kein Erfolg. Der Output am vzlogger kommt sofort nachdem ich den Zähler mit
dem "echo $'\x2f\x3f\x21\x0d\x0a' > /dev/ttyUSB0" triggere.

Danach kann ich den Zähler Triggern, es kommt vom vzlogger kein Output mehr.

Es scheint als ob das Triggern des Zählers den vzlogger tötet.

gruss
M
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://volkszaehler.org/pipermail/volkszaehler-dev/attachments/20130123/dd5f72eb/attachment.html>


More information about the volkszaehler-dev mailing list