Wand - Xiaomi sensors bluetooth advertisement listener for esp32
Inspired by https://github.com/custom-components/sensor.mitemp_bt
Features
- Simplest usage and api ever
- Supports a lot of Xiaomi sensors
Quick start
void setup()
{
Serial.begin(9600);
WAND::Wand wand = WAND::Wand([](const char *sensorName, BLEAddress mac, const char *paramName, float value) {
Serial.printf("Sensor: %s, param: %s, val: %.2f\n", sensorName, paramName, value);
});
wand.init();
}
Supported sensors
-
(custom co2 sensor, build on top of esp32)
-
LYWSDCGQ
(round body, segment LCD, broadcasts temperature, humidity and battery level, about 20 readings per minute)
-
CGG1
(round body, E-Ink, broadcasts temperature, humidity and battery level, about 20 readings per minute)
-
LYWSD02
(rectangular body, E-Ink, broadcasts temperature and humidity, about 20 readings per minute, no battery info)
-
LYWSD03MMC
(small square body, segment LCD, broadcasts temperature and humidity once in about 10 minutes and battery level once in an hour, advertisements are encrypted, therefore you need to upload custom firmware
-
MHO-C303
(Alarm clock, rectangular body, E-Ink, broadcasts temperature, humidity and battery level, about 20 readings per minute)
-
JQJCY01YM
(Xiaomi Honeywell Formaldehyde Sensor, OLED display, broadcasts temperature, humidity, formaldehyde (mg/m³) and battery level, about 50 messages per minute)
-
HHCCJCY01
(MiFlora, broadcasts temperature, moisture, illuminance, conductivity, 1 reading per minute, no battery info with firmware v3.2.1)
-
GCLS002
(VegTrug Grow Care Garden, similar to MiFlora HHCCJCY01)
-
HHCCPOT002
(FlowerPot, RoPot, broadcasts moisture and conductivity, 2 readings per minute, no battery info with firmware v1.2.6)
-
WX08ZM
(Xiaomi Mija Mosquito Repellent, Smart version, broadcasts switch state, tablet resource, battery level, about 50 messages per minute)
Exmaple
- Basic - basic=full usage example
Dependencies
License
Wand is open-source software licensed under the MIT license