Ladestopp bei soc der Autobatterie

PV Überschussladen mit Wallboxen. (intelligenten Ladestationen) Alles was mit der eingebauten Wallbox-Steuerung zu tun hat.

Moderator: Ulrich

Antworten
to:be
Beiträge: 9
Registriert: So 30. Aug 2020, 12:39
Hat sich bedankt: 6 Mal

Ladestopp bei soc der Autobatterie

Beitrag von to:be »

Moinsen,

hat schonmal jemand versucht die Ladung automatisiert zu stoppen?

Ich habe den soc der Autobatterie in influx db:iobroker measurement:batteryLevel field:value.

Die Ladung soll gestoppt werden, wenn soc 80% erreicht oder überschreitet.

Versucht habe ich die wall-math.php hierfür zu nutzen, finde jedoch nicht den passenden Parameter.

Ladestatus = 4 veranlasst die Solaranzeige davon auszugehen, dass das Auto bereits die Ladung gestoppt hätte, veranlasst jedoch nicht die Unterbrechung der Ladung.

Pause = 1 stoppt die Ladung leider auch nicht.

MaxEnergie in wall-math.php einfach auf 1 Wh zu setzen interessiert die Steuerung auch nicht.

Habt Ihr noch Ideen?

Viele Grüße
tho:be

Benutzeravatar
Ulrich
Administrator
Beiträge: 3563
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 59 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: Ladestopp bei soc der Autobatterie

Beitrag von Ulrich »

Das ist in der Wallbox Steuerung schon integriert.
https://solaranzeige.de/phpBB3/download ... uerung.pdf
--------------------------------------
Ulrich [Admin]

to:be
Beiträge: 9
Registriert: So 30. Aug 2020, 12:39
Hat sich bedankt: 6 Mal

Re: Ladestopp bei soc der Autobatterie

Beitrag von to:be »

Danke Ulrich. Sagst Du mir evtl. noch wo?

Was ich in der Doku finde ist auf Seite 10 SOC der Hausbatterie. Das Auto wird erst geladen, wenn SOC erreicht bzw. überschritten wurde. Das kann auch nicht auf SOC der Autobatterie uminterpretiert werden, da die Logik ja ist die Ladung bei Erreichung oder Überschreitung der SOC zu beenden und nicht zu starten.

In der Doku steht auf Seite 9 auch eine bestimme Lademenge zu konfigurieren. Das ist hier auch unpassend, da das Auto mit jeweils unterschiedlichen SOC angeschlossen werden.

Desweiteren steht in der Doku auf Seite 19 wie ein Button in Grafana eingebunden werden kann um die Ladung manuell zu stoppen. Ziel sollte jedoch sein die Ladung automatisiert bei Erreichen oder Überschreiten der SOC zu stoppen.

Benutzeravatar
Ulrich
Administrator
Beiträge: 3563
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 59 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: Ladestopp bei soc der Autobatterie

Beitrag von Ulrich »

Entschuldigung, mein Fehler. Du meinst den SOC der Autobatterie. Das habe ich überlesen.
--------------------------------------
Ulrich [Admin]

Benutzeravatar
Ulrich
Administrator
Beiträge: 3563
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 59 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: Ladestopp bei soc der Autobatterie

Beitrag von Ulrich »

to:be hat geschrieben:
Do 5. Mai 2022, 12:47
Moinsen,

hat schonmal jemand versucht die Ladung automatisiert zu stoppen?

Ich habe den soc der Autobatterie in influx db:iobroker measurement:batteryLevel field:value.

Die Ladung soll gestoppt werden, wenn soc 80% erreicht oder überschreitet.

Versucht habe ich die wall-math.php hierfür zu nutzen, finde jedoch nicht den passenden Parameter.

Ladestatus = 4 veranlasst die Solaranzeige davon auszugehen, dass das Auto bereits die Ladung gestoppt hätte, veranlasst jedoch nicht die Unterbrechung der Ladung.

Pause = 1 stoppt die Ladung leider auch nicht.

MaxEnergie in wall-math.php einfach auf 1 Wh zu setzen interessiert die Steuerung auch nicht.

