Stromeinkauf des Elektroautos errechnen
Verfasst: 7. Okt 2020 00:56
Hallo meine Experten,
ich könnte nochmal eure Hilfe gebrauchen. Mir fehlt für folgenden Wunsch jeglicher Ansatz.
Mein eGolf hängt an einem Stromzähler, somit weiß ich immer, was ich getankt habe. Um nun
aber die Wirtschaftlichkeit des KFZ einschätzen zu können, würde ich gerne nur den Verbrauch
"zählen" der wirklich aus der Steckdose kam und nicht vom Dach.
Hier mal mein verkorkster Versuch das zu lösen (Steinigt mich bitte nicht
)
Ich hoffe es blickt hier noch einer durch und mag mir helfen.
Gruß Joe
ich könnte nochmal eure Hilfe gebrauchen. Mir fehlt für folgenden Wunsch jeglicher Ansatz.
Mein eGolf hängt an einem Stromzähler, somit weiß ich immer, was ich getankt habe. Um nun
aber die Wirtschaftlichkeit des KFZ einschätzen zu können, würde ich gerne nur den Verbrauch
"zählen" der wirklich aus der Steckdose kam und nicht vom Dach.
Hier mal mein verkorkster Versuch das zu lösen (Steinigt mich bitte nicht

Code: Alles auswählen
rule "Ladestrom aus Steckdose"
when
Item Stromeinkauf changed //wird alle 30 Sek. aktualisiert und gib die Wattzahl an, die an Strom eingekauft werden muss
then
if(Outlet1.state == ON) LadenausderSteckdose.postUpdate((Power1.state as Number) + LadenausderSteckdose.state as Number)
//Outlet1 ist der Stecker, der den Golf läd ; LadenausderSteckdose soll der hochgezählter wert sein ; Power1 ist der Ladestrom den der Golf zieht(an Outlet1)
if(Verkauf.state < 0) Zwischenschritt.postUpdate(((Power1.state as Number) - (Stromeinkauf.state as Number)))
//Verkauf = PV überproduktion --> es wird kein Strom eingekauf wenn größer 0 ; wenn kleiner 0 soll die Differenz zwischen Outletverbrauch und Eingekauftem Strom berechnet werden(ich möchte ja später nur den Wattwert draufzählen, den ich Einkaufen musste und nicht den ganzen Verbrauch)
if(Verkauf.state > 0) Zwischenschritt.postUpdate(0)
//Wenn Verkauf ist über 0 muss ich keinen Strom einkaufen, heißt ich muss auch nix berechnen, da der Ganze Strom vom DAch kommt
createTimer(now.plusSeconds(1)) [if((Zwischenschritt.state as Number) < (Power1.state as Number)) {LadenausderSteckdose.postUpdate((LadenausderSteckdose.state as Number) - ((Zwischenschritt.state as Number)/1000/90))}]
createTimer(now.plusSeconds(2)) [if((Zwischenschritt.state == 0)) {LadenausderSteckdose.postUpdate((LadenausderSteckdose.state as Number) - ((Power1.state as Number)/1000/90))}]
//Das sind dann die verzweifelten Versuche, dass irgendwie zusammen zu rechnen.
end
Gruß Joe