Skip to content
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 Hybrid: fix charge sign (again) #18473

Merged
merged 7 commits into from
Feb 10, 2025
Merged

Conversation

premultiply
Copy link
Member

@premultiply premultiply commented Jan 28, 2025

Fix #18270

Combines all "charging" bits of the available registers.

@premultiply premultiply requested a review from andig January 28, 2025 17:29
@andig andig added the devices Specific device support label Jan 29, 2025
@naltatis
Copy link
Member

@premultiply ist das schon ein testbarer Stand?

@premultiply
Copy link
Member Author

Bislang eher Theorie und Papiertest.
Und mit dem go-Scripting fehlt es mir noch an Grundlage.
Wie gibt man da den Wert zurück?
return ist da glaube ich falsch, oder?

@naltatis
Copy link
Member

naltatis commented Feb 7, 2025

This works with my inverter (hold fw).

Can you please try this as well?
@zachelnet @wapman1979 @nekronomekron

@naltatis naltatis marked this pull request as ready for review February 9, 2025 11:56
@naltatis
Copy link
Member

naltatis commented Feb 9, 2025

@premultiply wir können das sonst auch mergen und Feedback über den Nightly einsammeln. Für die alte Firmware konnte ich ja verifizieren, dass es korrekt funktioniert.

@andig
Copy link
Member

andig commented Feb 9, 2025

Nach Release?

@nekronomekron
Copy link

Wenn mir jemand ein Windows Build mit dem Fix erstellen kann (hab keine fertige Entwicklungsumgebung aufgesetzt in Windows [WSL]), kann ich den Fix gerne mit meinem WR mit der neuen FW testen und Rückmeldung geben.

@zachelnet
Copy link
Contributor

This works with my inverter (hold fw).

Can you please try this as well? @zachelnet @wapman1979 @nekronomekron

Looks good with my SH8.0RT

@zachelnet
Copy link
Contributor

zachelnet commented Feb 9, 2025

Wenn mir jemand ein Windows Build mit dem Fix erstellen kann (hab keine fertige Entwicklungsumgebung aufgesetzt in Windows [WSL]), kann ich den Fix gerne mit meinem WR mit der neuen FW testen und Rückmeldung geben.

@nekronomekron klappt bei dir kein make? Gerne kann ich dir ein docker container erstellen.

Alternative kannst du direkt das ganze in die Config einbauen. Schau mal dort einfach copy&past bei battery ersetzten und die IP ändern: #18197 (reply in thread)

@nekronomekron
Copy link

@zachelnet Danke für den Tipp, den kannte ich noch nicht. Hab die Config direkt in meine evcc.yaml Datei eingebaut und ich konnte EVCC damit starten. Auf meiner Windows Kiste ist derzeit kein WSL eingerichtet, daher habe ich kein make im Moment.

@naltatis Fazit: bei mir hat es leider nicht funktioniert, die Batterieleistung wurde mit falschem Vorzeichen ausgelesen.

Wechselrichter: SH8.0RT-V112
ARM-Firmware: SAPPHIRE-H_01011.95.03
MDSP-Firmware: SAPPHIRE-H_03011.95.03

@zachelnet Kannst du evtl. doch einen Docker Container bauen? Nicht dass ich bei der Config etwas falsch gemacht habe, aber eigentlich hab ich nur Copy&Paste gemacht.

@zachelnet
Copy link
Contributor

zachelnet commented Feb 9, 2025

@zachelnet Danke für den Tipp, den kannte ich noch nicht. Hab die Config direkt in meine evcc.yaml Datei eingebaut und ich konnte EVCC damit starten. Auf meiner Windows Kiste ist derzeit kein WSL eingerichtet, daher habe ich kein make im Moment.

@naltatis Fazit: bei mir hat es leider nicht funktioniert, die Batterieleistung wurde mit falschem Vorzeichen ausgelesen.

Wechselrichter: SH8.0RT-V112 ARM-Firmware: SAPPHIRE-H_01011.95.03 MDSP-Firmware: SAPPHIRE-H_03011.95.03

@zachelnet Kannst du evtl. doch einen Docker Container bauen? Nicht dass ich bei der Config etwas falsch gemacht habe, aber eigentlich hab ich nur Copy&Paste gemacht.

