<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-15">
  </head>
  <body smarttemplateinserted="true" text="#000000" bgcolor="#FFFFFF">
    <tt>Hallo,<br>
      <br>
      wie bekomme ich meinen Landis+Gir Zähler (</tt><tt>ZMD120APTCS
      G03) dazu, vzlogger zu antworten?<br>
      Ich benutze den IR-Schreib-Lesekopf von Udo.<br>
      <br>
    </tt>
    <blockquote type="cite"><tt>Die config sieht ok aus. (wenn deine
        Zähler auf 7E1 300 Baud und die </tt><tt>Sequenz
        "/?!<CR><LF>" reagiert )</tt><br>
    </blockquote>
    <font face="Courier New, Courier, monospace">Auszug aus
      vzlogger.conf:<br>
      >"enabled" : true,<br>
      <------>"protocol" : "d0",<br>
      <------>"baudrate" : 300,<br>
      <------>"device" : "/dev/ttyAMA0",<br>
      <------>"parity" : "7E1",<br>
       <--->"pullseq" : "2f3f210d0a", // HEX Darstellung der
      Pullsequenz<br>
      <------>"interval" : 5, // Wartezeit bis zum nächsten Pull</font><br>
    <br>
    Bislang kommt immer folgendes bei vzlogger -f:<br>
    <font face="Courier New, Courier, monospace">...<br>
      [Sep 26 22:05:00][mtr1] Meter connection established<br>
      [Sep 26 22:05:00][mtr1] Meter thread started<br>
      [Sep 26 22:05:00][mtr1] meter is opened. Start channels.<br>
      [Sep 26 22:05:00][http] Starting local interface HTTPd on port
      8080<br>
      [Sep 26 22:05:00][]     Startup done.<br>
      [Sep 26 22:05:00][mtr1] Number of readers: 32<br>
      [Sep 26 22:05:00][mtr1] Config.daemon: 1<br>
      [Sep 26 22:05:00][mtr1] Config.local: 1<br>
      [Sep 26 22:05:00][d0]   sending pullsequenz send (len:22 is:22).<br>
      [Sep 26 22:05:00][d0]   Something unexpected happened: read:336!<br>
      [Sep 26 22:05:00][mtr1] Got 0 new readings from meter:<br>
      [Sep 26 22:05:00][mtr1] Next reading in 5 seconds<br>
      <br>
    </font>Im Beitrag
<a class="moz-txt-link-freetext" href="http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/itron_ace3000_type_260">http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/itron_ace3000_type_260</a><br>
    habe ich das Shellscript gefunden und gekürzt: <br>
    <pre class="code">#!/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
</pre>
    Damit kommt zumindest schon eine Antwort:<br>
    /<font face="Courier New, Courier, monospace">?!<br>
      <br>
      /LGZ52ZMD120APt.G03</font><br>
    <br>
    Erst mit einer weiteren Sequenz  liefert der Zähler seine Daten ab:<br>
    <font face="Courier New, Courier, monospace">( sleep 1 ; echo -e
      "\x2F\x3F\x21\x0D\x0A\x00\x00\x00\x00\x00\x00\x00\x06\x30\x30\x30\x0D\x0A"
      > /dev/ttyAMA0 ) & #</font> <font face="Courier New,
      Courier, monospace">bedeutet:/?! CR LF NUL NUL NUL NUL NUL NUL ACK
      0 0 0 CR LF <br>
      #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 <br>
      <br>
      while read -t8 line      <br>
      do                       <br>
        echo $line<br>
      done < /dev/ttyAMA0<br>
    </font><br>
    Jetzt erhalte ich die Zählerwerte:<br>
    <font face="Courier New, Courier, monospace">/?!<br>
      <br>
      /LGZ52ZMD120APt.G03<br>
      F.F(00000000)<br>
      0.0.0( 26781!<br>
      2.8.1(013723.9*kWh)<br>
      2.8.2(000000.0*kWh)<br>
      1.8.0(010098.3*kWh)<br>
      2.8.0(013723.9*kWh)<br>
      !</font><br>
    <br>
    <b>1. Was initialisiert stty im Gegensatz zum vzlogger anders? Wenn
      das geklärt ist, sollte zumindest kein Fehler 336 mehr kommen.</b><b><br>
    </b><b>2. Könnte man einen weiteren Parameter, der nach der
      pullsequenz eine zweite Sequenz (acksequenz) sendet, einbauen?</b><b><br>
    </b><br>
    Viele Grüße<br>
    <br>
    Karlheinz<br>
  </body>
</html>