Benachrichtigungen
Alles löschen

Einbinden eines Huawei Sun 2000 in die Victron-Umgebung bzw. Venus OS

9 Beiträge
4 Benutzer
2 Likes
712 Ansichten
(@kcbam)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 38
Themenstarter  

Hallo PV-Freunde,

ich wollte nur mal eben mein kleine Lösung für das Einbinden eines Huawei Sun-2000 Wechselrichters in den Cerbo GX / Venus OS vorstellen.

Ich habe einen Victron Multiplus II und eine DIY Batterie und ein EM24 zur Strommessung, welche über den Cerbo GX kommunizieren. Der Cerbo ist per Ethernet-Kabel ins Hausnetzwerk eingebunden. Das VRM Portal bietet dafür ja bekannterweise eine schöne Visualisierung an. Soweit Standard. Der Hauptwechselrichter ist ein Huawei Sun 2000-20KTL. Dieser hat bei Auslieferung keine Netzwerkschnittstelle und muss per Dongle erweitert werden - so möchte es der Hersteller.

Mit hat es a.) nicht gefallen, dass ich noch Hardware kaufen muss und b) dass der Wechselrichter im FUSION Portal eingebunden werden sollte. Ich möchte die Kontrolle über das Gerät nicht nach China abgeben.

Meine Lösung ist, den Cerbo GX per Wlan mit dem internen Wifi des Wechselrichters zu verbinden, welches eigentlich nur für die Konfiguration mit der Fusion Solar / SUN2000 App vorgesehen ist. Allerdings erlaubt das interne Wifi mit einer neueren Firmware auch Zugriff auf die Modbus Register. Ich habe einen Treiber geschrieben, welcher die Daten ausliest und per DBUS in der Victronumgebung integriert. Bekannt ist ähnliches das von der serialbattery, mit der die DIY Batterien eingebunden werden.

https://github.com/kcbam/dbus-huaweisun2000-pvinverter

 

Ich würde mich freuen, wenn ich hiermit anderen helfen kann und vielleicht auch noch Verbesserungsvorschläge gemacht werden.

Viel Spaß damit! Smile /p>

Christian

 
 

 

 

Dieses Thema wurde geändert Vor 7 Monaten von kcbam

   
grumpy_badger and Alex_S reacted
Zitat
(@wes_winters)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 10
 

@kcbam

Hi,

vielen Dank für die Arbeit und das Teilen des GitHub Repos.

Ich werde mir das zeitnah anschauen, weil ich mir vorhin einen Sun2000-4KTL-L1 in der Bucht geschossen habe. Ich hoffe, dass sich bei dem kleineren, einphasigen ebenfalls Modbus TCP auf dem WLAN Interface aktivieren lässt. Falls nicht, muss ich halt noch eine PE-11H an die RS485-Schnittstelle hängen und es dann probieren.

Der Huawei soll meinen nervigen Kaco Wechselrichter ersetzen, dessen Modbus Interface leider immer nur sehr sporadisch antwortet und ich gezwungen war den entsprechenden Venus OS Service von Modbus auf das HTTP-CSV-Interface umzubauen, da dies relativ zuverlässig antwortet. Relativ, weil der Kaco nach einer gewissen Zeit ohne Enspeisung über keines der Interfaces mehr antwortet bzw. keine Werte mehr ausgibt. In diesem Fall läuft der Service in einen Fehler, der abgefangen wird aber nicht wie bei anderen Services, die als Beispiel dienten, mittels Aufruf von exit() den selbigen beendet, so dass wiederum einen neue Instanz gestartet wird, sondern dass auf den dbus dann halt 0-Werte für Power, Voltage, Current, Temperature und Total Energy geschrieben werden.


   
AntwortZitat
(@wes_winters)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 10
 

@kcbam

Hi,

ich hatte mir am Wochenende den Code angeschaut und finde ihn gut, sehr schön strukturiert.
Darf ich fragen, warum du für die "Power"-Werte der drei Phasen die Enums der Klasse "MeterEquipmentRegister" und nicht die von "InverterEquipmentRegister", so wie Voltage und Current.
Meine Befürchtung wäre, dass die Register unter "MeterEquipmentRegister" nur bei an den SUN2000 angeschlossenem Zähler zur Verfügung stehen und das werde ich so nämlich nicht haben.

Bzgl. deines ToDos "Temperature" werde ich mal ein wenig testen, sobald meine Installation läuft. Für meinen Kaco schreibe ich diese Werte mittels eigenem dbus Service unter com.victronenergy.temperature.

Gruß,
Alex


   
AntwortZitat
(@kcbam)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 38
Themenstarter  

@wes_winters 

