TapHome

Shelly Dimmer 2

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 03. 2026
Shelly Dimmer 2

Shelly Dimmer 2 to kompaktowy moduł ściemniacza Wi-Fi przeznaczony do montażu za przełącznikiem. Obsługuje ściemnialne LED-y (10 – 200 W), żarówki/halogeny (10 – 220 W) i transformatory ferromagnetyczne. TapHome komunikuje się z urządzeniem przez HTTP w sieci lokalnej — połączenie z chmurą nie jest wymagane.

Szablon zapewnia sterowanie jasnością z konfigurowalnym płynnym przejściem, przełącznik światła i miernik energii odczytujący moc chwilową i łączne zużycie.

Konfiguracja

Shelly Dimmer 2 łączy się przez Wi-Fi. Podczas importu szablonu do TapHome wprowadź adres IP urządzenia (domyślny symbol zastępczy 192.168.0.1).

Urządzenie obsługuje cztery konfiguracje okablowania:

  • Z przewodem neutralnym — standardowa instalacja z zaciskami N, L, SW1, SW2, O
  • Bez przewodu neutralnego, minimalne obciążenie 10 W — bez podłączenia przewodu neutralnego, wymaga co najmniej 10 W obciążenia
  • Bez przewodu neutralnego + Shelly Bypass — dla obciążeń poniżej 10 W wymagany jest moduł Shelly Bypass
  • Przełączany przewód neutralny — alternatywne okablowanie z przełączaną linią neutralną

Poniżej minimalnego obciążenia (10 W z przewodem neutralnym, 20 W bez) ściemniacz może migać lub nie włączyć się. Dla obciążeń o niskiej mocy bez przewodu neutralnego użyj modułu Shelly Bypass.

Funkcje urządzenia

Sterowanie jasnością

Szablon udostępnia urządzenie ściemniacza, które odczytuje poziom jasności z /light/0 (pole brightness, 0 – 100 %) i ustawia go przez /light/0?brightness={wartość}. Wartość jest wewnętrznie normalizowana — API używa 0 – 100 %, podczas gdy TapHome pracuje z zakresem 0,0 – 1,0.

Atrybut serwisowy Transition wyświetla aktualny czas przejścia w milisekundach. Akcja serwisowa Transition pozwala ustawić płynne przejście jasności (0 – 5000 ms) dla pojedynczych poleceń przez /light/0?transition={ms}.

Przełącznik światła

Stan włączenia/wyłączenia światła jest sterowany niezależnie od poziomu jasności. Szablon odczytuje ison z /light/0 i zapisuje przez /light/0?turn=on lub /light/0?turn=off. Urządzenie ma flagę zdolności lighting — w TapHome pojawia się jako przełącznik światła, nie jako przekaźnik ogólny.

Pomiar mocy

Wbudowany miernik energii odczytuje dwie wartości z odpowiedzi /status:

  • Moc chwilowameters[0].power w watach, konwertowana przez szablon na kW
  • Łączne zużyciemeters[0].total w wat-minutach, konwertowane przez szablon na kWh

Miernik jest tylko do odczytu i aktualizuje się automatycznie w każdym cyklu odpytywania (interwał 15 sekund).

Diagnostyka serwisowa

Atrybut serwisowy WiFi na poziomie modułu odczytuje podłączone SSID z /settings.

Dodatkowe funkcje

Shelly Dimmer 2 udostępnia w odpowiedzi /status również temperaturę wewnętrzną, stan ochrony przed przegrzaniem, ważność pomiaru, siłę sygnału WiFi i dwa fizyczne wejścia przełączników (SW1, SW2). Przez API dostępny jest tryb nocny z planowanym ograniczeniem jasności i stopniowe ściemnianie krokowe. Dla pojedynczych poleceń można ustawić timer automatycznego wyłączania. Te funkcje mogą zostać dodane w przyszłej aktualizacji szablonu.

