ich versuche gerade eine Startzeit zu errechnen, welche dann als Trigger für eine Rule genutzt werden soll.
Ziel ist es, dass der Ladevorgang beendet wird kurz bevor das Auto genutzt wird. Somit ist der Akku noch vorgewärmt
Die Endzeit soll variabel sein.
Dazu habe ich bereits eine Rule begonnen um die wichtigsten Parameter zu berechnen.
Items (ohne Channeldefinition, da hier nicht relevant)
Code: Alles auswählen
Number evcc_targetSoC "Target SoC: "
Number evcc_vehicleSoC "Vehicle SoC: "
Switch SetWarpAmpere "Ladestrom" {autoupdate="false"} //Name muss noch angepasst werden, dient nur als Trigger => heute Nacht laden
Number EVChargeEndHour "Start Hour [%d]" <time>
Number EVChargeEndMinutes "Start Minutes [%d]" <time>
Code: Alles auswählen
rule "Get Warp Duration"
when
Item SetWarpAmpere received command ON
then
var vWarp = ((evcc_targetSoC.state as Number).intValue - (evcc_vehicleSoC.state as Number).intValue) //Anzahl kW bis targetSoC
var vPower = ((vWarp * 0.373) - 2.415).floatValue // Wieviel muss mit 10A geladen werden
var vDuration = ((vPower / 0.115) + 30).intValue // Benötigte Zeit inkl. vorwärmen
end
2.415 = Leistung in kW, welche beim vorwärmen (15 Min mit 6A + 15 Min mit 8A) geladen wird (daher auch die + 30 für Duration)
0.115 = kW der Wallbox bei 10A/Minute
Nun habe ich gerade einen Knoten im Hirn
Wie kann nun
- aus (EVChargeEndHour & EVChargeEndMinutes) - vDuration eine Startzeit errechnet werden
- wie kann diese Startzeit dann als Trigger für eine Rule genutzt werden (timecron)? (hier würde dann die Rule zum aufwärmen und anschließendem laden starten, diese ist schon fertig)
Viele Grüße