Hallo! Tut mir leid, wegen der späten Antwort. Wenn ich nichts übersehen habe, dann steht die Leistung der Phasen nicht im Inverteregister drin. Dann müsste man sie selber ausrechnen. Müsste man mal testen ob die Werte passen.

Ich werde später noch mal die Modbusspezifikation aufschlagen.

VG


   
AntwortZitat
(@wes_winters)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 10
 

@kcbam

Zwischenzeitlich habe ich meinen SUN2k in Betrieb genommen. Allerdings musste ich deinen Service leicht anpassen, weil meiner einphasig ist und aktuell auf L2 einspeist. Somit habe ich Voltage und Current Werte von L1 entsprechend für L2 gesetzt und für die anderen Phasen entsprechend "0"-Werte. Für /Ac/Power und /Ac/L2/Power nehme ich aktuell ActivePower aus InverterEquipmentRegister. Das passt bisher sehr gut zu den Werten bei Grid und AC Loads. Ich werde aber ebenfalls am Wochenende nochmals schauen, ob eine Kalkulation anhand von Spannung, Stromstärke und anderen Faktoren besser geeignet wäre.

Ich Frage die Werte aktuell per Modbus TCP ab, allerdings nicht über das interne WiFi, sondern über einen Protoss PE11-H an der RS485 Schnittstelle.
 
Vergangenes Wochenende hatte ich das Venus OS meines Multiplus von v2.94 auf v3.12 upgegraded. Leider funktioniert der Service mit dieser Version für mich nicht länger. Er läuft, loggt keine Fehler, schreibt aber keine Werte auf den dbus (geprüft mit dbus-spy). Der Modbus Test mittels des Connector Scripts war ebenfalls erfolgreich. Nachdem ich wieder in die verherige Version gebootet hatte lief es wieder sofort.

Auf welcher Version von Venus OS lässt du denn den Service laufen?

Gruß


   
AntwortZitat
(@kcbam)
Vorsichtiger Stromfühler
Beigetreten: Vor 2 Jahren
Beiträge: 38
Themenstarter  

@wes_winters

Ja, das ActivePower liefert die gesamte Inverter Leistung. Das kann man bei 1-Phasig natürlich machen. Ich verwende aktuell die Firmware 3.12 und die funktioniert bei mir. Ich hatte auch mit vorherigen Versionen keine Probleme.

Gibt es neue Erkenntnisse?

Gruß


   
AntwortZitat
(@cliff100)
Vorsichtiger Stromfühler
Beigetreten: Vor 3 Monaten
Beiträge: 10
 

Hey,

 

habe dein Script installiert, viel Dank dafür! 
funktioniert soweit für den PvInverter. 

Allerdings fehlt mir noch das Smartmeter für die Rolle „Grid“. Ich wollte dies über Dbus-MQTT-Grid von MrManuel implementieren und das über Nodered mit den Daten aus dem MQTT-Broker füttern. Leider werden im MQTT nur „current“ und „Power“ für die 3 Phasen gepublished (unter Grid). Das sind exakt die gleichen Werte, die für „current“ und „Power“ unter pvinverter gepublished werden, nur invertiert (Grid positiv, pvinverter negativ). Weitere Werte werden nicht gepublished, und die Daten unter „Grid“ sind wie gesagt nicht die vom smartmeter sondern die gleichen wie vom inverter. Ich hab alle Werte per „keepalive abgefragt und mit MQTT Explorer geloggt. Die genannten Werte sind die einzigen die aktualisiert werden. 
Ich nutze V3.22 large. 

Soll das so sein (works as designed)?

mach ich was falsch? 

vielen Dank im Voraus!


   
AntwortZitat
(@wes_winters)
Vorsichtiger Stromfühler
Beigetreten: Vor 1 Jahr
Beiträge: 10
 

@kcbam 

Sorry für die extrem späte Antwort. Ich habe eine neuere Version deines Huawei Moduls adaptiert und das funktioniert seither sehr gut, mittlerweile sogar mit 2x dem gleichen einphasigen Huawei jeweils an AC-IN und AC-OUT1.

 


   
AntwortZitat
(@schweizer72)
Newbie
Beigetreten: Vor 1 Jahr
Beiträge: 1
 

Hallo an alle die sich mit dem Script auskennen.

Es funktioniert bei mir sehr gut.

Gibt es einen Möglichkeit, auf gleiche Weise einen 2.ten Huawei einzubinden? Z.B. dass man die beschriebenen Punkte zur Installation nochmal, aber mit geänderten Namen macht, damit sich die 2te nicht mit der ersten Installation ins Gehege kommt?

Vielen Dank


   
AntwortZitat
Teilen: