NEWS
Solarman PV, Bosswerk MI & Deye
-
Ich versuche auch meinen MI600 via Modbus Adapter auszulesen (danke für den vielen Input hier!), aber es scheint, als ob der Port 502 nicht ansprechbar ist. Ein Portscan zeigt nur Port 80 und 8899 als offen an

Kann/muss da erst noch was auf dem MI600 konfiguriert werden?On error: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.xx.xx","port":502}(grundsätzlich funktioniert Modbus bei mir, da ich über eine andere Instanz schon die Daten von meinem Victron Cerbo GX auslese)
-
@radi Moin Ralf, nach einem unergiebigen Wochenende muss ich dir mitteilen, dass ich nichts gefunden habe, um mit der Api die gewünschten Daten auszulesen. Da müsstest du evtl. mal den Support von Solarman bemühen, ob die da noch einen Tip für uns hätten. So bin ich an dieser Stelle im meinem Latein am ende.
-
@rene55 Hallo, erstmal Dank für deine Mühe. Ich werde mal mein eingeschränktes Englisch bemühen und den Support kontaktieren.
-
Ich versuche auch meinen MI600 via Modbus Adapter auszulesen (danke für den vielen Input hier!), aber es scheint, als ob der Port 502 nicht ansprechbar ist. Ein Portscan zeigt nur Port 80 und 8899 als offen an

Kann/muss da erst noch was auf dem MI600 konfiguriert werden?On error: {"errno":"ECONNREFUSED","code":"ECONNREFUSED","syscall":"connect","address":"192.168.xx.xx","port":502}(grundsätzlich funktioniert Modbus bei mir, da ich über eine andere Instanz schon die Daten von meinem Victron Cerbo GX auslese)
@integer63 Bei mir ist es aktuell so, dass ich mit Port 8899 den Modbus-Adapter etwa vier Sekunden grün habe, und dann wieder das rote Kreuz bei "Verbunden mit . .". Im Log sehe ich dann die Warnung
Poll error count: 1 code: {"err":"timeout","timeout":5000}und als FehlerClient in error state. Request timed out..
Ich komm hier auch nicht sonderlich weiter. Wie liest du denn die Register vom Victron aus? Holding-Register? -
@integer63 Bei mir ist es aktuell so, dass ich mit Port 8899 den Modbus-Adapter etwa vier Sekunden grün habe, und dann wieder das rote Kreuz bei "Verbunden mit . .". Im Log sehe ich dann die Warnung
Poll error count: 1 code: {"err":"timeout","timeout":5000}und als FehlerClient in error state. Request timed out..
Ich komm hier auch nicht sonderlich weiter. Wie liest du denn die Register vom Victron aus? Holding-Register?@rene55 Ich habe mal ein bischen recherchiert. Der SUN600 hört auf dem Port 8899. Scheinbar benötigt er auch die Seriennummer, damit er Infos ausspuckt. Hier wurde das für homeassistent realisiert: Link Text
Abgerufen werden die Daten lokal über TCP(Wifi), also ohne Cloud.
Hier sieht man den Kommunikationsaufbau.
Das sieht mir schon sehr stark nach Modbus aus. Ich denke der entscheidende Punkt ist die Seriennummer und die ID.

-
@rene55 Ich habe mal ein bischen recherchiert. Der SUN600 hört auf dem Port 8899. Scheinbar benötigt er auch die Seriennummer, damit er Infos ausspuckt. Hier wurde das für homeassistent realisiert: Link Text
Abgerufen werden die Daten lokal über TCP(Wifi), also ohne Cloud.
Hier sieht man den Kommunikationsaufbau.
Das sieht mir schon sehr stark nach Modbus aus. Ich denke der entscheidende Punkt ist die Seriennummer und die ID.

