[vz-users] TD-3511 mit vzlogger

Karsten Karsten at borsch.biz
Tue Jun 11 20:18:52 CEST 2013


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