@nekronomekron hab ein Container für dich erstellt (eigentlich sollte es passen da wir die selbe Wechselrichter und Firmware stände haben):
docker pull zachelnet/evcc:master

@premultiply
Copy link
Member Author

premultiply commented Feb 9, 2025

Und bitte Batterieladung und -entladung testen und ggf. die Ausgabe von evcc meter --log trace,db:error in beiden Fällen beifügen.

@nekronomekron
Copy link

Ich hab das Docker Image getestet, mit dem gleichen Ergebnis: es wird immer eine Batterieladung angezeigt, keine Entladung.
Anbei ist ein Beispiel Trace Log von mir. Zu Beginn wird die battery 1 mit ein paar Watt geladen. Das passt auch, bei mir ist es relativ bewölkt. Zum Test hab ich das Auto auf "Schnellladen" gestellt, die Batterie wird auch genutzt das kann ich in meinem anderen Dashboard sehen. Bei EVCC wird aber weiterhin eine Ladung angezeigt, das sieht man auch sehr gut in der UI.
Das Log endet auch mit der noch aktiven Schnellladung des Fahrzeugs, die angezeigten 4kW Ladeleistung der Batterie sollten in dem Moment eigentlich eine Entladung sein.

trace_log.txt
image

@premultiply
Copy link
Member Author

Bitte einfach nur die Ausgabe von evcc meter --log trace,db:error in beiden Fällen. Danke!

@premultiply
Copy link
Member Author

premultiply commented Feb 10, 2025

Laden:

2025-02-10 08:29:43.482314+00:00[battery3] TRACE 2025/02/10 09:29:43 modbus: send 00 03 00 00 00 06 01 04 32 c8 00 01
2025-02-10 08:29:43.487022+00:00[battery3] TRACE 2025/02/10 09:29:43 modbus: recv 00 03 00 00 00 05 01 04 02 00 00
2025-02-10 08:29:43.526996+00:00[battery3] TRACE 2025/02/10 09:29:43 modbus: send 00 06 00 00 00 06 01 04 32 dc 00 01
2025-02-10 08:29:43.531631+00:00[battery3] TRACE 2025/02/10 09:29:43 modbus: recv 00 06 00 00 00 05 01 04 02 ff e9
2025-02-10 08:29:43.571652+00:00[battery3] TRACE 2025/02/10 09:29:43 modbus: send 00 09 00 00 00 06 01 04 32 dd 00 01
2025-02-10 08:29:43.576325+00:00[battery3] TRACE 2025/02/10 09:29:43 modbus: recv 00 09 00 00 00 05 01 04 02 01 71
2025-02-10 08:29:43.577176+00:00[site  ] DEBUG 2025/02/10 09:29:43 battery 1 power: -369W

Entladen:

2025-02-10 08:36:45.138074+00:00[battery3] TRACE 2025/02/10 09:36:45 modbus: send 02 88 00 00 00 06 01 04 32 c8 00 01
2025-02-10 08:36:45.142908+00:00[battery3] TRACE 2025/02/10 09:36:45 modbus: recv 02 88 00 00 00 05 01 04 02 00 00
2025-02-10 08:36:45.182974+00:00[battery3] TRACE 2025/02/10 09:36:45 modbus: send 02 8b 00 00 00 06 01 04 32 dc 00 01
2025-02-10 08:36:45.187834+00:00[battery3] TRACE 2025/02/10 09:36:45 modbus: recv 02 8b 00 00 00 05 01 04 02 00 df
2025-02-10 08:36:45.240357+00:00[battery3] TRACE 2025/02/10 09:36:45 modbus: send 02 8e 00 00 00 06 01 04 32 dd 00 01
2025-02-10 08:36:45.245238+00:00[battery3] TRACE 2025/02/10 09:36:45 modbus: recv 02 8e 00 00 00 05 01 04 02 10 5c
2025-02-10 08:36:45.246252+00:00[site  ] DEBUG 2025/02/10 09:36:45 battery 1 power: -4188W

Hier wurde das Vorzeichen des Batteriestroms falsch interpretiert.

@naltatis
Copy link
Member

naltatis commented Feb 10, 2025

Mit der alten SG-Firmware ist das Verhalten nach deiner Änderung weiterhin korrekt:

Laden:

