TapHome

Shelly TRV

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 04. 2026
Shelly TRV

A Shelly TRV (SHTRV-01) az Allterco Robotics akkumulátoros Wi-Fi radiátor termosztátfeje. Közvetlenül a hagyományos meleg vizes radiátor szelep testére kerül fel és belső motorral, a szeleptüskét mozgatva szabályozza a szobahőmérsékletet. A TapHome HTTP-n keresztül kommunikál az eszközzel a helyi hálózaton — híd, felhő és MQTT bróker nélkül.

A Shelly TRV kifutó termék, helyébe a Bluetooth-os Shelly BLU TRV lépett. A meglévő készülékek továbbra is működnek és a sablon teljes körűen támogatott marad; új projekteknél érdemes megfontolni az utódot.

Ugyanahhoz a fizikai eszközhöz két alternatív sablon érhető el — a kívánt vezérlési mód szerint válassz.

SablonMit tesz elérhetővéHasználat
Shelly TRV (main)Akkumulátor + zárt hurkú termosztátVégfelhasználói szobahőmérséklet-vezérlés alapértékkel (5-30 °C). A firmware belül vezérli a szelepet.
Shelly TRV (valve)Akkumulátor + szelep dimmer + termosztát (alapérték változat)Smart szabályok, amelyek közvetlen szelep-felülírást igényelnek — a szelepállás dimmerként 0.0-1.0.

Ne importáld mindkét sablont ugyanahhoz a fizikai eszközhöz. Mindkettő ugyanarra a végpontra csatlakozik és a polling hurkok ütköznek — az írások ellentmondanak egymásnak és a szelep viselkedése kiszámíthatatlanná válik.

Hardver telepítés

A Shelly TRV nem igényel bekötést — mechanikus radiátorfej belső elektronikával, beépített Li-ion akkumulátorral (Panasonic NCR18650BD, 3,7 V / 6500 mAh). Fém szorítógyűrűvel közvetlenül a szelep testére szerelhető.

Kompatibilis szeleptestek

Natív menet: M30 × 1,5. A csomagban a következő adapterek találhatók:

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

Külső gyártók adapterei (nem tartozékok) kiterjesztik a kompatibilitást Gampper, Ista, Meges, Ondal, Oventrop, Rossweiner, Vaillant és más típusokra is.

Szerelési menet
  1. Győződj meg róla, hogy a radiátor ki van kapcsolva és lehűlt.
  2. Csavard a meglévő kézi szabályzófejet az óramutató járásával ellentétesen ütközésig (teljesen nyitott), majd csavard le a fém szorítógyűrűt és vedd le a fejet.
  3. Ha a szelep menete nem M30 × 1,5, illeszd rá a megfelelő adaptert.
  4. Illeszd a Shelly TRV-t a szelep testére és húzd meg a fém gyűrűt az óramutató járásával egyezően — szorosan, de ne túlhúzva. Mind a túl laza, mind a túl szoros rögzítés kalibrációs hibát okoz.
  5. A gyűrű végleges meghúzása előtt forgasd a kijelzőt a kívánt állásba.
  6. Nyomd meg röviden a Reset gombot (a hátlapon). A kijelző CL (kalibráció) jelet mutat és a belső motor mindkét irányba elmozdul. A sikeres kalibráció AP kijelzéssel zárul; hiba esetén E1 jelenik meg.

A kalibrációt minden egyes más szeleptestre történő átszereléskor újra el kell végezni. Amíg calibrated=true nem áll fenn, a TapHome alapérték- és pozíció-írásait a készülék Device is not calibrated hibával utasítja el.

Töltés

Az eszköz USB-C-n keresztül tölthető (kábel mellékelve, töltő nem). Egy ≥1 A USB-C töltő az akkumulátort körülbelül 5 óra alatt tölti fel teljesen üresről. A tipikus üzemidő ~2 év (~5 hónap folyamatos fűtési szezon szokásos használat mellett).

Töltés közben a készülék háza felmelegszik és a belső hőmérsékletszenzor helytelen értékeket mér. Amíg a charger nem disconnected, számolj torz szobahőmérsékleti értékekkel.

Konfiguráció

TapHome import

A sablon importálásakor a TapHome egyetlen paramétert kér:

ParaméterLeírásAlapérték
IpAddressAz eszköz helyi IP-címe vagy mDNS hosztneve192.168.0.1

A 80-as port fix. HTTPS-t a Gen1 nem támogat. Az eszközön a HTTP Basic Auth-ot ki kell kapcsolni — a TapHome nem autentikál a Gen1 Shelly eszközök felé.

Lehetőség szerint használd az mDNS hosztnevet (shellytrv-XXXXXX.local) — ellenállóbb a DHCP lease változásokra. A TapHome IP Scanner (Beállítások → Hálózat → Szkenn) az IP-t és az mDNS hosztnevet is megtalálja.

Heti ütemezés kikapcsolása

A Shelly TRV beépített heti ütemezővel rendelkezik (5 profil, profilonként akár 18 ütemezett változás hetente). Ha az ütemezés be van kapcsolva, a firmware a legközelebbi ütemezett eseménykor felülírja a kívülről írt alapértéket — a TapHome alapértékek csendben visszaállnak.

A sablon ezt figyelmeztetésként jelzi (Schedule is enabled). Mielőtt TapHome vezérelné az eszközt:

  • futtasd a Disable schedule szolgáltatás-akciót a modulon (elküldi /settings/thermostats/0?schedule=false), vagy
  • a Shelly Cloud alkalmazásban vagy az eszköz webes felületén válaszd a Disable profilt.
Külső szobaszenzor (ajánlott)

A beépített hőmérsékletszenzor fizikailag közel van a forró radiátorcsőhöz és tipikusan 1-3 °C-kal magasabbat mér a tényleges szobahőmérsékletnél. Két korrekciós út áll rendelkezésre:

  • Külső szenzor — párosíts egy különálló Wi-Fi hőmérőt (pl. Shelly H&T) az eszköz webes felületén → Sensor SettingsEnable external temperature corrections endpoint. A külső szenzor ezután POST hívással küldi a környezeti hőmérsékletet a TRV-nek.
  • Statikus eltolás — használd a Set temperature offset szolgáltatás-akciót a Thermostat eszközön (tartomány ±20 °C) az állandó eltérés kompenzálására.

A legjobb hőkomfort érdekében kombinálj egy megbízható külső szenzort egy kis statikus eltolással tartaléknak.

Eszköz képességek

A fő sablon az eszközt akkumulátor-jelzőként és zárt hurkú termosztátként teszi elérhetővé. A valve sablon ugyanazt a modult és akkumulátort tartja meg, de a szelepállást dimmerként teszi elérhetővé és olyan alapérték-változatot használ, amely íráskor kikapcsolja az automatikus PID szabályozást. A modul szintű diagnosztikák és akciók mindkét sablonban azonosak.

Akkumulátor állapot

Az akkumulátor többértékű kapcsolóként jelenik meg, a jelentett töltöttség és az USB-C töltő állapotából levezetve. A töltő állapota elsőbbséget élvez a töltöttséggel szemben:

ÁllapotFeltétel
Criticalbat.value < 25
Lowbat.value 25-50
Normalbat.value 50-75
Fullbat.value > 75
Chargingcharger != disconnected

Két kiegészítő szolgáltatás-attribútum jelzi az akkumulátor nyers töltöttségét (%) és a cellafeszültséget (V, névleges ~3,7 V, tipikus tartomány 2,6-4,2 V). A sablon Low battery jelzést ad <50 % alatt és Battery charge is critically low jelzést <25 % alatt.

Termosztát (fő sablon)

Zárt hurkú szobatermosztát: a TapHome beírja a célalapértéket, a TRV firmware pedig belül, a beépített (vagy külső) hőmérsékletszenzor alapján vezérli a szelepállást.

  • Olvasás: mért szobahőmérséklet (thermostats[0].tmp.value) és aktív cél (thermostats[0].target_t.value)
  • Írás: alapérték 5-30 °C — /settings/thermostats/0?target_t={Se}

A kiegészítő termosztát-attribútumok közé tartozik a Temperature offset [°C], Valve position [%] (csak olvasható, a PID kimenet láthatóságához), Force close, Extra pressure és Automatic calibration correction. A megfelelő szolgáltatás-akciók lehetővé teszik az eltolás beállítását, a kényszerített zárás módjának váltását (a szelep az alapértéktől függetlenül teljesen zárva marad) és az extra nyomás mód váltását (merevebb szelepekhez erősíti a működtetést).

Az alapérték-írások Device is not calibrated hibával hiúsulnak meg, amíg calibrated=false, és a sablon figyelmeztetést ad, ha a heti ütemezés be van kapcsolva (mivel a firmware a következő ütemezett eseménykor felülírja a külső írásokat).

Szelep dimmer (valve sablon)

Alternatív sablon, amely a szelep hajtóművét közvetlenül dimmer eszközként teszi elérhetővé (0.0-1.0 → 0-100 %). A TapHome /thermostats/0?pos={Le*100} híváson keresztül írja a pozíciót — a firmware a kért pozícióba mozgatja a motort és implicit módon kikapcsolja az automatikus célhőmérséklet-szabályozást.

A valve sablon a szelep eszközön kiegészíti a Force close, Extra pressure és Automatic calibration correction szolgáltatás-attribútumokat (és a megfelelő váltakciókat), hogy a smart szabályok szerzői közvetlenül vezérelhessék a motort olyan forgatókönyvekhez, mint a vészzárás, manuális előfűtés vagy boost szekvenciák.

Termosztát (valve sablon változat)

A valve sablon továbbra is elérhetővé tesz egy termosztát eszközt, hogy ugyanabból a TapHome eszközcsoportból is lehessen alapértéket írni, de az író szkriptje target_t mellett target_t_enabled=false értéket is küld, hogy a firmware PID ne harcoljon a manuálisan vezérelt szeleppel. A szolgáltatás-attribútumok halmaza Temperature offset [°C]-ra csökken (a szeleptest attribútumai, mint a force_close és valve_state, a szelep eszközre kerülnek át). A sablon figyelmeztet, ha target_t.enabled=true figyelhető meg — ez jelzi a szelep dimmer és az automatikus vezérlés közötti konfliktust.

Modul diagnosztika és akciók

A modul (head unit) 3 másodpercenként pollozza a /status és /settings végpontokat, és az eszköz szintű diagnosztikákat és akciókat teszi elérhetővé:

  • Diagnosztika: Wi-Fi SSID, IP-cím, MAC, jelerősség (RSSI dBm-ben), kalibráció állapota, ütemezés be/ki, kijelző fényerő (1-7) és a kijelző fordított állása.
  • Akciók: Disable schedule, Reboot, Calibrate (a /calibrate végpontot hívja), Update firmware (a hivatalos Shelly EU firmware szerverről letölti a SHTRV-01_build.gbl fájlt), Set display brightness és Flip display.
További képességek

Az eszköz további — a jelenlegi sablonokban még nem szereplő — Gen1 funkciókat is kínál: passzív nyitott ablak érzékelést (/window), szimmetrikus Force open akciót, tartalék környezeti hőmérsékletet (auto_temp), gyermekzárat, nyitott ablak esetén automatikus zárás késleltetést, ütemezett alapérték szenzort (schedule_t), aktív profil indexet, hátralévő boost perceket és a Trigger boost akciót (/thermostats/0?boost_minutes=N), a belső elektronika hőállapotát (tmp_state) és a firmware frissítés elérhetőségét szenzorként. CoIoT push és MQTT átvitel eszköz szinten támogatott, de nincs használva — a TapHome helyette 3 másodpercenként pollozza a /status-t. Ezek a funkciók egy későbbi sablonfrissítésben hozzáadhatók.

Hibaelhárítás

Device is not calibrated

Minden alapérték- és szelepállás-írás Device is not calibrated hibát ad vissza, amíg a TRV nem fejez be egy sikeres kalibrációs ciklust.

  1. Győződj meg róla, hogy az eszköz szilárdan ül a szelep testén — a szorítógyűrű legyen elég szoros ahhoz, hogy a motornak legyen ellenállása a szeleptüskéhez, de ne annyira, hogy deformálja azt.
  2. Futtasd a Calibrate szolgáltatás-akciót a modulon (a /calibrate végpontot hívja). A kijelző röviden CL-t mutat, amíg a motor mindkét irányba elmozdul.
  3. Siker esetén a calibrated értéke true lesz és az írások sikerülnek; hiba esetén a kijelzőn E1 jelenik meg — ez általában hibás felszerelésre utal.
Az alapérték néhány óránként más értékre áll vissza

Ez a heti ütemezés, amely felülírja a külső írásokat. Ellenőrizd a Schedule szolgáltatás-attribútumot — ha be van kapcsolva, futtasd a Disable schedule akciót a modulon vagy kapcsold ki az aktív profilt a Shelly Cloud alkalmazásban.

A szobahőmérséklet túl magas értéket mutat

Két gyakori ok:

  • Csatlakoztatott töltő. A szobahőmérséklet értékek érvénytelenek, amíg charger != disconnected. Húzd ki az USB-C kábelt és hagyd lehűlni az eszközt.
  • Beépített szenzor eltérése. A szenzor közel van a forró csövekhez és tipikusan 1-3 °C-kal magasabbat mér. Vagy engedélyezd a külső hőmérséklet-korrekciós végpontot és párosíts egy Shelly H&T-t (vagy kompatibilis Wi-Fi hőmérőt) ugyanabban a szobában, vagy alkalmazz statikus Set temperature offset-et (pl. -1,5 °C).
A kijelzőn E1 / E2 jelenik meg

E1 — kalibrációs hiba. Szereld át az eszközt, óvatosan húzd meg a gyűrűt és indíts új kalibrációs ciklust.

E2 — hőmérsékletszenzor hiba. A /status-ban a tmp.is_valid false lesz és a sablon Temperature sensor error hibát ad. Ha a probléma újraindítás után is fennáll, a szenzor valószínűleg meghibásodott — fordulj a Shelly támogatáshoz.

Az eszköz nem érhető el
  1. Ellenőrizd, hogy a TRV csatlakozik a Wi-Fi-hez — tartsd nyomva 5 másodpercig az Up + Down gombokat és lapozz át az állapot paramétereken; a CO csatlakoztatott Wi-Fi klienst jelez.
  2. Ellenőrizd, hogy a TapHome CCU és a TRV ugyanazon a hálózaton / VLAN-on vannak — a Shelly Gen1 alapértelmezésben nem routol alhálózatok között.
  3. Próbáld az mDNS hosztnevet (shellytrv-XXXXXX.local) az IP helyett — a DHCP lease esetleg megváltozott.
  4. Nyisd meg a böngészőben a http://{device-ip}/status címet. Ha megjön a JSON válasz, az eszköz elérhető és a probléma a TapHome konfigurációban van.

A Gen1 Shelly eszközök csak 2 egyidejű HTTP kapcsolatot fogadnak el. Ha a TapHome és egy másik rendszer (Home Assistant, Node-RED) egyszerre pollozza ugyanazt az eszközt, a kommunikáció megbízhatatlanná válik. Tartsd a polling intervallumot a sablon alapértékén (3 s) és kerüld a további pollereket.

A Gen1 Shelly eszközökön az MQTT engedélyezése visszafordíthatatlanul kikapcsolja a Shelly Cloud-ot. A TapHome csak HTTP-t használ — hagyd az MQTT-t kikapcsolva, hacsak nem akarsz kifejezetten elhagyni a Shelly Cloud-ot.

Telepítés a TapHome-ban

Előfeltételek

  • Shelly eszköz telepítve és bekapcsolva
  • Helyi Wi-Fi hálózat (2,4 GHz)
  • TapHome CCU ugyanazon a hálózaton

1. lépés — Shelly csatlakoztatása a Wi-Fi-hez

A lehetőség — Shelly alkalmazás (ajánlott):

  1. Töltse le a Shelly alkalmazást (iOS / Android)
  2. Érintse meg a +Add Device gombot, és kövesse a Bluetooth párosítási varázslót
  3. Adja meg Wi-Fi hitelesítő adatait, amikor a rendszer kéri

B lehetőség — AP mód (alkalmazás nélkül):

  1. Első bekapcsoláskor az eszköz létrehoz egy hotspotot: ShellyXXX-AABBCCDDEE
  2. Csatlakoztassa telefonját/PC-jét ehhez a hotspothoz
  3. Nyissa meg a http://192.168.33.1 címet → Internet & SecurityWi-Fi Mode - Client
  4. Adja meg az SSID-t és a jelszót → Save

A Shelly csak 2,4 GHz-es hálózatokat támogat. Az 5 GHz-es hálózatok nem jelennek meg a keresésben.

2. lépés — IP-cím megkeresése

A Wi-Fi-hez való csatlakozás után az alábbi módszerek egyikével keresse meg a hozzárendelt IP-címet:

  • Shelly alkalmazás: Eszköz részletei → Device info → IP-cím
  • Shelly webes felület: Csatlakozzon az eszköz AP-jához a Wi-Fi beállítás előtt — az IP a mentés után jelenik meg
  • Router DHCP tábla: Keressen egy hasonló hosztnevet: shelly1pm-AABBCCDDEE
  • mDNS: Pingelje a shelly<model>-<mac>.local címet (pl. shelly1pm-AABBCCDDEE.local) ugyanarról a hálózatról

Rendeljen statikus IP-t (DHCP foglalást) a Shelly eszközhöz a routerben, hogy a cím ne változzon a router újraindítása után.

3. lépés — Konfigurálás a TapHome-ban

  1. A TapHome-ban adjon hozzá egy új Packet Parser (HTTP) modult
  2. IP Address: adja meg a 2. lépésben kapott IP-t (pl. 192.168.1.50)
  3. Port: 80 (alapértelmezett, nem kell módosítani)
  4. Importálja a sablont — a TapHome rendszeresen lekérdezi a /status végpontot az eszköz állapotának olvasásához

A HTTP hitelesítés a Shelly eszközökön alapértelmezetten ki van kapcsolva. Ha engedélyezte a bejelentkezésvédelmet, a TapHome jelenleg nem támogatja a HTTP Basic Auth-ot — a TapHome integrációhoz hagyja kikapcsolva a hitelesítést.

Elérhető eszközök

Shelly TRV Modul
Szerviz attribútumok
WiFi SSID
IP-cím
MAC-cím
Vett jelerősségWi-Fi jelerősség dBm-ben — tipikusan -55 és -70 dBm között jó, -80 dBm alatt megbízhatatlan
KalibrálvaBefejeződött-e a szelep mechanikus kalibrációja — az alapérték- és szelepállás-írások sikeres kalibrációig elutasításra kerülnek
ÜtemezésHeti ütemezés be/ki — ha be van kapcsolva, a firmware a következő ütemezett eseménykor felülírja a kívülről írt alapértékeket
Kijelző fényerejeLED kijelző fényerő szintje (1 = halvány, 7 = erős)
Fordított kijelzőA LED kijelző 180°-kal el van-e forgatva fejjel lefelé történő szereléshez
Szerviz műveletek
Ütemezés kikapcsolásaKikapcsolja a heti ütemezést, hogy a külső alapértékek ne álljanak vissza a következő ütemezett eseménykor
Újraindítás
KalibrálásElindítja a szelep mechanikus kalibrációs ciklusát — minden más szeleptestre történő átszerelés után kötelező
Firmware frissítéseOTA firmware frissítést indít a hivatalos Shelly EU firmware szerverről
Kijelző fényerő beállításaBeállítja a LED kijelző fényerejét (1 = halvány, 7 = erős)
Kijelző megfordításaVáltja a kijelző 180°-os forgatását fejjel lefelé szerelt szelepekhez
Egyéni változók

Shelly TRV

Olvasás (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
Szerviz attribútumok
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}")
Szerviz műveletek
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
Paraméterek: 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));
Akkumulátor Többértékű kapcsoló Csak olvasható

Akkumulátor töltöttség többértékű kapcsolóként — Critical (<25 %), Low (25-50 %), Normal (50-75 %), Full (>75 %), Charging (USB-C csatlakoztatva). A töltés állapota elsőbbséget élvez a töltöttséggel szemben

numeric Egység: % multi-value switch
Értékek / Állapotok: Critical · Low · Normal · Full · Charging

Akkumulátor

Kapcsoló állapot olvasása
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
Szerviz attribútumok
Value [%]
PARSEJSON(status, "$.bat.value");
Voltage [V]
PARSEJSON(status, "$.bat.voltage");
Termosztát Termosztát

Zárt hurkú szobatermosztát — a céltemperatúra írása (5-30 °C), a firmware belül vezérli a szelepet a beépített vagy külső szenzor alapján

numeric Egység: °C
Szerviz attribútumok
Hőmérséklet eltolás [°C]A mért szobahőmérséklethez hozzáadott statikus eltolás — hasznos, ha a beépített szenzor a forró csövek közelsége miatt magasabbat mér
Szelepállás [%]Aktuális szelepnyitás százalékban (0 = teljesen zárt, 100 = teljesen nyitott)
Kényszerített zárásA szelep teljesen zárva tartandó-e kényszerítéssel, az alapértéktől függetlenül
Extra nyomásAktív-e az extra nyomás mód — kiegészítő mechanikus erőt alkalmaz merev szelepek mozgatásához
Automatikus kalibráció-korrekcióAlkalmazva van-e finom kalibráció-korrekció a mechanikus löketre
Szerviz műveletek
Hőmérséklet eltolás beállításaBeállítja a szenzor hőmérséklet eltolást (-20 és +20 °C között) a beépített szenzor melegedési torzításának kompenzálására
Kényszerített zárás váltásaVáltja a kényszerített zárás módot — a szelep az alapértéktől függetlenül teljesen zárva marad
Extra nyomás váltásaVáltja az extra nyomás módot — erősíti a szelep működtetését merev szelepeknél

Termosztát

Hőmérséklet olvasása
PARSEJSON(status, "$.thermostats[0].tmp.value")
Olvasás (modul)
if(! PARSEJSON(status, "$.thermostats[0].tmp.is_valid"), adderror("Temperature sensor error"));
Kívánt hőmérséklet olvasása
PARSEJSON(status, "$.thermostats[0].target_t.value")
Kívánt hőmérséklet írása
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
Szerviz attribútumok
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}")
Szerviz műveletek
Set temperature offset
Paraméterek: 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));
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (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

Források