TapHome

Nibe SMO S40 Heat Pump Controller

Modbus TCP
Trimis de
Ultima actualizare: 10. 2026
Nibe SMO S40 Heat Pump Controller

NIBE SMO S40 este un modul de control montat pe perete pentru sistemele cu pompe de căldură NIBE aer/apă (F2040, F2120, F2030, F2300, HBS 05, AMS 10). Are ecran tactil, conectivitate Wi-Fi și Ethernet și un server Modbus TCP integrat. TapHome se conectează direct prin rețeaua locală — nu este necesar niciun gateway suplimentar.

Șablonul oferă 26 de dispozitive care acoperă monitorizarea temperaturilor (exterioară, a camerei, pe tur, pe retur, a apei calde), controlul sistemului de încălzire (curba de încălzire, decalajul curbei, grade-minute), selectarea necesarului de apă caldă, monitorizarea modului de funcționare și a priorității, monitorizarea debitului, senzorii de curent ai monitorului de sarcină, starea pompelor și gestionarea alarmelor.

Conectarea hardware

SMO S40 are un port Ethernet RJ45 (XF8) pe unitatea de afișaj (AA4) și Wi-Fi integrat (2,4 GHz). Conectați-l la aceeași rețea locală ca TapHome Core, fie cu un cablu Ethernet standard, fie prin Wi-Fi.

  • Protocol: Modbus TCP
  • Port: 502
  • Slave ID implicit: 1
  • Rețea: Ethernet (XF8) sau Wi-Fi (2,4 GHz, 802.11)

Blocul de borne RS-485 X9 (pinii 4=A, 5=B, 6=GND) servește exclusiv comunicației dintre SMO S40 și pompele de căldură NIBE conectate. Nu folosiți X9 pentru TapHome — pentru Modbus TCP folosiți portul Ethernet (XF8) sau Wi-Fi.

Dispunerea componentelor
Nibe SMO S40 — pozițiile componentelor și dispunerea blocurilor de borne

Conectorii relevanți pentru integrarea cu TapHome:

ConectorAmplasareFuncție
XF8Unitatea de afișaj (AA4)Ethernet — comunicație Modbus TCP cu TapHome
X9:4–6Placa de conexiuni (AA100)Magistrala RS-485 către pompele de căldură conectate (A, B, GND) — nu pentru TapHome
X10Placa de conexiuni (AA100)Intrări pentru senzori (BT1, BT50, BT6, BT7, BT25, BT71, AUX)
X11Placa de conexiuni (AA100)GND comun pentru toate intrările de senzori
X14Placa de conexiuni (AA100)Senzori de curent ai monitorului de sarcină (BE1, BE2, BE3)
Cablarea senzorilor
Nibe SMO S40 — cablarea pompei de încărcare și a senzorilor: senzorul exterior BT1, încărcarea apei calde BT6
Nibe SMO S40 — cablarea senzorilor BT7, BT25, BT71, BT50, contor de energie, monitor de sarcină

Toți senzorii de temperatură se conectează la blocul de borne X10, cu GND comun pe X11. Folosiți cablu de minimum 0,5 mm² pe o lungime de până la 50 m (EKKX, LiYY sau echivalent). Nu pozați cablurile senzorilor și de comunicație alături de cablurile de forță.

Pin (X10)SenzorRegistruDescriere
1BT1A:1Temperatura exterioară — amplasați la umbră, pe un perete orientat spre nord/nord-vest
2BT50A:26Temperatura camerei — activați în meniul 1.3, amplasați la 1,5 m deasupra pardoselii
3BT6A:9Încărcarea apei calde — amplasat în teaca imersată a boilerului
4BT7A:8Apă caldă sus — în partea superioară a rezervorului
5BT25A:39Temperatura pe turul extern
6BT71A:88Temperatura pe returul extern

Senzorii de curent ai monitorului de sarcină (BE1–BE3) se conectează la blocul de borne X14, cu GND pe X13. Fiecare senzor este un transformator de curent (CT) de tip clește, montat pe un conductor de fază de alimentare.

Configurare

Activarea comunicației Modbus

Modbus TCP se activează din meniul instalatorului. Sunt necesari următorii pași:

  1. Conectați la rețea — conectați un cablu Ethernet la XF8 sau configurați Wi-Fi în meniul 5.2.1
  2. Configurați setările TCP/IP — în meniul 5.2 selectați Automat (DHCP) sau Manual (IP static, mască de rețea, gateway, DNS)
  3. Activați Modbus TCP/IP — mergeți la meniul 7.5.9 și setați Modbus TCP/IP pe On
  4. Verificați starea rețelei — în meniul 3.1.13 („Connections”) verificați adresa IP atribuită

Pentru suportul Modbus TCP este necesară versiunea de software 2.2.1 sau mai nouă. Registrele disponibile depind de accesoriile instalate și activate.

La importul șablonului în TapHome introduceți:

  • Adresa IP — adresa IP a SMO S40 în rețeaua locală
  • Slave ID — adresa Modbus slave (implicit: 1)

Atribuiți unității SMO S40 o adresă IP statică sau creați o rezervare DHCP în setările routerului. Unitatea nu suportă mDNS, așa că o adresă IP care se schimbă întrerupe conexiunea.

SMO S40 poate exporta lista de registre pe un stick USB. Introduceți un stick de memorie USB și mergeți la meniul 7.5.9 → „Export most used registers” sau „Export all registers” (format CSV). Este util pentru a verifica ce registre sunt disponibile în instalația respectivă.

Funcțiile dispozitivului

Șablonul expune 26 de dispozitive organizate în șapte grupuri funcționale: monitorizarea temperaturilor, controlul sistemului de încălzire, gestionarea apei calde, starea sistemului, monitorizarea debitului și a pompelor, monitorizarea electrică și statisticile timpului de funcționare.

Monitorizarea temperaturilor

Șase senzori de temperatură oferă o imagine termică completă a sistemului de încălzire:

  • Temperatură exterioară (BT1) — temperatura aerului exterior de la senzorul BT1 (registrul A:1, Int16, factor 10). Amplasați senzorul la umbră, pe un perete orientat spre nord sau nord-vest.
  • Temperatura camerei (BT50) — temperatura aerului din cameră (registrul A:26, Int16, factor 10). Trebuie activat în meniul 1.3. Amplasați-l la 1,5 m deasupra pardoselii, pe un perete interior liber.
  • Temperatură tur extern (BT25) — temperatura pe tur după pompa de căldură (registrul A:39, Int16, factor 10). Îi indică pompei de căldură când să înceapă producția de căldură sau de frig.
  • Temperatură retur (BT71) — temperatura pe retur (registrul A:88, Int16, factor 10). Servește la verificarea reglării corecte a sistemului de climatizare.
  • Temperatura apei calde sus (BT7) — temperatura în partea superioară a rezervorului de apă caldă (registrul A:8, Int16, factor 10). Indică temperatura apei calde disponibile.
  • Temperatura de încărcare a apei calde (BT6) — temperatura senzorului de încărcare din teaca imersată (registrul A:9, Int16, factor 10). Comandă pornirea/oprirea producției de apă caldă.

Sunt disponibile și două temperaturi calculate:

  • Temperatură calculată pe tur — temperatura țintă pe tur calculată de controler (registrul A:1017, Int16, factor 10).
  • Temperatură calculată pe tur (răcire) — temperatura țintă pe tur pentru modul de răcire (registrul A:1567, Int16, factor 10). Relevantă numai când răcirea este activă.
Controlul sistemului de încălzire

Șablonul oferă control direct asupra parametrilor curbei de încălzire:

  • Curbă de încălzire — coeficient de citire/scriere care determină relația dintre temperatura exterioară și temperatura pe tur (registrul H:26, Int16). O valoare mai mare dă o curbă mai abruptă și temperaturi pe tur mai ridicate la temperaturi exterioare scăzute.
  • Decalaj curbă — decalaj paralel de citire/scriere al curbei de încălzire (registrul H:30, Int16). Un decalaj pozitiv crește temperatura pe tur, iar camerele devin mai calde.
  • Grade-minute — indicator de citire/scriere al necesarului de căldură (registrul H:18, Int16, factor 10). Valorile negative indică necesar de căldură; compresorul pornește la un prag configurabil (implicit -60 DM). Interval: de la -3000 la 100.
  • Grade-minute (răcire) — indicator de citire/scriere al necesarului de răcire (registrul H:20, Int16). Valorile pozitive indică necesar de răcire.
  • Temperatură min. pe tur — limita inferioară a temperaturii pe tur (registrul H:34, Int16, factor 10). Doar citire.
  • Temperatură max. pe tur — limita superioară a temperaturii pe tur (registrul H:38, Int16, factor 10). Doar citire. Protejează încălzirea în pardoseală împotriva supraîncălzirii.
Gestionarea apei calde
  • Necesar de apă caldă — selector cu mai multe valori, de citire/scriere, pentru nivelul necesarului de apă caldă (registrul H:56, Int16). Valori: 0 = Mic, 1 = Mediu, 2 = Mare, 3 = Control inteligent. Mic/Mediu/Mare stabilesc temperaturile setate ale apei calde; Control inteligent folosește un algoritm adaptiv.
