Skip to main content
Join the official 2020 Python Developers SurveyStart the survey!

miblepy fetches data from various (Xiaomi/Mijia/Mi) Bluetooth LE devices and push it to a MQTT broker in a coordinated, sequential manner.

Project description

miblepy · PyPI Docker Image Size (latest by date) DeepSource

miblepy fetches data from various (Xiaomi/Mijia/Mi) Bluetooth LE devices and push it to a MQTT broker. For every device supported, there are already libraries or anything else to fetch the data from - and they work perfectly. But as they are separated and often run as distinct (cron)jobs, which are not aware of each other, or even as daemons... the fight for the BLE interface starts...

miblepy solves this by acting as a "coordinator" to fetch the data in a controlled, sequential way.

Currently this is a private project tailored to my needs - but open for PRs

Usage

miblepy is available as pip package and Docker image.

Install

via pip

pip install miblepy

manual

  • clone this repo & cd to it

    git clone https://github.com/benleb/miblepy.git && cd miblepy
    
  • install via

    • poetry

      poetry install
      
    • pip

      pip install .
      

Configuration

Copy mible.toml to ~/.mible.toml and adjust settings to your needs. ~/.mible.toml is the default location where mible expects your configuration. You can change this via --config.

Run

Start a single round of fetching from your configured sensors in ~/.mible.toml

mible fetch

try mible --help to get more info.

To continously fetch data from your sensors check out the systemd timer and service. You can also use a classic cronjob or even an automation provided by your smart home system (home assistant for example)

Docker

The :latest tag is built from master, other tags can be found on Docker Hub

Mount your miblepy config to /miblepy/mible.toml

docker run --privileged --volume "mible.toml:/miblepy/mible.toml:ro" benleb/miblepy

Supported devices

  • VegTrug / Mi Flora plant sensors (Flower Care)
  • (Xiaomi?) Mijia Bluetooth Temperature Humidity sensors with LCD (LYWSD03MMC)
  • (Xiaomi?) Mi Body Composition Scale 2 (XMTZC05HM / XMTZC02HM)

Support a new device

  • TODO

Check the already available plugins to see some examples.

Thanks to

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for miblepy, version 0.4.6
Filename, size File type Python version Upload date Hashes
Filename, size miblepy-0.4.6-py3-none-any.whl (17.8 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size miblepy-0.4.6.tar.gz (17.1 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page