Zählersteuerung für Laden E-Auto über PVAnlage - Bei Sonne gratis

Begonnen von Tabadorer, 19 Juli 2020, 19:33:10

Vorheriges Thema - Nächstes Thema

Tabadorer

Ich habe eine PV Anlage die bei Sonne ein Plugin Hybrid Auto mit Strom versorgt. Da ist auch ein Zusatzzähler verbaut, den ich aber mit einem parallel verbauten Relais überbrücken kann.
Die Idee ist:
Scheint die Sonne ist der Strom gratis; ist es dunkel wird der Strom gezählt. Nuzn würde ich gerne im Stil von PWM das Relais in Abhängigkeit des Autarkiegrades an- und ausschalten. bei 50% Autarkie meinetwegen 30sekunden strom zählen und 30sekunden eben nicht. Unter dem Strich währe dann laut Zähler dann nur die Häflte an EVU Strom in das Auto geflossen.

Ich habe da mal etwas mit DOIF ausprobiert, aber es tut es nicht so. Zum testen habe ich die Zeitspanne auf max 5 sekunden reduziert. Hier mal der letzte Stand.
Es handelt sich hier nur um Dummydevices. In Natura ist der Sunnyhome Manager 2.0 verbaut und ein Sonoff 4CH mit ESPURNA.

DOIF Teil


(
[solar:state:d] >= 0
and
[solar:state:d] <= 16
)
(
set elader on
)
DOELSEIF
(
[solar:state:d] >= 17
and
[solar:state:d] <= 33
)
(
set elader on;

)
(
set elader off;
)
DOELSEIF
(
[solar:state:d] >=34
and
[solar:state:d] <=66
)
(
set elader on;

)
(
set elader off;
)
DOELSEIF
(
[solar:state:d] >=67
and
[solar:state:d] <=82
)
(
set elader on;

)
(
set elader off;
)
DOELSE
(
set elader off;
)


attr solarpwm do always
attr solarpwm repeatcmd 5
attr solarpwm repeatsame 3
attr solarpwm room ztest
attr solarpwm selftrigger all
attr solarpwm startup wait
attr solarpwm wait 0:2.5,7.5:5,5:7.5,2.5:0

attr solarpwm startup wait
attr solarpwm wait 0:4:1:0
]


Die virtuelle Wallbox

define elader dummy
attr elader room ztest
attr elader webCmd on:off


Der Autarkiegraddummy in %

define solar dummy
attr solar room ztest
attr solar webCmd 0:26:51:76:100
fhem in Docker auf Lenovo m625q 16gb RAM/2TB SSD | div. SonOFF mit Tasmota | Shelly | busware CUL869 | Homematic | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

amenomade

Was bedeutet genau "es tut es nicht so"?

Rein von der Logik aus:
51 >= [solar:state:d] and [solar:state:d] <= 75
kann man einfach [solar:state:d] <= 51 schreiben, weil wenn 51 grösser als solar... ist, dann ist solar... kleiner als 51. Und wenn solar... kleiner als 51 ist, ist es auch kleiner als 75. Oder ist es ein Fehler?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

satprofi

Hallo. Wie genau misst du deine Autarkie?
Ich für mich nehme den Überschusswert der PV, abzüglich dem Ladewert des Autos(kennt man) und alles über 1 bekommt das Auto
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Tabadorer

ich habe im Code mal die fehlenden Elemente nachgereicht.


Mit dieser Tabelle sollen die Schaltzeiten des Bypassrelais verdeutlicht werden. Diese werden dann noch Bedarfsgerecht umgerechnet - sind aber sicher ersteinmal ein guter Start. In dem Codebeispiel sind die Zeiten so noch nicht enthalten.







AutarkiegradAnschaltdauer (min)Ausschaltdauer (min)
0-16%00:0010:00
17-33%02:3007:30
34-66%05:0005:00
67-82%02:3007:30
83-100%10:0000:00

Zitat von: amenomade am 20 Juli 2020, 01:49:46
Was bedeutet genau "es tut es nicht so"?
Er durchläuft das jeweilige DOIF Kommando schon mit den jeweiligen Schaltzeiten aber nur ein einziges mal. Dann bleibt das Relais mit dem letzten Schaltzustand so stehen.
Allerdings habe ich nur mit den Dummywerten getestet und auch nur so wie sie oben definiert sind. Vielleicht fehlt ja noch ein event-on-change oder soetwas.


