PoE Zeitsteuerung für UniFi Switche

Mit folgender Anleitung könnt ihr PoE auf einzelnen Ports der UniFi-Switche ein- oder ausschalten. Es führen mehrere Weg zum Ziel. Ich habe mich dafür entschieden per SSH den entsprechenden Befehl direkt auf dem Switch abzusetzen. Voraussetzung dafür ist, dass ihr ein System mit SSH-Client 24×7 betreibt. Bei mir ist das der Linux-Server, auf dem auch der Controller läuft.

Die Befehle, die benötigt werden sind

swctrl poe set off id <id>

um PoE auszuschalten bzw.

swctrl poe set auto id <id>

um PoE einzuschalten, wobei <id> der numerische Wert des Ports ist.

Damit wir diese auf dem Switch ausführen können, müssen wir uns zunächst auf dem Switch per SSH einloggen. Es gibt Lösungen, bei denen das Passwort dem SSH-Client mitgegeben werden kann. Sicherer funktioniert es mit SSH-Keys.

Das Schlüsselpaar erstellen wir unter Windows mit PuTTYgen, welches im PuTTY-Installer (Download unter https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html) enthalten ist, unter „Key“, „Generate key pair“.

Das Feld „Key“ enthält den Pubic Key, welchen wir im UniFi-Controller unter Einstellungen (Zahnrad), „System“, „Network Device SSH Authentication“ in das Feld „SSH-Keys“ kopieren. Der Name ist unerheblich. Login erfolgt weiterhin als admin. (Die Anmeldung kann nun entweder per Key oder Passwort erfolgen.)

In PuTTYgen speichern wir den privaten Schlüssel mit „Conversions“, „Export OpenSSH key (force new file format)“ und kopieren diesen auf unser Linux-System. Damit wir den Schlüssel verwenden dürfen, müssen wir die Zugriffsrechte einschränken. Dies geschieht mit

chmod 700 <name_der_schluesseldatei>

Jetzt können wir mit

ssh -i <name_der_schluesseldatei> admin@<ip.des.switch.es>

die Verbindung testen. Da der Client den Host noch nicht kennt, müssen wir einmalig den „RSA key fingerprint“ bestätigen.

Nun ist es möglich mit

ssh -i <name_der_schluesseldatei> admin@<ip.des.switch.es> -f 'swctrl poe set auto id <id>'

PoE auf dem Switchport <id> zu aktivieren.

Die Zeitsteuerung erfolgt mit crontab. Die Konfiguration erreichen wir mit

crontab -e

Details findet ihr hier: https://www.linuxwiki.de/crontab. In meinem Beispiel gehe ich davon aus, dass die Schaltung jeden Tag erfolgen soll. Und zwar schalten wir PoE auf dem Port <id> um 22:30 aus und um 06:45 wieder ein.

30 22 * * * ssh -i <name_der_schluesseldatei_inkl_Pfad> admin@<ip.des.switch.es> -f 'swctrl poe set off id <id>'

45 6 * * * ssh -i <name_der_schluesseldatei_inkl_Pfad> admin@<ip.des.switch.es> -f 'swctrl poe set auto id <id>'

Achtung. Wenn das Gerät neu provisioniert wird, wird auch die PoE-Einstellung überschrieben.

Getestet habe ich die Anleitung auf einem USW-Lite-16-PoE mit Firmware 6.3.13 und Linux-Controller 7.1.68. Auf dem Server läuft Debian 11.

Diese Anleitung wurde nach bestem Wissen erstellt. Ich kann jedoch keine Garantie, Gewährleistung oder Haftung übernehmen. Ich hafte nicht für Schäden, die durch die Nutzung dieser Anleitung entstehen.


Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert