Skip to content

Commit

Permalink
Merge pull request #1411 from Pendragon77/Wiki
Browse files Browse the repository at this point in the history
Wiki: Added some files to Counters and a howto
  • Loading branch information
benderl authored Feb 27, 2024
2 parents 7da01f7 + dd1fc59 commit bf9ca6c
Show file tree
Hide file tree
Showing 8 changed files with 147 additions and 2 deletions.
36 changes: 36 additions & 0 deletions docs/Grundkonzept.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
Hier werden die Grundeinstellungen für Anfänger mit einer einfachen Konstellation, welche im privaten Umfeld häufig vorkommt, erklärt.
Üblicherweise sind da ein oder zwei Autos und ein oder zwei Wallboxen, die bei der software2 nur noch openWBs sein dürfen. Hat man nur ein Auto und eine openWB ist es ganz simpel. Mit zwei Autos muss man sich - wenn man weiterreichende Features nutzen - oder nur ganz einfach die geladenen kWh loggen möchte - damit auseinander setzen, wie man der openWB mitteilt, welches Auto nun angeschlossen ist:
- man wählt das zu ladende Auto auf dem Handy oder auf dem Display der openWB aus
- man macht das bei mit RFID-Leser ausgestatteten openWBs per RFID-Karte
- man kauft für jedes Auto eine eigene openWB; das hat den Vorteil, dass die Autos immer eingesteckt bleiben können und so der gesamte PV-Überschuss garantiert in den Autos landet.
- man gibt ein bisschen mehr Geld aus, kauft eine openWB pro und hat auch die richtigen Autos dafür, dass die Wallbox selbst das Auto erkennt. Da geht das automatisch und das ist neu in der software2; alternativ kann auch ein optionaler RFID-Leser an die Pro angeschlossen werden und zur Identifizierung des Fahrzeugs verwendet werden

## Konfiguration

Die Konfiguration der Wallbox-Funktionalität verteilt sich auf zwei oder drei Menüpunkte im Konfigurations-Menü: Ladepunkte (ggf. Lastmanagement) und Fahrzeuge

### Ladepunkte - die Infrastruktur

Hier werden die vorhandenen Wallboxen als Ladepunkt angelegt und ihnen gemeinsame Eigenschaften in Form von Ladepunkt-Profilen zugewiesen. Im privaten Bereich ist es ja üblicherweise so, dass mit maximal 11kW geladen wird und die Ladepunkte entweder vor unbefugtem Zugriff geschützt werden wollen oder nicht. Das versteckt sich im Ladepunkt-Profil, weshalb wir uns um eigene Ladepunkt-Profile gar nicht kümmern müssen. Wir nehmen das Standard Ladepunkt-Profil für alle unsere openWBs und passen das nach unseren Wünschen an.

