Hallo Forum,
ich habe aktuell folgendes Projekt: Es soll ein Buck Converter DPM 8624 benutzt werden, um einem Laderegler für eine LiFePo4 Batterie eine gewisse Leistung zur Verfügung zu stellen. Konkret soll die Batterie geladen werden, wenn meine PV Anlage Energie ins Netz einspeist. Vor dem DPM8624 ist natürlich noch ein Netzteil geschalten.
Nun möchte ich mit einem ESP32 den DPM8624 mittels Modbus RTU und ESPHome innerhalb Home Assistant einen Stromwert vorgeben. Dazu müsste ich den Stromwert mittels MQTT übertragen, der ESP32 müsste ihn lesen und auf den DPM schreiben.
Ich habe es geschafft, die Register des DPM8624 mittels ESPHome auszulesen, jedoch bekomme ich es nicht hin dem DPM8624 einen Stromwert vorzugeben. Im DPM ist das "MODBUS Communication Protocol" aktiviert.
HA Version: 10.1
ESPHome Version: 2023.4.3
Communication Protocol DPM8624: Link entfernt
Laut meinem Verständnis muss ich eine "number" erstellen, die dem Register einen Wert schreibt. Function Code sollte 6 sein. Allerdings komme ich absolut nicht weiter, wie ich die MQTT Nachricht lesen und dann zum DPM übertragen soll...
Ich hoffe es kann mir jemand einen Schubser in die richtige Richtung geben. ich bin nicht besonders erfahren und wäre über jede Hilfe dankbar.
Falls noch weiter Infos zur Analyse notwendig sind, werde ich diese gerne nachliefern.
Beste Grüße und schonmal Danke im Voraus
Felix
Willkommen im Club. Muss es ein ESP32 sein, oder geht auch ein ESP8266? Dann könntest du das hier testen: https://github.com/d4rken/jt-dpm8600-psu-mqtt
Ich hab es nie zum laufen gebracht und auch keine Lösung gefunden das Gerät via MQTT zu bedienen.. daher bin ich gespannt was hier noch so kommt.
gibt auch schon ein Thema zu den Thema : https://www.akkudoktor.net/forum/panels-wechselrichter-laderegler/dpm8624-485-software-anleitungen-gesucht/paged/
Geht das nicht einfach über on_raw_value eines es mqtt subscripion sensors?
Da kann man lamdacode anhängen, der dann irgendwie was an modbusregister schickt.
..,-
Danke für die ersten Antworten.
@ste2k Ich habe leider keinen ESP8266 rumliegen. Und bezüglich deines links zum anderen Foreneintrages: Ich habe leider keine Hilfe darin finden können.
@und-mehr Danke, ich werde mich darin mal versuchen. Dass ich etwas im lambdacode schreiben muss, dachte ich mir schon.
Falls ich einen Fortschritt erzielen werde, melde ich mich nochmals.
Bis dahin, hat sonst jemand Vorschläge? Evtl. auch schon einen Schnipsel lambdacode bzw. einen Hinweis, wie ich ihn schreiben muss?
Beste Grüße
Felix
Man kann das bei on_boot aus der epever config abmalen.
https://devices.esphome.io/devices/epever_mptt_tracer_an
Oder vielleicht damit: https://esphome.io/components/output/modbus_controller.html
Es gibt immer mehrere Wege, welches der beste ist lernt man nur durch Erfahrung.
..,-
Hallo,
ich habe nun folgendes ausprobiert:
id(set_v).state
oder .value
..,-
@feli_k91 Hallo hast du inzwischen eine Lösung gefunden.
Wie kann der Stromwert vorgegeben werden.