
Il template EMS-ESP Heat Pump collega TapHome a una pompa di calore Bosch, Buderus o IVT tramite un gateway EMS-ESP — un BBQKees Electronics Gateway E32 V2 che esegue il firmware open source EMS-ESP e si collega al bus EMS della pompa di calore. TapHome comunica con il gateway tramite la sua API REST HTTP locale (porta 80, JSON); non serve alcuna connessione al cloud. In EMS-ESP la pompa di calore compare come tipo di dispositivo boiler e il suo regolatore come tipo di dispositivo thermostat.
Il template legge la temperatura esterna, di mandata, di ritorno, ambiente e dell’acqua calda, lo stato del compressore, la potenza del compressore e i contatori di energia. Con un token di accesso imposta anche la modalità operativa del circuito di riscaldamento 1 (raffrescamento incluso), i setpoint ambiente e di raffrescamento e il setpoint dell’acqua calda.
Template della community — non ancora testato con TapHome. Il template è stato generato nel portale TapHome e scritto per EMS-ESP 3.8.6; non è ancora stato verificato su un’installazione reale. Scaricalo dal portale TapHome: EMS-ESP Heat Pump — template della community (scarica l’XML — senza accesso — e importalo come nuovo modulo).
Pompe di calore e regolatori compatibili
Due cose decidono se una pompa di calore funziona con questo template: EMS-ESP deve supportare la pompa di calore, e la pompa di calore e il suo regolatore devono inviare i valori che il template legge.
Pompe di calore coperte dal template:
- Bosch Compress 6000AW, Hybrid 3000-7000iAW
- Buderus WLW166i, WLW176i, WLW196i, WSW196i
- CS5800i, CS6800i
- Enviline, SupraEco, Geo 5xx
- IVT AirX e Geo con regolatore Rego 2000 o Rego 3000 — segnalate dagli utenti di EMS-ESP, non presenti nell’elenco ufficiale delle pompe di calore supportate da EMS-ESP
Il gateway funziona con le varianti di bus EMS, EMS Plus (EMS+), EMS2 e Heatronic 3.
Quali valori invia una determinata unità non è documentato per modello. La pagina Devices dell’interfaccia web di EMS-ESP mostra solo le entità che hanno un valore; un’entità che esiste in EMS-ESP ma non ha valore è supportata dal firmware, non dall’unità collegata. Lo stesso elenco è disponibile su http://<gateway-ip>/api/boiler/entities e http://<gateway-ip>/api/thermostat/entities.
Il raffrescamento richiede un regolatore che invii hc1.hpoperatingmode. EMS-ESP registra questa entità per la famiglia RC300 (RC310, HMC310, Rego 2000 / 3000) e per la famiglia BC400; se un regolatore specifico la invii davvero non è documentato. L’UI800 la riporta al livello superiore del termostato (/api/thermostat/hpoperatingmode) anziché sotto il circuito di riscaldamento 1, quindi il dispositivo della modalità operativa — e con esso il raffrescamento — non funziona con l’UI800.
Collegamento hardware
Il BBQKees Gateway E32 V2 KIT contiene il gateway, un cavo di servizio EMS da 150 cm, un cavo da 100 cm per i morsetti a vite EMS, un adattatore per la porta di servizio EMS, un alimentatore (12 V DC con jack o 5 V USB-C, a seconda del lotto di produzione) e un cavo JST ZH per sensori di temperatura DS18B20 propri. Il gateway si collega alla pompa di calore in uno di tre modi:
| Collegamento sulla pompa di calore | Cavo | Alimentazione |
|---|---|---|
| Presa di servizio EMS (3,5 mm) | cavo di servizio EMS da 150 cm | dalla presa di servizio |
| Presa di servizio EMS (3,5 mm) | cavo di servizio EMS da 150 cm | alimentatore esterno |
| Morsetti a vite del bus EMS | cavo da 100 cm per morsetti a vite EMS | alimentatore esterno (12 V DC o 5 V USB-C) |
La presa di servizio è un’opzione solo se la pompa di calore ne ha una. I gateway venduti dall’estate 2025 accettano entrambi i tipi di alimentatore. La BBQKees EMS Gateway Wiki mostra come collegare il gateway a una caldaia o pompa di calore specifica.
- Rete: Ethernet (RJ45) o Wi-Fi. EMS-ESP si collega solo a reti Wi-Fi a 2,4 GHz con WPA2, non a 5 GHz.
- Firmware: EMS-ESP. Il Gateway E32 V2 (in vendita da gennaio 2024) ha la PSRAM e usa la variante di firmware
ESP32-16MB+. Il firmware si aggiorna nell’interfaccia web di EMS-ESP in Settings → Version.
Configurazione
Prima configurazione di EMS-ESP
- Al primo avvio EMS-ESP apre un access point Wi-Fi
ems-esp(password WPAems-esp-neo). Un gateway collegato via Ethernet è raggiungibile all’indirizzo IP assegnatogli dal router. - Accedi con l’utente predefinito
admin/admine cambia la password. - In Settings → Network collega il gateway alla rete di casa (Wi-Fi o Ethernet).
- Nel router riserva un indirizzo IP fisso per il gateway (prenotazione DHCP) — il template indirizza il gateway tramite il suo indirizzo IP.
Impostazioni di EMS-ESP che contano
- Temperature in °C — lascia disattivata l’opzione „Convert temperature values to Fahrenheit” in Settings → Application. Il modulo lo controlla ogni 60 s e mostra un errore quando EMS-ESP riporta °F.
- Boolean Format, Enum Format e Language non contano. Il template legge le chiavi
indexebooldel dettaglio dell’entità EMS-ESP, che non dipendono da queste impostazioni, e scrive i testi inglesi delle opzioni, che EMS-ESP accetta in ogni lingua. - Firmware 3.8 — il modulo mostra un avviso quando il gateway riporta una versione al di fuori della serie 3.8. I nomi delle entità usati dal template sono cambiati nella 3.7.0 (
ww→dhwannidato) e nella 3.7.2 (remoteseltemp→cooltemp); tra la 3.8.0 e la 3.8.6 non sono cambiati.
Token di accesso per le scritture
La lettura non richiede autenticazione. La scrittura — modalità operativa, setpoint ambiente, di raffrescamento e dell’acqua calda — richiede il token di accesso EMS-ESP di un utente con diritti di amministratore:
- Apri l’interfaccia web di EMS-ESP → Settings → Security → Manage Users.
- Fai clic sull’icona della chiave di un utente con diritti di amministratore e copia il token. Il token non ha data di scadenza.
- Incolla il token nel parametro di importazione
AccessTokendurante l’importazione del template.
Senza token l’integrazione è di sola lettura e ogni scrittura termina con l’errore 401. Non attivare invece „Bypass Access Token authorization on API calls” in EMS-ESP — rende l’API aperta e la documentazione di EMS-ESP lo sconsiglia.
Parametri di importazione
| Parametro | Descrizione |
|---|---|
IpAddress | Indirizzo IP del gateway EMS-ESP |
AccessToken | Token di accesso EMS-ESP di un utente amministratore — necessario solo per le scritture; lascialo vuoto per un’integrazione di sola lettura |
Funzionalità dei dispositivi
Circuito di riscaldamento 1
- Modalità operativa della pompa di calore — Spento, Auto, Riscaldamento o Raffrescamento per il circuito di riscaldamento 1. In questo template è l’unico modo per passare la pompa di calore al raffrescamento (vedi i limiti dei regolatori sopra).
- Termostato ambiente — temperatura ambiente attuale e impostata del circuito di riscaldamento 1 come riportata dal regolatore. L’intervallo del setpoint è 0–30 °C a passi di 0,5 °C.
- Temperatura di raffrescamento — impostazione della temperatura di raffrescamento del circuito di riscaldamento 1, leggibile e scrivibile da −1 a 30 °C a passi di 0,5 °C.
Il dispositivo termostato ambiente è limitato a 0–30 °C. La temperatura di raffrescamento viene inviata a EMS-ESP senza modifiche, quindi mantienila tra −1 e 30 °C.
Stato della pompa di calore
- Attività del compressore — cosa sta facendo il compressore: Spento, Riscaldamento, Raffrescamento, Acqua calda, Piscina, Riscaldamento piscina, Sbrinamento o Allarme compressore. È uno stato di sola lettura; selezionare un valore in TapHome non ha effetto.
- Compressore in funzione — indicatore acceso/spento, acceso mentre il compressore è in funzione.
Temperature
- Temperatura esterna, Temperatura di mandata e Temperatura di ritorno come riportate dalla pompa di calore, con una risoluzione di 0,1 °C.
Energia
- Contatore elettrico — la potenza è la potenza elettrica attuale del compressore (EMS-ESP riporta W, TapHome mostra kW); il consumo totale è il consumo totale di energia elettrica della pompa di calore in kWh. Le fonti non dicono se questo totale comprende la resistenza elettrica integrativa, quindi la potenza integrata nel tempo può non coincidere con esso.
- Calore fornito [kWh] (attributo di servizio del contatore elettrico) — energia termica totale fornita dalla pompa di calore. È energia termica, non consumo di elettricità.
Acqua calda sanitaria
- Acqua calda sanitaria — temperatura dell’acqua calda attuale e impostata della pompa di calore. L’intervallo del setpoint del dispositivo è 35–70 °C, il setpoint viene inviato in gradi interi e la pompa di calore applica i propri limiti. Il template usa i valori dell’acqua calda della pompa di calore, non le impostazioni dell’acqua calda del regolatore (
dhw.settemp,dhw.mode).
Come il template comunica con EMS-ESP
Ogni dispositivo legge i propri valori con una richiesta HTTP GET per entità su /api/<device>/[hc1/|dhw/]<entity> e prende la chiave value, index o bool della risposta. I dispositivi interrogano ogni 30 s (temperatura esterna e contatore elettrico ogni 60 s); il modulo legge /api/system/info ogni 60 s. Le scritture sono richieste HTTP POST con un corpo JSON e il token di accesso nell’intestazione Authorization: Bearer.
EMS-ESP 3.8.3 e versioni successive rispondono 429 Too Many Requests a una GET che arriva meno di 50 ms dopo la chiamata API precedente. Il template quindi attende 60 ms prima di ogni GET e, con 429, ripete la richiesta una volta dopo 200 ms. Un altro client che interroga l’API di EMS-ESP nello stesso momento (per esempio un secondo sistema di domotica) può comunque causare occasionalmente una ripetizione.
Perché REST e non Modbus. EMS-ESP offre anche Modbus TCP (dalla 3.7.0, solo su schede con PSRAM) e MQTT. Gli offset dei registri Modbus di EMS-ESP sono cambiati tra le versioni stabili 3.8.0 e 3.8.6, quindi un template Modbus leggerebbe silenziosamente altri valori dopo un aggiornamento del firmware del gateway. L’API REST indirizza i valori per nome — un’entità rinominata termina con un errore del dispositivo visibile.
Risoluzione dei problemi
Errore del dispositivo „no value from the gateway”
Il messaggio „no value from the gateway — this controller or unit does not report it; delete this device” significa che la pompa di calore o il regolatore collegati non inviano questa entità. Controlla la pagina Devices di EMS-ESP oppure http://<gateway-ip>/api/boiler/entities e http://<gateway-ip>/api/thermostat/entities, poi elimina il dispositivo dopo l’importazione — gli altri dispositivi continuano a funzionare.
Errore del dispositivo 404
Un 404 con un messaggio come no 'xyz' in thermostat significa che EMS-ESP non conosce l’entità su questo percorso — il regolatore non ce l’ha (per esempio hc1.hpoperatingmode su un UI800) oppure il firmware usa un altro nome. unknown device significa che EMS-ESP non ha rilevato sul bus EMS una pompa di calore o un regolatore di quel tipo.
La scrittura termina con l’errore 401
Il token di accesso manca o è errato. Copialo di nuovo da Settings → Security → Manage Users → icona della chiave di un utente amministratore e inseriscilo nella variabile AccessToken del modulo. Il token deriva dal nome utente e dalla password del super utente in Settings → Security → Security Settings.
Errore 429
Un altro client interroga l’API di EMS-ESP nello stesso istante. Il template distribuisce già nel tempo le proprie richieste e le ripete una volta; se l’errore si ripete, riduci la frequenza di interrogazione dell’altro client.
Errore o avviso del modulo
- „EMS-ESP reports °F” — disattiva Fahrenheit in Settings → Application.
- „Template written for EMS-ESP 3.8.6, gateway reports …” — il gateway esegue un firmware al di fuori della serie 3.8. Aggiorna EMS-ESP in Settings → Version.
Errore del contatore elettrico su nrgtotal
Un’unità senza misurazione del calore non invia nrgtotal. Il contatore elettrico mostra allora un errore e l’attributo Calore fornito resta vuoto; potenza e consumo totale continuano a funzionare.
Gateway non raggiungibile
- Controlla il LED del gateway: 1 lampeggio blu durante l’avvio = bus EMS non ancora collegato (controlla il cavo e l’impostazione EMS Tx Mode), 2 lampeggi rossi = la rete si sta ancora collegando (controlla Settings → Network; il Wi-Fi deve essere a 2,4 GHz WPA2), luce fissa = i dati EMS arrivano.
- Apri
http://<gateway-ip>/api/system/infoin un browser — se risponde, il gateway è raggiungibile. - Se l’indirizzo IP è cambiato, trova il gateway tramite il nome mDNS
http://ems-esp.local, poi imposta una prenotazione DHCP nel router. - Usa
http://— l’API di EMS-ESP non supporta HTTPS con certificati autofirmati.
