TapHome

EMS-ESP plynový kotol (Bosch, Buderus, Junkers, Nefit)

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 10. 2026

Vyžaduje externú bránu

BBQKees Electronics Gateway E32 V2 (EMS-ESP 3.8.6 firmware) — stránka produktu

Toto zariadenie podporuje mDNS

Namiesto IP adresy môžete zariadenie osloviť na:

ems-esp.local

Nahraďte {MAC} MAC adresou zariadenia (veľké písmená, bez dvojbodiek).

TapHome podporuje mDNS — použitie hostname je spoľahlivejšie ako statická IP.

EMS-ESP plynový kotol (Bosch, Buderus, Junkers, Nefit)

Šablóna EMS-ESP Gas Boiler pripája TapHome k plynovému kotlu Bosch, Buderus, Junkers alebo Nefit cez bránu EMS-ESP — BBQKees Electronics Gateway E32 V2, ktorá beží na otvorenom firmvéri EMS-ESP a pripája sa na zbernicu EMS kotla. TapHome s bránou komunikuje cez jej lokálne HTTP REST API (port 80, JSON); pripojenie ku cloudu netreba. V EMS-ESP sa kotol zobrazuje ako typ zariadenia boiler a jeho riadiaca jednotka ako typ zariadenia thermostat.

Šablóna číta, či kotol kúri alebo pripravuje teplú vodu, teplotu prívodu a jej cieľovú hodnotu, výkon horáka, posledný kód chyby uložený kotlom, tlak v systéme, počet štartov horáka, vonkajšiu teplotu a teplotu izby a teplej vody. S prístupovým tokenom nastavuje aj režim vykurovacieho okruhu 1 (Vypnuté, Manuálny, Auto), žiadanú izbovú teplotu a žiadanú teplotu teplej vody.

Komunitná šablóna — zatiaľ neotestovaná s TapHome. Šablóna vznikla v portáli TapHome a je napísaná pre EMS-ESP 3.8.6; na reálnej inštalácii zatiaľ overená nebola. Stiahnete ju z portálu TapHome: EMS-ESP Gas Boiler — komunitná šablóna (stiahnite XML — prihlásenie netreba — a importujte ho ako nový modul).

Kompatibilné kotly a riadiace jednotky

O tom, či kotol so šablónou funguje, rozhodujú dve veci: EMS-ESP musí kotol podporovať a kotol aj jeho riadiaca jednotka musia posielať hodnoty, ktoré šablóna číta.

Kotly, ktoré šablóna pokrýva:

  • Buderus GB125, GB135, GB162, GBx72, GB192, GB192i.2, Logamax Plus GB022, U122
  • Bosch / Junkers Cerapur GC2200W, Cerapur Top, Condens 2500, GC9000
  • Nefit Topline, Trendline
  • Worcester Greenstar Si, 30Ri Compact, 8000

Zoznam kotlov podporovaných EMS-ESP uvádza ďalšie modely, napríklad Logano, Nefit Proline a Smartline, Condens 2300 a 5000i.

Brána funguje s variantmi zbernice EMS, EMS Plus (EMS+), EMS2 a Heatronic 3. Staršie kotly so zbernicou iRT, ako Nefit Ecomline alebo Buderus GB112, môžu bránu použiť až po inštalácii adaptéra Bosch EasyControlAdapter. OpenTherm medzi typmi zbernice, ktoré brána podporuje, nie je.

Ktoré hodnoty konkrétny kotol posiela, nie je pre jednotlivé modely zdokumentované. Stránka Devices vo webovom rozhraní EMS-ESP zobrazuje len entity s hodnotou; entita, ktorá v EMS-ESP existuje, ale nemá hodnotu, je podporovaná firmvérom, nie pripojeným kotlom. Rovnaký zoznam je na http://<gateway-ip>/api/boiler/entities a http://<gateway-ip>/api/thermostat/entities.

Režim vykurovacieho okruhu závisí od riadiacej jednotky, pretože každý rad riadiacich jednotiek má vlastný zoznam režimov:

Riadiaca jednotkaRežimy v EMS-ESPRežim vykurovacieho okruhu
RC300, RC310, RC100, HMC310, Rego 2000 / 3000manual, autoManuálny a Auto; voľba Vypnuté skončí chybou zápisu
BC400, UI800, CR120off, manual, autoVypnuté, Manuálny a Auto
RC35, riadiace jednotky Junkers a iné modelyiné zoznamy (napríklad RC35: night, day, auto; Junkers: nofrost, eco, heat, auto)nepodporované — zariadenie skončí chybou, zmažte ho

Kotly Junkers a Nefit sú často spárované s riadiacimi jednotkami Junkers alebo Nefit, ktoré majú iný zoznam režimov. Zariadenia kotla v šablóne od riadiacej jednotky nezávisia a fungujú ďalej.

Niektoré riadiace jednotky neprijímajú príkazy zápisu EMS a v EMS-ESP sa zobrazujú ako zariadenia len na čítanie: Buderus Logamatic TC100, Bosch EasyControl CT200, Junkers CT100, Moduline Easy, Junkers FW / FR vyrobené pred 9/2008 a termostaty Tado. S nimi sa režim ani žiadaná izbová teplota z TapHome zmeniť nedajú.

Hardvérové pripojenie

Súprava BBQKees Gateway E32 V2 KIT obsahuje bránu, 150 cm servisný kábel EMS, 100 cm kábel pre skrutkové svorky EMS, adaptér servisného portu EMS, napájací zdroj (12 V DC s konektorom alebo 5 V USB-C podľa výrobnej dávky) a kábel JST ZH pre vlastné teplotné snímače DS18B20. Brána sa ku kotlu pripája jedným z troch spôsobov:

Pripojenie na kotleKábelNapájanie
Servisný konektor EMS (3,5 mm)150 cm servisný kábel EMSzo servisného konektora
Servisný konektor EMS (3,5 mm)150 cm servisný kábel EMSexterný napájací zdroj
Skrutkové svorky zbernice EMS100 cm kábel pre skrutkové svorky EMSexterný napájací zdroj (12 V DC alebo 5 V USB-C)

Servisný konektor sa dá použiť len vtedy, keď ho kotol má. Brány predávané od leta 2025 prijímajú oba typy napájacích zdrojov. BBQKees EMS Gateway Wiki ukazuje, ako bránu pripojiť ku konkrétnemu kotlu.

  • Sieť: Ethernet (RJ45) alebo Wi-Fi. EMS-ESP sa pripája len k Wi-Fi sieťam 2,4 GHz s WPA2, nie k 5 GHz.
  • Firmvér: EMS-ESP. Gateway E32 V2 (predávaná od januára 2024) má PSRAM a používa variant firmvéru ESP32-16MB+. Firmvér sa aktualizuje vo webovom rozhraní EMS-ESP v Settings → Version.

Konfigurácia

Prvé nastavenie EMS-ESP
  1. Pri prvom štarte EMS-ESP otvorí prístupový bod Wi-Fi ems-esp (heslo WPA ems-esp-neo). Brána pripojená cez Ethernet je dostupná na IP adrese, ktorú jej pridelil router.
  2. Prihláste sa predvoleným používateľom admin / admin a zmeňte heslo.
  3. V Settings → Network pripojte bránu k domácej sieti (Wi-Fi alebo Ethernet).
  4. V routeri bráne vyhraďte pevnú IP adresu (rezervácia DHCP) — šablóna bránu adresuje jej IP adresou.
