TapHome

Shelly Pro 3

Packet Parser → HTTP
Dodane przez
Ostatnia aktualizacja: 03. 2026
Shelly Pro 3

Shelly Pro 3 to 3-kanałowy moduł przekaźnikowy na szynę DIN z bezpotencjałowymi stykami. Każde z trzech niezależnych wyjść może przełączać do 16 A (łącznie 48 A na wszystkich kanałach), co czyni go odpowiednim do sterowania obwodami oświetleniowymi, elementami grzewczymi lub obciążeniami trójfazowymi, gdzie każda faza jest przełączana osobno. TapHome komunikuje się z urządzeniem przez HTTP za pomocą API Gen2 JSON-RPC 2.0 w sieci lokalnej — połączenie z chmurą nie jest wymagane.

W odróżnieniu od Shelly Pro 3EM, który jest licznikiem energii (tylko monitoring), Pro 3 jest czystym urządzeniem przełączającym bez możliwości pomiaru mocy. Urządzenie łączy się przez WiFi, Ethernet (RJ45) lub Bluetooth i jest przeznaczone do profesjonalnej instalacji w rozdzielnicach elektrycznych.

Konfiguracja

Shelly Pro 3 łączy się przez WiFi lub Ethernet. Podczas importu szablonu do TapHome wprowadź adres IP urządzenia (domyślny placeholder 192.168.0.1).

Uwierzytelnianie musi być wyłączone na urządzeniu Shelly dla integracji z TapHome. TapHome nie obsługuje HTTP Digest Auth używanego przez urządzenia Gen2. Otwórz interfejs webowy Shelly (http://{device-ip}) → Settings → Authentication i upewnij się, że jest wyłączone.

Kabel LAN można podłączać lub odłączać tylko gdy urządzenie jest wyłączone. Podłączanie kabla Ethernet pod napięciem może powodować problemy.

Jeśli tryb ECO jest włączony na urządzeniu Shelly, może powodować timeouty komunikacji z powodu szybkich interwałów odpytywania szablonu (2,5–3 sekundy). Wyłącz tryb ECO w interfejsie webowym Shelly, jeśli doświadczasz przerywanych problemów z łącznością.

Możliwości urządzenia

Sterowanie przekaźnikiem

Szablon udostępnia trzy niezależne urządzenia przełącznikowe, po jednym dla każdego kanału przekaźnikowego. Stan każdego przekaźnika odczytywany jest z odpowiedzi /rpc/Switch.GetStatus?id=N (pole output, boolean) i sterowany przez /rpc/Switch.Set?id=N&on=true lub on=false, gdzie N to 0, 1 lub 2.

Wszystkie trzy kanały działają niezależnie — mogą być na różnych obwodach, różnych fazach AC, a nawet na mieszanych obciążeniach AC/DC. Styki przekaźnikowe są bezpotencjałowe (styki suche), więc każde wyjście może przełączać zupełnie oddzielny obwód od zasilania samego urządzenia.

Diagnostyka serwisowa

Szablon udostępnia atrybuty serwisowe na poziomie modułu do monitorowania urządzenia:

  • WiFi — nazwa podłączonej sieci SSID
  • Adres IP — aktualny adres IP stacji
  • Siła sygnału — WiFi RSSI w dB
  • MAC — adres MAC urządzenia

Skrypt odczytu modułu sprawdza również dostępność aktualizacji firmware i oczekujące wymagania restartu, wyświetlając je jako ostrzeżenia w interfejsie TapHome.

Akcje serwisowe

Dwie akcje serwisowe są dostępne na poziomie modułu:

  • Aktualizacja firmware — uruchamia aktualizację firmware do najnowszej stabilnej wersji przez /rpc/Shelly.Update
  • Restart — uruchamia restart urządzenia przez /rpc/Shelly.Reboot
Dodatkowe możliwości

Shelly Pro 3 udostępnia również stany fizycznych wejść przełączników/przycisków (S1, S2, S3) przez komponent Input, wewnętrzną temperaturę urządzenia, czas pracy, wykorzystanie RAM, czas urządzenia i status Ethernetu przez API RPC. Timer auto-off jest dostępny przez parametr toggle_after polecenia Switch.Set. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.

Rozwiązywanie problemów

Urządzenie nie odpowiada
  1. Sprawdź, czy Shelly jest połączony z WiFi lub Ethernet i ma prawidłowy adres IP
  2. Spróbuj użyć nazwy hosta mDNS (ShellyPro3-AABBCCDDEE.local) zamiast adresu IP — IP mógł się zmienić po odnowieniu DHCP
  3. Otwórz http://{device-ip}/rpc/Shelly.GetDeviceInfo w przeglądarce — jeśli odpowie JSON-em, urządzenie jest osiągalne
  4. Sprawdź, czy TapHome Core i Shelly są w tej samej sieci / VLAN
  5. Potwierdź, że uwierzytelnianie jest wyłączone na urządzeniu Shelly
Tylko niektóre kanały reagują
  1. Sprawdź, czy każdy kanał jest prawidłowo zaadresowany (id=0 dla Wyjścia 1, id=1 dla Wyjścia 2, id=2 dla Wyjścia 3)
  2. Sprawdź wskaźniki LED przekaźników na panelu przednim urządzenia — czerwona LED oznacza, że odpowiedni przekaźnik jest zamknięty (WŁ)
  3. Przetestuj niereagujący kanał ręcznie przez przeglądarkę: http://{device-ip}/rpc/Switch.Set?id=N&on=true
Problemy z obciążeniem indukcyjnym

Dla obciążeń indukcyjnych (wentylatory, transformatory, sterowniki LED) zalecany jest układ RC (0,1 uF / 100 Ohm / 1/2 W / 600 VAC) na wyjściu przekaźnika w celu ochrony przed skokami napięcia i wydłużenia żywotności przekaźnika.

Urządzenia Shelly Gen2 obsługują do 6 jednoczesnych połączeń HTTP. Unikaj odpytywania z zbyt wielu systemów jednocześnie (TapHome, Home Assistant, własne skrypty), aby zapobiec wyczerpaniu połączeń.

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 Pro 3 Moduł
Atrybuty serwisowe
WiFi
Adres IP
Siła sygnału
MAC
Akcje serwisowe
Aktualizacja firmware
Restart
Zmienne niestandardowe

Shelly Pro 3

Odczyt (moduł)
VAR response := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF response.IsSuccess
    Sys.GetStatus := response.Content;
END

response := SENDHTTPREQUEST("/rpc/Sys.GetConfig");
IF response.IsSuccess
    Sys.GetConfig := response.Content;
END

response := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF response.IsSuccess
    WiFi.GetStatus := response.Content;
END

if ! ISNULL(parsejson(Sys.GetStatus, "available_updates.stable", true))
    addwarning("New firmware update is available");
end

if parsejson(Sys.GetStatus, "restart_required", true)
    addwarning("Restart required");
end
Atrybuty serwisowe
Wifi
PARSEJSON(WiFi.GetStatus, "ssid")
${ipAddress}
PARSEJSON(WiFi.GetStatus, "sta_ip")
${xml_signal_strength} [dB]
PARSEJSON(WiFi.GetStatus, "rssi")
MAC
PARSEJSON(Sys.GetStatus, "mac")
Akcje serwisowe
${xml_update_fw}
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END

Reboot
VAR response := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF response.IsSuccess
    return("OK");
else
    return("Error");
END
Przełącznik 1 Przełącznik
boolean
Wartości / Stany: ON · OFF

Przełącznik 1

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + id);
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
return(parsejson(Switch.GetStatus, "output"));
Zapis stanu przełącznika
VAR path := "/rpc/Switch.Set?id=" + id + "&on=" + SWITCH(St, 1, "true", "false");
SENDHTTPREQUEST(path);
Przełącznik 2 Przełącznik
boolean
Wartości / Stany: ON · OFF

Przełącznik 2

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + id);
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
return(parsejson(Switch.GetStatus, "output"));
Zapis stanu przełącznika
VAR path := "/rpc/Switch.Set?id=" + id + "&on=" + SWITCH(St, 1, "true", "false");
SENDHTTPREQUEST(path);
Przełącznik 3 Przełącznik
boolean
Wartości / Stany: ON · OFF

Przełącznik 3

Odczyt stanu przełącznika
VAR response := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=" + id);
IF response.IsSuccess
    Switch.GetStatus := response.Content;
END
return(parsejson(Switch.GetStatus, "output"));
Zapis stanu przełącznika
VAR path := "/rpc/Switch.Set?id=" + id + "&on=" + SWITCH(St, 1, "true", "false");
SENDHTTPREQUEST(path);
Połączenie: Packet Parser → HTTP
Możliwe ulepszenia (9)
  • Input 1 State — Physical switch/button input S1 state, available via /rpc/Input.GetStatus?id=0
  • Input 2 State — Physical switch/button input S2 state, available via /rpc/Input.GetStatus?id=1
  • Input 3 State — Physical switch/button input S3 state, available via /rpc/Input.GetStatus?id=2
  • Device Temperature — Internal temperature in °C, available in Switch.GetStatus response (non-metered devices may still report temperature)
  • Uptime — Seconds since last reboot, available in Sys.GetStatus response
  • RAM Usage — Total and free RAM in bytes, available in Sys.GetStatus response
  • Device Time — Current device time in HH:MM format, available in Sys.GetStatus response
  • Auto-off Timer — Auto-reset timer in seconds via toggle_after parameter, could be added as switch parameter for all 3 channels
  • Ethernet Status — Pro 3 has RJ45 LAN port; Ethernet status (IP, link) available via /rpc/Ethernet.GetStatus

Źródła