
Shelly 1PM to kompaktowy jednokanałowy przekaźnik Wi-Fi 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). TapHome komunikuje się z urządzeniem przez MQTT — to jest wariant MQTT szablonu Shelly 1PM, odpowiedni gdy preferujesz lokalną komunikację MQTT zamiast HTTP pollingu.
Szablon obsługuje do 5 jednostek Shelly 1PM na moduł. Każda jednostka jest rozróżniana przez zmienną pulgNtopic wskazującą na MQTT Client ID urządzenia. Każda jednostka udostępnia przełącznik przekaźnikowy i licznik energii.
Konfiguracja
Device ID
Każdy Shelly 1PM ma unikalny MQTT Device ID w formacie shelly1pm-<MAC6>, gdzie <MAC6> to ostatnie 6 znaków adresu MAC w szesnastkowym formacie małymi literami (np. shelly1pm-112233).
Device ID można znaleźć:
- Na etykiecie urządzenia (adres MAC)
- W interfejsie webowym Shelly: Settings → Device Info
- Przez API:
GET http://<device-ip>/settings→ polemqtt.id
To urządzenie obsługuje mDNS discovery. Zamiast adresu IP możesz użyć hostname
shelly1pm-{MAC}.localpodczas konfiguracji TapHome. Zastąp{MAC}ostatnimi 6 znakami adresu MAC urządzenia w szesnastkowym formacie małymi literami (np.shelly1pm-112233.local). Użycie hostname zapobiega problemom z połączeniem przy zmianie adresu IP urządzenia.
Konfiguracja szablonu
Po zaimportowaniu szablonu w TapHome:
- Otwórz moduł Shelly 1PM MQTT
- Ustaw IP brokera MQTT i Port (domyślnie
1883) - Dla każdej jednostki Shelly 1PM ustaw zmienną
pulgNtopicna Device ID odpowiedniego Shelly 1PM (np.shelly1pm-112233)
Moduł subskrybuje shellies/#, a skrypty listener filtrują wiadomości według skonfigurowanego prefiksu topiku.
Skonfiguruj tylko sloty, których faktycznie używasz. Nieskonfigurowane sloty (z domyślną wartością
shelly1pm-deviceidN) nie będą pasować do żadnego rzeczywistego urządzenia i można je zignorować.
Funkcje urządzenia
Sterowanie przekaźnikiem
Każda jednostka udostępnia urządzenie przełączające w TapHome. Stan przekaźnika jest odczytywany z topiku shellies/<id>/relay/0 i sterowany przez publikowanie on lub off na shellies/<id>/relay/0/command.
Pomiar mocy
Każda jednostka zawiera licznik energii odczytujący dwie wartości:
- Moc w czasie rzeczywistym —
shellies/<id>/relay/0/powerraportowana w watach, konwertowana na kW przez szablon - Całkowite zużycie —
shellies/<id>/relay/0/energyraportowane w wat-minutach, konwertowane na kWh przez szablon
Licznik jest tylko do odczytu — aktualizuje się automatycznie, gdy urządzenie publikuje nowe dane.
Monitoring termiczny i przeciążeniowy
Każde urządzenie przełączające udostępnia cztery atrybuty serwisowe:
- Temperatura wewnętrzna — temperatura urządzenia w °C z topiku
shellies/<id>/temperature - Status temperatury — poziom termiczny: Normal, High lub Very High (
shellies/<id>/temperature_status) - Przegrzanie — flaga alarmu przegrzania (
shellies/<id>/overtemperature) - Przeciążenie — raportuje moc obciążenia (W) po wykryciu przeciążenia (
shellies/<id>/overpower_value)
Dodatkowe funkcje
Shelly 1PM publikuje również status online/offline przez MQTT Last Will and Testament (LWT) topik, kompletną wiadomość statusu JSON (firmware ≥1.8.0), stan fizycznego wejścia i zdarzenia wejściowe (krótkie/podwójne/potrójne/długie naciśnięcie). Te funkcje mogą zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Urządzenie nie raportuje danych
- Sprawdź, czy Shelly 1PM jest połączony z Wi-Fi i MQTT jest włączone w ustawieniach urządzenia
- Sprawdź, czy zmienna
pulgNtopicdokładnie odpowiada Device ID (np.shelly1pm-112233) - Potwierdź poprawność adresu IP i portu brokera MQTT w ustawieniach modułu
- Użyj klienta MQTT (np. MQTT Explorer) do subskrypcji
shellies/#i sprawdź, czy urządzenie publikuje wiadomości
Pomiar mocy pokazuje zero
- Potwierdź, że obciążenie jest podłączone przez przekaźnik Shelly (nie ominięte)
- Sprawdź, czy przekaźnik jest włączony — licznik mierzy tylko gdy prąd płynie przez przekaźnik
- Subskrybuj
shellies/<id>/relay/0/powerza pomocą klienta MQTT i sprawdź, czy urządzenie raportuje wartość niezerową
Ostrzeżenie o przegrzaniu
Shelly 1PM posiada wbudowaną ochronę termiczną. Gdy temperatura urządzenia przekroczy bezpieczne limity, temperature_status zmienia się na “High” lub “Very High”, a overtemperature ustawia się na true. Zapewnij odpowiednią wentylację wokół urządzenia, szczególnie przy przełączaniu dużych obciążeń.
Urządzenia Shelly Gen1 nie obsługują MQTT przez TLS. Komunikacja między urządzeniem a brokerem MQTT jest nieszyfrowana (plain MQTT, port 1883). Upewnij się, że broker MQTT znajduje się w zaufanej sieci lokalnej.