NEWS
SOLAX X1 Mini Wechselrichter über Modbus TCP/IP
-
Hallo Zusammen,
ich würde gerne die Register des SOLAX X1 Mini über Modbus auslesen und in Objekten verarbeiten. Die Kommunikation habe ich mittels USR-W610 bereits hergestellt. D.h. RX und TX arbeiten wenn ich mittels Datenlogger eine Abfrage starte.
Nur habe ich leider keine Ahnung wie ich die Modbus Register auslesen kann? Wie macht man das?
Ich dachte es gibt die 4 Registerarten und ich könnte die Adressen mir einfach mit einem Datenlogger anschauen. Aber so einfach geht das wohl nicht.
Könnt ihr mir helfen?
VG
Frank -
https://forum.iobroker.net/topic/59655/growatt-modbus-mqtt-gateway
https://github.com/syssi/esphome-modbus-solax-x1
Da werde sie geholfen.
(Hoffentlich) -
@dreistein
Danke für den Link, ich verstehe es aber leider nicht. Wie bekomme ich die ADRESSEN der Register denn heraus um sie im IOBroker zu hinterlegen?
Ich dachte die Anfangsadresse wird durch das Register bestimmt und dann muss ich mir den Datenpunkt aus den Herstellerangaben heraussuchen, dann noch den Datentyp und die Länge?
ich bekomme diese Informationen aber nicht aus den Unterlagen übersetzt?
-
@frank-5
Ich hoffe jemand anderes kann dir da mehr helfen.Wenn das so einfach wäre, würde Solax ja die Registerliste einfach als PDF zum Download anbieten.
Oder die Sache ist so einfach und der Solax spricht "SunSpec" wie z.b Fronius.
Vieleicht solltest du den Modbus weg verlassen und versuchen das MQTT ans laufen zu bekommen.
Viel Erfolg
-
@dreistein
danke trotzdem, über Wifi und Cloud läuft er ja. Modbus wäre aber besser um auch ein Lastmanagement mit einem Smartmeter zu realisieren.
-
@frank-5 Das geht auch mit dem Solax Adpater dieser kann den Wifistick auch Lokal pollen (im Sekundentakt)!
Schau mal unter den Experteneinstellungen.#Edit:
@frank-5 sagte in SOLAX X1 Mini Wechselrichter über Modbus TCP/IP:
@dreistein
danke trotzdem, über Wifi und ....
Oh jetzt erst gesehen hast schon so laufen, oder?
-
Ja genau, das läuft.
Ich will halt die Modbus Adressierung hinbekommen, da ich dann auch Smartmeeter etc. nach dem gleichen Konzept anbinden kann. -
@frank-5
Hallo Frank,
es gibt ein Dokument von Solax "Hybrid-X1X3-G4-ModbusTCPRTU-V3.21-English_0622-public-version.pdf", Titel "Energy Storage Inverter Modbus TCP&RTU Communication protocols V3.21" da sind die Register aufgeführt.
Nach meinem Wissen beherrscht der Solax x1 aber kein Modbus TCP sondern nur RTU, bedeutet, du brauchst einen Konverter von RS485 (serial) auf ???, ich hab Konverter auf TCP (Ethernet) im Einsatz (Waveshare RS485 to Eth (B)) das geht gut (weisses Gerät), Achtung es gibt ein ähnliche Konverter von Waveshare (schwarze Geräte), die gehen nicht. Alternativ geht auch ein USB Stick.
Ich habe gerade einen USB-RS485 von BerryBase besorgt und mache bei meinem Nachbarn ein Projekt mit einem Solax X1 mini.
Werde also die nächsten Tage berichten können.Ein Fallstrick bei Modbus können die Aliasse sein, die ich auch noch nicht ganz verstanden habe.
Bei meinen SMA Wechselrichtern spreche ich die Eingangsregister direkt über Modbus TCP und die Register an z.B. 30353 Tagesertrag Unsigned 32bit big endian.
Bei dem Waveshare /Stromzähler SDM630 über Aliasse, Eingangsregister 30397 Float big endian.VG
Wolfgang -
@wolfgang_muc
Hallo Wolfgang,die Info, dass beim Solax X1 auch ein Waveshare RS485 to Eth (B) verwendet werden kann war interessant.
Ich habe die POE-Variante verwendet, bekomme aber keine Daten via Modbus TCP geliefert.
Der Connect auf Port 502 geht, aber Daten kommen nicht zurück.Damit die Connect-Anzeige auf dem Waveshare dauerhaft blau leuchtet muss ich vircom mit einem virtuellen COM-Port verwenden, der dann auf die Device gebunden wird.
Ich bin davon ausgegangen, dass mit dem WaveShare eine direkte Modbus-TCP-Verbindung hergestellet werden kann, bei der die Transformation auf RS485 dann vom WaveShare gemacht wird.
Mein Programm (nicht IO-Broker) verbindet sich mit 3 anderen WRs (2 x SMA, 1 x Solax X3) direkt via Modbus TCP.
Tatsächlich klappt der Connect auch von meinem Programm. Dabei leuchtet die mittlere Diode auch kurz blau auf und die rechte Diode kurz blau und dann grün. Ich habe alle Baud-Raten (mit Device-restart) ausprobiert.
Auch in den erweiterten Einstellungen bei vircom habe ich alle möglichen Varianten durchgetestet - ohne Erfolg.
Geht das beim Waveshare nur mittels COM-Schnittstelle und muss vircom im Hintergrund laufen und mein Programm muss die COM-Schnittstelle ansprechen? (das würde ich dann aber nicht als "Konverter auf TCP" verstehen).
Die Waveshare Device ist als TCP-Server konfiguriert.
Das LAN-Kabel habe ich auch einmal getauscht. Standard-Belegung mit blau auf Pin 4 (485-A) und blau-weiß auf Pin 5 (485-B). Der Anschluss von grün-weiss auf Pin 3 zu GRND auf dem WaveShare macht keinen Unterschied.Falls dir dazu was einfällt: bin über jeden Tip dankbar.
Grüße