TapHome

Shelly 1PM

Packet Parser → HTTP
Submitted by
Last updated: 03. 2026
Shelly 1PM

Shelly 1PM je kompaktní Wi-Fi relé s vestavěným měřením výkonu. Vejde se za standardní nástěnný vypínač a dokáže ovládat jeden okruh až do 16 A (3500 W při 230 V). TapHome komunikuje se zařízením přes HTTP v lokální síti — není potřeba žádné cloudové připojení.

Šablona zajišťuje ovládání relé a elektroměr, který čte okamžitý příkon a celkovou spotřebu energie.

Konfigurace

Shelly 1PM se připojuje přes Wi-Fi. Při importu šablony v TapHome zadejte IP adresu zařízení (výchozí zástupná hodnota 192.168.0.1).

Toto zařízení podporuje mDNS discovery. Místo IP adresy můžete při konfiguraci TapHome použít hostname shelly1pm-{MAC}.local. Nahraďte {MAC} MAC adresou zařízení (velká písmena, hex, bez dvojteček). Použití hostname zabrání výpadkům připojení při změně IP adresy zařízení.

Otevřete aplikaci TapHome a použijte IP Scanner (Nastavení → Síť → Skenovat). Skener nalezne zařízení ve vaší síti a zobrazí jak IP adresu, tak mDNS hostname (např. shelly1pm-AABBCCDDEE.local). Pro spolehlivější připojení použijte hostname místo IP adresy.

Možnosti zařízení

Ovládání relé

Šablona zpřístupňuje relé jako přepínací zařízení. Stav relé se čte z odpovědi /status (relays[0].ison) a ovládá se přes endpoint /relay/0 s parametrem turn=on nebo turn=off.

Měření výkonu

Vestavěný elektroměr čte dvě hodnoty z odpovědi /status:

  • Okamžitý příkonmeters[0].power v wattech, šablona převádí na kW
  • Celková spotřebameters[0].total ve watt-minutách, šablona převádí na kWh

Elektroměr je pouze pro čtení — aktualizuje se automaticky s každým cyklem dotazování.

Servisní diagnostika

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

  • Informace o zařízení — hostname, MAC adresa, čas zařízení, doba provozu (uptime), využití RAM
  • Tepelná ochrana — vnitřní teplota (°C), stav teploty (Normal / High / Very High), příznak přehřátí
  • Konektivita — cloud povolen/připojen, MQTT připojeno, dostupnost aktualizace firmware
  • Výkonová ochrana — aktuální maximální limit výkonu (čte se z /settings)
Servisní akce

K dispozici jsou tři servisní akce:

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

Shelly 1PM také zpřístupňuje napětí v síti, jalový výkon, stav fyzického vstupu a sílu Wi-Fi signálu v odpovědi /status. Na endpointu relé je k dispozici časovač automatického vypnutí. Tyto funkce mohou být přidány v budoucí aktualizaci šablony.

Řešení problémů

Zařízení neodpovídá
  1. Ověřte, že je Shelly připojen k Wi-Fi a má platnou IP adresu
  2. Zkuste použít mDNS hostname (shelly1pm-AABBCCDDEE.local) místo IP adresy — IP adresa se mohla změnit po obnově DHCP
  3. Otevřete http://{device-ip}/shelly v prohlížeči — pokud odpoví, zařízení je dostupné
  4. Zkontrolujte, že TapHome CCU a Shelly jsou ve stejné síti / VLAN
Měření výkonu ukazuje nulu
  1. Zkontrolujte, že je zátěž zapojena přes relé Shelly (a ne mimo něj)
  2. Zkontrolujte, že je relé zapnuto — elektroměr měří pouze tehdy, když proud protéká relém
  3. Ručně dotažte /status a ověřte, že meters[0].power vrací nenulovou hodnotu
Varování před přehřátím

