TapHome

Sistema Sistema-Home 4..18(T)

Modbus RTU
Inviato da
Ultimo aggiornamento: 04. 2026

Richiede gateway esterno

TapHome Modbus RTU CCU — pagina prodotto

Sistema Sistema-Home 4..18(T)

La Sistema-Home 4..18(T) è una pompa di calore a doppio circuito che comunica tramite Modbus RTU (RS-485). Il template TapHome fornisce il controllo della modalità operativa con modalità di riscaldamento, raffrescamento e ACS, la regolazione dei setpoint per i circuiti di riscaldamento e raffrescamento, il setpoint della temperatura ACS e il monitoraggio completo delle temperature dell’acqua, delle pressioni del refrigerante, delle velocità di ventilatore e pompa e della portata d’acqua. Il template segnala inoltre 80+ codici errore dal controllore della pompa di calore tramite registri a campi di bit.

Il controllore è probabilmente basato su una piattaforma CAREL pCO (tipica per le pompe di calore OEM italiane). La mappa dei registri è proprietaria e tutte le informazioni tecniche in questo template provengono esclusivamente dal template XML — dal produttore non è disponibile alcuna documentazione pubblica.

Collegamento hardware

La Sistema-Home 4..18(T) si collega a TapHome tramite un gateway Modbus RTU CCU utilizzando un bus seriale RS-485. I parametri di comunicazione predefiniti sono 9600 baud, 8 bit di dati, parità pari, 1 bit di stop, Slave ID 1.

Collegare il cablaggio RS-485 tra la porta Modbus della pompa di calore e il TapHome Modbus RTU CCU:

  • A+ sulla pompa di calore → A+/D+ su TapHome RS-485
  • B- sulla pompa di calore → B-/D- su TapHome RS-485
  • GNDGND (obbligatorio per una comunicazione affidabile)

Il conduttore GND deve essere collegato tra la pompa di calore e il gateway TapHome. Senza una corretta messa a terra, gli errori di comunicazione Modbus sono probabili, specialmente su tratte di cavo più lunghe.

Configurazione

Abilitazione scrittura remota

Il template abilita automaticamente l’accesso in scrittura remota ad ogni ciclo di polling impostando il bit 0 del registro H:7201. Ciò significa che la pompa di calore accetta modifiche di setpoint e modalità da TapHome non appena il template viene importato — non è necessaria alcuna configurazione manuale di questo registro.

Parametri di comunicazione

Verificare che le seguenti impostazioni corrispondano tra la pompa di calore e TapHome:

ParametroValore
Baud rate9600
Bit di dati8
ParitàPari
Bit di stop1
Slave ID1 (predefinito)

Se lo Slave ID sulla pompa di calore differisce da 1, aggiornare il parametro di importazione Slave ID in TapHome.

Funzionalità dei dispositivi

Controllo modalità operativa

Il dispositivo Active Mode seleziona la modalità operativa della pompa di calore. Modalità disponibili:

ValoreModalitàDescrizione
0Stand byPompa di calore in attesa
1CoolSolo raffrescamento
2HeatSolo riscaldamento
4SanitarySolo produzione ACS
5Cool+DHWRaffrescamento con ACS
6Heat+DHWRiscaldamento con ACS

I valori delle modalità 3, 7, 8 e 9 sono definiti nel template ma non hanno nomi significativi — appaiono come cifre segnaposto e potrebbero essere riservati o inutilizzati su questa variante del controllore.

Un’azione di servizio DHW (Sanitary) Setpoint sul dispositivo Active Mode permette di impostare la temperatura target dell’acqua calda sanitaria (intervallo 25–55 °C).

Controllo setpoint

Due dispositivi termostato controllano i setpoint di riscaldamento e raffrescamento:

  • Heat Setpoint — lettura/scrittura del setpoint di riscaldamento (H:1002). La temperatura di riferimento attuale è il sensore del serbatoio di miscelazione (H:440).
  • Cool Setpoint — lettura/scrittura del setpoint di raffrescamento (H:1001). Utilizza la stessa temperatura del serbatoio di miscelazione come valore attuale.

Entrambi i setpoint utilizzano una conversione ×10 (es. valore registro 350 = 35,0 °C).

Monitoraggio temperature

Sei sensori di temperatura forniscono il monitoraggio termico attraverso il sistema:

  • Outside Temperature — temperatura esterna (H:428, polling ogni 30 s)
  • Plant Temperature (Mixing Tank) — temperatura del serbatoio di accumulo/miscelazione (H:440), utilizzata anche come temperatura di riferimento attuale per entrambi i termostati
  • Water Inlet Temperature — temperatura dell’acqua in ingresso allo scambiatore di calore (H:400)
  • Water Outlet Temperature — temperatura dell’acqua in uscita dallo scambiatore di calore (H:401)
  • DHW Temperature — temperatura del serbatoio dell’acqua calda sanitaria (H:405), con rilevamento guasti (segnala un avviso se il sensore legge “Not configured” o “Fault”)
  • Compressor Discharge Temperature — temperatura di mandata del compressore 1 (H:433), con 7 attributi di servizio che coprono le temperature di mandata per tutti i compressori su entrambi i circuiti del refrigerante

Il dispositivo del template denominato “Compressor inhalation” legge in realtà il registro H:433, che secondo la mappa dei registri corrisponde alla mandata del compressore 1. Il registro effettivo di aspirazione del compressore (H:422) non è esposto come dispositivo primario. Il nome visualizzato in TapHome riflette la funzione corretta (Compressor Discharge Temperature).

Monitoraggio pressioni del refrigerante

Due sensori di pressione monitorano i circuiti del refrigerante:

  • High Pressure — pressione lato alta del refrigerante in bar (H:406), con attributo di servizio per il circuito 2 (H:20406)
  • Low Pressure — pressione lato bassa del refrigerante in bar (H:414), con attributo di servizio per il circuito 2 (H:20414)
Velocità ventilatore e pompa
  • Fan Speed — velocità del ventilatore in sola lettura in percentuale (H:7000, conversione ÷1000)
  • Pump Speed — velocità della pompa di circolazione in sola lettura in percentuale (H:7001, conversione ÷1000)
Portata d’acqua

Il sensore Water Flow Rate misura la portata d’acqua del sistema in l/min (H:444). Include il rilevamento guasti — viene generato un avviso se il sensore segnala “Not configured” (32766) o “Fault” (32767).

L’attributo di servizio dello stato Water Flow Rate legge il registro H:405 (il registro della temperatura ACS) anziché H:444. Questo sembra essere un errore del template — lo stato potrebbe non riflettere accuratamente la condizione del sensore di portata.

Monitoraggio tempo di funzionamento del compressore

Sei attributi di servizio a livello di modulo tracciano le ore di funzionamento dei compressori:

  • Compressor 1/2/3 Runtime — ore cumulative per i compressori del circuito 1 (H:305, H:307, H:309)
  • Compressor 1/2/3 Runtime (Circuit 2) — ore cumulative per i compressori del circuito 2 (H:313, H:315, H:317)
Monitoraggio errori

Il ReadScript del modulo monitora i registri da H:950 a H:956 (7 registri a campi di bit) e segnala 80+ codici di errore e avviso distinti. Principali categorie di errore:

  • Guasti del circuito refrigerante — alta pressione (E001), bassa pressione (E002), gelo (E005)
  • Protezione termica — compressore (E003, E013, E023), ventilatore (E004, E014, E024), pompa (E016, E026)
  • Guasti di temperatura — alta temperatura di mandata (E009, E019, E029), sovratemperatura (E018), temperature incoerenti (E041)
  • Guasti ACS — scarso scambio termico (E042), surriscaldamento del serbatoio di accumulo (E050), stato anti-legionella (E060/E061)
  • Errori sensori — errori sonda per fino a 11 sonde su 3 moduli I/O (E611–E713)
  • Guasti inverter — errori di comunicazione, guasti hardware, sovracorrente, surriscaldamento, guasti di tensione, errori di sequenza fasi, errori EEPROM per fino a 3 inverter (E801–E973)
  • Guasti modulo I/O — modulo 1/2 disconnesso (E101, E102)
Funzionalità aggiuntive

Il controllore della pompa di calore espone anche un registro della temperatura di aspirazione del compressore (H:422) e un flag di abilitazione alla scrittura remota (H:7201) che viene gestito automaticamente dal template. Questi possono essere aggiunti come dispositivi autonomi in un futuro aggiornamento del template se è necessario il monitoraggio diretto della temperatura di aspirazione.

Risoluzione dei problemi

Nessuna comunicazione Modbus
  1. Verificare il cablaggio RS-485 — A+ su A+, B- su B-, GND collegato
  2. Confermare i parametri di comunicazione: 9600 baud, 8E1, Slave ID 1
  3. Controllare la lunghezza del cavo e la terminazione — per tratte lunghe, potrebbe essere necessaria una resistenza di terminazione da 120 ohm sull’ultimo dispositivo del bus
  4. Assicurarsi che l’interfaccia Modbus sul controllore della pompa di calore sia abilitata (consultare il menu del controllore in loco)
Sensori che mostrano avviso “Not configured”

I registri che restituiscono il valore speciale 32766 indicano un sensore non cablato o non configurato sul controllore della pompa di calore. Ciò è previsto per i sensori opzionali (es. sonda ACS su unità senza serbatoio ACS). L’avviso può essere confermato in TapHome.

Le modifiche di modalità non hanno effetto
  1. Verificare che il dispositivo Active Mode mostri la modalità prevista dopo la scrittura — il registro di lettura (H:200) e il registro di scrittura (H:7200) sono separati, quindi potrebbe verificarsi un breve ritardo
  2. Controllare se è attiva una forzatura locale o un blocco sul controllore della pompa di calore
  3. Il flag di abilitazione alla scrittura remota (H:7201 bit 0) viene impostato automaticamente dal template — se la comunicazione è stata interrotta, verrà riabilitato al prossimo ciclo di polling

Dispositivi disponibili

Sistema-Home 4..18(T) Modulo
Attributi di servizio
Tempo di funzionamento compressore 1
Tempo di funzionamento compressore 2
Tempo di funzionamento compressore 3
Tempo di funzionamento compressore 1 (circuito 2)
Tempo di funzionamento compressore 2 (circuito 2)
Tempo di funzionamento compressore 3 (circuito 2)

Sistema-Home 4..18(T) heatpump

Lettura (modulo)
#Enablement of writing the machine status remotely
var mod := MODBUSR(H, 7201, UINT16);
if(getbit(mod, 0) = 0, MODBUSW(H, 7201, Uint16, SETBIT(mod, 0, 1)));
#Errors
IF(GETBIT(MODBUSR(H, 950, Uint16),0)=1, ADDERROR("High pressure", "E001"));
IF(GETBIT(MODBUSR(H, 950, Uint16),1)=1, ADDERROR("Low pressure", "E002"));
IF(GETBIT(MODBUSR(H, 950, Uint16),2)=1, ADDERROR("Compressor thermal protection", "E003"));
IF(GETBIT(MODBUSR(H, 950, Uint16),3)=1, ADDERROR("Fan thermal protection", "E004"));
IF(GETBIT(MODBUSR(H, 950, Uint16),4)=1, ADDERROR("Frost", "E005"));
IF(GETBIT(MODBUSR(H, 950, Uint16),5)=1, ADDERROR("Lack of flow", "E006"));
IF(GETBIT(MODBUSR(H, 950, Uint16),6)=1, ADDERROR("DHW preparer low temperature", "E007"));
IF(GETBIT(MODBUSR(H, 950, Uint16),7)=1, ADDERROR("Lack of lubrication", "E008"));
IF(GETBIT(MODBUSR(H, 950, Uint16),8)=1, ADDERROR("High discharge temperature of Cp1", "E009"));
IF(GETBIT(MODBUSR(H, 950, Uint16),9)=1, ADDERROR("Solar collector at high temperature", "E010"));
IF(GETBIT(MODBUSR(H, 950, Uint16),12)=1, ADDERROR("Compressor 2 thermal protection", "E013"));
IF(GETBIT(MODBUSR(H, 950, Uint16),13)=1, ADDERROR("Fan 2 thermal protection", "E014"));
IF(GETBIT(MODBUSR(H, 950, Uint16),15)=1, ADDERROR("Pump thermal protection", "E016"));

IF(GETBIT(MODBUSR(H, 951, Uint16),1)=1, ADDERROR("High temperature", "E018"));
IF(GETBIT(MODBUSR(H, 951, Uint16),2)=1, ADDERROR("High discharge temperature of Cp2", "E019"));
IF(GETBIT(MODBUSR(H, 951, Uint16),3)=1, ADDERROR("Inverted pressure transcuders", "E020"));
IF(GETBIT(MODBUSR(H, 951, Uint16),6)=1, ADDERROR("Compressor 3 thermal protection", "E023"));
IF(GETBIT(MODBUSR(H, 951, Uint16),7)=1, ADDERROR("Fan 3 thermal protection", "E024"));
IF(GETBIT(MODBUSR(H, 951, Uint16),9)=1, ADDERROR("Pump 2 thermal protection", "E026"));
IF(GETBIT(MODBUSR(H, 951, Uint16),11)=1, ADDERROR("Incongruent temperatures", "E041"));
IF(GETBIT(MODBUSR(H, 951, Uint16),12)=1, ADDERROR("Poor heat exchange DHW", "E042"));
IF(GETBIT(MODBUSR(H, 951, Uint16),13)=1, ADDERROR("DHW accumulation tank in high temperature", "E050"));
IF(GETBIT(MODBUSR(H, 951, Uint16),14)=1, ADDERROR("I/O module 1 disconnected", "E101"));
IF(GETBIT(MODBUSR(H, 951, Uint16),15)=1, ADDERROR("I/O module 2 disconnected", "E102"));

IF(GETBIT(MODBUSR(H, 952, Uint16),0)=1, ADDERROR("Probe 1 error", "E611"));
IF(GETBIT(MODBUSR(H, 952, Uint16),1)=1, ADDERROR("Probe 2 error", "E621"));
IF(GETBIT(MODBUSR(H, 952, Uint16),2)=1, ADDERROR("Probe 3 error", "E631"));
IF(GETBIT(MODBUSR(H, 952, Uint16),3)=1, ADDERROR("Probe 4 error", "E641"));
IF(GETBIT(MODBUSR(H, 952, Uint16),4)=1, ADDERROR("Probe 5 error", "E651"));
IF(GETBIT(MODBUSR(H, 952, Uint16),5)=1, ADDERROR("Probe 6 error", "E661"));
IF(GETBIT(MODBUSR(H, 952, Uint16),6)=1, ADDERROR("Probe 7 error", "E671"));
IF(GETBIT(MODBUSR(H, 952, Uint16),7)=1, ADDERROR("Probe 8 error", "E681"));
IF(GETBIT(MODBUSR(H, 952, Uint16),8)=1, ADDERROR("Probe 9 error", "E691"));
IF(GETBIT(MODBUSR(H, 952, Uint16),9)=1, ADDERROR("Probe 10 error", "E701"));
IF(GETBIT(MODBUSR(H, 952, Uint16),10)=1, ADDERROR("Probe 11 error", "E711"));
IF(GETBIT(MODBUSR(H, 952, Uint16),11)=1, ADDERROR("Module 1 probe 1 error", "E612"));
IF(GETBIT(MODBUSR(H, 952, Uint16),12)=1, ADDERROR("Module 1 probe 2 error", "E622"));
IF(GETBIT(MODBUSR(H, 952, Uint16),13)=1, ADDERROR("Module 1 probe 3 error", "E632"));
IF(GETBIT(MODBUSR(H, 952, Uint16),14)=1, ADDERROR("Module 1 probe 4 error", "E642"));
IF(GETBIT(MODBUSR(H, 952, Uint16),15)=1, ADDERROR("Module 1 probe 5 error", "E652"));

IF(GETBIT(MODBUSR(H, 953, Uint16),0)=1, ADDERROR("Module 1 probe 6 error", "E662"));
IF(GETBIT(MODBUSR(H, 953, Uint16),1)=1, ADDERROR("Module 1 probe 7 error", "E672"));
IF(GETBIT(MODBUSR(H, 953, Uint16),2)=1, ADDERROR("Module 1 probe 8 error", "E682"));
IF(GETBIT(MODBUSR(H, 953, Uint16),3)=1, ADDERROR("Module 1 probe 9 error", "E692"));
IF(GETBIT(MODBUSR(H, 953, Uint16),4)=1, ADDERROR("Module 1 probe 10 error", "E702"));
IF(GETBIT(MODBUSR(H, 953, Uint16),5)=1, ADDERROR("Module 1 probe 11 error", "E712"));
IF(GETBIT(MODBUSR(H, 953, Uint16),6)=1, ADDERROR("Module 2 probe 1 error", "E613"));
IF(GETBIT(MODBUSR(H, 953, Uint16),7)=1, ADDERROR("Module 2 probe 2 error", "E623"));
IF(GETBIT(MODBUSR(H, 953, Uint16),8)=1, ADDERROR("Module 2 probe 3 error", "E633"));
IF(GETBIT(MODBUSR(H, 953, Uint16),9)=1, ADDERROR("Module 2 probe 4 error", "E643"));
IF(GETBIT(MODBUSR(H, 953, Uint16),10)=1, ADDERROR("Module 2 probe 5 error", "E653"));
IF(GETBIT(MODBUSR(H, 953, Uint16),11)=1, ADDERROR("Module 2 probe 6 error", "E663"));
IF(GETBIT(MODBUSR(H, 953, Uint16),12)=1, ADDERROR("Module 2 probe 7 error", "E673"));
IF(GETBIT(MODBUSR(H, 953, Uint16),13)=1, ADDERROR("Module 2 probe 8 error", "E683"));
IF(GETBIT(MODBUSR(H, 953, Uint16),14)=1, ADDERROR("Module 2 probe 9 error", "E693"));
IF(GETBIT(MODBUSR(H, 953, Uint16),15)=1, ADDERROR("Module 2 probe 10 error", "E703"));

IF(GETBIT(MODBUSR(H, 954, Uint16),0)=1, ADDERROR("Module 2 probe 11 error", "E713"));
IF(GETBIT(MODBUSR(H, 954, Uint16),1)=1, ADDERROR("Link inverter 1", "E801"));
IF(GETBIT(MODBUSR(H, 954, Uint16),2)=1, ADDERROR("Link inverter 2", "E802"));
IF(GETBIT(MODBUSR(H, 954, Uint16),3)=1, ADDERROR("Link inverter 3", "E803"));
IF(GETBIT(MODBUSR(H, 954, Uint16),4)=1, ADDERROR("Hardware fault inverter 1", "E851"));
IF(GETBIT(MODBUSR(H, 954, Uint16),5)=1, ADDERROR("Hardware fault inverter 2", "E852"));
IF(GETBIT(MODBUSR(H, 954, Uint16),6)=1, ADDERROR("Hardware fault inverter 3", "E853"));
IF(GETBIT(MODBUSR(H, 954, Uint16),7)=1, ADDERROR("Overcurrent inverter 1", "E861"));
IF(GETBIT(MODBUSR(H, 954, Uint16),8)=1, ADDERROR("Overcurrent inverter 2", "E862"));
IF(GETBIT(MODBUSR(H, 954, Uint16),9)=1, ADDERROR("Overcurrent inverter 3", "E863"));
IF(GETBIT(MODBUSR(H, 954, Uint16),10)=1, ADDERROR("High temperature inverter 1", "E871"));
IF(GETBIT(MODBUSR(H, 954, Uint16),11)=1, ADDERROR("High temperature inverter 2", "E872"));
IF(GETBIT(MODBUSR(H, 954, Uint16),12)=1, ADDERROR("High temperature inverter 3", "E873"));
IF(GETBIT(MODBUSR(H, 954, Uint16),13)=1, ADDERROR("Bad voltage inverter 1", "E881"));
IF(GETBIT(MODBUSR(H, 954, Uint16),14)=1, ADDERROR("Bad voltage inverter 2", "E882"));
IF(GETBIT(MODBUSR(H, 954, Uint16),15)=1, ADDERROR("Bad voltage inverter 3", "E883"));

IF(GETBIT(MODBUSR(H, 955, Uint16),0)=1, ADDERROR("Phase sequence inverter 1", "E891"));
IF(GETBIT(MODBUSR(H, 955, Uint16),1)=1, ADDERROR("Phase sequence inverter 2", "E892"));
IF(GETBIT(MODBUSR(H, 955, Uint16),2)=1, ADDERROR("Phase sequence inverter 3", "E893"));
IF(GETBIT(MODBUSR(H, 955, Uint16),3)=1, ADDERROR("Model error inverter 1", "E901"));
IF(GETBIT(MODBUSR(H, 955, Uint16),4)=1, ADDERROR("Model error inverter 2", "E902"));
IF(GETBIT(MODBUSR(H, 955, Uint16),5)=1, ADDERROR("Model error inverter 3", "E903"));
IF(GETBIT(MODBUSR(H, 955, Uint16),6)=1, ADDERROR("Overload error inverter 1", "E911"));
IF(GETBIT(MODBUSR(H, 955, Uint16),7)=1, ADDERROR("Overload error inverter 2", "E912"));
IF(GETBIT(MODBUSR(H, 955, Uint16),8)=1, ADDERROR("Overload error inverter 3", "E913"));
IF(GETBIT(MODBUSR(H, 955, Uint16),9)=1, ADDERROR("Overcurrent PFC inverter 1", "E921"));
IF(GETBIT(MODBUSR(H, 955, Uint16),10)=1, ADDERROR("Overcurrent PFC inverter 2", "E922"));
IF(GETBIT(MODBUSR(H, 955, Uint16),11)=1, ADDERROR("Overcurrent PFC inverter 3", "E923"));
IF(GETBIT(MODBUSR(H, 955, Uint16),12)=1, ADDERROR("Internal communication error inverter 1", "E931"));
IF(GETBIT(MODBUSR(H, 955, Uint16),13)=1, ADDERROR("Internal communication error inverter 2", "E932"));
IF(GETBIT(MODBUSR(H, 955, Uint16),14)=1, ADDERROR("Internal communication error inverter 3", "E933"));
IF(GETBIT(MODBUSR(H, 955, Uint16),15)=1, ADDERROR("Fault PFC inverter 1", "E941"));

IF(GETBIT(MODBUSR(H, 956, Uint16),0)=1, ADDERROR("Fault PFC inverter 2", "E942"));
IF(GETBIT(MODBUSR(H, 956, Uint16),1)=1, ADDERROR("Fault PFC inverter 3", "E943"));
IF(GETBIT(MODBUSR(H, 956, Uint16),2)=1, ADDERROR("Probe error inverter 1", "E951"));
IF(GETBIT(MODBUSR(H, 956, Uint16),3)=1, ADDERROR("Probe error inverter 2", "E952"));
IF(GETBIT(MODBUSR(H, 956, Uint16),4)=1, ADDERROR("Probe error inverter 3", "E953"));
IF(GETBIT(MODBUSR(H, 956, Uint16),5)=1, ADDERROR("Abnormal condition inverter 1", "E961"));
IF(GETBIT(MODBUSR(H, 956, Uint16),6)=1, ADDERROR("Abnormal condition inverter 2", "E962"));
IF(GETBIT(MODBUSR(H, 956, Uint16),7)=1, ADDERROR("Abnormal condition inverter 3", "E963"));
IF(GETBIT(MODBUSR(H, 956, Uint16),8)=1, ADDERROR("Inverter 1 EEPROM error", "E971"));
IF(GETBIT(MODBUSR(H, 956, Uint16),9)=1, ADDERROR("Inverter 2 EEPROM error", "E972"));
IF(GETBIT(MODBUSR(H, 956, Uint16),10)=1, ADDERROR("Inverter 3 EEPROM error", "E973"));
IF(GETBIT(MODBUSR(H, 956, Uint16),11)=1, ADDERROR("High discharge temperature of Cp3", "E029"));
IF(GETBIT(MODBUSR(H, 956, Uint16),12)=1, ADDWARNING("Anti-legionella performed correctly", "E060"));
IF(GETBIT(MODBUSR(H, 956, Uint16),13)=1, ADDERROR("Anti-legionella failed or stopped", "E061"));
Attributi di servizio
Compressor 1 runtime
MODBUSR(H, 305, Uint16) + "h"
Compressor 2 runtime
MODBUSR(H, 307, Uint16) + "h"
Compressor 3 runtime
MODBUSR(H, 309, Uint16) + "h"
Compressor 1 runtime (circuit 2)
MODBUSR(H, 313, Uint16) + "h"
Compressor 2 runtime (circuit 2)
MODBUSR(H, 315, Uint16) + "h"
Compressor 3 runtime (circuit 2)
MODBUSR(H, 317, Uint16) + "h"
Modalità attiva Interruttore multivalore

Selettore modalità operativa — Stand by, Cool, Heat, Sanitary (ACS), Cool+DHW, Heat+DHW

Registro: H:200H:7200 Int16 numeric
Valori / Stati: Stand by · Cool · Heat · Sanitary · Cool+DHW · Heat+DHW
Azioni di servizio
Setpoint ACSImpostare la temperatura target dell'acqua calda sanitaria (25–55 °C)

Modalità attiva

Lettura stato interruttore
MODBUSR(H, 200, Int16)
Scrittura stato interruttore
MODBUSW(H, 7200, int16, Mu)
Azioni di servizio
DHW (sanitary) setpoint
Parametri: Temp setpoint (25–55 ts)
MODBUSW(H, 7205, Uint16, ts*10);
Temperatura di mandata compressore Sensore di temperatura Solo lettura

Temperatura di mandata del compressore 1 con attributi di servizio per tutti i sensori di mandata dei compressori su entrambi i circuiti

Registro: H:433 Int16 Unità: °C numeric
Attributi di servizio
Mandata compressore 1
Mandata compressore 2
Mandata compressore 3
Aspirazione compressore (circuito 2)
Mandata compressore 1 (circuito 2)
Mandata compressore 2 (circuito 2)
Mandata compressore 3 (circuito 2)

Temperatura di mandata compressore

Lettura temperatura
MODBUSR(H, 433, Int16) / 10
Attributi di servizio
Compressor discharge 1
var temp := MODBUSR(H, 433, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Compressor discharge 2
var temp := MODBUSR(H, 434, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Compressor discharge 3
var temp := MODBUSR(H, 435, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Compressor inhalation (circuit 2)
var temp := MODBUSR(H, 20422, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Compressor 1 discharge (circuit 2)
var temp := MODBUSR(H, 20433, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Compressor 2 discharge (circuit 2)
var temp := MODBUSR(H, 20434, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Compressor 3 discharge (circuit 2)
var temp := MODBUSR(H, 20435, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
Setpoint raffrescamento Termostato

Termostato setpoint raffrescamento — temperatura attuale dal serbatoio di miscelazione

Registro: H:1001 Int16 Unità: °C numeric

Setpoint raffrescamento

Lettura temperatura
MODBUSR(H, 440, Int16)/10
Lettura temperatura desiderata
MODBUSR(H, 1001, Int16) / 10
Scrittura temperatura desiderata
MODBUSW(H, 1001, Int16, Se * 10)
Temperatura ACS Sensore di temperatura Solo lettura

Temperatura dell'acqua calda sanitaria con rilevamento guasti (avvisi Not configured / Fault)

Registro: H:405 Int16 Unità: °C numeric
Attributi di servizio
Stato

Temperatura ACS

Lettura temperatura
var reg := MODBUSR(H, 405, Int16);
SWITCH(reg, 32766, ADDWARNING("DHW temperature not configured"), 32767, ADDWARNING("DHW temperature at fault"), Return(reg/10));
Return (nan);
Attributi di servizio
Status
SWITCH(MODBUSR(H, 405, Uint16), 32766, "Not configured", 32767, "Fault", "Ok")
Velocità ventilatore Dimmer Solo lettura

Velocità del ventilatore in sola lettura in percentuale

Registro: H:7000 Int16 Unità: % numeric

Velocità ventilatore

Lettura livello
MODBUSR(H, 7000, Int16)/1000
Setpoint riscaldamento Termostato

Termostato setpoint riscaldamento — temperatura attuale dal serbatoio di miscelazione

Registro: H:1002 Int16 Unità: °C numeric

Setpoint riscaldamento

Lettura temperatura
MODBUSR(H, 440, Int16)/10
Lettura temperatura desiderata
MODBUSR(H, 1002, Int16) / 10
Scrittura temperatura desiderata
MODBUSW(H, 1002, Int16, Se * 10)
Alta pressione Variabile Solo lettura

Pressione lato alta del refrigerante in bar con attributo di servizio per il circuito 2

Registro: H:406 Int16 Unità: bar numeric
Attributi di servizio
Alta pressione circuito 2

Alta pressione

Lettura
MODBUSR(H, 406, Int16)/100
Attributi di servizio
High Pressure Circuit 2
MODBUSR(H, 20406, Int16)/100 + " bar"
Bassa pressione Variabile Solo lettura

Pressione lato bassa del refrigerante in bar con attributo di servizio per il circuito 2

Registro: H:414 Int16 Unità: bar numeric
Attributi di servizio
Bassa pressione circuito 2

Bassa pressione

Lettura
MODBUSR(H, 414, Int16)/100
Attributi di servizio
Low Pressure Circuit 2
MODBUSR(H, 20414, Int16)/100 + " bar"
Temperatura esterna Sensore di temperatura Solo lettura
Registro: H:428 Int16 Unità: °C numeric

Temperatura esterna

Lettura temperatura
MODBUSR(H, 428, int16) / 10
Temperatura impianto (serbatoio di miscelazione) Sensore di temperatura Solo lettura

Temperatura del serbatoio di accumulo/miscelazione — utilizzata anche come temperatura di riferimento attuale per i termostati di riscaldamento e raffrescamento

Registro: H:440 Int16 Unità: °C numeric

Temperatura impianto (serbatoio di miscelazione)

Lettura temperatura
MODBUSR(H, 440, Int16)/10
Velocità pompa Dimmer Solo lettura

Velocità della pompa di circolazione in sola lettura in percentuale

Registro: H:7001 Int16 Unità: % numeric

Velocità pompa

Lettura livello
MODBUSR(H, 7001, Int16)/1000
Portata d'acqua Variabile Solo lettura

Portata d'acqua in l/min con rilevamento guasti (avvisi Not configured / Fault)

Registro: H:444 Int16 Unità: l/min numeric
Attributi di servizio
Stato

Portata d'acqua

Lettura
var reg := MODBUSR(H, 444, Int16);
SWITCH(reg, 32766, ADDWARNING("Water flow not configured"), 32767, ADDWARNING("Water flow at fault"), Return(reg/10));
Return (nan);
Attributi di servizio
Status
SWITCH(MODBUSR(H, 405, Uint16), 32766, "Not configured", 32767, "Fault", "Ok")
Temperatura acqua in ingresso Sensore di temperatura Solo lettura
Registro: H:400 Int16 Unità: °C numeric

Temperatura acqua in ingresso

Lettura temperatura
MODBUSR(H, 400, Int16) / 10
Temperatura acqua in uscita Sensore di temperatura Solo lettura
Registro: H:401 Int16 Unità: °C numeric

Temperatura acqua in uscita

Lettura temperatura
MODBUSR(H, 401, Int16) / 10
Connessione: Modbus RTU • 9600 baud• 8E1 • Slave ID: $[SlaveId]
Possibili miglioramenti (2)
  • H:422 Compressor Inhalation Temperature — Int16, /10 = °C. Register H:422 is listed in report but template device named 'Compressor inhalation' actually reads H:433 (discharge). True inhalation temp is not exposed as a primary device
  • H:7201 Remote Write Enable (direct access) — UInt16 bit 0 — module readscript auto-enables this on every poll. Not exposed as a standalone device but could be useful for manual override