---
title: "Nibe SMO S40 Regolatore Pompa di Calore"
description: "Regolatore pompa di calore Nibe SMO S40 collegato a TapHome tramite Modbus TCP. Monitoraggio temperature, curva di riscaldamento, richiesta acqua calda e gradi minuto."
url: "https://taphome.com/it/compatibility/nibe-smo-s40/"
language: it
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-tcp","heat-pump","ethernet","wifi","heating-curve","degree-minutes","hot-water"]
  questions: ["Come integrare Nibe SMO S40 con TapHome?","Cosa monitora e controlla il template Nibe SMO S40 in TapHome?","Come collegare Nibe SMO S40 tramite Modbus TCP a TapHome?","Come attivare Modbus TCP sul Nibe SMO S40?","Come regolare la curva di riscaldamento sull'SMO S40 tramite TapHome?","Quali sensori legge il template Nibe SMO S40 di TapHome?"]
---

# Nibe SMO S40 Regolatore Pompa di Calore

Comunicazione: Modbus TCP

- [Sito ufficiale Nibe](https://www.nibe.eu/)

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)

> [!WARNING]
> 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

![Nibe SMO S40 posizioni dei componenti e layout delle morsettiere](https://taphome.com/images/compatibility/nibe-smo-s40/pcb-layout-p011_hu_ccc4b5d6c0dfcec9.jpg)

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

![Nibe SMO S40 cablaggio pompa di carica e sensori — sensore esterno BT1, carica acqua calda BT6](https://taphome.com/images/compatibility/nibe-smo-s40/wiring-sensors-p020_hu_4aa9d6394cacd375.jpg)

![Nibe SMO S40 cablaggio sensori — BT7, BT25, BT71, BT50, contatore energia, monitor di carico](https://taphome.com/images/compatibility/nibe-smo-s40/wiring-sensors-p021_hu_1def312733cf6a75.jpg)

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:

1. **Connessione alla rete** — collegare un cavo Ethernet a XF8, oppure configurare il WiFi nel menu 5.2.1
2. **Configurazione TCP/IP** — nel menu 5.2, selezionare Automatico (DHCP) o Manuale (IP statico, maschera di rete, gateway, DNS)
3. **Attivazione Modbus TCP/IP** — navigare al menu **7.5.9** e impostare Modbus TCP/IP su **On**
4. **Verifica dello stato di rete** — controllare il menu 3.1.13 ("Connessioni") per l'indirizzo IP assegnato

> [!NOTE]
> 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)

> [!TIP]
> 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.

> [!TIP]
> 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 sette gruppi funzionali: monitoraggio temperature, controllo impianto di riscaldamento, gestione acqua calda, stato del sistema, monitoraggio portata e pompe, monitoraggio elettrico e statistiche delle ore di funzionamento.

### 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

1. Verificare che il cavo Ethernet sia collegato alla porta XF8 sull'unità display (non alla morsettiera RS-485 X9)
2. Controllare il menu 7.5.9 — Modbus TCP/IP deve essere impostato su **On**
3. Verificare l'indirizzo IP nel menu 3.1.13 ("Connessioni")
4. Assicurarsi che TapHome Core e l'SMO S40 siano sulla stessa rete/sottorete
5. Confermare che nessun firewall blocchi la porta 502
6. 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) numerano i registri di ingresso da 30001 e aggiungono un offset +1 — ad esempio, BT1 è il registro 1 in TapHome ma il registro 30002 nella libreria. Questa è una nota differenza di convenzione NIBE, non un errore.

## Dispositivi disponibili

Nibe SMO S40 Modulo

Numero allarme Variabile Solo lettura

Codice allarme attivo — 0 significa nessun allarme; consultare il manuale installatore NIBE per le definizioni dei codici

Registro: A:1975 UInt16 numeric

Temperatura di mandata calcolata Sensore di temperatura Solo lettura

Registro: A:1017 (implicit) Int16 Unità: °C numeric

Temperatura di mandata calcolata (raffreddamento) Sensore di temperatura Solo lettura

Temperatura di mandata obiettivo per la modalità raffreddamento — rilevante solo quando il raffreddamento è attivo

Registro: A:1567 (implicit) Int16 Unità: °C numeric

Velocità pompa di carica (GP12) Variabile Solo lettura

Velocità della pompa di circolazione tra SMO S40 e la pompa di calore aria/acqua collegata

Registro: A:1636 Int16 Unità: % numeric

Corrente fase 1 (BE1) Variabile Solo lettura

Registro: A:50 UInt32 Unità: A numeric

Corrente fase 2 (BE2) Variabile Solo lettura

Registro: A:48 UInt32 Unità: A numeric

Corrente fase 3 (BE3) Variabile Solo lettura

Registro: A:46 UInt32 Unità: A numeric

Gradi-minuto Variabile

Indicatore di richiesta riscaldamento — valore negativo indica richiesta di calore; il compressore si avvia a soglia configurabile (predefinita -60 DM)

Registro: H:18 Int16 Unità: DM numeric

Gradi-minuto (raffreddamento) Variabile

Indicatore di richiesta raffreddamento — valore positivo indica richiesta di raffreddamento

Registro: H:20 Int16 Unità: DM numeric

Pompa di riscaldamento esterna (GP10) Interruttore Solo lettura

Stato on/off della pompa di circolazione esterna del fluido riscaldante

Registro: A:1066 Bool

Valori / Stati: ON · OFF

Temperatura linea di mandata esterna (BT25) Sensore di temperatura Solo lettura

Registro: A:39 (implicit) Int16 Unità: °C numeric

Sensore di portata (BF1) Sensore di temperatura Solo lettura

Portata del fluido riscaldante — utile per monitorare le prestazioni del sistema e la stima del COP

Registro: A:40 (implicit) Int16 Unità: l/m numeric

Curva di riscaldamento Variabile

Coefficiente della curva di riscaldamento — valore più alto significa curva più ripida e temperatura di mandata più alta a basse temperature esterne

Registro: H:26 Int16 numeric

Temperatura di carica acqua calda (BT6) Sensore di temperatura Solo lettura

Registro: A:9 (implicit) Int16 Unità: °C numeric

Richiesta acqua calda Interruttore multivalore

Livello richiesta acqua calda — Piccola, Media, Grande, Controllo intelligente

Registro: H:56 Int16 numeric

Valori / Stati: Piccola · Media · Grande · Controllo intelligente

Temperatura acqua calda superiore (BT7) Sensore di temperatura Solo lettura

Registro: A:8 (implicit) Int16 Unità: °C numeric

Offset curva Variabile

Offset parallelo della curva di riscaldamento — valore positivo sposta la temperatura di mandata verso l'alto per ambienti più caldi

Registro: H:30 Int16 numeric

Modalità operativa Interruttore multivalore Solo lettura

Modalità operativa corrente — Auto, Manuale, Solo riscaldamento ausiliario

Registro: H:237 Int16 numeric

Valori / Stati: Auto · Manuale · Solo riscaldamento ausiliario

Priorità operativa Variabile Solo lettura

Priorità di sistema corrente — Off, Acqua calda, Riscaldamento, Piscina, Raffreddamento

Registro: A:1028 Int16 numeric

Temperatura esterna (BT1) Sensore di temperatura Solo lettura

Registro: A:1 (implicit) Int16 Unità: °C numeric

Reset allarme Interruttore

Conferma e cancellazione dell'allarme attivo — indagare la causa prima del reset

Registro: H:22 Bool

Valori / Stati: ON · OFF

Temperatura di ritorno (BT71) Sensore di temperatura Solo lettura

Registro: A:88 (implicit) Int16 Unità: °C numeric

Temperatura ambiente (BT50) Sensore di temperatura Solo lettura

Registro: A:26 (implicit) Int16 Unità: °C numeric

Temperatura di mandata max Sensore di temperatura Solo lettura

Limite superiore della temperatura di mandata — protegge il riscaldamento a pavimento dal surriscaldamento

Registro: H:38 (implicit) Int16 Unità: °C numeric

Temperatura di mandata min Sensore di temperatura Solo lettura

Registro: H:34 (implicit) Int16 Unità: °C numeric

Tempo di funzionamento totale riscaldamento ausiliario Variabile Solo lettura

Ore di funzionamento cumulative del riscaldatore elettrico ausiliario

Registro: A:1025 Int32 Unità: h numeric

**Connessione:** Modbus TCP • Slave ID: $\[SlaveId]

Possibili miglioramenti (15)

- A:5 (S1155 only) Supply Temperature (BT2) — Supply line temperature — available on S1155/S1255, not in SMO S40 register set (uses BT25 external supply instead)
- A:87 Outgoing Hot Water (BT70) — Int16, /10, °C — hot water circulation outlet temperature
- H:97 DM Start Additional Heat — Int16, R/W — degree minutes threshold for starting additional electric heater
- H:159 DM Start Compressor — Int16, R/W — degree minutes threshold for starting compressor
- H:196 Alarm Action Lower Room Temperature — UInt8, R/W — alarm action when room temperature drops below threshold
- H:197 Alarm Action Lower HW Temperature — UInt8, R/W — alarm action when hot water temperature drops below threshold
- A:396 Pulse Energy Meter (BE7/BF3) — UInt32, /100, kWh — energy meter reading
- A:398 Pulse Energy Meter (BE6/BF2) — UInt32, /100, kWh — energy meter reading
- A:1083 Compressor Starts (EP14) — Int32 — total compressor start count
- A:1087 Compressor Runtime (EP14) — Int32, hours — total compressor operating time
- A:1575 Flow Measurement Hot Water (Cpr + Add) — UInt32, /10, kWh — total hot water energy including compressor and additional heat
- A:1577 Flow Measurement Total (Cpr + Add) — UInt32, /10, kWh — total heating energy including compressor and additional heat
- A:1585 Flow Measurement Heat (Cpr only) — UInt32, /10, kWh — heating energy from compressor only
- A:1121 (library 31121) Current Status Bitmask — UInt32 — bitmask: bit 12=Heating, bit 13=Hot Water, bit 14=HW Boost, bit 20=Cooling
- H:20 (library 40020) Holiday Function Status — Int8, R/W — enable/disable holiday function

## Fonti

- NIBE Modbus S-Series Technical Information (M12676EN)
  
  [assetstore.nibe.se](https://assetstore.nibe.se/hcms/v2.3/entity/document/878103/storage/ODc4MTAzLzAvbWFzdGVy) 2026-03-17
  
  [PDF](https://taphome.com/compatibility/devices/nibe-smo-s40/manufacturer/Modbus-S-series-EN-M12676EN-1.pdf)
- NIBE SMO S40 Installer Manual (IHB EN 2016-1, 431901)
  
  [www.nibe.eu](https://www.nibe.eu/assets/documents/30912/631927-1.pdf) 2026-03-17
  
  [PDF](https://taphome.com/compatibility/devices/nibe-smo-s40/manufacturer/installer-manual-IHB-EN-2016-1.pdf)
- Nibe Library — SMOS40 Register Map (GitHub)
  
  [github.com](https://github.com/yozik04/nibe) 2026-03-17

## Documentazione correlata

- [Modbus Integration](https://taphome.com/it/compatibility/modbus-guide/)
- [Modbus - Configurazione](https://taphome.com/it/docs/integration/modbus/)
- [Configurazione semplice utilizzando modelli](https://taphome.com/it/docs/integration/modbus/templates/)
- [Script Modbus e prefetch](https://taphome.com/it/docs/script/modbus-scripts/)
- [Funzioni Modbus](https://taphome.com/it/docs/script/modbus/)
- [Tipi di dati Modbus](https://taphome.com/it/docs/script/modbus-data-types/)

