Neues Modul - 74_Unifi - Für den Ubiquiti Networks (UBNT) - Unifi Controller

Begonnen von rapster, 23 August 2015, 02:12:04

Vorheriges Thema - Nächstes Thema

Wuehler

Ausserdem ist das neue Modul UnifiSwitch https://forum.fhem.de/index.php/topic,87728.0.html soweit fertig. Jetzt auch mit setzen des poeMode direkt am Switch. Bitte mal ausprobieren.

sledge

Zitat von: Wuehler am 24 Mai 2018, 21:05:49
Hi,

Ist das reproduzierbar? Kannst du mal verbose =3 setzen und das Log dazu anhängen.

Ich habe noch Controller 5.7.20. kann das Verhalten jemand mit 5.7.23 bestätigen?

Hmmm - habe ich gerade gemacht - das Logfile brauche ich aber nicht dranhängen, weil da nichts drinsteht. Hatte global verbose auf 3, unificontroller auf 4. Es steht nur eine infomessage bzgl. Voucher drin - aber keine Infos bzgl. state eines Clients.

Davon abgesehen habe ich mich dazu entschieden, auf den Inhalt der SSID zu prüfen - beim Zugriff via VPN ist mir nämlich letztens meine Anwesenheitskontrolle aus dem Takt geraten, da für Unifi die Devices dann zwar connected sind - aber SSID bleibt weiterhin auf "UNDEFINED". Und da ich gelegentlich mit dem Handy via VPN zugreife, halte ich die Lösung für SSID für mich für "besser".

Unabhängig davon werde ich kommende Tage nochmal auf die jeweils neueste Version gehen (unificontroller / unifiswitch) und dann einen neuen Versuch wagen.

Gruß, Tom
FHEM: debian Intel-NUC / 25 x MAX!, 15 x HM-bidcos, MQTT, 3 x 1wire, 20 x Shelly, 20 x Tasmota, 12 x Yeelight, Opentherm-GW, Espeasy, alexa-fhem, kodi, unifi, musiccast, ...

Wuehler

Hi,

Das Unifi-Modul redet im Log erst ab verbose 3.
Dann kann ich verfolgen, was in welcher Reihenfolge passiert.
Falls Unterstützung notwendig nochmal Log erzeugen bitte.

VG,
Dirk

Motivierte linke Hände

Hi Dirk - zur Abwechselung mal ein anderes Problemchen beim Block von Clients über das Modul:

2018.05.30 09:33:11 3: set unifi blockClient ASUS_Zenbook : unifi: Unknown client 'ASUS_Zenbook' in command 'blockClient', choose one of: all,memopad,iPad_Pro,sonykdl-32w705c,CvB-MBPro-7,iPhone-X,raspberrypi,iPhone_SE,harmonyhub-wohn,harmonyhub-gast

Das ist schade. Ein list auf unifi (stark gekürzt):

Internals:
   DEF        192.168.1.106 8443 crypt:2e045c0859 crypt:330b5803590150347c722c
   NAME       unifi
   NOTIFYDEV  global
   NR         914
   NTFY_ORDER 50-unifi
   STATE      connected
   TYPE       Unifi
   READINGS:
[...]
     2018-05-28 23:18:53   ASUS_Zenbook    disconnected
     2018-05-28 23:18:39   ASUS_Zenbook_accesspoint Wohnzimmer
     2018-05-28 23:18:39   ASUS_Zenbook_essid TESTTEST
     2018-05-28 23:18:39   ASUS_Zenbook_hostname DESKTOP-1FQI71D
     2018-05-28 23:18:39   ASUS_Zenbook_last_seen 2018-05-28 23:13:25
     2018-05-28 23:18:39   ASUS_Zenbook_snr 40
     2018-05-28 23:18:39   ASUS_Zenbook_uptime 421
[...]


Ja, das Gerät dürfte sich nicht in der Liste der in den letzten 24 Stunden gesehenen Geräte befinden. Aber blocken kann man es grundsätzlich schon. Was muss ich denn machen, damit das mit dem Modul mit allen dem Controller bekannten Geräten funktioniert?

Danke, Christian
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Wuehler

Hi,
Als schnellen Workaround kommentiere die Zeile im Modul aus, in der die Prüfung stattfindet. Könnte evtl. ausreichen.

VG,
Dirk

Motivierte linke Hände

Als Quickfix half ein Einschalten des Geräts gefolgt von einem Neustart von fhem. Dann kannte unifi das Gerät wieder.

Ich habe das allerdings mal mit einem anderen Gerät getestet, das schon länger offline war.

2018.05.30 10:58:51 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/74_Unifi.pm line 1441.

Geblockt wird es nicht.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Wuehler

Mal eine andere Frage dazu: Wie ist eigentlich der Automatisierungs-UseCase? Einfach nur die Oberfläche von Unifi durch FHEM abzulösen wird immer wieder zu Problemen führen.

Motivierte linke Hände

Ich habe kein Interesse an einer Ablösung der Oberfläche. Hier geht es eher darum, event- oder zeitbezogen den Zugang einzelner Geräte zu blockieren, so dass z.B. die Kinder nicht dauernd an irgendwelchen Geräten im Internet hängen.

