TapHome

IKEA TRADFRI E1810

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

Wymaga zewnętrznej bramki

tasmota zigbee2tasmota-gateway — strona produktu

IKEA TRADFRI E1810

To urządzenie komunikuje się przez Zigbee za pośrednictwem bramki Tasmota. Upewnij się, że masz zaimportowany szablon Zigbee2Tasmota Gateway i Twoje urządzenie jest sparowane.

IKEA TRADFRI E1810 to kompaktowy 5-przyciskowy pilot Zigbee (w niektórych regionach znany również jako E1524). TapHome wykrywa naciśnięcia przycisków przez bramkę Zigbee2Tasmota za pośrednictwem MQTT i prezentuje każdy przycisk jako osobne urządzenie Push Button — umożliwiając uruchamianie scen, sterowanie ściemniaczami, roletami lub dowolną automatyzacją smart rule.

Pilot jest zasilany baterią (CR2032) i między naciśnięciami przechodzi w tryb uśpienia w celu oszczędzania energii. TapHome monitoruje poziom baterii i łączność urządzenia przez bramkę.

Konfiguracja

Parowanie pilota
  1. Upewnij się, że Zigbee2Tasmota Gateway jest skonfigurowany i przełącznik Permit Join jest włączony w TapHome
  2. Otwórz komorę baterii z tyłu pilota
  3. Naciśnij mały przycisk parowania (obok baterii CR2032) 4 razy w ciągu 5 sekund
  4. Czerwona dioda LED na pilocie zamiga kilka razy — urządzenie dołączyło do sieci Zigbee
  5. Zanotuj Device ID (np. 0x1234) z atrybutów serwisowych bramki
Parametry importu szablonu

Szablon urządzenia wymaga 4 parametrów:

ParametrOpisPrzykład
MQTT Broker IP AddressIP Twojego brokera MQTT192.168.1.10
MQTT Broker PortPort brokera (domyślnie 1883)1883
Gateway nameTasmota MQTT topic (taki sam jak w szablonie bramki)tasmota_XXXXX
Device IDKrótki adres Zigbee z parowania0x1234

Po imporcie w TapHome pojawi się 5 urządzeń Push Button — po jednym dla każdego przycisku na pilocie.

Możliwości urządzenia

Mapowanie przycisków

Szablon tworzy 5 urządzeń Push Button wykrywających naciśnięcia:

Urządzenie TapHomePrzycisk na pilocieZdarzenie Zigbee
Dimmer DownDolny (−)DimmerStepDown
Dimmer UpGórny (+)DimmerUp
LeftLewa strzałka (◀)ArrowClick = 1
RightPrawa strzałka (▶)ArrowClick = 0
ToggleŚrodkowy (●)Power

Każdy przycisk wykorzystuje detekcję impulsową — stan przycisku wraca do 0 i krótko przełącza na 1 po naciśnięciu. To idealne rozwiązanie do uruchamiania smart rules w TapHome.

E1810 obsługuje również zdarzenia hold i release w Zigbee2MQTT, ale szablon TapHome wykrywa tylko zdarzenia kliknięcia. Dla większości przypadków automatyzacji, takich jak przełączanie scen i sterowanie, jest to wystarczające.

Zastosowanie ze smart rules

Ponieważ jest to pilot, nie steruje bezpośrednio urządzeniami TapHome. Zamiast tego TapHome wykrywa każde naciśnięcie przycisku, a Ty możesz reagować za pomocą smart rules:

  • Toggle → włączanie/wyłączanie świateł, przełączanie sceny
  • Dimmer Up / Down → regulacja jasności, zmiana temperatury na termostacie
  • Left / Right → przełączanie między scenami, sterowanie roletami (otwórz/zamknij)

Skonfiguruj smart rules uruchamiane przy zmianie stanu Push Button dla każdego przycisku.

Monitorowanie baterii i łączności

Moduł odpytuje bramkę co godzinę (polecenie ZbInfo) i monitoruje:

  • Battery Percentage — szacowany poziom baterii. Przy spadku poniżej 30% wyświetlane jest ostrzeżenie
  • Battery Voltage — napięcie baterii CR2032
  • Link Quality — siła sygnału Zigbee (0–100%)
  • Wykrywanie offlineostrzeżenie pojawia się, gdy urządzenie nie było widziane przez ponad 12 godzin, a błąd po 24 godzinach

Atrybuty serwisowe zawierają również adres IEEE urządzenia, identyfikator modelu Zigbee, ciąg producenta i aktywne endpointy.

Rozwiązywanie problemów

Naciśnięcia przycisków nie są wykrywane
  1. Sprawdź, czy Device ID w szablonie odpowiada krótkiemu adresowi Zigbee przypisanemu podczas parowania (sprawdź atrybuty serwisowe bramki lub użyj ZbStatus w konsoli Tasmota)
  2. Naciśnij przycisk parowania raz, aby obudzić pilota — między naciśnięciami śpi, a pierwsze naciśnięcie po dłuższym okresie bezczynności może nie zostać zarejestrowane
  3. Sprawdź w konsoli Tasmota komunikaty ZbReceived podczas naciskania przycisków — potwierdza to, że bramka odbiera zdarzenia Zigbee
Pilot nie paruje się
  1. Przywróć ustawienia fabryczne pilota: naciśnij przycisk parowania 4 razy szybko, a następnie przytrzymaj go przez 10+ sekund, aż dioda LED zacznie pulsować
  2. Podczas parowania trzymaj pilota w odległości 2–3 metrów od bramki Zigbee
  3. Przed rozpoczęciem sekwencji parowania upewnij się, że na bramce jest aktywny Permit Join
Bateria szybko się rozładowuje
  1. Bateria CR2032 wytrzymuje zazwyczaj 1–2 lata przy normalnym użytkowaniu
  2. Jeśli ostrzeżenia o baterii pojawiają się często, sprawdź Link Quality — słaby sygnał Zigbee powoduje więcej retransmisji i szybsze rozładowanie baterii
  3. Rozważ dodanie urządzenia Zigbee router (dowolne urządzenie Zigbee zasilane z sieci) w pobliżu pilota, aby poprawić jakość sygnału

Jak zainstalować w TapHome

Wymagania wstępne

  • Bramka Zigbee z oprogramowaniem Tasmota (np. Sonoff ZBBridge, eWeLink ZB-GW03)
  • Broker MQTT działający w sieci lokalnej (wbudowany broker TapHome lub zewnętrzny)
  • TapHome CCU w tej samej sieci

TapHome ma wbudowany broker MQTT — aktywuj go w UstawieniaHardwareMQTT Broker. Nie jest potrzebne żadne dodatkowe oprogramowanie.

Krok 1 — Skonfiguruj bramkę Tasmota Zigbee

  1. Wgraj oprogramowanie Tasmota na obsługiwany koordynator Zigbee (np. Sonoff ZBBridge, eWeLink ZB-GW03)
  2. Połącz bramkę z siecią Wi-Fi przez interfejs webowy Tasmota
  3. Przejdź do ConfigurationConfigure MQTT i ustaw:
    • Host: adres IP brokera MQTT (np. 192.168.1.10)
    • Port: 1883
    • Topic: zanotuj nazwę topicu (np. tasmota_XXXXX) — będzie potrzebna przy imporcie szablonu

Szczegółowe instrukcje znajdziesz w dokumentacji Tasmota Zigbee.

Krok 2 — Importuj szablon bramki w TapHome

  1. Pobierz szablon bramki ze strony kompatybilności Zigbee2Tasmota Gateway
  2. W TapHome przejdź do UstawieniaHardwarePacket ParserImport
  3. Zaimportuj szablon z tymi parametrami:
    • MQTT Broker IP Address: adres IP brokera (np. 192.168.1.10)
    • MQTT Broker Port: 1883
    • Gateway name: topic MQTT Tasmota z kroku 1 (np. tasmota_XXXXX)

Po imporcie zobaczysz dwa urządzenia: Permit Join (przełącznik) i Devices Found (licznik).

Krok 3 — Sparuj urządzenie Zigbee

  1. W TapHome włącz przełącznik Permit Join — otworzy się 60-sekundowe okno parowania
  2. Na urządzeniu Zigbee rozpocznij procedurę parowania (zazwyczaj przytrzymaj przycisk reset przez 5 sekund, aż dioda LED zacznie migać)
  3. Obserwuj licznik Devices Found — zwiększy się, gdy nowe urządzenie się połączy
  4. Sprawdź Service Attributes bramki, aby zobaczyć ID nowego urządzenia (np. 0x1234), producenta i model
  5. Tryb parowania dezaktywuje się automatycznie po upływie limitu czasu

Krok 4 — Importuj szablon urządzenia

  1. Pobierz szablon konkretnego urządzenia z odpowiedniej strony kompatybilności
  2. Zaimportuj szablon z tymi parametrami:
    • MQTT Broker IP Address: ten sam co dla bramki
    • MQTT Broker Port: 1883
    • Gateway name: ten sam topic MQTT Tasmota co powyżej
    • Device ID: krótki adres z parowania (np. 0x1234)

Dostępne urządzenia

IKEA TRADFRI E1810 Moduł
Atrybuty serwisowe
Adres IEEEAdres IEEE Zigbee (64-bitowy unikalny identyfikator)
ID modeluIdentyfikator modelu Zigbee zgłaszany przez urządzenie
ProducentCiąg producenta Zigbee zgłaszany przez urządzenie
EndpointyAktywne endpointy Zigbee na urządzeniu
Jakość połączeniaWskaźnik jakości połączenia Zigbee (0–100 %)
Napięcie bateriiNapięcie baterii CR2032
Poziom bateriiSzacowany poziom baterii (ostrzeżenie poniżej 30 %)
Zmienne niestandardowe
GWname (string)Tasmota MQTT topic name of the Zigbee gateway (found in Configuration → MQTT → Topic)
ID (string)Zigbee short address of the IKEA TRADFRI E1810 remote (assigned during pairing)
After pairing the sensor via Permit Join, find the device short address in the gateway's Devices Found service attribute or via Tasmota console command ZbStatus

