FHEM Forum

FHEM - Energiemanagement und Energieerzeugung => Solaranlagen => Thema gestartet von: CaptainHook am 17 Juli 2023, 15:49:58

Titel: [Erledigt] SolarEdge Modbus Power Control Protocol zur Batterie Steuerung
Beitrag von: CaptainHook am 17 Juli 2023, 15:49:58
Moin Zusammen,

ich habe das vorhandene SolarEdge Modbus Module von pejonp (https://github.com/pejonp/FHEM---SolarEdge (https://github.com/pejonp/FHEM---SolarEdge)) ein wenig angepasst und erweitert um die Möglichkeit die Batterie zu steuern. Zumindest habe ich das versucht.

Die entsprechenden Register für das Power Control Protocol hab ich in das vorhandene Modul eingebaut. Das lesen von Werten klappt soweit, nur das schreiben will nicht.
Wenn ich einen Wert sende z.B. für "Remote Control Command Mode" wird der Wert kurz übernommen. In FHEM sieht man den neuen Wert, aber beim nächsten auslesend der Werte vom Inverter wird der Wert wieder überschrieben mit dem alten Wert.

Hat jemand eine Idee oder kann mir vielleicht unter die arme greifen? Ich weiß nicht was ich noch versuchen soll.

Viele Grüße,
Stephan


Titel: Aw: SolarEdge Modbus Power Control Protocol zur Batterie Steuerung
Beitrag von: StefanStrobel am 04 August 2023, 16:30:39
Für mich klingt das so als ob eine andere Komponenten Deinen Wert wieder überschreibt.

Gruss
   Stefan
Titel: Aw: SolarEdge Modbus Power Control Protocol zur Batterie Steuerung
Beitrag von: CaptainHook am 04 August 2023, 17:50:51
Moin,
hab den Fehler mit gefunden. Ich muss zuerst auf "Remote Control" stellen bevor ich *Remote* Werte ändern darf.

Jetzt hab ich nur noch ein anderes Problem (Hier (https://forum.fhem.de/index.php?topic=75638.msg1281960#msg1281960)):

Aus der Sunspec von Solaredge:
CodeAuswählen
Appendix C – Encoding and Decoding 32-bit Values in Modbus
In Modbus, 32-bit values span two registers. This appendix explains how to encode and decode these registers correctly.
Since 32-bit values span two registers, they must be written in a single transaction of Write Multiple Registers (Function code 10) and
not two consecutive Write Single Register (Function code 06) transactions.

In der Datei im SVN habe ich gesehen, das das Modbus Modul beim senden von Werten den Funktionscode 06 benutzt (%fcMap).
Gibt es eine Möglichkeit, zwei Register in einer Transaktion und mit Funktionscode 10 zu senden?


Viele Grüße,
Stephan


Edit: Hat sich erledigt!, ich kann nun alle relevanten Werte schreiben