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

Michi240281

Ich hätte da noch eine Frage zum Controller:

Kann vllt jmd eine Anleitung posten, wie er es umgesetzt hat, dass der Controller auch nach einem Neustart automatisch gestartet wird? In den Anleitungen waren verschiedene Ansätze enthalten, jedoch war mir nicht ganz klar, wie man es am elegantesten löst!

Besten Dank!!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

eppi

Hallo Rapster
Der Unifi Controller bietet die Möglichkeit, einem Decive einen Alias zu geben. Diese Möglichkeit nutze ich, um Geräte ohne Namen (Anstelle des Namens wird die MAC Adresse angezeit) zu benennen. Siehst du eine Chance, diese Aliasnamen auch zu den Device-Reading in FHEM aufzunehmen?

Danke für deine Prüfung!
Viele Grüsse Dani

eppi

Hallo Michi
Zitat von: Michi240281 am 27 August 2015, 11:06:03
Kann vllt jmd eine Anleitung posten, wie er es umgesetzt hat, dass der Controller auch nach einem Neustart automatisch gestartet wird?
In meinem Beitrag #21 habe ich einen Link gepostet, der ein Start/Stop Script beinhaltet.
Du findest ihn nach dem Absatz:
So, create the file /etc/init.d/unifi with the following contents:
Gruss Dani

Mumpitz

Hallo zusammen

ich habe wie geschrieben den Controller in Betrieb genommen und dieser spuckt auch wunderbar alle Readings aus. Allerdings funktioniert das gepostete DOIF bei mir nicht. Leider finde ich den Fehler nicht...

Internals:
   CFGFN
   DEF        ([UniFi_Controller:Reto_last_seen:sec] > 180) (set Reto abwesend,set pushmsg msg 'fhem' 'Reto hat das Haus verlassen')
DOELSE (set Reto anwesend,set pushmsg msg 'fhem' 'Reto ist nun zu Hause')
   NAME       di_unifi_presence_reto
   NR         1504
   NTFY_ORDER 50-di_unifi_presence_reto
   STATE      initialized
   TYPE       DOIF
   Readings:
     2015-08-27 09:49:40   state           initialized
   Condition:
     0          ReadingSecDoIf('UniFi_Controller','Reto_last_seen') > 180
   Devices:
     0           UniFi_Controller
     all         UniFi_Controller
   Do:
     0          set Reto abwesend,set pushmsg msg 'fhem' 'Reto hat das Haus verlassen'
     1          set Reto anwesend,set pushmsg msg 'fhem' 'Reto ist nun zu Hause'
   Helper:
     last_timer 0
     sleeptimer -1
   Itimer:
   Readings:
     0           UniFi_Controller:Reto_last_seen
     all         UniFi_Controller:Reto_last_seen
   State:
   Timerfunc:
Attributes:


weiss jemand Rat???

rapster

@Mumpitz:
Bitte das richtige doif verwenden, nicht das von Damian gepostete, sondern das von mir: http://forum.fhem.de/index.php/topic,40287.msg325446.html#msg325446

@eppi, das seit gestern neue Attribute 'devAlias' kennst du bestimmt oder?
Du meinst den Wert welcher unter dem Reading <ID>_hostname zu sehen ist ?
Wenn du ein "get unifi clientData <ID>" machst, taucht dein gewünschter Wert in der Liste auf?

Gruß
  Claudiu

rapster

@eppi:
Hab den Aliaswert gefunden, und werde Ihn fall vorhanden als automatischen 'devAlias' verwenden.

Werde denke ich das Standardverhalten ändern,
d.h. Die momentanen Readings '<ID>_reading' werden dann in dieser Reihenfolge (entsprechen welcher Wert zuerst vorhanden ist) gesetzt:  <devAlias-Attribute>_reading, <controller-Alias>_reading, <hostname>_reading, <ID>_reading.

Oder besteht dein Bedarf wirklich den Controller-Alias als Reading abzufragen?


Gruß
  Claudiu

eppi

Zitat von: rapster am 27 August 2015, 19:59:16
Werde denke ich das Standardverhalten ändern,
d.h. Die momentanen Readings '<ID>_reading' werden dann in dieser Reihenfolge (entsprechen welcher Wert zuerst vorhanden ist) gesetzt:  <devAlias-Attribute>_reading, <controller-Alias>_reading, <hostname>_reading, <ID>_reading.
Hallo Rapster
Das ist super und genau das, was ich brauche!
Danke vielmals! Viele Grüsse Dani

Mumpitz


rapster

Zitat von: eppi am 27 August 2015, 20:22:05
Zitat von: rapster am Heute um 19:59:16
    Werde denke ich das Standardverhalten ändern,
    d.h. Die momentanen Readings '<ID>_reading' werden dann in dieser Reihenfolge (entsprechen welcher Wert zuerst vorhanden ist) gesetzt:  <devAlias-Attribute>_reading, <controller-Alias>_reading, <hostname>_reading, <ID>_reading.

Hallo Rapster
Das ist super und genau das, was ich brauche!
Danke vielmals! Viele Grüsse Dani

Hab ich eingecheckt, entweder heute im SVN, oder Morgen früh über das FHEM-Update.

Die Readings-Namen werden jetzt per default in folgender Reihenfolge erstellt (jeweils falls vorhanden und valide (folgende Zeichen sind ohne Leerzeichen erlaubt:[alphanumerisch - _ .]):
1. Attribute 'devAlias'
2. Controller-Alias
3. Hostname
4. user_id

Das "get clientData" Kommando kann nun ebenfalls (egal mit welchem Namen das Reading erstellt wurde) mit einem von den vier oben genannten Werten als Parameter angesprochen werden.

Das Attribute 'devAlias' kann nun nicht nur 'user_id' überschreiben, sondern kann auch genutzt werden um 'Controller-Alias' und 'hostname' zu überschreiben (es muss nicht der Wert angegeben werden mit welchem das Reading aktuell erstellt wurde), die Validitätsprüfung wird hier ebenfalls wie oben angegeben durchgeführt.


Bitte testen und falls irgendwelche Probleme auftreten bescheid geben! (Habe es bisher nur mit Controller v3.2.7 getestet)


P.S. Habe das min update intervall auf 5 Sekunden reduziert. (Falls es jemand eilig hat  ;) )

Gruß
  Claudiu

eppi

Zitat von: rapster am 27 August 2015, 22:44:56
Hab ich eingecheckt, entweder heute im SVN, oder Morgen früh über das FHEM-Update.

Die Readings-Namen werden jetzt per default in folgender Reihenfolge erstellt (jeweils falls vorhanden und valide (folgende Zeichen sind ohne Leerzeichen erlaubt:[alphanumerisch - _ .]):
1. Attribute 'devAlias'
2. Controller-Alias
3. Hostname
4. user_id
Hi Rapster
Eben ein Update durchgeführt, getestet und kann dir bestätigen, dass nun die Alias in den Readings angezeigt werden, wie ich es mir vorgestellt habe  :D
Ganz herzlichen Dank!
Viele Grüsse Dani

rapster

Hallo Dani,

super dass soweit schonmal alles funktioniert, dann kann es ja jetzt mit neues features weitergehen  ;D

Langsam find ich mich auch bisschen zurecht in dem Java-Sourcecode des Unifi-Controllers, viele Möglichkeiten, überlege was denn alles Sinn macht in Fhem zu haben :-)

Gruß
  Claudiu

Mumpitz

Also ich erlaube mir mal zu antworten:

Ich hätte gerne folgende Möglichkeiten:
- Gastzugang Verwaltung
- deaktivieren und aktivieren der einzelnen AP's
- an/abschalten des LED Rings
- locate Funktion anwählbar machen (prima Möglichkeit optisch ein eingetretenes Ereignis zu signalisieren, z. B. Neues Mail, Waschmaschine fertig oder so)

Si, das Wären meine Wünsch gewesen :-)
Danke fürs zuhören und allfälliges Umsetzen

Gruß
Reto


-

rapster

Danke schonmal für die Tipps :-)

- locate: Das ist einfach, werde ich denke ich in der nächsten Version mit einbauen

- deaktivieren eines AP WLAN ist (theoretisch, noch nicht probiert) machbar, kommt auch bald.

- Gastzugang: Das ist generell einfach, aber...
   Ich habe den Gastzugang über Unifi noch nie verwendet (Guest WLAN macht bei mir Firewall über ein VLAN am AP), wie verwendest du den üblicherweise?
   Die API bietet mir zumindest Funktionen eine MAC Adresse (oder hostname falls das ein bekanntes Gerät ist) für X-Minuten als Guest zu erlauben, und wieder zu deaktivieren.
   Wäre das sowas?
   Hast du schon ungefähr einen Verwendungszeck dafür im Kopf? Damit ich mir was darunter vorstellen kann wie man mit Fhem den Gastzugang anschließend verwalten soll?

- an/abschalten der led: Ich bin mir nicht sicher ob das überhaupt über die API machbar ist, habe zumindest (noch) nichts dazu im Quellcode gefunden.

- Alarmverwaltung baue ich auch noch ein


Gruß
  Claudiu

Christoph.Goth

Moin, danke für das Super Modul, klappt auch bei mir 1A :-)

Ich würde ich noch über folgende Infos freuen:
- Anzahl der verbundenen Clients gesamt (Prod und Gast)
- Clients pro AP
- Status der AP (Verbunden, Disconencted, Bridged)

Ich laufe selber auf der aktuellen 4er, bisher keine Probleme mit dem Modul.

rapster

Zitat von: Christoph.Goth am 29 August 2015, 10:43:51
Moin, danke für das Super Modul, klappt auch bei mir 1A :-)

Ich würde ich noch über folgende Infos freuen:
- Anzahl der verbundenen Clients gesamt (Prod und Gast)
- Clients pro AP
- Status der AP (Verbunden, Disconencted, Bridged)

Ich laufe selber auf der aktuellen 4er, bisher keine Probleme mit dem Modul.
Freut mich dass es bei dir auch funktioniert, deine genannten Punkte sind denke ich im nächsten Feature-Release mit drin  ;)
____
Bzgl. der Funktion "deaktivieren eines AP WLAN" müsste mal jemand der einen 5Ghz AccessPoint hat, (nach einem Update Morgen früh auf die aktuelle Version, oder der momentanen SVN-Version) folgenden Befehl in die Fhem-Kommandozeile eingeben:
{ use Data::Dumper;; Dumper($defs{MeinUnifiFhemDevice}) }

und mir die Ausgabe zukommen lassen (das Controller-Kennwort bitte zuvor aus der Ausgabe löschen).
Am liebsten auch jeweils einmal mit einem 3.x und einmal mit einem 4.x Controller.

Da ich die WLAN's jeweils getrennt im 2.4 und 5 Ghz Band deaktivieren muss, und selber nur 2G AP's habe.

MeinUnifiFhemDevice in dem Befehl zuvor durch den Fhem device-namen eurer definition ersetzen.
Danke!

Gruß
  Claudiu