01.09.2020

Custom Firmware für das 4€ Xiaomi Thermometer LYWSD03MMC

 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:

https://github.com/atc1441/ATC_MiThermometer

23 Kommentare:

  1. Just read the header, you're my hero! This is a big deal I think as that chip is ubiquitous in chinese BT gadgets.
    As 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.

    AntwortenLöschen
  2. Wow, even the Mi BLE Mesh provisioning has been cracked🥳. I've looked at this project long ago but it wasn't working.

    AntwortenLöschen
  3. Great 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öschen
  4. Moin,
    sehr 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.

    AntwortenLöschen
  5. Hello,
    after flashing it is not possible to connect to Mihome app. I activated "Mi like" in flasher but it doesnt help

    AntwortenLöschen
    Antworten
    1. Why would you connect to mihome after flash? Flashing is for breaking the chains of mihome

      Löschen
  6. Thanks for creating this - very much appreciated.

    I 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.

    AntwortenLöschen
  7. Benötigt der ioBroker die Werte als "Custom"-Werte oder als "Mi like"-Werte, oder ist es egal?

    AntwortenLöschen
    Antworten
    1. Bist 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.
      Einen 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.

      Löschen
  8. Interesting,
    is it possible to transfer information to it
    for example from other sensors

    AntwortenLöschen
  9. 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öschen
  10. Auch unter Android wird nichts gefunden.

    Mit 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

    AntwortenLöschen
  11. Dieser Kommentar wurde vom Autor entfernt.

    AntwortenLöschen
  12. Gleiches 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öschen
  13. Hi, 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.

    Danke und Gruß,

    Merc

    AntwortenLöschen
  14. Hi Aaron,
    nachdem 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

    AntwortenLöschen
  15. Dieser Kommentar wurde vom Autor entfernt.

    AntwortenLöschen
  16. Gibt es eine Android App um das Thermometer mit der Custom FW zu loggen?

    AntwortenLöschen
  17. Hallo Aaron,
    eigentlich 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?

    AntwortenLöschen
  18. Hi, I saw your video, and I'm wonder if it's possible doing the same with the Xiaomi door sensor 2 MCCGQ02HL!?
    Regards

    AntwortenLöschen
  19. Hi

    I 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?

    AntwortenLöschen
  20. Guten Morgen,
    vielen 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?

    AntwortenLöschen