TapHome

SVC Heat Pump

Modbus TCP
Trimis de
Ultima actualizare: 10. 2026
SVC Heat Pump

Șablonul SVC este o integrare generică Modbus TCP pentru un controler de pompă de căldură aer-apă reversibilă, care pune la dispoziție în rețeaua locală senzori, selectarea modului și trei termostate (pentru încălzirea spațiului, răcirea spațiului și apa caldă menajeră). TapHome se conectează direct la interfața Ethernet a pompei de căldură — nu este nevoie de cablaj RS-485 și nici de gateway.

Identitatea producătorului nu este confirmată. Textul SVC provine din câmpul <Producer> al șablonului XML TapHome original și este aproape sigur o denumire generică / whitelabel, nu o marcă pentru consumatori. Înainte de a importa acest șablon, verificați dacă controlerul dvs. folosește exact harta de registre descrisă mai jos (registre holding H:0–H:34, modul la H:30 cu valorile 0–6, temperatura apei la ieșire la H:8, temperaturile setate ale termostatelor de încălzire/răcire la H:31/H:32 cu scalare ×1, temperatura setată a termostatului rezervorului la H:33 cu scalare ×10). Dacă vreun registru nu corespunde, șablonul va citi greșit sau va configura greșit dispozitivul.

Harta de registre, enumerarea modurilor și scalarea descrise pe această pagină sunt preluate direct din XML-ul canonic TapHome. Nu este disponibil niciun manual al producătorului.

Conectarea hardware

Controlerul SVC folosește modelul CCU ModbusTcpCCU, adică TapHome comunică prin Modbus TCP direct cu interfața LAN a pompei de căldură.

  • Protocol: Modbus TCP
  • Port: 502 (standard)
  • Tip de registre: toate sunt registre holding (H)
  • Tip de date: toate registrele sunt Int16, big-endian
  • Ordinea octeților: standard Modbus (mai întâi octetul cel mai semnificativ)
  • Interval de registre: H:0 – H:34 (registrele 9–14, 17–19, 21–23 și 27–29 nu sunt folosite de șablon și nu trebuie presupus că există în controler)
Cerințe de rețea
  1. Conectați portul Ethernet / LAN al pompei de căldură la aceeași rețea locală ca TapHome Core.
  2. Atribuiți pompei de căldură o adresă IP stabilă — fie setați o adresă IP statică în controler, fie adăugați în router o rezervare DHCP după adresa MAC. Valoarea implicită din șablon, 192.168.0.1, este doar un substituent.
  3. Asigurați-vă că niciun firewall dintre TapHome Core și pompa de căldură nu blochează portul TCP 502.

Șablonul nu folosește descoperirea mDNS / Zeroconf — adresa IP a pompei de căldură trebuie introdusă manual la import.

Configurare

Activarea comunicației Modbus

Deoarece producătorul acestui controler nu este cunoscut, aici nu este descrisă o procedură specifică producătorului. Procedura generală pentru această categorie de controlere de pompe de căldură este:

  1. Intrați în meniul de service / instalator de pe controlerul cu fir al pompei de căldură sau de pe afișajul integrat (de obicei protejat cu PIN).
  2. Găsiți secțiunea comunicație sau setări de rețea.
  3. Activați Modbus TCP, dacă nu este activ implicit.
  4. Setați adresa IP (se recomandă una statică) și, dacă este cazul, masca de subrețea și gateway-ul.
  5. Confirmați sau setați ID-ul slave (unit) Modbus — valoarea implicită din șablon este 1.
  6. Salvați și, dacă este necesar, reporniți controlerul.

Calea exactă din meniu o găsiți în manualul de service livrat cu unitatea. Dacă Modbus TCP nu apare ca opțiune în meniul controlerului, acest șablon nu poate fi folosit.

Parametri de import

La importul șablonului în TapHome introduceți:

ParametruDescriereImplicit
Adresă IPAdresa IP locală a controlerului pompei de căldură192.168.0.1
Slave IDIdentificatorul unității Modbus1

Înainte de import, verificați conectivitatea de pe dispozitivul pe care rulează TapHome Core: trimiteți un ping la adresa IP a pompei de căldură și, dacă este posibil, testați portul TCP 502 cu un instrument precum nc sau un client Modbus. Astfel descoperiți problemele de rețea înainte să apară ca erori ale șablonului.

Harta de registre

Șablonul folosește următoarele registre holding. Toate registrele sunt Int16. Scalarea temperaturii /10 înseamnă că valoarea întreagă brută se împarte la 10 pentru a obține grade Celsius (de ex. valoarea brută 235 → 23.5 °C).

Adr.DenumireR/WScalareUnitateObservații
H:0Out ambient tempR/10°CTemperatura exterioară la unitatea exterioară
H:1Out coil tempR/10°CBateria de agent frigorific exterioară
H:2Discharge tempR/10°CConducta de refulare a compresorului
H:3Suction tempR/10°CConducta de aspirație a compresorului
H:4In ambient temp (reversed)R/10°CSenzor pe partea interioară; nota „(reversed)” din XML nu este explicată
H:5Tank tempR/10°CRezervorul tampon ACM; folosit și ca sursă a temperaturii curente pentru termostatul rezervorului
H:6In coil tempR/10°CBateria de agent frigorific interioară
H:7In water tempR/10°CIntrarea apei în schimbătorul de căldură
H:8Out water tempR/10°CIeșirea apei din schimbătorul de căldură; folosită și ca sursă a temperaturii curente pentru termostatele de încălzire și de răcire
H:15Output statusRbrut—Număr întreg brut, semnificație nedocumentată
H:16Run statusRbrut—Număr întreg brut, semnificație nedocumentată
H:20Main valveRbrut—Număr întreg brut, probabil starea vanei de inversare cu 4 căi
H:24Power [Watt]RbrutWInt16 — se limitează la ±32767 W
H:25Low pressure [kPa]RbrutkPaPresiunea agentului frigorific pe partea de aspirație
H:26High pressure [kPa]RbrutkPaPresiunea agentului frigorific pe partea de refulare
H:30ModeR/Wenum—Consultați Moduri de funcționare mai jos
H:31Heat thermostat setpointR/W×1°CRezoluție în grade întregi
H:32Cool thermostat setpointR/W×1°CRezoluție în grade întregi
H:33Tank thermostat setpointR/W×10°CRezoluție zecimală — se scrie valoarea Se*10
H:34Difference temp of restartR/Wbrut°CHisterezis / diferențial de repornire

Scalare asimetrică a termostatelor — ușor de trecut cu vederea. Termostatul rezervorului ACM (H:33) folosește scalarea ×10, iar termostatul de încălzire (H:31) și termostatul de răcire (H:32) folosesc scalarea ×1. Astfel, temperatura setată a rezervorului acceptă zecimale (de ex. 48,5 °C), dar temperaturile setate pentru încălzire / răcire acceptă doar grade întregi. Această asimetrie vine din firmware-ul controlerului, nu din TapHome.

XML-ul setează IsReadOnly=False pentru registrele H:15, H:16, H:20, H:24, H:25 și H:26, dar pentru niciunul nu există o formulă WriteState. Prin urmare, în șablon aceste registre sunt practic doar pentru citire.

Funcțiile dispozitivului

Șablonul oferă 20 de dispozitive: senzori, un selector de mod, trei termostate și un parametru pentru diferențialul de repornire.

Senzori de temperatură

Nouă senzori de temperatură doar pentru citire acoperă circuitul de agent frigorific, circuitul hidraulic și condițiile ambientale:

  • Temperatură exterioară (H:0) — temperatura aerului exterior la unitatea exterioară.
  • Temperatura bateriei exterioare (H:1) — bateria de agent frigorific de pe partea exterioară (evaporator la încălzire, condensator la răcire).
  • Temperatura bateriei interioare (H:6) — bateria de agent frigorific de pe partea interioară (condensator la încălzire, evaporator la răcire).
  • Temperatura de refulare a compresorului (H:2) — agentul frigorific cald care iese din compresor.
  • Temperatura de aspirație a compresorului (H:3) — agentul frigorific rece care se întoarce în compresor.
  • Temperatură interioară (reversed) (H:4) — senzor ambiental pe partea interioară. Sufixul (reversed) este preluat textual din XML; fără documentația producătorului, semnificația lui exactă nu poate fi confirmată — poate indica o polaritate inversată a senzorului sau o amplasare orientată spre interior pe unitatea exterioară.
  • Temperatură rezervor ACM (H:5) — rezervorul tampon de apă caldă menajeră. Acest registru este folosit și ca sursă a temperaturii curente pentru termostatul rezervorului ACM.
  • Temperatura apei la intrare (H:7) — apa care se întoarce din circuitul hidraulic în schimbătorul de căldură.
  • Temperatura apei la ieșire (H:8) — apa care iese din schimbătorul de căldură. Acest registru este folosit și ca sursă a temperaturii curente pentru ambele termostate, de încălzire și de răcire.

Sursă comună a temperaturii curente. Registrele H:5 (Tank temp) și H:8 (Out water temp) sunt folosite fiecare de două ori — o dată ca senzor separat și încă o dată ca sursă a temperaturii curente pentru un termostat. Mai ales termostatul de încălzire și termostatul de răcire citesc amândouă H:8, așa că șablonul nu poate distinge o „temperatură curentă a zonei” separată pentru încălzire și pentru răcire. Controlerul pur și simplu nu oferă senzori de zonă independenți.

Mod de funcționare

Selectorul Mod de funcționare (H:30, citire/scriere) este disponibil ca un comutator cu mai multe valori, cu următoarele opțiuni:

ValoareModSemnificație
0OpritPompa de căldură este oprită
1ÎncălzireDoar încălzirea spațiului
2Încălzire intensivăÎncălzire forțată / boost
3Încălzire rezervorDoar ACM
4RăcireDoar răcirea spațiului
5Încălzire + Încălzire rezervorÎncălzirea spațiului combinată cu ACM
6Răcire + Încălzire rezervorRăcirea spațiului combinată cu ACM

Valorile 7, 8 și 9 apar în XML ca poziții substituent, denumite doar prin cifre — nu sunt moduri valide și nu trebuie folosite.

Termostate

Sunt disponibile trei termostate, fiecare ca dispozitiv TapHome separat, cu propria temperatură setată și o sursă comună a temperaturii curente:

  • Termostat încălzire spațiu (H:31, citire/scriere, scalare ×1) — temperatura setată pentru încălzirea spațiului, în grade întregi. Temperatura curentă se citește din H:8 (Out water temp).
  • Termostat răcire spațiu (H:32, citire/scriere, scalare ×1) — temperatura setată pentru răcirea spațiului, în grade întregi. Temperatura curentă se citește tot din H:8.
  • Termostat rezervor ACM (H:33, citire/scriere, scalare ×10) — temperatura setată pentru rezervorul ACM, cu rezoluție zecimală. Temperatura curentă se citește din H:5 (Tank temp). Nu este disponibilă nicio informație despre starea robinetului (ReadValveState este fixat la 0).

Logica internă a pompei de căldură decide dacă este activă temperatura setată pentru încălzire sau pentru răcire, în funcție de Modul de funcționare selectat în H:30. Scrierea într-un registru de temperatură setată nu comută singură unitatea între încălzire și răcire — schimbați mai întâi modul, apoi ajustați temperatura setată corespunzătoare.

Putere și presiunile agentului frigorific
  • Putere electrică (H:24) — puterea electrică instantanee absorbită de pompa de căldură, în wați (W). Deoarece registrul este Int16, valoarea se limitează la ±32767 W; unitățile comerciale mari pot depăși acest interval.
  • Presiune de aspirație (H:25) — presiunea agentului frigorific pe partea de aspirație, în kilopascali (kPa). Valorile tipice pe partea de joasă presiune pentru R410A / R32 sunt în intervalul de aproximativ 100–700 kPa.
  • Presiune de refulare (H:26) — presiunea agentului frigorific pe partea de refulare, în kilopascali (kPa). Valorile tipice pe partea de înaltă presiune pentru R410A / R32 sunt în intervalul de aproximativ 1500–4500 kPa.
Variabile de stare (brute)

Trei registre de stare sunt disponibile ca valori brute Int16, deoarece producătorul controlerului nu a documentat pentru ele nicio mască de biți sau enumerare:

  • Stare ieșiri (H:15)
  • Stare funcționare (H:16)
  • Starea vanei principale (H:20) — probabil starea vanei de inversare cu 4 căi (calea agentului frigorific pentru încălzire sau răcire), dar această interpretare nu este confirmată.

Aceste valori pot fi monitorizate pentru a detecta modificări, dar fără documentația producătorului nu pot fi transformate în etichete ușor de înțeles.

Parametru de service
  • Diferențial de temperatură pentru repornire (H:34, citire/scriere, număr întreg brut în °C) — valoarea histerezisului care stabilește cu câte grade sub temperatura setată activă trebuie să scadă temperatura înainte de repornirea compresorului. Controlerele obișnuite din această categorie folosesc valori între 1 și 15 °C, dar intervalul valid pentru acest dispozitiv concret nu a fost verificat.

Depanare

Nu există comunicare Modbus
  1. Verificați dacă portul Ethernet al pompei de căldură este conectat fizic și legătura de rețea este activă (verificați LED-ul de stare a rețelei de pe controler, dacă există).
  2. Verificați adresa IP — în meniul de setări de rețea al controlerului sau în tabelul de alocări DHCP al routerului.
  3. Asigurați-vă că TapHome Core și pompa de căldură sunt în aceeași subrețea sau că rutarea dintre subrețele permite portul TCP 502.
  4. Verificați dacă nicio regulă de firewall sau VLAN nu blochează portul 502.
  5. Confirmați că Modbus TCP este într-adevăr activat în meniul de service al controlerului (unele controlere sunt livrate cu el dezactivat implicit).
Valorile sunt vizibil greșite (temperaturi aberante, numere imposibile)

Dacă temperaturile apar ca mii de grade, presiunile ca numere foarte mici sau selectorul de mod arată valori necunoscute, pompa dvs. de căldură folosește cel mai probabil o altă hartă de registre decât cea pe care o așteaptă acest șablon. Eticheta SVC acoperă un controler OEM neidentificat — alte pompe de căldură OEM (SPRSUN / Carel, Fairland, Gree Versati, Midea / Clivet / Kaisai, LG Therma V, Aermec, Sibotherm) folosesc toate alte structuri de registre. Nu lăsați șablonul să ruleze cu un dispozitiv care nu corespunde, deoarece scrierile în registrele de mod și de termostat ar putea modifica setări fără legătură.

Modificările temperaturii setate par „înjumătățite” sau „înzecite”

Aproape întotdeauna este vorba de o nepotrivire a scalării. Termostatul rezervorului (H:33) folosește scalarea ×10, iar termostatele de încălzire (H:31) și de răcire (H:32) folosesc scalarea ×1. Dacă temperatura setată se aplică de 10 ori mai mare sau mai mică decât vă așteptați, verificați dacă scrieți în termostatul corect — șablonul aplică deja scalarea corectă pentru fiecare dispozitiv, așa că cea mai probabilă cauză este că firmware-ul controlerului diferă de harta presupusă.

Termostatele de încălzire și răcire arată aceeași temperatură curentă

Este normal. Atât termostatul de încălzire, cât și termostatul de răcire citesc temperatura curentă din registrul H:8 (Temperatura apei la ieșire). Șablonul nu poate separa „temperatura curentă a zonei de încălzire” de „temperatura curentă a zonei de răcire”, deoarece controlerul oferă un singur senzor la ieșire. Dacă aveți nevoie de senzori de zonă separați, adăugați senzori de temperatură TapHome separați (conectați direct la intrările TapHome).

Puterea rămâne la 32767 sau –32768

Registrul de putere H:24 este un număr întreg cu semn pe 16 biți, așa că un consum instantaneu de peste 32 767 W (32,77 kW) produce depășire. Acest lucru afectează doar unitățile comerciale mari — unitățile rezidențiale rămân de obicei mult sub această limită.

