
Shelly Plus Smoke je Wi-Fi fotoelektrični detektor dima na baterije (CR123A), certificiran prema DIN EN 14604. TapHome s uređajem komunicira preko MQTT pomoću RPC obavijesti Gen2+ u temi events/rpc. Uređaj radi štednje baterije većinu vremena provodi u dubokom snu i periodički se budi prema postavljenom wakeup_period. Pri alarmu dima uređaj se odmah budi i šalje MQTT obavijest.
Predložak stvara jedan uređaj Alarm dima (prikazan kao magnetski kontakt, Reed Contact) s dva servisna atributa baterije (postotak i napon). Nadzor veze prati odbrojavanje intervala buđenja i javlja upozorenja ili pogreške kada se uređaj dulje vrijeme ne javi.
Konfiguracija
MQTT Client ID
Svaki Shelly Plus Smoke ima jedinstveni MQTT Client ID u obliku shellyplussmoke-<MAC12>, gdje je <MAC12> cijela MAC adresa od 12 znakova u heksadecimalnom zapisu velikim slovima (npr. shellyplussmoke-AABBCCDDEEFF). Taj ID služi i kao zadani prefiks MQTT teme.
Client ID možete pronaći:
- Na naljepnici uređaja (MAC adresa)
- U web-sučelju Shelly: Settings → MQTT → Client ID
- Preko API-ja:
GET http://<device-ip>/rpc/Mqtt.GetConfig→ poljeclient_id
Postavljanje predloška
Nakon uvoza predloška u TapHome:
- Otvorite modul Shelly Plus Smoke
- U MQTT Broker IP upišite adresu MQTT brokera
- Postavite Port (zadano
1883) - U parametar uvoza MQTT ID upišite Client ID uređaja (npr.
shellyplussmoke-AABBCCDDEEFF)
Modul se pretplaćuje na <device-id>/#, a skripta za slušanje raščlanjuje JSON-RPC događaje NotifyFullStatus i NotifyStatus iz teme events/rpc.
MQTT je na uređaju Shelly Plus Smoke prema zadanim postavkama isključen. Uključite ga u postavkama uređaja: Settings → MQTT → Enable. Provjerite je li
rpc_ntf(RPC obavijesti) postavljen natrue(zadano). Predložak se oslanja na obavijestievents/rpc, a ne na pojedinačne teme stanja.
Spavanje i javljanje
Shelly Plus Smoke radi u načinu dubokog sna kako bi baterija što dulje trajala:
- Periodičko buđenje: uređaj se budi u intervalima određenim s
sys.wakeup_periodi objavljuje događajNotifyFullStatussa stanjem baterije, stanjem alarma dima i trenutačnim intervalom buđenja - Događaj alarma: otkrivanje dima odmah budi uređaj i šalje obavijest
NotifyStatussa stanjem alarma - Između ciklusa buđenja: uređaj nije dostupan preko HTTP-a ni MQTT-a
Uređaj se napaja jednom baterijom CR123A s očekivanim trajanjem do 5 godina. Ne koristite punjive baterije: proizvođač izričito upozorava na to.
Uređaj radi na baterije i nije trajno spojen na MQTT broker. Između ciklusa buđenja komunikacija nije moguća. Ako je na mjestu senzora Wi-Fi signal slab, česti pokušaji ponovnog spajanja pri buđenju mogu znatno skratiti trajanje baterije.
Mogućnosti uređaja
Alarm dima
Predložak stanje alarma dima prikazuje kao uređaj vrste „Magnetski kontakt” (Reed Contact, DeviceType 1030). Skripta za slušanje raščlanjuje događaje NotifyStatus u temi events/rpc i čita params['smoke:0'].alarm:
- ON (alarm aktivan): otkriven je dim, ugrađena zujalica uređaja oglašava se s više od 85 dB
- OFF (nema alarma): dim nije otkriven, normalan rad
Stanje alarma je samo za čitanje i ažurira se odmah kada se otkrije dim. Uređaj pri događajima alarma odmah šalje MQTT obavijest, bez obzira na raspored spavanja.
Praćenje baterije
Modul daje dva servisna atributa baterije koji se čitaju iz događaja NotifyFullStatus:
- Baterija [%]: postotak napunjenosti baterije iz
params['devicepower:0'].battery.percent. Kada razina padne ispod 30 %, javlja se upozorenje o slaboj bateriji - Baterija [V]: napon baterije u voltima iz
params['devicepower:0'].battery.V. Nazivni napon baterije CR123A je 3 V
Obje vrijednosti vraćaju NaN dok se ne primi prvo mjerenje (tj. dok je spremljena vrijednost još 0). Podaci o bateriji ažuriraju se pri svakom periodičkom buđenju.
Nadzor veze
Predložak prati povezivost uređaja mehanizmom odbrojavanja. Pri svakom događaju NotifyFullStatus skripta za slušanje sprema vrijednost sys.wakeup_period u korisničku varijablu wakeup_period. Skripta za čitanje zatim u svakom ciklusu očitavanja (interval od 60 sekundi) smanjuje taj brojač za 60:
- Brojač dosegne 0: uređaj se nije probudio kako je očekivano. Brojač se postavlja na -1 i javlja se WARNING (upozorenje): „Update not received”
- Brojač dosegne -86400: uređaj se ne javlja 48 sati. Javlja se ERROR (pogreška): „Update not received in last 48h”
Kada se uređaj probudi i pošalje novi NotifyFullStatus, brojač se vraća na novu vrijednost wakeup_period i upozorenja nestaju.
Dodatne mogućnosti
Shelly Plus Smoke podržava i funkciju utišavanja (RPC metoda Smoke.Mute) za prigušivanje zvuka alarma, događaje testa alarma dima koje pokreće fizičko tipkalo te dijagnostiku jačine Wi-Fi signala (RSSI). Kada je uključen status_ntf, uređaj objavljuje pojedinačne teme stanja komponenti. Te se mogućnosti mogu dodati u budućem ažuriranju predloška.
Rješavanje problema
Alarm dima ne javlja događaje
- Provjerite je li Shelly Plus Smoke spojen na Wi-Fi i je li u postavkama uređaja uključen MQTT (Settings → MQTT → Enable)
- Provjerite je li
rpc_ntfpostavljen natrue(zadano): predložak zahtijeva RPC obavijesti u temievents/rpc - Provjerite odgovara li parametar uvoza MQTT ID točno Client ID-u uređaja (npr.
shellyplussmoke-AABBCCDDEEFF) - MQTT klijentom (npr. MQTT Explorer) pretplatite se na
<device-id>/#i provjerite objavljuje li uređajNotifyFullStatuskada se probudi - Provjerite bateriju uređaja: s ispražnjenom baterijom CR123A uređaj se ne može spojiti na Wi-Fi
Nadzor veze javlja lažna upozorenja
- Nadzor uspoređuje odbrojavanje s očekivanim intervalom buđenja. Ako sat centralne jedinice TapHome Core znatno odstupa, mogu se pojaviti lažna upozorenja
- Na baterijskom napajanju uređaj se budi samo u postavljenom intervalu
wakeup_period: razmaci između javljanja su očekivani - Ako je senzor na mjestu s nestabilnim Wi-Fi signalom, u nekim se ciklusima buđenja možda neće uspjeti spojiti. Provjerite jačinu Wi-Fi signala na mjestu senzora
- Nakon zamjene baterije može proći jedan cijeli ciklus buđenja prije nego što se brojač nadzora ispravno postavi
Uređaj se prikazuje kao magnetski kontakt umjesto alarma dima
Predložak TapHome za prikaz alarma dima koristi vrstu uređaja PacketParserReedContact (DeviceType 1030). To je ispravno preslikavanje: stanje ON znači „Hitni alarm” (Emergency Alarm, otkriven je dim), a stanje OFF znači „OK” (nema dima). Uređaj se u sustavu TapHome zove „Shelly Plus Smoke”, pa je njegova funkcija jasno vidljiva.