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

rapster

Die SSID Liste in Fhem wird bei jedem Modul-Update aktualisiert (Beim Start und in dem konfigurierten Update-Intervall).
Damit in FHEMWEB allerdings die SSIDs, APs, usw. aus der select-Liste aktualisiert werden, muss der Browser mit F5 neu geladen werden.
Bzw. wenn ein reading kein Event auslöst ist ebenfalls F5 notwendig um es zu aktualisieren.

clearOverrides sollte funktionieren, habe ich gerade nochmal ausprobiert. (Es muss der richtige AP gewählt sein)

i.M. wird allerdings (noch) nicht geprüft ob der Befehl erfolgreich vom AP angenommen wurde, bzw. der AP überhaupt erreichbar ist (nur ob der controller den Befehl erfolgreich empfangen hat), deswegen muss gewartet werden bis der entsprechende AP wieder state=ok hat.

Im Anhang eine Version ohne die zwei Perl Meldungen.

Gruß

Eisix

Log Einträge sind weg.

Denke ich habe jetzt rausgefunden was passiert.
Ich habe auf 1 AP die 2G-Gast-SSID abgeschaltet, provisioning läuft durch alles korrekt abgeschaltet. Nun wollte ich die 5G-Gast-SSID abschalten. Provisioning läuft durch, 5G-Gast abgeschaltet, 2G-Gast wieder an. Der override vom ersten Abschalten wird durch das zweite provisioning wieder zurückgesetzt. In der jetzigen Form kann man also nur einen Override pro AP setzen. Kannst du das reproduzieren?

Gruß
Eisix

rapster

Super dann klappt das soweit schonmal :-)

Ja, viel mitdenken tun die neuen Funktionen bisher leider noch nicht.

Im Anhang eine Version in der zumindest schonmal mehrere SSID's pro AP auf einmal deaktiviert werden können.
> Das funktioniert i.M. nur konsistent wenn am AP keine Overrides gesetzt sind (evtl. vor disableSsid ein clearOverrides schicken)

In der nächsten Version gibt es dann den neuen setter "enableSsid" mit welchem dann einzeln SSIDs zu und per disableSsid abgeschaltet werden können :)

Eisix

Wäre es nicht sinnvoller 1 SSID auf allen Frequenzen pro AP abschalten zu können?
Oder generell SSID abschalten zu können wie bei "settings -> Wireless Networks -> edit -> Enable Wireless Network

rapster

Sinnvoll ist es :-)

Über die Funktion (enable this wireless network) welche der Controller in den Settings anbietet, ist es ziemlich schwierig zu implementieren, auch habe ich bedenken dass es hier nicht sehr update-stabil sein wird.
Vorteile sehe ich keine, werde das selber im Modul einbauen, das Verhalten & Ergebniss sollte das selbe sein, auch wenn es der Controller intern auf ein andres Stück Papier notiert :)

Denke da zusätzlich an das
disableSsid  <AP>_ALL_<SSID>
disableSsid  ALL_ALL_<SSID>
disableSsid ALL_2G|5G_<SSID>
disableSsid ALL_ALL_ALL
disableSsid ALL_2G|5G_ALL

Eisix

Wie ist mir eigentlich egal. Gibt halt ne Riesen Liste mit mehreren APs und SSIDs. ;)
Wäre auch nicht schlecht wenn man ein Passwort setzen/ändern könnte. Entweder SSID oder simple Passwort bei gehst wlan.

rapster

Weitere halbgare Version für Testwillige ;)

disableSsid sollte schonmal komplett funktionieren. (ohne die Notwendigkeit von clearOverrides)
enableSsid zeigt zwar schon ausgeschaltete SSIDs an, ist aber noch ohne Funktion, wieder Einschalten i.M. über clearOverrides am AP.

Edit: PW ändern könnte einfach sein, kann ich mir mal anschauen.

Eisix

Ergibt über 30 Kombinationen um SSIDs abzuschalten. Mein Bildschirm wird zu klein. Wenn ich eine SSID auf einem AP abschalten will werden alle SSIDs abgeschaltet. Da stimmt was nicht. Das gleiche als ich 1 SSID auf allen APs abschalten wollte, alle SSIDs aus.


chrisko

Hallo Zusammen,
habe seit kurzem Unifi im Betrieb und bin mit der Funktion für mich zufrieden.
Ich habe im Log jedoch dieses Verhalten festgestellt: (Vers. 74_Unifi.pm 11990 2016-08-19 18:11:24Z)

