TapHome

Shelly Pro 4PM

Packet Parser → HTTP
Přidal
Poslední aktualizace: 03. 2026
Shelly Pro 4PM

Shelly Pro 4PM je 4kanálové inteligentní relé na DIN lištu s vestavěným měřením výkonu na kanál. Každý ze čtyř nezávislých výstupů může spínat až 16 A (celkem 40 A), což ho činí vhodným pro ovládání světelných okruhů, spotřebičů nebo zátěží v rozváděči s individuálním monitoringem energie na kanál. TapHome komunikuje se zařízením přes HTTP v lokální síti — cloudové připojení není potřeba.

Šablona používá smíšený přístup k API: Gen2+ RPC koncové body (/rpc/Switch.GetStatus?id=N) pro čtení měření energie a Gen1 koncové body (/relay/N?turn=on|off) pro ovládání relé. Obě generace API jsou podporovány zařízením Pro 4PM pro zpětnou kompatibilitu. Zařízení se připojuje přes WiFi nebo Ethernet (RJ45) a disponuje 1,8palcovým barevným LCD displejem pro lokální sledování stavu.

Konfigurace

Shelly Pro 4PM se připojuje přes WiFi nebo Ethernet. Během importu šablony TapHome zadejte IP adresu zařízení (výchozí hodnota 192.168.0.1).

