Skip to content

[Bug] Inconsistent firmware version reporting across App, MQTT, and HA integration #66

Description

@fellek

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 packDatasoftVersion 4106 Matches firmware/report
HA Integration (device info) v1.0.10 Matches MQTT (correctly decoded)

Questions

  1. 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.
  2. Which MQTT module version corresponds to the app’s “V1.0.19”?
  3. 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!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions