
Shelly Door/Window 2 (SHDW-2) to bateryjny (2x CR123A) czujnik kontaktowy Wi-Fi. TapHome komunikuje się z urządzeniem przez MQTT — zalecany protokół dla bateryjnych urządzeń Shelly, ponieważ czujnik większość czasu pozostaje w trybie uśpienia i publikuje dane tylko przy zdarzeniach wybudzenia (zmiana stanu magnetu, wibracja, zmiana jasności lub timer okresowy).
Szablon obsługuje do 5 czujników Shelly Door/Window na moduł. Każda instancja czujnika jest rozróżniana zmienną niestandardową sensorN_topic wskazującą na MQTT Client ID urządzenia.
Konfiguracja
Device ID
Każdy czujnik Shelly Door/Window 2 ma unikalny MQTT Device ID w formacie shellydw2-<MAC6>, gdzie <MAC6> to ostatnie 6 znaków adresu MAC w szesnastkowym zapisie małymi literami (np. shellydw2-A1B2C3).
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→ poledevice.hostname
To urządzenie obsługuje wykrywanie mDNS. Możesz użyć nazwy hosta
shellydw2-{MAC}.localzamiast adresu IP podczas konfiguracji TapHome. Zamień{MAC}na ostatnie 6 znaków adresu MAC małymi literami (np.shellydw2-A1B2C3.local). Użycie nazwy hosta zapobiega problemom z łącznością przy zmianie adresu IP.
Konfiguracja szablonu
Po zaimportowaniu szablonu w TapHome:
- Otwórz moduł Shelly Door/Window MQTT
- Ustaw MQTT Broker IP i Port (domyślnie
1883) - Dla każdej instancji czujnika ustaw zmienną
sensorN_topicna Device ID odpowiedniego Shelly Door/Window 2 (np.shellydw2-A1B2C3)
Moduł subskrybuje shellies/#, a skrypty nasłuchujące filtrują wiadomości według skonfigurowanego prefiksu topicu.
Konfiguruj tylko sloty czujników, których faktycznie używasz. Nieskonfigurowane sloty (z domyślną wartością
shellydw2-deviceid) wyświetlą komunikat błędu zachęcający do ustawienia prawidłowego topicu.
Możliwości urządzenia
Wykrywanie otwarcia/zamknięcia
Każda instancja czujnika jest zmapowana jako urządzenie Reed Contact w TapHome. Stan drzwi/okna odczytywany jest z topicu shellies/<id>/sensor/state:
open→ Alarm (drzwi/okno otwarte)close→ OK (drzwi/okno zamknięte)
Czujnik budzi się i publikuje swój stan przy ruchu magnetu (drzwi lub okno otwierają się lub zamykają), a także podczas okresowych interwałów raportowania (domyślnie co 3 minuty).
Monitorowanie baterii, temperatury i oświetlenia
Każda instancja udostępnia trzy atrybuty serwisowe:
- Bateria — procentowy poziom baterii z
shellies/<id>/sensor/battery. Ostrzeżenie o niskim poziomie baterii poniżej 20%. - Temperatura — temperatura otoczenia w °C z
shellies/<id>/sensor/temperature. - Natężenie oświetlenia — poziom światła otoczenia w luksach z
shellies/<id>/sensor/lux.
Wszystkie atrybuty są tylko do odczytu i aktualizują się przy każdym wybudzeniu czujnika.
Dodatkowe możliwości (niezaimplementowane)
Shelly Door/Window 2 publikuje również kąt przechyłu (0–180 stopni) i wykrywanie wibracji przez MQTT, a także status online/offline przez topic LWT. Te możliwości są dostępne w wyjściu MQTT urządzenia, ale nie są zmapowane w aktualnym szablonie TapHome. Mogą zostać dodane w przyszłej aktualizacji.
Rozwiązywanie problemów
Czujnik nie raportuje danych
- Sprawdź, czy Shelly Door/Window 2 jest podłączony do Wi-Fi i MQTT jest włączone w ustawieniach
- Upewnij się, że zmienna
sensorN_topicdokładnie odpowiada Device ID (np.shellydw2-A1B2C3) - Jeśli adres brokera MQTT się zmienił, spróbuj nazwy hosta mDNS (
shellydw2-A1B2C3.local) do weryfikacji dostępności - Użyj klienta MQTT (np. MQTT Explorer) do subskrypcji
shellies/#i sprawdź, czy czujnik publikuje wiadomości po wybudzeniu
Stan otwarcia/zamknięcia nie aktualizuje się
- Upewnij się, że magnes jest prawidłowo wyrównany z główną jednostką — przy zamkniętych drzwiach/oknie magnes powinien być w odległości do 15 mm od czujnika
- Jeśli czujnik został niedawno przeniesiony, użyj endpointu kalibracji (
GET http://<device-ip>/calibrate?opened=1) z drzwiami/oknem w pozycji otwartej - Sprawdź stan urządzenia Reed Contact w TapHome — 1 = otwarte (alarm), 0 = zamknięte (OK)
Bateria szybko się rozładowuje
- Shelly Door/Window 2 używa 2x CR123A (niełdowalne), typowa żywotność ok. 18 miesięcy
- Częste wybudzenia (np. niestabilne Wi-Fi lub bardzo krótki okres uśpienia) mogą szybciej rozładować baterię
- Domyślny okres uśpienia to 3 minuty — zwiększenie go przez
sleep_mode.periodzmniejsza zużycie energii - Zapewnij silny sygnał Wi-Fi w lokalizacji czujnika
Urządzenia Shelly Gen1 nie obsługują MQTT przez TLS. Komunikacja między czujnikiem a brokerem MQTT jest nieszyfrowana (plain MQTT, port 1883). Upewnij się, że broker MQTT jest w zaufanej sieci lokalnej.