Habt Ihr noch Ideen?

Viele Grüße
tho:be
Das geht nur, wenn du den Befehl direkt an die Wallbox sendest. Jede Wallbox hat dafür jedoch einen anderen Befehl.
--------------------------------------
Ulrich [Admin]

to:be
Beiträge: 9
Registriert: So 30. Aug 2020, 12:39
Hat sich bedankt: 6 Mal

Re: Ladestopp bei soc der Autobatterie

Beitrag von to:be »

Hm …
Bei definiertem Status des SOC der Hausbatterie kann die Ladung unterbrochen werden.
Bei unzureichendem Überschuss kann die Ladung unterbrochen werden.
Es gibt zugleich weder die Möglichkeit den Start des Ladevorgangs zu verhindern noch diesen zu stoppen, wenn ein definierter Status in einem definierten Feld eines Influxdb Measurements erreicht ist?

Schade …

Benutzeravatar
Ulrich
Administrator
Beiträge: 3563
Registriert: Sa 7. Nov 2015, 10:33
Wohnort: Essen
Hat sich bedankt: 59 Mal
Danksagung erhalten: 288 Mal
Kontaktdaten:

Re: Ladestopp bei soc der Autobatterie

Beitrag von Ulrich »

Ja, Spezialwünsche sind nicht berücksichtigt. Jeder der PHP programmieren kann, kann die Steuerung aber auf seine Bedürfnisse umprogrammieren. Dafür ist unter anderem die wall-math.php ja schon vorgesehen.
--------------------------------------
Ulrich [Admin]

Bogeyof
Beiträge: 898
Registriert: Mi 13. Mai 2020, 10:04
Hat sich bedankt: 17 Mal
Danksagung erhalten: 99 Mal

Re: Ladestopp bei soc der Autobatterie

Beitrag von Bogeyof »

Schreib doch mal folgenden Code in die wall-math.php, dann sollte es eigentlich funktionieren:

Code: Alles auswählen

// SOC auslesen
$ch = curl_init('http://localhost/query?db=iobroker&precision=s&q='.urlencode('select last(value) FROM batteryLevel'));
$rc = datenbank($ch);
$ActSOC = $rc["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][1];
log_schreiben("aktueller SOC : ".$ActSOC." %","",3);

if (($DB4["Stationsstatus"] == "B" or $DB4["Stationsstatus"] == "C") and $ActSOC >= 80) { // Test ob MaxSOC erreicht
    $ret = befehl_senden("Pause", $wbRegler, $wbGeraeteNummer, 0);
    if ($ret == true) {
        log_schreiben("MaxSOC 80 erreicht, Abbruch der Ladung. ", "", 4);
        log_schreiben("Pause, $wbRegler, $wbGeraeteNummer, 0", "", 4);
    }
    $Ladestatus = 4;
    log_schreiben("MaxSOC 80 erreicht, Bitte das Ladekabel entriegeln / entfernen.", "", 3);
}

to:be
Beiträge: 9
Registriert: So 30. Aug 2020, 12:39
Hat sich bedankt: 6 Mal

Re: Ladestopp bei soc der Autobatterie

Beitrag von to:be »

Ulrich hat geschrieben:
Do 5. Mai 2022, 16:29
Ja, Spezialwünsche sind nicht berücksichtigt. Jeder der PHP programmieren kann, kann die Steuerung aber auf seine Bedürfnisse umprogrammieren. Dafür ist unter anderem die wall-math.php ja schon vorgesehen.
Wenn Du Dir meine Threaderöffnung ansiehst, habe ich nicht erwartet, dass Spezialwünsche berücksichtigt sind. Ich habe versucht das Problem in der wall-math.php zu lösen und hierzu um Unterstützung gebeten. Ich habe Dich auch nicht direkt angeschrieben. Wenn Du mal keine Lust hast zu unterstützen, haben wir hier noch die Community. ;) - Danke übrigens für diese. :)

to:be
Beiträge: 9
Registriert: So 30. Aug 2020, 12:39
Hat sich bedankt: 6 Mal

Re: Ladestopp bei soc der Autobatterie

Beitrag von to:be »