Dispozitive disponibile

SVC Modul
Temperatură exterioară Senzor de temperatură Doar citire

Temperatura aerului exterior, măsurată la unitatea exterioară

Registru: H:0 Int16 Unitate: °C

Temperatură exterioară

Citirea temperaturii
MODBUSR(H, 0, Int16) / 10
Mod de funcționare Comutator cu mai multe valori

Modul de funcționare al pompei de căldură — Oprit, Încălzire, Încălzire intensivă (boost), Încălzire rezervor (doar ACM), Răcire, Încălzire + Încălzire rezervor (încălzire și ACM combinate), Răcire + Încălzire rezervor (răcire și ACM combinate)

Registru: H:30 Int16 numeric
Valori / Stări: Power Off · Heat · Powerful Heat · Tank Heat · Cool · Heat + Tank Heat · Cool + Tank Heat

Mod de funcționare

Citirea stării comutatorului
MODBUSR(H, 30, Int16)
Scrierea stării comutatorului
MODBUSWNE(H, 30, Int16, Mu)
Temperatura bateriei exterioare Senzor de temperatură Doar citire

Temperatura bateriei de agent frigorific de pe partea exterioară — evaporator în modul de încălzire, condensator în modul de răcire

Registru: H:1 Int16 Unitate: °C

Temperatura bateriei exterioare

Citirea temperaturii
MODBUSR(H, 1, Int16) / 10
Temperatura de refulare a compresorului Senzor de temperatură Doar citire

Temperatura agentului frigorific cald care iese din compresor

Registru: H:2 Int16 Unitate: °C

Temperatura de refulare a compresorului

Citirea temperaturii
MODBUSR(H, 2, Int16) / 10
Temperatura de aspirație a compresorului Senzor de temperatură Doar citire

Temperatura agentului frigorific rece care se întoarce în compresor

Registru: H:3 Int16 Unitate: °C

Temperatura de aspirație a compresorului

Citirea temperaturii
MODBUSR(H, 3, Int16) / 10
Temperatură interioară Senzor de temperatură Doar citire

Senzor ambiental pe partea interioară — eticheta „(reversed)” din XML sugerează fie o conectare cu polaritate inversată, fie o amplasare orientată spre interior pe unitatea exterioară (interpretare neconfirmată de producător)

Registru: H:4 Int16 Unitate: °C

Temperatură interioară

Citirea temperaturii
MODBUSR(H, 4, Int16) / 10
Temperatură rezervor ACM Senzor de temperatură Doar citire

Temperatura rezervorului tampon de apă caldă menajeră — folosită și ca sursă a temperaturii curente pentru termostatul rezervorului ACM

Registru: H:5 Int16 Unitate: °C

Temperatură rezervor ACM

Citirea temperaturii
MODBUSR(H, 5, Int16) / 10
Temperatura bateriei interioare Senzor de temperatură Doar citire

Temperatura bateriei de agent frigorific de pe partea interioară — condensator în modul de încălzire, evaporator în modul de răcire

Registru: H:6 Int16 Unitate: °C

Temperatura bateriei interioare

Citirea temperaturii
MODBUSR(H, 6, Int16) / 10
Temperatura apei la intrare Senzor de temperatură Doar citire

Temperatura apei care intră în schimbătorul de căldură al pompei de căldură (retur din circuitul hidraulic)

Registru: H:7 Int16 Unitate: °C

Temperatura apei la intrare

Citirea temperaturii
MODBUSR(H, 7, Int16) / 10
Temperatura apei la ieșire Senzor de temperatură Doar citire

Temperatura apei care iese din schimbătorul de căldură al pompei de căldură — folosită și ca sursă a temperaturii curente pentru termostatul de încălzire a spațiului și pentru termostatul de răcire a spațiului

Registru: H:8 Int16 Unitate: °C

Temperatura apei la ieșire

Citirea temperaturii
MODBUSR(H, 8, Int16) / 10
Stare ieșiri Variabilă Doar citire

Valoarea brută a stării ieșirilor — producătorul nu a documentat semnificația măștii de biți sau a enumerării, așa că valoarea este afișată ca atare

Registru: H:15 Int16 raw-int-value

Stare ieșiri

Citire
MODBUSR(H, 15, Int16)
Stare funcționare Variabilă Doar citire

Valoarea brută a stării de funcționare — producătorul nu a documentat semnificația măștii de biți sau a enumerării, așa că valoarea este afișată ca atare

Registru: H:16 Int16 raw-int-value

Stare funcționare

Citire
MODBUSR(H, 16, Int16)
Starea vanei principale Variabilă Doar citire

Starea brută a vanei principale — probabil vana de inversare cu 4 căi, care comută calea agentului frigorific între încălzire și răcire (interpretare neconfirmată)

Registru: H:20 Int16 raw-int-value

Starea vanei principale

Citire
MODBUSR(H, 20, Int16)
Putere electrică Variabilă Doar citire

Puterea electrică instantanee absorbită de pompa de căldură, în wați — se limitează la ±32767 W, deoarece registrul este un număr întreg cu semn pe 16 biți

Registru: H:24 Int16 Unitate: W

Putere electrică

Citire
MODBUSR(H, 24, Int16)
Presiune de aspirație Variabilă Doar citire

Presiunea agentului frigorific pe partea de aspirație (partea de joasă presiune a circuitului frigorific), în kilopascali

Registru: H:25 Int16 Unitate: kPa

Presiune de aspirație

Citire
MODBUSR(H, 25, Int16)
Presiune de refulare Variabilă Doar citire

Presiunea agentului frigorific pe partea de refulare (partea de înaltă presiune a circuitului frigorific), în kilopascali

Registru: H:26 Int16 Unitate: kPa

Presiune de refulare

Citire
MODBUSR(H, 26, Int16)
Termostat rezervor ACM Termostat

Temperatura setată pentru rezervorul tampon de apă caldă menajeră — rezoluție zecimală (scalare ×10), temperatura curentă se citește de la senzorul rezervorului ACM

Registru: H:33 Int16 Unitate: °C

Termostat rezervor ACM

Citirea temperaturii
MODBUSR(H, 5, Int16) / 10
Citirea temperaturii dorite
MODBUSR(H, 33, Int16) / 10
Scrierea temperaturii dorite
MODBUSWNE(H, 33, Int16, Se * 10)
Citirea stării vanei
0
Termostat încălzire spațiu Termostat

Temperatura setată pentru încălzirea spațiului — rezoluție în grade întregi (scalare ×1), temperatura curentă se citește de la senzorul apei la ieșire și este comună cu termostatul de răcire a spațiului

Registru: H:31 Int16 Unitate: °C

Termostat încălzire spațiu

Citirea temperaturii
MODBUSR(H, 8, Int16) / 10
Citirea temperaturii dorite
MODBUSR(H, 31, Int16)
Scrierea temperaturii dorite
MODBUSWNE(H, 31, Int16, Se)
Termostat răcire spațiu Termostat

Temperatura setată pentru răcirea spațiului — rezoluție în grade întregi (scalare ×1), temperatura curentă se citește de la senzorul apei la ieșire și este comună cu termostatul de încălzire a spațiului

Registru: H:32 Int16 Unitate: °C

Termostat răcire spațiu

Citirea temperaturii
MODBUSR(H, 8, Int16) / 10
Citirea temperaturii dorite
MODBUSR(H, 32, Int16)
Scrierea temperaturii dorite
MODBUSWNE(H, 32, Int16, Se)
Diferențial de temperatură pentru repornire Variabilă

Valoarea histerezisului — cu câte grade sub temperatura setată activă trebuie să scadă temperatura înainte de repornirea compresorului

Registru: H:34 Int16 Unitate: °C

Diferențial de temperatură pentru repornire

Citire
MODBUSR(H, 34, Int16)
Scriere
MODBUSWNE(H, 34, Int16, Va)
Conexiune: Modbus TCP • Slave ID: $[SlaveId]

Surse

  • TapHome Official Modbus Template (SVC.xml)
    github.com 2026-04-24

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