---
title: "Shelly Gas"
description: "Rilevatore di gas Wi-Fi Shelly Gas — stato allarme, concentrazione gas in ppm, silenziamento e autotest via HTTP. Template TapHome per varianti CNG e LPG."
url: "https://taphome.com/it/compatibility/shelly-gas/"
language: it
lastmod: 2026-03-30
generator: hugo
ai:
  topics: ["http","sensor","wifi","gas-detection","safety"]
  questions: ["Come integrare Shelly Gas con TapHome?","Cosa monitora il template Shelly Gas in TapHome?","Come collegare Shelly Gas tramite HTTP a TapHome?","Quali sono le soglie di allarme gas sullo Shelly Gas?","Come silenziare il cicalino dell'allarme Shelly Gas da TapHome?","Lo stesso template funziona per entrambe le varianti CNG e LPG?"]
---

# Shelly Gas

Comunicazione: Packet Parser → HTTP

- [Pagina prodotto Shelly Gas](https://www.shelly.com/en/products/shop/shelly-gas)
- [Documentazione API Shelly Gas](https://shelly-api-docs.shelly.cloud/gen1/#shelly-gas)

> 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 Gas (modello SHGS-1) è un rilevatore di gas Wi-Fi alimentato dalla rete disponibile in due varianti — CNG (gas naturale / metano) e LPG (propano / butano). Entrambe le varianti utilizzano la stessa API e lo stesso template TapHome. Il dispositivo si collega direttamente a una presa di corrente e monitora continuamente la concentrazione di gas, attivando un allarme sonoro e luminoso quando le soglie vengono superate.

TapHome comunica con il dispositivo tramite HTTP sulla rete locale — non è necessaria alcuna connessione cloud. Il template interroga l'endpoint `/status` per lo stato dell'allarme e la concentrazione di gas, e fornisce controlli per silenziare l'allarme e avviare un autotest del sensore.

È disponibile anche una variante MQTT di questo template (`Shelly GAS MQTT`). Utilizza il template MQTT se il dispositivo è configurato per comunicare tramite un broker MQTT invece di HTTP.

## Configurazione

Lo Shelly Gas si connette tramite Wi-Fi. Durante l'importazione del template TapHome, inserisci l'indirizzo IP del dispositivo (segnaposto predefinito `192.168.0.1`).

Entrambe le varianti CNG e LPG si configurano in modo identico — il sensore fisico è diverso, ma l'API e il template sono gli stessi.

## Capacità del dispositivo

### Monitoraggio allarme gas

Il template espone un selettore multi-valore che legge lo stato attuale dell'allarme dalla risposta `/status` (`gas_sensor.alarm_state`). Il dispositivo riporta uno dei seguenti stati:

| Stato | Significato |
|-------|-------------|
| No alarm | Funzionamento normale — nessun gas rilevato |
| Mild gas leak | Concentrazione di gas >= 1800 ppm |
| Heavy gas leak | Concentrazione di gas >= 3000 ppm |
| Self Test | Autodiagnostica del sensore in corso |
| Alarm state is unknown | Stato non riconosciuto (fallback) |

Le soglie di allarme sono fisse a livello di dispositivo e non possono essere modificate tramite TapHome o l'API.

### Concentrazione di gas

Un dispositivo sensore legge la concentrazione di gas attuale in parti per milione (ppm) dalla risposta `/status` (`concentration.ppm`). Il valore si aggiorna ogni 15 secondi. Durante il riscaldamento del sensore dopo l'accensione, la lettura potrebbe non essere valida.

### Silenziamento allarme attivo

Un dispositivo pulsante invia una richiesta `GET /mute` per silenziare il cicalino dell'allarme senza cancellare lo stato dell'allarme. Lo stato dell'allarme rimane attivo fino a quando la concentrazione di gas non scende al di sotto della soglia.

### Diagnostica di servizio

Il template espone 9 attributi di servizio per il monitoraggio del dispositivo:

- **Informazioni dispositivo** — hostname, indirizzo MAC, ora del dispositivo, tempo di attività, utilizzo RAM
- **Connettività** — cloud abilitato/connesso, MQTT connesso, aggiornamento firmware disponibile

### Azioni di servizio

Sono disponibili due azioni di servizio:

- **Imposta volume** — regola il volume del cicalino dell'allarme (1 = più basso, 11 = più alto) tramite `/settings?set_volume={value}`
- **Autotest** — avvia un'autodiagnostica del sensore (~30 secondi) tramite `/self_test`

### Capacità aggiuntive

Lo Shelly Gas espone anche lo stato operativo del sensore (`normal` / `warmup` / `fault`), l'avanzamento dell'autotest, il flag di validità della concentrazione, la potenza del segnale WiFi e il controllo del manipolatore valvola esterno (11–13V, uscita jack 500mA) nella sua risposta `/status`. Un endpoint di riattivazione (`/unmute`) è disponibile per riabilitare il cicalino dell'allarme dopo il silenziamento. Queste capacità possono essere aggiunte in un futuro aggiornamento del template.

## Risoluzione dei problemi

### Il dispositivo non risponde

1. Verifica che lo Shelly sia connesso al Wi-Fi e abbia un indirizzo IP valido
2. Prova a usare l'hostname mDNS (`shellygas-AABBCCDDEE.local`) invece dell'indirizzo IP — l'IP potrebbe essere cambiato dopo un rinnovo DHCP
3. Apri `http://{device-ip}/shelly` nel browser — se risponde con il tipo dispositivo `SHGS-1`, il dispositivo è raggiungibile
4. Verifica che TapHome CCU e Shelly siano sulla stessa rete / VLAN

### La concentrazione di gas mostra sempre zero

1. Conferma che il sensore non è in modalità riscaldamento — dopo l'accensione, il sensore necessita di tempo per stabilizzarsi prima di fornire letture valide
2. Controlla `concentration.is_valid` nella risposta `/status` — se `false`, il sensore si sta ancora riscaldando
3. Assicurati che il dispositivo sia posizionato correttamente (variante CNG vicino al soffitto, variante LPG vicino al pavimento — il gas sale o scende a seconda della densità)

### L'allarme non si attiva

1. Le soglie di allarme sono fisse: lieve >= 1800 ppm, grave >= 3000 ppm — concentrazioni basse al di sotto di questi livelli non attivano l'allarme
2. Esegui un autotest da TapHome (azione di servizio) per verificare la funzionalità del sensore e del cicalino
3. Controlla il campo `gas_sensor.sensor_state` in `/status` — se riporta `fault`, il sensore potrebbe necessitare di sostituzione

> [!WARNING]
> I dispositivi Shelly Gen1 supportano solo **2 connessioni HTTP simultanee**. Se TapHome e un altro sistema (es. Home Assistant) interrogano lo stesso dispositivo contemporaneamente, la comunicazione potrebbe diventare inaffidabile. Utilizza un intervallo di polling di 10–30 secondi.

## 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 Gas Modulo

Azioni di servizio

|                |
|----------------|
| Imposta volume |
| Autotest       |

Variabili personalizzate

|                                    |                                                                             |
|------------------------------------|-----------------------------------------------------------------------------|
| `deviceID` (string) = 10521CF2BA9B | Device ID dello Shelly Gas (indirizzo MAC in esadecimale, es. 10521CF2BA9B) |

Lettura (modulo)

```taphome
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
 status := response.Content;
END
```

Azioni di servizio

Set Volume \[1 to 11]

Parametri: Volume \[1 to 11] (1–11 Volume)

```taphome
sendhttprequest("/settings?set_volume="+Volume);
```

Self test

```taphome
sendhttprequest("/self_test");
```

Allarme gas Interruttore multivalore Solo lettura

Stato allarme gas — Nessun allarme, Perdita gas lieve (&gt;= 1800 ppm), Perdita gas grave (&gt;= 3000 ppm), Autotest, Sconosciuto

enum multi-value switch

Valori / Stati: No alarm · Mild gas leak · Heavy gas leak · Alarm state is unknown · Self Test

Lettura stato interruttore

```taphome
var state := parsejson(parsejson(status,"gas_sensor"),"alarm_state");
switch(state, "none", return(0),
"mild", return(1),
"heavy", return(2),
"test", return(4),
return(3));
```

Scrittura stato interruttore

```taphome
#return(2);

# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Mu);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Mu, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Mu + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Mu + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Mu, "write"); # use "append" mode to append data to existing file
```

Concentrazione gas Variabile Solo lettura

Lettura attuale della concentrazione di gas in parti per milione (ppm)

numeric Unità: ppm

Lettura

```taphome
var v := sendhttprequest("/status");
var content := v.Content;
return(todouble(parsejson(content,"concentration.ppm")));
```

Scrittura

```taphome
# Simple HTTP Request:
# VAR response := SENDHTTPREQUEST("/example/set/value=" + Va);
# IF response.IsSuccess = false
#  ADDERROR(response.StatusCode);
# END
#
# Set Http request method, body and headers
# VAR response := SENDHTTPREQUEST("/example/setValue", "GET", "value=" + Va, "header1:value1", "header2:value2", ...);\r
# Or VAR request := HTTPREQUEST("/example/setValue");
# request.Method := "PUT";
# VAR response := SENDHTTPREQUEST(request);
#r
#
# Send TCP, UDP data:
# VAR data1 := "{\"name\":\"John\", \"age\":" + Va + "}";
# SENDDATA(data1);
# VAR data2 := TOBYTES("{\"name\":\"John\", \"age\":" + Va + "}", "iso-8859-1");
# SENDDATA(data2);
# You can process received TCP or UDP data in the Listener script
#
#
# Upload data to FTP:
# FTPUPLOAD("filePath", "somedata=" + Va, "write"); # use "append" mode to append data to existing file
```

Lettura (modulo)

```taphome
parsejson(status, "concentration")
```

Silenzia allarme attivo Pulsante Lettura e scrittura

Silenzia il cicalino dell'allarme senza cancellare lo stato di allarme

action push button

Scrittura stato pulsante

```taphome
sendhttprequest("/mute");
```

**Connessione:** Packet Parser → HTTP • Hostname: `shellygas-{MAC}.local`

Possibili miglioramenti (7)

- Self-test state — Self-test progress: not\_completed | completed | running | pending — available in /status
- Sensor state — Sensor operational state: normal | warmup | fault — available in /status
- Concentration validity — Whether gas reading is valid (false during warmup) — available in /status
- Valve state — External valve state: opened | closed | not\_connected | failure | closing | opening | checking
- Valve control — Open/close external valve manipulator (11–13V, 500mA jack output)
- Unmute alarm — Re-enables alarm buzzer after muting
- WiFi Signal Strength — WiFi RSSI in dBm, available in /status response

## Parametri di importazione

Inserisci questi valori quando importi l'XML.

| Richiesto nell'app | Predefinito   |
|--------------------|---------------|
| Indirizzo IP       | `192.168.0.1` |

## Fonti

- Shelly Gen1 API Reference
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/) 2026-03-12
- Home Assistant Shelly Integration
  
  [www.home-assistant.io](https://www.home-assistant.io/integrations/shelly/) 2026-03-12
- Shelly Gas — Device-Specific API
  
  [shelly-api-docs.shelly.cloud](https://shelly-api-docs.shelly.cloud/gen1/#shelly-gas) 2026-03-30
- Shelly Gas — Knowledge Base
  
  [kb.shelly.cloud](https://kb.shelly.cloud/knowledge-base/shelly-gas) 2026-03-30

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

