TapHome

Shelly Plus Plug S

Packet Parser → HTTP
Přidal
Poslední aktualizace: 06. 2026
Shelly Plus Plug S

Shelly Plus Plug S je Gen2+ Wi-Fi chytrá zásuvka s vestavěným měřením spotřeby a vícebarevným LED prstencem. Zapojuje se do běžné zásuvky CEE 7/3 (Type-F / Schuko) a dokáže spínat zátěž do 12 A / 2760 W při 230 V. TapHome komunikuje se zařízením lokálně přes Wi-Fi pomocí Gen2+ JSON-RPC API na portu 80 — připojení do cloudu není potřeba.

Šablona vystavuje zásuvku jako šest TapHome zařízení: reléový spínač, elektroměr, volič režimu LED indikace, dva voliče barvy LED (pro stav relé ZAP a VYP) a stmívač jasu pro režim indikace výkonu.

Konfigurace

Párování a síťové nastavení

Po vybalení se zařízení spustí v režimu přístupového bodu se SSID ShellyPlusPlugS-XXXXXX (LED bliká modře). Připojte se k tomuto SSID, otevřete http://192.168.33.1/ a ve webovém rozhraní vyberte vaši domácí Wi-Fi síť. Po připojení do LAN je zásuvka dostupná na portu 80 na své staniční IP adrese a přes mDNS jako shellyplusplugs-<MAC>.local.

TapHome dotazuje Gen2+ RPC koncové body přes nešifrované HTTP — HTTPS je ve výchozím stavu vypnuté a HTTP autentizace (Shelly.SetAuth) musí zůstat vypnutá, jinak šablona nebude fungovat. Ujistěte se, že zásuvka je ve stejné LAN / VLAN jako TapHome Core.

Při importu šablony v TapHome zadejte IP adresu zásuvky jako parametr IpAddress. Důrazně doporučujeme nastavit statickou DHCP rezervaci, aby se adresa neměnila po restartech.

Možnosti zařízení

Ovládání relé

Relé je vystaveno jako spínací zařízení. Jeho stav se čte z /rpc/Switch.GetStatus?id=0 (boolean output) a ovládá přes /rpc/Switch.Set?id=0&on=true|false. Modul cachuje celou odpověď Switch.GetStatus, takže relé, měřič i servisní atributy sdílejí jedno HTTP volání na jedno dotazování.

Měření výkonu a energie

Vestavěný měřič v komponentě Switch poskytuje:

  • Okamžitý výkonapower ve wattech, šablona jej přepočítá na kW (dělí tisícem)
  • Kumulativní energieaenergy.total ve watthodinách, přepočítaná na kWh (dělí tisícem)

Další tři údaje jsou vystaveny jako servisní atributy na měřiči:

AtributJednotkaZdrojové pole
ProudAcurrent
NapětíVvoltage
Vnitřní teplota°Ctemperature.tC

Měřič je pouze ke čtení a aktualizuje se při každém dotazování.

Režim LED indikace

Vícebarevný LED prstenec je řízen RPC komponentou PLUGS_UI, která je specifická pro Plus Plug S. TapHome vystavuje volič režimu se třemi platnými možnostmi — přestože má šablona v enum-u deset slotů, pouze první tři odpovídají skutečným režimům firmwaru:

HodnotaChování
offLED prstenec je vypnutý (diagnostické stavy Wi-Fi / AP / firmwaru se stále zobrazují)
switchBarva LED odráží stav relé — používá uživatelem definované barvy pro VYP a ZAP
powerBarva LED odráží naměřenou zátěž jako zlomek nastaveného výkonového limitu (gradient zelená → žlutá → červená)

Přepínání mezi režimy je kosmetická změna a nevyžaduje restart.

Barvy LED (režim switch)

Dvě nezávislá HSB zařízení umožňují vybrat barvu LED prstence pro každý stav relé:

  • Barva LED (stav VYP) — barva a jas při vypnutém relé
  • Barva LED (stav ZAP) — barva a jas při zapnutém relé

