Hallo Zusammen,
ich habe per 98_ModbusAttr einen SMA Tripower STP 8000TL-20 in fhem eingebunden. Lesend funktioniert das seit Jahren sehr gut.
Nun möchte ich auch Werte per Modbus schreiben, um eine Steuerung der Wirkleistung aufbauen zu können.
Um mich einzuarbeiten und Erfahrungen zu sammeln habe ich mir das Ziel gesetzt einen unwichtigen Register zu schreiben, um ein Gefühl für das Vorgehen zu bekommen.
Hier die relevanten Einträge zu meinem erster Versuch:
define SMA ModbusAttr ...
attr SMA obj-h40112-len 8
attr SMA obj-h40112-reading IP_Gateway
attr SMA obj-h40112-set 1
attr SMA obj-h40112-setexpr $val . "\0" x (16 - length($val))
attr SMA obj-h40112-textArg 1
attr SMA obj-h40112-unpack A*
# READINGS:
# 2023-07-11 14:15:27 IP_Gateway 192.168.2.1
Ich bekomme das eingestellte IP Gateway (das ich nicht benötige) richtig angezeigt und kann auch einen neuen Wert per 'set' setzen.
Wenn ich einen neuen Wert setze, kommt es auch zu einer Kommunikation mit dem Wechselrichter, die ich mir per wireshark angeschaut habe.
Die Anfrage:
2023-07-11_14-22-31-962996293.png
Die Antwort:
2023-07-11_14-25-11-437965024.png
Direkt im Anschluss fragt fhem die Register erneut ab und zeigt wieder den alten Wert an. Die gesendete Änderung wurde nicht übernommen.
Warum funktioniert es nicht?
Hallo,
hast Du mal in die ModBus Beschreibung zum WR geschaut, eventuell ist dieses Register nicht schreibbar.
Bei meinem Kostal kann man auch nicht alles was lesbar ist auch zurückschreiben.
VG Christian
Danke für den Hinweis.
Ich habe den Register aus der Anleitung zu den Modbus Registern von SMA und dort ist er als "RW" gekennzeichnet. Ich habe gezielt nach einem unwichtigen Register, den ich schreiben könnte gesucht.