Jump to content

Recommended Posts

Geschrieben (bearbeitet)

 

Moin,

endlich hĂ€ngt mein WARP3 an der Wand. Ich besitze eine PV-Anlage mit einem <edit> Sungrow SH10RT </edit> Wechselrichter incl. Akku, den ich als SunSpec-ZĂ€hler hinzugefĂŒgt habe. Die erste Überraschung war hier allerdings, dass der Sungrow als "Wechselrichter einphasig [101]" erkannt wird, obwohl es sich um ein dreiphasiges GerĂ€t handelt.

Schlimmer ist, dass offenbar die falschen Register ausgelesen werden. Bei "Wirk­leistung (Bezug minus Ein­speisung)" wird nicht dieser Wert, sondern die aktuelle Last angegeben. Jetzt in der Nacht steht hier (als negativer Wert) mein aktueller Verbrauch (der aus dem Akku gespeist wird). Importiert/exportiert wird derzeit nichts, also mĂŒsste da eigentlich eine 0 stehen. In meiner Modbuskonfiguration fĂŒr Homeassistant wĂ€re das Register fĂŒr "export_power_raw" 13010, aber ausgelesen wird offenbar "load power" (13008).

Nicht so schlimm, aber hilft vielleicht beim Debuggen: bei "Wirk­energie (Ein­speisung)Σ L1, L2, L3; seit Her­stel­lung" steht meine bisher gesamt erzeugte Energiemenge (Register 13003) statt der exportierten Menge (Register 13005).

Ob die falschen Werte in Zusammenhang mit dem falsch erkannten Datenmodell 101 stehen? Wenn ich ein anderes Modell auswÀhle, kann der WARP aber gar keine Daten auslesen.

Was kann ich noch ausprobieren oder wie kann ich ggf sinnvollen Debugging-Output erzeugen?

Gruß, Uli

 
bearbeitet von f-zappa
Geschrieben
Am 21.4.2024 um 00:06 schrieb f-zappa:

Sungrow SG10RT Wechselrichter incl. Akku

Ist es ein AC-gekoppelter Speicher? Den Sungrow SG10RT habe ich auch, der ist ohne Speicheranschluss. Falls es der SH10RT mit DC-Speicher ist: Dessen Modbusregister unterscheiden sich deutlich von denen des SG!

Geschrieben
Am 21.4.2024 um 12:20 schrieb ses:

Ist es ein AC-gekoppelter Speicher? Den Sungrow SG10RT habe ich auch, der ist ohne Speicheranschluss. Falls es der SH10RT mit DC-Speicher ist: Dessen Modbusregister unterscheiden sich deutlich von denen des SG!

Danke, dass du aufgepasst hast. Ich habe tatsÀchlich den SH10RT! 

Geschrieben
Am 21.4.2024 um 12:32 schrieb ses:

LĂ€sst sich der WR auswĂ€hlen, also sowohl SG als auch SH? WĂ€r fĂŒr mich auch interessant, weil ich die WARP noch nicht habe.

Ich mach dir mal einen Screenshot. Die Werte "Anzeigename, GerÀteadresse, Eindeutige ID" werden vom Scan ausgelesen, aber das scheint mir nur zu Anzeigezwecken zu dienen:

image.thumb.png.6db65a0e16cc8a285cdebfa2fb7fa55f.png

Die Musik spielt wohl bei "Modell", "GerĂ€teadresse" und "Modellinstanz". Da kannst du aber nicht Hersteller/Typ auswĂ€hlen sondern die nach SunSpec definierten Datenmodelle. Eigentlich ist es ja auch Sinn des Standards, dass er herstellerĂŒbergreifend funktioniert, aber irgendwas passt hier noch nicht.

image.png.f494ef014d6287eab0d509e61b74056d.png 

Geschrieben
Am 21.4.2024 um 00:06 schrieb f-zappa:

Wenn ich ein anderes Modell auswÀhle, kann der WARP aber gar keine Daten auslesen.

Was passiert, wenn Du testweise die ZÀhler 2xx auswÀhlst? Die Daten dieses Smartmeters werden ja eigentlich gebraucht.

Geschrieben

ZÀhlermodelle auszuwÀhlen, die wÀhrend der Suche nicht gefunden wurden, wird nicht funktionieren. Nach dem Verbindungsaufbau wird nÀmlich genau dieses Modell gesucht. Wird es nicht gefunden, werden auch keine Daten ausgelesen. Findet die Suche es nicht, findet der Verbindungsaufbau es auch nicht.

Dass der Wechselrichter als einphasig erkannt wird, ist kein Problem. Das einphasige Modell kann exakt die gleichen Daten beinhalten wie das dreiphasige Modell. Der einzige Unterschied ist, dass beim einphasigen Modell nur die Werte fĂŒr Phase 1 verpflichtend sind, die fĂŒr Phase 2 und 3 optional. Beim dreiphasigen Modell sind die Werte fĂŒr alle drei Phasen verpflichtend.

So wie ich das sehe, lĂ€ufst du aktuell in ein Problem mit Sungrow-Wechselrichtern, das wir vor Kurzen gefunden haben. Das Ende der Modellliste wird anscheinend nicht konform zum SunSpec-Standard gekennzeichnet, wodurch die Suche endlos weiterlĂ€uft, bzw. bis sie irgendwann abstĂŒrzt. In den nĂ€chsten Tagen sollte es eine Test-Firmware geben, die das Problem umgeht und das nicht-standardkonforme Ende der Modellliste erkennt.

Die Hoffnung wĂ€re, dass dein WR auf einer anderen Adresse noch einen weiteren ZĂ€hler meldet, der dann die Werte von deinem Hausanschluss hat. Der eine aktuell gefundene ZĂ€hler ist ziemlich offensichtlich nur fĂŒr den WR bzw. Speicher, nicht fĂŒr den Hausanschluss. Aktuell stirbt die Suche, bevor der möglicherweise vorhandene zweite ZĂ€hler abgefragt wird.

Geschrieben

SunSpec wird leider von verschiedenen Herstellern immer wieder leicht unterscheidlich umgesetzt. Wir arbeiten daran die KompatibilitÀt zu den Fehlern der Herstellern zu verbessern.

Dein erstes Problem ist, wie Matze schon erwĂ€hnt hat, dass Sungrow das Ende der Modelliste falsch meldet und wir darĂŒber stolpern. Das haben wir letzte Woche schon bei einem anderen Kunden gesehen. Teste mal bitte die angehĂ€ngte Firmware, in der dieser Punkt behoben sein sollte.

Wir erkennen deinen Wechselrichter als "Wechselrichter einphasig", weil Sungrow den in SunSpec so meldet. Das ist nicht unsere Entscheidung. Das ist leider verwirrend, aber erstmal okay, wie Matze erklÀrt, weil auch das einphasige Modell dreiphasige Werte melden kann. Hier habe ich noch keine gute Idee wie wir das verbessern könnten. Im Sinne von irgendwie zu raten, dass eigentlich das dreiphasige Modell gemeint ist, Sungrow aber das einphasige meldet. GrundsÀtzlich liegt kein Problem vor, aber es verwirrt den Kunden.

On 4/21/2024 at 12:47 PM, f-zappa said:

Die Musik spielt wohl bei "Modell", "GerĂ€teadresse" und "Modellinstanz". Da kannst du aber nicht Hersteller/Typ auswĂ€hlen sondern die nach SunSpec definierten Datenmodelle. Eigentlich ist es ja auch Sinn des Standards, dass er herstellerĂŒbergreifend funktioniert, aber irgendwas passt hier noch nicht.

Alles außer dem Anzeigenamen unter dem "Suche starten" Knopf ist relevant. Da wird festgelegt von welcher Modbus/TCP GerĂ€teadresse, von welchem SunSpec UntergerĂ€t (Hersteller, Modell, Seriennummer), welches SunSpec-Modell und davon welche Modellinstanz gelesen wird. Da kannst du schlussendlich eintragen was du möchtest, und so lange dein GerĂ€t dann diese Daten auch liefern kann wird es auch funktionieren. Wenn die Suche es aber schon nicht findet, dann ist es höchstwarscheinlich auch nicht vorhanden.

