TapHome

Geminox THRi

Modbus RTU
Submitted by
Last updated: 03. 2026

Vyžaduje externú bránu

Amit DM-OT2

Geminox THRi je plynový kondenzačný kotol pripojený k TapHome cez bránu Amit DM-OT2 (OpenTherm na Modbus RTU). DM-OT2 prekladá protokol OpenTherm kotla do holding registrov Modbus RTU, čím TapHome získa prístup k teplotným senzorom, termostatom vykurovania a TÚV, stavu horáka a monitorovaniu výkonu tepelného zdroja.

Šablóna využíva bitmaskové registre pre stav a ovládanie (H:100 a H:200), Float registre pre teploty a tlak a cyklický mechanizmus čítania extra OT registrov na získanie min/max hodnôt z OpenTherm data-ID, ktoré nie sú namapované na štandardné registre.

Hardvérové zapojenie

Prehľad brány

Amit DM-OT2 je prevodník montovaný na DIN lištu s galvanicky izolovaným rozhraním RS-485 a rozhraním OpenTherm/+. Funguje ako OpenTherm master komunikujúci s kotlom a zároveň ako Modbus RTU slave na zbernici RS-485.

Technické parametre
  • Napájanie: 20–30 V DC, max 30 mA
  • Prevádzková teplota: -40 °C až +70 °C
  • Protokol: Modbus RTU Slave, RS-485
  • Prenosová rýchlosť: 9600, bez parity, 2 stop bity
  • Max počet prevodníkov: 63 na jednej sieti RS-485
  • Izolácia RS-485: Galvanická, 500 V AC
  • Montáž: 35 mm DIN lišta
Pripojenie svoriek
SvorkaSignálPopis
1G485Zem RS-485
2BSignál RS-485 B (-)
3ASignál RS-485 A (+)
4GNDZem napájania
5+24VNapájanie +24 V DC
6RC1Rozhranie OpenTherm/+
7RC2Rozhranie OpenTherm/+
Zapojenie RS-485 k TapHome

Pripojte pomocou 3-vodičového RS-485 pripojenia:

  • A (svorka 3) → A+/D+ na TapHome RS-485
  • B (svorka 2) → B-/D- na TapHome RS-485
  • G485 (svorka 1) → GND na napájacom zdroji TapHome (povinné)

Dôležité — Uzemnenie

Zemniaci vodič G485 musí byť prepojený medzi DM-OT2 a napájacím zdrojom TapHome. Bez správneho uzemnenia môžu nastať chyby v komunikácii.

Zakončenie zbernice

DM-OT2 má jumpery pre zakončenie RS-485:

  • Jumpery osadené — koncová stanica (idle stavy a zakončenia aktívne). Použite na poslednom zariadení na zbernici.
  • Jumpery neosadené — medziľahlá stanica. Použite na všetkých ostatných zariadeniach.

Oba jumpery musia byť vždy nastavené súčasne.

Konfigurácia

Adresovanie DIP prepínačmi

DIP prepínače ADR0–ADR5 (prepínače 1–6) nastavujú Modbus slave adresu (rozsah 1–63). Adresa 0 nie je povolená.

Výpočet adresy: Každý prepínač reprezentuje binárnu hodnotu — ADR0=1, ADR1=2, ADR2=4, ADR3=8, ADR4=16, ADR5=32. Sčítajte hodnoty prepínačov v polohe ON.

Príklady adries:

AdresaPrepínače ON
1ADR0
2ADR1
3ADR0 + ADR1
5ADR0 + ADR2
10ADR1 + ADR3

Odporúčané: Adresa 1 (ADR0=ON, všetky ostatné OFF).

Rýchlosť komunikácie

DIP prepínače COMM0–COMM3 (prepínače 7–10) konfigurujú prenosovú rýchlosť a paritu. Pre TapHome nastavte:

  • COMM0: OFF, COMM1: OFF, COMM2: ON — toto zvolí 9600 baud, bez parity

Ak nie je zvolená parita, DM-OT2 automaticky použije 2 stop bity. Zmeny sa prejavia okamžite.

Výber protokolu

DIP prepínač MODE (prepínač 11) vyberá protokol:

  • Neosadený (OFF) — Modbus RTU (vyžadované pre TapHome)
  • Osadený (ON) — protokol ARION

Zmena sa prejaví po reštarte.

Možnosti zariadenia

Monitorovanie stavu

Tri binárne stavové senzory čítajú jednotlivé bity zo stavového registra (H:100):

  • Horák (bit 4) — indikuje, či je plameň horáka aktívny
  • Kúrenie (bit 2) — indikuje, či je ústredné kúrenie aktívne
  • Ohrev TÚV (bit 3) — indikuje, či je ohrev teplej úžitkovej vody aktívny

Tieto senzory sa aktualizujú každých 2500 ms a poskytujú prehľad o prevádzkovom stave kotla v reálnom čase.

Ovládanie vykurovania a TÚV

Dva prepínače ovládajú vykurovanie a TÚV cez riadiaci register (H:200):

  • Povolenie kúrenia (bit 5) — zapína alebo vypína ústredné kúrenie
  • Povolenie TÚV (bit 6) — zapína alebo vypína ohrev teplej úžitkovej vody

Oba prepínače používajú vzor read-modify-write: šablóna prečíta celý register H:200, zamaskuje cieľový bit, nastaví novú hodnotu a zapíše späť. Debounce na báze počítadla (cnt=5 cyklov) zabezpečí, že prepínač zobrazí zapísaný stav okamžite po prepnutí, čím sa predíde blikaniu počas spracovania príkazu kotlom.

Teplotné termostaty

Dve termostatické zariadenia poskytujú čítanie aktuálnej teploty aj ovládanie požadovanej teploty:

  • Teplota vykurovacieho okruhu — číta aktuálnu teplotu prietoku z H:102 (Float) a číta/zapisuje požadovanú teplotu do H:201 (Float). Servisný atribút zobrazuje rozsah min/max z OpenTherm data-ID 49.
  • Termostat TÚV — číta aktuálnu teplotu TÚV z H:106 (Float) a číta/zapisuje požadovanú teplotu do H:205 (Float). Servisný atribút zobrazuje rozsah min/max z OpenTherm data-ID 48.
Teplotné senzory

Tri senzory teploty len na čítanie poskytujú doplnkový monitoring:

  • Teplota spalín (H:118) — teplota výfukových plynov z kotla, užitočná na monitorovanie účinnosti spaľovania
  • Teplota spiatočky (H:108) — teplota vratnej vody z vykurovacieho okruhu
  • Vonkajšia teplota (H:110) — vonkajšia teplota zo senzora kotla, používaná pre ekvitermickú reguláciu

Všetky teplotné registre používajú 32-bitový Float formát (2 po sebe idúce holding registre).

Monitorovanie tlaku
  • Tlak vykurovacieho okruhu (H:114) — tlak vody vo vykurovacom okruhu v baroch. Nízky tlak môže indikovať únik vody alebo potrebu doplnenia systému.
Výkon tepelného zdroja
  • Výkon tepelného zdroja — dimmer model reprezentujúci úroveň modulácie kotla. Dva servisné atribúty z OpenTherm data-ID 15 zobrazujú minimálne percento modulácie a maximálny výkon kotla v kW.

Čítanie extra OpenTherm registrov

Šablóna obsahuje cyklický mechanizmus na čítanie OpenTherm data-ID, ktoré nie sú priamo namapované na štandardné Modbus registre. Slúži na získanie rozsahov min/max teplôt a údajov o kapacite kotla.

Ako to funguje:

  1. Modul ReadScript aktivuje čítanie extra OT registrov nastavením bitu 10 v H:200
  2. Zapíše požadované OpenTherm data-ID do H:216 a spustí čítanie cez H:217
  3. Odpoveď sa objaví v H:120, stav v H:121 (1=úspech, 3=chyba)
  4. Skript cyklicky prechádza tri data-ID: 48 (TÚV min/max), 49 (vykurovanie min/max) a 15 (kapacita kotla)

Získané hodnoty sa ukladajú do interných premenných (TUV_MM, Top_MM, Kotol_MM) a sprístupňujú ako servisné atribúty na príslušných zariadeniach.

Servisná diagnostika

Modul sprístupňuje deväť servisných atribútov na monitorovanie:

  • Gateway ID (H:0) — potvrdzuje typ brány (197 = DM-OT2)
  • Verzia firmvéru (H:1) — aktuálna verzia firmvéru brány
  • Čas (H:2) — počítadlo doby prevádzky brány
  • Guard Time (H:4) — časový limit vyhodnotenia zlyhania Modbus komunikácie v milisekundách
  • Počítadlo reštartov (H:8) — počet reštartov brány (resetovateľné servisnou akciou)
  • Počítadlo Modbus správ (H:9) — celkový počet spracovaných Modbus správ (resetovateľné servisnou akciou)
  • TÚV prítomný (H:100, bit 6) — či je dostupný ohrev teplej úžitkovej vody
  • TV2 prítomný (H:100, bit 7) — či je dostupný sekundárny vykurovací okruh
  • Výkon tepelného zdroja [%] (H:112) — aktuálna modulácia kotla v percentách

Dve servisné akcie umožňujú resetovanie počítadiel brány:

  • Reset počítadla reštartov — vymaže počítadlo reštartov brány (H:8)
  • Reset počítadla Modbus správ — vymaže počítadlo Modbus správ (H:9)

Modul ReadScript tiež monitoruje stav OpenTherm komunikácie (H:100 bit 0) a chyby zariadenia (H:100 bit 1, H:101), ktoré hlási ako chyby a varovania v TapHome.

LED indikátory

LEDFunkcia
PWRPrevodník je napájaný
RxDPríjem dát na RS-485
TxDVysielanie dát na RS-485
RxOTPríjem dát na OpenTherm
TxOTVysielanie dát na OpenTherm

Normálny stav: PWR svieti, RxD/TxD blikajú počas Modbus komunikácie, RxOT/TxOT blikajú počas OpenTherm komunikácie.

Riešenie problémov

Žiadna Modbus komunikácia (LED RxD/TxD neblikajú)
  1. Skontrolujte RS-485 káble:
    • A (svorka 3) správne pripojené k A+/D+ na TapHome
    • B (svorka 2) správne pripojené k B-/D- na TapHome
    • G485 (svorka 1) pripojené k zemi napájacieho zdroja TapHome — najčastejší problém
  2. Overte Modbus slave adresu na DIP prepínačoch ADR0–ADR5
  3. Potvrďte, že DIP prepínač MODE je OFF (zvolený Modbus RTU)
  4. Skontrolujte nastavenia rýchlosti komunikácie (COMM0=OFF, COMM1=OFF, COMM2=ON pre 9600 baud)
  5. Overte, že TapHome je nastavený na: 9600 baud, bez parity, 2 stop bity
Žiadna OpenTherm komunikácia (LED RxOT/TxOT neblikajú)
  1. Skontrolujte zapojenie medzi svorkami RC1/RC2 a OpenTherm konektorom kotla
  2. Overte, že kotol podporuje OpenTherm (nie všetky modely Geminox majú OT rozhranie)
  3. Skontrolujte, že DM-OT2 má správne napájanie (20–30 V DC)
Chyba OT komunikácie v TapHome

Ak TapHome hlási „OT communication error" (Status bit 0 = 0):

  1. Skontrolujte OpenTherm zapojenie medzi DM-OT2 a kotlom
  2. Reštartujte DM-OT2 odpojením a opätovným pripojením napájania
  3. Skontrolujte servisný atribút Guard Time — ak je nastavený na 0, pripojenie je trvalo označené ako odpojené
Chyba zariadenia v TapHome

Ak TapHome hlási „Device error" (Status bit 1 = 1):

  1. Prečítajte hodnotu registra Last Error z varovaní TapHome
  2. Pozrite servisný manuál kotla pre konkrétny chybový kód
  3. Chyba pochádza zo samotného kotla, nie z brány
Ďalšie možnosti

Brána DM-OT2 sprístupňuje aj registre pre teplotu prívodnej vody kotla (H:116), priamu teplotu TÚV (H:104) a ďalšie riadiace bity na H:200 pre povolenie OT komunikácie a potvrdenie chýb. Tieto možnosti môžu byť pridané v budúcej aktualizácii šablóny.

Dostupné zariadenia

Geminox THRi (via Amit DM-OT2) Modul
Servisné atribúty
ID brányreads H:0 (UInt16); switch: 197=\'DM-OT2\', other=\'Unknown\'; identifies the Amit DM-OT2 gateway
Verzia firmvérureads H:1 (UInt16); gateway firmware version number
Časreads H:2 (UInt32); gateway uptime or system time counter
Ochranný čas [ms]reads H:4 (UInt16); Modbus guard time in milliseconds
Počítadlo resetovreads H:8 (UInt16); number of gateway resets since last clear
Počítadlo Modbus správreads H:9 (UInt16); total Modbus messages processed since last clear
TÚV prítomnéreads bit 6 of Status (H:100); \'Yes\' if DHW heating is available, \'No\' otherwise
TV2 prítomnéreads bit 7 of Status (H:100); \'Yes\' if secondary heating circuit (TV2) is available, \'No\' otherwise
Výkon zdroja tepla [%]reads H:112 (Float); current boiler modulation/power output as percentage
Servisné akcie
Resetovať počítadlo resetovwrites H:8 (UInt16) = 0; clears the gateway reset counter
Resetovať počítadlo Modbus správwrites H:9 (UInt16) = 0; clears the Modbus message counter

