<p dir="ltr">Hallo,</p>
<p dir="ltr">nur mal ins Blaue geraten: könnte es sein, dass man den Zähler erst per PIN vom Netzbetreiber freischalten muss, damit er seine Daten rausrückt?</p>
<p dir="ltr">Grüße<br>
Frank</p>
<div class="gmail_quote">Am 06.11.2016 21:09 schrieb <<a href="mailto:m.guetlein@gmx.de">m.guetlein@gmx.de</a>>:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:41 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
versuch mal unterschiedliche Werte für baudrate_change_delay (200, 300, 400)<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:40 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
<br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:33 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
mach mal<br>
daemon: true<br>
baudrate_change_delay auf 100ms<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:31 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
<br>
<br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:28 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
schick mal deine Config<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:27 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
<br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 20:09 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
und beim nächsten Read? was passiert wenn du vzlogger laufen lässt? antwortet der Zähler noch mal oder bleibt er stumm?<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 18:15 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 17:54 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Schickst mal ein „dump_file“?<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 17:52 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
<br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 17:41 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Versuch mal ackseq: auto<br>
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 17:39 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 15:44 schrieb Matthias Behr:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Wie sprichst du den Zähler denn an? vzlogger?<br>
<br>
Welche Baudrate nutzt du?<br>
<br>
Falls vzlogger kannst du mal ein „dump_file“ erstellen und schicken?<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Am <a href="tel:06.11.2016" value="+496112016" target="_blank">06.11.2016</a> um 12:05 schrieb <a href="mailto:m.guetlein@gmx.de" target="_blank">m.guetlein@gmx.de</a>:<br>
<br>
Hallo zusammen,<br>
ich wurde in folgendem Thread an diese Mailingliste verwiesen: <a href="http://www.photovoltaikforum.com/volkszaehler-org-f131/schell-ezz1-t114836.html" rel="noreferrer" target="_blank">http://www.photovoltaikforum.c<wbr>om/volkszaehler-org-f131/schel<wbr>l-ezz1-t114836.html</a><br>
<br>
Mein Problem besteht darin, dass ich die Zählerstände eines "Schell EZZ1/Köhler AEL.MF.07" (Schell ist wohl der deutsche Vermarkter des AEL.MF.07) Stromzählers über die D0-Schnittstelle auslesen möchte. Dieser sendet keine periodischen Statusinfos aus.<br>
Grundsätzlich funktioniert die Kommunikation, wenn ich sie anstoße:<br>
<== "2F 3F 21 0D 0A"<br>
==> "/AEL4<1>AEL.MF.07<\r><\n>"<br>
<== "06 30 30 30 0D 0A"<br>
Ende<br>
<br>
Für den Programmiermodus:<br>
<== "2F 3F 21 0D 0A"<br>
==> "/AEL4<1>AEL.MF.07<\r><\n>"<br>
<== "06 30 30 __31__ 0D 0A"<br>
==> "06"<br>
Ende und keine Reaktion auf Befehle wie unter <a href="http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/elster_as1440" rel="noreferrer" target="_blank">http://wiki.volkszaehler.org/h<wbr>ardware/channels/meters/power/<wbr>edl-ehz/elster_as1440</a> genannt.<br>
<br>
Nach dieser Initialisierungssequenz ist also Schluss und ich erhalte keine Informationen über den Stromverbrauch. Kennt jemand diesen Zähler und kann mir weiterhelfen? Ich habe mich auch schon an den Hersteller gewandt, allerdings noch keine Antwort erhalten.<br>
<br>
Mit freundlichen Grüßen<br>
Max<br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
Direkt im Terminal mit 'echo "xyz" > /dev/ttyUSB0' und 'cat /dev/ttyUSB0' in einem anderen Terminal. Ich kommuniziere mit einer Baudrate von 300.<br>
<br>
Testweise habe ich es einmal mit vzlogger versucht. Einmal mit einer ACK-Sequence für 300 ("ackseq": "063030300D0A") und einmal für 4800 ("ackseq": "063034300D0A") Baud:<br>
<br>
Nov 06 17:35:42][mtr0] Creating new meter with protocol d0.<br>
[Nov 06 17:35:42][d0] pullseq len:5 found<br>
[Nov 06 17:35:42][d0] ackseq len:6 found 000<br>
, 6<br>
[Nov 06 17:35:42][mtr0] Meter configured, enabled.<br>
[Nov 06 17:35:42] New meter initialized (protocol=d0)<br>
[Nov 06 17:35:42] Have 1 meters.<br>
[Nov 06 17:35:42][main] log level is 15<br>
[Nov 06 17:35:42][main] daemon=0, local=0<br>
[Nov 06 17:35:42] Process not daemonized...<br>
[Nov 06 17:35:42] Opened logfile /var/log/vzlogger.log<br>
[Nov 06 17:35:42][push] pushdata_thread created.<br>
[Nov 06 17:35:42][push] Start push_data_thread<br>
[Nov 06 17:35:42][] ===> Start meters<br>
[Nov 06 17:35:42][mtr0] Meter connection established<br>
[Nov 06 17:35:42][mtr0] Meter thread started<br>
[Nov 06 17:35:42][mtr0] Meter is opened. Starting channels.<br>
[Nov 06 17:35:42][] Startup done.<br>
[Nov 06 17:35:42][mtr0] Number of readers: 400<br>
[Nov 06 17:35:42][mtr0] Config.daemon: 0<br>
[Nov 06 17:35:42][mtr0] Config.local: 0<br>
[Nov 06 17:35:42][d0] sending pullsequenz send (len:5 is:5).<br>
[Nov 06 17:35:43][d0] Pull answer (vendor=AEL, baudrate=4, identification=<1>AEL.MF.07)<br>
[Nov 06 17:35:43][d0] Sending ack sequence send (len:6 is:6, 000<br>
).<br>
[Nov 06 17:35:47][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:35:52][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:35:54][d0] nothing received for more than 10 seconds<br>
[Nov 06 17:35:54][d0] read timed out!, context: 6, bytes read: 0, last byte 0xa<br>
[Nov 06 17:35:54][mtr0] Got 0 new readings from meter:<br>
[Nov 06 17:35:54][mtr0] Next reading in 3 seconds<br>
[Nov 06 17:35:57][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:35:57][mtr0] Stopped reading.<br>
[Nov 06 17:35:57][] Server stopped.<br>
[Nov 06 17:35:57][] Waiting for pushdata_thread to stop...<br>
[Nov 06 17:36:02][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:36:02][push] Stopped push_data_thread<br>
[Nov 06 17:36:02][] pushdata_thread stopped<br>
[Nov 06 17:36:02][] deleted pushdataList<br>
[Nov 06 17:36:02][] Trying to delete curlSessionProvider...<br>
[Nov 06 17:36:02][] deleted curlSessionProvider<br>
<br>
Grüße<br>
Max<br>
<br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
Immernoch das selbe Ergebnis:<br>
<br>
[Nov 06 17:48:18][mtr0] Creating new meter with protocol d0.<br>
[Nov 06 17:48:18][d0] pullseq len:5 found<br>
[Nov 06 17:48:18][d0] using autoack<br>
[Nov 06 17:48:18][mtr0] Meter configured, enabled.<br>
[Nov 06 17:48:18] New meter initialized (protocol=d0)<br>
[Nov 06 17:48:18] Have 1 meters.<br>
[Nov 06 17:48:18][main] log level is 15<br>
[Nov 06 17:48:18][main] daemon=0, local=0<br>
[Nov 06 17:48:18] Process not daemonized...<br>
[Nov 06 17:48:18] Opened logfile /var/log/vzlogger.log<br>
[Nov 06 17:48:18][push] pushdata_thread created.<br>
[Nov 06 17:48:18][push] Start push_data_thread<br>
[Nov 06 17:48:18][] ===> Start meters<br>
[Nov 06 17:48:18][mtr0] Meter connection established<br>
[Nov 06 17:48:18][mtr0] Meter thread started<br>
[Nov 06 17:48:18][mtr0] Meter is opened. Starting channels.<br>
[Nov 06 17:48:18][] Startup done.<br>
[Nov 06 17:48:18][mtr0] Number of readers: 400<br>
[Nov 06 17:48:18][mtr0] Config.daemon: 0<br>
[Nov 06 17:48:18][mtr0] Config.local: 0<br>
[Nov 06 17:48:19][d0] sending pullsequenz send (len:5 is:5).<br>
[Nov 06 17:48:19][d0] Pull answer (vendor=AEL, baudrate=4, identification=<1>AEL.MF.07)<br>
[Nov 06 17:48:20][d0] Sending ack sequence send (len:6 is:6, 040<br>
).<br>
[Nov 06 17:48:23][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:48:28][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:48:30][d0] nothing received for more than 10 seconds<br>
[Nov 06 17:48:30][d0] read timed out!, context: 6, bytes read: 0, last byte 0xa<br>
[Nov 06 17:48:30][mtr0] Got 0 new readings from meter:<br>
[Nov 06 17:48:30][mtr0] Next reading in 3 seconds<br>
[Nov 06 17:48:33][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:48:33][mtr0] Stopped reading.<br>
[Nov 06 17:48:33][] Server stopped.<br>
[Nov 06 17:48:33][] Waiting for pushdata_thread to stop...<br>
[Nov 06 17:48:38][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 17:48:38][push] Stopped push_data_thread<br>
[Nov 06 17:48:38][] pushdata_thread stopped<br>
[Nov 06 17:48:38][] deleted pushdataList<br>
[Nov 06 17:48:38][] Trying to delete curlSessionProvider...<br>
[Nov 06 17:48:38][] deleted curlSessionProvider<br>
<br>
Grüße<br>
Moritz<br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
Sorry, ich war kurz auf dem Schlauch gestanden ;)<br>
<br>
Einmal im Anhang und noch einmal so:<br>
##### 54.654935885s ( 0 ms) opened<br>
##### 54.656223211s ( 2 ms) read<br>
##### 54.656230342s ( 0 ms) TCIOFLUSH and cfsetiospeed<br>
<<<<< 55.156604686s ( 500 ms)<br>
2f 3f 21 0d 0a /?!<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
55.364964978s ( 208 ms)<br>
</blockquote></blockquote></blockquote></blockquote></blockquote>
2f 41 45 4c 34 3c 31 3e 41 45 4c 2e 4d 46 2e 30 /AEL4<1>AEL.MF.0<br>
37 0d 0a 7<br>
<br>
<<<<< 56.228276862s ( 864 ms)<br>
06 30 34 30 0d 0a 040<br>
<br>
##### 56.728750462s ( 500 ms) usleep cfsetispeed<br>
##### 72.071867615s ( 15343 ms) timeout!<br>
##### 75.072213999s ( 3001 ms) closed<br>
<br>
<d0_dump.log><br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
vzlogger beendet sich selbständig nach den geposteten Ausgaben. Wenn ich ihn dann manuell wieder starte, erhalte ich das selbe Ergebnis.<br>
<br>
Grüße<br>
Max<br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
Hier die Config:<br>
<br>
{<br>
// General settings<br>
"daemon": false, // run periodically<br>
"verbosity": 15, // log verbosity (0=log_error and log_warning, 5=log_info, 10=log_debug, 15=log_finest)<br>
"log": "/var/log/vzlogger.log", // log file, optional<br>
"retry": 30, // http retry delay in seconds<br>
<br>
// Build-in HTTP server<br>
"local": {<br>
"enabled": false, // enable local HTTPd for serving live readings<br>
"port": 8080, // TCP port for local HTTPd<br>
"index": true, // provide index listing of available channels if no UUID was requested<br>
"timeout": 30, // timeout for long polling comet requests in seconds (0 disables comet)<br>
"buffer": -1 // HTTPd buffer configuration for serving readings, default -1<br>
// >0: number of seconds of readings to serve<br>
// <0: number of tuples to server per channel (e.g. -3 will serve 3 tuples)<br>
},<br>
<br>
// realtime notification settings<br>
"push": [<br>
{<br>
"url": "<a href="http://127.0.0.1:5582" rel="noreferrer" target="_blank">http://127.0.0.1:5582</a>" // notification destination, e.g. frontend push-server<br>
}<br>
],<br>
<br>
// Meter configuration<br>
"meters": [<br>
{<br>
"enabled" : true,<br>
"device" : "/dev/ttyUSB0",<br>
"protocol" : "d0",<br>
"dump_file": "/var/log/d0_dump.log",<br>
"baudrate" :300,<br>
"pullseq": "2F3F210D0A",<br>
"ackseq": "auto",<br>
"parity" : "7E1",<br>
"baudrate_read" : 4800,<br>
"wait_sync" : "off",<br>
"baudrate_change_delay": 500,<br>
"interval" : 3 // Wartezeit bis zum nächsten Pull<br>
}<br>
]<br>
}<br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
Jetzt wiederholt sich im Log folgendes:<br>
[Nov 06 20:36:15][d0] sending pullsequenz send (len:5 is:5).<br>
[Nov 06 20:36:16][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 20:36:21][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 20:36:26][push] waitAndSendOnceToAll empty dataMap (timeout?)<br>
[Nov 06 20:36:27][d0] nothing received for more than 10 seconds<br>
[Nov 06 20:36:27][d0] read timed out!, context: 0, bytes read: 0, last byte 0xa<br>
[Nov 06 20:36:27][mtr0] Got 0 new readings from meter:<br>
[Nov 06 20:36:27][mtr0] Next reading in 3 seconds<br>
<br>
<br>
und im dump:<br>
##### 94.061354609s ( 0 ms) opened<br>
##### 94.063375123s ( 2 ms) read<br>
##### 94.063381729s ( 0 ms) TCIOFLUSH and cfsetiospeed<br>
<<<<< 94.163773062s ( 100 ms)<br>
2f 3f 21 0d 0a /?!<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
94.373682183s ( 210 ms)<br>
</blockquote></blockquote></blockquote></blockquote></blockquote>
af 41 c5 cc b4 3c b1 be 41 c5 cc 2e 4d c6 2e 30 A < A .M .0<br>
b7 8d 0a<br>
<br>
Anscheinend passt jetzt mit der Dekodierung etwas nicht, dort sollte ja eigentlich "/AEL4<1>AEL.MF.0" zurückkommen. Nichtsdestrotz kommen aber keine weiteren Infos.<br>
<br>
Gruß<br>
Max<br>
<br>
</blockquote>
Gruß<br>
<br>
Matthias<br>
<br>
</blockquote>
<br>
Die Antwort ist nun wieder korrekt, ich hatte vergessen nach einem Neustart die 7e1 Einstellungen zu setzen.<br>
Es bleibt aber bei der bekannten Kommunikationsequenz...<br>
<br>
Gruß<br>
Max<br>
</blockquote></div>