Überschussladen mit go-e charger

Welche Geräter können mit dieser Anzeige benutzt werden?
Laderegler, Wallboxen, Batterie-Management-Systeme, WLAN Schalter mit Tasmota Firmware und Wechselrichter

Moderator: Ulrich

nick-tech
Beiträge: 15
Registriert: Sa 14. Jan 2023, 21:41
Hat sich bedankt: 1 Mal

Überschussladen mit go-e charger

Beitrag von nick-tech »

Hallo Zusammen,

ich betreibe folgendes Setup:
- kleines Solarkraftwerkt mit 1,5kWp
- go-e Charger
- Smartmeter

Alle Geräte hängen an der Solaranzeige, das funktioniert auch so weit.

Ich möchte nun gerne folgendes realisieren:
- idealerweise sollte bei Einstellung von "PV-Laden" der Ladestrom des Go-e Chargers so gesteuert werden, dass nichts mehr eingespeist wird
- scheinbar beträgt der Mindenstladestrom 6 A
- es bleibt mir also nur ab einer bestimmten Einspeisung mit 6A zu Laden

Folgende Messewerte stehen zur Verfügung:
- Bezug aus dem Netz
- Einspeisung ins Netz
- Aktuelle PV-Erzeugung
- Aktuelle Ladeleistung am Go-e Charger
--> Daraus lässt sich der "Eigenverbrauch ohne Go-e Charger" berechnen:

wall-math.php

Code: Alles auswählen

$Bezug_Netz = $UserDB["Bezug"];
$Einspeisung_Netz = abs($UserDB["Einspeisung"]);
$Leistung_PV = $DB1["AC_Leistung"];
$Leistung_Wallbox = $DB7["Leistung_gesamt"];


//Eigenverbrauch(ohne Wallbox) = Bezug/Einspeisung Netz + PV-Erzeugung - Ladeleistung Wallbox
$Eigenverbrauch = $Bezug_Netz - $Einspeisung_Netz + $Leistung_PV - $Leistung_Wallbox;
Das funktioniert so weit:

wallbox.log:

Code: Alles auswählen

22.07. 12:21:01 |--> - - - - - - - - -    Start WB Steuerung   - - - - - - - -
22.07. 12:21:01 INFO Grundlage der Steuerung ist die INI Datei '1.wallbox.steuerung.ini'.
22.07. 12:21:01      Keine Batterie angeschlossen...
22.07. 12:21:01      Intervall: 1
22.07. 12:21:01      Phasen: 1
22.07. 12:21:01 INFO Ladung nur bei genügend Sonnenenergie. [ INI > NurBeiSonne = yes ]
22.07. 12:21:01 INFO Eigenverbrauch laut INI Datei: 0 Watt
22.07. 12:21:01      Datenbank: 'steuerung' Array
(
    [Unterbrechung] => 0
)

22.07. 12:21:02      Datenbank: 'solaranlage' Array
(
    [AC_Leistung] => 468.3
    [Anz_Inverter] => 1
    [DC_Leistung] => 492.9
    [Energie_Inverter_Heute] => 3271
    [Energie_Inverter_Total] => 800317.99
    [PV0_Leistung] => 126.7
    [PV1_Leistung] => 126.3
    [PV2_Leistung] => 119
    [PV3_Leistung] => 120.9
    [Produktion] => 1
    [Temperatur] => 52.6
)

22.07. 12:21:02      Datenbank: 'solaranzeige' Array
(
    [Wh_Gesamt] => 794500
    [Wh_Karte1] => 0
    [Wh_Karte10] => 0
    [Wh_Karte2] => 0
    [Wh_Karte3] => 0
    [Wh_Karte4] => 0
    [Wh_Karte5] => 0
    [Wh_Karte6] => 0
    [Wh_Karte7] => 0
    [Wh_Karte8] => 0
    [Wh_Karte9] => 0
    [Wh_Ladevorgang] => 0
)

