TapHome
Community Beta Sensori

Shelly 1 Gen3 Garage Door (Relay, Reed Contact on SW)

Relè Wi-Fi Shelly 1 Gen3 come controllo della porta del garage in TapHome via HTTP locale (API Gen2+ RPC). Un contatto reed sull'ingresso SW mostra se la porta è aperta o chiusa, e il relè a contatto pulito su I e O dà al motore un breve impulso solo quando la porta non è già nello stato richiesto. In più un normale interruttore relè, lo stato dell'ingresso SW e la diagnostica Wi-Fi.

ShellyPacket Parser → HTTP3 dispositiviRevisione 1.0 Ultimo aggiornamento: 10 novembre 2026

Inviato da Lukáš Štěpán

Shelly 1 Gen3 Garage Door (Relay, Reed Contact on SW)

Importa nell'app TapHomeHardware › Packet Parser › Aggiungi da modello

Scarica template
In questa pagina

Indirizzo di rete

TapHome raggiunge il dispositivo all'indirizzo inserito durante l'importazione. Assegna al dispositivo un indirizzo fisso — una prenotazione IP nel router, oppure il suo nome mDNS se lo supporta —, altrimenti l'integrazione smette di funzionare quando il router cambia l'indirizzo.

Preparazione della rete

Guida all'integrazione

Lo Shelly 1 Gen3 (modello S3SW-001X16EU) è un relè Wi-Fi compatto a un canale con un contatto relè pulito (morsetti I e O) e un ingresso per interruttore (SW). Si alimenta a 110–240 V~, 24–48 V⎓ o 12 V⎓ stabilizzati e si installa in una normale scatola da incasso. TapHome lo legge e lo comanda via HTTP sulla rete locale con l’API Shelly Gen2+ RPC (componenti switch:0 e input:0), senza il cloud Shelly.

Questo template della community è pensato per una porta del garage: un contatto reed su SW indica se la porta è aperta o chiusa, e il relè dà un breve impulso all’ingresso pulsante del motore della porta. Il template fornisce tre dispositivi:

  • Relay — il relè come normale interruttore on/off.
  • SW input — lo stato dell’ingresso SW (on = il contatto su SW è chiuso).
  • Garage door — lo stato della porta dal contatto reed; un tocco invia un impulso del relè al motore, ma solo quando la porta non è già nello stato richiesto.

Relay e Garage door comandano lo stesso relè. Usane uno e nascondi o elimina l’altro.

Collegamento hardware

L’installazione deve essere eseguita da un elettricista qualificato. Prima di collegare o modificare qualsiasi cavo, spegni l’interruttore magnetotermico e verifica con un tester adeguato che sui morsetti non ci sia tensione. Shelly richiede un interruttore magnetotermico con curva B o C, max 16 A.

Schemi di collegamento

Shelly fornisce uno schema di collegamento per ogni tipo di alimentazione. In tutti e tre il carico è collegato tramite i morsetti a contatto pulito del relè O e I, e l’interruttore è collegato tra SW e la linea di alimentazione.

Alimentazione 110–240 V~: L e N alimentati, l’interruttore tra SW e L.

Schema di collegamento Shelly 1 Gen3 per alimentazione 110-240 V AC: morsetti L e N alimentati, interruttore tra SW e L, carico collegato tramite i morsetti a contatto pulito O e I.

Alimentazione 24–48 V⎓: positivo su N, GND su L, l’interruttore tra SW e GND.

Schema di collegamento Shelly 1 Gen3 per alimentazione 24-48 V DC: positivo su N, GND su L, interruttore tra SW e GND, carico collegato tramite i morsetti a contatto pulito O e I.

Alimentazione stabilizzata 12 V⎓: positivo sul morsetto 12V, GND su L, l’interruttore tra SW e GND.

Schema di collegamento Shelly 1 Gen3 per alimentazione stabilizzata 12 V DC: positivo sul morsetto 12V, GND su L, interruttore tra SW e GND, carico collegato tramite i morsetti O e I.

Motore della porta del garage su I e O

Collega i morsetti del pulsante del motore della porta del garage ai morsetti del relè I e O — negli schemi, al posto della lampada. Il contatto del relè è pulito, quindi commuta l’ingresso del motore come un pulsante, indipendentemente dall’alimentazione dello Shelly. Il contatto è dimensionato per max 240 V~ / 16 A e max 30 V⎓ / 10 A.

Contatto reed su SW

