TapHome

Shelly H&T Gen3

Packet Parser → MQTT
Autor
Posljednje ažuriranje: 10. 2026

Ovaj uređaj podržava mDNS

Umjesto IP adrese uređaju možete pristupiti na adresi:

shellyhtg3-{MAC}.local

Zamijenite {MAC} MAC adresom svog uređaja (velika slova, bez dvotočaka).

TapHome podržava mDNS. Naziv računala (hostname) pouzdaniji je od statične IP adrese.

Shelly H&T Gen3

Shelly H&T Gen3 je Wi-Fi senzor temperature i vlažnosti na baterije (4× AA) s velikim zaslonom e-paper. TapHome s uređajem komunicira preko MQTT-a pomoću RPC obavijesti Gen2+ u temi events/rpc. To je preporučeni protokol za uređaje Shelly Gen3 na baterije, jer senzor većinu vremena spava i podatke objavljuje samo kada se probudi.

Predložak stvara jedan uređaj Senzor temperature i vlažnosti i servisni atribut Baterija na razini modula. Mehanizam otkrivanja offline stanja prati vremensku oznaku zadnjeg primljenog podatka i javlja upozorenja ili pogreške kada se uređaj dulje vrijeme ne javi.

Konfiguracija

MQTT Client ID

Svaki Shelly H&T Gen3 ima jedinstveni MQTT Client ID u obliku shellyhtg3-<MAC12>, gdje je <MAC12> cijela MAC adresa od 12 znakova velikim slovima u heksadecimalnom zapisu (npr. shellyhtg3-AABBCCDDEEFF). Taj ID ujedno služi kao zadani prefiks MQTT teme.

Client ID možete pronaći:

  • Na naljepnici uređaja (MAC adresa)
  • U web-sučelju Shelly: Settings → MQTT → Client ID
  • Preko API-ja: GET http://<device-ip>/rpc/Mqtt.GetConfig → polje client_id
Postavljanje predloška

Nakon uvoza predloška u TapHome:

  1. Otvorite modul Shelly H&T Gen3 MQTT
  2. MQTT Broker IP postavite na adresu MQTT brokera
  3. Postavite Port (zadano 1883)
  4. Parametar pri uvozu MQTT ID postavite na Client ID uređaja (npr. shellyhtg3-AABBCCDDEEFF)

Modul se pretplaćuje na <device-id>/#, a skripte za primanje poruka raščlanjuju JSON-RPC događaje NotifyStatus iz teme events/rpc.

Provjerite je li na uređaju Shelly H&T Gen3 uključen MQTT i je li rpc_ntf (RPC obavijesti) postavljen na true (zadano). Predložak se oslanja na obavijesti events/rpc, a ne na pojedinačne teme stanja.

Mjerenje i javljanje

Shelly H&T Gen3 radi različito ovisno o izvoru napajanja:

  • Rad na baterije: budi se svake minute radi mjerenja. Šalje podatke putem MQTT-a ako se temperatura promijeni za više od 0,5 °C ili vlažnost za više od 5 %. Ako prekoračenje praga ne pokrene slanje podataka, bezuvjetno izvješće o stanju šalje se svaka 2 sata.
  • Rad na USB napajanje: budi se svakih 5 minuta radi mjerenja, ažuriranja zaslona i javljanja u svakom ciklusu.

Zaslon e-paper ažurira se kada se temperatura promijeni za više od 0,2 °C ili vlažnost za više od 3 %.

Uređaj radi na baterije i nije stalno spojen na MQTT broker. Očekujte razmake između očitanja, osobito pri radu na baterije. Ako je na mjestu senzora Wi-Fi signal slab, česti pokušaji ponovnog spajanja mogu skratiti trajanje baterije.

Mogućnosti uređaja

Temperatura i vlažnost

Uređaj senzor čita temperaturu i vlažnost iz događaja NotifyStatus u temi events/rpc:

  • Temperatura: temperatura okoline u Celzijevim stupnjevima, čita se iz params['temperature:0'].tC
  • Vlažnost: relativna vlažnost u postocima, čita se iz params['humidity:0'].rh (skripta za primanje poruka dijeli vrijednost sa 100 i pretvara je u raspon 0–1 koji TapHome očekuje)

Obje su vrijednosti samo za čitanje i ažuriraju se kad god se senzor probudi i objavi podatke.

Prag javljanja temperature može se podesiti na uređaju (zadano 0,5 °C, raspon 0,5–5,0 °C). Zadani prag javljanja vlažnosti je 5 % (raspon 1–20 %). Pragovi se mogu prilagoditi u web-sučelju Shelly ili preko API-ja kako bi se uskladili učestalost javljanja i trajanje baterije.

Praćenje baterije

Modul ima servisni atribut Baterija (%) koji čita postotak napunjenosti baterije iz params['devicepower:0'].battery.percent u događaju NotifyStatus. Upozorenje o slaboj bateriji javlja se kada razina padne ispod 30 %.

Razina baterije ažurira se pri svakom javljanju senzora. S 4 baterije AA očekivano trajanje baterije u uobičajenim uvjetima je otprilike 1 godina.

Otkrivanje offline stanja

Predložak prati povezanost uređaja pomoću mehanizma temeljenog na vremenskoj oznaci. Skripta za primanje poruka na razini modula sprema Unix vremensku oznaku iz svakog događaja NotifyStatus u korisničku varijablu timestamp. Skripta za čitanje zatim uspoređuje spremljenu vremensku oznaku s trenutačnim vremenom:

  • Offline > 12 sati: WARNING: “Device is offline > 12H”
  • Offline > 24 sata: ERROR: “Device is offline > 24H”

To je osobito korisno za uređaje na baterije koji mogu utihnuti zbog ispražnjenih baterija ili gubitka Wi-Fi veze.

Dodatne mogućnosti

Shelly H&T Gen3 objavljuje i stanje online/offline preko teme MQTT Last Will and Testament (LWT), napon baterije u voltima i stanje vanjskog napajanja (je li spojen USB Type-C). Pojedinačne teme stanja komponenti (status/temperature:0, status/humidity:0, status/devicepower:0) dostupne su kada je uključen status_ntf, a temperatura je dostupna i u stupnjevima Fahrenheita. Uređaj ima zaslon e-paper s podesivom jedinicom temperature i oblikom prikaza sata. Te se mogućnosti mogu dodati u budućem ažuriranju predloška.

Rješavanje problema

Senzor ne šalje podatke
  1. Provjerite je li Shelly H&T Gen3 spojen na Wi-Fi i je li MQTT uključen u postavkama uređaja (Settings → MQTT → Enable)
  2. Provjerite je li rpc_ntf postavljen na true (zadano): predložak zahtijeva RPC obavijesti u temi events/rpc
  3. Provjerite odgovara li parametar pri uvozu MQTT ID točno Client ID-u uređaja (npr. shellyhtg3-AABBCCDDEEFF)
  4. MQTT klijentom (npr. MQTT Explorer) pretplatite se na <device-id>/# i provjerite objavljuje li senzor poruke NotifyStatus kada se probudi
  5. Provjerite razinu baterije uređaja: s ispražnjenim baterijama senzor se ne može spojiti na Wi-Fi
Očitanje vlažnosti izgleda netočno
  1. Predložak TapHome dijeli neobrađenu vrijednost vlažnosti sa 100 (npr. rh: 55.3 u sustavu TapHome postaje 0.553). To je očekivano ponašanje: TapHome interno koristi raspon 0–1
  2. Senzor ima podesivi pomak vlažnosti (Humidity.SetConfig → offset): provjerite da nije postavljen na pogrešnu vrijednost
  3. Radni raspon vlažnosti senzora je 30–70 % RH. Očitanja izvan tog raspona mogu biti manje točna
Upozorenja o offline stanju iako senzor radi
  1. Otkrivanje offline stanja uspoređuje spremljenu vremensku oznaku s trenutačnim vremenom. Ako sat centralne jedinice TapHome Core znatno odstupa, mogu se pojaviti lažna upozorenja
  2. Pri radu na baterije senzor javlja samo kada se prijeđu pragovi ili bezuvjetno svaka 2 sata, pa su razmaci do 2 sata između javljanja normalni
  3. Ako je senzor na mjestu s isprekidanim Wi-Fi signalom, možda neće poslati podatke u predviđenom terminu. Provjerite jačinu Wi-Fi signala na mjestu senzora

