TapHome

Shelly H&T Gen3

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

Shelly H&T Gen3 je bateriový (4x AA) Wi-Fi senzor teploty a vlhkosti s velkým e-paper displejem. TapHome komunikuje se zařízením přes MQTT pomocí Gen2+ RPC notifikací na topicu events/rpc. Toto je doporučený protokol pro bateriová Shelly Gen3 zařízení, protože senzor většinu času spí a publikuje data pouze při probuzení.

Šablona vytvoří jedno zařízení Senzor teploty a vlhkosti a servisní atribut Baterie na úrovni modulu. Mechanismus detekce offline sleduje poslední přijatý timestamp a hlásí varování nebo chyby, pokud zařízení delší dobu neodpovídalo.

Konfigurace

MQTT Client ID

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

Client ID najdete:

  • Na štítku zařízení (MAC adresa)
  • Ve webovém rozhraní Shelly: SettingsMQTTClient 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 H&T Gen3 MQTT
  2. Nastavte MQTT Broker IP na adresu MQTT brokeru
  3. Nastavte Port (výchozí 1883)
  4. Nastavte import parametr MQTT ID na Client ID zařízení (např. shellyhtg3-AABBCCDDEEFF)

Modul se přihlásí k odběru <device-id>/# a listenerové skripty parsují NotifyStatus JSON-RPC události z topicu events/rpc.

Ujistěte se, že na Shelly H&T Gen3 je povolené MQTT a rpc_ntf (RPC notifikace) je nastaveno na true (výchozí). Šablona se spoléhá na events/rpc notifikace, ne na individuální stavové topicy.

Měření a hlášení

Shelly H&T Gen3 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.
  • USB napájení — probuzení každých 5 minut pro měření, aktualizaci displeje a 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 není trvale připojeno k MQTT brokeru. Očekávejte mezery mezi měřeními, zejména v bateriovém režimu. Pokud má místo senzoru slabý Wi-Fi signál, časté opětovné připojování může zkrátit výdrž baterie.

Schopnosti zařízení

Teplota a vlhkost

Senzorové zařízení čte teplotu a vlhkost z NotifyStatus událostí na topicu events/rpc:

  • Teplota — okolní teplota ve stupních Celsia, čtená z params['temperature:0'].tC
  • Vlhkost — relativní vlhkost v procentech, čtená z params['humidity:0'].rh (listenerový skript 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.

Monitorování baterie

Modul poskytuje servisní atribut Baterie [%], který čte procentuální úroveň nabití baterie z params['devicepower:0'].battery.percent v události NotifyStatus. Varování o nízké baterii se spustí, když úroveň klesne pod 30 %.

Stav baterie se aktualizuje s každým hlášením senzoru. Na 4x AA bateriích je očekávaná výdrž přibližně 1 rok za normálních podmínek.

Detekce offline

Šablona monitoruje konektivitu zařízení pomocí mechanismu založeného na timestampu. Listenerový skript modulu ukládá Unix timestamp z každé NotifyStatus události do custom proměnné timestamp. Čtecí skript poté porovnává uložený timestamp s aktuálním časem:

  • Offline > 12 hodin — WARNING: “Device is offline > 12H”
  • Offline > 24 hodin — ERROR: “Device is offline > 24H”

Toto je obzvláště užitečné pro bateriová zařízení, která mohou přestat komunikovat kvůli vybitým bateriím nebo ztrátě Wi-Fi připojení.

Další schopnosti

Shelly H&T Gen3 také publikuje stav online/offline přes MQTT Last Will and Testament (LWT) topic, napětí baterie ve Voltech a stav externího napájení (zda je připojen USB Type-C). Individuální stavové topicy komponent (status/temperature:0, status/humidity:0, status/devicepower:0) jsou dostupné při povoleném status_ntf a teplota je dostupná i ve Fahrenheitech. Zařízení má e-paper displej s nastavitelnou jednotkou teploty a formátem hodin. 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 H&T Gen3 je připojen k Wi-Fi a MQTT je povoleno v nastavení zařízení (SettingsMQTTEnable)
  2. Zkontrolujte, že rpc_ntf je nastaveno na true (výchozí) — šablona vyžaduje RPC notifikace na events/rpc
  3. Potvrďte, že import parametr MQTT ID přesně odpovídá Client ID zařízení (např. shellyhtg3-AABBCCDDEEFF)
  4. Použijte MQTT klienta (např. MQTT Explorer) pro přihlášení k odběru <device-id>/# a ověřte, že senzor publikuje NotifyStatus 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á
Offline varování navzdory fungujícímu senzoru
  1. Detekce offline porovnává uložený timestamp s aktuálním časem. Pokud jsou hodiny TapHome Core výrazně posunuty, mohou se objevit falešná varování
  2. Na bateriové napájení senzor hlásí pouze při překročení prahů nebo každé 2 hodiny nepodmíněně — mezery do 2 hodin mezi hlášeními jsou normální
  3. Pokud je senzor na místě s nestabilním Wi-Fi, může vynechat okna hlášení. Ověřte sílu Wi-Fi signálu v místě senzoru

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 Gen3 MQTT Modul
Servisní atributy
BaterieProcentuální úroveň nabití baterie — varování při poklesu pod 30 %
Vlastní proměnné

Shelly H&T Gen3 MQTT

Čtení (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í atributy
Battery [%]
BatteryPercentage
Senzor teploty a vlhkosti Teplotní senzor Pouze ke čtení

Okolní teplota (°C) a relativní vlhkost z NotifyStatus událostí — vlhkost konvertována na rozsah 0–1 pro 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
Připojení: Packet Parser → MQTT
Možná vylepšení (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 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