BezĂŒglich der falschen Werte. Die SunSpec Register fangen bei 40000 an. Wir lesen also nicht im 130XX Bereich den du von Hand ausließt. Teste mal bitte mit der angehĂ€ngen Firmware, ob die GerĂ€tesuche jetzt besser funktioniert. Sobald wir das Problem gelöst haben, schauen wir uns an was bei den Werten nicht passt. Ob wir das falsch lesen, oder ob Sungrow das falsch meldet.

Edit: Bitte Firmware im nÀchsten Post ausprobieren.

Geschrieben

Wir haben jetzt noch einige Korrekturen fĂŒr Sungrow-Probleme eingebaut. Bitte teste mal diese Firmware und lade anschließend ein Log der GerĂ€tesuche hier hoch.

Edit: Veraltete Firmware entfernt.

 

Geschrieben (bearbeitet)
Am 22.4.2024 um 19:49 schrieb MatzeTF:

Wir haben jetzt noch einige Korrekturen fĂŒr Sungrow-Probleme eingebaut. Bitte teste mal diese Firmware und lade anschließend ein Log der GerĂ€tesuche hier hoch.

warp3_firmware_2_3_0_6626a111_0ca140bbadd4d87_merged.bin 2.55 MB · 0 downloads

Moin, ich habe zwei Logs erzeugt - beim ersten gehe ich direkt an den WR, beim zweiten ĂŒber einen Modbusproxy. Letzteres sieht im Log ein wenig anders aus und der Scan dauert lĂ€nger, aber fĂŒhrt letztlich zum gleichen Resultat. Evtl macht der Proxy einfach selbst ein paar zusĂ€tzliche Retries.

Wenn die SunSpec-Implementierung von Sungrow Mist ist, wĂŒrde ja evtl ein Firmwareupdate helfen. Das war auch bislang ĂŒber die Sungrow-App möglich, wurde vor kurzem aber fĂŒr Enduser aus der App entferntÂ đŸ€Ź. Das Update soll eine Fachfirma einspielen, aber da das hier zu großen Teilen ein DIY-Haushalt ist, habe ich gar keine. Widerliches Verhalten. Hallo Tinkerforge, bitte baut als nĂ€chstes einen Wechselrichter 🙃

sun-spec-scan-log-warp3-2auT-2024-04-23T16-50-54-463.proxy.txt sun-spec-scan-log-warp3-2auT-2024-04-23T16-49-25-592.txt

bearbeitet von f-zappa
Logs angehÀngt
Geschrieben

HĂ€ngst du die Logs auch hier an? 🙂

FĂŒr die meisten Sungrow-Bugs haben wir Workarounds. Was bleibt, sind hĂ€ufige Lesefehler bei gleichzeitigen Modbus-Zugriffen. Wenn du da noch mit OpenHAB oder einer App draufhĂ€ngst, wird das irgendwann unbenutzbar.

Wechselrichter wĂŒrden wir gerne bauen, allerdings ist die Konkurrenz bei Wallboxen schon schwierig. Das wird bei Wechselrichtern noch schlimmer sein.

Geschrieben

Sorry, jetzt sind die versprochenen Logs auch da :)

Wegen der Lesefehler habe ich vor einigen Tagen den Modbusproxy eingerichtet. Bislang hat nur Home Assistant die Daten abgegriffen, als der WARP und evcc dazu kamen, fingen die Probleme an (obwohl der WR angeblich drei konkurrierende ZugÀnge können soll, funktioniert aber wohl nicht).

Geschrieben

Sungrow mag anscheinend nicht so viele Anfragen. Deine Logs bestehen praktisch nur aus Lesefehlern.

Kannst du testweise mal einen SunSpec-ZÀhler ohne Suche anlegen und von Hand die GerÀteadresse 247, Model 701 und Instanz 0 eingeben? Sowohl mit als auch ohne Proxy? Werden da (nach einem Neustart) irgendwann Werte beim ZÀhler angezeigt?

Geschrieben

Um zu verhindern, dass wir zu viele Anfragen stellen bei der GerĂ€tesuche, habe ich in dieser Firmware eingebaut, dass der GerĂ€teadressbereich einschrĂ€nkbar ist. Teste bitte mit dieser Firmware einmal, ob es hilft den GerĂ€teadressbereich von 1-247 auf 247-247 zu stellen und dann die GerĂ€tesuche durchzufĂŒhren.

