Anwesenheitserkennung über WLAN mit OpenWRT / LEDE

Diese Anleitung beschreibt wie man dem Loxone Server mitteilt welche Geräte im WLAN eingebucht sind.


Schritt-für-Schritt-Anleitung

  1. Installation der Pakete „netcat“ und „iwinfo". Die Installation kann entweder über die Web Oberfläche unter System -> Software erfolgen oder über die Konsole:

    opkg update
    opkg install netcat
    opkg install iwinfo
    
  2. Wir erstellen ein Script /etc/loxone_assoclist mit folgendem Inhalt:

    #!/bin/sh
    
    
    while :
    do
        iwinfo wlan0 assoclist > /tmp/assoclist.txt
        iwinfo wlan1 assoclist >> /tmp/assoclist.txt            	# Zeile nur für Dualband-Router (5GHz), ggf. löschen
        netcat -u -w1 -c  192.168.1.8 5678 < /tmp/assoclist.txt     # IP und Wunschport des Loxone Miniservers eintragen
        sleep 5                                                		# Pause nach Durchlauf in Sekunden
    done
    


    Das Script durchläuft eine Endlosschleife die alle verbundenen WLAN Clients in eine temporäre Datei schreibt und an den Miniserver sendet. Bitte Kommentare im Script beachten.

  3. Wir erstellen ein weiteres Script /etc/init.d/loxone mit folgendem Inhalt:

    #!/bin/sh /etc/rc.common
    
    
    START=90
    STOP=95
    
    start() {        
            echo start
            /etc/loxone_assoclist &>/dev/null & 
            echo $! > /tmp/lox.pid 
    }                 
     
    stop() {          
            echo stop
            cat /tmp/lox.pid | xargs kill -9
            rm /tmp/lox.pid
            rm /tmp/assoclist.txt
    }
    


    Dieses Skript dient daszu das eigentliche Funktionsscript in den Startprozess des Routers einzubinden.

  4. Vor dem Ausführen müssen noch die Rechte der Dateien auf 0755 geändert werden:

    chmod +x /etc/loxone_assoclist
    chmod +x /etc/init.d/loxone
    
  5. Nun kann der Prozess gestartet werden. Dies kann entweder über die Web Oberfläche unter System -> Startup (Enable, dann Start) erfolgen oder über die Konsole:

    /etc/init.d/loxone enable
    /etc/init.d/loxone start
    
  6.  Als nächstes wird ein virtueller UDP Eingang in der Loxone Config erstellt. Als Empfangsport ist der gleiche Port wie in Schritt 2 anzugeben (5678).

  7. Als letztes muss für jedes zu überwachende Gerät (Handy) ein Virtueller UDP Befehl (Digitaleingang) erstellt. Im Feld Befehlserkennung muss die MAC Adresse des jweiligen Gerätes in Form AA:BB:CC:DD:EE:FF eingetragen werden.

Bei Erkennung wird ein kurzer Impuls am Virtuellen Eingang geliefert. Dieser kann z.B. mit einem nachfolgenden Monoflop als einfache Anwesenheitserkennung dienen.



Verwandte Artikel