Zum Ende der Metadaten springen
Zum Anfang der Metadaten

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
        nc -u -w1 -c  192.168.1.8 5678 < /tmp/assoclist.txt     # IP und Wunschport des Loxone Miniservers eintragen
        sleep 10                                                # 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

9 Kommentare

  1. Alex Stein sagt:

    Hallo Andreas E.
    danke für Deinen Beitrag. Hast Du eine Idee ob Deine Funktion mit iOS geräten zuverlässig funktioniert?

    meine Idee ist es, die Wohnungstüre automatisch über die Loxone verschließen zu lassen, wenn alle bekannten Handys das WLan verlassen haben.
    Dazu wäre es nötig vor der Geld investition zu wissen, ob die Erkennung zuverlässig funktioniert.

    Danke & Gruß

    Alex

     

  2. Andreas E. sagt:

    Hallo Alex,

    wir benutzen die Funktion mit 2 iPhones ohne Probleme. Da ganze funktioniert aber mit allen WLAN Geräten gleich, da es nur auf der MAC Adresse basiert.

    Gruß

    Andreas

  3. Peter Bazala sagt:

    Wie machst Du das bei den Iphones, da schaltet sich ja das Wlan ab wenn das Display abgedreht wird?

     

    Und aufpassen  da wird alle 10 Sekunden auf die SD Karte geschrieben, nicht sehr förderlich für die Lebensdauer.

     

    es gibt eine Ram Disk am Loxberry  /run/shm/  Die verwende Ich immer wenn dauernd in Dateien geschrieben wird

  4. Alex Stein sagt:

    Hallo Andreas,

    ich versuche gerade Dein Programm auf meinem Raspberry Pi zum Laufen zu bringen.
    Ich habe die Dateien angelegt, die Rechte geändert, Adressen angepasst, ...

    und dann über /etc/init.d/loxone enable

    versucht das Programm zu starten.

    Es kommt eine Fehlermedlung zurück: Can´t open /etc/rc.common.

     

    kannst Du mir bitte einen Tipp geben, was ich da falsch gemacht habe.

    Grüße

    Alexander

  5. Andreas E. sagt:

    Peter Bazala - das Skript schreibt in das /tmp/ von OpenWRT, also in den RAM nicht auf den Flash Speicher. iPhones bleiben mit der WLAN verbunden - Skript ist seit einigen Wochen ohne Probleme bei mir in Betrieb.

    Alex Stein - die Shebang "#!/bin/sh /etc/rc.common" kennt dein Raspberry nicht. Eigentlich brauchst du in Deinem Fall nur das erste Skript und musst dafür sorgen, dass es beim Systemstart autmatisch ausgeführt wird.

     

    1. Alex Stein sagt:

      Hallo Andreas,

      Der Hinweis von:  

      Peter Bazala sagt: 

      Ahso dachte das Script läuft auf einem Raspi, Sorry

       ....  führt mich vielleicht zum eigentlichen Problem.... auf welchem Rechner muß Dein Skript laufen?

      auf einem Raspberry oder direkt in der Loxone?

      Gruß

      Alexander

      1. Peter Bazala sagt:

        Auf einem open WRT Accesspoint so wie Ich das verstanden hab

  6. Peter Bazala sagt:

    Ahso dachte das Script läuft auf einem Raspi, Sorry

     

    hmmmmm aber da musst dann ja auf dem Iphone etwas umstellen, meine Iphones sind immer weg vom Wlan wenn der Display finster ist

  7. Andreas E. sagt:

    An den iPhones ist nichts dahingehend "umgestellt". Gruß AE