Starea și controlul sistemului
  • Mod de funcționare — indicator doar pentru citire al modului de funcționare actual (registrul H:237, Int16). Valori: 0 = Automat, 1 = Manual, 2 = Doar încălz. supl. Modul automat folosește temperatura exterioară și gradele-minute pentru a comanda automat încălzirea, răcirea și apa caldă.
  • Prioritate de funcționare — indicator doar pentru citire al priorității actuale a sistemului (registrul A:1028, Int16). Valori: 10 = Oprit, 20 = Apă caldă, 30 = Încălzire, 40 = Piscină, 60 = Răcire.
  • Număr alarmă — codul alarmei active, doar pentru citire (registrul A:1975, UInt16). Valoarea 0 înseamnă că nu există alarmă. Codurile de alarmă sunt specifice dispozitivului — semnificația lor o găsiți în manualul de instalare NIBE.
  • Resetare alarmă — comutator de citire/scriere pentru confirmarea și ștergerea alarmei active (registrul H:22, Bool). Valoarea se resetează automat după scriere. Înainte de resetare, investigați întotdeauna cauza alarmei.
Starea pompelor
  • Pompă externă de încălzire (GP10) — starea pornit/oprit, doar pentru citire, a pompei externe de circulație a agentului termic (registrul A:1066, Bool). GP10 este conectată la borna X5:2.
  • Turație pompă de încărcare (GP12) — turația pompei de încărcare pentru pompa de căldură EB100, doar pentru citire (registrul A:1636, Int16). GP12 este pompa de circulație dintre SMO S40 și pompa de căldură aer/apă conectată.
Monitorizarea debitului
  • Senzor de debit (BF1) — debitul agentului termic de la senzorul de debit BF1, doar pentru citire (registrul A:40, Int16, factor 10, l/m). Senzor opțional, util pentru monitorizarea performanței sistemului de încălzire și estimarea COP.
Monitorizarea electrică (monitor de sarcină)

Trei senzori de curent monitorizează conductoarele de fază de alimentare:

  • Curent faza 1 (BE1) — curentul pe faza 1 de la senzorul CT BE1 (registrul A:50, UInt32, factor 10).
  • Curent faza 2 (BE2) — curentul pe faza 2 de la senzorul CT BE2 (registrul A:48, UInt32, factor 10).
  • Curent faza 3 (BE3) — curentul pe faza 3 de la senzorul CT BE3 (registrul A:46, UInt32, factor 10).

Monitorul de sarcină împiedică declanșarea siguranței principale a clădirii prin reducerea treptelor de încălzire suplimentară atunci când consumul de curent este mare. Curentul nominal al siguranței se configurează în meniul 7.1.9.

Statistici privind timpul de funcționare
  • Timp total de funcționare încălzire suplimentară — orele de funcționare cumulate ale încălzitorului electric suplimentar (registrul A:1025, Int32, factor 10). Util pentru monitorizarea utilizării încălzirii suplimentare și a eficienței energetice.
Funcții suplimentare

SMO S40 expune în total peste 1400 de registre. Pe lângă cele 26 de dispozitive din șablon, unitatea oferă și starea și timpul de funcționare al compresorului (EB100), numărul de porniri ale compresorului, masca de biți a stării actuale (indicatori încălzire/apă caldă/răcire), măsurători ale fluxului de energie (apă caldă, încălzire, piscină — atât doar compresor, cât și compresor + încălzire suplimentară), citirile contoarelor de energie cu impulsuri (BE6/BE7), pragurile de grade-minute pentru pornirea compresorului și a încălzirii suplimentare, configurarea acțiunilor la alarmă și controlul funcției de vacanță. Acestea pot fi adăugate în șablonul TapHome într-o actualizare viitoare.

Rezolvarea problemelor

Nu există comunicare Modbus
  1. Verificați dacă cablul Ethernet este conectat la portul XF8 de pe unitatea de afișaj (nu la blocul de borne RS-485 X9)
  2. Verificați meniul 7.5.9 — Modbus TCP/IP trebuie să fie setat pe On
  3. Verificați adresa IP în meniul 3.1.13 („Connections”)
  4. Asigurați-vă că TapHome Core și SMO S40 sunt în aceeași rețea/subrețea
  5. Verificați că niciun firewall nu blochează portul 502
  6. Verificați că versiunea de firmware este 2.2.1 sau mai nouă
Adresa IP se schimbă după repornire

