NEWS
Bosswerk MI600 Adapter
-
@rene55 Hallo Rene,
ich hab mit dem Docker-Job 2 Tage alle Daten per MQTT. Am 3. Tag ist der Docker leider abgestürzt, ließ sich danach aber auch einfach wieder starten. Es läuft komplett auf dem Raspi.
Denke als Dauerlösung sollte es eine eigene Instanz im IoBroker werden - das wird stabiler laufen als irgendein Background Job. Die Daten werden über Port 8899 abgerufen.
Wenn jemand Ahnung von IoBroker Instanzen hat können wir es gerne umsetzen.
Danke
Marc -
@vombruch Hallo Marc, ich hab das Script auch mal ein paar Stunden laufen lassen. Bei mir kamen da nur sehr wenige Werte z.B. day_energy oder dv1. Zur Zeit haben wir ja nicht das ideale Sonnenwetter, so dass der Wechselrichter oft abschaltet. Wie Anfangs erwähnt hab ich einen Bosswerk MI600. Du hast einen Deye 600 und davon kommen alle relevanten Daten im MQTT an?
-
@vombruch sagte in Bosswerk MI600 Adapter:
Denke als Dauerlösung sollte es eine eigene Instanz im IoBroker werden
Hi. Hast du mal den Modbus-Adapter versucht? Dein Docker hat ja im Prinzip die Werte über Modbus vom Inverter abgeholt und in MQTT wieder eingespielt. Das sollte auch direkt mit dem Modbus Adapter klappen.
Gruß Lars -
@rene55 Sorry, konnte mich nicht mehr im Forum anmelden.
Der Docker ist überarbeitet und liefert alle relevanten Daten (kann Du in der Readme sehen incl. Register).
Das einzige was bei mir nicht ankommt ist die uptime und total power (Summe über alle 4 total dc power).
Meine Tageswerte stimmen nicht, weil ich den WR nicht ins WWW lasse und er keine Tagesreset von der Chinacloud bekommt - wenn du dafür eine Lösung hast nehme ich die gerne.
Die Register sollten beim Bosswerk die gleichen sein - als du getestet hast waren die Register noch nicht an den Micro angepasst.
@Eisbaeeer Nein. ich habe noch nichts angefangen. Die Dockerlösung läuft sauber und wenn der Docker sich mal weghängt lasse ich vom ioBroker einfach neu starten (;-)
Wenn ich mal Zeit habe werde ich mich aber mal an eine Instanz setzen - habe nur bisher überhaupt keinen Schimmer wie das funktioniert, kann aber auch kein Hexenwerk sein. Denke man muss nur eine bestehende Instanz für iobroker von Git und den Docker miteinander kombinieren. -
@vombruch Ich hab mir gerade noch mal die aktuelle Version abgeholt und im Docker laufen lassen. Ja, es hat sich seit dem letzten Stand einiges getan was die Register an geht. Aktuell bekomme ich wenig Daten aber viele Fehler wie z.B.
Response frame is too short
oderModbus frame is too short or empty
. Ich teste weiter. -
@rene55 Das sind Lesefehler wo der WR den Request nicht beantwortet...
Ich habe teilweise 20sec Intervall - dann hab ich drei Antworten bekommen und die nächste Anfrage lief ins leere. Irgendwo hab ich mal gelesen, das der Logger nicht so leistungsstark wäre und man ihn nicht mit so zuposten solle....
Denke 60 sec sollte ein guter Wert sein, weiß es aber auch nicht. -
@vombruch Ja, das wird so sein. Ich hab heute vormittag ein paar gute Antworten bekommen (habs im MQTT-Explorer sehen können), aber seit dem nur "Nieten". Nun gut, ich beharke den WR ja auch noch mit meinen "Adapter" quasi gleichzeitig. Das kann eigentlich nicht gutgehen. Ich werd mich mal auf meinen konzentrieren. Trotzdem Danke und gerne weitere Infos.
-
@rene55 Hey Rene,
was ist Dein Adapter? Welchen nutzt / programmierst du denn jetzt?
Mit oder ohne Cloud?
Abfrage mit Modbus (Port 8899) oder via DataServer im Logger eintragen und die Datei auswerten?
Hast du die Daten direkt im IOBroker? Das ist ja auch meine Zielvorstellung.
Wobei ich glaube jetzt einen Weg gefunden zu haben die Tageswerte manuell zu reseten - dafür muss ich aber besseres Wetter abwarten... bei null Ertrag gibt es nicht viel zu reseten (;-)
Schönes Wochenende
Marc -
@vombruch Hi Marc. Ich experimentiere gerade an der cloudfreien Version rum. Hier werden direkt die Register des Modbus angefragt und geben Werte zurück. Ziel ist, dass die Werte dann direkt im ioBroker sind. Ich bin noch rein in node.js unterwegs und muss erst noch einen Adapter generieren. Da könnte ich als "Abfallprodukt" um 0:00 Uhr die Tageswerte auch gleich auf 0 stellen - wenn gewünscht.
-
Hallo,
Ich habe für einen Deye Solar Sun600 ein Javascript erstellt, das Daten vom Inverter abholt.
Meines Wissens nach, sollte der Bosswerk MI600 kompatible sein.
Forumeintrag
Achim -
@achim-baecker Hallo Achim, ja ich habe deinen Beitrag gelesen und auch ausprobiert. Wie schon @manner666 sagt, läuft auf anhieb. Nur finde ich die 'Datenausbeute' ein bisschen zu gering. Das sind eben nur die Daten, die auch in der Weboberfläche zur Verfügung gestellt werden.
-
@rene55
Aus meiner Sicht kommt da schon zu viel...
Für mich reicht die momentane, sowie die aufsummierte Leistung. Diese werden in einer MariaDB geloggt und per JS + SQL ausgewertet (Tages, Wochen, Monatswerte,..)
Achim -
@achim-baecker Da hast du so gesehen völlig recht. Von den 23 Datenpunkten sind 21 quasi statisch, die brauch kein Mensch. Wenn dir nur die Leistung reicht ist alles ok.
-
@rene55 Wo läuft dein Projekt? Im IOBroker? Hast du eine lauffähige Testversion - ich kann gerne mit einsteigen - solange mein Docker davon nicht abbekommt.
Wobei ich dem IOBroker inzwischen auch den Neustart des Dockers und Tageswerte auf Null eingetrichtert habe.
Wie würdest du die Tageswerte reseten? Ich schreibe Datum&Uhrzeit in die Register 22-24 und danach löscht er die Tageswerte (meistens). Ich habe aber keinen Weg gefunden ihm zu sagen, das die Uhrzeit auch weiterlaufen soll (;-)
Ohne China-Cloud stellt der sich ein bisschen an... -
@vombruch Ich habe gerade erst den neuen Adapter angefangen - native in node.js läuft er schon (ein bisschen), jetzt muss ich noch in den Adapter portieren. Du schreibst in die Register des WR? Wie machst du das? Nach meiner Erkenntnis ist der WR ohne Sonnenlicht quasi außer Betrieb und macht dann nichts mehr.
-
@rene55 Es geht nur mit Sonne (Licht). Sobald die WLAN Verbindung steht fange ich an zu schreiben...
Damit ist es sogar möglich die Kiste zu drosseln. Werde für meinen Vater einen 800er nehmen und auf 600 drosseln bis das es legal wird. Ich weiß nur noch nicht wie man das den Stadtwerken erklärt.
Ist node.js die Sprache "hinter" den IOBroker-Adaptern? Kann man da auch andere Sprachen nehmen? Kann man dann nicht das Python vom Docker nehmen und den MQTT Teil gegen Objekte in IOBroker tauschen?
Das wäre meine "einfache" Idee das umzusetzen. -
@vombruch Tatsächlich basiert ioBroker auf node.js, also im Ende Javascript als Sprache. Für die Anbindung der WR gibt es einige Projekte die auf Python basieren. Ich komm mit Python nicht so ganz zurecht. Zuviele
__
und(self,
. Kannst du mir noch kurz erzählen, wie die physikalische Anbindung an den WR ist? -
@rene55 Ich habe den Sun600 -> also per WLAN.
Frage im IOB den Ping auf den WR ab und schreibe dann die Register per Dockerbefehl.
Ich kann weder Python noch JS - aber ich kann lesen und verstehe damit fast alles - wenn du JS schreiben kannst sollte man das übersetzen können.
Ich werde bei Gelegenheit mal die AT-Befehle ausprobieren, da soll es möglich sein den NTP zu setzen, dann müßte ich das nicht selbst machen.... -
@rene55 Nabend Rene,
ich hab mit den AT-Befehlen den NTP gesetzt. Funktioniert! Ich kann die richtige Zeit (UTC) wieder auslesen - aber leider resetet er trotzdem nicht automatisch die Tageszähler....
Also werde ich per Docker die Datum/Uhrzeit Register hart schreiben und dann sind die Tageswerte auf Null.
Mit den AT-Befehlen kann man auch die Register alle auslesen - ich weiß ja nicht was einfacher ist. Die gehen über Port 48899.
Mein WR kommt halt nur bis zur Fritzbox und nicht weiter.
Wenn Du Unterstützung brauchst kann ich gerne mithelfen, testen,... -
@vombruch Ebenfalls Nabend,
immer ein Stückchen weiter, und hier bist du mir eine Ecke voraus. Könntest du mir mal einen Ausschnitt von deinen Befehlen um die Register zu setzten/lesen zukommen lassen. Evtl. um hier nicht alles zu fluten per Mail (raschy@gmx.de). Möglicherweise darf ich dich nächste Tage bitten alpha-alpha-Tester zu sein.