
Marstek Venus A (pv)
The Marstek Venus A is a plug-and-play balcony PV energy storage system with an integrated inverter, 2.12 kWh base capacity, and four independent MPPT inputs accepting up to 2.4 kW of solar power. This Modbus TCP template reads the four MPPT channel registers (power_a through power_d at addresses 30037 to 30040), covering per-channel PV array readings and inverter state. Because the Venus A has no built-in Ethernet port, Modbus TCP is bridged over RS485 via an external adapter. Monitoring these registers in the ModbusCloud portal gives installers a per-channel view of PV yield across all four inputs.
- Protocol
- Modbus TCP
- Connection
- Ethernet, Modbus TCP
- Registers
- 4, read only
- Brand
- Marstek
- Last updated
Registers (4)
4 read, 0 write
| Name | Unit | Access | Address (Hidden until you enter your email) | Function (hidden) | Type (hidden) |
|---|---|---|---|---|---|
| power_a | V | Read | |||
| power_b | V | Read | |||
| power_c | V | Read | |||
| power_d | Read |
Loading registers…
Send your device list
If a device is not in the library yet, we build the template for free as soon as we have the register data.
Use cases
- Monitor each of the four MPPT channels individually to detect shading or soiling on specific panel strings.
- Track per-channel readings over time to verify that all four inputs contribute proportionally to total PV yield.
- Alert on a channel reading zero during daylight hours to identify a disconnected or failed panel string quickly.
- Compare MPPT channel values across similar installations to verify consistent panel and wiring performance.
- Verify inverter state register transitions during morning ramp-up to confirm normal startup behavior.
Installation
Enable Modbus communication on the Marstek Venus A by ensuring firmware version 147 or higher is installed, then confirm Modbus is active under the communication or Modbus section of the device settings.
Connect an RS485-to-Ethernet adapter to the Venus A RS485 port: wire Pin 1 (A+) to the adapter A terminal, Pin 2 (B-) to B, and Pin 3 (GND) to GND; configure the adapter as a Modbus TCP gateway on port 502 with baud rate 115200, 8N1.
In the ModbusCloud portal, add a new Gateway, import the Marstek Venus A (pv) template, and set the unit ID to match the slave address configured on your RS485-to-Ethernet adapter (typically 1).
Spot-check the connection by reading register 30037 in the live register view and confirming it returns a non-zero value during daylight; a persistent zero or timeout indicates a wiring or baud-rate mismatch.
Things to watch for
All four registers return zero even with panels in full sun. Why?
The Venus A uses RS485 at 115200 baud, 8N1. Many RS485-to-Ethernet adapters default to 9600 baud. Open the adapter configuration page and set the baud rate to 115200, parity to None, and stop bits to 1, then retry. A baud mismatch produces all-zero or timeout responses rather than an explicit error.
The gateway connects but register reads time out intermittently. What now?
The Marstek Venus A permits only one simultaneous Modbus TCP connection. If another client (such as a home automation system) is connected at the same time, the ModbusCloud Gateway will be refused or dropped mid-session. Disconnect competing clients or use a Modbus TCP proxy to share the single connection.
Register 30040 shows unexpected numeric codes. What do the values mean?
Register 30040 reflects the inverter or device state as an enumerated code, not a power reading. The exact state map is documented in the Venus A Modbus register table. Values other than the normal operating code typically indicate startup, standby, fault, or shutdown conditions. Cross-reference the code against the manufacturer documentation.
Values on registers 30037 to 30039 seem ten times too high. Is scaling wrong?
Community-documented Venus A register tables show a scale factor of 0.1 for MPPT voltage registers, meaning the raw uint16 value must be divided by 10 to obtain volts. If your portal or integration displays raw counts, apply this scaling factor in the channel configuration to get the correct reading.
Want to see how it works?








