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.
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 ?
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 ![]()
[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
. Aber viele andere haben für mich ja auch das gleiche getan ![]()
[1]
[2]
[3]

[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 ![]()
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.
Hallo,
erst noch Mal vielen Dank für die grundlegende Arbeit für die Modbus- Anbindung!
Nun habe ich eine Frage:
Ist es möglich, den Wechselrichter nicht nur auszulesen sondern auch zu steuern?
Ich würde gern den Target Soc per Symcon verstellen können.
Hallo,
ich brauche Hilfe bei der Steuerung meines Solax Wechselrichter X3-Hybrid-10.0 G4.
Aktuell lese ich die Daten über Modbus TCP aus. Mit einem Waveshare RS232/485/422 to RJ45. Das habe ich dank der Unterstützung von @schachimd1 hin bekommen.
Aber nun treibt mich doch der Wunsch nicht nur Daten auszulesen sondern auch den Wechselrichter zu steuern. Insbesondere würde ich gern die TargetSOC einstellen können.
Aktuell mache ich das über die SolaxCloud via Web.
Aber ich hab doch Symcon . . . ![]()
Da ich nicht wirklich Ahnung von Modbus habe, ergibt sich da doch die ein oder andere Frage:
Bei den ausgelesen Variablen der Modbus Instanz gibt es auch „TargetSOC“. Allerdings steht diese immer auf 0%. Das finde ich schon mal seltsam.
Ist es überhaupt möglich den Wechselrichter über Modbus zu steuern? Gibt die API das her?
und
Wer kennt sich mit den Solax Wechselrichtern aus? Und kann mich eventuell bei der Modbus Steuerung unterstützen?
Vielen Dank schon mal. Bin gespannt.
Moin,
hab zwar keinen Solax Wechselrichter, lese aber einiges über Modbus aus.
Grundlegend muss der Hersteller die Adresse auch als “schreibbar” freigegeben haben, wenn es “nur lesen” ist , dann kannst du im Kreis springen und es wird nicht funktionieren.
Meist ist es die gleiche Adresse, die du zum Schreiben nehmen kannst, welche du auch zum Lesen nimmst. (muss aber nicht)
hier mal ein Beispiel eine Wechselrichters von mir, die 3 Werte wo was bei schreiben drin steht, die kann ich ändern (die unteren zwar auch, hab ich im Moment aber sicherheitshalber nur lesen)
Wenn ich nun Bulk ändern will, gehen ich einfach in den Baum klicke rechts auf den Wert der Variable, tipp 55,8 ein, klick auf ändern und dann schalten.. fertig
![]()
wie schon gesagt, die Adresse muss schreibbar sein, sonst geht es nicht.
wenn du Werte beim Lesen hast, dann probier es einfach aus, wenn es geht gut, wenn nicht ist die Adresse nur lesen oder es ist tatsächlich eine andere Modbusadresse zum Schreiben des gleichen Wertes.
Edit:
hier noch vom Victron, um beim Thema SoC zu bleiben. (hier passe ich den SoC sehr oft an,über den Winter…wie du siehst, das Prinzip ist immer das gleiche)
zu1. Ja das ist seltsam, da sollte erwartend minSOC stehen. Tatsächlich ist mir dort sogar ein Fehler unterlaufen. Statt 283 (0x011B Hex) habe ich 282 geschrieben. Ändert aber auch nichts am Ergebnis
. Dafür gibt es die SocUpper und SocLower und die funktionieren sogar. Bei mir steht da 100% bei Upper und 10% bei Lower.
Lade dir das neue json File [1] oder ändere es manuell.
[1] https://community.symcon.de/uploads/short-url/u3E8nfFqHsdKHmsLKV8R92745bs.json
zu2. leider ist schreiben nicht vorgesehen. Siehe Bild oben. Da steht ueberall nur R also Read. Habe es trotzdem mal versucht, aber es schlug fehl.
Für mich aber nicht so wichtig da ich am Akku SOC auch im Winter nichts ändere. Lt. Solax Doku
Hinweis: Im Falle eines Netzanschlusses funktionieren alle Betriebsarten normal
wenn der SOC der Batterie >5 % ist. Wenn der Min SOC des Systems - der
tatsächliche SOC der Batterie > 5 %, PV oder Netz zwingt die Batterie zum Laden
auf Min SOC +1 %, und kehrt dann in den vom Benutzer eingestellten
normalen Arbeitsmodus zurück.
wird wieder nachgeladen. Gerade das erste Mal - wegen Schnee auf PV - vor einer Woche nach drei Jahren Betrieb feststellen dürfen ![]()
OK. Danke Dir! Dann ist das so.
War einen Versuch wert. ![]()
Moin!
Ich habe im Loxforum
etwas über die Schreibmöglichkeit gefunden.
Und diese Solax Info.
(Solax)Hybrid X1&X3-G4 ModbusTCP&RTU V3.29-English_231031 .pdf (988,6 KB)
Dort werden auch die Schreibregister aufgeführt.
Und tatsächlich konnte ich das Passwort ohne Fehlermeldung senden.
Keine Ahnung, ob das auch vom Wechselrichter angenommen wurde.
Nun habe ich aber das Problem, dass ich keinen weiteren Eintrag in der Modbus Instanz erstellen kann. Bzw. ich kann ihn erstellen, aber es wird keine Variable damit erzeugt.
Und ich bin mir sicher, dass ich beim rumprobieren schon mal eine weitere anlegen konnte.