Unifi Access Point verbindet sich nicht - disconnected

Begonnen von Ruggy, 03 März 2019, 08:56:10

Vorheriges Thema - Nächstes Thema

Ruggy

@stefanpf

Danke für den Tip; werde ich probieren, wenn ich soweit bin.

Eine Frage zum Code hätte ich aber vorher schon; auch weil ich das Device noch nicht gesehen habe, wenn es funktioniert.

Der Teil "UniFi","Galaxy-S9" im Code ist wahrscheinlich mein Smartphone, welches mir als WLan-Verbindung im UniFi Device angezeigt wird?

Was bedeutet aber dann folgender Teil "UniFi","Galaxy-S9_accesspoint"?

Ruggy

Sorry, über diesen Hardware CloudKey wurde ja bereits geschrieben und als nicht so zuverlässig erachtet.

Irgendwie hat mich der Begriff "Cloud" irritiert; habe an etwas nicht reales in einer Cloud gedacht und verdrängt.

Sorry nochmals. Versuche dann wahrscheinlich doch vorerst die Lösung mit dem Raspberry.

stefanpf

Jedes WLAN Gerät hat mehrere Readings im Unifi Device
Das XYZ_Accesspoint enthält den Accesspoint mit dem das Gerät gerade verbunden ist.
Da ich zwei APs habe prüfe ich ob es entweder mit dem einen oder dem anderen verbunden ist.

Ruggy

Ich glaube ich habe es soweit hinbekommen.
Habe es auf den Raspberry 3 nach Methode B installiert.

@stefanpf
Wie würde der Befehl für einen AP lauten?
Deiner ist anscheinend auf zwei AP ausgelegt (EG und OG).

So?
Vor allem auch wegen den ganzen (),"" usw.

defmod presence.Stefan PRESENCE function { ((ReadingsVal("UniFi","Galaxy-S9","") eq "connected") and (index(ReadingsVal("UniFi","Galaxy-S9_accesspoint",""))) ? 1 : 0} 10


Muss die "10" hinter der letzten } stehen?
In der Commandref ist es ohne die "10"
define <NAME> PRESENCE function {ReadingsVal("<UniFi>","<NamedDevice>","") eq "connected" ? 1:0}

stefanpf

So sollte es passen:

function { ((ReadingsVal("UniFi","HUAWEI_RIO-L01-1d07a68502","") eq "connected") and (index(ReadingsVal("UniFi","HUAWEI_RIO-L01-1d07a68502_accesspoint",""), "AP_EG")) != -1 )? 1 : 0} 10


ansonsten kannst du den zweiten AP auch einfach mit einem Phantasienamen drin lassen  :)

Die 10 gibt den Prüfinterval in Sekunden an. 

Ruggy

Jetzt hab ich doch noch eine Frage;

Das "AP_EG" hat das eine bestimmte Bedeutung oder kann ich das weg lassen? Oder was soll ich hier schreiben?

Mein einziger Accesspoint heißt Unifi_AC_Abstellkammer

stefanpf

Das ist der Name, den du im Controller (nicht im FHEM) für den AP vergeben hast.

Ich konstruiere einmal ein Beispiel mit gefakten Readings:

2019-01-21 22:10:27   HUAWEI_P9       disconnected
2019-01-21 22:09:53   HUAWEI_P9_accesspoint AP_OG
2019-02-18 22:16:38   SPTAB           disconnected
2019-02-18 22:16:08   SPTAB_accesspoint unknown
2019-03-03 20:29:59   HUAWEI_RIO-L01 connected
2019-03-03 20:29:59   HUAWEI_RIO-L01_accesspoint SWI01


In einer heilen Welt sollte der Unifi Controller ein nicht mehr vorhandenes Gerät nach kurzer Zeit erkennen und das Reading auf disconnect setzen. Das accesspoint Reading bleibt danach üblicherweise auf dem zuletzt genutzten Accessport (bzw. Switchport, falls es per Kabel angeschlossen war). Wenn das zuverlässig funktioniert, dann reicht es natürlich nur das "Hautpreading" auszuwerten.
Die ersten zwei Zeilen zeigen genau dieses verhalten

Bei SPTAB siehst du eine "fehlerhafte" Variante - der Controller weiß nicht (mehr) an welchem AP das Gerät war. Disconnect wurde aber erkannt.

Bei HUAWEI_RIO_L01 siehst du den Fehler der Probleme bereitet: Das Hautpreading bleibt auf connected und das accesspoint  Reading zeigt auf einmal auf den Switch "SW01".
Diesen Bug kann man auch im Unifi Controller beobachten. Ich habe z.B. einen ESP8266 Sensor der nur alle 15 min aufwacht um ein paar Daten zu senden.
Anschließend wird er auch in der Topologie Ansicht im Controller unterhalb  des Switches angezeigt.

Aktuell kann ich den Fehler nicht nachstellen. Er war allerdings einerseits random und andererseits habe ich vor ein paar Tagen gerade die letzten Beta Firmware Versionen installiert (vielleicht haben die das ja endlich in den Griff bekommen).

Lange Rede, wenig Sinn: probier es aus... falls du über das Problem stolperst, kennst du wenigstens den Workaround  :)

Ruggy

Vielen Dank für die ausführliche Erklärung; muss ich aber erst ein paarmal durchlesen und setzen lassen  ;)


Ich könnte mich aber nicht erinnern im Controller einen Namen für den AP vergeben zu haben.
Wenn ich den Controller im Browser aufrufe, steht unter Einstellungen->Controller->Controller-Name->  UniFi

Ist dann UniFi der Name?

Sorry, dass ich mich so anstelle.

stefanpf

Im Unifi Controller unter "DEVICES" in der Spalte "Device-Name" nachsehen  :)
Konfiguriert wird der über den Alias des Devices (per Default steht dort die MAC Adresse des APs).
Wenn ich mich recht erinnere musst du wenn du den Alias im FHEM änderst im Unifi Device anschließend die Readings clearen (die mit dem alten Namen verbleiben dort und du hast sonst alles doppelt)

Blöde Frage: warum schaust du dir nicht einfach die Readings des UniFi Devices im FHEM an? Da sollte sich ja der AP Name wiederfinden lassen.

Ruggy

Ok, dort steht als Gerätename die MAC Adresse.

Im Unifi Device im FHEM kann ich den Namen bzw. MAC vom AP nicht finden; wenn ich ein List vom Unifi Device mache kann ich die MAC Adresse finden.

Ich versuche es jetzt dann mal.

Danke und schönen restlichen Abend noch.