Anbindung von SolarView

Anfragen zum Erstellen von Modulen, Fragen zu Modulen
Antworten
openwb-user
Beiträge: 6
Registriert: Di Sep 03, 2019 6:03 am

Anbindung von SolarView

Beitrag von openwb-user » Fr Sep 06, 2019 7:12 am

Hallo zusammen,

ich arbeite an einem Modul zur Anbindung von SolarView und habe dazu einige Fragen.

Kernfunkion von SolarView ist die Erfassung und Visualisierung von PV-Daten. Enthalten ist auch ein TCP-Server, der u.a. folgende Werte zur Verfügung stellt:
  • Gesamte PV-Anlage: Leistung (W), Energie (kWh)
  • Je Wechselrichter: Leistung, Energie, Temperatur (°C)
  • Je MPP-Tracker jedes Wechselrichters: Spannung (V), Strom (A)
  • Einspeisung ins Netz: Leistung, Energie
  • Bezug aus dem Netz: Leistung, Energie
Für die Energie wird dabei jeweils pro Tag, Monat, Jahr und die Gesamtsumme ein einzelner Wert geliefert.

Aus den bestehenden Modulen und der README konnte ich nicht zweilfelsfrei entnehmen, wohin die Werte geschrieben werden sollen. Folgende Dateien unter /var/www/html/openWB/ramdisk habe ich gefunden und als möglicherweise relevant identifiziert:
  • PV-Anlage: daily_pvkwhk, monthly_pvkwhk, yearly_pvkwhk, pvkwhk, pvwatt
  • Wechselrichter 1: daily_pvkwhk1, monthly_pvkwhk1, yearly_pvkwhk1, pvkwhk1, pvwatt1
  • Wechselrichter 2: daily_pvkwhk2, monthly_pvkwhk2, yearly_pvkwhk2, pvkwhk2, pvwatt2
  • Einspeisung: einspeisungkwh, evuw, evuv1, evueinspeisungWh
  • Bezug: bezugkwh, bezugwatt, evubezugWh
Außerdem habe ich die Dateien pva1, pva2, pva3 gefunden und vermute, dass sie jeweils für den Strom eines einzelnen Wechselrichters gedacht sind. Diesen Wert liefert SolarView aber nicht je Wechselrichter, sondern je MPP-Tracker, also ein- bis dreimal. Hier weiß ich nicht so recht, wie damit am Besten umzugehen ist.

Meine Fragen:
  1. Sollte die Integration über ein einziges openWB-Modul (z.B. solarview) oder über separate Module je Thema (z.B. wr_solarview, bezug_solarview) abgebildet werden?
  2. Welche der von SolarView angebotenen Werte sind im Kontext von openWB relevant?
  3. Welche Dateien sollen geschrieben werden?
  4. Soll das Modul einen Wert zurückgeben? Wenn ja, welchen?
  5. Sind neben dem Schreiben des Moduls weitere Arbeiten für die Integration erforderlich?
  6. Gegen welchen Branch soll ggf. ein Pull-Request gestellt werden?
Ich habe die Arbeit im Branch feature/solarview begonnen und eine beispielhafte Ausgabe unter Berücksichtigung von debug=1 erstellt:
demo.log
(2.79 KiB) 5-mal heruntergeladen

- Christian
Zuletzt geändert von openwb-user am Di Sep 10, 2019 4:11 pm, insgesamt 1-mal geändert.

snaptec
Site Admin
Beiträge: 971
Registriert: So Okt 07, 2018 1:50 pm

Re: Anbindung von SolarView

Beitrag von snaptec » Sa Sep 07, 2019 7:04 am

Hallo Christian,

Zu1.
Das gibt mehrere Module.
Wenn EVU als Beispiel definiert ist wird dafür sonst ein fester Wert hinterlegt.
Heißt das muss aufgesplittet werden
Zu2.
PV Werte:
Für die Regelung relevant:
PV Leistung in Watt, Erzeugung ist negativ, Beispiel:

Code: Alles auswählen

-3493
ramdisk/pvwatt
Für das Logging interessant:
PV Ertrag Gesamt in Wh, keine 1000er Trennung, Kommaseparierung mit .(Punkt), Beispiel:

Code: Alles auswählen

29193435.5469
ramdisk/pvkwh
EVU Werte:
Netzübergabepunkt in Watt, Einspeisung ist negativ, Beispiel:

Code: Alles auswählen

-3958
4837
ramdisk/wattbezug
Ampere je phase am Übergabepunkt, wird benötigt für das Lastmanagement:

Code: Alles auswählen

2.4586
ramdisk/bezuga1
ramdisk/bezuga2
ramdisk/bezuga3
Für das Logging:
Sowohl Bezug als auch Einspeisung als separate Zähler in Wh

Code: Alles auswählen

12399040.101
ramdisk/bezugkwh
bzw.
ramdisk/einspeisungkwh

Die restlichen Werte sind nur für die Statusseite, sprich evuv1 - evuv3 (Spannung je Phase); PV daily/Monthly, etc...

Zu 3.
Nötig bzw. optimal sind die Werte in 2.
Zu 4.
EVU Modul gibt die Watt zurück. Am Ende der main.sh ein "echo $watt"
PV Modul gibt auch Watt zurück.
Zu 5.
Die Einstellbarkeit der module übernehme ich.
Struktur kennst du denke ich schon, unter /modules/ einen Ordner wr_solarview bzw. bezug_solarview darin die main.sh die ausgeführt wird.
Zu 6.
PR gegen Master bitte.

Zu deinem Link:
Schön wäre nur einen request zu machen der direkt alle Werte liefert, dann muss nicht mehrmals abgefragt werden.
Die letzten beiden requests deines Demos müssten in das bezug_solarview Modul, das dann auch gleich kombiniert als eine Anfrage.

aiole
Beiträge: 442
Registriert: Mo Okt 08, 2018 4:51 pm

Re: Anbindung von SolarView

Beitrag von aiole » Sa Sep 07, 2019 12:06 pm

@Christian
Super Idee, Solarview mit einzubinden! Danke für Deine Unterstützung.

openwb-user
Beiträge: 6
Registriert: Di Sep 03, 2019 6:03 am

Re: Anbindung von SolarView

Beitrag von openwb-user » Mo Sep 09, 2019 2:34 pm

Ich bin mit der Umsetzung soweit durch. Ein paar Fragen sind noch offen.

1.) Einheiten
In die Dateien pvkwh, bezugkwh und einspeisungkwh wird die Energie in Wattstunden (also Wh, nicht kWh) geschrieben. Ist das so richtig? Die Namen sind verwirrend.

2.) EVU: Strom
Ampere je phase am Übergabepunkt, wird benötigt für das Lastmanagement
Diese Werte liefert SolarView derzeit nicht. Ich habe beim Autor (Manfred Richter) nachgefragt, ob eine entsprechende Erweiterung denkbar ist. Seine Antwort:
Das Abfragen der Spannungen und Ströme wird in d0 nicht durchgeführt, daher tauchen diese Werte auch nicht auf. Ich muss mal schauen, ob sich das so einfach umsetzen lässt. Das hängt auch davon ab, ob der vorhandene Zähler diese Werte überhaupt übermitteln würde.
Sollte dazu eine Diskussion notwendig sein, können wir sie entweder hier im openWB-Forum oder im Photovoltaikforum führen.

3.) Restliche Werte
Die restlichen Werte sind nur für die Statusseite, sprich evuv1 - evuv3 (Spannung je Phase); PV daily/Monthly, etc...
Hier würde ich gern etwas genauer wissen, in welche Dateien und in jeweils welcher Einheit die restlichen Werte geschrieben werden sollen. evuv1, evuv2 und evuv3 (Einheit Volt) sind klar, aber was gibt es sonst noch?

4.) Weiteres Vorgehen
Wie gehen wir weiter vor? Ich fände ein kurzes Code-Review sinnvoll. Die Änderungen können im Branch feature/solarview (Unterschiede zum master-Branch) angesehen werden. Nach der Einarbeitung eventueller Kommentare könnte ich dann einen Pull-Request öffnen.

snaptec
Site Admin
Beiträge: 971
Registriert: So Okt 07, 2018 1:50 pm

Re: Anbindung von SolarView

Beitrag von snaptec » Di Sep 17, 2019 12:47 pm

Sorry für die späte Antwort.

Zeile 61
setzten von lang=C hat damals öfter probleme gemacht je nach Installation.
Das error/debug piping bitte gleich nach ./ramdisk/openwb.log
dann ist es auch in Debug reports enthalten.

1.
Ja Wh stimmt.
2.
Mit D0 Zählern geht das nicht, richtig.
In deinem Link hast du es drin, setzt dann rs485 meter voraus?
3.
Das sind die entscheidenden. daily pv hast du ja auch schon.
Theoretisch geht nich frequenz in Hz und Watt am EVU.
4.
Bitte PR gegen master, ich füge dann noch die einstellbarkeit hinzu.

vielen Dank!

openwb-user
Beiträge: 6
Registriert: Di Sep 03, 2019 6:03 am

Re: Anbindung von SolarView

Beitrag von openwb-user » Di Sep 17, 2019 6:11 pm

snaptec hat geschrieben:
Di Sep 17, 2019 12:47 pm
Zeile 61
setzten von lang=C hat damals öfter probleme gemacht je nach Installation.
Das Setzen von LANG erfolgt bewusst, damit die nachfolgenden Zahlen unabhängig von der im System konfigurierten Sprache immer im Standardformat (Kommaseparierung mit Punkt, keine 1000er Trennung) formatiert werden. Durch das local sollte es keine Auswirkungen außerhalb des Skriptes geben.
snaptec hat geschrieben:
Di Sep 17, 2019 12:47 pm
Das error/debug piping bitte gleich nach ./ramdisk/openwb.log
dann ist es auch in Debug reports enthalten.
Habe ich gemacht. Ich möchte aber vorschlagen, innerhalb der Module mit Standard-Out oder -Err zu arbeiten und erst beim Aufruf der Module in die Log-Datei umzuleiten. Das würde es ermöglichen, bedarfsweise woanders hin zu loggen.
snaptec hat geschrieben:
Di Sep 17, 2019 12:47 pm
Mit D0 Zählern geht das nicht, richtig.
In deinem Link hast du es drin, setzt dann rs485 meter voraus?
Nein. Ich habe selbst einen D0-Zähler angebunden, für den SolarView beim Strom immer nur eine 0 liefert. Ich habe bezuga1, bezuga2, und bezuga3 nur für den Fall aufgenommen, dass diese Werte in anderen Installationen oder zukünftig geliefert werden. Falls es ein Problem ist, dass in diese Dateien vom Modul eine 0 geschrieben wird, bitte ich um eine Anmerkung im Pull Request. Ich entferne die Zeilen dann.

Antworten