[vz-dev] Feedback benötigt: vzlogger / aggregation / random meter / sml-pull / s0-meter
Karlheinz
karlheinz.es at gmx.de
Thu Sep 26 22:42:22 CEST 2013
Hallo,
wie bekomme ich meinen Landis+Gir Zähler (ZMD120APTCS G03) dazu,
vzlogger zu antworten?
Ich benutze den IR-Schreib-Lesekopf von Udo.
> Die config sieht ok aus. (wenn deine Zähler auf 7E1 300 Baud und die
> Sequenz "/?!<CR><LF>" reagiert )
Auszug aus vzlogger.conf:
>"enabled" : true,
<------>"protocol" : "d0",
<------>"baudrate" : 300,
<------>"device" : "/dev/ttyAMA0",
<------>"parity" : "7E1",
<--->"pullseq" : "2f3f210d0a", // HEX Darstellung der Pullsequenz
<------>"interval" : 5, // Wartezeit bis zum nächsten Pull
Bislang kommt immer folgendes bei vzlogger -f:
...
[Sep 26 22:05:00][mtr1] Meter connection established
[Sep 26 22:05:00][mtr1] Meter thread started
[Sep 26 22:05:00][mtr1] meter is opened. Start channels.
[Sep 26 22:05:00][http] Starting local interface HTTPd on port 8080
[Sep 26 22:05:00][] Startup done.
[Sep 26 22:05:00][mtr1] Number of readers: 32
[Sep 26 22:05:00][mtr1] Config.daemon: 1
[Sep 26 22:05:00][mtr1] Config.local: 1
[Sep 26 22:05:00][d0] sending pullsequenz send (len:22 is:22).
[Sep 26 22:05:00][d0] Something unexpected happened: read:336!
[Sep 26 22:05:00][mtr1] Got 0 new readings from meter:
[Sep 26 22:05:00][mtr1] Next reading in 5 seconds
Im Beitrag
http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/itron_ace3000_type_260
habe ich das Shellscript gefunden und gekürzt:
#!/bin/bash
# Init tty
stty -F /dev/ttyAMA0 1:4:da7:a30:3:1c:7f:15:4:10:0:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0
( sleep 1 ; echo -e "\x2f\x3f\x21\x0d\x0a" > /dev/ttyUSB0 ) &
while read -t8 line # warten auf die Zaehlerausgabe
do # Bestaetigung nach dem Wecken nicht notwendig
echo $line
done < /dev/ttyAMA0
Damit kommt zumindest schon eine Antwort:
/?!
/LGZ52ZMD120APt.G03
Erst mit einer weiteren Sequenz liefert der Zähler seine Daten ab:
( sleep 1 ; echo -e
"\x2F\x3F\x21\x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x06\x30\x30\x30\x0D\x0A"
> /dev/ttyAMA0 ) & # bedeutet:/?! CR LF NUL NUL NUL NUL NUL NUL ACK 0 0
0 CR LF
#das geht auch: ( sleep 1 ; echo -e
"\x2f\x41\x43\x45\x30\x5c\x33\x6b\x32\x36\x30\x56\x30\x31\x2e\x31\x38" >
/dev/ttyAMA0 ) & # bedeutet: /ACE0\3k260V01.18
while read -t8 line
do
echo $line
done < /dev/ttyAMA0
Jetzt erhalte ich die Zählerwerte:
/?!
/LGZ52ZMD120APt.G03
F.F(00000000)
0.0.0( 26781!
2.8.1(013723.9*kWh)
2.8.2(000000.0*kWh)
1.8.0(010098.3*kWh)
2.8.0(013723.9*kWh)
!
*1. Was initialisiert stty im Gegensatz zum vzlogger anders? Wenn das
geklärt ist, sollte zumindest kein Fehler 336 mehr kommen.**
**2. Könnte man einen weiteren Parameter, der nach der pullsequenz eine
zweite Sequenz (acksequenz) sendet, einbauen?**
*
Viele Grüße
Karlheinz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-dev/attachments/20130926/778ac6fc/attachment.html>
More information about the volkszaehler-dev
mailing list