temperature-sensor-scanner
A tool to scan nearby Bluetooth Low Energy thermometers on the Telink chipset, collect the data ane emit it into InfluxDB 3.
Setup
- Create an InfluxDB 3 token with a command like
influxdb3 create token --admin - Create a database with a command like
influxdb3 create database [my-database] --token [my-token] - Ensure the host supports at least Bluetooth 4.0 which is when BLE was first introduced
- Ensure bluetooth is working
rfkill listshould show thatSoft blockedandHard blockedare bothno, if notrfkill unblock bluetooth && rfkill list && systemctl restart bluetooth
- Create a
config.yamlin~/.config/temperature-sensor-scanner/based on theconfig.example.yamlfile - Install this tool with a command like
pip install temperature-sensor-scanner
Usage
Run temperature-sensor-scanner which will scan for nearby sensors which are emitting temperature data in their Bluetooth
advertising string, collect that data, and emit it into InfluxDB 3.
Setting up a service
Run this as the user you want to run the service
mkdir -p ~/.config/systemd/user/
cp temperature-sensor-scanner.service ~/.config/systemd/user/
cp temperature-sensor-scanner.timer ~/.config/systemd/user/
systemctl --user daemon-reload
systemctl --user enable --now temperature-sensor-scanner.timer
sudo loginctl enable-linger $USER
systemctl --user list-timers
systemctl --user status temperature-sensor-scanner.service
journalctl --user -u temperature-sensor-scanner.service
Notes
- https://github.com/pvvx/ATC_MiThermometer/
- https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html
- Launch in Chrome instead of Firefox
- Other tools that look interesting
Steps to provision a new sensor
- Flash the firmware
- Click
Connect - Select the
LYWSD03MMCBluetooth device in the menu - Click
Do Activation - Choose
Custom Firmware ATC_v56.bin - Click
Start Flashing - Wait 42 seconds for it to show update done
- Click
- Identify ID from Bluetooth announced name and print a label to put on the sensor
- Quit Chrome and start again
- Configure sensor
- Set display to Farenheight
- Click
Set Time - Set advertising type to
ATC1441 - Set advertising interval to
10000( https://github.com/pvvx/ATC_MiThermometer/issues/23#issuecomment-766898945 ) - Set Measure interval: to 10
- Click
Send Config
Metadata
Release files for temperature-sensor-scanner 2.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| temperature_sensor_scanner-2.0.1.tar.gz | 5.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| temperature_sensor_scanner-2.0.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 10.7 kB
Release files / temperature_sensor_scanner-2.0.1.tar.gz
| Download URL | temperature_sensor_scanner-2.0.1.tar.gz |
|---|---|
| Size | 5.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b46163e29ab9fb96888215adf12e91a7436c1dab25e748938f4a2c9a9427bc26
|
|
BLAKE2b-256 checksum How to use checksums |
ec3c1f8369fc6007dbddade93b84f73906b8797ec295ff259e2e0ac796b67c4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency logRelease files / temperature_sensor_scanner-2.0.1-py3-none-any.whl
| Download URL | temperature_sensor_scanner-2.0.1-py3-none-any.whl |
|---|---|
| Size | 5.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
be38356c3837325c1b8fcf668586d23f08862b677870376e6aafbd5fddee74fb
|
|
BLAKE2b-256 checksum How to use checksums |
551d9bacae401c01b64532d9addfdcf0cf367d075d45d6ce22b001a659d5431c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 12, 2026.
Transparency log