New here. Recently I started to migrate my Domoticz system from 433 MHz (with an RFLink gateway) to BLE+WiFi. In doing that, I used Xiaomi thermometers re-flashed to the pvvx firmware. Although there are some other scripts available to listen to them, I found them not exactly my taste, so wrote my own script.
Its main characteristics are:
- Supports atc1441 and pvvx BLE advertisment protocols
- Supports plain and encrypted BLE advertisment protocols
- Passive scan (long battery life)
- Supports Domoticz (http/https JSON API) and MQTT brokers. Also, Domoticz via MQTT
- Supports encryption and authentication when communicating with Domoticz and MQTT brokers
- A single python file
- Full asynchronous IO (Python async/await, bleak, aiohttp, aiomqtt) giving low CPU and memory usage even with many thermometers and clients
- Daemonizable, to be run as a service. No cron jobs, uses the system journald service to log
- Configuration is written in a human-friendly YAML file
- Tested on Debian Bullseye and Bookworm and Windows 10/11
Best regards.