Solax Wechselrichter auslesen

Hallo zusammen,

ich möchte meine Solax Wechselrichter über IP Symcon auslesen.

Seriennummer passt … nur den Token aus dem Solax Portal will IP Symcon nicht fressen.

ich habe zwar einen älteren aber evtl. kommst du lokal dran. Guck mal auf der IP vom WR

http:///api/realTimeData.html

Ich mache das Lokal - kann der gerne mal mein Skript/Modul senden.

Hi, meinst du mir Lokal, dass du nicht die Cloud nimmst ? Die würde ich auch gerne umgehen, denn wenn mein NEO zu oft refreshed bekomme ich für ca. 60 Minuten nichts bzw. nur Fehler angezeigt.

Ja - ich gehe direkt drauf - probiere mal auf die IP deines Solax zu kommen - URL steht oben

Hi, ich komme leider auf meine beiden nicht drauf …

So sollte das ja aussehen ?

http://192.168.1.72/api/realTimeData.html

ja - die URL sollte so aussehen. Was hast du für einen WR? Die sollten eigentlich auch eine lokale Website haben und da kommt man dann hinten rum auf einen REST web service.

Ich habe den SolaX X1 Mini 1.5

leider kann ich hier nichts finden wie man da lokal ran kommt. Wenn du was findest was irgendeine JSON generiert kann ich helfen.

Beim Thema Cloud kann du evtl. hier schauen - das geht bei mir auch: Solax Wechselrichter auslesen - via Solax-Portal

also bei mir funktioniert es seit Monaten stabil und sieht genauso aus wie bei dir.
Versuch mal direkt die API [1] abzufragen mit deinem Token und SN.
Da soltest du ein JSON Seite mit deinen Daten und ein „Query success“ erhalten. Wenn das nicht geht liegt es an deinen Keys.
Die Daten per Webpage wie von @BommelPommel beschrieben funktioniert anscheinend nicht mehr bei neueren Solax-WR. Ging bei mir auch nicht. Daher frage ich per Modbus die Daten ab. Modbus-Vorlagen habe ich hier [2] abgelegt. Einfach per 2-Draht-Kabel an Com-Schnittstelle RJ45 des Solax und an ein ModbusGateway wie Waveshare [3] anschliessen und dann hat man auch live immer alle Daten. Dann macht auch eine Energieverteilung [4] richtig Spass :slight_smile:

[1] https://www.eu.solaxcloud.com:9443/proxy/api/getRealtimeInfo.do?tokenId=202303...71&sn=SY
[2] [ModBus Vorlage] Solax X3-HybridG4
[3]
[4]

Hallo schachimd1,
am Montag wird mein Solax Wechselrichter (Solax X3-Hybrid-10.0 G4.2) angeschlossen.
Diesen möchte ich natürlich in Symcon einbinden und auslesen.

Da ich Null Kenntnisse in Sachen Modbus habe, möchte ich herausbekommen ob alles auf meiner Seite richtig ist.
Falls am Wechselrichter noch vom Elektriker Einstellungen für Modbus vorgenommen werden müssen.
Nach der Beschreibung von Dir habe ich auch schon ein Waveshare RS232/485/422 LAN Modbus Gateway gekauft. Dieses soll dann via COM Schnittstelle (RS485) an den WR angeschlossen werden.
Dieses habe ich nun via Modbus Gateway in Symcon eingebunden.
Das scheint auch zu funktionieren.
Die Instanz meldet „Instanz geöffnet“ und produziert keine Fehler.
Dann habe ich Modbus Geräte Instanzen angelegt und die 3 Vorlagen von Dir importiert.
Wenn ich nun das Modbus Gateway aktiviere, kommen diverse Fehler „Zeitüberschreitung beim Warten auf Antwort“
Was ja auch verständlich ist, da das Waveshare noch keine Daten bekommt.
Ist denn damit alles getan, um die Daten vom WR auszulesen?
Was hat es mit der Instanz Modbus Register auf sich?
Wird die auch benötigt? Muss ich da etwas eintragen?

Die Doku hilft mir nicht richtig weiter bzw ich verstehe es nicht.

Ich bin gespannt.

Hallo chrschli,

