ESPHome

ESPHome on avoimen lähdekoodin projekti, jonka avulla on helppoa ohjelmoida ESP8266- ja ESP32-mikrokontrollereita käytettäväksi älykodin laitteina Home Assistantin kanssa: https://esphome.io

Keskeiset ominaisuudet

  • Käyttää YAML-muotoista määritystiedostoa laitteen toiminnan määrittelyyn
  • Tukee satoja antureita, releitä, näyttöjä, LED-nauhoja ym.
  • Mahdollistaa Wi-Fi-yhteyden ja MQTT- tai API-integraation
  • Tukee automaattista OTA (Over-The-Air) -päivitystä

Tyypilliset käyttökohteet

  • Lämpötila- ja kosteusmittarit (esim. DHT22)
  • Liikeilmaisimet, painikkeet, ovianturit
  • LED-ohjaus (WS2812, PWM, jne.)
  • Releohjaus, kuten valaistus tai sähkölaitteet

ESPHome tekee laitteista käytännössä Home Assistant -yhteensopivia plug-and-play-komponentteja ilman tarvetta kirjoittaa C/C++-koodia.

ESP mikrokontrollerin alustus

Kun ESPHome lisäosa on asennettu Home assistant:iin on uuden mikrokontrollerin alustus mahdollista tehdä suoraan Home Assistantista ”+ NEW DEVICE” nappulasta käyttäen Chromeen perustuvaa selainta.

Em. menetelmä toimii ainoastaan jos selain käynnistetään koneella, jolle Home Assistant on asennettu tai jos selainyhteys Home Assitant palveluun käyttää https-protokollaa.

Koska HA (Home Assistant) oletuksena asentuu käyttämään porttia 8123 ja http-protokollaa, alustan mikrokontrollerin käyttäen https://web.esphome.io/?dashboard_wizard palvelua.

ESPHome Dashboard Wizard

Avaa Chrome selaimella (tai Chromeen perustuvalla selaimella) osoite: https://web.esphome.io/?dashboard_wizard

Kytke ESP mikrokontrolleri USB kaapelilla tietokoneeseesi ja paina ”CONNECT” linkkiä. Tämän jälkeen sinulta kysytään mihin sarjaporttiin mikrokontrolleri on kytketty. Listan loppupuolelta pitäisi löytyä ”USB Serial (ttyUSBo)” valinta tai saman kaltaista.

Valitse ja paina ”Connect”. Tämän jälkeen valitse avautuvasta ikkunasta ”Prepare for first use”.

Valitse ”INSTALL”

Jos saat tämän jälkeen virheilmoituksen ”An error occurred. Improv Wi-Fi Serial not detected”, kokeile valita kolmen pisteen valikosta ”Configure WI-FI”.

Valitse ”CONNECT TO WI-FI”, jonka jälkeen voit tehdä tarvittavat asetukset.

Valitse ”CONNECT”.

Provisioinnin jälkeen paina ”CLOSE” ja irroita mikrokontrolleri hetkeksi USB kaapelista. Käynnistyttyään kontrolleri hakee itselleen IP-osoitteen WIFI-verkosta.

pfSense palomuurikone on tässä tapauksessa antanut mikrokontrollerille dynaamisen IP-osoitteen 192.168.2.125. Muutan osoitteen staattiseksi, jotta se ei vahingossa muutu myöhemmin joksikin toiseksi.

Kontrollerin liittäminen Home Assistant:iin

Valitse ”Settings” -> ”Devices & Services” -> ”ESPHome” -> ”ADD DEVICE”

Kirjoita kohtaan ”Host” aiemmin määrittämäsi staattinen IP-osoite. Tämän jälkeen voit antaa laitteelle nimen ja sen sijainnin.

Siirry ”ESPHome Builder” sivulle ja valitse ”+NEW DEVICE”

Valitse ”Continue” ja anna tämän jälkeen nimi luotavalle laitteelle.

Valitse käytettävän mikrokontrollerin tyyppi.

Lopuksi valitse ”Skip” koska laitetta ei ole kytketty USB-kaapelilla tietokoneeseen.

Nyt sinulla on ”ESPHome Builder” näkymässä laite, joka pitää vielä liittää aiemmin määrittämääsi laitteeseen.

Valitse ”EDIT” ja muokkaa avautuvaa koodia niin, että se sisältää tarvittavat yhteysasetukset jne.

esphome:
  name: weather-station
  friendly_name: weather-station

esp8266:
  board: esp01_1m

# Enable logging
logger:
    level: DEBUG

# Enable Home Assistant API
api:
   encryption:
     key: !secret api_encryption_key

ota:
  - platform: esphome
    # safe_mode: True
    password: !secret ota_password

wifi:
   networks:
     - ssid: !secret wifi_tv_room_ssid
       password: !secret wifi_password
     - ssid: !secret wifi_ssid
       password: !secret wifi_password
     - ssid: !secret wifi_garage_ssid
       password: !secret wifi_password
   manual_ip:
     static_ip: 192.168.2.96
     gateway: 192.168.2.1
     subnet: 255.255.255.0
   ap:
     ssid: "weather-station"
     password: "changemenow"

captive_portal:

Tämä jälkeen valise ”INSTALL”, jonka jälkeen koodi buildataan ja asennetaan laitteelle.

Tämän jälkeen laitteen tila muuttuu ”ONLINE:ksi”.

Tämän jälkeen alkaa varsinainen ohjelmistokehitys, josta kerron lisää sääasema-projektissa.