Device
SolarFlow 2400 AC + AB3000X
Description
The firmware version of the SF2400 AC is reported differently depending on the source. This makes it difficult for users and developers to identify the exact firmware version and check for updates.
For the same device at the same time, the following versions are reported today:
SolarFlow 2400 AC
| Source |
Reported version |
Notes |
| Zendure App |
V1.0.19 |
Single combined version |
MQTT firmware/report — MASTER |
4128 |
Integer, decodes to v1.0.32 |
MQTT firmware/report — AC |
4390 |
Integer, decodes to v1.1.38 |
MQTT firmware/report — ESP32 |
8207 |
Integer, decodes to v2.0.15 |
| HA Integration (device info) |
1.0.0 |
Does not match any of the above |
AB3000X Battery
| Source |
Reported version |
Notes |
MQTT firmware/report — BMS_AB3000 |
4106 |
Integer, decodes to v1.0.10 |
MQTT packData — softVersion |
4106 |
Matches firmware/report |
| HA Integration (device info) |
v1.0.10 |
Matches MQTT (correctly decoded) |
Questions
- What is the correct way to decode the integer firmware versions from MQTT? The formula
major = v // 4096, minor = (v % 4096) // 256, patch = v % 256 works for BMS (4106 → v1.0.10) but produces v1.0.32 for MASTER (4128), which doesn’t match the app’s V1.0.19.
- Which MQTT module version corresponds to the app’s “V1.0.19”?
- Why does the HA integration show “1.0.0” for the SF2400 AC instead of the actual firmware version?
Having a consistent and documented version format across all interfaces would be very helpful for troubleshooting and support. Thank you!
Device
SolarFlow 2400 AC + AB3000X
Description
The firmware version of the SF2400 AC is reported differently depending on the source. This makes it difficult for users and developers to identify the exact firmware version and check for updates.
For the same device at the same time, the following versions are reported today:
SolarFlow 2400 AC
firmware/report— MASTERfirmware/report— ACfirmware/report— ESP32AB3000X Battery
firmware/report— BMS_AB3000packData—softVersionQuestions
major = v // 4096, minor = (v % 4096) // 256, patch = v % 256works for BMS (4106 → v1.0.10) but produces v1.0.32 for MASTER (4128), which doesn’t match the app’s V1.0.19.Having a consistent and documented version format across all interfaces would be very helpful for troubleshooting and support. Thank you!