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

Wie geschrieben hat sich etwas am Login geändert. Evtl. auch nur der Pfad? Da gibt es an anderer Stelle im Modul eine weitere Pfadangabe. Mal nach login suchen.

Das experimentelle Anpassen eines Moduls geht eigentlich recht einfach:
1. In den Modul-Pfad wechseln (zB /opt/fhem/FHEM)
2. Sicherungskopie der entsprechenden Moduldatei erstellen
3. Die Moduldatei mit einem Texteditor bearbeiten und speichern. ZB mit Notepad++
4. In der FHEM-Befehlseingabezeile reload <Moduldatei> eingeben. Hier: reload 74_Unifi.pm

Dann bekommt man entweder eine Fehlermeldung falls man syntaktische Fehler hat (Sicherungskopie?) oder die geänderte Version läuft und kann getestet werden.

Ich bräuchte nur eine Version, die mit UDM funktioniert, um den Rest (UDM-Attribut oder ähnliches) kann ich mich dann kümmern.

okenny

"Connected" !!!!!!!

Danke! Ich hatte nur Port 8443 probiert, mit 443 funktioniert es!  :) :) :) :)

Maui

Moin okenny, hattest du dich auf dem fhem Rechner zufällig vorher mal direkt am Browser über die URL eingeloggt?
@Dirk: Ich schätze mal in Zeile 902 müsste der Aufruf ebenfalls angepasst werden für UDM

okenny

Zitat von: Maui am 12 Mai 2020, 06:18:35
Moin okenny, hattest du dich auf dem fhem Rechner zufällig vorher mal direkt am Browser über die URL eingeloggt?
@Dirk: Ich schätze mal in Zeile 902 müsste der Aufruf ebenfalls angepasst werden für UDM

Nein, mein FHEM Server läuft auf einem Ubuntu 20.4 Server VM - es hat kein Borowser und kein GUI.

Wuehler

Dann müsste deine Moduldatei auch bei einem anderen UDM-Besitzer funktionieren. Könnt ihr mal testen?

Dersch

Ich habe das Unifi Modul nun schon sehr lange im Einsatz und verwende es auch für eine Anwesenheitskontrolle in Verbindung mit dem Residents Modul.

