ESPHome ESPHome

ESPHome API Responses: come funziona la comunicazione bidirezionale

avatar di max novadi

Max Novadi

Marzo 2026 • 8 min read

ESP32 microcontroller per comunicazione bidirezionale con ESPHome e Home Assistant

Se hai gia usato ESPHome per flashare un ESP32 o un ESP8266, sai bene quanto sia potente questa piattaforma. Ma c’e una funzionalita che in molti sottovalutano: la possibilita di creare una comunicazione bidirezionale tra il dispositivo e Home Assistant usando le API native di ESPHome.

In questo articolo vediamo come funziona, come si configura e — soprattutto — come puoi sfruttarla nei tuoi progetti di domotica.

Cos’e la comunicazione bidirezionale in ESPHome

Quando parliamo di comunicazione bidirezionale con ESPHome, intendiamo la capacita del dispositivo di:

  • Ricevere comandi da Home Assistant (o da altri sistemi esterni)
  • Rispondere attivamente con dati, stati o feedback

Di default, ESPHome comunica con Home Assistant tramite l’API nativa (porta 6053), che e piu efficiente rispetto a MQTT per gli scenari tipici di uso domestico. Questa API consente non solo di esporre sensori e interruttori, ma anche di ricevere e rispondere a chiamate di servizio in modo strutturato.

Come funziona l’API nativa di ESPHome

L’API nativa di ESPHome e un protocollo binario basato su Protocol Buffers. Non e una REST API classica — ma ESPHome mette a disposizione anche un endpoint HTTP per chi preferisce un approccio piu standard.

Ci sono due modalita principali:

1. API nativa (porta 6053)

E quella attivata di default con:

YAMLEsempio configurazione
api:
password: "la_tua_password"

Home Assistant la usa automaticamente per il discovery e la comunicazione real-time con il dispositivo.

2. Web Server / REST API (porta 80)

ESPHome include un componente web_server che espone un’API HTTP RESTful. Puoi abilitarla cosi:

YAMLEsempio configurazione
web_server:
port: 80

Questo ti permette di interagire con il dispositivo tramite semplici richieste HTTP GET e POST — utile per integrazioni con n8n, script Python, o altri sistemi esterni a Home Assistant.

Comunicazione bidirezionale: un esempio pratico

Immagina di voler controllare un relay e ricevere la conferma dello stato aggiornato. Con il componente web_server attivo, puoi:

Leggere lo stato di un sensore:

GET http://192.168.1.100/sensor/temperatura

Risposta JSON:

{
  "id": "sensor-temperatura",
  "value": 23.4,
  "state": "23.4 °C"
}

Attivare un relay:

POST http://192.168.1.100/switch/relay_cucina/turn_on

Risposta:

{
  "id": "switch-relay_cucina",
  "state": "ON",
  "value": true
}

In questo modo il dispositivo non si limita a ricevere un comando, ma risponde con lo stato effettivo — chiudendo il ciclo della comunicazione bidirezionale.

Usare le User-Defined Services per risposte personalizzate

ESPHome permette di definire servizi personalizzati che possono essere chiamati da Home Assistant come se fossero normali servizi HA. Questo e uno degli strumenti piu potenti per la comunicazione bidirezionale avanzata.

YAMLEsempio configurazione
api:
services:
  - service: imposta_luminosita
    variables:
      luminosita: int
    then:
      - light.turn_on:
          id: luce_soggiorno
          brightness: !lambda "return luminosita / 100.0;"

Da Home Assistant puoi chiamare questo servizio con:

YAMLEsempio configurazione
service: esphome.nome_dispositivo_imposta_luminosita
data:
luminosita: 75

Il dispositivo esegue l’azione e aggiorna automaticamente lo stato nell’interfaccia di HA — bidirezionalita completa, senza polling.

Integrazione con sistemi esterni: n8n e REST

Se hai gia letto il nostro articolo sull’integrazione tra n8n e Home Assistant, sai quanto sia utile poter automatizzare flussi complessi. Le API HTTP di ESPHome si integrano perfettamente con n8n tramite il nodo HTTP Request:

  • URL: http://IP_DISPOSITIVO/switch/nome_switch/toggle
  • Metodo: POST
  • Risposta: JSON con lo stato aggiornato

Questo apre scenari interessanti: puoi creare automazioni che leggono uno stato da ESPHome, lo elaborano in n8n, e poi inviano un comando di ritorno — tutto in modo asincrono e senza bisogno di scrivere codice su HA.

Sicurezza: autenticazione sulle API

Se esponi le API di ESPHome sulla rete locale (o peggio, verso l’esterno), e fondamentale proteggere gli endpoint. Con il componente web_server puoi abilitare l’autenticazione di base:

YAMLEsempio configurazione
web_server:
port: 80
auth:
  username: admin
  password: "password_sicura"

Per l’API nativa, invece, usa sempre una password robusta e considera l’uso di un certificato SSL se accedi da fuori rete.

Quando usare l’API nativa e quando la REST API

ScenarioAPI consigliata
Integrazione con Home AssistantAPI nativa (porta 6053)
Controllo da script Python / n8nREST API (web_server)
Dashboard personalizzata esternaREST API
Automazioni HA con feedback real-timeAPI nativa + User Services
Debug rapido da browserREST API

Conclusione

Le ESPHome API Responses sono uno strumento potente e spesso sottoutilizzato. Con poche righe di YAML puoi trasformare un semplice ESP32 in un nodo intelligente capace di comunicare attivamente con il tuo ecosistema domotico — non solo ricevendo comandi, ma anche rispondendo con dati precisi e in tempo reale.

Che tu voglia integrare n8n, costruire una dashboard esterna, o semplicemente avere piu controllo sui tuoi dispositivi, la comunicazione bidirezionale con ESPHome e la strada giusta.

avatar di max novadi

Max Novadi

Blog writer specializzato in tecnologia e domotica.

Max si occupa di tendenze tecnologiche da oltre un decennio, con un'attenzione particolare alle automazioni domestiche e alla smart home, ambiti che ha approfondito in particolare con Home Assistant. Si interessa anche di intelligenza artificiale e delle sue applicazioni nella tecnologia consumer.

ESPHomeESP32ESP8266Home AssistantAPIDomoticaSmart Home