Collega il contatto reed all’ingresso SW nello stesso punto dell’interruttore nello schema di collegamento della tua alimentazione. Il template si aspetta un contatto reed normalmente aperto con il magnete sulla porta chiusa (contatto chiuso = porta chiusa); una disposizione diversa si gestisce con la variabile Invert (vedi Configurazione).

SW non è un ingresso a contatto pulito. Negli schemi di collegamento Shelly l’interruttore su SW è collegato all’alimentazione: con l’alimentazione 110–240 V~ il contatto reed e il suo cavo commutano la tensione di rete (SW su L). Usa un contatto e un cavo adatti alla tensione di rete, oppure alimenta lo Shelly a 12 V⎓ o 24–48 V⎓, dove il contatto collega SW a GND. Segui sempre lo schema di collegamento del manuale utente Shelly.

I morsetti a vite accettano conduttori da 0,2 a 2,5 mm² (rigidi, flessibili o con puntalini), spelati per 6–7 mm. Lo Shelly è solo per uso interno, da –20 °C a 40 °C.

Configurazione

Collegare lo Shelly al Wi-Fi

Lo Shelly 1 Gen3 ha un’interfaccia web integrata. Alla prima accensione apre un proprio access point Shelly1G3-XXXXXXXXXXXX:

  1. Collega un telefono o un computer alla rete Wi-Fi Shelly1G3-XXXXXXXXXXXX (aperta per impostazione predefinita).
  2. Apri http://192.168.33.1/ nel browser.
  3. Vai in Settings → Wi-Fi, seleziona o inserisci la tua rete Wi-Fi e la sua password e salva. Lo Shelly funziona nella banda 2,4 GHz, quindi usa una rete a 2,4 GHz.
  4. Trova nel router l’indirizzo IP ricevuto dallo Shelly e apri l’interfaccia web su http://<IP address>/.

L’access point è una rete aperta per impostazione predefinita. Quando lo Shelly è connesso al tuo Wi-Fi, puoi disattivarlo in Settings → Access point and Range Extender.

Lo Shelly si può aggiungere al Wi-Fi anche con l’app Shelly Smart Control. TapHome non ha bisogno del cloud Shelly.

Impostazioni dello Shelly per TapHome

