---
title: "Shelly Gas"
description: "Detektor gazu Wi-Fi Shelly Gas — stan alarmu, stężenie gazu w ppm, wyciszenie i autotest przez HTTP. Szablon TapHome dla wariantów CNG i LPG."
url: "https://taphome.com/pl/compatibility/shelly-gas/"
language: pl
lastmod: 2026-03-30
generator: hugo
ai:
  topics: ["http","sensor","wifi","gas-detection","safety"]
  questions: ["Jak zintegrować Shelly Gas z TapHome?","Co monitoruje szablon Shelly Gas w TapHome?","Jak połączyć Shelly Gas przez HTTP z TapHome?","Jakie są progi alarmu gazowego w Shelly Gas?","Jak wyciszyć brzęczyk alarmu Shelly Gas z TapHome?","Czy ten sam szablon działa dla wariantów CNG i LPG?"]
---

# Shelly Gas

Komunikacja: Packet Parser → HTTP

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

> Adres w sieci
> 
> TapHome łączy się z urządzeniem pod adresem podanym przy imporcie. Nadaj urządzeniu stały adres — rezerwację IP w routerze albo jego nazwę mDNS, jeśli ją obsługuje — inaczej integracja przestanie działać, gdy router zmieni adres.
> 
> [Przygotowanie sieci](https://taphome.com/pl/docs/setup/network-preparation/)

## Poradnik integracji

Shelly Gas (model SHGS-1) to zasilany z sieci detektor gazu Wi-Fi dostępny w dwóch wariantach — CNG (gaz ziemny / metan) i LPG (propan / butan). Oba warianty używają tego samego API i tego samego szablonu TapHome. Urządzenie podłącza się bezpośrednio do gniazdka elektrycznego i nieprzerwanie monitoruje stężenie gazu, wyzwalając alarm dźwiękowy i świetlny po przekroczeniu progów.

TapHome komunikuje się z urządzeniem przez HTTP w sieci lokalnej — połączenie z chmurą nie jest wymagane. Szablon odpytuje endpoint `/status` o stan alarmu i stężenie gazu oraz zapewnia sterowanie wyciszeniem alarmu i uruchomieniem autotestu czujnika.

Dostępny jest również wariant MQTT tego szablonu (`Shelly GAS MQTT`). Użyj szablonu MQTT, jeśli urządzenie jest skonfigurowane do komunikacji przez brokera MQTT zamiast HTTP.

## Konfiguracja

Shelly Gas łączy się przez Wi-Fi. Podczas importu szablonu TapHome wprowadź adres IP urządzenia (domyślna wartość zastępcza `192.168.0.1`).

Oba warianty CNG i LPG konfiguruje się identycznie — różni się fizyczny czujnik, ale API i szablon są takie same.

## Możliwości urządzenia

### Monitorowanie alarmu gazowego

Szablon udostępnia wielowartościowy przełącznik, który odczytuje aktualny stan alarmu z odpowiedzi `/status` (`gas_sensor.alarm_state`). Urządzenie raportuje jeden z następujących stanów:

| Stan | Znaczenie |
|------|-----------|
| No alarm | Normalna praca — nie wykryto gazu |
| Mild gas leak | Stężenie gazu >= 1800 ppm |
| Heavy gas leak | Stężenie gazu >= 3000 ppm |
| Self Test | Autodiagnostyka czujnika w toku |
| Alarm state is unknown | Nierozpoznany stan (zapasowy) |

Progi alarmu są ustalone na poziomie urządzenia i nie mogą być zmieniane przez TapHome ani API.

### Stężenie gazu

Urządzenie czujnikowe odczytuje aktualne stężenie gazu w częściach na milion (ppm) z odpowiedzi `/status` (`concentration.ppm`). Wartość aktualizuje się co 15 sekund. Podczas rozgrzewania czujnika po włączeniu zasilania odczyt może być nieprawidłowy.

### Wyciszenie aktywnego alarmu

Urządzenie przyciskowe wysyła żądanie `GET /mute` w celu wyciszenia brzęczyka alarmu bez kasowania stanu alarmu. Stan alarmu pozostaje aktywny do momentu spadku stężenia gazu poniżej progu.

### Diagnostyka serwisowa

Szablon udostępnia 9 atrybutów serwisowych do monitorowania urządzenia:

- **Informacje o urządzeniu** — hostname, adres MAC, czas urządzenia, czas pracy, zużycie RAM
- **Łączność** — chmura włączona/połączona, MQTT połączony, dostępna aktualizacja firmware

### Akcje serwisowe

Dostępne są dwie akcje serwisowe:

- **Ustaw głośność** — reguluje głośność brzęczyka alarmu (1 = najciszej, 11 = najgłośniej) przez `/settings?set_volume={value}`
- **Autotest** — uruchamia autodiagnostykę czujnika (~30 sekund) przez `/self_test`

### Dodatkowe możliwości

Shelly Gas udostępnia również stan operacyjny czujnika (`normal` / `warmup` / `fault`), postęp autotestu, flagę ważności stężenia, siłę sygnału WiFi i sterowanie zewnętrznym manipulatorem zaworowym (11–13V, wyjście jack 500mA) w odpowiedzi `/status`. Endpoint anulowania wyciszenia (`/unmute`) jest dostępny do ponownego włączenia brzęczyka alarmu po wyciszeniu. Te możliwości mogą zostać dodane w przyszłej aktualizacji szablonu.

## Rozwiązywanie problemów

### Urządzenie nie odpowiada

1. Sprawdź, czy Shelly jest połączony z Wi-Fi i ma prawidłowy adres IP
2. Spróbuj użyć nazwy hosta mDNS (`shellygas-AABBCCDDEE.local`) zamiast adresu IP — adres IP mógł się zmienić po odnowieniu DHCP
3. Otwórz `http://{device-ip}/shelly` w przeglądarce — jeśli odpowie typem urządzenia `SHGS-1`, urządzenie jest osiągalne
4. Sprawdź, czy TapHome CCU i Shelly są w tej samej sieci / VLAN

### Stężenie gazu zawsze pokazuje zero

1. Upewnij się, że czujnik nie jest w trybie rozgrzewania — po włączeniu zasilania czujnik potrzebuje czasu na stabilizację przed raportowaniem prawidłowych odczytów
2. Sprawdź `concentration.is_valid` w odpowiedzi `/status` — jeśli `false`, czujnik wciąż się rozgrzewa
3. Upewnij się, że urządzenie jest prawidłowo ustawione (wariant CNG blisko sufitu, wariant LPG blisko podłogi — gaz unosi się lub opada w zależności od gęstości)

### Alarm nie wyzwala się

1. Progi alarmu są ustalone: łagodny >= 1800 ppm, silny >= 3000 ppm — niskie stężenia poniżej tych poziomów nie wyzwolą alarmu
2. Uruchom autotest z TapHome (akcja serwisowa) w celu weryfikacji działania czujnika i brzęczyka
3. Sprawdź pole `gas_sensor.sensor_state` w `/status` — jeśli raportuje `fault`, czujnik może wymagać wymiany

> [!WARNING]
> Urządzenia Shelly Gen1 obsługują tylko **2 jednoczesne połączenia HTTP**. Jeśli TapHome i inny system (np. Home Assistant) odpytują to samo urządzenie jednocześnie, komunikacja może stać się zawodna. Użyj interwału odpytywania 10–30 sekund.

## Jak zainstalować w TapHome

### Wymagania wstępne

- Urządzenie Shelly zainstalowane i włączone
- Lokalna sieć Wi-Fi (2,4 GHz)
- TapHome CCU w tej samej sieci

### Krok 1 — Podłącz Shelly do Wi-Fi

**Opcja A — Aplikacja Shelly (zalecana):**

1. Pobierz [aplikację Shelly](https://www.shelly.com/en/support/shelly-app) (iOS / Android)
2. Dotknij **+** → **Add Device** i postępuj zgodnie z kreatorem parowania Bluetooth
3. Wprowadź dane logowania Wi-Fi, gdy zostaniesz o to poproszony

**Opcja B — Tryb AP (bez aplikacji):**

1. Przy pierwszym uruchomieniu urządzenie tworzy hotspot: `ShellyXXX-AABBCCDDEE`
2. Połącz telefon/PC z tym hotspotem
3. Otwórz `http://192.168.33.1` → **Internet & Security** → **Wi-Fi Mode - Client**
4. Wprowadź SSID i hasło → **Save**

> [!NOTE]
> Shelly obsługuje tylko sieci **2,4 GHz**. Sieci 5 GHz nie pojawią się podczas skanowania.

### Krok 2 — Znajdź adres IP

Po połączeniu z Wi-Fi znajdź przypisany adres IP za pomocą jednej z poniższych metod:

- **Aplikacja Shelly:** Szczegóły urządzenia → **Device info** → Adres IP
- **Interfejs webowy Shelly:** Połącz się z AP urządzenia przed konfiguracją Wi-Fi — IP zostanie wyświetlone po zapisaniu
- **Tabela DHCP routera:** Szukaj nazwy hosta takiej jak `shelly1pm-AABBCCDDEE`
- **mDNS:** Pinguj `shelly<model>-<mac>.local` (np. `shelly1pm-AABBCCDDEE.local`) z tej samej sieci

> [!TIP]
> Przypisz urządzeniu Shelly **statyczny IP** (rezerwację DHCP) w routerze, aby adres nie zmieniał się po ponownym uruchomieniu routera.

### Krok 3 — Konfiguracja w TapHome

1. W TapHome dodaj nowy moduł **Packet Parser (HTTP)**
2. **IP Address:** wprowadź IP z kroku 2 (np. `192.168.1.50`)
3. **Port:** `80` (domyślny, nie wymaga zmiany)
4. Zaimportuj szablon — TapHome będzie okresowo odpytywać `/status` w celu odczytu stanu urządzenia

> [!NOTE]
> Uwierzytelnianie HTTP jest domyślnie wyłączone na urządzeniach Shelly. Jeśli włączyłeś ochronę logowaniem, TapHome obecnie nie obsługuje HTTP Basic Auth — pozostaw uwierzytelnianie wyłączone dla integracji z TapHome.

## Dostępne urządzenia 3

Te urządzenia pojawią się w TapHome po imporcie.

Shelly Gas Moduł

Akcje serwisowe

|                |
|----------------|
| Ustaw głośność |
| Autotest       |

Zmienne niestandardowe

|                                    |                                                                     |
|------------------------------------|---------------------------------------------------------------------|
| `deviceID` (string) = 10521CF2BA9B | Device ID urządzenia Shelly Gas (adres MAC w hex, np. 10521CF2BA9B) |

Odczyt (moduł)

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

Akcje serwisowe

Set Volume \[1 to 11]

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

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

Self test

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

Alarm gazowy Przełącznik wielowartościowy Tylko do odczytu

Stan alarmu gazowego — Brak alarmu, Łagodny wyciek gazu (&gt;= 1800 ppm), Silny wyciek gazu (&gt;= 3000 ppm), Autotest, Nieznany

enum multi-value switch

Wartości / Stany: No alarm · Mild gas leak · Heavy gas leak · Alarm state is unknown · Self Test

Odczyt stanu przełącznika

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

Zapis stanu przełącznika

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

Stężenie gazu Zmienna Tylko do odczytu

Aktualne stężenie gazu w częściach na milion (ppm)

numeric Jednostka: ppm

Odczyt

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

Zapis

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

Odczyt (moduł)

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

Wycisz aktywny alarm Przycisk Odczyt i zapis

Wycisza brzęczyk alarmu bez kasowania stanu alarmu

action push button

Zapis stanu przycisku

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

**Połączenie:** Packet Parser → HTTP • Hostname: `shellygas-{MAC}.local`

Możliwe ulepszenia (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

## Parametry importu

Te wartości podajesz podczas importu pliku XML.

| Pytanie w aplikacji | Domyślnie     |
|---------------------|---------------|
| Adres IP            | `192.168.0.1` |

## Źródła

- 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

## Powiązana dokumentacja

- [Integracja Packet Parser](https://taphome.com/pl/compatibility/packet-parser-guide/)
- [Packet Parser (HTTP, TCP, UDP, FTP, MQTT)](https://taphome.com/pl/docs/integration/packet-parser/)
- [Funkcje Packet parser](https://taphome.com/pl/docs/script/packet-parser/)
- [Funkcje parsowania](https://taphome.com/pl/docs/script/parsing-functions/)

