Super vielen Dank....leider kann ich es frühestens morgen testen. Aber ich gebe Rückmeldung.
Hier der schon einmal der Code
input100 = ist der Status der Ladestation (65=Ladekabel nicht angeschlossen, 66=Ladekabel angeschlossen, 67=Fahrzeug lädt)
holding300 = Register zur Festlegung der Ladestärke
lademodus: 0 = Sofort Laden, 1= PV Überschuss
Code: Alles auswählen
var Timer tChargeCurrent = null
rule "Ladestrom erhöhen"
when
Item input100 changed from 65 to 66
then
//Lademodus: 0 = Sofort Laden
if(lademodus.state == 0)
{
tChargeCurrent?.cancel
if(input100.state != 66)
{
holding300.sendCommand(6)
coil400.sendCommand(ON) //Ladefreigabe erteilen
return;
}
tChargeCurrent = createTimer(now.plusMinutes(3),[|
if(holding300.state < 16)
{
holding300.sendCommand((holding300.state as Number).intValue + 2)
tChargeCurrent.reschedule(now.plusMinutes(3))
}
])
}
//Wenn Lademodus = PV Überschuss und Überschuss > 1500W (~6A)
else if(lademodus == 1 && pv_ueberschuss.state > 1500)
{
holding300.sendCommand(6)
coil400.sendCommand(ON) //Ladefreigabe erteilen
}
end
Wenn in einigen Wochen unsere PV Anlage installiert ist muss das ganze noch erweitert werden.
Dann soll mit einem Switch zwischen "Sofort Laden" und "PV Überschuss" gewählt werden können.
Wobei bei PV Überschuss sich die Ladestation je nach Überschussleistung langsam an das möglich maximum herantasten soll.
Meinem Verständnis nach benötige ich dann eine weitere Rule welche bei eventuelle Überschussleistung größer 500W triggert und um 2A erhöht. Dies aber nur wenn aktuell ein Fahrzeug lädt (input100.state == 67)
Dabei möchte ich aber eine Mindestlaufzeit hinterlegen um ein ständiges Triggern des Schütz zu vermeiden sobald bspw. eine Wolke kommt.
Wurde das Laden mal gestartet, darf erst nach 30 Minuten gestoppt werden.
Diese Zeit wird wieder auf t+30 gesetzt, falls der Ladestrom erhöht wird.
Wurde das Laden mal gestoppt, ebenfalls erst dann das Laden wieder starten, wenn t+30 vergangen ist.