Home Assistant 本機空氣品質監測:感測器選型、安裝與控制實作

室內 CO₂ 與室外 PM2.5 四象限換氣及淨化決策圖

Home Assistant 本機空氣品質監測:感測器選型、安裝與控制實作

臺灣住宅的空氣品質控制經常同時碰到三件事:夏天開冷氣不想長時間開窗,室外 PM2.5 偶爾不適合直接引入,廚房與清潔活動又會在室內造成短暫高峰。只看一個紅黃綠燈,無法回答當下該換氣、淨化、除濕,還是先檢查感測器。

Home Assistant 與 ESPHome 適合把量測、紀錄和控制留在本地,但系統是否可靠,取決於測點、感測原理、資料處理和故障行為。本文不提供一組可以套遍所有住宅的「健康門檻」,而是用兩週試點建立自己的基線,再把有效的判斷擴充到其他房間。

先做兩週試點,不要一開始就裝滿整間房子

先挑一個有明確問題、也有可控設備的空間。例如臥室有機械換氣,或廚房有可連動的排風與空氣清淨機。試點只要回答四個問題:

  1. 哪一種事件會讓讀值改變?
  2. 現有設備啟動後,數值多久開始回落?
  3. 感測器失聯、重啟或移位時,系統能不能被發現?
  4. 家人能否接受設備噪音、通知頻率與手動覆寫方式?
試點層級要留下的資料驗收方式
事件烹飪、睡眠、清潔、開窗、排風與清淨機時間曲線能對回事實事件,而非只剩不明尖峰
量測PM2.5、直接量測的 CO₂、溫濕度;VOC 指標依需求加入同位置比對後,偏差與反應方向可解釋
控制啟動門檻、停止門檻、持續時間、最短運轉時間不在門檻附近反覆啟停,也不因一筆尖峰誤動作
故障unavailable、最後更新時間、重啟次數、手動覆寫拔掉節點、關閉 Wi-Fi 或致動器後,系統會進入預期狀態

圖一把一筆讀值走到設備動作前需要確認的環節排在一起。每次修改門檻前,都應知道問題出在量測、位置、濾波,還是控制端。

空氣品質量測問題經感測原理、測點、資料品質與判斷後進入設備控制的流程圖
圖一:先建立可追查的量測流程,再決定是否讓數值直接控制設備。

先決定要換氣還是除粒子

臺灣住宅很常遇到室內通風需求與室外粒子污染互相衝突。控制邏輯至少要同時看室內 CO₂ 趨勢與室外 PM2.5;若沒有可靠的室外感測器,可使用可信的官方測站資料作為參考,但仍要考慮測站距離、時間差與局部交通來源。

室內二氧化碳與室外 PM2.5 四象限換氣及淨化決策圖
圖二:四象限不是固定門檻表,而是避免把換氣與粒子淨化混成同一個動作。

CO₂ 較低、室外 PM 較低

維持現況。若風機或清淨機正在運轉,可在最短運轉時間結束、並低於停止門檻後逐步降載。正常區間仍要保留趨勢,因為設備效果常表現在回落速度,而不是單一數值。

CO₂ 偏高、室外 PM 較低

提高外氣量,或在安全條件下開窗,再觀察 CO₂ 的下降速度。若數值沒有改善,檢查佔用人數、門窗路徑、風量與感測器位置;單純把通知門檻調高只會掩蓋問題。

CO₂ 較低、室外 PM 偏高

關窗、使用內循環或粒子淨化。若室內 PM 仍上升,優先追查煎炒、香燭、吸菸、清掃、雷射列印或建築滲漏等室內來源。

CO₂ 偏高、室外 PM 也高

HEPA 濾網能處理粒子,卻不會移除 CO₂;直接開窗可改善 CO₂,又可能把室外粒子帶進來。這時需要有過濾的機械換氣、分時換氣、來源管理,或依房屋條件安排換氣與淨化的優先順序。

四種情況都要保留手動覆寫。烹飪、睡眠、會議或對噪音敏感時,住戶的操作需求可能比自動升到最高風量更重要。

一顆節點要先解決電源、匯流排與風道

本機空品節點可用 ESP32 搭配 PM、CO₂、VOC/NOx 與溫濕度模組。不過正式部署時,腳位數量通常不是主要風險。

工程面向試作時要確認長期部署常見問題
供電PM 風扇、CO₂ 光源與 Wi-Fi 同時工作時是否掉壓品質不佳的 USB 電源、細線與接頭造成隨機重啟
介面PMSX003 在 ESPHome 使用 UART;SPS30 官方元件目前只實作 I²CI²C 線太長、位址衝突、上拉電阻不合適
熱設計感測區是否遠離 ESP32、穩壓器和顯示器機殼內升溫使溫度偏高、相對濕度偏低
空氣交換進氣與排氣是否分開,開孔是否被牆面或濾網遮住排氣回吸、死體積過大、油霧與粉塵累積
維修接頭、感測器與外殼能否拆換杜邦線鬆脫、節點無標示、同型號備品無法快速替換

SCD4x 類 CO₂ 模組使用 I²C,並能輸出溫濕度;其溫度讀值會受外殼與鄰近熱源影響。SGP40 是 I²C 的 VOC 感測器;SGP41 另有 NOx pixel,可形成 VOC 與 NOx 兩種指標。兩者都是 MOx 交叉敏感訊號的相對指標,不是特定化學物的 ppm/ppb 濃度,且必須維持官方演算法所需的取樣節奏。若啟用溫濕度補償,資料應來自同一氣流位置。環境溫濕度若要拿來控制除濕,另設位置妥當的 SHT4x 類感測器通常較容易驗證。

一份可驗證的 ESPHome 最小設定

以下範例把 PMSX003 的 PM2.5 與 SCD4x 放在同一個試點節點,並示範 API 加密、OTA 密碼與裝置端中位數濾波。GPIO、名稱、加密金鑰與密碼都必須依實機修改;範例中的金鑰只是可通過語法檢查的公開測試值,不可用於正式設備。

這段設定刻意不替讀者決定 SCD4x 的自動自我校正。原廠的預設校正假設裝置每週能接觸約 400 ppm 的背景空氣;長期有人、很少充分換氣的空間,未必符合這個條件。正式設定前要先確認安裝環境,再決定是否沿用預設或安排可信的校正流程。

filters 會依列出的順序執行。上例每五筆輸出一次中位數,適合壓低孤立尖峰,但也會帶來延遲。烹飪事件、風機啟動與資料庫負擔各有不同需求,不能把五筆視為通用答案。

Home Assistant 用兩個門檻控制,不要只設一條線

先建立兩個 input_number:啟動門檻高於停止門檻。數值應由試點基線、設備能力與可接受的反應時間決定,不直接複製法規的長時間平均值。

以下自動化示範「持續超過啟動門檻三分鐘才開啟」、「低於停止門檻十分鐘才關閉」。實際的風扇實體、百分比與 helper 名稱需調整。

數值進入 unavailable 時,以上兩段不會自動替你決定故障狀態。應再建立失聯通知,並依設備用途選擇維持、關閉或轉固定風量。Home Assistant 重新啟動或重新載入自動化時,numeric_statefor 等待時間不會保留;重要的舒適性控制若需要在 Home Assistant 或 Wi-Fi 中斷時繼續運作,可把最低限度邏輯留在 ESPHome 裝置端。這只降低網路與 Home Assistant 的單點故障,不等於硬體故障安全或生命安全認證。

若要自動控制抽油煙機或局部排風,必須確認原廠允許遠端控制,且補風、燃燒設備排氣、停電復歸與設備安全互鎖都已驗證;否則只發通知,由人員操作。外加繼電器不可繞過設備原有的安全設計。

感測器量到的不是同一件事

