
Shelly i3 to kompaktowy kontroler Wi-Fi z 3 wejściami do akcji i scen (model SHIX3-1). Nie posiada przekaźników ani wyjść — działa wyłącznie jako urządzenie wejściowe, które monitoruje trzy zewnętrzne przełączniki lub przyciski podłączone do zacisków SW1, SW2 i SW3. Wymiary 40 × 36 × 10 mm umożliwiają instalację wewnątrz standardowej puszki podtynkowej za istniejącym włącznikiem ściennym. Zasilany jest z 110–230 VAC (wymagany przewód neutralny) lub 24–60 VDC i pobiera mniej niż 1 W.
TapHome komunikuje się z urządzeniem przez HTTP w lokalnej sieci Wi-Fi — połączenie z chmurą nie jest wymagane. Dla każdego wejścia szablon tworzy dwa urządzenia: przełącznik wielowartościowy, który dekoduje zdarzenia multi-click (sekwencje pojedyncze, podwójne, potrójne, długie i kombinowane), oraz kontakt reed, który udostępnia surowy stan wejścia 0/1 plus akcję serwisową do przełączania między trybem toggle i momentary.
Konfiguracja
Parowanie Wi-Fi i adres IP
Po włączeniu zasilania i3 uruchamia się w trybie Access Point z SSID shellyi3-XXXXXX (gdzie XXXXXX to ostatnie 6 cyfr szesnastkowych adresu MAC). Aby sparować z siecią domową:
- Połącz telefon lub laptop z punktem dostępowym i3
- Otwórz w przeglądarce
http://192.168.33.1(lub użyj aplikacji mobilnej Shelly) - W interfejsie webowym przejdź do Internet & Security → WIFI MODE - CLIENT, wprowadź dane logowania domowej Wi-Fi i zapisz
- Urządzenie zrestartuje się i dołączy do sieci domowej przez DHCP
Aby odzyskać przydzielony adres IP, użyj tablicy dzierżaw DHCP routera lub nazwy hosta mDNS shellyi3-XXXXXXXXXXXX.local (12-znakowy sufiks MAC, ogłaszany jako _http._tcp.local.). Podczas importu szablonu TapHome wprowadź ten adres IP jako jedyny wymagany parametr.
Wyłączenie uwierzytelniania HTTP
TapHome nie potrafi uwierzytelnić się względem urządzenia. W interfejsie webowym Shelly przejdź do Internet & Security → RESTRICT LOGIN i upewnij się, że ta opcja jest wyłączona przed importem szablonu — w przeciwnym razie każde odpytanie zakończy się błędem HTTP 401.
Konfiguracja typu przycisku
Każde z trzech wejść może działać w jednym z pięciu trybów btn_type. Tylko dwa są istotne dla TapHome i udostępniane jako akcja serwisowa na urządzeniach I1 / I2 / I3:
- Momentary — dla przycisków. Firmware dekoduje pojedyncze krótkie naciśnięcie (
S), długie naciśnięcie (L), podwójne krótkie naciśnięcie (SS), potrójne krótkie naciśnięcie (SSS), krótkie→długie (SL) oraz długie→krótkie (LS). Wymagane, aby urządzenia Events I{N} wyzwoliły cokolwiek innego niżNone. - Toggle — dla tradycyjnych przełączników kołyskowych lub dźwigniowych. Raportowany jest tylko surowy stan 0/1; przełącznik wielowartościowy pozostaje na indeksie 0.
Typ przycisku można zmienić w dowolnym momencie z TapHome za pomocą akcji serwisowej Button Type na każdym urządzeniu I1 / I2 / I3, lub bezpośrednio w interfejsie webowym Shelly w Settings → Input/Output settings.
Firmware obsługuje również tryby
edge,detachediaction, ale nie są one udostępniane w szablonie TapHome. Nadal można je ustawić z interfejsu webowego Shelly bez naruszenia integracji — zmienia się jedynie zachowanie dekodowania multi-click.
Funkcje urządzenia
Dekodowanie zdarzeń multi-click (Events I1, Events I2, Events I3)
Dla każdego wejścia przełącznik wielowartościowy dekoduje kod zdarzenia z poziomu firmware na jedną z siedmiu wartości:
| Indeks | Zdarzenie | Kod Shelly |
|---|---|---|
| 0 | None | "" (idle) |
| 1 | Shortpush | S |
| 2 | Longpush | L |
| 3 | Double Shortpush | SS |
| 4 | Triple Shortpush | SSS |
| 5 | Shortpush + Longpush | SL |
| 6 | Longpush + Shortpush | LS |
Szablon odpytuje /input/{0,1,2} co 2,5 sekundy i odczytuje pole event. Przy 6 zdarzeniach × 3 wejścia Shelly reklamuje i3 jako wspierający do 18 odrębnych akcji multi-click (24, jeśli surowe zmiany stanu on/off są liczone jako oddzielne wyzwalacze).
Próg długiego naciśnięcia oraz okno multi-push są skonfigurowane globalnie na urządzeniu (wartości domyślne: 800 ms dla długiego naciśnięcia, 500 ms okno między naciśnięciami). Można je dostroić w interfejsie webowym Shelly w Settings → Long Push Duration i Multi Push Time.
Surowy stan wejścia i sterowanie typem przycisku (I1, I2, I3)
Dla każdego wejścia urządzenie reed-contact udostępnia surowy stan logiczny odczytany z pola input w /input/{N} (0 = otwarty, 1 = zamknięty, po opcjonalnej inwersji btn_reverse). Każde urządzenie I1 / I2 / I3 zawiera również:
- Button Type — atrybut serwisowy z bieżącą wartością
btn_type(toggle / momentary / edge / detached / action) - Button Type — akcja serwisowa, która przełącza wejście między Toggle i Momentary, zapisując
POST /settings/input/{N}?btn_type=...
Surowy stan jest odpowiedni dla magnetycznych kontaktów drzwi / okien podłączonych do zacisków SW lub do śledzenia w czasie rzeczywistym pozycji przełącznika dźwigniowego.
Diagnostyka serwisowa
Pojedynczy atrybut serwisowy na poziomie modułu udostępnia Wi-Fi SSID, do którego i3 jest aktualnie podłączony (odczyt z /status → wifi_sta.ssid). Inne diagnostyki Gen1 (uptime, MAC, RSSI, flaga aktualizacji firmware) są dostępne w REST API urządzenia, ale nie są udostępnione w tym szablonie.
Zdarzenia multi-click wyzwalają się tylko w trybie momentary. Jeśli wejście fizyczne jest podłączone przez tradycyjny przełącznik dźwigniowy, skonfiguruj to wejście jako Toggle i użyj urządzenia reed-contact I{N} do odczytu jego stanu 0/1 — odpowiadające urządzenie Events I{N} pozostanie na indeksie 0.
Rozwiązywanie problemów
Zdarzenia multi-click nie są wykrywane
- Sprawdź, czy wejście jest w trybie momentary — otwórz urządzenie I{N} w TapHome, uruchom akcję serwisową Button Type i wybierz Momentary, lub ustaw bezpośrednio w interfejsie webowym Shelly w Settings → Input/Output settings
- W trybie toggle firmware raportuje tylko zmiany stanu; przełącznik wielowartościowy Events I{N} pozostaje na indeksie 0
- Dostosuj Long Push Duration (domyślnie 800 ms) i Multi Push Time (domyślnie 500 ms) w interfejsie webowym Shelly, jeśli naciśnięcia są dekodowane jako niewłaściwe zdarzenie
- Długie sekwencje, takie jak
SSS,SLlubLS, wymagają, aby użytkownik utrzymał wszystkie naciśnięcia w obrębie okna multi-push — przerwy dłuższe niż to okno są dekodowane jako oddzielne zdarzeniaS
To samo zdarzenie powtarza się w nieskończoność / „zacięte" zdarzenie
Pole event zwracane przez /input/{N} to ostatnie zdekodowane zdarzenie — firmware nie czyści go automatycznie. TapHome odczytuje to pole przy każdym odpytaniu, więc przełącznik wielowartościowy będzie nadal raportował poprzednie zdarzenie, dopóki nie wystąpi nowe. Jest to normalne zachowanie i nie wskazuje na usterkę. Pisząc logikę niestandardową wyzwalaną przy każdym naciśnięciu, sparuj zdarzenie z monotonicznym licznikiem event_cnt (również dostępnym w /input/{N}), aby wykryć zmianę zamiast polegać wyłącznie na wartości event.
Urządzenie nie odpowiada
- Sprawdź, czy i3 jest podłączony do Wi-Fi — otwórz w przeglądarce
http://{device-ip}/shelly; jeśli zwróci obiekt JSON, urządzenie jest osiągalne - Spróbuj nazwy hosta mDNS
shellyi3-XXXXXXXXXXXX.localzamiast adresu IP — IP mogło zmienić się po odnowieniu DHCP - Upewnij się, że uwierzytelnianie HTTP jest wyłączone w Internet & Security → Restrict login — TapHome nie może wysłać poświadczeń, a każde żądanie zwróci HTTP 401
- Sprawdź, czy TapHome Core i urządzenie Shelly są w tej samej sieci lub VLAN z dozwolonym mDNS / multicastem
Urządzenia Shelly Gen1 akceptują maksymalnie 2 jednoczesne połączenia HTTP. Dostarczony szablon odpytuje każde wejście co 2,5 s, co już jest blisko limitu. Nie obniżaj interwału odpytywania i unikaj uruchamiania innego systemu (np. Home Assistant, własnych skryptów), który odpytuje to samo i3 jednocześnie — komunikacja może stać się niestabilna.
Szablon XML zawiera trzy zarezerwowane indeksy wielowartościowe (7, 8, 9 z surowymi kodami 71/72/73 i ogólnymi etykietami „7" / „8" / „9"). Firmware Gen1 nie emituje żadnych zdarzeń poza
S,L,SS,SSS,SLiLS, więc te indeksy są nieużywanymi miejscami zastępczymi, a wartość urządzenia Events I{N} nie powinna w praktyce nigdy osiągnąć 7-9.