BLE to MQTT bridge
Project description
Service to export BLE devices to MQTT with Home Assistant discovery
!!! It is a very early alpha release !!!
Use this software at your own risk.
Default config should be located in /etc/ble2mqtt.json
or
can be overridden with BLE2MQTT_CONFIG
environment variable.
Example run command:
BLE2MQTT_CONFIG=./ble2mqtt.json ble2mqtt
The configuration file is a JSON with the following content:
{
"mqtt_host": "localhost",
"mqtt_port": 1883,
"mqtt_user": "",
"mqtt_password": "",
"devices": [
{
"address": "11:22:33:aa:cc:aa",
"type": "presence"
},
{
"address": "11:22:33:aa:bb:cc",
"type": "redmond200"
},
{
"address": "11:22:33:aa:bb:dd",
"type": "xiaomihtv1"
},
{
"address": "11:22:34:aa:bb:dd",
"type": "xiaomihtv1",
"passive": false
},
{
"address": "11:22:33:aa:bb:ee",
"type": "xiaomilywsd"
},
{
"address": "11:22:33:aa:bb:ff",
"type": "xiaomilywsd_atc"
}
]
}
Supported devices:
Any device
- Any bluetooth device can work as a presence tracker
Kettles:
- Redmond G2xx series (redmond200)
Humidity sensors:
- Xiaomi MJ_HT_V1 (xiaomihtv1)
- Xiaomi LYWSD03MMC (xiaomilywsd)
- Xiaomi LYWSD03MMC with custom ATC firmware (xiaomilywsd_atc)
By default, a device works in the passive mode without connection by
listening to advertisement packets from a device.
To use connection to the device provide "passive": false
parameter.
Supported devices in passive mode:
- Xiaomi MJ_HT_V1 (xiaomihtv1)
- Xiaomi LYWSD03MMC with custom ATC firmware (xiaomilywsd_atc)
OpenWRT installation
Execute the following commands in the terminal:
opkg update
opkg install python3-pip python3-asyncio
pip3 install git+https://github.com/hbldh/bleak.git@f50a334e1173b27a8cf0a53d8ac56d9acc24fedf#egg=bleak
pip3 install -U ble2mqtt
Create the configuration file in /etc/ble2mqtt.json and append your devices.
Bluetooth must be turned on.
hciconfig hci0 up
Run the service in background
ble2mqtt 2> /tmp/ble2mqtt.log &
Container
Build the image as:
podman build .
Then use it as a mounted volume as:
podman run -d --net=host -v $PWD/ble2mqtt.json.sample:/etc/ble2mqtt.json:z 5966e7eaef47
NOTE: --net=host
is required as it needs to use the bluetooth interface
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ble2mqtt-0.1.0a15.tar.gz
.
File metadata
- Download URL: ble2mqtt-0.1.0a15.tar.gz
- Upload date:
- Size: 20.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08b9e6bd049bbf0ecfee74036a0b60c98381352b3de9d0a4cd295eb2e24d46ca |
|
MD5 | 416a9b556958167281f1b9f435fdf41a |
|
BLAKE2b-256 | 1d1c07091255d70730d660df07581db2ad028db3f93454e90138000af3089fd6 |
File details
Details for the file ble2mqtt-0.1.0a15-py3-none-any.whl
.
File metadata
- Download URL: ble2mqtt-0.1.0a15-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.25.0 setuptools/50.3.2 requests-toolbelt/0.9.1 tqdm/4.53.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46f9f2f8366aad75e085577121dce3ee3dd81f1c9d73a6569a54dd0839e74d34 |
|
MD5 | a75637404cfe3b1f4a24952f96798da3 |
|
BLAKE2b-256 | 089db56eec03b31b08f19df60de0dd5f82d21258691875d48e12bfb831324401 |