Skip to main content
Version: v1.3.20240705-or-older

Supported BMS

Most used BMS​

This are the three most used BMS with this driver.

🥇 JKBMS (51% of all systems)

🥈 Jiabaida JDB BMS (20% of all systems)

🥉 Daly BMS (14% of all systems)

Currently supported​

• ANT BMS​

Disabled by default since driver version v1.0.0 as it causes other issues. More informations can be found in Add other use case (grid meter) or ignore devices - ANT BMS check missing and if it was fixed. See How to enable a disabled BMS to enable the BMS.

• Daly BMS 🥉 Third most used BMS​

Daly app

• ECS GreenMeter with LiPro​

• EG4 LiFePOWER​

Works also for:

|- Revov​

|- Tian Power​

• EG4 LL​

• Heltec Modbus SmartBMS / YanYang BMS​

Communication to the Heltec SmartBMS (which is a rebranded YYBMS) via Modbus/RS485.

• HLPdata BMS4S​

• Jiabaida JDB BMS 🥈 Second most used BMS​

Bluetooth connection supported

Works also for:

|- LLT Power​

|- Overkill Solar​

|- Smart BMS​

|- Other BMS that use the Xiaoxiang phone app​

• JKBMS 🥇 Most used BMS​

Bluetooth connection supported

Works also for:

|- Heltec BMS​

• JKBMS PB Model (also know as JK Inverter BMS)​

• MNB spi BMS​

Disabled by default as it requires additional manual steps to install.

• Renogy BMS​

• Seplos​

So far only tested on version 16E.

• Seplos v3​

Working on the Seplos v3 BMS which uses different (modbus) protocol than the earlier Seplos models.

• Sinowealth​

Disabled by default since driver version v0.14.0 as it causes other issues. See How to enable a disabled BMS to enable the BMS.

AndroidiOS
Xiaoxian appXiaoxian app

Planned support​

You can view the current BMS requests to see which BMS support is requested and vote for the BMS you want to be supported.

Add/Request new BMS​

There are two possibilities to add a new BMS.

Add by opening a pull request​

Fork the repository and use the battery_template.py as template to add a new battery. As soon as the BMS works you can open a pull request (PR) to merge it.

Here is a short checklist that should help you:

  • Add your battery class and battery class import in alphabetical order in the etc/dbus-serialbattery/dbus-serialbattery.py
  • Add your BMS to the BMS feature comparison page by editing docs/docs/general/features.md
  • Add your BMS to the Supported BMS page by editing docs/docs/general/supported-bms.md
  • Do not import wildcards *
  • If available populate self.max_battery_charge_current and self.max_battery_discharge_current with values read from the BMS
  • If available populate self.unique_identifier with a unique value to distinguish the BMS in a multiple battery setup
  • If your BMS don't run with the default settings add installation notes to the How to install, update, disable, enable and uninstall docs/docs/general/install.md
  • If your BMS needs custom settings that the user should be able to change, add it below the ; --------- BMS specific settings --------- section in the etc/dbus-serialbattery/config.default.ini
  • Make sure the GitHub Actions run fine in your repository. In order to make the GitHub Actions run please select in your repository settings under Actions -> General -> Actions permissions the option Allow all actions and reusable workflows. Check also in your repository settings under Actions -> General -> Workflow permissions if Read and write permissions are selected. After this changes you have to make a new commit, if you don't see any Actions run. This will check your code for Flake8 and Black Lint errors. Here is a short instruction on how to set up Flake8 and Black Lint checks in VS Code. This will save you a lot of time.

Request by opening a discussion​

Start a new discussion in the New BMS request category. Please add also the protocol documentation which you can request from the manufacturer/seller. The more upvotes the BMS request has, the higher is the priority.

If you would like to donate hardware or would like to help testing a specific BMS please get in contact over the discussions section.

Which BMS are you using?​

Please let us know, which BMS you are using with the driver by upvoting your BMS: Which BMS are you using?