---
title: "Sonoff SNZB-01"
description: "Zigbee Funktaster mit Erkennung von Einfach-, Doppel- und Langdruck über Zigbee2MQTT MQTT Bridge. Überwachung von Batterie, Spannung und Signalqualität."
url: "https://taphome.com/de/compatibility/zigbee2mqtt-sonoffsnzb01/"
language: de
lastmod: 2026-10-08
generator: hugo
ai:
  topics: ["mqtt","sensor","zigbee","zigbee2mqtt","battery-powered","wireless-button"]
  questions: ["Wie integriert man den Sonoff SNZB-01 mit TapHome über Zigbee2MQTT?","Welche Tastenaktionen erkennt die TapHome-Vorlage für den Sonoff SNZB-01?","Wie konfiguriert man den Zigbee2MQTT Friendly Name für den SNZB-01 in TapHome?","Warum meldet der Sonoff SNZB-01 keine Tastendrücke in TapHome?","Meldet die SNZB-01-Vorlage den Batteriestatus und die Signalqualität?"]
---

# Sonoff SNZB-01

Kommunikation: Packet Parser → MQTT

- [Sonoff SNZB-01 Produktseite](https://sonoff.tech/product/gateway-and-sensors/snzb-01/)

> Netzwerkadresse
> 
> Beim in TapHome integrierten MQTT-Broker geben Sie in TapHome `127.0.0.1` als Broker-Adresse ein. Im Gerät geben Sie die IP-Adresse des TapHome Core ein und richten für den Core eine IP-Reservierung im Router ein.
> 
> [Netzwerkvorbereitung](https://taphome.com/de/docs/setup/network-preparation/)

## Integrationsanleitung

Der Sonoff SNZB-01 ist ein kompakter kabelloser Zigbee 3.0 Taster, der mit einer CR2450 Knopfzellenbatterie betrieben wird. Er kommuniziert indirekt mit TapHome — der Taster wird mit einem Zigbee2MQTT-Koordinator (z. B. Sonoff ZBDongle-P/E oder CC2652-basierter Stick) gekoppelt, der Zigbee-Nachrichten zu MQTT-Topics weiterleitet. TapHome abonniert diese MQTT-Topics über ein PacketParser MQTT-Modul.

Die Vorlage erkennt drei Tastenaktionen (einfaches Drücken, doppeltes Drücken, langes Drücken) und überwacht den Batterieprozentsatz, die Batteriespannung und die Zigbee-Signalqualität.

## Konfiguration

### Zigbee2MQTT-Einrichtung

Vor dem Import der TapHome-Vorlage muss der SNZB-01 mit einem Zigbee2MQTT-Koordinator gekoppelt werden:

1. Öffnen Sie die Zigbee2MQTT-Weboberfläche und aktivieren Sie den Kopplungsmodus (**Permit join**)
2. Entfernen Sie am SNZB-01 die Rückabdeckung und drücken Sie die Reset-Taste 5 Sekunden lang, bis die LED dreimal blinkt
3. Das Gerät erscheint in der Zigbee2MQTT-Geräteliste mit einer IEEE-Adresse (z. B. `0x00124b001eab21e5`) oder einem Friendly Name

### Modulvariable

Setzen Sie nach dem Import der Vorlage in TapHome die benutzerdefinierte Variable `SonoffSNZB01` zur Identifikation des Geräts am MQTT-Broker:

| Variable | Beschreibung | Ermittlung | Beispiel |
|----------|-------------|------------|----------|
| `SonoffSNZB01` | Zigbee2MQTT Friendly Name oder IEEE-Adresse des SNZB-01 | Zigbee2MQTT Web UI → Devices → SNZB-01 suchen → Friendly Name oder IEEE-Adresse kopieren | `0x00124b001eab21e5` |

Die Variable wird als MQTT-Topic-Präfix verwendet — das Listener-Skript abonniert `zigbee2mqtt/{SonoffSNZB01}` und `zigbee2mqtt/{SonoffSNZB01}/action`.

> [!TIP]
> Die Verwendung des Friendly Name (z. B. `living_room_button`) anstelle der IEEE-Adresse macht die Konfiguration übersichtlicher. Der Friendly Name kann in der Zigbee2MQTT-Weboberfläche unter den Geräteeinstellungen geändert werden.

## Gerätefunktionen

### Tastendruck-Erkennung

Die Vorlage bildet den SNZB-01 als Push-Button-Gerät in TapHome ab. Tastendruck-Ereignisse kommen auf dem Topic `zigbee2mqtt/{id}/action` an und werden auf numerische Werte abgebildet:

| Physische Aktion | MQTT Payload | TapHome-Wert |
|-----------------|-------------|--------------|
| Einfaches Drücken (Loslassen + 0,6 s Wartezeit) | `single` | 1 |
| Doppeltes Drücken | `double` | 3 |
| Langes Drücken (2 Sekunden halten) | `long` | 2 |

Nach dem Lesen des Tastenstatus wird der Wert auf 0 zurückgesetzt — Tastenaktionen sind ereignisbasiert und können nicht rückwirkend gelesen werden.

### Batterie- und Signalüberwachung

Jede Taster-Instanz stellt drei Serviceattribute bereit:

- **Battery** — verbleibender Batterieprozentsatz (0–100 %) aus dem JSON-Status-Topic. Der SNZB-01 verwendet eine CR2450-Knopfzelle mit einer typischen Lebensdauer von 1–2 Jahren.
- **BatteryVoltage** — Batteriespannung in Millivolt aus dem JSON-Status-Topic.
- **LinkQuality** — Zigbee-Signalqualitätsindikator (0–255 lqi) aus dem JSON-Status-Topic. Höhere Werte zeigen ein besseres Signal an.

Alle Attribute zeigen `"-"` an, bis die erste Nachricht vom Gerät empfangen wird.

### Weitere Funktionen

Die Zigbee2MQTT Bridge bietet auch ein Topic für proaktive Statusabfragen (`zigbee2mqtt/{id}/get`), mit dem Batterie- und Spannungswerte bei Bedarf angefordert werden können, sowie ein Verfügbarkeits-Topic zur Online/Offline-Erkennung. Diese Funktionen können in einem zukünftigen Vorlagenupdate hinzugefügt werden.

## Fehlerbehebung

### Tastendrücke werden nicht erkannt

1. Überprüfen Sie, ob der SNZB-01 mit dem Zigbee2MQTT-Koordinator gekoppelt ist — er sollte in der Geräteliste mit grünem Status erscheinen
2. Prüfen Sie, ob die benutzerdefinierte Variable `SonoffSNZB01` exakt dem Friendly Name oder der IEEE-Adresse des Geräts entspricht (Groß-/Kleinschreibung beachten)
3. Verwenden Sie einen MQTT-Client (z. B. MQTT Explorer), abonnieren Sie `zigbee2mqtt/#` und drücken Sie die Taste — auf dem `/action`-Topic sollte eine Nachricht erscheinen
4. Wenn keine MQTT-Nachrichten erscheinen, hat das Gerät möglicherweise die Zigbee-Verbindung verloren — koppeln Sie es erneut durch langes Drücken der Reset-Taste für 5 Sekunden

### Veraltete Batterie- oder Signalwerte

1. Batterie- und Signaldaten werden nur aktualisiert, wenn das Gerät aufwacht (bei Tastendruck oder periodischer Meldung)
2. Wenn die Werte `"-"` anzeigen, wurde noch keine Nachricht empfangen — drücken Sie die Taste, um eine Aktualisierung auszulösen
3. Stellen Sie einen guten Empfang des Zigbee-Koordinators sicher — die Reichweite des SNZB-01 hängt vom Zigbee-Mesh-Netzwerk ab

> [!WARNING]
> Der Sonoff SNZB-01 wurde eingestellt und durch den SNZB-01P ersetzt. Die TapHome-Vorlage bleibt für bestehende SNZB-01-Geräte funktionsfähig, aber bei Neuanschaffungen sollte der SNZB-01P in Betracht gezogen werden, der eine verbesserte Reichweite und eine größere CR2477-Knopfzelle bietet.

## Verfügbare Geräte 1

Diese Geräte erscheinen nach dem Import in TapHome.

Sonoff SNZB-01 Modul

Benutzerdefinierte Variablen

`SonoffSNZB01` (string) = 0x00124b001eab21e5 Zigbee2MQTT Friendly Name oder IEEE-Adresse des SNZB-01-Geräts — wird als MQTT-Topic-Präfix verwendet

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

Funktaster Taster Lesen und Schreiben

Tastendruck-Erkennung — einfach (1), doppelt (3), lang (2); nach dem Lesen wird auf 0 zurückgesetzt

enum

Serviceattribute

|                |                                                                    |
|----------------|--------------------------------------------------------------------|
| Batterie       | Verbleibender Batterieprozentsatz (CR2450-Knopfzelle, 0–100 %)     |
| LinkQuality    | Zigbee-Signalqualitätsindikator — 0 (schlechteste) bis 255 (beste) |
| BatteryVoltage | Batteriespannung in Millivolt                                      |

Tastenstatus lesen

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

Tastenstatus schreiben

```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
```

Serviceattribute

Battery

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

LinkQuality

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

BatteryVoltage

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

**Verbindung:** Packet Parser → MQTT

Mögliche Verbesserungen (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.

## Importparameter

Diese Werte geben Sie beim Import des XML ein.

| In der App abgefragt   | Standard      |
|------------------------|---------------|
| Mqtt Broker IP-Adresse | `192.168.0.1` |
| Mqtt Broker port       | `1883`        |

## Quellen

- 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

## Verwandte Dokumentation

- [MQTT Integration](https://taphome.com/de/compatibility/mqtt-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/de/docs/integration/packet-parser/)
- [Packet-Parser-Funktionen](https://taphome.com/de/docs/script/packet-parser/)
- [Parsing-Funktionen](https://taphome.com/de/docs/script/parsing-functions/)
- [MQTT-Broker](https://taphome.com/de/docs/integration/packet-parser/mqtt-broker/)
- [Listener-Skripte](https://taphome.com/de/docs/script/listener-scripts/)