Imposta questi valori nell’interfaccia web dello Shelly (http://<IP address>/) prima di importare il template:

ImpostazioneDove nell’interfaccia web dello ShellyValorePerché
Protezione con passwordSettings → Device settings → AuthenticationDisattivataTapHome non supporta l’autenticazione HTTP Digest. Con una password ogni dispositivo mostra l’errore “Shelly asks for a password (HTTP 401)”.
Tipo di ingressoInput/output settings → input modeSwitchIl contatto reed ha uno stato; con il tipo Button lo Shelly non riporta alcuno stato e SW input e Garage door mostrano un errore.
Modalità ingresso/uscitaInput/output settings → output typeDetached SwitchNelle altre modalità il contatto reed commuta da solo il relè ogni volta che la porta si muove. Garage door mostra un avviso finché la modalità non è Detached.
Indirizzo IP fissoSettings → Wi-Fi (IP statico) o una prenotazione DHCP nel router—Il template raggiunge lo Shelly tramite il suo indirizzo IP, che quindi non deve cambiare.

Lascia disattivata l’opzione di ingresso Invert dello Shelly e usa invece la variabile del template Invert. L’opzione dello Shelly inverte lo stato dell’ingresso letto da TapHome, quindi invertirebbe insieme SW input e Garage door.

Importare il template

In TapHome importa il template e inserisci l’indirizzo IP fisso dello Shelly come parametro dell’indirizzo IP (il valore predefinito 192.168.0.1 è solo un segnaposto).

Variabili di Garage door

VariabilePredefinitoSignificato
Invert00: contatto chiuso = porta Closed (contatto reed normalmente aperto con il magnete sulla porta chiusa). Imposta 1 quando il contatto è aperto con la porta chiusa.
PulseSeconds1Durata dell’impulso del relè in secondi. Lo Shelly riporta da solo il relè allo stato iniziale (toggle_after).

Funzionalità del dispositivo

Garage door

Lo stato della porta arriva dall’ingresso SW (Input.GetStatus?id=0), interrogato ogni 2,5 s, ed è mostrato come Open (aperta) o Closed (chiusa). Un tocco su Open o Closed legge prima l’ingresso e invia Switch.Set?id=0&on=true&toggle_after=<PulseSeconds> solo quando la porta non è già in quello stato. Un secondo tocco sullo stesso stato, o un tocco dopo che la porta è stata mossa con il telecomando, non invia nulla. Se lo Shelly non risponde alla lettura dell’ingresso, non viene inviato nemmeno l’impulso.

Dopo un riavvio dell’unità di controllo, Garage door legge il proprio stato dallo Shelly e non invia nulla (StartupValueSource = lettura dal dispositivo). Senza questo, una porta mossa durante il riavvio verrebbe riportata indietro.

Il dispositivo legge anche la configurazione dello switch dello Shelly (Switch.GetConfig?id=0) e mostra un avviso finché la modalità di ingresso non è Detached.

Un solo ingresso fornisce solo due stati. “In apertura” e “in chiusura” non si possono mostrare: la porta risulta Open appena lascia la posizione di chiusura.

Relay

Il relè come interruttore on/off: lo stato viene letto da Switch.GetStatus?id=0 (output) ogni 2,5 s e commutato con Switch.Set?id=0&on=true o on=false. Dopo un riavvio dell’unità di controllo anche Relay legge il proprio stato dallo Shelly invece di inviarne uno.

SW input

Lo stato di input:0 da Input.GetStatus?id=0, interrogato ogni 2,5 s — on quando il contatto su SW è chiuso. Prima di ogni lettura il template controlla il tipo di ingresso (Input.GetConfig?id=0) e mostra un errore quando non è Switch.

Diagnostica del modulo e azioni di servizio

Il modulo viene interrogato ogni 15 s (Sys.GetStatus, WiFi.GetStatus, Switch.GetStatus) e mostra questi attributi di servizio:

  • Wi-Fi — nome della rete connessa
  • Indirizzo IP — indirizzo IP attuale dello Shelly
  • Potenza del segnale — intensità del segnale Wi-Fi (RSSI)
  • MAC — indirizzo MAC
  • Temperatura — temperatura interna dello Shelly in °C

Mostra un avviso quando è disponibile un nuovo firmware stabile e quando lo Shelly deve essere riavviato. Sono disponibili due azioni di servizio: Aggiornamento del firmware alla versione stabile (Shelly.Update) e Reboot (Shelly.Reboot).

Lo Shelly 1 Gen3 non dispone di misurazione della potenza.

Risoluzione dei problemi

“Shelly asks for a password (HTTP 401)” su tutti i dispositivi

Nello Shelly è attiva la protezione con password. Disattivala in Settings → Device settings → Authentication nell’interfaccia web dello Shelly.

I dispositivi non rispondono, oppure “Shelly answered HTTP …”

  1. Verifica che l’indirizzo IP in TapHome sia l’indirizzo IP attuale dello Shelly e che lo Shelly sia in rete.
  2. Verifica che lo Shelly abbia un indirizzo IP fisso (IP statico o prenotazione DHCP), così l’indirizzo non cambia dopo un riavvio del router.
  3. Apri http://<IP address>/rpc/Sys.GetStatus in un browser sulla stessa rete — se lo Shelly risponde con un JSON, è raggiungibile.

“SW input is not of type switch in Shelly” o “SW input has no state”

La modalità di ingresso è Button (o un altro tipo). Imposta la modalità di ingresso su Switch nelle impostazioni di ingresso/uscita dello Shelly.

Avviso “Shelly input mode is not Detached” su Garage door

Il contatto reed commuta da solo il relè. Imposta il tipo di uscita su Detached Switch nelle impostazioni di ingresso/uscita dello Shelly.

Garage door mostra Open mentre la porta è chiusa

Il contatto reed è aperto con la porta chiusa. Imposta la variabile Invert su 1.

Il motore non reagisce all’impulso

L’impulso è troppo breve per il motore. Aumenta PulseSeconds. Verifica anche che i morsetti del pulsante del motore siano collegati a I e O.

Un tocco su Garage door non fa nulla

Il template invia un impulso solo quando, secondo il contatto reed, la porta non è già nello stato richiesto. Controlla il dispositivo SW input: se non cambia quando la porta si muove, verifica il cablaggio del contatto reed e la posizione del magnete.

Avvisi “New firmware update is available” o “Restart required”

Usa sul modulo l’azione di servizio Aggiornamento del firmware o Reboot.

Come installare in TapHome

Prerequisiti

  • Dispositivo Shelly installato e acceso
  • Rete Wi-Fi locale (2,4 GHz)
  • TapHome CCU sulla stessa rete

Passaggio 1 — Collegare Shelly al Wi-Fi

Opzione A — App Shelly (consigliata):

  1. Scarica l’app Shelly (iOS / Android)
  2. Tocca + → Add Device e segui la procedura guidata di associazione Bluetooth
  3. Inserisci le credenziali Wi-Fi quando richiesto

Opzione B — Modalità AP (senza app):

  1. Al primo avvio il dispositivo crea un hotspot: ShellyXXX-AABBCCDDEE
  2. Collega il tuo telefono/PC a questo hotspot
  3. Apri http://192.168.33.1 → Internet & Security → Wi-Fi Mode - Client
  4. Inserisci SSID e password → Save

Shelly supporta solo reti a 2,4 GHz. Le reti a 5 GHz non appariranno nella scansione.

Passaggio 2 — Trovare l’indirizzo IP

Dopo la connessione al Wi-Fi, trova l’indirizzo IP assegnato tramite uno di questi metodi:

  • App Shelly: Dettaglio dispositivo → Device info → Indirizzo IP
  • Interfaccia web Shelly: Connettiti all’AP del dispositivo prima della configurazione Wi-Fi — l’IP viene mostrato dopo il salvataggio
  • Tabella DHCP del router: Cerca un hostname come shelly1pm-AABBCCDDEE
  • mDNS: Esegui il ping di shelly<model>-<mac>.local (es. shelly1pm-AABBCCDDEE.local) dalla stessa rete

Assegna un IP statico (prenotazione DHCP) nel tuo router per il dispositivo Shelly per evitare che l’indirizzo cambi dopo un riavvio del router.

Passaggio 3 — Configurazione in TapHome

  1. In TapHome, aggiungi un nuovo modulo Packet Parser (HTTP)
  2. IP Address: inserisci l’IP dal passaggio 2 (es. 192.168.1.50)
  3. Port: 80 (predefinito, nessuna modifica necessaria)
  4. Importa il template — TapHome interrogherà periodicamente /status per leggere lo stato del dispositivo

L’autenticazione HTTP è disabilitata per impostazione predefinita sui dispositivi Shelly. Se hai abilitato la protezione con accesso, TapHome attualmente non supporta HTTP Basic Auth — mantieni l’autenticazione disabilitata per l’integrazione con TapHome.

Dispositivi disponibili 3

Questi dispositivi compaiono in TapHome dopo l'importazione.

Shelly 1 Gen3 Modulo
Attributi di servizio
Wi-Fi
${ipAddress}
${xml_signal_strength} [dB]
MAC
${temperature} [°C]
Azioni di servizio
${xml_update_fw}
Reboot
Variabili personalizzate
SysStatus (string)
WiFiStatus (string)
SwitchStatus (string)

Shelly 1 Gen3

Lettura (modulo)
VAR r := SENDHTTPREQUEST("/rpc/Sys.GetStatus");
IF r.IsSuccess
    SysStatus := r.Content;
ELSE
    IF r.StatusCode = 401
        ADDERROR(401, "Shelly asks for a password (HTTP 401). Turn off password protection in the Shelly web interface, TapHome does not support HTTP Digest.");
    ELSE
        ADDERROR(1, "Shelly answered HTTP " + TOSTRING(r.StatusCode));
    END
    RETURN(0);
END
r := SENDHTTPREQUEST("/rpc/WiFi.GetStatus");
IF r.IsSuccess
    WiFiStatus := r.Content;
END
r := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=0");
IF r.IsSuccess
    SwitchStatus := r.Content;
END
IF ! ISNULL(PARSEJSON(SysStatus, "available_updates.stable", true))
    ADDWARNING(2, "New firmware update is available");
END
IF PARSEJSON(SysStatus, "restart_required", true)
    ADDWARNING(3, "Restart required");
END
Attributi di servizio
Wi-Fi
PARSEJSON(WiFiStatus, "ssid", true)
${ipAddress}
PARSEJSON(WiFiStatus, "sta_ip", true)
${xml_signal_strength} [dB]
PARSEJSON(WiFiStatus, "rssi", true)
MAC
PARSEJSON(SysStatus, "mac", true)
${temperature} [°C]
PARSEJSON(SwitchStatus, "temperature.tC", true)
Azioni di servizio
${xml_update_fw}
VAR r := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF r.IsSuccess
    RETURN("OK");
ELSE
    RETURN("Error " + TOSTRING(r.StatusCode));
END
Reboot
VAR r := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF r.IsSuccess
    RETURN("OK");
ELSE
    RETURN("Error " + TOSTRING(r.StatusCode));
END
Relay Interruttore
Valori / Stati: ON · OFF

Relay

Lettura stato interruttore
VAR r := SENDHTTPREQUEST("/rpc/Switch.GetStatus?id=0");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.output"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Shelly asks for a password (HTTP 401). Turn off password protection in the Shelly web interface, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Shelly answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Scrittura stato interruttore
SENDHTTPREQUEST("/rpc/Switch.Set?id=0&on=" + IF(St, "true", "false"));
SW input Contatto reed

SW input

Lettura
VAR r := SENDHTTPREQUEST("/rpc/Input.GetConfig?id=0");
IF r.IsSuccess
    IF PARSEJSON(r.Content, "$.type", true) != "switch"
        ADDERROR(2, "SW input is not of type switch in Shelly (Input settings: Input mode = Switch)");
        RETURN(NaN);
    END
ELSE
    IF r.StatusCode = 401
        ADDERROR(401, "Shelly asks for a password (HTTP 401). Turn off password protection in the Shelly web interface, TapHome does not support HTTP Digest.");
    ELSE
        ADDERROR(1, "Shelly answered HTTP " + TOSTRING(r.StatusCode));
    END
    RETURN(NaN);
END
r := SENDHTTPREQUEST("/rpc/Input.GetStatus?id=0");
IF r.IsSuccess
    RETURN(PARSEJSON(r.Content, "$.state"));
END
IF r.StatusCode = 401
    ADDERROR(401, "Shelly asks for a password (HTTP 401). Turn off password protection in the Shelly web interface, TapHome does not support HTTP Digest.");
ELSE
    ADDERROR(1, "Shelly answered HTTP " + TOSTRING(r.StatusCode));
END
RETURN(NaN);
Garage door Interruttore
Valori / Stati: Open · Closed
Variabile: Invert, Variabile: PulseSeconds

Garage door

Lettura stato interruttore
VAR r := SENDHTTPREQUEST("/rpc/Input.GetStatus?id=0");
IF r.IsSuccess = false
    IF r.StatusCode = 401
        ADDERROR(401, "Shelly asks for a password (HTTP 401). Turn off password protection in the Shelly web interface, TapHome does not support HTTP Digest.");
    ELSE
        ADDERROR(1, "Shelly answered HTTP " + TOSTRING(r.StatusCode));
    END
    RETURN(NaN);
END
VAR s := PARSEJSON(r.Content, "$.state", true);
IF ISNULL(s)
    ADDERROR(2, "SW input has no state - set it to type switch in Shelly");
    RETURN(NaN);
END
IF Invert = 1
    RETURN(s);
END
RETURN(! s);
Scrittura stato interruttore
VAR r := SENDHTTPREQUEST("/rpc/Input.GetStatus?id=0");
IF r.IsSuccess = false
    RETURN(0);
END
VAR open := IF(PARSEJSON(r.Content, "$.state", true), 0, 1);
IF Invert = 1
    open := 1 - open;
END
IF IF(St, 1, 0) != open
    SENDHTTPREQUEST("/rpc/Switch.Set?id=0&on=true&toggle_after=" + TOSTRING(PulseSeconds));
END
Lettura (modulo)
VAR r := SENDHTTPREQUEST("/rpc/Switch.GetConfig?id=0");
IF r.IsSuccess
    IF PARSEJSON(r.Content, "$.in_mode", true) != "detached"
        ADDWARNING(3, "Shelly input mode is not Detached - the reed contact on SW switches the relay by itself. Set Input/Output settings to Detached.");
    END
END
Connessione: Packet Parser → HTTP

Parametri di importazione

Inserisci questi valori quando importi l'XML.

Richiesto nell'appPredefinito
Indirizzo IP192.168.0.1

Hai trovato un problema con questo template?

Dicci cosa non funziona, cosa manca o come dovrebbe comportarsi il template. Il tuo feedback ci aiuta a mantenere il catalogo accurato.

Modello · portale TapHome Shelly 1 Gen3 Garage Door (Relay, Reed Contact on SW) Apri questo template nel Customer Portal per applicarlo a una delle tue case, o crea una proposta di modifica e inviala al catalogo. Packet Parser → HTTP Vedi nel portale TapHome