@eisbaeeer Hi Lars, danke für deine Mühen und Unterstützung. Dann verstehe ich das so, dass das Vorhaben mit dem Modbus-Adapter keinen Erfolg haben wird.
Ich hab ja schon einen Großteil der ankommenden Daten entschlüsselt. Blöd nur, dass ich bei vielen Werten, wo ich etwas erwarte '0' habe. Aber ist bei derzeit mageren 16W Produktion nicht anders zu erwarten. Gerade bin ich noch dabei, die 'statische' Werte wie z.B. 'MPPTs and Phases' aufzubereiten. Kann ich natürlich auch nicht gegenchecken. Dann muss ich wohl doch den lokalen Adapter auf die Beine stellen und als "absolut-beta" ins Rennen schicken. -
Ich hatte ebenfalls die Fehlermeldung "[initializeStation] error: could not retrieve token". Node.js war aber auf Stand (V16.18.1, NPM 8.19.2). Der Objektbaum hat sich auch nicht gefüllt. Fehler war, dass ich als Passwort im SolarmanPV Adapter "admin" eingetragen hatte (=Default Passwort für die Wechselrichter GUI). Man muss jedoch das Passwort eintragen mit dem man sich bei Solarman.com registriert hat! Danach hat das Auslesen in IoBroker einwandfrei funktioniert.
-
Ich hatte ebenfalls die Fehlermeldung "[initializeStation] error: could not retrieve token". Node.js war aber auf Stand (V16.18.1, NPM 8.19.2). Der Objektbaum hat sich auch nicht gefüllt. Fehler war, dass ich als Passwort im SolarmanPV Adapter "admin" eingetragen hatte (=Default Passwort für die Wechselrichter GUI). Man muss jedoch das Passwort eintragen mit dem man sich bei Solarman.com registriert hat! Danach hat das Auslesen in IoBroker einwandfrei funktioniert.
-
Aktuelle Test Version 0.5.1 Veröffentlichungsdatum 23.06.2022 Github Link https://github.com/raschy/ioBroker.solarmanpv SolarmanPV, Adapter für Bosswerk MIxxx, Deyexxx.
Dieser Adapter dient dazu, Daten eines Balkonkraftwerks, die durch einen Wechselrichter "Bosswerk MI600" bereit gestellt werden, in ioBroker darzustellen. Nach Hinweisen ist dieser Adapter auch mit "Deye SUN300G3-EU-230" kompatibel. Er läuft ab Admin Version >5.
Ich gehe davon aus, dass die Anlage bisher durch die App "Solarman" beobachtet wird. Der Adapter holt die Daten aus dieser Cloud.
Zunächst muss beim Solarman-Support service@solarmanpv.com die benötigten Credentials (app_id & app_secret) beantragt werden. Möglicherweise kommt noch eine Rückfrage der Art: "Ich muss fragen, welche Plattform Sie verwenden? Welche Rolle spielen Sie? Sind Sie Einzelperson, OEM-Anbieter, Hersteller oder Distributor? Können Sie mir Ihre E-Mail-Adresse für die API mitteilen?".
Bei mir kam dann noch eine weitere Rückfrage: "Warum bewerben Sie sich für API?". Auch diese Frage habe ich höflich beantwortet und bekam dann am nächsten Tag die notwendigen Daten zugesendet.Auf der Admin-Seite müssen die 4 Felder der Beschreibung entsprechend ausgefüllt
werden. Dieser Adapter ist als "scheduled" Adapter angelegt. Da die Daten in der Cloud nur ca. alle 6 Minuten aktualisiert werden, ist es nicht sinnvoll, den Adapter häufiger starten zu lassen.Ich bin kein Profi-Programmierer und habe dies vor allem deswegen gemacht, weil die anderen Lösungen die ich bisher gefunden habe, mich nicht zufrieden gestellt haben.
Es ist mein erster Adapter, der sicher noch nicht perfekt programmiert ist oder evtl. noch kleinere Fehler enthält. Der Adapter läuft bei mir und macht was er soll. Mehr sollte es auch nicht werden.
Version 0.1.0 Nachdem ich lernen durfte, dass auch mehrere Stationen unter einem Account laufen können und dass sogar mehrere Wechselrichter innerhalb einer Station sein können, habe ich den Adapter dahingehend angepasst und auch die Datenstruktur um die 'Wechselrichter ID' erweitert.
Version 0.1.5 Ich hab den Adapter noch ein wenig erweitert, so dass er auch größere Wechselrichter mit 4 MPPTs verarbeiten kann. Auf der Admin-Seite ist ein Checkbutton "Inverter" hinzugekommen, der es auch ermöglicht, Hybrid-Wechselrichter auszulesen. Mangels Geräte (bzw. Zugriff auf ein Remote-Gerät) ist das aber noch nicht vollständig ausgetestet.
Version 0.2.0 Seit dieser Ausbaustufe werden auch die Daten aus den angeschlossenen Akkumulatoren, so denn der Wechselrichter das unterstützt, im ioBroker abgelegt. Auch hier gilt, da ich keine Akkus habe, dass ich auch hierfür die Unterstützung von netten Usern angewiesen war. Danke dafür.
Version 0.3.0 Seit dieser Version wird im Gegensatz zu den Vorgängerversionen keine Liste der zu ermittelnden Werte geführt, sondern es werden zunächst "alle" von der Api gelieferten Werte eingelesen. Das kann zu einer Flut neuer Datenpunkte werden. Der Benutzer kann über eine Blacklist die nicht benötigten Werte herausfiltern. Dazu trägt man im Userinterface unter Blacklist die Werte der ersten Spalte der Objekte durch Komma separiert ein, die man nicht sehen will. Die entsprechenden Datenpunkte können dann beherzt gelöscht werden, was die Anzahl der Objekte übersichtlicher macht.
Mein Credo von oben ('Mehr sollte es auch nicht werden.') kann ich wohl nicht mehr aufrecht erhalten. Durch die vielen Rückmeldungen ist der Adapter sehr vielfältig geworden, so dass er jetzt nicht nur die Daten von den Invertern lesen kann sondern auch vom Collector und den Batterien.
Somit ist es nicht verwunderlich, dass es auch die Versionen 0.4.x gab. aktuell ist die
Version 0.5.0 die folgende Veränderungen erfahren hat.
War es in der Version 0.3.0 schon möglich, dass aus der Flut der Daten, die aus der Cloud kommen, über "ausgeschlossene Werte" (vormals Blacklist) unwichtige Daten nicht mehr aktualisiert wurden, werden sie Datenpunkte jetzt auch direkt gelöscht. Manuelles löschen ist also nicht mehr notwendig. Dennoch ist die Auswahl der Datenpunkte individuelle Handarbeit. Dabei hat sich aber das Handling verbessert, so dass man die Werte jetzt besser sieht und auch wieder einzeln aktivieren kann.

Was ja auch noch auf der ToDo-Liste stand war, dass komplette Verzeichnisse ausgeblendet bzw. gelöscht werden können. Dazu gibt es jetzt einen neuen Tab "Systemmodule". Hier werden nach dem Start des Adapters die von der Cloud auslesbaren Module eingetragen und der User kann dann per Haken entscheiden, ob die Module interessant sind oder nicht.
Als letzte Neuerung ist hinzugekommen, dass ausgewählte Datenpunkte auf Null gesetzt werden können. Es mag für verschiedene Dashboards oder Grafiken befremdlich erscheinen, wenn bei völliger Dunkelheit noch 3-10 W Ertrag (letzter an die Cloud übermittelter Wert) angezeigt werden. Das kann man jetzt über

entsprechend dem eigenen Anspruch anpassen.Für Fragen und Anregungen habe ich immer ein offenes Ohr. Bin mal gespannt, wie viele User diesen Adapter einsetzen werden.
@rene55 Hi Rene,
vielen Dank für deine Arbeit, habe da ein kleines Problem, nach der installation bekomme ich folgende Warnung "[initializeStation] error: AxiosError: timeout of 2000ms exceeded" hast du eine Ahnung was da falsch läuft. -
@rene55 Hi Rene,
vielen Dank für deine Arbeit, habe da ein kleines Problem, nach der installation bekomme ich folgende Warnung "[initializeStation] error: AxiosError: timeout of 2000ms exceeded" hast du eine Ahnung was da falsch läuft.@ralf-roessler Hi Ralf, mit dieser Warnung hab ich auch öfters zu kämpfen. Das bedeutet eigentlich nur, dass der China-Server nicht rechtzeitig antworten konnte - warum auch immer. Beobachte mal, wie es sich in der nächsten Zeit entwickelt.
-
@ralf-roessler Hi Ralf, mit dieser Warnung hab ich auch öfters zu kämpfen. Das bedeutet eigentlich nur, dass der China-Server nicht rechtzeitig antworten konnte - warum auch immer. Beobachte mal, wie es sich in der nächsten Zeit entwickelt.
@rene55 OK, danke für die schnelle Antwort
-
@ralf-roessler Hi Ralf, mit dieser Warnung hab ich auch öfters zu kämpfen. Das bedeutet eigentlich nur, dass der China-Server nicht rechtzeitig antworten konnte - warum auch immer. Beobachte mal, wie es sich in der nächsten Zeit entwickelt.
@rene55 in den letzten 24 Stunden hat die synchronisierung ca. 4 mal funktioniert, besteht die Möglichkeit das timeout zu verlängern ? Oder muss ich damit leben aber dann ist das ganze für mich nicht nutzbar.
-
@ralf-roessler Hallo Ralf, ich habe das Timeout mal höher gestellt und teste es derzeit. Den sollte man aber auch nicht beliebig hoch schieben. Wenn alles ohne Probleme läuft, gibt es morgen eine 0.2.1. Dann hoffe ich mal, ist dieser Fehler geheilt.
-
@ralf-roessler Hallo Ralf, ich habe das Timeout mal höher gestellt und teste es derzeit. Den sollte man aber auch nicht beliebig hoch schieben. Wenn alles ohne Probleme läuft, gibt es morgen eine 0.2.1. Dann hoffe ich mal, ist dieser Fehler geheilt.
-
@integer63 Bei mir ist es aktuell so, dass ich mit Port 8899 den Modbus-Adapter etwa vier Sekunden grün habe, und dann wieder das rote Kreuz bei "Verbunden mit . .". Im Log sehe ich dann die Warnung
Poll error count: 1 code: {"err":"timeout","timeout":5000}und als FehlerClient in error state. Request timed out..
Ich komm hier auch nicht sonderlich weiter. Wie liest du denn die Register vom Victron aus? Holding-Register? -
@rene55 Oh man, sorry für die viel zu späte Antwort ...