Internals:
   CODE       Dirks-Handy
   DEF        Dirks-Handy
   FUUID      5d8d404d-f33f-c2c3-7191-0ed1e3618614d330
   IODev      UnifiController
   LASTInputDev UnifiController
   MODEL      SamsungE
   MSGCNT     92
   NAME       DirkHandy
   NOTIFYDEV  global
   NR         314
   STATE      connected
   TYPE       UnifiClient
   UnifiController_MSGCNT 92
   UnifiController_TIME 2020-05-13 20:12:32
   VERSION    0.0.3 BETA
   READINGS:
     2020-05-13 20:12:32   1x_identity     dirk
     2020-05-13 20:12:32   _f_assoc_time   133d 17h 45m 15s
     2020-05-13 20:12:32   _f_dhcpend_time 0d 0h 0m 0s
     2020-05-13 20:12:32   _f_diff_tx_bytes -1697213359
     2020-05-13 20:12:32   _f_essid        DSHOME
     2020-05-13 20:12:32   _f_first_seen   2019-09-26 18:06:13
     2020-05-13 20:12:32   _f_last_seen    2020-05-13 20:12:13
     2020-05-13 20:12:32   _f_last_seen_by_uap 2020-05-13 20:12:13
     2020-05-13 19:44:04   _f_last_seen_by_usw 2020-05-13 19:43:31
     2020-05-13 20:12:32   _f_last_seen_duration 0d 0h 0m 19s
     2020-05-13 20:12:32   _f_latest_assoc_time 2020-05-13 19:45:15
     2020-05-13 20:12:32   _f_uptime       0d 0h 26m 58s
     2020-05-13 20:12:32   _f_uptime_by_uap 0d 0h 26m 58s
     2020-05-13 19:44:04   _f_uptime_by_usw 0d 0h 0m 37s
     2020-05-13 20:12:32   _f_usergroup_name Default
     2020-05-13 20:12:32   _id             5d8ce1f527864218b1a8c734
     2020-05-13 20:12:32   _is_guest_by_uap 0
     2020-05-13 19:44:04   _is_guest_by_usw 0
     2020-05-13 20:12:32   _last_seen_by_uap 1589393533
     2020-05-13 19:44:04   _last_seen_by_usw 1589391811
     2020-05-13 20:12:32   _uptime_by_uap  1618
     2020-05-13 19:44:04   _uptime_by_usw  37
     2020-05-13 20:12:32   accesspoint     Terrasse
     2020-05-13 20:12:32   anomalies       0
     2020-05-13 20:12:32   ap_mac          18:e8:29:b4:e9:00
     2020-05-13 20:12:32   assoc_time      1589391915
     2020-05-13 20:12:32   authorized      1
     2020-05-13 20:12:32   bssid           1a:e8:29:94:e9:02
     2020-05-13 20:12:32   bytes-r         2
     2020-05-13 20:12:32   ccq             0
     2020-05-13 20:12:32   channel         100
     2020-05-13 20:12:32   dev_id_override 2803
     2020-05-13 20:12:32   dhcpend_time    0
     2020-05-13 20:12:32   duration        191514
     2020-05-13 20:12:32   essid           DSHOME
     2020-05-13 20:12:32   fhem_clientName Dirks-Handy
     2020-05-13 20:12:32   fhem_state      connected
     2020-05-13 20:12:32   fhem_usedOnlineTime 12 Minuten
     2020-05-13 20:12:32   fingerprint_override 1
     2020-05-13 20:12:32   first_seen      1569513973
     2020-05-13 20:12:32   hostname        Dirks-Handy
     2020-05-13 20:12:32   idletime        13
     2020-05-13 20:12:32   ip              192.168.10.244
     2020-05-13 20:12:32   is_11r          0
     2020-05-13 20:12:32   is_guest        0
     2020-05-13 20:12:32   is_wired        0
     2020-05-13 20:12:32   last_seen       1589393533
     2020-05-13 20:12:32   latest_assoc_time 1589391915
     2020-05-13 20:12:32   mac             MAC
     2020-05-13 20:12:32   name            Dirks-Handy
     2020-05-13 19:44:04   network         Freifunk Client VLAN
     2020-05-13 19:44:04   network_id      598a10dab64610dfc2d2267e
     2020-05-13 20:12:32   noise           -96
     2020-05-13 20:12:32   noted           1
     2020-05-13 20:12:32   oui             SamsungE
     2020-05-13 20:12:32   powersave_enabled 1
     2020-05-13 20:12:32   presence        present
     2020-05-13 20:12:32   qos_policy_applied 1
     2020-05-13 20:12:32   radio           na
     2020-05-13 20:12:32   radio_name      rai0
     2020-05-13 20:12:32   radio_proto     ac
     2020-05-12 17:07:13   roam_count      1
     2020-05-13 20:12:32   rssi            27
     2020-05-13 20:12:32   rx_bytes        1196632
     2020-05-13 20:12:32   rx_bytes-r      2
     2020-05-13 20:12:32   rx_packets      9328
     2020-05-13 20:12:32   rx_rate         702000
     2020-05-13 20:12:32   satisfaction    98
     2020-05-13 20:12:32   signal          -69
     2020-05-13 20:12:32   site_id         544e86a10d5d28255a2ce20c
     2020-05-13 19:44:04   sw_depth        9551
     2020-05-13 19:44:04   sw_mac          f0:9f:c2:3f:e6:46
     2020-05-13 19:44:04   sw_port         9
     2020-05-13 20:12:32   tx_bytes        42139658
     2020-05-13 20:12:32   tx_bytes-r      0
     2020-05-13 20:12:32   tx_packets      30419
     2020-05-13 20:12:32   tx_power        0
     2020-05-13 20:12:32   tx_rate         780000
     2020-05-13 20:12:32   tx_retries      1837
     2020-05-13 20:12:32   uptime          1618
     2020-05-13 20:12:32   user_id         5d8ce1f527864218b1a8c734
     2020-05-13 20:12:32   usergroup_id   
     2020-05-13 20:12:32   vlan            0
     2020-05-13 20:12:32   wifi_tx_attempts 32256
   timeControl:
     clientblocked 0
     maxOnlineMinutesPerDay 2000
     thresholdBytesPerMinute 75000
     usedOnlineTime 762.6
   unifiClient:
     1x_identity dirk
     _f_assoc_time 133d 17h 45m 15s
     _f_dhcpend_time 0d 0h 0m 0s
     _f_diff_tx_bytes -1697213359
     _f_essid   DSHOME
     _f_first_seen 2019-09-26 18:06:13
     _f_last_seen 2020-05-13 20:12:13
     _f_last_seen_by_uap 2020-05-13 20:12:13
     _f_last_seen_duration 0d 0h 0m 19s
     _f_latest_assoc_time 2020-05-13 19:45:15
     _f_uptime  0d 0h 26m 58s
     _f_uptime_by_uap 0d 0h 26m 58s
     _f_usergroup_name Default
     _id        5d8ce1f527864218b1a8c734
     _last_seen_by_uap 1589393533
     _uptime_by_uap 1618
     accesspoint Terrasse
     anomalies  0
     ap_mac     18:e8:29:b4:e9:00
     assoc_time 1589391915
     bssid      1a:e8:29:94:e9:02
     bytes-r    2
     ccq        0
     channel    100
     dev_id_override 2803
     dhcpend_time 0
     essid      DSHOME
     fhem_clientName Dirks-Galaxy-S10
     fhem_state connected
     fhem_usedOnlineTime 12 Minuten
     first_seen 1569513973
     hostname   Dirks-Galaxy-S10
     idletime   13
     ip         192.168.10.244
     last_seen  1589393533
     latest_assoc_time 1589391915
     mac        MAC
     name       Dirks-Handy
     noise      -96
     oui        SamsungE
     radio      na
     radio_name rai0
     radio_proto ac
     rssi       27
     rx_bytes   1196632
     rx_bytes-r 2
     rx_packets 9328
     rx_rate    702000
     satisfaction 98
     signal     -69
     site_id    544e86a10d5d28255a2ce20c
     tx_bytes   42139658
     tx_bytes-r 0
     tx_packets 30419
     tx_power   0
     tx_rate    780000
     tx_retries 1837
     uptime     1618
     user_id    5d8ce1f527864218b1a8c734
     usergroup_id
     vlan       0
     wifi_tx_attempts 32256
Attributes:
   DbLogExclude .*
   room       Ubiquiti
   userReadings presence {((ReadingsVal("$name","fhem_state","?") eq "connected") ? "present":"absent");;}


Nun ist es aber schon seit einiger Zeit zu einem Problem geworden da permanent die Handys vom Unifi_Client Modul als disconnected und dann wieder connected gemeldet werden. Beim Unifi Controller selbst sind diese aber stets und stabil verbunden, die WLAN Verbindung reißt auch nicht ab. Das passiert vor allem beim Roaming zwischen den AP's aber auch manchmal wenn das Endgerät gar nicht bewegt wird.

Ich habe einige Abhängigkeiten mit dem Zuhause Status und das hat dann unerwünschte Kettenreaktionen.

Versuche das über waitsame attribute in DOIF's abzufangen sind leider auch nicht fruchtend.

Woran kann das liegen? Gibt es irgendeine Möglichkeit das im Unifi_Client Modul abzufangen? Nach der Einrichtung vor lange Zeit hat das auch bestens funktioniert aber irgendwann haben dann die Probleme angefangen und es wird zusehend instabiler.

Ich habe auch noch ein offenes Wlan mit Freifunk über die Unifi's laufen. Wenn ich mit dieser SSID verbunden bin ist es richtig schlimm. Da hilft nur ein Wechsel auf das Heimnetz und FHEM neustarten damit der connected status einigermaßen stabil bleibt.

Hat jemand ein ähnliches Setup und auch entsprechendes Beobachtet?

Grüße
Dirk

MadMax-FHEM

Wird u.a. auch am Standby der Handys liegen...
...evtl. dort ein FW-Update!?

Ich nutze nicht das Unifi, ist mir zu langsam...

Ich hatte es mal eine Zeit parallel laufen (also nur loggen) um zu sehen, ob es besser ist als das was ich habe: nein.

Ich nutze das hier: https://forum.fhem.de/index.php/topic,76342.msg682218.html#msg682218

EDIT: genauer in der Art https://forum.fhem.de/index.php/topic,76342.msg683910.html#msg683910 bzw. https://forum.fhem.de/index.php/topic,76342.msg706320.html#msg706320

Und bin (noch) zufrieden...

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)

Dersch

Danke dafür, das schaue ich mir mal als Alternative an.

Ich habe mir eben nochmal alles genauer angeschaut. Aufgefallen ist mir, dass das Network Reading sich nicht aktualisiert:


essid             DSHOME                                      2020-05-13 20:31:32
network         Freifunk Client VLAN                   2020-05-13 19:44:04
network_id              598a10dab64610dfc2d2267e       2020-05-13 19:44:04


Das Network müsste LAN sein bei dieser SSID. Am Zeitstempel sieht man auch das dort was nicht stimmt. Aber ob das für die generelle Problematik verantwortlich ist bezweifel ich.

bogi999

Zitat von: Wuehler am 12 Mai 2020, 10:24:25
Dann müsste deine Moduldatei auch bei einem anderen UDM-Besitzer funktionieren. Könnt ihr mal testen?

Hab die Datei ausgetauscht, aber passt nicht.
Steht weiter auf Disconnected.
Auch das Define --> also nochmal neu anlegen --> bringt keine Verbindung.

Die Fehlermeldung kommt, wobei die Credentials definitiv passen.
Unifi (Unifi_Login_Receive) - Login Failed! Invalid username or password! - state:'error' - msg:'api.err.Invalid'

okenny

Zitat von: bogi999 am 15 Mai 2020, 00:06:18
Hab die Datei ausgetauscht, aber passt nicht.
Steht weiter auf Disconnected.
Auch das Define --> also nochmal neu anlegen --> bringt keine Verbindung.

Die Fehlermeldung kommt, wobei die Credentials definitiv passen.
Unifi (Unifi_Login_Receive) - Login Failed! Invalid username or password! - state:'error' - msg:'api.err.Invalid'

Seltsam.....bei mir gehts (siehe Bild).
ich habe UDM Pro, Cloud Access enabled, und Firmware 1.7.0 RC18

define UnifiController Unifi 192.168.1.1 443 user pw






bogi999

Habs nu in allen möglichen Variationen versucht.
No Way....

Maui

Nabend,

Ich habe nochmal was am login gedreht.
Probiert es nochmal beide mit der Version.

Gruss

Wuehler

Moin,

Habe mal ein wenig versucht die PHP-API zu verstehen und das Modul angepasst. Bin mir aber sicher, dass das nicht funktioniert. In Zeilen 942 bis 951 sind ein paar Kommentare mit ToDos.
Leider ist perl auch nicht meine Heimat und in das Thema header auslesen und cookie-jars in perl müsste ich mich auch erst tiefer einlesen.

Falls sich jemand damit auskennt: Bitte helfen.

Konkret scheint es bei UDM folgende Änderungen zu geben. Auch da bitte Korrektur von UDM-Besitzern:
- Loginpfad hat sich geändert von /api/login ind /api/auth/login
- API-Pfad hat sich geändert von /api/s auf /proxy/network/api/s
- Man braucht einen CSRF-Token
- Irgendetwas am Cookie. Man muss evtl. ein Cookie-Jar nutzen

Wie gesagt: Hilfe ist gerne gesehen, da das für mich ein Learning by Doing Thema wäre. Mangels eigener UDM ist das Doing etwas schwierig. Zudem hat Corona bei mir eher zu weniger Zeit geführt.

Dirk

bogi999

Zitat von: Maui am 17 Mai 2020, 21:34:51
Nabend,

Ich habe nochmal was am login gedreht.
Probiert es nochmal beide mit der Version.

Gruss

Gibt es doch nich....
(Unifi_Login_Receive) - Login Failed! Invalid username or password! - state:'error' - msg:'api.err.Invalid'


topsecret99

Hallo zusammen,
bin leider sehr erfreut, dass es nicht nur mir so geht  ;D - und danke für die Mühe - wäre toll, wenn es wieder klappt.

Ich bekomme mit dem letzten Modul und dem UDM mit FW 1.7.0 stable (=RC19)

Login Failed! - state:'error.decode_json' - msg:'malformed JSON string, neither tag, array, object, number, string or atom, at character offset 1 (before "<!doctype html>\n<ht...") at ./FHEM/74_Unifi.pm line 923.

gruß
Torsten