TapHome

Shelly H&T Gen3

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

Shelly H&T Gen3 je batériový (4x AA) Wi-Fi senzor teploty a vlhkosti s veľkým e-paper displejom. TapHome komunikuje so zariadením cez MQTT pomocou Gen2+ RPC notifikácií na topicu events/rpc. Toto je odporúčaný protokol pre batériové Shelly Gen3 zariadenia, keďže senzor väčšinu času spí a publikuje dáta len pri prebudení.

Šablóna vytvorí jedno zariadenie Senzor teploty a vlhkosti a servisný atribút Batéria na úrovni modulu. Mechanizmus detekcie offline sleduje posledný prijatý timestamp a hlási varovania alebo chyby, keď zariadenie dlhšie neodpovedalo.

Konfigurácia

MQTT Client ID

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

Client ID nájdete:

  • Na štítku zariadenia (MAC adresa)
  • Vo webovom rozhraní Shelly: SettingsMQTTClient 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 H&T Gen3 MQTT
  2. Nastavte MQTT Broker IP na adresu MQTT brokera
  3. Nastavte Port (predvolene 1883)
  4. Nastavte import parameter MQTT ID na Client ID zariadenia (napr. shellyhtg3-AABBCCDDEEFF)

Modul sa prihlási na odber <device-id>/# a listenerové skripty parsujú NotifyStatus JSON-RPC udalosti z topicu events/rpc.

Uistite sa, že na Shelly H&T Gen3 je povolené MQTT a rpc_ntf (RPC notifikácie) je nastavené na true (predvolené). Šablóna sa spolieha na events/rpc notifikácie, nie na individuálne stavové topicy.

Meranie a hlásenia

Shelly H&T Gen3 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.
  • USB napájanie — prebudenie každých 5 minút na meranie, aktualizáciu displeja a 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 nie je trvalo pripojené k MQTT brokeru. Očakávajte medzery medzi meraniami, najmä v batériovom režime. Ak má miesto senzora slabý Wi-Fi signál, časté opätovné pripájanie môže skrátiť výdrž batérie.

Schopnosti zariadenia

Teplota a vlhkosť

