
Shelly Plus 2PM to kompaktowy dwukanałowy przekaźnik Wi-Fi z wbudowanym pomiarem mocy na obu kanałach. Mieści się za standardowym włącznikiem ściennym i może sterować dwoma niezależnymi obwodami, każdy do 10 A (łącznie 16 A przy 230 V AC), lub napędzać pojedynczą zmotoryzowaną roletę. TapHome komunikuje się z urządzeniem przez HTTP za pomocą Gen2+ RPC API w sieci lokalnej — połączenie z chmurą nie jest wymagane.
Urządzenie obsługuje dwa profile operacyjne — switch i cover — wybierane przez interfejs webowy Shelly lub akcję serwisową TapHome. W profilu switch oba wyjścia przekaźnikowe (O1 i O2) działają niezależnie z pomiarem mocy na każdym kanale. W profilu cover oba wyjścia napędzają pojedynczy silnik dla rolet, żaluzji lub zasłon, ze sterowaniem pozycją i kalibracją.
Shelly Plus 2PM został wycofany z produkcji. Jego następca, Shelly 2PM Gen3, oferuje tę samą funkcjonalność podwójnego profilu z ulepszonym procesorem (8 MB flash), do 6 jednoczesnych połączeń HTTP i możliwością aktualizacji do Matter.
Konfiguracja
Shelly Plus 2PM łączy się przez Wi-Fi. Podczas importu szablonu TapHome wprowadź adres IP urządzenia (domyślny symbol zastępczy 192.168.0.1).
Uwierzytelnianie musi być wyłączone na urządzeniu Shelly do integracji z TapHome. TapHome nie obsługuje HTTP Digest Auth używanego przez urządzenia Gen2+. Otwórz interfejs webowy Shelly (
http://{ip-urzadzenia}) → Settings → Authentication i upewnij się, że jest wyłączone.
Jeśli tryb ECO jest włączony na urządzeniu Shelly, może powodować przekroczenia czasu komunikacji z powodu szybkich interwałów odpytywania szablonu (2,5–5 sekund). Wyłącz tryb ECO w interfejsie webowym Shelly, jeśli doświadczasz sporadycznych problemów z łącznością.
Wybór profilu
Shelly Plus 2PM działa w jednym z dwóch profili naraz. Aktywny profil określa, które urządzenia TapHome będą funkcjonalne:
- Profil switch — aktywuje oba przekaźniki (Switch 1 i Switch 2) oraz ich liczniki energii dla każdego kanału. Urządzenie rolety i licznik energii rolety nie będą odpowiadać.
- Profil cover — aktywuje urządzenie rolety i jego licznik energii. Dwa urządzenia przełączające i ich liczniki energii nie będą odpowiadać.
Aktywny profil jest widoczny jako atrybut serwisowy na poziomie modułu (“Profile”) w TapHome. Aby zmienić profil, użyj akcji serwisowej Profile na poziomie modułu lub przełącz go w interfejsie webowym Shelly. Po zmianie profilu urządzenie restartuje się i działać będą tylko urządzenia odpowiadające nowemu profilowi.
Szablon zawiera wszystkie sześć urządzeń (2 przełączniki + 2 liczniki mocy przełączników + 1 roleta + 1 licznik mocy rolety), ale działać będą tylko urządzenia odpowiadające aktywnemu profilowi. To oczekiwane zachowanie — urządzenia na niewłaściwym profilu po prostu nie odpowiadają.
Kalibracja osłony
Podczas korzystania z profilu cover, zakresy ruchu silnika muszą być skalibrowane, zanim sterowanie pozycją zacznie działać. Do zakończenia kalibracji current_pos zwraca null, a atrybut serwisowy “Calibrated” pokazuje false. Kalibruj przez interfejs webowy Shelly lub uruchamiając akcję serwisową Calibrate na urządzeniu Shutter w TapHome. Podczas kalibracji osłona wykonuje wieloetapową sekwencję (pełne otwarcie → pełne zamknięcie → pełne otwarcie → zamykanie krokami → otwieranie krokami) w celu zmierzenia odległości ruchu.
Możliwości urządzenia
Sterowanie przekaźnikiem (profil switch)
Szablon udostępnia dwa niezależne przekaźniki. Każdy przełącznik odczytuje stan z /rpc/Switch.GetStatus?id={0,1} (pole output, boolean) i steruje przekaźnikiem przez /rpc/Switch.Set?id={0,1}&on=true|false.
Każdy przełącznik udostępnia siedem atrybutów serwisowych:
- Source — źródło ostatniego polecenia (http, UI, WS_in itp.)
- Temperature — temperatura wewnętrzna urządzenia w °C
- Initial State — zachowanie przełącznika przy włączeniu zasilania (off, on, restore_last lub match_input)
- Input Mode — tryb okablowania wejścia fizycznego (follow lub detached)
- Power Limit — maksymalny próg mocy w watach dla ochrony przed przeciążeniem
- Voltage Limit — maksymalny próg napięcia w woltach
- Current Limit — maksymalny próg prądu w amperach
Dwie akcje serwisowe są dostępne dla każdego przełącznika:
- Set Initial State — konfiguruje zachowanie przekaźnika po włączeniu zasilania (off, on, restore_last, match_input)
- Set Mode — konfiguruje tryb okablowania wejścia fizycznego (follow, detached)
Pomiar mocy (profil switch)
Każdy kanał przełącznika ma dedykowany licznik energii odczytujący dwie wartości z /rpc/Switch.GetStatus:
- Moc chwilowa —
apowerw watach, szablon konwertuje na kW - Całkowite zużycie —
aenergy.totalw watogodzinach, szablon konwertuje na kWh
Każdy licznik energii udostępnia również trzy atrybuty serwisowe:
- Voltage — napięcie zasilania w woltach
- Current — prąd obciążenia w amperach
- Power Factor — współczynnik mocy obciążenia
Liczniki są tylko do odczytu — aktualizują się automatycznie z każdym cyklem odpytywania.
Sterowanie roletą (profil cover)
Urządzenie rolety steruje zmotoryzowaną roletą, zasłoną lub markizą. Pozycję odczytuje z /rpc/Cover.GetStatus?id=0 (pole current_pos, 0–100%) i zapisuje przez /rpc/Cover.GoToPosition?id=0&pos=N.
Urządzenie rolety udostępnia 21 atrybutów serwisowych:
- Stan — źródło, stan (open/closed/opening/closing/stopped/calibrating), aktualna i docelowa pozycja, timeout ruchu i czas startu
- Kalibracja — czy sterowanie pozycją jest włączone (
pos_control) - Temperatura — temperatura wewnętrzna urządzenia w °C
- Zachowanie przy włączeniu — konfiguracja stanu początkowego (open, closed, stopped)
- Ustawienia wejść — tryb wejścia (single, dual, detached), zamiana wejść, odwrócenie kierunków
- Limity ochronne — limit mocy (W), limit napięcia (V), limit prądu (A)
- Ustawienia silnika — próg mocy jałowej (0–50 W), okres potwierdzenia jałowego (0,25–2 s)
- Limity ruchu — maksymalny czas otwarcia (0,1–300 s), maksymalny czas zamknięcia (0,1–300 s)
- Funkcje bezpieczeństwa — stan wykrywania przeszkód, stan wyłącznika bezpieczeństwa
Sześć akcji serwisowych jest dostępnych dla rolety:
- Open — otwiera osłonę całkowicie
- Close — zamyka osłonę całkowicie
- Stop — zatrzymuje ruch natychmiast
- Calibrate — rozpoczyna procedurę kalibracji dla sterowania pozycją
- Go to Position — przenosi osłonę na konkretną pozycję (0–100%)
- Reverse directions — przełącza konfigurację
invert_directionsi restartuje urządzenie
Pomiar mocy (profil cover)
Roleta ma dedykowany licznik energii odczytujący z /rpc/Cover.GetStatus:
- Moc chwilowa —
apowerw watach, szablon konwertuje na kW - Całkowite zużycie —
aenergy.totalw watogodzinach, szablon konwertuje na kWh
Licznik energii rolety udostępnia również napięcie, prąd i współczynnik mocy jako atrybuty serwisowe.
Diagnostyka serwisowa
Szablon udostępnia dwa atrybuty serwisowe na poziomie modułu:
- MAC — adres MAC urządzenia z konfiguracji systemowej
- Profile — aktualnie aktywny profil urządzenia (switch lub cover)
Skrypt odczytu modułu sprawdza również restart_required z /rpc/Sys.GetStatus i wyświetla ostrzeżenie w TapHome, jeśli restart jest wymagany.
Akcje serwisowe
Dwie akcje serwisowe są dostępne na poziomie modułu:
- Reboot — wyzwala restart urządzenia przez
/rpc/Shelly.Reboot - Profile — przełącza między profilami operacyjnymi switch i cover przez
/rpc/Shelly.SetProfile
Dodatkowe możliwości
Shelly Plus 2PM udostępnia również częstotliwość sieciową (freq), minutowe wartości energii (aenergy.by_minute), stany wejść fizycznych (input:0, input:1), siłę sygnału Wi-Fi (RSSI) i endpoint przełączania w swoich odpowiedziach RPC. Liczniki energii można zresetować przez /rpc/Switch.ResetCounters (profil switch) lub /rpc/Cover.ResetCounters (profil cover). W trybie cover pozycja lameli/pochylenia dla żaluzji weneckich jest dostępna, gdy sprzęt to obsługuje. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Urządzenie nie odpowiada
- Sprawdź, czy Shelly jest połączony z Wi-Fi i ma prawidłowy adres IP
- Spróbuj użyć nazwy hosta mDNS (
shellyplus2pm-AABBCCDDEE.local) zamiast adresu IP — IP mógł się zmienić po odnowieniu DHCP - Otwórz
http://{ip-urzadzenia}/rpc/Shelly.GetDeviceInfow przeglądarce — jeśli odpowiada JSON, urządzenie jest osiągalne - Sprawdź, czy TapHome Core i Shelly są w tej samej sieci / VLAN
- Upewnij się, że uwierzytelnianie jest wyłączone na urządzeniu Shelly
Niezgodność profilu — urządzenia nie odpowiadają
Jeśli niektóre urządzenia nie pokazują odczytów, podczas gdy inne działają poprawnie:
- Sprawdź, który profil jest aktualnie aktywny — atrybut serwisowy “Profile” na poziomie modułu pokazuje bieżący tryb
- Przełącz na właściwy profil za pomocą akcji serwisowej Profile lub zignoruj nieużywane urządzenia
- Po przełączeniu profilu urządzenie automatycznie się restartuje — poczekaj kilka sekund na ponowne połączenie
Pozycja osłony nie działa
- Sprawdź, czy urządzenie jest w profilu cover — profil switch nie udostępnia funkcji osłony
- Uruchom akcję serwisową Calibrate na urządzeniu Shutter — sterowanie pozycją wymaga ukończonej kalibracji
- Sprawdź, czy silnik jest prawidłowo podłączony do zacisków O1 i O2
- Ręcznie odpytaj
/rpc/Cover.GetStatus?id=0i sprawdź, czypos_controlma wartośćtrue
Kalibracja osłony nie powiodła się
Kalibracja zostaje przerwana, jeśli:
- Osłona nie osiąga pozycji końcowej w czasie
maxtime_openlubmaxtime_close - Funkcja bezpieczeństwa (wykrywanie przeszkód lub wyłącznik bezpieczeństwa) zostaje aktywowana podczas kalibracji
- Podczas kalibracji wydane zostaje zewnętrzne polecenie zatrzymania
- Kierunek silnika nie odpowiada oczekiwanemu sprzężeniu zwrotnemu
- Urządzenie restartuje się podczas kalibracji
Sprawdź okablowanie silnika, zwiększ maxtime_open/maxtime_close jeśli silnik jest wolny i upewnij się, że nie ma przeszkód.
Odczyty mocy pokazują zero
- Potwierdź, że obciążenie jest podłączone przez przekaźnik Shelly (nie jest obejście)
- Sprawdź, czy przekaźnik jest włączony — licznik mierzy tylko gdy prąd przepływa przez przekaźnik
- Ręcznie odpytaj
/rpc/Switch.GetStatus?id=0(profil switch) lub/rpc/Cover.GetStatus?id=0(profil cover) i sprawdź, czyapowerzwraca wartość niezerową
Urządzenia Shelly Gen2+ obsługują do 6 jednoczesnych połączeń HTTP. Mimo że to poprawa w stosunku do Gen1 (2 połączenia), unikaj jednoczesnego odpytywania z zbyt wielu systemów (TapHome, Home Assistant, niestandardowe skrypty), aby zapobiec wyczerpaniu połączeń.