Xiaomi Lumi Gateway MQTT integration
Project description
MQTT agent for Xiaomi Lumi gateway
Description
The service allow controlling gateway LEDs, button, and illuminance sensor over MQTT
Default config should be located in /etc/lumimqtt.json
or
can be overridden with LUMIMQTT_CONFIG
environment variable.
Example run command:
LUMIMQTT_CONFIG=./lumimqtt.json python3 -m lumimqtt
The configuration file is a JSON with the following content:
{
"mqtt_host": "localhost",
"mqtt_port": 1883,
"mqtt_user": "",
"mqtt_password": "",
"device_id": "my-lumi-router",
"topic_root": "lumi/{device_id}",
"sensor_retain": false,
"sensor_threshold": 50,
"sensor_debounce_period": 60
}
Every line is optional. By default, LumiMQTT will use the connection to localhost with the anonymous login.
device_id
if not provided will be automatically replaced by a hex number
representing a MAC address of the first network interface.
sensor_retain
is option to enable storing last sensor value on the broker
sensor_threshold
is a threshold to avoid sending data to MQTT on small
changes
sensor_debounce_period
value in seconds to send data despite the threshold
You can also use GPIO(s) as binary sensor(s). Add this to configuration:
{
<your configuration>,
"binary_sensors": {
"<sensor name>": {
"gpio": "<gpio number>",
"device_class": "<device class>",
"topic": "<sensor name>"
}
}
}
Values in <>
must be replaced.
gpio
is required, device_class
and topic
are optional. By default topic
is sensor's name.
List of GPIOs. List of device classes.
OpenWrt installation
opkg update
opkg install python3-pip python3-asyncio python3-evdev
pip3 install -U lumimqtt
To upgrade you can just run
pip3 install -U lumimqtt
Example run command:
lumimqtt
or (in background):
lumimqtt &
Autorun:
To run lumimqtt on start you need a file /etc/init.d/lumimqtt with the following content:
#!/bin/sh /etc/rc.common
START=98
USE_PROCD=1
start_service()
{
procd_open_instance
procd_set_param env LUMIMQTT_CONFIG=/etc/lumimqtt.json
procd_set_param command lumimqtt
procd_set_param stdout 1
procd_set_param stderr 1
procd_close_instance
}
To install this file on the gateway you can run
wget https://raw.githubusercontent.com/openlumi/lumimqtt/main/init.d/lumimqtt -O /etc/init.d/lumimqtt
chmod +x /etc/init.d/lumimqtt
/etc/init.d/lumimqtt enable
/etc/init.d/lumimqtt start
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for lumimqtt-1.0.11-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 639f691a55f3e4941d4cb78710133e4129a39572ec45ed8e68af54c00345ee18 |
|
MD5 | 3261455ed7a95d94c1d73b7e68dfb998 |
|
BLAKE2b-256 | cad6156f64605457d785dbf84320e83660500de0ed23da6fefe9694a6b5742d7 |