2016.11.20 02:19:07 1: Perfmon: possible freeze starting at 02:19:06, delay is 1.491
2016.11.20 02:19:35 1: Perfmon: possible freeze starting at 02:19:34, delay is 1.194
2016.11.20 02:19:38 1: Perfmon: possible freeze starting at 02:19:37, delay is 1.194
2016.11.20 02:19:41 1: Perfmon: possible freeze starting at 02:19:40, delay is 1.183
2016.11.20 02:20:04 1: Perfmon: possible freeze starting at 02:20:03, delay is 1.437
2016.11.20 02:20:09 1: Perfmon: possible freeze starting at 02:20:08, delay is 1.045
2016.11.20 02:20:12 1: Perfmon: possible freeze starting at 02:20:11, delay is 1.038
2016.11.20 02:20:35 1: Perfmon: possible freeze starting at 02:20:34, delay is 1.139
2016.11.20 02:20:38 1: Perfmon: possible freeze starting at 02:20:37, delay is 1.144
2016.11.20 02:20:41 1: Perfmon: possible freeze starting at 02:20:40, delay is 1.124
2016.11.20 02:21:06 1: Perfmon: possible freeze starting at 02:21:05, delay is 1.018
2016.11.20 02:21:09 1: Perfmon: possible freeze starting at 02:21:08, delay is 1.103
2016.11.20 02:21:32 1: Perfmon: possible freeze starting at 02:21:31, delay is 1.437
2016.11.20 02:21:35 1: Perfmon: possible freeze starting at 02:21:34, delay is 1.4
2016.11.20 02:21:38 1: Perfmon: possible freeze starting at 02:21:37, delay is 1.434

Ist dieses bei Euch auch normal?
Gibt es eine Möglichkeit dieses abzustellen oder ist es ein Bug?
Sobald ich die Definition: "define myunifi Unifi 192.168.1.180 8443 xxx yyy 30 default 4" deaktiviere, verschwinden auch die freezes.

Viele Grüße,
Chris

rapster

Mach mal bitte ein "attr myunifi verbose 5" und schau mal ob in den Log etwas aussagekräftigeres zu sehen ist.

chrisko

Hmm.. ich bekomme da natürlich viel mehr Meldungen. Auffällig sind für mich die ProcessUpdates, welche mehr als 10 Sekunden dauern wobei ich nicht weiß, ob es normale Werte sind oder nicht.
Erkennst Du an der Stelle etwas?

