LYWSD03MMC mit USB Stick als Referenz

Das ist das LYWSD03MMC von Xiaomi. Das Teil sitzt in einem schönen Gehäuse, hat ein Display, wird über eine CR3032 Kopfzelle mit Energie versorgt und kann Luftfeuchtigkeit und Temperatur messen. Die Messdaten werden über das Display und Bluetooth Low Energy kommuniziert. Die Kopfzelle soll angeblich sehr lange halten.

Man kann eine Xiaomi App auf einem Smartphone oder eine Basisstation zum auslesen benutzen, aber das macht keinen Spaß. Besser wird es, wenn man einen ESP32, der Bluetooth LE eingebaut hat, benutzt. Es funktioniert auch mit einem RaspberryPi, aber das wäre in meinem Fall Overkill gewesen.

Zum Anzeigen der Daten benutze ich hass.io, das als VM auf meinem ESXi Server läuft. Hass.io integriert auch noch Grafana zum Anzeigen und Influxdb zum Speichern der Daten. Auf dem ESP32 läuft ESPHome, das man auch sehr schön über hass.io verwalten kann. ESPs können darüber auch einfach Over-The-Air geupdated werden, wenn einmal ESPHome darauf geflasht wurde.

Um die LYWSD03MMC auslesen zu können, braucht man noch den Bindkey, mit dem die Daten verschlüsselt werden. Der einfachste Weg diesen zu bekommen ist dieses Webtool. Man kann aber auch eine Custom Firmware mit dem gleichen Tool flashen, die die Daten dann unverschlüsselt sendet.  Hier gibt es auch ein Video, in dem der Prozess beschrieben wird.

Rückseite mit Klebepad