Da wird z.B. für diverse (Eltern-)Geräte einfach der Netzzugang geblockt, wenn die Eltern aus dem Haus sind. Die Kleinen sind ja ansonsten recht findig, wenn es darum geht, Youtube & co. gucken zu können, das Zeitkontingent am eigenen Gerät aber aufgebraucht ist.

Außerdem wird zu bestimmten Zeiten (abhängig von Schultag/Wochenende/Feiertag/Ferien - kennt fhem ja alles) der Netzzugang für Kindergeräte zu unterschiedlichen Zeiten für die Nächte unterbrochen.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Eisix

Hallo,

ich nehme mal an du sprichst vom ganzen Modul!
Denke es macht keinen Sinn die Unifi Oberfläche Abzulösen.  Ich habe 4 Switches, 3 AP's im Einsatz und meine UseCases sind:

- Guest Network an/aus und vouchers verteilen
- Anwesenheit über Handy im Wlan
- AP's nachts in bestimmten Bereichen ausschalten
- Neustart von Poe devices
- Status von Wlan Geräten erfassen (z.B. Laptop an/aus)
- Zeitliches blockieren von Geräten
- updates der Unifi Geräte zu einer bestimmten Zeit und Reichenfolge
- Netzwerktraffic erfassen

Mehr fällt mir momentan nicht ein.

Gruß
Eisix




Wuehler

Danke euch. Kann ich mir jetzt besser vorstellen was ihr macht und dadurch besser schauen wie man ed umsetzt.  ;)
Muss mal schauen wie man das umsetzen kann. Aber dsnn auf Basis des Moduls mit UnifiSwitch.

Wuehler

@Christian: Habe jetzt nochmal in den Code schauen können. Ist das Problem bei dir reproduzierbar? Das kann so eigentlich nur auftreten (wenn ich das auf die Schnelle richtig verstanden habe) wenn du zwischndurch mal clear clientData aufgerufen hast. Dann bleiben die Readings. Die eigentlichen Daten liegen aber intern. Taucht das zenbook nochmal uinter den internals auf?

Gruß,
Dirk

Motivierte linke Hände

Hi Dirk, clear clientData habe ich schon lange nicht mehr aufgerufen. Ich habe aber mal nachgeforscht. Das Problem scheint zu sein, dass 2 der zu blockenden Geräte im Controller nicht unter "Clients", sondern (nur?) unter Insights als "Known Clients" aufgeführt sind. Das passiert wohl, wenn sie gerade nicht/schon länger (Stundenbereich) nicht mehr im WLAN angemeldet waren.

74_Unifi scheint auf die Liste der (verbundenen) Clients zuzugreifen, nicht die der known clients. Entsprechend taucht das Zenbook (wie auch ein anderes Gerät) auch aktuell zwar in den Readings auf, beim List aber nicht in dem "clients:" Abschnitt. Das ist insofern deckungsgleich mit dem Controller: Dort tauchen die beiden Geräte auch nicht unter "Clients" auf, aber unter "insights" als "known clients" (wo man sie ja auch block etc. kann).

Mein "list unifi" produziert übrigens 4114 Zeilen. Davon 2999 Hashes unter "events" (vermutlich wegen der vielen auch im Controller gespeicherten Events). Das macht ein Posten des kompletten Lists etwas unhandlich. Aber ich kopiere gerne raus, was Du brauchst.

Grüße, Christian

FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Wuehler

Hi Christian,

Falls sich kein anderer Weg findet kann ich einnen neuen setter einbauen:
set Unifi blockClientByMac <mac>
Gleiches zum Unblock natürlich auch.
Das müsste die Unifi-API hergeben und deine Automatisierungsidee ermöglichen.

VG,
Dirk

Motivierte linke Hände

Ja, über die MACs funktioniert das auch mit der php-API, die ich für meine Skripte nutze, sowie mit der von Ubiquiti verfügbaren bash API.

Wenn ansonsten niemand damit ein Problem hat, brauchst Du das Modul aber für mich nicht umzubauen. Ich kann mir prima mit den Skripten helfen.
FHEM 6 in einer KVM VM mit Ubuntu
HM-CFG-USB2, 2xHM-CFG-HMLAN, HM-HMUARTLGW mit 100+ HomeMatic Devices, Geofencing, Fritzbox, Unifi, HUE, Harmony-Hub, Denon-Receiver-Modul, Calendar, GardenaSmartDevice, Shelly, MQTT (zigbee2mqtt, Tasmota und Shelly) und ein wenig 1Wire.

Wuehler

Moin,

Das kann ich schon recht einfach umbauen, so dass man set Unifi blockClient auch mit einer mac aufrufen kann. Über die Oberfläche hätte man weiterhin die Auswahl der aktuellen clients beim Namen, kann die Funktion aber auch mit mac aufrufen.
Muss mich aber erstmal um meinen raspi des UnifiControllers kümmern. Der zickt seit gestern. Vermutlich die SD-Karte.
Grüße,
Dirk