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

    看完電影把燈還原成「原本的樣子」:scene.create 快照實作

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 08:39:07 | 顯示全部樓層 |閱讀模式
    這一篇做完,你會有一組自動化:投影機一播放就把燈調暗、窗簾拉上;播完三十秒後把燈光窗簾還原成你開始看之前的樣子——不是還原成某個預設值,是還原成當時實際的狀態。

    這一篇做完,你會有一組自動化:投影機一播放就把燈調暗、窗簾拉上;播完三十秒後把燈光窗簾還原成你開始看之前的樣子——不是還原成某個預設值,是還

    難的地方在「原本的樣子」。你事先不知道使用者把燈調成幾趴、什麼色溫。所以不能寫死一個「正常場景」,要在執行的當下把現況拍下來。

    Home Assistant 有一個動作專門做這件事:scene.create。

    步驟 0:湊齊要用的實體

    這篇會動到四樣東西,你家的名字一定不一樣,先查出來:

    到 設定 → 工具 → 狀態,在「實體」欄位分別打 `light.`、`cover.`、`media_player.`,把你要用的記下來。

    (「開發者工具」搬過兩次家:2026.2 移進「設定」底下,2026.8 改名叫「工具」。舊教學寫的側邊欄路徑現在找不到,不是你的 HA 壞了。)

    本篇範例用的是:


    • `light.living_room` — 客廳主燈
    • `light.ambient` — 氛圍燈
    • `cover.living_room_curtain` — 客廳窗簾
    • `media_player.projector` — 投影機


    沒有投影機也可以照做,把觸發器換成一個手動開關就好。建法:設定 → 裝置與服務 → 輔助元件 → 建立輔助元件 → 切換,名稱打 `movie mode`,建出來會是 `input_boolean.movie_mode`。下面會說明怎麼換。

    步驟 1:先手動跑一次 scene.create,看它到底建出什麼

    不要直接寫自動化。先到 設定 → 工具 → 動作,右上角切成 YAML 模式,貼上:
    1. action: scene.create
    2. data:
    3.   scene_id: before_movie
    4.   snapshot_entities:
    5.     - light.living_room
    6.     - light.ambient
    7.     - cover.living_room_curtain
    複製代碼

    按執行動作。

    你會看到畫面上出現綠色的「已成功執行動作」。

    看到紅字 `extra keys not allowed @ data['scene_id']` 之類,代表 `scene_id` 寫成 `scene.before_movie` 了。建立時不加 `scene.` 前綴,使用時要加——這個不一致是這個功能最常見的打錯點。

    看到紅字說找不到某個實體,代表名字打錯,回步驟 0 重查。

    步驟 2:檢查它建出來的東西(這一步是整篇的關鍵)

    到 設定 → 工具 → 狀態,實體欄位打 `scene.before_movie`。

    你會看到這一列:
    1. 實體               狀態       屬性
    2. scene.before_movie  unknown   entity_id: light.living_room, light.ambient, ...
    3.                               friendly_name: before_movie
    複製代碼

    請特別看「狀態」那一欄:它是 `unknown`。

    這不是壞掉。官方文件寫得很清楚:場景實體是無狀態的,它的 state 記的是「上一次被啟動的時間戳」。剛建好、還沒被啟動過,當然沒有時間戳,所以是 `unknown`。

    為什麼這件事很重要

    網路上(包括這篇文章的舊版本)很常看到這種「安全判斷」:

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

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

    本版積分規則

    延伸閱讀

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

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

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

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