<html>
  <head>
    <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    Hallo,<br>
    ich hatte damals das gleiche Problem und habe es auf die brutale Art
    gelöst.<br>
    "Illegale" Zeichen werden unterdrückt, bevor der OBIS Parser dadurch
    abstürzen kann.<br>
    Wir müssen den STX (0x02) ausblenden. (ordentlicher wäre auf den STX
    zu warten, aber davon haben wir nix. Und wenn der STX richtig
    ausgewertet wird, dann müßten wir konsequenterweise das Telgramm bis
    zum Ende auswerten, damit wir Fehler erkennen)<br>
    Ich hatte auch ein Problem mit "*" vor der Einheit. Da die Einheit
    auch nicht wirklich verwendet wird kann man auch bei dem "*" schon
    Schluss machen)<br>
    <br>
    Nachstehende Modifikation sollte die Probleme auch für Deinen Fall
    lösen.<br>
                    case OBIS_CODE:<br>
                      <b>  if ((byte != '\n') && (byte !=
      '\r')&& (byte != 0x02)</b><b><b>&& (byte != 0x1F)</b>)//
      STX und US ausklammern </b><br>
                        {<br>
                            if (byte == '(') {<br>
                                obis_code[byte_iterator] = '\0';<br>
                                byte_iterator = 0;<br>
    <br>
                                context = VALUE;<br>
                            }<br>
                            else obis_code[byte_iterator++] = byte;<br>
                        }<br>
                        break;<br>
    <br>
                    case VALUE:<br>
                       <b> </b><b>if (byte == '*' </b><b>|| byte ==
      ')') {</b><br>
                            value[byte_iterator] = '\0';<br>
                            byte_iterator = 0;<br>
    <br>
                            if (byte == ')') {<br>
                                unit[0] = '\0';<br>
                                context =  END_LINE;<br>
                            }<br>
                            else {<br>
                                context = UNIT;<br>
                            }<br>
                        }<br>
                        else value[byte_iterator++] = byte;<br>
                        break;<br>
    <br>
    Gruß<br>
        Reinhard<br>
    <br>
    <div class="moz-cite-prefix">Am 23.04.2014 23:48, schrieb Karlheinz:<br>
    </div>
    <blockquote cite="mid:53583524.2060005@gmx.de" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      <div id="smartTemplate4-template">Hallo Stefan,<br>
        <br>
        es gibt einige Beiträge mit diesem D0-Problem. Shell-Scripts
        gibts es auch schon im Wiki. Besser wäre es wenn vzlogger das
        von Haus aus unterstützt. <br>
        Aber ohne Debug-Unterstützung komme ich leider nicht weiter. <br>
        Wie erzeuge ich eine debug-fähige vzlogger version, die ich mit
        ddd debuggen kann? <br>
        Vielleicht verirrt sich mal ein Programmierer in den <a
          moz-do-not-send="true"
          href="http://webchat.freenode.net/?channels=volkszaehler.org">Chat

        </a>und leistet etwas Entwicklungshilfe :-)<br>
        <br>
        Gruß<br>
        Karlheinz<br>
        <br>
        ------- Original Nachricht --------<br>
        Betreff: Re: [vz-users] vzlogger MeterD0 mit L&G<br>
        Von: Stefan Klammer <a moz-do-not-send="true"
          class="moz-txt-link-rfc2396E"
          href="mailto:klammerstefan85@gmail.com"><klammerstefan85@gmail.com></a><br>
        An: volkszaehler.org - users <a moz-do-not-send="true"
          class="moz-txt-link-rfc2396E"
          href="mailto:volkszaehler-users@demo.volkszaehler.org"><volkszaehler-users@demo.volkszaehler.org></a><br>
        Datum: Mittwoch, 23. April 2014 08:26:47<font size="-1"> </font></div>
      <br>
      <blockquote
cite="mid:CAEVPwhvcfgB=-xJqPuuHOKGiX54b3rG+kZHSzJHecBOgfOgaAQ@mail.gmail.com"
        type="cite">
        <div dir="ltr">Hallo Karlheinz,
          <div><br>
          </div>
          <div>ich habe ein ähnliches Problem mit meinem (Landis &
            Gyr ZMD120AR), dieser sendet am Schluss der Übertragung ein
            Zeichen das dem vzlogger bzw. d0 Parser nicht passt und der
            logger somit aussteigt. Ich wollte denn D0 Parser auch schon
            anpassen das er wirklich nur die geforderten OBIS Codes
            ausliest (z.B.: 1.8.1) und alles andere was er nicht kennt
            einfach ignoriert. Leider bin ich bis jetzt nicht
            dazugekommen. Vielleicht kannst du das mal ausprobieren wäre
            super wenn da endlich mal was Zustande kommt.</div>
          <div class="gmail_extra"><br>
          </div>
          <div class="gmail_extra">Vielleicht schaust du dir das hier
            mal an: <a moz-do-not-send="true"
href="http://www.mail-archive.com/volkszaehler-dev%40lists.volkszaehler.org/msg02150.html">http://www.mail-archive.com/volkszaehler-dev%40lists.volkszaehler.org/msg02150.html</a></div>
          <div class="gmail_extra">Hört sich nach einem ähnlichen
            Problem an.<br>
          </div>
          <div class="gmail_extra"><br>
          </div>
          <div class="gmail_extra">Oder hier: <a moz-do-not-send="true"
href="http://www.mail-archive.com/volkszaehler-dev%40lists.volkszaehler.org/msg01732.html">http://www.mail-archive.com/volkszaehler-dev%40lists.volkszaehler.org/msg01732.html</a></div>
          <div class="gmail_extra">Da kannst du meine Ausgaben vom
            Zähler sehen.</div>
          <div class="gmail_extra"><br>
          </div>
          <div class="gmail_extra">Hoffe du kriegst noch was raus. Wäre
            schön zu hören wenns klappt.</div>
          <div class="gmail_extra"> <br>
          </div>
          <div class="gmail_extra"><span
              style="font-family:arial,sans-serif">Gruß </span>Stefan</div>
          <div class="gmail_extra"><br>
            <div class="gmail_quote">Am 18. April 2014 17:17 schrieb
              Karlheinz <span dir="ltr"><<a moz-do-not-send="true"
                  href="mailto:karlheinz.es@gmx.de" target="_blank">karlheinz.es@gmx.de</a>></span>:<br>
              <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
                <div text="#000000" bgcolor="#FFFFFF"> <font size="-1">Hallo

                    Leute,<br>
                    <br>
                    seit Tagen versuche ich den vzlogger (MeterD0.cpp)
                    auch für meinen Stromzähler (Landys & Gir ZMD120
                    ...) anzupassen. Über die ersten Stolpersteine bin
                    ich mittlerweile drüber, aber nun steigt das
                    Programm bei der while Schleife "while (::read(_fd,
                    &byte, 1)) { "  beim Zeichen 0x1F immer aus.
                    Wenn ich das richtig sehe wird das Zeichen 0x1F und
                    dann 0x02 gesendet, bevor es bei F.F usw. weiter
                    geht.<br>
                    <br>
                    /LGZ52ZMD120APt.G03<br>
                    ..F.F(00000000)<br>
                    0.0.0( 26700)<br>
                    1.8.1(012334.7*kWh)<br>
                    ...<br>
                    <br>
                    Hat jemand eine Idee?<br>
                    <br>
                    Gruß<span class=""><font color="#888888"><br>
                        Karlheinz<br>
                      </font></span></font> </div>
              </blockquote>
            </div>
            <br>
          </div>
        </div>
      </blockquote>
      <br>
    </blockquote>
    <br>
  </body>
</html>