---
title: "Shelly Plus Smoke"
description: "Bateriový fotoelektrický kouřový alarm přes MQTT. Detekce kouře se stavem alarmu, baterie a watchdog konektivity. TapHome šablona pro Shelly Plus Smoke."
url: "https://taphome.com/cs/compatibility/shelly-plus-smoke/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["mqtt","sensor","wifi","battery-powered","smoke-detector","security"]
  questions: ["Jak integrovat Shelly Plus Smoke s TapHome přes MQTT?","Co hlásí šablona Shelly Plus Smoke v TapHome?","Jak TapHome zjistí, že Shelly Plus Smoke je offline?","Proč Shelly Plus Smoke nehlásí události alarmu?","Hlásí Shelly Plus Smoke stav baterie v TapHome?","Jak funguje watchdog konektivity pro bateriová Shelly zařízení?"]
---

# Shelly Plus Smoke

Komunikace: Packet Parser → MQTT

- [Produktová stránka Shelly Plus Smoke](https://www.shelly.com/en/products/shop/shelly-plus-smoke)

> Adresa v síti
> 
> U MQTT brokeru vestavěného v TapHome zadejte v TapHome jako adresu brokeru `127.0.0.1`. V zařízení zadejte IP adresu TapHome Core a jednotce Core dejte rezervaci IP v routeru.
> 
> [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/)

## Návod na integraci

Shelly Plus Smoke je bateriový (CR123A) Wi-Fi fotoelektrický kouřový alarm certifikovaný podle DIN EN 14604. TapHome komunikuje se zařízením přes MQTT pomocí Gen2+ RPC notifikací na topicu `events/rpc`. Zařízení většinu času tráví v hlubokém spánku pro úsporu baterie a periodicky se probouzí podle nakonfigurovaného `wakeup_period`. Události kouřového alarmu vyvolají okamžité probuzení a MQTT notifikaci.

Šablona vytvoří jedno zařízení Kouřový alarm (mapované na Reed Contact) se dvěma servisními atributy Baterie (procenta a napětí). Watchdog konektivity sleduje odpočet periódy probouzení a hlásí varování nebo chyby, pokud zařízení delší dobu neodpovídalo.

## Konfigurace

### MQTT Client ID

Každý Shelly Plus Smoke má unikátní MQTT Client ID ve formátu `shellyplussmoke-<MAC12>`, kde `<MAC12>` je plná 12znaková MAC adresa v hexadecimálním tvaru velkými písmeny (např. `shellyplussmoke-AABBCCDDEEFF`). Toto ID slouží i jako výchozí prefix MQTT topiců.

Client ID najdete:

- Na štítku zařízení (MAC adresa)
- Ve webovém rozhraní Shelly: **Settings** → **MQTT** → **Client ID**
- Přes API: `GET http://<device-ip>/rpc/Mqtt.GetConfig` → pole `client_id`

### Nastavení šablony

Po importu šablony v TapHome:

1. Otevřete modul **Shelly Plus Smoke**
2. Nastavte **MQTT Broker IP** na adresu MQTT brokeru
3. Nastavte **Port** (výchozí `1883`)
4. Nastavte import parametr **MQTT ID** na Client ID zařízení (např. `shellyplussmoke-AABBCCDDEEFF`)

Modul se přihlásí k odběru `<device-id>/#` a listenerový skript parsuje `NotifyFullStatus` a `NotifyStatus` JSON-RPC události z topicu `events/rpc`.

> [!TIP]
> MQTT je na Shelly Plus Smoke ve výchozím stavu vypnuto. Povolte ho v nastavení zařízení: **Settings** → **MQTT** → **Enable**. Ujistěte se, že `rpc_ntf` (RPC notifikace) je nastaveno na `true` (výchozí). Šablona se spoléhá na `events/rpc` notifikace, ne na individuální stavové topicy.

### Chování spánku a hlášení

Shelly Plus Smoke pracuje v režimu hlubokého spánku pro maximalizaci výdrže baterie:

- **Periodické probuzení** — zařízení se probouzí v intervalech definovaných `sys.wakeup_period` a publikuje událost `NotifyFullStatus` obsahující stav baterie, stav kouřového alarmu a aktuální periodu probouzení
- **Událost alarmu** — detekce kouře vyvolá okamžité probuzení a `NotifyStatus` notifikaci se stavem alarmu
- **Mezi cykly probuzení** — zařízení je nedostupné přes HTTP a MQTT

Zařízení je napájeno jednou baterií CR123A s očekávanou výdrží až 5 let. Nepoužívejte dobíjecí baterie — výrobce před tím výslovně varuje.

> [!WARNING]
> Zařízení je napájeno z baterie a není trvale připojeno k MQTT brokeru. Mezi cykly probuzení není možná žádná komunikace. Pokud má místo senzoru slabý Wi-Fi signál, časté opětovné připojování při probuzení může výrazně zkrátit výdrž baterie.

## Schopnosti zařízení

### Kouřový alarm

Šablona mapuje stav kouřového alarmu na zařízení Reed Contact (DeviceType 1030). Listenerový skript parsuje `NotifyStatus` události na topicu `events/rpc` a čte `params['smoke:0'].alarm`:

- **ON** (alarm aktivní) — detekován kouř, vestavěný bzučák zařízení zní na >85 dB
- **OFF** (alarm zrušen) — žádný kouř, normální provoz

Stav alarmu je pouze ke čtení a aktualizuje se okamžitě při detekci kouře. Zařízení spustí okamžitou MQTT notifikaci při událostech alarmu bez ohledu na rozvrh spánku.

### Monitorování baterie

Modul poskytuje dva servisní atributy Baterie, které čtou z událostí `NotifyFullStatus`:

- **Baterie [%]** — procentuální úroveň nabití baterie z `params['devicepower:0'].battery.percent`. Varování o nízké baterii se spustí, když úroveň klesne pod 30 %
- **Baterie [V]** — napětí baterie ve Voltech z `params['devicepower:0'].battery.V`. Nominální napětí je 3V pro baterii CR123A

Obě hodnoty vrací NaN před přijetím prvního měření (tj. když je uložená hodnota stále 0). Data baterie se aktualizují při každém periodickém probuzení.

### Watchdog konektivity

Šablona monitoruje konektivitu zařízení pomocí mechanismu založeného na odpočtu. Při každé `NotifyFullStatus` události listenerový skript uloží hodnotu `sys.wakeup_period` do custom proměnné `wakeup_period`. Čtecí skript pak snižuje toto počítadlo o 60 v každém cyklu dotazování (60sekundový interval):

- **Počítadlo dosáhne 0** — zařízení se neprobudilo podle očekávání. Počítadlo se nastaví na -1 a vyvolá se **WARNING**: "Update not received"
- **Počítadlo dosáhne -86400** — zařízení mlčí 48 hodin. Vyvolá se **ERROR**: "Update not received in last 48h"

Když se zařízení probudí a odešle nový `NotifyFullStatus`, počítadlo se resetuje na čerstvou hodnotu `wakeup_period`, čímž se vymažou všechna varování.

### Další schopnosti

Shelly Plus Smoke také podporuje funkci ztlumení (`Smoke.Mute` RPC metoda) pro potlačení zvuku alarmu, testovací události kouřového alarmu spuštěné fyzickým tlačítkem a diagnostiku síly Wi-Fi signálu (RSSI). Zařízení publikuje individuální stavové topicy komponent při povoleném `status_ntf`. Tyto schopnosti mohou být přidány v budoucí aktualizaci šablony.

## Řešení problémů

### Kouřový alarm nehlásí události

1. Ověřte, že Shelly Plus Smoke je připojen k Wi-Fi a MQTT je povoleno v nastavení zařízení (**Settings** → **MQTT** → **Enable**)
2. Zkontrolujte, že `rpc_ntf` je nastaveno na `true` (výchozí) — šablona vyžaduje RPC notifikace na `events/rpc`
3. Potvrďte, že import parametr **MQTT ID** přesně odpovídá Client ID zařízení (např. `shellyplussmoke-AABBCCDDEEFF`)
4. Použijte MQTT klienta (např. MQTT Explorer) pro přihlášení k odběru `<device-id>/#` a ověřte, že zařízení publikuje `NotifyFullStatus` při probuzení
5. Zkontrolujte baterii zařízení — vybitá baterie CR123A brání zařízení připojit se k Wi-Fi

### Watchdog konektivity zobrazuje falešná varování

1. Watchdog porovnává odpočet s očekávanou periodou probouzení. Pokud jsou hodiny TapHome Core výrazně posunuty, mohou se objevit falešná varování
2. Na bateriové napájení se zařízení probouzí pouze v nakonfigurovaném `wakeup_period` intervalu — mezery mezi hlášeními jsou očekávané
3. Pokud je senzor na místě s nestabilním Wi-Fi, může se při některých cyklech probuzení nepodařit připojit. Ověřte sílu Wi-Fi signálu v místě senzoru
4. Po výměně baterie může zařízení trvat jeden kompletní cyklus probuzení, než se počítadlo watchdogu správně inicializuje

### Zařízení se zobrazuje jako Reed Contact místo kouřového alarmu

TapHome šablona používá typ zařízení PacketParserReedContact (DeviceType 1030) pro reprezentaci kouřového alarmu. Toto je správné mapování — stav ON znamená "Nouzový alarm" (detekován kouř) a stav OFF znamená "OK" (žádný kouř). Název zařízení v TapHome je "Shelly Plus Smoke" pro jasné označení jeho funkce.

## 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í

U vestavěného brokeru TapHome je `<broker-ip>` IP adresa TapHome Core. Dejte jednotce Core rezervaci IP v routeru, jinak zařízení ztratí broker, když router adresu změní → [Příprava sítě](https://taphome.com/cs/docs/setup/network-preparation/).

> [!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:** pro vestavěný broker TapHome `127.0.0.1` (jednotka se připojuje sama k sobě, adresa se nikdy nezmění); pro externí broker jeho IP adresa (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í 1

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

Shelly Plus Smoke Modul

Vlastní proměnné

|                     |                                                                                                                                                                    |
|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `deviceid` (string) | MQTT identifikátor zařízení používaný jako prefix topiců — formát: shellyplussmoke-{MACADDRESS} (najdete ve webovém rozhraní Shelly → Settings → MQTT → Client ID) |

Kouřový alarm Jazýčkový kontakt Pouze ke čtení

Stav fotoelektrického kouřového alarmu — ON = Nouzový alarm (detekován kouř), OFF = OK (žádný kouř). Alarm okamžitě spustí MQTT notifikaci s &gt;85 dB bzučákem.

boolean JSON-RPC (NotifyStatus → params.smoke:0.alarm)

Servisní atributy

|              |                                                                                                     |
|--------------|-----------------------------------------------------------------------------------------------------|
| Baterie \[%] | Procentuální úroveň nabití baterie — varování při poklesu pod 30 %. Baterie CR123A, výdrž až 5 let. |
| Baterie \[V] | Napětí baterie ve Voltech — nominální 3V pro baterii CR123A                                         |

Čtení (modul)

```taphome
if wakeup_period = 0
	# after init
else
	wakeup_period := wakeup_period - 60;
	if wakeup_period = 0
		wakeup_period := -1;
	end
end

if wakeup_period < 0
	ADDWARNING("Update not received");
end

if wakeup_period < -86400
	ADDERROR("Update not received in last 48h");
end
```

Listener

```taphome
if RECEIVEDMSG.TOPIC = deviceid + "/events/rpc"
	var method := parsejson(RECEIVEDMSG.PAYLOAD, "method", true); 
	var params := parsejson(RECEIVEDMSG.PAYLOAD, "params", true);
	if method = "NotifyFullStatus"
		wakeup_period := parsejson(params, "sys.wakeup_period");
		battery_V := parsejson(params, "devicepower:0.battery.V");
		battery_percent := parsejson(params, "devicepower:0.battery.percent");
	end
	if method = "NotifyStatus" and !ISNULL(parsejson(params, "smoke:0", true))
		var alarm := parsejson(params, "smoke:0.alarm", true);
		if !ISNULL(alarm)
			Rc := alarm;
		end
	end
end

if battery_percent < 30
	ADDWARNING("Low battery");
end
```

Servisní atributy

Battery \[%]

```taphome
if battery_percent != 0
	return(battery_percent);
else
	return(NaN);
end
```

Battery \[V]

```taphome
if battery_V != 0
	return(battery_V);
else
	return(NaN);
end
```

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

Možná vylepšení (4)

- Smoke Mute State — smoke:0.mute — true when alarm sound is suppressed via Smoke.Mute RPC. Could show muted status in TapHome.
- External Power Status — devicepower:0.external.present — always false for Plus Smoke (battery-only device), but available in API.
- WiFi RSSI — sys.wifi.rssi — signal strength in dBm. Could be used for placement diagnostics.
- Smoke Alarm Test Event — smoke.alarm\_test webhook event — triggered when user presses test button. Not captured by current template.

## Parametry importu

Tyto hodnoty zadáte při importu XML.

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

## Zdroje

- Shelly Gen2+ RPC API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/) 2026-03-27
- Shelly Gen2+ System (Sys) Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Sys/) 2026-03-27
- Shelly Gen2+ WiFi Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Wifi/) 2026-03-27
- Shelly Gen2+ MQTT Component API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Mqtt/) 2026-03-27
- HA Shelly Integration (Gen2+)
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-27
- Smoke Component API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/Smoke/) 2026-03-30
- DevicePower Component API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/ComponentsAndServices/DevicePower/) 2026-03-30
- Shelly Plus Smoke Device Profile
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen2/0.14/Devices/ShellyPlusSmoke/) 2026-03-30
- Shelly Plus Smoke KB — Specifications
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-plus-smoke) 2026-03-30

## 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/)