IKEA - TRADFRI - E1810

Odczyt (moduł)
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
Nasłuchiwanie
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(TOSTRING(RECEIVEDMSG.Payload), "ZbReceived." + ID, true);
    var bat := PARSEJSON(ZbReceived, "BatteryPercentage", true);
    if(!ISNULL(bat), BatteryPercentage := bat);
    var volt := PARSEJSON(ZbReceived, "BatteryVoltage", true);
    if(!ISNULL(volt), BatteryVoltage := volt);
    
    var deviceInfo := PARSEJSON(TOSTRING(RECEIVEDMSG.Payload), "ZbInfo." + ID, true);
    if !ISNULL(deviceInfo)
    	LastSeenEpoch := PARSEJSON(deviceInfo, "LastSeenEpoch");
        COMPLETESERVICEATTRIBUTE("IEEEAddr", PARSEJSON(deviceInfo, "IEEEAddr"));
        COMPLETESERVICEATTRIBUTE("ModelId", PARSEJSON(deviceInfo, "ModelId"));
        COMPLETESERVICEATTRIBUTE("Manufacturer", PARSEJSON(deviceInfo, "Manufacturer"));
        COMPLETESERVICEATTRIBUTE("Endpoints", PARSEJSON(deviceInfo, "Endpoints"));
        #COMPLETESERVICEATTRIBUTE("Config", PARSEJSON(deviceInfo, "Config"));
        COMPLETESERVICEATTRIBUTE("Link Quality", ROUND(LINEAR(PARSEJSON(deviceInfo, "LinkQuality"), 0,0, 254, 100)) + "%");
    end
end

if BatteryPercentage < 30
	ADDWARNING("Low battery (<30%)");
end

if !ISNAN(LastSeenEpoch)
	DATETIME now := NOW();
	var secondsSeen := now.UNIXTIME - LastSeenEpoch;
	if secondsSeen > 12 * 60 * 60
		if secondsSeen > 24 * 60 * 60
			ADDERROR("Device is offline > 24H");
		else
			ADDWARNING("Device is offline > 12H");        
		end
	end
end
Atrybuty serwisowe
IEEEAddr
MQTTPUBLISH("cmnd/" + GWname+ "/ZbInfo", ID)
ModelId
Manufacturer
Endpoints
Link Quality
Battery Voltage
BatteryVoltage + " V"
Battery Percentage
BatteryPercentage + "%"
Dimmer Down Przycisk Tylko do odczytu

Wykrywa naciśnięcie dolnego przycisku — uruchamiane przy zdarzeniu Zigbee DimmerStepDown

boolean pulse

Dimmer Down

Nasłuchiwanie
Bp := 0;
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var button := PARSEJSON(ZbReceived, "DimmerStepDown", true);
    if(!ISNULL(button), Bp := 1);
end
Dimmer Up Przycisk Tylko do odczytu

Wykrywa naciśnięcie górnego przycisku — uruchamiane przy zdarzeniu Zigbee DimmerUp

boolean pulse

Dimmer Up

Nasłuchiwanie
Bp := 0;
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var button := PARSEJSON(ZbReceived, "DimmerUp", true);
    if(!ISNULL(button), Bp := 1);
end
Left Przycisk Tylko do odczytu

Wykrywa naciśnięcie lewej strzałki — uruchamiane przy zdarzeniu Zigbee ArrowClick

boolean pulse

Left

Nasłuchiwanie
Bp := 0;
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var button := PARSEJSON(ZbReceived, "ArrowClick", true);
    if(!ISNULL(button) and button = 1, Bp := 1);
end
Right Przycisk Tylko do odczytu

Wykrywa naciśnięcie prawej strzałki — uruchamiane przy zdarzeniu Zigbee ArrowClick

boolean pulse

Right

Nasłuchiwanie
Bp := 0;
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var button := PARSEJSON(ZbReceived, "ArrowClick", true);
    if(!ISNULL(button) and button = 0, Bp := 1);
end
Toggle Przycisk Tylko do odczytu

Wykrywa naciśnięcie środkowego przycisku — uruchamiane przy zdarzeniu Zigbee Power

boolean pulse

Toggle

Nasłuchiwanie
Bp := 0;
if INDEXOF(RECEIVEDMSG.Topic, "SENSOR") > 0
	var ZbReceived := PARSEJSON(RECEIVEDMSG.Payload, "ZbReceived." + ID, true);
    var button := PARSEJSON(ZbReceived, "Power", true);
    if(!ISNULL(button), Bp := 1);
end
Połączenie: Packet Parser → MQTT
Możliwe ulepszenia (3)
  • Dimmer Down Hold — brightness_down_hold event — long press detection not implemented in TapHome template
  • Dimmer Up Hold — brightness_up_hold event — long press detection not implemented
  • Arrow Left/Right Hold — arrow_left_hold / arrow_right_hold — long press events not implemented

Źródła