Benutzer-Werkzeuge

Webseiten-Werkzeuge


smart_laden

Dies ist eine alte Version des Dokuments!


Und was möchte ich hier erreichen?

Das E-Auto soll nur mit selber produziertem Strom geladen werden. Entweder mit Überschuss aus der Solaranlage oder auch unter Zuhilfenahme des sonnen Hausbatterie-Speichers. Dieser soll aber nicht über Gebühr entladen werden, den gespeicherten Strom brauchen wir ja in der Nacht für das Haus. Er dient vielmehr als Puffer falls mal eine Wolke durchzieht und nicht deswegen gleich die Ladung des Fahrzeugs abbricht.

Die Parameter sind hier bei mir also sehr konservativ gewählt, batterieschonend sozusagen. Die Ladung des Autos beginnt erst wenn der Hausspeicher schon mindestens zu 25 % geladen ist, mit min. 3,2 kW geladen wird und auch noch mehr als 800 Watt ins Netz eingespeist werden. Das ist im Sommer halt vormittags der Fall.

Trotzdem wird der Hausspeicher bis abends voll (er fasst 12 kWh). Dann lädt das Auto noch so lange weiter bis der Hausspeicher einen Ladestand von 90% hat. Das funktioniert natürlich alles nur so gut wenn das Auto tagsüber angeschlossen ist. Also z. B. am Wochenende oder wenn man, wie ich, häufig im Homeoffice ist.

Hier eine einfache Möglichkeit das eigene Elektrofahrzeug rein mit Überschuss-Strom von der Solaranlage zu laden. Der Batterie-Speicher von sonnen bietet eine API zur Abfrage sämtlicher Parameter (Aktuelle Daten bzgl. Solarertrag, Hausverbrauch, Batterie SOC (Batterieladestand), mit wieviel Leistung wird die Batterie gerade geladen oder entladen . . . etc.

Sind erstmal die Daten in der eigenen SmartHome-Zentrale ist der Rest ziemlich einfach. Wir brauchen zwei Regeln die einen WallPlug ein und ausschalten. An dem hängt der „Ladeziegel“. Dies ist ein Ladegerät für die Haushaltssteckdose und lädt das angeschlossene KFZ mit überlicherweise 8 - 10 Ampere, also eine Leistung von ca. 1,8 kW bis ca. 2,2 kW. Nicht viel im Vergleich zu einer 11 oder 22 kW Wallbox. Aber bei einer Standzeit von mal angenommen 10 Stunden hat man auch über den „Ladeziegel“ ca. 100 bis 150 km nachgeladen. Und die geringe Leistung überfordert nicht die Solaranlage (meine hat nur 8,41 kW peak) zusammen mit dem Hausverbrauch.

Regel 1 in der Zentrale: WallPlug zum Laden einschalten
Im Klartext:

Wenn der WallPlug aus ist
UND der Ladestand der Batterie größer als 25 % ist
UND der Hausspeicher mit mehr als 3,2 kW gerade geladen wird
UND die Einspeisung in das Netz größer als 800 Watt ist
ODER
Wenn der WallPlug aus ist
UND der Ladestand der Batterie größer als 97 % ist
UND der aktuelle Hausverbrauch kleiner als 600 Watt ist
DANN schalte den Wall Plug ein
UND schicke eine Push-Benachrichtigung über den Vorgang an mein iPhone.

Hier als Blockscene angelegt in der Fibaro Home Center 2:

Regel 2 in der Zentrale: WallPlug ausschalten und somit das Laden beenden/unterbrechen
Im Klartext:

WENN der WallPlug eine Leistung kleiner als 2 Watt hat dann breche die Scene ab (Wall Plug ist zwar eingeschaltet aber es hängt gerade kein Fahrzeug dran)

WENN der Wall Plug eingeschaltet ist
UND der Batteriefüllstand kleiner als 91 % ist
UND der Batteriefüllstand kleiner ist als der zuvor gemessene Wert (also Batterie wird entladen)
ODER
WENN die Leistung am Wall Plug kleiner als 2150 Watt ist (habe ich ausgemessen, bei unterschreiten dieser Ladeleistung hat das E-Auto einen SOC von ca. 90%)
UND der Wall Plug eingeschaltet ist
ODER
WENN die Scene manuell gestartet wurde und der Wall Plug eingeschaltet ist
DANN
schalte den Wall Plug aus und benachrichtige mich mit einer Push-Benachrichtigung

Und da sich manche Dinge effizienter direkt in LUA programmieren lassen hier im Gegensatz zur vorherigen Blockscene die zweite Scene als LUA-Programmierung.

--[[
%% properties
592 power
%% weather
%% events
%% globals
vSB_USOC
--]]
 
if (tonumber(fibaro:getValue(592, "power")) < 2 )
then
    fibaro:abort();
end
 
local startSource = fibaro:getSourceTrigger();
 fibaro:debug(fibaro:getValue(592, "power"));
if (
 ( tonumber(fibaro:getValue(592, "value")) > 0 and tonumber(fibaro:getGlobalValue("vSB_USOC")) < tonumber("91") and  tonumber(fibaro:getGlobalValue("vSB_USOC")) < tonumber(fibaro:getGlobalValue("vSB_USOC_before")) )
or
 ( tonumber(fibaro:getValue(592, "power")) < 2150 and tonumber(fibaro:getValue(592, "value")) > 0)
or
startSource["type"] == "other" and tonumber(fibaro:getValue(592, "value")) > 0
)
then
	fibaro:call(592, "turnOff");
	fibaro:call(1090, "sendDefinedPushNotification", "939");
    fibaro:debug("PowerOFF");
    fibaro:debug(fibaro:getValue(592, "power"));
end

Natürlich läßt sich das auch in mehreren Blockscenen anlegen . . . aber lieber nur eine LUA-Scene.

smart_laden.1608591600.txt.gz · Zuletzt geändert: 2020/12/21 23:00 von kobusch