TapHome
Comunitate Beta Integrare HVAC

LinkedGo ST802-B Fan Coil Thermostat (Powered by Shelly)

LinkedGo ST802-B este un termostat de perete Wi-Fi pentru ventiloconvectoare și încălzire în pardoseală, Powered by Shelly. TapHome folosește API-ul său HTTP local pentru a citi temperatura și umiditatea camerei și pentru a seta temperatura țintă, viteza ventilatorului, modul de funcționare, pornirea/oprirea, protecția antiîngheț și umiditatea țintă. Șablon al comunității, beta.

LinkedGoPacket Parser → HTTP6 dispozitiveRevizia 1.0 Ultima actualizare: 10 noiembrie 2026

Trimis de Libor Kratochvíl

LinkedGo ST802-B Fan Coil Thermostat (Powered by Shelly)

Import în aplicația TapHomeHardware › Packet Parser › Adăugați din șablon

Descărcați șablon
Pe această pagină

Adresa în rețea

TapHome comunică cu dispozitivul la adresa introdusă la import. Atribuiți dispozitivului o adresă fixă — o rezervare IP în router sau numele său mDNS, dacă îl acceptă —, altfel integrarea nu mai funcționează când routerul schimbă adresa.

Pregătirea rețelei

Ghid de integrare

LinkedGo ST802-B este un termostat de perete încastrat pentru ventiloconvectoare și încălzire în pardoseală, “Powered by Shelly”. Comută chiar el cele trei viteze ale ventilatorului ventiloconvectorului, vana ventiloconvectorului și vana încălzirii în pardoseală și are senzor integrat de temperatură și umiditate a camerei. TapHome comunică cu el prin API-ul local Shelly RPC (HTTP pe portul 80, Wi-Fi) — nu este necesară conexiunea la cloud.

Șablonul citește temperatura și umiditatea camerei și setează temperatura țintă, viteza ventilatorului, modul de funcționare, pornirea/oprirea, protecția antiîngheț și umiditatea țintă. Este un șablon al comunității creat de Libor Kratochvíl.

Conectarea hardware

Termostatul se montează într-o doză de aparataj îngropată de 60 mm, numai în interior (IP20). Se alimentează de la rețeaua de 230 V AC; baza de cunoștințe Shelly indică un domeniu de intrare de 90–240 V AC, 50/60 Hz. Sarcina maximă este de 1 A inductiv sau 2 A rezistiv. Instalarea și orice modificare a cablajului revin unui electrician calificat, cu bornele deconectate de la rețea.

Borne

BornăFuncție
N, Lalimentare, nul și fază
H, M, Loventilator viteză mare, medie și mică — ieșire 230 V, câte 1 A
NO, NCvana ventiloconvectorului — releu cu contact normal deschis și normal închis, 230 V
FLvana încălzirii în pardoseală — ieșire 230 V
C1, C2contact uscat (ieșire digitală) pentru pornirea și oprirea unei pompe de căldură sau a unei centrale pe gaz
0-10V, GNDieșire analogică pentru viteza unui motor de ventilator DC și comun
A1/B1, A2/B2RS485 — nu este folosit de acest șablon
Dispunerea bornelor ST802-B: bornele de rețea N, L, H, M, Lo, NO, NC, FL cu conexiunile ventilatorului și ale vanelor, plus bornele de joasă tensiune A1/B1, A2/B2, C1/C2, GND, 0-10V.

Cablarea în funcție de funcția termostatului (parametrul H02)

Modul de cablare a ventilatorului și a vanelor depinde de tipul sistemului, setat pe termostat de instalator prin parametrul H02. Instrucțiunile tehnice LinkedGo prezintă câte o schemă pentru fiecare valoare H02:

