[vz-users] vzlogger-Problem mit sml-Protokoll und HTTP-Server

Frank Richter frank.richter83 at gmail.com
Sat Nov 2 17:47:00 CET 2019


Hast du's (nochmal) mit vollständigen Identifiern (z.B. "1-0:1.8.0")
versucht? Ansonsten sieht die Config für mich gut aus.

Grüße
Frank

Winfried Peters <winfried.peters at gmail.com> schrieb am Sa., 2. Nov. 2019,
17:26:

> So, ich bin jetzt ein paar Schritte weiter gekommen, aber immer noch ohne
> Erfolg. Die von vzlogger geparsten sml-Daten werden immer noch nicht über
> den HTTPd-Server ausgegeben.
>
> Ich habe über die PIN meines DWS74-Zählers auf den erweiterten Datensatz
> umgestellt.
> Ich habe vzlogger mit der aktuellen Version 0.8.0 compiliert, installiert,
> für meinen sml-Zähler konfiguriert und gestartet.
> Die sml-Daten meines Zählers kommen in vzlogger an. Im verbose 15-Log sehe
> ich die geparsten Werte des Zählers als Readings, jetzt auch mit Timestamp
> ts, der über den Parameter "use_local_time" geliefert wird.
> Mir fehlen im Log  die Hinweise, dass für jeden der Channel ein
> Logging-Thread gestartet wurde (Start logging thread for null-api. Running
> as daemon: yes) und die Readings auf die Queue gestellt wurden (Adding
> reading to queue..).
> Sonst ist das Log aus meiner Sicht unauffällig.
>
> So sehe ich im Browser die Daten des HTTPD-Servers:
>
> { "version": "0.8.0", "generator": "vzlogger", "data": [ { "uuid": "180a", "last": 0, "interval": -1, "protocol": "sml" }, { "uuid": "180b", "last": 0, "interval": -1, "protocol": "sml" }, { "uuid": "180c", "last": 0, "interval": -1, "protocol": "sml" } ] }
>
> Die Readings müssten dort für jeden Channel als Tupel mit Timestamp und
> Value erscheinen. Es sind aber keine Tupel da.
>
> Hier der Logauszug:
>
> [Nov 02 15:55:39][main] vzlogger v0.8.0 based on
> heads/master-0-g3c4ef603cb from Sun, 18 Aug 2019 09:36:53 +0200 started.
>
> [Nov 02 15:55:39][mtr0] Creating new meter with protocol sml.
>
> [Nov 02 15:55:39][mtr0] Meter configured, enabled.
>
> [Nov 02 15:55:39]       New meter initialized (protocol=sml)
>
> [Nov 02 15:55:39]       Configure channel.
>
> [Nov 02 15:55:39][chn0] New channel initialized (uuid=... api=null
> id=1.8.0)
>
> [Nov 02 15:55:39]       Configure channel.
>
> [Nov 02 15:55:39][chn1] New channel initialized (uuid=... api=null id=1.25)
>
> [Nov 02 15:55:39]       Configure channel.
>
> [Nov 02 15:55:39][chn2] New channel initialized (uuid=... api=null
> id=2.8.0)
>
> [Nov 02 15:55:39]       Have 1 meters.
>
> [Nov 02 15:55:39][main] log level is 15
>
> [Nov 02 15:55:39][main] daemon=1, local=1
>
> [Nov 02 15:55:39]       Daemonize process...
>
> [Nov 02 15:55:39]       Opened logfile /var/log/vzlogger.log
>
> [Nov 02 15:55:39][push] No pushDataServer defined.
>
> [Nov 02 15:55:39][]     ===> Start meters
>
> [Nov 02 15:55:39][mtr0] Meter connection established
>
> [Nov 02 15:55:39][mtr0] Meter thread started
>
> [Nov 02 15:55:39][mtr0] Meter is opened. Starting channels.
>
> [Nov 02 15:55:39][chn0] Logging thread started
>
> [Nov 02 15:55:39][chn1] Logging thread started
>
> [Nov 02 15:55:39][chn2] Logging thread started
>
> [Nov 02 15:55:39][http] Starting local interface HTTPd on port 8080
>
> [Nov 02 15:55:39][]     Startup done.
>
> [Nov 02 15:55:39][chn1] Start logging thread for null-api. Running as
> daemon: yes
>
> [Nov 02 15:55:39][chn1] Using null api- meter data available via local
> httpd if enabled.
>
> [Nov 02 15:55:39][chn2] Start logging thread for null-api. Running as
> daemon: yes
>
> [Nov 02 15:55:39][chn2] Using null api- meter data available via local
> httpd if enabled.
>
> [Nov 02 15:55:39][mtr0] Number of readers: 32
>
> [Nov 02 15:55:39][mtr0] Config.daemon: 1
>
> [Nov 02 15:55:39][mtr0] Config.local: 1
>
> [Nov 02 15:55:39][chn0] Start logging thread for null-api. Running as
> daemon: yes
>
> [Nov 02 15:55:39][chn0] Using null api- meter data available via local
> httpd if enabled.
>
> [Nov 02 15:55:40][mtr0] Got 3 new readings from meter:
>
> [Nov 02 15:55:40][mtr0] Reading:
> id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=87463.90
> ts=1572706540671
>
> [Nov 02 15:55:40][mtr0] Reading:
> id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=20243.10
> ts=1572706540671
>
> [Nov 02 15:55:40][mtr0] Reading:
> id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=341.01
> ts=1572706540671
>
> [Nov 02 15:55:41][mtr0] Got 3 new readings from meter:
>
> [Nov 02 15:55:41][mtr0] Reading:
> id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=87464.00
> ts=1572706541683
>
> [Nov 02 15:55:41][mtr0] Reading:
> id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=20243.10
> ts=1572706541683
>
> [Nov 02 15:55:41][mtr0] Reading:
> id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=343.63
> ts=1572706541683
>
> [Nov 02 15:55:42][mtr0] Got 3 new readings from meter:
>
> [Nov 02 15:55:42][mtr0] Reading:
> id=1-0:1.8.0*255/ObisIdentifier:1-0:1.8.0*255 value=87464.10
> ts=1572706542691
>
> [Nov 02 15:55:42][mtr0] Reading:
> id=1-0:2.8.0*255/ObisIdentifier:1-0:2.8.0*255 value=20243.10
> ts=1572706542691
>
> [Nov 02 15:55:42][mtr0] Reading:
> id=1-0:16.7.0*255/ObisIdentifier:1-0:16.7.0*255 value=337.48
> ts=1572706542691
>
> ....
>
>
> Hier meine vzlogger-sml-conf:
>
> // vzlogger.conf with sml (Strom)
> {
>   "daemon": true,
>   "verbosity": 15,
>   "log": "/var/log/vzlogger.log",
>   "retry": 30,                        // http retry delay in seconds
>   // Build-in HTTP server
>   "local": {
>     "enabled": true,
>     "port": 8080,
>     "index": true,
>     "timeout": 30,
>     "buffer": 3600
>   },
>   // Meter configuration
>   "meters": [
>     // sml meter (Strom)
>     {
>       "enabled": true,
>       "protocol": "sml",
>       "device": "/dev/ttyUSB0",
>       "baudrate": 9600,
>       "parity": "8n1",
>  "use_local_time": true,
>       "skip": false,
>       "channels": [
>        {
>           "uuid": "180a",
>           "identifier": "counter",         // 1.8.1 Zaehlerstand
> Wirkleistung 1-0:1.8.255*255
>           "api": "null",
>           "duplicates": 0
>        },
>        {
>           "uuid": "180b",
>           "identifier": "1.25",            // 1.25 Momentanleistung
>           "api": "null",
>           "duplicates": 0
>        },
>        {
>           "uuid": "180c",
>           "identifier": "counter-out",     // 2.8.1 Zaehlerstand Lieferg.
> 1-0:2.8.255*255
>           "api": "null",
>           "duplicates": 0
>        }
>       ]
>     }
>   ]
> }
>
>
> Hat jemand noch eine Idee, was falsch sein könnte?
>
>
> Viele Grüße
>
>
>
> Am Mi., 30. Okt. 2019 um 14:43 Uhr schrieb Winfried Peters <
> winfried.peters at gmail.com>:
>
>> Die PIN wird mir vom Netzbetreiber zugeschickt. Dann hoffe ich mal, dass
>> mit der hohen Auflösung der Timestamp mitkommt.
>>
>> Viele Grüße
>>
>> Am Mi., 30. Okt. 2019 um 11:32 Uhr schrieb Frank Richter <
>> frank.richter83 at gmail.com>:
>>
>>> Aus Zählerständen in ganzen kWh lässt sich die Leistung auch nicht
>>> sinnvoll ableiten, deswegen würde ich mich zuallererst mal um die
>>> Beschaffung der PIN und die Freischaltung der höheren Auflösung kümmern.
>>>
>>> DZG ist glaub ich schonmal mit einer problematischen SML-Implementierung
>>> aufgefallen.
>>>
>>> Grüße
>>> Frank
>>>
>>> Winfried Peters <winfried.peters at gmail.com> schrieb am Mi., 30. Okt.
>>> 2019, 10:44:
>>>
>>>> Es ist ein Zähler von DZG vom Typ DWS7412.2T. Er pusht periodisch jede
>>>> Sekunde ein Telegramm in SML 1.05-SML-frame Version 1, 9600 Bd, 8-N-1.
>>>> Über die DZG Software "DZG Meter View" kann ich die Daten auslesen. Das
>>>> Programm kann auch die Leistungen über die Zeit in einem Diagramm
>>>> darstellen. Das Diagramm bleibt aber leer. Was zu der Vermutung führt, dass
>>>> keine Zeitstempel übertragen werden, so wie es vzlogger ja auch ausweist.
>>>> Ich habe eine Anfrage an DZG gestellt, ob das ein Fehler in der verbauten
>>>> Firmware ist.
>>>>
>>>> Viele Grüße
>>>>
>>>>
>>>> Am Di., 29. Okt. 2019 um 23:02 Uhr schrieb Frank Richter <
>>>> frank.richter83 at gmail.com>:
>>>>
>>>>> Von welchem Zählertyp reden wir eigentlich?
>>>>>
>>>>> Grüße
>>>>> Frank
>>>>>
>>>>> Am Di., 29. Okt. 2019 um 21:17 Uhr schrieb Winfried Peters <
>>>>> winfried.peters at gmail.com>:
>>>>>
>>>>>> Ich habe Daniels Konfigurationsvorschläge (identfier 1.8.0 und 2.8.0
>>>>>> ) getestet , mit dem gleichen (negativen) Ergebnis.
>>>>>> count und count-out sind übrigens von vzlogger unterstützte
>>>>>> OBIS-Aliase, die funktionieren (siehe vzlogger -h).
>>>>>> use_local_time kann ich leider in meiner alten vzlogger-Version nicht
>>>>>> nutzen.
>>>>>> Konfigurationsfehler sehe ich bisher nicht und meine These, bei ts=0
>>>>>> keine Werte-Tupelübergabe an HTTPd, hat bisher auch noch keiner widerlegt.
>>>>>>
>>>>>> Viele Grüße
>>>>>>
>>>>>> Am Di., 29. Okt. 2019 um 20:41 Uhr schrieb Stefan Bauer <
>>>>>> spam at stefan-bauer.net>:
>>>>>>
>>>>>>> Nein, am Timestamp Wirtes nich liegen, sondern an der falschen
>>>>>>> Konfiguration, wie Daniel schon in seinem ersten Post geschrieben hat...
>>>>>>>
>>>>>>> Stefan
>>>>>>>
>>>>>>> Von meinem iPad gesendet
>>>>>>>
>>>>>>> Am 29.10.2019 um 20:39 schrieb Winfried Peters <
>>>>>>> winfried.peters at gmail.com>:
>>>>>>>
>>>>>>> 
>>>>>>> Ich brauch den Timestamp nicht, aber vielleicht HTTPd. Mein Problem
>>>>>>> ist, dass keine SML-Werte-Tupel an HTTPd übergeben werden und ich sie
>>>>>>> demnach nicht abfragen kann.
>>>>>>> Ich stelle nur Vermutungen über mögliche Ursachen an. Mir fällt im
>>>>>>> Log auf, dass Werte mit Timestamp an HTTPd übergeben werden, Werte mit ts=0
>>>>>>> nicht.
>>>>>>> Also könnte der fehlende Timestamp eine Ursache sein, die ich leider
>>>>>>> nicht mit dem use_local_time überprüfen kann.
>>>>>>>
>>>>>>> Viele Grüße
>>>>>>>
>>>>>>> Am Di., 29. Okt. 2019 um 19:57 Uhr schrieb Frank Richter <
>>>>>>> frank.richter83 at gmail.com>:
>>>>>>>
>>>>>>>> Brauchst du den Timestamp denn unbedingt, wenn du die Daten eh nur
>>>>>>>> vom httpd abholst?
>>>>>>>>
>>>>>>>> Am Di., 29. Okt. 2019 um 19:37 Uhr schrieb Winfried Peters <
>>>>>>>> winfried.peters at gmail.com>:
>>>>>>>>
>>>>>>>>> Ojeh, gerade das wollte ich mir nicht antun. Ich hatte vor einigen
>>>>>>>>> Monaten schon mal einen Anlauf gemacht, ein Cross-Compile für Udo's
>>>>>>>>> YPORT+-Logger durchzuführen. Habe den Versuch aber aufgegeben (es ist mir
>>>>>>>>> nicht gelungen Dependencies, z.B. zu libsml, aufzulösen). Udo hatte mir vor
>>>>>>>>> ein paar Jahren schon mal mit einem neuen Image aus der Patsche geholfen.
>>>>>>>>> Ich hatte Udo angeschrieben. Aber er scheint nicht mehr aktiv zu sein.
>>>>>>>>>
>>>>>>>>> use_local_time funktioniert nicht, hatte ich gerade getestet.
>>>>>>>>> Jetzt weiss ich auch warum.
>>>>>>>>>
>>>>>>>>> Dann bleiben mir noch zwei Optionen:
>>>>>>>>> - ich schaffe mir einen Rasberry Pi an und bringe dort die
>>>>>>>>> aktuelle vzlogger-Version drauf
>>>>>>>>> - oder ich versuche mich nochmal am Cross-Compile.
>>>>>>>>>
>>>>>>>>> Viele Grüße
>>>>>>>>>
>>>>>>>>> Am Di., 29. Okt. 2019 um 19:02 Uhr schrieb Frank Richter <
>>>>>>>>> frank.richter83 at gmail.com>:
>>>>>>>>>
>>>>>>>>>> Hi,
>>>>>>>>>>
>>>>>>>>>> Am Di., 29. Okt. 2019 um 14:06 Uhr schrieb Daniel Lauckner <
>>>>>>>>>> vz at jahp.de>:
>>>>>>>>>>
>>>>>>>>>>> Und für SML-Zähler die beim timestamp murksen gibts die Option
>>>>>>>>>>> "use_local_time"
>>>>>>>>>>>
>>>>>>>>>>> https://wiki.volkszaehler.org/software/controller/vzlogger/vzlogger_conf_parameter?s[]=use_local_time#sml
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> allerdings noch nicht in 0.6.0. Da wirst du neu compilieren
>>>>>>>>>> müssen.
>>>>>>>>>>
>>>>>>>>>> Grüße
>>>>>>>>>> Frank
>>>>>>>>>>
>>>>>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20191102/83e152dd/attachment-0001.html>


More information about the volkszaehler-users mailing list