Nastavenia EMS-ESP, na ktorých záleží
  • Teploty v °C — v Settings → Application nechajte vypnuté „Convert temperature values to Fahrenheit“. Modul to kontroluje každých 60 s a pri °F zobrazí chybu.
  • Language: English — v Settings → Application nechajte jazyk English. Zariadenie Režim vykurovacieho okruhu rozpoznáva režim podľa textu voľby (off, manual, auto) a EMS-ESP tieto texty prekladá do zvoleného jazyka; s iným jazykom zariadenie skončí chybou, ktorá uvedie hlásený text. Zápisy používajú anglické texty, ktoré EMS-ESP prijme v každom jazyku, a ostatné zariadenia od jazyka nezávisia.
  • Boolean Format a Enum Format nehrajú rolu. Šablóna číta kľúče index a bool a číselnú hodnotu value z detailu entity EMS-ESP, ktoré od týchto nastavení nezávisia.
  • Firmvér 3.8 — modul zobrazí varovanie, keď brána hlási verziu mimo radu 3.8. Vo verzii 3.7.0 sa entity teplej vody presunuli z predpony ww do vnoreného objektu dhw a EMS-ESP dostal samostatný zoznam režimov pre riadiace jednotky typu BC400; medzi 3.8.0 a 3.8.6 sa entity, ktoré šablóna používa, nemenili.
Prístupový token pre zápis

Čítanie overenie nepotrebuje. Zápis — režim vykurovacieho okruhu, žiadaná izbová teplota a teplá voda — potrebuje prístupový token EMS-ESP používateľa s právami admin:

  1. Otvorte webové rozhranie EMS-ESP → Settings → Security → Manage Users.
  2. Kliknite na ikonu kľúča pri používateľovi s právami admin a skopírujte token. Token nemá dátum expirácie.
  3. Pri importe šablóny vložte token do parametra importu AccessToken.

Bez tokenu je integrácia len na čítanie a každý zápis skončí chybou 401. Namiesto toho v EMS-ESP nezapínajte „Bypass Access Token authorization on API calls“ — sprístupní API bez overenia a dokumentácia EMS-ESP to neodporúča.

Parametre importu
ParameterPopis
IpAddressIP adresa brány EMS-ESP
AccessTokenPrístupový token EMS-ESP používateľa s právami admin — treba ho len na zápis; pre integráciu len na čítanie ho nechajte prázdny

Možnosti zariadení

Vykurovací okruh 1
  • Režim vykurovacieho okruhu — Vypnuté, Manuálny alebo Auto pre vykurovací okruh 1. Zariadenie číta pozíciu v zozname režimov riadiacej jednotky, vyhľadá jej text voľby a zobrazí Vypnuté, Manuálny alebo Auto; zapisuje anglický text voľby. Ktoré režimy fungujú, závisí od riadiacej jednotky (pozri tabuľku vyššie).
  • Izbový termostat — aktuálna a žiadaná izbová teplota vykurovacieho okruhu 1 tak, ako ju hlási riadiaca jednotka. Rozsah žiadanej teploty zariadenia je 0–30 °C. EMS-ESP drží žiadanú izbovú teplotu v krokoch po 0,5 °C; šablóna hodnotu posiela bez úprav.
Stav kotla
  • Kúrenie aktívne — aktívne, kým kotol beží na vykurovanie.
  • Ohrev teplej vody aktívny — aktívne, kým kotol ohrieva teplú úžitkovú vodu.
Teploty
  • Teplota prívodu — aktuálna teplota prívodu kotla s rozlíšením 0,1 °C.
  • Cieľová teplota prívodu — teplota prívodu, na ktorú kotol smeruje (0–90 °C), nastavuje ju riadiaca jednotka. Zariadenie je zámerne len na čítanie: EMS-ESP by túto hodnotu zapísať vedel, ale zapísaná teplota prívodu by prebila izbovú riadiacu jednotku.
  • Vonkajšia teplota — vonkajšia teplota tak, ako ju hlási kotol, s rozlíšením 0,1 °C.
Horák a tlak v systéme
  • Výkon horáka — aktuálny výkon horáka v percentách. Zariadenie číta aj posledný kód chyby uložený kotlom a zobrazí ho ako informačné hlásenie „Last error code (stored by the boiler): …“, napríklad 2E(207) 100.75.2000 65:00 (0 min). Je to kód, ktorý kotol uložil naposledy, s dátumom a trvaním — nie nutne aktívna porucha; hlásenie ostáva aj po odstránení poruchy. Keď sa kód chyby nedá prečítať, zariadenie zobrazí varovanie a výkon horáka ostáva dostupný.
  • Počet štartov horáka — celkový počet štartov horáka, ktorý napočítal kotol.
  • Tlak v systéme — tlak vody vo vykurovacom systéme v baroch s rozlíšením 0,1 bar.
Teplá úžitková voda
  • Teplá úžitková voda — aktuálna a žiadaná teplota teplej vody kotla. Rozsah žiadanej teploty zariadenia je 10–70 °C, žiadaná teplota sa posiela v celých stupňoch a kotol uplatní vlastné limity.

Šablóna zapisuje žiadanú teplotu teplej vody kotla (dhw.seltemp), nie nastavenia teplej vody riadiacej jednotky (dhw.settemp, dhw.mode). Dokumentácia EMS-ESP uvádza, že nastavenia kotla, ktoré spravuje riadiaca jednotka, ňou budú prepísané, takže riadiaca jednotka, ktorá spravuje teplú vodu, môže žiadanú teplotu nastavenú v TapHome prepísať. Na reálnej inštalácii to zatiaľ overené nebolo.

Ako šablóna komunikuje s EMS-ESP

Každé zariadenie číta vlastné hodnoty jedným dopytom HTTP GET na entitu na /api/<device>/[hc1/|dhw/]<entity> a berie kľúč value, index alebo bool z odpovede. Väčšina zariadení sa dopytuje každých 30 s; Tlak v systéme a Vonkajšia teplota každých 60 s a Počet štartov horáka každých 5 minút. Modul číta /api/system/info každých 60 s. Zápisy sú dopyty HTTP POST s telom JSON a prístupovým tokenom v hlavičke Authorization: Bearer.

EMS-ESP 3.8.3 a novší odpovedá 429 Too Many Requests na GET, ktorý príde skôr než 50 ms po predchádzajúcom volaní API. Šablóna preto pred každým GET čaká 60 ms a pri 429 jedenkrát zopakuje dopyt po 200 ms. Iný klient, ktorý sa API EMS-ESP dopytuje v tom istom čase (napríklad druhý systém domácej automatizácie), môže občas opakovanie aj tak spôsobiť.

Prečo REST a nie Modbus. EMS-ESP ponúka aj Modbus TCP, ale posuny jeho registrov sa medzi stabilnými verziami 3.8.0 a 3.8.6 zmenili, takže šablóna Modbus by po aktualizácii firmvéru brány potichu čítala iné hodnoty. REST API adresuje hodnoty menom — premenovaná entita skončí viditeľnou chybou zariadenia.

Riešenie problémov

Chyba zariadenia „no value from the gateway“

Hlásenie „no value from the gateway — this controller or unit does not report it; delete this device“ znamená, že pripojený kotol alebo riadiaca jednotka túto entitu neposiela. Pozrite stránku Devices v EMS-ESP alebo http://<gateway-ip>/api/boiler/entities a http://<gateway-ip>/api/thermostat/entities a zariadenie po importe zmažte — ostatné zariadenia fungujú ďalej.

Chyba zariadenia 404

404 s hlásením ako no 'xyz' in thermostat znamená, že EMS-ESP entitu na tejto ceste nepozná — riadiaca jednotka alebo kotol ju nemá, alebo firmvér používa iné meno. unknown device znamená, že EMS-ESP na zbernici EMS nenašiel kotol ani riadiacu jednotku tohto typu.

