|
|
三十個燈泡直接拉到儀表板上,那是災難。但「怎麼整理」這件事,Home Assistant 現在給你的工具比大部分教學寫的多兩種。
很多文章講到整理就只有「群組」和「區域」兩個選項。實際上現在是四層:
- 群組(Group) 把幾個實體合併成「一個可以操作的實體」
- 區域(Area) 空間。客廳、主臥、浴室
- 樓層(Floor) 區域的上層。一樓、二樓、地下室(2024.1 加的)
- 標籤(Label) 跨越以上三者的任意分類。「假期時要關的」「會耗電的」
- (2024.4 加的)
複製代碼
這四個不是互相取代的關係,是四個不同維度,而且大部分人只用了前兩個 —— 然後在「新買的燈忘了加進群組,自動化漏掉它而且不會報錯」這件事上一直吃虧。標籤正是為了這件事來的。

這篇會做完的事
- 先量一量你現在有多亂,作為之後的對照
- 建一個燈光群組,並確認它真的能統一調亮度與色溫
- 建感測器群組做總和與平均,並處理「一個成員掉線整組變 unknown」的問題
- 把裝置指派到區域與樓層,並用 area_id / floor_id 直接下指令
- 用標籤解決「新裝置不會自動進群組」這個老問題
- 把儀表板從 48 張卡片整理成 5 張,含只在需要時才出現的卡片
- 做一個「哪些實體沒被歸類」的檢查清單
全部做完約兩小時,不需要買任何東西。
第零步:先量一量
到 開發者工具 → 範本,把左邊清空,貼上:
- 實體總數 {{ states | list | count }}
- 燈 {{ states.light | list | count }}
- 開關 {{ states.switch | list | count }}
- 感測器 {{ states.sensor | list | count }}
- 二元感應器 {{ states.binary_sensor | list | count }}
- 有幾個區域 {{ areas() | count }}
- 有幾個樓層 {{ floors() | count }}
- 有幾個標籤 {{ labels() | count }}
- 沒有區域的燈 {{ states.light | map(attribute='entity_id')
- | select('eq', '') | list | count }}
複製代碼
你會看到右邊即時顯示,例如:
- 實體總數 412
- 燈 31
- 開關 18
- 感測器 186
- 二元感應器 44
- 有幾個區域 6
- 有幾個樓層 0
- 有幾個標籤 0
複製代碼
把這幾個數字抄下來。 樓層和標籤是 0 的話,代表這兩個維度你完全沒用 —— 這篇的第五步和第六步就是為你寫的。
areas() 回傳空清單 → 你一個區域都沒建。先做第四步。
第一步:搞懂四種東西各自在回答什麼問題
- 它是什麼 要它做什麼
- 群組 Group 一個「新的實體」 像操作單一裝置一樣操作一群裝置
- (調一次亮度,三顆燈一起變)
- 群組本身可以放在儀表板上
- 區域 Area 裝置的一個屬性 自動化可以 target 整個區域
- 新裝置指派區域後自動被涵蓋
- 介面上會自動按區域分頁
- 樓層 Floor 區域的一個屬性 自動化可以 target 整層樓
- 「睡前關掉一樓所有燈」
- 標籤 Label 任意實體/裝置/區域的 跨越空間的分類
- 一個屬性 「出遠門要關的」「吃電的」
- 一個東西可以有很多個標籤
複製代碼
最關鍵的差別:只有群組會產生一個新實體。區域、樓層、標籤都只是「標記」,你看不到 area.living_room 這種東西 —— 它們是在自動化和範本裡被查詢的。
所以判斷方法是:
- 你想在儀表板上放一張卡片,滑動它就能一次調三顆燈的亮度 → 群組
- 你只是想在自動化裡一次關掉某個空間的東西 → 區域(不必做群組)
- 你想要「新裝置自動被涵蓋」 → 區域或標籤(群組做不到)
第二步:建一個燈光群組
2-1 用介面建(推薦)
設定 → 裝置與服務 → 輔助元件 → 建立輔助元件 → 群組 → 燈光群組
- 名稱:客廳
- 成員:把客廳主燈、筒燈、燈帶三個都勾起來
- 「隱藏成員」可以打開 —— 打開之後那三顆燈在介面上會被收起來,只剩群組
按提交。
你會看到:輔助元件清單多一筆「客廳」,而且 開發者工具 → 狀態 裡出現一個新實體 light.ke_ting。
2-2 或用 YAML
加進 /config/configuration.yaml 最外層:
- # /config/configuration.yaml
- light:
- - platform: group
- name: 客廳
- unique_id: light_group_ke_ting
- entities:
- - light.ke_ting_zhu_deng
- - light.ke_ting_tong_deng
- - light.ke_ting_deng_dai
複製代碼
那個 unique_id 要寫:官方說明是「Giving the group a unique ID allows the group name, icon and area to be customized via the UI」。沒有的話這個群組在介面上不能改名、不能指派區域,等於半殘。
2-3 驗證它真的合併了
到 開發者工具 → 狀態 點 light.ke_ting,看它的屬性。
你會看到:
- entity_id: ['light.ke_ting_zhu_deng', 'light.ke_ting_tong_deng',
- 'light.ke_ting_deng_dai']
- supported_color_modes: ['color_temp', 'hs']
- brightness: null
- friendly_name: 客廳
複製代碼
entity_id 那個屬性列出所有成員,這是確認「有沒有加對」最快的方式。
2-4 實際操作一次
開發者工具 → 動作,YAML 模式:
- action: light.turn_on
- target:
- entity_id: light.ke_ting
- data:
- brightness_pct: 60
- color_temp_kelvin: 3000
複製代碼
你會看到三顆燈同時亮起,而且都是同一個亮度和色溫。
|
|