Anwesenheitserkennung via Unifi AP's

Benötigte Hardware:

-Unifi AP

-PHP Script ( Link zu github )

-Einen immer laufenden Unifi Controller (z.B. auf einem Raspberry pi)

-php Server (bei mir Synology NAS)



Beitrag im Loxforum zur Diskussion



Installation des Controllers auf einem Raspberry Pi



Oder gemäss Anleitung im Loxwiki: Artikel Installation Controller auf Loxberry



echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' | sudo tee -a /etc/apt/sources.list.d/ubnt.list > /dev/null sudo apt-key adv --keyserver keyserver.ubuntu.com --recv C0A52C50 sudo apt-get update

sudo apt-get install unifi -y

echo 'ENABLE_MONGODB=no' | sudo tee -a /etc/mongodb.conf > /dev/null

Danach ist der Controller unter https://IP-des-Raspi:8443 erreichbar. Darin muss zuerst eine allfällige Config Importiert, oder die Unifi AP's Configuriert werden.

Installation des Controllers auf einem Synology-NAS (DSM)

  1. Java8 über das Paketzentrum installieren

  2. Paketquelle hinzufügen:

    1. "Paketzentrum" → "Einstellungen" → "Paketquellen"

    2. Neue Paketquelle hinzufügen

      1. Name: acmenet

      2. URL: http://synology.acmenet.ru

  3. UniFi Controller installieren:

    1. "Paketzentrum" → "Community" → "UniFi Controller 5"

  4. Controller für Eure APs konfigurieren.

PHP Script auf NAS vorbereiten

  1. php Script entpacken und in einen ausführbaren Pfad verschieben. 

→ Bei mir läuft das Skript auf einem Synology NAS --> web/unifi/

dafür muss man folgendes erledigen:

  • Paketzentrum: Web-Station und PHP7 installieren, falls noch nicht geschehen

    • hier erstellt sich der "web"-Ordner automatisch

  • Unterordner "unifi" im "web"-Ordner erstellen.

  • In der Web-Station dann bei "PHP-Einstellungen": "curl" als Erweiterung anhaken und speichern

Gimmick:

Äußeren Webzugriff ausschalten durch Erstellen einer ".htaccess"-Datei mit folgendem Inhalt:

order deny,allow deny from all allow from 127.0.0.1 allow from localhost


Ordnerinhalt am Ende:

→ Raspberry Pi: /var/www/html (nicht getestet, müsste aber so klappen)



2. Anpassen von config.template.php gemäss Beschrieb im file (nicht vergessen, Datei Kopieren und auf config.php umbenennen. config.template.php kann erhalten bleiben)

3. Anpassen von index.php

$action = 'list_events';
$site_id = 'default';
$site_name = 'Default';
$selection = '';
$output_format = 'json';
$theme = 'bootstrap';
$data = '';
$objects_count = '';
$alert_message = '';
$cookietimeout = '1800';
$debug = false;

4. Script testen: http://IP_des_Scripts/unifi/

--> Hier sieht Ihr alle Daten welche der AP hergibt. Wir benötigen die markierten Zeilen eures Geräts das Ihr abfragen wollt: (MAC Adresse)



Loxone config anpassen



5. In der LoxoneConfig einen http Eingang erstellen

--> 

6. http Befehl anlegen

-->

Unter Befehlserkennung müsst Ihr wieder eure oben erwähnte MAC Adresse eintragen

Beispiel für die Befehlserkennung
1a:2b:3c:4e:5f:6a]\.\1



Das heisst, Loxone durchsucht das die Seite nach dieser MAC Adresse und nimmt dann das erste ASCII Zeichen nach dem Leerzeichen. Mit diesem Wert kann der Typ des Events ermittelt werden. Grundsätzlich werdet Ihr dort die Werte im folgenden Bild erhalten. Ich werde den http-Eingang in einem Statusbaustein aus:



Das wars auch schon..



Fragen können im Loxforum gestellt werden.



Bekannte Fehler:



Bisher keine bekannten