Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

Benutzeravatar
read
Hallo zusammen,

ich habe für Openhab ein Binding geschrieben, mit dem man den Go-eCharger einbinden kann, ohne HTTP Binding oder sonst etwas nutzen zu müssen. Aktuell gibt es (glaube ich) noch kein Release davon, aber im nächsten Release der Bindings sollte es enthalten sein. In der Doku ist es bereits drin:
https://www.openhab.org/addons/bindings/goecharger/

Einen passenden Beitrag dazu habe ich im openhab Forum schon eröffnet:
https://community.openhab.org/t/go-e-ch ... ding/93338

Die Installation ist ziemlich simpel. Man legt eine .things Datei an und dann eine .items Datei für die Werte, die man auslesen möchte. Hier hilft übrigens Visual Studio Code mit dem openhab Plugin.

Damit kann man ziemlich einfach PV-Laden mit z.B. folgender Regel:

Code: Alles auswählen

rule "Set max amps for PV charging"
when
    Item availablePVCurrent received update
then
    logInfo("Amps available: ", receivedCommand.state)
    MaxAmpere.sendCommand(receivedCommand.state)
end
Oder man kann z.B. wenn der go-eCharger auf öffentlichem Grund steht nur zu bestimmten Zeiten die Wallbox aktivieren oder man kann wenn günstige Awattar Preise vorausgesagt werden, die Awattar Funktion einschalten. Man kann aber auch z.B. mit Openhab die Awattar Funktion nachbauen, um nur zu laden, wenn bestimmte Preise unterschritten werden (meines erachtens kann der go-eCharger das nicht, keine Ahnung, wie der bestimmt, ob ein Preis niedrig genug ist).

Es sind noch nicht alle möglichen Einstellungen drin, aber wenn euch etwas fehlt was ihr unbedingt braucht, kann ich es hinzufügen.

Hier mal eine Beispielabbildung einer Sitemap (von einer früpheren Entwicklungsversion):
d5db35b4c787982fbd03036050ab0f73a8701b8a.jpeg
Man kann also auch die Openhab App nutzen und/oder über die Openhab Webseite Einstellungen verändern.
Zuletzt geändert von Rangarid am So 21. Jun 2020, 08:03, insgesamt 1-mal geändert.
Wenn du dich über meinen Reflink bei Tibber anmeldest, erhalten wir beide 50€ für den Tibber-Store: https://invite.tibber.com/47o9vy5v
Anzeige

Re: Go-eCharger mit Openhab Smarter machen für z.B. PV-Ladung

Benutzeravatar
read
Da meine PV-Anlage nun endlich läuft hab ich mal die Steuerung mit PV-Überschuss verfeinert. Hier mal eine Visualisierung der Daten:
Wallbox PV Steuerung.jpg
Die orangene Linie ist das was die Wallbox maximal nutzen darf, die grüne Linie ist das was die PV-Anlage gerade erzeugt und die blaue Linie ist das, was gerade vom Haushalt verbraucht wird (inkl. Wallbox, die in dieser Grafik nicht aktiv war).
Man sieht ganz schön, dass wenn der Haushaltsverbrauch hochgeht, die orangene Linie runtergeht und umgekehrt. Muss sagen das sieht bisher ganz gut aus. Fahre heut nachmittag nochmal ein paar km und stecke dann nochmal an, dann kann ich das ganze auch nochmal beim Laden zeigen.
Wenn du dich über meinen Reflink bei Tibber anmeldest, erhalten wir beide 50€ für den Tibber-Store: https://invite.tibber.com/47o9vy5v

Re: Go-eCharger mit Openhab Smarter machen für z.B. PV-Ladung

Benutzeravatar
read
So nun hab ich auch endlich mal das ganze aufgezeichnet mit ladendem Auto:
Wallbox PV Steuerung.jpg
Orange ist max Power der Wallbox, Blau ist Bezug des ganzen Hauses inkl. Wallbox, Grün ist erzeugte Energie, Rot ist Bezug aus dem Netz..

Man sieht ganz gut, dass in den meisten Fällen die Regelung sehr gut funktioniert. Nur wenn sehr schnell Änderungen auftreten (z.B. 12:36 - 12:38, da habe ich die Spülmaschine eingeschaltet und die Kaffeemaschine hat kurz danach einen Kaffee gemacht) kommt das ganze kurzzeitig durcheinander, regelt aber dann schnell wieder nach.

Das hat 2 Ursachen:
1. Die Werte werden nur alle 5s vom Wechselrichter geholt, wenn man die Frequenz hier erhöht könnte das genauer werden
2. Das Auto regelt immer etwas langsamer als man die Wallbox einstellt, daher hängt der tatsächliche Verbrauch des Autos dem eingestellten Verbrauch minimal hinterher

Alles in allem bin ich aber so recht zufrieden, denn wie man sieht ist der Netzbezug minimal bzw. nicht vorhanden und man kann das ganze noch etwas verbessern, indem man einen zusätzlichen Puffer einplant, der sollte dann diese schnellen Wechsel etwas ausgleichen, aber dafür kann man halt nicht nahezu 100% selber verbrauchen. Wenn das Auto aber eh den ganzen tag angesteckt ist, vermutlich kein Problem.
Wenn du dich über meinen Reflink bei Tibber anmeldest, erhalten wir beide 50€ für den Tibber-Store: https://invite.tibber.com/47o9vy5v

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

Benutzeravatar
read
Hier mal der aktuelle Code fürs PV Laden als Rule mit openhab:

Code: Alles auswählen

val reduceFactor = 0.95 // factor to reduce newPower to be less close to available power, e.g. 0.9 sets newPower to 90% of possible power
val switchOffTimeout = 20 // stop charging if current is below 6A for specified seconds
var long lastBelow6A = 0

// TODO take phases into account

rule "PV Charging"
when 
    Item Grid_Power changed // smart meter reading of load/feed to grid
then
    if (GoEChargerPVCharging !== null && GoEChargerPVCharging.state == OFF) {
        return
    }

    val int currentWallboxPower = (GoEChargerMaxCurrent.state as Number).intValue * 230 // TODO phases
   
    // power fed to grid (can be negative value, e.g. -200 means 200W are fed to grid)
    var int availablePower = (Grid_Power.state as Number).intValue * -1
    var int newPower = ((availablePower + currentWallboxPower) * reduceFactor).intValue

    if (newPower < 1380) { // 6A - 1 phase
        if (GoEChargerAllowCharging.state === OFF) { // WB is already switched off, nothing todo
            return
        }

        newPower = 6 * 230 // set current to 6A which is lowest charging speed available
        
        if (lastBelow6A == 0) {
            // store time when below 6A for 1st time
            lastBelow6A = Grid_Power.previousState(true).timestamp.time
        }

        val secondsBelow6A = (now.millis - lastBelow6A)/1000
        if (secondsBelow6A > switchOffTimeout) {
            logInfo("Wallbox", "Below 6A for " + secondsBelow6A + "s, switching off.")
            GoEChargerAllowCharging.sendCommand(OFF)
            return
        }
    } else {
        lastBelow6A = 0
        if (GoEChargerAllowCharging.state === OFF && availablePower > 1380) {
            GoEChargerAllowCharging.sendCommand(ON)
        }
    }

    if (GoEChargerPhases.state == 0) {
        // set down to 6A so we do not start with full power
        if ((GoEChargerMaxCurrent.state as Number).intValue > 6) {
            GoEChargerMaxCurrent.sendCommand(6)
        }
        return
    }

    if (newPower / 230 > (GoEChargerCableCurrent.state as Number)) {
        // if max power is > cable amps reduce to cable amps
        GoEChargerMaxCurrent.sendCommand((GoEChargerCableCurrent.state as Number))
        return
    }

    GoEChargerMaxCurrent.sendCommand(newPower/230)
end
Ist aktuell nur einphasig, da der Ioniq nicht mehr kann. Wer mehrphasig braucht kann sich bei mir melden, dann können wir das mal ausprobieren. Funktioniert inzwischen sehr gut.

Ich habe noch mit eingebaut, dass die Ladung nach 20s (konfigurierbar mit Parameter switchOffTimeout) unterbrochen wird, und wieder mit Laden anfängt sobald genug Leistung da ist.

Man sieht schon im Vergleich zur ersten initialen Variante aus dem ersten Beitrag ist etwas deutlich komplexeres geworden. Man kann das ganze natürlich immer weiter treiben und z.B. Wetterdaten mit berücksichtigen, um die Leistung mitzunehmen, die oberhalb von 70% abgeschnitten wird. Oder man kann das ganze kombinieren mit erwünschtem SoC, wenn das Auto den Wunsch SoC nicht unterstützt.
Wenn du dich über meinen Reflink bei Tibber anmeldest, erhalten wir beide 50€ für den Tibber-Store: https://invite.tibber.com/47o9vy5v

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

E Mike
  • Beiträge: 33
  • Registriert: Fr 1. Nov 2019, 08:25
  • Hat sich bedankt: 58 Mal
  • Danke erhalten: 14 Mal
read
Hallo,

seit heute habe ich nun endlich meine neuen digitalen Zähler und die PV ist offiziel am Netz.
Habe auch einen Go E und möchte damit PV Überschuß laden.
Dazu habe ich mir nun einen Lesekopf für den Zähler bestellt. Kann man mit diesem auch die Werte in die Openhab SW einlesen und dann den Go E danach steuern? Zähler ist ein ISKRA MT681.

Sorry dass ich so frage aber ich habe schon so viel gelesen aber irgendwie komme ich da auf keinen grünen Zweig.

Vielen Dank für deine/eure Hilfe.

Gruß Michael
Smart #1 Brabus
Etron 50 quattro Basis ( zurück gegeben )

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

Benutzeravatar
read
Hm mit diesen Leseköpfen kenn ich mich nicht aus, aber normalerweise findet man bei Google schnell, ob Openhab etwas unterstützt wenn man nach dem Namen + Openhab sucht. Die haben ja auch ein Forum wo dann oft steht wie man was machen kann. Sobald du die Daten aber in Openhab reinbekommst, ist der Rest dafür einfach. Man braucht halt die Daten in relativ hoher Frequenz, ich hol die z.B. alle 5s, umso schneller die Frequenz, umso besser wird die Regelung, keine Ahnung was da so Leseköpfe an Frequenz hinbekommen.
Wenn du dich über meinen Reflink bei Tibber anmeldest, erhalten wir beide 50€ für den Tibber-Store: https://invite.tibber.com/47o9vy5v

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

goebelmeier
  • Beiträge: 8
  • Registriert: Mi 11. Sep 2019, 11:06
  • Wohnort: Bremen
  • Hat sich bedankt: 12 Mal
  • Twitter
read
E Mike hat geschrieben: Dazu habe ich mir nun einen Lesekopf für den Zähler bestellt. Kann man mit diesem auch die Werte in die Openhab SW einlesen und dann den Go E danach steuern? Zähler ist ein ISKRA MT681.
Hi Mike,

ja, das auslesen des Zählers mit einem USB-Optokopf geht über das Smartmeter Binding https://www.openhab.org/addons/bindings/smartmeter/

Code: Alles auswählen

$ cat /etc/openhab2/things/smartmeter.things
Thing smartmeter:meter:purchase_delivery "Zweirichtungszähler" @ "Hauswirtschaftsraum" [ port="rfc2217://192.168.4.53:2000" ]
Thing smartmeter:meter:production        "Erzeugungszähler"    @ "Hauswirtschaftsraum" [ port="rfc2217://192.168.4.53:2001" ]

$ cat /etc/openhab2/items/meter.items
Number:Energy MeterActiveEnergyPurchased        "Wirkenergie Bezug [%.2f kWh]"             <energy> { channel="smartmeter:meter:purchase_delivery:1-0_1-8-0" }
Number:Energy MeterActiveEnergyDelivered        "Wirkenergie Lieferung [%.2f kWh]"         <energy> { channel="smartmeter:meter:purchase_delivery:1-0_2-8-0" }
Number:Power  MeterCurrentActivePowerPurchase   "Wirkleistung Bezug Aktuell [%.0f W]"      <energy> { channel="smartmeter:meter:purchase_delivery:1-0_15-7-0" }
Ich habe zwischen meinem openHAB und dem Optokopf noch einen zweiten RasPi, da der wo openHAB drauf läuft nicht neben dem Zählerschrank hängt. du müsstest also die Portangabe umändern in sowas wie:

Code: Alles auswählen

[port="/dev/ttyUSB0", refresh=10, mode=SML, baudrate=AUTO]
(im Zweifel auch baudrate=9600).
VW e-up! / bestellt 4. November 2019 / Auslieferung 14. September 2020

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

bender.ac
  • Beiträge: 4
  • Registriert: Mo 9. Nov 2020, 08:41
read
Hallo Rangarid,

zunächst herzlichen Dank für das Binding, welches sehr gut funktioniert und ziemlich unkompliziert zu installieren ist.
Zwei sehr keine Kleinigkeiten, habe ich aber noch gefunden, die man verbessern kann bzw mir nicht klar sind:

Das Item Temperature

