[vz-users] TD-3511 mit vzlogger
Michael Wulz
michael.wulz at gmail.com
Tue Jun 11 20:42:09 CEST 2013
Hallo,
Nein leider, in der C++ fehlt für d0 noch viel!
Mein Vzlogger bricht beim Parsen immer ab.
In der C Version gabs da mal einen Patch. Dieser ist aber nicht in der C++ drin.
Gruss
M
Von meinem iPhone gesendet
Am 11.06.2013 um 20:29 schrieb Anton <antonkaser at gmx.at>:
> Vielen Dank. Leider muss ich jetzt los. Das Austauschen der MeterD0.cpp
> werde ich kommende Woche versuchen.
> Hat diesen Zähler schon jemand erfolgreich am loggen?
>
>
> Am 2013-06-11 20:18, schrieb Karsten:
>> Laut dem Wiki Eintrag auf volkszaehler.org für den Td-3511 läuft es über das d0 Protokoll
>> (soweit ich das beurteilen kann).
>> Für das D0 Protokoll ist ein entsprechender Eintrag für die 300 Baud im Hauptzweig
>> Der C++ Version des Vzloggers vorhanden.
>> In der Version die Udo dir gepostet hat, fehlt für das D0 Protokoll der entsprechende
>> Eintrag in der Datei:
>> vzlogger / src / protocols / MeterD0.cpp
>>
>> Auch hier kannst du entweder die entsprechende Datei austauschen oder die Zeile
>> Für 300 Baud in den Case Block aufnehmen.
>>
>> Gruß Karsten
>>
>> -----Ursprüngliche Nachricht-----
>> Von: volkszaehler-users-bounces at lists.volkszaehler.org [mailto:volkszaehler-users-bounces at lists.volkszaehler.org] Im Auftrag von Anton
>> Gesendet: Dienstag, 11. Juni 2013 20:04
>> An: volkszaehler.org - users
>> Betreff: Re: [vz-users] TD-3511 mit vzlogger
>>
>> Das hilft schon mal weiter. Brauche ich für den Td-3511 nicht ohnehin d0 ?
>>
>> Am 2013-06-11 20:00, schrieb Karsten:
>>> Hallo Anton,
>>> ich weiß nicht, ob diese Information für dich Hilfreich ist, aber im
>>> aktuellen Hauptzweig der C++ Version des Vzloggers ist die Baudrate 300 im SML Protokoll nicht definiert:
>>> "vzlogger / src / protocols / MeterSML.cpp"
>>>
>>> ...
>>> int baudrate = 9600; /* default to avoid compiler warning */
>>> try {
>>> baudrate = optlist.lookup_int(options, "baudrate");
>>> /* find constant for termios structure */
>>> switch (baudrate) {
>>> case 1200: _baudrate = B1200; break;
>>> case 1800: _baudrate = B1800; break;
>>> case 2400: _baudrate = B2400; break;
>>> case 4800: _baudrate = B4800; break;
>>> case 9600: _baudrate = B9600; break;
>>> case 19200: _baudrate = B19200; break;
>>> case 38400: _baudrate = B38400; break;
>>> case 57600: _baudrate = B57600; break;
>>> case 115200: _baudrate = B115200; break;
>>> case 230400: _baudrate = B230400; break;
>>> default:
>>> print(log_error, "Invalid baudrate: %i", name().c_str(), baudrate);
>>> throw vz::VZException("Invalid baudrate");
>>> }
>>> ...
>>> Du könntest die entsprechende Zeile aus dem d0 Protokoll übernehmen und schauen, ob es dann bei dir funktioniert.
>>> ...
>>>
>>> case 300: _baudrate = B300; break;
>>>
>>> case 1200: _baudrate = B1200; break;
>>> case 1800: _baudrate = B1800; break;
>>> ....
>>>
>>> Anschließend müsstest du den VZ nochmal neu bei Dir compilieren.
>>>
>>> Ich hoffe die Information bringt Dich weiter.
>>>
>>> Gruß
>>> Karsten
>>>
>>> p.S.: Falls du die Version (Branch) von Peter Evertz genommen hast die
>>> Udo oben empfohlen hast. Dort ist für das SML Protokoll auch noch keine Baudrate von 300 vorgesehen.
>>>
>>>
>>> -----Ursprüngliche Nachricht-----
>>> Von: volkszaehler-users-bounces at lists.volkszaehler.org
>>> [mailto:volkszaehler-users-bounces at lists.volkszaehler.org] Im Auftrag
>>> von Anton
>>> Gesendet: Dienstag, 11. Juni 2013 19:29
>>> An: volkszaehler.org - users
>>> Betreff: Re: [vz-users] TD-3511 mit vzlogger
>>>
>>> Am 2013-06-11 17:53, schrieb Udo1:
>>>> Am 10.06.2013 23:28, schrieb Anton:
>>>>> ich nahm das script aus der Volkzähler-Anleitung für den TD3511 und
>>>>> lasse auslesen:
>>>> Du solltest die vzlogger-Version von Peter Evertz nehmen:
>>>> http://volkszaehler.org/pipermail/volkszaehler-dev/2013-April/002671.
>>>> h
>>>> tml
>>>>
>>>> Die sendet auch die Anforderung.
>>>>
>>>> Gruß
>>>> Udo
>>> ich habe den vzlogger mit dem letzen Link aus dem Beitrag in /usr/local/bin/ geladen, die Rechte auf 755 gesetzt und die vzlogger.conf mit parity und baudrate so geändert:
>>>
>>> {
>>> "retry" : 30, /* how long to sleep between failed
>>> requests, in seconds */
>>> "daemon": false, /* run periodically */
>>> "foreground" : true, /* dont run in background (prevents
>>> forking) */
>>>
>>> "verbosity" : 15, /* between 0 and 15 */
>>> "log" : "/var/log/vzlogger.log",/* path to logfile, optional */
>>>
>>> "local" : {
>>> "enabled" : false, /* should we start the local HTTPd for
>>> serving live readings? */
>>> "port" : 80, /* the TCP port for the local HTTPd */
>>> "index" : true, /* should we provide a index listing of
>>> available channels? */
>>> "timeout" : 30, /* timeout for long polling comet
>>> requests, 0 disables comet, in seconds */
>>> "buffer" : 600 /* how long to buffer readings for the
>>> local interface, in seconds */
>>> },
>>>
>>> "meters" : [{
>>> "enabled" : true, /* disabled meters will be ignored */
>>> "protocol" : "sml", /* use 'vzlogger -h' for list of
>>> available protocols */
>>> "device" : "/dev/lesekopf0",
>>> "parity" : "7E1",
>>> "baudrate" : 300,
>>>
>>> }
>>> ]}
>>>
>>>
>>> beim Aufruf von vzlogger kommt dann folgendes:
>>>
>>>
>>> [Jun 11 19:17:06][mtr0] Creating new meter with protocol sml.
>>> [Jun 11 19:17:06][sml] Invalid baudrate: 300 [Jun 11 19:17:06][sml]
>>> Failed to parse the baudrate
>>> [Jun 11 19:17:06][] parse configuration failed due to:
>>> [Jun 11 19:17:06] Failed to parse configuration due to: Invalid
>>> baudrate
>>>
>>>
>>> Auch wenn ich als protokoll d0 eingebe wird die Baudrate nicht akzeptiert.
>>>
>>> oder soll ich mit "pullsequenz" das Ganze abarbeiten??
>>> - hat jemand die HEX-pullsequenz für den TD-3511 bei der Hand??
>>> (momentan habe ich wieder "händisch" das Auslesen der Daten
>>> initialisiert)
>
More information about the volkszaehler-users
mailing list