TapHome

Shelly 3EM

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 03. 2026
Shelly 3EM

Shelly 3EM je Wi-Fi trojfázový elektromer s tromi 120 A CT (prúdovými transformátormi) svorkami a vstavaným 10 A stykačovým relé. Meria činný výkon, napätie, prúd, účinník a kumulatívnu energiu pre každú fázu nezávisle. TapHome komunikuje so zariadením v lokálnej sieti — nie je potrebné cloudové pripojenie.

Pre toto zariadenie sú dostupné dve TapHome šablóny: HTTP šablóna (predvolená, využíva polling REST API) a MQTT šablóna (využíva subscripciu správ cez broker). Obe šablóny poskytujú rovnakú sadu zariadení — 3 elektromery (jeden na fázu) a 1 stykačový spínač. Vyberte protokol podľa požiadaviek inštalácie.

Hardvérové pripojenie

Shelly 3EM vyžaduje sieťové napájanie (110–230 V AC) pripojené na svorky L a N. Každá z troch pribalených CT svoriek sa pripája na svorky CT1, CT2 a CT3. Výstup stykačového relé je na svorke O (max 10 A).

Inštalácia CT svoriek
  • Každá CT svorka sa pripne okolo fázového vodiča monitorovaného obvodu — nie je potrebné rezanie vodičov
  • Šípka na CT svorke musí smerovať v smere toku prúdu (od zdroja k záťaži)
  • CT svorky môžu monitorovať trojfázovú sústavu (L1, L2, L3) alebo tri nezávislé jednofázové obvody

NEPRIPÁJAJTE CT svorku na fázový vodič pred jej pripojením k Shelly 3EM. Na pripojovacích kábloch transformátora môže byť prítomné vysoké napätie aj keď je pripojený iba transformátor.

Ovládanie stykača

Výstup relé (svorka O) je dimenzovaný na 10 A a môže priamo spínať malé záťaže alebo ovládať cievku externého stykača pre spínanie väčších záťaží.

Konfigurácia

Nastavenie HTTP šablóny

Počas importu šablóny zadajte IP adresu zariadenia. Šablóna polluje tri samostatné endpointy (/emeter/0, /emeter/1, /emeter/2) pre energetické dáta na fázu a /relay/0 pre stav stykača. Odpoveď každej fázy sa ukladá do vlastnej premennej (emeter0, emeter1, emeter2) aby sa minimalizoval počet HTTP volaní na pollovaní cyklus.

Nastavenie MQTT šablóny

MQTT šablóna vyžaduje tri importné parametre:

ParameterPopisPríklad
MQTT Broker IPAdresa MQTT brokera192.168.1.10
MQTT Broker PortPort brokera (predvolený 1883)1883
Device IDSuffix MAC adresy použitý v MQTT topicochB929CC

Device ID (dID) je posledných 6 znakov MAC adresy v hexadecimálnom formáte veľkými písmenami. Nájdete ho v Shelly webovom rozhraní pod SettingsDevice Info, alebo cez GET http://{ip}/settings → pole mqtt.id.

Modul sa prihlási na odber shellies/shellyem3-{dID}/# a listener skripty smerujú správy pre každú fázu (emeter a relay) do príslušných zariadení.

MQTT šablóna používa prefix topicu shellyem3-{dID}, zatiaľ čo oficiálna API dokumentácia uvádza shelly3em-{id}. Oba formáty fungujú — premenná dID je konfigurovateľná. Overte skutočný prefix topicu prihlásením sa na shellies/# pomocou MQTT klienta.

Na Gen1 Shelly zariadeniach zapnutie MQTT vypne Shelly Cloud. Obe služby nemôžu bežať súčasne. Ide o obmedzenie firmvéru.

Možnosti zariadenia

Meranie energie na fázu

Šablóna vytvára tri elektromery — jeden pre každú fázu. Každý elektromer meria:

  • Činný výkon — okamžitý výkon vo W, šablóna ho konvertuje na kW (÷ 1000)
  • Celková spotrebovaná energia — kumulatívna energia vo Wh, šablóna ju konvertuje na kWh (÷ 1000)

V HTTP šablóne sa každá fáza číta z endpointu /emeter/{i}. V MQTT šablóne hodnoty prichádzajú na topicoch shellies/shellyem3-{dID}/emeter/{i}/power a .../total.