Zitat von: satprofi am 20 Juli 2020, 05:42:47
Hallo. Wie genau misst du deine Autarkie?
Der Sunnyhome Manager liefert mir die Werte. An der "Wallbox" ist ein Zusatzzähler mit S0-Ausgang, den ich aber noch nicht nutze. Ein kleines ESP8266 Modul mit Tasmota sollte hier helfen mit auch den gemessenen Ladestrom zu übermitteln. Braucht man aber auch nicht, weil der Ladestrom immer 10A/2200 Watt sind.

Zitat von: satprofi am 20 Juli 2020, 05:42:47
Ich für mich nehme den Überschusswert der PV, abzüglich dem Ladewert des Autos(kennt man) und alles über 1 bekommt das Auto
Ich kann den Ladestrom leider nicht variieren. Geht nur binär an oder aus. Daher soll halt

PV Ertrag - aktueller Bedarf im Haushalt - Ladestrom - zugekaufter Strom vom EVU

nach Möglichkeit nicht negativ sein. Fall doch, soll der negative bereich anteilig gezählt werden.
Vorbild ist Pulsweitenmodulation PWM

fhem in Docker auf Lenovo m625q 16gb RAM/2TB SSD | div. SonOFF mit Tasmota | Shelly | busware CUL869 | Homematic | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

amenomade

Zitat von: Tabadorer am 20 Juli 2020, 19:26:48

Er durchläuft das jeweilige DOIF Kommando schon mit den jeweiligen Schaltzeiten aber nur ein einziges mal. Dann bleibt das Relais mit dem letzten Schaltzustand so stehen.

Kann es sein, dass er bei cmd_3 irgendwie stehend bleibt, bis solar:state:d wieder grösser als 75 wird? (siehe oben)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

satprofi

ändere die reihenfolge, doif arbeitet von oben nach unten.
wenn solar > 80 dann...
wenn solar > 50 dann...
wenn solar > 25 dsnn...
wenn solar < 25 dann off
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

amenomade

Zitat von: satprofi am 20 Juli 2020, 21:38:30
ändere die reihenfolge, doif arbeitet von oben nach unten.
wenn solar > 80 dann...
wenn solar > 50 dann...
wenn solar > 25 dsnn...
wenn solar < 25 dann off
Was wird das ändern? Er testet schon immer, dass solar zwischen minWert und maxWert ist (bis auf den Fehler, den ich schon signalisiert habe)
(und bei Seite: dein Ding funktioniert bei 25 nicht. Die letzte Bedingung muss solar<=25 sein, oder man muss DOELSE benutzen)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Tabadorer

Ich habe jetzt nocheinmal überarbeitet und es funktioniert auch eigentlich alles (Code ist im ersten Post). Er wiederholt innerhalb von DOIF dasselbe Kommando nicht, sofern sich der WErt nicht ändern. Ich muss in der GUI bei meinem Dummy solar beispielsweise den Wert erneut auf 26 setzen, selbst wenn vorher auch schon 26 gesetzt war. Die Schaltzeiten werden über das
attr wait realisiert


on und off scheinen hier vertauscht zu sein, ist aber für die allgemeine Funktion unerheblich.
fhem in Docker auf Lenovo m625q 16gb RAM/2TB SSD | div. SonOFF mit Tasmota | Shelly | busware CUL869 | Homematic | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

amenomade

ZitatEr wiederholt innerhalb von DOIF dasselbe Kommando nicht, sofern sich der WErt nicht ändern.
Was erwartest Du für eine Wiederholung? So lange kein Event solar:state kommt, passiert ja nicht. Wenn Du den Wert in solar:state manuell änderst wird ein neues Ereignis generiert, und der DOIF wird dank "do always" den Befehl wieder ausführen.

Nur im ersten Zweig hast Du ein repeatcmd. Also cmd_1 wird 3 mal mit 5 Sekunden Abstand wiederholt, solange die Bedingung 1 wahr bleibt. Die andere nicht.

EDIT:
Zitatattr solarpwm startup wait
attr solarpwm wait 0:2.5,7.5:5,5:7.5,2.5:0

