<div dir="ltr"><div><div><div>Bingo. Es funktioniert. Das Wochenende ist gerettet.<br><br></div>Nach einer kleinen Testreihe habe ich eine Kombination gefunden, mit der mein Zähler identifiziert und das komplette Telegramm gelesen wird. Das Log sieht auch gleich ganz anders aus.<br><br></div>Aber von vorne:<br></div>Mein Zähler benötigt ein Passwort (meine Eigentumsnummer), damit er antwortet. Das ist die Initialsequenz /?420818!<div><br></div><div>Meine Testreihe:<br><ul><li>Test 44: ackseq: auto ; baudrate_change_delay 100:<br>Ergebnis: keine Zählerantwort bzw. eine Zeile</li><li>Test 45: Parameter wie 44, aber mit read_timeout 10:<br>Ergebnis wie 44</li><li>Test 46: Parameter wie 45, aber mit "baudrate": 300:<br>Ergebnis: Telegrammfragment bis timeout nach 10s<br></li><li>Test 47:Parameter wie 46, aber mit "ackseq": "063034300d0a":<br>Ergebnis: wie 46</li><li>Test 48:Parameter wie 46, aber mit read_timeout 100<br>Ergebnis: vollständiges Zählertelegramm und Ausgabe des gewünschten Wertes in der httpd-api!!!!</li></ul><p>Wie im Dump d0-48.txt zu sehen, wird das Zählertelegramm von Anfang bis Ende gelesen. Dazu sind ca 92s nötig. Deshalb musste der read_timeout wieder auf 100 hochgesetzt werden. Hier verstehe ich auch nicht die Beschreibung des Parameters: optional, default 10s. Timeout value in secs between single bytes received from device. Irgendwie scheint der Parameter das komplette Telegramm als Single Byte zu behandeln.<br></p><p>Das bedeutet aber auch, dass das Handshaking der angeforderte baudrate 4800 nicht funktioniert, denn dann müsste das Telegramm schneller gelesen werden.<br></p>Wünschenswert wäre eine Musterkonfiguration eines D0-Zählers mit Passwortinitialisierung und Baudratenwechsel, ohne überflüssige Parameter. Z.B. habe ich noch "wait_sync": "off" drin, wobei ich keine Ahnung habe, was der Parameter steuert. Mir ist auch nicht klar, ob ich "baudrate_read": 4800 setzen muss, wenn ich den Zähler auffordere, in dieser Baudrate zu senden ("ackseq": "063034300d0a"). Das werde ich als nächstes ausprobieren. Leider sind die vzlogger-Parameter, wenn überhaupt, schlecht dokumentiert. So bleibt nur Trial & Error.<br></div><div><br>Im Anhang Log und Dump zu Testfall 48.<br><br></div><div>Viele Grüße<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 16. Januar 2016 um 15:47 schrieb Matthias Behr <span dir="ltr"><<a href="mailto:mbehr@mcbehr.de" target="_blank">mbehr@mcbehr.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">/EMH4\@--ITZ-G0038E<div><br></div><div>die 4 steht für 4800 Baud. </div><div><br></div><div>Ich frage mich, ob du Reflexionen am Lesekopf hast:</div><div><div> /?420818! </div><div><br></div><div>>>>>> 54.417798573s ( 33 ms) </div><div>2f 3f 34 32 30 38 31 38 21 /?420818!</div></div><div><br></div><div>da kommt genau die Anforderungsseq zurück.</div><div><br></div><div>Kannst du mal ackseq:auto machen und baudrate_change_delay:100 und mir Dump schicken?</div><div><br></div><div>(Falls du mir Zugriff per ssh geben kannst, könnte ich auch mal direkt drauf schauen.)</div><div><br></div><div><br></div><div><br></div><div><div><div class="h5"><div><blockquote type="cite"><div>Am 16.01.2016 um 14:56 schrieb Winfried Peters <<a href="mailto:winfried.peters@gmail.com" target="_blank">winfried.peters@gmail.com</a>>:</div><br><div><div dir="ltr"><div><div><div>Deine Hinweise sind interessant. Ich habe schon mehrere Dutzend Parametervarianten erfolglos durchdekliniert. Da waren auch kleinere baudrate_change_delay dabei als auch ackseq-Sequenzen von 300 bis 9600 Baud. Ich hatte z.B. schon mal mit "ackseq": "063034300d0a“ und "baudrate_read": 4800 oder "ackseq": "auto“ erfolglos experimentiert.<br><br></div>read_timeout ist deshalb so groß, weil ein kompletter Lesezyklus des übermittelten Zählertelegramms ca. 90 Sekunden (mit Baud 300) benötigt. Bei kleineren Werten erfolgte immer ein Timeout.<br><br></div>Wahrscheinlicht liegt das Geheimnis ja in der richtigen Parameterkombination. Laut Auskunft meines Stromnetzbetreibers ist der Zähler mit 2400 oder 4800 Baud auszulesen. Das habe ich aber weder mit HTerm als auch mit verschiedenen vzlogger-Parameterkombinationen hinbekommen. Nur 300 Baud hat funktioniert.<br></div><br><div>Aber vielleicht hat ja bei meinen Versuchen immer der "read_timeout 100" im Weg gestanden. Ich werde weiter testen. Inzwischen habe ich dazu das Issue #233 aufgemacht.<br><br></div><div>Woran erkennst Du, dass mein Zähler mit 4800 Baud kommunizieren will?<br><br></div><div>Viele Grüße<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 16. Januar 2016 um 14:07 schrieb Matthias Behr <span dir="ltr"><<a href="mailto:mbehr@mcbehr.de" target="_blank">mbehr@mcbehr.de</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Hast du mal <div>baudrate_change_delay</div><div><br></div><div>kleiner gemacht?</div><div><br></div><div>Und mal „ackseq“: „auto“ probiert? (Bist du sicher, dass der Logger kein ACKSEQ braucht? Er meldet, dass er eigentlich mit Baudrate 4800 arbeiten will. Normalerweise erfolgt nach der Pullseq mit 300 Baud eine Baudraten Umschaltung.</div><div><br></div><div>Und mach mal „read_timeout“ kleiner. Das 100 ist eher störend.d</div><div><div><div><br><div><blockquote type="cite"><div>Am 16.01.2016 um 13:42 schrieb Winfried Peters <<a href="mailto:winfried.peters@gmail.com" target="_blank">winfried.peters@gmail.com</a>>:</div><br><div><div dir="ltr"><div><div>Hallo,<br><br><span>"vzlogger.conf.conf" war ein Sc</span>hreibfehler. Grundsätzlich habe ich mit dem Aufruf "vzlogger -c /etc/vzlogger.conf -l" keine Probleme. HTTPd wird damit gestartet.<br><br></div><div>@Andreas: Ich werde ein Issue aufmachen.<br></div><div><br></div>Viele Grüße<br></div>Winfried<br></div><div class="gmail_extra"><br><div class="gmail_quote">Am 16. Januar 2016 um 11:16 schrieb Udo1 <span dir="ltr"><<a href="mailto:udo1@gmx.net" target="_blank">udo1@gmx.net</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>Am 16.01.2016 um 10:06 schrieb Winfried Peters:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
[Jan 16 09:48:17][main] vzlogger v0.5.1 based on heads/master-0-g11364f0d0d-dirty from Sat, 22 Aug 2015 09:23:50 -0700 started.<br>
</blockquote></span>
Zur Klarstellung. Es handelt sich hierbei um einen YPORT+ auf OpenWrt-Basis. vzlogger ist die aktuelle Version. Die Meldung ist falsch:<span><br>
based on heads/master-0-g11364f0d0d-dirty from Sat, 22 Aug 2015 09:23:50 -0700<br>
<br>
</span><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
root@OpenWrt:/etc# vzlogger -c vzlogger.conf.conf -l<br>
</blockquote></span>
Der Aufruf ist mir immer noch suspekt. Kann man vzlogger so aufrufen?<br>
<br>
Gruß<br>
Udo<br>
</blockquote></div><br></div>
</div></blockquote></div><br></div></div><div>
<span style="border-collapse:separate;line-height:normal;border-spacing:0px"><div style="word-wrap:break-word"><div>Gruß</div><span><font color="#888888"><div><br></div><div>Matthias</div></font></span></div></span>
</div>
<br></div></div></blockquote></div><br></div>
</div></blockquote></div><br></div></div><div>
<span style="border-collapse:separate;line-height:normal;border-spacing:0px"><div style="word-wrap:break-word"><div>Gruß</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Matthias</div></font></span></div></span>
</div>
<br></div></div></blockquote></div><br></div>