TapHome

EMS-ESP gázkazán (Bosch, Buderus, Junkers, Nefit)

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 10. 2026

Külső átjáró szükséges

BBQKees Electronics Gateway E32 V2 (EMS-ESP 3.8.6 firmware) — termékoldal

Ez az eszköz támogatja az mDNS-t

IP-cím helyett az eszközt a következő címen érheti el:

ems-esp.local

Cserélje ki a {MAC} részt az eszköz MAC-címére (nagybetűk, kettőspont nélkül).

A TapHome támogatja az mDNS-t — a hostnév használata megbízhatóbb, mint a statikus IP.

EMS-ESP gázkazán (Bosch, Buderus, Junkers, Nefit)

Az EMS-ESP Gas Boiler sablon a TapHome-ot egy Bosch, Buderus, Junkers vagy Nefit gázkazánhoz köti egy EMS-ESP átjárón keresztül — ez egy BBQKees Electronics Gateway E32 V2, amely a nyílt forráskódú EMS-ESP firmware-t futtatja, és a kazán EMS buszára csatlakozik. A TapHome az átjáróval annak helyi HTTP REST API-ján keresztül kommunikál (80-as port, JSON); felhőkapcsolatra nincs szükség. Az EMS-ESP-ben a kazán boiler, a szabályozója pedig thermostat eszköztípusként jelenik meg.

A sablon olvassa, hogy a kazán fűt-e vagy melegvizet készít, az előremenő hőmérsékletet és annak célértékét, az égőteljesítményt, a kazán által tárolt utolsó hibakódot, a rendszernyomást, az égőindítások számát, a külső hőmérsékletet, valamint a szoba- és a melegvíz-hőmérsékletet. Hozzáférési tokennel beállítja az 1. fűtőkör üzemmódját is (Ki, Kézi, Auto), a szoba-alapjelet és a melegvíz-alapjelet.

Közösségi sablon — a TapHome-mal még nincs tesztelve. A sablon a TapHome portálon készült, és az EMS-ESP 3.8.6 verzióhoz íródott; valós telepítésen még nem ellenőrizték. A TapHome portálról töltheti le: EMS-ESP Gas Boiler — közösségi sablon (töltse le az XML-t — bejelentkezés nélkül —, és importálja új modulként).

Kompatibilis kazánok és szabályozók

Két dolog dönti el, hogy egy kazán működik-e ezzel a sablonnal: az EMS-ESP-nek támogatnia kell a kazánt, a kazánnak és a szabályozójának pedig küldenie kell azokat az értékeket, amelyeket a sablon olvas.

A sablon által lefedett kazánok:

  • 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

Az EMS-ESP által támogatott kazánok listája további modelleket is felsorol, például Logano, Nefit Proline és Smartline, Condens 2300 és 5000i.

Az átjáró az EMS, EMS Plus (EMS+), EMS2 és Heatronic 3 buszváltozatokkal működik. Az iRT buszos régebbi kazánok, például a Nefit Ecomline vagy a Buderus GB112, csak egy Bosch EasyControlAdapter beépítése után használhatják az átjárót. Az OpenTherm nincs az átjáró által támogatott busztípusok között.

Hogy egy adott kazán milyen értékeket küld, modellenként nincs dokumentálva. Az EMS-ESP webes felületének Devices oldala csak az értékkel rendelkező entitásokat mutatja; az az entitás, amely az EMS-ESP-ben létezik, de nincs értéke, a firmware által támogatott, nem a csatlakoztatott kazán által. Ugyanez a lista elérhető a http://<gateway-ip>/api/boiler/entities és a http://<gateway-ip>/api/thermostat/entities címen.

A fűtőkör üzemmódja a szabályozótól függ, mert minden szabályozócsaládnak saját üzemmódlistája van:

SzabályozóÜzemmódok az EMS-ESP-benFűtőkör üzemmódja
RC300, RC310, RC100, HMC310, Rego 2000 / 3000manual, autoKézi és Auto; a Ki választása írási hibával végződik
BC400, UI800, CR120off, manual, autoKi, Kézi és Auto
RC35, Junkers szabályozók és más modellekmás listák (például RC35: night, day, auto; Junkers: nofrost, eco, heat, auto)nem támogatott — az eszköz hibával végződik, törölje

A Junkers és Nefit kazánok gyakran Junkers vagy Nefit szabályozóval vannak párosítva, amelyeknek más az üzemmódlistája. A sablon kazáneszközei nem függnek a szabályozótól, és tovább működnek.

Egyes szabályozók nem fogadnak el EMS írási parancsokat, és az EMS-ESP-ben csak olvasható eszközként jelennek meg: Buderus Logamatic TC100, Bosch EasyControl CT200, Junkers CT100, Moduline Easy, 2008/9 előtt gyártott Junkers FW / FR és Tado termosztátok. Ezekkel az üzemmód és a szoba-alapjel nem módosítható a TapHome-ból.

Hardveres csatlakozás

A BBQKees Gateway E32 V2 KIT tartalmazza az átjárót, egy 150 cm-es EMS szervizkábelt, egy 100 cm-es kábelt az EMS csavaros sorkapcsokhoz, egy EMS szervizport-adaptert, egy tápegységet (12 V DC dugós vagy 5 V USB-C, a gyártási tételtől függően) és egy JST ZH kábelt saját DS18B20 hőmérséklet-érzékelőkhöz. Az átjáró háromféleképpen csatlakoztatható a kazánhoz:

Csatlakozás a kazánonKábelTápellátás
EMS szervizaljzat (3,5 mm)150 cm-es EMS szervizkábela szervizaljzatból
EMS szervizaljzat (3,5 mm)150 cm-es EMS szervizkábelkülső tápegység
Az EMS busz csavaros sorkapcsai100 cm-es kábel az EMS csavaros sorkapcsokhozkülső tápegység (12 V DC vagy 5 V USB-C)

A szervizaljzat csak akkor jöhet szóba, ha a kazánon van ilyen. A 2025 nyarától árusított átjárók mindkét tápegységtípust elfogadják. A BBQKees EMS Gateway Wiki bemutatja, hogyan csatlakoztatható az átjáró egy adott kazánhoz.

  • Hálózat: Ethernet (RJ45) vagy Wi-Fi. Az EMS-ESP csak 2,4 GHz-es, WPA2 titkosítású Wi-Fi hálózatokhoz csatlakozik, 5 GHz-eshez nem.
  • Firmware: EMS-ESP. A Gateway E32 V2 (2024 januárjától kapható) rendelkezik PSRAM-mal, és az ESP32-16MB+ firmware-változatot használja. A firmware az EMS-ESP webes felületén, a Settings → Version menüben frissíthető.

Konfiguráció

Az EMS-ESP első beállítása
  1. Első induláskor az EMS-ESP megnyit egy ems-esp nevű Wi-Fi hozzáférési pontot (WPA jelszó: ems-esp-neo). Az Ethernetre csatlakoztatott átjáró azon az IP-címen érhető el, amelyet a router kiosztott neki.
  2. Jelentkezzen be az alapértelmezett admin / admin felhasználóval, és változtassa meg a jelszót.
  3. A Settings → Network menüben csatlakoztassa az átjárót az otthoni hálózathoz (Wi-Fi vagy Ethernet).
  4. A routerben foglaljon le fix IP-címet az átjáró számára (DHCP-foglalás) — a sablon az átjárót az IP-címén keresztül éri el.
Fontos EMS-ESP beállítások
  • Hőmérséklet °C-ban — a Settings → Application menüben hagyja kikapcsolva a „Convert temperature values to Fahrenheit” beállítást. A modul ezt 60 másodpercenként ellenőrzi, és hibát jelez, ha az EMS-ESP °F-ot jelent.
  • Language: English — a Settings → Application menüben hagyja a nyelvet English beállításon. A Fűtőkör üzemmódja eszköz az opció szövege alapján ismeri fel az üzemmódot (off, manual, auto), és az EMS-ESP ezeket a szövegeket a kiválasztott nyelvre fordítja; más nyelvvel az eszköz hibával végződik, amely megnevezi a jelentett szöveget. Az írások az angol szövegeket használják, amelyeket az EMS-ESP minden nyelven elfogad, a többi eszköz pedig nem függ a nyelvtől.
  • A Boolean Format és Enum Format beállítás nem számít. A sablon az EMS-ESP entitásrészletéből az index és bool kulcsot és a numerikus value értéket olvassa, amelyek nem függnek ezektől a beállításoktól.
  • 3.8-as firmware — a modul figyelmeztetést jelenít meg, ha az átjáró a 3.8-as soron kívüli verziót jelent. A 3.7.0 verzióban a melegvíz-entitások a ww előtagról a beágyazott dhw objektumba kerültek, és az EMS-ESP külön üzemmódlistát kapott a BC400 típusú szabályozókhoz; a 3.8.0 és a 3.8.6 között a sablon által használt entitások nem változtak.
Hozzáférési token az íráshoz

Az olvasáshoz nincs szükség hitelesítésre. Az íráshoz — fűtőkör üzemmód, szoba- és melegvíz-alapjel — egy rendszergazdai jogú felhasználó EMS-ESP hozzáférési tokenje kell:

  1. Nyissa meg az EMS-ESP webes felületét → Settings → Security → Manage Users.
  2. Kattintson a rendszergazdai jogú felhasználó melletti kulcs ikonra, és másolja ki a tokent. A tokennek nincs lejárati ideje.
  3. A sablon importálásakor illessze be a tokent az AccessToken importálási paraméterbe.

Token nélkül az integráció csak olvasható, és minden írás 401-es hibával végződik. Helyette ne kapcsolja be az EMS-ESP-ben a „Bypass Access Token authorization on API calls” beállítást — ezzel az API nyílttá válik, és az EMS-ESP dokumentációja nem ajánlja.

Importálási paraméterek
ParaméterLeírás
IpAddressAz EMS-ESP átjáró IP-címe
AccessTokenEgy rendszergazdai jogú felhasználó EMS-ESP hozzáférési tokenje — csak az íráshoz szükséges; csak olvasható integrációnál hagyja üresen

Eszközfunkciók

1. fűtőkör
  • Fűtőkör üzemmódja — Ki, Kézi vagy Auto az 1. fűtőkörhöz. Az eszköz kiolvassa a pozíciót a szabályozó üzemmódlistájában, megkeresi az opció szövegét, és Ki, Kézi vagy Auto értéket mutat; az opció angol szövegét írja. Hogy mely üzemmódok működnek, a szabályozótól függ (lásd a fenti táblázatot).
  • Szobatermosztát — az 1. fűtőkör aktuális és kiválasztott szobahőmérséklete, ahogy a szabályozó jelenti. Az eszköz alapjel-tartománya 0–30 °C. Az EMS-ESP a szoba-alapjelet 0,5 °C-os lépésekben tárolja; a sablon az értéket változtatás nélkül küldi.
A kazán állapota
  • Fűtés aktív — aktív, amíg a kazán helyiségfűtésre üzemel.
  • Melegvíz-készítés aktív — aktív, amíg a kazán használati melegvizet melegít.
Hőmérsékletek
  • Előremenő hőmérséklet — a kazán aktuális előremenő hőmérséklete 0,1 °C-os felbontással.
  • Előremenő célhőmérséklet — az az előremenő hőmérséklet, amelyre a kazán törekszik (0–90 °C), a szabályozó állítja be. Az eszköz szándékosan csak olvasható: az EMS-ESP ezt az értéket írni tudná, de egy beírt előremenő hőmérséklet felülbírálná a szobaszabályozót.
  • Külső hőmérséklet — a külső hőmérséklet, ahogy a kazán jelenti, 0,1 °C-os felbontással.
Égő és rendszernyomás
  • Égőteljesítmény — az égő aktuális teljesítménye százalékban. Az eszköz a kazán által tárolt utolsó hibakódot is kiolvassa, és „Last error code (stored by the boiler): …” információs üzenetként mutatja, például 2E(207) 100.75.2000 65:00 (0 min). Ez az a kód, amelyet a kazán utoljára tárolt, dátummal és időtartammal — nem feltétlenül aktív hiba; az üzenet a hiba megszűnése után is megmarad. Ha a hibakód nem olvasható ki, az eszköz figyelmeztetést mutat, az égőteljesítmény pedig elérhető marad.
  • Égőindítások — a kazán által számolt égőindítások teljes száma.
  • Rendszernyomás — a fűtési rendszer víznyomása barban, 0,1 bar felbontással.
Használati melegvíz
  • Használati melegvíz — a kazán aktuális és kiválasztott melegvíz-hőmérséklete. Az eszköz alapjel-tartománya 10–70 °C, az alapjel egész fokokban megy, és a kazán a saját korlátait alkalmazza.

A sablon a kazán melegvíz-alapjelét írja (dhw.seltemp), nem a szabályozó melegvíz-beállításait (dhw.settemp, dhw.mode). Az EMS-ESP dokumentációja szerint a szabályozó által kezelt kazánbeállításokat a szabályozó felülírja, így egy melegvizet kezelő szabályozó felülírhatja a TapHome-ban beállított alapjelet. Ezt valós telepítésen még nem ellenőrizték.

Hogyan kommunikál a sablon az EMS-ESP-vel

