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

Winfried Peters winfried.peters at gmail.com
Sun Nov 3 12:34:21 CET 2019


Das ist aber in der Wiki-Dokumentation der vzlogger-Parameter so explizit
nicht dokumentiert. Dann wäre es ein nützliches Feature-Request von mir :-)

Viele Grüße

Am So., 3. Nov. 2019 um 10:51 Uhr schrieb Frank Richter <
frank.richter83 at gmail.com>:

> "duplicates" ist nur fürs "volkszaehler"-API implementiert.
>
> Grüße
> Frank
>
> Winfried Peters <winfried.peters at gmail.com> schrieb am So., 3. Nov. 2019,
> 10:14:
>
>> Ich werde ein Issue aufmachen - und wenn ich schon mal dabei bin, auch
>> eins für den Parameter "duplicates", der auch nicht funktioniert.
>>
>> Viele Grüße
>>
>> Am Sa., 2. Nov. 2019 um 22:52 Uhr schrieb Andreas Götz <cpuidle at gmail.com
>> >:
>>
>>> Machst Du ein Issue auf? Das sollte so nicht sein...
>>>
>>> Viele Grüße,
>>> Andreas
>>>
>>> Am 02.11.2019 um 21:11 schrieb Winfried Peters <
>>> winfried.peters at gmail.com>:
>>>
>>> 
>>> Das war's. Mit voll qualifiziertem Identifier "1-0:1.8.0" funktioniert
>>> es, mit "1.8.0" oder den Alias "Counter" nicht. ts=0 war nicht die Ursache.
>>> Es geht auch ohne Timestamp.
>>>
>>> Anscheinend sind die Protokolle D0 und sml für HTTPd etwas
>>> unterschiedlich implementiert: Bei "D0" funktioniert "1.8.0", bei sml
>>> nicht. Ebenso funktionieren bei sml die Aliase nicht, obwohl das die
>>> vzlogger-Hilfe sagt und in den Beispiel-Konfiguration auch angegeben ist.
>>>
>>> Nochmal vielen Dank für den entscheidenden Tipp.
>>>
>>> Viele Grüße
>>>
>>> Am Sa., 2. Nov. 2019 um 17:52 Uhr schrieb Frank Richter <
>>> frank.richter83 at gmail.com>:
>>>
>>>> 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/20191103/e31274cd/attachment-0001.html>


More information about the volkszaehler-users mailing list