TapHome

Shelly Plug S

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 10. 2026

Ovaj uređaj podržava mDNS

Umjesto IP adrese uređaju možete pristupiti na adresi:

shellyplug-s-{MAC}.local

Zamijenite {MAC} MAC adresom svog uređaja (velika slova, bez dvotočaka).

TapHome podržava mDNS. Naziv računala (hostname) pouzdaniji je od statične IP adrese.

Shelly Plug S

Shelly Plug S je kompaktna pametna Wi-Fi utičnica s ugrađenim mjerenjem snage. Uključuje se izravno u zidnu utičnicu i može uključivati i isključivati trošila do 10 A (2300 W pri 230 V). TapHome s uređajem komunicira preko HTTP-a u lokalnoj mreži, veza s oblakom nije potrebna.

Predložak nudi uključivanje i isključivanje releja, brojilo energije koje očitava trenutačnu potrošnju snage i ukupnu potrošnju energije te praćenje unutarnje temperature.

Konfiguracija

Shelly Plug S komunicira preko HTTP-a na portu 80. Posebno postavljanje protokola nije potrebno: u sustavu TapHome kao krajnju točku veze unesite IP adresu uređaja.

Mogućnosti uređaja

Upravljanje relejem

Predložak prikazuje relej utičnice kao uređaj vrste „Sklopka”. Stanje releja čita se iz /settings/relay/0 (polje ison), a upravlja se preko krajnje točke /relay/0 s turn=on ili turn=off. Interval očitavanja sklopke je 1 sekunda.

Predložak čita stanje sklopke iz /settings/relay/0 (trajna konfiguracija), a ne iz /status (trenutačno stanje). U normalnim uvjetima oba vraćaju istu vrijednost, ali nakon brzog uzastopnog prebacivanja /settings može imati malo zastarjele podatke.

Mjerenje snage

Ugrađeno brojilo energije čita dvije vrijednosti s krajnje točke /meter/0:

  • Trenutačna snaga: polje power u vatima, predložak ga pretvara u kW
  • Ukupna potrošnja: polje total u vat-minutama, predložak ga pretvara u kWh

Brojilo je samo za čitanje i ažurira se svakih 15 sekundi (interval očitavanja može se podesiti).

Praćenje temperature

Uređaj Sklopka ima servisni atribut koji čita unutarnju temperaturu utičnice s krajnje točke /status. Tako se temperatura uređaja može pratiti izravno u sustavu TapHome bez dodatne konfiguracije.

Dodatne mogućnosti

API uređaja Shelly Plug S daje i oznaku pregrijavanja (automatsko isključivanje releja pri ~95 °C), upravljanje LED-om, podesivi prag zaštite od prekoračenja snage (zadano 2300 W), timer za automatsko isključivanje, jačinu Wi-Fi signala (RSSI) i krajnju točku za ponovno pokretanje uređaja. Te se mogućnosti mogu dodati u budućem ažuriranju predloška.

Rješavanje problema

Uređaj ne odgovara
  1. Provjerite je li Shelly spojen na Wi-Fi i ima li valjanu IP adresu
  2. Umjesto IP adrese pokušajte koristiti mDNS naziv hosta (shellyplug-s-AABBCCDDEE.local): IP adresa se možda promijenila nakon obnove DHCP zakupa
  3. U pregledniku otvorite http://{device-ip}/shelly: ako odgovori, uređaj je dostupan
  4. Provjerite jesu li centralna jedinica TapHome (CCU) i Shelly u istoj mreži / VLAN-u
Očitanja snage pokazuju nulu
  1. Provjerite je li trošilo priključeno na Shelly Plug S uključeno
  2. Provjerite je li relej uključen: brojilo mjeri samo kada teče struja
  3. Ručno očitajte /meter/0 i provjerite vraća li polje power vrijednost različitu od nule
Isključivanje zbog pregrijavanja

Shelly Plug S ima unutarnju toplinsku zaštitu. Ako temperatura uređaja prijeđe ~95 °C, relej se automatski isključuje. Osigurajte dovoljnu ventilaciju oko utičnice, osobito kod trošila velike snage.

Uređaji Shelly Gen1 podržavaju samo 2 istodobne HTTP veze. Ako TapHome i drugi sustav (npr. Home Assistant) istodobno očitavaju isti uređaj, komunikacija može postati nepouzdana. Ako uređaj očitava i drugi sustav, produljite intervale očitavanja u predlošku (zadano 1 s za sklopku, 15 s za brojilo) kako biste smanjili sukobe pri istodobnom uspostavljanju veza.

Kako ga instalirati u TapHome

Preduvjeti

  • Uređaj Shelly ugrađen i uključen
  • Lokalna Wi-Fi mreža (2,4 GHz)
  • TapHome CCU u istoj mreži

Korak 1 — Spojite Shelly na Wi-Fi

Opcija A — aplikacija Shelly (preporučeno):

  1. Preuzmite aplikaciju Shelly (iOS / Android)
  2. Dodirnite + → Add Device i slijedite čarobnjak za uparivanje preko Bluetootha
  3. Kada se to zatraži, unesite podatke za prijavu na Wi-Fi

Opcija B — način rada AP (bez aplikacije):

  1. Pri prvom uključivanju uređaj stvara pristupnu točku: ShellyXXX-AABBCCDDEE
  2. Spojite telefon ili računalo na tu pristupnu točku
  3. Otvorite http://192.168.33.1 → Internet & Security → Wi-Fi Mode - Client
  4. Unesite SSID i lozinku → Save

Shelly podržava samo mreže od 2,4 GHz. Mreže od 5 GHz neće se prikazati pri skeniranju.

Korak 2 — Pronađite adresu uređaja

Uređaji Shelly Gen1 podržavaju mDNS (Zeroconf). Uređaju možete pristupiti preko naziva hosta umjesto IP adrese:

1
shelly<model>-<MAC>.local

Na primjer: shelly1pm-AABBCCDDEE.local (MAC adresa velikim slovima u heksadecimalnom zapisu, bez dvotočaka).

Preporučeno: koristite IP skener TapHome. Otvorite aplikaciju TapHome i pokrenite IP skener (Postavke → Mreža → Skeniranje). Skener pronalazi uređaje u vašoj mreži i prikazuje IP adresu i mDNS naziv hosta. Za pouzdaniju vezu koristite naziv hosta umjesto IP adrese, jer ostaje isti i kada se IP adresa uređaja promijeni nakon ponovnog pokretanja usmjerivača.

Drugi načini za pronalaženje IP adrese:

  • Aplikacija Shelly: detalji uređaja → Device info → IP adresa
  • Web-sučelje Shelly: spojite se na AP uređaja prije postavljanja Wi-Fi mreže — IP adresa prikazuje se nakon spremanja
  • DHCP tablica usmjerivača: potražite naziv hosta poput shelly1pm-AABBCCDDEE

Korak 3 — Konfiguracija u sustavu TapHome

  1. U sustavu TapHome dodajte novi modul Packet Parser (HTTP)
  2. Adresa: unesite mDNS naziv hosta (npr. shelly1pm-AABBCCDDEE.local) ili IP adresu iz koraka 2
  3. Port: 80 (zadano, nije potrebno mijenjati)
  4. Uvezite predložak — TapHome će čitati /status kako bi očitao stanje uređaja

HTTP autentifikacija na uređajima Shelly zadano je isključena. Ako ste uključili zaštitu prijavom, TapHome trenutačno ne podržava HTTP Basic Auth — za integraciju sa sustavom TapHome ostavite autentifikaciju isključenom.

Dostupni uređaji

Shelly Plug S Modul
Prilagođene varijable
Brojilo energije Brojilo električne energije Samo za čitanje

Mjerenje potrošnje snage i energije — trenutačna snaga (kW) i ukupna energija (kWh)

numeric Jedinica: kW / kWh

Brojilo energije

Čitanje ukupne potrošnje
# Simple HTTP Request:
VAR response := SENDHTTPREQUEST("/meter/0");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 return(PARSEJSON(content,"total")/60000);
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Čitanje zahtjeva
VAR response := SENDHTTPREQUEST("/meter/0");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "power")/1000);
END;


# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/getValue");
# IF response.IsSuccess
#  VAR content := response.Content;
#  VAR responseHeaders := response.Headers;
#  RETURN(PARSEXML(content, "//element1/value1"));
# ELSE
#  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
#  RETURN(NaN);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Sklopka Sklopka
boolean
Vrijednosti / stanja: ON · OFF

Sklopka

Čitanje stanja sklopke
VAR response := SENDHTTPREQUEST("/settings/relay/0");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 return(PARSEJSON(content,"ison"));
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/getValue", "GET", "some data", "header1:value1", "header2:value2", ...);
# OR
# VAR request := HTTPREQUEST("/example/getValue", "POST", "some data");
# request.headers := { "header1:value1", "header2:value2", ...};
# request.method := "GET";
# request.data := null;
# VAR response := SENDHTTPREQUEST(request);
#
#
# Send TCP, UDP data:
# VAR data1 := BYTECOLLECTION("0a bb ea df 01");
# SENDDATA(data1);
# VAR data2 := "{\"name\":\"John\", \"age\":32}";
# SENDDATA(data2);
# VAR data3 := TOBYTES("{\"name\":\"John\", \"age\":32}", "iso-8859-1");
# SENDDATA(data3);
# Process received TCP or UDP data and set device values in the Listener script
#
#
# Download data from FTP:
# FTPDOWNLOAD("filePath");
Zapis stanja sklopke
# Simple HTTP Request:
#VAR response := SENDHTTPREQUEST("/relay/0?turn=toggle");
VAR response := SENDHTTPREQUEST("/relay/0?turn="+ if(St = 1, "on","off"));
IF response.IsSuccess = false
 ADDERROR(response.StatusCode);
END
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + St, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + St + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + St + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + St, "write"); # use "append" mode to append data to existing file
Servisni atributi
Temperature
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "temperature"));
END;
Povezivanje: Packet Parser → HTTP • Naziv računala (hostname): shellyplug-s-{MAC}.local
Moguća poboljšanja (7)
  • Live relay state — Template reads from /settings/relay/0 instead of /status — /status has real-time state
  • Overtemperature flag — Boolean flag in /status, triggers automatic relay shutdown at ~95°C
  • LED control — Enable/disable status LED via settings endpoint
  • Overpower protection threshold — Configurable maximum power limit (default 2300W), could be a service action
  • Auto-off timer — Auto-off timer in seconds, could be added as switch parameter
  • WiFi signal strength — WiFi RSSI in dBm, available in /status response
  • Reboot — Device reboot endpoint, could be added as service action

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu