
Shelly Flood to bateryjny (CR123A) czujnik wycieku wody Wi-Fi. TapHome komunikuje się z urządzeniem przez MQTT — zalecany protokół dla bateryjnych urządzeń Shelly, ponieważ czujnik przez większość czasu pozostaje w trybie uśpienia i publikuje dane tylko po przebudzeniu.
Szablon obsługuje do 5 czujników Shelly Flood na moduł. Każda instancja czujnika jest identyfikowana przez zmienną niestandardową sensorN_topic wskazującą na Client ID MQTT urządzenia.
Konfiguracja
Device ID
Każdy czujnik Shelly Flood ma unikalny MQTT Device ID w formacie shellyflood-<MAC6>, gdzie <MAC6> to ostatnie 6 znaków adresu MAC zapisane małymi literami w postaci szesnastkowej (np. shellyflood-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 odkrywanie mDNS. Zamiast adresu IP w konfiguracji TapHome można użyć nazwy hosta
shellyflood-{MAC}.local. Zastąp{MAC}ostatnimi 6 znakami adresu MAC urządzenia zapisanymi małymi literami w postaci szesnastkowej (np.shellyflood-112233.local). Użycie nazwy hosta zapobiega problemom z połączeniem, gdy adres IP urządzenia się zmieni.
Konfiguracja szablonu
Po zaimportowaniu szablonu w TapHome:
- Otwórz moduł Shelly Flood MQTT
- Ustaw IP brokera MQTT i port (domyślnie
1883) - Dla każdej instancji czujnika ustaw zmienną niestandardową
sensorN_topicna Device ID odpowiedniego Shelly Flood (np.shellyflood-112233)
Moduł subskrybuje temat shellies/#, a skrypty nasłuchujące filtrują wiadomości według skonfigurowanego prefiksu tematu.
Konfiguruj tylko te sloty czujników, których faktycznie używasz. Nieskonfigurowane sloty (z domyślną wartością
shellyflood-deviceid) wyświetlają komunikat o błędzie z prośbą o ustawienie prawidłowego tematu.
Możliwości urządzenia
Wykrywanie zalania
Każda instancja czujnika jest mapowana jako urządzenie Reed Contact w TapHome. Stan zalania jest odczytywany z tematu shellies/<id>/sensor/flood:
true→ Alarm (wykryto wodę)false→ OK (sucho)
Czujnik budzi się i publikuje swój stan po wykryciu lub ustąpieniu wody, a także podczas okresowych interwałów raportowania.
Monitorowanie baterii i temperatury
Każda instancja czujnika udostępnia dwa atrybuty serwisowe:
- Bateria — procent poziomu baterii odczytywany z
shellies/<id>/sensor/battery. Ostrzeżenie o niskim poziomie baterii jest generowane, gdy poziom spadnie poniżej 20%. - Temperatura — temperatura otoczenia w °C odczytywana z
shellies/<id>/sensor/temperature.
Oba atrybuty są tylko do odczytu i aktualizują się za każdym razem, gdy czujnik się przebudzi i opublikuje dane.
Dodatkowe możliwości
Shelly Flood publikuje również status online/offline przez temat MQTT Last Will and Testament (LWT) oraz pełną wiadomość statusu JSON (firmware ≥1.8.0). Dostępne jest ustawienie rain_sensor, które odwraca logikę wykrywania zalania na potrzeby wykrywania deszczu na zewnątrz. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.
Rozwiązywanie problemów
Czujnik nie raportuje danych
- Sprawdź, czy Shelly Flood jest połączony z Wi-Fi i czy MQTT jest włączone w ustawieniach urządzenia
- Upewnij się, że zmienna niestandardowa
sensorN_topicdokładnie odpowiada Device ID (np.shellyflood-112233) - Jeśli adres brokera MQTT się zmienił, spróbuj użyć nazwy hosta mDNS (
shellyflood-AABBCCDDEE.local), aby sprawdzić, czy czujnik jest osiągalny w sieci - Użyj klienta MQTT (np. MQTT Explorer), aby zasubskrybować
shellies/#i zweryfikować, czy czujnik publikuje wiadomości po przebudzeniu
Alarm zalania nie wyzwala się
- Sprawdź, czy styki czujnika na spodzie urządzenia są czyste i niczym nie zasłonięte
- Przetestuj, kładąc czujnik na mokrej powierzchni — urządzenie powinno opublikować
truew temacie/sensor/floodw ciągu kilku sekund - Sprawdź w TapHome stan urządzenia Reed Contact — 1 = alarm, 0 = OK
Bateria szybko się rozładowuje
- Shelly Flood jest zaprojektowany z myślą o długiej żywotności baterii (CR123A, typowo 1–2 lata w zależności od częstotliwości raportowania)
- Częste przebudzenia (np. z powodu niestabilnego Wi-Fi wymagającego wielokrotnego ponownego łączenia) mogą szybciej rozładować baterię
- Zapewnij silny sygnał Wi-Fi w miejscu montażu 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 znajduje się w zaufanej sieci lokalnej.