[vz-users] vzlogger-Problem mit sml-Protokoll und HTTP-Server
Winfried Peters
winfried.peters at gmail.com
Sat Nov 2 17:26:19 CET 2019
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/76e091aa/attachment-0001.html>
More information about the volkszaehler-users
mailing list