TapHome

Zigbee2Tasmota Gateway

Packet Parser → MQTT
Dodane przez
Ostatnia aktualizacja: 03. 2026
Zigbee2Tasmota Gateway

Zigbee2Tasmota (Z2T) to lekki bridge Zigbee-to-MQTT działający na mikrokontrolerach ESP8266/ESP32 ze zintegrowanym modułem radiowym Zigbee. Umożliwia TapHome komunikację z urządzeniami Zigbee przez lokalny broker MQTT — bez połączenia z chmurą.

Ten szablon bramy jest warunkiem wstępnym dla wszystkich szablonów urządzeń Zigbee2Tasmota. Musi być zaimportowany jako pierwszy, przed dodaniem jakichkolwiek szablonów urządzeń Zigbee. Brama obsługuje parowanie urządzeń i udostępnia w TapHome przełącznik Permit Join oraz licznik Devices Found.

Obsługiwany sprzęt bramy

Następujące koordynatory Zigbee są kompatybilne z Zigbee2Tasmota:

BramaProcesorRadio ZigbeeŁącznośćUwagi
eWeLink ZB-GW03 (zalecany)ESP32EFR32 (EZSP)Ethernet + ZigbeeDostępny z preinstalowanym firmware Tasmota
Sonoff ZBBridgeESP8266EFR32 (EZSP)WiFi + ZigbeeWymaga ręcznego flashowania firmware Tasmota
Sonoff ZBBridge ProESP32CC2652P (ZNP)WiFi + ZigbeeDo 128 urządzeń, wymaga flashowania

Inny kompatybilny sprzęt to Tube’s Ethernet Zigbee Gateway (na bazie EFR32) oraz własne zestawy DIY z ESP32 i modułami CC2530/CC2652.

eWeLink ZB-GW03 jest zalecany dzięki połączeniu Ethernet (bardziej niezawodne niż WiFi) i dostępności z preinstalowanym firmware Tasmota — bez konieczności flashowania.

Konfiguracja

Konfiguracja bramy Tasmota
  1. Zainstaluj firmware Tasmota na koordynatorze Zigbee (pomiń, jeśli preinstalowany)
  2. Podłącz bramę do sieci przez interfejs webowy Tasmota
  3. Przejdź do ConfigurationConfigure MQTT i ustaw:
    • Host: adres IP brokera MQTT (np. 192.168.1.10)
    • Port: 1883
  4. Zapisz nazwę Topic (np. tasmota_XXXXX) — to parametr Gateway name potrzebny podczas importu szablonu

TapHome ma wbudowany broker MQTT — aktywuj go w SettingsHardwareMQTT Broker. Nie jest potrzebne dodatkowe oprogramowanie brokera.

Parametry importu szablonu

Szablon bramy wymaga 3 parametrów:

ParametrOpisPrzykład
MQTT Broker IP AddressAdres IP brokera MQTT192.168.1.10
MQTT Broker PortPort brokera (domyślny 1883)1883
Gateway nameTopic MQTT Tasmota z Configuration → MQTT → Topictasmota_XXXXX

Po zaimportowaniu moduł subskrybuje tele/{GWname}/# i pojawiają się dwa urządzenia: Permit Join i Devices Found.

Funkcje urządzenia

Parowanie urządzeń Zigbee

Przełącznik Permit Join steruje trybem parowania bramy:

  1. Włącz Permit Join w TapHome — powoduje to wysłanie polecenia ZbPermitJoin, które otwiera 60-sekundowe okno parowania
  2. Uruchom procedurę parowania na urządzeniu Zigbee (zwykle przytrzymaj przycisk reset przez 5 sekund, aż LED zacznie migać)
  3. Obserwuj licznik Devices Found — zwiększa się, gdy nowe urządzenie pomyślnie dołączy do sieci
  4. Sprawdź atrybut serwisowy New devices na bramie, aby zobaczyć ID sparowanego urządzenia (np. 0x1234), producenta i model
  5. Tryb parowania deaktywuje się automatycznie po upłynięciu limitu czasu

Device ID (krótki adres, np. 0x1234) wyświetlany w atrybutach serwisowych jest potrzebny podczas importu szablonów specyficznych dla urządzenia.

Monitorowanie urządzeń

Moduł bramy co godzinę odpytuje ZbInfo w celu odświeżenia informacji o wszystkich sparowanych urządzeniach Zigbee. Atrybut serwisowy New devices pokazuje szczegóły ostatnio wykrytych urządzeń, w tym ich krótki adres Zigbee, producenta i identyfikator modelu.

Dodatkowe funkcje

Brama Tasmota Zigbee obsługuje również wyświetlanie listy wszystkich sparowanych urządzeń (ZbStatus), przeglądanie konfiguracji sieci (ZbConfig — PanID, kanał, klucze szyfrowania), nazywanie urządzeń, zarządzanie grupami oraz bezpośrednie wiązanie urządzeń między sobą. Te funkcje diagnostyczne i zarządzania mogą być dodane w przyszłej aktualizacji szablonu.

Obsługiwane szablony urządzeń Zigbee

Po sparowaniu urządzenia zaimportuj odpowiedni szablon specyficzny dla danego urządzenia. Każdy szablon urządzenia wymaga 4 parametrów: MQTT Broker IP, Port, Gateway name (taki sam jak bramy) oraz Device ID z parowania.

Dostępne szablony urządzeń Zigbee2Tasmota:

Rozwiązywanie problemów

Brama nie łączy się z brokerem MQTT
  1. Sprawdź, czy brama Tasmota jest podłączona do sieci (sprawdź interfejs webowy Tasmota)
  2. Potwierdź, że adres IP i port brokera MQTT są zgodne między konfiguracją MQTT w Tasmota a parametrami importu szablonu w TapHome
  3. Sprawdź, czy broker MQTT działa i jest dostępny na podanym porcie
Permit Join nie znajduje urządzeń
  1. Upewnij się, że urządzenie Zigbee jest w trybie parowania — większość urządzeń wymaga przytrzymania przycisku przez 5+ sekund
  2. Sprawdź, czy przełącznik Permit Join jest włączony w TapHome przed rozpoczęciem procedury parowania urządzenia
  3. Podczas pierwszego parowania umieść urządzenie Zigbee bliżej bramy (w odległości 2–3 metrów)
  4. Niektóre urządzenia wymagają przywrócenia ustawień fabrycznych przed sparowaniem z nowym koordynatorem
Device ID się nie wyświetla
  1. Po udanym sparowaniu sprawdź atrybut serwisowy New devices na module bramy, aby zobaczyć Device ID, producenta i model
  2. Jeśli atrybut serwisowy jest pusty, spróbuj przełączyć Permit Join na OFF i ponownie na ON, a następnie sparuj urządzenie ponownie
  3. Device ID można również znaleźć w konsoli Tasmota (polecenie ZbStatus) przez interfejs webowy bramy

Kanał radiowy Zigbee nie powinien nakładać się na kanał Wi-Fi. Dla najlepszych rezultatów użyj kanałów Zigbee 15, 20 lub 25, które mają minimalne zakłócenia Wi-Fi. Aktualny kanał sprawdzisz poleceniem ZbConfig w konsoli Tasmota.

Dostępne urządzenia

Zigbee2Tasmota Gateway Moduł
Atrybuty serwisowe
Nowe urządzeniaNiedawno wykryte urządzenia Zigbee — wyświetla ID urządzenia, producenta i model po sparowaniu
Zmienne niestandardowe
GWname (string)Nazwa topicu MQTT Tasmota bramy Zigbee (znajduje się w Configuration → MQTT → Topic)

Tasmota - Zigbee GW

Odczyt (moduł)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", "");
Zapis (moduł)
if (St = 0, count := NaN, if (isnan(count), count := 0) )
Nasłuchiwanie
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
    var ModelId := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".ModelId", true);
    var Manufacturer := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID + ".Manufacturer", true);
    if !ISNULL(Manufacturer) and !ISNULL(ModelId)
    	new := new + ID + " - " + Manufacturer + " (" + ModelId + ")";
    	ID := "";
    	count := count +1;
    end
end

if INDEXOF(RECEIVEDMSG.Topic, "RESULT") > 0
	if PARSEJSON(RECEIVEDMSG.Payload, "$.ZbState.JoinStatus", true) = 1
		ID := PARSEJSON(RECEIVEDMSG.Payload, "$.ZbState.ShortAddr");
	end
end
Atrybuty serwisowe
New devices
new
Znalezione urządzenia Zmienna Tylko do odczytu

Licznik pomyślnie sparowanych urządzeń Zigbee — zwiększa się podczas Permit Join, gdy nowe urządzenie dołączy

numeric
Atrybuty serwisowe
Nowe urządzeniaSzczegóły sparowanego urządzenia — ID, producent i model wykrytych urządzeń Zigbee

Znalezione urządzenia

Odczyt
Va := count
Atrybuty serwisowe
New devices
new
Permit Join Przełącznik

Przełącznik trybu parowania Zigbee — włącza 60-sekundowe okno na dołączenie nowych urządzeń do sieci

boolean
Wartości / Stany: ON · OFF

Permit Join

Zapis stanu przełącznika
if St = 1
	MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", "");
	new := "";
	ID := "";
end

MQTTPUBLISH("cmnd/" + GWname+ "/ZbPermitJoin", tostring(St));
Nasłuchiwanie
if INDEXOF(RECEIVEDMSG.Topic, "RESULT") > 0
    var Status := PARSEJSON(RECEIVEDMSG.Payload, "ZbState.Status", true);
    if Status = 20
        St := 0;
    elseif Status = 21
        St := 1;
    end
end

if (St = 0, count := NaN, if (isnan(count), count := 0) )
Połączenie: Packet Parser → MQTT
Możliwe ulepszenia (2)
  • Zigbee Device List — Lists all paired devices with short/IEEE addresses. Could provide a device inventory view.
  • Zigbee Network Configuration — PanID, ExtPanID, channel, encryption keys. Could expose as service attributes.

Źródła