[vz-users] TD-3511 mit vzlogger

Anton antonkaser at gmx.at
Tue Jun 11 20:28:55 CEST 2013


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