TapHome

Shelly H&T

Packet Parser → MQTT
Pridal
Posledná aktualizácia: 05. 2026
Shelly H&T

Shelly H&T je batériový (CR123A) Wi-Fi senzor teploty a vlhkosti z produktovej línie Shelly Gen1. TapHome komunikuje so zariadením cez MQTT — odporúčaný protokol pre batériové Shelly senzory, keďže zariadenie medzi meraniami spí a dáta posiela len pri zobudení.

Šablóna vytvorí jedno zariadenie Teplotný senzor so servisným atribútom Vlhkosť, ktoré sleduje teplotu okolia aj relatívnu vlhkosť z jednej jednotky Shelly H&T.

Konfigurácia

Device ID

Shelly H&T používa MQTT Device ID vo formáte shellyht-<MAC6>, kde <MAC6> je posledných 6 znakov MAC adresy v hexadecimálnom tvare malými písmenami (napr. shellyht-112233).

Device ID nájdete:

  • Na štítku zariadenia (MAC adresa)
  • Vo webovom rozhraní Shelly: SettingsDevice Info
  • Cez API: GET http://<device-ip>/settings → pole mqtt.id
Nastavenie šablóny

Po importe šablóny v TapHome:

  1. Otvorte modul Shelly H&T MQTT
  2. Nastavte MQTT Broker IP a Port (predvolene 1883)
  3. Nastavte premennú deviceId na Device ID vášho Shelly H&T (napr. 112233 — posledných 6 hex znakov MAC adresy)

Modul sa prihlási na odber shellies/# a listener skript filtruje správy podľa nakonfigurovaného Device ID.

Na zariadeniach Shelly Gen1 zapnutie MQTT vypne Shelly Cloud — oba nemôžu fungovať súčasne. MQTT zapnete vo webovom rozhraní Shelly v časti Internet & SecurityAdvanced - Developer Settings.

Predvolená doba spánku je 60 sekúnd. Pre častejšie aktualizácie je k dispozícii voliteľný USB adaptér — pri externom napájaní sa režim spánku vypne a senzor meria kontinuálne.

Možnosti zariadenia

Monitorovanie teploty a vlhkosti

Šablóna poskytuje jedno zariadenie Teplotný senzor, ktoré číta teplotu okolia z MQTT topicu shellies/shellyht-{deviceId}/sensor/temperature. Hodnoty sa publikujú ako desatinné číslo v stupňoch Celzia.

Servisný atribút Vlhkosť číta relatívnu vlhkosť z shellies/shellyht-{deviceId}/sensor/humidity. MQTT payload sa publikuje v rozsahu 0–100 %, ale šablóna ho interne konvertuje na rozsah 0–1 (napr. MQTT hodnota 45.2 sa v TapHome uloží ako 0.452).

Obe merania sa aktualizujú pri každom zobudení senzora z režimu spánku — predvolene každých 60 sekúnd, alebo kontinuálne pri USB napájaní.

Ďalšie možnosti

Shelly H&T tiež publikuje úroveň batérie (0–100 %, CR123A), stav online/offline cez MQTT Last Will and Testament a správu o oznámení zariadenia s modelom, MAC, IP a verziou firmvéru (firmvér >=1.6.0). Tieto možnosti môžu byť pridané v budúcej aktualizácii šablóny.

Riešenie problémov

Senzor nehlási údaje
  1. Overte, že Shelly H&T je pripojený k Wi-Fi a MQTT je zapnutý v nastaveniach zariadenia (Internet & SecurityAdvanced - Developer Settings)
  2. Skontrolujte, či je adresa a port MQTT brokera správne nastavený vo webovom rozhraní Shelly aj v nastaveniach modulu TapHome
  3. Potvrďte, že premenná deviceId presne zodpovedá Device ID (posledných 6 hex znakov MAC, napr. 112233)
  4. Použite MQTT klienta (napr. MQTT Explorer) na odber shellies/shellyht-# a overte, že senzor publikuje správy pri zobudení
Hodnota vlhkosti sa zdá nesprávna

Šablóna delí hodnotu vlhkosti z MQTT stom — vlhkosť 45,2 % sa v TapHome uloží ako 0,452. Toto je očakávané správanie, keďže TapHome používa rozsah 0–1 pre hodnoty vlhkosti. Rozhranie TapHome zobrazí hodnotu správne ako percentá.

Batéria sa rýchlo vybíja
  1. Shelly H&T je navrhnutý na výdrž batérie až 18 mesiacov pri predvolenej 60-sekundovej dobe spánku
  2. Časté opätovné pripájanie k Wi-Fi (slabý signál, zmena kanálov) výrazne zvyšuje spotrebu energie
  3. Zabezpečte silný Wi-Fi signál na mieste senzora — zariadenie má približne 30 m dosah v interiéri

Zariadenia Shelly Gen1 nepodporujú MQTT cez TLS. Komunikácia medzi senzorom a MQTT brokerom nie je šifrovaná (plain MQTT, port 1883). Zabezpečte, aby bol MQTT broker v dôveryhodnej lokálnej sieti.

Ako nainštalovať v TapHome

Predpoklady

  • Zariadenie Shelly pripojené k Wi-Fi (ak ešte nie, pozrite návod na HTTP pripojenie)
  • MQTT broker bežiaci vo vašej lokálnej sieti (napr. Mosquitto, Home Assistant alebo vstavaný broker TapHome)
  • TapHome CCU v rovnakej sieti ako broker

Na zariadeniach Gen1 povolenie MQTT vypne Shelly Cloud. Oboje nemôže bežať súčasne. Na zariadeniach Gen2/Plus toto obmedzenie neplatí.

Krok 1 — Povoľte MQTT na zariadení Shelly

Zariadenia Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Otvorte webové rozhranie Shelly: http://<device-ip>/
  2. Prejdite na Internet & SecurityAdvanced — MQTT
  3. Povoľte MQTT
  4. Nastavte MQTT Server: <broker-ip>:<port> (napr. 192.168.1.10:1883)
  5. Voliteľne nastavte MQTT User a MQTT Password, ak váš broker vyžaduje autentifikáciu
  6. Kliknite na Save — zariadenie sa reštartuje a pripojí k brokeru

Zariadenia Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Otvorte webové rozhranie Shelly: http://<device-ip>/
  2. Prejdite na SettingsMQTT
  3. Povoľte MQTT
  4. Nastavte Server: <broker-ip>:<port> (napr. 192.168.1.10:1883)
  5. Client ID je predvyplnené ID zariadenia (napr. shellyplus1pm-AABBCCDDEE) — ponechajte tak, pokiaľ nemáte konkrétny dôvod na zmenu
  6. Kliknite na Save a reštartujte zariadenie

Na overenie funkčnosti MQTT použite MQTT klienta (napr. MQTT Explorer) a prihláste sa na odber shellies/# (Gen1) alebo <device-id>/# (Gen2). Mali by ste vidieť stavové správy zo zariadenia.

Krok 2 — Zistite Device ID / MQTT Client ID

Niektoré šablóny vyžadujú parameter Device ID alebo MQTT Client ID. Ide o jedinečný identifikátor používaný v MQTT topicoch.

  • Gen1: nachádza sa na štítku ako MAC adresa (napr. AABBCCDDEE). Device ID = shelly<model>-<mac>, napr. shelly1pm-AABBCCDDEE
  • Gen2/Plus: nachádza sa vo webovom rozhraní Shelly v časti SettingsDevice InfoDevice ID, alebo na štítku zariadenia

Krok 3 — Konfigurácia v TapHome

  1. V TapHome pridajte nový modul Packet Parser (MQTT)
  2. IP Address: zadajte IP adresu MQTT brokera (napr. 192.168.1.10)
  3. Port: 1883 (predvolený; pre TLS použite 8883)
  4. Device ID / MQTT Client ID: zadajte hodnotu z kroku 2 (ak to šablóna vyžaduje)
  5. Importujte šablónu — TapHome sa automaticky prihlási na odber topicov zariadenia

Dostupné zariadenia

Shelly H&T MQTT Modul
Vlastné premenné
deviceId (string)MQTT Device ID zariadenia Shelly H&T — posledných 6 hex znakov MAC adresy (napr. 112233)
Teplotný senzor Teplotný senzor Len na čítanie

Teplota okolia a vlhkosť — číta °C z MQTT, vlhkosť konvertovaná z 0–100 % na rozsah 0–1

float Jednotka: °C

Teplotný senzor

Čítanie vlhkosti
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
Hu := listenHum;
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Čítanie teploty
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
te := listenTemp;
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Listener
# Parse received bytes:
IF(RECEIVEDMSG.TOPIC = "shellies/shellyht-"+ deviceId +"/sensor/temperature")
 listenTemp := todouble(TOSTRING(RECEIVEDMSG.PAYLOAD));
END
IF(RECEIVEDMSG.TOPIC = "shellies/shellyht-"+ deviceId +"/sensor/humidity")
 listenHum := todouble(TOSTRING(RECEIVEDMSG.PAYLOAD))/100;
END
Pripojenie: Packet Parser → MQTT
Možné vylepšenia (3)
  • Battery Level — Battery percentage (0–100%, CR123A). Available via MQTT but not parsed in template listener script.
  • Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline sensor.
  • Device Announcement — JSON payload with device model, MAC, IP, firmware version. Published on connect (FW ≥1.6.0).

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ý.

Overené TapHomom

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