
A Shelly Motion 2 (SHMOS-02) egy elemes (Li-ion 6500 mAh, USB-C-vel tölthető) Wi-Fi PIR mozgásérzékelő. A TapHome MQTT-n keresztül kommunikál az eszközzel — ez a javasolt protokoll az elemes Shelly eszközökhöz, mivel az érzékelő az idő nagy részében alszik, és csak ébredési események (mozgásérzékelés vagy periodikus időzítő) alkalmával küld adatokat.
A relétípusú Gen1 Shelly eszközöktől eltérően, amelyek egyedi állapot-topicokat publikálnak, a Motion 2 a teljes állapotát egyetlen /info JSON payloadban publikálja ébredéskor. A TapHome listener szkript elemzi ezt a JSON-t a mozgásállapot, fényerősség, hőmérséklet, akkumulátorszint és diagnosztikai attribútumok kinyeréséhez.
A sablon modulonként legfeljebb 5 Shelly Motion 2 érzékelőt támogat. Minden érzékelőpéldány a sensorN_topic egyéni változóval különböztethető meg, amely az eszköz MQTT Client ID-jára mutat.
Konfiguráció
Device ID
Minden Shelly Motion 2 egyedi MQTT Device ID-val rendelkezik shellymotion2-<MAC> formátumban, ahol a <MAC> a teljes 12 karakteres MAC-cím nagybetűs hexadecimális formában (pl. shellymotion2-AABBCCDDEEFF).
A Device ID megtalálható:
- Az eszköz címkéjén (MAC-cím)
- A Shelly webes felületén: Settings → Device Info
- API-n keresztül:
GET http://<device-ip>/settings→device.hostnamemező
Sablon beállítása
A sablon TapHome-ba történő importálása után:
- Nyisd meg a Shelly Motion 2 MQTT modult
- Állítsd be az MQTT Broker IP-t és a Port-ot (alapértelmezett
1883) - Minden érzékelőpéldányhoz állítsd be a
sensorN_topicegyéni változót a megfelelő Shelly Motion 2 Device ID-jára (pl.shellymotion2-AABBCCDDEEFF)
A modul feliratkozik a shellies/# topicra, és a listener szkriptek a konfigurált topic-előtag alapján szűrik az üzeneteket.
Csak azokat az érzékelőhelyeket konfiguráld, amelyeket ténylegesen használsz. A nem konfigurált helyek (az alapértelmezett
shellymotion2-deviceidértékkel) hibaüzenetet jelenítenek meg, amely a helyes topic beállítására szólít fel.
Mozgásérzékelő beállításai
A Shelly Motion 2 több konfigurálható paraméterrel rendelkezik, amelyek befolyásolják az érzékelési viselkedést. Ezeket közvetlenül az eszközön kell konfigurálni a webes felületén (http://<device-ip>/) keresztül, nem a TapHome-on:
| Paraméter | Tartomány | Leírás |
|---|---|---|
| Érzékenység | 1–256 | Mozgásérzékelési érzékenység (alacsonyabb = érzékenyebb) |
| Vakidő | 1–1440 perc | Percek, amíg az érzékelés után a mozgás figyelmen kívül marad |
| Impulzusszám | 1–4 | Egymás utáni mozgások száma a megerősítéshez |
| Működési mód | ANY / DARK / TWILIGHT / BRIGHT | Mikor aktív az érzékelés a környezeti fény alapján |
| Alvási idő | 0–86400 mp | Periodikus ébredési intervallum másodpercben |
A rövidebb alvási idők növelik az adatok frissességét, de csökkentik az akkumulátor élettartamát. Az alapértelmezett ébredési intervallum a legtöbb felhasználási esethez elegendő. A mozgáseseményeket mindig azonnali ébredés kíséri, az alvási időzítőtől függetlenül.
Eszközképességek
Mozgásérzékelés
Minden érzékelőpéldány Reed Contact eszközként van leképezve „security" képességgel a TapHome-ban. A mozgásállapot a shellies/<id>/info topicból kerül kiolvasásra — konkrétan a JSON payload $.sensor.motion mezőjéből:
true→ Riasztás (mozgás érzékelve)false→ OK (nincs mozgás)
Az érzékelő felébred és közzéteszi állapotát mozgásérzékeléskor (az érzékenységi, vakidő- és impulzusszám-beállítások szerint), valamint a periodikus ébredési intervallumoknál.
Szervizattribútumok
Minden érzékelőpéldány 14 eszközszintű szervizattribútumot biztosít, amelyek mind az /info JSON payloadból kerülnek kiolvasásra:
| Attribútum | Forrásmező | Leírás |
|---|---|---|
| IP-cím | $.wifi_sta.ip | Az érzékelő Wi-Fi IP-címe |
| MAC-cím | $.mac | Hardveres MAC-cím |
| Akkumulátor | $.bat.voltage, $.bat.value | Akkumulátorfeszültség és százalék (pl. 3,83V (97%)) |
| Jel | $.wifi_sta.rssi | Wi-Fi jelerősség dB-ben |
| Cloud engedélyezve | $.cloud.enabled | Engedélyezve van-e a Shelly Cloud |
| Cloudhoz csatlakozva | $.cloud.connected | Csatlakozik-e az eszköz a Shelly Cloudhoz |
| Eszközidő | $.time | Az eszköz aktuális ideje |
| Fényerősség | $.lux.value | Környezeti fényszint luxban |
| Hőmérséklet | $.tmp.value, $.tmp.units | Belső hőmérsékletmérés |
| Üzemidő | $.uptime | Az utolsó újraindítás óta eltelt idő |
| FW verzió | $.fw_info.fw | Aktuális firmware verzió |
| FW frissítés | $.update.has_update | Elérhető-e firmware frissítés |
| Szabad RAM | $.ram_total, $.ram_free | Szabad memória |
| Szabad FS terület | $.fs_size, $.fs_free | Szabad fájlrendszer-tárterület |
Alacsony akkumulátorszint figyelmeztetés automatikusan aktiválódik, ha az akkumulátorszint 20 % alá esik.
További képességek (nem implementált)
A Shelly Motion 2 emellett közzéteszi a rezgés/illetéktelen beavatkozás érzékelését ($.sensor.vibration, beállítható érzékenység 0–80), a megvilágítási kategóriát ($.lux.illumination — dark/twilight/bright) és az USB töltő állapotát ($.charger) az /info JSON payloadon keresztül. Az online/offline állapot az LWT topicon (shellies/<id>/online) keresztül érhető el. Ezek a képességek elérhetők az eszköz MQTT kimenetében, de az aktuális TapHome sablonban nincsenek leképezve. Egy jövőbeli sablonfrissítésben hozzáadhatók.
Hibaelhárítás
Az érzékelő nem jelez adatokat
- Ellenőrizd, hogy a Shelly Motion 2 csatlakozik a Wi-Fi-hez, és az MQTT engedélyezve van az eszközbeállításokban
- Ellenőrizd, hogy a
sensorN_topicegyéni változó pontosan megegyezik a Device ID-val (pl.shellymotion2-AABBCCDDEEFF) - Használj MQTT klienst (pl. MQTT Explorer) a
shellies/#topicra való feliratkozáshoz, és ellenőrizd, hogy az érzékelő ébredéskor üzeneteket küld - A Motion 2 elemről üzemel, és csak ébredéskor küld adatokat — válts ki mozgáseseményt az ébredés kényszerítéséhez
A mozgásállapot nem frissül
- Ellenőrizd, hogy a PIR érzékelő lencséje nincs eltakarva, és az érzékelő az ajánlott magasságban (1,8–2,5 m) van felszerelve
- Ha az érzékelő nemrég lett telepítve, ellenőrizd az érzékenységi és vakidő-beállításokat az eszköz webes felületén — a magas vakidő azt jelenti, hogy az érzékelő minden érzékelés után hosszabb ideig figyelmen kívül hagyja a mozgást
- Állítsd be az impulzusszámot, ha az érzékelő túl ritkán aktiválódik (alacsonyabb = kevesebb egymást követő mozgás szükséges)
- Ellenőrizd a TapHome-ban a Reed Contact eszköz állapotát — 1 = mozgás érzékelve (riasztás), 0 = nincs mozgás (OK)
Az akkumulátor gyorsan merül
- A Shelly Motion 2 beépített újratölthető Li-ion akkumulátort használ (6500 mAh), USB-C-vel töltve, 12–18 hónapos tipikus aktív élettartammal
- A magas mozgásaktivitás vagy a rövid alvási intervallumok miatti gyakori ébredések gyorsabban merítik az akkumulátort
- Az SSL engedélyezése az MQTT-n jelentősen csökkenti az akkumulátor élettartamát — használj sima MQTT-t (1883-as port) megbízható helyi hálózaton
- Biztosíts erős Wi-Fi jelet az érzékelő helyén — a gyenge jel hosszabb csatlakozási időt jelent minden ébredésnél
A Gen1 Shelly eszközök nem támogatják az MQTT-t TLS-en keresztül jelentős akkumulátor-hatás nélkül. Az érzékelő és az MQTT broker közötti kommunikáció jellemzően titkosítatlan (sima MQTT, 1883-as port). Győződj meg róla, hogy az MQTT broker megbízható helyi hálózaton működik.
Az MQTT engedélyezése Gen1 Shelly eszközökön letiltja a Cloud-kapcsolatot. Az MQTT és a Cloud nem létezhet együtt ugyanazon az eszközön.