Rozwiązywanie problemów

Urządzenie nie odpowiada
  1. Sprawdź, czy Shelly jest połączony z Wi-Fi i ma prawidłowy adres IP
  2. Spróbuj użyć nazwy hosta mDNS (shellydimmer2-AABBCCDDEE.local) zamiast adresu IP — IP mógł się zmienić po odnowieniu DHCP
  3. Otwórz http://{ip-urzadzenia}/shelly w przeglądarce — jeśli odpowiada, urządzenie jest osiągalne
  4. Sprawdź, czy TapHome CCU i Shelly są w tej samej sieci / VLAN
Miganie lub niestabilne ściemnianie
  1. Upewnij się, że podłączone obciążenie spełnia wymaganie minimalnej mocy (10 W z przewodem neutralnym, 20 W bez)
  2. Sprawdź, czy typ obciążenia jest obsługiwany — nie wszystkie sterowniki LED są kompatybilne ze ściemniaczami z odcięciem tylnej krawędzi
  3. Dostosuj ustawienie min_brightness przez /settings/light/0, jeśli światło miga przy niskich poziomach
  4. Zwiększ czas warm_up (0 – 1000 ms) w /settings/light/0 dla obciążeń wymagających okresu rozruchu
Pomiar mocy pokazuje zero
  1. Upewnij się, że obciążenie jest podłączone przez ściemniacz (nie ominięte)
  2. Sprawdź, czy światło jest włączone — miernik mierzy tylko przy przepływie prądu
  3. Ręcznie wyślij zapytanie do /status i sprawdź, czy meters[0].power zwraca wartość niezerową

Urządzenia Shelly Gen1 obsługują tylko 2 jednoczesne połączenia HTTP. Jeśli TapHome i inny system (np. Home Assistant) odpytują to samo urządzenie jednocześnie, komunikacja może stać się zawodna. Użyj interwału odpytywania 10 – 30 sekund.

Jak zainstalować w TapHome

Wymagania wstępne

  • Urządzenie Shelly zainstalowane i włączone
  • Lokalna sieć Wi-Fi (2,4 GHz)
  • TapHome CCU w tej samej sieci

Krok 1 — Podłącz Shelly do Wi-Fi

Opcja A — Aplikacja Shelly (zalecana):

  1. Pobierz aplikację Shelly (iOS / Android)
  2. Dotknij +Add Device i postępuj zgodnie z kreatorem parowania Bluetooth
  3. Wprowadź dane logowania Wi-Fi, gdy zostaniesz o to poproszony

Opcja B — Tryb AP (bez aplikacji):

  1. Przy pierwszym uruchomieniu urządzenie tworzy hotspot: ShellyXXX-AABBCCDDEE
  2. Połącz telefon/PC z tym hotspotem
  3. Otwórz http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Wprowadź SSID i hasło → Save

Shelly obsługuje tylko sieci 2,4 GHz. Sieci 5 GHz nie pojawią się podczas skanowania.

Krok 2 — Znajdź adres IP

Po połączeniu z Wi-Fi znajdź przypisany adres IP za pomocą jednej z poniższych metod:

  • Aplikacja Shelly: Szczegóły urządzenia → Device info → Adres IP
  • Interfejs webowy Shelly: Połącz się z AP urządzenia przed konfiguracją Wi-Fi — IP zostanie wyświetlone po zapisaniu
  • Tabela DHCP routera: Szukaj nazwy hosta takiej jak shelly1pm-AABBCCDDEE
  • mDNS: Pinguj shelly<model>-<mac>.local (np. shelly1pm-AABBCCDDEE.local) z tej samej sieci

Przypisz urządzeniu Shelly statyczny IP (rezerwację DHCP) w routerze, aby adres nie zmieniał się po ponownym uruchomieniu routera.

