[Modul] UniFi Toolbox (Anwesenheit, Blocken, Internet, Geräte und Endpointüberwachung)

Die UniFi Toolbox ist eine Sammlung von Modulen welche verschiedene Aktionen in Verbindung mit einem UniFi Netzwerk Controller unterstützen.

##Modulentwickler
@Brovning, @BommelPommel

Voraussetzungen:

  • Symcon 5.5 oder höher
  • UniFi Dream Machine
  • UniFi Controller

Installation:

Komponenten das Moduls (Version 1.3)

Folgende Module beinhaltet das UniFi Toolbox Repository:

  • UniFi Presence Manager (Dokumentation)
    Mit dem Presence oder Anwesenheitsmanager ist es möglich Geräte die mit dem Netzwerk verbunden sind zu überwachen, z.B. um die Anwesenheit zu bestimmen.
  • UniFi Internet Controller (Dokumentation)
    Der Internet Controller ermöglich die Erfassung von Informationen zur Internetverbindung wenn eine USG oder Dream Machine eingesetzt wird.
  • UniFi Endpoint Blocker (Dokumentation)
    Mit dem Device Blocker können Geräte anhand ihrer MAC Adresse vom Zugang auf das Netzwerk geblockt werden, z.B. um die Nutzung von Geräten im Kinderzimmer nach 20 Uhr zu sperren und am Morgen wieder zu aktivieren.
  • UniFi Device Monitor (Dokumentation)
    Mit dem Device Monitor können Geräte von UniFi überwacht werden - es stehen bei Firewalls (UDM/USG) Daten zur Internetverbindung zur Verfügung, bei generischen Geräten Daten zum Status und Hardware.
  • UniFi Endpoint Monitor (Dokumentation)
    Mit dem Endpoint Monitor können mit den UniFi Netzwerkverbunde Geräte überwacht werden. Hierbei wird zwischen Kabel und WLAN Verbindungen unterschieden, da im WLAN weit mehr Daten zur Verfügung stehen.

Für detaillierte Informationen zu den Modulen, wie z.B. zur Version bitte die Hilfeseiten der Module besuchen (im Aufbau).

##Screenshots

Hintergrund zum Modul und in eigener Sache

Das aktuelle UniFi Modul wird leider nicht wirklich aktiv gepflegt, was vermutlich auch an der Komplexität des Codes liegt. Für mich war es wichtig bestimme Funktionen darstellen zu können, wie z.B. das einfache Blockieren von Geräten (Kindersicherung), aber auch ein einfacheres Anwesenheitsmanagement - weiterhin wollte ich kein Modul erstellen, welches hunderte Variablen erstellt. Ich habe ca. eine Woche gebraucht um alle Dinge zu verstehen die wie und wo mit diversen Tokens etc. gemacht werden müssen und ich glaube mit der Toolbox eine gute Basis gefunden zu haben, diverse kleine Komponenten zu bauen, mit denen man sinnvolle Dinge in Verbindung mit UniFi Komponenten machen kann. Wer Inspirationen sucht … hier sind die Funktionen der (UniFi API) dokumentiert und ich baue gerne neue Dinge ein.

6 „Gefällt mir“

Habe es mit den ports 443, 80 oder auch 8443 wie beim ck1 probiert aber es funktioniert nicht.

Welches der Module ? Kannst du mal bei Debug schauen was da kommt wenn du einen Test machst?

Wie greifst du auf das webinterface zu? Das müsste die gleiche Verbindung sein.

habe es mit dem Internet Controller versucht, zuvor aber auch schon mit presence

Welchen User verwendest du? Es müssen die gleichen Daten sein, wie bei einem Login via Web Interface … also vermutlich der Admin und sein Password.

Stimmt Deine Site? Heist die wirklich default? Bitte auch auf Case Sensitivity achten.

Das passt alles, der BN und PW sind die von meinem globalen Unifi Account. Damit funktioniert das Modul auch am CK1.
2021-08-24 08_52_30

Globaler unify account? Du meinst den für den cloud Zugriff, also vermutlich die email Adresse. Das habe ich nicht getestet wenn du den meinst I d ich glaube das würde nicht gehen.

Probiere mal den lokalen Admin, wenn der nicht passt.

Sollte das nicht gehen muss ich mal weiteres debugging einziehen.

Ich melde mich mit Admin an …

Beim CK1 funktioniert es mit dem Modul zusammen ohne Probleme mit dem gleichen BN und PW vom Unifi Account. Bei der UDM Pro jedoch nicht.

