Xiaomi Temperature and Humidity Monitor 2 – firmware pro Homebridge
Pro úspěšné provedení výše uvedeného budeme potřebovat tyto věci:
- Teploměr Xiaomi Temperature and Humidity Monitor 2
- Počítač nebo Mac s podporou Bluetooth 4.0
- Webový prohlížeč Google Chrome
- Stažený firmware ATC_MiThermometer – poslední verze souboru
ATC_Thermometer.bin
Krok č. 1 – Instalace závislostí a povolení přístupu k Bluetooth pro Homebridge
Na začátku je nezbytné zajistit, aby byly nainstalované nezbytné komponenty. Připojíme se k Raspberry Pi prostřednictvím SSH a spustíme následující příkaz:
sudo apt-get install bluetooth bluez libbluetooth-dev libudev-dev
Následně je potřeba povolit, aby Homebridge mohl využívat Bluetooth. Pokud máme nastavené aliasy, můžeme na SSH využít příkaz HB_SHELL
pro přepnutí do terminálu Homebridge. Další možností je ve webovém rozhraní Homebridge kliknout na tlačítko ⋮
a následně na Terminál. Zde zadáme následující příkaz:
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)
Krok č. 2 – Instalace pluginu a základní nastavení
Nainstalujeme plugin homebrige-mi-hygrothermograph prostřednictvím webového rozhraní Homebridge . Po instalaci není potřeba nic nastavovat, stačí základní nastavení potvrdit tlačítkem Uložit
.
Následně je potřeba restartovat Homebridge v debug modu. To je možné prostřednictvím webového rozhraní, kliknutím na tlačítko ⋮
a následně na Homebridge nastavení
, kde následně zapneme možnost Homebridge Debug Mode
.
Po přepnutí na záložku Stav
bychom měli během chvíle v logu objevit podobné hlášení:
[1/22/2022, 9:41:09 AM] [Temperature & Humidity] [a4:c1:38:f6:7b:ba] Discovered peripheral Id: a4c138f67bba LocalName: undefined rssi: -78 serviceData: 50305b0509ba7bf638c1a40d1004e900e001
To znamená, že Homebridge už zařízení vidí, ale bohužel v této fázi s ním ještě nedokáže komunikovat. Z tohoto hlášení nás zajímá adresa zařízení, v tomto případě a4:c1:38:f6:7b:ba
. V případě, že máme zařízení víc, objeví se tato hlášení i pro všechna ostatní – s různými adresami zařízení.
Pole Bind Key
zůstává prázdné, při použití alternativního firmware se nevyplňuje.
Vrátíme se na záložku Pluginy
a v nastavení pluginu Homebridge Mi Hygrothermograph
vložíme adresu zařízení. Současně si zde můžeme zařízení pojmenovat. V případě, že máme více zařízení, kliknutím na tlačítko Add Accessory
přidáme další, kde opět vyplníme název a adresu zařízení.
Následně klikneme na tlačítko Uložit
a restartujeme Homebridge.
Krok č. 3 – Flashnutí firmware ATC_MiThermometer
Dalším krokem je samotné flashnutí alternativního firmware. Kromě toho, že odpadá problematické použití Bind Key, umožňuje pár dalších drobných nastavení jako například vypnutí zobrazování „smajlíka“ nebo zobrazení stavu baterie na displeji.
Samotné flashnutí probíhá prostřednictvím webového prohlížeče – důrazně doporučuji Chrome, s jinými prohlížeči jsem neuspěl. V Chrome je potřeba zapnout funkci Experimental Web Platform features. To provedeme tak, že do adresního řádku zadáme chrome://flags
, následně vyhledáme položku Experimental Web Platform features
a přepneme na možnost Enabled
.
Následně otevřeme webovou adresu https://atc1441.github.io/TelinkFlasher.html
Zde kliknutím na tlačítko Connect
spustíme vyhledávání okolních zařízení. V seznamu vyhledáme zařízení s názvem LYWSD03MMC a klikneme na tlačítko Spárovat.
Zde je potřeba trpělivost, může trvat několik desítek sekund, než se zařízení v seznamu objeví.
Následně sledujeme log v úplně spodní části stránky. Zde se objeví během půlminuty hlášky Detected Mi Thermometer
a následně Connected. Na displeji zařízení v tuto chvíli svítí symbol Bluetooth.
Následně v horní části klikneme na tlačítko Do Activation
počkáme několik sekund, než se vyplní pole Mi Token
. Pak v části Select Frimware
klikneme na tlačítko Vybrat soubor
, vyhledáme v počítači stažený soubor firmwaru ATCMiThermometer.bin
a potvrdíme kliknutím na tlačítko Start Flashing
.
Log ve spodní části by se měl plnit hláškami v podobném znění:
Activating now, please wait... Activation successfull Received device infos are correct Login Successfull File was selected, size: 64320 bytes Count: 4020 Start DFU Update done after 54.714 seconds Disconnected.
Po úspěšném flashnutí se na displeji zařízení objeví nápis Atc
. V tuto chvíli opět tlačítkem Connect
spustíme vyhledávání. Pokud jsme mezitím nezavřeli okno prohlížeče, bude stále v seznamu zařízení pod názvem LYWSD03MMC, v opačném případě ho najdeme v seznamu pod názvem ATC
. Opět klikneme na tlačítko Spárovat
a sledujeme log ve spodní části stránky, kde se tentokrát objeví hláška Detected Custom firmware
.
V tuto chvíli můžeme provádět nastavení alternativního firmwaru. Nezbytné pro funkčnost je nastavení Advertising Type
na hodnotu Mi Like
, aby si zařízení rozumělo s Homebridge pluginem.
Dále stojí za pozornost nastavení Smiley
, kterým nastavíme, v jaké podobě (a zda vůbec) chceme na displeji zobrazit „smajlíka„, a nastavení Show battery in LCD
, kterým si můžeme zapnout zobrazení stavu baterie přímo na displeji (pak se střídá ve spodní části displeje s vlhkostí).
Po dokončení nastavení stránku zavřeme a z displeje zařízení zmizí symbol Bluetooth. V tuto chvíli se můžeme vrátit do webového rozhraní Homebridge, kde bychom na záložce Stav
měli v logu objevit hlášky podobné těmto:
[1/22/2022, 9:41:09 AM] [Koupelna] [a4:c1:38:f6:7b:ba] Temperature: 23.3C
[1/22/2022, 9:41:09 AM] [Koupelna] [a4:c1:38:f6:7b:ba] Humidity: 48%
To značí úspěch. Nyní už jen opět vypneme debug mode Homebridge, opět kliknutím na tlačítko ⋮
a následně na Homebridge nastavení
, kde vypneme možnost Homebridge Debug Mode.
Nakonec Homebridge naposledy restartujeme a můžeme si plně užívat teploměrů v HomeKitu.
A pokud máte 3D tiskárnu, tak si na uvedený teploměr můžete vytisknout praktický stojánek nebo třeba držák:
$ s myšlenky na „$ s“
Děkuji za super návod. Jen 2 dotazy – jak blízko/daleko k Rpi musí tento teploměr být? Rpi mám v racku v technické, ale teploměr bych chtěl umístit jinam. Bránit bude nějaká ta příčka, dveře… „Uvidí“ to na sebe? A jak je to s baterií? Přece jen je tam jen CR2032, při neustálém bluetooth kontaktu moc dlouhá životnost asi nebude co?
Mám to doma, dosah jsou 10ky metru. RPi mam na chodbě a cidla v kazde mistnosti. Na zahradu do psi boudy to nedosahne, ale v ramci baraku (drevostavba) ano. Baterka vydrzi pul roku i vic. Muzes nastavit jak casto to odesila, tim se bat spori.
Děkuji za návod. Jen bych se chtěl zeptat…je potřeba flash toho FW? Protože na té stránce, kde se hledají jednotlivé zařízení, jde získat i ten BindKey.
zaujimave, ze pri pripojeni so stock firmware cez chrome vidime aj teplotu aj bind key, ale s custom firmware nie. kazdopadne mi to nejde ani so stock firmware a bind key, ani s custom firmware a mac adresami 😀