---
title: "Shelly EM"
description: "Výkon (kW), energie (kWh), napětí, jalový výkon a ovládání stykače na kanál přes HTTP nebo MQTT. TapHome šablona pro Shelly EM Gen1."
url: "https://taphome.com/cs/compatibility/shelly-em/"
language: cs
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["http","mqtt","electric-meter","wifi","energy-metering","contactor-control","ct-clamp"]
  questions: ["Jak integrovat Shelly EM s TapHome?","Co měří šablona Shelly EM v TapHome?","Jak připojit Shelly EM přes HTTP k TapHome?","Jak připojit Shelly EM přes MQTT k TapHome?","Dokáže Shelly EM monitorovat export solární energie?","Jak ovládat stykač přes Shelly EM v TapHome?"]
---

# Shelly EM

Komunikace: Packet Parser → HTTP

- [Produktová stránka Shelly EM](https://www.shelly.com/en/products/shop/shelly-em)

> Adresa v síti
> 
> TapHome komunikuje se zařízením na adrese zadané při importu. Dejte zařízení stálou adresu — rezervaci IP v routeru, nebo jeho mDNS jméno, pokud ho podporuje —, jinak integrace přestane fungovat, když router adresu změní.
> 
> [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/)

## Návod na integraci

Shelly EM je jednofázový elektroměr se dvěma nezávislými měřicími kanály a 2A relé výstupem pro ovládání stykače. Každý kanál se připojuje na externí CT (proudový transformátor) svorku — dostupnou v 50A a 120A variantě — což umožňuje neinvazivní monitorování dvou samostatných obvodů současně. TapHome se integruje se zařízením lokálně přes Wi-Fi pomocí HTTP REST API nebo MQTT. Není potřeba cloudové připojení.

K dispozici jsou dvě TapHome šablony: **HTTP šablona**, která polluje REST endpointy zařízení, a **MQTT šablona**, která přijímá data přes MQTT broker. Obě zpřístupňují stejná tři zařízení — dva elektroměry (jeden na kanál) a stykačový spínač.

## Konfigurace

### HTTP šablona

HTTP šablona vyžaduje pouze IP adresu zařízení (nebo mDNS hostname). TapHome polluje tři endpointy každých 15 sekund:

- `/emeter/0/` — energetická data kanálu 1
- `/emeter/1/` — energetická data kanálu 2
- `settings/relay/0` — stav relé a kontrola plánování

Čtecí skript na úrovni modulu ukládá každou odpověď do vlastní proměnné (`emeterZero`, `emeterOne`, `status`), takže skripty jednotlivých zařízení mohou parsovat data bez redundantních HTTP volání.

> [!NOTE]
> Šablona také kontroluje stav plánování relé z `settings/relay/0`. Pokud je interní plánování na Shelly zařízení povoleno, šablona vyhlásí chybu — vypněte plánování v Shelly webovém rozhraní, aby nedocházelo ke konfliktům s TapHome automatizacemi.

### MQTT šablona

MQTT šablona vyžaduje IP brokeru, port a Shelly **Device ID** (formát: `shellyem-XXXXXXXXXXXX`, kde X = hexadecimální znaky MAC adresy). Device ID najdete v Shelly webovém rozhraní pod **Settings** > **Device Info**.

Po povolení MQTT na Shelly EM (Internet & Security > Advanced — MQTT) se TapHome přihlásí k odběru topiců `shellies/shellyem-{deviceID}/` a přijímá data přes listener skripty.

> [!WARNING]
> Na Gen1 Shelly zařízeních zapnutí MQTT **vypne Shelly Cloud**. Obě služby nemohou běžet současně.

## Možnosti zařízení

### Měření energie (na kanál)

Každý kanál je v TapHome zpřístupněn jako nezávislý elektroměr, poskytující:

- **Okamžitý výkon** — činný výkon v kW (konvertovaný z W dělením 1000)
- **Kumulativní energie** — celková spotřebovaná energie v kWh (HTTP: konvertovaná z Wh; MQTT: používá persistentní topic `total` ve Wh)

HTTP šablona čte pole `power` a `total` z JSON odpovědi `/emeter/{i}/`. MQTT šablona naslouchá topicu `emeter/{i}/energy` (watt-minuty, děleno 60 000 pro kWh) a topicu `emeter/{i}/total` (watt-hodiny, persistentní přes restarty).

> [!TIP]
> MQTT topic `energy` se vynuluje při restartu zařízení. Pro persistentní sledování energie šablona čte také topic `total`, který přežije restarty.

Každý kanál také zpřístupňuje tři servisní atributy:

| Atribut | Jednotka | Popis |
|---------|----------|-------|
| Napětí | V | Efektivní síťové napětí |
| Vrácená energie | Wh | Celková energie vrácená do sítě — pro solární/obousměrné měření |
| Jalový výkon | VAR | Okamžitý jalový výkon |

> [!NOTE]
> MQTT šablona zpřístupňuje pouze napětí jako servisní atribut na kanál. Jalový výkon a vrácená energie jsou dostupné pouze v HTTP šabloně.

### Stykačový spínač

Relé výstup je v TapHome zpřístupněn jako spínač. Relé je dimenzováno na **2A / 230 VAC** — je určeno výhradně pro ovládání stykače, ne pro přímé spínání zátěží.

- **HTTP:** čte `ison` z `settings/relay/0` a ovládá přes `/relay/0?turn=on` nebo `/relay/0?turn=off`
- **MQTT:** čte z topicu `shellies/shellyem-{id}/relay/0` a publikuje `on`/`off` na `shellies/shellyem-{id}/relay/0/command`

> [!WARNING]
> Relé je dimenzováno pouze na 2A. Pro zátěže přesahující toto jmenovité zatížení vždy použijte externí stykač. Přímé připojení výkonových zátěží poškodí relé.

### Další možnosti

Shelly EM také poskytuje účiník (0,00–1,00) a příznak platnosti měření na kanál, konfiguraci kanálů (CT poměr, limit maximálního výkonu), reset počítadla energie, časovač automatického vypnutí na relé a sílu Wi-Fi signálu. Přes MQTT jsou k dispozici také další topicy pro výkon, jalový výkon a vrácenou energii v reálném čase na kanál. Tyto funkce mohou být přidány v budoucí aktualizaci šablony.

## Řešení problémů

### Zařízení neodpovídá (HTTP)

1. Ověřte, že Shelly EM je připojen k Wi-Fi a má platnou IP adresu
2. Otevřete `http://{device-ip}/shelly` v prohlížeči — pokud odpoví JSON obsahující `"type":"SHEM"`, zařízení je dostupné
3. Zkontrolujte, že TapHome CCU a Shelly EM jsou ve stejné síti / VLAN

### Žádná data na jednom kanálu

1. Ověřte, že CT svorka je připojena do správného 3,5mm jacku (kanál 0 nebo kanál 1)
2. Zkontrolujte, že přes monitorovaný vodič protéká proud — CT svorka musí obepínat jednotlivý vodič, ne celý kabel
3. Manuálně pollujte `/emeter/0/` a `/emeter/1/` a potvrďte nenulové hodnoty `power`

### MQTT zprávy nepřicházejí

1. Ověřte, že MQTT je povoleno v Shelly webovém rozhraní (Internet & Security > Advanced — MQTT)
2. Potvrďte, že adresa a port brokeru jsou správné v Shelly zařízení i v nastavení TapHome modulu
3. Zkontrolujte, že vlastní proměnná `deviceID` přesně odpovídá Shelly Device ID (např. `B929CC`)
4. Použijte MQTT klienta (např. MQTT Explorer) pro přihlášení k `shellies/#` a ověření, že zařízení publikuje zprávy

### Chyba konfliktu plánování

HTTP šablona kontroluje pole `schedule` v `settings/relay/0`. Pokud má Shelly zařízení povoleno interní plánování, šablona hlásí chybu. Vypněte plánování v Shelly webovém rozhraní (Settings > Relay > Schedule) — místo toho použijte TapHome automatizace.

> [!WARNING]
> Gen1 Shelly zařízení podporují pouze **2 současná HTTP připojení**. Pokud TapHome a jiný systém (např. Home Assistant) pollují stejné zařízení současně, komunikace může být nespolehlivá. Zvažte přechod na MQTT šablonu pro prostředí s více systémy.

## 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](https://www.shelly.com/en/support/shelly-app) (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.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Zadejte SSID a heslo → **Save**

> [!NOTE]
> 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ě

> [!TIP]
> 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í

> [!NOTE]
> 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í 3

Tato zařízení se po importu zobrazí v TapHome.

Shelly EM Modul

Vlastní proměnné

Čtení (modul)

```taphome
VAR response := SENDHTTPREQUEST("settings/relay/0");
IF response.IsSuccess
 status := response.Content;
 IF PARSEJSON(status, "schedule")
  ADDERROR("Internal scheduling on");
 END
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
response := SENDHTTPREQUEST("/emeter/0/");
IF response.IsSuccess
 emeterZero := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
response := SENDHTTPREQUEST("/emeter/1/");
IF response.IsSuccess
 emeterOne := response.Content;
ELSE
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
 RETURN(NaN);
END
```

Elektroměr — Kanál 1 Elektroměr Pouze ke čtení

Okamžitý výkon (kW) a kumulativní energie (kWh) z CT svorky na kanálu 1

numeric Jednotka: kW / kWh json\_path

Servisní atributy

|                 |                                                                                       |
|-----------------|---------------------------------------------------------------------------------------|
| Napětí          |                                                                                       |
| Vrácená energie | Celková energie vrácená do sítě na kanálu 1 — pro solární a obousměrné měřicí sestavy |
| Jalový výkon    |                                                                                       |

Čtení celkové spotřeby

```taphome
RETURN(PARSEJSON(emeterZero, "total")/1000);
```

Čtení odběru

```taphome
RETURN(PARSEJSON(emeterZero, "power")/1000);
```

Servisní atributy

Voltage \[V]

```taphome
RETURN(PARSEJSON(emeterZero, "voltage"));
```

backward \[Wh]

```taphome
RETURN(PARSEJSON(emeterZero, "total_returned"));
```

reactive \[W]

```taphome
RETURN(PARSEJSON(emeterZero, "reactive"));
```

Elektroměr — Kanál 2 Elektroměr Pouze ke čtení

Okamžitý výkon (kW) a kumulativní energie (kWh) z CT svorky na kanálu 2

numeric Jednotka: kW / kWh json\_path

Servisní atributy

|                 |                                                                                       |
|-----------------|---------------------------------------------------------------------------------------|
| Napětí          |                                                                                       |
| Vrácená energie | Celková energie vrácená do sítě na kanálu 2 — pro solární a obousměrné měřicí sestavy |
| Jalový výkon    |                                                                                       |

Čtení celkové spotřeby

```taphome
RETURN(PARSEJSON(emeterOne, "total")/1000);
```

Čtení odběru

```taphome
RETURN(PARSEJSON(emeterOne, "power")/1000);
```

Servisní atributy

Voltage \[V]

```taphome
RETURN(PARSEJSON(emeterOne, "voltage"));
```

backward \[Wh]

```taphome
RETURN(PARSEJSON(emeterOne, "total_returned"));
```

reactive \[W]

```taphome
RETURN(PARSEJSON(emeterOne, "reactive"));
```

Stykačový spínač Přepínač Čtení i zápis

2A relé výstup pro ovládání stykače — není dimenzován na přímé spínání zátěží

boolean

Hodnoty / Stavy: ON · OFF

Čtení stavu přepínače

```taphome
RETURN(PARSEJSON(status, "ison"));
```

Zápis stavu přepínače

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + St);
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
```

**Připojení:** Packet Parser → HTTP • Hostname: `shellyem-{MAC}.local`

Možná vylepšení (9)

- Power Factor — Power factor (0.00–1.00) per channel, available in /emeter/{i} and /status response. Not available via MQTT.
- Measurement Validity — Boolean flag indicating if the measurement is valid. Available per channel in /emeter/{i}.
- Per-Channel Configuration — CT ratio (ctrafos: 50/120), max\_power limit, appliance\_type. Could be exposed as service actions.
- Reset Energy Counters — Resets accumulated energy data for both channels. Available via HTTP GET and MQTT command topic.
- Auto-off Timer — Auto-off timer in seconds on relay endpoint. Could be added as service action parameter.
- WiFi Signal Strength — WiFi RSSI in dBm, available in /status response
- MQTT Real-time Power — Instantaneous power via MQTT (W). MQTT template uses energy+total topics instead.
- MQTT Reactive Power — Reactive power via MQTT (VAR). HTTP template has it as service attribute, MQTT template does not.
- MQTT Energy Returned — Energy returned to grid via MQTT (Wh). HTTP template has it as service attribute (backward), MQTT template does not.

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci | Výchozí       |
|-------------------|---------------|
| IP adresa         | `192.168.0.1` |

## Zdroje

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-12
- Shelly EM — API Endpoints & MQTT Topics
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-em) 2026-03-29
- Shelly EM — Product Specifications
  
  [robomaterial.com](https://robomaterial.com/product/shelly-em-single-phase-energy-meter-with-contactor-control/) 2026-03-29

## Související dokumentace

- [Integrace Packet Parser](https://taphome.com/cs/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/cs/docs/integration/packet-parser/)
- [Funkce Packet parser](https://taphome.com/cs/docs/script/packet-parser/)
- [Funkce pro parsování](https://taphome.com/cs/docs/script/parsing-functions/)

