---
title: "Sistema Sistema-Home 4..18(T)"
description: "Ovládání vytápění/chlazení, TUV a požadovaných hodnot, monitorování teplot, tlaků, průtoku a 80+ chybových kódů přes Modbus RTU."
url: "https://taphome.com/cs/compatibility/sistema-home-418t/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["modbus-rtu","heat-pump","rs485","dual-circuit","dhw"]
  questions: ["Jak integrovat tepelné čerpadlo Sistema-Home 4..18(T) s TapHome?","Co monitoruje a ovládá šablona Sistema-Home 4..18(T) v TapHome?","Jak připojit tepelné čerpadlo Sistema-Home přes RS-485 k TapHome?","Jak změnit provozní režim tepelného čerpadla Sistema-Home přes Modbus?","Jaké chybové kódy hlásí šablona Sistema-Home 4..18(T)?","Jak nastavit teplotu TUV na tepelném čerpadle Sistema-Home na dálku?"]
---

# Sistema Sistema-Home 4..18(T)

Komunikace: Modbus RTU

## Návod na integraci

Sistema-Home 4..18(T) je dvouokruhové tepelné čerpadlo komunikující přes Modbus RTU (RS-485). Šablona TapHome poskytuje ovládání provozního režimu s režimy vytápění, chlazení a TUV, regulaci požadovaných hodnot pro topný a chladicí okruh, požadovanou hodnotu teploty TUV a komplexní monitorování teplot vody, tlaků chladiva, otáček ventilátoru a čerpadla a průtoku vody. Šablona také hlásí 80+ chybových kódů z regulátoru tepelného čerpadla přes bitová pole registrů.

Regulátor je pravděpodobně založen na platformě CAREL pCO (typické pro italská OEM tepelná čerpadla). Mapa registrů je proprietární a veškeré technické informace v této šabloně pocházejí výhradně z XML šablony — od výrobce není dostupná žádná veřejná dokumentace.

## Hardwarové připojení

Sistema-Home 4..18(T) se připojuje k TapHome přes bránu Modbus RTU CCU pomocí sériové sběrnice RS-485. Výchozí komunikační parametry jsou 9600 baud, 8 datových bitů, sudá parita, 1 stop bit, Slave ID 1.

Připojte kabeláž RS-485 mezi portem Modbus tepelného čerpadla a TapHome Modbus RTU CCU:

- **A+** na tepelném čerpadle → **A+/D+** na TapHome RS-485
- **B-** na tepelném čerpadle → **B-/D-** na TapHome RS-485
- **GND** → **GND** (povinné pro spolehlivou komunikaci)

> [!WARNING]
> Vodič GND musí být propojen mezi tepelným čerpadlem a bránou TapHome. Bez správného uzemnění jsou chyby komunikace Modbus pravděpodobné, zejména u delších kabelových tras.

## Konfigurace

### Povolení vzdáleného zápisu

Šablona automaticky povoluje vzdálený zápis při každém cyklu dotazování nastavením bitu 0 registru H:7201. To znamená, že tepelné čerpadlo přijímá změny požadovaných hodnot a režimů z TapHome ihned po importu šablony — manuální konfigurace tohoto registru není potřeba.

### Komunikační parametry

Ověřte, že následující nastavení se shodují mezi tepelným čerpadlem a TapHome:

| Parametr | Hodnota |
|----------|---------|
| Přenosová rychlost | 9600 |
| Datové bity | 8 |
| Parita | Sudá |
| Stop bity | 1 |
| Slave ID | 1 (výchozí) |

Pokud se Slave ID na tepelném čerpadle liší od 1, aktualizujte importní parametr Slave ID v TapHome.

## Funkce zařízení

### Ovládání provozního režimu

Zařízení **Active Mode** vybírá provozní režim tepelného čerpadla. Dostupné režimy:

| Hodnota | Režim | Popis |
|---------|-------|-------|
| 0 | Stand by | Tepelné čerpadlo v pohotovosti |
| 1 | Cool | Pouze chlazení |
| 2 | Heat | Pouze vytápění |
| 4 | Sanitary | Pouze příprava TUV |
| 5 | Cool+DHW | Chlazení s TUV |
| 6 | Heat+DHW | Vytápění s TUV |

Hodnoty režimů 3, 7, 8 a 9 jsou definovány v šabloně, ale nemají smysluplné názvy — zobrazují se jako zástupné číslice a mohou být rezervovány nebo nepoužívány na této variantě regulátoru.

Servisní akce **DHW (Sanitary) Setpoint** na zařízení Active Mode umožňuje nastavit cílovou teplotu teplé užitkové vody (rozsah 25–55 °C).

### Regulace požadovaných hodnot

Dvě termostatová zařízení ovládají požadované hodnoty vytápění a chlazení:

- **Heat Setpoint** — čtení/zápis požadované hodnoty vytápění (H:1002). Referenční aktuální teplota je čidlo směšovací nádrže (H:440).
- **Cool Setpoint** — čtení/zápis požadované hodnoty chlazení (H:1001). Používá stejnou teplotu směšovací nádrže jako aktuální hodnotu.

Obě požadované hodnoty používají konverzi ×10 (např. hodnota registru 350 = 35,0 °C).

### Monitorování teplot

Šest teplotních čidel poskytuje teplotní monitorování napříč systémem:

- **Outside Temperature** — venkovní teplota (H:428, dotazování každých 30 s)
- **Plant Temperature (Mixing Tank)** — teplota zásobníku/směšovací nádrže (H:440), používaná také jako referenční aktuální teplota pro oba termostaty
- **Water Inlet Temperature** — teplota vstupní vody do výměníku tepla (H:400)
- **Water Outlet Temperature** — teplota výstupní vody z výměníku tepla (H:401)
- **DHW Temperature** — teplota zásobníku teplé užitkové vody (H:405), s detekcí poruchy (hlásí varování, pokud čidlo čte "Not configured" nebo "Fault")
- **Compressor Discharge Temperature** — teplota výtlaku kompresoru 1 (H:433), se 7 servisními atributy pokrývajícími teploty výtlaku kompresorů obou chladivových okruhů a teplotu sání kompresoru okruhu 2

> [!NOTE]
> Zařízení šablony s názvem "Compressor inhalation" ve skutečnosti čte registr H:433, který podle mapy registrů odpovídá výtlaku kompresoru 1. Skutečný registr sání kompresoru (H:422) není vystaven jako primární zařízení. Zobrazovaný název v TapHome odráží opravenou funkci (Compressor Discharge Temperature).

### Monitorování tlaků chladiva

Dva tlakové senzory monitorují chladivové okruhy:

- **High Pressure** — tlak chladiva na vysokotlaké straně v bar (H:406), se servisním atributem pro okruh 2 (H:20406)
- **Low Pressure** — tlak chladiva na nízkotlaké straně v bar (H:414), se servisním atributem pro okruh 2 (H:20414)

### Otáčky ventilátoru a čerpadla

- **Fan Speed** — otáčky ventilátoru pouze pro čtení v procentech (H:7000, konverze ÷1000)
- **Pump Speed** — otáčky oběhového čerpadla pouze pro čtení v procentech (H:7001, konverze ÷1000)

### Průtok vody

Čidlo **Water Flow Rate** měří průtok vody v systému v l/min (H:444). Obsahuje detekci poruchy — varování se vyvolá, pokud čidlo hlásí "Not configured" (32766) nebo "Fault" (32767).

> [!WARNING]
> Servisní atribut stavu Water Flow Rate čte registr H:405 (registr teploty TUV) namísto H:444. Pravděpodobně se jedná o chybu šablony — stav nemusí přesně odrážet stav čidla průtoku vody.

### Monitorování doby běhu kompresoru

Šest servisních atributů na úrovni modulu sleduje provozní hodiny kompresorů:

- **Compressor 1/2/3 Runtime** — kumulativní hodiny pro kompresory okruhu 1 (H:305, H:307, H:309)
- **Compressor 1/2/3 Runtime (Circuit 2)** — kumulativní hodiny pro kompresory okruhu 2 (H:313, H:315, H:317)

### Monitorování chyb

Modul ReadScript monitoruje registry H:950 až H:956 (7 bitových registrů) a hlásí 80+ různých chybových a varovných kódů. Hlavní kategorie chyb:

- **Poruchy chladivového okruhu** — vysoký tlak (E001), nízký tlak (E002), námraza (E005)
- **Tepelná ochrana** — kompresor (E003, E013, E023), ventilátor (E004, E014, E024), čerpadlo (E016, E026)
- **Teplotní poruchy** — vysoká teplota výtlaku (E009, E019, E029), vysoká teplota (E018), nekonzistentní teploty (E041)
- **Poruchy TUV** — slabá výměna tepla (E042), přehřátí akumulační nádrže (E050), stav anti-legionela (E060/E061)
- **Chyby čidel** — chyby sond pro až 11 sond napříč 3 I/O moduly (E611–E713)
- **Poruchy měniče** — chyby komunikace, hardwarové poruchy, nadproud, přehřátí, napěťové poruchy, chyby fázové posloupnosti, chyby EEPROM pro až 3 měniče (E801–E973)
- **Poruchy I/O modulu** — modul 1/2 odpojen (E101, E102)

### Další funkce

Regulátor tepelného čerpadla také vystavuje registr teploty sání kompresoru (H:422) a příznak povolení vzdáleného zápisu (H:7201), který je automaticky spravován šablonou. Tyto lze přidat jako samostatná zařízení v budoucí aktualizaci šablony, pokud je potřeba přímé monitorování teploty sání.

## Řešení problémů

### Žádná komunikace Modbus

1. Zkontrolujte zapojení RS-485 — A+ na A+, B- na B-, GND připojen
2. Ověřte komunikační parametry: 9600 baud, 8E1, Slave ID 1
3. Zkontrolujte délku kabelu a terminaci — u dlouhých tras může být potřeba 120 ohmový terminační rezistor na posledním zařízení na sběrnici
4. Ujistěte se, že rozhraní Modbus na regulátoru tepelného čerpadla je povoleno (konzultujte menu regulátoru na místě)

### Čidla zobrazující varování "Not configured"

Registry vracející speciální hodnotu 32766 indikují čidlo, které není zapojeno nebo nakonfigurováno na regulátoru tepelného čerpadla. To je očekávané pro volitelná čidla (např. sonda TUV na jednotkách bez zásobníku TUV). Varování lze potvrdit v TapHome.

### Změny režimu se neuplatňují

1. Ověřte, že zařízení Active Mode zobrazuje očekávaný režim po zápisu — registr čtení (H:200) a registr zápisu (H:7200) jsou oddělené, takže může nastat krátké zpoždění
2. Zkontrolujte, zda na regulátoru tepelného čerpadla není aktivní lokální přepsání nebo blokace
3. Příznak povolení vzdáleného zápisu (H:7201 bit 0) je nastaven automaticky šablonou — pokud byla komunikace přerušena, bude opětovně povolen při dalším cyklu dotazování

## Dostupná zařízení 14

Tato zařízení se po importu zobrazí v TapHome.

Sistema-Home 4..18(T) Modul

Servisní atributy

|                                  |
|----------------------------------|
| Doba běhu kompresoru 1           |
| Doba běhu kompresoru 2           |
| Doba běhu kompresoru 3           |
| Doba běhu kompresoru 1 (okruh 2) |
| Doba běhu kompresoru 2 (okruh 2) |
| Doba běhu kompresoru 3 (okruh 2) |

Čtení (modul)

```taphome
#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"));
```

Servisní atributy

Compressor 1 runtime

```taphome
MODBUSR(H, 305, Uint16) + "h"
```

Compressor 2 runtime

```taphome
MODBUSR(H, 307, Uint16) + "h"
```

Compressor 3 runtime

```taphome
MODBUSR(H, 309, Uint16) + "h"
```

Compressor 1 runtime (circuit 2)

```taphome
MODBUSR(H, 313, Uint16) + "h"
```

Compressor 2 runtime (circuit 2)

```taphome
MODBUSR(H, 315, Uint16) + "h"
```

Compressor 3 runtime (circuit 2)

```taphome
MODBUSR(H, 317, Uint16) + "h"
```

Aktivní režim Vícestavový přepínač Čtení i zápis

Volba provozního režimu — Stand by, Cool, Heat, Sanitary (TUV), Cool+DHW, Heat+DHW

Registr: H:200 → H:7200 Int16 numeric

Hodnoty / Stavy: Stand by · Cool · Heat · Cool+DHW · Heat+DHW

Servisní akce

|                        |                                                         |
|------------------------|---------------------------------------------------------|
| Požadovaná hodnota TUV | Nastavení cílové teploty teplé užitkové vody (25–55 °C) |

Čtení stavu přepínače

```taphome
MODBUSR(H, 200, Int16)
```

Zápis stavu přepínače

```taphome
MODBUSW(H, 7200, int16, Mu)
```

Servisní akce

DHW (sanitary) setpoint

Parametry: Temp setpoint (25–55 ts)

```taphome
MODBUSW(H, 7205, Uint16, ts*10);
```

Teplota výtlaku kompresoru Teplotní senzor Pouze ke čtení

Teplota výtlaku kompresoru 1 se servisními atributy pro všechna čidla výtlaku kompresorů napříč oběma okruhy

Registr: H:433 Int16 Jednotka: °C numeric

Servisní atributy

|                               |
|-------------------------------|
| Výtlak kompresoru 1           |
| Výtlak kompresoru 2           |
| Výtlak kompresoru 3           |
| Sání kompresoru (okruh 2)     |
| Výtlak kompresoru 1 (okruh 2) |
| Výtlak kompresoru 2 (okruh 2) |
| Výtlak kompresoru 3 (okruh 2) |

Čtení teploty

```taphome
MODBUSR(H, 433, Int16) / 10
```

Servisní atributy

Compressor discharge 1

```taphome
var temp := MODBUSR(H, 433, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Compressor discharge 2

```taphome
var temp := MODBUSR(H, 434, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Compressor discharge 3

```taphome
var temp := MODBUSR(H, 435, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Compressor inhalation (circuit 2)

```taphome
var temp := MODBUSR(H, 20422, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Compressor 1 discharge (circuit 2)

```taphome
var temp := MODBUSR(H, 20433, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Compressor 2 discharge (circuit 2)

```taphome
var temp := MODBUSR(H, 20434, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Compressor 3 discharge (circuit 2)

```taphome
var temp := MODBUSR(H, 20435, Int16);
if(temp = 32766, "Not configured", temp/10 + "°C");
```

Požadovaná hodnota chlazení Termostat Čtení i zápis

Termostat požadované hodnoty chlazení — aktuální teplota ze směšovací nádrže

Registr: H:1001 Int16 Jednotka: °C numeric

Čtení teploty

```taphome
MODBUSR(H, 440, Int16)/10
```

Čtení požadované teploty

```taphome
MODBUSR(H, 1001, Int16) / 10
```

Zápis požadované teploty

```taphome
MODBUSW(H, 1001, Int16, Se * 10)
```

Teplota TUV Teplotní senzor Pouze ke čtení

Teplota teplé užitkové vody s detekcí poruchy (varování Not configured / Fault)

Registr: H:405 Int16 Jednotka: °C numeric

Servisní atributy

|      |
|------|
| Stav |

Čtení teploty

```taphome
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);
```

Servisní atributy

Status

```taphome
SWITCH(MODBUSR(H, 405, Uint16), 32766, "Not configured", 32767, "Fault", "Ok")
```

Otáčky ventilátoru Stmívač Pouze ke čtení

Otáčky ventilátoru pouze pro čtení v procentech

Registr: H:7000 Int16 Jednotka: % numeric

Čtení úrovně

```taphome
MODBUSR(H, 7000, Int16)/1000
```

Požadovaná hodnota vytápění Termostat Čtení i zápis

Termostat požadované hodnoty vytápění — aktuální teplota ze směšovací nádrže

Registr: H:1002 Int16 Jednotka: °C numeric

Čtení teploty

```taphome
MODBUSR(H, 440, Int16)/10
```

Čtení požadované teploty

```taphome
MODBUSR(H, 1002, Int16) / 10
```

Zápis požadované teploty

```taphome
MODBUSW(H, 1002, Int16, Se * 10)
```

Vysoký tlak Proměnná Pouze ke čtení

Tlak chladiva na vysokotlaké straně v bar se servisním atributem pro okruh 2

Registr: H:406 Int16 Jednotka: bar numeric

Servisní atributy

|                     |
|---------------------|
| Vysoký tlak okruh 2 |

Čtení

```taphome
MODBUSR(H, 406, Int16)/100
```

Servisní atributy

High Pressure Circuit 2

```taphome
MODBUSR(H, 20406, Int16)/100 + " bar"
```

Nízký tlak Proměnná Pouze ke čtení

Tlak chladiva na nízkotlaké straně v bar se servisním atributem pro okruh 2

Registr: H:414 Int16 Jednotka: bar numeric

Servisní atributy

|                    |
|--------------------|
| Nízký tlak okruh 2 |

Čtení

```taphome
MODBUSR(H, 414, Int16)/100
```

Servisní atributy

Low Pressure Circuit 2

```taphome
MODBUSR(H, 20414, Int16)/100 + " bar"
```

Venkovní teplota Teplotní senzor Pouze ke čtení

Registr: H:428 Int16 Jednotka: °C numeric

Čtení teploty

```taphome
MODBUSR(H, 428, int16) / 10
```

Teplota zásobníku (směšovací nádrž) Teplotní senzor Pouze ke čtení

Teplota zásobníku/směšovací nádrže — používaná také jako referenční aktuální teplota pro termostaty vytápění a chlazení

Registr: H:440 Int16 Jednotka: °C numeric

Čtení teploty

```taphome
MODBUSR(H, 440, Int16)/10
```

Otáčky čerpadla Stmívač Pouze ke čtení

Otáčky oběhového čerpadla pouze pro čtení v procentech

Registr: H:7001 Int16 Jednotka: % numeric

Čtení úrovně

```taphome
MODBUSR(H, 7001, Int16)/1000
```

Průtok vody Proměnná Pouze ke čtení

Průtok vody v l/min s detekcí poruchy (varování Not configured / Fault)

Registr: H:444 Int16 Jednotka: l/min numeric

Servisní atributy

|      |
|------|
| Stav |

Čtení

```taphome
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);
```

Servisní atributy

Status

```taphome
SWITCH(MODBUSR(H, 405, Uint16), 32766, "Not configured", 32767, "Fault", "Ok")
```

Teplota vstupní vody Teplotní senzor Pouze ke čtení

Registr: H:400 Int16 Jednotka: °C numeric

Čtení teploty

```taphome
MODBUSR(H, 400, Int16) / 10
```

Teplota výstupní vody Teplotní senzor Pouze ke čtení

Registr: H:401 Int16 Jednotka: °C numeric

Čtení teploty

```taphome
MODBUSR(H, 401, Int16) / 10
```

**Připojení:** Modbus RTU • 9600 baud• 8E1 • Slave ID: $\[SlaveId]

Možná vylepšení (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

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci | Výchozí       |
|-------------------|---------------|
| Slave Id          | `1`           |
| IP address        | `192.168.1.0` |

## Související dokumentace

- [Modbus Integration](https://taphome.com/cs/compatibility/modbus-guide/)
- [Modbus](https://taphome.com/cs/docs/integration/modbus/)
- [Jednoduché nastavení pomocí šablon](https://taphome.com/cs/docs/integration/modbus/templates/)
- [Skripty Modbus a prefetch](https://taphome.com/cs/docs/script/modbus-scripts/)
- [Funkce Modbus](https://taphome.com/cs/docs/script/modbus/)
- [Datové typy Modbus](https://taphome.com/cs/docs/script/modbus-data-types/)

