Hi everyone,
I’m trying to control a Marstek Venus (Modbus over tcp/ip with Home Assistant integration) and I’m running into an issue where the battery accepts the commands but does not actually execute them.
I used the modbus from GitHub - ViperRNMC/marstek_venus_modbus · GitHub
Goal:
I want the Marstek battery to start discharging when:
- SolarEdge battery SOC ≤ 10%
- Grid consumption (P1 meter) > 250W
What works:
Home Assistant automations are triggered correctly and all values are being written successfully:
select.marstek_venus_modbus_gebruikersmodus→ set tomanualselect.marstek_venus_modbus_geforceerde_modus→ set todischargenumber.marstek_venus_modbus_forceer_ontlaadvermogen→ dynamically set (e.g. 300–800W)
Automation trace shows no errors , everything executes fine.
The problem:
Even though all values are updated, the battery does nothing :
- AC power = 0 W
- Battery current = 0 A
- Battery power = 0 W
- Status remains effectively standby
So the commands are not shown in the app altough the modbus device is changing values, but the battery does not start discharging.
Important detail:
When I change these values manually in Home Assistant (same entities), I get the exact same behavior → values change, but no actual discharge happens.
Can someone please shine a light on this?
Help will be much apreciated!

