Autor Thema: Zählersteuerung für Laden E-Auto über PVAnlage - Bei Sonne gratis  (Gelesen 653 mal)

Offline Tabadorer

  • New Member
  • *
  • Beiträge: 9
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
« Letzte Änderung: 20 Juli 2020, 23:09:39 von Tabadorer »
fhem 6.0 in ESXI VM auf HP Z420 Workstation | div. SonOFF mit Tasmota | busware CUL869 | Homematic | habridge | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6807
Was bedeutet genau "es tut es nicht so"?

Rein von der Logik aus:
51 >= [solar:state:d] and [solar:state:d] <= 75kann 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?
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline satprofi

  • Hero Member
  • *****
  • Beiträge: 1408
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
-----------------------------------------------------------------------
Raspberry - Fhem 5.7 CUL 868, FS20, NetIO230 CUL 433, REV, Unitec, FLS u. ELRO Funksteckdosen
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Offline Tabadorer

  • New Member
  • *
  • Beiträge: 9
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

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.


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.

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 6.0 in ESXI VM auf HP Z420 Workstation | div. SonOFF mit Tasmota | busware CUL869 | Homematic | habridge | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6807

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)
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline satprofi

  • Hero Member
  • *****
  • Beiträge: 1408
ä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
-----------------------------------------------------------------------
Raspberry - Fhem 5.7 CUL 868, FS20, NetIO230 CUL 433, REV, Unitec, FLS u. ELRO Funksteckdosen
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6807
ä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)
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline Tabadorer

  • New Member
  • *
  • Beiträge: 9
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 6.0 in ESXI VM auf HP Z420 Workstation | div. SonOFF mit Tasmota | busware CUL869 | Homematic | habridge | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

Offline amenomade

  • Developer
  • Hero Member
  • ****
  • Beiträge: 6807
Zitat
Er 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:
Zitat
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
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

 
« Letzte Änderung: 20 Juli 2020, 23:31:55 von amenomade »
FHEM 5.9 Pi 3, EchoDot, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

Offline stefanpf

  • Full Member
  • ***
  • Beiträge: 157
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

Offline Tabadorer

  • New Member
  • *
  • Beiträge: 9
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 6.0 in ESXI VM auf HP Z420 Workstation | div. SonOFF mit Tasmota | busware CUL869 | Homematic | habridge | Echo Dot | Fritz DECT Thermostate | ConBee II ZigBee Gateway | Mosquitto MQTT

Offline satprofi

  • Hero Member
  • *****
  • Beiträge: 1408
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.
« Letzte Änderung: 21 Juli 2020, 17:46:26 von satprofi »
gruss
-----------------------------------------------------------------------
Raspberry - Fhem 5.7 CUL 868, FS20, NetIO230 CUL 433, REV, Unitec, FLS u. ELRO Funksteckdosen
HMLAN, HM-CC-RT-DN,Homematic Actoren,LD382A,Telegram

Offline stefanpf

  • Full Member
  • ***
  • Beiträge: 157
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.

 

decade-submarginal