Obě se mapují na leds.colors.switch:0.{off|on}.{rgb,brightness} v konfiguraci PLUGS_UI. Shelly ukládá RGB hodnoty v procentech (0–100 na kanál), ne 0–255, takže šablona násobí každý kanál hodnotou 2,55 při konverzi mezi HSV a nativním formátem zařízení. Konverze je interní — v TapHome se tato zařízení chovají jako libovolný jiný HSB výběr barvy.

Jas LED (režim power)

Když je LED v režimu power, barva se volí automaticky firmwarem podle zátěže. Uživatelsky konfigurovatelný je pouze jas, takže šablona jej vystavuje jako stmívač (leds.colors.power.brightness, 0–100 % škálované na TapHome stmívač 0,0–1,0).

Diagnostika a akce modulu

HTTP modul vystavuje čtyři servisní atributy parsované z /rpc/WiFi.GetStatus a /rpc/Sys.GetStatus:

AtributZdroj
Wi-Fi SSIDssid
IP adresasta_ip
Síla signálurssi (dBm)
MAC adresamac

Dostupné jsou také dvě servisní akce:

  • Aktualizace firmwaru — spustí OTA aktualizaci ze stabilního kanálu (/rpc/Shelly.Update?stage="stable"). Aktivuje se automaticky, když Sys.GetStatus hlásí available_updates.stable.
  • Restart — restartuje zařízení (/rpc/Shelly.Reboot), užitečné po změnách síťové konfigurace nebo k odstranění přechodných problémů.

Pokud potřebujete jen spínání zap/vyp a základní měření spotřeby, LED zařízení ignorujte — jsou volitelná. Relé a měřič fungují nezávisle na režimu LED indikace.

Řešení problémů

Zařízení nereaguje
  1. Ověřte, že je zásuvka připojena k Wi-Fi — LED by neměla blikat ani svítit červeně
  2. Zkuste mDNS hostname shellyplusplugs-<MAC>.local místo IP adresy — DHCP zápůjčka se mohla změnit
  3. Otevřete http://{ip-zarizeni}/rpc/Shelly.GetDeviceInfo v prohlížeči; pokud odpoví JSON-em, zařízení je dostupné
  4. Zkontrolujte, že TapHome Core a zásuvka jsou ve stejné LAN / VLAN
  5. Ujistěte se, že HTTP autentizace je v Shelly webovém rozhraní vypnutá — šablona nepodporuje digest autentizaci
Měřič výkonu ukazuje nulu
  1. Ověřte, že je v Shelly skutečně zapojena zátěž a není obcházena
  2. Zkontrolujte, že relé je zapnuté — měřič hlásí 0 W, když je relé rozepnuté
  3. Dotažte se přímo /rpc/Switch.GetStatus?id=0 v prohlížeči a ověřte, že apower je nenulové
LED se po změně režimu nemění
  1. LED odráží provozní stav pouze v režimech switch a power; v režimu off zůstává tmavá kromě diagnostických vzorů systému (režim AP, obnovování připojení, OTA)
  2. V režimu switch se ujistěte, že barvy ZAP i VYP nejsou obě nastaveny na černou / 0 % jas
  3. Systémové indikace (modré blikání při AP režimu, červené při problémech s Wi-Fi) vždy přepíší uživatelskou konfiguraci LED — pokud LED bliká červeně, zásuvka není ve vaší Wi-Fi síti
Akce aktualizace firmwaru se nespouští
  1. Šablona spouští aktualizaci pouze když Sys.GetStatus hlásí available_updates.stable — akci spusťte ručně z karty zařízení nebo webového rozhraní, pokud je zásuvka již aktuální
  2. Šablona cílí pouze na stabilní kanál; beta firmware musí být nainstalován ze Shelly webového rozhraní

Jak nainstalovat v TapHome

Předpoklady

  • Zařízení Shelly nainstalované a zapnuté
  • Lokální Wi-Fi síť (2,4 GHz)
  • TapHome CCU ve stejné síti

Krok 1 — Připojte Shelly k Wi-Fi

