Home Assistant integration for Jackery Home Power stations.
Communicates directly over Bluetooth Low Energy — no cloud, no Jackery account, no internet connection required.
Developed by analysing BLE traffic between the official app and the device using standard debugging tools.
Tested on the Jackery Explorer 2000 Ultra.
- 🔋 SOC — battery state of charge (%)
- ⚡ Available Capacity — usable energy remaining (Wh)
- 🔌 AC Input Power — power drawn from the grid / charging (W)
- 🏠 AC Output Power — power delivered to connected loads (W)
- 📡 Fully local — no cloud, works offline
- 🔍 Auto-discovery — scans for nearby HL-series devices automatically
- 🌐 ESP32 Bluetooth Proxy supported — no direct BT adapter needed on HA host
- 🔄 Reliable polling — reconnects every cycle, sensors never go stale
| Device | Status |
|---|---|
| Jackery Explorer 2000 Ultra | ✅ Tested |
Other Jackery HL-series (Jackery_HL*) |
🔶 Should work — untested |
Meter IDs and device serial numbers are discovered dynamically from the device_get
response — no hardcoded device-specific values.
- Home Assistant 2023.8.0 or newer
- Bluetooth adapter reachable by HA or an ESP32 Bluetooth Proxy
- Device must not be connected to the Jackery Home app simultaneously
- Open HACS → Integrations → ⋮ → Custom repositories
- Add
https://github.com/Wlad2288/ultra_jack→ Category: Integration - Search for Ultra Jack → Download
- Restart Home Assistant
- Settings → Devices & Services → Add Integration → Ultra Jack
- Download the latest release ZIP
- Extract and copy the
ultra_jackfolder to/config/custom_components/ultra_jack/ - Restart Home Assistant
- Settings → Devices & Services → Add Integration → Ultra Jack
| Sensor | Unit | Notes |
|---|---|---|
| SOC | % | State of charge |
| Available Capacity | Wh | Usable energy remaining |
| AC Input Power | W | Grid input / charging power |
| AC Output Power | W | Power delivered to loads |
Flash an ESP32 (e.g. M5Stack ATOM Lite) via browser at
👉 https://esphome.io/projects/?type=bluetooth
Place it near the Jackery. It acts as a wireless BLE bridge for HA.
Plug a USB adapter directly into the HA host. Use adapters based on the CSR8510A10 chip.
⚠️ Use a USB 2.0 port — USB 3.0 causes 2.4 GHz interference.
Device not found during setup
→ Power on the Jackery, close the Jackery Home app, stay within BT range (~10m).
Sensors show old values
→ The integration reconnects every 30s poll cycle. Check HA logs for BLE errors.
Enable debug logging:
logger:
default: info
logs:
custom_components.ultra_jack: debugThe Jackery HL-series uses a custom JSON protocol over BLE characteristics
0xFF01 (write) / 0xFF02 (notify) within service 0xFFFF.
Developed by capturing BLE traffic between the official app and the device using standard debugging tools. The official Jackery Home app communicated with a Jackery Explorer 2000 Ultra.
Key findings:
- No encryption — plain JSON over BLE
- 3-step handshake per poll:
device_get→data_get(init) →data_get(full) - Custom multi-fragment protocol for large notifications
- Device stops responding if BLE session stays open → reconnect every cycle
- Meter IDs and
dev_sndiscovered dynamically fromdevice_getresponse
This is an unofficial, community-developed integration. It is not affiliated with, endorsed by, or supported by Jackery Inc.
Jackery and Explorer are trademarks of Jackery Inc. Use of these names is for identification purposes only.
MIT — see LICENSE.
Inspired by private_jack for older Jackery models.