TapHome

Shelly Plus H&T

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

Shelly Plus H&T (SNSN-0013A) je batériový (4x AA) Wi-Fi senzor teploty a vlhkosti s e-paper displejom. Je to zariadenie Gen2 (séria Plus), teraz ukončené a nahradené Shelly H&T Gen3, ale stále široko nasadené. TapHome komunikuje so zariadením cez MQTT pomocou individuálnych /status/ topicov pre každý komponent. Toto je štandardný prístup pre Gen2 Shelly zariadenia — listenerový skript sa prihlási na odber <device-id>/# a spracováva prichádzajúce stavové správy, keď sa senzor prebudí z hlbokého spánku a publikuje dáta.

Šablóna vytvorí jedno zariadenie Senzor teploty a vlhkosti s 9 servisnými atribútmi na úrovni zariadenia pokrývajúcimi batériu, sieť a diagnostiku konektivity. Na rozdiel od Gen3 variantu (ktorý používa konsolidované events/rpc notifikácie), táto Gen2 šablóna spracováva individuálne topicy /status/temperature:0, /status/humidity:0, /status/devicepower:0 a ďalšie topicy špecifické pre komponenty.

Konfigurácia

Device ID

Každý Shelly Plus H&T má unikátne Device ID vo formáte shellyplusht-<MACADDRESS>, kde <MACADDRESS> je plná 12-znaková MAC adresa v hexadecimálnom tvare veľkými písmenami (napr. shellyplusht-A8032AB12CD3). Toto ID slúži aj ako prefix MQTT topicov.

Device ID nájdete:

  • Na štítku zariadenia (MAC adresa)
  • Vo webovom rozhraní Shelly: SettingsDevice InfoDevice ID
  • Cez API: GET http://<device-ip>/rpc/Mqtt.GetConfig → pole client_id
Nastavenie šablóny

Po importe šablóny v TapHome:

  1. Otvorte modul Shelly Plus H&T MQTT
  2. Nastavte MQTT Broker IP na adresu MQTT brokera
  3. Nastavte Port (predvolene 1883)
  4. Nastavte import parameter Device ID na Device ID zariadenia (napr. shellyplusht-A8032AB12CD3)

Modul sa prihlási na odber <device-id>/# a listenerový skript parsuje individuálne /status/ JSON správy z topicov každého komponentu.

Uistite sa, že na Shelly Plus H&T je povolené MQTT a status_ntf (stavové notifikácie) je nastavené na true. Šablóna sa spolieha na individuálne stavové topicy (/status/temperature:0, /status/humidity:0 atď.), nie na konsolidovaný topic events/rpc.

Meranie a hlásenia

Shelly Plus H&T funguje odlišne podľa zdroja napájania:

  • Batériový režim — prebudenie každú 1 minútu na meranie. Hlási cez MQTT ak sa teplota zmení o viac ako 0,5 °C alebo vlhkosť o viac ako 5 %. Nepodmienené hlásenie sa odosiela každé 2 hodiny, ak nebol prekročený žiadny prah. 5-minútová ochranná doba zabraňuje nadmerným prebudeniam.
  • USB napájanie — prebudenie každých 5 minút na meranie, aktualizáciu displeja a nepodmienené hlásenie v každom cykle.

E-paper displej sa aktualizuje pri zmene teploty o viac ako 0,2 °C alebo vlhkosti o viac ako 3 %.

Zariadenie je napájané z batérie a väčšinu času strávi v hlbokom spánku. TapHome nemôže aktívne dotazovať senzor — spolieha sa na to, že zariadenie samo odošle stav cez MQTT pri prebudení. Očakávajte medzery medzi meraniami, najmä v batériovom režime. USB Type-C napájanie poskytuje častejšie aktualizácie, ale nenabíja interné batérie.

Schopnosti zariadenia

Teplota a vlhkosť

Senzorové zariadenie číta teplotu a vlhkosť z individuálnych MQTT stavových topicov:

  • Teplota — okoliná teplota v stupňoch Celzia, čítaná z tC v topicu /status/temperature:0
  • Vlhkosť — relatívna vlhkosť v percentách, čítaná z rh v topicu /status/humidity:0 (skript readhumidity delí hodnotu 100 pre prevod na rozsah 0–1 očakávaný TapHome)

Obe hodnoty sú len na čítanie a aktualizujú sa pri každom prebudení senzora a publikovaní dát.

Prah hlásenia teploty je nastaviteľný na zariadení (predvolene 0,5 °C, rozsah 0,5–5,0 °C). Prah vlhkosti je predvolene 5 % (rozsah 1–20 %). Tieto prahy je možné upraviť cez webové rozhranie Shelly alebo API pre vyváženie frekvencie hlásení oproti výdrži batérie.

Servisné atribúty

Šablóna poskytuje 9 servisných atribútov na úrovni zariadenia pokrývajúcich stav batérie a diagnostiku zariadenia:

Monitorovanie batérie:

  • Battery — percentuálna úroveň nabitia batérie z battery.percent v /status/devicepower:0
  • Battery voltage — napätie batérie vo Voltoch z battery.V v /status/devicepower:0
  • External power — či je pripojené externé USB Type-C napájanie, z external.present v /status/devicepower:0

