Linux 技术手札

Unifi 交换机实现定时开关 POE

POE 定时开关很实用,可以在指定时间关闭 POE 装置,在有需要时才开启。一直有使用 Unifi 的交换机,而 Unifi 的交换机一直没有定时开关 POE 的功能,以下分享一下我的做法。

每台 Unifi 的交换机也支援 SSH 登入,那便可以透过另一台主机,定时对它发出开启或关闭 POE 的指令,这个可以是虚拟机或 NAS 等,而我是透过 Raspberry Pi 执行。

首先需要确定启动 Unifi 装置有开启 SSH 连接,在 Unifi Network 按左边的 “设定” -> “System” -> “Advanced”,剔选 “Device SSH Authentication”。

开 Raspberry Pi 执行以下指令:

$ ssh-keygen -t rsa

选择档案位置及 passphrase 直接按 Enter 用默认值即可。

执行以下指令:

$ cat .ssh/id_rsa.pub

把那个 key 复制下来,进入 Unifi Network, 按 Settings > System > Advanced > Device Authentication > SSH Keys。

把上面复制的 key 加入,按 “Apply Changes”。

在 Raspberry Pi 可以不用密码直接在 Unifi 交换机执行指令。假设交换机的 ip 是 192.168.88.10,而要开/闭的埠号是 3, 可以用以下指令:

关闭 POE:

$ ssh admin@192.168.88.10 ‘swctrl poe set off id 3’

开启 POE:

$ ssh admin@192.168.88.10 ‘swctrl poe set auto id 3’

知道开/关的语法后,便可以用 crontab 实现定时开关功能。

Exit mobile version