TapHome

Shelly Gas

Packet Parser → HTTP
Pridal
Posledná aktualizácia: 03. 2026
Shelly Gas

Shelly Gas (model SHGS-1) je sieťovo napájaný Wi-Fi detektor plynu dostupný v dvoch variantoch — CNG (zemný plyn / metán) a LPG (propán / bután). Oba varianty používajú rovnaké API a rovnakú TapHome šablónu. Zariadenie sa zapája priamo do elektrickej zásuvky a nepretržite monitoruje koncentráciu plynu, spúšťajúc zvukový a svetelný alarm pri prekročení prahových hodnôt.

TapHome komunikuje so zariadením cez HTTP v lokálnej sieti — nie je potrebné cloudové pripojenie. Šablóna dotazuje endpoint /status na stav alarmu a koncentráciu plynu a poskytuje ovládanie na stlmenie alarmu a spustenie samotestu senzora.

K dispozícii je aj MQTT variant tejto šablóny (Shelly GAS MQTT). Použite MQTT šablónu ak je zariadenie nakonfigurované na komunikáciu cez MQTT broker namiesto HTTP.

Konfigurácia

Shelly Gas sa pripája cez Wi-Fi. Pri importe TapHome šablóny zadajte IP adresu zariadenia (predvolená zástupná hodnota 192.168.0.1).

Oba varianty CNG a LPG sa konfigurujú identicky — líši sa fyzický senzor, ale API a šablóna sú rovnaké.

Schopnosti zariadenia

Monitorovanie plynového alarmu

Šablóna poskytuje viacstavový prepínač, ktorý číta aktuálny stav alarmu z odpovede /status (gas_sensor.alarm_state). Zariadenie hlási jeden z nasledujúcich stavov:

StavVýznam
No alarmNormálna prevádzka — žiadny plyn detekovaný
Mild gas leakKoncentrácia plynu >= 1800 ppm
Heavy gas leakKoncentrácia plynu >= 3000 ppm
Self TestPrebieha samodiagnostika senzora
Alarm state is unknownNerozpoznaný stav (záložný)

Prahové hodnoty alarmu sú pevné na úrovni zariadenia a nedajú sa meniť cez TapHome ani API.

Koncentrácia plynu

Senzorové zariadenie číta aktuálnu koncentráciu plynu v miliontinách (ppm) z odpovede /status (concentration.ppm). Hodnota sa aktualizuje každých 15 sekúnd. Počas zahrievania senzora po zapnutí môže byť meranie neplatné.

Stlmenie aktívneho alarmu

Tlačidlové zariadenie odošle požiadavku GET /mute na stlmenie bzučiaka alarmu bez zrušenia stavu alarmu. Stav alarmu zostáva aktívny, kým koncentrácia plynu neklesne pod prahovú hodnotu.

Servisná diagnostika

Šablóna poskytuje 9 servisných atribútov na monitorovanie zariadenia:

  • Informácie o zariadení — hostname, MAC adresa, čas zariadenia, doba prevádzky, využitie RAM
  • Konektivita — cloud povolený/pripojený, MQTT pripojený, dostupná aktualizácia firmvéru
Servisné akcie

K dispozícii sú dve servisné akcie:

  • Nastaviť hlasitosť — upraví hlasitosť bzučiaka alarmu (1 = najtichší, 11 = najhlasnejší) cez /settings?set_volume={value}
  • Samotest — spustí samodiagnostiku senzora (~30 sekúnd) cez /self_test
Ďalšie schopnosti

Shelly Gas tiež poskytuje prevádzkový stav senzora (normal / warmup / fault), priebeh samotestu, príznak platnosti koncentrácie, silu Wi-Fi signálu a ovládanie externého ventilového manipulátora (11–13V, 500mA jack výstup) v odpovedi /status. Endpoint na zrušenie stlmenia (/unmute) je dostupný na opätovné povolenie bzučiaka alarmu po stlmení. Tieto schopnosti môžu byť pridané v budúcej aktualizácii šablóny.

Riešenie problémov

Zariadenie neodpovedá
  1. Overte, že Shelly je pripojený k Wi-Fi a má platnú IP adresu
  2. Skúste použiť mDNS hostname (shellygas-AABBCCDDEE.local) namiesto IP adresy — IP sa mohla zmeniť po DHCP obnove
  3. Otvorte http://{device-ip}/shelly v prehliadači — ak odpovie s typom zariadenia SHGS-1, zariadenie je dostupné
  4. Skontrolujte, či sú TapHome CCU a Shelly v rovnakej sieti / VLAN
Koncentrácia plynu vždy ukazuje nulu
  1. Potvrďte, že senzor nie je v režime zahrievania — po zapnutí senzor potrebuje čas na stabilizáciu pred hlásením platných meraní
  2. Skontrolujte concentration.is_valid v odpovedi /status — ak je false, senzor sa stále zahrieva
  3. Uistite sa, že zariadenie je správne umiestnené (CNG variant blízko stropu, LPG variant blízko podlahy — plyn stúpa alebo klesá podľa hustoty)
