Jeg ønsket meg flere signaler direkte inn til Home Assistant, og selv om Raspberry'n har mange IO så kan disse ikke brukes. Det fins mange ideer på nett, men felles er at de krever mye kløkt og er gjerne begrenset til bestemte releaser av Home Assistant. Så fant jeg muligheten til å benytte en ESP, som jo har mange IO, både digitale og analoge. Jeg har noen ESP-WROOM-32 men de fleste lignende kan vel brukes. Så jeg prøvde meg på den "enkleste", å bruke HACS.
Det fikk jeg ikke til, sannsynligvis pga manglende ressurser (RAM, CPU-kapasitet, ?) i min Raspberry 3B+.
For spesielt interesserte, Her er problemer og løsning av hva jeg gjorde, bare som eksempel på at man trenger ekspertise:
https://community.home-assistant.io/t/esphome-setup-yaml-file-not-in-config-esphome/682926/12
Det var en mix av flere metoder som gikk i konflikt med hverandre. Ikke gjør det slik... Jeg fjernet alle spor av ESP i Home Assistant og startet på ny.
Mitt utgangspunkt: Home Assistant kjører på Raspberry Pi 3B+. PC med Windows 10. ESP-WROOM-32.
Gjør det slik isteden
En grunn til at jeg lager denne beskrivelsen er at det er mange tråder som beskriver dette, men jeg fant ikke den røde tråden som ga meg rett vei gjennom, så jeg samlet denne oppskriften med referanse til de viktigste trådene. (En "ulempe" er at .yaml-fila blir liggende lokalt på din PC og ikke på Raspberry'n. Men det er greit for min del)
Manual steps- Første gang, beskrevet her:
https://esphome.io/guides/installing_esphome.html
Du må ha installert Python. Her står det beskrevet hvordan dette gjøres, og hvordan du deretter installerer ESPHome - Merk: Dette installerer verktøyet på din PC, ingenting er lagt på ESP'n enda. Følg denne oppskriften ned til og med sjekk av versjon.
Så til programmering av ESP32: ESP'n koples til PC'n med en USBkabel. (Kommando linje i Ledetekst (Cmd) er her indikert med ">")
https://esphome.io/guides/getting_started_command_line
ESPHome has a friendly setup wizard that will guide you through creating your first configuration file. For example, if you want to create a configuration file called livingroom.yaml:
> esphome wizard livingroom.yaml
Nå har du fått laget en .yaml-fil som er lagret på din PC. Den finner du på C:\Users\Navnetditt\ Det kan være litt upraktisk, jeg flyttet den til egen katalog under .\Documents\SmartHome\ Da må du også endre stien dit i vinduet for Ledetekst.
Det neste blir å kompilere og laste denne opp til ESP32: Dette må gjøres hver gang jeg endrer .yaml. Merk at dette kan ta et kvarters tid !
> esphome run livingroom.yaml
Når det er på plass får du beskjed:
This time when uploading, you don’t need to have the device plugged in through USB again. The upload will magically happen “over the air”. Using ESPHome directly, this is the same as from a USB cable.
For min del har det ikke alltid fungert, så da må jeg bruke kabel igjen.
Hva du kan legge i din .yaml-fil finner du en start til i linken over, https://esphome.io/guides/getting_started_command_line
og her er utgangspunktet / Index for det meste - ESPHome.io
Her må du eksperimentere, det er (for) mange muligheter og det beste er nok å leite opp eksempler og lære/bygge på disse.
Når ESP'n er oppdatert vil du finne den i Home Assistant som enhet og med entities som definert i .yaml-fila.
Noen ganger må man oppdatere til siste versjon. Sjekk din versjon:
> esphome version
Version: 2021.12.3
Eller, bruk:
> pip3 install -U esphome
Dersom du ikke har siste versjon så oppdateres esphome nå.
Info: https://esphome.io/guides/faq.html#how-do-i-update-to-the-latest-version
Hva som er endret siden sist finner du her:
https://esphome.io/changelog/
Noen ganger må også Python oppdateres, du får varsel og klartekst på hva du må gjøre:
[notice] A new release of pip is available: 23.3.2 -> 24.0
[notice] To update, run: python.exe -m pip install --upgrade pip
Annet:
More info on Esphome command line interface: https://esphome.io/guides/cli
Av en eller annen grunnn virker ESP32 dårlig på WiFi kanal 1-4, så ruteren må sette kanal til fex 5 eller høyere. Og båndbredde må settes fast til 20MHz.
Sjekke at .yaml er ok(ikke last opp): Esphome config livingroom.yaml
Merk at en modul med ESP32 montert benytter noen av IO for å styre Flash, WiFi og periferikretser samt styre boot. Disse bør helst ikke brukes med mindre man vet begrensningene. Det fins mange artikler om dette.
Noen opplever at ESP'n ikke kopler seg til nett uten at USB Serial er tilkoplet:
https://community.home-assistant.io/t/esp32-device-only-connecting-to-wi-fi-when-also-directly-connected-via-usb-serial/599885/4