---
title: "Shelly Plus i4"
description: "Shelly Plus i4 Wi-Fi 4kanálový digitální vstupní modul. Detekce stisknutí tlačítek a stavů přepínačů přes MQTT z TapHome — bez relé, čistý vstup."
url: "https://taphome.com/cs/compatibility/shelly-plus-i4/"
language: cs
lastmod: 2026-03-29
generator: hugo
ai:
  topics: ["mqtt","i/o-module","wifi","digital-input","push-button","reed-contact","4-channel"]
  questions: ["Jak integrovat Shelly Plus i4 s TapHome?","Jak detekovat stisknutí tlačítek se Shelly Plus i4 v TapHome?","Jak připojit Shelly Plus i4 přes MQTT k TapHome?","Jaký je rozdíl mezi režimem tlačítka a přepínače na Shelly Plus i4?","Jak nakonfigurovat vstupy Shelly Plus i4 jako tlačítka nebo přepínače?","Proč Shelly Plus i4 zobrazuje chybu \"Device is set as switch\" v TapHome?","Dokáže Shelly Plus i4 přímo ovládat relé?"]
---

# Shelly Plus i4

Komunikace: Packet Parser → MQTT

- [Shelly Plus i4 produktová stránka](https://www.shelly.com/en/products/shop/shelly-plus-i4)
- [Shelly Gen2+ Input Component API](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Input/)

Shelly Plus i4 je kompaktní Wi-Fi 4kanálový digitální vstupní modul. Nemá žádná relé ani výstupy — funguje čistě jako vstupní zařízení, které detekuje stisknutí tlačítek a stavy přepínačů na čtyřech nezávislých svorkách (SW1–SW4). Vejde se za standardní nástěnný vypínač (37 x 42 x 16 mm) a napájí se 110–240 VAC. TapHome komunikuje se zařízením přes MQTT pomocí Gen2+ JSON-RPC 2.0 notifikací v lokální síti — cloudové připojení není potřeba.

Každý ze čtyř vstupů lze nezávisle nakonfigurovat jako **režim tlačítka** (detekce jednoduchého stisknutí, dvojitého stisknutí, dlouhého stisknutí) nebo **režim přepínače** (detekce stavu zapnuto/vypnuto). Šablona TapHome vytváří pro každý vstup zařízení tlačítka i jazýčkového kontaktu — používáte to, které odpovídá konfiguraci vstupu ve webovém rozhraní Shelly.

## Konfigurace

### Nastavení MQTT brokera

Shelly Plus i4 komunikuje přes MQTT. Potřebujete MQTT broker běžící ve vaší síti (např. Mosquitto). Ve webovém rozhraní Shelly (`http://{ip-zarizeni}`) přejděte do Nastavení → MQTT a aktivujte MQTT, zadejte IP adresu a port brokera.

### Parametry importu šablony

Během importu šablony v TapHome zadejte tři parametry:

| Parametr | Popis | Příklad |
|----------|-------|---------|
| **MQTT Broker IP** | IP adresa MQTT brokera | `192.168.1.10` |
| **MQTT Broker Port** | Port brokera (výchozí 1883) | `1883` |
| **Shelly ID** | MQTT client ID z webového rozhraní Shelly → Nastavení → MQTT | `shellyplusi4-xxxxxxxxxxxx` |

### Konfigurace režimu vstupu

Po importování šablony nakonfigurujte každý vstup ve webovém rozhraní Shelly (`http://{ip-zarizeni}`) → Vstupy:

- **Režim tlačítka** — pro impulzní tlačítka. Použijte odpovídající zařízení Tlačítko 1–4 v TapHome.
- **Režim přepínače** — pro páčkové přepínače nebo jazýčkové kontakty. Použijte odpovídající zařízení Přepínač 1–4 v TapHome.

Každý fyzický vstup může být naráz pouze jednoho typu. Pokud je vstup nastaven v režimu přepínače, ale TapHome přijme událost tlačítka (nebo naopak), listener skript vyhlásí chybu o nesouladu.

## Možnosti zařízení

### Detekce stisknutí tlačítek (Tlačítko 1–4)

Čtyři zařízení tlačítek naslouchají MQTT `NotifyEvent` zprávám na topiku `{device_id}/events/rpc`. Každé tlačítko detekuje tři typy stisknutí a mapuje je na číselné hodnoty:

| Typ stisknutí | Hodnota |
|----------------|---------|
| Jednoduché stisknutí | 1 |
| Dlouhé stisknutí | 2 |
| Dvojité stisknutí | 3 |

Zařízení tlačítek jsou pouze ke čtení — hlásí poslední detekovanou událost. Každé tlačítko naslouchá událostem ze svého odpovídajícího vstupního komponentu (`input:0` až `input:3`).

### Detekce přepínače/jazýčkového kontaktu (Přepínač 1–4)

Čtyři zařízení jazýčkových kontaktů naslouchají MQTT `NotifyStatus` zprávám. Každý přepínač čte binární stav svého odpovídajícího vstupu:

| Stav | Hodnota |
|------|---------|
| Zavřený (aktivní) | 1 |
| Otevřený (neaktivní) | 0 |

Zařízení přepínačů jsou pouze ke čtení s intervalem dotazování 2,5 sekundy. Jsou vhodná pro páčkové přepínače, magnetické jazýčkové kontakty nebo jakýkoli binární on/off senzor připojený ke vstupním svorkám.

### Další možnosti

Shelly Plus i4 API také podporuje detekci trojitého stisknutí, surové události button-down/button-up a programatickou metodu `Input.Trigger` (unikátní pro zařízení i4), která dokáže emitovat události bez fyzického vstupu. Systémová diagnostika (uptime, MAC, WiFi RSSI) je dostupná přes HTTP RPC, ale není zpřístupněna v této šabloně určené pouze pro MQTT. Tyto možnosti mohou být doplněny v budoucí aktualizaci šablony.

## Řešení problémů

### Stisknutí tlačítek nejsou detekována

1. Ověřte, že vstup je nakonfigurován v režimu **tlačítka** ve webovém rozhraní Shelly → Vstupy
2. Zkontrolujte, že TapHome je připojen k MQTT brokeru a Shelly ID odpovídá MQTT client ID zařízení
3. Pokud TapHome zobrazuje chybu "Device is set as switch", vstup je v režimu přepínače — změňte ho na režim tlačítka ve webovém rozhraní Shelly nebo místo toho použijte zařízení Přepínač 1–4

### Stav přepínače se neaktualizuje

1. Ověřte, že vstup je nakonfigurován v režimu **přepínače** ve webovém rozhraní Shelly → Vstupy
2. Pokud TapHome zobrazuje chybu "Device is set as button", vstup je v režimu tlačítka — změňte ho na režim přepínače nebo místo toho použijte zařízení Tlačítko 1–4
3. Přepněte fyzický přepínač a zkontrolujte MQTT broker, zda přicházejí `NotifyStatus` zprávy na topiku `shellyplusi4-{id}/events/rpc`

### Zařízení není dostupné

1. Ověřte, že Shelly je připojen k Wi-Fi — modrá LED dioda by měla svítit nepřerušovaně
2. Potvrďte, že MQTT je aktivováno ve webovém rozhraní Shelly → Nastavení → MQTT a adresa brokera je správná
3. Zkuste použít mDNS hostname (`shellyplusi4-AABBCCDDEE.local`) pro přístup k webovému rozhraní Shelly
4. Zkontrolujte, že MQTT broker běží a je přístupný z TapHome Core i ze zařízení Shelly

> [!NOTE]
> Shelly Plus i4 má MQTT limit **80 notifikací za 60sekundové okno**. Rychlé opakované stisknutí tlačítek může tento limit překročit a způsobit ztrátu některých událostí. Jedná se o omezení na úrovni firmwaru.

## Jak nainstalovat v TapHome

### Předpoklady

- Zařízení Shelly připojené k Wi-Fi (2,4 GHz), např. přes aplikaci Shelly nebo vlastní přístupový bod zařízení
- MQTT broker běžící ve vaší lokální síti (např. Mosquitto, Home Assistant nebo vestavěný broker TapHome)
- TapHome CCU ve stejné síti jako broker

> [!WARNING]
> Na zařízeních **Gen1** povolení MQTT **vypne Shelly Cloud**. Obojí nemůže běžet současně. Na zařízeních Gen2/Plus toto omezení neplatí.

### Krok 1 — Povolte MQTT na zařízení Shelly

#### Zařízení Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

1. Otevřete webové rozhraní Shelly: `http://<device-ip>/`
2. Přejděte na **Internet & Security** → **Advanced — MQTT**
3. Povolte **MQTT**
4. Nastavte **MQTT Server**: `<broker-ip>:<port>` (např. `192.168.1.10:1883`)
5. Volitelně nastavte **MQTT User** a **MQTT Password**, pokud váš broker vyžaduje autentifikaci
6. Klikněte na **Save** — zařízení se restartuje a připojí k brokeru

#### Zařízení Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

1. Otevřete webové rozhraní Shelly: `http://<device-ip>/`
2. Přejděte na **Settings** → **MQTT**
3. Povolte **MQTT**
4. Nastavte **Server**: `<broker-ip>:<port>` (např. `192.168.1.10:1883`)
5. **Client ID** je předvyplněné ID zařízení (např. `shellyplus1pm-AABBCCDDEE`) — ponechte tak, pokud nemáte konkrétní důvod ke změně
6. Klikněte na **Save** a restartujte zařízení

> [!TIP]
> Pro ověření funkčnosti MQTT použijte MQTT klienta (např. MQTT Explorer) a přihlaste se k odběru `shellies/#` (Gen1) nebo `<device-id>/#` (Gen2). Měli byste vidět stavové zprávy ze zařízení.

### Krok 2 — Zjistěte Device ID / MQTT Client ID

Některé šablony vyžadují parametr **Device ID** nebo **MQTT Client ID**. Jde o jedinečný identifikátor používaný v MQTT topicích.

- **Gen1:** nachází se na štítku jako MAC adresa (např. `AABBCCDDEE`). Device ID = `shelly<model>-<mac>`, např. `shelly1pm-AABBCCDDEE`
- **Gen2/Plus:** nachází se ve webovém rozhraní Shelly v části **Settings** → **Device Info** → **Device ID**, nebo na štítku zařízení

### Krok 3 — Konfigurace v TapHome

1. V TapHome přidejte nový modul **Packet Parser (MQTT)**
2. **IP Address:** zadejte IP adresu MQTT brokeru (např. `192.168.1.10`)
3. **Port:** `1883` (výchozí; pro TLS použijte `8883`)
4. **Device ID / MQTT Client ID:** zadejte hodnotu z kroku 2 (pokud to šablona vyžaduje)
5. Importujte šablonu — TapHome se automaticky přihlásí k odběru topiců zařízení

## Dostupná zařízení

Shelly Plus i4 Modul

Vlastní proměnné

|               |
|---------------|
| `ID` (string) |

Tlačítko 1 Tlačítko Pouze ke čtení

Tlačítko na vstupu input:0 — detekuje jedno stisknutí (1), dlouhé stisknutí (2), dvojité stisknutí (3)

numeric JSON-RPC event

Proměnná: `Button`

Tlačítko 2 Tlačítko Pouze ke čtení

Tlačítko na vstupu input:1 — detekuje jedno stisknutí (1), dlouhé stisknutí (2), dvojité stisknutí (3)

numeric JSON-RPC event

Tlačítko 3 Tlačítko Pouze ke čtení

Tlačítko na vstupu input:2 — detekuje jedno stisknutí (1), dlouhé stisknutí (2), dvojité stisknutí (3)

numeric JSON-RPC event

Tlačítko 4 Tlačítko Pouze ke čtení

Tlačítko na vstupu input:3 — detekuje jedno stisknutí (1), dlouhé stisknutí (2), dvojité stisknutí (3)

numeric JSON-RPC event

Spínač 1 Jazýčkový kontakt Pouze ke čtení

Jazýčkový kontakt na vstupu input:0 — zavřený (1), otevřený (0)

boolean JSON-RPC status

Spínač 2 Jazýčkový kontakt Pouze ke čtení

Jazýčkový kontakt na vstupu input:1 — zavřený (1), otevřený (0)

boolean JSON-RPC status

Spínač 3 Jazýčkový kontakt Pouze ke čtení

Jazýčkový kontakt na vstupu input:2 — zavřený (1), otevřený (0)

boolean JSON-RPC status

Spínač 4 Jazýčkový kontakt Pouze ke čtení

Jazýčkový kontakt na vstupu input:3 — zavřený (1), otevřený (0)

boolean JSON-RPC status

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

Možná vylepšení (7)

- Triple Push Detection — Input component supports triple\_push events but template only maps single\_push, double\_push, long\_push
- Button Press/Release Events — Raw button-down and button-up events available via MQTT but not captured by template
- Programmatic Input Trigger — Input.Trigger method allows emitting events without physical input — unique to i4/i4 Gen3 devices
- System Status (uptime, RAM, MAC, time) — Available via HTTP /rpc/Sys.GetStatus but template uses MQTT only — no HTTP polling configured
- WiFi Status (SSID, IP, RSSI) — Available via HTTP /rpc/WiFi.GetStatus but template uses MQTT only
- Analog Input Mode — Input component supports analog mode (0-100%) but template does not implement it — Plus i4 hardware supports digital inputs only
- Counter/Pulse Input Mode — Input component supports pulse counting mode but template does not implement it

## Zdroje

- Shelly Gen2+ RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-29
- Shelly Gen2+ System Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Shelly/) 2026-03-29
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Wifi/) 2026-03-29
- Shelly Gen2+ MQTT Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/) 2026-03-29
- Shelly Gen2+ Input Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Input/) 2026-03-29
- Shelly Plus i4 Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-plus-i4) 2026-03-29

## Související dokumentace

- [MQTT Integration](https://taphome.com/cs/compatibility/mqtt-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/)
- [Broker MQTT](https://taphome.com/cs/docs/integration/packet-parser/mqtt-broker/)
- [Listener skripty](https://taphome.com/cs/docs/script/listener-scripts/)

