
Shelly Plus 1PM to kompaktowy przekaźnik Wi-Fi Gen2+ z wbudowanym pomiarem mocy. Mieści się za standardowym włącznikiem ściennym i może sterować jednym obwodem do 16 A (3500 W przy 230 V AC) lub 10 A (30 V DC). Urządzenie obsługuje zasilanie 110-240 VAC lub 24-30 VDC, dzięki czemu nadaje się zarówno do instalacji sieciowych, jak i niskonapięciowych. TapHome komunikuje się z urządzeniem lokalnie przez Wi-Fi — połączenie z chmurą nie jest wymagane.
Dostępne są dwa szablony TapHome: szablon HTTP, który odpytuje Gen2+ RPC API urządzenia, oraz szablon MQTT, który odbiera dane przez brokera MQTT. Oba udostępniają te same dwa urządzenia — licznik energii i przekaźnik.
Konfiguracja
Szablon HTTP
Szablon HTTP wymaga jedynie adresu IP urządzenia (wartość domyślna 192.168.0.1). TapHome odpytuje punkt końcowy /rpc/Switch.GetStatus?id=0 zarówno dla stanu przekaźnika, jak i danych pomiaru mocy. Moduł przechowuje odpowiedź JSON w zmiennej status, aby poszczególne skrypty urządzeń mogły analizować dane bez zbędnych wywołań HTTP.
Szablon MQTT
Szablon MQTT wymaga podczas importu trzech parametrów:
- IP brokera MQTT — adres IP brokera MQTT (nie samego urządzenia Shelly)
- Port brokera MQTT — domyślny
1883 - MQTT Client ID urządzenia Shelly — format
shellyplus1pm-{deviceid}, znajduje się w interfejsie webowym Shelly w sekcji Settings > MQTT Settings > Client ID
Po włączeniu MQTT na Shelly Plus 1PM (Settings > MQTT) TapHome subskrybuje shellyplus1pm-{deviceid}/status/switch:0 i publikuje komendy sterujące do shellyplus1pm-{deviceid}/command/switch:0.
Możliwości urządzenia
Sterowanie przekaźnikiem
Szablon udostępnia przekaźnik jako urządzenie przełączające. Stan przekaźnika odczytywany jest z pola output (boolean) i sterowany przez /rpc/Switch.Set?id=0 z parametrem on=true lub on=false (HTTP) lub publikowaniem on/off do tematu komend (MQTT).
Szablon HTTP odpytuje przekaźnik w interwale 2,5 sekundy, zapewniając niemal natychmiastową informację o stanie. Szablon MQTT otrzymuje aktualizacje na bieżąco przez skrypt nasłuchujący.
Pomiar mocy
Wbudowany licznik energii odczytuje dwie wartości z odpowiedzi Switch.GetStatus:
- Moc chwilowa —
apowerw watach, szablon konwertuje na kW (dzielenie przez 1000) - Energia skumulowana —
aenergy.totalw watogodzinach, szablon konwertuje na kWh (dzielenie przez 1000)
Licznik jest tylko do odczytu — aktualizuje się automatycznie z każdym cyklem odpytywania (HTTP) lub z każdą wiadomością statusu MQTT.
Szablon HTTP udostępnia również trzy atrybuty serwisowe na liczniku energii:
| Atrybut | Jednostka | Opis |
|---|---|---|
| Prąd | A | Chwilowy pobór prądu |
| Napięcie | V | Skuteczne napięcie sieciowe |
| Temperatura | °C | Temperatura wewnętrzna urządzenia |
Szablon MQTT udostępnia temperaturę wewnętrzną, napięcie i prąd jako atrybuty serwisowe na poziomie modułu z tymi samymi danymi, analizowanymi z ładunku statusu MQTT.
Dodatkowe możliwości
Shelly Plus 1PM udostępnia przez RPC API również współczynnik mocy, częstotliwość sieciową, energię zwróconą (do pomiarów dwukierunkowych), stan fizycznego wejścia, siłę sygnału Wi-Fi, adres MAC, czas pracy, wykorzystanie RAM i czas urządzenia. Dostępne są też aktualizacja firmware, restart urządzenia, timer automatycznego wyłączenia, reset licznika energii i konfiguracja ochrony przed przeciążeniem. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Urządzenie nie odpowiada (HTTP)
- Sprawdź, czy Shelly jest połączony z Wi-Fi i ma prawidłowy adres IP
- Spróbuj użyć nazwy hosta mDNS (
shellyplus1pm-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 CCU i Shelly są w tej samej sieci / VLAN
- Upewnij się, że uwierzytelnianie HTTP Digest jest wyłączone w interfejsie webowym Shelly — TapHome nie obsługuje żądań uwierzytelnionych
Wiadomości MQTT nie docierają
- Sprawdź, czy MQTT jest włączony w interfejsie webowym Shelly (Settings > MQTT)
- Potwierdź, że adres i port brokera są poprawne zarówno w urządzeniu Shelly, jak i w ustawieniach modułu TapHome
- Sprawdź, czy zmienna niestandardowa
plug1topicdokładnie odpowiada MQTT Client ID urządzenia Shelly (np.shellyplus1pm-AABBCCDDEE) - Użyj klienta MQTT (np. MQTT Explorer), aby zasubskrybować
shellyplus1pm-#i sprawdzić, czy urządzenie publikuje wiadomości
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=0i sprawdź, czyapowerzwraca wartość niezerową
Wolna odpowiedź lub przekroczenia czasu
- Urządzenia Gen2+ obsługują do 6 jednoczesnych połączeń HTTP (w porównaniu do 2 w Gen1) — unikaj jednak nadmiernego odpytywania z wielu systemów
- Wyłącz tryb ECO w interfejsie webowym Shelly, jeśli jest włączony — przełącza urządzenie w tryb uśpienia między odpytywaniami i może powodować przekroczenia czasu przy krótkich interwałach
- Użyj statycznego IP lub rezerwacji DHCP, aby zapobiec zmianom adresu
- Rozważ przejście na szablon MQTT w środowiskach wielosystemowych — MQTT całkowicie omija problem limitu połączeń