die ModbusRegister werden per JSON Files in den ModbusDevices importiert. Diese hast du bereits importiert.
Versuche aber mal die notwendigen Modbus-Instanzen zu beschreiben.
Als erstes brauchst nur natürlich primär das Modbus-Gateway [1] zum WR und die notwendige Einbindung in Symcon per ClientSocket [2] in den I/O Instanzen. So sieht dann die Config [3] aus.
Anmerkung: Eigentlich hatte ich hier immer den DNS-Namen zu stehen. Das funktioniert solange bis Symcon neustartet. Dann war die Schnittstelle immer nicht mehr erreichbar. Keine Ahnung warum, aber das einsetzen der IP stattdessen eleminierte diese Störung.
Dann brauch es das ModbusGateway mit der ID des Endgerätes mit ‚Modbus TCP‘ in den Splitterinstanzen [4]. Das Gateway muss dann dem ClientSocket [2] zugeordnet werden [5].
Bei Solax ist diie ModbusID per default die 1 eingestellt und die Baudrate ist 9600 mit 8N1 (könnte man auch selber noch ändern in den SolaxSettings). Die Baudrate muss mit dem WaveshareGW [1] übereinstimmen. Jedes evtl. weitere Gerät am Bus MUSS dann eine andere ID bekommen. Ich habe da z.B noch 2 andere dran, wie man sehen kann [2].
Dann brauch es den ModbusKonfigurator in den KonfiguratorInstanzen [2]. Dort fügt man dann ein ModbusDevice hinzu und gibt das Zielverzeichnis an und importiert dann dort die vorgefertigten Json-Files für Solax [6]. Diese enthalten dann alle fertigen ModbusRegister [7].
Nun kann man alle Daten ohne Cloud direkt vom Solax verwenden und für den Energieverteiler oder sonstwas weiterverarbeiten. Einzelne Registererstellung nun nicht mehr notwendig. Die Arbeit hat Symcon durch die Möglichkeir von Export/Import der JSON Files erheblich erleichtert und ich hatte nur noch das Vergnügen diese zu erstellen als erstes :wink: . Aber viele andere haben für mich ja auch das gleiche getan :slight_smile:

[1]

[2]

[3]
Instanzkonfiguration

[4]

[5]

[6]

[7]

Hallo schachimd1,
vielen Dank für Deine ausführliche Anleitung.
Nun bin ich schon guter Dinge, dass ich das morgen hin bekomme :wink:
Vermutlich kommt dann doch noch die ein oder andere Frage.

Fragen hab ich aber jetzt schon:
Bei den Waveshare Einstellungen gibt es Destination IP/DNS. Muss hier die Symcon IP hin?
Dann habe ich als Device Port (vorgegeben) 4196. Bei Dir steht dort 502.
Ich habe im ClientSocket aber auch die 4196 eingetragen. Das sollte doch auch gehen? oder?
Ansonsten ändere ich es eben auf 502.

Mal sehen. Werde berichten.

Schönen Sonntag!
Christian

Hallo chrschli,
wie auf auf dem Bild [1] erkennbar ist die Destination der Symconserver. Also dein DNS-Name deines Symcon-Systems. Der Port ist da egal, wenn er auf beiden Systemen gleich ist. Port 502 ist halt nur der Service-Standardport für Modbus.

So, nun läuft der Wechselrichter!
Leider bekomme ich keine Werte in den Modbus Geräten.

Ich habe schon alles mögliche probiert.

Auch einen Neustart der Symbox.
(Das hatte ich letztens mal beim Herumspielen mit EnOcean.
Es ging nix mehr. Und nach einem Neustart liefen die Geräte.)

Zumindest hatte ich nach dem Neustart plötzlich werte im ModbusDevice!
Hab mich schon gefreut.
Aber leider zu früh. Die Werte werden nicht aktualisiert . . .

Seltsam. Aber es zeigt, dass die Verbindung Waveshare>Symcon wohl prinzipiell funktioniert.

Was kann ich tun?

25.03.25
Nun läuft es!
Nachdem ich alles noch mal neu eingerichtet habe, funktioniert es nun.
Großartig!
Vielen Dank für die super Vorlage.