2016.11.20 12:20:31 1: Perfmon: possible freeze starting at 12:20:30, delay is 1.121
2016.11.20 12:20:31 5: myunifi (Unifi_GetClients_Receive) - executed.
2016.11.20 12:20:31 5: myunifi (Unifi_GetClients_Receive) - state:'ok'
2016.11.20 12:20:31 5: myunifi (Unifi_ProcessUpdate) - executed after 10.9215 seconds.
2016.11.20 12:20:31 5: myunifi (Unifi_SetHealthReadings) - executed.
2016.11.20 12:20:31 5: myunifi (Unifi_SetClientReadings) - executed.
2016.11.20 12:20:31 5: myunifi (Unifi_SetAccesspointReadings) - executed.
2016.11.20 12:20:31 5: myunifi (Unifi_ProcessUpdate) - finished after 10.9546 seconds.
2016.11.20 12:20:43 5: myunifi (Unifi_DoUpdate) - executed.
2016.11.20 12:20:43 5: myunifi (Unifi_GetEvents_Send) - executed.
2016.11.20 12:20:45 1: Perfmon: possible freeze starting at 12:20:44, delay is 1.058
2016.11.20 12:20:45 5: myunifi (Unifi_GetEvents_Receive) - executed.
2016.11.20 12:20:45 5: myunifi (Unifi_GetEvents_Receive) - state:'ok'
2016.11.20 12:20:45 5: myunifi (Unifi_GetWlans_Send) - executed.
2016.11.20 12:20:46 5: myunifi (Unifi_GetWlans_Receive) - executed.
2016.11.20 12:20:46 5: myunifi (Unifi_GetWlans_Receive) - state:'ok'
2016.11.20 12:20:46 5: myunifi (Unifi_GetAccesspoints_Send) - executed.
2016.11.20 12:20:48 1: Perfmon: possible freeze starting at 12:20:47, delay is 1.236
2016.11.20 12:20:48 5: myunifi (Unifi_GetAccesspoints_Receive) - executed.
2016.11.20 12:20:48 5: myunifi (Unifi_GetAccesspoints_Receive) - state:'ok'
2016.11.20 12:20:48 5: myunifi (Unifi_GetHealth_Send) - executed.
2016.11.20 12:20:49 5: myunifi (Unifi_GetHealth_Receive) - executed.
2016.11.20 12:20:49 5: myunifi (Unifi_GetHealth_Receive) - state:'ok'
2016.11.20 12:20:49 5: myunifi (Unifi_GetClients_Send) - executed.
2016.11.20 12:20:51 1: Perfmon: possible freeze starting at 12:20:50, delay is 1.244
2016.11.20 12:20:51 5: myunifi (Unifi_DoUpdate) - executed.
2016.11.20 12:20:51 5: myunifi (Unifi_GetAccesspoints_Send) - executed.
2016.11.20 12:20:52 5: myunifi (Unifi_GetClients_Receive) - executed.
2016.11.20 12:20:52 5: myunifi (Unifi_GetClients_Receive) - state:'ok'
2016.11.20 12:20:52 5: myunifi (Unifi_GetUnarchivedAlerts_Send) - executed.
2016.11.20 12:20:54 1: Perfmon: possible freeze starting at 12:20:53, delay is 1.166
2016.11.20 12:20:54 5: myunifi (Unifi_GetAccesspoints_Receive) - executed.
2016.11.20 12:20:54 5: myunifi (Unifi_GetAccesspoints_Receive) - state:'ok'
2016.11.20 12:20:54 5: myunifi (Unifi_GetHealth_Send) - executed.
2016.11.20 12:20:55 5: myunifi (Unifi_GetUnarchivedAlerts_Receive) - executed.
2016.11.20 12:20:55 5: myunifi (Unifi_GetUnarchivedAlerts_Receive) - state:'ok'
2016.11.20 12:20:55 5: myunifi (Unifi_ProcessUpdate) - executed after 12.0988 seconds.
2016.11.20 12:20:55 5: myunifi (Unifi_SetHealthReadings) - executed.
2016.11.20 12:20:55 5: myunifi (Unifi_SetClientReadings) - executed.
2016.11.20 12:20:55 5: myunifi (Unifi_SetAccesspointReadings) - executed.
2016.11.20 12:20:55 5: myunifi (Unifi_ProcessUpdate) - finished after 12.1104 seconds.
2016.11.20 12:20:55 5: myunifi (Unifi_GetHealth_Receive) - executed.
2016.11.20 12:20:55 5: myunifi (Unifi_GetHealth_Receive) - state:'ok'
2016.11.20 12:20:55 5: myunifi (Unifi_GetUnarchivedAlerts_Send) - executed.
2016.11.20 12:20:57 1: Perfmon: possible freeze starting at 12:20:56, delay is 1.11
2016.11.20 12:20:57 5: myunifi (Unifi_GetUnarchivedAlerts_Receive) - executed.
2016.11.20 12:20:57 5: myunifi (Unifi_GetUnarchivedAlerts_Receive) - state:'ok'
2016.11.20 12:20:57 5: myunifi (Unifi_GetClients_Send) - executed.
2016.11.20 12:20:58 5: myunifi (Unifi_GetClients_Receive) - executed.
2016.11.20 12:20:58 5: myunifi (Unifi_GetClients_Receive) - state:'ok'
2016.11.20 12:20:58 5: myunifi (Unifi_GetEvents_Send) - executed.
2016.11.20 12:21:00 1: Perfmon: possible freeze starting at 12:20:59, delay is 1.071
2016.11.20 12:21:00 5: myunifi (Unifi_GetEvents_Receive) - executed.
2016.11.20 12:21:00 5: myunifi (Unifi_GetEvents_Receive) - state:'ok'
2016.11.20 12:21:00 5: myunifi (Unifi_GetWlans_Send) - executed.
2016.11.20 12:21:01 5: myunifi (Unifi_GetWlans_Receive) - executed.
2016.11.20 12:21:01 5: myunifi (Unifi_GetWlans_Receive) - state:'ok'
2016.11.20 12:21:01 5: myunifi (Unifi_ProcessUpdate) - executed after 10.5583 seconds.
2016.11.20 12:21:01 5: myunifi (Unifi_SetHealthReadings) - executed.
2016.11.20 12:21:01 5: myunifi (Unifi_SetClientReadings) - executed.
2016.11.20 12:21:01 5: myunifi (Unifi_SetAccesspointReadings) - executed.
2016.11.20 12:21:01 5: myunifi (Unifi_ProcessUpdate) - finished after 10.5985 seconds.
2016.11.20 12:21:15 5: myunifi (Unifi_DoUpdate) - executed.
2016.11.20 12:21:15 5: myunifi (Unifi_GetClients_Send) - executed.
2016.11.20 12:21:17 1: Perfmon: possible freeze starting at 12:21:16, delay is 1.153
2016.11.20 12:21:17 5: myunifi (Unifi_GetClients_Receive) - executed.
2016.11.20 12:21:17 5: myunifi (Unifi_GetClients_Receive) - state:'ok'
2016.11.20 12:21:17 5: myunifi (Unifi_GetUnarchivedAlerts_Send) - executed.
2016.11.20 12:21:18 5: myunifi (Unifi_GetUnarchivedAlerts_Receive) - executed.
2016.11.20 12:21:18 5: myunifi (Unifi_GetUnarchivedAlerts_Receive) - state:'ok'
2016.11.20 12:21:18 5: myunifi (Unifi_GetAccesspoints_Send) - executed.
2016.11.20 12:21:20 1: Perfmon: possible freeze starting at 12:21:19, delay is 1.104
2016.11.20 12:21:20 5: myunifi (Unifi_GetAccesspoints_Receive) - executed.
2016.11.20 12:21:20 5: myunifi (Unifi_GetAccesspoints_Receive) - state:'ok'
2016.11.20 12:21:20 5: myunifi (Unifi_GetHealth_Send) - executed.


