TapHome

Shelly Gas

Packet Parser → HTTP
Beküldő
Utoljára frissítve: 03. 2026
Shelly Gas

A Shelly Gas (SHGS-1 modell) egy hálózatról táplált Wi-Fi gázérzékelő, amely két változatban érhető el — CNG (földgáz / metán) és LPG (propán / bután). Mindkét változat ugyanazt az API-t és ugyanazt a TapHome sablont használja. Az eszköz közvetlenül a konnektorba dugható, és folyamatosan figyeli a gázkoncentrációt, hang- és fényriasztást aktiválva a küszöbértékek túllépésekor.

A TapHome HTTP-n keresztül kommunikál az eszközzel a helyi hálózaton — felhőkapcsolat nem szükséges. A sablon a /status végpontot kérdezi le a riasztás állapotára és a gázkoncentrációra, valamint vezérlést biztosít a riasztás némításához és a szenzor önellenőrzésének elindításához.

Ennek a sablonnak MQTT változata is elérhető (Shelly GAS MQTT). Használd az MQTT sablont, ha az eszköz MQTT brokeren keresztüli kommunikációra van konfigurálva HTTP helyett.

Konfiguráció

A Shelly Gas Wi-Fi-n keresztül csatlakozik. A TapHome sablon importálásakor add meg az eszköz IP-címét (alapértelmezett helyőrző 192.168.0.1).

Mind a CNG, mind az LPG változat azonosan konfigurálható — a fizikai szenzor különbözik, de az API és a sablon megegyezik.

Eszközképességek

Gázriasztás monitorozás

A sablon egy többértékű kapcsolót biztosít, amely a /status válaszból olvassa az aktuális riasztási állapotot (gas_sensor.alarm_state). Az eszköz az alábbi állapotok egyikét jelenti:

ÁllapotJelentés
No alarmNormál működés — nincs gáz érzékelve
Mild gas leakGázkoncentráció >= 1800 ppm
Heavy gas leakGázkoncentráció >= 3000 ppm
Self TestSzenzor öndiagnosztika folyamatban
Alarm state is unknownIsmeretlen állapot (tartalék)

A riasztási küszöbértékek az eszköz szintjén rögzítettek, és nem módosíthatók a TapHome-on vagy az API-n keresztül.

Gázkoncentráció

Egy szenzor eszköz a /status válaszból olvassa az aktuális gázkoncentrációt milliomod részben (ppm) (concentration.ppm). Az érték 15 másodpercenként frissül. A szenzor bekapcsolás utáni bemelegedése során a mért érték érvénytelen lehet.

Aktív riasztás némítása

Egy nyomógomb eszköz GET /mute kérést küld a riasztó hangjelzőjének elnémítására a riasztási állapot törlése nélkül. A riasztási állapot aktív marad, amíg a gázkoncentráció a küszöbérték alá nem csökken.

Szervizdiagnosztika

A sablon 9 szervizattribútumot biztosít az eszköz monitorozásához:

  • Eszközinformáció — hostname, MAC-cím, eszközidő, üzemidő, RAM-használat
  • Csatlakozás — felhő engedélyezve/csatlakozva, MQTT csatlakozva, elérhető firmware-frissítés
Szervizműveletek

Két szervizművelet érhető el:

  • Hangerő beállítása — a riasztó hangjelzőjének hangereje állítható (1 = leghalkabb, 11 = leghangosabb) a /settings?set_volume={value} végponton keresztül
  • Önellenőrzés — szenzor öndiagnosztikát indít (~30 másodperc) a /self_test végponton keresztül
További képességek

A Shelly Gas a /status válaszában a szenzor üzemi állapotát (normal / warmup / fault), az önellenőrzés előrehaladását, a koncentráció érvényességi jelzőjét, a WiFi jelerősséget és a külső szelepmozgató vezérlését (11–13V, 500mA jack kimenet) is biztosítja. A némítás feloldó végpont (/unmute) elérhető a riasztó hangjelzőjének újra aktiválásához a némítás után. Ezek a képességek egy jövőbeli sablonfrissítésben adhatók hozzá.

Hibaelhárítás

Az eszköz nem válaszol
  1. Ellenőrizd, hogy a Shelly csatlakozik a Wi-Fi-hez és érvényes IP-címe van
  2. Próbáld az mDNS hosztnevet (shellygas-AABBCCDDEE.local) az IP-cím helyett — az IP megváltozhatott DHCP-megújítás után
  3. Nyisd meg a http://{device-ip}/shelly címet a böngészőben — ha SHGS-1 eszköztípussal válaszol, az eszköz elérhető
  4. Ellenőrizd, hogy a TapHome CCU és a Shelly ugyanazon a hálózaton / VLAN-on van
A gázkoncentráció mindig nullát mutat
  1. Győződj meg róla, hogy a szenzor nincs bemelegedési módban — bekapcsolás után a szenzornak időre van szüksége a stabilizálódáshoz, mielőtt érvényes méréseket jelentene
  2. Ellenőrizd a concentration.is_valid értéket a /status válaszban — ha false, a szenzor még melegszik
  3. Győződj meg róla, hogy az eszköz megfelelően van elhelyezve (CNG változat a mennyezet közelében, LPG változat a padló közelében — a gáz sűrűségétől függően emelkedik vagy süllyed)
