Xiaomi luftfuktighet- og temperaturmåler i Home Assistant
Via ESP32-mikrokontroller
I dette innlegget ser jeg på hvordan jeg trådløst samler inn og viser temperatur og luftfuktighet i Home Assistant fra de fleste rom i huset. Jeg bruker Xiaomi LYWSD03MMC, ESP32 mikrokontroller og en Raspberry Pi med Home Assistant installert.
Dette innlegget er ikke helt ulikt det jeg skrev om Ruuvitag i Home Assistant. Prinsippet er det samme, man installerer ESPHome på en ESP32-mikrokontroller som samler inn dataene og sender de til Home Assistant.
Dette trenger du
- Home Assistant
- ESP32-mikrokontroller
- Xiaomi LYWSD03MMC
Hvorfor ESP32-mikrokontroller?
ESP32-mikrokontroller støtter både blåtann og trådløst nettverk. Den tar imot data fra termostatene via lavenergi blåtann og sender det videre via trådløst nettverk til Home Assistant.
Dette kan du
... eller finner ut av. Jeg kommer ikke til å gå i dybden på hverken Home Assistant eller ESPHome. Siden du allerede leser dette går jeg ut ifra at du allerede har Home Assistant kjørene. ESPHome er lett å få installert, enten som enkeltstående installasjon (kommandolinje) eller som en del av Home Assistant.
Temperaturmålere
Vi begynner med enheten som skal vise og sende temperaturen og luftfuktigheten, en Xiaomi LYWSD03MMC. Dette er en liten enhet som både viser og sender data via lavenergi blåtann.
De varierer voldsomt i pris avhengig av hvor man kjøper dem. Jeg har valgt å kjøpe mine billig fra AliExpress. Lang leveringstid men til en tidel av prisen til enkelte nettbutikker. Husk å kjøp batterier av typen CR2032 i samme slengen.
Ny fastvare
For at temperaturmåleren skal kunne kommunisere med ESPHome så må fastvaren byttes ut. Her er det noen kloke hoder som har skrevet ikke bare ny fastvare men også kommet opp med en nettside som gjør alt for oss. Forutsetningen er at man har en datamaskin med blåtann som også støtter lavenergi blåtann.
Utdypende dokumentasjon finnes på https://github.com/pvvx/ATC_MiThermometer
Hurtigguide
- Gå til https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html
- Sørg for at termostaten har batteri og er i nærheten av datamaskinen
- Huk av for Get Advertising MAC
- Trykk Connect og vent på at nettleseren finner termostaten
- Velg termostaten i listen over blåtannenheter
Det vil etter hvert dukke opp mye informasjon. Før du installerer ny fastvare så bør du ta vare på følgende:
- MAC adressen
- Bindkey
Så er et bare å trykke på knapp for installere ny fastvare. Det tar rundt et minutt før den er ferdig. Termostaten starter på nytt med ny fastvare installert.
ESPHome og ESP32
Jeg tar utgangspunkt i at du vet og kjenner til ESP32, har installert og kjører ESPHome. Hvis ikke så er det på tide å bli kjent med de to nå.
NB! Det er ulike måter å installere ESPHome på. Noen har den direkte i Home Assistant eller som meg via kommandolinjen. Jeg anbefaler deg å sette deg inn i alternativene i dokumentasjonen til ESPHome.
I mitt tilfelle kjører jeg ESPHome via kommandolinjen til Raspberry Pi. Siden min Raspberry Pi ikke er koble til skjerm, tastatur eller mus og befinner seg på et litt usentralt sted i huset så logger jeg meg inn via terminalen til en annen datamaskin.
På Raspberry Pi-en har jeg en egen mappe for ESPHome. I den mappen kjører jeg en enkel kommando:
esphome . dashboard
Så går jeg til http://[IP-adressen-til-Raspberry-Pi]:6052
NB! Hvis dette er første gangen du skal installere ESPHome på et ESP32-mikrokontroller så må den være fysisk tilkoblet via USB-kabel.
I oppsettet så må du legge til en ny sensor. Hvis ikke blåtann er aktivert så må det også gjøres. Her er et lite utdrag fra mitt oppsett:
esp32_ble_tracker:
sensor:
- platform: xiaomi_lywsd03mmc
mac_address: "A1:C9:12:98:2A:37"
bindkey: "f3d9df1f3c16f7c423875412bd6ed9b0"
temperature:
name: "Kjellerstue temperatur"
humidity:
name: "Kjellerstue fuktighet"
battery_level:
name: "Kjellerstue batterinivå"
Så er det bare å lagre og late opp ny kode til ESP32-mikrokontrolleren. Vises ikke termostaten med en gang? Termostaten sender fra seg signaler med jevne mellomrom. Så bare vent til den gjør det. Kun en enhet kan være koblet til termostaten via blåtann om gangen. Så det kan ta litt tid før ESP32 og termostaten blir venner. Men snart begynner den å samle inn data og sender videre til Home Assistant.