22.07. 12:21:02      Datenbank: 'solaranzeige' Array
(
    [Abschaltung] => 0
    [ErrorCode] => 0
    [Karteninhaber] => keine Karte
    [MaxAmpere] => 6
    [RFID_Karte] => 0
    [StationBereit] => 1
    [Stationsstatus] => 4
    [Temperatur] => 22.125
    [Temperatur2] =>
    [Zugangskontrolle] => 0
)

22.07. 12:21:02      Datenbank: 'solaranzeige' Array
(
    [Leistung_R] => 0
    [Leistung_S] => 0
    [Leistung_T] => 0
    [Leistung_gesamt] => 0
    [Leistungsfaktor_N] => 0
    [Leistungsfaktor_R] => 0
    [Leistungsfaktor_S] => 0
    [Leistungsfaktor_T] => 0
    [Spannung_R] => 227
    [Spannung_S] => 230
    [Spannung_T] => 229
    [Strom_R] => 0
    [Strom_S] => 0
    [Strom_T] => 0
)

22.07. 12:21:02 INFO aktuelle Solarleistung - Eigenverbrauch: 468.3 Watt
22.07. 12:21:02 INFO Ladung beendet. Stecker abziehen.
22.07. 12:21:02 INFO Kabel angeschlossen und beidseitig verriegelt.
22.07. 12:21:02 INFO Alle Daten der wall-math Abfrage:
Array
(
    [Bezug] => 1661
    [Einspeisung] => 0
    [Leistung] => 1661
    [Leistung_R] => 0
    [Leistung_S] => 0
    [Leistung_T] => 0
)

22.07. 12:21:02 INFO Bezug Netz: 1661
22.07. 12:21:02 INFO Einspeisung Netz: 0
22.07. 12:21:02 INFO Leistung PV: 468.3
22.07. 12:21:02 INFO Ladeleistung Wallbox (siehe wall-math): 0
22.07. 12:21:02 INFO Berechneter Eigenverbrauch ohne Wallbox: 2129.3
22.07. 12:21:02 INFO Ladestatus: 4
22.07. 12:21:02 INFO Ladepause: 0
22.07. 12:21:02 INFO StationBereit: 1
22.07. 12:21:02 INFO Intervall: 1
22.07. 12:21:02 INFO Solarleistung: 468.3
22.07. 12:21:02 INFO Kabelstatus: 7
22.07. 12:21:02 INFO Ladequelle: PV-Module.
22.07. 12:21:02      Ladestatus: 4
22.07. 12:21:02      Eingestellter mindest Ladestrom (MinMilliAmpere): 6 A
22.07. 12:21:02 WARN Ladung unterbrochen oder vom Auto / Wallbox beendet.
22.07. 12:21:02 ENDE |
22.07. 12:21:02      Es ist keine 2.wallbox.steuerung.ini vorhanden.
22.07. 12:21:02      Es ist keine 3.wallbox.steuerung.ini vorhanden.
22.07. 12:21:02      Es ist keine 4.wallbox.steuerung.ini vorhanden.
22.07. 12:21:02      Es ist keine 5.wallbox.steuerung.ini vorhanden.
22.07. 12:21:02      Es ist keine 6.wallbox.steuerung.ini vorhanden.
22.07. 12:21:02 ENDE ---------------------------------------------------------
Ich muss der Solaranzeige also nur noch beibringen, dass die Ladung nicht abhängig von der Solarleistung gesteuert werden soll (so passiert das aktuell, siehe angehängter Screenshot), sondern immer dann aktiv sein soll, wenn die "Einspeisung abzüglich Wallbox" > als z.B. 300W ist.
Im Screenshot sollte z.B. die Ladung kurz vor 12 unterbrochen werden, da war noch ein anderer großer Verbraucher aktiv.


1.wallbox.steuerung.ini

Code: Alles auswählen