Senzorové zariadenie číta teplotu a vlhkosť z NotifyStatus udalostí na topicu events/rpc:

  • Teplota — okoliná teplota v stupňoch Celzia, čítaná z params['temperature:0'].tC
  • Vlhkosť — relatívna vlhkosť v percentách, čítaná z params['humidity:0'].rh (listenerový skript 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.

Monitorovanie batérie

Modul poskytuje servisný atribút Batéria [%], ktorý číta percentuálnu úroveň nabitia batérie z params['devicepower:0'].battery.percent v udalosti NotifyStatus. Varovanie o nízkej batérii sa spustí, keď úroveň klesne pod 30 %.

Stav batérie sa aktualizuje s každým hlásením senzora. Na 4x AA batériách je očakávaná výdrž približne 1 rok za normálnych podmienok.

Detekcia offline

Šablóna monitoruje konektivitu zariadenia pomocou mechanizmu založeného na timestampe. Listenerový skript modulu ukladá Unix timestamp z každej NotifyStatus udalosti do custom premennej timestamp. Čítací skript potom porovnáva uložený timestamp s aktuálnym časom:

  • Offline > 12 hodín — WARNING: “Device is offline > 12H”
  • Offline > 24 hodín — ERROR: “Device is offline > 24H”

Toto je obzvlášť užitočné pre batériové zariadenia, ktoré môžu prestať komunikovať kvôli vybitým batériám alebo strate Wi-Fi pripojenia.

Ďalšie schopnosti

Shelly H&T Gen3 tiež publikuje stav online/offline cez MQTT Last Will and Testament (LWT) topic, napätie batérie vo Voltoch a stav externého napájania (či je pripojený USB Type-C). Individuálne stavové topicy komponentov (status/temperature:0, status/humidity:0, status/devicepower:0) sú dostupné keď je povolené status_ntf, a teplota je dostupná aj vo Fahrenheitoch. Zariadenie má e-paper displej s nastaviteľnou jednotkou teploty a formátom hodín. 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 H&T Gen3 je pripojený k Wi-Fi a MQTT je povolené v nastaveniach zariadenia (SettingsMQTTEnable)
  2. Skontrolujte, že rpc_ntf je nastavené na true (predvolené) — šablóna vyžaduje RPC notifikácie na events/rpc
  3. Potvrďte, že import parameter MQTT ID presne zodpovedá Client ID zariadenia (napr. shellyhtg3-AABBCCDDEEFF)
  4. Použite MQTT klienta (napr. MQTT Explorer) na prihlásenie odberu <device-id>/# a overte, že senzor publikuje NotifyStatus 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é
Offline varovania napriek fungujúcemu senzoru
  1. Detekcia offline porovnáva uložený timestamp s aktuálnym časom. Ak sú hodiny TapHome Core výrazne posunuté, môžu sa objaviť falošné varovania
  2. Na batériové napájanie senzor hlási len keď sú prekročené prahy alebo každé 2 hodiny nepodmienene — medzery do 2 hodín medzi hláseniami sú normálne
  3. Ak je senzor na mieste s nestabilným Wi-Fi, môže vynechať okná hlásení. Overte silu Wi-Fi signálu na mieste senzora

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 Gen3 MQTT Modul
Servisné atribúty
BatériaPercentuálna úroveň nabitia batérie — varovanie pri poklese pod 30 %
Vlastné premenné

Shelly H&T Gen3 MQTT

Čítanie (modul)
if !ISNAN(timestamp)
	DATETIME now := NOW();
	var secondsSeen := now.UNIXTIME - timestamp;
	if secondsSeen > 12 * 60 * 60
		if secondsSeen > 24 * 60 * 60
			ADDERROR("Device is offline > 24H");
		else
			ADDWARNING("Device is offline > 12H");        
		end
	end
end
Listener
if INDEXOF(RECEIVEDMSG.Topic, "events/rpc") > 0
	var ts := PARSEJSON(RECEIVEDMSG.Payload, "params.ts", true);
	if(!ISNULL(ts), timestamp := ts);
    var bat := PARSEJSON(RECEIVEDMSG.Payload, "params['devicepower:0'].battery.percent", true);
	if(!ISNULL(bat), BatteryPercentage := bat);
end

if BatteryPercentage < 30
	ADDWARNING("Low battery (<30%)");
end
Servisné atribúty
Battery [%]
BatteryPercentage
Senzor teploty a vlhkosti Teplotný senzor Len na čítanie

Okoliná teplota (°C) a relatívna vlhkosť z NotifyStatus udalostí — vlhkosť konvertovaná na rozsah 0–1 pre TapHome

json Jednotka: °C / %RH json_path

Senzor teploty a vlhkosti

Listener
if INDEXOF(RECEIVEDMSG.Topic, "events/rpc") > 0
	var temperature := PARSEJSON(RECEIVEDMSG.Payload, "params['temperature:0'].tC", true);
    if(!ISNULL(temperature), Te := temperature);
    var humidity := PARSEJSON(RECEIVEDMSG.Payload, "params['humidity:0'].rh", true);
    if(!ISNULL(humidity), Hu := humidity / 100);
end
Pripojenie: Packet Parser → MQTT
Možné vylepšenia (8)
  • Temperature Status Topic — Individual status topic (when status_ntf: true). Template uses events/rpc instead — functionally equivalent.
  • Humidity Status Topic — Individual status topic (when status_ntf: true). Template uses events/rpc instead — functionally equivalent.
  • DevicePower Status Topic — Individual status topic with battery.V (voltage). Template already reads battery.percent from events/rpc.
  • Connection Status (LWT) — Last Will and Testament topic — true on connect, false on disconnect. Template uses timestamp-based offline detection instead.
  • Temperature in Fahrenheit — Temperature also available in Fahrenheit (tF field). Template uses tC only.
  • E-Paper Display Configuration — Temperature unit (C/F) and clock format (12/24/disabled) — display-only configuration, not sensor data.
  • Battery Voltage — Battery voltage in Volts. Template reads only percent, not voltage.
  • External Power Status — Whether USB Type-C power is connected. Could distinguish battery vs USB power mode.

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