Alarm sa nespúšťa
  1. Prahové hodnoty alarmu sú pevné: mierny >= 1800 ppm, silný >= 3000 ppm — nízke koncentrácie pod týmito úrovňami alarm nespustia
  2. Spustite samotest z TapHome (servisná akcia) na overenie funkčnosti senzora a bzučiaka
  3. Skontrolujte pole gas_sensor.sensor_state v /status — ak hlási fault, senzor môže vyžadovať výmenu

Gen1 Shelly zariadenia podporujú len 2 súbežné HTTP pripojenia. Ak TapHome a iný systém (napr. Home Assistant) dotazujú rovnaké zariadenie súčasne, komunikácia sa môže stať nespoľahlivou. Použite interval dotazovania 10–30 sekúnd.

Ako nainštalovať v TapHome

Predpoklady

  • Zariadenie Shelly nainštalované a zapnuté
  • Lokálna Wi-Fi sieť (2,4 GHz)
  • TapHome CCU v rovnakej sieti

Krok 1 — Pripojte Shelly k Wi-Fi

Možnosť A — Aplikácia Shelly (odporúčané):

  1. Stiahnite si aplikáciu Shelly (iOS / Android)
  2. Klepnite na +Add Device a postupujte podľa sprievodcu Bluetooth párovaním
  3. Po výzve zadajte svoje Wi-Fi prihlasovacie údaje

Možnosť B — AP režim (bez aplikácie):

  1. Pri prvom zapnutí zariadenie vytvorí hotspot: ShellyXXX-AABBCCDDEE
  2. Pripojte telefón/PC k tomuto hotspotu
  3. Otvorte http://192.168.33.1Internet & SecurityWi-Fi Mode - Client
  4. Zadajte SSID a heslo → Save

Shelly podporuje iba 2,4 GHz siete. 5 GHz siete sa pri skenovaní nezobrazia.

Krok 2 — Zistite IP adresu

Po pripojení k Wi-Fi zistite priradenú IP adresu jedným z nasledujúcich spôsobov:

  • Aplikácia Shelly: Detail zariadenia → Device info → IP adresa
  • Webové rozhranie Shelly: Pripojte sa k AP zariadenia pred nastavením Wi-Fi — IP sa zobrazí po uložení
  • DHCP tabuľka routera: Hľadajte hostname ako shelly1pm-AABBCCDDEE
  • mDNS: Pingnite shelly<model>-<mac>.local (napr. shelly1pm-AABBCCDDEE.local) z rovnakej siete

Priraďte zariadeniu Shelly statickú IP (DHCP rezerváciu) vo vašom routeri, aby sa adresa nezmenila po reštarte routera.

Krok 3 — Konfigurácia v TapHome

  1. V TapHome pridajte nový modul Packet Parser (HTTP)
  2. IP Address: zadajte IP z kroku 2 (napr. 192.168.1.50)
  3. Port: 80 (predvolený, nie je potrebné meniť)
  4. Importujte šablónu — TapHome bude pravidelne čítať /status pre zistenie stavu zariadenia

HTTP autentifikácia je na zariadeniach Shelly štandardne vypnutá. Ak ste povolili ochranu prihlásením, TapHome momentálne nepodporuje HTTP Basic Auth — pre integráciu s TapHome ponechajte autentifikáciu vypnutú.

Dostupné zariadenia

Shelly Gas Modul
Servisné akcie
Nastaviť hlasitosť
Samotest
Vlastné premenné
deviceID (string) = 10521CF2BA9BIP adresa zariadenia Shelly Gas v lokálnej sieti

Shelly GAS

Čítanie (modul)
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
 status := response.Content;
END
Servisné akcie
Set Volume [1 to 11]
Parametre: Volume [1 to 11] (1–11 Volume)
sendhttprequest("/settings?set_volume="+Volume);
Self test
sendhttprequest("/self_test");
Plynový alarm Viacstavový prepínač Len na čítanie

Stav plynového alarmu — Žiadny alarm, Mierny únik plynu (>= 1800 ppm), Silný únik plynu (>= 3000 ppm), Samotest, Neznámy

enum multi-value switch
Hodnoty / Stavy: No alarm · Mild gas leak · Heavy gas leak · Alarm state is unknown · Self Test

Plynový alarm

Čítanie stavu prepínača
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));
Zápis stavu prepínača
#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
Koncentrácia plynu Premenná Len na čítanie

Aktuálna hodnota koncentrácie plynu v miliontinách (ppm)

numeric Jednotka: ppm

Koncentrácia plynu

Čítanie
var v := sendhttprequest("/status");
var content := v.Content;
return(todouble(parsejson(content,"concentration.ppm")));
Zápis
# 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
Čítanie (modul)
parsejson(status, "concentration")
Stlmiť aktívny alarm Tlačidlo

Stlmí bzučiak alarmu bez zrušenia stavu alarmu

action push button

Stlmiť aktívny alarm

Zápis stavu tlačidla
sendhttprequest("/mute");
Pripojenie: Packet Parser → HTTP
Možné vylepšenia (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

Zdroje