Vielen Dank, Bogeyof! 8-)
Bogeyof hat geschrieben:
Do 5. Mai 2022, 16:55
Schreib doch mal folgenden Code in die wall-math.php, dann sollte es eigentlich funktionieren:
Der Hinweis den Befehl von wall-math zu senden fehlte mir. :oops:
Der Stationsstatus ist in meiner Installation in Ziffern gesetzt. Liegt das am go-eCharger?

Ich hab die 1.wallbox.steuerung.ini je Lademodus um ZielSOC ergänzt. Bei Bedarf schalte ich um auf Netz und tank den Wagen dann voll. ;)

Zur Dokumentation und falls nochmal jemand dieses Feature benötigt, dieser Code in der wall-math.php funktioniert jetzt so bei mir:

Code: Alles auswählen

// Lademanagement
$DB3Name = "iobroker";
$Measurement3Name = "batteryLevel";
$Feldname3 = "value";

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

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

$Ladestand = $DB3_math[$Feldname3];

if ($wbSteuerung["wbSteuerung1"] == 1) { // Start der PV Ladung
    if ($INI["PV-Quelle"]["ZielSOC"] > 0) { // Ladung wird bei Erreichen von ZielSOC vorzeitig beendet
        log_schreiben("Ladung wird auf ".$INI["PV-Quelle"]["ZielSOC"]."% begrenzt.", "", 3);
        if ($Ladestand >= $INI["PV-Quelle"]["ZielSOC"] and ($DB4["Stationsstatus"] == "2" or $DB4["Stationsstatus"] == "4")) {
           $ret = befehl_senden("Pause", $wbRegler, $wbGeraeteNummer, 0);
           if ($ret == true) {
               log_schreiben("Empfohlenen Ladestand von ".$INI["PV-Quelle"]["ZielSOC"]."% erreicht, Abbruch der Ladung.", "", 3);
               log_schreiben("Pause, $wbRegler, $wbGeraeteNummer, 0", "", 4);
           }
           $Ladestatus = 4;
        }
    }
}
if ($wbSteuerung["wbSteuerung2"] == 1) { // Start der Ladung aus der Batterie
    if ($INI["Batterie-Quelle"]["ZielSOC"] > 0) { // Ladung wird bei Erreichen von ZielSOC vorzeitig beendet
        log_schreiben("Ladung wird auf ".$INI["Batterie-Quelle"]["ZielSOC"]."% begrenzt.", "", 3);
        if ($Ladestand >= $INI["Batterie-Quelle"]["ZielSOC"] and ($DB4["Stationsstatus"] == "2" or $DB4["Stationsstatus"] == "4")) {
           $ret = befehl_senden("Pause", $wbRegler, $wbGeraeteNummer, 0);
           if ($ret == true) {
               log_schreiben("Ladestand von ".$INI["Batterie-Quelle"]["ZielSOC"]."% erreicht, Abbruch der Ladung.", "", 3);
               log_schreiben("Pause, $wbRegler, $wbGeraeteNummer, 0", "", 4);
           }
           $Ladestatus = 4;
        }
    }
}
if ($wbSteuerung["wbSteuerung3"] == 1) { // Start der Ladung aus dem Netz
    if ($INI["Netz-Quelle"]["ZielSOC"] > 0) { // Ladung wird bei Erreichen von ZielSOC vorzeitig beendet
        log_schreiben("Ladung wird auf ".$INI["Netz-Quelle"]["ZielSOC"]."% begrenzt.", "", 3);
        if ($Ladestand >= $INI["Netz-Quelle"]["ZielSOC"] and ($DB4["Stationsstatus"] == "2" or $DB4["Stationsstatus"] == "4")) {
           $ret = befehl_senden("Pause", $wbRegler, $wbGeraeteNummer, 0);
           if ($ret == true) {
               log_schreiben("Ladestand von ".$INI["Netz-Quelle"]["ZielSOC"]."% erreicht, Abbruch der Ladung.", "", 3);
               log_schreiben("Pause, $wbRegler, $wbGeraeteNummer, 0", "", 4);
           }
           $Ladestatus = 4;
        }
    }
}


Antworten