Kako ga instalirati u TapHome

Preduvjeti

  • Uređaj Shelly spojen na Wi-Fi (2,4 GHz), npr. putem aplikacije Shelly ili vlastite pristupne točke uređaja
  • MQTT broker koji radi u vašoj lokalnoj mreži (npr. Mosquitto, Home Assistant ili ugrađeni broker TapHome)
  • TapHome CCU u istoj mreži kao broker

Na uređajima Gen1 uključivanje MQTT-a isključuje Shelly Cloud. MQTT i Shelly Cloud ne mogu raditi istodobno. Na uređajima Gen2/Plus to ograničenje ne vrijedi.

Korak 1 — Uključite MQTT na uređaju Shelly

Uređaji Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Otvorite web-sučelje Shelly: http://<device-ip>/
  2. Idite na Internet & Security → Advanced — MQTT
  3. Uključite MQTT
  4. Postavite MQTT Server: <broker-ip>:<port> (npr. 192.168.1.10:1883)
  5. Ako vaš broker zahtijeva autentifikaciju, postavite MQTT User i MQTT Password
  6. Kliknite Save — uređaj će se ponovno pokrenuti i spojiti na broker

Uređaji Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Otvorite web-sučelje Shelly: http://<device-ip>/
  2. Idite na Settings → MQTT
  3. Uključite MQTT
  4. Postavite Server: <broker-ip>:<port> (npr. 192.168.1.10:1883)
  5. Client ID je unaprijed popunjen ID-jem uređaja (npr. shellyplus1pm-AABBCCDDEE) — ostavite ga takvim, osim ako ga iz određenog razloga trebate promijeniti
  6. Kliknite Save i ponovno pokrenite uređaj

Za provjeru rada MQTT-a koristite MQTT klijent (npr. MQTT Explorer) i pretplatite se na shellies/# (Gen1) ili <device-id>/# (Gen2). Trebali biste vidjeti statusne poruke uređaja.

Korak 2 — Pronađite Device ID / MQTT Client ID

Neki predlošci zahtijevaju parametar Device ID ili MQTT Client ID. To je jedinstveni identifikator koji se koristi u MQTT temama (topics).

  • Gen1: nalazi se na naljepnici kao MAC adresa (npr. AABBCCDDEE). Device ID = shelly<model>-<mac>, npr. shelly1pm-AABBCCDDEE
  • Gen2/Plus: nalazi se u web-sučelju Shelly pod Settings → Device Info → Device ID ili na naljepnici uređaja

Korak 3 — Konfiguracija u sustavu TapHome

  1. U sustavu TapHome dodajte novi modul Packet Parser (MQTT)
  2. IP adresa: unesite IP adresu MQTT brokera (npr. 192.168.1.10)
  3. Port: 1883 (zadano; za TLS koristite 8883)
  4. Device ID / MQTT Client ID: unesite vrijednost iz koraka 2 (ako je predložak zahtijeva)
  5. Uvezite predložak — TapHome će se automatski pretplatiti na teme uređaja

Dostupni uređaji

Shelly H&T Gen3 MQTT Modul
Servisni atributi
BaterijaPostotak napunjenosti baterije — upozorenje o slaboj bateriji ispod 30 %
Prilagođene varijable

Shelly H&T Gen3 MQTT

Čitanje (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
Servisni atributi
Battery [%]
BatteryPercentage
Senzor temperature i vlažnosti Senzor temperature Samo za čitanje

Temperatura okoline (°C) i relativna vlažnost iz događaja NotifyStatus — vlažnost se za TapHome pretvara u raspon 0–1

json Jedinica: °C / %RH json_path

Senzor temperature i vlažnosti

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
Povezivanje: Packet Parser → MQTT • Naziv računala (hostname): shellyhtg3-{MAC}.local
Moguća poboljšanja (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.

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu