找回密碼
 立即註冊
惟家LINE群QRCODE
    查看: 3|回覆: 0

    十個最被低估的 HA 內建功能(不用裝任何東西)

    [複製鏈接]

    !lvup!   100%

    363

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22005752
    發表於 3 天前 | 顯示全部樓層 |閱讀模式
    這些都是內建的,但很多人不知道。



    一、標籤(Labels)

    HA 2024.4 加的,比「區域」彈性很多。


    • 一個實體可以有很多標籤
    • 可以標記裝置、實體、自動化、腳本、區域
    • 可以用標籤當目標


    實際用法
    1.       - action: light.turn_off
    2.         target:
    3.           label_id: 夜間照明
    複製代碼

    或者在模板裡
    1. {{ label_entities('夜間照明') }}
    2. {{ labels(entity_id) }}
    複製代碼

    用途


    • 「所有戶外的燈」
    • 「離家要關的東西」
    • 「低優先度的自動化」(可以一次全部停用)


    怎麼設:設定 → 裝置與服務 → 實體 → 選取多個 → 加入標籤

    二、分類(Categories)


    • 給自動化、腳本、場景分類
    • 在列表頁可以摺疊
    • 自動化超過三十個之後很有用


    三、樓層(Floors)


    • 區域之上還有一層
    • 「二樓的所有燈」變得很好寫

    1. {{ floor_areas('二樓') }}
    2. {{ area_entities(floor_areas('二樓')) }}
    複製代碼



    四、輔助元件(Helpers)

    設定 → 裝置與服務 → 輔助元件

    這一頁很多人沒點進去過,但它超有用。

    常用的


    • 切換(input_boolean) —— 做「模式」開關
    • 數字(input_number) —— 可調的門檻值
    • 文字(input_text) —— 儲存字串
    • 下拉選單(input_select) —— 狀態機
    • 日期時間(input_datetime) —— 可調的排程時間
    • 計時器(timer) —— 倒數計時
    • 計數器(counter) —— 計次數


    還有這些「組合型」的


    • 群組 —— 把多個實體變成一個
    • 閾值(threshold) —— 數值超過門檻就變成 binary_sensor
    • 衍生(derivative) —— 算變化率
    • 積分(integration) —— 功率變用電量
    • 統計(statistics) —— 平均、最大、最小
    • 時間範圍(history_stats) —— 某狀態持續多久
    • 切換為燈 / 為風扇 —— 把 switch 偽裝成 light
    • 最小 / 最大 / 平均 —— 合併多個感測器
    • 隨機 —— 做假期模式的隨機開燈
    • 時間表(schedule) —— 視覺化的週排程


    「時間表」特別值得提


    • 一個可以用滑鼠畫的週排程
    • 產生一個 binary_sensor(在時段內就是 on)
    • 自動化用它當條件,家人可以自己改時間


    這比寫一堆時間條件好用太多。

    「閾值」的用法
    1. 感測器:sensor.客廳亮度
    2. 上限:50 lux
    3. 遲滯:10
    4. → 產生 binary_sensor.客廳很暗
    複製代碼

    好處遲滯內建了,不用自己寫防抖動。



    五、計時器(timer)

    比 delay 好用很多。
    1. timer:
    2.   走道燈:
    3.     duration: "00:03:00"
    複製代碼

    用法
    1. automation:
    2.   - alias: 有人就開燈並重設計時器
    3.     triggers:
    4.       - trigger: state
    5.         entity_id: binary_sensor.走道人體
    6.         to: "on"
    7.     actions:
    8.       - action: light.turn_on
    9.         target:
    10.           entity_id: light.走道
    11.       - action: timer.start
    12.         target:
    13.           entity_id: timer.走道燈
    14.   - alias: 計時器結束就關燈
    15.     triggers:
    16.       - trigger: event
    17.         event_type: timer.finished
    18.         event_data:
    19.           entity_id: timer.走道燈
    20.     actions:
    21.       - action: light.turn_off
    22.         target:
    23.           entity_id: light.走道
    複製代碼

    比 delay 好在哪


    • 可以在儀表板上看到「還剩幾秒」
    • 可以暫停、取消、延長
    • HA 重啟之後還在(delay 會消失)
    • 不受自動化 mode 影響


    六、待辦清單(To-do lists)


    • 內建的待辦清單
    • 可以用自動化新增項目
    • 支援語音助理(「加牛奶到購物清單」)

    1.       - action: todo.add_item
    2.         target:
    3.           entity_id: todo.購物清單
    4.         data:
    5.           item: 濾水器濾芯
    複製代碼

    搭配維護提醒很好用
    1. automation:
    2.   - alias: 濾芯該換了
    3.     triggers:
    4.       - trigger: numeric_state
    5.         entity_id: sensor.濾水器累計用水
    6.         above: 1000
    7.     actions:
    8.       - action: todo.add_item
    9.         target:
    10.           entity_id: todo.待辦
    11.         data:
    12.           item: 換濾水器濾芯
    複製代碼

    七、日曆(Calendar)


    • 可以接 Google 日曆、CalDAV
    • 也有內建的本地日曆
    • 自動化可以用行事曆當觸發或條件

    1.     triggers:
    2.       - trigger: calendar
    3.         entity_id: calendar.垃圾車
    4.         event: start
    5.         offset: "-01:00:00"      # 開始前一小時
    6.     actions:
    7.       - action: script.通知
    8.         data:
    9.           等級: 重要
    10.           標題: 一小時後倒垃圾
    11.           訊息: "{{ trigger.calendar_event.summary }}"
    複製代碼

    用途


    • 垃圾車時間
    • 家人的行程(回家時間)
    • 假期模式
    • 定期的維護提醒




    八、備份的「部分還原」


    • 不用還原整個系統
    • 可以只還原一個附加元件或 config
    • 改壞了某個整合的時候超好用


    九、事件(Events)與事件監聽

    開發者工具 → 事件


    • 可以監聽任何事件類型
    • 填 * 可以看到所有事件
    • 這是搞懂「按鈕按下去到底發生什麼」的方法


    實用


    • 監聽 zha_event 或 MQTT 主題,看遙控器發了什麼
    • 監聽 state_changed 看實體怎麼變
    • 自己發事件 讓不同的自動化溝通

    1.       - event: 我的自訂事件
    2.         event_data:
    3.           房間: 客廳
    4.           動作: 開始清潔
    複製代碼

    十、範本(Template)的 this 變數

    在模板實體裡可以參照自己
    1. template:
    2.   - sensor:
    3.       - name: 計數器
    4.         state: >
    5.           {{ (this.state | int(0)) + 1 }}
    複製代碼

    注意this 不會造成無限迴圈(跟直接用 states() 參照自己不一樣)。

    用途保留上一次的值
    1.         state: >
    2.           {% if is_state('binary_sensor.門', 'on') %}
    3.             {{ now().isoformat() }}
    4.           {% else %}
    5.             {{ this.state }}
    6.           {% endif %}
    複製代碼

    這個寫法可以做出「最後一次開門的時間」。

    加分:幾個很少人用但很好的動作
    1. homeassistant.update_entity       強制更新某個實體(不等輪詢)
    2. homeassistant.reload_config_entry  重新載入某個整合
    3. logbook.log                        寫一筆記錄簿
    4. persistent_notification.create     建立一個常駐通知
    5. input_number.increment             數字加一
    6. counter.increment                  計數器加一
    7. timer.change                       延長計時器
    8. homeassistant.toggle               任何東西的切換
    複製代碼

    homeassistant.update_entity 特別有用 ——
    有些感測器要等好幾分鐘才輪詢一次,用這個可以立刻更新。

    ---

    下一篇:場景設計的思考 ——
    怎麼設計出「用了就回不去」的自動化。
    您需要登入後纔可以回帖 登入 | 立即註冊

    本版積分規則

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

    GMT+8, 2026-9-24 11:30 , Processed in 0.092699 second(s), 24 queries .

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