FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Ruggy am 03 März 2019, 08:56:10

Titel: Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 08:56:10
Hallo,

möchte zur Anwesenheitserkennung den Unifi Ubiquiti AP-AC Lite verwenden.

Habe wie im Commandref beschrieben mit putty apt-get install libjson-perl ausgeführt.
Es kam eine Meldung in der Art, dass das bestehende aktuell ist.

In FHEM habe ich folgendes eingegeben

define Unifi_AC_Abstellkammer Unifi 192.168.33.3 8443 MeinBenutzername MeinPasswort

Leider zeigt es mir als state "disconnected" an.

An was könnte das liegen?

Ich habe den Unifi noch nicht lange und habe auch derzeit noch ein Problem, dass der Unifi über Windows 7 erst erkannt wird (zum Konfigurieren mit dem Unifi Controller), wenn ich die Firewall deaktiviere.
WLan funktioniert aber ohne Probleme.
Das Windowsproblem dürfte aber doch nichts mit dem FHEM/Raspberry Problem zu tun haben?

Hier ein List vom Device Unifi_AC_Abstellkammer

Internals:
   CFGFN     
   DEF        192.168.33.3 8443 crypt:2d554b4211065b7e crypt:3c014d632006474c1b7645475a5a51344b5c535e
   FUUID      5c7b84b3-f33f-194f-d4d4-c021603df865be0d
   NAME       Unifi_AC_Abstellkammer
   NOTIFYDEV  global
   NR         1624
   NTFY_ORDER 50-Unifi_AC_Abstellkammer
   STATE      disconnected
   TYPE       Unifi
   VERSION    3.1.0
   Helper:
     DBLOG:
       state:
         DbLog:
           TIME       1551598771.30267
           VALUE      disconnected
   READINGS:
     2019-03-03 08:39:31   state           disconnected
   accespoints:
   alerts_unarchived:
   clients:
   events:
   helper:
     password   crypt:3c014d632006474c1b7645475a5a51344b5c535e
     username   crypt:2d554b4211065b7e
   hotspot:
     vouchers:
   httpParams:
     ignoreredirects 1
     loglevel   5
     method     POST
     noshutdown 0
     timeout    5
     hash:
     sslargs:
       SSL_verify_mode 0
   unifi:
     CONNECTED  disconnected
     deprecatedClientNames 1
     eventPeriod 24
     interval   30
     url        https://192.168.33.3:8443/api/s/default/
     version    4
   updateDispatch:
   wlans:
Attributes:
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 09:20:53
192.168.33.3 ist das die IP von dem Accesspoint? (Ich interpretiere das ausdenken Namen des Devices).
Das Unifi Device verbindet sich mit dem Controller / Cloudkey und nicht mit dem AP.
Für eine Anwesenheitserkennung muss der Controller dann aber 24/7 laufen.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 09:55:02
Ja, das wäre die IP von meinem Accesspoint.

Habe es so verstanden und nach dem Beispiel aus der Commandref (define my_unifi_controller Unifi 192.168.1.15 443 admin secret) gemacht.

Wie sehe ich die IP vom Controller?
Wenn ich diesen über den Browser aufrufe wird in der Adresszeile nur https://localhost:8443/... angezeigt.

Wie kann der Controller 24/7 laufen. Den Windows PC möchte ich nicht immer laufen lassen.
Muss/kann ich den Controller auf  dem Raspberry installieren, auf dem FHEM läuft?
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: der-Lolo am 03 März 2019, 10:10:40
Ja, es gibt eine lösung für Raspi.
Versprech Dir aber nicht zuviel davon, das ist nicht gerade performant...

Ohne Controller macht Unifi nur halb soviel Spaß.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 10:10:55
Du kannst z.B. den Unify Cloudkey im Dauerbetrieb benutzen oder das Paket unter Linux installieren.
Der Cloudkey ist theoretisch bunt und kindgerecht, ich habe allerdings schlechte Erfahrung damit gemacht (momentan ist er mal wieder eingeschickt).

Theoretisch müsste der Controller auch auf einem Raspi laufen. Da müsstest du dich aber selbst schlau machen ob die Ressourcen ausreichen.
Ich habe ihn unter Ubuntu auf einer Nuc laufen.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Olly am 03 März 2019, 10:37:26
Hallo,

habe das auch erst kürzlich in Betrieb genommen. Bei mir läuft der Controller momentan auf einem Raspi 1 mit 512MB.
Das war ein ganz schönes gefrickel das dort ans Laufen zu bekommen.
Für eine kleine Installation mit nur einem AP geht das bei mir. Für eine größere Installation wird das wohl aber nichts.
Vom Cloud-Key hört man öfters, dass der Probleme macht. Wichtig ist egal welche Hardware, dass man immer sauber beendet und runterfährt, da sonst die Datenbank korrumpiert und nix mehr geht.

Gruß


      Olly
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 10:56:16
Habe mir eigentlich den Unifi vor allem deswegen gekauft, dass die Anwesenheitserkennung zuverlässlicher funktioniert im Vergleich zur Fritzbox.

Habe in einen Blog (https://www.meintechblog.de/2018/04/wlan-anwesenheitserkennung-mit-unifi-accesspoints-in-fhem-einbinden-und-an-loxone-weiterleiten/) eine Anleitung zum installieren des Controllers auf dem Raspberry gefunden.
folgende Befehlt werden ausgeführt.
   
sudo apt-get -y install libjson-perl
sudo sh -c "echo 'deb http://www.ubnt.com/downloads/unifi/debian stable ubiquiti' > /etc/apt/sources.list.d/ubnt.list"
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 06E85760C0A52C50
sudo apt-get -y --allow-unauthenticated install unifi
sudo reboot


Sollte das so funktionieren?
@Olly
hast du es ähnlich gemacht?

Zitat von: der-Lolo am 03 März 2019, 10:10:40
das ist nicht gerade performant...
Ohne Controller macht Unifi nur halb soviel Spaß.

Was meinst Du mit nicht gerade perfomant? Wegen der Geschwindigkeit?
Wird hier das gesamte FHEM ausgebremst?
Ohne Controller kann ich den AP doch gar nicht in FHEM nutzen, oder?
Ist der Raspberry 3 zu langsam?

Zitat von: stefanpf am 03 März 2019, 10:10:55
Ich habe ihn unter Ubuntu auf einer Nuc laufen.

Was wäre ein günstiger Nuc, welcher für den Controller ausreichend ist?
Vor allem habe ich von Nuc noch nicht gehört. Muss erst mal die Suchmaschine befragen.

Bin leider auf dem Gebiet nicht fit und muss mir vieles zusammensuchen.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: justme1968 am 03 März 2019, 11:29:07
der alte cloudkey braucht vor allem auf jeden fall eine usv. wenn er nicht sauber runterfährt gibt es probleme. wenn man eine hat ist er empfehlenswerter als ein raspberry.

der neue cloudkey hat eine mini usv eingebaut und sollte das problem nicht mehr haben. kostet aber mehr als ein raspberry und ist für einen ap sicher überdimensioniert.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Wuehler am 03 März 2019, 11:53:06
Moin,

Zum Start kannst du den UnifiController ruhig auf demselben Pi laufen lassen wie auch fhem. Idealerweise das Update-Interval erstmal auf 120 Sekunden setzen. Sonst handelst du dir schnell mal Performanceprobleme ein. Es kommt drauf an, wie groß/Ressourcenhungrig dein fhem und dein Unifi-Netzwerk sind. Wenn ein Updatezyklus länger als das eingestellte Intervall dauert, wird das den RasPi schnell an die Lastgrenzen bringen. Auf zwei RasPi verteilt läuft aber offenbar ohne Probleme mit 30 Sekunden update-Intervall.
Mach am Besten bei jeder (größeren) Änderung im Unifi-Controller ein Backup um eine ggf. korrumpierte DB wieder heile zu bekommen.

Bei deiner Anleitung fehlt ggf. ein aktuelles Java. Es kommt drauf an, was auf deinem Pi bisher installiert wurde.
Im Unif-Blog gibt es auch eine gute Anleitung (https://community.ubnt.com/t5/UniFi-Routing-Switching/Step-By-Step-Tutorial-Guide-Raspberry-Pi-with-UniFi-controller/td-p/2470231). Ich würde Methode-B empfehlen. Das Pi-Hole ist nicht zwingend.

Viel Erfolg,
Dirk
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Olly am 03 März 2019, 12:09:08
@Ruggy: Ich habe nicht den "normalen" stabile Zweig gewählt, sondern oldstable. Das installiert eine Controller Ver. 5.9.xx, aktuell ist die 5.10.xx die habe ich aber auf meinem alten Pi nicht ans laufen bekommen.
Java habe ich eine openJDK Ver. anstatt die Oracle Ver. genommen.
Die aktuelle Oracle läuft auf dem alten Pi mit Arm6 nicht.
Mit einem Pi3 sollte das aber gehen (Arm7).

Gruß

      Olly
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 13:52:14
Ich denke, dass ich es mit einem weiteren Raspberry versuchen und nach Methode-B installieren. Habe noch einen Raspberry 3 (die erste Version) daheim.

Wenn ich auf dem zweiten Raspberry den Controller installiert habe, nehme ich dann die IP-Adresse von diesen Raspberry für den Befehl, welchen ich oben schon genannt habe und es sollte funktionieren?

define Unifi_AC_Abstellkammer Unifi "IpVomZweiten_Raspberry" 8443 MeinBenutzername MeinPasswort
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Olly am 03 März 2019, 14:47:10
Zitat von: Ruggy am 03 März 2019, 13:52:14
Ich denke, dass ich es mit einem weiteren Raspberry versuchen und nach Methode-B installieren. Habe noch einen Raspberry 3 (die erste Version) daheim.

Wenn ich auf dem zweiten Raspberry den Controller installiert habe, nehme ich dann die IP-Adresse von diesen Raspberry für den Befehl, welchen ich oben schon genannt habe und es sollte funktionieren?

define Unifi_AC_Abstellkammer Unifi "IpVomZweiten_Raspberry" 8443 MeinBenutzername MeinPasswort
Ja, das sollte dann passen.

Gruß

    Olly
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 15:35:01
Btw:
je nach genutzter Unifi Infrastruktur und Version funktioniert das mit der Anwesenheitserkennung auch nicht 100%.

Bei mir bleiben die Handys gerne auf dem Status "connected" und werden haben aber als verbundenen Accesspoint dann den Unifi  Switch oder den Unifi Gateway eingetragen.
Da der Controller selbst auch dann und wann solche Anwandlungen hat vermute ich die Ursache eher in der Unifi API

Mit der folgenden Funktion im Presence Device lässt sich das aber sehr gut kompensieren (ist nicht auf meinem Mist gewachsen - ich meine, dass habe ich hier irgendwo im Forum aufgeschnappt.

defmod presence.Stefan PRESENCE function { ((ReadingsVal("UniFi","Galaxy-S9","") eq "connected") and ((index(ReadingsVal("UniFi","Galaxy-S9_accesspoint",""), "AP_EG")) != -1 or (index(ReadingsVal("UniFi","Galaxy-S9_accesspoint",""), "AP_OG")) != -1))? 1 : 0} 10
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 15:58:32
Habe gesehen, dass Ubiquiti den UniFi Cloud Key als Hardwarelösung anbietet.

Wäre dies das selbe wie ein Raspberry mit dem Controller?

Was wäre besser?
Raspberry hätte ich und ist auch günstiger; aber ist die Hardware von Ubiquiti stabiler?
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: justme1968 am 03 März 2019, 15:59:25
hast du die antworten weiter oben gelesen?
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 16:03:03
@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"?
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 16:06:53
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.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 16:08:36
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.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 18:09:34
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}
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 19:49:13
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. 
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 20:18:04
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
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 20:48:56
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  :)
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 20:57:12
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.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: stefanpf am 03 März 2019, 21:05:31
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.
Titel: Antw:Unifi Access Point verbindet sich nicht - disconnected
Beitrag von: Ruggy am 03 März 2019, 22:19:54
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.