TapHome

Shelly Flood

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

Shelly Flood è un sensore Wi-Fi di rilevamento allagamento alimentato a batteria (CR123A). TapHome comunica con il dispositivo tramite MQTT — il protocollo raccomandato per i dispositivi Shelly a batteria, poiché il sensore rimane in standby la maggior parte del tempo e pubblica dati solo al risveglio.

Il template supporta fino a 5 sensori Shelly Flood per modulo. Ogni istanza sensore è identificata da una variabile personalizzata sensorN_topic che punta al Client ID MQTT del dispositivo.

Configurazione

Device ID

Ogni sensore Shelly Flood ha un Device ID MQTT univoco nel formato shellyflood-<MAC6>, dove <MAC6> è il 6 caratteri finali dell’indirizzo MAC in esadecimale minuscolo (es. shellyflood-112233).

Il Device ID si trova:

  • Sull’etichetta del dispositivo (indirizzo MAC)
  • Nell’interfaccia web di Shelly: SettingsDevice Info
  • Tramite API: GET http://<device-ip>/settings → campo mqtt.id

Questo dispositivo supporta la scoperta mDNS. È possibile usare il nome host shellyflood-{MAC}.local al posto di un indirizzo IP nella configurazione di TapHome. Sostituire {MAC} con gli ultimi 6 caratteri dell’indirizzo MAC del dispositivo in esadecimale minuscolo (es. shellyflood-112233.local). L’uso del nome host evita problemi di connettività quando l’indirizzo IP del dispositivo cambia.

Configurazione del template

Dopo aver importato il template in TapHome:

  1. Aprire il modulo Shelly Flood MQTT
  2. Impostare l’IP del broker MQTT e la porta (default 1883)
  3. Per ogni istanza sensore, impostare la variabile personalizzata sensorN_topic sul Device ID del corrispondente Shelly Flood (es. shellyflood-112233)

Il modulo si iscrive a shellies/# e gli script listener filtrano i messaggi in base al prefisso del topic configurato.

Configura solo gli slot sensore che utilizzi effettivamente. Gli slot non configurati (con il valore predefinito shellyflood-deviceid) mostrano un messaggio di errore che invita a impostare il topic corretto.

Funzionalità del dispositivo

Rilevamento allagamento

Ogni istanza sensore è mappata come dispositivo Reed Contact in TapHome. Lo stato di allagamento viene letto dal topic shellies/<id>/sensor/flood:

  • trueAllarme (acqua rilevata)
  • falseOK (asciutto)

Il sensore si risveglia e pubblica il proprio stato quando viene rilevata o rimossa l’acqua, e anche durante gli intervalli di segnalazione periodica.

Monitoraggio batteria e temperatura

Ogni istanza sensore espone due attributi di servizio:

  • Batteria — percentuale del livello batteria letta da shellies/<id>/sensor/battery. Viene generato un avviso di batteria scarica quando il livello scende sotto il 20%.
  • Temperatura — temperatura ambiente in °C letta da shellies/<id>/sensor/temperature.

Entrambi gli attributi sono in sola lettura e si aggiornano ogni volta che il sensore si risveglia e pubblica dati.

Funzionalità aggiuntive

Shelly Flood pubblica anche uno stato online/offline tramite il topic MQTT Last Will and Testament (LWT) e un messaggio di stato JSON completo (firmware ≥1.8.0). È disponibile un’impostazione rain_sensor che inverte la logica di rilevamento allagamento per l’uso come rilevatore di pioggia all’aperto. Queste funzionalità potranno essere aggiunte in un futuro aggiornamento del template.

Risoluzione dei problemi

Il sensore non riporta dati
  1. Verificare che Shelly Flood sia connesso al Wi-Fi e che MQTT sia abilitato nelle impostazioni del dispositivo
  2. Controllare che la variabile personalizzata sensorN_topic corrisponda esattamente al Device ID (es. shellyflood-112233)
  3. Se l’indirizzo del broker MQTT è cambiato, provare con il nome host mDNS (shellyflood-AABBCCDDEE.local) per verificare che il sensore sia raggiungibile in rete
  4. Usare un client MQTT (es. MQTT Explorer) per iscriversi a shellies/# e verificare che il sensore pubblichi messaggi al risveglio
L’allarme allagamento non si attiva
  1. Verificare che i contatti del sensore sul fondo del dispositivo siano puliti e liberi da ostruzioni
  2. Testare posizionando il sensore su una superficie bagnata — il dispositivo dovrebbe pubblicare true sul topic /sensor/flood entro pochi secondi
  3. Controllare in TapHome lo stato del dispositivo Reed Contact — 1 = allarme, 0 = OK
La batteria si scarica rapidamente
  1. Shelly Flood è progettato per una lunga durata della batteria (CR123A, tipicamente 1–2 anni in base alla frequenza di segnalazione)
  2. Risvegli frequenti (es. per instabilità Wi-Fi che richiede riconnessioni ripetute) possono scaricare la batteria più velocemente
  3. Garantire un segnale Wi-Fi forte nella posizione del sensore