Elektrické parametre na fázu

Každý elektromer poskytuje štyri servisné atribúty:

  • Napätie — efektívne napätie (V)
  • Prúd — efektívny prúd (A)
  • Účinník — pomer činného a zdanlivého výkonu (0,00–1,00)
  • Celková vrátená energia — energia vrátená do siete vo Wh, užitočná pre solárne/FV inštalácie s obojsmerným meraním
Reset počítadla energie

Každá fáza má servisnú akciu Reset total, ktorá vynuluje počítadlá energie pre danú fázu. V HTTP režime sa volá /emeter/{i}?reset_totals; v MQTT režime sa publikuje reset_totals na topic shellies/shellyem3-{dID}/emeter/{i}/command.

Stykačový spínač

Šablóna sprístupňuje stykačové relé ako spínač. Stav relé sa číta z /relay/0ison (HTTP) alebo z topicu shellies/shellyem3-{dID}/relay/0 (MQTT) a ovláda sa cez /relay/0?turn=on|off (HTTP) alebo topic .../relay/0/command (MQTT).

Ďalšie možnosti

Shelly 3EM tiež poskytuje jalový výkon (VAR), príznak platnosti merania na fázu (is_valid), celkový súčet výkonu všetkých troch fáz (total_power z /status), silu Wi-Fi signálu, uptime zariadenia, stav aktualizácie firmvéru, prahy pre nadmerný výkon na fázu a export historických dát o energii (CSV). Na stykačovom relé je k dispozícii časovač automatického vypnutia. Tieto funkcie môžu byť pridané v budúcej aktualizácii šablóny.

Riešenie problémov

Zariadenie neodpovedá (HTTP)
  1. Overte, že Shelly 3EM 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 Core a Shelly 3EM sú v rovnakej sieti / VLAN
Neprichádzajú žiadne MQTT správy
  1. Potvrďte, že MQTT je povolené v Shelly webovom rozhraní (Internet & SecurityAdvanced — MQTT)
  2. Overte, že adresa a port brokera sú správne v Shelly zariadení aj v TapHome šablóne
  3. Skontrolujte, že vlastná premenná dID zodpovedá skutočnému ID zariadenia — prihláste sa na shellies/# pomocou MQTT klienta pre overenie prefixu topicu
  4. Uistite sa, že MQTT broker beží a je dostupný zo Shelly aj z TapHome Core
Hodnoty energie ukazujú nulu alebo NaN
  1. Potvrďte, že CT svorky sú správne pripojené k svorkám Shelly 3EM (CT1, CT2, CT3) a sú pripnuté okolo fázových vodičov
  2. Overte, že šípka na CT svorke smeruje správnym smerom (od zdroja k záťaži)
  3. Pollujte /emeter/0, /emeter/1, /emeter/2 manuálne a skontrolujte, či polia power a total obsahujú nenulové hodnoty

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 3EM Modul
Vlastné premenné
Elektromer (Fáza 1) Elektromer Len na čítanie

Monitorovanie energie fázy 1 — činný výkon (kW), kumulatívna energia (kWh), napätie, prúd, účinník a vrátená energia

numeric Jednotka: W / kWh
Servisné atribúty
Účinník
Prúd [A]
Napätie [V]
Celková vrátená energia [Wh]Energia vrátená do siete — relevantné pre solárne/FV inštalácie s obojsmerným meraním
Servisné akcie
Vynulovať počítadlo

Elektromer (Fáza 1)

Čítanie celkovej spotreby
RETURN(todouble(PARSEjson(emeter0, "total"))/1000);
Čítanie odberu
RETURN(todouble(PARSEjson(emeter0, "power"))/1000);
Čítanie (modul)
VAR response := SENDHTTPREQUEST("/emeter/0");
IF response.IsSuccess
 emeter0 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Servisné atribúty
power factor
RETURN(todouble(PARSEjson(emeter0, "pf")));
Current [A]
RETURN(PARSEjson(emeter0, "current"));
voltage [V]
RETURN(PARSEjson(emeter0, "voltage"));
Total returned energy [Wh]
RETURN(PARSEjson(emeter0, "total_returned"));
Servisné akcie
Reset total
sendhttprequest("/emeter/0?reset_totals");
Elektromer (Fáza 2) Elektromer Len na čítanie

