找回密碼
 立即註冊
    查看: 138|回覆: 0

    conditional 元素:讓平面圖平常很安靜、有事才跳出來

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 12:46:09 | 顯示全部樓層 |閱讀模式
    一張好用的平面圖,平常應該很安靜。

    門都關著、沒有漏水、沒有裝置掉線 —— 那些圖示根本不該出現在畫面上。等到真的有事,才讓它跳出來而且跳得夠大。

    這篇做完你會有一個「家裡有沒有事」的總開關,平常完全看不到,有事的時候在平面圖頂端跳出一條橘色提示,點下去跳到詳細頁。

    一張好用的平面圖,平常應該很安靜。

    步驟 1:先看懂 conditional 元素

    conditional 就是「條件成立才顯示的一組元素」。
    1.   - type: conditional
    2.     conditions:
    3.       - entity: binary_sensor.front_door
    4.         state: "on"
    5.     elements:
    6.       - type: icon
    7.         icon: mdi:door-open
    8.         title: 大門開著
    9.         style: {top: 92%, left: 9%, color: "#e53935"}
    複製代碼

    你會看到什麼:門開著時左下角出現一個紅色的開門圖示;門關著時那個圖示完全不存在(不是變透明,是整個從畫面上被移除,所以也不會擋到下面的東西)。

    兩個要注意的地方:


    • elements 是複數 —— 一個 conditional 裡面可以放好幾個元素,它們會一起出現、一起消失
    • conditional 本身不佔位置,它只是一個容器;裡面每個元素都要自己寫 top / left


    "on" 一定要加引號。不加的話 YAML 會把它讀成布林值,對不上實體的狀態字串,條件就永遠不成立 —— 而且不會報錯,只是那個圖示永遠不出現。

    "on" 一定要加引號

    步驟 2:五種條件寫法

    一、狀態等於某個值
    1.     conditions:
    2.       - condition: state
    3.         entity: binary_sensor.front_door
    4.         state: "on"
    複製代碼

    二、狀態不等於某個值
    1.     conditions:
    2.       - condition: state
    3.         entity: climate.living_room
    4.         state_not: "off"
    複製代碼

    三、狀態是清單裡的其中一個
    1.     conditions:
    2.       - condition: state
    3.         entity: input_select.house_mode
    4.         state:
    5.           - away
    6.           - vacation
    複製代碼

    input_select 的選項也一律用英文,理由跟實體 ID 一樣 —— 中文選項本身可以用,但你在 YAML 裡打的那個字串必須跟 HA 裡存的一模一樣,混到全形半形就對不上,而且不會報錯。

    四、數值比較
    1.     conditions:
    2.       - condition: numeric_state
    3.         entity: sensor.living_room_temperature
    4.         above: 29
    複製代碼

    above 和 below 都是不含等於。要判斷某個屬性而不是狀態,加一行 attribute:
    1.     conditions:
    2.       - condition: numeric_state
    3.         entity: light.living_room
    4.         attribute: brightness
    5.         above: 200
    複製代碼

    五、或

    多個條件並列是「而且」,全部成立才顯示:
    1.     conditions:
    2.       - condition: state
    3.         entity: binary_sensor.front_door
    4.         state: "on"
    5.       - condition: state
    6.         entity: input_select.house_mode
    7.         state: away
    複製代碼

    要「或」就明確包一層:
    1.     conditions:
    2.       - condition: or
    3.         conditions:
    4.           - condition: state
    5.             entity: binary_sensor.kitchen_leak
    6.             state: "on"
    7.           - condition: state
    8.             entity: binary_sensor.bathroom_leak
    9.             state: "on"
    複製代碼

    五、或

    以下還有約 81% 的內容
    登入後即可閱讀完整教學

    登入繼續閱讀使用 Google 登入
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

    延伸閱讀

    加入惟家 LINE 群 QR Code加入惟家 LINE 群

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

    GMT+8, 2026-11-10 00:43 , Processed in 0.124727 second(s), 25 queries .

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