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:
- 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).
- 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.
- 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.
- 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.
- 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"
- 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:
- Unter diesem Link findet man ein Skript. Dieses als z.B. poe.py lokal auf dem PC/Mac abspeichern.
- Ü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.
- 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.
- 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
- In der Loxone Config dann noch einen Schalter-Baustein mit dem Befehl verbinden → fertig.
zweite Methode:
- Passwort-loses ssh wie oben beschrieben für den Switch vorbereiten.
- 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 #