找回密碼
 立即註冊
惟家LINE群QRCODE
    查看: 1|回覆: 0

    Zigbee 韌體更新與協調器備份:換硬體不用重新配對

    [複製鏈接]

    !lvup!   100%

    363

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22005752
    發表於 3 天前 | 顯示全部樓層 |閱讀模式
    這篇講兩件事,都是「出事之前要先做」的。



    第一部分:OTA 韌體更新

    Zigbee 裝置也有韌體,而且可以無線更新(OTA)。

    什麼時候該更新


    • 裝置有已知的 bug(例如電量顯示不準、會隨機掉線)
    • 廠商修了相容性問題
    • 要用新功能


    什麼時候不該更新


    • 現在用得好好的 —— 真的,不要亂更新
    • 更新過程有風險(下面說)


    怎麼更新(Z2M)


    • Z2M 前端 → OTA 分頁
    • 會列出有更新可用的裝置
    • Update


    或者在 HA 裡

    Z2M 2.x 會把韌體更新發佈成 update 實體
    直接在 HA 的「設定 → 更新」裡就看得到。

    OTA 的注意事項(很重要)



    一、很慢


    • 一個裝置可能要 10-60 分鐘
    • 電池裝置更慢(要等它醒來才能傳一段)
    • 不要中途停掉 Z2M


    二、一次只更新一個

    同時更新多個會塞爆網路,而且失敗率高。

    三、電池要夠


    • 電量低於 50% 不要更新
    • 更新到一半沒電 → 裝置可能變磚


    四、訊號要好


    • LQI 低的裝置不要更新
    • 更新前先把裝置拿到協調器附近(如果可以移動的話)


    五、更新失敗怎麼辦


    • 大部分情況下裝置會自己回到舊韌體(Zigbee OTA 有保護機制)
    • 重試一次通常就好
    • 真的變磚的話,有些裝置可以用 USB 重刷(要拆)


    WindFront 前端最近加了「中止 OTA 更新」的按鈕
    那個功能需要 Z2M 的 dev 分支 ——
    在正式版上按了不會有作用,別以為是壞了。

    我的建議

    「沒壞就不要更新」是對的,但有兩個例外


    • 廠商明確說修了你遇到的問題
    • 新裝的裝置,趁還沒依賴它的時候先更新好




    第二部分:協調器備份(這個更重要)

    先講最壞的情況


    • 協調器 USB 棒壞了
    • 你的 HA 主機掛了要重灌
    • 你想換一支更好的協調器


    沒有備份的話 —— 五十個裝置全部要重新配對。

    每個都要爬梯子、按 reset、等配對、重新命名、重建自動化的實體 ID。

    有備份的話 —— 換上去,開機,全部照舊。

    備份裡有什麼


    • 網路金鑰(Network Key)
    • PAN ID / Extended PAN ID(網路識別碼)
    • 頻道
    • 所有裝置的配對資訊


    只要這些一樣,裝置就認得出這是同一個網路。

    Z2M 怎麼備份

    好消息:Z2M 自己會備份。
    1. /config/zigbee2mqtt/coordinator_backup.json
    複製代碼

    Z2M 每次正常關閉的時候會更新這個檔案。

    你要做的


    • 把它複製到別的地方(雲端、隨身碟、另一台電腦)
    • 連同 configuration.yaml 和 database.db 一起備份
    • 定期更新備份(加了新裝置之後)




    三個檔案的分工


    • coordinator_backup.json —— 協調器的網路資訊(換硬體時用)
    • database.db —— 裝置清單、狀態、綁定(Z2M 這邊的記錄)
    • configuration.yaml —— 你的設定(名稱、精度、debounce)


    三個都要備份,缺一個就會有東西掉。

    怎麼還原(換協調器)


    • 停止 Z2M
    • 把三個檔案放回去
    • 插上新的協調器
    • 確認 serial 路徑對(新的棒子可能是不同的 /dev/ttyXXX)
    • 啟動 Z2M


    Z2M 會自動把備份裡的網路金鑰寫進新協調器。

    重要:用 by-id 路徑,不要用 /dev/ttyUSB0
    1. serial:
    2.   port: /dev/serial/by-id/usb-Texas_Instruments_...
    複製代碼

    為什麼/dev/ttyUSB0 的編號會變 ——
    重開機之後你的協調器可能變成 ttyUSB1,Z2M 就找不到了。

    by-id 是根據硬體序號產生的,不會變。

    跨品牌換協調器


    • 同晶片系列通常可以(例如 CC2652 換 CC2652)
    • 跨晶片就不一定(CC2652 換到 EFR32 可能會有問題)
    • Z2M 的還原機制有限制,跨品牌前先搜尋一下


    ZHA 的備份


    • 設定 → 裝置與服務 → ZHA → 三個點 → 下載診斷
    • 或者直接備份 HA 的 config 目錄裡的 zigbee.db
    • HA 的完整備份也會包含 ZHA 的資料


    ZHA 2024 之後也支援協調器備份與遷移
    在 ZHA 的設定裡有「遷移協調器」的選項。



    一個實用的備份習慣

    我的做法


    • HA 的自動備份每天跑一次(包含 Z2M 附加元件的設定)
    • 備份自動上傳到 NAS
    • 每次加了新裝置之後手動再備一次
    • coordinator_backup.json 額外複製一份到雲端硬碟
        (它很小,幾 KB 而已)


    用 HA 的自動化提醒自己
    1. automation:
    2.   - alias: 新增 Zigbee 裝置後提醒備份
    3.     triggers:
    4.       - trigger: event
    5.         event_type: zha_event
    6.         # Z2M 的話用 MQTT 主題 zigbee2mqtt/bridge/event
    7.     actions:
    8.       - action: persistent_notification.create
    9.         data:
    10.           title: 記得備份
    11.           message: 剛才有 Zigbee 裝置變動,記得更新協調器備份
    複製代碼

    不要等到出事才想起來。

    最後一個提醒:不要同時跑兩個 Zigbee 軟體

    Z2M 和 ZHA 不能同時用同一支協調器。


    • 會互搶,兩邊都不穩
    • 要換的話先把舊的停用
    • 從 ZHA 換到 Z2M(或反過來)必須全部重新配對 ——
        兩邊的資料庫格式不同,沒辦法直接轉


    所以:一開始就選定一個,不要換來換去。

    ---

    下一篇:Zigbee 干擾排查 ——
    頻道、USB 3.0、距離,一個一個查。
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    Archiver|手機版|惟家的智能論壇

    GMT+8, 2026-9-24 11:15 , Processed in 0.075654 second(s), 24 queries .

    快速回覆 返回頂部 返回列表