NEWS
Adapter: ioBroker.unifi
-
Hallo zusammen,
ich suche verzweifelt in den objects nach den "Drahtlos-Netzwerken" da ich Einzelne gerne über IO-Broker aktivieren und deaktivieren möchte.
Auf der Controller Seite kann ich diese ja mit einen Klick [Haken] aktivieren bzw. deaktivieren.
Da ich 3 APs in Betrieb habe, ist es nicht wirklich praktikabel dies auf jedem AP einzeln und für beide Freqenzen zu erledigen.
Schon mal vielen Dank für einen Hinweis ob ich nur blind bin oder die Objekte gar nicht implementiert sind.
-
@cmoehler das ist nicht implementiert. Ich mache das über FHEM, dort geht das. Die Funktion in FHEM triggere ich jedoch über ioBroker an.
-
@Hiltex Danke für die Info. Leider nicht die Antwort die ich mir erhofft hatte. Es wäre mir lieber gewesen ich hätte die Objekte nur übersehen.
Komisch dass diese Funktionalität sonst keiner benötigt. Ist doch gerade diese Funktion so wichtig wenn eine Infrastruktur mit vielen APs vorhanden ist.
Ich benutze das z.B. um das WLAN, auf welches die Kinder Zugriff haben, "bedarfsgesteuert" ein bzw. auszuschalten. Wir Eltern und die restliche Haustechnik (Rasenmäher etc.) welche WLAN benötigen, haben dann immer noch Verbindung über ein separates WLAN.
Ich denke ich werde mir mal den UniFi-API-client genauer anschauen oder selbst mal die API des Unifi Controler debuggen. Als Ausgangspunkt gibt es da ja schon ein älteres Bash Script mit genau dieser Funktionalität, welches aber leider mit der aktuellen Controller Version (5.10.25) nicht mehr funktioniert. Die API ist leider auch nur sehr spärlich dokumentiert, ist aber ein Anfang um damit zu experimentieren. Oder hat vieleicht hier schon jemand das Script auf die aktuelle Controllerversion portiert? Falls ja, wäre es toll wenn es hier zu finden wäre.
FHEM ist für mich, nur für diese eine Funktion, im Moment keine Option, da ich mich damit überhaupt noch nicht beschäftigt habe.
-
@cmoehler Wenn du mal weiter hochscrollst, dann wirst du vielleicht meinen Beitrag finden, in dem ich genau das gleiche gefragt habe. Damals kam kein Feedback dazu, deswegen habe ich den Weg über FHEM gewählt, um das Gäste-WLAN ein- und auszuschalten. Funktioniert auch ganz gut.
-
Vielleicht hilft das noch beim debuggen:
https://github.com/Art-of-WiFi/UniFi-API-browser -
@Hiltex ich habe in den vielen Beiträgen versucht hier mit der Suche die relevanten Beiträge zu finden, bin aber nicht fündig geworden. Nach Gäste WLAN habe ich wohl nicht gesucht.
-
@darkiop Gute Idee mich da eventuell mal durch den Source zu wühlen. Andererseits ist es wahrscheinlich schlauer die API Lib zu installieren, da ich dann nicht bei jedem Update der Controller Software wieder von Vorne beginnen muss.
Werde erst mal auf Githup eine Anfrage plazieren, dieser Funktion doch in den Unifi-Adapter zu implementieren. Eventuell werde ich erhört.
-
Ok, hab auch gestern bemerkt dass der Unifi Adapter unheimlich viele DPs erzeugt (>20.000) ... interessant wäre hier auch wenn man dies Optional reduzieren könnte.
-
@darkiop Ja, da gibt es echt viele Objekte. Ich habe 3 APs und einen Managed Switch im Einsatz und entsprechend viele Objekte werden generiert.
In der Beschreibung oben steht ja auch noch dass keine Befehle absetzt werden können und der Adapter daher sowieso nur zu Informationszwecken (eventuell Visualisierung etc.) eingesetzt werden kann. Ich habe ihn daher jetzt wieder deinstalliert, da für meine Zwecke der Adapter nicht zu gebrauchen ist.
Im Prinzib wäre ein Unifi Adapter eine echt tolle Sache. Meines Erachtens müsste sich dieser aber erst mal nur um die Grundfunktionalität auf Controllerebene kümmern, wie z.B. WLAN_Netzwerke aktivieren und deaktivieren etc. und im zweiten Schritt, am besten optional, auch um die eigentlichen Geräte.
Denn einzelne Geräte lassen sich verhältnismässig einfach mittels SSH->Telnet steuern, da hier die Dokumentation der CLI Kommandos der EdgeSwitch sehr hilfreich ist. Ich benötige z.B., mit Putty's plink, im IO-Broker nur einen einzigen exec Befehl um z.B. das PoE eines Ports meines Unifi Switches ein- bzw. auszuschalten. Auch relatiev einfach ist die Statusabfrage z.B. von einem Port des Switch. Hier kommt dann das gute alte Expect zum Einsatz.
-
Ich habe auch getestet. Ja mir sind es auch zu viele unnötige Infos, müsste man eindämmen können.
Dann habe ich mich gefragt was für einen nutzen ich davon habe. Irgendwie finde ich keinen. Wenn ein shelly WLAN verliert sehe ich das auch in den shelly Objekten. Nur mal als Beispiel. Und wenn das Netz faul ist, sehe ich im iobroker eh nichts.
Der unifi Controller bietet doch schon alles, warum sollte man den nachbauen?
Was habt ihr denn so für einen Nutzen?@Jens bitte nicht falsch verstehen. Gute Arbeit, ich versuche es nur zu verstehen.
-
@lutzer mir sind das eigentlich auch zu viele Datenpunkte, aber ich nutze den Adapter für die Anwesenheitserkennung, die sehr zuverlässig funktioniert. Insofern störe ich mich auch nicht daran
-
@Hiltex dafür nutze ich ihn auch - mit Hilfe des last_seen Objektes.
-
Und wie ist es mit Handys und Standbay?
Und wir schalten nachts die Handys auf Flugmodus, kann man damit trotzdem arbeiten?
Das sind immer meine zwei ko Kriterien. -
@lutzer Logischerweise geht das dann nicht mehr.
Wenn das Handy nicht mehr sendet kannst du es auch nicht für eine Anwesenheitskontrolle verwenden. -
@Chaot
nicht getestet, aber Flugmodus und WLAN geht ja auch gleichzeitig (dann ist nur der Rest aus)
-
Mir hat der Adapter auch zu viel Systemlast erzeugt. Ich brauche eigentlich nur die Info der übertragenen Byte (um daraus die aktuelle durchschnittliche Datenrate zu errechnen) und ob die beiden WAN-Schnittstellen ordnungsgemäß verbunden sind und welche verwendet wird (failsave). Dafür ist mir der Adapter zu aufgeblasen. Deswegen mache ich das jetzt mit einem Shell-Script ohne merklicher Systemlast.
-
@Dr-Bakterius
gibt es auch eine Möglichkeit ein Gäste WLAN per Script oder Blockly an und aus zu schalten ? -
@dslraser Keine Ahnung, sorry. Ich habe mir die Befehle auch erst zusammensuchen müssen. Wenn du dich per SSH in die USG verbindest, kannst du mit 'show ?' eine Liste der möglichen Befehle abrufen. Weitere Hilfe bekommt man immer wenn man den Befehl mit Fragezeichen eingibt. Allerdings kann man hier nur Werte abfragen, keine Befehle senden.
-
@dslraser
mir ist der umfang der daten auch zu groß - teste gerade nodered unifi node - dort gibt es DisableWlan als befehl - getestet habe ich das noch nicht -
hab noch was gefunden und positiv getestet - ist ein linux-bash-script
https://community.openhab.org/t/solved-exec-commandline-bash-script-unifi-via-rule/66136/7
#!/bin/bash unifi_username=user unifi_password='pass' unifi_controller=https://192.168.x.xx:xxxx wifi_id=dsa4fsda6g46fdsg984 cookie=/tmp/cookie #site_id="" // deprecated curl_cmd="curl -s -S --cookie ${cookie} --cookie-jar ${cookie} --insecure " unifi_login() { # authenticate against unifi controller # Mute response by adding > /dev/null ${curl_cmd} -H "Content-Type: application/json" -X POST -d "{\"password\":\"$unifi_password\",\"username\":\"$unifi_username\"}" $unifi_controller/api/login #> /dev/null } unifi_logout() { # logout ${curl_cmd} $unifi_controller/logout } enable_wifi() { # enables guest wifi network # Mute response by adding > /dev/null ${curl_cmd} "$unifi_controller"'/api/s/default/rest/wlanconf/'"$wifi_id" -X PUT --data-binary '{"_id":"'$site_id'","enabled":true}' --compressed #> /dev/null } disable_wifi() { # enables guest wifi network # Mute response by adding > /dev/null ${curl_cmd} "$unifi_controller"'/api/s/default/rest/wlanconf/'"$wifi_id" -X PUT --data-binary '{"_id":"'$site_id'","enabled":false}' --compressed #> /dev/null } check_status() { # checks wifi network status # Mute response by adding > /dev/null response=$(${curl_cmd} "$unifi_controller"'/api/s/default/rest/wlanconf/'"$wifi_id" --compressed) status=$(echo $response | jq ".data[0].enabled") if [ "$status" == "true" ]; then exit 0 elif [ "$status" == "false" ]; then exit 1 else echo exit -1 fi } unifi_login if [ "$1" == "enable" ]; then echo "Enabling WiFi." enable_wifi elif [ "$1" == "disable" ]; then echo "Disabling WiFi." disable_wifi elif [ "$1" == "status" ]; then check_status else echo "Must include command line parameter [enable|disable|status]." fi unifi_logout rm $cookie
mit diesem script kann ich mein wlan ein und ausschalten ode den status abfragen
- es muss "apt-get install jq" ausgeführt werden (nur nötig, wenn man status will) (damit es bei mir funktionierte, mußte ich den jq pfad im script bei dem jq befehle angeben (unter bereich status)) - die wifi_id findet man so:
Getting your wifi_id:
Navigate to your controller and sign in.
Navigate to Settings > Wifi Networks.
Click Edit next to the SSID you’d like to control.
Copy the ID from the end of the URL.
In the following example, the ID is ( 000d00c0e0b0e00d00000000
url://example:8443/manage/site/default/settings/wlans/00bd00a6e0000e9da2cde10c/edit/000d00c0e0b0e00d00000000