[vz-users] Schell EZZ1 / Köhler AEL.MF.07 auslesen
Matthias Behr
mbehr at mcbehr.de
Sun Nov 6 22:24:34 CET 2016
hmm. D.h. der Zaehler antwortet jedes Mal nur mit seiner Ident?
Kann dir nur raten noch mal mit baudrate_change_delay zu spielen (von 0 bis z.B. 1500).
Was benutzt du für einen seriellen Port? (USB auf Ser?)
> Am 06.11.2016 um 21:09 schrieb m.guetlein at gmx.de:
>
>
> Am 06.11.2016 um 20:41 schrieb Matthias Behr:
>> versuch mal unterschiedliche Werte für baudrate_change_delay (200, 300, 400)
>>> Am 06.11.2016 um 20:40 schrieb m.guetlein at gmx.de:
>>>
>>>
>>> Am 06.11.2016 um 20:33 schrieb Matthias Behr:
>>>> mach mal
>>>> daemon: true
>>>> baudrate_change_delay auf 100ms
>>>>
>>>>
>>>>> Am 06.11.2016 um 20:31 schrieb m.guetlein at gmx.de:
>>>>>
>>>>>
>>>>>
>>>>> Am 06.11.2016 um 20:28 schrieb Matthias Behr:
>>>>>> schick mal deine Config
>>>>>>
>>>>>>> Am 06.11.2016 um 20:27 schrieb m.guetlein at gmx.de:
>>>>>>>
>>>>>>>
>>>>>>> Am 06.11.2016 um 20:09 schrieb Matthias Behr:
>>>>>>>> und beim nächsten Read? was passiert wenn du vzlogger laufen lässt? antwortet der Zähler noch mal oder bleibt er stumm?
>>>>>>>>
>>>>>>>>> Am 06.11.2016 um 18:15 schrieb m.guetlein at gmx.de:
>>>>>>>>>
>>>>>>>>> Am 06.11.2016 um 17:54 schrieb Matthias Behr:
>>>>>>>>>> Schickst mal ein „dump_file“?
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>> Am 06.11.2016 um 17:52 schrieb m.guetlein at gmx.de:
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> Am 06.11.2016 um 17:41 schrieb Matthias Behr:
>>>>>>>>>>>> Versuch mal ackseq: auto
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>> Am 06.11.2016 um 17:39 schrieb m.guetlein at gmx.de:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Am 06.11.2016 um 15:44 schrieb Matthias Behr:
>>>>>>>>>>>>>> Wie sprichst du den Zähler denn an? vzlogger?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Welche Baudrate nutzt du?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Falls vzlogger kannst du mal ein „dump_file“ erstellen und schicken?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Am 06.11.2016 um 12:05 schrieb m.guetlein at gmx.de:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hallo zusammen,
>>>>>>>>>>>>>>> ich wurde in folgendem Thread an diese Mailingliste verwiesen: http://www.photovoltaikforum.com/volkszaehler-org-f131/schell-ezz1-t114836.html
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>> Grundsätzlich funktioniert die Kommunikation, wenn ich sie anstoße:
>>>>>>>>>>>>>>> <== "2F 3F 21 0D 0A"
>>>>>>>>>>>>>>> ==> "/AEL4<1>AEL.MF.07<\r><\n>"
>>>>>>>>>>>>>>> <== "06 30 30 30 0D 0A"
>>>>>>>>>>>>>>> Ende
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Für den Programmiermodus:
>>>>>>>>>>>>>>> <== "2F 3F 21 0D 0A"
>>>>>>>>>>>>>>> ==> "/AEL4<1>AEL.MF.07<\r><\n>"
>>>>>>>>>>>>>>> <== "06 30 30 __31__ 0D 0A"
>>>>>>>>>>>>>>> ==> "06"
>>>>>>>>>>>>>>> Ende und keine Reaktion auf Befehle wie unter http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/elster_as1440 genannt.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> 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.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Mit freundlichen Grüßen
>>>>>>>>>>>>>>> Max
>>>>>>>>>>>>>> Gruß
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Matthias
>>>>>>>>>>>>>>
>>>>>>>>>>>>> Direkt im Terminal mit 'echo "xyz" > /dev/ttyUSB0' und 'cat /dev/ttyUSB0' in einem anderen Terminal. Ich kommuniziere mit einer Baudrate von 300.
>>>>>>>>>>>>>
>>>>>>>>>>>>> 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:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Nov 06 17:35:42][mtr0] Creating new meter with protocol d0.
>>>>>>>>>>>>> [Nov 06 17:35:42][d0] pullseq len:5 found
>>>>>>>>>>>>> [Nov 06 17:35:42][d0] ackseq len:6 found 000
>>>>>>>>>>>>> , 6
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Meter configured, enabled.
>>>>>>>>>>>>> [Nov 06 17:35:42] New meter initialized (protocol=d0)
>>>>>>>>>>>>> [Nov 06 17:35:42] Have 1 meters.
>>>>>>>>>>>>> [Nov 06 17:35:42][main] log level is 15
>>>>>>>>>>>>> [Nov 06 17:35:42][main] daemon=0, local=0
>>>>>>>>>>>>> [Nov 06 17:35:42] Process not daemonized...
>>>>>>>>>>>>> [Nov 06 17:35:42] Opened logfile /var/log/vzlogger.log
>>>>>>>>>>>>> [Nov 06 17:35:42][push] pushdata_thread created.
>>>>>>>>>>>>> [Nov 06 17:35:42][push] Start push_data_thread
>>>>>>>>>>>>> [Nov 06 17:35:42][] ===> Start meters
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Meter connection established
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Meter thread started
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Meter is opened. Starting channels.
>>>>>>>>>>>>> [Nov 06 17:35:42][] Startup done.
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Number of readers: 400
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Config.daemon: 0
>>>>>>>>>>>>> [Nov 06 17:35:42][mtr0] Config.local: 0
>>>>>>>>>>>>> [Nov 06 17:35:42][d0] sending pullsequenz send (len:5 is:5).
>>>>>>>>>>>>> [Nov 06 17:35:43][d0] Pull answer (vendor=AEL, baudrate=4, identification=<1>AEL.MF.07)
>>>>>>>>>>>>> [Nov 06 17:35:43][d0] Sending ack sequence send (len:6 is:6,000
>>>>>>>>>>>>> ).
>>>>>>>>>>>>> [Nov 06 17:35:47][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>>>> [Nov 06 17:35:52][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>>>> [Nov 06 17:35:54][d0] nothing received for more than 10 seconds
>>>>>>>>>>>>> [Nov 06 17:35:54][d0] read timed out!, context: 6, bytes read: 0, last byte 0xa
>>>>>>>>>>>>> [Nov 06 17:35:54][mtr0] Got 0 new readings from meter:
>>>>>>>>>>>>> [Nov 06 17:35:54][mtr0] Next reading in 3 seconds
>>>>>>>>>>>>> [Nov 06 17:35:57][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>>>> [Nov 06 17:35:57][mtr0] Stopped reading.
>>>>>>>>>>>>> [Nov 06 17:35:57][] Server stopped.
>>>>>>>>>>>>> [Nov 06 17:35:57][] Waiting for pushdata_thread to stop...
>>>>>>>>>>>>> [Nov 06 17:36:02][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>>>> [Nov 06 17:36:02][push] Stopped push_data_thread
>>>>>>>>>>>>> [Nov 06 17:36:02][] pushdata_thread stopped
>>>>>>>>>>>>> [Nov 06 17:36:02][] deleted pushdataList
>>>>>>>>>>>>> [Nov 06 17:36:02][] Trying to delete curlSessionProvider...
>>>>>>>>>>>>> [Nov 06 17:36:02][] deleted curlSessionProvider
>>>>>>>>>>>>>
>>>>>>>>>>>>> Grüße
>>>>>>>>>>>>> Max
>>>>>>>>>>>>>
>>>>>>>>>>>> Gruß
>>>>>>>>>>>>
>>>>>>>>>>>> Matthias
>>>>>>>>>>>>
>>>>>>>>>>> Immernoch das selbe Ergebnis:
>>>>>>>>>>>
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Creating new meter with protocol d0.
>>>>>>>>>>> [Nov 06 17:48:18][d0] pullseq len:5 found
>>>>>>>>>>> [Nov 06 17:48:18][d0] using autoack
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Meter configured, enabled.
>>>>>>>>>>> [Nov 06 17:48:18] New meter initialized (protocol=d0)
>>>>>>>>>>> [Nov 06 17:48:18] Have 1 meters.
>>>>>>>>>>> [Nov 06 17:48:18][main] log level is 15
>>>>>>>>>>> [Nov 06 17:48:18][main] daemon=0, local=0
>>>>>>>>>>> [Nov 06 17:48:18] Process not daemonized...
>>>>>>>>>>> [Nov 06 17:48:18] Opened logfile /var/log/vzlogger.log
>>>>>>>>>>> [Nov 06 17:48:18][push] pushdata_thread created.
>>>>>>>>>>> [Nov 06 17:48:18][push] Start push_data_thread
>>>>>>>>>>> [Nov 06 17:48:18][] ===> Start meters
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Meter connection established
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Meter thread started
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Meter is opened. Starting channels.
>>>>>>>>>>> [Nov 06 17:48:18][] Startup done.
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Number of readers: 400
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Config.daemon: 0
>>>>>>>>>>> [Nov 06 17:48:18][mtr0] Config.local: 0
>>>>>>>>>>> [Nov 06 17:48:19][d0] sending pullsequenz send (len:5 is:5).
>>>>>>>>>>> [Nov 06 17:48:19][d0] Pull answer (vendor=AEL, baudrate=4, identification=<1>AEL.MF.07)
>>>>>>>>>>> [Nov 06 17:48:20][d0] Sending ack sequence send (len:6 is:6,040
>>>>>>>>>>> ).
>>>>>>>>>>> [Nov 06 17:48:23][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>> [Nov 06 17:48:28][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>> [Nov 06 17:48:30][d0] nothing received for more than 10 seconds
>>>>>>>>>>> [Nov 06 17:48:30][d0] read timed out!, context: 6, bytes read: 0, last byte 0xa
>>>>>>>>>>> [Nov 06 17:48:30][mtr0] Got 0 new readings from meter:
>>>>>>>>>>> [Nov 06 17:48:30][mtr0] Next reading in 3 seconds
>>>>>>>>>>> [Nov 06 17:48:33][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>> [Nov 06 17:48:33][mtr0] Stopped reading.
>>>>>>>>>>> [Nov 06 17:48:33][] Server stopped.
>>>>>>>>>>> [Nov 06 17:48:33][] Waiting for pushdata_thread to stop...
>>>>>>>>>>> [Nov 06 17:48:38][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>>>>>>>>>> [Nov 06 17:48:38][push] Stopped push_data_thread
>>>>>>>>>>> [Nov 06 17:48:38][] pushdata_thread stopped
>>>>>>>>>>> [Nov 06 17:48:38][] deleted pushdataList
>>>>>>>>>>> [Nov 06 17:48:38][] Trying to delete curlSessionProvider...
>>>>>>>>>>> [Nov 06 17:48:38][] deleted curlSessionProvider
>>>>>>>>>>>
>>>>>>>>>>> Grüße
>>>>>>>>>>> Moritz
>>>>>>>>>> Gruß
>>>>>>>>>>
>>>>>>>>>> Matthias
>>>>>>>>>>
>>>>>>>>> Sorry, ich war kurz auf dem Schlauch gestanden ;)
>>>>>>>>>
>>>>>>>>> Einmal im Anhang und noch einmal so:
>>>>>>>>> ##### 54.654935885s ( 0 ms) opened
>>>>>>>>> ##### 54.656223211s ( 2 ms) read
>>>>>>>>> ##### 54.656230342s ( 0 ms) TCIOFLUSH and cfsetiospeed
>>>>>>>>> <<<<< 55.156604686s ( 500 ms)
>>>>>>>>> 2f 3f 21 0d 0a /?!
>>>>>>>>>
>>>>>>>>>>>>>> 55.364964978s ( 208 ms)
>>>>>>>>> 2f 41 45 4c 34 3c 31 3e 41 45 4c 2e 4d 46 2e 30 /AEL4<1>AEL.MF.0
>>>>>>>>> 37 0d 0a 7
>>>>>>>>>
>>>>>>>>> <<<<< 56.228276862s ( 864 ms)
>>>>>>>>> 06 30 34 30 0d 0a 040
>>>>>>>>>
>>>>>>>>> ##### 56.728750462s ( 500 ms) usleep cfsetispeed
>>>>>>>>> ##### 72.071867615s ( 15343 ms) timeout!
>>>>>>>>> ##### 75.072213999s ( 3001 ms) closed
>>>>>>>>>
>>>>>>>>> <d0_dump.log>
>>>>>>>> Gruß
>>>>>>>>
>>>>>>>> Matthias
>>>>>>>>
>>>>>>> vzlogger beendet sich selbständig nach den geposteten Ausgaben. Wenn ich ihn dann manuell wieder starte, erhalte ich das selbe Ergebnis.
>>>>>>>
>>>>>>> Grüße
>>>>>>> Max
>>>>>> Gruß
>>>>>>
>>>>>> Matthias
>>>>>>
>>>>> Hier die Config:
>>>>>
>>>>> {
>>>>> // General settings
>>>>> "daemon": false, // run periodically
>>>>> "verbosity": 15, // log verbosity (0=log_error and log_warning, 5=log_info, 10=log_debug, 15=log_finest)
>>>>> "log": "/var/log/vzlogger.log", // log file, optional
>>>>> "retry": 30, // http retry delay in seconds
>>>>>
>>>>> // Build-in HTTP server
>>>>> "local": {
>>>>> "enabled": false, // enable local HTTPd for serving live readings
>>>>> "port": 8080, // TCP port for local HTTPd
>>>>> "index": true, // provide index listing of available channels if no UUID was requested
>>>>> "timeout": 30, // timeout for long polling comet requests in seconds (0 disables comet)
>>>>> "buffer": -1 // HTTPd buffer configuration for serving readings, default -1
>>>>> // >0: number of seconds of readings to serve
>>>>> // <0: number of tuples to server per channel (e.g. -3 will serve 3 tuples)
>>>>> },
>>>>>
>>>>> // realtime notification settings
>>>>> "push": [
>>>>> {
>>>>> "url": "http://127.0.0.1:5582" // notification destination, e.g. frontend push-server
>>>>> }
>>>>> ],
>>>>>
>>>>> // Meter configuration
>>>>> "meters": [
>>>>> {
>>>>> "enabled" : true,
>>>>> "device" : "/dev/ttyUSB0",
>>>>> "protocol" : "d0",
>>>>> "dump_file": "/var/log/d0_dump.log",
>>>>> "baudrate" :300,
>>>>> "pullseq": "2F3F210D0A",
>>>>> "ackseq": "auto",
>>>>> "parity" : "7E1",
>>>>> "baudrate_read" : 4800,
>>>>> "wait_sync" : "off",
>>>>> "baudrate_change_delay": 500,
>>>>> "interval" : 3 // Wartezeit bis zum nächsten Pull
>>>>> }
>>>>> ]
>>>>> }
>>>> Gruß
>>>>
>>>> Matthias
>>>>
>>> Jetzt wiederholt sich im Log folgendes:
>>> [Nov 06 20:36:15][d0] sending pullsequenz send (len:5 is:5).
>>> [Nov 06 20:36:16][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>> [Nov 06 20:36:21][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>> [Nov 06 20:36:26][push] waitAndSendOnceToAll empty dataMap (timeout?)
>>> [Nov 06 20:36:27][d0] nothing received for more than 10 seconds
>>> [Nov 06 20:36:27][d0] read timed out!, context: 0, bytes read: 0, last byte 0xa
>>> [Nov 06 20:36:27][mtr0] Got 0 new readings from meter:
>>> [Nov 06 20:36:27][mtr0] Next reading in 3 seconds
>>>
>>>
>>> und im dump:
>>> ##### 94.061354609s ( 0 ms) opened
>>> ##### 94.063375123s ( 2 ms) read
>>> ##### 94.063381729s ( 0 ms) TCIOFLUSH and cfsetiospeed
>>> <<<<< 94.163773062s ( 100 ms)
>>> 2f 3f 21 0d 0a /?!
>>>
>>>>>>>> 94.373682183s ( 210 ms)
>>> af 41 c5 cc b4 3c b1 be 41 c5 cc 2e 4d c6 2e 30 A < A .M .0
>>> b7 8d 0a
>>>
>>> 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.
>>>
>>> Gruß
>>> Max
>>>
>> Gruß
>>
>> Matthias
>>
>
> Die Antwort ist nun wieder korrekt, ich hatte vergessen nach einem Neustart die 7e1 Einstellungen zu setzen.
> Es bleibt aber bei der bekannten Kommunikationsequenz...
>
> Gruß
> Max
Gruß
Matthias
More information about the volkszaehler-users
mailing list