
Il NIBE SMO S40 è un modulo di controllo a parete per sistemi di pompe di calore NIBE aria/acqua (F2040, F2120, F2030, F2300, HBS 05, AMS 10). Dispone di display touchscreen, connettività WiFi ed Ethernet e server Modbus TCP integrato. TapHome si collega direttamente tramite la rete locale — non è necessario alcun gateway aggiuntivo.
Il template fornisce 26 dispositivi che coprono il monitoraggio delle temperature (esterna, ambiente, mandata, ritorno, acqua calda), il controllo dell’impianto di riscaldamento (curva di riscaldamento, offset curva, gradi-minuto), la selezione della richiesta di acqua calda, il monitoraggio della modalità operativa e della priorità, il monitoraggio della portata, i sensori di corrente del monitor di carico, lo stato della pompa e la gestione degli allarmi.
Collegamento hardware
L’SMO S40 dispone di una porta RJ45 Ethernet (XF8) sull’unità display (AA4) e WiFi integrato (2,4 GHz). Collegarlo alla stessa rete locale di TapHome Core utilizzando un cavo Ethernet standard o il WiFi.
- Protocollo: Modbus TCP
- Porta: 502
- Slave ID predefinito: 1
- Rete: Ethernet (XF8) o WiFi (2,4 GHz, 802.11)
La morsettiera RS-485 X9 (pin 4=A, 5=B, 6=GND) è utilizzata esclusivamente per la comunicazione tra l’SMO S40 e le pompe di calore NIBE collegate. Non utilizzare X9 per TapHome — utilizzare la porta Ethernet (XF8) o il WiFi per Modbus TCP.
Layout dei componenti

Connettori chiave per l’integrazione con TapHome:
| Connettore | Posizione | Funzione |
|---|---|---|
| XF8 | Unità display (AA4) | Ethernet — comunicazione Modbus TCP con TapHome |
| X9:4–6 | Scheda di collegamento (AA100) | Bus RS-485 verso le pompe di calore collegate (A, B, GND) — non per TapHome |
| X10 | Scheda di collegamento (AA100) | Ingressi sensori (BT1, BT50, BT6, BT7, BT25, BT71, AUX) |
| X11 | Scheda di collegamento (AA100) | GND comune per tutti gli ingressi sensori |
| X14 | Scheda di collegamento (AA100) | Sensori di corrente del monitor di carico (BE1, BE2, BE3) |
Cablaggio dei sensori


Tutti i sensori di temperatura si collegano alla morsettiera X10 con GND comune su X11. Utilizzare cavi di min. 0,5 mm² fino a 50 m (EKKX, LiYY o equivalente). Non posare i cavi dei sensori e di comunicazione accanto ai cavi di alimentazione.
| Pin (X10) | Sensore | Registro | Descrizione |
|---|---|---|---|
| 1 | BT1 | A:1 | Temperatura esterna — posizionare in ombra sulla parete nord/nord-ovest |
| 2 | BT50 | A:26 | Temperatura ambiente — attivare nel menu 1.3, posizionare a 1,5 m dal pavimento |
| 3 | BT6 | A:9 | Carica acqua calda — posizionato nel tubo a immersione sullo scaldacqua |
| 4 | BT7 | A:8 | Acqua calda parte superiore — nella parte superiore del serbatoio |
| 5 | BT25 | A:39 | Temperatura della linea di mandata esterna |
| 6 | BT71 | A:88 | Temperatura della linea di ritorno esterna |
I sensori di corrente del monitor di carico (BE1–BE3) sono collegati alla morsettiera X14 con GND su X13. Ogni sensore è un TA (trasformatore amperometrico) installato sul conduttore di fase in ingresso.
Configurazione
Attivazione della comunicazione Modbus
Il Modbus TCP si attiva tramite il menu installatore. Sono necessari i seguenti passaggi:
- Connessione alla rete — collegare un cavo Ethernet a XF8, oppure configurare il WiFi nel menu 5.2.1
- Configurazione TCP/IP — nel menu 5.2, selezionare Automatico (DHCP) o Manuale (IP statico, maschera di rete, gateway, DNS)
- Attivazione Modbus TCP/IP — navigare al menu 7.5.9 e impostare Modbus TCP/IP su On
- Verifica dello stato di rete — controllare il menu 3.1.13 (“Connessioni”) per l’indirizzo IP assegnato
Per il supporto Modbus TCP è richiesta la versione software 2.2.1 o successiva. I registri disponibili dipendono dagli accessori installati e attivati.
Durante l’importazione del template in TapHome, specificare:
- Indirizzo IP — l’IP dell’SMO S40 sulla rete locale
- Slave ID — indirizzo Modbus slave (predefinito: 1)
Assegnare un indirizzo IP statico all’SMO S40 o creare una prenotazione DHCP nelle impostazioni del router. L’unità non supporta mDNS, quindi un indirizzo IP variabile interromperà la connessione.
L’SMO S40 può esportare la lista dei registri su chiavetta USB. Inserire una chiavetta USB e accedere al menu 7.5.9 → “Export most used registers” o “Export all registers” (formato CSV). Utile per verificare quali registri sono disponibili sull’installazione specifica.
Capacità dei dispositivi
Il template espone 26 dispositivi organizzati in sei gruppi funzionali: monitoraggio temperature, controllo impianto di riscaldamento, gestione acqua calda, stato del sistema, monitoraggio portata e pompe e monitoraggio elettrico.
Monitoraggio temperature
Sei sensori di temperatura forniscono un quadro termico completo dell’impianto di riscaldamento:
- Temperatura esterna (BT1) — temperatura dell’aria esterna dal sensore BT1 (registro A:1, Int16, fattore 10). Posizionare il sensore in ombra su una parete esposta a nord o nord-ovest.
- Temperatura ambiente (BT50) — temperatura dell’aria nella stanza (registro A:26, Int16, fattore 10). Deve essere attivata nel menu 1.3. Posizionare a 1,5 m dal pavimento su una parete interna libera.
- Temperatura linea di mandata esterna (BT25) — temperatura della linea di mandata dopo la pompa di calore (registro A:39, Int16, fattore 10). Indica alla pompa di calore quando iniziare a produrre riscaldamento o raffreddamento.
- Temperatura di ritorno (BT71) — temperatura della linea di ritorno (registro A:88, Int16, fattore 10). Utilizzata per verificare la corretta regolazione del sistema climatico.
- Temperatura acqua calda superiore (BT7) — temperatura nella parte superiore del serbatoio dell’acqua calda (registro A:8, Int16, fattore 10). Indica la temperatura dell’acqua calda disponibile.
- Temperatura di carica acqua calda (BT6) — temperatura del sensore di carica nel tubo a immersione (registro A:9, Int16, fattore 10). Controlla l’avvio/arresto della produzione di acqua calda.
Sono disponibili anche due temperature calcolate:
- Temperatura di mandata calcolata — la temperatura di mandata obiettivo calcolata dal regolatore (registro A:1017, Int16, fattore 10).
- Temperatura di mandata calcolata (raffreddamento) — temperatura di mandata obiettivo per la modalità raffreddamento (registro A:1567, Int16, fattore 10). Rilevante solo quando il raffreddamento è attivo.
Controllo impianto di riscaldamento
Il template fornisce il controllo diretto dei parametri della curva di riscaldamento:
- Curva di riscaldamento — coefficiente di lettura/scrittura che determina la relazione tra temperatura esterna e temperatura di mandata (registro H:26, Int16). Un valore più alto produce una curva più ripida e temperature di mandata più elevate a basse temperature esterne.
- Offset curva — offset parallelo di lettura/scrittura per la curva di riscaldamento (registro H:30, Int16). Un offset positivo sposta la temperatura di mandata verso l’alto, producendo ambienti più caldi.
- Gradi-minuto — indicatore di richiesta di riscaldamento in lettura/scrittura (registro H:18, Int16, fattore 10). Valori negativi indicano richiesta di calore; il compressore si avvia a una soglia configurabile (predefinita -60 DM). Intervallo: da -3000 a 100.
- Gradi-minuto (raffreddamento) — indicatore di richiesta di raffreddamento in lettura/scrittura (registro H:20, Int16). Valori positivi indicano richiesta di raffreddamento.
- Temperatura di mandata min — limite inferiore della temperatura della linea di mandata (registro H:34, Int16, fattore 10). Sola lettura.
- Temperatura di mandata max — limite superiore della temperatura della linea di mandata (registro H:38, Int16, fattore 10). Sola lettura. Protegge il riscaldamento a pavimento dal surriscaldamento.
Gestione acqua calda
- Richiesta acqua calda — selettore multivalore in lettura/scrittura per il livello di richiesta acqua calda (registro H:56, Int16). Valori: 0 = Piccola, 1 = Media, 2 = Grande, 3 = Controllo intelligente. Piccola/Media/Grande controllano i setpoint di temperatura dell’acqua calda; il Controllo intelligente utilizza un algoritmo adattivo.
Stato del sistema e controllo
- Modalità operativa — indicatore di sola lettura della modalità operativa corrente (registro H:237, Int16). Valori: 0 = Auto, 1 = Manuale, 2 = Solo riscaldamento ausiliario. La modalità Auto utilizza la temperatura esterna e i gradi-minuto per controllare automaticamente riscaldamento, raffreddamento e acqua calda.
- Priorità operativa — indicatore di sola lettura della priorità di sistema corrente (registro A:1028, Int16). Valori: 10 = Off, 20 = Acqua calda, 30 = Riscaldamento, 40 = Piscina, 60 = Raffreddamento.
- Numero allarme — codice allarme attivo, sola lettura (registro A:1975, UInt16). Il valore 0 indica nessun allarme. I codici allarme sono specifici del dispositivo — consultare il manuale installatore NIBE per le definizioni dei codici.
- Reset allarme — interruttore di lettura/scrittura per confermare e cancellare l’allarme attivo (registro H:22, Bool). Il valore si resetta automaticamente dopo la scrittura. Indagare sempre la causa dell’allarme prima del reset.
Stato della pompa
- Pompa di riscaldamento esterna (GP10) — stato on/off di sola lettura della pompa di circolazione esterna del fluido riscaldante (registro A:1066, Bool). GP10 è collegata al terminale X5:2.
- Velocità pompa di carica (GP12) — velocità di sola lettura della pompa di carica per la pompa di calore EB100 (registro A:1636, Int16). GP12 è la pompa di circolazione tra l’SMO S40 e la pompa di calore aria/acqua collegata.
Monitoraggio della portata
- Sensore di portata (BF1) — portata del fluido termovettore dal sensore di portata BF1, solo lettura (registro A:40, Int16, fattore 10, l/m). Sensore opzionale utile per il monitoraggio delle prestazioni dell’impianto di riscaldamento e la stima del COP.
Monitoraggio elettrico (monitor di carico)
Tre sensori di corrente monitorano i conduttori di fase in ingresso:
- Corrente fase 1 (BE1) — corrente fase 1 dal sensore CT BE1 (registro A:50, UInt32, fattore 10).
- Corrente fase 2 (BE2) — corrente fase 2 dal sensore CT BE2 (registro A:48, UInt32, fattore 10).
- Corrente fase 3 (BE3) — corrente fase 3 dal sensore CT BE3 (registro A:46, UInt32, fattore 10).
Il monitor di carico previene lo scatto dell’interruttore principale dell’edificio riducendo i gradini di riscaldamento ausiliario quando il consumo di corrente è elevato. Configurare la dimensione del fusibile nel menu 7.1.9.
Statistiche tempo di funzionamento
- Tempo di funzionamento totale riscaldamento ausiliario — ore di funzionamento cumulative del riscaldatore elettrico ausiliario (registro A:1025, Int32, fattore 10). Utile per monitorare l’utilizzo del riscaldamento ausiliario e l’efficienza energetica.
Capacità aggiuntive
L’SMO S40 espone in totale oltre 1400 registri. Oltre ai 26 dispositivi nel template, l’unità fornisce anche stato e tempo di funzionamento del compressore (EB100), conteggio avviamenti compressore, bitmask di stato corrente (flag riscaldamento/acqua calda/raffreddamento), misurazioni del flusso energetico (acqua calda, riscaldamento, piscina — solo compressore e compressore + riscaldamento ausiliario), letture contatore energia a impulsi (BE6/BE7), soglie gradi-minuto per avvio compressore e riscaldamento ausiliario, configurazione azioni allarme e controllo funzione vacanza. Questi possono essere aggiunti al template TapHome in un futuro aggiornamento.
Risoluzione dei problemi
Nessuna comunicazione Modbus
- Verificare che il cavo Ethernet sia collegato alla porta XF8 sull’unità display (non alla morsettiera RS-485 X9)
- Controllare il menu 7.5.9 — Modbus TCP/IP deve essere impostato su On
- Verificare l’indirizzo IP nel menu 3.1.13 (“Connessioni”)
- Assicurarsi che TapHome Core e l’SMO S40 siano sulla stessa rete/sottorete
- Confermare che nessun firewall blocchi la porta 502
- Verificare che la versione firmware sia 2.2.1 o successiva
L’indirizzo IP cambia dopo il riavvio
L’SMO S40 non supporta mDNS. Utilizzando DHCP, l’indirizzo IP potrebbe cambiare dopo un’interruzione di corrente o un rinnovo del lease. Creare una prenotazione DHCP nel router o configurare un IP statico nel menu 5.2.
Letture sensori mancanti
Non tutti i sensori sono installati di default. BT50 (sensore ambiente) deve essere attivato nel menu 1.3 dopo l’installazione fisica. BT6, BT7, BT25 e BT71 richiedono il collegamento del sensore corrispondente alla morsettiera X10. Se un sensore non è installato, il registro restituirà un valore predefinito o di errore.
Nota sull’indirizzamento dei registri
Il template TapHome utilizza la numerazione nativa dei registri NIBE. Le librerie della community (es. la libreria Python nibe) utilizzano un offset +1 per i registri di ingresso — ad esempio, BT1 è il registro 1 in TapHome ma il registro 30002 nella libreria. Questa è una nota differenza di convenzione NIBE, non un errore.
