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


choenig

Hi Dirk,

bei der Analyse der connected/disconnected-Problematik beim AP-Wechsel (siehe anderer Thread) ist mir folgendes aufgefallen:

--- 74_Unifi.pm.bak     2020-11-09 21:02:29.129834672 +0100
+++ 74_Unifi.pm 2020-11-10 09:27:09.636996990 +0100
@@ -1578,7 +1578,7 @@
                                # mac-Adresse in den Readings versteckt (statet mit .) speichern, um nach einem Neustart den client restoren zu knnen
                                readingsBulkUpdate($hash,".".$clientName."_mac",$clientRef->{mac}) if defined $clientRef->{mac};
                        }
-                       elsif ((!defined($hash->{READINGS}->{$clientName})) || (defined($hash->{READINGS}->{$clientName}) && $hash->{READINGS}->{$clientName} ne "disconnected")) {
+                       elsif ((!defined($hash->{READINGS}->{$clientName})) || (defined($hash->{READINGS}->{$clientName}) && $hash->{READINGS}->{$clientName}->{VAL} ne "disconnected")) {
                                Log3 $name, 5, "$name ($self) - Client '$clientName' previously connected is now disconnected.";
                                if(defined $clientRef->{blocked} && $clientRef->{blocked} eq JSON::true){
                                        $blockedClients.=$clientName.',';


Ohne das {VAL} werden alle disconnected devices immer wieder auf disconnected gesetzt. Das behebt jedoch nicht das connected/disconnected Problem.

LG
Christian

bogi999

Da der Connect zur UDM ja nun klappt ein kurzer Hinweis von mir zu kommenden Firmwares für die Gen2 Cloud-Keys.
Ubiquiti wird auch hier auf Unifi-OS Umstellen, die erste Beta ist im Release Channel aufgetaucht.
Auch im Hinblick auf zentrales User-Management.
Ich denk, es sieht da dann ebenso aus.
Ich schau es mir am WE mal an.

fhemacht

Ich hab heute mal mein FEHM geupdatet.
Und das Unif Modul wurde auf V 3.5.0 gezogen.

Im Log hab ich folgenden Error:

2020.11.12 19:06:28 1: PERL WARNING: Use of uninitialized value in string eq at ./FHEM/74_Unifi.pm line 919.
2020.11.12 19:06:28 1: stacktrace:
2020.11.12 19:06:28 1:     main::__ANON__                      called by ./FHEM/74_Unifi.pm (919)
2020.11.12 19:06:28 1:     main::Unifi_Login_Receive           called by FHEM/HttpUtils.pm (639)
2020.11.12 19:06:28 1:     main::__ANON__                      called by fhem.pl (752)


Verbindung mit UDM-Pro klappt aber

Frank_Huber

Hi ho!

Im Wiki gibt es ja das Beispiel für eine Benachrichtigung bei einem neuen Clienten.
Ich habe mir das noch etwas modifiziert damit ich auch mitbekomme in welcher SSID und an welchem AP der neue Client sich angemeldet hat.
Vielleicht kann es ja jemand brauchen oder mag es ins Wiki mit einpflegen.

defmod UniFi_new_Client DOIF ([UniFi:-UC_newClients] ne "" )\
{my $host        = ReadingsVal("UniFi","-UC_newClients","--");; ## einlesen Hostname neuer WLAN Client\
my $readingSSID = ReadingsVal("UniFi",$host."_essid","--");; ## bauen Reading SSID\
my $readingAP   = ReadingsVal("UniFi",$host."_accesspoint","--");; ## bauen Reading AP\
my $text = "Neuer WLAN Zugriff von ".$host." über ".$readingAP." an ".$readingSSID;; ## vorbereiten Text\
fhem("set TelegramBot msg $text")} ## Telegram senden

MadMax-FHEM

Warum legst du nicht für Clients ein UnifiClient Device an?

Da steht das dann drin...

Ich hab für jeden Client (der mich interessiert) ein UnifiClient Device angelegt und für die dann eine readungsGroup...

Oder hab ich was falsch verstanden...

Gruß, Joachim
FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Frank_Huber

Zitat von: MadMax-FHEM am 17 November 2020, 15:29:18
Oder hab ich was falsch verstanden...
Ja hast Du. ;-)
Es bezieht sich hier drauf: https://wiki.fhem.de/wiki/Unifi#Erkennung_neuer_clients

Die Benachrichtigung kommt wenn ein Gerät neu ins WLAN kommt. ins Gastnetz z.B. oder wenn jmd dein WLAN "hackt"
für bekannte Geräte und die Presence nutze ich natürlich die Client Instanz es Unifi Moduls. :-)

MadMax-FHEM

FHEM PI3B+ Bullseye: HM-CFG-USB, 40x HM, ZWave-USB, 13x ZWave, EnOcean-PI, 15x EnOcean, HUE/deCONZ, CO2, ESP-Multisensor, Shelly, alexa-fhem, ...
FHEM PI2 Buster: HM-CFG-USB, 25x HM, ZWave-USB, 4x ZWave, EnOcean-PI, 3x EnOcean, Shelly, ha-bridge, ...
FHEM PI3 Buster (Test)

Kelwich

Zitat von: Frank_Huber am 17 November 2020, 14:12:56
Hi ho!

Im Wiki gibt es ja das Beispiel für eine Benachrichtigung bei einem neuen Clienten.
Ich habe mir das noch etwas modifiziert damit ich auch mitbekomme in welcher SSID und an welchem AP der neue Client sich angemeldet hat.
Vielleicht kann es ja jemand brauchen oder mag es ins Wiki mit einpflegen.

defmod UniFi_new_Client DOIF ([UniFi:-UC_newClients] ne "" )\
{my $host        = ReadingsVal("UniFi","-UC_newClients","--");; ## einlesen Hostname neuer WLAN Client\
my $readingSSID = ReadingsVal("UniFi",$host."_essid","--");; ## bauen Reading SSID\
my $readingAP   = ReadingsVal("UniFi",$host."_accesspoint","--");; ## bauen Reading AP\
my $text = "Neuer WLAN Zugriff von ".$host." über ".$readingAP." an ".$readingSSID;; ## vorbereiten Text\
fhem("set TelegramBot msg $text")} ## Telegram senden


Hallo ich habe den folgenden Fehler :
UniFi_new_Client DOIF: expected DOELSEIF or DOELSE: \ {my $host = ReadingsVal("UniFi","-UC_newClients","--");
Kannst mir bitte helfen?

Frank_Huber

Zitat von: Kelwich am 29 November 2020, 00:18:06
Hallo ich habe den folgenden Fehler :
UniFi_new_Client DOIF: expected DOELSEIF or DOELSE: \ {my $host = ReadingsVal("UniFi","-UC_newClients","--");
Kannst mir bitte helfen?

Ja, hör auf in der cfg zu editieren. 😉
Pack den Code in der GUI in die RAW config.

Kelwich

Zitat von: Frank_Huber am 29 November 2020, 00:43:56
Ja, hör auf in der cfg zu editieren. 😉
Pack den Code in der GUI in die RAW config.
Danke hat funktioniert 😊

obelix221

Hallo Wuehler,

erstmal herzlichen Dank für das coole Modul, das dDu der FHEM Community geschenkt hast.
Darf man eigentlich CRs bei Dir anmelden?

Ich würde ganz dringend die Funktion benötigen, um auf den einzelnen APs das WLAN ein- bzw. auszuschalten.

Hast Du so eine Funktion bereits schon auf der Roadmap?

VG
Obelix
RPi3 als FHEM-Server, 868 MHz CUL, 433 MHz Transmitter, Homematic Aktoren und Sensoren, Yamaha AVR, Logitech Harmony, Fritzbox, Logitech SB, 433 MHz Steckdosen, HUE, EnOcean

Wuehler

Hallo Obelix,

sorry für die späte Antwort, aber ich mache die Betreuung des Moduls nur als Hobby. Eine Roadmap gibt es nicht.
Ich habe mir dein Problem eben angesehen und keine schnelle/einfache Umsetzungsmöglichkeit gefunden. Für APs gibt es aktuell keine eigenen Devices. Das wäre für diese Anforderung sinnvoll, da an den setter 3 Parameter (AP, WLAN und dis-/enable) übergeben werden müssten. Soweit ich weiß kann man aber nur keinen oder einen Parameter mitgeben. Müsste dann also eine Drop-Down-Liste mit allen Kombinationen von APs und WLANs erstellen. (Das hört sich nicht richtig an  :()
Falls jemand ein Modul kennt, bei dem man mehr als einen Parameter übergeben kann bitte gerne melden.

Reicht es nicht, ein WLAN komplett zu disablen? Das funktioniert ja heute schon mit dem Modul.

VG,
Dirk



obelix221

Hallo Dirk,

Danke für deine ausführliche Antwort.
Leider hilft mir das generelle Ausschalten des WLANs nicht.
Ich habe einen Beamer von BenQ, der das HDMI Signal über ein proprietäres Protokoll per Funk überträgt.
Dieses Protokoll scheint eine starke Frequenzüberlagerung zu dem WLAN Band zu haben.
Sobald mein AP im Wohnzimmer an ist, ist das Signal zum Beamer so stark gestört, dass ich das Schauen über den Beamer vergessen kann.
Falls ich das ganze WLAN ausschalten würde, hätte ich einen großen Aufstand meiner minderjährigen Mitbewohner zu befürchten.

Nachdem ich aber verstanden habe, dass die SW-seitige Umsetzung in dem Modul nicht in absehbarer Zeit machbar ist, werde ich eine HW-Lösung einsetzen, und den AP wohl mit einer Schaltsteckdose bei Beamer-Betrieb stromlos schalten.

Vielen Dank und schönen Abend
Obelix
RPi3 als FHEM-Server, 868 MHz CUL, 433 MHz Transmitter, Homematic Aktoren und Sensoren, Yamaha AVR, Logitech Harmony, Fritzbox, Logitech SB, 433 MHz Steckdosen, HUE, EnOcean

Frank_Huber

Falls du den AP per PoE versorgst kannst ja mal schauen ob du nicht PoE für den Port abschalten kannst.