[vz-dev] libsml auf dockstar

Markus Meissner markus at meissner-net.de
Fri Oct 7 22:43:12 CEST 2011


Hallo,

die Ursache für:
Error from middleware: unexpected character
ist, dass die URL nicht gefunden wird.
Ersetze middleware durch middleware.php

Dass kein Wert ausgelesen wurde, kann daran liegen,
dass der Obis-Code falsch ist.

Mein Zähler liefert z.B. nur sinnvolle Werte für die option "counter"
Alle möglichen Aliase für Obis-Codes sind in obis.c hinterlegt.

Grüße Markus

> Hallo Gerd,
>
>> NYI: sml_message_body_free for message type C058
>
> Das rührt von einem Bug in libsml her. Den habe ich hier bereits
> reported:
> https://github.com/dailab/libsml/issues/1
>
> Auswirkung hat er ausser der Fehlermeldung und einem Speicherleck aber
> keine.
>
>> Error from middleware: unexpected character
>
> Dafür bräuchte ich etwas mehr Infos.
> Bitte vzlogger mal mit "--verbose 10" laufen lassen.
> (vzlogger kann sehr gesprächig sein ;)
>
> Oder mal mit wireshark den Netzwerk verkehr mitschneiden.
>
> viele Grüße
>
> Steffen
>
> Am Freitag, den 07.10.2011, 21:52 +0200 schrieb Gerhard Bertelsmann:
>> Danke Markus,
>>
>> das hilft schonmal weiter:
>>
>> root at dockstar ~/vzlogger (git)-[master] # vzlogger -v
>> [Oct 07 21:43:12.632] [ch#0] Parsed (protocol=sml interval=0 uuid=xxx
>> middleware=http://192.168.0.250/middleware options=/dev/ttyUSB0:power)
>> NYI: sml_message_body_free for message type C058
>> NYI: sml_message_body_free for message type CCE0
>> NYI: sml_message_body_free for message type B958
>> [Oct 07 21:43:15.387] [ch#0] Value read: 0.00 at 1099801636149
>> [Oct 07 21:43:15.393] [ch#0] Error from middleware: unexpected character
>>
>> Hmm, was kann das sein?
>>
>> Gruß
>>
>> Gerd
>>
>> Am Fr, 7.10.2011, 20:01, schrieb Markus Meissner:
>> > Hallo,
>> >
>> > wenn man den seriellen Port direkt ansprechen will,
>> > so muss man sml.c anpassen:
>> > int meter_sml_open(meter_handle_sml_t *handle, char *options) {
>> >
>> > 	char *port = strsep(&options, ":");
>> >
>> > 	handle->id = obis_parse(options);
>> >
>> > 	//handle->fd = meter_sml_open_socket(node, service);
>> > 	handle->fd = meter_sml_open_port(port);
>> >
>> > 	return (handle->fd < 0) ? -1 : 0;
>> > }
>> >
>> > und entsprechender vzlogger.conf
>> > sml	http://localhost/workspace/volkszaehler.org/volkszaehler.org/htdocs/middleware	c853d890-daf3-11e0-86c4-875e5bd610cf	/dev/ttyUSB3:power
>> >
>> > Grüße Markus
>> >
>> >
>> >
>> >> Hi Justin,
>> >>
>> >> Mein Setup:
>> >>
>> >> - SML Zähler EMH eHZ
>> >> - (noch) goniums Taskopf (Funktion überprüft - geht bei mir)
>> >> - Dockstar mit Debian Squeeze
>> >> - libsml von Steffens git
>> >>
>> >> - dpkg -l | grep uuid
>> >>   libuuid1      2.17.2-9
>> >>   uuid-dev     2.17.2-9
>> >>   uuid-runtime  2.17.2-9
>> >>
>> >> - ./configure --enable-sml --disable-local
>> >>
>> >> Config jetzt:
>> >> sml	http://192.168.0.250/middleware	<uuid>	192.168.0.250:7331:power
>> >>
>> >> Gleich eine Frage:
>> >> Ich habe mit ser2net den seriellen Port auf 7331 umgelenkt. Ist das
>> > richtig so ?
>> >> Testweise mal angesprochen:
>> >>
>> >> root at dockstar ~ # telnet localhost 7331 | ./stdin_edl21 | ./power.pl
>> > 1.8.0 -> 1635.2363 kWh
>> >> 1.8.1 -> 462.4764 kWh
>> >> 1.8.2 -> 1172.7599 kWh
>> >> Power -> 650.6 W
>> >> 1.8.0 -> 1635.2366 kWh
>> >> 1.8.1 -> 462.4764 kWh
>> >> 1.8.2 -> 1172.7602 kWh
>> >> Power -> 654.7 W
>> >>
>> >> -> Werte klingen plausibel.
>> >> vzlogger gibt nun folgendes aus:
>> >>
>> >> root at dockstar ~ # vzlogger -v
>> >> [Oct 05 21:25:38.526] [ch#0] Parsed (protocol=sml interval=0
>> uuid=xxxx
>> > middleware=http://192.168.0.250/middleware
>> >> options=192.168.0.250:7331:power)
>> >> *** glibc detected *** vzlogger: free(): invalid pointer: 0x4035d27c
>> ***
>> > [1]    10550 abort (core dumped)  vzlogger -v
>> >>
>> >> Kann man den Seriellen Port ggf. auch direkt ansprechen ?
>> >>
>> >> Gruß
>> >>
>> >> Gerd
>> >>
>> >> Am Mi, 5.10.2011, 19:45, schrieb Justin Otherguy:
>> >>> Hallo Ihr beiden,
>> >>> also bei mir läuft's auch noch nicht - also lasst uns mal
>> schauen,
>> > wo's
>> >>> klemmt.
>> >>> Mein Setup sieht so aus:
>> >>> - SML-Zähler (Easymeter Q3B)
>> >>> - Udos Lesekopf -> MAX232
>> >>> - ThinClient mit Ubuntu 10.04.3 LTS
>> >>> - dpkg -l | grep sml:
>> >>>   libsml-dev 0.1-5~wip
>> >>>   libsml1 0.1-5~wip
>> >>> - dpkg -l | grep uuid:
>> >>>   libuuid1 2.17.2-0ubuntu1.10.04.2
>> >>>   uuid-dev 2.17.2-0ubuntu1.10.04.2
>> >>>   uuid-runtime 2.17.2-0ubuntu1.10.04.2
>> >>> - vzlogger aus [1] (commit 21344c9afa)
>> >>> - ./configure --disable-local
>> >>> - in vzlogger.conf hätte ich gerne die Zeile:
>> >>> sml	http://demo.volkszaehler.org/middleware	<uuid>	<hostname-des-thinclients:port>:power
>> > (getrennt mit Tabs)
>> >>> Wenn ich nun vzlogger starte, erhalte ich folgende Fehlermeldung:
>> [Oct
>> > 05 18:01:34.691] Invalid interval:
>> >>> http://demo.volkszaehler.org/middleware in /etc/vzlogger.conf:1 ->
>> > Steffen hat schon bestätigt, dass der reguläre Ausdruck, der zum
>> > Parsen
>> >>> verwendet wird, nicht passt.
>> >>> Gegen diese Zeile hat der Parser nix:
>> >>> sml	http://localhost/demo.volkszaehler.org/middleware	<uuid>	<hostname-des-thinclients:port>:power
>> > aber da läuft meine Middleware natürlich nicht...
>> >>> Am 05.10.2011 um 14:10 schrieb Gerhard Bertelsmann:
>> >>>> kannst Du Deine Config (vzlogger.conf) zeigen ?
>> >>>> Ich bekomme leider nur einen Core-Dump:
>> >>> den bekommst Du direkt nach dem Start?
>> >>> Wie sieht denn Deine vzlogger.conf aus?
>> >>>> write(1, "[Oct 05 14:03:54.510] [ch#0] Par"..., 215[Oct 05
>> >>>> 14:03:54.510]
>> >>>> [ch#0] Parsed (protocol=sml interval=0
>> >>>> uuid=c853d890-daf3-11e0-86c4-875e5bd610cf
>> >>>> middleware=http://localhost/workspace/volkszaehler.org/volkszaehler.org/htdocs/middleware
>> > options=/dev/ttyUSB0)
>> >>>> ) = 215
>> >>> -> Du hast die Middleware also lokal; hm - vielleicht sollte ich das
>> > testweise auch mal installieren...
>> >>> @Steffen: kannst Du bitte die Stelle nennen, an der der regex steht?
>> >>>> Mit welchen Optionen hast Du vzlogger kompiliert ?
>> >>> jepp. Und Du, Gerd? :-)
>> >>> So können wir's m. E. eingrenzen.
>> >>> Gruss, J.
>> >>> [1] https://github.com/volkszaehler/vzlogger
>> >>
>> >>
>> >> _______________________________________________
>> >> volkszaehler-dev mailing list
>> >> volkszaehler-dev at lists.volkszaehler.org
>> >> https://volkszaehler.org/mailman/listinfo/volkszaehler-dev
>> >>
>> >
>> >
>> >
>> >
>> >
>>
>>
>> _______________________________________________
>> volkszaehler-dev mailing list
>> volkszaehler-dev at lists.volkszaehler.org
>> https://volkszaehler.org/mailman/listinfo/volkszaehler-dev
>
> _______________________________________________
> volkszaehler-dev mailing list
> volkszaehler-dev at lists.volkszaehler.org
> https://volkszaehler.org/mailman/listinfo/volkszaehler-dev
>




More information about the volkszaehler-dev mailing list