Sind mehrere Ladepunkte an einer Unterverteilung angeschlossen, deren Zuleitung weniger verträgt, als die Ladepunkte abgeben können, muss man sich noch über das Loadsharing Gedanken machen. Zum Beispiel ist eine Unterverteilung an der zwei 22kW openWBs angeschlossen sind, in den seltensten Fällen mit den dafür notwendigen 63A abgesichert; häufig z.B. nur 35A. Hier fügt man noch eine Komponente "virtuellen Zähler" ein, setzt den im [Lastmanagement](https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Zähler) in der Struktur über die beiden Ladepunkte und trägt dort die 24kW / 35A ein. Die maximal zulässige Leistung am EVU-Punkt trägt man dementsprechend in diesem [Zähler](https://github.com/openWB/core/wiki/Zaehler) ein.

### Fahrzeuge - warum wir das hier alles machen

Bei den Fahrzeugen zerteilt sich die Konfiguration in die technischen Eigenschaften und die ladungstechnischen Aspekte - das sind die beiden Profile für Fahrzeug und Ladung. Die beiden zusammengefasst ergibt das Fahrzeug.

#### Fahrzeug-Profile

Da steht drin, was für einen Fahrzeugtyp mit welchen Eigenschaften wir haben (ID.3, BMW i3, Tesla Model Y,...) und Angaben zur Ladungssteuerung und -statistiken. Haben wir nur ein Auto oder interessiert Zielladen oder "geladene km" nicht, reicht es beim Standard Fahrzeug-Profil zu bleiben.

#### Ladeprofil

Da steht drin, wie das Auto geladen werden soll, aber diese Einstellungen sind später im UI der openWB alle änderbar. Bei mehr als einer openWB sollte man je Fahrzeug ein Ladeprofil anlegen, damit man z.B. von der neu hinzu gekommenen Priorisierung Gebrauch machen kann. (Das priorisierte Auto fängt zuerst an zu laden, wenn man beide gleich priorisiert, muss der Überschuss wie bei der 1.9 für beide angeschlossenen Autos reichen.) Bei mehr als einem Auto sollte man auch je Auto ein Ladeprofil anlegen, denn da stehen die Zeitpläne und ein SoC-Limit drin. Einfacher ist es bei nur einem Auto - da reicht es wieder beim Standard Ladeprofil zu bleiben und das zu ändern. Allerdings wird das Standard Ladeprofil (im Modus Stop) auch dafür genutzt, Ladepunkte nach Abstecken zu sperren. Möchte man also Ladepunkte vor unbefugtem Zugriff schützen, muss man auch bei einer Wallbox ein eigenes Ladeprofil anlegen.

#### Fahrzeug

Hier werden nun die beiden Profile zusammengeführt und ggf. ein SoC-Modul konfiguriert.

**Kurz zusammengefasst:** Mit einem Auto und einer openWB bleibt man bei den Profilen immer bei den mitgelieferten Standard-Profilen und ändert die Parameter dort. Bei mehreren Autos legt man für jedes Auto ein Fahrzeug-Profil und ein Ladeprofil an und fasst die beiden im Fahrzeug zusammen.

Danke für das Erstellen dieses Howto an [Gero](https://openwb.de/forum/viewtopic.php?t=8076)
2 changes: 2 additions & 0 deletions docs/Ladeprofile.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
_Einstellungen -> Konfiguration -> Fahrzeuge -> Lade-Profile_

12 changes: 12 additions & 0 deletions docs/Wiki-Eintrag erstellen.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
Wiki-Beiträge werden per Pull Request beigesteuert. Im Ordner ./docs des Core-Repository sind die Dateien des Wikis im Markdown-Format enthalten. Nach dem Merge des Pull Requests werden die Änderungen aus dem docs-Ordner mit dem Wiki per GitHub-Workflow automatisch synchronisiert.

Der Name der Markdown-Datei ist der Titel der Wiki-Seite. Die Datei _Sidebar.md enthält die Einträge, die rechts in der Sidebar des Wikis angezeigt werden.

### Ablauf mit Github

Wenn ihr euch am Wiki beteiligen wollt müsst ihr zunächst einen Github Account erstellen bzw. euch mit eurem anmelden. Dann geht ihr auf die [Projektseite](https://github.com/openWB/core) und erstellt einen Fork:

![Fork](pictures/Wiki-Eintrag erstellen_Fork.png)

Dies ist nötig, da dem "normalen Mitarbeiter" das Projekt nicht gehört und man somit keine Schreibrechte im Projekt des OpenWB Accounts hat. Man erstellt also eine verknüfpte Kopie in seinem eigenen Account.
Hier wird dann am besten ein Branch erstellt, den ihr sinnvoll benennt (z.B. Wiki oder ähnlich). In diesem Branch arbeitet ihr und ändert und ergänzt entsprechend euren Erfahrungen zu den Themen in denen ihr euch auskennt. Danach müsst ihr Änderungen mit *Commit* in die (lokale) Git-Umgebung übernehmen und mit *Push* zu Github übertragen.
Dies beginnt ihr in eurem eigenen Branch und wählt im Menü oben Pull-Request aus und füllt die Felder mit einer Beschreibung was ihr gemacht habt.
![Pull](pictures/Wiki-Eintrag erstellen_Pull.png)
Für euren ersten Beitrag müsst ihr noch von einem Projektmitarbeiter freigeschaltet werden. Dies kann einige Zeit dauern.
93 changes: 93 additions & 0 deletions docs/Zähler.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@

# Zähler

OpenWB benötigt zum erfolgreichen PV-Überschussladen die entsprechenden Zählerwerte am EVU-Punkt (EVU=Elektrizitätsversorgungsunternehmen), sprich dem Übergang ins öffentliche Netz. An dieser Stelle muss die Gesamtleistung saldierend erfasst werden. Für eine phasenbasierte Leistungsüberwachung sind auch die einzelnen Ströme und/oder Leistungen der drei Phasen notwendig.

Im einfachsten Fall geschieht dies durch Kauf und Einbau eines [EVU-Kits](##EVU-Kit). Sollten schon digital auslesbare Zähler vorhanden sein, so besteht die Möglichkeit diese Werte an OpenWB weiterzuleiten, auch mit Hilfe von Hausautomationsservern.

Es gibt viele verschiedene Möglichkeiten, Zähler als auch Wechselrichter in das OpenWB-System einzufügen. Die Struktur der Zähler muss dann im [Lastmanagement](https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Zähler) dem System bekanntgegeben werden. Hier können auch [virtuelle Zähler](##Virtuelle Zähler) hinzugefügt werden, welche OpenWB-intern die untergeordneten Zähler verrechnen.


## EVU-Kit

Das [EVU-Kit (Link zum Shop)](https://openwb.de/shop/?product=openwb-evu-kit) ist die einfachste Art in der Software einen Zähler an die OpenWB zu integrieren. Der Zähler muss von einem Elektriker direkt hinter dem Zähler des EVU in den Zählerschrank integriert werden. Es gibt, je nach Kapazität des Hausanschlusses, verschiedene Messvarianten des Zählers, welche sich von der Integration unterscheiden. Dies betrifft aber nur die Arbeit des Elektrikers.
Der Zähler kommuniziert mit der OpenWB über Ethernet. Die Kits sind so vorkonfiguriert, dass sie von der openWB Software automatisch gefunden werden, wenn ein entsprechendes Gerät mit Zählerkomponente angelegt wird. Es gibt auch für Wechselrichter und Speicher entsprechende Kits.

![EVU-Kit](pictures/EVU-PV-Speicher-Kit-689x1024.png)

## MQTT

OpenWB hat einen MQTT-Broker integriert, welcher unter Port 1883 (ohne Verschlüsselung) und Port 8883 (mit Verschlüsselung) erreichbar ist.Benutzerauthentifizierung ist deaktiviert und auch nicht aktivierbar. Ein Zähler, welcher die benötigten Daten liefert muss sich mit diesem Broker verbinden und dort die Werte unter den entsprechenden Topics publishen.

Folgende Werte können dem MQTT-Zähler übergeben werden (Die Zahl in den Topics, hier "2", wird dynamisch erzeugt und ist den eigenen Gegebenheiten anzupassen. Wir ein neuer Zähler erstellt, wird diese Zahl inkrementiert):
```
openWB/set/counter/2/get/power
Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung
Beispiel: -123.45
openWB/set/counter/2/get/imported
Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv
Beispiel: 123.45
openWB/set/counter/2/get/exported
Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv
Beispiel: 123.45
openWB/set/counter/2/get/frequency
Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen
Beispiel: 50.12
openWB/set/counter/2/get/currents
Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung
Beispiel: [1.2,2.3,-2.1]
openWB/set/counter/2/get/voltages
Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)
Beispiel: [222.2,223.3,222.3]
openWB/set/counter/2/get/powers
Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)
Beispiel: [12.3,23.4,-12.3]
openWB/set/counter/2/get/power_factors
Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1
Beispiel: [0.95,0.96,-0.95]
```

### Optionale Werte
1. Phasenströme: _openWB/set/counter/2/get/voltages_: Werden nur benötigt, wenn in _Ladeeinstellungen - Übergreifendes_ die Begrenzung der Schieflast aktiviert ist.


## Huawei Wechselrichter mit DTSU666-H 250A und SDongle

Huawei Wechselrichter werden, in der Betriebsart mit Aufzeichnung des Hausverbraucht mit dem _DTSU666-H 250A_ Stromzähler direkt am EVU-Punkt betrieben. Die Kommunikation zwischen Zähler und Wechselrichter findet über RS485 statt. Sofern der Wechselrichter mit dem optionalen SmartDongle FE ausgestattet ist, können über diesen Daten des Wechselrichter ausgelesen werden.
Die Schnittstelle am Dongle ist Modbus-TCP. Dies muss mit Installer-Account am Wechselrichter auf "Unrestrictet" gestellt werden, damit die Daten extern abgerufen werden können.

Eine Möglichkeit des Datenabrufs wird im [OpenWB-Forum](https://openwb.de/forum/viewtopic.php?t=7029) entwickelt und ist auf [Github](https://github.com/AlexanderMetzger/huawei_openwb_bridge) sowie der [Homepage des Entwicklers](https://lebensraum-wohnraum.de/openwb-kommunikation-mit-dem-huawei-wechselrichter-sun-2000/) zu finden. Hierbei wird das Image auf die SD-karte eines Raspberry-Zero gespiegelt und der Raspberry mit dem Config-WLAN des Wechselrichters verbunden. Die Skripte ziehen sich die entsprechenden Werte in Echtzeit vom Wechselrichter und publishen diese auf die [MQTT](#MQTT) Schnittstelle der OpenWB. Der Zähler in der OpenWB muss dementsprechend als MQTT-Zähler eingerichtet sein.

### Solaranzeige

[Solaranzeige](https://solaranzeige.de) ist ebenfalls ein OpenSource Projekt, welches der Visualisierung, Speicherung und Weiterverarbeitung von PV-Daten dient.
Dieses Projekt unterstützt aktuell (Stand 2024-02) mehr Wechselrichter als OpenWB. Somit können hier mit etwas Aufwand existierende Wechselrichter eingebunden und die Daten weitergereicht werden, ohne Arbeiten am Zählerschrank durchzuführen zu lassen.
Die Software ist originär dafür vorgesehen auf einen Raspberry per Image installiert zu werden und nach wenigen Konfigurationsschritten lauffähig zu sein. Es gibt auch schon Portierungen für [Docker](https://github.com/DeBaschdi/docker.solaranzeige).
Solaranzeige kann mit vielen Wechselrichtern kommunizieren und auch teilweise die angeschlossenen Zähler auslesen. Eine zeitbasierte Datenbank (InfluxDb), Datenweitergabe über einen MQTT-Client sowie eine Visualisierung mit Grafana sind direkt integriert. Es kann aber auch bereits existierende Infrastruktur verwendet werden.
In dem Projekt wird (mit Stand von 2021) auch die Möglichkeit dokumentiert die Daten direkt an OpenWB weiterzuleiten. Dann kann jedoch kein weiterer MQTT-Broker bedient werden.
Alternativ können die Zählerwerte an eine Hausautomationsserver weitergegeben, dort ggf. vorzeichenkorrigiert und dann über einen zweiten MQTT-Client zur OpenWB geschickt werden.

## Virtuelle Zähler

Virtuelle Zähler sind, wie der Name schon sagt, nicht physikalisch vorhanden. Sie dienen in der Struktur des [Lastmanagement](https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Zähler) dazu, Ströme und/oder Leistung zu begrenzen oder Werte aus untergeordneten einzelnen Zählern zu akkumulieren.

## Timing
Das zyklische Senden bzw. Bereitstellen der Zählerwerte ist für eine funktionierende Regelung essentiell. Unter

> Einstellungen - Allgemein - Hardware
kann die Regelgeschwindigkeit ausgewählt werden. Es gibt die Intervalle:
- Normal
- Langsam (20s)
- Sehr langsam (60s)

Hier muss eine Regelgeschwindigkeit entsprechend der Aktualisierungsrate der Zählerwerte angegeben werden, da ansonsten die Rückmeldung des Systems zu spät kommt und die OpenWB weiter versucht nachzuregeln.
Insbesondere bei der unter [Solaranzeige](### Solaranzeige) ist aufgrund der 20-30s dauerenden Aktualisierungsrate die Regelungsgeschwindigkeit anzupassen.

6 changes: 4 additions & 2 deletions docs/_Sidebar.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,12 @@
# openWB2-Wiki

* [Home](https://github.com/openWB/core/wiki/Home)
* [Grundkonzept](https://github.com/openWB/core/wiki/Grundkonzept)
* [Ladepunkte](https://github.com/openWB/core/wiki/Ladepunkte)
* [Fahrzeuge](https://github.com/openWB/core/wiki/Fahrzeuge)
* [Lastmanagement und kaskadierte Zähler](https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Zähler)
* [Zähler](https://github.com/openWB/core/wiki/Zaehler)
* [Lastmanagement und kaskadierte Zähler](https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Zähler)
* [Hierarchie mit Hausverbrauchs-Zähler](https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler)
* Szenarien
* [ID-Tag/Ladung nur nach Freischaltung](https://github.com/openWB/core/wiki/Ladung-nur-nach-Freischaltung)
* [Hybrid-System aus Wechselrichter und Speicher](https://github.com/openWB/core/wiki/Hybrid-System-aus-Wechselrichter-und-Speicher)
Expand All @@ -17,4 +20,3 @@
* [Cloud-Sicherung](https://github.com/openWB/core/wiki/Cloud-Sicherung)
* [NextCloud](https://github.com/openWB/core/wiki/NextCloud-als-Sicherungs-Cloud-einrichten)
* [Samba](https://github.com/openWB/core/wiki/Samba-als-Sicherung-einrichten)
* [Hierarchie mit Hausverbrauchs-Zähler](https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler)
Binary file added docs/pictures/EVU-PV-Speicher-Kit-689x1024.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/pictures/Wiki-Eintrag erstellen_Fork.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/pictures/Wiki-Eintrag erstellen_Pull.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit bf9ca6c

Please sign in to comment.