第二部 · 第 13 章

Home Assistant KNX 整合架構

區分 Home Assistant KNX 整合內的 xknx 邏輯與獨立 KNXD daemon 責任,不主張現場路徑。

已撰寫

本章概覽

先說結論:你只會在紙上畫本教學的候選責任圖。圖中把 Home Assistant KNX 整合內的 xknx 邏輯、獨立的 KNXD daemon、連接介面與 KNX bus 分成五張桌子;這不是通用架構或已證實的現場路徑,也不會加入整合。

目的
用本教學的五張候選責任卡,分清各角色而不把它們畫成已證實路徑。
準備
一張空白紙與五張空白小卡;不需要 Home Assistant 或現場資料。
時間
約 15 分鐘。
系統變更
不加入或設定 Home Assistant KNX 整合;只閱讀固定來源的架構責任。
預期結果
能分清 Home Assistant KNX 整合內的 xknx 邏輯、獨立 KNXD daemon 與 KNX 側責任,並把候選拓撲及現場成果維持未證實。
停止條件
  • 步驟要求加入整合、填入端點或重新載入 Home Assistant。
  • 不得把版本或元件存在稱為整合已成功。

範圍與安全界線

本章只准用紙和空白小卡。不要開啟 Home Assistant、KNXD 或 ETS,不要連線、探測、重新載入或填任何環境資料。五桌圖只是一種候選責任拓撲,不是設定指示、通用分層規則或現場路徑證據。

不加入 repository、不安裝、不啟動。這些動作只有在實體隔離、書面核准,以及核准的 immutable artifact/image digest 與 source-to-build attestation 全部具備時才可另案評估;本章不提供這些條件。

不得自動化群組讀取。不得群組寫入。不得傳送 telegram。不得執行 ETS programming/download。不得實體控制。紙上圖不能證明 KNXD、介面、KNX bus、ETS 或 Home Assistant 整合有任何成果。

核心概念

先看責任,再看名稱。每張桌子只處理自己的工作;前一桌完成紙上分類,不代表下一桌已收到東西。

一排交接桌

先這樣想:第一桌管理服務櫃檯,第二桌是櫃檯內使用的規則手冊;第三桌則是另一個獨立辦公室。再放上交接口與大樓內部網路兩張候選責任卡,只是方便本教學逐項提問,不表示五桌必然排成一條路,也不表示交接已發生。

正式名稱:Home Assistant KNX 整合、該整合邊界內使用的 xknx library/KNX 邏輯、獨立的 KNXD daemon、interface 與 KNX bus 候選責任。

xknx 是 Home Assistant KNX 整合邊界內使用的 library/邏輯,不是 KNXD。KNXD 是獨立 daemon,也不是該整合本身固有的一層。固定 Core manifest 只支持該版本宣告 xknx 相依邊界;五桌排列則是本教學的候選責任拓撲,不能由此推論整合一定經過 KNXD、介面或任何已證實現場路徑。

五張桌子都要寫「狀態彼此獨立;排列不是通用路徑」。文件或元件存在,只能支持名稱與責任,不能支持載入、連線、傳輸或控制結果。

準備與前置條件

你只要準備一張無實值工作紙。畫五個空框,另留「來源支持」與「不能證明」兩欄。

  • 五張卡只寫角色名稱,不寫主機、位址、連接埠、秘密、專案或裝置資料。
  • 每張卡都先填「狀態未知」。
  • 候選關係線只寫「概念責任」,不畫方向、不寫參數,也不暗示整合必須經過 KNXD。
  • 指定另一位審閱者檢查沒有設定步驟與成果暗示。
  • 若有人要求現場資訊,立即停止紙上流程並移交核准程序。

分段步驟

完成後只會得到一張紙上架構圖。

  1. 放下整合桌。寫「管理 Home Assistant 內的整合責任」,並補上「沒有加入或載入證據」。
  2. 放下邏輯桌。寫「xknx library/KNX 邏輯位於 Home Assistant KNX 整合邊界內」,並補上「宣告相依不等於已運作」。
  3. 放下 KNXD 桌。寫「獨立 KNXD daemon;不是 Home Assistant KNX 整合固有層」,不要把 daemon 或 listener 狀態帶入圖中。
  4. 放下介面桌。寫「守住交接邊界」,不要加入介面種類、名稱或現場狀態。
  5. 放下 bus 桌。寫「現場網路責任;本章沒有成果證據」。
  6. 標記候選關係。不用方向箭頭;每條線只標「本教學候選責任」,最後寫「不是通用或已證實路徑;沒有設定、連線或成果主張」。

驗證與證據

合格成果是五張責任卡,不是系統圖的實作證明。你應能指出每張卡負責什麼,也能說出它不能替哪一張卡作證。

  • 我有五張分開的責任卡,且每張卡的狀態都是未知。
  • 我能說明 xknx library/邏輯位於 Home Assistant KNX 整合邊界內。
  • 我把獨立 KNXD daemon 與 Home Assistant KNX 整合分開,且沒有把 KNXD 畫成固有層。
  • 我把介面與 KNX bus 分開,也把五桌標成非通用、未證實的候選責任拓撲。
  • 圖上沒有任何環境資料、設定形狀、操作步驟或成果主張。
  • 我沒有執行 ETS 或 Home Assistant 整合操作。我不得執行群組動作,不得傳送 telegram,也不得實體控制。

下一步:前往第 14 章,把設定需求整理成離線占位工作表。

故障排除

  • xknx 與 KNXD 看起來是同一件事:把前者改寫成「整合邊界內使用的 library/邏輯」,後者改寫成「獨立 daemon,不是整合固有層」。
  • 箭頭看起來像執行流程:移除方向與動詞,只保留「本教學候選責任;非通用或已證實路徑」。
  • 元件存在被寫成已運作:退回「固定來源有此角色;執行狀態未知」。
  • 有人想加入連線資料:停止。紙上圖不收環境資料。
  • 有人要求加入整合確認:停止。本章沒有設定或測試授權。
  • 有人想用 bus 動作驗證:拒絕。不得自動化群組動作,不得傳送 telegram,也不得實體控制。

常見問題

進階補充:兩筆固定來源各能說到哪裡

固定的 Home Assistant KNX 文件快照支持文件中的整合概念。分開鎖定的 Core 版本 manifest 支持該版本的整合登錄與 xknx 相依邊界。兩筆來源並列,不代表彼此版本完全對應,也不證明套件已載入、整合已建立或 KNX bus 有結果。

xknx/KNX 邏輯就是 KNXD 嗎?

不是。xknx 是 Home Assistant KNX 整合邊界內使用的 library/邏輯;KNXD 是獨立 daemon,不是該整合本身固有的一層。

KNXD 存在是否代表整合存在?

不代表。兩者有不同生命週期與證據。

介面卡是否代表介面已有執行證據?

不代表。卡片只說明交接責任。

紙上五桌是否代表通用或現場路徑?

不代表。它只是本教學的候選責任拓撲,不是連線、傳輸或現場路徑證據。

本章能證明 Home Assistant 或 KNX bus 有成果嗎?

不能。本章沒有任何執行或現場成果。

證據與來源

證據類別:source-bounded

功能對照:home-assistant-knx-concepts、home-assistant-knx-core-release-boundary

固定來源只支持文件所述範圍;本頁不代表任何本機、硬體、網路或 KNX 匯流排驗證結果。