Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Projekt: Deye SUN10k mit Modbus an IOB

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Projekt: Deye SUN10k mit Modbus an IOB

    This topic has been deleted. Only users with topic management privileges can see it.
    • fuzzy1955
      fuzzy1955 last edited by fuzzy1955

      WICHTIGER HINWEIS

      Das Installieren solcher elektrischer Einrichtungen muss wegen der Gefährdung von Menschenleben unbedingt von versierten Fachleuten vorgenommen werden! Die Inbetriebnahme dieser Einrichtung ist jedenfalls von einem konzessionierten Elektrounternehmen vorzunehmen.

      Seit Ende Feber 2025 habe ich eine erweiterte PV-Anlage mit einem Deye Wechselrichter, mit MeritSun Batterien und insgesamt 10 kWp PV-Modulen. Es dauerte eine gute Woche, bis ich die Werte der Module, des Wechselrichters und der beiden Batterien mit dem ModBus-Konverter „Waveshare RS485 to Eth“ als Datenpunkte in den IoBroker bekam. Zunächst probierte ich den IOB-Adapter "deyeidc" - ohne Erfolg. Dann suchte ich das IOB-Forum und andere Foren nach Hinweisen durch. Da fand ich so manche Lösung, die bei mir nicht funktionierten (die Modbus-Buchse ist bei meinem WR inaktiv).

      Dann stellte ich das Thema ins Forum und mit Hilfe einiger tatkräftiger Spezialisten kam ich jetzt nach gefühlten 150 Testvarianten zu einer funktionierenden Lösung, die ich hier als Hilfestellung für ähnliche Projekte darstellen möchte.

      Hardware:
      • RaspBerry Pi 5 mit 16 GB RAM, Linux Debian an SD-Karte, Daten auf USB-Stick
      • Waveshare RS485-TO-ETH
      • PV-Module 10 kWp
      • Deye Wechselrichter SUN-10K mit separatem Generator-Eingang (Realisierung einer netzgekoppelten Insellösung ohne direkte frequenzmäßige Kopplung)
      • MeritSun LiFe Speicher 2 x 10 kWh
      • Automatic Transfer Switch 4P 63A , 400V, 50Hz

      Software und Adapter:
      • MariaDB (MySQL)
      • IoBroker v 7.4.10 mit den Adaptern Javascript v8.8.3, Modbus v6.3.2, SQL v3.0.1, Web v6.2.5.

      Ablauf:

      1. Installation der PV-Anlage samt aller Komponenten

      Wie bereits erwähnt, handelt es sich um eine netzgekoppelten PV-Insellösung ohne direkte galvanische und frequenzmäßige Kopplung mit dem Stromversorger.

      [Edit - gelöscht]

      Der Waveshare RS485-TO-ETH wird mittels CAT-7-Kabel an das gesplittete Cat-Kabel zwischen Deye BMS-Buchse und der CAN-Buchse des MeritSun LiFe Speicher angebunden. Bei meinem Deye SUN-10K ist die Modbus-Buchse inaktiv und somit unbrauchbar. Das CAT-7-Kabel verwendet folgende Drähte:

      Deye-BMS-Kabel auftrennen und die Drähte 6, 7 und 8 mit einem weiteren CAT-Kabel einseitig ohne Stecker verlöten:
      6 = GND weiß/blau
      7 = 485A orange
      8 = 485B weiß/orange

      Converter RS485 to Eth-Pins mit dem weiteren CAT-Kabel verbinden:
      GND weiß/blau
      485B weiß/orange
      485A orange

      02_Hardware.jpg

      Wichtig ist das Einstellen der Modbus-Adresse am Deye (Menü erweiterte Einstellungen - Modbus SN). Die Adresse 00 soll nicht verwendet werden.
      03_Deye WR.jpg

      2. Einrichten des RaspBerry Pi 5 samt Software (Hutschienenmodell)

      Da gibt es genug Beispiele im Web. Als Datenbank-Freak seit 40 Jahren installierte ich für die Historienbildung die MariaDB (MySQL).

      3. Konfigurieren des Waveshare RS485-TO-ETH und Test der Verbindung

      Nun wird es interessant. Der Waveshare RS485-TO-ETH wird standardmäßig mit der IP 192.168.1.254 geliefert, die man ans eigene Subnetz anpasst. Die Verwendung einer statischen IP-Adresse und die Verwendung des Ports 502 wird empfohlen. Doku -> RS485-TO-ETH-B-user-manual-en-v1.1.pdf
      Die Testtools SSCOM und VirCom_en werden in der Doku beschrieben. Mit der eingestellten IP-Adresse verbindet man sich mit der Konfigurationsseite des RS485-TO-ETH und stellt folgende Parameter ein:

      Clipboard07.jpg

      Mit dem Tool VirCom_en geht es dann weiter. Wichtig ist hier die Einstellung des Modbus-Gateway Types "Simple Modbus TCP to RTU" im Button "More Advanced Settings". Nach dem Speichern müsste die Link-LED im Waveshare-Adapter blau leuchten.

      Clipboard06.jpg

      4. Konfigurieren der Modbus-Instanz im IOB

      Das Konfigurieren der Modbus-Instanz im IOB verläuft wie folgt, wobei besonders die Portnummer und die Modbus-Adresse von großer Bedeutung sind.

      Clipboard04.jpg

      Das Finden der richtigen Holding-Registernummern ist eine Wissenschaft für sich! Sogar die chinesische Liste von Deye, die im Internet herumgeistert, enthält falsche Nummern. Die von mir verwendeten Holding-Registernummern zum Auslesen der Daten (als TSV-Datei verwendbar ) sind:

      _address	deviceId	name	description	unit	type	len	factor	offset	formula	role	room	poll	wp	cw	isScale
      3	1	Seriennummer	Seriennummer		string	5	0	0		state		true	false	false	false
      102	1	Batteriekapazitaet	Batteriekapazitaet	kWh	int16be	1	0,05	0		level		true	false	false	false
      108	1	BatterieLadestromMax	Maximaler Ladestrom der Batterie	A	int16be	1	0	0		level		true	false	false	false
      109	1	BatterieEntladungMax	Max A Entladung	A	int16be	1	0	0		level		true	false	false	false
      122	1	GEN_Laufzeit	Gen-Cool-Time	h	int16be	1	0	0		level		true	false	false	false
      500	1	Status	Status (Standby, check, norm, altert, fault)		string	1	1	0		level		true	false	false	false
      501	1	Energie pro Tag	Power per Day	kWh	int16be	1	1	0		level		true	false	false	false
      526	1	Load_Tagesenergie	Tagesenergie Load	kWh	int16be	1	0,01	0		level		true	false	false	false
      530	1	PV1_Power pro Tag	Day_PV-1_Power kWh	kWh	int16be	1	0,1	0		level		true	false	false	false
      531	1	PV2_Power pro Tag	Day_PV-2_Power kWh	kWh	int16be	1	0,1	0		level		true	false	false	false
      541	1	AC_Temperatur	AC_Temp	°C	int16be	1	0,01	0		level		true	false	false	false
      553	1	Warnhinweis1	Warning message word 1		string	1	1	0		level		true	false	false	false
      586	1	Batterietemperatur	battery temperature	°C	int16be	1	0,01	10		level		true	false	false	false
      587	1	Batteriespannung	battery voltage	V	int16be	1	0,01	0		level		true	false	false	false
      588	1	Batteriekapazitaet SOC	battery capacity	%	int16be	1	1	0		level		true	false	false	false
      590	1	Batterieausgangsleistung	Battery output power	W	int16be	1	1	0		level		true	false	false	false
      591	1	Batterieausgangsstrom	Battery output current	A	int16be	1	0,01	0		level		true	false	false	false
      627	1	WR-Ausgangsspannung L1	Inverter output phase voltage A	V	int16be	1	0,1	0		level		true	false	false	false
      628	1	WR-Ausgangsspannung L2	Inverter output phase voltage B	V	int16be	1	0,1	0		level		true	false	false	false
      629	1	WR-Ausgangsspannung L3	Inverter output phase voltage C	V	int16be	1	0,1	0		level		true	false	false	false
      630	1	WR-Ausgangsstrom L1	Inverter output phase current A	A	int16be	1	0,01	0		level		true	false	false	false
      631	1	WR-Ausgangsstrom L2	Inverter output phase current B	A	int16be	1	0,01	0		level		true	false	false	false
      632	1	WR-Ausgangsstrom L3	Inverter output phase current C	A	int16be	1	0,01	0		level		true	false	false	false
      636	1	WR-Gesamtleistung	Inverter output total power	W	int16be	1	1	0		level		true	false	false	false
      637	1	WR-Scheinleistung gesamt	Inverter output total apparent power	W	int16be	1	1	0		level		true	false	false	false
      638	1	WR-Frequenz	Inverter frequency	Hz	int16be	1	0,01	0		level		true	false	false	false
      667	1	GEN_Gesamtleistung	Gesamtleistung des Gen-Ports	W	int16be	1	1	0		level		true	false	false	false
      672	1	PV1 Erzeugungsleistung	PV1 Erzeugungsleistung	W	int16be	1	1	0		level		true	false	false	false
      673	1	PV2 Erzeugungsleistung	PV2 Erzeugungsleistung	W	int16be	1	1	0		level		true	false	false	false
      676	1	PV1 DC Spannung	Dc voltage 1	V	int16be	1	0,1	0		level		true	false	false	false
      677	1	PV1 DC Strom	Dc current 1	A	int16be	1	0,1	0		level		true	false	false	false
      678	1	PV2 DC Spannung	Dc voltage 2	V	int16be	1	0,1	0		level		true	false	false	false
      679	1	PV2 DC Strom	Dc current 2	A	int16be	1	0,1	0		level		true	false	false	false
      

      5. Verwenden der Datenpunkte in den IOB-Objekten

      Nach der erfolgreich gestarteten Modbus-Instanz kann man die Datenpunkte in den IOB-Objekten nutzen.
      20250306_IoB_Objekte.jpg

      Sehr empfehlenswert ist jedoch das Definieren individuelle Datenpunkte, die mit den Modbus-Datenpunkten referenziert werden (Aliases).

      IoB-Objekte.jpg
      Das hat unter Anderem den Vorteil, dass im Fall einer Hardwareänderung nur die Referenz im individuellen Datenpunkt geändert werden muss. Sämtliche Abfragen, Dashboards, Statistiken etc. bleiben unverändert.
      06_Objekte.jpg

      Nach Belieben kann man Datenpunkte in der Datenbank MySQL aufzeichnen, um diese mit Dashboards etwa in Grafana darzustellen. Ich verwende das IOB-VIS-2, bin aber damit noch beim Einsteigen. Meine noch recht rudimentäre, schnell zusammengezimmerte Handyseite sieht etwa so aus:

      VIS.jpg

      Da suche ich noch ein schönes Energieflussdiagramm wie am Deye Wechselrichter.

      20250306_165847.jpg

      Resümee:

      Nach zahlreichen Versuchen läuft die Modbus-Verbindung recht stabil. Es gibt etwa 200 Deye Register zum Abfragen, die nahezu alle Informationswünsche erfüllen.

      Bei Fragen oder Problemen biete ich gern Unterstützung.

      Viele Grüße, Fuzzy

      1 Reply Last reply Reply Quote 0
      • R
        reini84 last edited by reini84

        Habe auch einen Deye Sun, konnte es ebenso mit dem Waveshare RS485 umsetzen.

        Probier doch mal den Adapter "energiefluss-erweitert" aus.

        9dbd86ef-ace8-467d-8229-196addc1c116-image.png

        fuzzy1955 1 Reply Last reply Reply Quote 0
        • fuzzy1955
          fuzzy1955 @reini84 last edited by

          @reini84
          Danke, Reini! Hab ich bereits. Aber ich suche eine Integration im VIS-2, damit ich alles beisammen habe.

          Homoran 1 Reply Last reply Reply Quote 0
          • Homoran
            Homoran Global Moderator Administrators @fuzzy1955 last edited by

            @fuzzy1955 sagte in Projekt: Deye SUN10k mit Modbus an IOB:

            @reini84
            Danke, Reini! Hab ich bereits. Aber ich suche eine Integration im VIS-2, damit ich alles beisammen habe.

            ja und?
            oder gibt es in vis2 kein iframe widget mehr?

            fuzzy1955 1 Reply Last reply Reply Quote 0
            • fuzzy1955
              fuzzy1955 @Homoran last edited by fuzzy1955

              @homoran sagte in Projekt: Deye SUN10k mit Modbus an IOB:

              gibt es in vis2 kein iframe widget mehr?

              Wow! Bei dir lerne ich ja was Gscheites 😊
              Clipboard02.jpg

              Ich bin doch noch ein ziemlicher Newbie 😖

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              426
              Online

              31.6k
              Users

              79.5k
              Topics

              1.3m
              Posts

              3
              5
              188
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo