-
-
Notifications
You must be signed in to change notification settings - Fork 728
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
Sungrow SH15 Batterie Ladung wird nicht erkannt. #18270
Comments
Kann ich mit meiner SH96 Batterie nachvollziehen. Das Register für den Betriebsstatus wird nicht mehr aktualisiert. Eine Lösung ist, die Werte für Battery Voltage und Batterie Current zu verwenden. Entgegen der Doku ist der Strom bei mir mit Vorzeichen, also int16be, nicht uint16be. Damit kann man das gewohnte Verhalten wieder herstellen. |
Was heisst „nicht mehr“? Ging das mal? Was hast du geändert? Was sagt
und welcher der Werte ist falsch? |
EVCC liest den Betriebsstatus im Register 13000 aus. Hier wird mit einer Bitmaske der Status ermittelt, ob geladen oder entladen wird. Ich lese in einem privaten Projekt auch den Batteriestatus aus und hab mich an EVCC orientiert, das hat bisher funktioniert. Vor kurzem gab es anscheinend ein automatisches Update, seit dem wird das Betriebsstatus Register nicht mehr aktualisiert und bleibt auf 0.
Das heisst, das Ergebnis für die bool16 Werte ist IMMER 0 und multipliziert damit die aktuelle Leistung, EVCC liest also für die Leistung einfach 0. Die Lösung ist, die aktuelle Spannung und den aktuellen Strom auszulesen und diese zu multiplizieren. Entgegen der Doku ist der Strom-Parameter Vorzeichenbehaftet, man muss also nicht auf den Betriebsstatus gehen.
|
Ok, also von Sungrow kaputt gemacht. Wissen wir, ob das alle Modelle betrifft? Magst Du einen PR machen? /cc @naltatis kannst Du das bestätigen? |
Ob das alle betrifft kann ich leider nicht zu 100% sagen, ich denke aber ja, da die Hybrid WR bei Sungrow von der Schnittstelle her bisher auch gleich waren. Die HV-Batterien von Sungrow sind im Kern auch nur das gleiche Modul, nur mal oder weniger oft gestapelt. Klar, ich erstell einen PR (wird mein erster, ich hoffe ich mach nichts falsch) |
Tip: Du kannst die Tempaltedatei einfach hier in GH bearbeiten und daraus den PR erzeugen- dafür brauchts keine lokale Installation. Vielen Dank! |
Das hört sich ja gut als lösung an. Doofe frage wo finde ich die EVCC Program Files im Dockercontainer? Würde gerne mal den Code Change der YAML datei bei mir ausprobieren und finde die sungrow-hybrid.yaml nicht. |
Habe einen SH20T mit SBH150. Bei mir lief bis vor 3 Tagen meistens das Reg 13000 noch, und der Fehler mit dem Wert "0" trat nur 3-4 mal am Tag für einige Minuten auf. Dass er komplett bei "0" blieb war nicht der fall! Ende vom Lied: WiNet-S2 Dongle war bei mir der Flaschenhals. Ob die Hardware der Flaschenhals ist oder ein FW Update helfen kann bleibt offen. Wie du bei der Lösung unten nachlesen kannst: RS485toETH Adapter am Loggerport is the way to go! Doktorarbeit Vorbereitung: Fehlerbeweis: Erklärung Waveshare: |
Auf rs485 gelten also die alten Register? |
@nekronomekron |
Bild von heute, 19.01.25 21:21 EVCC 0.132.1 |
um Änderung zu übernehmen muss du ein neuen Container bauen:
fürs binary
Die yaml für sungrow-hybrid findes du unter |
@zachelnet Ich hab einen SH8.0RT mit Firmware Version SAPPHIRE-H_01011.95.03. Ich hoffe dass die neuen Parameter auch mit dem neuen Wechselrichter funktionieren, dann müssen nicht zwei Templates her. |
@nekronomekron hab auch ein SH8.0RT, hab selbst die aktuellste Firmware: |
@nekronomekron also bei mir Klapps auch an beiden Ports, die frage ist wie es bei den WINETS2 und SH_T aussieht |
Die frage ist nur wie mit den alten Wechselricht umgehen, (einfach übergehen ist auch keine Lösung bevor noch weiter issues eröffnet werden). Dazu gabs auch eine discousion #17461 (comment), deswegen hatte ich es damals es mit abs gelöst, aber wenn bei der neuer Serie mit Registrie 13000 problem gibt, sollte wir uns überlegen wie wir diese lösen.
|
Das kann leider sehr gut sein, dass die Änderung mit dem letzten Update kam und vor dem Update das Register für den Batteriestrom noch uint16 ist und damit für die Kalkulation unbrauchbar. Leider kann ich das nicht testen, hier bräuchten wir kurz jemanden mit einer älteren Firmware (das Update kam erst vor ca. 1 Woche auf meinen WR). Ich denke die Firmware Version wird man nicht automatisch ermitteln können. Sollten sich die Register unterscheiden, wird man 2 Templates benötigen die der User manuell wählen muss. |
ich könnte ggf. testen. |
@wapman1979 hier ist der PR mit der Änderung: #18284 |
@naltatis @andig @nekronomekron @zachelnet @Funkymaddox @Bluppy den "Scale" Wert in Zeile 130 hatte ich nicht geändert, also "0.1" das ist ein issue, das seit einiger zeit immer wieder aufkommt: |
Da müsstest du dich wohl eher an Sungrow halten. Es fällt hier schwer den Überblick zu behalten angesichts der sich stetig ändernden Firmwarefunktion hinsichtlich der Batterieleistung. |
Ich bin ganz ehrlich: Habe den Überblick verloren. Keine Ahnung, wo das Problem lag, wie der Stand ist und warum überhaupt dieses Topic existiert. Bei Issue #10690 gehts um den SHxxRT... |
Mir scheint es so, als ob sungrow schon langezeit mit der modbus ausgabe, der doku dazu, etc murkst. evcc hat das nicht geändert, weil das sungrow-hybrid.yaml auch für die alte SHxxRT genutzt wird und auf den (sicherlich vielen installierten) SHxxRT Modellen hat es mit den Charge/discharge (über den LAN am WL) funktioniert. Es wird sicherlich SHxxRT Nutzer geben, die bewusst die firmeware nicht upgraden, weil es aktuell stabil läuft.
Man muss selber aktiv werden, wenn man die neue Config nutzen muss/will. |
@wapman1979 sehe ich genauso dass es auf ein zweites Template hinausläuft, |
"Das ist der Weg" würde ein berühmter Kopfgeldjäger jetzt sagen. Denke auch dass es nicht ohne 2 Templates gehen wird. Über Modbus hab ich keinen Weg gefunden, die FW Version auslesen zu können. |
Für den Fall, dass wir wirklich ein zweites Template machen (aus Nutzersicht immer echt doof) müssten wir ja erklären wie man rausfindet ob man das "alte" oder das "neue" Template nehmen muss. Mir ist das gerade noch nicht klar genug. Gerade weil hier ja der Anschluss und(!) die Firmware-Version eine Rolle spielt. Könnt ihr das einmal so konkret wie möglich zusammenfassen. Altes Template nutzen, wenn ... |
@naltatis denk folgendes würde es gut erklären:
@nekronomekron, @wapman1979, @Funkymaddox: Was haltet ihr von der Erklärung, habt ihr noch etwas hinzu zu fügen? |
fwiw: beim letzten Template-Gen-War kam am Ende |
Find ich gut. Man könnte in die Doku mit aufnehmen zuerst die neue Version zu verwenden und sollte die Batterie nicht ausgelesen werden können auf ein Firmwareupdate hinweise oder eben das "alte" Template zu verwenden. In diesem Fall kann man den Unterschied klar benennen: Wird die Batterie nicht ausgelesen, dann das andere Template verwenden und nochmal versuchen. |
@andig ein Template-Gen-War will ich hier nicht anzetteln. Mit "-gen2" kann ich gut leben. |
Das hört sich doch nach einen guten Plan an 👍 Lag mir quasi identisch auf der Zunge. Go for it! |
Ich hab das neue Template im PR ergänzt und das alte Template widerhergestellt. Gerne mal drüber sehen ob das so passt. Ich hoffe die Templates müssen nicht irgendwo "registriert" werden. |
@nekronomekron " description: weiß nicht so recht ob das aus user sicht optimal formuliert ist... Das ist zum einen nur in der yaml zu sehen, und ggf. irgendwo & irgendwann in der GUI, oder? |
@nekronomekron, @andig, @naltatis & @premultiply als Ergänzung zu oben: Ich denke, diese Bereiche in der Doku müssten entsprechend angepasst werden. Da hier die gleiche Description in der Doku, wie in der yaml verwendet wird, zielte meine Frage eben dahin, ob ihr den Content der Doku direkt aus der Codebase zieht oder ob der Doku Content separat gepflegt wird? In jedem Fall, muss es umformuliert werden. |
Ja, wird aus dem Template generiert. |
Ich fand die Description der syngrow-hybrid.yaml schon bei Config meines SH15T etwas verwirrend. Da die syngrow-hybrid.yaml (ich nenne sie jetzt mal legacy) im Wesentlichen für die RT Serie mit der bisherigen FW relevant ist, bin ich mir nicht sicher, ob das so, wie das aktuell formuliert ist, wirklich stimmig ist. Soweit ich in den Foren letztes Jahr noch gelesen habe, ist Modus nur am WL LAN, also nicht via WiFi, und RS485toETH Adapter verfügbar. |
@wapman1979 Ich schau mir heute Abend die Text mal an und überleg mir eine passendere Beschreibung. Zu dem anderen Thema hat Sungrow aber anscheinend vorher schon einiges geändert ohne dass es aufgefallen ist. Bis zum Jahreswechsel hab ich ohne Probleme meinen SH8.0-RT über WiNet-S ausgelesen. Auch die Batterieinfos. Das wurde erst im Januar heuer mit der neuen Firmware gekippt. Zuvor ging es aber. Scheint als habe Sungrow vorher schon ein Update für die WiNet-S Dongles rausgebracht, da ich hier nie Probleme hatte. Den nativen LAN Anschluss hab ich nicht verwendet, da der seeeeehr zickig war. Kamen zuviele/falsche Abfragen ist der oft einfach Abgestürzt und war bis zum Neustart des WR nicht mehr erreichbar. Der Zugang über WiNet-S ging aber problemlos und auch mit den Batterieladedaten bei mir von Beginn an (Ende 2023). |
@wapman1979 Ja, ich habe ein RT, ich benutze derzeit den WiNet Dongle über WiFi (soweit ich weiß, macht es keinen Unterschied, ob LAN oder WiFi, solange die Verbindung gut ist), der native Port funktioniert auch, ich benutze ihn nur ungern, da er keine gleichzeitigen Zugriffe unterstützt. |
danke @nekronomekron & @zachelnet für euer Feedback. Korrekt müsste es dann so dargestellt sein: Welche Firmware ist denn eigentlich für den Switch zu Gen2 relevant? |
Sorry, dass ich euch so zu spamme hier … habe heute etwas Zeit mich damit zu beschäftigen :-) Ich habe jetzt im PV-Forum einen Beitrag gefunden, der die noch funktionierende Firmware-Version korrekt benennen sollte: @nekronomekron auf Basis dessen habe ich jetzt folgenden Draft für die Description aufgesetzt:
Bei meiner Recherche bin ich im Übrigen auf einen CVE in der WINET-SV200.001.00.P027 gestoßen: |
Könnt ihr bitte aufhören, mich hier ständig rein zu ziehen? Ich habe das Gerät nicht und kann dazu nichts beitragen. Danke. |
@wapman1979 Ich finde die Descriptions gut. Wenn das auch für die Maintainer so passt würde ich die so in den PR übernehmen und wir wären bei dem Thema ein gutes Stück weiter gekommen. |
@nekronomekron |
@wapman1979 Hier würde ich den gleichen Text nehmen, nur mit dem Hinweis dass diese AB der neuen Firmware Version verwendet werden kann. Und sollte die Batterieladeleistung nicht ausgelesen werden, das „alte“ Template verwendet werden soll. |
@nekronomekron hier mal eine EN version für legacy. |
@nekronomekron und das ist mein Vorschlag für die gen2 Beschreibungen: EN |
Ist das nicht etwas lang? Ich würde empfehlen, die Aussagen kurz und prägnant zusammenzufassen, sonst liest das keiner und ehrlich gesagt verwirren mich die komplexen Aussagen auch: Im Großen und Ganzen kann man sagen
gen2:
|
@zachelnet ja, in der kürze liegt die würze... Ich denke, im Wesentlichen geht es um die WiNet FWs. Ein Entwurf für Legacy:
wobei ich meine, das wichtigste ist, dass das möglichst bald rausgeht. die wordings sollten hier nicht blocken. |
@zachelnet hier noch mehr eingekürzt als entwurf für die gen2:
|
Ich finde das mit den ganzen Firmware Versionen leider viel zu verwirrend als User. Das liest keiner, das wäre meine Erfahrung. Ich würde folgendes Vorschlagen:
|
Ich hab unter #18473 ein Konzept erstellt, was theoretisch weiterhin mit einem Template funktionieren könnte. Idee dahinter: Alle bekannten Vorzeichenquellen werden (je ein Bit) werden logisch ODER verknüpft und auf den Leistungswert angewendet. |
@nekronomekron das sehe ich genauso wie du, das sollte Zielgruppen bzw. User orientiert formuliert sein.
Wie würdet ihr die evcc.io User grob clustern? Ich glaube, über alle Zielgruppen hinweg sollte man klar referenzieren, welche Konfiguration im Prinzip funktionieren sollte. Hintergrund ist der, dass wenn etwas nicht wie geplant funktioniert und man auf Fehlersuche geht, dann ist es hilfreich, wenn man an einem Punkt möglichst klar weiß, dass eine gewisse Config funktioniert. Konkret auf diesen Case bezogen, hieße das für mich: Klares Referenzieren bedeutet für mich, die FW zu benennen, wo möglich. Mit den Datumsangaben wäre ich vorsichtig. Da ist einfach Interpretationsspielraum drinnen, den kann ich in einer Doku nicht haben. @premultiply natürlich ist der Ansatz, ein Eier legendes Wollmilchsau yaml für alle Sungrows zu haben verlockend. Ich sehe ein generelles Risiko, bei der Codeänderung an der Legacy YAML, dass für Teile der Nutzer Probleme auftreten. |
Wenn es Aussicht darauf gibt das Ganze weiterhin mit einem Template lösen zu können sollten wir das auf jeden Fall prüfen. Man merkt ja an der Diskussion hier schon, dass der 2-Templateweg alles andere als trivial zu erklären ist. |
@naltatis Ich würde in einer Art Transition Phase, das Gen2 (in dem Fall dann ein yaml, das "beide" templates vereint) als "eperimental" zur Verfügung stellen und das legacy yaml zunächst so belassen, um kein risiko einzugehen, dass es bei aktiven installationen zu komplikationen kommt. btw: ich habe mir die FW Versionen nochmal anders visualisiert. vielleicht hilft es jemanden ja mal ... @Funkymaddox hast du vielleicht WINET-SV300.001.03.P014 als "ZIP" am Rechner liegen? Ich vermute mal nicht, zum Zeitpunkt des Releases waren die Firmwares schon nicht mehr auf GH verfügbar ... oder? |
Describe the bug
Hallo zusammen,
ich habe den Sungrow Wechselrichter wie in der Anleitung in meine Konfig übernommen und er wird auch was Stromverbrauch angeht sauber erkannt.
Es wird aber nicht die Batteriepower abgefragt.
Im Homeassistent via Modbus hat es sauber geklappt und funktioniert dort.
Ich weiß nicht ob es ggf. ein Fehler wegen der "neuen" Modelle 15T und 20T der Fehler kommt. Im Forum ließt man nur das einbinden top sonst klappt. Der 15T und 20T hat das Modbus direkt über den WiNet-S2 als Funktion und durch Homeassistent sehe ich ja das es läuft.
Weiß ehrlich gesagt nicht was ich noch machen soll um den Sungrow einzubinden.
Auch die Batterie über ID2 zu wählen habe ich schon versucht. Weil das im WiNet auch noch möglich wäre die Batterie einmal über den Wechselrichter oder eben über die ID2 abzufragen
Steps to reproduce
geht direkt nicht.
Configuration details
Log details
What type of operating system or environment does evcc run on?
Docker container
Nightly build
Version
0.132.1
The text was updated successfully, but these errors were encountered: