TapHome

Shelly Plug S

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 06. 2026
Shelly Plug S

Shelly Plug S je kompaktná Wi-Fi smart zástrčka so zabudovaným meraním výkonu. Zasúva sa priamo do zásuvky a zvláda záťaž až 10 A (2300 W pri 230 V). TapHome komunikuje so zariadením cez HTTP v lokálnej sieti — cloudové pripojenie nie je potrebné.

Šablóna poskytuje ovládanie relé (zapnúť/vypnúť), merač energie s okamžitou spotrebou a kumulatívnym odberom, a monitorovanie vnútornej teploty.

Funkcie zariadenia

Ovládanie relé

Šablóna sprístupňuje relé zástrčky ako spínač. Stav relé sa číta z /settings/relay/0 (pole ison) a ovláda sa cez endpoint /relay/0 s parametrom turn=on alebo turn=off. Interval polling pre spínač je 1 sekunda.

Šablóna číta stav spínača z /settings/relay/0 (trvalá konfigurácia), nie z /status (aktuálny stav). Za normálnych podmienok oba vrátia rovnakú hodnotu, no /settings môže mať mierne oneskorené dáta po rýchlom prepínaní.

Meranie výkonu

Zabudovaný merač energie číta dve hodnoty z endpointu /meter/0:

  • Okamžitý výkon — pole power v jednotkách watt, šablóna konvertuje na kW
  • Celková spotreba — pole total vo watt-minútach, šablóna konvertuje na kWh

Merač je len na čítanie a aktualizuje sa každých 15 sekúnd (konfigurovateľný interval polling).

Monitorovanie teploty

Zariadenie spínač obsahuje servisný atribút, ktorý číta vnútornú teplotu zástrčky z endpointu /status. Umožňuje sledovať teplotu zariadenia priamo v TapHome bez dodatočnej konfigurácie.

Neimplementované funkcie

Shelly Plug S API ponúka ďalšie funkcie, ktoré aktuálna šablóna neobsahuje:

  • Príznak prehriatia — automatické vypnutie relé pri ~95 °C (overtemperature v /status)
  • Ovládanie LED — zapnutie/vypnutie stavovej LED cez /settings
  • Prah ochrany pred preťažením — konfigurovateľný limit maximálneho výkonu (predvolene 2300 W)
  • Časovač automatického vypnutia — automatické vypnutie relé po nastavenom čase
  • Sila Wi-Fi signálu — hodnota RSSI v dBm z /status
  • Reštart — reštart zariadenia cez endpoint /reboot

Tieto funkcie možno pridať v budúcej aktualizácii šablóny ako servisné atribúty alebo servisné akcie.

Riešenie problémov

Zariadenie neodpovedá
  1. Overte, že Shelly je pripojený k Wi-Fi a má platnú IP adresu
  2. Otvorte http://{device-ip}/shelly v prehliadači — ak odpovie, zariadenie je dostupné
  3. Skontrolujte, že TapHome CCU a Shelly sú v rovnakej sieti / VLAN
Meranie výkonu zobrazuje nulu
  1. Potvrďte, že spotrebič zapojený do Shelly Plug S je zapnutý
  2. Skontrolujte, či je relé zopnuté — merač číta len pri prietoku prúdu
  3. Ručne dotazujte /meter/0 a overte, že pole power vracia nenulovú hodnotu
Vypnutie pri prehriatí

Shelly Plug S má internú tepelnú ochranu. Ak teplota zariadenia presiahne ~95 °C, relé sa automaticky vypne. Zabezpečte dostatočnú ventiláciu okolo zástrčky, najmä pri spínaní spotrebičov s vysokým príkonom.

Zariadenia Shelly Gen1 podporujú len 2 súbežné HTTP pripojenia. Ak TapHome a iný systém (napr. Home Assistant) dotazujú rovnaké zariadenie súčasne, komunikácia môže byť nespoľahlivá. Používajte interval polling 10–30 sekúnd, aby ste znížili konkurenciu pripojení.

Ako nainštalovať v TapHome

Predpoklady

  • Zariadenie Shelly nainštalované a zapnuté
  • Lokálna Wi-Fi sieť (2,4 GHz)
  • TapHome CCU v rovnakej sieti

Krok 1 — Pripojte Shelly k Wi-Fi

Možnosť A — Aplikácia Shelly (odporúčané):

  1. Stiahnite si aplikáciu Shelly (iOS / Android)
  2. Klepnite na +Add Device a postupujte podľa sprievodcu Bluetooth párovaním
  3. Po výzve zadajte svoje Wi-Fi prihlasovacie údaje

Možnosť B — AP režim (bez aplikácie):

  1. Pri prvom zapnutí zariadenie vytvorí hotspot: ShellyXXX-AABBCCDDEE
  2. Pripojte telefón/PC k tomuto hotspotu
  3. Otvorte http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Zadajte SSID a heslo → Save

Shelly podporuje iba 2,4 GHz siete. 5 GHz siete sa pri skenovaní nezobrazia.

Krok 2 — Zistite IP adresu

Po pripojení k Wi-Fi zistite priradenú IP adresu jedným z nasledujúcich spôsobov:

  • Aplikácia Shelly: Detail zariadenia → Device info → IP adresa
  • Webové rozhranie Shelly: Pripojte sa k AP zariadenia pred nastavením Wi-Fi — IP sa zobrazí po uložení
  • DHCP tabuľka routera: Hľadajte hostname ako shelly1pm-AABBCCDDEE
  • mDNS: Pingnite shelly<model>-<mac>.local (napr. shelly1pm-AABBCCDDEE.local) z rovnakej siete

Priraďte zariadeniu Shelly statickú IP (DHCP rezerváciu) vo vašom routeri, aby sa adresa nezmenila po reštarte routera.

Krok 3 — Konfigurácia v TapHome

  1. V TapHome pridajte nový modul Packet Parser (HTTP)
  2. IP Address: zadajte IP z kroku 2 (napr. 192.168.1.50)
  3. Port: 80 (predvolený, nie je potrebné meniť)
  4. Importujte šablónu — TapHome bude pravidelne čítať /status pre zistenie stavu zariadenia

HTTP autentifikácia je na zariadeniach Shelly štandardne vypnutá. Ak ste povolili ochranu prihlásením, TapHome momentálne nepodporuje HTTP Basic Auth — pre integráciu s TapHome ponechajte autentifikáciu vypnutú.

Dostupné zariadenia

Shelly Plug S Modul
Vlastné premenné
Elektromer Elektromer Len na čítanie

Meranie spotreby energie — okamžitý výkon (kW) a celková spotreba (kWh)

numeric Jednotka: kW / kWh

Elektromer

Čítanie celkovej spotreby
# 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");
Čítanie odberu
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");
Spínač Prepínač
boolean
Hodnoty / Stavy: ON · OFF

Spínač

Čítanie stavu prepínača
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");
Zápis stavu prepínača
# 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
Servisné atribúty
Temperature
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
 VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "temperature"));
END;
Pripojenie: Packet Parser → HTTP
Možné vylepšenia (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

Zdroje

Našli ste problém s touto šablónou zariadenia?

Napíšte nám, čo nefunguje, čo chýba, alebo ako by sa mala šablóna správať. Vaša spätná väzba nám pomáha udržiavať katalóg presný.

Overené TapHomom

Chcete to použiť vo svojom TapHome jadre?

Otvorte túto šablónu v Customer Portali a aplikujte ju na svoj domov, alebo navrhnite zmenu a odošlite ju späť do katalógu.

Otvoriť v portáli