兩顆不斷電系統(UPS)並排運作的示意圖,象徵訊號傳遞與代理警報的設計

颱風前夕的意外測試:我家兩顆 UPS 是怎麼互相補位的

颱風要來了,家裡的不斷電系統(UPS)剛好也在最近換了電池,順手把整套關機、開機的流程重新測了一遍,發現了一個藏很久的坑,就來記錄一下這個過程。 起點:一顆不會講話的 UPS 家裡的 NAS、跑虛擬機的 Proxmox 迷你主機(負責家裡路由器)、還有 Home Assistant,這些設備 2023 年底就接在一顆 APC BV1000-TW 上面了。它撐停電是沒問題的,但它是一顆「啞巴」UPS,沒有 USB,也沒有 SNMP(簡單講就是網路可以查詢的狀態訊號),沒辦法跟家裡任何系統說「我快沒電了,準備關機」。 結果就是,每次真的停電,這些設備只能等電池耗盡被硬生生斷電。NAS 這種有檔案系統的機器最怕這種粗暴關機,容易半夜出包。 買第二顆,不是為了多一份保護,是為了多一張嘴 2026 年 4 月又買了一顆 CyberPower CP1500PFCLCDa,接的是放在另一個房間的電腦。電腦本來就跟 NAS/PVE/HA 不同房間,本來就需要一顆自己的 UPS,這顆的存在本身不算意外開銷。但真正讓這篇文章成立的重點,是它剛好有 USB,電腦上可以跑它的管理軟體 PowerPanel Business Local,把 UPS 的狀態翻譯成區網看得到的 SNMP 訊號。這樣一來,Home Assistant 就可以直接去讀這個訊號,知道現在是不是在吃電池。 巧妙(也有點取巧)的地方:借別人的嘴講自己的事 家裡這兩顆 UPS 插在同一個電源迴路上,真的跳電的時候會同時斷電。我們沒有特地幫 NAS/PVE/HA 那顆啞巴 UPS 加訊號模組,而是讓 Home Assistant 去監控 CyberPower 那顆的 SNMP 狀態,當成整屋停電的**「代理警報」**。一偵測到它進入電池供電,就觸發自動化:兩分鐘後依序關閉 NAS → PVE,Home Assistant 自己則靠 APC 那顆的電池撐著繼續跑,電腦另外由 PowerPanel 在停電五分鐘後自己關機。等電力恢復,Home Assistant 再送 Wake-on-LAN(喚醒封包)把 NAS 跟 PVE 都叫醒。 這次真正的意外測試:換電池 這次不是真的停電,是計畫性地把第一顆 UPS(NAS/HA/PVE 那顆)整顆拔掉換電池。差別在於,平常真的停電時,Home Assistant 是靠 APC 那顆的電池撐著活下來的,這次是直接切斷電源,連 Home Assistant 自己都跟著斷電。 ...

July 10, 2026 · 1 分鐘 · 102 字 · 陳柏威 Po-Wei Chen