This software is a simple gateway to publish on MQTT for use with Home Assistant or Domoticz temperature data from cheap bluetooth LT Thermometer sensors.
Currently, protocol versions 3 and 4 are supported. Other versions might be supported as well, as there seems to be little to no changes in between 3 and 4.
Note for V3 users:
It is very likely V3 users will experience a battery drain issue which seems to be fixed in V4 devices. This is the
main reason the workarounds in blelt2mqtt attempting to resolve this issue have been removed. Please feel
free to file an issue in case you are using a V3 device and experiencing the battery drain mentioned.
| Device | Protocol Version | Article # | Model # | Photo | Where to find (examples) |
|---|---|---|---|---|---|
| LT Thermometer v3 | V3 | ![]() |
AliExpress | ||
| Mebus Digitales Thermo- und Hygrometer mit drahtloser Übertragung | V4 | 11332 | ATN0148 | ![]() |
Kaufland supermarkets Mebus Group |
These devices are supported by an android application named "qaqa" which is, among other place, available here:
- https://d.ihunuo.com/app/dqwu (LT-Thermometer v3.apk)
- https://play.google.com/store/apps/details?id=com.ihunuo.lt.thermometer (V4)
Prerequisites:
- Linux, Windows or MacOS (only tested on Linux / Raspberry Pi and Windows 11)
- Bluetooth LE compatible device (with installed stack)
- Python3 with pip3
blelt2mqtt can be installed and ran in multiple ways. Two of those methods are explained below. The first being a simple daemon running as your current user. The second, preferred way, as a systemd service running as a dedicated system user.
Installation steps:
Debian users will need to install python-venv first if not installed! Python will warn you about that.
First, create a virtual environment:
# Create the venv
python3 -m venv .venv
# Activate the venv
source .venv/bin/activateTo be sure, let's first upgrade PIP in our fresh venv:
python3 -m pip install --upgrade pippip3 install -r requirements.txt
Please take a moment to review and set up the configuration. Your devices and (optional) MQTT broker setup is done here.
blelt2mqtt comes with a default (example) configuration file config-default.yaml. Although you can edit this
file directly, it is recommended to copy it to config.yaml and make your changes there.
blelt2mqtt will first look for config.yaml and, in case that fails, load config-default.yaml as a last resort.
crontab -e
@reboot bash /path/to/blelt.sh
First, let's create a dedicated system user with a home directory. The home directory will be user for by example caching and log files.
# Add dedicated system user and group with home (for caching etc)
sudo useradd -rm blelt2mqtt# Create directory and set permissions
sudo mkdir /opt/blelt2mqtt
sudo chown blelt2mqtt:blelt2mqtt /opt/blelt2mqttEither download the latest release of blelt2mqtt in your preferred way or clone the git repository:
cd /opt/blelt2mqtt
git clone https://github.com/rpeyron/blelt2mqtt.git .# Switch to dedicated user
sudo -u blelt2mqtt -H -s
# Create venv
cd /opt/blelt2mqtt
python -m venv .venv
# Activate venv
source .venv/bin/activatepython -m pip install --upgrade pippip install -r requirements.txtPlease take a moment to review and set up the configuration. Your devices and (optional) MQTT broker setup is done here.
blelt2mqtt comes with a default (example) configuration file config-default.yaml. Although you can edit this
file directly, it is recommended to copy it to config.yaml and make your changes there.
blelt2mqtt will first look for config.yaml and, in case that fails, load config-default.yaml as a last resort.
An example, ready-to-use service file is bundled with blelt2mqtt and located in the installation directory. In case you
diverged from the given path by, for example, changing paths, please edit blelt2mqtt.service before continuing.
# Copy the service file
sudo cp /opt/blelt2mqtt/blelt2mqtt.service /etc/systemd/system
# Reload services
sudo systemctl daemon-reload
# Start the blelt2mqtt service
sudo systemctl start blelt2mqtt.serviceIn case you want the service to always be enabled, for example after a reboot, simply enable the service:
sudo systemctl enable blelt2mqtt.serviceThis should not require extra configuration for use with MQTT auto-discovery.
If you want to have a domoticz sensor with temperature and humidity, you need to follow these steps:
- Configure a virtual sensor Temperature+Humidity through the Dummy hardware in Hardware menu
- Read the idx of the created device in the Devices menu
- Add the idx in the configuration file as 'domoticz_idx'
You should now see the sensor (native sensor on the left, auto-discovered on the right) :

By default, the auto-discovered device is a MQTT device with the components temperature, humidity and battery.
In case you want to extract data from the attributes as separate entities (and possibly manipulate the extracted data) follow the steps below. This gives an example of manipulating the temperature entity and creating a separate humidity entity.
- Open configuration.yaml
- Add the following. Replace <DEVICE.NAME> with your device's bluetooth name.
# blelt2mqtt sensor example
mqtt:
- sensor:
- name: "My Area - Temperature"
state_topic: "lt_temp/<DEVICE.NAME>>/state"
suggested_display_precision: 1
unit_of_measurement: "°C"
value_template: "{{ value_json.temperature }}"
- name: "My Area - Humidity"
state_topic: "lt_temp/<DEVICE.NAME>/state"
unit_of_measurement: "%"
value_template: "{{ value_json.humidity }}"
- Check the configuration and reload Home Assistant.
- Edit dashboard
- Add to dashboard > by card
- Choose Sensor
- Configure the sensor data you want to display as desired.
The reverse-engineered protocol is described in protocol.md and the process is described in this article (in french)
- LT-Thermometer v3 Android or iOS application
- Bluetooth UUID Nordic open database and official 16-bits list (spoiler: the used UUID aren't in there...)
- BLE Tutorial for Arduino
- Home Assistant auto-discovery protocol and fields definition for sensors, specifically Temperature and Humidity Sensors
- Domoticz auto-discovery support with native client or plugin
- Domoticz MQTT sensor messages format
2022 - Remi Peyronnet
Contributions:
Maghiel Dijksman