Možnost A — Aplikace Shelly (doporučeno):

  1. Stáhněte si aplikaci Shelly (iOS / Android)
  2. Klepněte na +Add Device a postupujte podle průvodce Bluetooth párováním
  3. Po výzvě zadejte své Wi-Fi přihlašovací údaje

Možnost B — AP režim (bez aplikace):

  1. Při prvním zapnutí zařízení vytvoří hotspot: ShellyXXX-AABBCCDDEE
  2. Připojte telefon/PC k tomuto hotspotu
  3. Otevřete http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Zadejte SSID a heslo → Save

Shelly podporuje pouze 2,4 GHz sítě. 5 GHz sítě se při skenování nezobrazí.

Krok 2 — Zjistěte IP adresu

Po připojení k Wi-Fi zjistěte přiřazenou IP adresu jedním z následujících způsobů:

  • Aplikace Shelly: Detail zařízení → Device info → IP adresa
  • Webové rozhraní Shelly: Připojte se k AP zařízení před nastavením Wi-Fi — IP se zobrazí po uložení
  • DHCP tabulka routeru: Hledejte hostname jako shelly1pm-AABBCCDDEE
  • mDNS: Pingněte shelly<model>-<mac>.local (např. shelly1pm-AABBCCDDEE.local) ze stejné sítě

Přiřaďte zařízení Shelly statickou IP (DHCP rezervaci) ve vašem routeru, aby se adresa nezměnila po restartu routeru.

Krok 3 — Konfigurace v TapHome

  1. V TapHome přidejte nový modul Packet Parser (HTTP)
  2. IP Address: zadejte IP z kroku 2 (např. 192.168.1.50)
  3. Port: 80 (výchozí, není potřeba měnit)
  4. Importujte šablonu — TapHome bude pravidelně číst /status pro zjištění stavu zařízení

HTTP autentifikace je na zařízeních Shelly standardně vypnutá. Pokud jste povolili ochranu přihlášením, TapHome momentálně nepodporuje HTTP Basic Auth — pro integraci s TapHome ponechte autentifikaci vypnutou.

Dostupná zařízení

Shelly Plus Plug S Modul
Servisní atributy
Wi-Fi SSID
IP adresa
Síla signáluSíla Wi-Fi signálu v dBm — hodnoty blíže k 0 znamenají silnější připojení (např. −55 dBm je dobré, −80 dBm je slabé)
MAC adresa
Servisní akce
Aktualizace firmwaruSpustí OTA aktualizaci firmwaru ze stabilního kanálu Shelly
RestartRestartuje zařízení — užitečné po změnách síťové konfigurace nebo k odstranění přechodných problémů
Vlastní proměnné

Shelly Plus Plug S

Čtení (modul)
VAR response := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF response.IsSuccess
    Sys.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Sys.GetConfig");
IF response.IsSuccess
    Sys.GetConfig := response.Content;
END

response := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF response.IsSuccess
    WiFi.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END

if ! ISNULL(parsejson(Sys.GetStatus, "available_updates.stable", true))
    addwarning("New firmware update is available");
end

if parsejson(Sys.GetStatus, "restart_required", true)
    addwarning("Restart required");
end
Servisní atributy
Wifi
PARSEJSON(WiFi.GetStatus, "ssid")
${ipAddress}
PARSEJSON(WiFi.GetStatus, "sta_ip")
${xml_signal_strength} [dB]
PARSEJSON(WiFi.GetStatus, "rssi")
MAC
PARSEJSON(Sys.GetStatus, "mac")
Servisní akce
${xml_update_fw}
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

Reboot
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Spínač Přepínač
boolean
Hodnoty / Stavy: ON · OFF

Spínač

Čtení stavu přepínače
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
var status := x.Content;
return(PARSEJSON(status, "$.output", true));
Zápis stavu přepínače
VAR response := SENDHTTPREQUEST("rpc/Switch.Set?id=0&on=" + if(St,"true","false"));
IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
END
Elektroměr Elektroměr Pouze ke čtení

Okamžitý výkon (kW) a kumulativní energie (kWh) měřené vestavěným měřičem, s diagnostikou proudu, napětí a vnitřní teploty

numeric Jednotka: kW / kWh
Servisní atributy
Proud
Napětí
TeplotaVnitřní teplota zařízení ve °C — zásuvka se při přehřátí automaticky vypne

Elektroměr

Čtení celkové spotřeby
return(parsejson(parsejson(Switch.GetStatus,"aenergy"), "total")/1000);
Čtení odběru
return(parsejson(Switch.GetStatus,"apower")/1000);
Čtení (modul)
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=0");
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
Servisní atributy
${electric_current} [A]
return(parsejson(Switch.GetStatus,"current"));
${electric_voltage} [V]
return(parsejson(Switch.GetStatus,"voltage"));
${temperature} [°C]
return(parsejson(parsejson(Switch.GetStatus,"temperature"), "tC"));
Režim LED indikace Vícestavový přepínač

Chování LED prstence — Off (vypnutý), Switch (barva odráží stav relé) nebo Power (barva odráží zátěž zelená → žlutá → červená)

string enum
Hodnoty / Stavy: ${xml_off} · ${switch} · ${xml_power}

Režim LED indikace

Čtení stavu přepínače
switch(parsejson(PLUGS_UI.GetConfig, "leds.mode"), "power", 2, "switch", 1, 0)
Zápis stavu přepínače
VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"mode\":\"" + switch(Mu, 2, "power", 1, "switch", "off") + "\"}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Barva LED (stav VYP) HSB světlo

RGB barva a jas LED prstence při vypnutém relé (používá se v režimu Switch)

HSB (hue, saturation, brightness) hsv-to-rgb

Barva LED (stav VYP)

Čtení jasu
parsejson(PLUGS_UI.GetConfig, basePath + ".brightness") / 100
Zápis jasu
VAR rgb := HSVTORGB( Hd, Sa, Hb);

VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"switch:0\":{\"off\":{\"brightness\":" + Hb*100 + "}}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Čtení odstínu
VAR HSVColor := RGBTOHSV(parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[0]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[1]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[2]") *2.55);

HSVColor.Hue
Zápis odstínu
VAR rgb := HSVTORGB( Hd, Sa, Hb);

VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"switch:0\":{\"off\":{\"rgb\":[" + rgb.red/2.55 + "," + rgb.green/2.55 + "," + rgb.blue/2.55 + "],\"brightness\":" + Hb*100 + "}}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Čtení saturace
VAR HSVColor := RGBTOHSV(parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[0]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[1]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[2]") *2.55);

HSVColor.Saturation
Zápis saturace
VAR rgb := HSVTORGB( Hd, Sa, Hb);

VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"switch:0\":{\"off\":{\"rgb\":[" + rgb.red/2.55 + "," + rgb.green/2.55 + "," + rgb.blue/2.55 + "],\"brightness\":" + Hb*100 + "}}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Barva LED (stav ZAP) HSB světlo

RGB barva a jas LED prstence při zapnutém relé (používá se v režimu Switch)

HSB (hue, saturation, brightness) hsv-to-rgb

Barva LED (stav ZAP)

Čtení jasu
parsejson(PLUGS_UI.GetConfig, basePath + ".brightness") / 100
Zápis jasu
VAR rgb := HSVTORGB( Hd, Sa, Hb);

VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"switch:0\":{\"on\":{\"brightness\":" + Hb*100 + "}}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Čtení odstínu
VAR HSVColor := RGBTOHSV(parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[0]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[1]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[2]") *2.55);

HSVColor.Hue
Zápis odstínu
VAR rgb := HSVTORGB( Hd, Sa, Hb);

VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"switch:0\":{\"on\":{\"rgb\":[" + rgb.red/2.55 + "," + rgb.green/2.55 + "," + rgb.blue/2.55 + "],\"brightness\":" + Hb*100 + "}}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Čtení saturace
VAR HSVColor := RGBTOHSV(parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[0]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[1]") *2.55, parsejson(PLUGS_UI.GetConfig, basePath + ".rgb[2]") *2.55);

HSVColor.Saturation
Zápis saturace
VAR rgb := HSVTORGB( Hd, Sa, Hb);

VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"switch:0\":{\"on\":{\"rgb\":[" + rgb.red/2.55 + "," + rgb.green/2.55 + "," + rgb.blue/2.55 + "],\"brightness\":" + Hb*100 + "}}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Jas LED (režim Power) Stmívač

Jas LED prstence v režimu Power — samotnou barvu volí firmware automaticky podle zátěže

numeric

Jas LED (režim Power)

Čtení úrovně
parsejson(PLUGS_UI.GetConfig, "leds.colors.power.brightness") / 100
Zápis úrovně
VAR response := SENDHTTPREQUEST("rpc/PLUGS_UI.SetConfig?config={\"leds\":{\"colors\":{\"power\":{\"brightness\":" + Le*100 + "}}}}");

response := SENDHTTPREQUEST("/rpc/PLUGS_UI.GetConfig");
IF response.IsSuccess
    PLUGS_UI.GetConfig := response.Content;
END
Připojení: Packet Parser → HTTP
Možná vylepšení (23)
  • Power Factor — Power factor (0.0–1.0) reported in Switch.GetStatus response for metered devices
  • Line Frequency — AC line frequency in Hz, available in Switch.GetStatus response
  • Returned Energy — Returned/exported energy in Wh, for bi-directional metering scenarios
  • Per-minute Energy History — Rolling three-minute energy buffer in mWh, useful for fine-grained load profiling
  • Toggle Relay — Toggles the relay state without needing to know current state; not mapped as a TapHome service action
  • Auto-off Timer — Optional toggle_after parameter (seconds) on Switch.Set — relay auto-reverts after N seconds
  • Overpower Protection — Configurable power limit (W); firmware turns the relay off when exceeded. Template does not expose a setter
  • Over-voltage / Over-current Protection — Voltage and current safety thresholds configurable via Switch.SetConfig; not exposed by template
  • Initial State After Power-up — Relay behaviour after power loss (off / on / restore_last / match_input); not exposed by template
  • Reset Energy Counters — Resets aenergy / ret_aenergy counters; not exposed by template
  • Button Input Mode — Physical button behaviour (momentary / detached); device-internal, not exposed as a TapHome input
  • LED Night Mode — Dims the LED ring during a configurable HH:MM window (wraps midnight); not mapped by template
  • Local Scheduler — On-device cron-like scheduler for relay actions; no TapHome equivalent (TapHome uses its own schedules)
  • Webhooks — Outbound HTTP webhooks on device events; not used by template (TapHome polls instead)
  • mJS Scripts — Up to 10 on-device mJS scripts; out of scope for TapHome integration
  • Shelly Cloud Connection — Cloud connection status and enable/disable toggle; not mapped by template (TapHome communicates locally)
  • Bluetooth LE Configuration — BLE gateway enable/disable and observer mode; not exposed by template
  • MQTT Transport Config — Inbound/outbound MQTT RPC transport config; template uses HTTP exclusively
  • System Diagnostics — Uptime, RAM/FS utilisation, last reset reason — available in cached Sys.GetStatus but not surfaced as attributes
  • Device Time — Device wall-clock (HH:MM) and unix epoch; not surfaced as attribute
  • Beta Firmware Availability — Template warns on available_updates.stable but ignores the beta channel
  • Factory Reset — Restores factory defaults; not exposed by template (deliberately destructive)
  • HTTP Authentication — Enables digest auth on the RPC endpoint; template assumes no-auth local access

Zdroje

Našli jste problém s touto šablonou zařízení?

Napište nám, co nefunguje, co chybí, nebo jak by se měla šablona chovat. Vaše zpětná vazba nám pomáhá udržet katalog přesný.

Ověřeno TapHome

Chcete to použít ve svém TapHome jádře?

Otevřete tuto šablonu v zákaznickém portálu a použijte ji ve svém domově, nebo navrhněte úpravu a odešlete ji zpět do katalogu.

Otevřít v portálu