Shelly 1PM má vestavěnou tepelnou ochranu. Pokud teplota zařízení překročí bezpečné limity, temperature_status se změní na „High" nebo „Very High" a overtemperature se nastaví na true. Zajistěte dostatečné větrání kolem zařízení, zejména při spínání vysokých zátěží.

Zařízení Shelly Gen1 podporují pouze 2 souběžná HTTP připojení. Pokud TapHome a jiný systém (např. Home Assistant) dotazují stejné zařízení současně, komunikace může být nespolehlivá. Použijte interval dotazování 10–30 sekund.

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 1PM Modul
Servisní atributy
Ochrana výkonu
Název hostitele
MAC adresa
Čas zařízení
Doba provozu
RAM
Vnitřní teplota zařízení
Stav teploty
Aktualizace FW
Cloud povolen
Cloud připojen
MQTT připojen
Přehřátý
Servisní akce
Nastavit ochranu výkonu
Povolit cloud
Restart

Shelly 1PM Module

Čtení (modul)
VAR response := SENDHTTPREQUEST("/status", "GET");
StatusJson := response.Content;
Servisní atributy
Power protection
VAR response := SENDHTTPREQUEST("/settings", "GET");
SettingsJson := response.Content;

response := SENDHTTPREQUEST("/status", "GET");
StatusJson := response.Content;

PARSEJSON(SettingsJson, "max_power") + "W";
Host name
PARSEJSON(SettingsJson, "device.hostname");
Mac address
PARSEJSON(StatusJson, "mac");
Device time
PARSEJSON(StatusJson, "time")
Uptime
VAR upTimeSeconds := PARSEJSON(StatusJson, "uptime");
VAR days := FLOOR(upTimeSeconds/86400, 1);
uptimeSeconds := MOD(upTimeSeconds, 86400);
var hours := FLOOR(upTimeSeconds/3600, 1);
uptimeSeconds := MOD(upTimeSeconds, 3600);
var minutes := FLOOR(upTimeSeconds/60, 1);
days + "day(s) " + hours + "h " + minutes + "m"
RAM
var ramTotal := PARSEJSON(StatusJson, "ram_total");
var ramFree := PARSEJSON(StatusJson, "ram_free");
ramFree + " bytes free of " + ramTotal
Internal device temperature
PARSEJSON(StatusJson, "temperature") + "°C"
Temperature status
PARSEJSON(StatusJson, "temperature_status");
FW update
PARSEJSON(StatusJson, "has_update");
Cloud enabled
PARSEJSON(StatusJson, "cloud.enabled");
Cloud connected
PARSEJSON(StatusJson, "cloud.connected");
MQTT connected
PARSEJSON(StatusJson, "mqtt.connected");
Overheated
PARSEJSON(StatusJson, "overtemperature");
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");
Spínač Přepínač
boolean

Spínač

Čtení stavu přepínače
VAR value := PARSEJSON(StatusJson, "relays[0].ison", 1);
IF(ISNULL(value), NaN, value);
Zápis stavu přepínače
VAR path := "relay/0?turn=" + SWITCH(St, 0, "off", 1, "on","off");
SENDHTTPREQUEST(path);
Elektroměr Elektroměr Pouze ke čtení

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

numeric Jednotka: W / kWh

Elektroměr

Čtení celkové spotřeby
VAR total := PARSEJSON(StatusJson, "meters[0].total", 1);
IF(ISNULL(total), NaN, total / 60000.0);
Čtení odběru
VAR power := PARSEJSON(StatusJson, "meters[0].power", 1);
IF(ISNULL(power), NaN, power / 1000.0);
Připojení: Packet Parser → HTTP
Možná vylepšení (5)
  • Voltage — Line voltage in V, available in /status response
  • Reactive Power — Reactive power in VAR, available in /status response
  • Input State — Physical input state (0/1), available in /status response
  • WiFi Signal Strength — WiFi RSSI in dBm, available in /status response
  • Auto-off Timer — Auto-off timer in seconds, could be added as service action or switch parameter

Zdroje