Creating a bug report/issue
I have searched the existing open and closed issues
Required Information
- DietPi version |
9.19.2 - Distro version |
bookworm - Kernel version | 6.1.115-vendor-rk35xx
- Architecture |
arm64 - SBC model | Orange Pi 5 (aarch64)
Additional Information (if applicable)
- Software title | Home Assistant & HACS integration ha-ble-adv
Steps to reproduce
- Install HACS repository in Home Assistant
- Install ha-ble-adv integration in HACS
- Add Bluetooth adapter
- Use ha-ble-adv integration
-
Expected behaviour
The integration should run,
Actual behaviour
Integration is aborted with “No Bluetooth adapter supporting BLE Advertising has been found.” Dump reveals:
{
"home_assistant": {
"installation_type": "Unknown",
"version": "2025.7.1",
"dev": false,
"hassio": false,
"virtualenv": false,
"python_version": "3.13.5",
"docker": false,
"arch": "aarch64",
"timezone": "Europe/Berlin",
"os_name": "Linux",
"os_version": "6.1.115-vendor-rk35xx",
"run_as_root": false
},
"manifest": {
"domain": "ble_adv",
"name": "BLE ADV Ceiling Fan / Lamps",
"after_dependencies": [
"esphome"
],
"codeowners": [
"NicoIIT"
],
"config_flow": true,
"documentation": "https://github.com/NicoIIT/ha-ble-adv",
"integration_type": "device",
"iot_class": "assumed_state",
"issue_tracker": "https://github.com/NicoIIT/ha-ble-adv/issues",
"requirements": [
"pycryptodome",
"btsocket"
],
"version": "v1.8.3",
"is_built_in": false,
"overwrites_built_in": false
},
"coordinator": {
"hci": {
"adapters": {},
"ids": {},
"logs": [],
"supported_by_host": false
},
"esp": {
"adapters": {},
"ids": {},
"logs": [
"2025-12-02 16:48:02.493293 - BLE ADV Name Entities: []"
]
},
"ign_adapters": [],
"ign_duration": 60000,
"ign_cids": [
65231,
64903,
65162,
65163,
64908,
64918,
65049,
65183,
65184,
65061,
65062,
65063,
65194,
65068,
64689,
64822,
65223,
65224,
65225,
65226,
65227,
65228,
65229,
65230,
64719,
65104,
65233,
65234,
65235,
65236,
65109,
65110,
64598,
65240,
65232,
64994,
64867,
64866,
64879,
65008,
64753,
65267,
65268,
64627
],
"ign_macs": [],
"last_emitted": {},
"last_unk_raw": {},
"last_dec_raw": {}
},
"entries": {},
"flow": [
"2025-12-02 16:57:14.844611 - Config flow 'user' started."
]
}
Extra details
I have tried to get the ha-ble-adv integration working under DietPi, however, while the Bluetooth adapter is detected in DietPi, it cannot be used in the integration. The troubleshooting on Home · NicoIIT/ha-ble-adv Wiki · GitHub says that:
In order to be able to work, this component needs to be able to send RAW Bluetooth LE Advertising messages, as most of the protocols used are NOT following BLE ADV standards:
Service UUIDs used in improper ways, leading in merged messages
Devices not supporting trailing AD Flag part (as implemented by Bluez)
…
As a consequence, the Bluez stack as exposed via dbus is not usable as such, nor is the HA Bluetooth stack based on Bluez, and not allowing Advertising.
In order to bypass those limitations, the component is directly connecting to the Bluetooth HCI socket in order to be able to advertise RAW messages as well as listening to raw advertisements emitted by external controllers (Phone Apps, Physical remotes). In a docker container this is only possible if the container has an allowed access to the Bluetooth HCI Socket, which means:
Container is running ‘root’ as user, or in ‘privileged’ mode
Container is in network mode ‘host’
This should be the case in a standard HA installation, but if you have a particular install, then it will not work.
The solution is simply to tunnel the communications with the Bluetooth HCI Socket to another docker container running root / host network via a Unix Socket on a docker volume mounted by both docker containers:
HA Container(non root, non network ‘host’) ↔ Docker Volume ↔ Tunnel Container(root, ‘host’ network) ↔ Bluetooth HCI Socket
In fact, this is just a low cost dbus… The goal is only to have a workaround, the clean solution would be to have the Raw Advertising available in bluez via dbus."
However DietPi is not installed in docker but as HA Core, so what might be the issue here, how can in tunnel my connection running DietPi?
I know this is quite a niche issue but I have tried everything I could and the issue seems to be something with the DietPi Core version not allowing BLE communication, is there a way to grant permission for this?
Any help is much appreciated. I’m pretty new to this tbh.