Režim vykurovacieho okruhu hlási iný text

Chyba „hc1.mode reports ‘…’“ sa objaví, keď EMS-ESP hlási iný text režimu než off, manual alebo auto. Buď jazyk EMS-ESP nie je English (nastavte ho v Settings → Application), alebo riadiaca jednotka používa iný zoznam režimov (napríklad RC35 alebo riadiaca jednotka Junkers) — vtedy zariadenie Režim vykurovacieho okruhu zmažte.

Voľba Vypnuté skončí chybou zápisu

Riadiace jednotky radu RC300 (RC300, RC310, RC100, HMC310, Rego 2000 / 3000) režim vypnuté nemajú. EMS-ESP odmietne hodnotu, ktorá nie je v zozname riadiacej jednotky, takže zariadenie zobrazí chybu zápisu (hc1.mode write: HTTP …). S týmito riadiacimi jednotkami používajte Manuálny alebo Auto.

Zápis skončí chybou 401

Prístupový token chýba alebo je nesprávny. Skopírujte ho znova zo Settings → Security → Manage Users → ikona kľúča pri používateľovi s právami admin a zadajte ho do premennej AccessToken modulu. Token sa odvodzuje z mena používateľa a hesla super používateľa v Settings → Security → Security Settings.

Chyba 429

API EMS-ESP sa v tom istom okamihu dopytuje iný klient. Šablóna vlastné dopyty už rozkladá v čase a raz ich zopakuje; ak sa chyba opakuje, znížte frekvenciu dopytov druhého klienta.

Chyba alebo varovanie modulu
  • „EMS-ESP reports °F“ — vypnite Fahrenheit v Settings → Application.
  • „Template written for EMS-ESP 3.8.6, gateway reports …“ — brána beží na firmvéri mimo radu 3.8. Aktualizujte EMS-ESP v Settings → Version.
Brána nie je dostupná
  1. Skontrolujte LED brány: 1 modré bliknutie počas štartu = zbernica EMS zatiaľ nie je pripojená (skontrolujte kábel a nastavenie EMS Tx Mode), 2 červené bliknutia = sieť sa ešte pripája (skontrolujte Settings → Network; Wi-Fi musí byť 2,4 GHz WPA2), trvalé svetlo = údaje z EMS prúdia.
  2. Otvorte v prehliadači http://<gateway-ip>/api/system/info — ak odpovie, brána je dostupná.
  3. Ak sa IP adresa zmenila, nájdite bránu cez meno mDNS http://ems-esp.local a potom v routeri nastavte rezerváciu DHCP.
  4. Použite http:// — API EMS-ESP nepodporuje HTTPS so samopodpísanými certifikátmi.

Dostupné zariadenia

Brána EMS-ESP Modul
Vlastné premenné
AccessToken (string)Prístupový token EMS-ESP používateľa s právami admin, posiela sa v hlavičke Bearer pri každom zápise (režim vykurovacieho okruhu, žiadaná izbová teplota a teplá voda); čítanie funguje bez neho, takže prázdny token znamená integráciu len na čítanie
EMS-ESP web interface → Settings → Security → Manage Users → key icon of a user with admin rights; paste the token into the AccessToken import parameter. The token has no expiry date.

EMS-ESP Gateway

Čítanie (modul)
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/system/info");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/system/info");
END
IF r.IsSuccess = false
    ADDERROR("system/info: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
ELSE
    VAR fahrenheit := PARSEJSON(r.Content, "settings.fahrenheit", true);
    IF fahrenheit
        ADDERROR("EMS-ESP reports \u00b0F \u2014 switch Fahrenheit off in EMS-ESP Settings \u2192 Application");
    END
    VAR version := PARSEJSON(r.Content, "system.version", true);
    IF !ISNULL(version)
        IF INDEXOF(TOSTRING(version), "3.8.") != 0
            ADDWARNING("Template written for EMS-ESP 3.8.6, gateway reports " + version);
        END
    END
END
Režim vykurovacieho okruhu Viacstavový prepínač

Prevádzkový režim vykurovacieho okruhu 1 — Vypnuté, Manuálny alebo Auto; riadiace jednotky radu RC300 ponúkajú len Manuálny a Auto, BC400 / UI800 / CR120 aj Vypnuté; vyžaduje jazyk EMS-ESP English

enum json_path
Hodnoty / Stavy: Off · Manual · Auto

Režim vykurovacieho okruhu

Čítanie stavu prepínača
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/thermostat/hc1/mode");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/thermostat/hc1/mode");
END
IF r.IsSuccess = false
    ADDERROR("hc1.mode: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR enumList := PARSEJSON(r.Content, "enum", true);
VAR idx := PARSEJSON(r.Content, "index", true);
IF ISNULL(enumList) OR ISNULL(idx)
    ADDERROR("hc1.mode: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
VAR text := PARSEJSON(r.Content, "$.enum[" + TOSTRING(idx) + "]", true);
IF ISNULL(text)
    ADDERROR("hc1.mode: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
IF text = "off"
    RETURN(0);
ELSEIF text = "manual"
    RETURN(1);
ELSEIF text = "auto"
    RETURN(2);
ELSE
    ADDERROR("hc1.mode reports '" + text + "': this template supports controllers with off / manual / auto and needs EMS-ESP Language = English (Settings \u2192 Application)");
    RETURN(NaN);
END
Zápis stavu prepínača
VAR modeName := IF(Mu = 0, "off", IF(Mu = 1, "manual", "auto"));
VAR body := "{\"value\":\"" + modeName + "\"}";
VAR r := SENDHTTPREQUEST("/api/thermostat/hc1/mode", "POST", body, "Content-Type: application/json", "Authorization: Bearer " + AccessToken);
IF r.IsSuccess = false
    IF r.StatusCode = 401
        ADDERROR("hc1.mode write: access token missing or wrong (EMS-ESP Settings \u2192 Security \u2192 Manage Users \u2192 key icon of an admin user)");
    ELSE
        ADDERROR("hc1.mode write: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    END
END
Izbový termostat Termostat

Aktuálna a žiadaná izbová teplota vykurovacieho okruhu 1 z riadiacej jednotky; žiadaná hodnota 0–30 °C, EMS-ESP ju drží v krokoch po 0,5 °C

numeric Jednotka: °C

Izbový termostat

Čítanie teploty
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/thermostat/hc1/currtemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/thermostat/hc1/currtemp");
END
IF r.IsSuccess = false
    ADDERROR("hc1.currtemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("hc1.currtemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Čítanie požadovanej teploty
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/thermostat/hc1/seltemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/thermostat/hc1/seltemp");
END
IF r.IsSuccess = false
    ADDERROR("hc1.seltemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("hc1.seltemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Zápis požadovanej teploty
VAR body := "{\"value\":" + Se + "}";
VAR r := SENDHTTPREQUEST("/api/thermostat/hc1/seltemp", "POST", body, "Content-Type: application/json", "Authorization: Bearer " + AccessToken);
IF r.IsSuccess = false
    IF r.StatusCode = 401
        ADDERROR("hc1.seltemp write: access token missing or wrong (EMS-ESP Settings \u2192 Security \u2192 Manage Users \u2192 key icon of an admin user)");
    ELSE
        ADDERROR("hc1.seltemp write: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    END
END
Kúrenie aktívne Jazýčkový kontakt Len na čítanie

Aktívne, kým kotol beží na vykurovanie

boolean

Kúrenie aktívne

Čítanie
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/heatingactive");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/heatingactive");
END
IF r.IsSuccess = false
    ADDERROR("heatingactive: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "bool", true);
IF ISNULL(v)
    ADDERROR("heatingactive: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Ohrev teplej vody aktívny Jazýčkový kontakt Len na čítanie

Aktívne, kým kotol ohrieva teplú úžitkovú vodu

boolean

Ohrev teplej vody aktívny

Čítanie
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/tapwateractive");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/tapwateractive");
END
IF r.IsSuccess = false
    ADDERROR("tapwateractive: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "bool", true);
IF ISNULL(v)
    ADDERROR("tapwateractive: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Teplota prívodu Teplotný senzor Len na čítanie
numeric Jednotka: °C

Teplota prívodu

Čítanie teploty
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/curflowtemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/curflowtemp");
END
IF r.IsSuccess = false
    ADDERROR("curflowtemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("curflowtemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Cieľová teplota prívodu Premenná Len na čítanie

Teplota prívodu, na ktorú kotol smeruje (0–90 °C), nastavuje ju riadiaca jednotka; len na čítanie, takže TapHome riadiacu jednotku nikdy neprebije

numeric Jednotka: °C

Cieľová teplota prívodu

Čítanie
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/selflowtemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/selflowtemp");
END
IF r.IsSuccess = false
    ADDERROR("selflowtemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("selflowtemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Výkon horáka Premenná Len na čítanie

Aktuálny výkon horáka v percentách; zobrazuje aj posledný kód chyby uložený kotlom ako informačné hlásenie — nie nutne aktívna porucha

numeric Jednotka: %

Výkon horáka

Čítanie
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/curburnpow");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/curburnpow");
END
IF r.IsSuccess = false
    ADDERROR("curburnpow: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("curburnpow: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Čítanie (modul)
SLEEP(60);
VAR rlc := SENDHTTPREQUEST("/api/boiler/lastcode");
IF rlc.StatusCode = 429
    SLEEP(200);
    rlc := SENDHTTPREQUEST("/api/boiler/lastcode");
END
IF rlc.IsSuccess = false
    ADDWARNING(1, "lastcode: HTTP " + rlc.StatusCode + IF(ISNULL(PARSEJSON(rlc.Content, "message", true)), "", ": " + PARSEJSON(rlc.Content, "message", true)));
ELSE
    VAR lc := PARSEJSON(rlc.Content, "value", true);
    IF !ISNULL(lc)
        ADDINFO(1, "Last error code (stored by the boiler): " + lc);
    END
END
Tlak v systéme Premenná Len na čítanie

Tlak vody vo vykurovacom systéme v baroch

numeric Jednotka: bar

Tlak v systéme

Čítanie
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/syspress");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/syspress");
END
IF r.IsSuccess = false
    ADDERROR("syspress: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("syspress: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Počet štartov horáka Premenná Len na čítanie

Celkový počet štartov horáka, ktorý napočítal kotol

numeric

Počet štartov horáka

Čítanie
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/burnstarts");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/burnstarts");
END
IF r.IsSuccess = false
    ADDERROR("burnstarts: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("burnstarts: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Teplá úžitková voda Termostat

Aktuálna a žiadaná teplota teplej vody kotla; žiadaná hodnota sa posiela v celých stupňoch a kotol uplatní vlastné limity

numeric Jednotka: °C

Teplá úžitková voda

Čítanie teploty
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/dhw/curtemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/dhw/curtemp");
END
IF r.IsSuccess = false
    ADDERROR("dhw.curtemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("dhw.curtemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Čítanie požadovanej teploty
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/dhw/seltemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/dhw/seltemp");
END
IF r.IsSuccess = false
    ADDERROR("dhw.seltemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("dhw.seltemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Zápis požadovanej teploty
VAR body := "{\"value\":" + ROUND(Se) + "}";
VAR r := SENDHTTPREQUEST("/api/boiler/dhw/seltemp", "POST", body, "Content-Type: application/json", "Authorization: Bearer " + AccessToken);
IF r.IsSuccess = false
    IF r.StatusCode = 401
        ADDERROR("dhw.seltemp write: access token missing or wrong (EMS-ESP Settings \u2192 Security \u2192 Manage Users \u2192 key icon of an admin user)");
    ELSE
        ADDERROR("dhw.seltemp write: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    END
END
Vonkajšia teplota Teplotný senzor Len na čítanie

Vonkajšia teplota tak, ako ju hlási kotol

numeric Jednotka: °C

Vonkajšia teplota

Čítanie teploty
SLEEP(60);
VAR r := SENDHTTPREQUEST("/api/boiler/outdoortemp");
IF r.StatusCode = 429
    SLEEP(200);
    r := SENDHTTPREQUEST("/api/boiler/outdoortemp");
END
IF r.IsSuccess = false
    ADDERROR("outdoortemp: HTTP " + r.StatusCode + IF(ISNULL(PARSEJSON(r.Content, "message", true)), "", ": " + PARSEJSON(r.Content, "message", true)));
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "value", true);
IF ISNULL(v)
    ADDERROR("outdoortemp: no value from the gateway \u2014 this controller or unit does not report it; delete this device");
    RETURN(NaN);
END
RETURN(v);
Pripojenie: Packet Parser → HTTP • Hostname: ems-esp.local
Možné vylepšenia (17)
  • Writing the selected flow temperature — Writable in EMS-ESP (0–90 °C), deliberately left out: a written flow temperature overrides the room controller; the template only reads it (Flow Temperature Target)
  • Heating circuits 2–8 — Same entities as hc1 under the hc2…hc8 path prefix; the template covers heating circuit 1 only — devices for further circuits would be copies with a different path
  • Summer / winter switchover — winter / auto / summer, RC100 and RC300
  • Further heating circuit settings — Comfort / eco / manual setpoints, summer and frost thresholds, flow temperature limits, heating curve design temperature, offset, room influence, control mode and time program (RC100 / RC300 and others); the docs mark the command table as incomplete and model-dependent
  • Controller-side domestic hot water settings — DHW mode (off / on / auto), DHW set temperatures, one-time charge and circulation mode on RC100 / RC300 — the template reads and writes the boiler DHW entities instead
  • Boiler-side hot water functions — Hot water enable, one-time charge, circulation pump and mode, flow temperature offset and maximum power for hot water; some of them are overwritten by the thermostat (docs Boilers)
  • Boiler comfort mode, heating enable and heating temperature limit — comfort hot / eco / intelligent; heatingactivated and heatingtemp are not changeable on some systems (for example with an MC10 rotary control)
  • Burner and pump parameters — Burner hysteresis, minimum burner period, modulation limits and pump settings — installer parameters, the allowed ranges depend on the boiler type
  • Maintenance message and error reset — Set or reset the maintenance message; reset error should be used only with an active error (docs Boilers) — candidates for service actions
  • EMS-ESP firmware version — Already fetched by the module for the version warning; could be exposed as a module service attribute
  • Restart EMS-ESP — GET with access token; candidate for a module service action
  • Refresh all device values — Forces EMS-ESP to re-read all values from the EMS bus; no authentication
  • Temperature sensors on the gateway (DS18B20) — The kit includes a JST ZH cable for own DS18B20 sensors; their readings are available over the same REST API
  • Analog sensors and outputs of the gateway — Readings and setvalue for gateway analog inputs, counters and output pins
  • Custom entities — User-defined entities for EMS telegrams EMS-ESP does not decode yet
  • Entity discovery lists — Not a device — the live list of entities a given installation reports; the way to check which template devices will work before importing
  • Other EMS-ESP interfaces — EMS-ESP also offers Modbus TCP (since 3.7.0) and MQTT / MQTT Discovery; the template uses the REST API by entity name because Modbus register offsets move between firmware releases

Zdroje

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Komunita — nepreverené

Chcete to použiť vo svojom TapHome jadre?

Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu.

Otvoriť v portáli