In short
- The Bluetooth app is the right tool for settings, not for monitoring: short range, one phone at a time, no history.
- A wired RS485 link gives a permanent connection that survives walls, distance and a phone left in a pocket.
- Watch the cell spread at the top of charge, the lowest cell under load and every MOSFET cut.
JBD boards, made by Jiabaida, protect a large share of DIY LiFePO4 packs and sit inside more ready-made batteries than most owners realise. Most of them come with Bluetooth and the JBD app, often still called Xiaoxiang. You open it, you see the cells, you close it. That is useful, and it is also where most people stop.
What the app does well, and what it cannot do
The app is the place to set protection thresholds, capacity and balancing. As a monitoring tool it has hard limits:
- Range: a few metres, through one wall at best. The pack is often in a garage, a cellar or a van floor.
- One connection: while your phone is connected, nothing else can read the board over Bluetooth.
- No memory: it shows the present. Last night’s lowest cell or the moment the BMS cut the charge are gone.
- No alerts: if a protection trips at 3 a.m., you learn it when the lights go out.
The ways to read a JBD BMS remotely
| Approach | Effort | Limits |
|---|---|---|
| ESP32 with ESPHome over Bluetooth | Flashing, YAML, some trial and error | Bluetooth range and dropouts; you maintain it |
| USB adapter on the UART or RS485 port, plus a computer | Software, scripts, a Raspberry Pi always on | One more machine to look after next to the battery |
| A dedicated Wi-Fi monitor on RS485 | Plug in, join Wi-Fi | Needs an RS485 port or the JBD RS485 module |
All three work. The question is how much of your time you want to give to the monitoring itself.
What is worth watching on a JBD pack
- The cell spread at the end of charge. On LiFePO4 the cells look identical in the middle of the curve. The truth shows near full, so that is where to read the gap.
- The lowest cell under load. If one cell sags much more than the others when the inverter pulls hard, it is either weaker or badly connected.
- Each MOSFET cut. When the board opens the charge or discharge MOSFET, it had a reason. Knowing which cell was at the limit at that moment saves hours of guessing.
- Temperature in winter. LiFePO4 should not be charged below freezing. Most boards block it; you want to know when they do.
Getting it into Home Assistant
With JBD Monitor, the board is read over RS485 and published to your MQTT broker. Home Assistant discovers the device on its own: state of charge, power, one sensor per cell, the spread, the temperatures, the cycles and both MOSFET states. The Bluetooth app keeps working alongside, so you still use it for settings.
From there, a notification when the charge MOSFET opens, with the highest cell in the message, is a ten-minute job in the automation editor. So is a weekly chart of the spread, which tells you better than any rule of thumb when a top balance is due.
Common questions
Can I keep using the JBD app?
Yes. The box reads over RS485 and leaves Bluetooth free, so the app works as before for settings.
My board only has a UART connector. What do I need?
The JBD RS485 module that plugs into that connector. Send us your board reference and we confirm which one fits.
Does it work without internet?
Yes. The local dashboard, MQTT and the JSON API run on your network alone. The Cloud is optional.