[Allgemein]
Breitengrad = 49               ; Default Wert für Frankfurt
Laengengrad = 11                ; Default Wert für Frankfurt
Neutral  = no                           ; [yes/no] Soll die Ladeeinstellung
                                        ; nach der Ladung auf neutral
                                        ; gestellt werden?
Batterie = no                           ; [yes/no] Ist eine Batterie am
                                        ; Wechselrichter angeschlossen
Einspeisung = yes                        ; Steht die Einspeisung in Watt
                                        ; zur Verfügung und soll der Wert mit
                                        ; verarbeitet werden?
                                        ; Nur bei Stromquelle-Netz
Phasen = 1                              ; 1/2/3  Mit wieviel Phasen wird geladen?
                                        ; Nicht mit wieviel die Wallbox laden
                                        ; kann, sondern wie viele Phasen
                                        ; benutzt werden.


[Geraete]
Wechselrichter = "4.user.config.php"    ; Die   x.user.config.php
Wallbox = "1.user.config.php"           ; Die   x.user.config.php
Smartmeter = "5.user.config.php"        ; Mögliche Geräte:
                                        ; Wechselrichter, Wallbox, BMS und Smartmeter
                                        ; Alle Kombinationen sind möglich. Nur die
                                        ; Wallbox muss immer mit dabei sein.


[PV-Quelle]
Sonnenaufgang = yes                     ; [yes/no] Nur nach Sonnenaufgang?
VonUhrzeit = 00:00                      ; Fühester Begin der Ladung
BisUhrzeit = 24:00                      ; Spätester Begin der Ladung
MinMilliAmpere  = 6000                  ; Milliampere! 6000 = 6 Ampere
MaxMilliAmpere  = 6000                 	; Milliampere! 13000 = 13 Ampere
AbSOC = 0                              	; Batteriekapazität 0 bis 100 %
BisSOC = 0                             	; Niedrigste Batteriekapazität 50 %
MinSolarleistung = 200                  ; Minimale PV Solarleistung in Watt
                                        ; ab der die Ladung beginnt.
MaxEnergie = 0                          ; Maximale Ladung in Wattstunden
                                        ; 0 = Option ausgeschaltet
                                        ; 1000 = minimum (1kWh)
                                        ; Funktioniert nicht bei allen Wallboxen
Inselanlage = no                        ; [yes/no] Handelt es sich um
                                        ; eine Inselanlage?
Eigenverbrauch = 0                    	; geschätzter Eigenverbrauch, der nicht
                                        ; zum Laden der Autobatterie zur Verfügung
                                        ; steht.
NurBeiSonne = yes                        ; [yes/no] Ladung nur bei PV Leistung > 300 W
                                        ; Kleiner 300 W wird die Ladung unterbrochen.
Intervall = 1                           ; [Minuten]  Wie oft sollen Änderungen am
                                        ; Ladestrom vorgenommen werden?
                                        ; 3 = alle 3 Minuten werden Änderungen,
                                        ; falls erforderlich, durchgeführt.
                                        ; Gültige Werte = 1 bis 9 | Default = 3

Kann ich das in der Wallbox Steuerung einstellen? Wie?
Ist es möglich mit dem Go-e Charger auch mit weniger als 6A zu laden?
Dateianhänge
Screenshot 2023-07-22 120925.png

Morph.
Beiträge: 23
Registriert: Sa 4. Mär 2023, 19:03
Hat sich bedankt: 1 Mal

Re: Überschussladen mit go-e charger

Beitrag von Morph. »

Hallo Nick,

schau Dir mal diesen Tread an:

Code: Alles auswählen

