
Shelly Motion 2 (SHMOS-02) je bateriový (Li-ion 6500 mAh, nabíjecí přes USB-C) Wi-Fi PIR pohybový senzor. TapHome komunikuje se zařízením přes MQTT — doporučený protokol pro bateriová Shelly zařízení, protože senzor většinu času spí a publikuje data pouze při událostech probuzení (detekce pohybu nebo periodický časovač).
Na rozdíl od reléových Gen1 Shelly zařízení, která publikují individuální stavové topicy, Motion 2 publikuje kompletní stav přes jeden /info JSON payload při probuzení. TapHome listenerový skript parsuje tento JSON na extrakci stavu pohybu, osvětlení, teploty, stavu baterie a diagnostických atributů.
Šablona podporuje až 5 Shelly Motion 2 senzorů na modul. Každá instance senzoru se rozlišuje custom proměnnou sensorN_topic odkazující na MQTT Client ID zařízení.
Konfigurace
Device ID
Každý Shelly Motion 2 má unikátní MQTT Device ID ve formátu shellymotion2-<MAC>, kde <MAC> je plná 12znaková MAC adresa v hexadecimálním tvaru velkými písmeny (např. shellymotion2-AABBCCDDEEFF).
Device ID najdete:
- Na štítku zařízení (MAC adresa)
- Ve webovém rozhraní Shelly: Settings → Device Info
- Přes API:
GET http://<device-ip>/settings→ poledevice.hostname
Nastavení šablony
Po importu šablony v TapHome:
- Otevřete modul Shelly Motion 2 MQTT
- Nastavte MQTT Broker IP a Port (výchozí
1883) - Pro každou instanci senzoru nastavte custom proměnnou
sensorN_topicna Device ID odpovídajícího Shelly Motion 2 (např.shellymotion2-AABBCCDDEEFF)
Modul se přihlásí k odběru shellies/# a listenerové skripty filtrují zprávy podle nakonfigurovaného prefixu topicu.
Konfigurujte pouze sloty senzorů, které skutečně používáte. Nenakonfigurované sloty (s výchozí hodnotou
shellymotion2-deviceid) zobrazí chybovou zprávu vyzývající k nastavení správného topicu.
Nastavení pohybového senzoru
Shelly Motion 2 má několik konfigurovatelných parametrů ovlivňujících chování detekce. Tyto se konfigurují přímo na zařízení přes jeho webové rozhraní (http://<device-ip>/), ne přes TapHome:
| Parametr | Rozsah | Popis |
|---|---|---|
| Citlivost | 1–256 | Citlivost detekce pohybu (nižší = citlivější) |
| Slepý čas | 1–1440 min | Minuty ignorování pohybu po detekci |
| Počet impulzů | 1–4 | Počet po sobě jdoucích pohybů k potvrzení |
| Provozní režim | ANY / DARK / TWILIGHT / BRIGHT | Kdy je detekce aktivní na základě okolního světla |
| Čas spánku | 0–86400 s | Periodický interval probuzení v sekundách |
Kratší časy spánku zvyšují aktuálnost dat, ale snižují výdrž baterie. Výchozí interval probuzení je dostatečný pro většinu případů použití. Pohybové události vždy vyvolají okamžité probuzení bez ohledu na časovač spánku.
Schopnosti zařízení
Detekce pohybu
Každá instance senzoru je mapována jako zařízení Reed Contact se schopností „security" v TapHome. Stav pohybu se parsuje z topicu shellies/<id>/info — konkrétně pole $.sensor.motion v JSON payloadu:
true→ Alarm (detekován pohyb)false→ OK (žádný pohyb)
Senzor se probudí a publikuje svůj stav při detekci pohybu (podle nastavení citlivosti, slepého času a počtu impulzů) a také během periodických intervalů probuzení.
Servisní atributy
Každá instance senzoru poskytuje 14 servisních atributů na úrovni zařízení, všechny parsované z /info JSON payloadu:
| Atribut | Zdrojové pole | Popis |
|---|---|---|
| IP adresa | $.wifi_sta.ip | Wi-Fi IP adresa senzoru |
| MAC adresa | $.mac | Hardwarová MAC adresa |
| Baterie | $.bat.voltage, $.bat.value | Napětí a procenta baterie (např. 3,83V (97%)) |
| Signál | $.wifi_sta.rssi | Síla Wi-Fi signálu v dB |
| Cloud povolen | $.cloud.enabled | Zda je Shelly Cloud povolen |
| Připojen ke cloudu | $.cloud.connected | Zda je zařízení připojeno k Shelly Cloud |
| Čas zařízení | $.time | Aktuální čas na zařízení |
| Osvětlení | $.lux.value | Úroveň okolního světla v luxech |
| Teplota | $.tmp.value, $.tmp.units | Interní měření teploty |
| Doba provozu | $.uptime | Čas od posledního restartu |
| Verze FW | $.fw_info.fw | Aktuální verze firmwaru |
| Aktualizace FW | $.update.has_update | Zda je dostupná aktualizace firmwaru |
| Volná RAM | $.ram_total, $.ram_free | Dostupná paměť |
| Volné místo FS | $.fs_size, $.fs_free | Dostupné úložiště souborového systému |
Varování o nízké baterii se automaticky spustí, když úroveň baterie klesne pod 20 %.
Další schopnosti (neimplementované)
Shelly Motion 2 také publikuje detekci vibrací/neoprávněné manipulace ($.sensor.vibration, nastavitelná citlivost 0–80), kategorii osvětlení ($.lux.illumination — dark/twilight/bright) a stav USB nabíječky ($.charger) přes /info JSON payload. Stav online/offline je dostupný přes LWT topic (shellies/<id>/online). Tyto schopnosti jsou dostupné ve výstupu MQTT zařízení, ale nejsou mapovány v aktuální TapHome šabloně. Mohou být přidány v budoucí aktualizaci šablony.
Řešení problémů
Senzor nehlásí data
- Ověřte, že Shelly Motion 2 je připojen k Wi-Fi a MQTT je povoleno v nastavení zařízení
- Zkontrolujte, že custom proměnná
sensorN_topicpřesně odpovídá Device ID (např.shellymotion2-AABBCCDDEEFF) - Použijte MQTT klienta (např. MQTT Explorer) pro přihlášení k odběru
shellies/#a ověřte, že senzor publikuje zprávy při probuzení - Motion 2 je napájen z baterie a publikuje data pouze při probuzení — vyvolejte pohybovou událost pro vynucení probuzení
Stav pohybu se neaktualizuje
- Zkontrolujte, že čočka PIR senzoru není zakrytá a senzor je namontován v doporučené výšce (1,8–2,5 m)
- Pokud byl senzor nedávno nainstalován, ověřte nastavení citlivosti a slepého času ve webovém rozhraní zařízení — vysoký slepý čas znamená, že senzor ignoruje pohyb delší dobu po každé detekci
- Upravte počet impulzů, pokud se senzor spouští příliš zřídka (nižší = méně po sobě jdoucích pohybů)
- Zkontrolujte v TapHome stav zařízení Reed Contact — 1 = detekován pohyb (alarm), 0 = žádný pohyb (OK)
Baterie se rychle vybíjí
- Shelly Motion 2 používá vestavěný nabíjecí Li-ion akumulátor (6500 mAh) nabíjený přes USB-C, s typickou aktivní výdrží 12–18 měsíců
- Časté probouzení kvůli vysoké pohybové aktivitě nebo krátkým intervalům spánku vybíjí baterii rychleji
- Povolení SSL na MQTT výrazně snižuje výdrž baterie — používejte plain MQTT (port 1883) v důvěryhodné lokální síti
- Zajistěte silný Wi-Fi signál na místě senzoru — slabý signál znamená delší časy připojení při každém probuzení
Gen1 Shelly zařízení nepodporují MQTT přes TLS bez výrazného dopadu na baterii. Komunikace mezi senzorem a MQTT brokerem je typicky nešifrovaná (plain MQTT, port 1883). Zajistěte, aby byl MQTT broker v důvěryhodné lokální síti.
Povolení MQTT na Gen1 Shelly zařízeních zakáže Cloud konektivitu. MQTT a Cloud nemohou koexistovat na stejném zařízení.