TapHome

Shelly Plus H&T

Packet Parser → MQTT
Trimis de
Ultima actualizare: 03. 2026

Acest dispozitiv acceptă mDNS

În loc să folosiți o adresă IP, puteți accesa dispozitivul la:

shellyplusht-{MAC}.local

Înlocuiți {MAC} cu adresa MAC a dispozitivului dvs. (majuscule, fără două puncte).

TapHome acceptă mDNS — folosirea unui nume de gazdă este mai fiabilă decât un IP static.

Shelly Plus H&T

Shelly Plus H&T (SNSN-0013A) este un senzor Wi-Fi de temperatură și umiditate alimentat cu baterii (4x AA), cu afișaj e-paper. Este un dispozitiv Gen2 (seria Plus), care nu se mai produce și a fost înlocuit de Shelly H&T Gen3, dar este încă foarte răspândit. TapHome comunică cu dispozitivul prin MQTT, folosind topicuri /status/ individuale pentru fiecare componentă. Aceasta este abordarea standard pentru dispozitivele Shelly Gen2 — scriptul de ascultare se abonează la <device-id>/# și procesează mesajele de stare primite atunci când senzorul se trezește din repausul profund și publică date.

Șablonul creează un singur dispozitiv Senzor de temperatură și umiditate, cu 9 atribute de service la nivel de dispozitiv, care acoperă diagnosticarea bateriei, a rețelei și a conectivității. Spre deosebire de varianta Gen3 (care folosește notificările consolidate events/rpc), acest șablon Gen2 procesează topicurile individuale /status/temperature:0, /status/humidity:0, /status/devicepower:0 și alte topicuri specifice componentelor.

Configurare

Device ID

Fiecare Shelly Plus H&T are un Device ID unic în formatul shellyplusht-<MACADDRESS>, unde <MACADDRESS> este adresa MAC completă de 12 caractere, în hexazecimal cu litere mari (de ex. shellyplusht-A8032AB12CD3). Acest ID servește și ca prefix al topicului MQTT.

Device ID-ul se găsește:

  • Pe eticheta dispozitivului (adresa MAC)
  • În interfața web Shelly: Settings → Device Info → Device ID
  • Prin API: GET http://<device-ip>/rpc/Mqtt.GetConfig → câmpul client_id
Configurarea șablonului

După importul șablonului în TapHome:

  1. Deschideți modulul Shelly Plus H&T MQTT
  2. Setați MQTT Broker IP la adresa brokerului MQTT
  3. Setați Port (implicit 1883)
  4. Setați parametrul de import Device ID la Device ID-ul dispozitivului (de ex. shellyplusht-A8032AB12CD3)

Modulul se abonează la <device-id>/#, iar scriptul de ascultare analizează mesajele JSON /status/ individuale din topicul fiecărei componente.

Asigurați-vă că MQTT este activat pe Shelly Plus H&T și că status_ntf (notificările de stare) este setat la true. Șablonul se bazează pe topicurile de stare individuale (/status/temperature:0, /status/humidity:0 etc.), nu pe topicul consolidat events/rpc.

Comportamentul de măsurare și raportare

Shelly Plus H&T 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. O perioadă de pauză de 5 minute previne trezirile prea dese.
  • Mod alimentare USB — se trezește la fiecare 5 minute pentru măsurare, actualizarea afișajului și raportare necondiționată la fiecare ciclu.

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 se află cea mai mare parte a timpului în repaus profund. TapHome nu poate interoga activ senzorul — depinde de trimiterea stării prin MQTT de către dispozitiv, la trezire. Așteptați-vă la pauze între citiri, în special în modul baterie. Alimentarea prin USB Type-C oferă actualizări mai frecvente, dar nu încarcă bateriile interne.

Funcțiile dispozitivului

Temperatura și umiditatea

Senzorul citește temperatura și umiditatea din topicurile de stare MQTT individuale:

  • Temperatură — temperatura ambientală în grade Celsius, citită din câmpul tC al topicului /status/temperature:0
  • Umiditate — umiditatea relativă în procente, citită din câmpul rh al topicului /status/humidity:0 (scriptul readhumidity î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.

Atribute de service

Șablonul oferă 9 atribute de service la nivel de dispozitiv, cu starea bateriei și diagnosticarea dispozitivului:

Monitorizarea bateriei:

  • Baterie — procentul de încărcare a bateriei din battery.percent din /status/devicepower:0
  • Tensiunea bateriei — tensiunea bateriei în volți din battery.V din /status/devicepower:0
  • Alimentare externă — dacă este conectată alimentarea externă prin USB Type-C, din external.present din /status/devicepower:0

Diagnosticarea rețelei:

  • Wi-Fi — SSID-ul rețelei Wi-Fi conectate, din /status/wifi
  • Adresă IP — adresa IP a dispozitivului, din /status/wifi
  • Adresă MAC — adresa MAC a dispozitivului, din /status/sys

Starea conectivității:

  • Cloud conectat — starea conexiunii la Shelly Cloud, din /status/cloud
  • MQTT conectat — starea conexiunii la brokerul MQTT, din /status/mqtt
  • BLE activat — starea Bluetooth Low Energy, din /status/ble

Toate atributele de service afișează "-" cât timp nu s-au primit încă date (starea inițială după importul șablonului, înainte de prima trezire a senzorului).

Funcții suplimentare

Shelly Plus H&T publică și temperatura în grade Fahrenheit (câmpul tF din /status/temperature:0) și puterea semnalului Wi-Fi (RSSI în dBm) și acceptă componenta HT_UI pentru configurarea unității de temperatură afișate pe ecranul e-paper (°C/°F). Dispozitivul oferă și starea online/offline prin topicul MQTT Last Will and Testament (LWT). Aceste funcții pot fi adăugate într-o actualizare viitoare a șablonului.

Rezolvarea problemelor

Senzorul nu raportează date
  1. Verificați dacă Shelly Plus H&T este conectat la Wi-Fi și dacă MQTT este activat în setările dispozitivului (Settings → MQTT → Enable)
  2. Verificați dacă status_ntf este setat la true — șablonul necesită notificări de stare individuale în topicurile /status/
  3. Verificați dacă parametrul de import Device ID corespunde exact Device ID-ului dispozitivului (de ex. shellyplusht-A8032AB12CD3)
  4. Folosiți un client MQTT (de ex. MQTT Explorer) pentru a vă abona la <device-id>/# și verificați dacă senzorul publică mesaje de stare la trezire
  5. Verificați nivelul bateriei dispozitivului — cu bateriile descărcate, senzorul nu se poate conecta la Wi-Fi
Umiditatea citită pare incorectă
  1. Șablonul TapHome împarte valoarea brută a umidității la 100 (de ex. rh: 55.3 devine 0.553 în TapHome). Acesta este un comportament normal — TapHome folosește intern intervalul 0–1
  2. Senzorul are o corecție configurabilă a umidității (Humidity.SetConfig → offset) — verificați dacă nu este setată la o valoare greșită
  3. Intervalul de umiditate de funcționare al senzorului este 30–70 % RH. Citirile din afara acestui interval pot fi mai puțin precise
Atributele de service afișează „-”
  1. Atributele de service afișează "-" până când senzorul se trezește și publică date în topicul de stare corespunzător
  2. Pe baterii, dispozitivul poate avea nevoie de până la 2 ore pentru a trimite primul raport necondiționat — apăsați butonul de resetare (sub capacul din spate) pentru a declanșa imediat o măsurare și un raport
  3. Verificați dacă brokerul MQTT primește mesaje în toate topicurile așteptate (/status/sys, /status/wifi, /status/cloud, /status/mqtt, /status/ble)
Diferențe față de Shelly H&T Gen3

Shelly Plus H&T (Gen2) și Shelly H&T Gen3 au funcții de senzor similare, dar diferă în comunicația MQTT:

  • Gen2 (Plus H&T) folosește topicuri /status/ individuale pentru fiecare componentă — necesită status_ntf: true
  • Gen3 (H&T Gen3) folosește topicul consolidat events/rpc cu evenimente JSON-RPC NotifyStatus — necesită rpc_ntf: true
  • Șablonul Gen3 include și detectarea offline pe baza marcajului de timp (avertizare după >12 h, eroare după >24 h), pe care șablonul Gen2 nu o implementează

Cum se instalează în TapHome

Cerințe preliminare

  • Dispozitiv Shelly conectat la Wi-Fi (2,4 GHz), de ex. prin aplicația Shelly sau prin punctul de acces propriu al dispozitivului
  • Broker MQTT care rulează în rețeaua dvs. locală (de ex. Mosquitto, Home Assistant sau brokerul integrat TapHome)
  • TapHome CCU în aceeași rețea cu brokerul

La dispozitivele Gen1, activarea MQTT dezactivează Shelly Cloud. Cele două nu pot funcționa simultan. La dispozitivele Gen2/Plus această limitare nu se aplică.

Pasul 1 — Activați MQTT pe dispozitivul Shelly

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

  1. Deschideți interfața web Shelly: http://<device-ip>/
  2. Accesați Internet & Security → Advanced — MQTT
  3. Activați MQTT
  4. Setați MQTT Server: <broker-ip>:<port> (de ex. 192.168.1.10:1883)
  5. Opțional, setați MQTT User și MQTT Password, dacă brokerul dvs. necesită autentificare
  6. Faceți clic pe Save — dispozitivul repornește și se conectează la broker

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

  1. Deschideți interfața web Shelly: http://<device-ip>/
  2. Accesați Settings → MQTT
  3. Activați MQTT
  4. Setați Server: <broker-ip>:<port> (de ex. 192.168.1.10:1883)
  5. Câmpul Client ID este precompletat cu ID-ul dispozitivului (de ex. shellyplus1pm-AABBCCDDEE) — lăsați-l neschimbat, dacă nu aveți un motiv anume să îl modificați
  6. Faceți clic pe Save și reporniți dispozitivul

Pentru a verifica funcționarea MQTT, folosiți un client MQTT (de ex. MQTT Explorer) și abonați-vă la shellies/# (Gen1) sau <device-id>/# (Gen2). Ar trebui să vedeți mesajele de stare trimise de dispozitiv.

Pasul 2 — Aflați Device ID / MQTT Client ID

Unele șabloane necesită parametrul Device ID sau MQTT Client ID. Acesta este identificatorul unic folosit în topicurile MQTT.

  • Gen1: se găsește pe etichetă, ca adresă MAC (de ex. AABBCCDDEE). Device ID = shelly<model>-<mac>, de ex. shelly1pm-AABBCCDDEE
  • Gen2/Plus: se găsește în interfața web Shelly, la Settings → Device Info → Device ID, sau pe eticheta dispozitivului

Pasul 3 — Configurați dispozitivul în TapHome

  1. În TapHome adăugați un nou modul Packet Parser (MQTT)
  2. IP Address: introduceți adresa IP a brokerului MQTT (de ex. 192.168.1.10)
  3. Port: 1883 (implicit; pentru TLS folosiți 8883)
  4. Device ID / MQTT Client ID: introduceți valoarea de la pasul 2 (dacă șablonul o necesită)
  5. Importați șablonul — TapHome se abonează automat la topicurile dispozitivului

Dispozitive disponibile

Shelly Plus H&T MQTT Modul
Variabile personalizate
deviceId (string)Device ID-ul MQTT folosit ca prefix al topicului — format: shellyplusht-{MACADDRESS} (se găsește în interfața web Shelly → Settings → Device Info)
Open http://shellyIpAddress → Settings → Device info → copy Device ID (e.g. shellyplusht-A8032AB12CD3)
Senzor de temperatură și umiditate Senzor de temperatură Doar citire

Temperatura ambientală (°C) și umiditatea relativă din topicurile MQTT /status/ individuale — umiditatea este convertită în intervalul 0–1 pentru TapHome

json Unitate: °C / %RH json_path
Atribute de service
BaterieProcentul de încărcare a bateriei — afișează '-' până la prima trezire a senzorului
Tensiunea baterieiTensiunea bateriei în volți — utilă pentru urmărirea uzurii bateriei în timp
Alimentare externăIndică dacă este conectată alimentarea externă prin USB Type-C (true/false)
Wi-FiSSID-ul rețelei Wi-Fi conectate
Adresă IP
Adresă MAC
Cloud conectatStarea conexiunii la Shelly Cloud (true/false)
MQTT conectatStarea conexiunii la brokerul MQTT (true/false)
BLE activatStarea activării Bluetooth Low Energy (true/false)

Senzor de temperatură și umiditate

Citirea umidității
Hu := listenHum / 100.0;
Ascultător
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
Atribute de service
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);
Conexiune: Packet Parser → MQTT • Nume gazdă: shellyplusht-{MAC}.local
Îmbunătățiri posibile (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.

Surse

Ați găsit o problemă la acest șablon de dispozitiv?

Spuneți-ne ce nu funcționează, ce lipsește sau cum ar trebui să se comporte șablonul. Feedbackul dvs. ne ajută să păstrăm catalogul corect.

Verificat de TapHome

Doriți să folosiți acest șablon în TapHome Core?

Deschideți acest șablon în Customer Portal pentru a-l aplica într-una dintre locuințele dvs. sau pentru a propune o îmbunătățire și a o trimite înapoi în catalog.

Deschideți în portal