TapHome

Shelly Gas

Packet Parser → HTTP
Autor
Posljednje ažuriranje: 03. 2026

Ovaj uređaj podržava mDNS

Umjesto IP adrese uređaju možete pristupiti na adresi:

shellygas-{MAC}.local

Zamijenite {MAC} MAC adresom svog uređaja (velika slova, bez dvotočaka).

TapHome podržava mDNS. Naziv računala (hostname) pouzdaniji je od statične IP adrese.

Shelly Gas

Shelly Gas (model SHGS-1) je Wi-Fi detektor plina s napajanjem iz mreže, dostupan u dvije varijante: CNG (prirodni plin / metan) i LPG (propan / butan). Obje varijante koriste isti API i isti predložak TapHome. Uređaj se uključuje izravno u utičnicu, neprekidno prati koncentraciju plina i pri prekoračenju pragova pokreće zvučni i svjetlosni alarm.

TapHome s uređajem komunicira preko HTTP-a u lokalnoj mreži, veza s oblakom nije potrebna. Predložak periodički očitava krajnju točku /status kako bi dobio stanje alarma i koncentraciju plina te omogućuje utišavanje alarma i pokretanje samotestiranja senzora.

Dostupna je i MQTT varijanta ovog predloška (Shelly GAS MQTT). MQTT predložak koristite ako je uređaj postavljen za komunikaciju preko MQTT brokera umjesto HTTP-a.

Konfiguracija

Shelly Gas se spaja preko Wi-Fi mreže. Pri uvozu predloška u TapHome unesite IP adresu uređaja (u predlošku je unaprijed upisan primjer 192.168.0.1).

Varijante CNG i LPG konfiguriraju se jednako: razlikuje se fizički senzor, a API i predložak su isti.

Mogućnosti uređaja

Praćenje alarma plina

Predložak sadrži prekidač s više vrijednosti koji čita trenutačno stanje alarma iz odgovora /status (gas_sensor.alarm_state). Uređaj javlja jedno od sljedećih stanja:

StanjeZnačenje
No alarmNormalan rad, plin nije otkriven
Mild gas leakKoncentracija plina >= 1800 ppm
Heavy gas leakKoncentracija plina >= 3000 ppm
Self TestU tijeku je samodijagnostika senzora
Alarm state is unknownNeprepoznato stanje (zamjenska vrijednost)

Pragovi alarma fiksno su zadani u uređaju i ne mogu se promijeniti iz sustava TapHome ni preko API-ja.

Koncentracija plina

Uređaj senzor čita trenutačnu koncentraciju plina u dijelovima na milijun (ppm) iz odgovora /status (concentration.ppm). Vrijednost se ažurira svakih 15 sekundi. Tijekom zagrijavanja senzora nakon uključivanja očitanje može biti nevaljano.

Utišavanje aktivnog alarma

Uređaj tipkalo šalje zahtjev GET /mute koji utišava zujalicu alarma bez poništavanja stanja alarma. Stanje alarma ostaje aktivno dok koncentracija plina ne padne ispod praga.

Servisna dijagnostika

Predložak ima 9 servisnih atributa za praćenje uređaja:

  • Podaci o uređaju: naziv hosta, MAC adresa, vrijeme uređaja, vrijeme rada, iskorištenost RAM-a
  • Povezivost: oblak omogućen / spojeno na oblak, spojeno na MQTT, dostupno ažuriranje firmvera
Servisne radnje

Dostupne su dvije servisne radnje:

  • Postavi glasnoću: podešava glasnoću zujalice alarma (1 = najtiše, 11 = najglasnije) preko /settings?set_volume={value}
  • Samotestiranje: pokreće samodijagnostiku senzora (oko 30 sekundi) preko /self_test
Dodatne mogućnosti

Shelly Gas u odgovoru /status daje i radno stanje senzora (normal / warmup / fault), napredak samotestiranja, oznaku valjanosti koncentracije, jačinu Wi-Fi signala i upravljanje vanjskim pogonom ventila (izlaz na priključku 11–13 V, 500 mA). Dostupna je i krajnja točka za poništavanje utišavanja (/unmute) koja ponovno uključuje zujalicu alarma nakon utišavanja. Te se mogućnosti mogu dodati u budućem ažuriranju predloška.

Rješavanje problema

Uređaj ne odgovara
  1. Provjerite je li Shelly spojen na Wi-Fi i ima li valjanu IP adresu
  2. Umjesto IP adrese pokušajte koristiti mDNS naziv hosta (shellygas-AABBCCDDEE.local): IP adresa se možda promijenila nakon obnove DHCP zakupa
  3. U pregledniku otvorite http://{device-ip}/shelly: ako odgovori s vrstom uređaja SHGS-1, uređaj je dostupan
  4. Provjerite jesu li centralna jedinica TapHome (CCU) i Shelly u istoj mreži / VLAN-u
Koncentracija plina uvijek pokazuje nulu
  1. Provjerite da senzor nije u načinu zagrijavanja: nakon uključivanja senzoru treba vremena da se stabilizira prije nego što počne javljati valjana očitanja
  2. Provjerite concentration.is_valid u odgovoru /status: ako je false, senzor se još zagrijava
  3. Provjerite je li uređaj ispravno postavljen (varijanta CNG blizu stropa, varijanta LPG blizu poda, jer se plin ovisno o gustoći diže ili spušta)
Alarm se ne aktivira
  1. Pragovi alarma su fiksni: blago curenje >= 1800 ppm, jako curenje >= 3000 ppm. Niže koncentracije ispod tih razina ne aktiviraju alarm
  2. Iz sustava TapHome pokrenite samotestiranje (servisna radnja) i provjerite rad senzora i zujalice
  3. Provjerite polje gas_sensor.sensor_state u odgovoru /status: ako pokazuje fault, senzor je možda potrebno zamijeniti

