-
-
Notifications
You must be signed in to change notification settings - Fork 621
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sofar HYD: Battery Control #12220
Comments
@premultiply Lass mich wissen, wenn Du das angehst. Habe mittlerweile in der Integration einiges geändert. Siehe auch: https://homeassistant-solax-modbus.readthedocs.io/en/latest/sofar-energy-storage-modes/, insbesondere dieser Abschnitt: https://homeassistant-solax-modbus.readthedocs.io/en/latest/sofar-energy-storage-modes/#prevent-battery-discharging Sofar erlaubt hier dann auch die Entladung zu verhindern - die Ladung aber weiterhin zuzulassen (falls jemand mehr vom Dach bekommt als in das Auto+Haus hineingeht) |
@cschlipf wäre es möglich hier kurz die relevanten Register und Werte zu beschreiben? Dann ist das schnell gemacht. Danke! |
SOFAR Modbus Protocol G3_2023-12-22_1.22_en-INT.xlsx Bei der Gelegenheit hier die aktuellsten ModBus Register. |
Ich brauche bitte einfach die Liste der Register mit Wert je Modus. Keine Screenshots, keine Textaufgabe. Danke! |
OK, ich dachte das hätte ich schon genau genug beschrieben.
Hoffe das war kurz und prägnant genug. |
Danke, das hilft dem Entwickler mit wenig Zeit- Netzladung gibts nicht? |
Gerne testen |
Netzladung geht genauso, nur mit anderen Werten:
<Ladeleistung> ist hier der Wert in W mit der der Akku geladen werden soll. Beim BTS Speicher ist das die Hälfte der Kapazität (z.B. ein BTS Speicher mit 10 kWh Kapazität braucht hier einen Wert von 5000 für die maximale Ladeleistung)
|
Muss leider warten: Morgen früh geht es in den Urlaub. |
How can I test? Can I install this branch in Docker? |
Genau, sollte nicht eigentlich sofarsolar-g3.yaml angepasst werden? |
Jetzt wäre es doch prima, diesen PR überhaupt mal zu testen. Dann können wir ihn ja einfach kopieren falls die Register identisch sind. |
Werde ich machen. Bin aber nicht vor Donnerstag am HYD |
Das sofarsolar.yaml Template scheint zu HYD 10KTL-3ph nicht zu passen
|
Genau. Das wurde im falschen Template eingebaut. Der HYD braucht das G3 Template. Ich wurde empfehlen den PR zu reverten. Die Register der alten Wechselrichter sind komplett anders. So kann ich das auch leider nicht testen. |
Neues Nightly in 20min |
Hello, I'm trying to accomplish the same thing (first aid topic #15798) but for the HYD5000-ES inverter. The addresses don't match with those of the sofarsolar nor with the G3 template. I've posted the modbus comms documentation Here I got the grid, pv & battery reads covered. Only the battery control is getting the better of me... Anyone able to assist me on this? thx! |
Hier das versprochene Feedback... Szenario:
Ergebnis:
Das Log hänge ich an, SKI.Keys wurden entfernt. Vielen Dank für eure tolle Arbeit! |
I have a HYD 5000-EP, and getting this error when trying to charge my battery from the grid:
|
Das ändert nix dran, dass das Teil Schrott ist. Dann bei diesem Hersteller beschweren.
...oder einfach auf eine funktionierende Schnittstelle umsteigen. Wir halten fest: evcc funktioniert wie erwartet.
@Zwer2k das ist spannend. Die Vorgabe war:
Du sagst das funktioniert so nicht? Was muss stattdessen geschrieben werden? Dann frage ich mich natürlich auch, warum es bei einigen Anwendern anscheinend funktioniert??? |
LSE3, HYD15 KTL mit 10 kWh BTS und 61er Firmware |
@cschlipf was mich jetzt wirklich irritiert ist der Text im Template:
Wenn der LSE Schrott ist müssten wir das korrigieren? |
Case 1 (also zurückschalten auf "self use") funktioniert bei mir nicht. So wie ich es verstanden habe, auch bei anderen funktioniert es nicht. |
@andig Wie gesagt - es ist nur eine falsche Fehlermeldung. Es tut ja trotzdem.
Doch, das ist richtig. Und dieses eine Register kann auch alleine für sich geschrieben werden. Ich verstehe daher nicht, warum der Self-Use nicht wieder aktiviert wird. Wie gesagt: Meine Vermutung war die fehlende Liste. Was 0x1187, 0x1189 und 0x118b betrifft: Hier ist offensichtlich das Problem, dass diese nicht zusammen in einer Write Operations geschrieben werden: (siehe letzte Spalte unter Remarks) |
Bisher haben wir nur ausgelesen. Da funktioniert der LSE-3 wunderbar und ist die einfachste Methode. Beim Schreibzugriff kommt eben der falsche Response Code zurück - das ist nicht schön. Aber nochmal: Das hat nun mit den Problemen hier nichts zu tun. In Home Asssistant ignoriere ich den fehlerhaften Return Code eben und es tut alles. RS485 ware die sauberste Methode. Ja. Nur ist das eben für unbedarfte einiges an zusätzlicher Komplexität: Richtige Terminierung, richtige Verkabelung, kompatiblen Adapter finden (hier gibt es zig Forumspost dazu), korrekte Adaptereinstellungen,... wenn das alles passt, die bessere Lösung - nur kannst das halt nicht jedem zumuten. |
Da gibts nix zu vermuten. Ob das passiert ist ja im Logfile zu sehen. Und es wird ja geschrieben denn sonst gäbe es den Fehler nicht.
Verstehe ich- auch bei gutem Willen- nicht. Das mag so sein. Aber: Wollen wir jetzt diskutieren, dass das Feature gar nicht funktioniert? Das habe ich zumindest oben noch nicht raus hören können. Long story short: ich hab keinen Überblick mehr, worum es hier eigentlich geht und würde mich daher ausklingen. Fehlerhafte Hardware/Firmware ist bitte beim Hersteller zu reklamieren.
Prima. Dann ist das die Lösung. Die Alternative habe ich jetzt schon x-mal beschrieben und die besteht darin ein fehlerhaftes Produkt zu reklamieren. |
Also ich sehe aktuell 2 Fehler:
|
Das ist es ja, in case 1 gibt es keine Fehlermeldung. Fehler Wird nur in case 2 geworfen, wegen der falschen Behandlung von den 3 Registern (0x1187, 0x1189 und 0x118b). |
@cschlipf @Zwer2k erlaubt die Doku auch die beiden letzten Register zusammen zu schreiben? Liest sich für mich so. Dann könnte auch #16509 helfen. Auch das müsste aber mal jemand probieren... Drei Register zu schreiben gibt unsere Modbuslösung aktuell nicht her, dann müssten wir das Feature reverten. |
@Zwer2k du trägst leider auch nicht zur Klarheit bei. Erst hiess es:
und jetzt:
Das ist ein Supportalptraum! |
Letzte Variante: wir schmeissen die Register 0x1187, 0x1189, 0x118B einfach raus und verlassen uns auf die Defaults. Zur Not müsste man noch erklären wie die zu setzen sind. |
Nein. Es müssen immer alle Register geschrieben werden. Ja das ist sehr nervig und glaub mir, das hier ist einer der harmlosesten Fälle |
Ok. Ich würde nochmal einen Versuch unternehmen, das Problem grundsätzlich zu lösen. Dafür bräuchte ich aber Remotezugang zu einem WR um das auch testen zu können. Wer helfen will schickt bitte VPN/SSH an [email protected]. |
Denke sollte für die meisten eine gute Lösung sein. Wer die Register mit anderen Automationen ändert weiß auch wie er die wieder zurücksetzen kann. Sollte nur entsprechend dokumentiert werden, dass EVCC erwartet, dass diese Register alle auf 0 gesetzt sind. |
Das wiederspricht #12220 (comment) |
Ist aus meiner Sicht auch nichts falsch.
Alle Fehlermeldungen scheinen vom Case 2 zu kommen. Kann ich aber nicht zu 100% zuordnen, da case 1 kurz nach dem case 2 ausgeführt wird, nach dem das Schnellladen deaktiviert worden ist. Versuche aber in der Zukunft etwas präziser mit der Beschreibung zu sein :-) |
Nun, 118b (upper limit) ist per default auf 0. Jemand, der nur EVCC einsetzt wird diesen nie ändern. Nutzt man hier den default von 0 hat es nur die Auswirkung, dass der Speicher nicht während des Schnellladens der Fahrzeuge mit Überschuss geladen wird, wenn vom Dach noch mehr Leistung als die maximale Ladeleistung der Wallboxen + Hausverbrauch kommt. Damit kann man vermutlich leben. Alle Werte auf 0 heißt, dass der Speicher gar nichts mehr macht und praktisch deaktiviert ist. |
Die Doku schein zu passen. Es lassen sich auch nur die 4 letztere Register beschreiben (eben getestet). Das mit dem 64bit blob sollte daher gehen.
Um hier Probleme zu vermeiden, würde es eher sinn machen die Einstellung für "Self use"/"passive mode" dem User zu überlassen und nur die Lade-/Entladeleistung durch EVCC zu beeinflussen. Dadurch wird zusätzlich vermieden, dass der EEPROM zu oft beschrieben wird und dadurch vorzeitig altert. Die Register 0x1187, 0x1189, 0x118b werde nur in RAM vorgehalten und dürfen beliebig oft überschrieben werden.
Vor dem Beschreiben sollte allerdings geprüft werden ob der "passive mode" schon gesetzt ist, anderenfalls würde der WR Fehlermeldung zurückgeben. |
@Zwer2k Was Du vorschlägst macht keinen Sinn. Wenn man 0x1189 un 0x118b per 64Bit Blob schreiben kann und EVCC das unterstützt, dann kann man auch Case 1 mit 0x1110 weiterhin auf Self-Use machen und Case 2 mit 0x1110 auf Passive Mode beibehalten. Case 1 würde dann weiterhin den Wechselrichter wieder auf Ausgangssituation bringen, so wie der Wechselrichter vom Solarteur und man müsste nicht im Default Fall mit einem Passive Mode arbeiten. |
Für mich macht es durchaus Sinn. Ich verwende “Passive: Desired Grid Power” (Register 0x1187), um die Netzentnahme durch das Überschwingen zu verhindern. Je mehr PV-Überschuss zur Verfügung steht, desto höhere negative Zahlen gebe ich hier an und desto weniger Netzentnahme gibt es. Das Setzen auf “Self use” durch EVCC würde mir diese Möglichkeit nehmen. Ich weiß, dass der Wechselrichter “PCC power bias” hat, aber diese Funktion ist mir zu unflexibel und verfälscht zudem die Statistik. Mir ist klar, dass dies sehr spezifisch ist und außer mir vermutlich niemand so verwendet. Es sollte natürlich für die breite Masse der Nutzer funktionieren. Es wäre fein, wenn es hier eine Anpassungsmöglichkeit per evcc.conf gäbe. |
Hast Du schon einen VPN Zugang ? |
Leider nein |
Zugriff auf Wechselrichter reicht aus ? |
Ja |
|
https://www.photovoltaikforum.com/thread/221806-sofar-hyd-mit-evcc-akkuentladung-verhindern/?postID=3598510#post3598510
in Template übersetzen
The text was updated successfully, but these errors were encountered: