Hallo zusammen,
ich plane gerade, meinen Stromzähler / PV-Erzeugung ins ZWAY einzubinden, um Geräte bei PV-Überschuss anzuschalten...
Hat jemand von Euch Vorschläge, wie das am besten gelingt?
Hat jemand schon den Powerfox eingebunden? Wäre eine einfache Lösung, den Zähler direkt auszulesen. Alternativ ggf. Qubinho 3-Phase Smart Meter, hier müsste das ganze dann natürlich entsprechend elektrisch integriert werden.
Stromzähler / PV auslesen / Powerfox
-
- Posts: 28
- Joined: 08 Mar 2017 22:01
Re: Stromzähler / PV auslesen / Powerfox
Hey!
Es gibt eine schöne Beschreibung direkt vom Hersteller für die Integration in OpenHab. Das könnte man mit der HTTP-App versuchen nachzubauen.
Alternativ mach ich das oft über einfache CURL-Abfragen die ich in der App „virtuelles Gerät (Javascript)“ oder im Easy Scripting ausführe.
Was ich auch habe für zB. die Integration von meiner WP oder dem Fronius WR: parallel am Rapsberry läuft eine OpenHab-Installation und dort sind die fertigen Bindings vorhanden/konfiguriert. Über einfache HTTP-Abfragen lese ich mir die Werte im Z-Way ein. Wieder als virtuelles Gerät mit z.B. folgendem Code:
system("curl -s 'http://localhost:8080/rest/items/temper ... turn/state' -u oh.zway.apFwKNRlM2rrIBGhAiKFEuXuM03EpxZv67WkayYThl9U7CCIyZb0h0x51TpOGsjqpNa7kcxhz7uB3vg:")[1]
Es gibt eine schöne Beschreibung direkt vom Hersteller für die Integration in OpenHab. Das könnte man mit der HTTP-App versuchen nachzubauen.
Alternativ mach ich das oft über einfache CURL-Abfragen die ich in der App „virtuelles Gerät (Javascript)“ oder im Easy Scripting ausführe.
Was ich auch habe für zB. die Integration von meiner WP oder dem Fronius WR: parallel am Rapsberry läuft eine OpenHab-Installation und dort sind die fertigen Bindings vorhanden/konfiguriert. Über einfache HTTP-Abfragen lese ich mir die Werte im Z-Way ein. Wieder als virtuelles Gerät mit z.B. folgendem Code:
system("curl -s 'http://localhost:8080/rest/items/temper ... turn/state' -u oh.zway.apFwKNRlM2rrIBGhAiKFEuXuM03EpxZv67WkayYThl9U7CCIyZb0h0x51TpOGsjqpNa7kcxhz7uB3vg:")[1]
Re: Stromzähler / PV auslesen / Powerfox
Du willst den Stromzähler per Optokoppler auslesen?
Da gibt es außer Powerfox noch andere Anbieter, z.B. Weidmann Emlog, Klax, IR-Lesekopf für Smart Meter mit Tasmota-Firmware, ....
Wenn dein Zähler DIN EN 62056-21 spricht (mit zeichenweiser Ausgabe), geht es auch ganz einfach: Auslesen per bash Skript und Weitergeben per curl an Z-Way. Beispiel siehe hier: https://github.com/piet66-peb/read_LOGAREX.
Falls der Zähler auch die Einspeisung misst, brauchst du vielleicht nicht einmal die PV zu loggen.
Natürlich nicht vergleichbar mit einem Komplettsystem wie Powerfox.
Da gibt es außer Powerfox noch andere Anbieter, z.B. Weidmann Emlog, Klax, IR-Lesekopf für Smart Meter mit Tasmota-Firmware, ....
Wenn dein Zähler DIN EN 62056-21 spricht (mit zeichenweiser Ausgabe), geht es auch ganz einfach: Auslesen per bash Skript und Weitergeben per curl an Z-Way. Beispiel siehe hier: https://github.com/piet66-peb/read_LOGAREX.
Falls der Zähler auch die Einspeisung misst, brauchst du vielleicht nicht einmal die PV zu loggen.
Natürlich nicht vergleichbar mit einem Komplettsystem wie Powerfox.
Raspberry Pi 3 Model B Rev 1.2
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Re: Stromzähler / PV auslesen / Powerfox
Hallo Piet, besten Dank schonmal für die Infos. Dein Vorschlag klingt schonmal sehr passend. Die Lösung von HoferSackal wäre ebenfalls denkbar.
Re: Stromzähler / PV auslesen / Powerfox
Hallo Piet,
habe gerade dein Script übernommen und soweit angepasst. Was für ein Virtuelles ZWave Gerät muss ich denn anlgen?
habe gerade dein Script übernommen und soweit angepasst. Was für ein Virtuelles ZWave Gerät muss ich denn anlgen?
Re: Stromzähler / PV auslesen / Powerfox
Mit dem curl Kommando kannst du jedes beliebiges virtuelles ZWay Gerät ansteuern und beschreiben. Siehe ZAutomation API im ZWay Manual.
Du musst in ZWay für jedes Datum (Zählerstand, aktueller Verbrauch, Einspeisung, ...), dass du auslesen und weitergeben willst, ein solches Gerät erstellen, zweckmäßigerweise vom Typ sensorMultilevel. Die ID gibst du dann in curl als TARGETDEVICE an.
Wie du so einen Multilevel Sensor erzeugst, kann ich dir im Augenblick nicht sagen. Vielleicht gibt es standardmäßig eine App, mit der man das machen kann. Die App 'DummyDevice' erzeugt meines Wissens nur Multilevel Switches, mit denen es notfalls auch ginge. Ist aber etwas unschön.
Wenn es nichts Passendes gibt, könnte ich meine App MXEnhancedDevice zur Verfügung stellen.
Du musst in ZWay für jedes Datum (Zählerstand, aktueller Verbrauch, Einspeisung, ...), dass du auslesen und weitergeben willst, ein solches Gerät erstellen, zweckmäßigerweise vom Typ sensorMultilevel. Die ID gibst du dann in curl als TARGETDEVICE an.
Wie du so einen Multilevel Sensor erzeugst, kann ich dir im Augenblick nicht sagen. Vielleicht gibt es standardmäßig eine App, mit der man das machen kann. Die App 'DummyDevice' erzeugt meines Wissens nur Multilevel Switches, mit denen es notfalls auch ginge. Ist aber etwas unschön.
Wenn es nichts Passendes gibt, könnte ich meine App MXEnhancedDevice zur Verfügung stellen.
Raspberry Pi 3 Model B Rev 1.2
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Re: Stromzähler / PV auslesen / Powerfox
Virtuelles Gerät SensorMultilevel kann man mit der App VirtuellesGeärt (Javascript) erstellen. Das habe ich auch gemacht.
Zu deinem Script und meinem Verständnis:
- UDEV Regel erstellt
- Dein Script von Github auf den Pi kopiert
- store_zway.bash meine Daten eingetragen
- was muss ich in read_logarex.bash noch anpassen? Wenn ich das Script mit ./read_LOGAREX.bash >/dev/null 2>&1 & starte, bekomme ich einen Wert zurück (der zumindest seit gestern stetig steigt bei jedem erneuten ausführen
Wenn ich regelmäßige Werte möchte, muss ich vermutlich den cron nehmen
- ./settings habe ich meinen den Namen meins Zählers eingetragen
Muss ich, wenn ich nur an Zway will, noch eine RoundRobin Datenbank einrichten?
Wie starte ich denn z.B. das Script 11_get_procid.bash (in deiner Readme steht starten - leider bin ich da noch nicht so bewandert, das sich den Befehl kenne. Mit ./ script hat es nicht funktioniert).
Zu deinem Script und meinem Verständnis:
- UDEV Regel erstellt
- Dein Script von Github auf den Pi kopiert
- store_zway.bash meine Daten eingetragen
- was muss ich in read_logarex.bash noch anpassen? Wenn ich das Script mit ./read_LOGAREX.bash >/dev/null 2>&1 & starte, bekomme ich einen Wert zurück (der zumindest seit gestern stetig steigt bei jedem erneuten ausführen
Wenn ich regelmäßige Werte möchte, muss ich vermutlich den cron nehmen
- ./settings habe ich meinen den Namen meins Zählers eingetragen
Muss ich, wenn ich nur an Zway will, noch eine RoundRobin Datenbank einrichten?
Wie starte ich denn z.B. das Script 11_get_procid.bash (in deiner Readme steht starten - leider bin ich da noch nicht so bewandert, das sich den Befehl kenne. Mit ./ script hat es nicht funktioniert).
Re: Stromzähler / PV auslesen / Powerfox
Ich sehe schon, für einen Linux Neuling ist das ziemlich schwierig.
11_get_procid.bash startet man im Zielverzeichnis mit ./11_get_procid.bash. Das Script zeigt das kill-Kommando und das Start-Kommando an, die du dann ausführen kannst. Vor jedem neuen Test solltest du mit 'killall -i -g read_LOGAREX.bash' eine eventuell laufende Version abbrechen.
Eigentliches Ziel des Projekts war, die Zählerdaten in einer Datenbank zu loggen. Die Weitergabe an ZWay war nur ein Nebenprodukt.
Es muss alles raus, was die Datenbank betrifft. Hast du in read_logarex.bash schon was geändert? Lade doch mal deine angepassten Dateien hoch, damit ich sie mir ansehen kann.
Was hasst du für einen Zähler? Welche Daten liefert er?
Das kannst du mit dem Kommando ./test.bash aus dem Verzeichnis 'test' anzeigen? (Gegebenenfalls vorher das Gerät DEV anpassen.)
Wenn du das Kommando ./read_LOGAREX.bash ohne die Umleitung '>' und ohne '&' eingibst, kannst du mitlesen, was es macht. Abbrechen mit Ctrl-C + hinterher killall ...
11_get_procid.bash startet man im Zielverzeichnis mit ./11_get_procid.bash. Das Script zeigt das kill-Kommando und das Start-Kommando an, die du dann ausführen kannst. Vor jedem neuen Test solltest du mit 'killall -i -g read_LOGAREX.bash' eine eventuell laufende Version abbrechen.
Eigentliches Ziel des Projekts war, die Zählerdaten in einer Datenbank zu loggen. Die Weitergabe an ZWay war nur ein Nebenprodukt.
Es muss alles raus, was die Datenbank betrifft. Hast du in read_logarex.bash schon was geändert? Lade doch mal deine angepassten Dateien hoch, damit ich sie mir ansehen kann.
Was hasst du für einen Zähler? Welche Daten liefert er?
Das kannst du mit dem Kommando ./test.bash aus dem Verzeichnis 'test' anzeigen? (Gegebenenfalls vorher das Gerät DEV anpassen.)
Wenn du das Kommando ./read_LOGAREX.bash ohne die Umleitung '>' und ohne '&' eingibst, kannst du mitlesen, was es macht. Abbrechen mit Ctrl-C + hinterher killall ...
Raspberry Pi 3 Model B Rev 1.2
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Re: Stromzähler / PV auslesen / Powerfox
Ich habe jetzt das Ganze überarbeitet. Es funktioniert nun auch ohne die Datenbankteile rauszuwerfen.
Übernimm alle Dateien mit Version >=V3.0.0 und trage in settings deine Parameter ein. Dann sollte es schon gehen.
Übernimm alle Dateien mit Version >=V3.0.0 und trage in settings deine Parameter ein. Dann sollte es schon gehen.
Raspberry Pi 3 Model B Rev 1.2
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Raspbian GNU/Linux 10 (buster, 32bit)
RaZberry by Z-Wave.Me(327) ZW0700 7.21.00 07.42/1766938484 1025/257
Z-Way version v4.1.2 from 2023-10-18 03:34:26 +0300
Re: Stromzähler / PV auslesen / Powerfox
Besten Dank für deine Mühe. Bin jetzt viele Schritte weiter. Scripte starten geht (seitdem ich die Rechte mit chmod 744 geändert habe).
Habe die settings Datei entsprechend angepasst, wenn ich das Script mit ./read_LOGAREX.bash starte sehe ich, dass er nach und nach Werte aufruft. In dem CodeDevice Element in Zway kommt aber leider nichts an.
______
Hier die Ausgabe vom Script
______________
invoke pull loop
next_run=
--- next request in 0 seconds...
listening to /dev/LOGAREX with 300 baud...
--- next request in 300 seconds...
@FN8pGc
PGc
pbRnc8g~PGc
PGc
pGc
pbRnc8G~pGc
pGc
PGc
pbR0c8G~PGc
pGc
PGc
PbR0c8g~PGc
PGc
pGc
PbRnc8G~pGc
PGc
pGc
pbR0c8g~pGc
pGc
^C
___________________
Ausgabe vom Install-Script
___________________
./00_install_read_LOGAREX.bash
PACKET_NAME=read_LOGAREX
PACKET_PATH=/home/pi/Logarex
PACKET_DIR=Logarex
./00_install_read_LOGAREX.bash: line 33: umask a+rw: command not found
Habe die settings Datei entsprechend angepasst, wenn ich das Script mit ./read_LOGAREX.bash starte sehe ich, dass er nach und nach Werte aufruft. In dem CodeDevice Element in Zway kommt aber leider nichts an.
______
Hier die Ausgabe vom Script
______________
invoke pull loop
next_run=
--- next request in 0 seconds...
listening to /dev/LOGAREX with 300 baud...
--- next request in 300 seconds...
@FN8pGc
PGc
pbRnc8g~PGc
PGc
pGc
pbRnc8G~pGc
pGc
PGc
pbR0c8G~PGc
pGc
PGc
PbR0c8g~PGc
PGc
pGc
PbRnc8G~pGc
PGc
pGc
pbR0c8g~pGc
pGc
^C
___________________
Ausgabe vom Install-Script
___________________
./00_install_read_LOGAREX.bash
PACKET_NAME=read_LOGAREX
PACKET_PATH=/home/pi/Logarex
PACKET_DIR=Logarex
./00_install_read_LOGAREX.bash: line 33: umask a+rw: command not found