Code: Alles auswählen

Number:Temperature         GoEChargerTemperature                "Temperature"                           {channel="goecharger:goe:garage:temperature"}
zeigt mit bei Firmwareversion 040.0 immer nur Werte knapp unterhalb des Gefrierpunktes. Es ist zwar kalt aber nicht so kalt :-)
Wie rufst Du die Werte ab? Modbus oder REST? In der Modbus-Doku gibt es keine Temperaturwerte. Was ist das für eine Temperatur und warum sind die Werte bei mir so seltsam?

Bei meinem ersten Versuch habe ich den Charger mit dem Schukoadapter auf dem Tisch liegen gehabt und habe meine ersten Gehversuche mit dem Bindung und der Integration in mein Smart-Ökosystem gemacht. Es war Zufall aber ich bin direkt in ein Loch rein gefallen... Der Schukostecker ist der Einzige unterstütze Stecker, welcher zwei Positionen hat. Es gibt also den Zustand, bei dem die Phase auf dem N-Kontakt des 5-poligen CEE-Steckers anliegt. Entsprechend hatte ich den Zustand getroffen dass die drei Phasenspannugnen alle samt 0V waren. Die Modbus-API liefert noch einen Spannung N, welche in dem Fall 230V war. Zwei Ideen: Entweder das Item Spannung auf N hinzufügen oder U_L1 = max(U_L1, U_N). Letzteres ist technisch zwar nicht ganz korrekt aber es verwirrt am wenigsten.


Dann möchte ich hier noch etwas festhalten, was mir zu Beginn meiner Implementierungsarbeiten nicht klar war: Beim go-eCharger hat man keine Möglichkeit zu wählen ob man mit einer oder drei Phasen laden möchte. Ich hab das beim Hersteller nachgefragt und die Antwort erhalten, dass dies aus technischen Gründen nicht möglich sei (Schwall ins All.... Dose auf, Schütz rein und Dose zu...). Man sagte mir, das man das von "aussen" machen müsse, in dem man vor die versorgende 3~CEE-Dose ein Schütz setzt und L2 und L3 Schaltbar macht. Aber Achtung: Das hinzuschalten von Phasen darf man NIEMALS während des Ladevorgangs machen. Dabei könnten Lader und Auto Schaden nehmen, so heißt es. Der Umstand das man hier was um den Charger herum bauen muss finde ich ziemlich schade. Ein so smartes Produkt kommt doch nicht ganz ohne Klappertechnik aus...
(Ich Schreib das hier nieder, weil mir das zu Beginn nicht klar war und damit man die Information irgendwo findbar persistiert hat)

Viele Grüße,
bender.ac

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

Benutzeravatar
read
Die Temperatur ist bei den neueren Geräten nicht mehr richtig. Daher kann man die quasi ignorieren. Es gab noch irgendeinen anderen Wert den man abfragen konnte, aber war mir zu unwichtig, daher hab ich da nichts mehr gemacht. Alle Daten kommen von der REST API.
Die Phasen werden erst bei Ladung berechnet, also nur wenn das Auto verbunden ist. Da geht es nicht um die Phasen zum Stromanschluss, sondern wie viele Phasen das Auto zum Laden benutzt. Kann man für die Berechnung der Leistung bei PV-Ladung nutzen. Also z.B. Ladeleistung = Phasen * 230 * availablePVPower.
Wenn du dich über meinen Reflink bei Tibber anmeldest, erhalten wir beide 50€ für den Tibber-Store: https://invite.tibber.com/47o9vy5v

Re: Go-eCharger mit Openhab Smarter machen für z.B. Überschussladung mit PV

bender.ac
  • Beiträge: 4
  • Registriert: Mo 9. Nov 2020, 08:41
read
Hallo, danke für die Antwort. Das mit den Phasen ist mir jetzt auch klar. Aktuell fehlt mir das Auto zutesten, das kommt in 14 Tagen 🤗.
Wegschalten der Versorgungsphasen um geringere Ladeleistungen zu realisieren, machst Du nicht, oder?

Die Gesamtladeleistung berechne ich mir lieber aus den der Einzelleistungen. Oder sind das die Autoseitigen Leistungen? Und wenn ja kann jemand grob was zum Wirkungsgrad sagen?
Anzeige
AntwortenAntworten

Zurück zu „Private Lade-Infrastruktur“

Gehe zu Profile
  • Vergleichbare Themen
    Antworten
    Zugriffe
    Letzter Beitrag