Autor Thema: Modul 74_UnifiClient  (Gelesen 5852 mal)

Offline Wuehler

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 658
Modul 74_UnifiClient
« am: 23 April 2019, 07:04:35 »
Hallo zusammen,

ich habe begonnen ein Modul UnifiClient zu schreiben, das einen client nach einer definierbaren Online-Zeit blocked und am nächsten Tag wieder unblocked.
Definieren muss man aktuell noch manuell:
define myClient UnifiClient <clientName im Unifi-Modul>
Es werden nach dem nächsten Update des Unifi-Moduls im UnifiClient alle Informationen als Readings angezeigt.

Es gibt die Attribute:
  • maxOnlineMinutesPerDay: Zeit in Minuten, die der Client an einem Tag online sein darf.
  • thresholdBytesPerMinute: Bytes, die pro Minute verbraucht werden dürfen, ohne dass Onlinezeit angerechnet wird. Default: 75000
  • blockingUsergroup: Wenn gesetzt wird der client nicht geblockt sondern in die angegebene Benutzergruppe geschoben. Diese sollte einen sehr geringen up- und down-stream haben.

Es gibt einen set-Befehl (set usergroup <name>) zum ändern der Benutzergruppe des clients.

Es gibt einen neuen set-Befehl im Unifi-Modul:
- refreshUsergroups: Usergroups werden nur einmalig beim define abgefragt, nicht in jedem Update-Zyklus. Hiermit können Usergroups aktualisiert werden.



ich bin gespannt auf euer Feedback:
- Bezeichnungen verständlich?
- passt der Threshold?
- welche Funktionen fehlen?

Ihr müsst alle drei Module des Anhangs installieren.

VG,
Dirk

Edit: Anhänge entfernt, da das Modul im normalen Update enthalten ist.
« Letzte Änderung: 20 Mai 2019, 21:19:58 von Wuehler »

Offline Eisix

  • Hero Member
  • *****
  • Beiträge: 1082
Antw:Modul 74_UnifiClient
« Antwort #1 am: 23 April 2019, 14:57:54 »
Hallo Wuehler,

endlich kann ich meine Kinder ohne viel Aufwand quälen  ;D

Zwei Attribute fehlen noch:

maxOnlineMinutesPerWeek
maxOnlineMinutesPerMonth

Gruß
Eisix

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5791
Antw:Modul 74_UnifiClient
« Antwort #2 am: 23 April 2019, 22:13:08 »
Wie funktioniert das technisch? Am blocken stört in der Regel die ständige Provisionierung aller Access Points.

Offline Wuehler

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 658
Antw:Modul 74_UnifiClient
« Antwort #3 am: 24 April 2019, 06:43:06 »
Ja, geht nur mit blocken. Alternativ für Besitzer eines USG könnte man eine Firewallregel erstellen, dann würden APs nicht provisioniert, nur das USG. Da nicht jeder ein USG hat würde ich das Blocken bevorzugen.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20834
Antw:Modul 74_UnifiClient
« Antwort #4 am: 24 April 2019, 08:19:50 »
wie wäre es optional die betroffenen clients zeitweise in eine andere benutzergruppe mit sehr stark eingeschränkter bandbreite zu schieben? 5k up und down machen das gerät interaktiv eigentlich unbenutzbar.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Wolle02

  • Sr. Member
  • ****
  • Beiträge: 571
Antw:Modul 74_UnifiClient
« Antwort #5 am: 24 April 2019, 08:29:39 »
Ja, geht nur mit blocken. Alternativ für Besitzer eines USG könnte man eine Firewallregel erstellen, dann würden APs nicht provisioniert, nur das USG. Da nicht jeder ein USG hat würde ich das Blocken bevorzugen.

Könnte man das eventuell mit einem Attribut steuerbar machen, ob Firewallregel oder Blocken? Beim Blocken habe ich das Problem, dass bei einer Neuprovisionierung des AP aus mir nicht ganz verständlichen Gründen mein FHEM für diese Zeit blockiert.

Offline Wuehler

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 658
Antw:Modul 74_UnifiClient
« Antwort #6 am: 24 April 2019, 09:10:41 »
Die Idee von justme finde ich interessant. Leider kann man Usergroups nicht in Firewallregeln verwenden oder bestimmten Netzwerken zuweisen (zumindest habe ich das eben nicht gefunden).
Wenn ich es von unterwegs eben richtig gesehen habe führt eine Änderung der Usergroup nicht zu einer Provisionierung. Wäre ja vorteilhaft.

So wie es aussieht wird es dann irgendwann ein Attribut zur Auswahl der Block-Methode (block, Firewall, Usergroup) geben.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20834
Antw:Modul 74_UnifiClient
« Antwort #7 am: 24 April 2019, 10:09:23 »
ja. es wird bei ändern der usergroup nicht neu provisioniert.

hab gerade gesehen das man inzwischen sogar bis auf 2kbps runter kann.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline Wuehler

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 658
Antw:Modul 74_UnifiClient
« Antwort #8 am: 25 April 2019, 00:06:22 »
Nabend,

Ich habe die Anregung mit den Benutzergruppen umgesetzt. Ist noch nicht ganz durchgetestet und der Code kann auch noch optimiert werden, aber sieht bisher vielversprechend aus. Wer also Zeit und Lust hat sich als Beta-Tester zu beschäftigen:
Im ersten Post ein Update der Module.

