NEWS
Easee Wallbox mit iobroker
-
@hardy_01 sagte in Easee Wallbox mit iobroker:
@flisse
DankeJa, das Script ist natürlich noch zu optimieren, aber ich denke ganz so schlecht läuft es nicht. Die Herausforderung ist ja bei Sonne/Wolken Mix, wo die PV-Leistung innerhalb von 30 Sekunden von z.B. 2 kW und 9 kW schwankt. Man kann z.B. noch mit dem Intervall zum Anpassen der Ladeleistung experimentieren. Hier habe ich bewusst 2 Minuten gewählt, dass sich die Easeebox nicht "totregelt". Hier mal ein Auszug von gestern, die kurzen Peaks wurden vom Laderoboter nicht berücksichtigt (deshalb nur 3-phasig Laden wenn 10 Minuten konstant hohe Leistung anliegt, ansonsten weiter mit 1-phasig Laden)
Servus Hardy,
erstmal vielen Dank für dein gepostetes Script!
Ich bin seit fast einem Jahr mit Clever-PV unterwegs um meinen Zoe PV-geführt zu laden. Muss sagen dass hat die meiste Zeit wirklich sehr gut funktioniert. Inkl. autmatischer Phasenumschaltung etc...Da Clever-PV nun allerdings kostenpflichtig wird und ich ja die Hardware eh Zuhause habe, möchte ich auch gerne über ioBroker ansteuern.
Meine Skills sind leider seehr überschaubar^^ Daher möchte ich gerne dein Skript verwenden...Da dein letzter Post schon recht lange her ist, hiermit kurz die Frage ob du es nochmal angepasst/verbessert hast?
Also bevor ich alles für mich umschreibeDanke
Mfg
-
Hi zusammen. Ich erwarte mein Auto Ende März und wollte schon mal vorarbeiten. Vernünftig testen kann ich das ganze noch nicht, aber ich habe ein Problem.
Ich habe den Adapter installiert und eingerichtet. Es wurden auch Datenpunkte für beide Wallboxen mit Werten angelegt.
Dann habe ich mir das Script von hardy geschnappt und an meine Komponenten angepasst. Bei der Berechnung des Überschusses greift die Formel aber auf die TotalLeistung der Wallbox zu. Hier steht bei mir aber nicht 0, sonder (null) im Datenpunkt. Folglich kann die Formel nicht rechnen. In einigen anderen Datenpunkten steht die 0 drin. Was ist hier anders?
-
@alex-warkentin Hmmm, der Datenpunkt TotalPower wird auch nur von der Wallbox gemessen und berechnet. Wenn also dein Datenpunkt ein Nullwert (null) ausweist, dann ist er nicht vorhanden, und wurde (vielleicht noch) nicht angelegt. Zeigen deine Datenpunkte für Spannung und Strom Werte an?
Du schreibst, dass dein E-Auto erst geliefert wird, hast du überhaupt deine Wallbox schon benutzt? Möglicherweise wird der Datenpunkt erst nach dem ersten Laden, wenn die zu messenden Ströme fließen, mit Werten belegt...
-
@takasan
Ich habe die Box tatsächlich noch nicht im Betrieb gehabt. Datenpunkte wie Spannung und Firmwarestand usw. sind aber vorhanden und plausibel. -
@habedere
Habe nur kleinere Anpassungen wie Timer für 1-/3-phasiges Laden etc. gemacht. Du kannst es so verwenden -
@alex-warkentin
Die Formel für den Überschuss kann natürlich bei jedem anders aussehen, je nach dem welche Daten hier der Wechselrichter liefert. Bei mir (SolarEdge) ist es allerdings nicht TotalPower, sondern ACTotalRealPower (ich denke das meinst du). Das ist nichts anderes als der momentane, totale Hausverbrauch. Der Datenpunkt TotalPower wird von der Wallbox zur Verfügung gestellt und gibt die momentane Leistung an. Da du noch kein Auto hast bzw. die Wallbox noch nicht in Betrieb hattest, schreibt iobroker noch "(null)" in den Datenpunkt. Sobald du das erste Mal ein paar kW durchjagst, sollte der Wert dann auf "0" stehen, wenn die Wallbox grade nicht in Betrieb ist.
Ich benutze TotalPower übrigens nur für die graphische Auswertung in Grafana. Für den Betrieb des Überschussscripts hat der Wert keine Bedeutung. -
@hardy_01 said in Easee Wallbox mit iobroker:
@alex-warkentin
Die Formel für den Überschuss kann natürlich bei jedem anders aussehen, je nach dem welche Daten hier der Wechselrichter liefert. Bei mir (SolarEdge) ist es allerdings nicht TotalPower, sondern ACTotalRealPower (ich denke das meinst du). Das ist nichts anderes als der momentane, totale Hausverbrauch. Der Datenpunkt TotalPower wird von der Wallbox zur Verfügung gestellt und gibt die momentane Leistung an. Da du noch kein Auto hast bzw. die Wallbox noch nicht in Betrieb hattest, schreibt iobroker noch "(null)" in den Datenpunkt. Sobald du das erste Mal ein paar kW durchjagst, sollte der Wert dann auf "0" stehen, wenn die Wallbox grade nicht in Betrieb ist.
Ich benutze TotalPower übrigens nur für die graphische Auswertung in Grafana. Für den Betrieb des Überschussscripts hat der Wert keine Bedeutung.Ich meinte diese Zeile
pvUeberschuss = Math.round(parseFloat(getState("javascript.0.Solarpower.Huawei.Meter.ActivePower").val) - reserveLeistung);// + parseFloat(getState("easee.0.EHPMTJE4.status.totalPower").val) * 1000);
Der auskommentierte Datenpunkt macht den Ärger. Aber wenn das nach dem ersten Laden den Wert 0 annimmt, sollte ja alles gut werden. Danke für das Script. Das erspart einem viel Arbeit.
-
@uli977 sagte in Easee Wallbox mit iobroker:
Tesla
Hast du das Skript von @hardy_01 getestet?
Ich habe auch einen Tesla aber der Wagen übernimmet nicht automatisch den Strom (A) von der Wallbox sondern immer nur den Wert (Ampere) der in der Tesla App geradde angegeben ist. Ein Beispiel:- Es ist ein Überschuss von 5000 Watt vorhanden.
- Die Wallbox wird über den Easee Adapter auf 7A (3 phasig) eingestellt (5000 Watt / 230 Voll / 3 Phasen).
- In der App 6A hinterlegt und er lädt dann auch nur mit 6A (ca. 4100 Watt). Ich ging davon aus, dass sich der Tesla nach der Wallbox richtet.
-
Ich habe es nur kurz getestet, aber es lief nicht so gut.
Mittlerweile mache ich das Laden mit evcc und bin damit sehr zufrieden. -
@hardy_01 Das Auto ist nun da. Ich habe jetzt ein paar mal geladen und der Wert ist jetzt plausibel, sodass die Formel funktioniert. Heute habe ich das Laden das erste mal mit laufendem Script versucht und es ist komplett in die Hose gegangen. Was muss ich genau tun, um das Laden mit vollem Strom zu forcieren? Dadurch, dass heute Abend keine Sonne mehr schien, wurde der Strom auf 0A reduziert und ich konnte mit dem laufenden Script ums Verderben keinen Ladevorgang anstoßen. Auch nach dem Ausschalten des Scripts und des easee Adapters war es nicht mehr möglich das Ding zum Laden zu bewegen. Hab dann manuell den Datenpunkt dynamicChargeCurrent auf 32 gesetzt und den Adapter gestoppt. Bin dann raus gegangen und habe den Stecker gezogen und wieder eingesteckt. Dann ging es für eine kurze Zeit wieder. Aber der Ladevorgang bricht immer wieder ab, weil der Strom auf 0A zurückgesetzt wird, obwohl alles deaktiviert ist.
-
Hallo zusammen,
erstmal vielen Dank für den Adapter und die ganze Arbeit die ihr rein gesteckt habt!
ich habe ein kleines Problem bei dem ich nicht mehr weiter komme und hoffe, dass ihr mir helfen könnt. Ich möchte ein einfaches Überschussladen implementieren, indem ich extern (in EDOMI, publish client) einen Wert für "DynamicChargerCurrent" berechne und diesen per MQTT über den Easee IObroker Adapter an die Wallbox senden möchte.
Grundsätzlich funktioniert es - der Wert kommt an und wird in den Objekten unter dem Easee Adapter entsprechend gesetzt (leuchtet kurz grün auf). Jedoch scheint dies nicht bei der Wallbox anzukommen, denn die regiert darauf nicht und überschreibt DynamicChargerCurrent nach ein paar sekunden wieder mit dem alten Wert.
Wenn ich diesen Wert jedoch manuell in IObroker setze, dann reagiert die Wallbox auch entsprechend.Habt ihr eine Idee woran das liegen könnte?
Vielen Dank im Voraus für eure Hilfe!
Systemumgebung:
MQTT Adapter v4.0.7
js-controller v4.0.24
Node.js v16.19.1
IObroker und Edomi laufen als Container bzw. VM in Proxmox -
Hi, ich bins nochmal.
Hat denn niemand von euch so ein Setup laufen, bei dem DynamicChargerCurrent per MQTT geschrieben wird?
Habe mehrere Tests gemacht, mit retain flag setzen / nicht setzen, verschiedene Intervalle, etc.
Ich bin kein IObroker Profi... vielleicht habe ich irgendwo eine Einstellung übersehen, muss ich irgendwo ein Schreibrecht oder ähnliches setzen?...Oder liegt es am Adapter, dass er einen per MQTT manipulierten Wert einfach nihct an die Wallbox sendet?
-
@kaffeschluerfer Hallo, Ich komm nicht ganz klar was Du bei dem Easee Adapter noch mit Modbus machst. Modbus ist ja wieder ein separater Adapter.
Ich nutzte ganz einfach den Easee Adapter, berechne auch mein PV Überschuss und schreibe den Zielwert mit Control in das Objekt "dynamicChargerCurrent".
-
Hi @aiouh,
mit Modbus hat MQTT meines Wissens nichts zu tun.
Ich habe meine Hausautomatisierung, Visu, etc. insb. wegen der guten KNX Anbindung zum Großteil in EDOMI laufen. Edomi ist sozusagen eine separate Plattform auf einem separaten Server (läuft physikalisch sogar mit IOBroker auf der selben HW, aber eben als eigene VM in Proxmox).
IObroker nutze ich wegen der unglaublich guten Konnektivität als "Gateway" für viele andere Anwendungen. Die Schnittstelle zwischen IOBroker und EDOMI ist mit MQTT abgebildet, was normalerweise auch tadellos funktioniert.
Auf IOBroker läuft also der MQTT Adapter als Broker/Server und in Edomi der Client, der verschiedene sog. Topics (u.a. Easee) abboniert hat (um daten zu empfangen), aber auch published um Daten zu senden (z.B. DynamicChargerCurrent).
In IOBroker sehe ich, dass die Werte ankommen. Nur - und das ist das Problem - werden diese offensichtlich nicht an die Wallbox gesendet. Stattdessen wird der Eintrag wieder mit dem alten Wert überschrieben...
Ich hoffe, das ich noch eine Lösung für das Problem finde. Mein Konzept ist eben, dass die komplette Logik auf Edomi läuft und IObroker "nur" das Gateway ist. In Edomi bin ich zuhause und muss mich nicht extra einarbeiten, etc...
-
@kaffeschluerfer Oh Mann..Modbus/MQTT ist mir schon klar, mein Fehler, ich hab hier gerade am Modbus gefriemelt und irgendwie Dein MQTT überlesen, werde alt.
Ich hätte dann, ohne der Experte zu sein, zwei Fragen:- Bevor Du den Fehler weiter suchst noch die Frage ob Deine Easee auch im Falle des Test tatsächlich erreichbar war. Ich hatte das jetzt leider mehrfach, dass die Cloud nicht verfügbar war. Ich konnte meine Zielwerte zwar in das Objekt vom Adapter schreiben konnte, diese wurden dann aber mangels Cloud connectivity, nicht in die Wallbox geschrieben.
- Wie schreibst Du denn Deinen Zielwert in das Objekt vom Easee Adapter? Falls noch nicht versucht würde ich das einfach mal mit Blockly "control object with" versuchen.
Schöne Ostern noch
-
Hi @aiouh,
jap, per Script in IObroker und auch das manuelle ändern des Wertes funktioniert so, dass es auch bei der Wallbox ankommt.
Also habe ich in bisschen rumgetestet und mich mit Blockly auseinandergesetzt, dabei quasi dann doch die ganze Funktion implementiert. Also: IObroker übernimmt nun die Ladesteuerung, in Edomi zeige ich nur noch die Werte an und steuere ob das Überschussladen aktiv ist oder nicht.
Jetzt habe ich aber zwei neue Fragen:
-
config.smartcharging kann man ja direkt an der Wallbox aktivieren/deaktivieren (indikator blaue / weisse LED). Ist das letztendlich nur ein einfacher Schalter der "von alleine" nichts weiter tut? Wenn ja, könnte ich ihn ja einfach zum aktivieren / deaktivieren des Überschussladens verwenden, oder?
-
Meine Fähigkeiten halten sich diesbzgl. in Grenzen: Wir habt ihr denn die Tiefpassfilterung (bzw. Mittelwertbildung aus den letzten X Werte oder Minuten) der Überschuss-Leistung umgesetzt? Die Regelung sollte ja nicht zu nervös sein, z.B. bei Wolken oder taktenden Verbrauchern. Ein Codeschnipsel oder screenshot würde mir da sehr helfen
Vielen Dank euch!!!!
-
-
@kaffeschluerfer zu 1 kann ich leider nichts sagen, sorry. Ich aktiviere/deaktiviere die Ladesteuerung per Handy in der VIS, wo ich auch den Rest des "Smart home" bediene.
Zu 2: ich habe einige Zeit mit "wolkentimern" und Mttelwertbildungen rumgefrickelt.Da kann man ne Wissenschaft draus machen. Am Ende habe ich das bei mir ganz banal gelöst...ich Frage einfach alle 5 Minuten den Überschuss ab und schieb den jeweiligen Wert, abgerundet zum nächsten vollen Amp, in die Easee. Da ich noch einen Hausakku habe spielt der auch noch etwas Puffer.
Ich bin von den ganz kurzen Regelintervallen weggegangen da mir ein Bekannter sagte, dass damit nicht jedes EV klarkommt und die Laderegelung im EV generell gerne länger stabile Eingangsströme hat um die Ladekurve besser steuern zu können. Klang für mich logisch. Ob das tatsächlich so ist weiss ich nicht, ich kann aber sagen dass sowohl mein alter Leaf (2015) und mein e-Soul (2020) damit problemlos funktionieren. -
Hey @aiouh,
ich habe mittlerweile verstanden, wie das mit der Filterung geht (einfach eine Liste anlegen...). Ich berechne jetzt einfach mal den Mittelwert aus den letzten 6 Überschuss-Werten, was bei meinem Abfrage-Intervall 3 Minuten entspricht. Ich seh schon - um das Optimum zu finden (aka bester Kompromiss) werde ich noch viele (Sonnen)Tage damit verbingen, Ladevorgänge zu beobachten. Ich bin da eher von der Fraktion "lieber zu viel laden und Stom beziehen als zu viel einspeisen" - aber das macht ja jeder anders...
Das mit dem config.smartcharging hab ich einfach mal probiert - und es funktioniert. Das erhöht den WAF ungemein: Wenn blaues Licht, dann überschussladen - Wenn weisses Licht, dann wird volle Pulle geladen. Ohne Handy hat das im Alltag echte Vorteile. Leider kann man das an der Wallbox nur bei eingestecktem Fahrzeug umstellen. Aber es geht - immerhin
Danke Dir und frohe Ostern!
-
@newan Ich glaube ich bin an einem Punkt angekommen, bei dem ich etwas Unterstützung benötige. Meine Wallbox verhält sich mit dem laufenden Adapter ganz seltsam. Die Datenpunkte dynamicChargerCurrent und dynamicCircuitCurrentPx werden fleißig mit verschiedenen Werten beschrieben. Wenn ich den Datenpunkt smartCharging auf false setze, in der Hoffnung, dass die Wallbox einfach mit voller Leistung lädt, funktioniert das eine Zeit lang. Dann wird aber auch dieser Punkt automatisch wieder auf true gesetzt und nichts geht mehr. Das Script was diese Punkte dynamisch beschreiben soll, ist nicht aktiv. D.h. es kann nur von der Wallbox selbst, oder vom Adapter kommen.
-
Zwischendurch kommen dann solche Fehlermeldungen.
host.ioBroker 2023-04-12 22:11:36.531 error instance system.adapter.easee.0 terminated with code 6 (UNCAUGHT_EXCEPTION) easee.0 2023-04-12 22:11:35.923 error Easee API error on charger site - stop refresh easee.0 2023-04-12 22:11:35.923 error Error: Easee API error on charger site - stop refresh at /opt/iobroker/node_modules/iobroker.easee/main.js:489:19 at runMicrotasks (<anonymous>) at processTicksAndRejections (internal/process/task_queues.js:95:5) at async Easee.getChargerSite (/opt/iobroker/node_modules/iobroker.easee/main.js:481:16) easee.0 2023-04-12 22:11:35.922 error unhandled promise rejection: Easee API error on charger site - stop refresh easee.0 2023-04-12 22:11:35.921 error Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). easee.0 2023-04-12 22:11:35.920 error Error: Request failed with status code 504 easee.0 2023-04-12 22:11:28.713 error Error: Request failed with status code 504 easee.0 2023-04-12 22:10:59.247 error Easee API error on charger config - stop refresh easee.0 2023-04-12 22:10:59.247 error Error: Request failed with status code 504 easee.0 2023-04-12 22:10:29.536 error Easee API error on charger config - stop refresh easee.0 2023-04-12 22:10:29.536 error Error: Request failed with status code 504 easee.0 2023-04-12 22:08:28.436 error Easee API error on charger config - stop refresh easee.0 2023-04-12 22:08:28.436 error Error: Request failed with status code 504