TapHome

Shelly Plus H&T

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

Shelly Plus H&T (SNSN-0013A) je bateriový (4x AA) Wi-Fi senzor teploty a vlhkosti s e-paper displejem. Je to zařízení Gen2 (řada Plus), nyní ukončené a nahrazené Shelly H&T Gen3, ale stále široce nasazené. TapHome komunikuje se zařízením přes MQTT pomocí individuálních /status/ topiců pro každou komponentu. Toto je standardní přístup pro Gen2 Shelly zařízení — listenerový skript se přihlásí k odběru <device-id>/# a zpracovává příchozí stavové zprávy, když se senzor probudí z hlubokého spánku a publikuje data.

Šablona vytvoří jedno zařízení Senzor teploty a vlhkosti s 9 servisními atributy na úrovni zařízení pokrývajícími baterii, síť a diagnostiku konektivity. Na rozdíl od Gen3 variantu (který používá konsolidované events/rpc notifikace), tato Gen2 šablona zpracovává individuální topicy /status/temperature:0, /status/humidity:0, /status/devicepower:0 a další topicy specifické pro komponenty.

Konfigurace

Device ID

Každý Shelly Plus H&T má unikátní Device ID ve formátu shellyplusht-<MACADDRESS>, kde <MACADDRESS> je plná 12znaková MAC adresa v hexadecimálním tvaru velkými písmeny (např. shellyplusht-A8032AB12CD3). Toto ID slouží i jako prefix MQTT topiců.

Device ID najdete:

  • Na štítku zařízení (MAC adresa)
  • Ve webovém rozhraní Shelly: SettingsDevice InfoDevice ID
  • Přes API: GET http://<device-ip>/rpc/Mqtt.GetConfig → pole client_id
Nastavení šablony

Po importu šablony v TapHome:

  1. Otevřete modul Shelly Plus H&T MQTT
  2. Nastavte MQTT Broker IP na adresu MQTT brokeru
  3. Nastavte Port (výchozí 1883)
  4. Nastavte import parametr Device ID na Device ID zařízení (např. shellyplusht-A8032AB12CD3)

Modul se přihlásí k odběru <device-id>/# a listenerový skript parsuje individuální /status/ JSON zprávy z topiců každé komponenty.

Ujistěte se, že na Shelly Plus H&T je povolené MQTT a status_ntf (stavové notifikace) je nastaveno na true. Šablona se spoléhá na individuální stavové topicy (/status/temperature:0, /status/humidity:0 atd.), ne na konsolidovaný topic events/rpc.

Měření a hlášení

Shelly Plus H&T funguje odlišně podle zdroje napájení:

  • Bateriový režim — probuzení každou 1 minutu pro měření. Hlásí přes MQTT, pokud se teplota změní o více než 0,5 °C nebo vlhkost o více než 5 %. Nepodmíněné hlášení se odesílá každé 2 hodiny, pokud nebyl překročen žádný práh. 5minutová ochranná doba zabraňuje nadměrným probuzením.
  • USB napájení — probuzení každých 5 minut pro měření, aktualizaci displeje a nepodmíněné hlášení v každém cyklu.

E-paper displej se aktualizuje při změně teploty o více než 0,2 °C nebo vlhkosti o více než 3 %.

Zařízení je napájeno z baterie a většinu času tráví v hlubokém spánku. TapHome nemůže aktivně dotazovat senzor — spoléhá se na to, že zařízení samo odešle stav přes MQTT při probuzení. Očekávejte mezery mezi měřeními, zejména v bateriovém režimu. USB Type-C napájení poskytuje častější aktualizace, ale nenabíjí interní baterie.

Schopnosti zařízení

Teplota a vlhkost

Senzorové zařízení čte teplotu a vlhkost z individuálních MQTT stavových topiců:

  • Teplota — okolní teplota ve stupních Celsia, čtená z tC v topicu /status/temperature:0
  • Vlhkost — relativní vlhkost v procentech, čtená z rh v topicu /status/humidity:0 (skript readhumidity dělí hodnotu 100 pro převod na rozsah 0–1 očekávaný TapHome)

Obě hodnoty jsou pouze ke čtení a aktualizují se při každém probuzení senzoru a publikování dat.

Práh hlášení teploty je nastavitelný na zařízení (výchozí 0,5 °C, rozsah 0,5–5,0 °C). Práh vlhkosti je výchozí 5 % (rozsah 1–20 %). Tyto prahy lze upravit přes webové rozhraní Shelly nebo API pro vyvážení frekvence hlášení oproti výdrži baterie.

Servisní atributy

Šablona poskytuje 9 servisních atributů na úrovni zařízení pokrývajících stav baterie a diagnostiku zařízení:

Monitorování baterie:

  • Battery — procentuální úroveň nabití baterie z battery.percent v /status/devicepower:0
  • Battery voltage — napětí baterie ve Voltech z battery.V v /status/devicepower:0
  • External power — zda je připojeno externí USB Type-C napájení, z external.present v /status/devicepower:0

Síťová diagnostika:

  • WiFi — SSID připojené Wi-Fi sítě z /status/wifi
  • IP Address — IP adresa zařízení z /status/wifi
  • MAC Address — MAC adresa zařízení z /status/sys

Stav konektivity:

  • Cloud connected — stav připojení k Shelly Cloud z /status/cloud
  • MQTT connected — stav připojení k MQTT brokeru z /status/mqtt
  • BLE enabled — stav Bluetooth Low Energy z /status/ble

Všechny servisní atributy zobrazují "-", dokud nebyly přijaty žádné data (počáteční stav po importu šablony, před prvním probuzením senzoru).

Další schopnosti

Shelly Plus H&T také publikuje teplotu ve Fahrenheitech (pole tF v /status/temperature:0), sílu Wi-Fi signálu (RSSI v dBm) a podporuje komponentu HT_UI pro konfiguraci jednotky teploty na e-paper displeji (°C/°F). Zařízení také poskytuje stav online/offline přes MQTT Last Will and Testament (LWT) topic. Tyto schopnosti mohou být přidány v budoucí aktualizaci šablony.

Řešení problémů

Senzor nehlásí data
  1. Ověřte, že Shelly Plus H&T je připojen k Wi-Fi a MQTT je povoleno v nastavení zařízení (SettingsMQTTEnable)
  2. Zkontrolujte, že status_ntf je nastaveno na true — šablona vyžaduje individuální stavové notifikace na /status/ topicích
  3. Potvrďte, že import parametr Device ID přesně odpovídá Device ID zařízení (např. shellyplusht-A8032AB12CD3)
  4. Použijte MQTT klienta (např. MQTT Explorer) pro přihlášení k odběru <device-id>/# a ověřte, že senzor publikuje stavové zprávy při probuzení
  5. Zkontrolujte úroveň baterie zařízení — vybité baterie brání senzoru připojit se k Wi-Fi
Měření vlhkosti se zdá nesprávné
  1. TapHome šablona dělí surovou hodnotu vlhkosti 100 (např. rh: 55.3 se stane 0.553 v TapHome). Toto je očekávané chování — TapHome interně používá rozsah 0–1
  2. Senzor má nastavitelný offset vlhkosti (Humidity.SetConfigoffset) — ověřte, že není nastaven na nesprávnou hodnotu
  3. Provozní rozsah vlhkosti senzoru je 30–70 % RH. Měření mimo tento rozsah mohou být méně přesná
Servisní atributy zobrazují “-”
  1. Servisní atributy zobrazují "-" dokud se senzor neprobudí a nepublikuje data na odpovídajícím stavovém topicu
  2. Na bateriové napájení může zařízení trvat až 2 hodiny, než odešle první nepodmíněné hlášení — stiskněte resetovací tlačítko (za zadním krytem) pro okamžité měření a hlášení
  3. Ověřte, že MQTT broker přijímá zprávy na všech očekávaných topicích (/status/sys, /status/wifi, /status/cloud, /status/mqtt, /status/ble)
Rozdíly oproti Shelly H&T Gen3

Shelly Plus H&T (Gen2) a Shelly H&T Gen3 mají podobné senzorové schopnosti, ale liší se v MQTT komunikaci:

  • Gen2 (Plus H&T) používá individuální /status/ topicy pro každou komponentu — vyžaduje status_ntf: true
  • Gen3 (H&T Gen3) používá konsolidovaný topic events/rpc s NotifyStatus JSON-RPC událostmi — vyžaduje rpc_ntf: true
  • Gen3 šablona také obsahuje detekci offline založenou na timestampu (>12h varování, >24h chyba), kterou Gen2 šablona neimplementuje

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 Plus H&T MQTT Modul
Vlastní proměnné
deviceId (string)MQTT identifikátor zařízení používaný jako prefix topiců — formát: shellyplusht-{MACADDRESS} (najdete ve webovém rozhraní Shelly → Settings → Device Info)
Open http://shellyIpAddress → Settings → Device info → copy Device ID (e.g. shellyplusht-A8032AB12CD3)
Senzor teploty a vlhkosti Teplotní senzor Pouze ke čtení

Okolní teplota (°C) a relativní vlhkost z individuálních /status/ MQTT topiců — vlhkost konvertována na rozsah 0–1 pro TapHome

json Jednotka: °C / %RH json_path
Servisní atributy
BaterieProcentuální úroveň nabití baterie — zobrazuje '-' do prvního probuzení senzoru
Napětí baterieNapětí baterie ve Voltech — užitečné pro sledování degradace baterie v čase
Externí napájeníZda je připojeno externí USB Type-C napájení (true/false)
WiFiSSID připojené Wi-Fi sítě
IP adresa
MAC adresa
Připojeno ke clouduStav připojení k Shelly Cloud (true/false)
MQTT připojenoStav připojení k MQTT brokeru (true/false)
BLE povolenoStav Bluetooth Low Energy (true/false)

Senzor teploty a vlhkosti

Čtení vlhkosti
Hu := listenHum / 100.0;
Listener
IF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/temperature:0") >= 0)
    Te := PARSEJSON(RECEIVEDMSG.PAYLOAD,"tC", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/humidity:0") >= 0)
    listenHum := PARSEJSON(RECEIVEDMSG.PAYLOAD,"rh", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/devicepower:0") >= 0)
    batteryPerc := PARSEJSON(RECEIVEDMSG.PAYLOAD,"battery.percent", true);
    batteryV := PARSEJSON(RECEIVEDMSG.PAYLOAD,"battery.V", true);
    externalPower := PARSEJSON(RECEIVEDMSG.PAYLOAD,"external.present", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/sys") >= 0)
    macAddress := PARSEJSON(RECEIVEDMSG.PAYLOAD,"mac", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/wifi") >= 0)
    ipaddress := PARSEJSON(RECEIVEDMSG.PAYLOAD,"sta_ip", true);
    wifi := PARSEJSON(RECEIVEDMSG.PAYLOAD,"ssid", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/cloud") >= 0)
    cloudConnected := PARSEJSON(RECEIVEDMSG.PAYLOAD,"connected", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/mqtt") >= 0)
    mqttConnected := PARSEJSON(RECEIVEDMSG.PAYLOAD,"connected", true);
ELSEIF (INDEXOF(RECEIVEDMSG.TOPIC, deviceid +"/status/ble") >= 0)
    BLEenabled := PARSEJSON(RECEIVEDMSG.PAYLOAD,"enable", true);
END
Servisní atributy
Battery
IF (ISNAN(batteryPerc), "-", batteryPerc + "%");
Battery voltage
IF (ISNAN(batteryV), "-", batteryV + "V");
External power
IF (LENGTH(externalPower) = 0, "-", externalPower);
WiFi
IF (LENGTH(wifi) = 0, "-", wifi);
IP Address
IF (LENGTH(ipaddress) = 0, "-", ipaddress);
MAC Address
IF (LENGTH(macAddress) = 0, "-", macAddress);
Cloud connected
IF (LENGTH(cloudConnected) = 0, "-", cloudConnected);
MQTT connected
IF (LENGTH(mqttConnected) = 0, "-", mqttConnected);
BLE enabled
IF (LENGTH(BLEenabled) = 0, "-", BLEenabled);
Připojení: Packet Parser → MQTT
Možná vylepšení (5)
  • RPC Event Notifications — Gen3 templates use consolidated events/rpc topic with NotifyFullStatus. This Gen2 template uses individual /status/ topics instead — functionally equivalent.
  • Connection Status (LWT) — Last Will and Testament topic — true on connect, false on disconnect. Not used by template.
  • Temperature in Fahrenheit — Temperature also available in Fahrenheit (tF field in /status/temperature:0). Template uses tC only.
  • E-Paper Display Configuration — Temperature unit (C/F) display setting — display-only configuration, not sensor data.
  • WiFi Signal Strength (RSSI) — WiFi signal strength in dBm. Template reads only SSID and IP, not RSSI.

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