https://solaranzeige.de/phpBB3/viewtopic.php?t=2319&hilit=Bogeyof
Dort ist beschrieben, wie du den realen Hausverbrauch ermittelt und dann Überschuldung realisieren kannst.
Ich habe auch einen Go-E Charger und kann nicht weniger als 6A mit einer Phase laden.. wobei ich nicht exakt sagen kann, ob der Tesla das begrenzende Objekt ist..
.. aber mit viel weniger wäre es auch nicht wirtschaftlich, da ja der Verbrauch des Autos beim laden mit berücksichtigt werden müsste, und die Verluste dort sind proportional sehr hoch, wenn man mit so wenig Stromstärke lädt.. ( Gesamtautovrbauch beim laden sicherlich 300W, Ladeleistung 1.1KW -> Reale Leistung in die Batterie 800W ... so ungefähr!)


Viele Grüßen
Arne

nick-tech
Beiträge: 15
Registriert: Sa 14. Jan 2023, 21:41
Hat sich bedankt: 1 Mal

Re: Überschussladen mit go-e charger

Beitrag von nick-tech »

Hallo Arne,

vielen Dank für deine Antwort. Dank des verlinkten Threads bin ich so weit gekommen wie ich jetzt bin. Die Berechnung des Eigenverbrauchs (ohne Wallbox) funktioniert ja auch wie gewünscht.

Allerdings ist mir nicht klar wie ich der Solaranzeige nun beibringe, dass die Ladung erst beginnen soll, wenn die PV-Erzeugung um x Watt mehr ist als der Eigenverbrauch ohne Wallbox (sprich: mehr als x Watt wird eingespeist)

Das geht aus dem Thread für mich nicht hervor

Morph.
Beiträge: 23
Registriert: Sa 4. Mär 2023, 19:03
Hat sich bedankt: 1 Mal

Re: Überschussladen mit go-e charger

Beitrag von Morph. »

Hallo Nick,

also ich habe aus dem Tread folgendes rausgelesen und dann (auch mit Hilfe aus dem Forum) das folgender maßen umgesetzt:
in der "wall-math.php" habe ich folgendes :

Code: Alles auswählen

<?php
/******************************************************************************
// Hier können eigene Berechnungen gemacht werden, wenn das nötig ist.
// Es stehen alle Felder folgender Measurements zur Verfügung:
// $INI ==> Werte der INI Datei -> Array
// $wbSteuerung ==> Measurement 'Wallbox' der Datenbank 'steuerung' -> Array
// $DB1 ==> Measurement 'PV' der Datenbank des Wechselrichters -> Array
// $DB2 ==> Measurement 'Batterie' der Datenbank des BMS -> Array
// $DB3 ==> Measurement 'Summen' der Datenbank der Wallbox -> Array
// $DB4 ==> Measurement 'Service' der Datenbank der Wallbox -> Array
// $DB5 ==> Measurement 'Pack1' der Datenbank des BMS -> Array
// $DB6 ==> Measurement 'Ladung' der Datenbank 'steuerung' -> Array
// $DB7 ==> Measurement 'AC' der Datenbank der Wallbox -> Array
//
// Die Steuerung benötigt folgende Variablen, die man hier noch beeinflussen.
// kann. Bitte hier nur benutzen, wenn man sie auch anders berechnen möchte..
// Ansonsten hier nicht benutzen.
//
//
// $Eigenverbrauch = geschätzter Eigenverbrauch
//
//
******************************************************************************/

/******************************************************************************
Beispiel, wie man den aktuellen Eigenverbrauch benutzen kann.
Der Eigenverbrauch muss in einem Feld einer Datenbank zur Verfügung stehen
******************************************************************************/

// Puffer von x Watt
$Puffer = 300;

$DB1Name = "solaranzeige";
$Measurement1Name = "AC";
$Feldname1 = "Hausverbrauch";

$ch = curl_init('http://localhost/query?db='.$DB1Name.'&precision=s&q='.urlencode(' select * from '.$Measurement1Name.' order by time desc limit 1'));
$rc = datenbank( $ch );
if (!isset($rc["JSON_Ausgabe"]["results"][0]["series"])) {
log_schreiben("Es fehlt die Datenbank ".$DB1Name." mit dem Measurement ".$Measurement1Name." oder sie ist leer.","|- ",1);}
var_dump($rc);