rapster

Ich bin mir nicht sicher woran das liegt, auf was fuer einer HW ist fhem und der controller installiert?

Die Abfragen an den Controller dauern extrem lange, bei dir knappe 11 Sekunden, irgendwas stimmt da nicht.

Habe es nie auf langsamer HW getestet, auf meinem System aber immer zweistellige ms Zeiten gehabt.

chrisko

Beides läuft auf dem gleichen Raspberry pi 2 Model B.
Auf welcher H/W läufts bei Dir?

rapster

normale pc, kein ARM :)

Probier mal ob es was bringt wenn du statt der externen IP 192.168.1.180  die Loopback 127.0.0.1 bei der Fhem-Definition verwendest.

Wie schauts mit der Auslastung des Pi aus?

Hast du die Unifi-Controller Optimierungen einige Seiten weiter vorne durchgeführt, damit der Controller nicht mehr das Log fluted?

chrisko

Ja, das gleiche Verhalten auch bei der Loopback Adresse.
Ich habe eben mit top die Auslastung überprüft:

top - 19:32:08 up 7 min,  1 user,  load average: 0.43, 0.35, 0.19
Tasks: 113 total,   2 running, 111 sleeping,   0 stopped,   0 zombie
%Cpu(s): 25.8 us,  0.8 sy,  0.0 ni, 73.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem:    947736 total,   437596 used,   510140 free,    21500 buffers
KiB Swap:        0 total,        0 used,        0 free.   191800 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND   
  583 root      20   0 1269460  84940  13720 S  85.0  9.0   2:27.89 java       
  446 fhem      20   0   46412  41172   6072 S  18.2  4.3   0:33.07 perl       
  738 pi        20   0    5112   2496   2140 R   0.7  0.3   0:03.03 top       
  546 pi        20   0  141252  39004  17712 S   0.3  4.1   0:06.89 homebridge
  561 snmp      20   0   12796   5280   3608 S   0.3  0.6   0:00.77 snmpd     
  610 pi        20   0   11480   3336   2728 S   0.3  0.4   0:00.15 sshd       
  643 root      20   0  250320  96932  65500 S   0.3 10.2   0:04.18 mongod     
  918 root      20   0       0      0      0 S   0.3  0.0   0:00.01 kworker/u8+
    1 root      20   0    5424   3788   2728 S   0.0  0.4   0:05.75 systemd   
    2 root      20   0       0      0      0 S   0.0  0.0   0:00.00 kthreadd   
    3 root      20   0       0      0      0 S   0.0  0.0   0:00.03 ksoftirqd/0
    5 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:+
    6 root      20   0       0      0      0 S   0.0  0.0   0:00.07 kworker/u8+
    7 root      20   0       0      0      0 R   0.0  0.0   0:00.31 rcu_sched 
    8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh     
    9 root      rt   0       0      0      0 S   0.0  0.0   0:00.01 migration/0
   10 root      rt   0       0      0      0 S   0.0  0.0   0:00.00 migration/1

Hier schwankt Java allerdings zwischen 1% und 88%...

Optimierungen am Unifi controller habe ich noch nicht vorgenommen. Ich werde mal ein paar Seiten zurückblättern und mal schauen was es zu optimieren gibt

Edit:
habe auf page 12 den vorgeschlagenen Eintrag:
debug.device=warn
debug.mgmt=warn
debug.system=warn
in der /var/lib/unifi/system.properties vorgenommen, leider ohne Änderung :-(