Este repo contiene el código para leer los sensores bluetooth Mijia
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
parra db6b256853
continuous-integration/drone Build is passing Details
continuous-integration/drone/tag Build is passing Details
Added URL ping to notify when scripts finish OK
4 months ago
.drone.yml Removed trigger filter in build pipeline 4 months ago
.gitignore Initial commit 6 months ago
README.md Added URL ping to notify when scripts finish OK 4 months ago
env_file Added URL ping to notify when scripts finish OK 4 months ago
main.py Added URL ping to notify when scripts finish OK 4 months ago
requirements.txt Initial commit 6 months ago

README.md

Bluetooth LE to MQTT bridge for the Xiaomi Mijia Temperature & Humidity sensor

Build Status

Create environment file

Copy the env_file to .env and open it. Complete all environment variables:

  • MQTT_[SERVER/PORT/USER/PASSWORD/CLIENT_ID] are used to connect with the broker.
  • MQTT_TOPIC_PREFIX define the prefix for all topics with sensor info.
  • MQTT_TELE_PREFIX is used to publish the sensor data, like battery or status.
  • MQTT_SENSOR_NAME contains the sensor name, useful to split the telemetry data if you have more than one sensors.
  • MQTT_PUBLISH_DELAY specify, in seconds, how many time should wait since the script take the measurements to publish in the broker
  • MIJIA_BTLE_ADDRESS constant with the BLE address of your Mijia device.. This can be retrieved activating the pairing mode in the sensor and scanning the BT devices
  • PING_URL used to ping a monitoring service if everything was OK (Useful, for example, for monitor the script with Uptime Kuma)

Install dependencies

You'll need to install bluez and python3. Then you'll need pip3 to install bluepy.

Example on a Raspberry Pi 3:

$ sudo apt-get install python-pip libglib2.0-dev
$ sudo pip3 install -r requirements.txt

Run

You can execute the script directly using the command:

$ ./main.py

Or you can add a new entry in the crontab, like:

*/20 * * * * /usr/bin/python3 ~/scripts/mijia-temperature/main.py >~/scripts/mijia-temperature/last.log 2>&1