
A Shelly Plus Smoke egy elemes (CR123A) Wi-Fi fotoelektromos füstriasztó, DIN EN 14604 tanúsítvánnyal. A TapHome MQTT-n keresztül kommunikál az eszközzel, Gen2+ RPC értesítésekkel az events/rpc topicon. Az eszköz az idő nagy részét mély alvásban tölti az elem kímélése érdekében, és a konfigurált wakeup_period szerint ébred periodikusan. Füstriasztási események azonnali ébredést és MQTT értesítést váltanak ki.
A sablon egyetlen Füstriasztó eszközt (Reed Contact-ra leképezve) és két modul szintű Akkumulátor szervizattribútumot hoz létre. A csatlakozási watchdog az ébredési visszaszámlálót figyeli, és figyelmeztetéseket vagy hibákat jelez, ha az eszköz hosszabb ideje nem jelentett.
Konfiguráció
MQTT Client ID
Minden Shelly Plus Smoke egyedi MQTT Client ID-vel rendelkezik shellyplussmoke-<MAC12> formátumban, ahol a <MAC12> a teljes 12 karakteres MAC-cím nagybetűs hexadecimális formában (pl. shellyplussmoke-AABBCCDDEEFF). Ez az ID egyben az alapértelmezett MQTT topic előtag is.
A Client ID megtalálható:
- Az eszköz címkéjén (MAC-cím)
- A Shelly webes felületen: Settings → MQTT → Client ID
- API-n keresztül:
GET http://<device-ip>/rpc/Mqtt.GetConfig→client_idmező
Sablon beállítása
A sablon TapHome-ba importálása után:
- Nyisd meg a Shelly Plus Smoke modult
- Állítsd be az MQTT Broker IP-t az MQTT broker címére
- Állítsd be a Port-ot (alapértelmezett
1883) - Állítsd be az MQTT ID import paramétert az eszköz Client ID-jére (pl.
shellyplussmoke-AABBCCDDEEFF)
A modul feliratkozik a <device-id>/# topicra, és a listener szkript feldolgozza a NotifyFullStatus és NotifyStatus JSON-RPC eseményeket az events/rpc topicról.
Az MQTT alapértelmezetten ki van kapcsolva a Shelly Plus Smoke-on. Engedélyezd az eszközbeállításokban: Settings → MQTT → Enable. Győződj meg róla, hogy az
rpc_ntf(RPC értesítések)trueértékre van állítva (alapértelmezett). A sablon azevents/rpcértesítésekre támaszkodik, nem az egyedi állapot topicokra.
Alvási és jelentési viselkedés
A Shelly Plus Smoke mély alvás módban működik az elem élettartamának maximalizálása érdekében:
- Periodikus ébredés — az eszköz a
sys.wakeup_periodáltal meghatározott időközönként ébred, ésNotifyFullStatuseseményt publikál az akkumulátor állapotával, füstriasztó állapotával és aktuális ébredési periódusával - Riasztási esemény — a füstérzékelés azonnali ébredést és
NotifyStatusértesítést vált ki a riasztás állapotával - Ébredési ciklusok között — az eszköz HTTP-n és MQTT-n keresztül nem elérhető
Az eszközt egyetlen CR123A elem táplálja, amelynek várható élettartama akár 5 év. Ne használj újratölthető elemeket — a gyártó kifejezetten figyelmeztet ez ellen.
Az eszköz elemről működik és nem csatlakozik állandóan az MQTT brokerhez. Ébredési ciklusok között semmilyen kommunikáció nem lehetséges. Ha az érzékelő helyén gyenge a Wi-Fi jel, a gyakori újracsatlakozási kísérletek ébredéskor jelentősen csökkenthetik az elem élettartamát.
Eszközképességek
Füstriasztó
A sablon a füstriasztó állapotát Reed Contact eszközre képezi le (DeviceType 1030). A listener szkript feldolgozza a NotifyStatus eseményeket az events/rpc topicon és olvassa a params['smoke:0'].alarm értéket:
- ON (riasztás aktív) — füst érzékelve, az eszköz beépített hangjelzője >85 dB-en szól
- OFF (riasztás törölve) — nincs füst, normál működés
A riasztás állapota csak olvasható, és azonnal frissül füstérzékeléskor. Az eszköz az alvási ütemezéstől függetlenül azonnali MQTT értesítést küld riasztási eseményekre.
Akkumulátor monitorozás
A modul két Akkumulátor szervizattribútumot biztosít, amelyek a NotifyFullStatus eseményekből olvasnak:
- Akkumulátor [%] — töltöttségi szint százalékban a
params['devicepower:0'].battery.percentértékből. Alacsony akkumulátor figyelmeztetés aktiválódik 30% alatt - Akkumulátor [V] — elem feszültség Voltban a
params['devicepower:0'].battery.Vértékből. Névleges feszültség 3V a CR123A elemhez
Mindkét érték NaN-t ad vissza az első mérés fogadása előtt (azaz amikor a gyorsítótárazott érték még 0). Akkumulátor adatok minden periodikus ébredéskor frissülnek.
Csatlakozási watchdog
A sablon visszaszámlálás-alapú mechanizmussal figyeli az eszköz csatlakozottságát. Minden NotifyFullStatus eseménynél a listener szkript eltárolja a sys.wakeup_period értéket a wakeup_period egyéni változóba. Az olvasó szkript aztán 60-nal csökkenti ezt a számlálót minden lekérdezési ciklusban (60 másodperces intervallum):
- Számláló eléri a 0-t — az eszköz nem ébredt fel az elvártnak megfelelően. A számláló -1-re áll és WARNING aktiválódik: “Update not received”
- Számláló eléri a -86400-at — az eszköz 48 órája csendes. ERROR aktiválódik: “Update not received in last 48h”
Amikor az eszköz felébred és új NotifyFullStatus-t küld, a számláló visszaáll a friss wakeup_period értékre, törölve minden figyelmeztetést.
További képességek
A Shelly Plus Smoke támogatja a némítás funkciót (Smoke.Mute RPC módszer) a riasztás hangjának elnyomásához, a fizikai gombbal kiváltott füstriasztó teszt eseményeket és a Wi-Fi jelerősség diagnosztikát (RSSI). Az eszköz egyedi komponens állapot topicokat publikál, ha a status_ntf engedélyezve van. Ezek a képességek egy jövőbeli sablon frissítésben adhatók hozzá.
Hibaelhárítás
A füstriasztó nem jelent eseményeket
- Ellenőrizd, hogy a Shelly Plus Smoke csatlakozik a Wi-Fi-hez és az MQTT engedélyezve van az eszközbeállításokban (Settings → MQTT → Enable)
- Ellenőrizd, hogy az
rpc_ntftrueértékre van állítva (alapértelmezett) — a sablon RPC értesítéseket igényel azevents/rpc-n - Győződj meg róla, hogy az MQTT ID import paraméter pontosan megegyezik az eszköz Client ID-jével (pl.
shellyplussmoke-AABBCCDDEEFF) - Használj MQTT klienst (pl. MQTT Explorer) a
<device-id>/#topicra való feliratkozáshoz, és ellenőrizd, hogy az eszközNotifyFullStatus-t publikál felébredéskor - Ellenőrizd az eszköz elemét — lemerült CR123A elem megakadályozza, hogy az eszköz csatlakozzon a Wi-Fi-hez
A csatlakozási watchdog hamis figyelmeztetéseket mutat
- A watchdog az elvárt ébredési periódushoz viszonyítja a visszaszámlálást. Ha a TapHome Core órája jelentősen eltér, hamis figyelmeztetések jelenhetnek meg
- Elemről üzemelve az eszköz csak a konfigurált
wakeup_periodintervallumban ébred — szünetek a jelentések között elvártak - Ha az érzékelő szakaszos Wi-Fi-vel rendelkező helyen van, néhány ébredési ciklusban nem tud csatlakozni. Ellenőrizd a Wi-Fi jelerősséget
- Elemcsere után az eszköznek szüksége lehet egy teljes ébredési ciklusra, mielőtt a watchdog számláló megfelelően inicializálódna
Az eszköz Reed Contactként jelenik meg füstriasztó helyett
A TapHome sablon a PacketParserReedContact eszköztípust (DeviceType 1030) használja a füstriasztó ábrázolásához. Ez a helyes leképezés — az ON állapot “Vészriasztás” (füst érzékelve), az OFF állapot “OK” (nincs füst). Az eszköz neve a TapHome-ban “Shelly Plus Smoke” a funkció egyértelmű jelzésére.