TapHome

Shelly Flood

Packet Parser → MQTT
Submitted by
Last updated: 03. 2026
Shelly Flood

Shelly Flood je bateriový (CR123A) Wi-Fi senzor úniku vody. TapHome komunikuje se zařízením přes MQTT — doporučený protokol pro bateriová zařízení Shelly, protože senzor většinu času spí a data publikuje pouze při událostech probuzení.

Šablona podporuje až 5 senzorů Shelly Flood na jeden modul. Každá instance senzoru se rozlišuje proměnnou sensorN_topic, která odkazuje na MQTT Client ID zařízení.

Konfigurace

Device ID

Každý senzor Shelly Flood má jedinečné MQTT Device ID ve formátu shellyflood-<MAC6>, kde <MAC6> je posledních 6 znaků MAC adresy malými písmeny (hex), např. shellyflood-112233.

Device ID lze najít:

  • Na štítku zařízení (MAC adresa)
  • Ve webovém rozhraní Shelly: SettingsDevice Info
  • Přes API: GET http://<device-ip>/settings → pole mqtt.id

Zařízení podporuje mDNS discovery. Při konfiguraci TapHome můžete místo IP adresy použít hostname shellyflood-{MAC}.local. Nahraďte {MAC} posledními 6 znaky MAC adresy malými písmeny (např. shellyflood-112233.local). Hostname zabraňuje výpadkům komunikace při změně IP adresy zařízení.

Nastavení šablony

Po importování šablony v TapHome:

  1. Otevřete modul Shelly Flood MQTT
  2. Nastavte IP adresu MQTT Brokeru a Port (výchozí 1883)
  3. Pro každou instanci senzoru nastavte proměnnou sensorN_topic na Device ID příslušného Shelly Flood (např. shellyflood-112233)

Modul se přihlásí k odběru shellies/# a listenery ve skriptech filtrují zprávy podle nastaveného prefixu topicu.

Konfigurujte pouze sloty senzorů, které skutečně používáte. Nenakonfigurované sloty (s výchozí hodnotou shellyflood-deviceid) zobrazí chybovou hlášku vyzývající k nastavení správného topicu.

Schopnosti zařízení

Detekce úniku vody

Každá instance senzoru je v TapHome namapována jako zařízení Reed Contact. Stav zaplavení se čte z topicu shellies/<id>/sensor/flood:

  • trueAlarm (voda detekována)
  • falseOK (sucho)

Senzor se probudí a publikuje stav při detekci vody nebo jejím odeznění, jakož i v pravidelných reportovacích intervalech.

Monitorování baterie a teploty

Každá instance senzoru vystavuje dva servisní atributy:

  • Battery — procento nabití baterie čtené z shellies/<id>/sensor/battery. Upozornění na nízkou baterii se aktivuje při poklesu pod 20 %.
  • Temperature — okolní teplota v °C čtená z shellies/<id>/sensor/temperature.

Oba atributy jsou pouze pro čtení a aktualizují se při každém probuzení senzoru.

Další schopnosti

Shelly Flood také publikuje stav online/offline přes MQTT Last Will and Testament (LWT) topic a plnou JSON zprávu o stavu (firmware ≥1.8.0). K dispozici je nastavení rain_sensor, které invertuje logiku detekce záplavy pro použití jako detektor deště venku. Tyto funkce lze přidat v budoucí aktualizaci šablony.

Řešení problémů

Senzor nepublikuje data
  1. Ověřte, že Shelly Flood je připojen k Wi-Fi a že je v nastavení zařízení povoleno MQTT
  2. Zkontrolujte, že proměnná sensorN_topic přesně odpovídá Device ID (např. shellyflood-112233)
  3. Pokud se adresa MQTT brokeru změnila, vyzkoušejte mDNS hostname (shellyflood-AABBCCDDEE.local) k ověření dostupnosti senzoru v síti
  4. Použijte MQTT klienta (např. MQTT Explorer) k odběru shellies/# a ověřte, zda senzor publikuje zprávy při probuzení
Alarmový stav úniku se nespouští
  1. Zkontrolujte, zda jsou kontakty na spodku zařízení čisté a bez překážek
  2. Otestujte přiložením senzoru na mokrý povrch — zařízení by mělo do několika sekund publikovat true na topic /sensor/flood
  3. Zkontrolujte stav zařízení Reed Contact v TapHome — 1 = alarm, 0 = OK
Rychlé vybíjení baterie
  1. Shelly Flood je navržen pro dlouhou životnost baterie (CR123A, typicky 1–2 roky v závislosti na frekvenci reportování)
  2. Časté probouzení (např. kvůli nestabilnímu Wi-Fi signálu vyžadujícímu opakované reconnekty) může baterii vybíjet rychleji
  3. Zajistěte dostatečně silný Wi-Fi signál na místě instalace senzoru

Zařízení Shelly Gen1 nepodporují MQTT přes TLS. Komunikace mezi senzorem a MQTT brokerem je nešifrovaná (plain MQTT, port 1883). Zajistěte, aby MQTT broker byl v důvěryhodné lokální síti.

Jak nainstalovat v TapHome

Předpoklady

  • Zařízení Shelly připojené k Wi-Fi (pokud ještě ne, podívejte se na návod na HTTP připojení)
  • MQTT broker běžící ve vaší lokální síti (např. Mosquitto, Home Assistant nebo vestavěný broker TapHome)
  • TapHome CCU ve stejné síti jako broker

Na zařízeních Gen1 povolení MQTT vypne Shelly Cloud. Obojí nemůže běžet současně. Na zařízeních Gen2/Plus toto omezení neplatí.

Krok 1 — Povolte MQTT na zařízení Shelly

Zařízení Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Otevřete webové rozhraní Shelly: http://<device-ip>/
  2. Přejděte na Internet & SecurityAdvanced — MQTT
  3. Povolte MQTT
  4. Nastavte MQTT Server: <broker-ip>:<port> (např. 192.168.1.10:1883)
  5. Volitelně nastavte MQTT User a MQTT Password, pokud váš broker vyžaduje autentifikaci
  6. Klikněte na Save — zařízení se restartuje a připojí k brokeru

Zařízení Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Otevřete webové rozhraní Shelly: http://<device-ip>/
  2. Přejděte na SettingsMQTT
  3. Povolte MQTT
  4. Nastavte Server: <broker-ip>:<port> (např. 192.168.1.10:1883)
  5. Client ID je předvyplněné ID zařízení (např. shellyplus1pm-AABBCCDDEE) — ponechte tak, pokud nemáte konkrétní důvod ke změně
  6. Klikněte na Save a restartujte zařízení

Pro ověření funkčnosti MQTT použijte MQTT klienta (např. MQTT Explorer) a přihlaste se k odběru shellies/# (Gen1) nebo <device-id>/# (Gen2). Měli byste vidět stavové zprávy ze zařízení.

Krok 2 — Zjistěte Device ID / MQTT Client ID

Některé šablony vyžadují parametr Device ID nebo MQTT Client ID. Jde o jedinečný identifikátor používaný v MQTT topicích.

  • Gen1: nachází se na štítku jako MAC adresa (např. AABBCCDDEE). Device ID = shelly<model>-<mac>, např. shelly1pm-AABBCCDDEE
  • Gen2/Plus: nachází se ve webovém rozhraní Shelly v části SettingsDevice InfoDevice ID, nebo na štítku zařízení

Krok 3 — Konfigurace v TapHome

  1. V TapHome přidejte nový modul Packet Parser (MQTT)
  2. IP Address: zadejte IP adresu MQTT brokeru (např. 192.168.1.10)
  3. Port: 1883 (výchozí; pro TLS použijte 8883)
  4. Device ID / MQTT Client ID: zadejte hodnotu z kroku 2 (pokud to šablona vyžaduje)
  5. Importujte šablonu — TapHome se automaticky přihlásí k odběru topiců zařízení

Dostupná zařízení

Shelly Flood MQTT Modul
Senzor zaplavení 1 Jazýčkový kontakt Pouze ke čtení

Detekce úniku vody — hlásí alarm při přítomnosti vody, OK když je sucho

boolean
Servisní atributy
Baterie
Teplota

Senzor zaplavení 1

Servisní atributy
Battery
battery + "%"
Temperature
temp + "°C"
Senzor zaplavení 2 Jazýčkový kontakt Pouze ke čtení

Detekce úniku vody — hlásí alarm při přítomnosti vody, OK když je sucho

boolean
Servisní atributy
Baterie
Teplota

Senzor zaplavení 2

Servisní atributy
Battery
battery + "%"
Temperature
temp + "°C"
Senzor zaplavení 3 Jazýčkový kontakt Pouze ke čtení

Detekce úniku vody — hlásí alarm při přítomnosti vody, OK když je sucho

boolean
Servisní atributy
Baterie
Teplota

Senzor zaplavení 3

Servisní atributy
Battery
battery + "%"
Temperature
temp + "°C"
Senzor zaplavení 4 Jazýčkový kontakt Pouze ke čtení

Detekce úniku vody — hlásí alarm při přítomnosti vody, OK když je sucho

boolean
Servisní atributy
Baterie
Teplota

Senzor zaplavení 4

Servisní atributy
Battery
battery + "%"
Temperature
temp + "°C"
Senzor zaplavení 5 Jazýčkový kontakt Pouze ke čtení

Detekce úniku vody — hlásí alarm při přítomnosti vody, OK když je sucho

boolean
Servisní atributy
Baterie
Teplota

Senzor zaplavení 5

Servisní atributy
Battery
battery + "%"
Temperature
temp + "°C"
Připojení: Packet Parser → MQTT
Možná vylepšení (2)
  • Connection Status — LWT topic — true on connect, false on disconnect. Could detect offline sensors.
  • Full Status JSON — Complete /status as JSON (fw ≥1.8.0). Could parse wifi_sta.rssi, battery, act_reasons.

Zdroje