for ($h = 1; $h < count($rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"]); $h++) {$DB1_math[$rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"][$h]] = $rc["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][$h];}

$DB2Name = "wallbox";
$Measurement2Name = "AC";
$Feldname2 = "Leistung_gesamt";

$ch = curl_init('http://localhost/query?db='.$DB2Name.'&precision=s&q='.urlencode('select * from '.$Measurement2Name.' order by time desc limit 1'));
$rc = datenbank($ch);
if (!isset($rc["JSON_Ausgabe"]["results"][0]["series"])) {
log_schreiben("Es fehlt die Datenbank ".$DB2Name." mit dem Measurement ".$Measurement2Name." oder sie ist leer.","|- ",1);}

for ($h = 1; $h < count($rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"]); $h++) {$DB2_math[$rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"][$h]] = $rc["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][$h];}

$Hausverbrauch = $DB1_math[$Feldname1];
$Wallboxverbrauch = $DB2_math[$Feldname2];
$Eigenverbrauch = $Hausverbrauch - $Wallboxverbrauch + $Puffer;

log_schreiben("Eigenverbrauch ist $Eigenverbrauch");

log_schreiben( "aktuelle Solarleistung (".$Solarleistung.") - Eigenverbrauch (".$Eigenverbrauch."): ".($Solarleistung - $Eigenverbrauch)." Watt");
log_schreiben( "Gemessener Eigenverbrauch: ".$Eigenverbrauch." Watt", "", 3 );
log_schreiben("math:Eigenverbrauch ist ".$Eigenverbrauch);

return;
?>
Wie Du in den letzten Zeilen siehst, wird da der tatsächliche Eigenverbrauch ( ohne Wallbox) berechnet inkl. einem Puffer ... Die Variable ( wird dann im Skript Wallbox.steuerung.ini -> Hausverbrauch gesetzt)...

Ich hoffe damit kannst Du Dein Problem lösen ...

nick-tech
Beiträge: 15
Registriert: Sa 14. Jan 2023, 21:41
Hat sich bedankt: 1 Mal

Re: Überschussladen mit go-e charger

Beitrag von nick-tech »

Hallo Morph,

ich habe das nirgendwo in der Dokumentation explizit entdeckt, scheinbar macht die Regelung aber folgendes:

Wählt man "PV Überschuss laden", wird der Ladestrom so eingestellt, dass PV-Erzeugung - Eigenverbrauch - Ladeleistung = 0, d.h. es wird nichts eingespeist. Dadurch, dass man den "Eigenverbrauch" künstlich erhöht (du hast das Puffer genannt), wird erst etwas später los geladen (wenn eben schon so viel eingspeist wird wie im Puffer definiert ist).

Die Steuerung macht bei mir mittlerweile was sie soll, allerdings schwingt das ganze manchmal, ich verstehe nicht warum das nur gelegentlich so ist, abe rnicht immer:
Ladeleistung und Einspeisung.png
Im Log ist dann zu lesen, dass im Array der Wallbox steht, dass diese nicht lädt (Leistung 0 Watt):
$Leistung_Wallbox = $DB7["Leistung_gesamt"];

während im Array des smartmeters noch die Leistung mit angeschalteter Wallbox steht
$Bezug_Netz = $UserDB["Bezug"];

die Steuerung geht also davon aus, dass der Eigenverbrauch jetzt um die Leistung der Wallbox höher ist und unterbricht die Ladung. Bei der nächsten Runde ist die Einspeiseleistung wieder so hoch, dass die Ladung und der Zyklus erneut beginnt.

Ich habe noch keine Idee wie ich das beheben soll (Wallbox wird schon als erstes ausgelesen (1.user.config.php)).

Hier meine wall-math.php:

Code: Alles auswählen

<?php
/******************************************************************************
//  Hie können eigene Berechnungen gemacht werden, wenn das nötig ist.
//  Es stehen alle Felder folgender Measurements zur Verfügung:
//  $INI ==>  Werte der INI Datei      ->  Array
//  $wbSteuerung ==> Measurement 'Wallbox' der Datenbank 'steuerung' ->  Array
//  $DB1 ==> Measurement 'PV' der Datenbank des Wechselrichters ->  Array
//  $DB2 ==> Measurement 'Batterie' der Datenbank des BMS ->  Array
//  $DB3 ==> Measurement 'Summen' der Datenbank der Wallbox ->  Array
//  $DB4 ==> Measurement 'Service' der Datenbank der Wallbox ->  Array
//  $DB5 ==> Measurement 'Pack1' der Datenbank des BMS ->  Array
//  $DB6 ==> Measurement 'Ladung' der Datenbank 'steuerung' ->  Array
//  $DB7 ==> Measurement 'AC' der Datenbank der Wallbox ->  Array
//
//  Die Steuerung benötigt folgende Variablen, die man hier noch beeinflussen 
//  kann. Bitte hier nur benutzen, wenn man sie auch anders berechnen möchte. 
//  Ansonsten hier nicht benutzen.
//
//
//  $Eigenverbrauch  = geschätzter Eigenverbrauch
//
//
******************************************************************************/


$wbDatenbankname = "smartmeter";
$wbMeasurement = "AC";

// $UserDB = Datenbank solaranzeige  Measurement: Summen
$ch = curl_init('http://localhost/query?db='.$wbDatenbankname.'&precision=s&q='.urlencode('select * from '.$wbMeasurement.' order by time desc limit 1'));
$rc = datenbank($ch);
if (!isset($rc["JSON_Ausgabe"]["results"][0]["series"])) {
  log_schreiben("Es fehlt die Datenbank '".$wbDatenbankname."' mit dem Measurement Service oder sie ist leer.","|- ",1);
}

for ($z = 1; $z < count($rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"]); $z++) {
  $UserDB[$rc["JSON_Ausgabe"]["results"][0]["series"][0]["columns"][$z]] = $rc["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][$z];
}

log_schreiben("Alle Daten der wall-math Abfrage:\n".print_r($UserDB,1),"",3);

// Variablen je nach Measurement
// $UserDB["Wh_Heute"]


//if($UserDB["Leistung"] < 0){
//  $Eigenverbrauch = abs($UserDB["Leistung"]);
//}

$Bezug_Netz = $UserDB["Bezug"];
$Einspeisung_Netz = abs($UserDB["Einspeisung"]);
$Leistung_PV = $DB1["AC_Leistung"];
$Leistung_Wallbox = $DB7["Leistung_gesamt"];
$Einspeiseleistung_vor_Ladebeginn = 100;


//Eigenverbrauch(ohne Wallbox) = Bezug/Einspeisung Netz + PV-Erzeugung - Ladeleistung Wallbox
$Eigenverbrauch = $Bezug_Netz - $Einspeisung_Netz + $Leistung_PV - $Leistung_Wallbox + $Einspeiseleistung_vor_Ladebeginn;

log_schreiben("Bezug Netz: ".$Bezug_Netz,"",3);
log_schreiben("Einspeisung Netz: ".$Einspeisung_Netz,"",3);
log_schreiben("Leistung PV: ".$Leistung_PV,"",3);
log_schreiben("Ladeleistung Wallbox (siehe wall-math): ".$Leistung_Wallbox,"",3);
log_schreiben("Einspeiseleistung vor Ladebeginn: ".$Einspeiseleistung_vor_Ladebeginn,"",3);
log_schreiben("Berechneter Eigenverbrauch ohne Wallbox + Einspeiseleistung vor Ladebeginn: ".$Eigenverbrauch,"",3);










return;
?>

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste