Seite 1 von 1

EVU Modul: vzlogger über MQTT anbinden

Verfasst: Di Jun 15, 2021 4:00 pm
von nirbhay
Hallo zusammen,

ich lese meinen EVU Zähler über einen IR Lesekopf mit vzlogger aus. Das funktioniert wunderbar und ich bekomme auch noch viel mehr Werte geliefert, als diese drei, die in der Modulkonfiguration EVU im Bezugsmodul vzlogger oder JSON übergeben werden. Es gibt ja auch das Bezugsmodul MQTT, dem ich die ganzen anderen Werte übergeben könnte:

openWB/set/evu/W Bezugsleistung in Watt, int, positiv Bezug, negativ Einspeisung
openWB/set/evu/APhase1 Strom in Ampere für Phase 1, float, Punkt als Trenner, positiv Bezug, negativ Einspeisung
openWB/set/evu/APhase2 Strom in Ampere für Phase 2, float, Punkt als Trenner, positiv Bezug, negativ Einspeisung
openWB/set/evu/APhase3 Strom in Ampere für Phase 3, float, Punkt als Trenner, positiv Bezug, negativ Einspeisung
openWB/set/evu/WhImported Bezogene Energie in Wh, float, Punkt als Trenner, nur positiv
openWB/set/evu/WhExported Eingespeiste Energie in Wh, float, Punkt als Trenner, nur positiv
openWB/set/evu/VPhase1 Spannung in Volt für Phase 1, float, Punkt als Trenner
openWB/set/evu/VPhase2 Spannung in Volt für Phase 2, float, Punkt als Trenner
openWB/set/evu/VPhase3 Spannung in Volt für Phase 3, float, Punkt als Trenner
openWB/set/evu/HzFrequenz Netzfrequenz in Hz, float, Punkt als Trenner

Prinzipiell scheint der vzlogger als MQTT Client einsetzbar zu sein, nur happert es bei mir an der Konfigurationserfahrung. Die Channels mit den OBIS identifiern könnte ich noch anlegen, aber wie geht es dann weiter? Hat jemand damit schon Erfahrung und kann seine vzlogger.conf als Vorlage posten? Oder bin ich der erste, der auf diese Idee kommt?

Schöne Grüße

Roger

Re: EVU Modul: vzlogger über MQTT anbinden

Verfasst: Di Jun 15, 2021 7:40 pm
von derNeueDet
Welche Werte bekommst du denn alle aus dem VZLogger bei dir raus?
Man könnte ja auch das EVU Json Modul noch weiter ausbauen.

VG
Det

Re: EVU Modul: vzlogger über MQTT anbinden

Verfasst: Di Jun 15, 2021 7:51 pm
von nirbhay
Das ist die Ausgabe an der D0 Schnittstelle:

/LOG5LK13BE803039

1-0:96.1.0*255(001LOG0065613782)
1-0:1.8.0*255(000000.0270*kWh)
1-0:2.8.0*255(000008.6522*kWh)
1-0:16.7.0*255(000079*W)
1-0:32.7.0*255(230.3*V)
1-0:52.7.0*255(230.8*V)
1-0:72.7.0*255(231.1*V)
1-0:31.7.0*255(000.53*A)
1-0:51.7.0*255(000.29*A)
1-0:71.7.0*255(000.27*A)
1-0:81.7.1*255(117*deg)
1-0:81.7.2*255(234*deg)
1-0:81.7.4*255(045*deg)
1-0:81.7.15*255(085*deg)
1-0:81.7.26*255(085*deg)
1-0:14.7.0*255(49.9*Hz)
1-0:1.8.0*96(00000.0*kWh)
1-0:1.8.0*97(00000.0*kWh)
1-0:1.8.0*98(00000.0*kWh)
1-0:1.8.0*99(00000.0*kWh)
1-0:1.8.0*100(00000.0*kWh)
1-0:0.2.0*255(ver.03,432F,20170504)
1-0:96.90.2*255(0F66)
1-0:97.97.0*255(00000000)
!

Also alles dabei. Die Leistung auf den einzelnen Phasen ist leider in 1/10 kWh etwas grob, liese sich aber über Spannung mal Stromstärke berechnen. Damit könnte man dann erkennen, ob man einen Phasenschiefstand hat und kann Maßnahmen ergreifen, wie z.B. die Phasen am Ladepunkt drehen.

Re: EVU Modul: vzlogger über MQTT anbinden

Verfasst: Mi Jun 16, 2021 2:51 pm
von nirbhay
derNeueDet hat geschrieben: Di Jun 15, 2021 7:40 pm Welche Werte bekommst du denn alle aus dem VZLogger bei dir raus?
Man könnte ja auch das EVU Json Modul noch weiter ausbauen.

VG
Det
Wer könnte das machen? Ich selbst traue mir das nicht zu. Bin schon einige Zeit aus der Entwicklerecke raus.

Re: EVU Modul: vzlogger über MQTT anbinden

Verfasst: Mi Jun 16, 2021 2:57 pm
von derNeueDet
Ist ein Stück weit Copy und Paste.

Sind halt ne Menge Werte, die da rein sollen (können).

Ich muss mal in meinem VZlogger schauen, was mein Zähler alles aus gibt. Ich glaub selbst mit PIN ist der nicht so gesprächig.

Machbar ist das, aber ich komm da aktuell auch nicht dazu.

Verwendest du das JSON Modul für den VZLogger oder das vzlogger Modul?

Ausserdem soll bald die V2 der openWB Software kommen, ich hab keine richtige Lust jetzt Aufwand zu treiben und nachher ändert sich was.

VG
Det

Re: EVU Modul: vzlogger über MQTT anbinden

Verfasst: Mi Jun 16, 2021 4:59 pm
von nirbhay
derNeueDet hat geschrieben: Mi Jun 16, 2021 2:57 pm Verwendest du das JSON Modul für den VZLogger oder das vzlogger Modul?
Das geht bei mir nur über JSON, weil ich die Zählerstände in kWh habe, die müssen mal 1000 genommen werden.

separates Skript

Verfasst: Sa Jun 19, 2021 5:07 pm
von nirbhay
Hi,

heute habe ich ein kleines Script geschrieben, das ich über "wait n -1" aufrufe, so daß es jede Sekunde startet und den vzlogger HTTPD abfragt und die Werte dann gleich mit mosquitto_pub an den MQTT Broker von OpenWB sendet. Wenn ich dann das MQTT Bezugsmodul in den OpenWB Einstellungen wähle, dann kommen alle Werte rein. So kann ich sehen, ob ich einen Lastschiefstand in den Phasen habe, dass rechnet OpenWB wohl automatisch aus, denn ich habe gelegentlich schon eine 1 dort auftauchen gesehen.
Status.jpg
und heir das Skript:

Code: Alles auswählen

#!/bin/bash
mosquitto_pub -d -r -t \openWB/set/evu/W -m $(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e2 | jq ".data[] | .tuples[0][1]")
APhase1=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e3 | jq ".data[] | .tuples[0][1]")
APhase2=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e4 | jq ".data[] | .tuples[0][1]")
APhase3=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e5 | jq ".data[] | .tuples[0][1]")
mosquitto_pub -d -r -t \openWB/set/evu/APhase1 -m $APhase1
mosquitto_pub -d -r -t \openWB/set/evu/APhase2 -m $APhase2
mosquitto_pub -d -r -t \openWB/set/evu/APhase3 -m $APhase3
value=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e0 | jq ".data[] | .tuples[0][1]")
mosquitto_pub -d -r -t \openWB/set/evu/WhImported -m $(echo 1000*$value | bc)
value=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e1 | jq ".data[] | .tuples[0][1]")
mosquitto_pub -d -r -t \openWB/set/evu/WhExported -m $(echo 1000*$value | bc)
VPhase1=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e6 | jq ".data[] | .tuples[0][1]")
VPhase2=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e7 | jq ".data[] | .tuples[0][1]")
VPhase3=$(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e8 | jq ".data[] | .tuples[0][1]")
mosquitto_pub -d -r -t \openWB/set/evu/VPhase1 -m $VPhase1
mosquitto_pub -d -r -t \openWB/set/evu/VPhase2 -m $VPhase2
mosquitto_pub -d -r -t \openWB/set/evu/VPhase3 -m $VPhase3
mosquitto_pub -d -r -t \openWB/set/evu/HzFrequenz -m $(curl -s 127.0.0.1:8080/22493760-5cd1-11eb-9242-8decb15448e9 | jq ".data[] | .tuples[0][1]")

echo -$APhase1*$VPhase1| bc > /var/www/html/openWB/ramdisk/bezugw1
echo -$APhase2*$VPhase2| bc > /var/www/html/openWB/ramdisk/bezugw2
echo -$APhase3*$VPhase3| bc > /var/www/html/openWB/ramdisk/bezugw3
Was jetzt noch fehlt, wäre, das Skript vernünftig als Service anzulegen, damit ich es nicht über die Konsole mit dem wait-Befehl jedesmal starten muss. Das werde ich aber auch noch hinbekommen.

Servus und sonnige Grüße,

Roger

Re: EVU Modul: vzlogger über MQTT anbinden

Verfasst: Fr Jul 02, 2021 1:40 pm
von nirbhay
Ich starte das Skript mittlerweile über die crontab analog zur regel.sh:

Code: Alles auswählen

* * * * * sleep 10 && /home/pi/d0pubMqtt.sh  >> /var/log/openWB.log 2>&1
* * * * * sleep 20 && /home/pi/d0pubMqtt.sh  >> /var/log/openWB.log 2>&1
* * * * * sleep 30 && /home/pi/d0pubMqtt.sh  >> /var/log/openWB.log 2>&1
* * * * * sleep 40 && /home/pi/d0pubMqtt.sh  >> /var/log/openWB.log 2>&1
* * * * * sleep 50 && /home/pi/d0pubMqtt.sh  >> /var/log/openWB.log 2>&1
* * * * * sleep 2 && /var/www/html/openWB/regel.sh >> /var/log/openWB.log 2>&1
* * * * * sleep 12 && /var/www/html/openWB/regel.sh >> /var/log/openWB.log 2>&1
* * * * * sleep 22 && /var/www/html/openWB/regel.sh >> /var/log/openWB.log 2>&1
* * * * * sleep 32 && /var/www/html/openWB/regel.sh >> /var/log/openWB.log 2>&1
* * * * * sleep 42 && /var/www/html/openWB/regel.sh >> /var/log/openWB.log 2>&1
* * * * * sleep 52 && /var/www/html/openWB/regel.sh >> /var/log/openWB.log 2>&1
und auf die Berechnung der phasenspezifischen Bezugswerte verzichte ich, das haut mit den Vorzeichen leider nicht hin, denn die Phasen-Stromstärken vom Zähler kommen ohne Vorzeichen, so dass man nicht klar sagen kann, wo Strom bezogen und wo er eingespeist wird. Sogar nachts kommt es zu Schiefständen, wo eine oder mehrere Phasen Strom einspeisen während auf einer oder mehreren anderen Phasen Strom gezogen wird.