---
title: "Shelly 1 Gen3 Garage Door (Relay, Reed Contact on SW)"
description: "Shelly 1 Gen3 via HTTP locale per la porta del garage: aperta/chiusa dal contatto reed su SW, impulso al motore dal relè. Password off, modalità Detached."
url: "https://taphome.com/it/compatibility/shelly-1-gen3-http/"
language: it
lastmod: 2026-11-10
generator: hugo
ai:
  topics: ["http","wifi","garage-door","relay","reed-contact","door-sensor","i/o-module","sensor"]
  questions: ["Come integrare un controllo della porta del garage Shelly 1 Gen3 con TapHome?","Cosa comanda e cosa legge il template TapHome per la porta del garage con Shelly 1 Gen3?","Come collegare il motore della porta del garage e un contatto reed allo Shelly 1 Gen3?","L'ingresso SW dello Shelly 1 Gen3 è a contatto pulito?","Quali impostazioni dello Shelly servono per TapHome: password, tipo di ingresso e modalità Detached?","Perché in TapHome la porta del garage risulta Open mentre è chiusa?","Come modificare la durata dell'impulso del relè per il motore della porta del garage?","Perché TapHome mostra \"Shelly asks for a password (HTTP 401)\"?"]
---

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

Comunicazione: Packet Parser → HTTP

> 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](https://taphome.com/it/docs/setup/network-preparation/)

## 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.

> [!NOTE]
> Relay e Garage door comandano lo stesso relè. Usane uno e nascondi o elimina l'altro.

## Collegamento hardware

> [!WARNING]
> 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.](https://taphome.com/images/compatibility/shelly-1-gen3-http/wiring-ac_hu_d66b4612c062a05b.jpg)

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.](https://taphome.com/images/compatibility/shelly-1-gen3-http/wiring-dc-24-48v_hu_9d7ec3968564d1b0.jpg)

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.](https://taphome.com/images/compatibility/shelly-1-gen3-http/wiring-dc-12v_hu_bb0aaf79a96be915.jpg)

### 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).

> [!WARNING]
> 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:

| Impostazione | Dove nell'interfaccia web dello Shelly | Valore | Perché |
|---|---|---|---|
| Protezione con password | **Settings → Device settings → Authentication** | Disattivata | TapHome non supporta l'autenticazione HTTP Digest. Con una password ogni dispositivo mostra l'errore "Shelly asks for a password (HTTP 401)". |
| Tipo di ingresso | **Input/output settings → input mode** | **Switch** | Il 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/uscita | **Input/output settings → output type** | **Detached Switch** | Nelle 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 fisso | **Settings → 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. |

> [!TIP]
> 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

| Variabile | Predefinito | Significato |
|---|---|---|
| `Invert` | `0` | `0`: contatto chiuso = porta **Closed** (contatto reed normalmente aperto con il magnete sulla porta chiusa). Imposta `1` quando il contatto è aperto con la porta chiusa. |
| `PulseSeconds` | `1` | Durata 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](https://www.shelly.com/en/support/shelly-app) (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**

> [!NOTE]
> 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

> [!TIP]
> 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

> [!NOTE]
> 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) |

Lettura (modulo)

```taphome
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

```taphome
PARSEJSON(WiFiStatus, "ssid", true)
```

${ipAddress}

```taphome
PARSEJSON(WiFiStatus, "sta_ip", true)
```

${xml\_signal\_strength} \[dB]

```taphome
PARSEJSON(WiFiStatus, "rssi", true)
```

MAC

```taphome
PARSEJSON(SysStatus, "mac", true)
```

${temperature} \[°C]

```taphome
PARSEJSON(SwitchStatus, "temperature.tC", true)
```

Azioni di servizio

${xml\_update\_fw}

```taphome
VAR r := SENDHTTPREQUEST("/rpc/Shelly.Update?stage=\"stable\"");
IF r.IsSuccess
    RETURN("OK");
ELSE
    RETURN("Error " + TOSTRING(r.StatusCode));
END
```

Reboot

```taphome
VAR r := SENDHTTPREQUEST("/rpc/Shelly.Reboot");
IF r.IsSuccess
    RETURN("OK");
ELSE
    RETURN("Error " + TOSTRING(r.StatusCode));
END
```

Relay Interruttore

Valori / Stati: ON · OFF

Lettura stato interruttore

```taphome
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

```taphome
SENDHTTPREQUEST("/rpc/Switch.Set?id=0&on=" + IF(St, "true", "false"));
```

SW input Contatto reed

Lettura

```taphome
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`

Lettura stato interruttore

```taphome
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

```taphome
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)

```taphome
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'app | Predefinito   |
|--------------------|---------------|
| Indirizzo IP       | `192.168.0.1` |

## Documentazione correlata

- [Integrazione Packet Parser](https://taphome.com/it/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/it/docs/integration/packet-parser/)
- [Funzioni Packet parser](https://taphome.com/it/docs/script/packet-parser/)
- [Funzioni di parsing](https://taphome.com/it/docs/script/parsing-functions/)

