Hallo @Pitsunny und willkommen in der OpenEMS Community,
von HomeMatic habe ich keine Ahnung, aber in dem verlinkten Thread ist dieses Script so dokumentiert:
system.Exec(“tclsh /usr/local/addons/modbus/modbus_interface.tcl 192.168.010.100 502 255 03 528 1”,&lGetOut,&lGetErr);
Lesen : modbus_interface.tcl IP-Adresse Port DeviceNummer Funktion Register Länge
Also konkret:
- IP-Adresse:
192.168.010.100
- Port:
502
- DeviceNummer:
255
(wir nennen das Modbus-Unit-ID) - Funktion:
03
(das ist der Modbus Function Code 3 “Read Holding Registers” → mehr Infos Modbus Function Code 03 | Read Holding Registers | Simply Modbus Software) - Register:
528
(Startadresse) - Länge:
1
Für den Ladezustand von FEMS/OpenEMS benötigst du:
- IP-Adresse:
192.168.179.54
- Port:
502
- DeviceNummer:
1
- Funktion:
03
- Register:
302
- Länge:
1
(optional könntest du evtl. auch gleich mehrere Register auf einmal lesen, dann hier die Zahl erhöhen)
Zusammengefasst müsste dann dieser Befehl funktionieren:
system.Exec("tclsh /usr/local/addons/modbus/modbus_interface.tcl 192.168.179.54 502 1 03 302 1",&lGetOut,&lGetErr);
Gruß,
Stefan