Edit: Veraltete Firmware entfernt.

 

Geschrieben
Am 23.4.2024 um 19:03 schrieb MatzeTF:

Sungrow mag anscheinend nicht so viele Anfragen. Deine Logs bestehen praktisch nur aus Lesefehlern.

Kannst du testweise mal einen SunSpec-ZÀhler ohne Suche anlegen und von Hand die GerÀteadresse 247, Model 701 und Instanz 0 eingeben? Sowohl mit als auch ohne Proxy? Werden da (nach einem Neustart) irgendwann Werte beim ZÀhler angezeigt?

image.thumb.png.4f0e4c9cf50540474165fec02b39694c.png

So richtig? Gibt keine Werte, auch ĂŒber den Proxy nicht :(

Geschrieben
Am 23.4.2024 um 19:40 schrieb photron:

Um zu verhindern, dass wir zu viele Anfragen stellen bei der GerĂ€tesuche, habe ich in dieser Firmware eingebaut, dass der GerĂ€teadressbereich einschrĂ€nkbar ist. Teste bitte mit dieser Firmware einmal, ob es hilft den GerĂ€teadressbereich von 1-247 auf 247-247 zu stellen und dann die GerĂ€tesuche durchzufĂŒhren.

Da wird zwar das Log ĂŒberschaubarer, aber ansonsten passiert das gleiche:

 

Starting scan
Resolving 10.3.7.3
Connecting to 10.3.7.3:502
Using device address 247
Using base address 40000
Reading SunSpec ID
Reading timed out, retrying
Unknown read error, retrying
Unknown read error, retrying
Unknown read error, retrying
Unknown read error, retrying
Could not read SunSpec ID (error: CONNECTION_LOST [229])
Disconnecting from 10.3.7.3
Could not disconnect from 10.3.7.3
Scan finished


  

Geschrieben

Ich habe es schon fast befĂŒrchtet. Kann man evtl in die Firmware einbauen, dass man das fragliche Modbus-Register von Hand eintrĂ€gt? Es ist ja da, nur halt nicht via SunSpec. 

Und nur mal fĂŒr mich zum VerstĂ€ndnis: sowohl der ZĂ€hler als auch die Batterie sind in meinem Fall wohl ĂŒber CAN-Bus an den WR angeschlossen. Wenn das stattdessen ĂŒber Modbus realisiert wĂ€re, dann könnte ich durch den WR quasi "durchgucken" und auf einer anderen Slave-Adresse direkt die Register der angeschlossenen GerĂ€te sehen? 

Geschrieben

Wir ĂŒberlegen gerade, ob man Modbus auch anders unterstĂŒtzen kann, allerdings steht noch nichts fest.

Wenn der WR eine Modbus-Bridge wĂ€re, wĂŒrde es darauf ankommen, wie die implementiert wĂ€re. Nicht jede Bridge ist vollstĂ€ndig transparent. Ist mit CAN aber sowieso hinfĂ€llig.

Geschrieben

Wir haben gerade noch einen anderen Kunden auch mit Problemen bei Sungrow. Es scheint mir so, dass man die Modbus/TCP Schnittstelle recht schnell ĂŒberlasen kann.

Wenn ich die richtig verstehe fagst du die Daten ach noch mit anderen Programmen ab. Könntest du versuchen die anderen Abfragen zu pausieren, so dass am besten nur wir alleine mit Modbus/TCP reden können? Dann den Suchbereich auf 247-247 einschrÀnken. Das funktioniert gerade beim anderen Kunden, wenn auch mit Aussetzern.

Geschrieben
Am 24.4.2024 um 16:01 schrieb photron:

Wenn ich die richtig verstehe fagst du die Daten ach noch mit anderen Programmen ab. Könntest du versuchen die anderen Abfragen zu pausieren, so dass am besten nur wir alleine mit Modbus/TCP reden können? Dann den Suchbereich auf 247-247 einschrÀnken. Das funktioniert gerade beim anderen Kunden, wenn auch mit Aussetzern.

Nichts leichter als das, dazu muss ich ja nur den modbusproxy-Container kurz stoppen.

Allerdings kommt leider der gleiche Effekt:

Starting scan
Resolving 10.3.7.3
Connecting to 10.3.7.3:502
Using device address 247
Using base address 40000
Reading SunSpec ID
Reading timed out, retrying
Reading timed out, retrying
Reading timed out, retrying
Reading timed out, retrying
Reading timed out, retrying
Could not read SunSpec ID (error: TIMEOUT [228])
Disconnecting from 10.3.7.3
Scan finished

Ich habe das mehrfach probiert, immer die gleiche Ausgabe. Genau so zuverlÀssig kommt aber auf dem GerÀt 1 immer das Modell 101 (was mir ja nix bringt).

Da wird es zwischen meinem Setup und dem des anderen Kunden wohl irgendeinen Unterschied geben - andere HW/FW ist natĂŒrlich möglich, aber vielleicht halt auch ein anders angebundenes Smartmeter, so dass der WR wie von mir oben schon spekuliert einfach als Bridge fungiert, was er mit einem anders angebundenen Meter nicht kann?

Geschrieben

Das Device unter 247 wirst du nur haben wenn du den WiNet-S hast, vermute ich. Wenn du den nicht verbaut hast kommt vermutlich nichts unter 247.

On 4/24/2024 at 4:30 PM, f-zappa said:

Ich habe das mehrfach probiert, immer die gleiche Ausgabe. Genau so zuverlÀssig kommt aber auf dem GerÀt 1 immer das Modell 101 (was mir ja nix bringt).

Darf ich fragen, was du em Ende erreichen möchtest? PV-Überschussladen? DafĂŒr muss die Wallbox wissen wieviel Leistung ĂŒber ist.

Mal von SunSpec weg. Hier eine Firmware die einen ersten Schuss fĂŒr eine generelle Modbus/TCP UnterstĂŒtzung hat mit Sungrow SH... Vorlage. Das Mapping und die Auswahl der Sungrow-Werte auf unsere ZĂ€hler-API ist absolute experimentel und muss definitiv ĂŒberarbeitet werden. Ich habe da mal ein erste Auswahl getroffen. Es werden aber alle gelesenen Werte auch im Ereignis-Log ausgegeben.

Also, anstatt einen SunSpec-ZĂ€hler, kannst du einen Modbus/TCP ZĂ€hler hinzufĂŒgen und als Vorlage Sungrow SH... auswĂ€hlen. Dann werden die 5000er und 13000er Register von Sungrow gelesen.

Edit: Veraltete Firmware entfernt.

 

Geschrieben

Das ist der Auszug der Sungrow Daten der anderen Kundenanlage, heute Nachmittag mit etwas Sonne:

Total Output Energy [0.1 kWh] (5004): 40723 (40723 0)
Inside Temperature [0.1 °C] (5008): 296
Total DC Power [W] (5017): 567 (567 0)
A-B / A-N Voltage [0.1 V] (5019): 2346
B-C / B-N Voltage [0.1 V] (5020): 2323
C-A / C-N Voltage [0.1 V] (5021): 2337
Reactive Power [var] (5033): -4 (65532 65535)
Power Factor [0.001] (5035): 1000
Grid frequency [0.01 Hz] (5036): 4996
Total PV Generation [0.1 kWh] (13003): 38096 (38096 0)
Total PV Energy Export [0.1 kWh] (13006): 24716 (24716 0)
Load Power [W] (13008): -1143 (64393 65535)
Export Power [W] (13010): 1522 (1522 0)
Total PV Energy Battery Charge [0.1 kWh] (13013): 7074 (7074 0)
Total Direct Battery Consumption [0.1 kWh] (13018): 6306 (6306 0)
Battery Voltage [0.1 V] (13020): 4006
Battery Current [0.1 A] (13021): 0
Battery Power [W] (13022): 0
Battery Level [0.1 %] (13023): 1000
Battery SoH [0.1 %] (13024): 1000
Battery Temperature [0.1 °C] (13025): 160
Total Battery Energy Discharge [0.1 kWh] (13027): 10292 (10292 0)
Grid State (13030): 0
Phase A Current [0.1 A] (13031): 6
Phase B Current [0.1 A] (13032): 6
Phase C Current [0.1 A] (13033): 7
Total Active Power [W] (13034): 429 (429 0)
Total Import Energy [0.1 kWh] (13037): 37381 (37381 0)
Battery Capacity [0.1 kWh | Ah] (13039): 1920
Total Charge Energy [0.1 kWh] (13041): 11234 (11234 0)
Total Export Energy [0.1 kWh] (13046): 42965 (42965 0)

Und hier im Dunkeln:

Total Output Energy [0.1 kWh] (5004): 40725 (40725 0)
Inside Temperature [0.1 °C] (5008): 289
Total DC Power [W] (5017): 0 (0 0)
A-B / A-N Voltage [0.1 V] (5019): 2338
B-C / B-N Voltage [0.1 V] (5020): 2328
C-A / C-N Voltage [0.1 V] (5021): 2330
Reactive Power [var] (5033): -5 (65531 65535)
Power Factor [0.001] (5035): 1000
Grid frequency [0.01 Hz] (5036): 4999
Total PV Generation [0.1 kWh] (13003): 38097 (38097 0)
Total PV Energy Export [0.1 kWh] (13006): 24717 (24717 0)
Load Power [W] (13008): 335 (335 0)
Export Power [W] (13010): -16 (65520 65535)
Total PV Energy Battery Charge [0.1 kWh] (13013): 7074 (7074 0)
Total Direct Battery Consumption [0.1 kWh] (13018): 6306 (6306 0)
Battery Voltage [0.1 V] (13020): 3980
Battery Current [0.1 A] (13021): 9
Battery Power [W] (13022): 319
Battery Level [0.1 %] (13023): 978
Battery SoH [0.1 %] (13024): 1000
Battery Temperature [0.1 °C] (13025): 160
Total Battery Energy Discharge [0.1 kWh] (13027): 10293 (10293 0)
Grid State (13030): 0
Phase A Current [0.1 A] (13031): 6
Phase B Current [0.1 A] (13032): 6
Phase C Current [0.1 A] (13033): 6
Total Active Power [W] (13034): 319 (319 0)
Total Import Energy [0.1 kWh] (13037): 37381 (37381 0)
Battery Capacity [0.1 kWh | Ah] (13039): 1920
Total Charge Energy [0.1 kWh] (13041): 11234 (11234 0)
Total Export Energy [0.1 kWh] (13046): 42965 (42965 0)

Sorry fĂŒr das etwas kryptische Format. Der Wert nach dem Doppelpunkt ist der eigentliche Messwert:

<Name> [<Einheit>] (<Adresse>): <Wert> (<Rohdaten>)

Mir ist noch nicht ganz klar wie Load Power, Export Power, Battery Power und Total Active Power im Zusammenhang stehen.

Der untere Fall scheint mir klarer. PV liefert 0W (Total DC Power). Die Batterie wird mit 319W (Battery Power) entladen. Das Haus hat eine Bedarf von 335W (Load Power). Die Differenz von 16W die die Batterie nicht liefert wird aus dem Netz importiert (negative Export Power). Der Wechselrichter liefert dem Haus insgesamt 319W (Total Active Power).

Der obere Fall ist mir unklarer. PV liefert 567W  (Total DC Power). Die Batterie ist voll und wird nicht entladen (Batterie Level ist 100% und Batterie Power ist 0W). Das Haus hat einen Überschuss (???) von 1143W (negative Load Power, wie kann das sein?). Der Wechselrichter macht aus 567W(DC) dann 429W(AC) (Total Active Power)? Gesammt werden 1522W an das Netz exportiert. Die Summe geht nicht auf, da gehen 50W verloren. Vermutlich liegt dass daran, dass nicht alle Werte zum exakt gleichen Zeitpunkt aufgezeichnet wurden.

Zu klĂ€ren wĂ€re jetzt wie genau die Sungrow-Werte auf unsere ZĂ€hler-API zugeordnet werden mĂŒssen, damit am Ende etwas sinvolles bei herum kommt.

Nachtrag:

Die negative Load Power kommt daher, dass dort ncoh weiter Wechselrichter sitzen, die auch einspeisen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefĂŒgt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rĂŒckgĂ€ngig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfĂŒgen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...