
Shelly Plus 1PM to kompaktowy przekaźnik Wi-Fi Gen2+ z wbudowanym pomiarem mocy. Mieści się za standardowym wyłącznikiem ściennym i może sterować jednym obwodem do 16 A (3500 W przy 230 V AC) lub 10 A (30 V DC). To jest wariant MQTT szablonu TapHome — urządzenie komunikuje się przez broker MQTT zamiast bezpośredniego odpytywania HTTP, co jest przydatne w środowiskach z wieloma kontrolerami lub gdy urządzenie znajduje się w innej sieci VLAN.
Szablon zawiera dwa urządzenia: Licznik energii do monitorowania mocy i energii oraz Przełącznik do sterowania przekaźnikiem. Trzy atrybuty serwisowe na poziomie modułu pokazują temperaturę wewnętrzną, napięcie i prąd.
Konfiguracja
MQTT Client ID
Każdy Shelly Plus 1PM ma unikalne MQTT Client ID w formacie shellyplus1pm-<DEVICEID>, gdzie <DEVICEID> to 12-znakowy szesnastkowy adres MAC (np. shellyplus1pm-AABBCCDDEE00).
Client ID można znaleźć:
- W interfejsie webowym Shelly: Settings → MQTT → Client ID
- Przez API:
GET http://<device-ip>/rpc/MQTT.GetConfig→ poleclient_id - Na etykiecie urządzenia (adres MAC)
To urządzenie obsługuje mDNS discovery. Zamiast adresu IP można użyć nazwy hosta
shellyplus1pm-{MAC}.localdo weryfikacji łączności. Zastąp{MAC}pełnym adresem MAC urządzenia w formacie szesnastkowym małymi literami (np.shellyplus1pm-aabbccddee00.local).
Włączenie MQTT
- Otwórz interfejs webowy Shelly:
http://<device-ip>/ - Przejdź do Settings → MQTT
- Włącz MQTT
- Ustaw Server:
<broker-ip>:<port>(np.192.168.1.10:1883) - Client ID jest wypełnione automatycznie — pozostaw bez zmian, chyba że masz konkretny powód do zmiany
- Kliknij Save i uruchom ponownie urządzenie
Aby zweryfikować działanie MQTT, użyj klienta MQTT (np. MQTT Explorer) i zasubskrybuj
shellyplus1pm-<DEVICEID>/#. Powinieneś zobaczyć komunikaty statusowe z urządzenia, w tymshellyplus1pm-<DEVICEID>/status/switch:0.
Konfiguracja szablonu
Po zaimportowaniu szablonu do TapHome:
- Otwórz Shelly Plus 1PM MQTT Module
- Ustaw MQTT Broker IP i Port (domyślnie
1883) - Ustaw zmienną plug1topic na MQTT Client ID urządzenia Shelly Plus 1PM (np.
shellyplus1pm-AABBCCDDEE00)
Moduł subskrybuje {plug1topic}/status/switch:0 i publikuje polecenia sterujące do {plug1topic}/command/switch:0.
Możliwości urządzenia
Pomiar mocy
Licznik energii odczytuje dwie wartości z komunikatu statusowego MQTT {plug1topic}/status/switch:0:
- Moc chwilowa —
apowerraportowana w watach, konwertowana na kW przez szablon (dzielenie przez 1000) - Energia kumulatywna —
aenergy.totalraportowana w watogodzinach, konwertowana na kWh przez szablon (dzielenie przez 1000)
Licznik jest tylko do odczytu — aktualizuje się automatycznie po każdym opublikowaniu komunikatu statusowego na broker MQTT.
Sterowanie przekaźnikiem
Przełącznik steruje przekaźnikiem:
- Odczyt stanu — subskrybuje
{plug1topic}/status/switch:0i odczytuje pole logiczneoutput - Zapis stanu — publikuje
onluboffdo{plug1topic}/command/switch:0
Przekaźnik obsługuje obciążenie do 3500 W / 16 A przy 230 V AC.
Diagnostyka
Trzy atrybuty serwisowe na poziomie modułu są parsowane z tego samego payloadu JSON status/switch:0:
| Atrybut | Jednostka | Opis |
|---|---|---|
| Temperatura wewnętrzna | °C | Temperatura wewnętrzna urządzenia — monitoruje stan termiczny przekaźnika i PCB |
| Napięcie | V | Napięcie zasilania AC na wejściu przekaźnika |
| Prąd | A | Prąd obciążenia przez wyjście przekaźnika |
Wszystkie trzy atrybuty wyświetlają „Unknown" do momentu nadejścia pierwszego komunikatu statusowego MQTT (wartość początkowa to NaN).
Dodatkowe możliwości
Shelly Plus 1PM udostępnia również współczynnik mocy, częstotliwość sieci, energię zwróconą (do pomiarów dwukierunkowych), stan wejścia fizycznego, polecenie toggle, timer automatycznego wyłączenia oraz akcję wymuszonej aktualizacji statusu przez swoje MQTT API. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Komunikaty MQTT nie docierają
- Zweryfikuj, że MQTT jest włączone w interfejsie webowym Shelly (Settings → MQTT)
- Sprawdź, czy adres brokera i port są prawidłowe zarówno w ustawieniach urządzenia Shelly, jak i modułu TapHome
- Sprawdź, czy zmienna
plug1topicdokładnie odpowiada MQTT Client ID urządzenia Shelly (np.shellyplus1pm-AABBCCDDEE00) - Użyj klienta MQTT (np. MQTT Explorer) i zasubskrybuj
shellyplus1pm-#, aby zweryfikować, czy urządzenie publikuje komunikaty
Pomiar mocy pokazuje zero
- Upewnij się, że obciążenie jest podłączone przez przekaźnik Shelly (nie pominięte)
- Sprawdź, czy przekaźnik jest włączony — licznik mierzy tylko przy przepływie prądu przez przekaźnik
- Zasubskrybuj
{plug1topic}/status/switch:0klientem MQTT i zweryfikuj, żeapowerzwraca wartość różną od zera
Przekaźnik nie reaguje na polecenia
- Zweryfikuj, że TapHome ma dostęp do brokera MQTT (prawidłowe IP i port w ustawieniach modułu)
- Sprawdź, czy wartość
plug1topicodpowiada MQTT Client ID urządzenia - Przetestuj publikując
ondo{plug1topic}/command/switch:0przez klienta MQTT — przekaźnik powinien się włączyć
Diagnostyka pokazuje „Unknown"
- Wszystkie trzy atrybuty (temperatura, napięcie, prąd) pokazują „Unknown" do momentu nadejścia pierwszego komunikatu statusowego
- Jeśli wartości pozostają „Unknown" po uruchomieniu urządzenia, sprawdź, czy połączenie MQTT jest aktywne i komunikaty statusowe są publikowane
- Uruchom ponownie urządzenie Shelly, aby wymusić nową publikację statusu
Urządzenia Shelly Gen2+ obsługują MQTT z opcjonalnym TLS. Jeśli TLS nie jest skonfigurowany, komunikacja między urządzeniem a brokerem MQTT jest nieszyfrowana (plain MQTT, port 1883). Dla szyfrowanej komunikacji włącz TLS w ustawieniach MQTT urządzenia Shelly i użyj portu 8883.