Deye über Modbus auslesen

Danke für deine Antwort.

Offenbar hast du das neue JK mit CAN Port, wir haben noch eines der älteren, kleinen am Start. Die Daten lese ich aber fein jede Minute per BT aus.

Den Modus (LiBMS) bzw. das BMS kann man sicher auch per Modbus einstellen. Wenn ich dann noch die Werte fleissig befülle, denke ich schon, dass ich quasi ein echtes BMS emuliere.

Wichtig wären natürlich reale Daten von einem WR mit BMS. Wenn ich genau weiß, wie die Werte in den jeweiligen Registern stehn, krieg ich das schon hin.
Die Antwort des WR auf diese eine Modbus Abfrage würde mir schon massiv weiterhelfen:

@riogrande75 Schau Dir mal https://github.com/shining-man/bsc_fw oder auch https://www.akkudoktor.net/forum/open-source-software-projekte/projektvorstellung-battery-safety-controller/ an, das wird Dir vermutlich eine Menge Arbeit sparen.

Auslesen per BT ist O.K , aber die Werte für eine sicherheitstechnisch kritische Anwendung zu verwenden {green}:shocked: . Da würde ich doch die RS485 Schnittstelle verwenden.

Hab's mal überflogen - macht im Prinzip aber nichts anderes, als die meisten anderen ESP32 Lösungen (z.b.syssi/esphome-jk-bms).
Die ganze HW Bastelei möchte ich mir sparen, weil ich die ja eig. nicht brauche. Hab ja Verbindung zum BMS (per BT) und auch zum WR (per Modbus) und ein Gerät mit eigenem Netzteil betreibe ich auch schon (RPi).
Die Implementierung in Richtung WR deutet auch auf CAN hin, somit kann ich auch den Code nicht gebrauchen.
Würde das gerne selbst in meinen Programmen implementieren und es wäre auch eine Art Proof-of-Concept, ob das überhaupt so auch machbar ist: BMS Kommunikation ohne "echtes per CAN/RS485 verbundenes BMS", rein über Modbus Register.

Oh das ging aus deiner Frage nicht so richtig hervor. Mit den älteren JK-BMS kenne ich mich leider nicht aus.
Ich gebe aber @Autoschrauberix Recht wenn er sagt das das was du vorhast "gewagt" ist.

Ja, da hat er schon recht.
ABER: Aktuell gibt's gar keine Kommunikation zwischen BMS und WR und es "läuft auch". Im 2. Schritt könnte ich auch den UART Port vom BMS an den RPI anhängen (ist nur 1m daneben).
Vorher muss das aber mal funktionieren, wie ich mir das vorstelle - und dafür wäre eben so eine Modbus-Abfrage von jemanden mit BMS SEHR hilfreich.

Mir ist nicht wirklich klar was Du vorhast. Du kannst am Wechselrichter keine Kommunikation mit einem BMS einschalten (z.B. durch aktivieren von LiIon statt USR-Bat), da dann der Wechselrichter eine Antwort auf dem CAN BUS erwartet und wenn die nicht kommt sofort auf Störung geht. Somit hilft es auch nicht anschließend die Werte über modbus ändern zu wollen, soweit kommt man gar nicht.

Und zum Thema ohne Kommunikation läufts ja auch. Klar jetzt werden die Messwerte zur Steuerung ja auch vom Wechselrichter gemessen. Wenn Du dem Wechselrichter eine Verbindung zum BMS vorgaukelst, macht er das nicht mehr, sondern das was über die Schnittstelle vorgegeben wird und das könnte gewaltig schief gehen. Da ist sicher keine Plausabilitätsprüfung für den Fall, dass da jemand in die Kommunikation reinfummelt, eingebaut.

Ja, egal - ich weiß schon was ich tue.
Ich bin ziemlich sicher, dass das Befüllen der Daten im Speicher kein Problem macht. Auch das "umswitchen" auf LiBMS wird außer einer Fehlermeldung keine große Auswirkung haben.
Ist noch viel Forschung dabei, aber bin überzeugt, dass man damit ein BMS "simulieren" kann. Und das könnte sicher auch jemand anders als ich benötigen, für welche Funktion auch immer.

Hallo an die runde ich bin neu auf diesem gebiet hab mir einen Deye 12k gekauft läuft super und jetzt möchte ich den gerne mit Home Assistent verbinden ( über modbus esp32 ) kat da jemand eine Anleitung für mich? Mit esp und so habe ich noch nicht viel Erfahrung
Ich bedanke mich jetzt schon mal für eure Antworten
Lg Armin

Du brauchst keinen ESP32, denn die Daten können über den mitgelieferten WLAN-Stick ausgelesen werden. Schau hier nach.

nein, über den WiFi-Stick kann man die Daten nicht auslesen. Man kann auf die API von Deye-Cloud zugreifen.
Aber 1. ist man darauf angewiesen die Daten in die Cloud zu schicken (und davon zu laden) und 2. läuft es "gemächlicher" als es theoretisch möglich wäre.

Alles, was du da geschrieben hast, stimmt nicht. Ich lese die Daten mit der oben genannten Integration vom WR aus. Die Aktualisierungszeit beträgt 5 Sekunden. Man kann sogar die Register beschreiben. Der WR muss nicht mit dem Internet verbunden sein, sondern nur ins Heimnetz integriert sein.

Ja ich möchte das Gerät nicht mit dem www verbinden deshalb habe ich an diese Anwendung gedacht und habe da sonnst auch nichts gelesen oder der gleichen gemacht
Aber wenn das ohne Internet geht wäre cool
Jetzt muss ich mich da mal rein lesen da ich da nicht so viel Erfahrung habe danke schon mal

Hallo habe die gleiche frage in einer anderen Gruppe gestellt da haben auch alle gesagt das es über den Stick nur mit www oder Cloud funktioniert :thinking: ich hab es mir noch nicht angeschaut da ich auf diesem gebiet ein leihe bin und Unterstützung von meinem Kumpel brauche
( zu wenig Erfahrung mit programmieren und so)
Gibt es da ein Video oder so wie du das gemacht hast??

es muss ja nicht der mitgelieferte Stick sein
in der Bucht vertickt einer was

Man muss kein Programmierer sein, um die Integration auf HA zu installieren. Unter Windows machst du das doch auch. Zunächst musst du HACS installieren. Ein Video dazu findest du im Internet. Dann starte die Installation von der verlinkten Seite.

Als Unterstützung kannst du dir dieses Video anschauen. Darin wird auch Solarman Integration installiert, es handelt sich aber um eine andere, ähnliche Integration. Ich würde dir raten, die verlinkte Integration zu installieren.

Die Seriennummer und die IP-Adresse findest du in der Weboberfläche des Wechselrichters.

Das ist die Konfiguration der Integration. Wichtig ist, die richtige YAML-Datei auszuwählen.