[vz-dev] Probleme vzLogger ans Laufen zu bekommen
Rainer Gauweiler
volkszaehler at moppl.inka.de
Thu Apr 12 10:29:33 CEST 2012
Moin,
Am 11.04.2012 22:56, schrieb Thorben Thuermer:
>> Ich habe mit aus dem git die Sourcen gezogen und erhalte beim make:
>>
>> /usr/bin/ld: vzlogger.o: undefined reference to symbol
>> 'pthread_cancel@@GLIBC_2.2.5'
> hatten wir schonmal.
> ein recht obskures linker-problem, wohl abhaengig davon in welcher reihenfolge
> die libraries angegeben werden.
> ein workaround der dann funktioniert hat findet sich hier:
> http://volkszaehler.org/pipermail/volkszaehler-dev/2012-February/001512.html
Ja, der funktioniert auch bei mir. Laut man-page vom gcc ist auch die
Reihenfolge von -l relevant. Auch wenn es mir logisch erscheinen würde,
dass man dann die möglichst alle nach vorne stellt, funktionieren sie
wohl nur, wenn sie im Aufruf ganz hinten stehen.
Ich spreche leider nicht genug make um einen Patch zu liefern, aber
Steffen fällt bestimmt was ein dazu :-)
Das Verhalten ist die kompilierte Version jedoch nicht anders. Es sieht
immer noch so aus als kämen keine Daten beim Logger an:
root at euit-Laptop:~/vzlogger# ./src/vzlogger -V -v20 -f
0.3.3
root at euit-Laptop:~/vzlogger# ./src/vzlogger -v20 -f
[Apr 12 10:03:34] Start parsing configuration from /etc/vzlogger.conf
[Apr 12 10:03:34][mtr0] New meter initialized (protocol=sml)
[Apr 12 10:03:34][ch0] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:15.7.0)
[Apr 12 10:03:34][ch1] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:1.8.2)
[Apr 12 10:03:34][ch2] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:1.8.1)
[Apr 12 10:03:34][ch3] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:2.8.0)
[Apr 12 10:03:34] Opened logfile /var/log/vzlogger.log
[Apr 12 10:03:34][mtr0] Meter connection established
[Apr 12 10:03:34][mtr0] Meter thread started
[Apr 12 10:03:34][http] Starting local interface HTTPd on port 8080
Und danach kommen nur noch Ausgaben, wenn ich auf das Web-Interface
zugreife:
[Apr 12 10:03:39][http] Local request received: method=GET url=/ mode=(null)
[Apr 12 10:03:39][http] Local request received: method=GET
url=/favicon.ico mode=(null)
Ich habe inzwischen mal per stty das Device eingestellt und bekomme auch
dort Zeichen raus:
root at euit-Laptop:~# cat /dev/ttyUSB0
��MH5----eHZ-�00��ō
�
�-0:0.0.0��55(�05��0�5��
�-0:�.�.���55(00�5�0.5��5��
�-0:�.�.���55(00�3��.���3��
�-0:96.5.5��55(����
0-0:96.�.�55��55(000���0�90��
!�
Sensorkopf und Device-Konfig sind wohl in Ordnung.
> was sagt das logfile/ausgabe von vzlogger?
> (verbosity entsprechend hochsetzen)
> da sollte zu sehen sein, ob daten vom zaehler gelesen/interpretiert werden.
s.o. Mehr als Zugriff auf das Device sehe ich da nicht. Daten scheinen
keine zu kommen?
Rechte fürs Device habe ich großzügig gesetzt:
root at euit-Laptop:~# ls -l /dev/ttyUSB0
crw-rw-rw- 1 root dialout 188, 0 2012-04-12 09:51 /dev/ttyUSB0
Daran sollte es auch nicht scheitern.
>> Der Zähler ist ein "eHZ FW8E2A500AQ1", der sollte sml können, oder? Ich
>> habe in der Konfig testweise mal auf d0 umgestellt, da kommt aber nur:
>>
>> [Apr 11 20:35:32][mtr0] TODO: implement serial interface
>> [Apr 11 20:35:32][mtr0] Failed to open meter. Aborting.
Jetzt kommt da:
[Apr 12 09:48:03][mtr0] New meter initialized (protocol=d0)
[Apr 12 09:48:03][ch0] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:15.7.0)
[Apr 12 09:48:03][ch1] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:1.8.2)
[Apr 12 09:48:03][ch2] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:1.8.1)
[Apr 12 09:48:03][ch3] New channel initialized (uuid=...
middleware=http://localhost/volkszaehler.org/htdocs/middleware.php
id=1-0:2.8.0)
[Apr 12 09:48:03][mtr0] Meter connection established
[Apr 12 09:48:03][mtr0] Meter thread started
[Apr 12 09:48:03][http] Starting local interface HTTPd on port 8080
[Apr 12 09:48:03][mtr0] Something unexpected happened: meter_read_d0:279!
[Apr 12 09:48:03][mtr0] Got 0 new readings from meter:
[Apr 12 09:48:03][ch0] Buffer dump (size=0 keep=0): {}
[Apr 12 09:48:03][ch1] Buffer dump (size=0 keep=0): {}
[Apr 12 09:48:03][ch2] Buffer dump (size=0 keep=0): {}
[Apr 12 09:48:03][ch3] Buffer dump (size=0 keep=0): {}
[Apr 12 09:48:03][mtr0] Something unexpected happened: meter_read_d0:279!
und wiederholt sich dann offenbar ewig.
> a) das liegt daran, das du eine zu alte version hast, deswegen keine releases ;)
erledigt.
> b) d0 ist ein voellig anderes protokoll.
> (d0 ist lesbarar text, sml ist binaer, das sollte ausreichen um zu erkennen
> was von einem zaehler kommt.)
Äh ja. Aber nach
http://wiki.volkszaehler.org/hardware/channels/meters/power/edl-ehz/emh-ehz-h1
kann der Zähler doch beides: "Der EMH eHZ-H kann auch nach EN 62056-21
über die IR-Schnittstelle ausgelesen werden.".
Demnach sollte ich ihn sowohl per sml als auch per d0 abfragen können, oder?
Gruss
Rainer
More information about the volkszaehler-dev
mailing list