
Shelly H&T Gen3 este un senzor Wi-Fi de temperatură și umiditate alimentat cu baterii (4x AA), cu un afișaj e-paper mare. TapHome comunică cu dispozitivul prin MQTT, folosind notificările RPC Gen2+ din topicul events/rpc. Acesta este protocolul recomandat pentru dispozitivele Shelly Gen3 cu baterii, deoarece senzorul se află în repaus cea mai mare parte a timpului și publică date doar la trezire.
Șablonul creează un singur dispozitiv Senzor de temperatură și umiditate și un atribut de service Baterie la nivelul modulului. Un mecanism de detectare offline monitorizează marcajul de timp al ultimului mesaj primit și generează avertizări sau erori atunci când dispozitivul nu a raportat o perioadă mai lungă.
Configurare
ID-ul de client MQTT
Fiecare Shelly H&T Gen3 are un ID de client MQTT unic în formatul shellyhtg3-<MAC12>, unde <MAC12> reprezintă adresa MAC completă de 12 caractere, în hexazecimal cu litere mari (de ex. shellyhtg3-AABBCCDDEEFF). Acest ID servește și ca prefix implicit al topicului MQTT.
ID-ul de client se găsește:
- Pe eticheta dispozitivului (adresa MAC)
- În interfața web Shelly: Settings → MQTT → Client ID
- Prin API:
GET http://<device-ip>/rpc/Mqtt.GetConfig→ câmpulclient_id
Configurarea șablonului
După importul șablonului în TapHome:
- Deschideți modulul Shelly H&T Gen3 MQTT
- Setați MQTT Broker IP la adresa brokerului MQTT
- Setați Port (implicit
1883) - Setați parametrul de import MQTT ID la ID-ul de client al dispozitivului (de ex.
shellyhtg3-AABBCCDDEEFF)
Modulul se abonează la <device-id>/#, iar scripturile de ascultare analizează evenimentele JSON-RPC NotifyStatus din topicul events/rpc.
Asigurați-vă că MQTT este activat pe Shelly H&T Gen3 și că
rpc_ntf(notificările RPC) este setat latrue(valoarea implicită). Șablonul se bazează pe notificările dinevents/rpc, nu pe topicurile de stare individuale.
Comportamentul de măsurare și raportare
Shelly H&T Gen3 funcționează diferit în funcție de sursa de alimentare:
- Mod baterie — se trezește la fiecare minut pentru măsurare. Raportează în MQTT dacă temperatura se modifică cu mai mult de 0,5 °C sau umiditatea cu mai mult de 5 %. Dacă nu s-a declanșat nicio raportare pe baza pragurilor, la fiecare 2 ore se trimite necondiționat un raport de stare.
- Mod de alimentare prin USB — se trezește la fiecare 5 minute; la fiecare ciclu măsoară, actualizează afișajul și raportează.
Afișajul e-paper se actualizează când temperatura se modifică cu mai mult de 0,2 °C sau umiditatea cu mai mult de 3 %.
Dispozitivul funcționează cu baterii și nu este conectat permanent la brokerul MQTT. Așteptați-vă la pauze între citiri, în special în modul baterie. Dacă în locul în care se află senzorul semnalul Wi-Fi este slab, încercările frecvente de reconectare pot reduce durata de viață a bateriilor.
Funcțiile dispozitivului
Temperatura și umiditatea
Dispozitivul de tip senzor citește temperatura și umiditatea din evenimentele NotifyStatus din topicul events/rpc:
- Temperatură — temperatura ambientală în grade Celsius, citită din
params['temperature:0'].tC - Umiditate — umiditatea relativă în procente, citită din
params['humidity:0'].rh(scriptul de ascultare împarte valoarea la 100 pentru a o converti în intervalul 0–1 așteptat de TapHome)
Ambele valori sunt doar pentru citire și se actualizează ori de câte ori senzorul se trezește și publică date.
Pragul de raportare a temperaturii se poate configura pe dispozitiv (implicit 0,5 °C, interval 0,5–5,0 °C). Pragul de raportare a umidității este implicit de 5 % (interval 1–20 %). Aceste praguri pot fi ajustate din interfața web Shelly sau prin API, pentru a echilibra frecvența raportării cu durata de viață a bateriilor.
Monitorizarea bateriei
Modulul oferă atributul de service Baterie (%), care citește procentul de încărcare a bateriei din params['devicepower:0'].battery.percent din evenimentul NotifyStatus. Avertizarea de baterie descărcată se declanșează când nivelul scade sub 30 %.
Nivelul bateriei se actualizează la fiecare raport al senzorului. Cu 4 baterii AA, durata de viață estimată a bateriilor este de aproximativ 1 an în condiții normale.
Detectarea stării offline
Șablonul monitorizează conectivitatea dispozitivului printr-un mecanism bazat pe marcajul de timp. Scriptul de ascultare al modulului stochează marcajul de timp Unix din fiecare eveniment NotifyStatus în variabila personalizată timestamp. Scriptul de citire compară apoi marcajul de timp stocat cu ora curentă:
- Offline > 12 ore — WARNING: „Device is offline > 12H”
- Offline > 24 de ore — ERROR: „Device is offline > 24H”
Acest lucru este util în special pentru dispozitivele cu baterii, care pot înceta să mai raporteze din cauza bateriilor descărcate sau a pierderii conectivității Wi-Fi.
Funcții suplimentare
Shelly H&T Gen3 publică și starea online/offline prin topicul MQTT Last Will and Testament (LWT), tensiunea bateriei în volți și starea alimentării externe (dacă este conectat USB Type-C). Topicurile de stare ale componentelor individuale (status/temperature:0, status/humidity:0, status/devicepower:0) sunt disponibile când este activat status_ntf, iar temperatura este disponibilă și în grade Fahrenheit. Dispozitivul are un afișaj e-paper cu unitate de temperatură și format al ceasului configurabile. Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.
Rezolvarea problemelor
Senzorul nu raportează date
- Verificați dacă Shelly H&T Gen3 este conectat la Wi-Fi și dacă MQTT este activat în setările dispozitivului (Settings → MQTT → Enable)
- Verificați dacă
rpc_ntfeste setat latrue(implicit) — șablonul necesită notificările RPC dinevents/rpc - Verificați dacă parametrul de import MQTT ID corespunde exact ID-ului de client al dispozitivului (de ex.
shellyhtg3-AABBCCDDEEFF) - Folosiți un client MQTT (de ex. MQTT Explorer) pentru a vă abona la
<device-id>/#și verificați dacă senzorul publică mesajeNotifyStatusla trezire - Verificați nivelul bateriei dispozitivului — bateriile descărcate împiedică conectarea senzorului la Wi-Fi
Valoarea umidității pare incorectă
- Șablonul TapHome împarte valoarea brută a umidității la 100 (de ex.
rh: 55.3devine0.553în TapHome). Acesta este comportamentul așteptat — TapHome folosește intern intervalul 0–1 - Senzorul are un offset de umiditate configurabil (
Humidity.SetConfig→offset) — verificați dacă nu este setat la o valoare greșită - Intervalul de umiditate de funcționare al senzorului este 30–70 % RH. Citirile din afara acestui interval pot fi mai puțin precise
Avertizări offline deși senzorul funcționează
- Detectarea stării offline compară marcajul de timp stocat cu ora curentă. Dacă ceasul unității TapHome Core este semnificativ decalat, pot apărea avertizări false
- La alimentarea cu baterii, senzorul raportează doar la depășirea pragurilor sau necondiționat la fiecare 2 ore — pauzele de până la 2 ore între rapoarte sunt normale
- Dacă senzorul se află într-un loc cu semnal Wi-Fi instabil, poate rata unele rapoarte. Verificați puterea semnalului Wi-Fi în locul în care se află senzorul