Sieťová diagnostika:

  • WiFi — SSID pripojenej Wi-Fi siete z /status/wifi
  • IP Address — IP adresa zariadenia z /status/wifi
  • MAC Address — MAC adresa zariadenia z /status/sys

Stav konektivity:

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

Všetky servisné atribúty zobrazujú "-", keď ešte neboli prijaté žiadne dáta (počiatočný stav po importe šablóny, pred prvým prebudením senzora).

Ďalšie schopnosti

Shelly Plus H&T tiež publikuje teplotu vo Fahrenheitoch (pole tF v /status/temperature:0), silu Wi-Fi signálu (RSSI v dBm) a podporuje komponent HT_UI na konfiguráciu jednotky teploty na e-paper displeji (°C/°F). Zariadenie tiež poskytuje stav online/offline cez MQTT Last Will and Testament (LWT) topic. Tieto schopnosti môžu byť pridané v budúcej aktualizácii šablóny.

Riešenie problémov

Senzor nehlási dáta
  1. Overte, že Shelly Plus H&T je pripojený k Wi-Fi a MQTT je povolené v nastaveniach zariadenia (SettingsMQTTEnable)
  2. Skontrolujte, že status_ntf je nastavené na true — šablóna vyžaduje individuálne stavové notifikácie na /status/ topicoch
  3. Potvrďte, že import parameter Device ID presne zodpovedá Device ID zariadenia (napr. shellyplusht-A8032AB12CD3)
  4. Použite MQTT klienta (napr. MQTT Explorer) na prihlásenie odberu <device-id>/# a overte, že senzor publikuje stavové správy pri prebudení
  5. Skontrolujte úroveň batérie zariadenia — vybité batérie bránia senzoru pripojiť sa k Wi-Fi
Meranie vlhkosti sa javí nesprávne
  1. TapHome šablóna delí surovú hodnotu vlhkosti 100 (napr. rh: 55.3 sa stane 0.553 v TapHome). Toto je očakávané správanie — TapHome interne používa rozsah 0–1
  2. Senzor má nastaviteľný offset vlhkosti (Humidity.SetConfigoffset) — overte, že nie je nastavený na nesprávnu hodnotu
  3. Prevádzkový rozsah vlhkosti senzora je 30–70 % RH. Merania mimo tohto rozsahu môžu byť menej presné
Servisné atribúty zobrazujú “-”
  1. Servisné atribúty zobrazujú "-" kým sa senzor neprebudí a nepublikuje dáta na zodpovedajúcom stavovom topicu
  2. Na batériové napájanie môže zariadeniu trvať až 2 hodiny, kým odošle prvé nepodmienené hlásenie — stlačte resetovacie tlačidlo (za zadným krytom) pre okamžité meranie a hlásenie
  3. Overte, že MQTT broker prijíma správy na všetkých očakávaných topicoch (/status/sys, /status/wifi, /status/cloud, /status/mqtt, /status/ble)
Rozdiely oproti Shelly H&T Gen3

Shelly Plus H&T (Gen2) a Shelly H&T Gen3 majú podobné senzorové schopnosti, ale líšia sa v MQTT komunikácii:

  • Gen2 (Plus H&T) používa individuálne /status/ topicy pre každý komponent — vyžaduje status_ntf: true
  • Gen3 (H&T Gen3) používa konsolidovaný topic events/rpc s NotifyStatus JSON-RPC udalosťami — vyžaduje rpc_ntf: true
  • Gen3 šablóna tiež obsahuje detekciu offline založenú na timestampe (>12h varovanie, >24h chyba), ktorú Gen2 šablóna neimplementuje

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 Plus H&T MQTT Modul
Vlastné premenné
deviceId (string)MQTT identifikátor zariadenia používaný ako prefix topicov — formát: shellyplusht-{MACADDRESS} (nájdete vo webovom rozhraní Shelly → Settings → Device Info)
Open http://shellyIpAddress → Settings → Device info → copy Device ID (e.g. shellyplusht-A8032AB12CD3)
Senzor teploty a vlhkosti Teplotný senzor Len na čítanie

Okoliná teplota (°C) a relatívna vlhkosť z individuálnych /status/ MQTT topicov — vlhkosť konvertovaná na rozsah 0–1 pre TapHome

json Jednotka: °C / %RH json_path
Servisné atribúty
BatériaPercentuálna úroveň nabitia batérie — zobrazuje '-' do prvého prebudenia senzora
Napätie batérieNapätie batérie vo Voltoch — užitočné na sledovanie degradácie batérie v čase
Externé napájanieČi je pripojené externé USB Type-C napájanie (true/false)
WiFiSSID pripojenej Wi-Fi siete
IP adresa
MAC adresa
Pripojený ku clouduStav pripojenia k Shelly Cloud (true/false)
MQTT pripojenýStav pripojenia k MQTT brokeru (true/false)
BLE povolenéStav Bluetooth Low Energy (true/false)

Senzor teploty a vlhkosti

Čítanie 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é atribúty
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);
Pripojenie: Packet Parser → MQTT
Možné vylepšenia (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