Marstekvenus Lilygo T Poe Pro3 Modbus Register 32104: Marstek Battery State Of Charge
Technical documentation for Modbus register 32104 on Marstekvenus Lilygo T Poe Pro3. Data type: U WORD. Includes Python and YAML configuration examples.
Technical Definition
The register Marstek Battery State Of Charge at address 32104 is used to monitor marstek battery state of charge on the Marstekvenus Lilygo T Poe Pro3.
- Protocol: Modbus RTU
- Data Type: U WORD
- Unit: %
- Access: Read Only
How to Read (Python pymodbus)
Use this code snippet to read this specific value via RS485:
from pymodbus.client.sync import ModbusSerialClient
client = ModbusSerialClient(method='rtu', port='/dev/ttyUSB0', baudrate=9600)
client.connect()
# Read Marstek Battery State Of Charge (Address: 32104)
# Note: Check if your device uses 0-based or 1-based addressing
result = client.read_input_registers(address=32104, count=2, unit=1)
if not result.isError():
print(f"Raw Value: {result.registers}")
else:
print("Error reading register")
client.close()
Integration (Home Assistant)
Paste this into your configuration.yaml:
- platform: modbus_controller
name: "Marstek Battery State Of Charge"
address: 32104
value_type: U_WORD
unit_of_measurement: "%"
Connection Diagram
Here is the standard RS485 wiring for this configuration:
graph TD
PLC[Host Controller / Home Assistant]
Device[Marstekvenus Lilygo T Poe Pro3]
PLC -- "A+ (D+)" --> Device
PLC -- "B- (D-)" --> Device
PLC -- GND --> Device
💡 Engineer's Insight
Analysis: Marstek Battery State Of Charge (SoC). Expressed as a percentage (%). Indicates the current charge level of the battery.
Troubleshooting: Zero SoC means the battery is fully discharged. Values outside expected range may indicate a calibration issue or battery fault.