Skip to content
Home Assistant TestFlight
Energy

Marstek Modbus Suite

sphings79/marstek-modbus-suite · v3.1.2

HACSLocal polling

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.

EntityShows up asNote
switchSwitch or outlet
binary_sensorSensor (motion, contact, leak, smoke…)
sensorSensor (temperature, humidity, air quality…)
buttonButton (as a switch)
selectMode 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
DeviceIn Home AssistantIn Apple HomeWhat they saidSource
Elfin EW11 Modbus gatewayWorks LocalListed as supported gateway
Saved copy
Supported 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 LiteWorks LocalListed as supported gateway
Saved copy
Supported 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 gatewayWorks LocalListed as supported gateway
Saved copy
Supported 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 gatewayWorks LocalListed as supported gateway
Saved copy
Supported 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 LocalModbus dropout every 30 minutes on firmware v150; separate container fixes it
Saved copy
This 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 stars14
Latest version3.1.2 (2026-10-21)
Set up in the UIYes
Maintainers@sphings79
LicenseMIT

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.