I dispositivi Shelly Gen1 non supportano MQTT over TLS. La comunicazione tra il sensore e il broker MQTT non è cifrata (MQTT plain, porta 1883). Assicurarsi che il broker MQTT si trovi su una rete locale affidabile.

Come installare in TapHome

Prerequisiti

  • Dispositivo Shelly connesso al Wi-Fi (vedi la guida alla connessione HTTP se non ancora fatto)
  • Broker MQTT attivo sulla rete locale (es. Mosquitto, Home Assistant o il broker integrato di TapHome)
  • TapHome CCU sulla stessa rete del broker

Sui dispositivi Gen1, l’attivazione di MQTT disabilita Shelly Cloud. Entrambi non possono funzionare contemporaneamente. Sui dispositivi Gen2/Plus questa limitazione non si applica.

Passaggio 1 — Abilitare MQTT sul dispositivo Shelly

Dispositivi Gen1 (Shelly 1, 1PM, 2.5, EM, 3EM, Plug S, RGBW2, Dimmer, TRV…)

  1. Apri l’interfaccia web Shelly: http://<device-ip>/
  2. Vai su Internet & SecurityAdvanced — MQTT
  3. Abilita MQTT
  4. Imposta MQTT Server: <broker-ip>:<port> (es. 192.168.1.10:1883)
  5. Opzionalmente imposta MQTT User e MQTT Password se il broker richiede l’autenticazione
  6. Clicca su Save — il dispositivo si riavvierà e si connetterà al broker

Dispositivi Gen2 / Plus (Shelly Plus 1, Plus 1PM, Plus 2PM, Plus Plug S, Plus H&T, Pro 3EM…)

  1. Apri l’interfaccia web Shelly: http://<device-ip>/
  2. Vai su SettingsMQTT
  3. Abilita MQTT
  4. Imposta Server: <broker-ip>:<port> (es. 192.168.1.10:1883)
  5. Il Client ID è precompilato con l’ID del dispositivo (es. shellyplus1pm-AABBCCDDEE) — lascialo così a meno che tu non abbia un motivo specifico per cambiarlo
  6. Clicca su Save e riavvia il dispositivo

Per verificare che MQTT funzioni, usa un client MQTT (es. MQTT Explorer) e sottoscrivi shellies/# (Gen1) o <device-id>/# (Gen2). Dovresti vedere i messaggi di stato dal dispositivo.

Passaggio 2 — Trovare il Device ID / MQTT Client ID

Alcuni template richiedono un parametro Device ID o MQTT Client ID. Questo è l’identificatore univoco utilizzato nei topic MQTT.

  • Gen1: si trova sull’etichetta come indirizzo MAC (es. AABBCCDDEE). Device ID = shelly<model>-<mac>, es. shelly1pm-AABBCCDDEE
  • Gen2/Plus: si trova nell’interfaccia web Shelly sotto SettingsDevice InfoDevice ID, oppure sull’etichetta del dispositivo

Passaggio 3 — Configurazione in TapHome

  1. In TapHome, aggiungi un nuovo modulo Packet Parser (MQTT)
  2. IP Address: inserisci l’IP del broker MQTT (es. 192.168.1.10)
  3. Port: 1883 (predefinito; usa 8883 per TLS)
  4. Device ID / MQTT Client ID: inserisci il valore dal passaggio 2 (se richiesto dal template)
  5. Importa il template — TapHome si sottoscriverà automaticamente ai topic del dispositivo

Dispositivi disponibili

Shelly Flood MQTT Modulo
Sensore allagamento 1 Contatto reed Solo lettura

Rilevamento perdite d'acqua — segnala allarme in presenza d'acqua, OK quando asciutto

boolean
Attributi di servizio
Batteria
Temperatura

Sensore allagamento 1

Attributi di servizio
Battery
battery + "%"
Temperature
temp + "°C"
Sensore allagamento 2 Contatto reed Solo lettura

Rilevamento perdite d'acqua — segnala allarme in presenza d'acqua, OK quando asciutto

boolean
Attributi di servizio
Batteria
Temperatura

Sensore allagamento 2

Attributi di servizio
Battery
battery + "%"
Temperature
temp + "°C"
Sensore allagamento 3 Contatto reed Solo lettura

Rilevamento perdite d'acqua — segnala allarme in presenza d'acqua, OK quando asciutto

boolean
Attributi di servizio
Batteria
Temperatura

Sensore allagamento 3

Attributi di servizio
Battery
battery + "%"
Temperature
temp + "°C"
Sensore allagamento 4 Contatto reed Solo lettura

Rilevamento perdite d'acqua — segnala allarme in presenza d'acqua, OK quando asciutto

boolean
Attributi di servizio
Batteria
Temperatura

Sensore allagamento 4

Attributi di servizio
Battery
battery + "%"
Temperature
temp + "°C"
Sensore allagamento 5 Contatto reed Solo lettura

Rilevamento perdite d'acqua — segnala allarme in presenza d'acqua, OK quando asciutto

boolean
Attributi di servizio
Batteria
Temperatura

Sensore allagamento 5

Attributi di servizio
Battery
battery + "%"
Temperature
temp + "°C"
Connessione: Packet Parser → MQTT
Possibili miglioramenti (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.

Fonti