Home Assistant
Come configurare e integrare un dispositivo ESPHome in Home Assistant
Configura un nodo ESPHome con YAML, API nativa cifrata, flash USB/OTA e integrazione locale in Home Assistant.
ESPHome è un sistema software che genera firmware da un file YAML per microcontrollori come ESP32 ed ESP8266. Il microcontrollore è l’hardware; ESPHome è il firmware/configuratore; l’integrazione ESPHome di Home Assistant usa la Native API per una connessione locale persistente. Questa guida crea un nodo base sicuro e lo aggiunge a Home Assistant senza assumere pin, sensori o tensioni che cambiano da una scheda all’altra.
Prerequisiti & Hardware Necessario
- Scheda compatibile ESPHome, per esempio ESP32 o ESP8266, con cavo USB dati e alimentazione conforme alla scheda.
- Home Assistant aggiornato, preferibilmente Home Assistant OS con l’app ESPHome Device Builder.
- Rete Wi-Fi 2,4 GHz se la scheda usa Wi-Fi, oppure Ethernet per hardware compatibile.
- Configurazione dei pin e tensioni dal datasheet della scheda. La logica GPIO è spesso 3,3 V, ma ingresso USB, regolatore e morsetti non sono intercambiabili.
- Nessun link d’acquisto viene inserito: la guida è software e non prescrive una specifica scheda.
Procedura passo-passo
- Identifica la scheda. Leggi modello del microcontrollore, tipo di porta USB, flash disponibile e schema dei pin. Non usare
esp32devo un GPIO solo perché compila: il modello della scheda e il pin reale devono corrispondere. - Installa ESPHome Device Builder. In Home Assistant OS apri Impostazioni → App → App store, installa ESPHome Device Builder, abilita Avvia all’avvio e apri l’interfaccia. Per Home Assistant Container/Core usa il metodo ESPHome compatibile con il tuo ambiente.
- Crea il file YAML del nodo. Sostituisci nome, piattaforma, scheda e credenziali. La chiave API deve essere diversa per ogni dispositivo:
Usa il bloccoesphome: name: nodo-esp32 friendly_name: Nodo ESP32 esp32: board: esp32dev framework: type: esp-idf logger: api: encryption: key: !secret api_encryption_key ota: - platform: esphome wifi: ssid: !secret wifi_ssid password: !secret wifi_password power_save_mode: none captive_portal:esp8266:e la board corretta se la scheda è ESP8266. Non copiare la piattaforma di un altro modello. - Inserisci i segreti. Nel file
secrets.yamldella configurazione ESPHome salva SSID, password Wi-Fi e una chiave API Noise PSK base64 di 32 byte:
Non condividerewifi_ssid: "NomeWiFi-2G4" wifi_password: "PASSWORD_WIFI" api_encryption_key: "CHIAVE_BASE64_UNICA_32_BYTE"secrets.yamlo il YAML completo con le credenziali. - Valida e compila. Nel Device Builder apri il nodo e seleziona Validate. Correggi errori YAML, schema della scheda e componenti prima di compilare. La compilazione non dimostra che i pin o l’alimentazione siano corretti.
- Installa il firmware. Per il primo flash usa USB e il metodo proposto dal Device Builder. Se il browser non rileva la scheda, prova un cavo dati diverso o installa il driver USB-UART richiesto dal chip della scheda. Dopo il primo flash puoi usare OTA solo quando il dispositivo è già online e l’OTA è configurata.
- Collega il nodo alla rete. Alimenta la scheda secondo il suo manuale e attendi il collegamento Wi-Fi. Il nome mDNS sarà normalmente
nodo-esp32.local; una prenotazione DHCP è consigliata per la diagnostica. - Aggiungi l’integrazione ESPHome. In Home Assistant apri Impostazioni → Dispositivi e servizi. Se il nodo è scoperto, selezionalo; altrimenti aggiungi ESPHome manualmente e inserisci hostname/IP. La porta predefinita della Native API è
6053/TCP. - Inserisci la chiave di cifratura. Quando richiesta, usa la stessa
api.encryption.keydel firmware. La chiave è una stringa base64 codificata di 32 byte; la vecchia opzionepasswordè deprecata. Non lasciare l’API senza cifratura su una rete non fidata. - Aggiungi componenti hardware dopo il nodo base. Inserisci sensori, binary sensor, switch o light solo dopo aver validato il collegamento. Per ogni GPIO consulta schema e datasheet; evita GPIO di boot, flash o seriale quando la scheda li usa internamente.
- Limita le azioni Home Assistant. Nell’opzione dell’integrazione abilita Allow the device to perform Home Assistant actions solo per nodi fidati che devono richiamare azioni. I log possono essere sottoscritti solo quando servono per diagnostica.
- Aggiorna con cautela. Prima di aggiornare ESPHome o il firmware esporta YAML e backup Home Assistant. Dopo l’OTA verifica API, entità e comportamento del microcontrollore; mantieni un metodo USB per il recupero.
Verifica del funzionamento
- In ESPHome esegui Validate e poi compila senza errori.
- In Home Assistant verifica che il nodo sia disponibile e che la connessione Native API sia cifrata.
- Controlla che il dispositivo riappaia dopo un riavvio e che il nome resti univoco.
- Se hai aggiunto un sensore o un relay, modifica il valore/attuatore e osserva l’aggiornamento in tempo reale.
- Disconnetti temporaneamente Internet lasciando attiva la LAN: l’integrazione locale deve continuare a funzionare.
Problemi comuni
| Problema | Causa | Soluzione |
|---|---|---|
| La compilazione fallisce | Board, sintassi YAML o componente non compatibile. | Confronta piattaforma e board con il datasheet e correggi l’errore indicato dal validatore. |
| Il primo flash non parte | Cavo solo alimentazione, driver USB-UART o bootloader. | Usa un cavo dati, installa il driver richiesto e ripeti la modalità flash prevista dalla scheda. |
| Nodo non scoperto | Wi-Fi, mDNS, VLAN o IP errato. | Controlla log seriali, DHCP e routing; aggiungi manualmente l’IP nell’integrazione ESPHome. |
| Errore di autenticazione API | Chiave nel firmware diversa da quella inserita in Home Assistant. | Copia la stessa chiave base64 da una fonte protetta e aggiorna il nodo; non usare password casuali. |
| OTA non disponibile | Nodo offline, rete cambiata o firmware senza OTA. | Usa USB, ripristina Wi-Fi/API e abilita OTA solo dopo il collegamento iniziale. |
| GPIO o sensore non funzionano | Pin errato, logica 3,3 V/5 V incompatibile o alimentazione insufficiente. | Consulta datasheet e schema, misura senza cortocircuitare e non applicare 5 V a un GPIO 3,3 V. |
FAQ essenziali
ESPHome usa MQTT?
Non è necessario. La Native API ESPHome comunica direttamente con Home Assistant sulla porta predefinita 6053/TCP. MQTT resta un percorso alternativo se il progetto lo richiede.
Posso usare la stessa chiave API su più dispositivi?
È sconsigliato. Genera una chiave unica per ogni nodo: in caso di compromissione puoi sostituire una sola credenziale.
Prodotti consigliati
Hardware pertinente alla guida
I collegamenti portano alle pagine dei prodotti indicati. Il prezzo Amazon, quando disponibile, proviene dall’API ufficiale ed è aggiornato con data e ora; prezzo e disponibilità finali sono quelli della pagina Amazon.