Seite 2 von 4
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Do 31. Mär 2022, 14:44
von blaubaer
Ahh...
Endes hat geschrieben: ↑Do 31. Mär 2022, 14:00
Evtl kannst du mir und anderen ja helfen..
Wenn ich das oben Gesagte richtig verstehe, dann kommt der Code in die Datei wall-math.ini. Auf Seite 5, 6 und 20 des Dokuments WS003 ist beispielhaft beschrieben, wie man die Datei anlegt und editiert -
aber soweit bin ich selbst noch nicht, das sollte sicherheitshalber nochmal jemand von den Wissenden bestätigen...
Grüße Michael
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Do 31. Mär 2022, 20:54
von Endes
Hi,
ja so grob steht das dort..
Aber leider noch zu wenig für mich..
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Sa 2. Apr 2022, 11:56
von blaubaer
Ich stelle mir das so vor:
- die Datei wall-math.php erstellen mit dem Copy-Befehl "sudo cp /var/www/html/wall-math.template /var/www/html/wall-math.php"
- die Datei wall-math.php editieren mit "sudo mcedit /var/www/html/wall-math.php", den Code vom Post weiter oben einfügen und speichern
- die Einträge in der Datei wall-math.php werden spätestens nach dem nächsten Restart berücksichtigt
Auf jeden Fall den Abschnitt "Fehleranalyse" im Dokument [WS003] auf Seite 20 beachten!
Wie gesagt, ich hab's noch nicht ausprobiert...
Grüße Michael
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Di 5. Apr 2022, 22:56
von joy12
Muss die wallbox ini mit dem ersten oder jedem wr verbunden werden?
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Do 7. Apr 2022, 08:01
von blaubaer
Hallo,
wenn du die Datei x.wallbox.steuerung.ini meinst, die muss die gleiche Nummer haben wie die Datei x.user.config.php der Wallbox.
Grüße Michael
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Mo 2. Mai 2022, 14:52
von to:be
Aloha,
im laufenden Betrieb hatte ich beobachtet, dass obige Rechnung (Eigenverbrauch = solaranzeige$AC.Hausverbrauch) die Ladeleistung der Wallbox einbezieht und diese sich folglich selbst ausnockt. Um dies zu vermeiden habe ich den Code weiter ergänzt. Nun wird die Ladeleistung (steuerung$AC.Leistung_gesamt) auch ausgelesen und der Eigenverbrauch errechnet sich nun aus Hausverbrauch - Ladeleistung - eines zusätzlichen Puffers von 100 Watt.
Der Code in meiner wall-math.php sieht nun so aus:
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 = 100;
$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);
}
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 = "steuerung";
$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");
return;
?>
Entschuldigt bitte, dass ich nicht früher geantwortet habe. Für künftige Antworten habe ich jetzt angehakt mich über Antworten zu informieren.
vG
tho:be
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: Do 26. Mai 2022, 10:25
von Filips
Danke für die Einführung.
Frage: wohin schreibst du die Fehler, wenn er sich nicht mit der Datenbank verbinden kann?
Bei mir schaut das nämlich so aus, finde nur die Fehlermeldung nicht.
Filips
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: So 29. Mai 2022, 09:23
von Filips
Noch mal eine generelle Frage.
Bei mir gibt es 2 Werte von eigenverbrauch.
1) aus der Wallbox-Konfigurationsdatei. Der ist bei mir auf 1.000 gesetzt
2) der aus der Wall-Math Datei. Der wird dynamisch errechnet.
Im Wallbox.log wird beides angezeigt. In die Steuerung wird aber nur der erste Wert übernommen.
Muss ich den aus der Wallbox-configurationsdatei auskommentieren?
Warum werden beide berechnet, aber der Wall-math wert überschreibt den festen Konfigurationswert nicht?
Filips
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: So 29. Mai 2022, 12:17
von Lionking1982
Der Errechnete eigenverbrauch wir nicht in der log Datei angezeigt.
Nur der über die ini eingsetellt.
füge die Zeile:
Code: Alles auswählen
log_schreiben( "Gemessener Eigenverbrauch: ".$Eigenverbrauch." Watt", "", 3 );
an das Ende der math.php.
Dann gibt er dir den gemessenen Wert in der Logdatei wieder.
Re: Überschussladen mit variablem Hausverbrauch
Verfasst: So 29. Mai 2022, 12:59
von Filips
Ich hab die Wall-math von to:be genommen und da wird der Eigenverbrauch ausgegeben.
$Eigenverbrauch = $Hausverbrauch - $Wallboxverbrauch + $Puffer;
log_schreiben("math:Eigenverbrauch ist $Eigenverbrauch");
log_schreiben( "math:aktuelle Solarleistung ($Solarleistung) - Eigenverbrauch ($Eigenverbrauch): ".($Solarleistung - $Eigenverbrauch)." Watt");
Das log schaut so aus
29.05. 12:53:01 INFO Eigenverbrauch laut INI Datei: 1000 Watt
29.05. 12:53:03 INFO aktuelle Solarleistung - Eigenverbrauch: 4942 Watt
29.05. 12:53:03 INFO Auto wird geladen.
29.05. 12:53:03 INFO Kabel angeschlossen und beidseitig verriegelt.
29.05. 12:53:04 INFO math:Eigenverbrauch ist 551.78
29.05. 12:53:04 INFO math:aktuelle Solarleistung (5942) - Eigenverbrauch (551.78): 5390.22 Watt
Geregelt wird leider auf die 4.942 Watt.
Filip