TapHome

Shelly TRV

Packet Parser → HTTP
Trimis de
Ultima actualizare: 04. 2026

Acest dispozitiv acceptă mDNS

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

shellytrv-{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 TRV

Shelly TRV (SHTRV-01) este un cap termostatic Wi-Fi pentru calorifer, alimentat de la baterie, produs de Allterco Robotics. Se montează direct pe corpul robinetului unui calorifer standard cu apă caldă și reglează temperatura camerei acționând tija robinetului cu un motor intern. TapHome comunică cu dispozitivul prin HTTP în rețeaua locală — fără gateway, fără cloud și fără broker MQTT.

Shelly TRV nu se mai produce; succesorul său este Shelly BLU TRV, bazat pe Bluetooth. Unitățile existente funcționează în continuare, iar TapHome oferă în continuare suport complet pentru acest șablon; pentru proiecte noi luați în considerare succesorul.

Pentru același dispozitiv fizic sunt disponibile două șabloane alternative — alegeți unul în funcție de modul de control dorit.

ȘablonOferăUtilizare
Shelly TRV (principal)Baterie + termostat cu buclă închisăControlul temperaturii camerei de către utilizator prin temperatura setată (5-30 °C). Firmware-ul reglează singur poziția robinetului.
Shelly TRV (valve)Baterie + dimmer pentru robinet + termostat (varianta cu temperatură setată)Smart rules care au nevoie de comanda directă a robinetului — poziția robinetului este disponibilă ca dimmer 0,0-1,0.

Nu importați ambele șabloane pentru același dispozitiv fizic. Ambele se conectează la același endpoint, iar ciclurile de interogare se vor suprapune — scrierile vor intra în conflict, iar comportamentul robinetului devine imprevizibil.

Instalarea hardware

Shelly TRV nu are cablaj — este un cap mecanic de calorifer cu electronică internă, alimentat de o baterie Li-ion internă (Panasonic NCR18650BD, 3,7 V / 6500 mAh). Se montează direct pe corpul robinetului caloriferului cu ajutorul unui inel metalic de fixare.

Corpuri de robinet compatibile

Filet nativ: M30 × 1,5. În ambalaj sunt incluse următoarele adaptoare:

  • Danfoss — RA, RAV, RAVL
  • Caleffi
  • Giacomini
  • M28 × 1,5 — Sam, Slovarm, Comap, TA, Herz, MMA, Remagg
  • Pont à Mousson

Adaptoarele altor producători (neincluse) extind compatibilitatea la Gampper, Ista, Meges, Ondal, Oventrop, Rossweiner, Vaillant și alții.

Procedura de montare
  1. Asigurați-vă că este oprit caloriferul și că s-a răcit.
  2. Rotiți capul manual existent al robinetului în sens invers acelor de ceasornic până la deschiderea completă, apoi deșurubați inelul metalic de fixare și scoateți capul.
  3. Montați adaptorul potrivit, dacă filetul robinetului nu este nativ M30 × 1,5.
  4. Așezați Shelly TRV pe corpul robinetului și strângeți inelul metalic în sensul acelor de ceasornic — ferm, dar nu excesiv. Atât o strângere prea slabă, cât și una prea puternică duc la eșecul calibrării.
  5. Rotiți afișajul în orientarea dorită înainte de strângerea completă a inelului.
  6. Apăsați scurt Reset (pe spatele dispozitivului). Afișajul arată CL (calibrare), iar motorul intern se mișcă în ambele direcții. O calibrare reușită se încheie cu AP pe afișaj; eșecul este semnalat prin E1.

Calibrarea trebuie efectuată după fiecare remontare pe un alt corp de robinet. Până când calibrated=true, scrierile temperaturii setate și ale poziției din TapHome sunt respinse cu mesajul Device is not calibrated.

Încărcarea

Dispozitivul se încarcă prin USB-C (cablul este inclus, adaptorul nu). Un încărcător conform standardului USB-C, de cel puțin 1 A, încarcă complet bateria descărcată în aproximativ 5 ore. Durata tipică de funcționare a bateriei este de ~2 ani (~5 luni de sezon de încălzire continuu, la o utilizare obișnuită).

În timpul încărcării, carcasa dispozitivului se încălzește, iar senzorul intern de temperatură indică valori incorecte. Așteptați-vă la valori distorsionate ale temperaturii camerei cât timp charger nu este disconnected.

Configurare

Importul în TapHome

La importul șablonului, TapHome solicită un singur parametru:

ParametruDescriereValoare implicită
IpAddressAdresa IP locală sau numele de gazdă mDNS al dispozitivului192.168.0.1

Portul 80 este fix. HTTPS nu este acceptat la Gen1. Autentificarea HTTP Basic Auth trebuie să fie dezactivată pe dispozitiv — TapHome nu autentifică cererile HTTP către dispozitivele Shelly Gen1.

Folosiți, dacă este posibil, numele de gazdă mDNS (shellytrv-XXXXXX.local) — rămâne valabil chiar dacă se schimbă adresa atribuită prin DHCP. IP Scanner din TapHome (Settings → Network → Scan) găsește atât adresa IP, cât și numele de gazdă mDNS.

Dezactivarea programului săptămânal

Shelly TRV are un program săptămânal integrat (5 profiluri, până la 18 modificări programate pe săptămână pentru fiecare profil). Când programul este activat, firmware-ul suprascrie orice temperatură setată scrisă din exterior la următorul eveniment programat — temperaturile setate din TapHome sunt înlocuite cu valorile din program fără niciun avertisment.

Șablonul semnalează această situație printr-o avertizare (Schedule is enabled). Înainte de a trece dispozitivul sub controlul TapHome, fie:

  • declanșați acțiunea de service Dezactivare program pe modul (trimite /settings/thermostats/0?schedule=false), fie
  • selectați profilul Disable în aplicația Shelly Cloud sau în interfața web a dispozitivului.
Senzor extern de cameră (recomandat)

Senzorul de temperatură integrat se află fizic aproape de țeava fierbinte a caloriferului și indică de obicei cu 1-3 °C mai mult decât temperatura reală a camerei. Există două modalități de corecție:

  • Senzor extern — asociați un termometru Wi-Fi separat (de exemplu Shelly H&T) prin interfața web a dispozitivului → Sensor Settings → Enable external temperature corrections endpoint. Senzorul extern trimite apoi temperatura ambiantă către TRV prin POST.
  • Corecție statică — folosiți acțiunea de service Setare corecție temperatură pe dispozitivul Termostat (interval ±20 °C) pentru a compensa o abatere constantă.

Pentru cel mai bun confort termic combinați un senzor extern fiabil cu o mică corecție statică drept rezervă.

Funcțiile dispozitivului

Șablonul principal oferă dispozitivul ca indicator de baterie plus termostat cu buclă închisă. Șablonul pentru robinet păstrează același modul și aceeași baterie, dar oferă poziția robinetului ca dimmer și folosește o variantă a temperaturii setate care dezactivează reglarea PID automată la scriere. Diagnosticarea și acțiunile la nivel de modul sunt identice în ambele șabloane.

Starea bateriei

Bateria este disponibilă ca comutator cu mai multe valori, derivat din nivelul de încărcare raportat și din starea încărcătorului USB-C. Starea încărcătorului are prioritate față de nivel:

StareCondiție
Criticbat.value < 25
Slabbat.value 25-50
Normalbat.value 50-75
Plinbat.value > 75
Încărcarecharger != disconnected

Două atribute de service suplimentare raportează nivelul brut de încărcare a bateriei (%) și tensiunea celulei (V, nominal ~3,7 V, interval tipic 2,6-4,2 V). Șablonul generează Low battery sub 50 % și Battery charge is critically low sub 25 %.

Termostat (șablonul principal)

Termostat de cameră cu buclă închisă: TapHome scrie temperatura setată, iar firmware-ul TRV reglează singur poziția robinetului pe baza senzorului de temperatură integrat (sau extern).

  • Citire: temperatura măsurată a camerei (thermostats[0].tmp.value) și temperatura setată activă (thermostats[0].target_t.value)
  • Scriere: temperatura setată 5-30 °C prin /settings/thermostats/0?target_t={Se}

Atributele suplimentare ale termostatului includ Corecție temperatură [°C], Poziția robinetului [%] (doar citire, pentru vizibilitatea ieșirii PID), Închidere forțată, Presiune suplimentară și Corecție automată a calibrării. Acțiunile de service corespunzătoare permit TapHome să seteze corecția, să comute modul de închidere forțată (robinetul rămâne complet închis indiferent de temperatura setată) și să comute modul de presiune suplimentară (mărește forța de acționare pentru robinetele greu de acționat).

Scrierea temperaturii setate eșuează cu Device is not calibrated cât timp calibrated=false, iar șablonul adaugă o avertizare când programul săptămânal este activat (deoarece firmware-ul va suprascrie scrierile externe la următorul eveniment programat).

Dimmer pentru robinet (șablonul pentru robinet)

Un șablon alternativ oferă actuatorul robinetului direct ca dispozitiv dimmer (0,0-1,0 → 0-100 %). TapHome scrie poziția prin /thermostats/0?pos={Le*100} — firmware-ul mută motorul în poziția solicitată și dezactivează implicit reglarea automată după temperatura setată.

Șablonul pentru robinet adaugă pe dispozitivul robinet atributele de service Închidere forțată, Presiune suplimentară și Corecție automată a calibrării (plus acțiunile de comutare corespunzătoare), astfel încât autorii de smart rules să poată acționa motorul direct în scenarii precum închiderea de urgență, preîncălzirea manuală sau secvențele de boost.

Termostat (varianta din șablonul pentru robinet)

Șablonul pentru robinet oferă în continuare un dispozitiv termostat, astfel încât temperatura setată să poată fi scrisă din același grup de dispozitive TapHome, însă scriptul său de scriere trimite atât target_t, cât și target_t_enabled=false, pentru ca reglarea PID din firmware să nu intre în conflict cu un robinet acționat manual. Setul de atribute de service se reduce la Corecție temperatură [°C] (atributele corpului robinetului, precum force_close și valve_state, trec în schimb pe dispozitivul robinet). Șablonul avertizează când se observă target_t.enabled=true — aceasta indică un conflict între dimmerul robinetului și reglarea automată.

Diagnosticarea și acțiunile modulului

Modulul (capul termostatic) interoghează /status și /settings la fiecare 3 secunde și oferă diagnosticare și acțiuni pentru întregul dispozitiv:

  • Diagnosticare: SSID Wi-Fi, adresa IP, MAC, puterea semnalului recepționat (RSSI în dBm), starea calibrării, program activat/dezactivat, luminozitatea afișajului (1-7) și starea de afișaj răsturnat.
  • Acțiuni: Dezactivare program, Repornire, Calibrare (declanșează /calibrate), Actualizare firmware (descarcă SHTRV-01_build.gbl de pe serverul oficial de firmware Shelly EU), Setare luminozitate afișaj și Răsturnare afișaj.
Funcții suplimentare

Dispozitivul oferă și câteva funcții Gen1 pe care șabloanele actuale încă nu le pun la dispoziție: detectarea pasivă a ferestrei deschise (/window), acțiunea simetrică Force open, temperatura ambiantă de rezervă (auto_temp), blocarea pentru copii, întârzierea închiderii automate la fereastră deschisă, senzorul temperaturii setate din program (schedule_t), indexul profilului activ, minutele rămase de boost și acțiunea Trigger boost (/thermostats/0?boost_minutes=N), starea termică a electronicii interne (tmp_state) și disponibilitatea actualizării firmware ca senzor. Transmiterea CoIoT push și transportul MQTT sunt acceptate la nivelul dispozitivului, dar nu se folosesc — TapHome interoghează în schimb /status la fiecare 3 s. Acestea pot fi adăugate într-o actualizare viitoare a șablonului.

Depanare

Device is not calibrated

Fiecare scriere a temperaturii setate și a poziției robinetului returnează Device is not calibrated până când TRV finalizează cu succes un ciclu de calibrare.

  1. Asigurați-vă că dispozitivul este bine așezat pe corpul robinetului — inelul de fixare trebuie să fie suficient de strâns pentru ca motorul să apese pe tija robinetului, dar nu atât de strâns încât să se deformeze.
  2. Declanșați acțiunea de service Calibrare pe modul (trimite /calibrate). Afișajul arată pentru scurt timp CL, în timp ce motorul se mișcă în ambele direcții.
  3. La reușită, calibrated devine true, iar scrierile reușesc; eșecul este semnalat prin E1 pe afișaj — de obicei indică o montare incorectă.
Temperatura setată revine la valoarea din program la fiecare câteva ore

Este programul săptămânal, care suprascrie scrierile externe. Verificați atributul de service Program — dacă este activat, declanșați acțiunea Dezactivare program pe modul sau dezactivați profilul activ în aplicația Shelly Cloud.

Temperatura măsurată a camerei este prea mare

Două cauze frecvente:

  • Încărcătorul este conectat. Valorile temperaturii camerei nu sunt valabile cât timp charger != disconnected. Deconectați cablul USB-C și lăsați dispozitivul să se răcească.
  • Abaterea senzorului integrat. Senzorul se află aproape de țevile fierbinți și indică de obicei cu 1-3 °C mai mult. Fie activați endpointul pentru corecții de temperatură externe și asociați un Shelly H&T (sau un termometru Wi-Fi compatibil) în aceeași cameră, fie aplicați o corecție statică prin Setare corecție temperatură (de ex. -1.5 °C).
Afișajul arată E1 / E2

E1 — problemă de calibrare. Remontați dispozitivul, strângeți inelul cu atenție și declanșați un nou ciclu de calibrare.

E2 — problemă a senzorului de temperatură. tmp.is_valid devine false în /status, iar șablonul adaugă eroarea Temperature sensor error. Dacă problema persistă după o repornire, senzorul s-a defectat probabil — contactați suportul tehnic Shelly.

Dispozitivul nu este accesibil
  1. Verificați dacă TRV este conectat la Wi-Fi — apăsați Up + Down timp de 5 s și parcurgeți parametrii de stare; CO indică un client Wi-Fi conectat.
  2. Verificați dacă unitatea centrală TapHome (CCU) și TRV se află în aceeași rețea / VLAN — Shelly Gen1 implicit nu comunică între subrețele.
  3. Încercați numele de gazdă mDNS (shellytrv-XXXXXX.local) în locul adresei IP — alocarea DHCP s-ar fi putut schimba.
  4. Deschideți http://{device-ip}/status în browser. Dacă sosește răspunsul JSON, dispozitivul este accesibil, iar problema este în configurarea TapHome.

Dispozitivele Shelly Gen1 acceptă doar 2 conexiuni HTTP simultane. Dacă TapHome și un alt sistem (Home Assistant, Node-RED) interoghează același dispozitiv în același timp, comunicarea devine instabilă. Păstrați intervalul de interogare implicit al șablonului (3 s) și evitați alte sisteme care interoghează dispozitivul.

La dispozitivele Shelly Gen1, activarea MQTT dezactivează ireversibil Shelly Cloud. TapHome folosește doar HTTP — lăsați MQTT dezactivat, cu excepția cazului în care doriți explicit să renunțați la Shelly Cloud.

Cum se instalează în TapHome

Cerințe preliminare

  • Dispozitiv Shelly instalat și pornit
  • Rețea Wi-Fi locală (2,4 GHz)
  • TapHome CCU în aceeași rețea

Pasul 1 — Conectați dispozitivul Shelly la Wi-Fi

Varianta A — aplicația Shelly (recomandat):

  1. Descărcați aplicația Shelly (iOS / Android)
  2. Atingeți + → Add Device și urmați asistentul de împerechere prin Bluetooth
  3. Introduceți datele de conectare la Wi-Fi când vi se solicită

Varianta B — modul AP (fără aplicație):

  1. La prima pornire, dispozitivul creează un hotspot: ShellyXXX-AABBCCDDEE
  2. Conectați telefonul/PC-ul la acest hotspot
  3. Deschideți http://192.168.33.1 → Internet & Security → Wi-Fi Mode - Client
  4. Introduceți SSID-ul și parola → Save

Shelly acceptă doar rețele de 2,4 GHz. Rețelele de 5 GHz nu vor apărea la scanare.

Pasul 2 — Găsiți adresa dispozitivului

Dispozitivele Shelly Gen1 acceptă mDNS (Zeroconf). Puteți accesa dispozitivul folosind un nume de gazdă în locul adresei IP:

1
shelly<model>-<MAC>.local

De exemplu: shelly1pm-AABBCCDDEE.local (adresa MAC în hexazecimal cu majuscule, fără două puncte).

Recomandat: folosiți Scanner IP din TapHome. Deschideți aplicația TapHome și folosiți Scanner IP (Setări → Rețea → Scanare). Scannerul descoperă dispozitivele din rețea și afișează atât adresa IP, cât și numele de gazdă mDNS. Pentru o conexiune mai fiabilă folosiți numele de gazdă în locul adresei IP — acesta rămâne același chiar dacă adresa IP a dispozitivului se schimbă după o repornire a routerului.

Metode alternative pentru aflarea adresei IP:

  • Aplicația Shelly: detaliile dispozitivului → Device info → adresa IP
  • Interfața web Shelly: conectați-vă la AP-ul dispozitivului înainte de configurarea Wi-Fi — adresa IP se afișează după salvare
  • Tabelul DHCP al routerului: căutați un nume de gazdă de forma shelly1pm-AABBCCDDEE

Pasul 3 — Configurați dispozitivul în TapHome

  1. În TapHome adăugați un nou modul Packet Parser (HTTP)
  2. Address: introduceți numele de gazdă mDNS (de ex. shelly1pm-AABBCCDDEE.local) sau adresa IP de la pasul 2
  3. Port: 80 (implicit, nu este necesară nicio modificare)
  4. Importați șablonul — TapHome va interoga periodic /status pentru a citi starea dispozitivului

Autentificarea HTTP este dezactivată implicit pe dispozitivele Shelly. Dacă ați activat protecția prin autentificare, rețineți că TapHome nu acceptă momentan HTTP Basic Auth — pentru integrarea cu TapHome lăsați autentificarea dezactivată.

Dispozitive disponibile

Shelly TRV Modul
Atribute de service
SSID Wi-Fi
Adresă IP
Adresă MAC
Puterea semnalului recepționatPuterea semnalului Wi-Fi în dBm — intervalul tipic pentru un semnal bun este de la -55 la -70 dBm, sub -80 dBm semnalul nu este fiabil
CalibratIndică dacă s-a finalizat calibrarea mecanică a robinetului — scrierile temperaturii setate și ale poziției robinetului sunt respinse până la reușita calibrării
ProgramProgram săptămânal activat/dezactivat — când este activat, firmware-ul suprascrie temperaturile setate scrise din exterior la următorul eveniment programat
Luminozitate afișajNivelul luminozității afișajului LED (1 = slab, 7 = puternic)
Afișaj răsturnatIndică dacă afișajul LED este rotit cu 180° pentru montarea cu capul în jos
Acțiuni de service
Dezactivare programDezactivează programul săptămânal, astfel încât temperaturile setate din exterior să nu fie înlocuite cu valorile din program la următorul eveniment programat
Repornire
CalibrarePornește ciclul de calibrare mecanică a robinetului — obligatoriu după fiecare remontare pe un alt corp de robinet
Actualizare firmwareDeclanșează actualizarea OTA a firmware-ului de pe serverul oficial de firmware Shelly EU
Setare luminozitate afișajSetează luminozitatea afișajului LED (1 = slab, 7 = puternic)
Răsturnare afișajComută rotirea afișajului cu 180° pentru robinetele montate cu capul în jos
Variabile personalizate

Shelly TRV

Citire (modul)
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
    status := response.Content;
END

response := SENDHTTPREQUEST("/settings");
IF response.IsSuccess
    settings := response.Content;
END

if(PARSEJSON(status, "$.thermostats[0].schedule"), adderror("Schedule is enabled"));
if(PARSEJSON(status, "$.update.has_update"), addwarning("Firmware update is available"));

var bat := PARSEJSON(status, "$.bat.value");
if bat < 25
    addwarning("Battery charge is criticaly low");
elseif bat < 50
    addwarning("Low battery");
end
Atribute de service
Wifi
PARSEJSON(status, "$.wifi_sta.ssid")
${ipAddress}
PARSEJSON(status, "$.wifi_sta.ip")
MAC
PARSEJSON(status, "$.mac")
Received signal strength
PARSEJSON(status, "$.wifi_sta.rssi")
Calibrated
if(PARSEJSON(status, "$.calibrated"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
Schedule
 VAR response := SENDHTTPREQUEST("/thermostats/0");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(SWITCH(PARSEJSON(content, "$.schedule"), true, "On", "Off"));
END
Display brightness
PARSEJSON(settings, "$.display.brightness")
Display flipped
if(PARSEJSON(settings, "$.display.flipped"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
Acțiuni de service
Disable schedule
var response := SENDHTTPREQUEST("/settings/thermostats/0?schedule=false");
if(response.IsSuccess, return("OK"), return(response.Content));
Reboot
VAR response := SENDHTTPREQUEST("/reboot");
if(response.IsSuccess, return("OK"), return(response.Content));
Calibrate
VAR response := SENDHTTPREQUEST("/calibrate");
if(response.IsSuccess, return("OK"), return(response.Content));
Update firmware
VAR response := SENDHTTPREQUEST("/ota?url=http://shelly-api-eu.shelly.cloud/firmware/SHTRV-01_build.gbl");
if(response.IsSuccess, return("OK"), return(response.Content));
Set display brightness
Parametri: Brightness (1-7) (1–7 Br)
var response := SENDHTTPREQUEST("/settings?display_brightness=" + Br);
if(response.IsSuccess, return("OK"), return(response.Content));
Flip display
var response := SENDHTTPREQUEST("/settings?display_flipped=" + if(PARSEJSON(settings, "$.display.flipped"), "false", "true"));
if(response.IsSuccess, return("OK"), return(response.Content));
Baterie Comutator cu mai multe valori Doar citire

Nivelul de încărcare a bateriei ca comutator cu mai multe valori — Critic (<25 %), Slab (25-50 %), Normal (50-75 %), Plin (>75 %), Încărcare (USB-C conectat). Starea de încărcare are prioritate față de nivel

numeric Unitate: % multi-value switch
Valori / Stări: Critical · Low · Normal · Full · Charging

Baterie

Citirea stării comutatorului
if PARSEJSON(status, "$.charger")
    return(4);
end

var bat := PARSEJSON(status, "$.bat.value");
if bat > 75
    return(3);
elseif bat > 50
    return(2);
elseif bat > 25
    return(1);
else
    return(0);
end
Atribute de service
Value [%]
PARSEJSON(status, "$.bat.value");
Voltage [V]
PARSEJSON(status, "$.bat.voltage");
Termostat Termostat

Termostat de cameră cu buclă închisă — se scrie temperatura setată (5-30 °C), iar firmware-ul reglează singur robinetul pe baza senzorului integrat sau extern

numeric Unitate: °C
Atribute de service
Corecție temperatură [°C]Corecție statică adăugată la temperatura măsurată a camerei — utilă când senzorul integrat indică valori prea mari din cauza apropierii de țevile fierbinți
Poziția robinetului [%]Deschiderea curentă a robinetului în procente (0 = complet închis, 100 = complet deschis)
Închidere forțatăIndică dacă robinetul este forțat complet închis, indiferent de temperatura setată
Presiune suplimentarăIndică dacă modul de presiune suplimentară este activ — aplică o forță mecanică suplimentară pentru robinetele greu de acționat
Corecție automată a calibrăriiIndică dacă se aplică o corecție fină a calibrării cursei mecanice
Acțiuni de service
Setare corecție temperaturăSetează corecția temperaturii senzorului (de la -20 la +20 °C) pentru a compensa abaterea în plus a senzorului integrat
Comutare închidere forțatăComută modul de închidere forțată — robinetul rămâne complet închis, indiferent de temperatura setată
Comutare presiune suplimentarăComută modul de presiune suplimentară — mărește forța de acționare pentru robinetele greu de acționat

Termostat

Citirea temperaturii
PARSEJSON(status, "$.thermostats[0].tmp.value")
Citire (modul)
if(! PARSEJSON(status, "$.thermostats[0].tmp.is_valid"), adderror("Temperature sensor error"));
Citirea temperaturii dorite
PARSEJSON(status, "$.thermostats[0].target_t.value")
Scrierea temperaturii dorite
if(status = "0", return(Se));

if !PARSEJSON(status, "$.calibrated")
    ADDERROR("Device is not calibrated");
    return(NaN);
end

VAR response := SENDHTTPREQUEST("/settings/thermostats/0?target_t=" + Se);
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
Atribute de service
Temperature offset [°C]
PARSEJSON(settings, "$.thermostats[0].temperature_offset")
${device_variable_valvestate} [%]
PARSEJSON(status, "$.thermostats[0].pos")
Force close
if(PARSEJSON(settings, "$.thermostats[0].force_close"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
Extra pressure
if(PARSEJSON(settings, "$.thermostats[0].extra_pressure"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
Automatic calibration correction
if(PARSEJSON(settings, "$.thermostats[0].calibration_correction"), "${detail_deviceSettings_true}", "${detail_deviceSettings_false}")
Acțiuni de service
Set temperature offset
Parametri: Offset (-20–20 C)
VAR response := SENDHTTPREQUEST("/settings/thermostats/0?temperature_offset=" + C);
if(response.IsSuccess, return("OK"), return(response.Content));
Toggle force close
var response := SENDHTTPREQUEST("/settings/thermostats/0?force_close=" + if(PARSEJSON(settings, "$.thermostats[0].force_close"), "false", "true"));
if(response.IsSuccess, return("OK"), return(response.Content));
Toggle extra pressure
var response := SENDHTTPREQUEST("/settings/thermostats/0?extra_pressure=" + if(PARSEJSON(settings, "$.thermostats[0].extra_pressure"), "false", "true"));
if(response.IsSuccess, return("OK"), return(response.Content));
Conexiune: Packet Parser → HTTP • Nume gazdă: shellytrv-{MAC}.local
Îmbunătățiri posibile (14)
  • Active schedule profile — Currently active profile index (0-4) when scheduling is enabled. Could be added as a multi-value indicator
  • Scheduled setpoint — Setpoint that the firmware would apply on the next schedule event
  • Boost remaining — Remaining boost time in minutes; pairs with /thermostats/0?boost_minutes=N write
  • Trigger boost — Temporary heating boost action — not currently exposed as service action
  • Internal thermal state — Electronics thermal state (Normal / High / Very High); early warning for overheating
  • Firmware update availability — Currently surfaced only as warning in module readscript — could be a service attribute
  • Open window detection — Passive open-window detection based on temperature drop; publishes 'state: open|closed' and MQTT topic shellies/{id}/window
  • Force open — Forces valve 100% open — symmetrical counterpart to force_close which IS implemented
  • Window-open auto-close delay — Delay (1-3600 s) before closing the valve after open-window detection
  • Fallback ambient temperature — Fallback setpoint (0-27 °C, 0 = disabled) used when no active setpoint exists
  • Child lock — Locks the physical Up/Down buttons on the device
  • Schedule rules configuration — Up to 18 rules/profile, 5 named profiles. Complex config — usually managed via Shelly Cloud app
  • CoIoT push updates — Optional multicast push (CoAP) — TapHome uses pull polling, not required
  • MQTT control — Gen1 MQTT alternative transport — enabling MQTT irreversibly disables Shelly Cloud

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