Hi everyone,
since the previous BLE scanner plugin is no longer working properly on current systems and has not been updated for quite some time, I decided to create a new plugin for LoxBerry 4:
BLE Scanner MQTT
GitHub repository:
The plugin continuously scans Bluetooth Low Energy advertisements using BlueZ and publishes the detected devices and decoded sensor values through the built-in LoxBerry MQTT Gateway. Main features
- Passive BLE scanning using Python 3, Bleak and the BlueZ D-Bus API
- Automatic use of the MQTT broker, port and credentials configured in LoxBerry
- Filters by MAC address, device name and minimum RSSI
- Selectable MAC address allow-list, so only chosen devices are published
- Configurable presence detection and timeout
- Expandable raw and decoded JSON data directly in the WebUI
- Retained MQTT topics for sensor values, RSSI and presence
- Non-retained MQTT topics for momentary events such as button presses
- Italian and English WebUI
- Settings, filters, excluded devices and Xiaomi bindkeys are preserved during plugin upgrades
- Automatic update support
The plugin currently includes dedicated decoders for:
- Govee devices, including temperature and humidity sensors, multi-probe sensors, air-quality monitors, motion sensors, door/window sensors, vibration sensors and buttons
- Xiaomi, Mijia, Qingping and Flower Care devices, including MiBeacon devices and encrypted devices using bindkeys
- Oral-B Bluetooth toothbrushes, including brushing status, timer, mode, pressure and sector information
- Xiaomi BLE Mesh identity frames, including identification of compatible Mesh devices
- Enable and configure the LoxBerry MQTT Gateway.
- Download or build the plugin ZIP from the GitHub repository.
- Install it through Plugin management → Install plugin.
- Reboot LoxBerry when requested.
- Open BLE Scanner MQTT, select the devices you want to publish and save the configuration.
Feedback, testing results, device samples and contributions are very welcome. Problems or feature requests can be reported through the GitHub Issues section.