Krok 3 — Konfiguracja w TapHome

  1. W TapHome dodaj nowy moduł Packet Parser (HTTP)
  2. IP Address: wprowadź IP z kroku 2 (np. 192.168.1.50)
  3. Port: 80 (domyślny, nie wymaga zmiany)
  4. Zaimportuj szablon — TapHome będzie okresowo odpytywać /status w celu odczytu stanu urządzenia

Uwierzytelnianie HTTP jest domyślnie wyłączone na urządzeniach Shelly. Jeśli włączyłeś ochronę logowaniem, TapHome obecnie nie obsługuje HTTP Basic Auth — pozostaw uwierzytelnianie wyłączone dla integracji z TapHome.

Dostępne urządzenia

Shelly Dimmer2 Moduł
Atrybuty serwisowe
WiFi

Shelly Dimmer2

Atrybuty serwisowe
Wifi
 VAR response := SENDHTTPREQUEST("/settings");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "$.wifi_sta.ssid"));
  End
Jasność Ściemniacz

Poziom ściemniacza 0 – 100 % z konfigurowalnym płynnym przejściem (0 – 5000 ms)

numeric Jednostka: %
Atrybuty serwisowe
Przejście
Akcje serwisowe
Przejście

Jasność

Odczyt poziomu
VAR response := SENDHTTPREQUEST("/light/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "brightness")/100);
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
Zapis poziomu
VAR response := SENDHTTPREQUEST("/light/0?brightness=" + Le*100);
IF response.IsSuccess = false
 ADDERROR(response.StatusCode);
 END
Atrybuty serwisowe
Transition
 VAR response := SENDHTTPREQUEST("/light/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "transition") + " ms");
 END
Akcje serwisowe
Transition
Parametry: Transition time [ms] (0–5000 G)
 VAR response := SENDHTTPREQUEST("/light/0?transition=" + G);
Licznik energii Licznik energii Tylko do odczytu

Pomiar zużycia energii — moc chwilowa (kW) i energia skumulowana (kWh)

numeric Jednostka: W / kWh

Licznik energii

Odczyt całkowitego zużycia
VAR response := SENDHTTPREQUEST("/status");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "$..meters..total")/60000);
 ELSE 
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
Odczyt zapotrzebowania
VAR response := SENDHTTPREQUEST("/status");
 IF response.IsSuccess
  VAR content := response.Content;
 VAR responseHeaders := response.Headers;
 RETURN(PARSEJSON(content, "$..meters..power")/1000);
 ELSE 
 ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
Światło Przełącznik
boolean
Wartości / Stany: ON · OFF

Światło

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/light/0");
 IF response.IsSuccess
  VAR content := response.Content;
  RETURN(PARSEJSON(content, "ison"));
 ELSE
  ADDERROR(response.StatusCode + " (" + response.ReasonPhrase + ")");
  RETURN(NaN);
 END
Zapis stanu przełącznika
var Ru := Switch(St, 1, "on", "off");
 VAR response := SENDHTTPREQUEST("/light/0?turn=" + Ru);
 IF response.IsSuccess = false
  ADDERROR(response.StatusCode);
 END
Połączenie: Packet Parser → HTTP
Możliwe ulepszenia (9)
  • Brightness (via /status) — Current brightness also available in /status → lights[0].brightness; template uses /light/0 instead
  • Meter Validity — Measurement validity flag, available in /status response
  • Internal Temperature — Internal device temperature in °C, available in /status response
  • Overtemperature Protection — Overtemperature protection triggered flag, threshold 95°C
  • Night Mode — Night mode with start/end time and max brightness — configurable via /settings/night_mode
  • Switch Inputs (SW1, SW2) — Two physical switch inputs available in /status → inputs[0].input and inputs[1].input
  • WiFi Signal Strength — WiFi RSSI in dBm, available in /status response
  • Auto-off Timer — Auto-off timer in seconds, could be added as service action parameter
  • Incremental Dimming — Step-based dimming (dim up/down/stop with configurable step size 1-100)

Źródła