Änderungen:
UnifiClient:
- Attribut blockingUsergroup: Wenn gesetzt wird der client nicht geblockt sondern in die angegebene Benutzergruppe geschoben. Diese sollte einen sehr geringen up- und down-stream haben.
- set usergroup

Unifi:
- set refreshUsergroups: Aufrufen, wenn man im UC die Benutzergruppen geändert hat

UnifiSwitch:
- Kompatibilität sicherstellen. Keine inhaltlichen Änderungen

VG,
Dirk

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5791
Antw:Modul 74_UnifiClient
« Antwort #9 am: 25 April 2019, 14:53:13 »
wie wäre es optional die betroffenen clients zeitweise in eine andere benutzergruppe mit sehr stark eingeschränkter bandbreite zu schieben? 5k up und down machen das gerät interaktiv eigentlich unbenutzbar.

Das ist aber dann nur für ein Netzwerk gültig, das als Gastnetzwerk definiert ist. Für andere Netzwerke ist die Usergruppe und deren Bandbreite unerheblich und wird nicht angewendet.

https://community.ubnt.com/t5/UniFi-Updates-Blog/UniFi-5-0-7-is-released/ba-p/1587040

Und das gilt noch immer. Ich habe es eben getestet.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20834
Antw:Modul 74_UnifiClient
« Antwort #10 am: 25 April 2019, 15:06:16 »
das funktioniert bei mir im ganz normalen (nicht-gast) netz.


dein link zeigt auf einen post der fast drei jahre alt ist und ich kann dort nichts zu benutzerguppen oder bandbreite finden.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5791
Antw:Modul 74_UnifiClient
« Antwort #11 am: 25 April 2019, 15:07:48 »

dein link zeigt auf einen post der fast drei jahre alt ist und ich kann dort nichts zu benutzerguppen oder bandbreite finden.

Zitat
Speed limits for wireless clients only work on guest VAPs. Non-guest VAPs will not enforce speed limits. This is to help with overall throughput. Please see our original post HERE. If you need to have enforced speed limits on non-guest VAPs then you should use firmware 3.4.19 (do note that you will lose some features when changing to 3.4.19). We've been working on a fix for this and will include it as soon as possible.


Und ich kann bei mir keine Veränderung zum Status von vor 3 Jahren feststellen. Und ja, ich bin bei der Firmware und beim Controller aktuell.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20834
Antw:Modul 74_UnifiClient
« Antwort #12 am: 25 April 2019, 15:22:31 »
stimmt steht da. hatte nicht nach speed gesucht. nur nach user und bandwidh :). aber als bug. nicht als feature.

die 'offizielle' beschreibung des features hier: https://help.ubnt.com/hc/en-us/articles/204911354-UniFi-How-to-Set-Traffic-Bandwidth-Limits sagt auch nichts zu einer einschränkung auf gast netze.

ich verwende das schon ziemlich lange und es hat immer funktioniert.

jetzt wäre die frage welche ap modelle du verwendest und welche firmware?

meine sind uap-ac-pro, uap-mesh-pro, ap-ac-inwall, uap-ac-mesh und noch einen alten uap-pro aktuell mit 4.0.32, in den letzen monaten und jahren fast immer die jeweils neueste.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

Offline marvin78

  • Developer
  • Hero Member
  • ****
  • Beiträge: 5791
Antw:Modul 74_UnifiClient
« Antwort #13 am: 25 April 2019, 15:26:28 »
Ich verwende verschiedene Modelle:

UniFi AP-nanoHD
UniFi AP-AC-Mesh
UniFi AP-HD
UniFi AP-AC-LR

Jeweils mehrere, außer beim HD

Firmware ist aktuell: 4.0.21.9965

Idee: Ggf. muss man erst alle ACs erst provisionieren, nachdem die neue Gruppe mit neuer Bandbreite angelegt wurde? Genau das wollte ich vermeiden.

Aktuell ist es hier so: Gebe ich meinen Smartphone eine Usergroup mit 2kpbs Bandbreite, kann ich weiter ohne Einschränkung das Netz verwenden. Auch ein Neu-Verbinden ändert nichts daran.

Offline justme1968

  • Developer
  • Hero Member
  • ****
  • Beiträge: 20834
Antw:Modul 74_UnifiClient
« Antwort #14 am: 25 April 2019, 15:32:56 »
ich habe die gruppe 'useless' mit 5kb up und down schon ewig. wenn ich einen client dort rein schiebe greift es sofort. ohne irgendetwas zu provisionieren. ich sehe auf dem iPhone sogar direkt wie der laufende speedtest fast sofort langsamer wird.

auch beim youtube schauen läuft noch der cache leer und das war es dann.


vorhin habe ich die gruppe von 5kb auf 2kb runter gesetzt und auch da wurde nichts provisioniert. und sie greift immer noch sofort. ob aktuell 2 oder 5 verwendet werden kann ich aber nicht sagen. beides ist so langsam das spendetest beim direkten laufen lassen eine fehlende verbindung anmeckert.
FHEM5.4,DS1512+,2xCULv3,DS9490R,HMLAN,2xRasPi
CUL_HM:HM-LC-Bl1PBU-FM,HM-LC-Sw1PBU-FM,HM-SEC-MDIR,HM-SEC-RHS
HUEBridge,HUEDevice:LCT001,LLC001,LLC006,LWL001
OWDevice:DS1420,DS18B20,DS2406,DS2423
FS20:fs20as4,fs20bs,fs20di
AKCP:THS01,WS15
CUL_WS:S300TH

 

decade-submarginal