Bluetti Integration for Home Assistant - Fork with AC2P and encryption support
Note: This is a fork of Patrick762/hassio-bluetti-bt with modifications to support the Bluetti AC2P device.
The original integration was refactored to use an external library (bluetti-bt-lib) via pip. However, the Bluetti AC2P device presented several challenges that required modifications:
-
BLE Encryption Required: Unlike older Bluetti devices, the AC2P uses encrypted Bluetooth Low Energy (BLE) communication. Without encryption, the device returns empty responses or "Characteristic not found" errors.
-
Different BLE Characteristics: The AC2P doesn't expose the standard
0000ff02-0000-1000-8000-00805f9b34fbcharacteristic without establishing an encrypted session first. -
Protocol V2: The AC2P uses a newer protocol (V2) with specific register addresses:
102: Total Battery Percent110-115: Device Type116-119: Serial Number140-147: Power statistics (DC/AC output/input power)154: Power Generation (kWh)1500: AC Output Frequency1511-1512: AC Output Voltage/Current2011: AC Output On (uses special boolean: 1=ON, 3=OFF)2012: DC Output On2021: Power Lifting On
-
Special Boolean Values: The AC2P returns
1for ON and3for OFF on the AC output register (2011), requiring a specialBoolFieldOnIsTrueparser that only treats value1as True. -
No Temperature Sensor: The AC2P does not expose internal temperature via Bluetooth (only has a high-temp alert at >70°C, no continuous sensor).
This fork embeds the bluetti_bt_lib library directly within the custom component (instead of using pip), which allows:
- Full control over encryption implementation
- Custom handling of AC2P-specific register values
- Immediate testing without waiting for upstream library updates
- Open HACS in Home Assistant
- Go to Integrations
- Click the ⋮ menu (top right) → Custom repositories
- Add:
https://github.com/atiweb/hassio-bluetti-bt - Category: Integration
- Click Add
- Search for "Bluetti BT" and install
- Copy the
custom_components/bluetti_btfolder to your Home Assistantconfig/custom_components/directory - Restart Home Assistant
- Go to Settings → Devices & Services → Integrations
- Click + Add Integration
- Search for Bluetti BT
- Select your device from the list
- Important for AC2P: Enable encryption in the device options
After adding the device:
- Click on the device in the Bluetti BT integration
- Click Configure (gear icon)
- Enable Use Encryption
- Save and restart Home Assistant
| Device | Status | Notes |
|---|---|---|
| AC2P | ✅ Tested | Requires encryption enabled |
| AC2A | ✅ Supported | May require encryption |
| AC60 | ✅ Supported | |
| AC70 | ✅ Supported | |
| AC180 | ✅ Supported | |
| AC200L | ✅ Supported | |
| AC200M | ✅ Supported | |
| AC300 | ✅ Supported | |
| AC500 | ✅ Supported | |
| EB3A | ✅ Supported | |
| EP500 | ✅ Supported | |
| EP500P | ✅ Supported | |
| EP600 | ✅ Supported | |
| EP760 | ✅ Supported | |
| EP800 | ✅ Supported |
| Sensor | Register | Description |
|---|---|---|
| Total Battery Percent | 102 | Battery level (0-100%) |
| DC Output Power | 140 | Power from USB/12V ports (W) |
| AC Output Power | 142 | Power from AC outlets (W) |
| DC Input Power | 144 | Solar/DC charging power (W) |
| AC Input Power | 146 | AC charging power (W) |
| Power Generation | 154 | Total energy generated (kWh) |
| AC Output Frequency | 1500 | AC output frequency (Hz) |
| Internal AC Voltage | 1511 | AC output voltage (V) |
| Internal Current | 1512 | AC output current (A) |
| AC Output | 2011 | AC outlets on/off status |
| DC Output | 2012 | USB/12V ports on/off status |
| Power Lifting | 2021 | Power lifting mode status |
Note: AC2P does not expose internal temperature via Bluetooth.
| Control | Register | Description |
|---|---|---|
| AC Output Switch | 2011 | Turn AC outlets on/off |
| DC Output Switch | 2012 | Turn USB/12V ports on/off |
| Power Lifting Switch | 2021 | Enable/disable power lifting mode |
- Check encryption: Make sure "Use Encryption" is enabled in device options
- Check Bluetooth: Ensure the device is within range and powered on
- Check logs: Look for errors in Home Assistant logs (
ha core logs | grep bluetti)
This means encryption is not enabled. Go to device options and enable "Use Encryption".
- Make sure the AC2P is powered on
- Check that your Bluetooth adapter is working
- Try restarting Home Assistant
This integration is provided without any warranty or support by Bluetti. Use it at your own risk.
- Original integration: Patrick762/hassio-bluetti-bt
- Encryption implementation based on community research
- AC2P testing and fixes: @atiweb