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

    用行事曆觸發家裡的自動化:從憑證設定到五個可以直接抄的自動化

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 11:19:26 | 顯示全部樓層 |閱讀模式
    感測器只知道「現在」,行事曆知道「等一下會發生什麼」。「明天要早起」「今天有客人」「下週出差」—— 這些沒有任何感測器抓得到,但行事曆本來就知道。

    這篇從零做完整套:先用完全不需要授權的本地行事曆起步,再接 Google,最後五個可以直接複製的自動化。每一步都會說清楚成功長什麼樣。

    感測器只知道「現在」,行事曆知道「等一下會發生什麼」。

    步驟 1:先用本地行事曆,不要一開始就接 Google

    HA 內建一個本地行事曆,不用 Google 帳號、不用憑證、不用連外網,三十秒裝好。倒垃圾、換濾網、每月抄水表這種固定事項放這裡反而比 Google 好 —— 它們不需要在手機上臨時改。

    設定 → 裝置與服務 → 新增整合,搜尋「Local Calendar」,名稱填 `home`。

    你會看到什麼:設定 → 工具 → 狀態 篩選 `calendar.`,出現一筆 `calendar.home`,狀態是 `off`。側邊欄的「行事曆」頁面也會多出一個可以直接新增活動的月曆。

    狀態是 `unknown` 而不是 `off`:剛建好還沒讀過,等一分鐘或重新整理頁面。

    如果本地行事曆就夠用,步驟 2 到 4 可以整段跳過,直接去步驟 5 開始寫自動化。需要在手機的行事曆 App 裡隨時改內容,才有接 Google 的必要。

    步驟 2:建一個專用的 Google 行事曆

    不要用你的主行事曆當觸發來源。三個理由:主行事曆一堆不相干的活動、工作行程混在一起、而且 HA 會把每個活動的標題和描述讀進來寫進資料庫。

    在 Google 行事曆網頁版左側「其他日曆」旁的加號 → 建立新日曆 → 名稱填 `Home` → 建立。

    名稱用英文。行事曆名稱會決定 HA 產生的實體 ID,中文名稱會被音譯成拼音,你猜不到它變成什麼,而且引用錯的實體時自動化不會報錯。

    你會看到什麼:左側日曆清單多出「Home」一項。先在裡面隨手建一個明天的活動,叫「倒垃圾」。

    步驟 3:申請 Google 憑證

    這一步沒有捷徑,但十分鐘做得完。其中有一個步驟不做的話,整合會在一個禮拜後自己斷線。

    3-1 建專案

    到 Google Cloud Console(`console.cloud.google.com`),左上角專案選單 → 新增專案 → 名稱填 `home-assistant` → 建立。建完確認上方工具列顯示的是這個新專案,很多人後面的步驟做在別的專案上,然後怎麼試都不成功。

    3-2 啟用 API

    上方搜尋列打 `Google Calendar API`,進去按啟用。

    你會看到什麼:按鈕從「啟用」變成「管理」。

    3-3 設定同意畫面

    左側 → API 和服務 → OAuth 同意畫面(新版叫「品牌」):


    • 應用程式名稱:`Home Assistant`
    • 使用者支援電子郵件:你的信箱
    • 目標對象:外部
    • 應用程式首頁:`https://home-assistant.io`
    • 已授權網域:`home-assistant.io`
    • 開發人員聯絡資訊:你的信箱


    3-4 這一步不能跳:把應用程式發布

    在「目標對象 → 發布狀態」按發布應用程式,跳出未驗證的警告按確定。

    不做的後果:留在「測試中」的話,Google 給的授權七天就失效。症狀是整合裝好、用了一個禮拜都好好的,然後某天早上所有行事曆自動化都不動了,HA 出現「需要重新驗證」。很多人以為是 HA 更新弄壞的,反覆重新授權、每七天一次,直到有人告訴他這個開關。

    3-5 建憑證

    左側 → 用戶端 → 建立用戶端:


    • 應用程式類型:網頁應用程式
    • 已授權的重新導向 URI:`https://my.home-assistant.io/redirect/oauth`


    那個網址要一字不差,它不是範例。舊教學裡叫你選「電視和受限輸入裝置」的做法已經不能用了,Google 停掉了那條流程,選下去的症狀是授權時回 `invalid_client` 或 401。

    建立後跳出用戶端 ID 與密鑰,兩個都先複製到記事本 —— 視窗關掉後密鑰拿不回來。

    步驟 4:在 HA 裡接起來

    設定 → 裝置與服務 → 新增整合 → 搜尋「Google Calendar」→ 貼上用戶端 ID 與密鑰 → 授權 → 出現「這個應用程式未經驗證」時點「進階 → 前往 Home Assistant(不安全)」→ 確認網址是你自己的 HA → 連結帳戶。

    授權完會問你要匯入哪些行事曆。

    你會看到什麼:狀態頁篩選 `calendar.`,出現 `calendar.home`(或你取的名字)。點進去看屬性,`message` 那一欄是你在步驟 2 建的「倒垃圾」。

    卡在「驗證碼已過期」:中間在瀏覽器停留太久,從頭再跑一次授權。

    卡在「憑證設定無效」:重導向 URI 打錯,或憑證剛建好還沒生效。Google 官方說通常幾分鐘,最長可能要五小時。

    授權成功但實體不見:重新啟動 HA 一次。

    授權成功但實體不見

    步驟 5:第一條自動化,先確認觸發器會動

    在寫複雜的東西之前,先用最簡單的一條確認整條鏈是通的。

    設定 → 自動化與場景 → 建立自動化 → 從頭開始,右上角三個點 → 以 YAML 編輯:

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

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

    本版積分規則

    延伸閱讀

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

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

    GMT+8, 2026-11-10 01:02 , Processed in 0.120713 second(s), 25 queries .

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