<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head><body ><div>Wieviel von der Zählerantwort ist denn angekommen?</div><div>=-O sagt mir nichts.</div><div>Mir hat geholfen unmittelbar vor der Obis code auswertung noch so eine print anweisung zusetzen.(wenn denn die codeauswertung abstürzt. Dann siehst du wofür.)</div><div>Musst du für den Zähler ein Acknowledge senden, damit er antwortet? Sah in Deinem ersten Beispiel ja eingentlich so aus, als hätte er schon mehr als cr lf gesendet.</div><div><br></div><div><br></div><div><br></div><div><div style="font-size:75%;color:#575757">Mfg. Reinhard Wilzeck</div></div><br><br><br>-------- Ursprüngliche Nachricht --------<br>Von: Karlheinz <karlheinz.es@gmx.de> <br>Datum: 25.04.2014  12:15  (GMT+01:00) <br>An: volkszaehler-dev@demo.volkszaehler.org <br>Betreff: Re: [vz-dev] [vz-users] vzlogger MeterD0 mit L&G <br> <br><br>
    <div id="smartTemplate4-template">Hallo Reinhard,<br>
      <br>
      Danke für den Hinweis.<br>
      Bei mir bricht vzlogger schon früher ab. Ich habe eine
      print-Anweisung nach "case OBIS_CODE:" drin, die nach dem CRLF
      nicht mehr durchlaufen wird. <br>
      <tt>case OBIS_CODE:</tt><tt><br>
      </tt><tt>    </tt><tt>print(log_debug, "DEBUG OBIS_CODE byte hex=
        %X ",name().c_str(), byte);</tt><br>
      <br>
      <span class="moz-smiley-s8"><span> =-O  ssl</span></span> ratlos!
      Hast du einen Tipp für Anfänger wie ich das debuggen kann?<br>
      <br>
      Dein Problem mit '*' war schon im MeterD0 drin.<br>
      <br>
      Gruß<br>
      Karlheinz<br>
      <br>
      ------- Original Nachricht --------<br>
      Betreff: Re: [vz-dev] [vz-users] vzlogger MeterD0 mit L&G<br>
      Von: Reinhard Wilzeck <a class="moz-txt-link-rfc2396E" href="mailto:reinhard@wilzeck.de"><reinhard@wilzeck.de></a><br>
      An: volkszaehler.org
      <a class="moz-txt-link-rfc2396E" href="mailto:volkszaehler-dev@demo.volkszaehler.org"><volkszaehler-dev@demo.volkszaehler.org></a><br>
      Datum: Donnerstag, 24. April 2014 22:28:45<font size="-1"> </font></div>
    <br>
    <blockquote cite="mid:535973FD.7030008@wilzeck.de" type="cite">
      <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
      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>
    </blockquote>
    <br>
  

</body>