
Shelly Motion 2 (SHMOS-02) este un senzor de mișcare PIR Wi-Fi alimentat cu baterie (Li-ion 6500 mAh, reîncărcabilă prin USB-C). TapHome comunică cu dispozitivul prin MQTT — protocolul recomandat pentru dispozitivele Shelly cu baterii, deoarece senzorul se află în repaus cea mai mare parte a timpului și publică date doar la trezire (detectarea mișcării sau temporizatorul periodic).
Spre deosebire de dispozitivele Shelly Gen1 de tip releu, care publică topicuri de stare individuale, Motion 2 publică la trezire întreaga stare printr-un singur payload JSON /info. Scriptul de ascultare TapHome analizează acest JSON pentru a extrage starea mișcării, iluminarea, temperatura, nivelul bateriei și atributele de diagnosticare.
Șablonul acceptă până la 5 senzori Shelly Motion 2 per modul. Fiecare senzor este identificat prin variabila personalizată sensorN_topic, care indică ID-ul de client MQTT al dispozitivului.
Configurare
ID-ul dispozitivului
Fiecare Shelly Motion 2 are un ID de dispozitiv MQTT unic în formatul shellymotion2-<MAC>, unde <MAC> reprezintă adresa MAC completă de 12 caractere, în hexazecimal cu litere mari (de ex. shellymotion2-AABBCCDDEEFF).
ID-ul dispozitivului se găsește:
- Pe eticheta dispozitivului (adresa MAC)
- În interfața web Shelly: Settings → Device Info
- Prin API:
GET http://<device-ip>/settings→ câmpuldevice.hostname
Configurarea șablonului
După importul șablonului în TapHome:
- Deschideți modulul Shelly Motion 2 MQTT
- Setați MQTT Broker IP și Port (implicit
1883) - Pentru fiecare senzor, setați variabila personalizată
sensorN_topicla ID-ul dispozitivului Shelly Motion 2 corespunzător (de ex.shellymotion2-AABBCCDDEEFF)
Modulul se abonează la shellies/#, iar scripturile de ascultare filtrează mesajele după prefixul de topic configurat.
Configurați doar sloturile de senzori pe care le folosiți efectiv. Sloturile neconfigurate (cu valoarea implicită
shellymotion2-deviceid) afișează un mesaj de eroare care vă solicită să setați topicul corect.
Setările senzorului de mișcare
Shelly Motion 2 are mai mulți parametri configurabili care influențează detectarea. Aceștia se configurează direct pe dispozitiv, din interfața sa web (http://<device-ip>/), nu din TapHome:
| Parametru | Interval | Descriere |
|---|---|---|
| Sensibilitate | 1–256 | Sensibilitatea detectării mișcării (valoare mai mică = mai sensibil) |
| Timp de blocare | 1–1440 min | Minutele în care mișcarea este ignorată după o detectare |
| Număr de impulsuri | 1–4 | Mișcările consecutive necesare pentru confirmarea mișcării |
| Mod de funcționare | ANY / DARK / TWILIGHT / BRIGHT | Când este activă detectarea, în funcție de lumina ambientală |
| Timp de repaus | 0–86400 s | Intervalul periodic de trezire, în secunde |
Timpii de repaus mai scurți asigură date mai recente, dar reduc autonomia bateriei. Intervalul de trezire implicit este suficient pentru majoritatea utilizărilor. Evenimentele de mișcare declanșează întotdeauna o trezire imediată, indiferent de temporizatorul de repaus.
Funcțiile dispozitivului
Detectarea mișcării
Fiecare senzor este mapat în TapHome ca dispozitiv de tip contact reed cu funcția „security”. Starea mișcării se extrage din topicul shellies/<id>/info — mai exact din câmpul $.sensor.motion al payloadului JSON:
true→ Alarmă (mișcare detectată)false→ OK (fără mișcare)
Senzorul se trezește și își publică starea atunci când detectează mișcare (în funcție de setările de sensibilitate, timp de blocare și număr de impulsuri), precum și la intervalele periodice de trezire.
Atribute de service
Fiecare senzor oferă 14 atribute de service la nivelul dispozitivului, toate extrase din payloadul JSON /info:
| Atribut | Câmp sursă | Descriere |
|---|---|---|
| Adresă IP | $.wifi_sta.ip | Adresa IP Wi-Fi a senzorului |
| Adresă MAC | $.mac | Adresa MAC hardware |
| Baterie | $.bat.voltage, $.bat.value | Tensiunea și procentul bateriei (de ex. 3.83V (97%)) |
| Semnal | $.wifi_sta.rssi | Puterea semnalului Wi-Fi în dB |
| Cloud activat | $.cloud.enabled | Indică dacă Shelly Cloud este activat |
| Cloud conectat | $.cloud.connected | Indică dacă dispozitivul este conectat la Shelly Cloud |
| Ora dispozitivului | $.time | Ora curentă pe dispozitiv |
| Iluminare | $.lux.value | Nivelul luminii ambientale în lucși |
| Temperatură | $.tmp.value, $.tmp.units | Citirea temperaturii interne |
| Timp de funcționare | $.uptime | Timpul scurs de la ultima repornire |
| Versiune FW | $.fw_info.fw | Versiunea curentă de firmware |
| Actualizare FW | $.update.has_update | Indică dacă este disponibilă o actualizare de firmware |
| RAM liberă | $.ram_total, $.ram_free | Memoria disponibilă |
| Spațiu liber FS | $.fs_size, $.fs_free | Spațiul de stocare disponibil în sistemul de fișiere |
Avertizarea de baterie descărcată se declanșează automat când nivelul bateriei scade sub 20 %.
Funcții suplimentare (neimplementate)
Shelly Motion 2 publică prin payloadul JSON /info și detectarea vibrațiilor/tentativelor de sabotaj ($.sensor.vibration, sensibilitate configurabilă 0–80), categoria de iluminare ($.lux.illumination — dark/twilight/bright) și starea încărcătorului USB ($.charger). Starea online/offline este disponibilă prin topicul LWT (shellies/<id>/online). Aceste funcții sunt disponibile în datele MQTT ale dispozitivului, dar nu sunt mapate în șablonul TapHome actual. Pot fi adăugate într-o actualizare viitoare a șablonului.
Rezolvarea problemelor
Senzorul nu raportează date
- Verificați dacă Shelly Motion 2 este conectat la Wi-Fi și dacă MQTT este activat în setările dispozitivului
- Verificați dacă variabila personalizată
sensorN_topiccorespunde exact ID-ului dispozitivului (de ex.shellymotion2-AABBCCDDEEFF) - Folosiți un client MQTT (de ex. MQTT Explorer) pentru a vă abona la
shellies/#și verificați dacă senzorul publică mesaje la trezire - Motion 2 funcționează cu baterie și publică date doar când se trezește — declanșați un eveniment de mișcare pentru a forța trezirea
Starea mișcării nu se actualizează
- Verificați dacă lentila senzorului PIR nu este obturată și dacă senzorul este montat la înălțimea recomandată (1,8–2,5 m)
- Dacă senzorul a fost instalat recent, verificați setările de sensibilitate și de timp de blocare din interfața web a dispozitivului — un timp de blocare mare înseamnă că senzorul ignoră mișcarea pentru perioade mai lungi după fiecare detectare
- Ajustați numărul de impulsuri dacă senzorul se declanșează prea rar (valoare mai mică = sunt necesare mai puține mișcări consecutive)
- Verificați în TapHome starea dispozitivului de tip contact reed — 1 = mișcare detectată (alarmă), 0 = fără mișcare (OK)
Bateria se descarcă rapid
- Shelly Motion 2 folosește o baterie Li-ion reîncărcabilă încorporată (6500 mAh), încărcată prin USB-C, cu o durată de funcționare tipică de 12–18 luni
- Trezirile frecvente din cauza activității intense de mișcare sau a intervalelor de repaus scurte descarcă bateria mai repede
- Activarea SSL pentru MQTT reduce semnificativ autonomia bateriei — folosiți MQTT simplu (portul 1883) într-o rețea locală de încredere
- Asigurați un semnal Wi-Fi puternic în locul în care este montat senzorul — un semnal slab înseamnă timpi de conectare mai lungi la fiecare trezire
Dispozitivele Shelly Gen1 nu acceptă MQTT prin TLS fără un impact semnificativ asupra bateriei. Comunicația dintre senzor și brokerul MQTT este de obicei necriptată (MQTT simplu, portul 1883). Asigurați-vă că brokerul MQTT se află într-o rețea locală de încredere.
Activarea MQTT pe dispozitivele Shelly Gen1 dezactivează conectivitatea Cloud. MQTT și Cloud nu pot funcționa simultan pe același dispozitiv.