Monitorovanie energie fázy 2 — činný výkon (kW), kumulatívna energia (kWh), napätie, prúd, účinník a vrátená energia

numeric Jednotka: W / kWh
Servisné atribúty
Účinník
Prúd [A]
Napätie [V]
Celková vrátená energia [Wh]Energia vrátená do siete — relevantné pre solárne/FV inštalácie s obojsmerným meraním
Servisné akcie
Vynulovať počítadlo

Elektromer (Fáza 2)

Čítanie celkovej spotreby
RETURN(todouble(PARSEjson(emeter1, "total"))/1000);
Čítanie odberu
RETURN(todouble(PARSEjson(emeter1, "power"))/1000);
Čítanie (modul)
VAR response := SENDHTTPREQUEST("/emeter/1");
IF response.IsSuccess
 emeter1 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Servisné atribúty
power factor
RETURN(PARSEjson(emeter1, "pf"));
current [A[
RETURN(PARSEjson(emeter1, "current"));
voltage [V]
RETURN(PARSEjson(emeter1, "voltage"));
total returned energy [Wh]
RETURN(PARSEjson(emeter1, "total_returned"));
Servisné akcie
reset total
sendhttprequest("/emeter/1?reset_totals");
Elektromer (Fáza 3) Elektromer Len na čítanie

Monitorovanie energie fázy 3 — činný výkon (kW), kumulatívna energia (kWh), napätie, prúd, účinník a vrátená energia

numeric Jednotka: W / kWh
Servisné atribúty
Účinník
Prúd [A]
Napätie [V]
Celková vrátená energia [Wh]Energia vrátená do siete — relevantné pre solárne/FV inštalácie s obojsmerným meraním
Servisné akcie
Vynulovať počítadlo

Elektromer (Fáza 3)

Čítanie celkovej spotreby
RETURN(todouble(PARSEjson(emeter2, "total"))/1000);
Čítanie odberu
RETURN(todouble(PARSEjson(emeter2, "power"))/1000);
Čítanie (modul)
var response := SENDHTTPREQUEST("/emeter/2");
IF response.IsSuccess
 emeter2 := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
Servisné atribúty
power factor
RETURN(PARSEjson(emeter2, "pf"));
current [A]
RETURN(PARSEjson(emeter2, "current"));
voltage [V]
RETURN(PARSEjson(emeter2, "voltage"));
Total returned energy [Wh]
RETURN(PARSEjson(emeter2, "total_returned"));
Servisné akcie
reset total
sendhttprequest("/emeter/2?reset_totals");
Stykačový spínač Prepínač

Vstavaný 10 A stykačový relé pre spínanie záťaží alebo ovládanie externého stykača

boolean
Hodnoty / Stavy: ON · OFF

Stykačový spínač

Čítanie stavu prepínača
VAR response := SENDHTTPREQUEST("/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
Zápis stavu prepínača
VAR response := SENDHTTPREQUEST("/relay/0?turn=" + switch(St,1,"on","off"));
IF response.IsSuccess = false
 ADDERROR(response.StatusCode);
END
Pripojenie: Packet Parser → HTTP
Možné vylepšenia (10)
  • Reactive Power — Per-phase reactive power in VAR; available in /emeter/ response and via MQTT topic .../emeter/{i}/reactive_power
  • Measurement Validity — Boolean flag indicating whether CT clamp measurement is valid; useful for detecting disconnected CT
  • Total Power (3-phase sum) — Sum of active power across all 3 phases in W; available in /status but not in per-phase /emeter/ endpoints
  • WiFi Signal Strength — WiFi RSSI in dBm
  • Uptime — Device uptime in seconds; available in /status but template only polls /emeter/ endpoints, not /status
  • FW Update Available — Firmware update flag from /status
  • Auto-off Timer — Auto-off timer in seconds on contactor relay
  • Per-phase Power Protection — Per-phase overpower threshold; could be exposed as service attribute + action
  • Historical Energy Data (CSV) — Per-phase historical data export as CSV; not applicable for real-time integration
  • Reset All Energy History — Clears ALL stored energy history across all 3 phases; more destructive than per-phase reset_totals

Zdroje