---
title: "Sonoff SNZB-01"
description: "Zigbee tlačítko Sonoff SNZB-01 v TapHome přes Zigbee2MQTT a MQTT: jednoduchý, dvojitý a dlouhý stisk, baterie, napětí a kvalita signálu."
url: "https://taphome.com/cs/compatibility/zigbee2mqtt-sonoffsnzb01/"
language: cs
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2mqtt","battery-powered","wireless-button"]
  questions: ["Jak integrovat Sonoff SNZB-01 s TapHome přes Zigbee2MQTT?","Jaké akce tlačítka rozpoznává TapHome šablona pro Sonoff SNZB-01?","Jak nastavit Zigbee2MQTT friendly name pro SNZB-01 v TapHome?","Proč Sonoff SNZB-01 nehlásí stisknutí tlačítka v TapHome?","Hlásí šablona SNZB-01 stav baterie a kvalitu signálu?"]
---

# Sonoff SNZB-01

Komunikace: Packet Parser → MQTT

- [Produktová stránka Sonoff SNZB-01](https://sonoff.tech/product/gateway-and-sensors/snzb-01/)

> 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

Sonoff SNZB-01 je kompaktní bezdrátové Zigbee 3.0 tlačítko napájené knoflíkovou baterií CR2450. S TapHome komunikuje nepřímo — tlačítko se spáruje se Zigbee2MQTT koordinátorem (např. Sonoff ZBDongle-P/E nebo CC2652-based stick), který přemosťuje Zigbee zprávy na MQTT topicy. TapHome se přihlašuje k těmto MQTT topicům přes PacketParser MQTT modul.

Šablona rozpoznává tři akce tlačítka (jednoduché stisknutí, dvojité stisknutí, dlouhé stisknutí) a monitoruje procentuální stav baterie, napětí baterie a kvalitu Zigbee signálu.

## Konfigurace

### Nastavení Zigbee2MQTT

Před importem TapHome šablony musí být SNZB-01 spárován se Zigbee2MQTT koordinátorem:

1. Otevřete webové rozhraní Zigbee2MQTT a povolte párovací režim (**Permit join**)
2. Na SNZB-01 odstraňte zadní kryt a dlouze stiskněte reset tlačítko na 5 sekund, dokud LED třikrát zabliká
3. Zařízení se objeví v seznamu zařízení Zigbee2MQTT s IEEE adresou (např. `0x00124b001eab21e5`) nebo friendly name

### Proměnná modulu

Po importu šablony v TapHome nastavte vlastní proměnnou `SonoffSNZB01` pro identifikaci zařízení na MQTT brokeru:

| Proměnná | Popis | Jak získat | Příklad |
|----------|-------|------------|---------|
| `SonoffSNZB01` | Zigbee2MQTT friendly name nebo IEEE adresa SNZB-01 | Zigbee2MQTT web UI → Devices → najděte SNZB-01 → zkopírujte friendly name nebo IEEE adresu | `0x00124b001eab21e5` |

Proměnná se používá jako prefix MQTT topicu — listener skript se přihlašuje k `zigbee2mqtt/{SonoffSNZB01}` a `zigbee2mqtt/{SonoffSNZB01}/action`.

> [!TIP]
> Použití friendly name (např. `living_room_button`) místo IEEE adresy činí konfiguraci čitelnější. Friendly name lze změnit ve webovém rozhraní Zigbee2MQTT v nastavení zařízení.

## Funkce zařízení

### Detekce stisknutí tlačítka

Šablona mapuje SNZB-01 jako Push Button zařízení v TapHome. Události stisknutí přicházejí na topic `zigbee2mqtt/{id}/action` a jsou mapovány na číselné hodnoty:

| Fyzická akce | MQTT payload | Hodnota v TapHome |
|-------------|-------------|-------------------|
| Jednoduché stisknutí (uvolnění + 0,6 s čekání) | `single` | 1 |
| Dvojité stisknutí | `double` | 3 |
| Dlouhé stisknutí (podržení 2 sekundy) | `long` | 2 |

Po přečtení stavu tlačítka se hodnota resetuje na 0 — akce tlačítka jsou založeny na událostech a nelze je zpětně číst.

### Monitoring baterie a signálu

Každá instance tlačítka poskytuje tři servisní atributy:

- **Battery** — zbývající procento baterie (0–100 %) ze stavového JSON topicu. SNZB-01 používá knoflíkovou baterii CR2450 s typickou životností 1–2 roky.
- **BatteryVoltage** — napětí baterie v milivoltech ze stavového JSON topicu.
- **LinkQuality** — indikátor kvality Zigbee signálu (0–255 lqi) ze stavového JSON topicu. Vyšší hodnoty znamenají lepší signál.

Všechny atributy zobrazují `"-"` dokud není přijata první zpráva ze zařízení.

### Další funkce

Zigbee2MQTT bridge také poskytuje topic pro proaktivní vyžádání stavu (`zigbee2mqtt/{id}/get`), který umožňuje vyžádat hodnoty baterie a napětí na vyžádání, a topic dostupnosti pro detekci online/offline stavu. Tyto funkce mohou být přidány v budoucí aktualizaci šablony.

## Řešení problémů

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

1. Ověřte, že SNZB-01 je spárován se Zigbee2MQTT koordinátorem — měl by se zobrazovat v seznamu zařízení se zeleným stavem
2. Zkontrolujte, zda vlastní proměnná `SonoffSNZB01` přesně odpovídá friendly name nebo IEEE adrese zařízení (rozlišují se velká a malá písmena)
3. Použijte MQTT klienta (např. MQTT Explorer) pro přihlášení k `zigbee2mqtt/#` a stiskněte tlačítko — na topicu `/action` by se měla objevit zpráva
4. Pokud se neobjevují žádné MQTT zprávy, zařízení mohlo ztratit Zigbee spojení — znovu spárujte dlouhým stisknutím reset tlačítka na 5 sekund

### Neaktuální hodnoty baterie nebo kvality signálu

1. Údaje o baterii a signálu se aktualizují pouze když se zařízení probudí (při stisknutí tlačítka nebo periodickém hlášení)
2. Pokud hodnoty zobrazují `"-"`, dosud nebyla přijata žádná zpráva — stiskněte tlačítko pro vyvolání aktualizace
3. Zajistěte dobrý příjem Zigbee koordinátora — dosah SNZB-01 závisí na Zigbee mesh síti

> [!WARNING]
> Sonoff SNZB-01 byl ukončen a nahrazen modelem SNZB-01P. TapHome šablona zůstává funkční pro stávající zařízení SNZB-01, ale při novém nákupu zvažte SNZB-01P, který nabízí vylepšený dosah a větší knoflíkovou baterii CR2477.

## Dostupná zařízení 1

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

Sonoff SNZB-01 Modul

Vlastní proměnné

`SonoffSNZB01` (string) = 0x00124b001eab21e5 Zigbee2MQTT friendly name nebo IEEE adresa zařízení SNZB-01 — používá se jako prefix MQTT topicu

Open Zigbee2MQTT web UI → Devices → find SNZB-01 → copy the Friendly name (or use the IEEE address, e.g. 0x00124b001eab21e5)

Bezdrátové tlačítko Tlačítko Čtení i zápis

Detekce stisknutí tlačítka — jednoduché (1), dvojité (3), dlouhé (2); po přečtení se resetuje na 0

enum

Servisní atributy

|                |                                                                   |
|----------------|-------------------------------------------------------------------|
| Baterie        | Zbývající procento baterie (knoflíková baterie CR2450, 0–100 %)   |
| LinkQuality    | Indikátor kvality Zigbee signálu — 0 (nejhorší) až 255 (nejlepší) |
| BatteryVoltage | Napětí baterie v milivoltech                                      |

Čtení stavu tlačítka

```taphome
Bp := 0;
```

Zápis stavu tlačítka

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Bp);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Bp, "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\":" + Bp + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Bp + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Bp, "write"); # use "append" mode to append data to existing file
```

Listener

```taphome
Bp := 0;

IF (COMPARE(RECEIVEDMSG.TOPIC, "zigbee2mqtt/"+ SonoffSNZB01 +"/action", CompareOptions.IgnoreCase) = 0)
	var payloadString := TOSTRING(RECEIVEDMSG.PAYLOAD);
	
    IF (COMPARE(payloadString, "single", CompareOptions.IgnoreCase) = 0)
          Bp := 1;
        ELSEIF (COMPARE(payloadString, "long", CompareOptions.IgnoreCase) = 0)
          Bp := 2;
        ELSEIF (COMPARE(payloadString, "double", CompareOptions.IgnoreCase) = 0)
          Bp := 3;
        ELSE
          Bp := 0;
    END  
END;   

IF (COMPARE(RECEIVEDMSG.TOPIC, "zigbee2mqtt/"+ SonoffSNZB01, CompareOptions.IgnoreCase) = 0)
    battery := PARSEJSON(RECEIVEDMSG.PAYLOAD,"battery", true);
    voltage := PARSEJSON(RECEIVEDMSG.PAYLOAD,"voltage", true);
    link := PARSEJSON(RECEIVEDMSG.PAYLOAD,"linkquality", true);
    
END
```

Servisní atributy

Battery

```taphome
IF(ISNAN(battery),"-",battery+"%");
```

LinkQuality

```taphome
IF(ISNAN(link),"-",link+"lqi");
```

BatteryVoltage

```taphome
IF(ISNAN(voltage),"-",voltage+"mV");
```

**Připojení:** Packet Parser → MQTT

Možná vylepšení (2)

- Proactive State Request — Publish {"battery":""} or {"voltage":""} to request values on demand. Could wake sleeping device.
- Availability Status — Online/offline availability topic. Could detect unreachable devices.

## Parametry importu

Tyto hodnoty zadáte při importu XML.

| Ptá se v aplikaci     | Výchozí       |
|-----------------------|---------------|
| Mqtt Broker IP adresa | `192.168.0.1` |
| Mqtt Broker port      | `1883`        |

## Zdroje

- Zigbee2MQTT — SNZB-01 device page
  
  [www.zigbee2mqtt.io](https://www.zigbee2mqtt.io/devices/SNZB-01.html) 2026-03-30
- Zigbee2MQTT GitHub — SNZB-01 device definition
  
  [github.com](https://github.com/Koenkk/zigbee2mqtt.io/blob/master/docs/devices/SNZB-01.md) 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/)

