Sungrow Modbus Home Assistant Integration

  • Beitrags-Kommentare:5 Kommentare

In diesem Beitrag geht es um die Sungrow Modbus Integration in Home Assistant. Vorteil dieser Methode gegenüber der iSolarCloud Integration ist, dass die Daten lokal ermittelt werden. Ein weiterer Vorteil ist, dass die Daten alle 10 Sekunden abgefrag werden, was fast zu Echtzeit Daten führt. Falls du beide Varianten erstmal vergleichen möchtest findest du in diesem Artikel die Anleitung zur iSolarCloud Integration per Home Assistant Addon.

Dieser Beitrag ist in zwei Bereiche aufgeteilt. Erst möchte ich beschreiben, was Modbus ist. Im Zweiten Abschnitt geht es dann um die Home Assistant Integration von Sungrow über das Protokoll.

Was ist Modbus?

Modbus ermöglicht den Datenaustausch zwischen Geräten, die oft in industriellen Umgebungen wie Fabriken, Kraftwerken und Prozessanlagen zu finden sind. Das Protokoll kann auf verschiedenen physischen Kommunikationsmedien wie RS-232, RS-485, Ethernet und sogar über serielle Verbindungen übertragen werden.

Es gibt zwei Hauptvarianten von Modbus:

  1. Modbus RTU: Dies ist eine serielle Implementierung von Modbus, bei der Daten in binärer Form übertragen werden. Es ist besonders effizient und eignet sich gut für die Kommunikation über lange Entfernungen.
  2. Modbus TCP/IP: Dies ist eine Variante, die das Internetprotokoll (IP) verwendet und über Ethernet-Netzwerke kommuniziert. Modbus TCP/IP ist in modernen Industrieanlagen und in der Gebäudeautomatisierung weit verbreitet.

Modbus ist bekannt für seine Einfachheit und Robustheit. Es verwendet ein Master-Slave-Prinzip, bei dem ein Master-Gerät (normalerweise ein Steuerungssystem) Anfragen an Slave-Geräte (zum Beispiel Sensoren oder Aktoren) sendet und diese Geräte antworten. Die Kommunikation erfolgt durch das Senden von speziellen Nachrichten, die als Modbus-Telegramme bekannt sind.

Die Verwendung von Modbus ermöglicht die Überwachung und Steuerung von Geräten und Systemen in Echtzeit, was in industriellen Umgebungen von entscheidender Bedeutung ist. Es hat sich als äußerst zuverlässig erwiesen und wird weiterhin in einer Vielzahl von Anwendungen eingesetzt, um die Effizienz und Produktivität zu steigern.

Home Assistant Grundlagen Kurs fuer Einsteiger
Home Assistant Grundlagen Kurs fuer Einsteiger

Sungrow Modbus Integration in Home Assistant

Für die Modbus Anbindung nutze ich die Entwicklung von mkaiser aus folgendem Repository:

https://github.com/mkaiser/Sungrow-SHx-Inverter-Modbus-Home-Assistant

Auf der Webseite ist aufgeführt, welche Wechselrichter damit angesprochen werden können.

Bevor die Daten des Sungrow Wechselrichter per Modbus ausgelesen werden können ist die Verbindung mit einem LAN Kabel in das Netzwerk notwendig. Der LAN Port beim SH8.0RT ist hinter dem Anschluss des WiNet-S Dongle. Sobald das LAN Kabel angeschlossen erhält der Wechselrichter eine weitere IP-Adresse zur Kommunikation über Modbus.

Sind die Netzwerk vorarbeiten erledigt besteht die Home Assistant Integration nun aus drei Schritten:

Modbus Konfigurationsdatei

Aus dem oben verlinkten Repository muss eine Datei mit dem Namen modbus_sungrow.yaml herunter geladen werden.

Sungrow Modbus YAML

Die Datei wird in einem Unterverzeichnis integrations auf der Ebene /config hochgeladen. Sollte das Verzeichnis nicht bereits bestehen muss dies erstellt werden. Innerhalb der Datei werden die Verbindungsdaten des Wechselrichter aus der secrets.yaml referenziert. Die Host_IP ist die IP Adresse des Wechselrichter. Als Port wir der Modbus Standard Port verwendet.

Modbus Verbindungsdaten speichern

Als nächstes werden die Modbus Verbindungsdaten in der Datei secrets.yaml gespeichert, die ebenfalls auf der Ebene /config ist. Falls nicht vorhanden muss eine leere secrets.yaml erstellt werden.

sungrow_modbus_host_ip: xxx.xxx.xxx.xx # Hier wird die IP des Wechselrichter hinterlegt.
sungrow_modbus_port: 502 # Port 502 ist der Standard Port.
sungrow_modbus_slave: 1 #Die Slave Adresse ist im Standard 1.