[sungrow_battery] TRACE 2025/02/10 10:29:44 modbus: send 00 01 00 00 00 06 01 04 32 c8 00 01
[sungrow_battery] TRACE 2025/02/10 10:29:44 modbus: recv 00 01 00 00 00 05 01 04 02 00 2b
[sungrow_battery] TRACE 2025/02/10 10:29:44 modbus: send 00 02 00 00 00 06 01 04 32 dc 00 01
[sungrow_battery] TRACE 2025/02/10 10:29:44 modbus: recv 00 02 00 00 00 05 01 04 02 01 26
[sungrow_battery] TRACE 2025/02/10 10:29:44 modbus: send 00 03 00 00 00 06 01 04 32 dd 00 01
[sungrow_battery] TRACE 2025/02/10 10:29:44 modbus: recv 00 03 00 00 00 05 01 04 02 1f 08
Power:        -7944W

Entladen:

[sungrow_battery] TRACE 2025/02/10 10:30:33 modbus: send 00 01 00 00 00 06 01 04 32 c8 00 01
[sungrow_battery] TRACE 2025/02/10 10:30:33 modbus: recv 00 01 00 00 00 05 01 04 02 00 2d
[sungrow_battery] TRACE 2025/02/10 10:30:33 modbus: send 00 02 00 00 00 06 01 04 32 dc 00 01
[sungrow_battery] TRACE 2025/02/10 10:30:33 modbus: recv 00 02 00 00 00 05 01 04 02 00 65
[sungrow_battery] TRACE 2025/02/10 10:30:33 modbus: send 00 03 00 00 00 06 01 04 32 dd 00 01
[sungrow_battery] TRACE 2025/02/10 10:30:33 modbus: recv 00 03 00 00 00 05 01 04 02 09 51
Power:        2385W

@premultiply
Copy link
Member Author

Bitte nochmal testen.
Hab die Logik jetzt (hoffentlich) für beide Fälle passend gedreht.

@premultiply premultiply requested review from zachelnet and naltatis and removed request for zachelnet February 10, 2025 09:46
@zachelnet
Copy link
Contributor

Bitte nochmal testen. Hab die Logik jetzt (hoffentlich) für beide Fälle passend gedreht.

habs mal bei mir angebaut und es sieht gut aus
1b4f473a
evcc-20250210-110245-debug.log

@naltatis
Copy link
Member

naltatis commented Feb 10, 2025

Passt immer noch mit der alten FW.

Laden

[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: send 00 01 00 00 00 06 01 04 32 c8 00 01
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: recv 00 01 00 00 00 05 01 04 02 00 2b
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: send 00 02 00 00 00 06 01 04 32 dc 00 01
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: recv 00 02 00 00 00 05 01 04 02 01 26
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: send 00 03 00 00 00 06 01 04 32 dd 00 01
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: recv 00 03 00 00 00 05 01 04 02 1f 29
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: send 00 04 00 00 00 06 01 04 32 e2 00 02
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: recv 00 04 00 00 00 07 01 04 04 6f cc 00 00
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: send 00 05 00 00 00 06 01 04 32 de 00 01
[sungrow_battery] TRACE 2025/02/10 11:04:54 modbus: recv 00 05 00 00 00 05 01 04 02 00 2c
Power:        -7977W

Entladen

[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: send 00 01 00 00 00 06 01 04 32 c8 00 01
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: recv 00 01 00 00 00 05 01 04 02 00 2d
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: send 00 02 00 00 00 06 01 04 32 dc 00 01
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: recv 00 02 00 00 00 05 01 04 02 00 1b
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: send 00 03 00 00 00 06 01 04 32 dd 00 01
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: recv 00 03 00 00 00 05 01 04 02 02 da
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: send 00 04 00 00 00 06 01 04 32 e2 00 02
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: recv 00 04 00 00 00 07 01 04 04 6f cc 00 00
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: send 00 05 00 00 00 06 01 04 32 de 00 01
[sungrow_battery] TRACE 2025/02/10 11:03:56 modbus: recv 00 05 00 00 00 05 01 04 02 00 21
Power:        730W

@premultiply premultiply merged commit 84b5037 into master Feb 10, 2025
7 checks passed
@premultiply premultiply deleted the fix/sungrow-charge branch February 10, 2025 10:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
devices Specific device support
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Sungrow SH15 Batterie Ladung wird nicht erkannt.
5 participants