Marstek Modbus Suite
sphings79/marstek-modbus-suite · v3.1.2
Home Assistant custom integration for Marstek Venus battery storage over local Modbus TCP, Venus A, D, E v1/v2 and E v3. Sensors, controls, schedules and a full register map. No cloud. HACS compatible.
In Apple Home through HomeKit Bridge
What HomeKit Bridge makes of each kind of entity this integration creates, read from its source code. A device only gets the ones that apply to it.
| Entity | Shows up as | Note |
|---|---|---|
switch | Switch or outlet | |
binary_sensor | Sensor (motion, contact, leak, smoke…) | |
sensor | Sensor (temperature, humidity, air quality…) | |
button | Button (as a switch) | |
select | Mode picker (as switches) |
What people report
Marstek Venus batteries are read over local Modbus through RS485 or Ethernet gateways; firmware v150 drops the network every 30 minutes, with a community container workaround.
- Works4
- Partly works1
| Device | In Home Assistant | In Apple Home | What they said | Source |
|---|---|---|---|---|
| Elfin EW11 Modbus gateway | Works Local | Listed as supported gatewaySaved copySupported devices: Gateway; Elfin EW11; PUSR DR134; Waveshare RS485 to RJ45; M5Stack RS485 + Atom S3 Lite; Venus A / D / E v3 over Ethernet. Limitations: Modbus proxies stall on this firmware, and need a patched build RS485 control mode and User Work Mode cancel each other out User Work Mode (AI Optimized) not reflected correctly The battery disappears from the network every 30 minutes A read fails every few minutes while the battery uploads its telemetry Excerpt saved from the README on 2026-10-23. | README | |
| M5Stack RS485 + Atom S3 Lite | Works Local | Listed as supported gatewaySaved copySupported devices: Gateway; Elfin EW11; PUSR DR134; Waveshare RS485 to RJ45; M5Stack RS485 + Atom S3 Lite; Venus A / D / E v3 over Ethernet. Limitations: Modbus proxies stall on this firmware, and need a patched build RS485 control mode and User Work Mode cancel each other out User Work Mode (AI Optimized) not reflected correctly The battery disappears from the network every 30 minutes A read fails every few minutes while the battery uploads its telemetry Excerpt saved from the README on 2026-10-23. | README | |
| PUSR DR134 Modbus gateway | Works Local | Listed as supported gatewaySaved copySupported devices: Gateway; Elfin EW11; PUSR DR134; Waveshare RS485 to RJ45; M5Stack RS485 + Atom S3 Lite; Venus A / D / E v3 over Ethernet. Limitations: Modbus proxies stall on this firmware, and need a patched build RS485 control mode and User Work Mode cancel each other out User Work Mode (AI Optimized) not reflected correctly The battery disappears from the network every 30 minutes A read fails every few minutes while the battery uploads its telemetry Excerpt saved from the README on 2026-10-23. | README | |
| Waveshare RS485 to RJ45 gateway | Works Local | Listed as supported gatewaySaved copySupported devices: Gateway; Elfin EW11; PUSR DR134; Waveshare RS485 to RJ45; M5Stack RS485 + Atom S3 Lite; Venus A / D / E v3 over Ethernet. Limitations: Modbus proxies stall on this firmware, and need a patched build RS485 control mode and User Work Mode cancel each other out User Work Mode (AI Optimized) not reflected correctly The battery disappears from the network every 30 minutes A read fails every few minutes while the battery uploads its telemetry Excerpt saved from the README on 2026-10-23. | README | |
| Marstek Venus A/D/E v3 battery (Ethernet) | Partly works Local | Modbus dropout every 30 minutes on firmware v150; separate container fixes itSaved copyThis documents the firmware cause of the 30-minute Modbus dropouts reported against upstream in ViperRNMC/marstek_venus_modbus#277, and what can be done about it without patching anything. Everything below is read out of the decompiled Control firmware v150 (`VNSD-0_app_0150_0805_115146.bin`, ARM Cortex-M4F). Addresses are given so it can be checked. Where something is *not* verified, it says so. ## Short version The dropout is a cloud-upload watchdog. The device buffers telemetry records, uploads them to Marstek's cloud, and if that upload does not drain the buffer, it power-cycles its own … Excerpt saved from GitHub on 2026-10-23. | Issue #2 · 2026-08 |
Gathered from GitHub issues, pull requests, discussions and docs, and from r/homeassistant. These are individual reports, so check the linked thread and the date before you buy.
How it connects
Local polling
Talks to the device on your network, asking it for updates every so often.
Details
| Installs (analytics) | 1,228 (0.17%) |
|---|---|
| GitHub stars | 14 |
| Latest version | 3.1.2 (2026-10-21) |
| Set up in the UI | Yes |
| Maintainers | @sphings79 |
| License | MIT |
Devices listed in its README
- Gateway
- Elfin EW11
- PUSR DR134
- Waveshare RS485 to RJ45
- M5Stack RS485 + Atom S3 Lite
- Venus A / D / E v3 over Ethernet
Limitations from the README
- Modbus proxies stall on this firmware, and need a patched build
- RS485 control mode and User Work Mode cancel each other out
- User Work Mode (AI Optimized) not reflected correctly
- The battery disappears from the network every 30 minutes
- A read fails every few minutes while the battery uploads its telemetry
In ReReHome
Whatever HomeKit Bridge shares reaches Apple Home as normal HomeKit accessories behind your Home Assistant bridge, so ReReHome shows and controls them like any other.
Bridges get their own settings page listing the accessories behind them.