Durch die Möglichkeit Telink TLSR Mikrocontroller zu programmieren ist es mir nun endlich gelungen eine Custom Firmware für die günstigen Xiaomi Thermometer LYWSD03MMC zu erstellen.
Eine video Übersicht darüber habe ich auf YouTube hochgeladen:
Die nötigen Dateien um es selber durchzuführen und einen WebFlasher gibt es hier:
Just read the header, you're my hero! This is a big deal I think as that chip is ubiquitous in chinese BT gadgets.
AntwortenLöschenAs I've already sniffed the encyption keys I don't need to flash the thermometers but maybe I will be finally able to use the yeelight ceiling lamp rotary switch (YLKG08YL). I don't have any of these lamps, bought it long time ago thinking I will be able to use it with ESPHome. Coincidentally it also uses the same tslr chip. I found some scattered info about the SDK and programmer but never got around to try that. Tried playing with BT interface (first time ever) but some secret key is needed for bonding/pairing unfortunately, without lamp or any other legit device it communicates with it seemed futile. As it's just a rotary encoder over BT I think I can code custom firmware easily. 😀 Ok, time to take a look at your repo.
Wow, even the Mi BLE Mesh provisioning has been cracked🥳. I've looked at this project long ago but it wasn't working.
AntwortenLöschenGreat job with reimplementing the firmware! That must've taken a lot of reverse-engineering. I suppose I could write an ESPHome module for communicating with it.
AntwortenLöschenMoin,
AntwortenLöschensehr gute Arbeit. Ich kann die Firmware sehr gut in meinem Smarthome-Projekt gebrauchen. Ich hatte die Sensioren schon auf Verdacht aufgrund des Preises und der Optik montiert. Deine Arbet ist Gold wert. Ich habe nun 8 solche Teile mit ESPhome und Home-Assitant am laufen. Good Job!
Wenn ichim Sinne von Tests oder Bugfixes helfen kann, lass es mich wissen.
Hello,
AntwortenLöschenafter flashing it is not possible to connect to Mihome app. I activated "Mi like" in flasher but it doesnt help
Why would you connect to mihome after flash? Flashing is for breaking the chains of mihome
LöschenThanks for creating this - very much appreciated.
AntwortenLöschenI bought 4 sensors to try this on - they all flashed pretty easily as described.
However, for one of the sensors, I did not record the MI Token or the MI Bind Key and now I can't connect to it - is there a way around this? Many thanks.
Benötigt der ioBroker die Werte als "Custom"-Werte oder als "Mi like"-Werte, oder ist es egal?
AntwortenLöschenBist Du hier weiter gekommen? Ich habe 12 Mijia Sensoren über einen ESP32 mit Tasmota gekoppelt. Hierbei habe ich den "Advertising Type" auf Custom eingestellt. Alle Werte kommen im ioBroker über den Sonoff Adapter an.
LöschenEinen Sensor wollte ich mit einem Pi verbinden. Das hat über den "Bluetooth Low Energy" Adapter funktioniert. Die Werte waren aber erst sichtbar, nachdem ich den "Advertising Type" auf Mi Like umgestellt habe. Der DewPoint fehlt hierbei leider.
Interesting,
AntwortenLöschenis it possible to transfer information to it
for example from other sensors
Suche ich über BT von Windows bekomme ich LYWSD03MMC angezeigt und kann mich damit koppeln. Aber über die angegebene Webseite wird nach klicken auf "Connect" nichts gefunden (egal ob es das Gerät vorher schon über die Bordfunktion von Windows per Bluetooth gekoppelt habe oder nicht, und auch nach über 15 Minuten Wartezeit nicht). Hast Du dafür mal einen Tip?
AntwortenLöschenGleiches Problem auch unter LinuxMint.
LöschenAuch unter Android wird nichts gefunden.
AntwortenLöschenMit dem gratis "Bluetooth LE Explorer" kann ich mich hingegen verbinden und u.a. auch die Firmwareversion auslesen.
https://www.microsoft.com/de-de/p/bluetooth-le-explorer/9n0ztkf1qd98?activetab=pivot:overviewtab
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenGleiches Problem. Im Chrome Browser hat bei mir die Freigabe "chrome://flags/#enable-experimental-web-platform-features" gefehlt. Danach funktioniert der TelinkFlasher sofort. Ich habe das auf meinem Raspberry Pi4b erledigt, da hier die BLE Hardware vorhanden ist und funktioniert.
AntwortenLöschenHi, super Arbeit und ich bin schon sehr gespannt, die Thermometer in Home Assistant einzubinden. Leider habe ich wohl die neue V9 Hardware erwischt und das Flashen klappt demzufolge (noch?) nicht. Würde mich freuen, wenn Du das Flashen auch für die neuen Geräte implementierst. Aber auch so sollten sie sich ja in EspHome integrieren lassen.
AntwortenLöschenDanke und Gruß,
Merc
Hi Aaron,
AntwortenLöschennachdem das mit den Thermometern so vorzüglich geklappt hat, habe ich mir noch ein paar der Qingping Bewegungssensoren bestellt und versucht, da auch den Bind Key zu bekommen. Das scheint leider nicht zu funktionieren. Hast Du dazu evtl noch einen Tip?
Vielen Dank,
Merc
Dieser Kommentar wurde vom Autor entfernt.
AntwortenLöschenGibt es eine Android App um das Thermometer mit der Custom FW zu loggen?
AntwortenLöschenHallo Aaron,
AntwortenLöscheneigentlich werden mir auf Android 10 und Chrome mit der Freigabe "chrome://flags/#enable-experimental-web-platform-features" die Daten angezeigt. Auch das anmelden und Loginläuft korrekt ab. Leider aber kann ich die Firmware nicht auswählen, da sofort der Fehler erscheint, dass "Diese Aktion kann von keiner APP ausgeführt werden".
Hast Du einen Tipp?
Hi, I saw your video, and I'm wonder if it's possible doing the same with the Xiaomi door sensor 2 MCCGQ02HL!?
AntwortenLöschenRegards
Hi
AntwortenLöschenI have bought the meawow c122. I think it has the same hardware as Xiaomi Thermometer LYWSD03MMC
See https://meawow.com/product/thermo-hygrometer/mho-c122/
Any chance I can try to flash it?
Guten Morgen,
AntwortenLöschenvielen Dank für deine Mühen. Leider schaffe ich es beim Auslesen des BindKeys (Webseite Edge,W11) immer nur bis zum Schritt der Aktivierung:
"Activating now, please wait..." dieser Prozess endet aber nie. Vorher klappt alles, also ich bekomme auch den Key angezeigt. Aber in Home Assistant ist er dann falsch (wahrscheinlich weil die Aktivierung nicht abgeschlossen wurde).
Hat jemand eine Idee, was ich tun könnte?