attr solarpwm startup wait
attr solarpwm wait 0:4:1:0
Welche Version ist gültig?

Und mach mal attr solarpwm selftrigger all weg. Ich verstehe nicht, was es hier bringt, und das kann zu komische Ergebnisse führen, wenn Du irgendwann evtl. dein DOIF erweiterst. So ein Attribut sollte man nur bewusst und bei Bedarf einstellen

Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

stefanpf

Aus (echtem) Interesse:
Was genau versprichtst du dir davon?
Ist nicht böse gemeint, vielmehr habe ich das Gefühl, dass ich den Vorteil der Geschichte nicht sehe.

Klar ist, dass wenn z.B. 2000Wh Photovoltaik verfügbar sind und Trockner und Staubsauger schon laufen geht der gesamte Ladevorgang mit 2,2 kWh auf das EVU.
Wenn du jetzt 50%taktest, gehen auch nur 1,1kWh auf das EVU, dafür dauert es halt auch doppelt so lange.
Wenn sich die anderen Parameter nicht ändern, geht aber trotzdem der gesamte Ladevorgang zu 100% auf das EVU.

Oder verstehst du das mehr als eine Art Zukunftswette (Sonne wird im Laufe des Tages mehr, der Trockner läuft ja nicht ewig....)?

Wäre es dann nicht eventuell besser den Ladevorgang auszusetzen bis der sonstige Eigenverbrauch planbar so niedrig ist, dass es sich wieder lohnt?
Je nach Kapazität des Akkus und Fahrgewohnheiten sind 10A Dauerstrom auch "bitter". Ich habe einmal per Schuko geladen und dann zieht sich das schon 10h. Wenn man das noch taktet wird das Auto an einem Tag schlimmstenfalls gar nicht mehr voll und er lädt nachts (getaktet) weiter über den EVU  >:(


PV Ertrag - aktueller Bedarf im Haushalt - Ladestrom - zugekaufter Strom vom EVU
nach Möglichkeit nicht negativ sein.

1000
-1000
-2200
=-2200

Tabadorer

Zitat von: stefanpf am 21 Juli 2020, 07:12:32
Aus (echtem) Interesse:
Was genau versprichtst du dir davon?
Ist nicht böse gemeint, vielmehr habe ich das Gefühl, dass ich den Vorteil der Geschichte nicht sehe.

Du hast das nicht ganz verstanden (oder ich es nicht vollständig erklärt). Ich kassiere von meiner Frau Geld, wenn die ihr Auto von unserem, gemeinsam bezahlten Strom lädt.
Sie will verständlicherweise nur das bezahlen, was nicht gratis ist.
Der Ladevorgang wird zu keinem Zeitpunkt unterbrochen, jedoch soll der Zähler mit einem Relais überbrückt und damit den Ladevorgang für sie kostenlos werden. Manuell klappt das auch, aber das ist ja nicht Sinn und Zweck des ganzen.


Anbei mal ein nicht ganz DIN gerechtes Schaltbild zum besseren Verständnis.
fhem in Docker auf Lenovo m625q 16gb RAM/2TB SSD | div. SonOFF mit Tasmota | Shelly | busware CUL869 | Homematic | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

satprofi

Zitat von: Tabadorer am 21 Juli 2020, 08:47:09
Du hast das nicht ganz verstanden (oder ich es nicht vollständig erklärt). Ich kassiere von meiner Frau Geld, wenn die ihr Auto von unserem, gemeinsam bezahlten Strom lädt.


OK, das verstehe ich jetzt auch nicht mehr.
Von Frau Geld kassieren, wenn sie im gemeinsamen Haushalt etwas in Anspruch nimmt. ........

Billiger und einfache wäre dann, montier dir SD630M in die Zuleitung zur Wallbox, und verrechne deiner Frau den Strom.
Den eingespeisten Stromertrag kannst du dann in Kneipe investieren.
gruss
-----------------------------------------------------------------------
beelink miniPC - Fhem 6.x CUL 868, FS20, NetIO230 CUL 433
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

stefanpf

Danke für die Erleuchtung ... jetzt komme ich auch mit  :)
Da mein Vater ab und zu so "merkwürdige_Gedankengänge hat, hatte mich vermutlich zu schnell auf das echte Abschalten eingeschossen und da verannt.