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

    寵物獨自在家的五個自動化:從溫濕度、停電到「牠今天吃了沒」

    [複製鏈接]

    !lvup!   100%

    386

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22006063
    發表於 2026-9-21 11:48:00 | 顯示全部樓層 |閱讀模式
    寵物不會打電話跟你說家裡很熱。

    這篇是五個可以直接照做的自動化,每一個都從「先建什麼」開始,到「怎麼確認它會動」結束。
    後半段是三件不該做的事 —— 那些是很多人裝了智慧家電之後才出現的新風險。

    先建三個共用的東西

    後面五個自動化都會用到,先做掉。

    步驟 1:建一個「寵物在家」開關

    設定 → 裝置與服務 → 輔助工具 → 建立輔助工具 → 切換:


    • 名稱填 `pet at home`(用英文,原因下一段)
    • 圖示可以選 `mdi:dog-side`
    • 建立


    建好之後點進去 → 齒輪 → 看「實體 ID」那一欄。

    你會看到什麼:應該是 `input_boolean.pet_at_home`。

    為什麼一定要用英文:如果你名稱填「寵物在家」,
    HA 會把中文音譯成拼音,實體 ID 變成
    `input_boolean.chong_wu_zai_jia`。這時候你照抄別人 YAML 裡的
    `input_boolean.寵物在家`,HA 不會報錯,自動化只是永遠不會通過條件 ——
    你會以為自動化壞了,其實是指到一個不存在的東西。
    發現不對就在這個齒輪頁面直接把實體 ID 改成 `input_boolean.pet_at_home`。

    然後把它打開(家裡有寵物就是 on,送去寄宿時才關掉)。

    步驟 2:確認你有溫度和濕度的數值

    設定 → 工具 → 狀態,在篩選欄打 `temperature`。

    你會看到什麼:一排感測器和它們現在的值。
    找到寵物最常待的那個空間那一顆,把實體 ID 抄下來,例如 `sensor.living_room_temperature`。
    再用 `humidity` 篩一次,抄下 `sensor.living_room_humidity`。

    只有溫度沒有濕度 → 下面第一個自動化會少一半保護,建議先補一顆。
    溫濕度感測器是這整篇裡唯一真的需要買的東西,Zigbee 的一顆兩三百塊。

    步驟 3:確認你的手機通知叫什麼名字

    設定 → 工具 → 動作,在動作欄位打 `notify.mobile`。

    你會看到什麼:下拉列出你所有裝過 HA App 的裝置,
    例如 `notify.mobile_app_iphone_15`。下面所有 YAML 裡的
    `notify.mobile_app_YOUR_PHONE` 都要換成你這一個。

    什麼都沒列出來 → 手機的 HA App 還沒登入,或登入後沒有允許通知。

    什麼都沒列出來

    自動化一:熱危險保護(最重要的一個)

    先講為什麼不能只看溫度。

    狗和貓沒有汗腺,散熱幾乎完全靠喘氣時水分從呼吸道蒸發。
    蒸發效率取決於空氣還能吸收多少水氣 —— 也就是濕度。
    濕度越高,同樣的溫度下牠散熱越慢。

    台灣夏天室內濕度常年在 70% 以上。這代表只設一個溫度門檻,會系統性地低估風險,
    而且低估的方向正好是會出事的那個方向。

    所以做法是溫度門檻 + 濕度修正。先建一顆判斷用的實體。

    用 Studio Code Server 或 File editor 附加元件打開 `configuration.yaml`,
    在最外層(完全不縮排)加這一段。已經有 `template:` 的話就把 `- binary_sensor:`
    接在既有的下面:
    1. template:
    2.   - binary_sensor:
    3.       - name: Pet Heat Risk
    4.         unique_id: pet_heat_risk
    5.         device_class: problem
    6.         state: >
    7.           {% set t = states('sensor.living_room_temperature') | float(0) %}
    8.           {% set h = states('sensor.living_room_humidity') | float(0) %}
    9.           {{ t >= 30 or (t >= 27 and h >= 70) }}
    10.         attributes:
    11.           reason: >
    12.             {% set t = states('sensor.living_room_temperature') | float(0) %}
    13.             {% set h = states('sensor.living_room_humidity') | float(0) %}
    14.             {% if t >= 30 %}高溫 {{ t }} 度
    15.             {% elif t >= 27 and h >= 70 %}{{ t }} 度加上濕度 {{ h }}%
    16.             {% else %}正常{% endif %}
    複製代碼

    存檔,然後 開發者工具 → YAML → 重新載入模板實體
    (在 2026 版是設定 → 工具 → YAML → 模板實體)。

    你會看到什麼:設定 → 工具 → 狀態打 `pet_heat`,
    會出現 `binary_sensor.pet_heat_risk`,狀態是 `off` 或 `on`,
    右邊的 `reason` 屬性寫著判斷理由。

    完全找不到這顆 → 多半是 YAML 縮排錯了。
    存檔前用設定 → 系統 → 修復 → 三個點 → 檢查設定跑一次,它會指出行號。

    這組數字怎麼來的:
    沒有官方的犬貓熱指數標準,所以這是一個保守的工程門檻,不是醫學建議。
    30 度是「不管濕度多少都該開冷氣」的線,27 度加 70% 濕度是「看起來還好但散熱已經打折」的線。
    短毛小型犬、鬥牛犬這類短吻犬種、老犬貓和肥胖的個體要再往下調兩度。

    接著寫自動化。設定 → 自動化與場景 → 建立自動化 → 從頭開始 →
    右上三個點 → 編輯 YAML
    :

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

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

    本版積分規則

    延伸閱讀

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

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

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

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