Autentifikace musí být na zařízení Shelly vypnutá pro integraci s TapHome. TapHome nepodporuje HTTP Digest Auth používanou zařízeními Gen2. Otevřete webové rozhraní Shelly (http://{ip-zarizeni}) → Settings → Authentication a ujistěte se, že je vypnutá.

LAN kabel se smí zapojovat nebo odpojovat pouze když je zařízení vypnuté. Zapojení Ethernet kabelu za chodu může způsobit problémy.

Pokud je na zařízení Shelly zapnutý režim ECO, může způsobovat výpadky komunikace kvůli krátkým intervalům dotazování šablony (2,5–15 sekund). Vypněte režim ECO ve webovém rozhraní Shelly, pokud zaznamenáte občasné problémy s připojením.

Možnosti zařízení

Měření energie

Šablona zpřístupňuje čtyři nezávislá zařízení elektroměru, jedno na kanál. Každý měřič čte z /rpc/Switch.GetStatus?id=N (kde N je 0–3):

  • Okamžitý výkonapower ve wattech, šablona konvertuje na kW
  • Celková spotřebaaenergy.total ve watthodinách, šablona konvertuje na kWh

Kanál 1 se dotazuje každých 2,5 sekundy pro rychlejší odezvu. Kanály 2–4 se dotazují každých 15 sekund.

Měřiče jsou pouze ke čtení — aktualizují se automaticky s každým cyklem dotazování.

Ovládání relé

Šablona zpřístupňuje čtyři reléová spínací zařízení, jedno na kanál. Každé relé se ovládá přes Gen1 koncový bod /relay/N?turn=on|off (kde N je 0–3).

Reléové spínače jsou pouze pro zápis — šablona nečte stav relé zpět ze zařízení. Aktuální stav relé lze odvodit z příslušného elektroměru: pokud kanál hlásí nenulovou spotřebu, relé je zapnuté. Budoucí aktualizace šablony by mohla přidat zpětnou vazbu stavu relé pomocí Gen2+ /rpc/Switch.GetStatus?id=N → pole output.

Senzor výkonu

Samostatné zařízení senzoru výkonu zpřístupňuje surový aktivní výkon ve wattech pro kanál 1 (čtený z /rpc/Switch.GetStatus?id=0apower). Na rozdíl od elektroměru, který konvertuje na kW, tento senzor hlásí hodnotu ve wattech bez konverze, což je užitečné pro automatizace vyžadující přesnost na úrovni wattů.

Servisní diagnostika

Šablona zpřístupňuje 13 servisních atributů pro monitoring zařízení:

  • Informace o zařízení — hostname, MAC adresa, čas zařízení, uptime, využití RAM
  • Tepelná ochrana — vnitřní teplota (°C), stav teploty (Normal / High / Very High), příznak přehřátí
  • Konektivita — cloud zapnutý/připojený, MQTT připojený, dostupná aktualizace firmwaru
  • Ochrana výkonu — aktuální maximální limit výkonu (čtený z /settings)
Servisní akce

K dispozici jsou tři servisní akce:

  • Nastavení ochrany výkonu — nastaví maximální limit výkonu (1–3500 W). Relé se automaticky vypne, pokud spotřeba překročí tuto hodnotu.
  • Zapnutí cloudu — zapne nebo vypne připojení k Shelly Cloud
  • Restart — spustí restart zařízení
Další možnosti

Shelly Pro 4PM také zpřístupňuje napětí, proud, účiník, frekvenci a vnitřní teplotu na kanál ve své odpovědi /rpc/Switch.GetStatus. K dispozici jsou také stavy fyzických přepínačů/tlačítek (S1–S4), stav Ethernetu, Wi-Fi RSSI a nativní Gen2+ ovládání relé s časovačem automatického vypnutí přes RPC API. Tyto možnosti mohou být doplněny v budoucí aktualizaci šablony.

Řešení problémů

Zařízení neodpovídá
  1. Ověřte, že Shelly je připojen k WiFi nebo Ethernetu a má platnou IP adresu
  2. Zkuste použít mDNS hostname (shellypro4pm-AABBCCDDEE.local) místo IP adresy — IP se mohla změnit po obnovení DHCP
  3. Otevřete http://{ip-zarizeni}/rpc/Shelly.GetDeviceInfo v prohlížeči — pokud odpoví JSON, zařízení je dostupné
  4. Zkontrolujte, že TapHome Core a Shelly jsou ve stejné síti / VLAN
  5. Ujistěte se, že autentifikace je na zařízení Shelly vypnutá
Hodnoty výkonu ukazují nulu
  1. Potvrďte, že zátěž je připojena přes reléový výstup Shelly (O1–O4), ne obejitá
  2. Zkontrolujte, že relé je zapnuté — měřič měří pouze když přes relé protéká proud
  3. Manuálně zavolejte /rpc/Switch.GetStatus?id=0 a ověřte, že apower vrací nenulovou hodnotu
  4. Ověřte správné ID kanálu (id=0 pro Výstup 1, id=1 pro Výstup 2 atd.)
Neznámý stav relé

Reléové spínače v této šabloně jsou pouze pro zápis — posílají příkazy zapnutí/vypnutí, ale nečtou stav relé zpět. Pro ověření skutečného stavu relé:

  1. Zkontrolujte příslušný elektroměr — nenulový výkon znamená, že relé je zapnuté
  2. Podívejte se na LED indikátory relé na předním panelu zařízení
  3. Otestujte manuálně přes prohlížeč: http://{ip-zarizeni}/relay/0 vrátí aktuální stav relé v JSON
Varování před přehřátím

Shelly Pro 4PM má vnitřní tepelnou ochranu. Pokud teplota zařízení překročí bezpečné limity, temperature_status se změní na “High” nebo “Very High” a overtemperature se změní na true. Zajistěte dostatečné větrání v rozváděči, zejména při spínání vysokých zátěží na více kanálech současně.

V1 vs V2 hardware

Obě verze používají stejný firmware a API. V2 (SPSW-104PE16EU) má vylepšené konektory — pět individuálních šroubových svorek místo čtyř 2svorkových bloků — a lepší elektrickou izolaci LAN. Mezi verzemi nejsou potřeba žádné změny šablony.

Gen2 zařízení Shelly podporují až 6 současných HTTP připojení. Šablona Shelly Pro 4PM používá až 5 současných koncových bodů na cyklus dotazování (4 elektroměry + stav modulu), což ponechává omezený prostor. Vyhněte se dotazování z příliš mnoha systémů současně.

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 Pro 4PM Modul
Servisní akce
Nastavit ochranu výkonuNastavit maximální limit výkonu (1–3500 W) — relé se automaticky vypne, pokud spotřeba překročí tuto hodnotu
Povolit cloudPovolit nebo zakázat připojení k Shelly Cloud
RestartSpustit restart zařízení
Vlastní proměnné
StatusJson (string)
SettingsJson (string)
status (string) = 0

Shelly 4 Pro

Čtení (modul)
VAR response := SENDHTTPREQUEST("/status", "GET");
StatusJson := response.Content;
Servisní akce
Set power protection
Parametry: Maximum power (1–3500 Watts)
VAR response := SENDHTTPREQUEST("settings?max_power=" + Watts);
VAR contentJson := response.Content;
VAR limitSet := PARSEJSON(contentJson, "max_power");

"Power limit set to " + limitSet + "W"
Enable cloud
Parametry: Enable (Enable / Disable)
VAR response := SENDHTTPREQUEST("/settings/cloud?enabled=" + enable);
VAR contentJson := response.Content;
VAR wasEnabled := PARSEJSON(contentJson, "enabled");

IF(wasEnabled, "Cloud enabled", "Cloud disabled");
Reboot
VAR response := SENDHTTPREQUEST("/reboot");
VAR contentJson := response.Content;
VAR wasRebooted := PARSEJSON(contentJson, "ok");

IF(wasRebooted, "Reboot successful", "Error");
Elektroměr kanál 1 Elektroměr Pouze ke čtení

Měření spotřeby a energie pro výstup 1 — okamžitý výkon (kW) a celková spotřeba (kWh)

numeric Jednotka: W / kWh

Elektroměr kanál 1

Čtení celkové spotřeby
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
Čtení odběru
return(parsejson(status,"apower")/1000);
Čtení (modul)
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
status := x.Content;
Elektroměr kanál 2 Elektroměr Pouze ke čtení

Měření spotřeby a energie pro výstup 2 — okamžitý výkon (kW) a celková spotřeba (kWh)

numeric Jednotka: W / kWh

Elektroměr kanál 2

Čtení celkové spotřeby
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
Čtení odběru
return(parsejson(status,"apower")/1000);
Čtení (modul)
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=1"));
status := x.Content;
Elektroměr kanál 3 Elektroměr Pouze ke čtení

Měření spotřeby a energie pro výstup 3 — okamžitý výkon (kW) a celková spotřeba (kWh)

numeric Jednotka: W / kWh

Elektroměr kanál 3

Čtení celkové spotřeby
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
Čtení odběru
return(parsejson(status,"apower")/1000);
Čtení (modul)
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=2"));
status := x.Content;
Elektroměr kanál 4 Elektroměr Pouze ke čtení

Měření spotřeby a energie pro výstup 4 — okamžitý výkon (kW) a celková spotřeba (kWh)

numeric Jednotka: W / kWh

Elektroměr kanál 4

Čtení celkové spotřeby
return(parsejson(parsejson(status,"aenergy"), "total")/1000);
Čtení odběru
return(parsejson(status,"apower")/1000);
Čtení (modul)
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=3"));
status := x.Content;
Relé kanál 2 Přepínač

Ovládání relé pro výstup 2 (jen zápis) — stav se nečte, odvodit z elektroměru

boolean
Hodnoty / Stavy: ON · OFF

Relé kanál 2

Zápis stavu přepínače
VAR path := "relay/1?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
Relé kanál 1 Přepínač

Ovládání relé pro výstup 1 (jen zápis) — stav se nečte, odvodit z elektroměru

boolean
Hodnoty / Stavy: ON · OFF

Relé kanál 1

Zápis stavu přepínače
VAR path := "relay/0?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
Senzor výkonu kanál 1 Proměnná Pouze ke čtení

Surový činný výkon ve wattech pro kanál 1 — samostatná hodnota senzoru bez konverze na kW

numeric Jednotka: W

Senzor výkonu kanál 1

Čtení
return(parsejson(status,"apower"));
Čtení (modul)
var x := (sendhttprequest("/rpc/Switch.GetStatus?id=0"));
status := x.Content;
Relé kanál 3 Přepínač

Ovládání relé pro výstup 3 (jen zápis) — stav se nečte, odvodit z elektroměru

boolean
Hodnoty / Stavy: ON · OFF

Relé kanál 3

Zápis stavu přepínače
VAR path := "relay/2?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
Relé kanál 4 Přepínač

Ovládání relé pro výstup 4 (jen zápis) — stav se nečte, odvodit z elektroměru

boolean
Hodnoty / Stavy: ON · OFF

Relé kanál 4

Zápis stavu přepínače
VAR path := "relay/3?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
Připojení: Packet Parser → HTTP
Možná vylepšení (10)
  • Relay State Read — Switches have no readswitchstate script — relay state is not read back. Gen2+ /rpc/Switch.GetStatus?id=N provides output (boolean) for state feedback.
  • Voltage — Per-channel line voltage in V, available in /rpc/Switch.GetStatus response
  • Current — Per-channel load current in A, available in /rpc/Switch.GetStatus response
  • Power Factor — Per-channel power factor, available in /rpc/Switch.GetStatus response
  • Frequency — Network frequency in Hz, available in /rpc/Switch.GetStatus response
  • Per-Channel Temperature — Internal temperature in °C per switch component, available in /rpc/Switch.GetStatus response
  • Input States (S1-S4) — 4 physical switch/button inputs, available via /rpc/Input.GetStatus?id=0..3
  • Gen2+ Relay Control — Native Gen2+ relay control with toggle_after timer support. Template uses Gen1 /relay/N instead.
  • WiFi Status (SSID, IP, RSSI) — WiFi status including signal strength, available via Gen2+ RPC
  • Ethernet Status — Pro 4PM has RJ45 LAN port; Ethernet status (IP, link) available via /rpc/Ethernet.GetStatus

Zdroje