TapHome

Shelly H&T

Packet Parser → MQTT
Přidal
Poslední aktualizace: 06. 2026
Shelly H&T

Shelly H&T je bateriový (CR123A) Wi-Fi senzor teploty a vlhkosti z produktové řady Shelly Gen1. TapHome komunikuje se zařízením přes MQTT — doporučený protokol pro bateriové Shelly senzory, protože zařízení mezi měřeními spí a data odesílá pouze při probuzení.

Šablona vytvoří jedno zařízení Teplotní senzor se servisním atributem Vlhkost, které sleduje okolní teplotu i relativní vlhkost z jedné jednotky Shelly H&T.

Konfigurace

Device ID

Shelly H&T používá MQTT Device ID ve formátu shellyht-<MAC6>, kde <MAC6> je posledních 6 znaků MAC adresy v hexadecimálním tvaru malými písmeny (např. shellyht-112233).

Device ID najdete:

  • Na štítku zařízení (MAC adresa)
  • Ve webovém rozhraní Shelly: SettingsDevice Info
  • Přes API: GET http://<device-ip>/settings → pole mqtt.id
Nastavení šablony

Po importu šablony v TapHome:

  1. Otevřete modul Shelly H&T MQTT
  2. Nastavte MQTT Broker IP a Port (výchozí 1883)
  3. Nastavte proměnnou deviceId na Device ID vašeho Shelly H&T (např. 112233 — posledních 6 hex znaků MAC adresy)

Modul se přihlásí k odběru shellies/# a listener skript filtruje zprávy podle nakonfigurovaného Device ID.

Na zařízeních Shelly Gen1 zapnutí MQTT vypne Shelly Cloud — obojí nemůže fungovat současně. MQTT zapnete ve webovém rozhraní Shelly v části Internet & SecurityAdvanced - Developer Settings.

Výchozí doba spánku je 60 sekund. Pro častější aktualizace je k dispozici volitelný USB adaptér — při externím napájení se režim spánku vypne a senzor měří kontinuálně.

Možnosti zařízení

Monitorování teploty a vlhkosti

Šablona poskytuje jedno zařízení Teplotní senzor, které čte okolní teplotu z MQTT topicu shellies/shellyht-{deviceId}/sensor/temperature. Hodnoty se publikují jako desetinné číslo ve stupních Celsia.

Servisní atribut Vlhkost čte relativní vlhkost z shellies/shellyht-{deviceId}/sensor/humidity. MQTT payload se publikuje v rozsahu 0–100 %, ale šablona ho interně konvertuje na rozsah 0–1 (např. MQTT hodnota 45.2 se v TapHome uloží jako 0.452).

Obě měření se aktualizují při každém probuzení senzoru z režimu spánku — výchozích 60 sekund, nebo kontinuálně při USB napájení.

Další možnosti

Shelly H&T také publikuje úroveň baterie (0–100 %, CR123A), stav online/offline přes MQTT Last Will and Testament a zprávu o oznámení zařízení s modelem, MAC, IP a verzí firmwaru (firmware >=1.6.0). Tyto možnosti mohou být přidány v budoucí aktualizaci šablony.

Řešení problémů

Senzor nehlásí data
  1. Ověřte, že Shelly H&T je připojen k Wi-Fi a MQTT je zapnutý v nastavení zařízení (Internet & SecurityAdvanced - Developer Settings)
  2. Zkontrolujte, zda je adresa a port MQTT brokeru správně nastavený ve webovém rozhraní Shelly i v nastavení modulu TapHome
  3. Potvrďte, že proměnná deviceId přesně odpovídá Device ID (posledních 6 hex znaků MAC, např. 112233)
  4. Použijte MQTT klienta (např. MQTT Explorer) k odběru shellies/shellyht-# a ověřte, že senzor publikuje zprávy při probuzení
Hodnota vlhkosti se zdá nesprávná

Šablona dělí hodnotu vlhkosti z MQTT stem — vlhkost 45,2 % se v TapHome uloží jako 0,452. Toto je očekávané chování, protože TapHome používá rozsah 0–1 pro hodnoty vlhkosti. Rozhraní TapHome zobrazí hodnotu správně jako procenta.

Baterie se rychle vybíjí
  1. Shelly H&T je navržen na výdrž baterie až 18 měsíců při výchozí 60sekundové době spánku
  2. Časté opětovné připojování k Wi-Fi (slabý signál, změna kanálů) výrazně zvyšuje spotřebu energie
  3. Zajistěte silný Wi-Fi signál v místě senzoru — zařízení má přibližně 30 m dosah v interiéru

Zařízení Shelly Gen1 nepodporují MQTT přes TLS. Komunikace mezi senzorem a MQTT brokerem není šifrovaná (plain MQTT, port 1883). Zajistěte, aby byl MQTT broker v důvěryhodné lokální síti.

Jak nainstalovat v TapHome

Předpoklady

  • Zařízení Shelly připojené k Wi-Fi (pokud ještě ne, podívejte se na návod na HTTP připojení)
  • MQTT broker běžící ve vaší lokální síti (např. Mosquitto, Home Assistant nebo vestavěný broker TapHome)
  • TapHome CCU ve stejné síti jako broker

Na zařízeních Gen1 povolení MQTT vypne Shelly Cloud. Obojí nemůže běžet současně. Na zařízeních Gen2/Plus toto omezení neplatí.

Krok 1 — Povolte MQTT na zařízení Shelly

Zařízení Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Otevřete webové rozhraní Shelly: http://<device-ip>/
  2. Přejděte na Internet & SecurityAdvanced — MQTT
  3. Povolte MQTT
  4. Nastavte MQTT Server: <broker-ip>:<port> (např. 192.168.1.10:1883)
  5. Volitelně nastavte MQTT User a MQTT Password, pokud váš broker vyžaduje autentifikaci
  6. Klikněte na Save — zařízení se restartuje a připojí k brokeru

Zařízení Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Otevřete webové rozhraní Shelly: http://<device-ip>/
  2. Přejděte na SettingsMQTT
  3. Povolte MQTT
  4. Nastavte Server: <broker-ip>:<port> (např. 192.168.1.10:1883)
  5. Client ID je předvyplněné ID zařízení (např. shellyplus1pm-AABBCCDDEE) — ponechte tak, pokud nemáte konkrétní důvod ke změně
  6. Klikněte na Save a restartujte zařízení

Pro ověření funkčnosti MQTT použijte MQTT klienta (např. MQTT Explorer) a přihlaste se k odběru shellies/# (Gen1) nebo <device-id>/# (Gen2). Měli byste vidět stavové zprávy ze zařízení.

Krok 2 — Zjistěte Device ID / MQTT Client ID

Některé šablony vyžadují parametr Device ID nebo MQTT Client ID. Jde o jedinečný identifikátor používaný v MQTT topicích.

  • Gen1: nachází se na štítku jako MAC adresa (např. AABBCCDDEE). Device ID = shelly<model>-<mac>, např. shelly1pm-AABBCCDDEE
  • Gen2/Plus: nachází se ve webovém rozhraní Shelly v části SettingsDevice InfoDevice ID, nebo na štítku zařízení

Krok 3 — Konfigurace v TapHome

  1. V TapHome přidejte nový modul Packet Parser (MQTT)
  2. IP Address: zadejte IP adresu MQTT brokeru (např. 192.168.1.10)
  3. Port: 1883 (výchozí; pro TLS použijte 8883)
  4. Device ID / MQTT Client ID: zadejte hodnotu z kroku 2 (pokud to šablona vyžaduje)
  5. Importujte šablonu — TapHome se automaticky přihlásí k odběru topiců zařízení

Dostupná zařízení

Shelly H&T MQTT Modul
Vlastní proměnné
deviceId (string)MQTT Device ID zařízení Shelly H&T — posledních 6 hex znaků MAC adresy (např. 112233)
Teplotní senzor Teplotní senzor Pouze ke čtení

Okolní teplota a vlhkost — čte °C z MQTT, vlhkost konvertovaná z 0–100 % na rozsah 0–1

float Jednotka: °C

Teplotní senzor

Čtení 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");
Čtení 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
Připojení: Packet Parser → MQTT
Možná vylepšení (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 jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Ověřeno TapHome

Chcete to použít ve svém TapHome jádře?

Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu.

Otevřít v portálu