指標常見原理適合回答解讀邊界
PM1/PM2.5/PM10雷射光散射後估算質量濃度烹飪、香燭、清掃、室外粒子滲入與清淨機效果不知道粒子化學成分;高濕、凝結、油霧與風道會影響結果
CO₂直接光學量測;SCD4x 為光聲式 NDIR人員活動與換氣趨勢不是所有空氣污染的總分;校正假設、氣壓與測點會影響解讀
VOC/NOx 指標MOx 原始訊號加 Gas Index Algorithm相對近期基線的氣體事件不是 ppm/ppb,無法辨識甲醛、酒精、油煙或黴菌
溫度/相對濕度電容式濕度與溫度量測除濕、凝結風險、舒適與其他感測器補償熱源與機殼通風可造成固定偏差或隨負載漂移

ESPHome 會以元件要求的 1 Hz 節奏驅動 SGP4x;update_interval 管的是對外發布頻率,不是把晶片改成每分鐘才量一次。演算法狀態若在每次重啟後都丟失,近期基線會反覆重新學習,因此部署時還要監看 uptime、重啟次數與狀態還原。

BME68x 類元件也需要區分原始氣體阻值與演算法輸出。原始阻值應按原意標示;若顯示 IAQ 或類似分數,必須說明使用的演算法、暖機與狀態保存方式,不能改名成實驗室濃度。

用事件測試找測點

正式鎖牆前,把節點在候選位置各放幾天,用日常事件比較反應。測點的目標不是「量到整間房子的平均」,而是能穩定回答控制問題。

控制目的建議測點應避開的位置驗證事件
改善臥室換氣一般呼吸區、遠離床頭直吹與門窗縫正對人的呼氣、冷氣出風口、窗邊比較入睡後上升、換氣啟動後回落速度
判斷空調混合空氣回風附近但不阻礙風道送風口正前方開關空調、切換風量,觀察數值是否只受送風溫度支配
追查烹飪逸散廚房外圍或相鄰空間的代表位置爐火、蒸氣和油煙正上方記錄抽油煙機開啟前後 PM 峰值與回落時間
控制浴室或牆角潮濕可反映空間濕度、又不直接淋水的位置出風口正前方、冷凝水可能滴落處洗澡後記錄排風與除濕所需時間
建立室外粒子參考遮雨、通風且遠離自家排風的位置排油煙口、車庫口、日曬密閉盒與鄰近官方測站和室內滲入事件比對

移動節點時要留下日期與位置。若半年後曲線改變,沒有移位紀錄就很難判斷是季節、住戶行為,還是感測器搬家造成。

本機系統仍要盤點資料會去哪裡

把節點留在區網,只是縮小資料出口的第一步。圖三把 ESPHome、Home Assistant、Recorder、備份、致動器與外部通知分開,方便逐項設定權限與保留期。

ESPHome 空氣品質節點資料流入 Home Assistant、Recorder、備份、致動器與外部通知的邊界圖
圖三:遠端存取、推播與雲端備份都是額外出口,需要分別管理。

只寫 api: 並不會自動啟用加密。ESPHome 節點應使用每台不同的 API encryption key 與 OTA 密碼,關閉不需要的 Web Server 和除錯入口,也不應直接暴露在公網。IoT 網段的防火牆規則要保留節點與 Home Assistant、DNS、時間同步及管理端真正需要的本機流向。

Home Assistant Recorder 可用 includeexclude 控制哪些實體進資料庫。原始 state 與短期統計依保留策略清除,預設是 10 天;具有有效 state_class、而且確實被 Recorder 記錄的感測器,才會進入每小時長期統計管線。長期統計不會隨一般 Recorder purge 自動刪除,因此縮短 purge_keep_days 並不代表所有長期資料都消失。

CO₂、濕度與烹飪事件的長期曲線,可能間接反映作息與房間佔用。若啟用遠端存取、手機推播或雲端備份,需另外設定存取權限、加密與刪除週期;Recorder 位於本機不會自動完成這些工作。

臺灣法規數值有平均時間與適用場所

臺灣《室內空氣品質標準》列出的部分項目如下:

