以 RS485、Modbus 及 SunSpec 實現太陽能與電池的開放式本地監控
重點
大多數混合逆變器及不少電池,都透過 RS485 端口或網絡介面以 Modbus 協定提供數據,而 SunSpec 則為太陽能及儲能設備定義了一套免費開放的暫存器格式。借助數據記錄器、RS485 轉換器,或 pysolarmanv5 及 Home Assistant 等工具,業主可在本地讀取發電、電池及電網數據,無須依賴廠商雲端。部分品牌體系對此設有限制:截至 2026 年 10 月,Enphase 閘道須使用雲端簽發的令牌才能本地存取,Powerwall 3 在本地提供的數據亦比 Powerwall 2 少。建議先以唯讀方式開始,保護設定、電網參數設定及輸電限制則維持電力公司核准的狀態。
本地數據的重要性
透過廠商雲端監控固然方便,但數據便須依賴互聯網連線、廠商伺服器及廠商的帳戶條款。本地存取是指經家中網絡或序列線纜直接讀取逆變器或電池。互聯網中斷時本地存取仍然有效,而這往往正是業主最想知道電池電量的時候;它容許在數秒內作出反應的自動化,例如電池低於門檻時卸除某個負載;它亦為業主保留一份永久紀錄,不會因某項服務停止而消失。
我們的無須雲端的智能家居設備指南列出了哪些消費產品可在 Home Assistant 中本地運行。本文再深入一層,介紹逆變器及電池實際使用的通訊協定,對象是熟悉這些技術的業主、安裝商及工程師。全文的原則是先讀取;寫入設定則屬另一項決定,應交由安裝商及廠商處理。
RS485 與 Modbus RTU 基礎
RS-485 (開啟外部網站) 是一種雙絞線匯流排的電氣標準,以差分訊號傳輸,能承受逆變器周圍的電氣雜訊及長距離佈線。Modbus (開啟外部網站) 是最常在其上運行的請求與回應協定:由一個主站(例如數據記錄器或電腦)按地址輪詢各從站設備,讀取編號暫存器。Modbus RTU 是序列線路上使用的精簡二進制格式。下表數字來自 Modbus 序列線路規範 (開啟外部網站) V1.02;協定規範由 Modbus Organization (開啟外部網站) 發佈。
| 項目 | 規範 | 實際意義 |
|---|---|---|
| 地址 | 一個主站;從站編號 1 至 247 | 匯流排上每台逆變器、電池或電錶都需要唯一地址 |
| 每段設備數量 | 無中繼器時一律容許 32 台 | 規模較大的系統需加裝中繼器,或使用文件註明可接更多台的設備 |
| 訊號名稱 | D0 及 D1(D1 對應 B/B',D0 對應 A/A') | 各產品標示不一,應以設備手冊為準,而非端子上的字母 |
| 線路終端 | 只裝在主幹兩端,不得裝在分支線上,最多兩個:150 Ω(0.5 W),或在線路有偏置時用 120 Ω 串聯 1 nF | 終端電阻缺少或過多會引起反射及間歇性錯誤 |
| 線路偏置(bias) | 如有需要,在 D1 接上拉電阻至 5 V、在 D0 接下拉電阻,阻值 450 至 650 Ω,只設於一處,一般在主站 | 使閒置匯流排處於確定狀態;多台設備同時偏置可能造成干擾 |
| 速率及格式 | 必須支援 9600 及 19200 bps;19200 bps 及偶校驗為規定預設值 | 匯流排上所有設備的速率及校驗方式必須一致 |
| 線纜長度 | 9600 bps、AWG26 或更粗線材時約 1,000 m | 住宅內距離甚少成為限制,接地及走線才是關鍵 |
協定只規定如何請求某個暫存器,並不規定暫存器的含義。暫存器對照表是說明哪個地址存放電池電壓或電網功率、以及數值比例的文件;除非設備採用 SunSpec 模型,否則對照表由各廠商自行訂定。熟悉技術的業主取得對照表後,可用任何 Modbus 用戶端讀取設備;沒有對照表,讀到的只是一串數字。電池系統往往在電池管理系統與逆變器之間另設一條 CAN (開啟外部網站) 匯流排。這條連線傳送充放電限值,並不是可供接駁的監控端口。
Modbus TCP 與 SunSpec 模型
Modbus TCP 透過以太網或 Wi-Fi 傳送相同的請求,一般使用 TCP 502 端口,因此聯網逆變器或 RS485 轉以太網閘道可由網絡上任何電腦讀取。Modbus 本身不能防範未經授權的指令或數據截取,因此 Modbus TCP 設備應放在獨立的網段上,絕不可暴露於互聯網。
SunSpec Modbus 是針對各廠商自訂對照表的開放方案。SunSpec Alliance (開啟外部網站) 發佈標準資訊模型,即為逆變器、電錶及儲能設備定義了含義的暫存器組,令支援 SunSpec 的用戶端可讀取不同廠商的合規設備。SunSpec 表示其所有規範均可免費下載及使用,SunSpec Modbus 為 IEEE 1547-2018 所引用,並可與該標準列明的另外兩種通訊介面 IEEE 2030.5 及 IEEE 1815(DNP3)互通。Secure SunSpec Modbus 規範目前處於測試階段。設備如支援 SunSpec,應索取其實施說明,當中會列明所採用的模型及任何廠商自訂的附加內容。
數據記錄器、pysolarmanv5 與 Home Assistant
不少混合逆變器隨機附有 Wi-Fi 數據記錄器,經 RS485 讀取逆變器數據並上傳至雲端服務。Solarman(IGEN-Tech)製造的記錄器採用專有的 V5 協定,將 Modbus RTU 訊框封裝傳送。以 MIT 授權發佈的開源程式庫 pysolarmanv5 (開啟外部網站),可直接經 TCP 8899 端口與這類記錄器通訊,並提供同步及非同步介面。其文件註明不支援 Solis S3-WIFI-ST,另有部分以太網記錄器本身支援 Modbus TCP,無須使用此程式庫。
Home Assistant (開啟外部網站) 是開源家居自動化平台,大多數業主都在此整合這些數據。同樣以 MIT 授權的 ha-solarman (開啟外部網站) 自訂整合建基於非同步版 pysolarmanv5,亦支援經 ESP 或 Waveshare RS485 橋接器的 Modbus TCP。SolarAssistant 是商業方案:其軟件 (開啟外部網站)在 Raspberry Pi 上運行,無須互聯網連線,支援 EG4、Sol-Ark、Growatt、Deye 及 Victron 等品牌,並透過自動發現及 MQTT (開啟外部網站)、WebSocket 或 REST 將數據提供予 Home Assistant。
本地輪詢能否與記錄器的雲端上傳同時運作,取決於記錄器及其韌體,因此我們會按個別設備確認。同一條通往逆變器的 RS485 或 CAN 連線,亦是電池或車輛橋接控制器所使用的連線,詳見我們的電動車電池與混合逆變器指南。
先以唯讀方式開始,以及不應更改的設定
讀取暫存器不會改變逆變器的任何狀態,寫入則可能會。不少逆變器開放可寫入的暫存器,涉及運行模式、充電限值、輸電限制、電網參數設定及保護設定;寫錯地址或比例,會即時生效。我們不公開暫存器寫入方法,本文亦不作介紹。
保護設定、電網參數設定及輸電限制,都屬於電力公司核准內容的一部分。在紐約,按《標準化併網要求》 (開啟外部網站)辦理的併網以認證設備及電力公司設定為基礎,更改運行模式須重新提出申請。自行更改這些設定可能違反併網協議,可能影響防孤島功能及我們在逆變器快速關斷、電弧故障及絕緣檢測指南中介紹的安全功能,亦可能令保養失效。
- 在確認暫存器對照表與逆變器本身顯示的數值相符之前,以唯讀模式使用 Modbus 用戶端,或使用只讀取數據的整合。
- 將逆變器、記錄器及閘道放在獨立的 VLAN 上,不設任何由互聯網轉入的端口轉發。
- 充電時段等運行設定,應透過廠商有文件記載的介面或由安裝商更改。
- 電網參數設定、保護設定及輸電設定維持調試時的狀態;如需更改,應經安裝商辦理,並在需要時取得電力公司同意。
受限制的品牌體系(截至 2026 年 10 月)
部分主要品牌在近期韌體中收窄了本地存取。以下事實均按各資料來源所述列出,如廠商有說明理由,亦一併列明。
| 系統 | 變更內容 | 所述理由 | 資料來源 |
|---|---|---|---|
| Enphase IQ Gateway | 自閘道軟件 7.0.x 起,本地介面及 API 須使用由 Enphase 雲端以 Enphase 帳戶簽發的令牌;系統業主的令牌有效一年,安裝商的有效 12 小時。自韌體 8.2.4225 起,電池模式、電網充電及備用電量不能再透過本地 API 設定。 | Enphase:以令牌認證提升安全性;一年期限是為確保安全 | Enphase TEB-00060-2.0-EN(2025 年 6 月);Home Assistant 文件 |
| Tesla Powerwall 3 | 本地 HTTP API 比 Powerwall 2 限制更多,沒有離網控制、備用電量及單塊電池數據。自韌體 25.10.0 起,經路由存取閘道 192.168.91.1 介面的方式已停止,須直接連接 Powerwall 本身的 Wi-Fi。 | 我們未找到 Tesla 公開的說明 | Home Assistant 文件;pypowerwall 項目 |
Enphase 的令牌存取技術簡報 (開啟外部網站)補充說明,自行安裝而使用安裝商帳戶的用戶只會取得 12 小時令牌,除非 Enphase 客戶支援將帳戶轉為業主帳戶。令牌簽發後,數據可在本地讀取;但簽發及續期均須經 Enphase 雲端。Home Assistant 的 Enphase 整合 (開啟外部網站)會自動續期令牌,但帳戶啟用多重身份驗證時除外。
Powerwall 3 方面,Home Assistant 列明了本地可用項目的縮減 (開啟外部網站)。以 MIT 授權的開源項目 pypowerwall (開啟外部網站),經閘道 Wi-Fi 透過 Tesla 的 TEDAPI 介面讀取更多數據,並介紹一種使用已登記 RSA 金鑰的有線區域網絡模式。這些都是社群開發的介面,並非 Tesla 有文件記載的本地 API,任何韌體更新都可能令其改變。Tesla 的官方途徑是其雲端 Fleet API;據 pypowerwall 所述,該 API 將備用電量上限定為 80%。
對可控制的電網資產設置認證是合理的,兩家公司亦透過各自的應用程式為客戶提供支援。真正有待討論的問題範圍較窄:認證是否必須依賴廠商雲端帳戶,抑或可以由業主在本地取得及保管。
開放標準的要求範圍及其局限
現行公共規則已要求逆變器具備通訊能力,但對象是電力公司。IEEE 1547-2018 為分佈式能源列明三種本地通訊介面:SunSpec Modbus、IEEE 2030.5 及 IEEE 1815。在加州,Rule 21 第二階段通訊要求自 2020 年 6 月 22 日起生效;按 SunSpec 的概述 (開啟外部網站),加州安裝的任何太陽能逆變器或儲能系統,都必須證明具備按 Common Smart Inverter Profile 以 IEEE 2030.5 通訊的能力。
這些是面向電力公司的要求。它們要求通訊能力,以便電力公司及聚合商監控和管理設備;卻沒有要求向業主提供本地存取、登入憑證或暫存器對照表。一款產品可以符合這些要求,而完全不向業主提供任何有文件記載的本地介面。
支持有文件記載的本地介面的理由
我們認為有文件記載的本地介面對業主及整個行業都有裨益,並願意公開表明這一立場。雲端服務變更或終止時,業主仍可保留數據及自動化設定。安裝商可整合不同廠商的逆變器、電池、電錶及充電器,可在現場診斷故障而無須等候客戶支援,亦可在廠商退出市場後繼續維修系統。電力公司的計劃同樣受惠:PSEG Long Island 的 Battery Storage Rewards 計劃 (開啟外部網站)將參與計劃的家用電池組成網絡,在炎熱夏日紓緩電網負荷,而運作有賴第三方聚合商與每套系統之間穩定可靠的通訊。我們的電動車電池與混合逆變器指南完整論述了更廣泛地以家用及車用電池作為靈活儲能的理由,而這同樣有賴開放、標準的介面。
反對的考慮亦確實存在:開放介面必須做好保安;第三方工具出錯時,支援成本由廠商承擔;影響電網的設定亦必須受到管控。提供公開的唯讀對照表及可在本地簽發的憑證,再配合一條有文件記載並經認證的途徑,讓業主更改其可合理更改的設定,便可兼顧雙方。同一論點亦適用於電動車充電器,詳見我們的 OCPP 與充電網絡綁定指南。
選購清單及我們的安裝做法
- 逆變器、電池及電錶均有公開的 Modbus 暫存器對照表或 SunSpec 實施說明。
- 本地存取無須雲端帳戶,或所用憑證可由業主在本地續期。
- 配有有線 RS485 或以太網端口,而不只是 Wi-Fi。
- 有附發佈說明的韌體政策,本地存取如有變更會事先公佈。
- 已有屬本地 IoT 類別的 Home Assistant 整合,或有文件記載的 API。
- 如按我們的微型逆變器交流耦合至混合逆變器指南,將微型逆變器陣列耦合至混合逆變器,兩套系統均須可在本地存取。
電池數據同樣應該開放;我們的退役電動車電池用作家居儲能指南討論了電池管理系統本身的數據有多關鍵。在我們的項目中,我們選用具備有文件記載本地介面的設備,在安裝期間鋪設通往逆變器位置的屏蔽雙絞線 RS485 及以太網線纜,將設備放在獨立網段上,並在 Home Assistant 或業主選用的平台上設置唯讀監控。網絡及控制工程屬於我們的弱電工程服務,電力工程由合作的持牌電工施工。
常見問題
不用廠商應用程式可以讀取逆變器數據嗎?
通常可以。不少混合逆變器在 RS485 端口支援 Modbus RTU,或在網絡上支援 Modbus TCP;很多 Solarman 類記錄器亦可用 pysolarmanv5 或 ha-solarman 整合在本地讀取。您需要所用型號的暫存器對照表,或設備須支援 SunSpec。
Modbus RTU 使用甚麼波特率及終端電阻?
序列線路規範要求支援 9600 及 19200 bps,預設值為 19200 bps 及偶校驗;由於匯流排上所有設備必須一致,請按各設備手冊確認設定。匯流排只在兩端加終端電阻,阻值為 150 Ω,或在線路有偏置時用 120 Ω 串聯 1 nF。
為何我的 Enphase 系統本地存取需要令牌?
自 IQ Gateway 軟件 7.0.x 起,Enphase 要求本地介面及 API 採用令牌認證,並表示目的是提升安全性。業主以 Enphase 帳戶從 Enphase 雲端取得有效一年的令牌;安裝商令牌則有效 12 小時。
加州 Rule 21 是否給予業主本地存取逆變器的權利?
不是。Rule 21 要求逆變器證明具備以 IEEE 2030.5 通訊的能力,這是面向電力公司的要求,並沒有規定廠商須向業主提供本地存取、登入憑證或暫存器對照表。
透過 Modbus 更改逆變器設定是否安全?
讀取是安全的,寫入則另當別論。保護設定、電網參數設定及輸電設定屬於電力公司核准內容的一部分,更改這些設定可能違反併網協議並令保養失效。運行設定的更改應透過廠商有文件記載的介面或由安裝商處理。
參考資料
共 18 項
- MODBUS over Serial Line Specification and Implementation Guide V1.02 (開啟外部網站)Modbus-IDA
- Modbus Specifications (開啟外部網站)Modbus Organization
- Specifications (開啟外部網站)SunSpec Alliance
- California Rule 21 Phase 2 Goes Into Effect This Month (開啟外部網站)SunSpec Alliance
- pysolarmanv5 (開啟外部網站)GitHub
- Solarman Stick Logger (ha-solarman) (開啟外部網站)GitHub
- SolarAssistant (開啟外部網站)SolarAssistant
- IQ Gateway local APIs or UI access using token (TEB-00060-2.0-EN) (開啟外部網站)Enphase Energy
- Enphase Envoy - Home Assistant (開啟外部網站)Home Assistant
- Tesla Powerwall - Home Assistant (開啟外部網站)Home Assistant
- pypowerwall (開啟外部網站)GitHub
- New York State Standardized Interconnection Requirements Effective October 1, 2026 (開啟外部網站)New York State Department of Public Service
- Battery Storage Rewards Program (開啟外部網站)PSEG Long Island
- RS-485 (開啟外部網站)Wikipedia
- Modbus (開啟外部網站)Wikipedia
- CAN bus (開啟外部網站)Wikipedia
- Home Assistant (開啟外部網站)Wikipedia
- MQTT (開啟外部網站)Wikipedia
本指南反映的是我們截至發布或最近更新之日的經驗及對相關規定的理解。法規、規範、補助政策以及主管機關的執行方式經常變動,我們的理解也可能不完整或有誤。本指南僅為一般資訊,並非法律、工程、稅務或財務意見。在規劃、採購或開始任何工程之前,請諮詢相關主管機關及持牌專業人士。閱讀本指南並不使您成為我們的客戶,亦不構成任何承包、諮詢或顧問關係。Outstanding Construction Inc(卓越建設)對因使用或依賴本內容而產生的任何損失概不負責,僅對依據與我們簽署的書面合約所完成的工程承擔責任。