<div dir="ltr"><div><div><div>Danke.<br><br></div>Hier nochmal eine ähnliche
Konfiguration mit etwas geringerem baudrate_change_delay-Wert und
angehängt als ZIP-Datei die zugehörige d0-Dump-Datei mit vzlogger-Log zur besseren
Analyse.<br><br>Mich wundert, dass diese Kombination überhaupt
funktioniert, denn nach meinem Verständnis ist "wait_sync": "end" für
Zähler gedacht, die ohne Aufforderung senden.<br><br>Mein Zähler gibt
auf jede vzlogger-Eingabe erstmal wie ein Echo die gleiche Sequenz
zurück. Damit kann anscheinend vzlogger nicht richtig umgehen. Im Log
ist zu erkennen, dass am Telegrammanfang das Zählerecho als falscher
OBIS-Code identifiziert wird. Es folgen dann aber genügend erkannte
OBIS-Codes.<span class="im"><br><br>{<br> "retry": 0,<br> "daemon": true,<br> "verbosity": 15,<br></span> "log": "/var/log/vz207.txt",<div><div class="im"> "local": {<br> "enabled": true,<br> "port": 8080,<br> "index": true,<br> "timeout": 0,<br> "buffer": 600<br> },<br> // Meter configuration<br> "meters": [<br> {<br> // D0 meter (Strom)<br> "enabled": true,<br> "allowskip": false,<br> "aggtime": -1,<br> "aggfixedinterval": false,<br> "channels": [<br> {<br> "uuid": "180a",<br> "identifier": "1.8.1",<br> "api": "null",<br> "aggmode": "none",<br> "duplicates": 0<br> }<br> ],<br> "protocol": "d0",<br> "device": "/dev/ttyUSB0",<br> "pullseq": "2F3F343230383138210D0A",<br> "ackseq": "063034300D0A",<br> "baudrate": 300,<br> "baudrate_read": 4800,<br> "parity": "7e1",<br> "wait_sync": "end",<br></div></div> "read_timeout": 10,<br> "dump_file": "/var/log/d0-207.txt",<br> "baudrate_change_delay": 440<br> }<br> ]<br>}<br><br></div>Viele Grüße<br></div><div>Winfried<br></div><div><div class=""><div id=":qk" class="" tabindex="0"><br><span class=""></span></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 24. Januar 2016 um 06: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">Ich schaue mir das noch mal in Ruhe an, schaffe ich aber erst nächsten Sonntag.<div><br><div><blockquote type="cite"><div><div class="h5"><div>Am 22.01.2016 um 18:41 schrieb Winfried Peters <<a href="mailto:winfried.peters@gmail.com" target="_blank">winfried.peters@gmail.com</a>>:</div><br></div></div><div><div><div class="h5"><div dir="ltr"><div><div><div><div><div><div><div><div><div>Hallo,<br><br></div>es gelingt mir nicht meinen Drehstromzähler dauerhaft auf eine höhere Baudrate umzustellen.<br><br></div></div>Es handelt sich um ein EMH-ITZ Gerät.Folgende Informationen habe ich auf Anfrage vom zuständigen Stromnetzbetreiber bekommen:<br></div><ul><li>Die Infrarotschnittstelle kommuniziert über das Schnittstellenprotokoll IEC1107</li><li>Die Schnittstelle muss über eine Initialisierungssequenz mit Passwort aktiviert werden. Das Passwort ist die Eigentumsnummer<br></li><li>Zu Anfang erwartet der Zähler Kommunikation mit 300 baud, 7 Datenbits, 1 Stopbit, Parität even.</li><li>Jeder Befehl muss mit CR&LF abgeschlossen werden.</li><li>Wenn die Kommunikation läuft, kann man auf höhere Datenraten umstellen.</li><li>Der Zähler antwortet sofort mit /AAAB\@nnnnnnnnnnnnnn</li><ul><li>wobei:AAA = „EMH“</li><li>B gibt die maximale Baudrate an (4 = 4800 Bd)</li><li>„\@“ bedeutet, dass der Zähler R5, W5 und R6-Befehle unterstützt</li><li>nnnnnnnnnnnnnn bezeichnet die 14-stellige Geräte-ID.</li></ul><li>Wenn innerhalb von 1,5s keine weiteren Befehle gesendet werden, gibt der Zähler die aktuellen Messwerte aus und meldet sich ab</li></ul></div>Mit den vzlogger-Parametern<br><ul><li>Initialisierung: "pullseq": "2F3F343230383138210D0A"</li><li>Aufforderung Baudratenwechsel 4800 Bd: "ackseq": "063034300D0A"</li><li>"baudrate": 300 und "baudrate_read": 4800</li></ul></div>sollte sich im Prinzip die Kommunikation einstellen lassen.<br><br></div>Nach Permutation von verschiedenen Parametern konnte ich mit "baudrate_change_delay": 500 und "wait_sync": "end" das bisher beste Ergebnis erzielen: Das 1. Zählertelegramm wird in umgestellter Baudrate ausgegeben, die nachfolgenden Telegramme allerdings wieder nur in 300 Bd.<br><br></div>Das sieht im d0-Dump (die komplette Datei d0-169.txt im Anhang) dann so aus:<br><br>--------------------------------------- Anfang d0-dump-------------------------------<br>##### 50.158888503s ( 0 ms) opened<br>##### 50.171490960s ( 13 ms) read<br>##### 50.171546136s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 50.671836289s ( 500 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br><br>>>>>> 50.705414525s ( 34 ms)<br>2f 3f 34 32 30 38 31 38 21 0a 0a 2f 45 4d 48 34 /?420818! /EMH4<br>5c 40 2d 2d 49 54 5a 2d 47 30 30 33 38 45 0a 0a \@--ITZ-G0038E<br><br><<<<< 52.585570689s ( 1880 ms)<br>06 30 34 30 0d 0a 040<br><br>##### 53.087406779s ( 502 ms) usleep cfsetispeed<br>>>>>> 53.087504791s ( 0 ms)<br>06 30 34 30 0a 0a 02 46 2e 46 28 30 30 30 30 30 040 F.F(00000 <span style="color:rgb(255,0,0)">1. Zählertelegramm</span><br>30 30 30 29 0a 0a 30 2e 30 2e 30 28 30 30 34 32 000) 0.0.0(0042<br>30 38 31 38 29 0a 0a 30 2e 30 2e 31 28 30 32 32 0818) 0.0.1(022<br>35 36 32 33 30 29 0a 0a 30 2e 31 2e 30 28 36 35 56230) 0.1.0(65<br>....<br>....<br>2a 56 29 0a 0a 35 32 2e 32 35 28 32 33 31 2e 30 *V) 52.25(231.0<br>2a 56 29 0a 0a 37 32 2e 32 35 28 32 33 30 2e 33 *V) 72.25(230.3<br>2a 56 29 0a 0a 21 *V) !<br><br>##### 59.602715084s ( <span style="color:rgb(255,0,0)">6515 ms</span>) read<br>##### 59.602767305s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 60.103714342s ( 501 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br><br>>>>>> 60.134602742s ( 31 ms)<br>2f 3f 34 32 30 38 31 38 21 /?420818!<br><br>##### 60.403894575s ( 269 ms) read<br>##### 60.403946531s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 60.904221804s ( 501 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br>>>>>> 60.904947849s ( 0 ms)<br>0a 0a 2f 3f 34 32 30 38 31 28 21 /?42081(!<br><br>##### 61.205930809s ( 301 ms) read<br>##### 61.205983535s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 61.706251638s ( 501 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br><br>>>>>> 61.706938172s ( 0 ms)<br>00 02 63 05 2d 2d 49 54 5a 2d 47 30 30 33 38 05 c --ITZ-G0038 <span style="color:rgb(255,0,0)">2. Zählertelegramm</span><br>05 02 36 42 0b 43 0b 6a 0a 02 46 2e 46 28 30 30 6B C j F.F(00<br>30 30 30 30 30 30 29 0a 0a 30 2e 30 2e 30 28 30 000000) 0.0.0(0<br>....<br>....<br>30 2e 37 2a 56 29 0a 0a 37 32 2e 32 35 28 32 32 0.7*V) 72.25(22<br>39 2e 39 2a 56 29 0a 0a 21 9.9*V) !<br><br>##### 52.591701715s ( <span style="color:rgb(255,0,0)">90885 ms</span>) read<br>##### 52.591754756s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 53.092015394s ( 501 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br><br>>>>>> 53.092768889s ( 0 ms)<br>0a 0a 03 6e 2f 3f 34 32 30 38 31 38 21 n/?420818!<br><br>##### 53.391805484s ( 299 ms) read<br>##### 53.391857725s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 53.892111733s ( 501 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br><br>>>>>> 53.892736371s ( 0 ms)<br>0a 0a 2f 3f 34 32 30 38 31 20 21 /?42081 !<br><br>##### 54.194921780s ( 302 ms) read<br>##### 54.194977016s ( 0 ms) TCIOFLUSH and cfsetiospeed<br><<<<< 54.695234624s ( 501 ms)<br>2f 3f 34 32 30 38 31 38 21 0d 0a /?420818!<br><br>>>>>> 54.695868362s ( 0 ms)<br>01 00 63 05 2d 2d 49 54 5a 2d 47 30 30 33 38 41 c --ITZ-G0038A<br>0a 02 36 42 0b 43 0b 6a 0a 02 46 2e 46 28 30 30 6B C j F.F(00<br></div>--------------------------------------- Ende d0-dump-------------------------------<br><div><br></div><div>Hier die vollständige vzlogger.conf:<br>{<br> "retry": 0,<br> "daemon": true,<br> "verbosity": 15,<br> "log": "/var/log/vztest.log",<br> "local": {<br> "enabled": true,<br> "port": 8080,<br> "index": true,<br> "timeout": 0,<br> "buffer": 600<br> },<br> // Meter configuration<br> "meters": [<br> {<br> // D0 meter (Strom)<br> "enabled": true,<br> "allowskip": false,<br> "aggtime": -1,<br> "aggfixedinterval": false,<br> "channels": [<br> {<br> "uuid": "180a",<br> "identifier": "1.8.1",<br> "api": "null",<br> "aggmode": "none",<br> "duplicates": 0<br> }<br> ],<br> "protocol": "d0",<br> "device": "/dev/ttyUSB0",<br> "pullseq": "2F3F343230383138210D0A",<br> "ackseq": "063034300D0A",<br> "baudrate": 300,<br> "baudrate_read": 4800,<br> "parity": "7e1",<br> "wait_sync": "end",<br> "read_timeout": 100,<br> "dump_file": "/var/log/d0-169.txt",<br> "baudrate_change_delay": 500<br> }<br> ]<br>}<br><br></div><div>Das Timing in der Kommunikation stimmt noch nicht. Ich hoffe mir kann jemand weiterhelfen.<br><br></div><div>Viele Grüße<br></div><div>Winfried<br></div></div>
</div></div><span><d0-169.txt></span></div></blockquote></div><br><div>
<span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;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>