Xiaomi luftfuktighet- og temperaturmåler i Home Assistant

Via ESP32-mikrokontroller

Laster inn bilde
Bilde av temperaturmåler

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

  1. Gå til https://pvvx.github.io/ATC_MiThermometer/TelinkMiFlasher.html
  2. Sørg for at termostaten har batteri og er i nærheten av datamaskinen
  3. Huk av for Get Advertising MAC
  4. Trykk Connect og vent på at nettleseren finner termostaten
  5. 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.

Helge Johnsen

Dette er mitt private nettsted. Jeg jobber til daglig som seniorutvikler i et av Norges større konsulentbyråder. I denne bloggen skriver jeg om store og små ting som rører seg i min private verden. Bloggen består stort sett av tips, egne prosjekter og tanker. Les mer om meg her.

Har du noen tanker eller kommentarer om dette blogginnlegget så finner du meg på en rekke sosiale medier.