Skip to main content

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 python3 ble2mqtt.py

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:bb:cc",
            "type": "redmond200"
        },
        {
            "address": "11:22:33:aa:bb:dd",
            "type": "xiaomihtv1"
        },
        {
            "address": "11:22:33:aa:bb:ee",
            "type": "xiaomilywsd"
        }
    ]
}

Supported devices:

Kettles:

  • Redmond G2xx series (redmond200)

Humidity sensors:

  • Xiaomi MJ_HT_V1 (xiaomihtv1)
  • Xiaomi LYWSD03MMC (xiaomilywsd)

OpenWRT installation

Execute the following commands in the terminal:

opkg update
opkg install python3-twisted python3-pip python3-asyncio
pip 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

python -m 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

ble2mqtt-0.1.0a12.tar.gz (18.2 kB view details)

Uploaded Source

Built Distribution

ble2mqtt-0.1.0a12-py3-none-any.whl (22.2 kB view details)

Uploaded Python 3

File details

Details for the file ble2mqtt-0.1.0a12.tar.gz.

File metadata

  • Download URL: ble2mqtt-0.1.0a12.tar.gz
  • Upload date:
  • Size: 18.2 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

Hashes for ble2mqtt-0.1.0a12.tar.gz
Algorithm Hash digest
SHA256 b9ca3194f9573d9f84708ecc62fe31e1a577a20675fd0eab5dcf19f41edd68e9
MD5 0cb01e327d5f4e9193ffcbf742167476
BLAKE2b-256 1ff6bca69a7e3d9558aa36c9d7ae3a52a84215f7e04637d0825232448945d4f4

See more details on using hashes here.

File details

Details for the file ble2mqtt-0.1.0a12-py3-none-any.whl.

File metadata

  • Download URL: ble2mqtt-0.1.0a12-py3-none-any.whl
  • Upload date:
  • Size: 22.2 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

Hashes for ble2mqtt-0.1.0a12-py3-none-any.whl
Algorithm Hash digest
SHA256 75697c2cfef953e48a87cd1adcad43954579d960c83838e954b8e458ed0cf957
MD5 bafe38d127c64d69f5a51b95dc62e40b
BLAKE2b-256 de26cdd1d9c11f40ac6311560a133b5f816038545248efd739ce42052275b104

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page