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 實現定時開關功能。

Leave a Reply