[vz-dev] vzlogger mit Landis&Gyr ehz

Michael Wulz michael.wulz at gmail.com
Wed Jan 23 20:28:11 CET 2013


Am 23. Januar 2013 20:04 schrieb Thorben Thuermer <r00t at constancy.org>:

> On Wed, 23 Jan 2013 19:07:44 +0100
> Michael Wulz <michael.wulz at gmail.com> wrote:
> > Am 23. Januar 2013 01:06 schrieb Thorben Thuermer <r00t at constancy.org>:
> > > 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): {}
> > 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.
>
> ich denke (d)ein problem ist, das du auf der schnittstelle ein lokales
> echo aktiv hast, und damit vzlogger den "/?!" mit zu lesen bekommt,
> womit der parser nicht klarkommt.
> versuche es mal mit stty -echo
> (natuerlich sollte der parser eigentlich etwas robuster sein.)
> (ich hatte gemogelt und das einfach aus dem dump entfernt...)
>
>
ja in der tat, war aktiv.
hab jetzt:

root at raspberrypi:/usr/local/etc# stty -F /dev/ttyUSB0
speed 300 baud; line = 0;
min = 1; time = 0;
-brkint -icrnl -imaxbel
-opost -onlcr
-isig -icanon -iexten -echo

am Serialport. Jedoch gleiches Problem.
Seh ich am schnellsten da (in einem zweiten tty hab ich den Zähler
getriggert)

root at raspberrypi:/usr/local/etc# cat < /dev/ttyUSB0
/?!

/LGZ5\2ZMD3102400.B14
F.F(02000000)
.....

wenn ich das lokale Echo abdrehe müsste da doch nix stehen?
Ich hab jetzt dazu nochmal den Leserkopf vom Zähler entfernt und in die
Luft gedreht.
Es kommt auch folgendes:

root at raspberrypi:/usr/local/etc# cat < /dev/ttyUSB0
/?!

Ich glaub, dass das durch den Kopf ist. Die Dioden da eventuell eine
Rückkopplung verursachen.
Ist der Kopf von Udo mit USB.

Ich vermute, du wirst die Trigger-Sequenz irgendwie in den Parser mit
integrieren müssen, sodass dieser
die Sequenz einfach ignoriert.


> ich habe dann:
>     "device" : "./landis.dump",
>     "channels": [{
>         "identifier" : "255-255:1.8.1",
>

Danke - okay war Denkfehler meinerseits!


> und bekomme damit, mit der gepatchten version, gekuerzt:
> [Jan 23 19:57:48][mtr0] New meter initialized (protocol=d0)
> [Jan 23 19:57:48][ch0]  New channel initialized (uuid=...6a99ef middleware=
> http://localhost/middleware.php id=255-255:1.8.1)
> [Jan 23 19:57:48][mtr0] Parsed reading (OBIS code=F.F, value=02000000,
> unit=)
> [Jan 23 19:57:48][mtr0] Parsed reading (OBIS code=0.1.0*01, value=00-01-01
> 00:10, unit=)
> [Jan 23 19:57:48][mtr0] Parsed reading (OBIS code=1.8.1, value=000023.1,
> unit=kWh)
> [Jan 23 19:57:48][mtr0] Parsed reading (OBIS code=2.8.1*01,
> value=000000.0, unit=)
> [Jan 23 19:57:48][mtr0] Read package with 32 tuples (vendor=LGZ,
> baudrate=5, identification=\2ZMD3102400.B14)
> [Jan 23 19:57:48][mtr0] Got 32 new readings from meter:
> [Jan 23 19:57:48][ch0]  Adding reading to queue (value=23.10
> ts=1358967468.038)
> [Jan 23 19:57:48][ch0]  JSON request body: [ [ 1358967468037.774170,
> 23.100000 ] ]
>
> [Jan 23 19:57:48][mtr0] meter_read_d0(): read unexpected byte: 31: "1"!
> [Jan 23 19:57:48][mtr0] meter_read_d0(): read unexpected byte: a:
> (non-printable)!
> [Jan 23 19:57:48][mtr0] meter_read_d0(): read unexpected byte: 0:
> (non-printable)!
>
> (danach geht es nicht weiter, weil im dump-file nur ein telegramm steht,
>  wenn du nicht weiterkommst, schicke mir nochmal eins mit mehreren
>  (und ohne echo, ggfs zusaetzlich mit.))
>

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


More information about the volkszaehler-dev mailing list