項目標準值法定平均時間
CO₂1,000 ppm八小時值
CO9 ppm八小時值
甲醛0.08 ppm一小時值
TVOC0.56 ppm一小時值
PM2.535 μg/m³二十四小時值
PM1075 μg/m³二十四小時值

法規管理核心是依法公告的場所;私人住宅不能直接套用相同的定期檢測與裁罰義務。表中的 TVOC 也有指定 12 種揮發性有機物濃度總和的定義,與 SGP4x 的 VOC 指標、BME68x 演算法分數或消費型裝置顯示的 TVOC 並非同一種量測。

一分鐘讀值無法直接與依法定方法取得的一小時、八小時或二十四小時平均結果畫等號。家用節點適合觀察趨勢、事件與設備效果,不是法定檢測儀器或醫療診斷工具。若懷疑燃燒廢氣、甲醛或特定化學污染,應使用合適儀器並尋求合格人員。

一般空品節點也不取代合格的一氧化碳與住宅火災警報器。CO₂ 與 CO 是不同氣體,VOC、CO₂ 或 PM 模組不應承擔生命安全警報設備的責任。若 CO 警報器響起,或多人同時出現頭痛、暈眩、噁心、意識混亂、胸痛或呼吸困難,應立即離開到戶外新鮮空氣處並聯絡消防或緊急醫療服務;不要留在室內等待儀表板恢復,也不要先尋找來源。

DIY、可本機整合成品與工業設備的選擇

路線適合情況優點需承擔的工作
ESPHome DIY 節點能處理配線、韌體、機構與維護設定可追蹤,容易加入特殊控制與故障訊號電源、外殼、校正、備品與文件都由自己負責
可本機整合的成品想快速部署,仍要求 LAN API外觀、電源與安裝通常較完整驗證帳號需求、離線行為、韌體更新與 API 是否長期可用
Modbus/Ethernet 工業設備SI、辦公室、機房或固定維護專案供電與介面較適合固定安裝,便於納入既有控制成本、體積、校正服務與 Home Assistant 轉接工作較高

採購時要求完整型號、感測原理、輸出語意、校正條件、維護方法、離線行為與韌體政策。商品只寫「高精度」、「TVOC」或「支援智慧家庭」,仍不足以判斷是否適合長期控制。

四個部署後常見問題

Home Assistant 還顯示最後一筆值,怎麼知道節點已離線?

儀表板同時顯示 unavailable、最後更新時間與裝置 uptime。測試時拔掉節點電源,確認控制自動化不會把最後一筆正常值繼續當成即時值,並驗證通知和致動器安全狀態。

CO₂ 到多少一定要開窗?

沒有適合所有房間的單一瞬時值。先記錄一週的人數、時段、室外條件與回落速度,再訂初始啟停門檻;若使用機械換氣,也要核對風量和噪音。法規的八小時值不能直接改成一分鐘自動化門檻。

感測器怎樣比對才有意義?

把多顆感測器放在同一位置,於熱平衡後涵蓋正常、烹飪、換氣與高濕等事件。先看偏差是否固定、是否只在某些條件放大,再依確切型號規格判斷。這種同位置比對能找出異常節點,但不等於可追溯校正。

沒有可控的換氣或清淨設備,還值得監測嗎?

可以,但通知只保留住戶能採取的動作,例如提醒開啟抽油煙機、檢查窗戶或移除污染來源。若每次告警都無法處理,很快就會形成告警疲勞;這時應先調整通知條件,而不是增加更多感測器。

結論:用試點結果決定是否擴充

兩週後,檢查曲線能否重現日常事件、設備動作是否帶來可見改善、失聯是否會被發現,以及另一位維護者能否依文件重建節點。若讀值仍無法解釋設備效果,先處理位置、供電、風道與資料品質。

完成這些驗證後,再把相同方法擴充到臥室、廚房或其他區域。每增加一顆節點,都應同時增加型號、位置、韌體設定、校正條件與故障處理紀錄,否則數量增加只會讓日後維護更困難。

分享到社群

發佈留言