Unifi: Switch-level Port-wise PoE control & Access Point-level LED control

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • MarkusCosi
    LoxBus Spammer
    • 28.09.2023
    • 314

    #1

    Unifi: Switch-level Port-wise PoE control & Access Point-level LED control

    Hallo,

    Anbei zwei ggf. nützliche Hinweise zur weiteren Einbindung von Unifi-Hardware in die Loxone-Welt.

    LED-Steuerung für Unifi Access Points:

    Mit dem Loxberry AnyPlugin kann man mit folgenden Schritten die Unifi Access Points LEDs ansteuern:
    1. Auf dem Loxberry das Terminal aufsuchen. Dort nach Eingabe bzw. Login mit dem standard Benutzer LoxberryUser und dessen Passwort. Dann ein RSA private/public-Keypair erstellen: "ssh-keygen -t rsa -b 2048" (Ausgabe-Ordner bei default belassen, d.h. mit Enter bestätigen). Hierbei kein passphrase erstellen (einfach die Abfrage mit Enter bestätigen).
    2. Auf der Unifi Console / im UnfiOS (z.B. im Webinterface einer Unifi Dream Machine) unter Network → Unifi Devices → "Device Updates and Settings" (button oben rechts) → Device Settings → Device SSH Authentication einen SSHUserName und Passwort anlegen.
    3. Anschließend den public key auf einen Unifi Access Point kopieren via "ssh-copy-id -i /opt/loxberry/.ssh/id_rsa.pub SSHUserName@<IPAccessPoint>". Hier muss einmalig das Device SSHPasswort eingegeben werden (definiert im Unifi OS in Schritt 2 zusammen mit dem SSHUserName). Bei dem Befehl ist ggf. der Ordner mit dem public key anzupassen, sofern ein anderer Ordner bei der Erstellung in Schritt 1. gewählt wurde.
    4. Test (optional): Im Loxberry-Terminal sollte nun folgender Befehl ohne Passwort-Aufforderung den LED-Ring des Access Points schalten: "ssh SSHUserName@<IPAccessPoint> -f 'echo # > /proc/gpio/led_pattern'", wobei # durch andere IDs ersetzt werden kann. (# = 0: Aus; 1: blau, 2: weiß, 10: blaues blinken, 20: weißes blinken; 12: blau/weiß blinken). Es scheint auch AP-Modelle mit mehr Möglichkeiten zu geben, z.B. Dimmen: link. Ggf, falls sich der Befehl als nicht permanent herausstellt, so eignet er sich zumindest um kurze optische Feedbacks zu geben. Permanente Variante mit An/Aus: siehe hier.
    5. Diesen Befehl kann man nun per AnyPlugin auch über Loxone in der Config als virtuellen Ausgangsbefehl absetzen: UnifiAPgpio udp command runuser -u LoxberryUser -- ssh SSHUserName@<IPAccessPoint> -f "echo <v> > /proc/gpio/led_pattern"
    6. In der Loxone Config habe ich hierzu einen Radiobutton-Baustein erstellt, und den "N"-Ausgang an einen Status-Baustein (Eingang "I1") gegeben. Dieser übersetzt die Zahlen I1=1, 2, ... in die entsprechenden Patterns, d.h. Val=0, 1, 2, 10, 20, 12. Der virtuelle Ausgangsbefehl ist dabei als nicht-digitaler Ausgangsbefehl definiert, und übergibt per <v> den entsprechenden Wert (Ausgang "Val" vom Status-Baustein) an den Befehl. Hierbei muss der Loxberry user, mit dem man den RSA Key erzeugt hat, per "runuser" im Befehl wie oben genutzt werden.

    Switch-Steuerung der PoE-Settings für einzelne Ports:
    1. Unter diesem Link findet man ein Skript. Dieses als z.B. poe.py lokal auf dem PC/Mac abspeichern.
    2. Über den Loxberry Filemanager (über das Menü erreichbar + security PIN vom Loxberry) dieses Skript dann z.B. unter opt\loxberry\webfrontend\html\XL\user auf dem Loxberry ablegen.
    3. Test (optional): im Loxberry Terminal einloggen, zum Ordner mit dem Skript navigieren, und folgendes eingeben: "python3 poe.py -s 'SwitchName' -p 5 -m auto" → schaltet Port #5 am Switch mit dem Namen "SwitchName" auf An (=auto). Die Syntax ist poe.py -s SwitchName -p PortNum -m auto|off|toggle.
    4. In der Loxone Config kann das Skript über das AnyPlugin aufgerufen werden. Dazu den virtuellen Ausgangsbefehl als digital anlegen und wie folgt definieren bei EIN und AUS (Beispiel: Port #5): UnifiSwitchPoE udp command python3 /opt/loxberry/webfrontend/html/XL/user/poe.py -s "SwitchName" -p 5 -m auto bzw. off
    5. In der Loxone Config dann noch einen Schalter-Baustein mit dem Befehl verbinden → fertig.

    zweite Methode:
    1. Passwort-loses ssh wie oben beschrieben für den Switch vorbereiten.
    2. Befehle wie folgt über das AnyPlugin per ssh auf dem Switch ausführen: "swctrl poe set off id #" bzw. "swctrl poe set auto id #", also in der Loxone Config als virtuellen Ausgangsbefehl an das AnyPlugin absetzen: UnifiSwPoE udp command runuser -u LoxberryUser -- ssh SSHUserName@<IPSwitch> -f "swctrl poe set off id #" bzw. mit "auto".

    ps.: über folgenden ssh-Befehl bekommt man auch die aktuelle PoE-Power: swctrl poe show id # | awk '/^[[:space:]]*3[[:space:]]/ { print $9 }' → gibt den Wert in Watt für Port #
    Zuletzt geändert von MarkusCosi; 02.09.2025, 08:26.
Lädt...