Die beiden unterscheiden sich recht deutlich was die Sicherheit angeht. Ich muss mal bei mir mit dem globalen Account testen.

Lokaler Account wie Admin geht aber?

Sobald man den UI Account nutzt gibt es nichts lokales mehr, auch wenn ich andere User hinzufüge gibt es nur noch Email + PW. Aber wie gesagt es funktioniert am CK1 ohne Probleme mit dem Account.

Bei mir funktionierts mit einem UDM Pro + Cloud Account, also EMail + PW.

Hallo und erstmal eindickes Danke an @BommelPommel :slight_smile:
Ich nutze aktuell das alte Unfi Modul ausschließlich zur Anwesenheitserkennung
und da sind die vielen Variablen natürlich unschön :wink:
Daher habe ich mir mal dein Anwesenheitsmodul konfiguriert.
Leider bekomme ich auch keine Anmeldung hin.
Fehler eim Aufruf des Anwesenheitstests:

Notice: Trying to access array offset on value of type null in /var/lib/symcon/modules/Unifi-Toolbox/UniFi Presence Manager/module.php on line 173

 Invalid argument supplied for foreach() in /var/lib/symcon/modules/Unifi-Toolbox/UniFi Presence Manager/module.php on line 173

Notice: Trying to access array offset on value of type null in /var/lib/symcon/modules/Unifi-Toolbox/UniFi Presence Manager/module.php on line 173

Warning: Invalid argument supplied for foreach() in /var/lib/symcon/modules/Unifi-Toolbox/UniFi Presence Manager/module.php on line 173

Ich habe keinen Cloud key sondern nutze nur lokal den Controller über Docker und
habe da 3 Accesspoints angebunden.Weiteres ist mein lokales Adminkonto
auch einfach eine emailadresse ( habe also keinen usernamen wie „admin“.
Evtl passiert was mit den Sonderzeichen? Denn auch mien Anmeldepasswort ist 32 Zeichen
stark mit diversen Sonderzeichen (automatisch generiert).

Über das alte Modul sowie auch natürlich über das Webinterface funktioniert die Anmeldung.

@n1ck1355 Schickst Du bitte mal einen Screenshot vom Debug und der Tabelle in Name und MAC stehen - also die Geräte die überwacht werden sollen?

Hallo Zusammen,
Erstmal danke für das neue UniFi-Modul, hab es gerade mal Paralell zum alten Installiert und läuft auf anhieb.

  • USG Pro
  • Controller im Docker Container auf NAS

Ich muss nur im Menü auf den alten Cloudkey Stellen damit es funktioniert.

Grüße
Daniel

Was hast du als Port genommen?

Port: 443
Site: default

@rdt69

Bitte probiere mal das folgende:

  1. Login auf Deinem Controller mit dem Admin User => Oberfläche sollte kommen und Du solltest den Browser authentisiert haben.
  2. Neuer Tab auf und dann mal das folgende öffnen:
    https://192.168.1.1/proxy/network/api/s/default/stat/sta

Wobei die IP die Deines Controllers ist und default Deine Site … was kommt da?

Wenn da so aussieht, dann sollte alles gehen: {„meta“:{„rc“:„ok“},„data“:[{„site_id“:„5b743117404cb3035fe211c0“,„assoc_time“:1628176810,„latest_assoc_time“:1628667108,„oui“:„Raspberr“,„user_id“:„5bf59a32404cb31e13addd4a“,"_id":„5bf59a32404cb31e13addd4a“,„mac“:„b8:27:eb:e8:cc:e2“,„is_guest“:false,„first_seen“:1542822450,„last_seen“:162 … (hier kommt jetzt gaaaanz viel :slight_smile: )

ja das kommt bei mir auch und ganz viel auch :wink:
@bgersmann ist bei dir alles im gleichen Subnetz?
Das könnte bei mir das Problem sein da ich in der Symbox noch DHCP an habe und der vielleicht da irgendwas mit dem Gateway zum andere Sub nicht passt.
Symbox und Server (wo ich den Befehl getestet habe der auch funktioniert) sind in 172.8.0.0/16 und die Unifi Komponenten sind in 172.9.0.0/24

Bei mir ist bisher noch alles in einem Subnetz.

Also die Symbox macht auch nix anderes als Du im Browser - somit sollte alles funktionieren wenn die Symbox den Controller erreichen kann. Das mit dem Subnetz sollte grundlegend erstmal egal sein, so lange das Routing geht.