Zum Schluss speichern nicht vergessen!

Modbus Include erstellen

Als letzter Schritt wird die Datei configuration.yaml um einen Befehl angepasst, der die zuvor hinterlegte Datei modbus_sungrow.yaml im Order integrations referenziert.

homeassistant:
  packages: !include_dir_named integrations

Die Konfiguration ist damit abgeschlossen und Home Assistant kann neugestartet werden.

Angebot
Shelly Pro 3 | Wlan, LAN & Bluetooth 3-Kanal 3-Phasen Smart Relais Schalter für Hutschiene - 48A |...
  • Shelly Pro 3 ist ein dreiphasiges...
  • Verwenden Sie den Shelly Pro 3 zur Steuerung der...
  • Shelly Pro Serie - Die Shelly Pro Serie ist mit...
  • SHELLY KUNDENSERVICE - Shelly ist eine der am...
  • Mit der SHELLY SMART CONTROL APP können Sie Ihre...

Home Assistant Sungrow Entitäten

Unter den Entitäten sollten nach dem Neustart über die Modbus Integration alle Entitäten aufgelistet werden, die vorhanden sind.

Home Assistant Sungrow Modbus Entitäten

In meinem Fall mit einem Wechselrichter und einer Batterie sind das in Summe 115 Entitäten!

Sungrow Dashboard

Im Repository von mkaiser findet sich noch ein fertig erstelltes Dashboard, was genutzt werden kann, um die Entitäten zu ordnen und darzustellen. Der einfachste Weg ist mit einem komplett leeren Dashboard zu starten. Dann kann einfach der Inhalt der unten verlinkten YAML Datei über den Dashboard RAW Editor hinzugefügt und gespeichert werden.

https://github.com/mkaiser/Sungrow-SHx-Inverter-Modbus-Home-Assistant/blob/main/dashboards/_DefaultDashboard_mkaiser/dashboard.yaml

Ich schätze die wenigsten von euch haben das. Ein genauer Blick in die YAML zeigt, dass das Dashboard in drei Ansichten aufgeteilt ist:

  • title: Overview
  • title: Detailed Info
  • title: EMS Control

Diese können nun einzeln in den bestehenden YAML Code deines Dashboards eingesetzt werden. Wem dies zu viel ist kann natürlich einzelne Bereiche aus der jeweiligen Ansicht kopieren. Diese beginnen stets mit dem title Attribut.

Fazit

Die Integration wirft zwar immer wieder mal Fehler im Log aus funktioniert aber grundsätzlich gut. Die Integration wird aktuell weiter entwickelt und supported, sodass bei Problemen oder Änderungen Updates veröffentlicht werden.

Persönlich ziehe ich die lokale Modbus Integration der iSolarCloud Integration vor. Es bestehen aber beide Möglichkeiten der Sungrow Anbindung.

Dieser Beitrag hat 5 Kommentare

  1. Paul

    Vielen Dank für die sehr gute Anleitung! Meiner Erfahrung nach ist die ModBus-Anbindung stabiler, denn auf dem CloudServer kommen ständig Änderungen.

  2. Christoph Pieper

    Hallo ich habe es auch so gemacht und läuft soweit sehr stabil. Allerdings frage ich mich als Nicht-Elektriker, was die ganzen Daten / Einstellmöglichkeiten bedeuten? Bzw. wofür man diese anderweitig noch nutz kann.
    Kann mir dazu jemand vielleicht weiterhelfen?

    1. Udo Berndt

      Hi Christoph, das stimmt, die Integration bzw. der Wechselrichter liefert viele Informationen. Die Frage ist, ob man sie zwingend nutzen muss? Viele Entitäten nutze ich zur Visualisierung von Verbrauch oder zur Steuerung von Informationen. Kannst du konkrete Beispiele nennen, wo du mehr zu wissen möchtest?

  3. Sia

    Schon mal vielen Dank für die Umsetzung. Hat bei mir auch super geklappt. Allerdings hab ich das Problem, dass die Entitäten immer wider kurz nicht erreichbar sind oder der Wert auf Null gesetzt wird. Gibt es eine Möglichkeit das zu beseitigen?

    1. Udo Berndt

      Hi Sia,
      das Problem hatte ich auch mal. Der Fehler wurde bei mir dadurch verursacht, dass ich mit zwei unterschiedlichen Home Assistant Instanzen gleichzeitig auf den WR zugegriffen habe zum Daten auslesen. Lösen konnte ich es mit der Installation eines Modbus Proxy. Zur Installation des Modbus Proxy gibt es ein Video auf meinem YT Kanal: Modbus Proxy installieren
      Greifst du auch mit mehreren Instanzen auf den WR zu?
      VG, Udo

Schreibe einen Kommentar