[vz-users] vzlogger: Wie alte Zählerstände unterdrücken

Elias saile at gmx.de
Tue Dec 23 16:25:27 CET 2014


Wow ich bin überwältigt von den vielen flotten Antworten! Vielen Dank!

Also Udo’s Tipp
> Ja, trag als identifier: 1.8.0*FF  ein
funktioniert. Vielen Dank!

@Thorben: Soll ich trotzdem deine Idee (Veränderung der Obis.cpp) testen? Wenn das für zukünftige Änderungen des Codes interessant wäre, dann mach ich das gerne! Das *255 gleichzeitig auch eine wildcard ist, ist tatsächlich verwirrend. Ich denke besser wäre es, nur ein Sternchen als wildcard zu verwenden, das erscheint mit etwas intuitiver.

Ein nice to have wäre jetzt noch die Baudraten-Umstellung. Da ist der DC3 leider recht zickig, er macht die Umstellung nur wenn ein genaues Timing zwischen seiner Antwort auf die Pullsequenz und der Anforderung zur Baudratenumstellung eingehalten wird. Deshalb funktioniert es aktuell nicht. Bei manuellen Tests klappte es am häufigsten mit etwa 4 Sekunden Pause.

In Zeile 407, der Datei protocols/MeterD0.cpp bin ich auf einen auskommentierten Delay gestoßen, der mir ungefähr an der richtigen Stelle zu sein schien. Den hab ich wieder einkommentiert und auf 4 Sekunden erhöht:

usleep (4000000);

Danach hat die Baudratenumstellung tatsächlich geklappt, der Zähler fängt auch an sinnvolle Daten auszugeben, leider bricht das ganze aber nach kurzer Zeit ab:

Der entsprechende Part des Logs zeigt dazu folgendes:

[Dec 23 11:59:07][d0]   Pull answer (vendor=SLB, baudrate=4, identification=\@DC341TMPBF2ZAK)
[Dec 23 11:59:11][d0]   Sending ack sequence send (len:6 is:6,041
).
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte  hex= 2
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte F hex= 46
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte F hex= 46
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte ( hex= 28
[Dec 23 11:59:11][d0]   Parsed reading (OBIS code=F.F, value=00000000, unit=)
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte
 hex= A
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte ( hex= 28
[Dec 23 11:59:11][d0]   Parsed reading (OBIS code=0.0.0, value=02538883, unit=)
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte
 hex= A
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 1 hex= 31
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte ( hex= 28
[Dec 23 11:59:11][d0]   Parsed reading (OBIS code=0.0.1, value=49660939, unit=)
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte
 hex= A
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 2 hex= 32
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte ( hex= 28
[Dec 23 11:59:11][d0]   Parsed reading (OBIS code=0.0.2, value=20052005, unit=)
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte
 hex= A
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 0 hex= 30
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte . hex= 2E
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte 3 hex= 33
[Dec 23 11:59:11][d0]   DEBUG OBIS_CODE byte ( hex= 28
[Dec 23 11:59:12][d0]   nothing received for more than 10 seconds
[Dec 23 11:59:12][d0]   read timed out!, context: 7, bytes read: 50, last byte 0x0
[Dec 23 11:59:12][mtr0] Got 0 new readings from meter:
[Dec 23 11:59:12][chn0] ==> number of tuples: 0
[Dec 23 11:59:12][chn0] JSON request body is null. Nothing to send now.


Wie könnte so ein Timing besser eingebaut werden und was kann der Grund für das Abbrechen sein?

Lieben Gruß,
Elias



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 841 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20141223/b22e5331/attachment-0001.sig>


More information about the volkszaehler-users mailing list