
A rendszer képes érzékelni, hogy a regisztrált eszközök csatlakoznak-e az otthoni hálózathoz, és ezt az információt a vezérlő modulok működésében is felhasználhatja. Így az automatizálás képes alkalmazkodni ahhoz, hogy tartózkodik-e valaki otthon.
A jelenlétérzékelés része a Szélessáv Műhely OpenWrt firmware-ének, de önálló modulként hagyományos OpenWrt rendszerre is telepíthető, így használatához nincs szükség egyedi firmware-re.
true / false válasszal.apk és opkg alapú OpenWrt verziók támogatása.A jelenlétérzékelő modul közvetlenül telepíthető egy szabványos OpenWrt rendszerre. Jelentkezz be SSH-n keresztül arra a routerre, amely a jelenlétérzékelést végzi, majd futtasd:
wget -qO- https://raw.githubusercontent.com/szelessavalapitvany/openwrt-presence/main/install.sh | sh
A telepítő automatikusan felismeri a csomagkezelőt, telepíti a szükséges függőségeket, letölti a modul fájljait, majd újraindítja a szükséges LuCI szolgáltatásokat.
A telepítés után a LuCI felületen megjelenik a Smart home menü:
Smart home ├── Presence ├── Wifi presence └── Access points
A telepítő később frissítéshez is újra futtatható. A meglévő /etc/config/ alatti konfigurációs fájlokat nem írja felül, így a már létrehozott jelenléti csoportok és access point beállítások megmaradnak.
A rendszer két különböző módszert kínál a jelenlét meghatározására.
Fontos: a csoportnevek használatakor figyelni kell a kis- és nagybetűkre, mert ezek megkülönböztethetők.
A Wi-Fi alapú jelenlétérzékelés nem korlátozódik a fő OpenWrt routerre. További OpenWrt routerek vagy access pointok is bevonhatók a jelenlétvizsgálatba.
A főrouter a saját Wi-Fi kliensei mellett a konfigurált access pointoktól is lekérdezheti az aktuálisan kapcsolódó eszközök MAC-címeit. Így nagyobb lakásban vagy családi házban több Wi-Fi hozzáférési pont mellett is egységes jelenlétérzékelés valósítható meg.
Az access point azonosítása kétféleképpen történhet:
A fix IP-cím használata ajánlott, mert így a másodlagos access point elérése nem függ attól, hogy szerepel-e DHCP lease bejegyzésben.
Az alapértelmezett REST végpont:
/cgi-bin/luci/get-wifi-clients
Minden olyan másodlagos OpenWrt routerre vagy access pointra, amelynek Wi-Fi klienseit a főrouternek látnia kell, telepíteni kell az OpenWrt Wi-Fi Client API modult.
A projekt külön GitHub repositoryban található:
https://github.com/szelessavalapitvany/openwrt-wifi-client-api
Telepítés a másodlagos OpenWrt routeren:
wget -qO- https://raw.githubusercontent.com/szelessavalapitvany/openwrt-wifi-client-api/main/install.sh | sh
A telepítés után a következő végpont érhető el:
http://ROUTER-IP/cgi-bin/luci/get-wifi-clients
A válasz JSON tömb, amely az aktuálisan csatlakozott Wi-Fi kliensek MAC-címeit tartalmazza.
Példa:
[ "11:22:33:44:55:66", "AA:BB:CC:DD:EE:FF" ]
A modern telefonok és más mobil eszközök adatvédelmi okból gyakran véletlenszerű vagy privát MAC-címet használnak Wi-Fi hálózatonként.
A jelenlétérzékelés megbízható működéséhez fontos, hogy az adott otthoni Wi-Fi hálózathoz használt MAC-cím ne változzon.
Beállítás menete:
A jelenléti csoportok állapota egyszerű HTTP lekérdezéssel is elérhető. Ennek köszönhetően a funkció nem csak a DSVT rendszerrel használható, hanem más automatizálási megoldásokból is lekérdezhető.
http://ROUTER-IP/cgi-bin/luci/presence/CSOPORTNEV
http://ROUTER-IP/cgi-bin/luci/wifi-presence/CSOPORTNEV
Ha a csoport legalább egy kliense jelen van, a válasz:
true
Ha egyik kliens sincs jelen:
false
A sikeres lekérdezés HTTP 200 státuszkóddal tér vissza. Hibás vagy nem létező csoport esetén HTTP 404 válasz érkezik.
OpenWrt Presence – főrouteres jelenlétérzékelő modul:
https://github.com/szelessavalapitvany/openwrt-presence
OpenWrt Wi-Fi Client API – másodlagos access pointokhoz:
https://github.com/szelessavalapitvany/openwrt-wifi-client-api