A riasztás nem aktiválódik
  1. A riasztási küszöbértékek rögzítettek: enyhe >= 1800 ppm, erős >= 3000 ppm — ezek alatti alacsony koncentrációk nem váltanak ki riasztást
  2. Futtass önellenőrzést a TapHome-ból (szervizművelet) a szenzor és a hangjelző működésének ellenőrzéséhez
  3. Ellenőrizd a gas_sensor.sensor_state mezőt a /status válaszban — ha fault értéket ad, a szenzor cserére szorulhat

A Gen1 Shelly eszközök csak 2 egyidejű HTTP kapcsolatot támogatnak. Ha a TapHome és egy másik rendszer (pl. Home Assistant) egyszerre kérdezi le ugyanazt az eszközt, a kommunikáció megbízhatatlanná válhat. Használj 10–30 másodperces lekérdezési intervallumot.

Telepítés a TapHome-ban

Előfeltételek

  • Shelly eszköz telepítve és bekapcsolva
  • Helyi Wi-Fi hálózat (2,4 GHz)
  • TapHome CCU ugyanazon a hálózaton

1. lépés — Shelly csatlakoztatása a Wi-Fi-hez

A lehetőség — Shelly alkalmazás (ajánlott):

  1. Töltse le a Shelly alkalmazást (iOS / Android)
  2. Érintse meg a +Add Device gombot, és kövesse a Bluetooth párosítási varázslót
  3. Adja meg Wi-Fi hitelesítő adatait, amikor a rendszer kéri

B lehetőség — AP mód (alkalmazás nélkül):

  1. Első bekapcsoláskor az eszköz létrehoz egy hotspotot: ShellyXXX-AABBCCDDEE
  2. Csatlakoztassa telefonját/PC-jét ehhez a hotspothoz
  3. Nyissa meg a http://192.168.33.1 címet → Internet & SecurityWi-Fi Mode - Client
  4. Adja meg az SSID-t és a jelszót → Save

A Shelly csak 2,4 GHz-es hálózatokat támogat. Az 5 GHz-es hálózatok nem jelennek meg a keresésben.

2. lépés — IP-cím megkeresése

A Wi-Fi-hez való csatlakozás után az alábbi módszerek egyikével keresse meg a hozzárendelt IP-címet:

  • Shelly alkalmazás: Eszköz részletei → Device info → IP-cím
  • Shelly webes felület: Csatlakozzon az eszköz AP-jához a Wi-Fi beállítás előtt — az IP a mentés után jelenik meg
  • Router DHCP tábla: Keressen egy hasonló hosztnevet: shelly1pm-AABBCCDDEE
  • mDNS: Pingelje a shelly<model>-<mac>.local címet (pl. shelly1pm-AABBCCDDEE.local) ugyanarról a hálózatról

Rendeljen statikus IP-t (DHCP foglalást) a Shelly eszközhöz a routerben, hogy a cím ne változzon a router újraindítása után.

3. lépés — Konfigurálás a TapHome-ban

  1. A TapHome-ban adjon hozzá egy új Packet Parser (HTTP) modult
  2. IP Address: adja meg a 2. lépésben kapott IP-t (pl. 192.168.1.50)
  3. Port: 80 (alapértelmezett, nem kell módosítani)
  4. Importálja a sablont — a TapHome rendszeresen lekérdezi a /status végpontot az eszköz állapotának olvasásához

A HTTP hitelesítés a Shelly eszközökön alapértelmezetten ki van kapcsolva. Ha engedélyezte a bejelentkezésvédelmet, a TapHome jelenleg nem támogatja a HTTP Basic Auth-ot — a TapHome integrációhoz hagyja kikapcsolva a hitelesítést.

Elérhető eszközök

Shelly Gas Modul
Szerviz műveletek
Hangerő beállítása
Önellenőrzés
Egyéni változók
deviceID (string) = 10521CF2BA9BShelly Gas eszköz IP-címe a helyi hálózaton

Shelly GAS

Olvasás (modul)
VAR response := SENDHTTPREQUEST("/status");
IF response.IsSuccess
 status := response.Content;
END
Szerviz műveletek
Set Volume [1 to 11]
Paraméterek: Volume [1 to 11] (1–11 Volume)
sendhttprequest("/settings?set_volume="+Volume);
Self test
sendhttprequest("/self_test");
Gázriasztó Többértékű kapcsoló Csak olvasható

Gázriasztó állapot — Nincs riasztás, Enyhe gázszivárgás (>= 1800 ppm), Súlyos gázszivárgás (>= 3000 ppm), Önellenőrzés, Ismeretlen

enum multi-value switch
Értékek / Állapotok: No alarm · Mild gas leak · Heavy gas leak · Alarm state is unknown · Self Test

Gázriasztó

Kapcsoló állapot olvasása
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));
Kapcsoló állapot írása
#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
Gázkoncentráció Változó Csak olvasható

Aktuális gázkoncentráció milliomod részekben (ppm)

numeric Egység: ppm

Gázkoncentráció

Olvasás
var v := sendhttprequest("/status");
var content := v.Content;
return(todouble(parsejson(content,"concentration.ppm")));
Írás
# 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
Olvasás (modul)
parsejson(status, "concentration")
Aktív riasztás némítása Nyomógomb

Elnémítja a riasztó hangjelzőt a riasztási állapot törése nélkül

action push button

Aktív riasztás némítása

Gombállapot írása
sendhttprequest("/mute");
Kapcsolat: Packet Parser → HTTP
Lehetséges fejlesztések (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

Források