
Szablon EMS-ESP Gas Boiler łączy TapHome z kotłem gazowym Bosch, Buderus, Junkers lub Nefit przez bramkę EMS-ESP — BBQKees Electronics Gateway E32 V2, która działa na otwartym oprogramowaniu EMS-ESP i podłącza się do magistrali EMS kotła. TapHome komunikuje się z bramką przez jej lokalne HTTP REST API (port 80, JSON); połączenie z chmurą nie jest potrzebne. W EMS-ESP kocioł występuje jako typ urządzenia boiler, a jego regulator jako typ urządzenia thermostat.
Szablon odczytuje, czy kocioł grzeje lub przygotowuje ciepłą wodę, temperaturę zasilania i jej wartość docelową, moc palnika, ostatni kod błędu zapisany przez kocioł, ciśnienie w instalacji, liczbę startów palnika, temperaturę zewnętrzną oraz temperaturę pomieszczenia i ciepłej wody. Z tokenem dostępu ustawia także tryb obiegu grzewczego 1 (Wyłączony, Ręczny, Auto), nastawę temperatury pomieszczenia i nastawę ciepłej wody.
Szablon społeczności — jeszcze nie przetestowany z TapHome. Szablon powstał w portalu TapHome i został napisany dla EMS-ESP 3.8.6; nie został jeszcze sprawdzony w rzeczywistej instalacji. Pobierz go z portalu TapHome: EMS-ESP Gas Boiler — szablon społeczności (pobierz XML — bez logowania — i zaimportuj go jako nowy moduł).
Kompatybilne kotły i regulatory
O tym, czy kocioł działa z tym szablonem, decydują dwie rzeczy: EMS-ESP musi obsługiwać kocioł, a kocioł i jego regulator muszą wysyłać wartości, które szablon odczytuje.
Kotły objęte szablonem:
- 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
Lista kotłów obsługiwanych przez EMS-ESP wymienia kolejne modele, na przykład Logano, Nefit Proline i Smartline, Condens 2300 i 5000i.
Bramka działa z wariantami magistrali EMS, EMS Plus (EMS+), EMS2 i Heatronic 3. Starsze kotły z magistralą iRT, takie jak Nefit Ecomline lub Buderus GB112, mogą korzystać z bramki dopiero po zainstalowaniu adaptera Bosch EasyControlAdapter. OpenTherm nie należy do typów magistrali obsługiwanych przez bramkę.
Które wartości wysyła dany kocioł, nie jest udokumentowane dla poszczególnych modeli. Strona Devices w interfejsie WWW EMS-ESP pokazuje tylko encje z wartością; encja, która istnieje w EMS-ESP, ale nie ma wartości, jest obsługiwana przez oprogramowanie, a nie przez podłączony kocioł. Ta sama lista jest dostępna pod http://<gateway-ip>/api/boiler/entities i http://<gateway-ip>/api/thermostat/entities.
Tryb obiegu grzewczego zależy od regulatora, ponieważ każda rodzina regulatorów ma własną listę trybów:
| Regulator | Tryby w EMS-ESP | Tryb obiegu grzewczego |
|---|---|---|
| RC300, RC310, RC100, HMC310, Rego 2000 / 3000 | manual, auto | Ręczny i Auto; wybór Wyłączony kończy się błędem zapisu |
| BC400, UI800, CR120 | off, manual, auto | Wyłączony, Ręczny i Auto |
| RC35, regulatory Junkers i inne modele | inne listy (na przykład RC35: night, day, auto; Junkers: nofrost, eco, heat, auto) | nieobsługiwane — urządzenie kończy się błędem, usuń je |
Kotły Junkers i Nefit są często połączone z regulatorami Junkers lub Nefit, które mają inną listę trybów. Urządzenia kotła w szablonie nie zależą od regulatora i działają dalej.
Niektóre regulatory nie przyjmują poleceń zapisu EMS i pojawiają się w EMS-ESP jako urządzenia tylko do odczytu: Buderus Logamatic TC100, Bosch EasyControl CT200, Junkers CT100, Moduline Easy, Junkers FW / FR wyprodukowane przed 9/2008 i termostaty Tado. Z nimi trybu i nastawy temperatury pomieszczenia nie da się zmienić z TapHome.
Połączenie sprzętowe
Zestaw BBQKees Gateway E32 V2 KIT zawiera bramkę, kabel serwisowy EMS 150 cm, kabel 100 cm do zacisków śrubowych EMS, adapter portu serwisowego EMS, zasilacz (12 V DC z wtykiem lub 5 V USB-C, zależnie od partii produkcyjnej) oraz kabel JST ZH do własnych czujników temperatury DS18B20. Bramkę podłącza się do kotła na jeden z trzech sposobów:
| Złącze w kotle | Kabel | Zasilanie |
|---|---|---|
| Gniazdo serwisowe EMS (3,5 mm) | kabel serwisowy EMS 150 cm | z gniazda serwisowego |
| Gniazdo serwisowe EMS (3,5 mm) | kabel serwisowy EMS 150 cm | zasilacz zewnętrzny |
| Zaciski śrubowe magistrali EMS | kabel 100 cm do zacisków śrubowych EMS | zasilacz zewnętrzny (12 V DC lub 5 V USB-C) |
Gniazdo serwisowe wchodzi w grę tylko wtedy, gdy kocioł je ma. Bramki sprzedawane od lata 2025 przyjmują oba typy zasilaczy. BBQKees EMS Gateway Wiki pokazuje, jak podłączyć bramkę do konkretnego kotła.
- Sieć: Ethernet (RJ45) lub Wi-Fi. EMS-ESP łączy się tylko z sieciami Wi-Fi 2,4 GHz z WPA2, nie z 5 GHz.
- Oprogramowanie: EMS-ESP. Gateway E32 V2 (sprzedawany od stycznia 2024) ma PSRAM i używa wariantu oprogramowania
ESP32-16MB+. Oprogramowanie aktualizuje się w interfejsie WWW EMS-ESP w Settings → Version.
Konfiguracja
Pierwsza konfiguracja EMS-ESP
- Przy pierwszym uruchomieniu EMS-ESP otwiera punkt dostępu Wi-Fi
ems-esp(hasło WPAems-esp-neo). Bramka podłączona przez Ethernet jest dostępna pod adresem IP przydzielonym jej przez router. - Zaloguj się domyślnym użytkownikiem
admin/admini zmień hasło. - W Settings → Network podłącz bramkę do sieci domowej (Wi-Fi lub Ethernet).
- W routerze zarezerwuj dla bramki stały adres IP (rezerwacja DHCP) — szablon adresuje bramkę jej adresem IP.
Ważne ustawienia EMS-ESP
- Temperatury w °C — pozostaw wyłączone „Convert temperature values to Fahrenheit” w Settings → Application. Moduł sprawdza to co 60 s i pokazuje błąd, gdy EMS-ESP zgłasza °F.
- Language: English — pozostaw język English w Settings → Application. Urządzenie Tryb obiegu grzewczego rozpoznaje tryb po tekście opcji (
off,manual,auto), a EMS-ESP tłumaczy te teksty na wybrany język; przy innym języku urządzenie kończy się błędem, który podaje zgłoszony tekst. Zapisy używają tekstów angielskich, które EMS-ESP akceptuje w każdym języku, a pozostałe urządzenia nie zależą od języka. - Boolean Format i Enum Format nie mają znaczenia. Szablon odczytuje klucze
indexibooloraz liczbowevalueze szczegółów encji EMS-ESP, które nie zależą od tych ustawień. - Oprogramowanie 3.8 — moduł pokazuje ostrzeżenie, gdy bramka zgłasza wersję spoza serii 3.8. W wersji 3.7.0 encje ciepłej wody przeniesiono z prefiksu
wwdo zagnieżdżonego obiektudhw, a EMS-ESP otrzymał osobną listę trybów dla regulatorów typu BC400; między 3.8.0 a 3.8.6 encje używane przez szablon się nie zmieniły.
Token dostępu do zapisu
Odczyt nie wymaga uwierzytelniania. Zapis — tryb obiegu grzewczego, nastawy pomieszczenia i ciepłej wody — wymaga tokenu dostępu EMS-ESP użytkownika z uprawnieniami administratora:
- Otwórz interfejs WWW EMS-ESP → Settings → Security → Manage Users.
- Kliknij ikonę klucza przy użytkowniku z uprawnieniami administratora i skopiuj token. Token nie ma daty wygaśnięcia.
- Podczas importu szablonu wklej token do parametru importu
AccessToken.
Bez tokenu integracja działa tylko w trybie odczytu, a każdy zapis kończy się błędem 401. Zamiast tego nie włączaj w EMS-ESP opcji „Bypass Access Token authorization on API calls” — otwiera ona API, a dokumentacja EMS-ESP jej nie zaleca.
Parametry importu
| Parametr | Opis |
|---|---|
IpAddress | Adres IP bramki EMS-ESP |
AccessToken | Token dostępu EMS-ESP użytkownika z uprawnieniami administratora — potrzebny tylko do zapisu; dla integracji tylko do odczytu pozostaw pusty |
Możliwości urządzeń
Obieg grzewczy 1
- Tryb obiegu grzewczego — Wyłączony, Ręczny lub Auto dla obiegu grzewczego 1. Urządzenie odczytuje pozycję na liście trybów regulatora, wyszukuje jej tekst opcji i pokazuje Wyłączony, Ręczny lub Auto; zapisuje angielski tekst opcji. To, które tryby działają, zależy od regulatora (zobacz tabelę powyżej).
- Termostat pokojowy — aktualna i zadana temperatura pomieszczenia obiegu grzewczego 1 zgłaszana przez regulator. Zakres nastawy urządzenia to 0–30 °C. EMS-ESP przechowuje nastawę pomieszczenia w krokach co 0,5 °C; szablon wysyła wartość bez zmian.
Stan kotła
- Grzanie aktywne — aktywne, gdy kocioł pracuje na ogrzewanie pomieszczeń.
- Podgrzewanie ciepłej wody aktywne — aktywne, gdy kocioł podgrzewa ciepłą wodę użytkową.
Temperatury
- Temperatura zasilania — aktualna temperatura zasilania kotła z rozdzielczością 0,1 °C.
- Docelowa temperatura zasilania — temperatura zasilania, do której dąży kocioł (0–90 °C), ustawiana przez regulator. Urządzenie jest celowo tylko do odczytu: EMS-ESP mógłby zapisać tę wartość, ale zapisana temperatura zasilania nadpisałaby regulator pokojowy.
- Temperatura zewnętrzna — temperatura zewnętrzna zgłaszana przez kocioł, z rozdzielczością 0,1 °C.
Palnik i ciśnienie w instalacji
- Moc palnika — aktualna moc palnika w procentach. Urządzenie odczytuje także ostatni kod błędu zapisany przez kocioł i pokazuje go jako komunikat informacyjny „Last error code (stored by the boiler): …”, na przykład
2E(207) 100.75.2000 65:00 (0 min). To kod, który kocioł zapisał ostatni, z datą i czasem trwania — niekoniecznie aktywna usterka; komunikat pozostaje także po usunięciu usterki. Gdy kodu błędu nie da się odczytać, urządzenie pokazuje ostrzeżenie, a moc palnika pozostaje dostępna. - Liczba startów palnika — całkowita liczba startów palnika policzona przez kocioł.
- Ciśnienie w instalacji — ciśnienie wody w instalacji grzewczej w barach z rozdzielczością 0,1 bar.
Ciepła woda użytkowa
- Ciepła woda użytkowa — aktualna i zadana temperatura ciepłej wody kotła. Zakres nastawy urządzenia to 10–70 °C, nastawa jest wysyłana w pełnych stopniach, a kocioł stosuje własne ograniczenia.
Szablon zapisuje nastawę ciepłej wody kotła (dhw.seltemp), a nie ustawienia ciepłej wody regulatora (dhw.settemp, dhw.mode). Dokumentacja EMS-ESP podaje, że ustawienia kotła zarządzane przez regulator są przez niego nadpisywane, więc regulator zarządzający ciepłą wodą może nadpisać nastawę ustawioną w TapHome. Nie zostało to jeszcze sprawdzone w rzeczywistej instalacji.
Jak szablon komunikuje się z EMS-ESP
Każde urządzenie odczytuje swoje wartości jednym żądaniem HTTP GET na encję pod /api/<device>/[hc1/|dhw/]<entity> i bierze klucz value, index lub bool z odpowiedzi. Większość urządzeń odpytuje co 30 s; Ciśnienie w instalacji i Temperatura zewnętrzna co 60 s, a Liczba startów palnika co 5 minut. Moduł odczytuje /api/system/info co 60 s. Zapisy to żądania HTTP POST z treścią JSON i tokenem dostępu w nagłówku Authorization: Bearer.
EMS-ESP 3.8.3 i nowsze odpowiada 429 Too Many Requests na żądanie GET, które nadejdzie wcześniej niż 50 ms po poprzednim wywołaniu API. Szablon dlatego czeka 60 ms przed każdym GET i przy 429 jeden raz powtarza żądanie po 200 ms. Inny klient, który odpytuje API EMS-ESP w tym samym czasie (na przykład drugi system automatyki domowej), nadal może sporadycznie wywołać powtórzenie.
Dlaczego REST, a nie Modbus. EMS-ESP oferuje także Modbus TCP, ale przesunięcia jego rejestrów zmieniły się między stabilnymi wersjami 3.8.0 i 3.8.6, więc szablon Modbus po aktualizacji oprogramowania bramki po cichu odczytywałby inne wartości. REST API adresuje wartości po nazwie — encja o zmienionej nazwie kończy się widocznym błędem urządzenia.
Rozwiązywanie problemów
Błąd urządzenia „no value from the gateway”
Komunikat „no value from the gateway — this controller or unit does not report it; delete this device” oznacza, że podłączony kocioł lub regulator nie wysyła tej encji. Sprawdź stronę Devices w EMS-ESP albo http://<gateway-ip>/api/boiler/entities i http://<gateway-ip>/api/thermostat/entities, a następnie usuń urządzenie po imporcie — pozostałe urządzenia działają dalej.
Błąd urządzenia 404
404 z komunikatem typu no 'xyz' in thermostat oznacza, że EMS-ESP nie zna encji pod tą ścieżką — regulator lub kocioł jej nie ma albo oprogramowanie używa innej nazwy. unknown device oznacza, że EMS-ESP nie wykrył na magistrali EMS kotła ani regulatora tego typu.
Tryb obiegu grzewczego zgłasza inny tekst
Błąd „hc1.mode reports ‘…’” pojawia się, gdy EMS-ESP zgłasza tekst trybu inny niż off, manual lub auto. Albo język EMS-ESP nie jest ustawiony na English (ustaw go w Settings → Application), albo regulator używa innej listy trybów (na przykład RC35 lub regulator Junkers) — wtedy usuń urządzenie Tryb obiegu grzewczego.
Wybór Wyłączony kończy się błędem zapisu
Regulatory rodziny RC300 (RC300, RC310, RC100, HMC310, Rego 2000 / 3000) nie mają trybu wyłączenia. EMS-ESP odrzuca wartość, której nie ma na liście regulatora, więc urządzenie pokazuje błąd zapisu (hc1.mode write: HTTP …). Z tymi regulatorami używaj trybu Ręczny lub Auto.
Zapis kończy się błędem 401
Brak tokenu dostępu lub jest on nieprawidłowy. Skopiuj go ponownie z Settings → Security → Manage Users → ikona klucza przy użytkowniku z uprawnieniami administratora i wpisz go do zmiennej AccessToken modułu. Token jest wyprowadzany z nazwy użytkownika i hasła superużytkownika w Settings → Security → Security Settings.
Błąd 429
Inny klient odpytuje API EMS-ESP w tej samej chwili. Szablon już rozkłada swoje żądania w czasie i powtarza je jeden raz; jeśli błąd się powtarza, zmniejsz częstotliwość odpytywania drugiego klienta.
Błąd lub ostrzeżenie modułu
- „EMS-ESP reports °F” — wyłącz Fahrenheit w Settings → Application.
- „Template written for EMS-ESP 3.8.6, gateway reports …” — bramka działa na oprogramowaniu spoza serii 3.8. Zaktualizuj EMS-ESP w Settings → Version.
Bramka niedostępna
- Sprawdź diodę LED bramki: 1 niebieskie mignięcie podczas uruchamiania = magistrala EMS jeszcze nie jest podłączona (sprawdź kabel i ustawienie EMS Tx Mode), 2 czerwone mignięcia = sieć wciąż się łączy (sprawdź Settings → Network; Wi-Fi musi być 2,4 GHz WPA2), światło ciągłe = dane EMS napływają.
- Otwórz
http://<gateway-ip>/api/system/infow przeglądarce — jeśli odpowiada, bramka jest dostępna. - Jeśli adres IP się zmienił, znajdź bramkę przez nazwę mDNS
http://ems-esp.local, a następnie ustaw w routerze rezerwację DHCP. - Używaj
http://— API EMS-ESP nie obsługuje HTTPS z certyfikatami samopodpisanymi.
