Hi everyone! ![]()
I’ve created a local MQTT bridge for the Marstek Venus A battery system that might be useful for Home Assistant users.
What it does
- Polls your Venus A battery locally via UDP API (every 60 seconds)
- Publishes data to local MQTT broker
- Real-time battery monitoring: SOC, temperature, power, energy statistics
- Device control: Manual, Passive, Auto, AI modes
- Optional secure remote access via TLS
Why I built it
The Venus A doesn’t send real-time MQTT data. This bridge eliminates constant cloud API polling, reducing battery drain and latency in your home network.
Architecture:
Venus A (UDP) → Raspberry Pi Bridge → MQTT Broker → Home Assistant
Features
- Docker Compose setup on Raspberry Pi
- Platform-independent (works with any MQTT client)
- TLS encryption for remote access
- Complete API support with retry logic
GitHub
Complete installation guide, TLS setup, and API documentation included.
Home Assistant Example
sensor:
- platform: mqtt
name: "Battery SOC"
state_topic: "marstek/venus/+/data"
value_template: "{{ value_json.soc }}"
unit_of_measurement: "%"
Happy to answer questions! The project is open source and contributions are welcome. 🙂