Minden eszköz entitásonként egy HTTP GET kéréssel olvassa saját értékeit a /api/<device>/[hc1/|dhw/]<entity> címen, és a válaszból a value, index vagy bool kulcsot veszi. A legtöbb eszköz 30 másodpercenként kérdez le; a Rendszernyomás és a Külső hőmérséklet 60 másodpercenként, az Égőindítások pedig 5 percenként. A modul 60 másodpercenként olvassa a /api/system/info címet. Az írások HTTP POST kérések JSON törzzsel és a hozzáférési tokennel az Authorization: Bearer fejlécben.

Az EMS-ESP 3.8.3 és újabb 429 Too Many Requests választ ad arra a GET kérésre, amely kevesebb mint 50 ms-mal az előző API-hívás után érkezik. A sablon ezért minden GET előtt 60 ms-ot vár, és 429 esetén 200 ms után egyszer megismétli a kérést. Egy másik kliens, amely ugyanabban az időben kérdezi le az EMS-ESP API-t (például egy második otthonautomatizálási rendszer), így is okozhat alkalmanként ismétlést.

Miért REST és nem Modbus. Az EMS-ESP Modbus TCP-t is kínál, de regisztereltolásai a stabil 3.8.0 és 3.8.6 verzió között megváltoztak, így egy Modbus sablon az átjáró firmware-frissítése után észrevétlenül más értékeket olvasna. A REST API név szerint címzi az értékeket — egy átnevezett entitás látható eszközhibával végződik.

Hibaelhárítás

„no value from the gateway” eszközhiba

A „no value from the gateway — this controller or unit does not report it; delete this device” üzenet azt jelenti, hogy a csatlakoztatott kazán vagy szabályozó nem küldi ezt az entitást. Nézze meg az EMS-ESP Devices oldalát vagy a http://<gateway-ip>/api/boiler/entities és http://<gateway-ip>/api/thermostat/entities címet, majd importálás után törölje az eszközt — a többi eszköz tovább működik.

404-es eszközhiba

Egy 404 olyan üzenettel, mint no 'xyz' in thermostat, azt jelenti, hogy az EMS-ESP nem ismeri az entitást ezen az útvonalon — a szabályozónak vagy a kazánnak nincs ilyen, vagy a firmware más nevet használ. Az unknown device azt jelenti, hogy az EMS-ESP nem talált ilyen típusú kazánt vagy szabályozót az EMS buszon.

A fűtőkör üzemmódja más szöveget jelent

A „hc1.mode reports ‘…’” hiba akkor jelenik meg, ha az EMS-ESP az off, manual vagy auto szövegtől eltérő üzemmódszöveget jelent. Vagy az EMS-ESP nyelve nem English (állítsa át a Settings → Application menüben), vagy a szabályozó más üzemmódlistát használ (például RC35 vagy Junkers szabályozó) — ekkor törölje a Fűtőkör üzemmódja eszközt.

A Ki választása írási hibával végződik

Az RC300 család szabályozóinak (RC300, RC310, RC100, HMC310, Rego 2000 / 3000) nincs kikapcsolt üzemmódja. Az EMS-ESP elutasítja azt az értéket, amely nincs a szabályozó listájában, ezért az eszköz írási hibát mutat (hc1.mode write: HTTP …). Ezekkel a szabályozókkal a Kézi vagy az Auto üzemmódot használja.

Az írás 401-es hibával végződik

A hozzáférési token hiányzik vagy hibás. Másolja ki újra a Settings → Security → Manage Users → rendszergazdai jogú felhasználó melletti kulcs ikon menüből, és írja be a modul AccessToken változójába. A token a felhasználónévből és a szuperfelhasználói jelszóból származik (Settings → Security → Security Settings).

429-es hiba

Egy másik kliens ugyanabban a pillanatban kérdezi le az EMS-ESP API-t. A sablon a saját kéréseit már időben elosztja, és egyszer megismétli őket; ha a hiba ismétlődik, csökkentse a másik kliens lekérdezési gyakoriságát.

A modul hibája vagy figyelmeztetése
  • „EMS-ESP reports °F” — kapcsolja ki a Fahrenheitet a Settings → Application menüben.
  • „Template written for EMS-ESP 3.8.6, gateway reports …” — az átjáró a 3.8-as soron kívüli firmware-rel fut. Frissítse az EMS-ESP-t a Settings → Version menüben.
Az átjáró nem érhető el
  1. Ellenőrizze az átjáró LED-jét: 1 kék villanás induláskor = az EMS busz még nincs csatlakoztatva (ellenőrizze a kábelt és az EMS Tx Mode beállítást), 2 piros villanás = a hálózat még kapcsolódik (ellenőrizze a Settings → Network menüt; a Wi-Fi-nek 2,4 GHz-es WPA2-nek kell lennie), folyamatos fény = az EMS adatok folyamatosan érkeznek.
  2. Nyissa meg a http://<gateway-ip>/api/system/info címet egy böngészőben — ha válaszol, az átjáró elérhető.
  3. Ha az IP-cím megváltozott, keresse meg az átjárót a http://ems-esp.local mDNS néven, majd állítson be DHCP-foglalást a routerben.
  4. Használjon http:// címet — az EMS-ESP API nem támogatja a HTTPS-t önaláírt tanúsítványokkal.

Elérhető eszközök

EMS-ESP átjáró Modul
Egyéni változók
AccessToken (string)Rendszergazdai jogú felhasználó EMS-ESP hozzáférési tokenje, minden írásnál (fűtőkör üzemmód, szoba- és melegvíz-alapjel) Bearer fejlécként megy; az olvasás nélküle is működik, így üres tokennel csak olvasható az integráció
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

Olvasás (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
Fűtőkör üzemmódja Többértékű kapcsoló

Az 1. fűtőkör üzemmódja — Ki, Kézi vagy Auto; az RC300 család szabályozói csak Kézi és Auto módot kínálnak, a BC400 / UI800 / CR120 Ki módot is; az EMS-ESP nyelvének English-nek kell lennie

enum json_path
Értékek / Állapotok: Off · Manual · Auto

Fűtőkör üzemmódja

Kapcsoló állapot olvasása
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
Kapcsoló állapot írása
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
Szobatermosztát Termosztát

Az 1. fűtőkör aktuális és kiválasztott szobahőmérséklete a szabályozótól; alapjel 0–30 °C, az EMS-ESP 0,5 °C-os lépésekben tárolja

numeric Egység: °C

Szobatermosztát

Hőmérséklet olvasása
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);
Kívánt hőmérséklet olvasása
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);
Kívánt hőmérséklet írása
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
Fűtés aktív Reed kontaktus Csak olvasható

Aktív, amíg a kazán helyiségfűtésre üzemel

boolean

Fűtés aktív

Olvasás
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);
Melegvíz-készítés aktív Reed kontaktus Csak olvasható

Aktív, amíg a kazán használati melegvizet melegít

boolean

Melegvíz-készítés aktív

Olvasás
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);
Előremenő hőmérséklet Hőmérséklet-érzékelő Csak olvasható
numeric Egység: °C

Előremenő hőmérséklet

Hőmérséklet olvasása
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);
Előremenő célhőmérséklet Változó Csak olvasható

Az az előremenő hőmérséklet, amelyre a kazán törekszik (0–90 °C), a szabályozó állítja be; csak olvasható, így a TapHome soha nem bírálja felül a szabályozót

numeric Egység: °C

Előremenő célhőmérséklet

Olvasás
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);
Égőteljesítmény Változó Csak olvasható

Az égő aktuális teljesítménye százalékban; a kazán által tárolt utolsó hibakódot is mutatja információs üzenetként — nem feltétlenül aktív hiba

numeric Egység: %

Égőteljesítmény

Olvasás
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);
Olvasás (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
Rendszernyomás Változó Csak olvasható

A fűtési rendszer víznyomása barban

numeric Egység: bar

Rendszernyomás

Olvasás
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);
Égőindítások Változó Csak olvasható

A kazán által számolt égőindítások teljes száma

numeric

Égőindítások

Olvasás
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);
Használati melegvíz Termosztát

A kazán aktuális és kiválasztott melegvíz-hőmérséklete; az alapjel egész fokokban megy, és a kazán a saját korlátait alkalmazza

numeric Egység: °C

Használati melegvíz

Hőmérséklet olvasása
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);
Kívánt hőmérséklet olvasása
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);
Kívánt hőmérséklet írása
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
Külső hőmérséklet Hőmérséklet-érzékelő Csak olvasható

A külső hőmérséklet, ahogy a kazán jelenti

numeric Egység: °C

Külső hőmérséklet

Hőmérséklet olvasása
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);
Kapcsolat: Packet Parser → HTTP • Hostname: ems-esp.local
Lehetséges fejlesztések (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

Források

Talált problémát ezzel az eszközsablonnal?

Írja meg, mi nem működik, mi hiányzik, vagy hogyan kellene a sablonnak viselkednie. Visszajelzése segít, hogy a katalógus pontos maradjon.

Közösség — felülvizsgálatlan

Használni szeretnéd ezt a TapHome Core-odban?

Nyisd meg ezt a sablont az ügyfélportálon, hogy alkalmazd az otthonaid egyikére, vagy készíts egy módosítást és küldd vissza a katalógusba.

Megnyitás a portálon