Marstek Venus E 3.0 (Firmware V148) does not discover AstraMeter (CT002/Shelly emulation) #547
Replies: 3 comments
|
How are you starting the container? Please share your Most likely the batteries' UDP packets never reach the container because it isn't on |
|
I'm already using network_mode: host. I also verified this with tcpdump running on the Ubuntu host (not inside the container). Has the communication protocol for Venus E 3.0 / firmware V148 changed compared to previous firmware versions? Or are you aware of any changes in the discovery mechanism? |
|
In the 10-minute This is not a V148 protocol issue. Plenty of users run V148 with AstraMeter successfully. The batteries most likely do send their CT requests, but the broadcasts never reach the segment your server is on:
This points to an AP/mesh that doesn't forward broadcasts between WLAN and wired LAN (client isolation, broadcast filtering). To confirm:
I'll convert this issue into a discussion because it looks like this is an infrastructure problem. |
Uh oh!
There was an error while loading. Please reload this page.
What's the issue?
Summary
I am trying to use AstraMeter as a replacement for a Marstek CT002 Smart Meter with two Marstek Venus E 3.0 battery systems.
Unfortunately, AstraMeter is never contacted by the batteries although everything appears to start correctly.
I'm wondering if something has changed in Venus firmware V148.
Environment
Network:
What works
AstraMeter log:
or
Shelly emulator listening on UDP port 2220depending on configuration.
Tested device types
ct002
DEVICE_TYPE=ct002No communication observed.
shellypro3em_old
DEVICE_TYPE=shellypro3em_oldInitially failed because Linux prevented binding to UDP port 1010.
After:
sudo sysctl -w net.ipv4.ip_unprivileged_port_start=1010AstraMeter starts correctly and listens on UDP 1010.
Still no communication from Venus.
shellypro3em_new
DEVICE_TYPE=shellypro3em_newStarts successfully on UDP port 2220.
Still no communication from Venus.
Network captures
The following ports have been monitored using tcpdump:
Result:
No packets from either Venus battery to AstraMeter.
Observations
While monitoring general network traffic we observed that older captures contained broadcast packets like
However, with the current setup and firmware V148 we cannot reproduce communication towards AstraMeter.
The original CT002 works correctly with both batteries.
Source code investigation
The current source contains:
Therefore AstraMeter appears to support the expected RPC message.
The emulator also starts successfully.
Question
Has anyone tested AstraMeter with:
Has Marstek changed
in recent firmware versions?
Available diagnostics
I can provide:
If needed, I can also perform additional packet captures or protocol tests.
PCAP Files.zip
venus-v148-debug.pcap.zip
Additional note
The original CT002 is detected and works correctly with both batteries, therefore the batteries themselves appear to function normally. The issue only occurs when replacing the CT002 with AstraMeter.
Version
Current Git master
Installation method
Docker
If "Other", which?
No response
Configuration
Logs
All reactions