Abfrage des Huawei SDongleA-05 verbessern (beschleunigen) #16063
-
Beta Was this translation helpful? Give feedback.
Replies: 12 comments 107 replies
-
Ich gehe mal davon aus das die Abfrage per Modbus erfolgt? Grundsätzlich sollte man nur 1 System haben das eine Modbus Abfrage durchführt, alles andere gibt immer Probleme wie du schon selbst gemerkt hast. Sobald du mehrere Systeme hast die ständig zugreifen wollen solltest du über einen Modbusproxy nachdenken. Dann ist dieser die zentrale Anlaufstelle für deine Abfragen. Das ist grundsätzlich der normale Weg. Da muss niemand was umprogrammieren. https://docs.evcc.io/docs/reference/configuration/modbusproxy |
Beta Was this translation helpful? Give feedback.
-
How is your dongle connected to the internet? Wifi ? Is the signal strong ? (You can see this when conected to the main inverter’s internal management wifi, and logged in as installer) Is your network reliable high quality and without any problems? Perhaps try to connect it using ethernet cable? |
Beta Was this translation helpful? Give feedback.
-
Das ist genau der Punkt.. evcc ließt jedes meter sequentiell aus-- wobei in diesem Fall auch das parallele Auslesen eher kontraproduktiv wäre- Dadurch dass er aber 3 seperate Anfragen an den dongle schickt (pv, slave, battery) dauert es einfach gefühlt unendlich lange.. Da ich nicht glaube, dass sich das evcc team diesem Problem annehmen wird (was durchaus verständlich ist) würde ich mir selbst eine komplettabfrage in node-red erstellen und diese Daten via mqtt zur Verfügung stellen. pv, slave und battery dann entsprechend als custom meter einbinden.. problematisch wird dann nur die aktive batterie-Steuerung. Alternativ nur pv und slave als custom-meter einbinden und in evcc zusätzlich den modbus-proxy aktivieren und die Batterie weiterhin via evcc auslesen und steuern lassen.. in noder-red dann zumindest pv und slave noch in einen rutsch auslesen.. dann aber die Abfrage an den modbus-proxy senden. |
Beta Was this translation helpful? Give feedback.
-
Oder einen AP zwischenschalten und direkt die WR per WLAN auslesen. Habe ich selber aber nie umgesetzt, da ich keine Performanceprobleme habe (habe allerdings auch keinen Slave-WR). |
Beta Was this translation helpful? Give feedback.
-
You would connect RS485 directly to the main inverter’s COM port - such an easy and cheap thing to try :) |
Beta Was this translation helpful? Give feedback.
-
Hier mal ein kleines "Optimierungs-Tutorial" für Huawei... Es ist in der Tat so, dass Huawei bei Einzelabfragen sehr langsam ist. Man liest deshalb besser mehrere Register, sprich Registerbereiche, mit einer einzigen Abfrage aus. Ich lese WR+Batterie+EnFluRi zum Beispiel in 3 Abfragen aus:
Eine weitere Optimierung ist es, die Verbindung nur ein Mal aufzumachen und diese persistent zu halten, sprich die Verbindung nicht mit jedem Zyklus neu aufzumachen, da der Verbindungsaufbau zum WR recht lahm ist und die erste Abfrage im Anschluss i.d.R. in die Hose geht, sofern man nicht einen kurzen Sleep einbaut. Last but not least kann man die Abfragegeschwindigkeit enorm beschleunigen, indem man die RS485 Baudrate auf 19.200 hoch setzt (Default=9.600). Das MUSS man sowohl im SDongle als auch im SUN2000 machen, da sich die beiden sonst nicht mehr verstehen. Dazu bedarf es Installer-Rechten. Auf den SDongle kommt man per WLAN und FusionSolar App. Dieser spannt, nachdem er neu gesteckt wurde, ein Konfigurations-WLAN auf. Und ja, die RS485 Einstellung hat auch auf den SDongle großen Einfluss. Ich gehe davon aus, dass das ein Serial-USB-Converter ist. Damit kann ich die oben genannten Registersätze von einem WR und einer Batterie in deutlich unter 5s auslesen. Was mir ja vorschwebt ist ein "intelligenter" Proxy mit Cache, der periodisch große Register-Bereiche asynchron von den Geräten ausliest und vorhält. Mehrere Clients könnten sich dann auf den Proxy verbinden und Einzel- oder Bereichsabfragen tätigen, die aus dem Cache bedient werden. |
Beta Was this translation helpful? Give feedback.
-
Another thing to try with multiple Huawei inverters OR when Huawei + non Huawei inverter is measured via sepparate smart meter and gathered by SDongle and shown in Fusion solar is to get all the PV data from the SDongle itself.
@andig - could we add this to the template/ UI please ? (PS- connect delay of 2s is important and needed) |
Beta Was this translation helpful? Give feedback.
-
Beta Was this translation helpful? Give feedback.
-
I did a quick and superficial performance comparison... Modbus TCP:
Modbus RTU via RS485:
Modbus TCP is clearly a second class citizen. |
Beta Was this translation helpful? Give feedback.
-
I now have a SDongleA-05 02312QMV-004 which can do real-time data monitoring (see manual). evcc can read data from inverter/battery/meter in milliseconds, just like with RS485 directly to the SUN2000. |
Beta Was this translation helpful? Give feedback.
-
Well, I can confirm that new Part number SDongle works like a charm. 😎 Now this is the dongle, that Huawei should have made from the start! Thanks @CiNcH83 for your discovery! |
Beta Was this translation helpful? Give feedback.
-
I started a sheet [LINK] where people can add their dongle configurations... |
Beta Was this translation helpful? Give feedback.
I just replaced my old Huawei SDongleA-05 02312QMV-005 with the Huawei SDongleA-05 02312QMV-004, which was delivered to me today. And I can confirm that the slowness of the Dongle is a thing of the past now. No more timeouts in evcc, no more periods of my Huawei system being shown as offline in FusionSolar and finally an evcc interval value of 30 (or even shorter) has become possible.
The new SDongle with the HC32F4A0SITB CPU is so much faster, it's amazing. Finally the Huawei system performs as I had it expected to perform from day one. evcc meter grid, evcc meter battery etc. all return values in less than one second now.
I think replacing your slow SDongle with the -004 revision is the…