[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