Ich frage nur Werte ab und nutze dafür die "Eingangsregister":

@integer63 Danke für die Rückmeldung. Wie hast du denn deinen WR per Modbus physikalisch angeschlossen. Bei mir sehe ich nur die Möglichkeit über das integrierte WLAN-Modul.
-
@ralf-roessler Hallo Ralf, ich habe das Timeout mal höher gestellt und teste es derzeit. Den sollte man aber auch nicht beliebig hoch schieben. Wenn alles ohne Probleme läuft, gibt es morgen eine 0.2.1. Dann hoffe ich mal, ist dieser Fehler geheilt.
@rene55 Hi Rene, habe das neue Update installiert, leider noch immer der gleiche Fehler, es funktioniert einmal am Anfang und danach kommt der Timeoutfehler (es funktioniert ganz selten).
" [initializeStation] error: AxiosError: timeout of 4000ms exceeded" -
@rene55 Hi Rene, habe das neue Update installiert, leider noch immer der gleiche Fehler, es funktioniert einmal am Anfang und danach kommt der Timeoutfehler (es funktioniert ganz selten).
" [initializeStation] error: AxiosError: timeout of 4000ms exceeded"@ralf-roessler Das ist ärgerlich. Da bringt die Ausdehnung des Timeouts nicht wirklich was. Ich hatte heute auch 4 Warnungen im Log. Hast du eine dünne/wackelige Internetverbindung? Das könnte erklären, dass du viel mehr dieser Timeouts hast.
-
@ralf-roessler Das ist ärgerlich. Da bringt die Ausdehnung des Timeouts nicht wirklich was. Ich hatte heute auch 4 Warnungen im Log. Hast du eine dünne/wackelige Internetverbindung? Das könnte erklären, dass du viel mehr dieser Timeouts hast.
@rene55 Internet steht stabil, daran kann es nicht liegen. Arbeite den ganzen Tag problemlos darüber. Komisch ist das nach einem Neustart des Adapters erst mal alles eingelesen wird. Da kommen die Daten einmal.
-
@rene55 Internet steht stabil, daran kann es nicht liegen. Arbeite den ganzen Tag problemlos darüber. Komisch ist das nach einem Neustart des Adapters erst mal alles eingelesen wird. Da kommen die Daten einmal.
@ralf-roessler Ok, stabiles Internet ist schon mal gut. Ich geh mal davon aus, dass die Bandbreite eventuell durch HomeOffice / Videostreaming nicht voll ausgereizt ist. Aber dann fällt mir auch schon nichts mehr ein.