Uređaji Shelly Gen1 podržavaju samo 2 istodobne HTTP veze. Ako TapHome i drugi sustav (npr. Home Assistant) istodobno očitavaju isti uređaj, komunikacija može postati nepouzdana. Koristite interval očitavanja od 10 do 30 sekundi.

Kako ga instalirati u TapHome

Preduvjeti

  • Uređaj Shelly ugrađen i uključen
  • Lokalna Wi-Fi mreža (2,4 GHz)
  • TapHome CCU u istoj mreži

Korak 1 — Spojite Shelly na Wi-Fi

Opcija A — aplikacija Shelly (preporučeno):

  1. Preuzmite aplikaciju Shelly (iOS / Android)
  2. Dodirnite + → Add Device i slijedite čarobnjak za uparivanje preko Bluetootha
  3. Kada se to zatraži, unesite podatke za prijavu na Wi-Fi

Opcija B — način rada AP (bez aplikacije):

  1. Pri prvom uključivanju uređaj stvara pristupnu točku: ShellyXXX-AABBCCDDEE
  2. Spojite telefon ili računalo na tu pristupnu točku
  3. Otvorite http://192.168.33.1 → Internet & Security → Wi-Fi Mode - Client
  4. Unesite SSID i lozinku → Save

Shelly podržava samo mreže od 2,4 GHz. Mreže od 5 GHz neće se prikazati pri skeniranju.

Korak 2 — Pronađite adresu uređaja

Uređaji Shelly Gen1 podržavaju mDNS (Zeroconf). Uređaju možete pristupiti preko naziva hosta umjesto IP adrese:

1
shelly<model>-<MAC>.local

Na primjer: shelly1pm-AABBCCDDEE.local (MAC adresa velikim slovima u heksadecimalnom zapisu, bez dvotočaka).

Preporučeno: koristite IP skener TapHome. Otvorite aplikaciju TapHome i pokrenite IP skener (Postavke → Mreža → Skeniranje). Skener pronalazi uređaje u vašoj mreži i prikazuje IP adresu i mDNS naziv hosta. Za pouzdaniju vezu koristite naziv hosta umjesto IP adrese, jer ostaje isti i kada se IP adresa uređaja promijeni nakon ponovnog pokretanja usmjerivača.

Drugi načini za pronalaženje IP adrese:

  • Aplikacija Shelly: detalji uređaja → Device info → IP adresa
  • Web-sučelje Shelly: spojite se na AP uređaja prije postavljanja Wi-Fi mreže — IP adresa prikazuje se nakon spremanja
  • DHCP tablica usmjerivača: potražite naziv hosta poput shelly1pm-AABBCCDDEE

Korak 3 — Konfiguracija u sustavu TapHome

  1. U sustavu TapHome dodajte novi modul Packet Parser (HTTP)
  2. Adresa: unesite mDNS naziv hosta (npr. shelly1pm-AABBCCDDEE.local) ili IP adresu iz koraka 2
  3. Port: 80 (zadano, nije potrebno mijenjati)
  4. Uvezite predložak — TapHome će čitati /status kako bi očitao stanje uređaja

HTTP autentifikacija na uređajima Shelly zadano je isključena. Ako ste uključili zaštitu prijavom, TapHome trenutačno ne podržava HTTP Basic Auth — za integraciju sa sustavom TapHome ostavite autentifikaciju isključenom.

Dostupni uređaji

Shelly Gas Modul
Servisne radnje
Postavi glasnoću
Samotestiranje
Prilagođene varijable
deviceID (string) = 10521CF2BA9BDevice ID uređaja Shelly Gas (MAC adresa u hex obliku, npr. 10521CF2BA9B)

Shelly GAS

Čitanje (modul)
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
 status := response.Content;
END
Servisne radnje
Set Volume [1 to 11]
Parametri: Volume [1 to 11] (1–11 Volume)
sendhttprequest("/settings?set_volume="+Volume);
Self test
sendhttprequest("/self_test");
Alarm plina Prekidač s više vrijednosti Samo za čitanje

Stanje alarma plina — nema alarma, blago curenje plina (>= 1800 ppm), jako curenje plina (>= 3000 ppm), samotestiranje, nepoznato

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

Alarm plina

Čitanje stanja sklopke
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 stanja sklopke
#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
Koncentracija plina Varijabla Samo za čitanje

Trenutačna koncentracija plina u dijelovima na milijun (ppm)

numeric Jedinica: ppm

Koncentracija plina

Čitanje
var v := sendhttprequest("/status");
var content := v.Content;
return(todouble(parsejson(content,"concentration.ppm")));
Zapis
# 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
Čitanje (modul)
parsejson(status, "concentration")
Utišaj aktivni alarm Tipkalo

Utišava zujalicu alarma bez poništavanja stanja alarma

action push button

Utišaj aktivni alarm

Zapis stanja tipke
sendhttprequest("/mute");
Povezivanje: Packet Parser → HTTP • Naziv računala (hostname): shellygas-{MAC}.local
Moguća poboljšanja (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

Izvori

Pronašli ste problem s ovim predloškom uređaja?

Recite nam što ne radi, što nedostaje ili kako bi se predložak trebao ponašati. Vaše povratne informacije pomažu nam da katalog bude točan.

Provjerio TapHome

Želite ovo koristiti u svojoj centralnoj jedinici TapHome Core?

Otvorite ovaj predložak na portalu Customer Portal kako biste ga primijenili na jedan od svojih domova ili predložili poboljšanje i poslali ga natrag u katalog.

Otvorite na portalu