SMO S40 nu suportă mDNS. Dacă folosiți DHCP, adresa IP se poate schimba după o întrerupere a alimentării sau după reînnoirea închirierii DHCP. Creați o rezervare DHCP în router sau configurați o adresă IP statică în meniul 5.2.

Lipsesc citirile senzorilor

Nu toți senzorii sunt instalați implicit. BT50 (senzorul de cameră) trebuie activat în meniul 1.3 după montarea fizică. BT6, BT7, BT25 și BT71 necesită conectarea senzorului corespunzător la blocul de borne X10. Dacă un senzor nu este instalat, registrul returnează o valoare implicită sau o valoare de eroare.

Notă privind adresarea registrelor

Șablonul TapHome folosește numerotarea nativă a registrelor NIBE. Bibliotecile comunității (de ex. biblioteca Python nibe) numerotează registrele de intrare de la 30001 și adaugă un decalaj de +1 — de exemplu, BT1 este registrul 1 în TapHome, dar registrul 30002 în bibliotecă. Aceasta este o diferență de convenție NIBE cunoscută, nu o eroare.

Dispozitive disponibile

Nibe SMO S40 Modul
Număr alarmă Variabilă Doar citire

Codul alarmei active — 0 înseamnă că nu există alarmă; semnificația codurilor o găsiți în manualul de instalare NIBE

Registru: A:1975 UInt16 numeric

Număr alarmă

Citire
MODBUSR(A, 1975, UInt16)
Temperatură calculată pe tur Senzor de temperatură Doar citire
Registru: A:1017 (implicit) Int16 Unitate: °C numeric

Temperatură calculată pe tur

Citirea temperaturii
MODBUSR(A, 1017, Int16) / 10
Temperatură calculată pe tur (răcire) Senzor de temperatură Doar citire

Temperatura țintă pe tur pentru modul de răcire — relevantă numai când răcirea este activă

Registru: A:1567 (implicit) Int16 Unitate: °C numeric

Temperatură calculată pe tur (răcire)

Citirea temperaturii
MODBUSR(A, 1567, Int16) / 10
Turație pompă de încărcare (GP12) Variabilă Doar citire

Turația pompei de circulație dintre SMO S40 și pompa de căldură aer/apă conectată

Registru: A:1636 Int16 Unitate: % numeric

Turație pompă de încărcare (GP12)

Citire
MODBUSR(A, 1636, Int16)
Curent faza 1 (BE1) Variabilă Doar citire
Registru: A:50 UInt32 Unitate: A numeric

Curent faza 1 (BE1)

Citire
MODBUSR(A, 50, UInt32)
Curent faza 2 (BE2) Variabilă Doar citire
Registru: A:48 UInt32 Unitate: A numeric

Curent faza 2 (BE2)

Citire
MODBUSR(A, 48, UInt32)
Curent faza 3 (BE3) Variabilă Doar citire
Registru: A:46 UInt32 Unitate: A numeric

Curent faza 3 (BE3)

Citire
MODBUSR(A, 46, UInt32)
Grade-minute Variabilă

Indicator al necesarului de căldură — valoarea negativă înseamnă necesar de căldură; compresorul pornește la un prag configurabil (implicit -60 DM)

Registru: H:18 Int16 Unitate: DM numeric

Grade-minute

Citire
MODBUSR(H, 18, Int16)
Scriere
MODBUSWNE(H, 18, Int16, Va)
Grade-minute (răcire) Variabilă

Indicator al necesarului de răcire — valoarea pozitivă înseamnă necesar de răcire

Registru: H:20 Int16 Unitate: DM numeric

Grade-minute (răcire)

Citire
MODBUSR(H, 20, Int16)
Scriere
MODBUSWNE(H, 20, Int16, Va)
Pompă externă de încălzire (GP10) Comutator Doar citire

Starea pornit/oprit a pompei externe de circulație a agentului termic

Registru: A:1066 Bool
Valori / Stări: ON · OFF

Pompă externă de încălzire (GP10)

Citirea stării comutatorului
MODBUSR(A, 1066, Bool)
Temperatură tur extern (BT25) Senzor de temperatură Doar citire
Registru: A:39 (implicit) Int16 Unitate: °C numeric

Temperatură tur extern (BT25)

Citirea temperaturii
MODBUSR(A, 39, Int16) / 10
Senzor de debit (BF1) Senzor de temperatură Doar citire

Debitul agentului termic — util pentru monitorizarea performanței sistemului și estimarea COP

Registru: A:40 (implicit) Int16 Unitate: l/m numeric

Senzor de debit (BF1)

Citirea temperaturii
MODBUSR(A, 40, Int16) / 10
Curbă de încălzire Variabilă

Coeficientul curbei de încălzire — o valoare mai mare înseamnă o curbă mai abruptă și o temperatură pe tur mai ridicată la temperaturi exterioare scăzute

Registru: H:26 Int16 numeric

Curbă de încălzire

Citire
MODBUSR(H, 26, Int16)
Scriere
MODBUSWNE(H, 26, Int16, Va)
Temperatura de încărcare a apei calde (BT6) Senzor de temperatură Doar citire
Registru: A:9 (implicit) Int16 Unitate: °C numeric

Temperatura de încărcare a apei calde (BT6)

Citirea temperaturii
MODBUSR(A, 9, Int16) / 10
Necesar de apă caldă Comutator cu mai multe valori

Nivelul necesarului de apă caldă — Mic, Mediu, Mare, Control inteligent

Registru: H:56 Int16 numeric
Valori / Stări: Mic · Mediu · Mare · Control inteligent

Necesar de apă caldă

Citirea stării comutatorului
MODBUSR(H, 56, Int16)
Scrierea stării comutatorului
MODBUSWNE(H, 56, Int16, Mu)
Temperatura apei calde sus (BT7) Senzor de temperatură Doar citire
Registru: A:8 (implicit) Int16 Unitate: °C numeric

Temperatura apei calde sus (BT7)

Citirea temperaturii
MODBUSR(A, 8, Int16) / 10
Decalaj curbă Variabilă

Decalaj paralel al curbei de încălzire — o valoare pozitivă crește temperatura pe tur pentru camere mai calde

Registru: H:30 Int16 numeric

Decalaj curbă

Citire
MODBUSR(H, 30, Int16)
Scriere
MODBUSWNE(H, 30, Int16, Va)
Mod de funcționare Comutator cu mai multe valori Doar citire

Modul de funcționare actual — Automat, Manual, Doar încălz. supl.

Registru: H:237 Int16 numeric
Valori / Stări: Automat · Manual · Doar încălz. supl.

Mod de funcționare

Citirea stării comutatorului
MODBUSR(H, 237, Int16)
Prioritate de funcționare Variabilă Doar citire

Prioritatea actuală a sistemului — Oprit, Apă caldă, Încălzire, Piscină, Răcire

Registru: A:1028 Int16 numeric

Prioritate de funcționare

Citire
MODBUSR(A, 1028, Int16)
Temperatură exterioară (BT1) Senzor de temperatură Doar citire
Registru: A:1 (implicit) Int16 Unitate: °C numeric

Temperatură exterioară (BT1)

Citirea temperaturii
MODBUSR(A, 1, Int16) / 10
Resetare alarmă Comutator

Confirmarea și ștergerea alarmei active — înainte de resetare investigați cauza

Registru: H:22 Bool
Valori / Stări: ON · OFF

Resetare alarmă

Citirea stării comutatorului
MODBUSR(H, 22, Bool)
Scrierea stării comutatorului
MODBUSWNE(H, 22, Bool, St)
Temperatură retur (BT71) Senzor de temperatură Doar citire
Registru: A:88 (implicit) Int16 Unitate: °C numeric

Temperatură retur (BT71)

Citirea temperaturii
MODBUSR(A, 88, Int16) / 10
Temperatura camerei (BT50) Senzor de temperatură Doar citire
Registru: A:26 (implicit) Int16 Unitate: °C numeric

Temperatura camerei (BT50)

Citirea temperaturii
MODBUSR(A, 26, Int16) / 10
Temperatură max. pe tur Senzor de temperatură Doar citire

Limita superioară a temperaturii pe tur — protejează încălzirea în pardoseală împotriva supraîncălzirii

Registru: H:38 (implicit) Int16 Unitate: °C numeric

Temperatură max. pe tur

Citirea temperaturii
MODBUSR(H, 38, Int16) / 10
Temperatură min. pe tur Senzor de temperatură Doar citire
Registru: H:34 (implicit) Int16 Unitate: °C numeric

Temperatură min. pe tur

Citirea temperaturii
MODBUSR(H, 34, Int16) / 10
Timp total de funcționare încălzire suplimentară Variabilă Doar citire

Orele de funcționare cumulate ale încălzitorului electric suplimentar

Registru: A:1025 Int32 Unitate: h numeric

Timp total de funcționare încălzire suplimentară

Citire
MODBUSR(A, 1025, Int32)/10
Conexiune: Modbus TCP • Slave ID: $[SlaveId]
Îmbunătățiri posibile (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

Surse

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal