{"id":14985296,"url":"https://github.com/benleb/miblepy","last_synced_at":"2025-10-26T01:15:01.648Z","repository":{"id":39828235,"uuid":"264470032","full_name":"benleb/miblepy","owner":"benleb","description":"miblepy 🌴 🌡️ ⚖️ fetches data from various (Xiaomi/Mijia/Mi) Bluetooth LE devices and push it to a MQTT broker in a coordinated, sequential manner","archived":false,"fork":false,"pushed_at":"2022-05-25T05:06:42.000Z","size":105,"stargazers_count":8,"open_issues_count":5,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T20:38:17.386Z","etag":null,"topics":["bluetooth","bluetooth-le-devices","docker-image","home-assistant","lcd","plants","python","scales","smarthome","temperature","xiaomi"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/benleb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-05-16T15:43:57.000Z","updated_at":"2022-04-04T10:18:43.000Z","dependencies_parsed_at":"2022-09-19T05:40:46.177Z","dependency_job_id":null,"html_url":"https://github.com/benleb/miblepy","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benleb%2Fmiblepy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benleb%2Fmiblepy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benleb%2Fmiblepy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/benleb%2Fmiblepy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/benleb","download_url":"https://codeload.github.com/benleb/miblepy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317707,"owners_count":21083528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bluetooth","bluetooth-le-devices","docker-image","home-assistant","lcd","plants","python","scales","smarthome","temperature","xiaomi"],"created_at":"2024-09-24T14:10:40.224Z","updated_at":"2025-10-26T01:14:56.600Z","avatar_url":"https://github.com/benleb.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# miblepy · [![PyPI](https://img.shields.io/pypi/v/miblepy)](https://pypi.org/project/miblepy/) [![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/benleb/miblepy?sort=date)](https://hub.docker.com/r/benleb/miblepy) [![DeepSource](https://static.deepsource.io/deepsource-badge-light-mini.svg)](https://deepsource.io/gh/benleb/miblepy/?ref=repository-badge)\n\n\u003c!-- \n[![PyPI - Downloads](https://img.shields.io/pypi/dm/miblepy)](https://pypi.org/project/miblepy/)\n[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/miblepy)](https://pypi.org/project/miblepy/)\n[![PyPI](https://img.shields.io/pypi/v/miblepy)](https://pypi.org/project/miblepy/)\n\n[![Docker Image Size (latest by date)](https://img.shields.io/docker/image-size/benleb/miblepy?sort=date)](https://hub.docker.com/r/benleb/miblepy)\n[![Docker Automated build](https://img.shields.io/docker/automated/benleb/miblepy)](https://hub.docker.com/r/benleb/miblepy)\n[![Docker Build Status](https://img.shields.io/docker/build/benleb/miblepy)](https://hub.docker.com/r/benleb/miblepy)\n[![Docker Pulls](https://img.shields.io/docker/pulls/benleb/miblepy)](https://hub.docker.com/r/benleb/miblepy)\n\n[![DeepSource](https://static.deepsource.io/deepsource-badge-light-mini.svg)](https://deepsource.io/gh/benleb/miblepy/?ref=repository-badge) --\u003e\n\n**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...  \n\n**miblepy** solves this by acting as a \"coordinator\" to fetch the data in a controlled, sequential way.\n\nCurrently this is a private project tailored to my needs - but open for PRs\n\n## Usage\n\n**miblepy** is available as [pip](#via-pip) package and [Docker image](#docker).\n\n### Install\n\n#### via pip\n\n```bash\npip install miblepy\n```\n\n#### manual\n\n* clone this repo \u0026 cd to it  \n\n  ```bash\n  git clone https://github.com/benleb/miblepy.git \u0026\u0026 cd miblepy\n  ```\n\n* install via\n  * poetry\n\n    ```bash\n    poetry install\n    ```\n\n  * pip\n\n    ```bash\n    pip install .\n    ```\n\n### Configuration\n\nCopy `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`.\n\n### Run\n\nStart a single round of fetching from your configured sensors in `~/.mible.toml`\n\n```bash\nmible fetch\n```\n\ntry `mible --help` to get more info.\n\nTo continously fetch data from your sensors check out the systemd [timer](https://github.com/benleb/miblepy/blob/master/miblepy.timer) and [service](https://github.com/benleb/miblepy/blob/master/miblepy.service). You can also use a classic cronjob or even an automation provided by your smart home system (home assistant for example)\n\n### Docker\n\nThe `:latest` tag is built from master, other tags can be found on [Docker Hub](https://hub.docker.com/r/benleb/miblepy)\n\nMount your miblepy config to `/miblepy/mible.toml`\n\n```bash\ndocker run --privileged --volume \"mible.toml:/miblepy/mible.toml:ro\" benleb/miblepy\n```\n\n## Supported devices\n\n* VegTrug / Mi Flora plant sensors (Flower Care)\n* (Xiaomi?) Mijia Bluetooth Temperature Humidity sensors with LCD (LYWSD03MMC)\n* (Xiaomi?) Mi Body Composition Scale 2 (XMTZC05HM / XMTZC02HM)\n\n## Support a new device\n\n* **TODO**\n\nCheck the already available plugins to see some examples.\n\n## Thanks to\n\n* [@ChristianKuehnel](https://github.com/ChristianKuehnel) | [plantgw](https://github.com/ChristianKuehnel/plantgateway)\nmiblepy's idea is based on his plantgw project\n* [@open-homeautomation](https://github.com/open-homeautomation) | [miflora](https://github.com/open-homeautomation/miflora)\nLibrary to interact with FlowerCare/MiFlora devices\n* [@JsBergbau](https://github.com/JsBergbau) | [MiTemperature2](https://github.com/JsBergbau/MiTemperature2)\nLibrary to interact with Mi Bluetooth LCD Thermometers\n* [@lolouk44](https://github.com/lolouk44) | [xiaomi_mi_scale](https://github.com/lolouk44/xiaomi_mi_scale)\nLibrary to interact with Mi Body Composition Scale 2\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenleb%2Fmiblepy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbenleb%2Fmiblepy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbenleb%2Fmiblepy/lists"}