H02SistemModuri disponibile
0ventiloconvector AC cu 2 țevi — ventilator pe H/M/Lo, vana ventiloconvectorului pe NO/NCrăcire, încălzire, dezumidificare, ventilație
1ventiloconvector DC — viteza ventilatorului de la ieșirea 0-10V, vana ventiloconvectorului pe NO/NCrăcire, încălzire, dezumidificare, ventilație
2doar încălzire în pardoseală — vana încălzirii în pardoseală pe FLîncălzire în pardoseală
3răcire cu ventiloconvector AC + încălzire în pardosealărăcire cu ventiloconvector, încălzire în pardoseală
4răcire și încălzire cu ventiloconvector AC + încălzire în pardosealărăcire, încălzire, încălzire în pardoseală, dezumidificare, ventilație
6răcire cu ventiloconvector DC + încălzire în pardosealărăcire cu ventiloconvector, încălzire în pardoseală, dezumidificare, ventilație
7răcire și încălzire cu ventiloconvector DC + încălzire în pardosealărăcire, încălzire, încălzire în pardoseală, dezumidificare, ventilație
17ventiloconvector AC cu 4 țevi — vana de răcire pe NO/NC, vana de încălzire pe FLrăcire, încălzire, dezumidificare, ventilație
Schemele electrice LinkedGo ST802 pentru setările H02 0, 1, 2, 3/4, 6/7 și 17 (cablarea ventiloconvectorului și a vanei încălzirii în pardoseală) și rețeaua RS485, cu tabelul funcțiilor H02.

Configurare

Conectarea termostatului la Wi-Fi

Termostatul se adaugă în rețea cu aplicația gratuită Shelly Smart Control (App Store, Google Play sau AppGallery; este necesar un cont Shelly gratuit). Folosiți o rețea Wi-Fi de 2,4 GHz și activați Bluetooth pe telefon înainte de a începe.

  1. Deschideți aplicația Shelly Smart Control și atingeți + în colțul din dreapta jos.
  2. Selectați Add via Bluetooth și atingeți Next; apare lista dispozitivelor compatibile.
  3. Selectați termostatul și atingeți Next.
  4. Introduceți numele și parola rețelei Wi-Fi și atingeți Add device. Adăugarea poate dura câteva minute; la final apare un mesaj de confirmare.
  5. Dați dispozitivului un nume și o imagine, alegeți o cameră și atingeți Save.

Dacă aplicația nu găsește termostatul, țineți apăsat butonul ON/OFF al termostatului timp de 10 secunde și scanați din nou. După conectarea termostatului, pe afișajul lui apare pictograma semnalului Wi-Fi.

Adresă IP fixă

TapHome accesează termostatul prin adresa lui IP. Atribuiți-i o adresă fixă — cea mai simplă metodă este o rezervare DHCP pentru adresa MAC a termostatului în router —, astfel încât adresa să nu se schimbe după repornirea routerului sau a termostatului. Această adresă vă este necesară la importarea șablonului.

Protecția prin parolă dezactivată

Lăsați protecția prin parolă a termostatului dezactivată în aplicația Shelly. TapHome nu acceptă autentificarea HTTP Digest a dispozitivelor Shelly Gen2+; cu o parolă setată, termostatul răspunde cu HTTP 401, iar fiecare dispozitiv TapHome afișează eroarea “Thermostat asks for a password (HTTP 401)”.

Pentru verificare, deschideți http://<thermostat IP>/rpc/Shelly.GetDeviceInfo într-un browser din aceeași rețea. Dacă returnează JSON fără să ceară autentificare, TapHome poate citi termostatul.

Unitatea de temperatură în °C

Păstrați unitatea de temperatură a termostatului setată pe grade Celsius. TapHome citește toate temperaturile în °C; când termostatul este setat pe Fahrenheit, modulul afișează avertismentul “Thermostat uses degrees Fahrenheit”. Setarea curentă este vizibilă la http://<thermostat IP>/rpc/Service.GetConfig?id=0 ("temp_unit": "C").

Parametrii de instalator pe termostat

Setați parametrii de instalator de la tastatura termostatului înainte de a-l conecta la TapHome, deoarece aceștia determină ce moduri și ce valori setate acceptă termostatul:

  • H02 — tipul sistemului și modurile de funcționare oferite de termostat (tabelul de mai sus).
  • H05 — 0 încălzire și răcire, 1 doar răcire, 2 doar încălzire.
  • H23 / H24 — valoarea setată minimă și maximă (implicit 5 °C și 35 °C).
  • A05 / A06 — protecția antiîngheț pornită/oprită și pragul ei de temperatură a camerei (0–21 °C, implicit 5 °C).

Pentru a intra în parametrii de instalator, țineți apăsat butonul Mode timp de 5 secunde; afișajul arată grupurile de parametri (H, P, F …). Selectați grupul și parametrul cu butoanele sus și jos, modificați valoarea și salvați-o. Lista completă a parametrilor se găsește în instrucțiunile tehnice LinkedGo.

Adăugarea termostatului în TapHome

În TapHome, adăugați modulul din acest șablon sub o interfață Packet Parser și introduceți adresa IP a termostatului.

Funcțiile dispozitivului

DispozitivCe face
Thermostattemperatura camerei, temperatura țintă (5–35 °C, pas de 0,5 °C) și umiditatea camerei
Fan speedAuto, Low, Medium, High (automat, viteză mică, medie, mare)
Working modeCool, Heat, Dry, Ventilation, Floor heating (răcire, încălzire, dezumidificare, ventilație, încălzire în pardoseală)
Thermostat on/offpornește sau oprește funcția de reglare a termostatului
Anti-freezeprotecția antiîngheț pornită sau oprită
Target humidityvaloarea setată a umidității pentru modul Dry (40–75 %)

Modurile de funcționare acceptate de termostat depind de H02. O unitate configurată pentru un ventiloconvector AC cu 2 țevi (H02 = 0) oferă Cool, Dry, Heat și Ventilation. Dacă alegeți un mod pe care termostatul nu îl oferă (de exemplu Floor heating fără vană pentru încălzirea în pardoseală), termostatul îl refuză, iar TapHome afișează modul care rămâne activ. Un mod pe care șablonul nu îl cunoaște apare ca eroare pe dispozitivul Working mode.

Informații despre modul și acțiuni de service

Modulul afișează rețeaua Wi-Fi, adresa IP, puterea semnalului, adresa MAC, starea de service, modul termostatului (cool, heat sau auto), unitatea de temperatură și decalajele de calibrare pentru temperatură și umiditate. Avertizează când este disponibilă o actualizare de firmware, când este necesară o repornire, când termostatul raportează o eroare de service și când este setat pe grade Fahrenheit. Acțiuni de service: actualizare de firmware și repornire.

Ieșirea de releu comutată în acel moment (viteza ventilatorului, vana ventiloconvectorului, vana încălzirii în pardoseală) nu este disponibilă în API-ul Shelly, așa că TapHome nu o poate afișa.

Comportament util de știut

  • După o repornire a TapHome Core, fiecare dispozitiv își citește valoarea din termostat, astfel încât o modificare făcută de la tastatura termostatului cât timp Core era oprit se păstrează și nu este niciodată suprascrisă.
  • O valoare din afara domeniului termostatului (de exemplu umiditate țintă 80 % sau o valoare setată în afara H23–H24) este refuzată de termostat; TapHome afișează apoi valoarea care rămâne setată.
  • Valorile sunt interogate la fiecare 5–15 secunde; o modificare de la tastatură apare în TapHome în acest interval.

Rezolvarea problemelor

Toate dispozitivele afișează “HTTP 401”

Protecția prin parolă este activată în termostat. Dezactivați-o în aplicația Shelly, apoi verificați http://<thermostat IP>/rpc/Shelly.GetDeviceInfo într-un browser — trebuie să răspundă fără cerere de autentificare.

Dispozitivele afișează “Thermostat answered HTTP …” sau nu au valori

  1. Verificați dacă termostatul afișează pictograma Wi-Fi și dacă adresa lui IP nu s-a schimbat (adresă fixă sau rezervare DHCP).
  2. Deschideți http://<thermostat IP>/rpc/Shelly.GetDeviceInfo de pe un dispozitiv din aceeași rețea cu TapHome Core — dacă returnează JSON, termostatul este accesibil.
  3. Asigurați-vă că TapHome Core și termostatul sunt în aceeași rețea sau că rutarea între ele este permisă.

Temperaturile par greșite

  • Verificați unitatea de temperatură — modulul avertizează când termostatul este setat pe Fahrenheit.
  • Verificați decalajele de calibrare pentru temperatură și umiditate afișate pe modul.

Working mode sau Fan speed afișează o eroare

Termostatul a raportat o valoare pe care șablonul nu o cunoaște. API-ul Shelly listează vitezele ventilatorului auto, low, medium și high; instrucțiunile tehnice LinkedGo indică cinci viteze pentru un ventiloconvector DC. Verificați setarea H02 și valoarea de pe afișajul termostatului.

Afișajul arată E03

E03 este codul de alarmă LinkedGo pentru defectarea senzorului de cameră. Erorile pe care termostatul le raportează prin API-ul Shelly apar pe modul ca avertismentul “Thermostat reports: …”.

Dispozitive disponibile 6

Aceste dispozitive apar în TapHome după import.

LinkedGo ST802-B Modul
Atribute de service
Wi-Fi
${ipAddress}
${xml_signal_strength} [dB]
MAC
Service state
Thermostat mode
Temperature unit
Temperature offset
Humidity offset [%]
Acțiuni de service
${xml_update_fw}
Reboot
Variabile personalizate
SysStatus (string)
WiFiStatus (string)
ServiceConfig (string)
ServiceStatus (string)

LinkedGo ST802-B

Citire (modul)
VAR r := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF r.IsSuccess
    SysStatus := r.Content;
ELSE
    IF r.StatusCode = 401
        ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
    ELSE
        ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
    END
    RETURN(0);
END
r := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF r.IsSuccess
    WiFiStatus := r.Content;
END
r := SENDHTTPREQUEST("/rpc/Service.GetConfig?id=0");
IF r.IsSuccess
    ServiceConfig := r.Content;
END
r := SENDHTTPREQUEST("/rpc/Service.GetStatus?id=0");
IF r.IsSuccess
    ServiceStatus := r.Content;
END
IF PARSEJSON(ServiceConfig, "$.temp_unit", true) = "F"
    ADDWARNING(4, "Thermostat uses degrees Fahrenheit. Set the temperature unit to Celsius in the Shelly app, TapHome reads the values as degrees Celsius.");
END
VAR errors := PARSEJSON(ServiceStatus, "$.errors", true);
IF ! ISNULL(errors)
    ADDWARNING(5, "Thermostat reports: " + TOSTRING(errors));
END
IF ! ISNULL(PARSEJSON(SysStatus, "available_updates.stable", true))
    ADDWARNING(2, "New firmware update is available");
END
IF PARSEJSON(SysStatus, "restart_required", true)
    ADDWARNING(3, "Restart required");
END
Atribute de service
Wi-Fi
PARSEJSON(WiFiStatus, "ssid", true)
${ipAddress}
PARSEJSON(WiFiStatus, "sta_ip", true)
${xml_signal_strength} [dB]
PARSEJSON(WiFiStatus, "rssi", true)
MAC
PARSEJSON(SysStatus, "mac", true)
Service state
PARSEJSON(ServiceStatus, "state", true)
Thermostat mode
PARSEJSON(ServiceConfig, "thermostat_mode", true)
Temperature unit
PARSEJSON(ServiceConfig, "temp_unit", true)
Temperature offset
PARSEJSON(ServiceConfig, "temp_offset", true)
Humidity offset [%]
PARSEJSON(ServiceConfig, "humidity_offset", true)
Acțiuni de service
${xml_update_fw}
VAR r := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF r.IsSuccess
    RETURN("OK");
ELSE
    RETURN("Error " + TOSTRING(r.StatusCode));
END
Reboot
VAR r := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF r.IsSuccess
    RETURN("OK");
ELSE
    RETURN("Error " + TOSTRING(r.StatusCode));
END
Thermostat Termostat

Thermostat

Citirea temperaturii
VAR r := SENDHTTPREQUEST("/rpc/Number.GetStatus?owner=\"service:0\"&role=\"current_temperature\"");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.value"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Citirea umidității
VAR r := SENDHTTPREQUEST("/rpc/Number.GetStatus?owner=\"service:0\"&role=\"current_humidity\"");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.value"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Citirea temperaturii dorite
VAR r := SENDHTTPREQUEST("/rpc/Number.GetStatus?owner=\"service:0\"&role=\"target_temperature\"");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.value"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Scrierea temperaturii dorite
SENDHTTPREQUEST("/rpc/Number.Set?owner=\"service:0\"&role=\"target_temperature\"&value=" + TOSTRING(Se, "F1"));
Fan speed Comutator cu mai multe valori
Valori / Stări: Auto · Low · Medium · High

Fan speed

Citirea stării comutatorului
VAR r := SENDHTTPREQUEST("/rpc/Enum.GetStatus?owner=\"service:0\"&role=\"fan_speed\"");
IF r.IsSuccess = false
    IF r.StatusCode = 401
        ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
    ELSE
        ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
    END
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "$.value", true);
IF v = "auto"
    RETURN(0);
ELSEIF v = "low"
    RETURN(1);
ELSEIF v = "medium"
    RETURN(2);
ELSEIF v = "high"
    RETURN(3);
END
ADDERROR(2, "Unknown fan speed: " + TOSTRING(v));
RETURN(NaN);
Scrierea stării comutatorului
VAR val := "high";
IF Mu = 0
    val := "auto";
ELSEIF Mu = 1
    val := "low";
ELSEIF Mu = 2
    val := "medium";
END
SENDHTTPREQUEST("/rpc/Enum.Set?owner=\"service:0\"&role=\"fan_speed\"&value=\"" + val + "\"");
Working mode Comutator cu mai multe valori
Valori / Stări: Cool · Heat · Dry · Ventilation · Floor Heating

Working mode

Citirea stării comutatorului
VAR r := SENDHTTPREQUEST("/rpc/Enum.GetStatus?owner=\"service:0\"&role=\"working_mode\"");
IF r.IsSuccess = false
    IF r.StatusCode = 401
        ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
    ELSE
        ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
    END
    RETURN(NaN);
END
VAR v := PARSEJSON(r.Content, "$.value", true);
IF v = "cool"
    RETURN(0);
ELSEIF v = "heat"
    RETURN(1);
ELSEIF v = "dry"
    RETURN(2);
ELSEIF v = "ventilation"
    RETURN(3);
ELSEIF v = "floor_heating"
    RETURN(4);
END
ADDERROR(2, "Unknown working mode: " + TOSTRING(v));
RETURN(NaN);
Scrierea stării comutatorului
VAR val := "floor_heating";
IF Mu = 0
    val := "cool";
ELSEIF Mu = 1
    val := "heat";
ELSEIF Mu = 2
    val := "dry";
ELSEIF Mu = 3
    val := "ventilation";
END
SENDHTTPREQUEST("/rpc/Enum.Set?owner=\"service:0\"&role=\"working_mode\"&value=\"" + val + "\"");
Thermostat on/off Comutator
Valori / Stări: ON · OFF

Thermostat on/off

Citirea stării comutatorului
VAR r := SENDHTTPREQUEST("/rpc/Boolean.GetStatus?owner=\"service:0\"&role=\"enable\"");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.value"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Scrierea stării comutatorului
SENDHTTPREQUEST("/rpc/Boolean.Set?owner=\"service:0\"&role=\"enable\"&value=" + IF(St, "true", "false"));
Anti-freeze Comutator
Valori / Stări: ON · OFF

Anti-freeze

Citirea stării comutatorului
VAR r := SENDHTTPREQUEST("/rpc/Boolean.GetStatus?owner=\"service:0\"&role=\"anti_freeze\"");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.value"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Scrierea stării comutatorului
SENDHTTPREQUEST("/rpc/Boolean.Set?owner=\"service:0\"&role=\"anti_freeze\"&value=" + IF(St, "true", "false"));
Target humidity Variabilă

Target humidity

Citire
VAR r := SENDHTTPREQUEST("/rpc/Number.GetStatus?owner=\"service:0\"&role=\"target_humidity\"");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.value"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Thermostat asks for a password (HTTP 401). Turn off password protection in the Shelly app, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Thermostat answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Scriere
SENDHTTPREQUEST("/rpc/Number.Set?owner=\"service:0\"&role=\"target_humidity\"&value=" + TOSTRING(Va, "F0"));
Conexiune: Packet Parser → HTTP

Parametri de import

Introduceți aceste valori când importați XML-ul.

Solicitat în aplicațieImplicit
Adresă IP192.168.1.100

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.

Șablon · portalul TapHome LinkedGo ST802-B Fan Coil Thermostat (Powered by Shelly) 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. Packet Parser → HTTP Vezi în portalul TapHome