Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ISDT PB40 / LIMETA EB40 — Home Assistant Bluetooth integration

A local, no-cloud Home Assistant integration for the ISDT PB40 power bank, also sold as the LIMETA EB40 (companion app LiMeta, com.limeta.limeta). It talks to the pack directly over Bluetooth Low Energy — no account, no internet, no vendor cloud.

Several power banks are supported at once: each is auto-discovered and added as its own device.

Looking for the protocol rather than the integration? docs/PROTOCOL.md documents the PB40's BLE advertisement format and its connected GATT protocol in full — byte offsets, command map and status codes — reverse-engineered from the LiMeta Android app and verified against real hardware. It stands on its own if you are writing a client in another language.

Entities

Battery level and status come from the advertisement, which the pack broadcasts continuously and cannot be turned off. No connection is opened, so these keep working at the edge of radio range.

Entity Notes
State of charge %
Status standby / charging / discharging / full / error / offline
Port 1, Port 2 idle / input / output

Live power, energy and the device settings are not broadcast. Those use a short-lived GATT connection, polled on an interval you control.

Entity Notes
Power total, W
Port 1/2 power W
Port 1/2 voltage, current V / A — disabled by default, enable if wanted
Total energy lifetime Wh
Charge cycles count
Find button makes the pack beep so you can locate it
Battery care, Alarm tone, Auto-off light, Long press switches

The two halves are independent by design: if the connection fails — likely, at this device's signal strength — only the connected entities go unavailable. State of charge and status carry on regardless.

Install

HACS (custom repository)

  1. HACS → ⋮ → Custom repositories
  2. Add https://github.com/PetePeter/pb40-bluetooth, category Integration
  3. Install, then restart Home Assistant

Manual

Copy custom_components/pb40_ble into your Home Assistant config/custom_components/ directory and restart.

Either way, power banks in range are then discovered automatically under Settings → Devices & Services. Home Assistant needs a Bluetooth adapter or an ESPHome Bluetooth proxy within range.

Options

Settings → Devices & Services → PB40 → Configure

Option Default Notes
Poll over a connection on Turn off for advertisement-only operation
Polling interval 5 min 1–120. Each poll costs one connection

Naming a pack in the LiMeta app is worthwhile: the name rides in the advertisement and Home Assistant adopts it as the device name.

Notes and limitations

  • The pack's signal is weak (-70 to -93 dBm observed). Advertisements survive this comfortably; connections are less reliable, which is why polling is conservative and connections are not held open.
  • Every connection occupies a slot on your Bluetooth proxy, so a short interval across several packs is not free.
  • Settings behaviour varies by firmware: version 1.4.1.46 and later answer a single parameters block, earlier firmware answers individual reads. Both are handled, and only the settings your pack actually reports become switches.

Develop

python -m pytest tests/ -q

parser.py (advertisement) and protocol.py (connected protocol) are pure and dependency-free — no Bluetooth hardware is needed to run the tests. They are checked against bytes captured from real devices and against the field layouts in the vendor app.

Credits and licence

Protocol work is original reverse-engineering for interoperability, documented in docs/PROTOCOL.md and docs/GATT_RECON.md.

Not affiliated with, endorsed by, or supported by ISDT or LIMETA. Product names are trademarks of their respective owners.

Released under the MIT Licence.

About

Home Assistant integration for the ISDT PB40 / LIMETA EB40 BLE power bank — local, no cloud. Battery %, per-port power, energy, cycles, find-device button. Includes the reverse-engineered BLE protocol.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages