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

justme1968

ja. es gibt einen button. ich schau es mir mal an sobald ich dazu komme.

gruss
andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

rapster

Cool, wenn du was neues für das Modul hast gerne direkt einchecken.
Denke die Qualität von dir sollte stimmen ;-)

Hier zwei Bilder wie der Beispiel CMD und URL im Firefox mit F12 -> Netzwerkanalyse nach Klick auf den Beispiel "Unset-Locate Button" herausgefunden werden kann.

justme1968

also... bitte mit vorsicht verwenden: ich weiss nicht ob immer der richtige port erwischt wird oder ob unvorhergesehene andere dinge überschrieben werden...

anbei eine test version mit zwei neuen kommandos:

- get <unifi> poeState [name|mac|id]
  listet den poe status aller ports eines/aller switche auf

- set <unifi> poeMode <name|mac|id> <port> <off|poe+|passive|passthrough|restart>
  setzt den poe mode für den <port> des switches <name|mac|id> auf:
  off -> aus
  auto -> poe+
  poe+ -> poe+
  passive -> passive 24v
  passthrough -> passthrough

  restart -> schaltet den port aus und wieder an


der switch kann jeweils als name (regex! z.b. mit . für leerzeichen), mac adresse oder id angegeben werden.

ich habe noch nicht probiert was passiert wenn man einen mode setzen will der von einem port nicht unterstütz wird. ich vermute es gibt nur einen fehler im log.

aktuell werden nur switch ports berücksichtigt. nicht die ports von accespoints.

damit das ganze geht muss der user aus dem define schreibrechte haben. d.h. nicht nur ein read only admin sein ;)

im poe status wird direkt nach dem port namen noch eine spalte mit den poe capabilities des ports ausgegeben das scheint ein bitfeld zu sein:
  1 -> nur 802.3af
  7 -> 802.3af/at + 24v passive
  8 -> passthrough

gruss
  andre

@rapster: wenn es nicht nur bei mir geht und nichts zerschiesst kann ich es gerne einchecken.

edit 2017-04-03:
- switch port bei poeMode lässt sich auch als name angeben
- mehr hinweise bei falschem parameter. zum teil noch deaktiviert
- poePower readings für alle switche. summe aller poe ports. exclusive passive mode
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Christian Uhlmann

Hallo Andre,

an ssh hatte ich auch schon gedacht aber bisher keine Zeit gefunden das mal umzusetzen.
Die neue Version mit den Befehlen klappt super, vielen Dank dafür.
Du bist ja super schnell :)

Ich werde das mal bei mir in die Automatisierung einbauen und dann ein wenig beobachten. Wenn es Probleme gibt melde ich mich.

Wenn du noch was anderes brauchst zum testen, dann immer her damit.
Ich habe:
1X USG =  UniFi Security Gateway 3P
3X US-8 = UniFi Switch 8
1X US-16-150W = UniFi Switch 8 POE-150w
1x US-8-60W = UniFi Switch 8 POE-60W
3x UAP = UniFi AP
1x UAP-AC-PRO = UniFi AP-AC-Pro


Grüße
Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

justme1968

schön das es geht :)

ich würde noch zwei meldungen für nicht unterstützte parameter einbauen und dann wäre es von meiner seite erst mal fertig.

vielleicht kannst du noch mal die ausgabe von get poeState für den us-16 zeigen. alle anderen habe ich auch.

ich überlege schon ob ich nicht die verteilten us-8-60 durch us-8 ersetze. bis her ging das nicht weil die dann alle über die zentrale usv gelaufen wären. jetzt kann ich in diesem fall aber einfach alle switches auf der zweiten ebene per fhem abschalten :)

gruss
  andre

ps: wäre es nützlich die ports auch nach namen auszuwählen? dann könnte man z.b. mit einem kommando. alle kameras schalten. oder alle nachgelagerten switche wenn die ports passend benannt sind.

pps: was mir noch einfällt... man könnte die poe power werte auch noch in einzelne readings der ap stecken. und dann mit den diversen power modulen den verbrauch protokollieren und plotten. wäre das für jemanden interessant?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich habe die version oben noch mal um drei punkte ergänzt.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Christian Uhlmann

Hallo Andre,

auch die neuste Version funktioniert bei mir super. Vielen dank dafür.

Hier das get poeState vom us-8-150W (den us-16-150w habe ich nicht, hatte mich vertan):

Switch Keller        (mac:80:2a:a8:dc:17:6d, id:5809ccb8e4b078eb97aa2178)
  id  name             on mode        class     
   1  PALADIN         7 0 off         Unknown     0.00W  0.00V  0.00mA
   2  Wohnzimmer      7 0 off         Unknown     0.00W  0.00V  0.00mA
   3  Router          7 0 off         Unknown     0.00W  0.00V  0.00mA
   4  Port 4          7 0 off         Unknown     0.00W  0.00V  0.00mA
   5  HM Lan          7 1 auto   good Class 3     1.64W 53.78V 30.51mA
   6  Fritzbox        7 0 off         Unknown     0.00W  0.00V  0.00mA
   7  Schlafzimmer    7 1 auto   good Class 4     9.66W 53.65V 180.05mA
   8  AP Keller       7 1 auto   good Class 0     4.05W 53.91V 75.07mA
   9  SFP 1         
  10  SFP 2         


Was aus meiner Sicht noch interessant wäre, eine Power Reading pro Port den es gibt, aber wenn man sich das genau überlegt muss man dann langsam zu eigenen unifi Sub Geräten gehen.
Je unifi Gerät ein eigenes FHEM Device ... aber das ist vermutlich viel arbeit und dauert zu lange und dafür nutzen es dann zu wenige.


Ich habe mir dann mit einem Dummy und 2 DOIF's etwas gebaut um die Ports in den jeweiligen Zimmern Schaltbar zu haben und den Status anzuzeigen.
Für alle die es interessiert hier meine Umsetzung, wenn es optimierungsbedarf gibt, immer her damit:

Dummy für Geräte im FHEMWEB:

define <name> dummy
attr <name> alias SwitchPort
attr <name> devStateIcon on:it_net@green off:it_net@red change:it_net@orange
attr <name> icon it_network
attr <name> room <Raum>
attr <name> setList on off
attr <name> stateFormat portState


erstes DOIF zum setzen des Status:

define doif.10.<name> DOIF ([<name>:"on"] and\
[<name>:portState] eq "off") \
    (set <unifi Device> poeMode <name|mac|id> <port> poe+;;\
    setreading <name> portState change;;) \
DOELSEIF \
([<name>:"off"] and\
[<name>:portState] eq "on") \
    (set <unifi Device> poeMode <name|mac|id> <port> off;;\
    setreading <name> portState change;;)


zweites DOIF um den wirklichen Status (naja es gibt ok oder error, ich interpretiere ok als on und error als off) in den Dummy zu schreiben:

define 20.doif.<name> DOIF ([<unifi Device>:<reading vom geschalteten Gerät>_state] eq "error") \
    (setreading <name> portState off)\
DOELSEIF ([SYS.unifi:<reading vom geschalteten Gerät>_state] eq "ok") \
    (setreading <name> portState on)\



Grüße Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

justme1968

zu den readings für einzelne ports: daran hatte ich auch schon gedacht. aber es wird vermutlich unübersichtlich das alles im controller device zu haben. dann wäre vermutlich ein device pro switch besser. ich weiss aber nicht wie viele anwender es dafür gibt. andererseits könnte man es auch in den controller stecken und dann jeweils einen readingsProxy zum schalten verwenden. statt dummy und notify/doif. readingsProxy würde ich sowieso verwenden :) dann geht auch gleich on-for-timer und ähnliches automatisch.

wenn man damit anfängt kommen vielleicht auch noch mehr readings dazu und am ende hat man den kompletten status des controllers nachgebaut :). mit ensprechdem wartungsaufwand wenn sich das nicht dokumentierte api ändert :(.

ich glaube man sollte eher umgekehrt ran gehen:
- was möchte ich erreichen: pressend erkennung, poe ports schalten, verbrauch aufzeichnen, ...
- und dann erst mal genau nur das das so einfach wie möglich einbauen

gruss
  andre

ps: ich sehe das du den hmlan per poe betreibst. welchen poe splitter verwendest du da?

pps: gibt es noch andere anwender? von meiner seite spricht nichts gegen einchecken wenn keiner probleme hatte.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Christian Uhlmann

#353
ja sehe ich auch so. Zu readingsProxy muss ich gestehen, damit habe ich noch nicht gearbeitet, wenn du da was für den unifi parat hast, gerne mal posten :)

Für HMLan den hier:
https://smile.amazon.de/gp/product/B01EH4M782
+
https://de.aliexpress.com/item/5A-DC-DC-Step-Down-Adjustable-Power-Supply-Module-DC-DC-Step-Down-Voltage-Regulator-Kit/32486868611.html
um auf 7,5 V zu kommen
+
https://de.aliexpress.com/item/5pcs-lot-injuection-molding-IP54-ABS-plastic-diy-project-case-for-device-62-37-25mm/32753650496.html
weil ich die eh rumfliegen hatte und alles relativ gut reingepasst hat.

ein Poe Splitter auf 7,5 V habe ich nur für über 30€ gefunden, das war mir zu teuer.


Grüße
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

Christian Uhlmann

Hi,

Zitat von: Christian Uhlmann am 03 Mai 2017, 21:55:01
Zu readingsProxy muss ich gestehen, damit habe ich noch nicht gearbeitet, wenn du da was für den unifi parat hast, gerne mal posten :)

geil, klappt super. hier mein beispiel:

define <name> readingsProxy <unifi device>:<reading vom geschalteten Gerät>_state
attr <name> devStateIcon on:it_net@green off:it_net@red
attr <name> icon it_network
attr <name> setFn {($CMD eq "on")?"poeMode <name|mac|id vom Gerät an dem der Port geschaltet wird> <port> poe+":"poeMode <name|mac|id vom Gerät an dem der Port geschaltet wird> <port> off"}
attr <name> setList on off
attr <name> valueFn {($VALUE eq "ok")?"on":"off"}

zu beachten, bei mir war <reading vom geschalteten Gerät> mit Leerzeichen, das mochte readingsProxy nicht (oder ich hab keine möglichkeit dazu gefunden).

Dabei fällt mir auf, es könnte sinn machen ein reading je poe port zu erzeugen, in dem der status angezeigt wird.
dann muss man beim ausschalten nicht drauf warten, bis das gerät an diesem port nicht mehr als online erkannt wird.
weil wenn der port aus ist, ist das gerät ja sowieso sofort aus.

ebenso wäre der verbrauch pro port interessant und nicht nur die summen.
also wünsche ich mir 2 neue readings je poe port. eins mit dem status und eins mit dem verbraucht  :-[


Grüße

Christian
Host: Debian Buster als VM / XCP-NG
Gateways: DuoFern Stick, CUL433 Revolt, CUL MAX, HMLan, HM-USB 2, LaCrosseGateway
Devices: 12x Rademacher Rollos, 6x TX 29 DT-HT, 10x HM-CC-RT-DN, 14x MAX Fensterkontakte, Diverse HM Aktoren für Licht, Klingel, Gong, Eingangstür, ESPEasy, Sonoff mit Tasmota

Wuppi68

wäre es als zusätzliche Funktion möglich die WLAN Utilization als Reading zu bekommen? Der neueste Controller 5.4.15 aus dem Debian Repository unterstützt dieses :-)

Gruß und Dank

Ralf
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

justme1968

die angehängte version hat pro accesspoint ein _utilizationNA und _utilizationNG reading und lässt für switche das essid reading weg.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Wuppi68

Zitat von: justme1968 am 12 Mai 2017, 22:47:23
die angehängte version hat pro accesspoint ein _utilizationNA und _utilizationNG reading und lässt für switche das essid reading weg.

gruss
  andre

wow, danke für die schnelle Umsetzung :-)

Es geht
Jetzt auf nem I3 und primär Homematic - kein Support für cfg Editierer

Support heißt nicht wenn die Frau zu Ihrem Mann sagt: Geh mal bitte zum Frauenarzt, ich habe Bauchschmerzen

Eisix

Hallo,

gibt's was neues bzgl. Ein/Aus Gast WLAN und password setzen?

Gruß
Eisix

ThiemoSt

Ich habe festgestellt das ich lt. Perfmon einige Freezes habe (jeweils jede Stunde).
Mit verbose 5 habe ich jetzt festgestellt das es am Unifi Modul liegt.
2017.05.23 11:35:38 1: Perfmon: possible freeze starting at 11:35:37, delay is 1.967
2017.05.23 11:35:38 5: my_unifi_controller (Unifi_DoUpdate) - executed.
2017.05.23 11:35:38 5: my_unifi_controller (Unifi_GetAccesspoints_Send) - executed.
2017.05.23 11:35:38 5: HttpUtils url=https://192.168.0.14:8443/api/s/default/stat/device



Kann mir jemand sagen was das bedeutet?
Danke!
FHEM, Ubuntu unter Proxmox (NUCi7)
FHT80B; CUL_FHTTK; HMUARTLGW; HUE; Netatmo; ENIGMA2; FRITZBOX; S7 und viele weitere.