Geminox THRi (cez Amit DM-OT2)

Čítanie (modul)
Status := modbusr(H, 100, Uint16);
if(getbit(Status, 0) = 0, adderror("Chyba komunikacie OT"));
if(getbit(Status, 1) = 1, adderror("Chyba zariadenia OT"));

var lastError := modbusr(H, 101, Uint16);
if(lastError != 0, addwarning("Chyba zariadenia " + lastError));

# povol citanie extra OT registrov
var ret := modbusr(H, 200, Uint16);
if getbit(ret, 10) = 0
    modbusw(H, 200, Uint16, ret + (1 << 10));
end

# citanie extra OT registrov
var reg := modbusr(H,216,Uint16);
var stat := modbusr(H,121,Uint16);
var out := 0;
if reg = 48
    #TUV Min/Max
    if  stat = 1
        out := modbusr(H,120,Uint16);
        TUV_MM := out;
        modbusw(H, 216, Uint16, 49);
        modbusw(H, 217, Uint16, 1);
    end
elseif reg = 49
    #kurenie Min/Max
    if stat = 1
        out := modbusr(H,120,Uint16);
        Top_MM := out;
        modbusw(H, 216, Uint16, 15);
        modbusw(H, 217, Uint16, 0);
    end
elseif reg = 15
    #kotol Min/Max
    if stat = 1
        out := modbusr(H,120,Uint16);
        Kotol_MM := out;
        modbusw(H, 216, Uint16, 48);
        modbusw(H, 217, Uint16, 1);
    end 
else
    #zaciname s TUV Min/Max
    modbusw(H, 216, Uint16, 48);
    modbusw(H, 217, Uint16, 1);
end

if modbusr(H,121,Uint16) = 3
    #ak chyba zaciname odznova s TUV Min/Max
    modbusw(H, 216, Uint16, 48);
    modbusw(H, 217, Uint16, 1);
end
Servisné atribúty
ID
switch(modbusr(H, 0, Uint16),
197, "DM-OT2",
"Unknown")
Verze firmware
modbusr(H, 1, Uint16)
Čas
modbusr(H, 2, Uint32)
GuardTime [ms]
modbusr(H, 4, Uint16)
Počítadlo resetů
modbusr(H, 8, Uint16)
Počítadlo MODBUS zpráv
modbusr(H, 9, Uint16)
Ohřev TUV přítomen
if(getbit(Status, 6), "Ano", "Ne")
TV2 přítomna
if(getbit(Status, 7), "Ano", "Ne")
Výkon topného zdroje [%]
modbusr(H, 112, Float)
Servisné akcie
Nulovat Počítadlo resetů
modbusw(H, 8, Uint16, 0)
Nulovat Počítadlo MODBUS zpráv
modbusw(H, 9, Uint16, 0)
Horák Jazýčkový kontakt Len na čítanie

Stav plameňa horáka — aktívny, keď horák kotla spaľuje

Register: H:100 UInt16 bitmask

Horák

Čítanie
getbit(Status, 4)
Kúrenie Jazýčkový kontakt Len na čítanie

Stav ústredného kúrenia — aktívny, keď vykurovací okruh beží

Register: H:100 UInt16 bitmask

Kúrenie

Čítanie
getbit(Status, 2)
Ohrev TÚV Jazýčkový kontakt Len na čítanie

Stav ohrevu teplej úžitkovej vody — aktívny, keď okruh TÚV beží

Register: H:100 UInt16 bitmask

Ohrev TÚV

Čítanie
getbit(Status, 3)
Povolenie kúrenia Prepínač

Zapína alebo vypína ústredné kúrenie cez read-modify-write na riadiacom registri

Register: H:200 UInt16 bitmask

Povolenie kúrenia

Čítanie stavu prepínača
if cnt = 0
    var ret := getbit(modbusr(H,200,Uint16), 5);
    return (ret);
else
    cnt := cnt -1;
    return (St);
end
Zápis stavu prepínača
var ret := modbusr(H,200,Uint16);
var x := (ret & 0xffdf) + (St << 5);
modbusw(H, 200, Uint16, x);
cnt := 5;
Povolenie TÚV Prepínač

Zapína alebo vypína ohrev teplej úžitkovej vody cez read-modify-write na riadiacom registri

Register: H:200 UInt16 bitmask

Povolenie TÚV

Čítanie stavu prepínača
if cnt = 0
    var ret := getbit(modbusr(H,200,Uint16), 6);
    return (ret);
else
    cnt := cnt -1;
    return (St);
end
Zápis stavu prepínača
var ret := modbusr(H,200,Uint16);
var x := (ret & 0xffbf) + (St << 6);
modbusw(H, 200, Uint16, x);
cnt := 5;
Teplota spalín Teplotný senzor Len na čítanie

Teplota výfukových plynov zo spaľovacej komory kotla

Register: H:118 Float Jednotka: °C numeric

Teplota spalín

Čítanie teploty
MODBUSR(H, 118, Float)
Teplota spiatočky Teplotný senzor Len na čítanie

Teplota vratnej vody z vykurovacieho okruhu

Register: H:108 Float Jednotka: °C numeric

Teplota spiatočky

Čítanie teploty
MODBUSR(H, 108, Float)
Teplota vykurovacieho okruhu Termostat

Teplota prietoku vykurovacieho okruhu s nastaviteľným setpointom a rozsahom min/max z OpenTherm

Register: H:102H:201 Float Jednotka: °C numeric
Servisné atribúty
Teplota vykurovacieho okruhu min / max

Teplota vykurovacieho okruhu

Čítanie teploty
MODBUSR(H, 102, Float)
Čítanie požadovanej teploty
MODBUSR(H, 201, Float)
Zápis požadovanej teploty
MODBUSW(H, 201, Float, Se)
Servisné atribúty
Min / Max Teplota Vykurovacieho okruhu
getbyte(Top_MM, 1) + "/" + getbyte(Top_MM, 0)
Tlak vykurovacieho okruhu Premenná Len na čítanie

Tlak vody vo vykurovacom okruhu

Register: H:114 Float Jednotka: bar numeric

Tlak vykurovacieho okruhu

Čítanie
MODBUSR(H, 114, Float)
Termostat TÚV Termostat

Teplota teplej úžitkovej vody s nastaviteľným setpointom a rozsahom min/max z OpenTherm

Register: H:106H:205 Float Jednotka: °C numeric
Servisné atribúty
Teplota TÚV min / max

Termostat TÚV

Čítanie teploty
MODBUSR(H, 106, Float)
Čítanie požadovanej teploty
MODBUSR(H, 205, Float)
Zápis požadovanej teploty
MODBUSW(H, 205, Float, Se)
Servisné atribúty
Min / Max Teplota TUV
getbyte(TUV_MM, 1) + "/" + getbyte(TUV_MM, 0)
Vonkajšia teplota Teplotný senzor Len na čítanie

Vonkajšia teplota zo senzora kotla

Register: H:110 Float Jednotka: °C numeric

Vonkajšia teplota

Čítanie teploty
MODBUSR(H, 110, Float)
Výkon tepelného zdroja Stmievač Len na čítanie

Úroveň modulácie kotla s atribútmi minimálneho percenta modulácie a maximálneho výkonu

Servisné atribúty
Min modulácia [%]
Max výkon [kW]

Výkon tepelného zdroja

Čítanie úrovne
MODBUSR(H, 112, Float) / 100
Servisné atribúty
Minimalna modulacia [%]
getbyte(Kotol_MM, 1)
Max vykon [kW]
getbyte(Kotol_MM, 0)
Pripojenie: Modbus RTU • 9600 baud• 8N2 • Slave ID: $[SlaveId]
Možné vylepšenia (5)
  • H:104 DHW Temperature (direct) — H:104 Float — likely DHW flow temperature; not exposed as separate device (DHW Thermostat uses H:106 for current)
  • H:116 Boiler Water Temperature — H:116 Float — boiler flow/supply water temperature; could complement return water temp
  • H:200 bit 0 OT Communication Enable — Bit 0 of H:100 indicates OT comm status; corresponding control bit on H:200 could enable/disable OT communication
  • H:200 bit 1 Device Error Acknowledge — Bit 1 of H:100 indicates device error; potential error acknowledgment via H:200
  • H:203 Heating Circuit Desired Temperature (alternative) — Potential alternative setpoint register; template uses H:201 for heating circuit desired temp

Zdroje