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

    【冷氣遙控 6/7】自動溫控與遠端控制

    [複製鏈接]

    !lvup!   100%

    383

    主題

    27

    回帖

    2200萬

    積分

    管理員

    積分
    22005836
    發表於 2 小時前 | 顯示全部樓層 |閱讀模式
    冷氣接進 Home Assistant 之後,多數人想做的第一件事是自動溫控:太熱就開、到溫就關。但在動手之前要先確認一件事 —— 你家的冷氣可能已經在做這件事了,而且做得比 Home Assistant 好。

    冷氣接進 Home Assistant 之後,多數人想做的第一件事是自動溫控:太熱就開、到溫就關。但在動手之前要先確認一件事 —— 你家的冷

    這一篇會做完兩件事:把溫控設起來(而且是對的那一種),以及讓你在外面也控制得了。

    第零步:確認你的起點

    這一篇假設你已經有一個會動的冷氣實體。ESPHome 那一側至少要長這樣:
    1. esphome:
    2.   name: ac-ir
    3.   friendly_name: 冷氣紅外線
    4. esp32:
    5.   board: esp32dev
    6.   framework:
    7.     type: esp-idf
    8. logger:
    9. api:
    10.   encryption:
    11.     key: !secret api_encryption_key
    12. ota:
    13.   - platform: esphome
    14.     password: !secret ota_password
    15. wifi:
    16.   ssid: !secret wifi_ssid
    17.   password: !secret wifi_password
    18. captive_portal:
    19. remote_transmitter:
    20.   id: ir_tx
    21.   pin: GPIO14
    22.   carrier_duty_percent: 50%
    23. sensor:
    24.   - platform: dht
    25.     pin: GPIO17
    26.     model: DHT22
    27.     temperature:
    28.       name: "客廳溫度"
    29.       id: room_temp
    30.     humidity:
    31.       name: "客廳濕度"
    32.     update_interval: 30s
    33. climate:
    34.   - platform: coolix
    35.     name: "客廳冷氣"
    36.     transmitter_id: ir_tx
    37.     sensor: room_temp
    38.     supports_cool: true
    39.     supports_heat: false
    複製代碼

    接線是 GPIO14 經 220Ω 電阻與 NPN 電晶體接到紅外線 LED(LED 正極經 33Ω 接到 5V)、DHT22 的 DATA 接到 GPIO17、VCC 接 3.3V、GND 接 GND。

    到 開發者工具 → 狀態,你會看到 climate.ke_ting_leng_qi 和 sensor.ke_ting_wen_du 兩個實體。下面所有設定都會用到這兩個名字,請換成你自己的。

    第一步:先分辨你家是變頻還是定頻

    這一步決定後面要走哪一條路,不能跳過。 兩種機器的正確做法剛好相反。


    • 定頻:壓縮機只有全開和全停。到溫就停、回升再開。用電曲線是方波
    • 變頻:壓縮機可以調轉速。接近設定溫度時降速維持,而不是停掉


    三個不用買任何東西就能判斷的方法:

    方法一:看室內機的銘牌(最可靠)

    掀開室內機前蓋,或看機身右側的貼紙,找「額定消耗電功率」那一欄。


    • 寫成一個範圍,例如 1000 (180 ~ 1500) W → 變頻。括號裡就是它的轉速區間
    • 只有一個數字,例如 1150 W → 定頻


    方法二:聽室外機

    把冷氣設在 26 度開著,等房間冷下來之後到陽台聽。


    • 完全安靜幾分鐘,然後「喀」一聲重新啟動 → 定頻
    • 一直有低沉的運轉聲,只是變小聲 → 變頻


    方法三:看型號

    型號或外箱上有 Inverter、變頻、DC 字樣的是變頻。沒有不代表是定頻(有些廠商不標),所以這個方法只能用來確認、不能用來排除。

    2010 年以後買的分離式冷氣,九成以上是變頻。 窗型和三十坪老公寓裡那台用了十幾年的,多半是定頻。

    第二步(變頻):不要做開關式溫控

    變頻最省電的狀態就是「低速穩定運轉」。

    用 Home Assistant 做「太熱開、到溫關」,等於:


    • 把一台變頻機當定頻在用,它最貴的那個功能直接作廢
    • 每次重新啟動壓縮機都是耗電最高的時刻
    • 頻繁啟停對壓縮機壽命不好


    變頻的正確做法是:溫度讓冷氣自己維持,Home Assistant 只負責「什麼時候該換設定」。

    把下面這整段加到 automations.yaml(或 設定 → 自動化 → 右上角三個點 → 以 YAML 編輯)。四條都用 4/7 建的腳本,這樣「送兩次」的規則只寫在一個地方。
    1. - alias: "睡覺時間把冷氣調高"
    2.   mode: single
    3.   triggers:
    4.     - trigger: time
    5.       at: "23:30:00"
    6.   conditions:
    7.     - condition: not
    8.       conditions:
    9.         - condition: state
    10.           entity_id: climate.ke_ting_leng_qi
    11.           state: "off"
    12.   actions:
    13.     - action: climate.set_temperature
    14.       target:
    15.         entity_id: climate.ke_ting_leng_qi
    16.       data:
    17.         temperature: 28
    18.         hvac_mode: cool
    19.     - delay:
    20.         seconds: 2
    21.     - action: climate.set_temperature
    22.       target:
    23.         entity_id: climate.ke_ting_leng_qi
    24.       data:
    25.         temperature: 28
    26.         hvac_mode: cool
    27. - alias: "沒人在家三十分鐘就關冷氣"
    28.   mode: single
    29.   triggers:
    30.     - trigger: state
    31.       entity_id: person.charles
    32.       to: "not_home"
    33.       for:
    34.         minutes: 30
    35.   actions:
    36.     - action: script.ac_off
    37. - alias: "回家前先把房間降下來"
    38.   mode: single
    39.   triggers:
    40.     - trigger: zone
    41.       entity_id: person.charles
    42.       zone: zone.home
    43.       event: enter
    44.   conditions:
    45.     - condition: numeric_state
    46.       entity_id: sensor.ke_ting_wen_du
    47.       above: 29
    48.   actions:
    49.     - action: script.ac_cool_26
    50. - alias: "室溫一直降不下來就提醒"
    51.   mode: single
    52.   triggers:
    53.     - trigger: numeric_state
    54.       entity_id: sensor.ke_ting_wen_du
    55.       above: 29
    56.       for:
    57.         minutes: 40
    58.   conditions:
    59.     - condition: not
    60.       conditions:
    61.         - condition: state
    62.           entity_id: climate.ke_ting_leng_qi
    63.           state: "off"
    64.   actions:
    65.     - action: notify.persistent_notification
    66.       data:
    67.         title: "冷氣開了四十分鐘還是很熱"
    68.         message: "檢查一下窗戶、濾網,或是紅外線指令有沒有送到。"
    複製代碼

    存檔後到 設定 → 自動化。你會看到四條新的自動化,每一條右邊都有一個開關而且是開著的。

    看不到、或頁面上方出現紅色的「設定無效」 → YAML 縮排錯了。點那則錯誤會告訴你第幾行。最常見的是把 - alias: 前面那個減號吃掉了。

    怎麼驗證:選一條,按進去 → 右上角三個點 → 執行。冷氣應該立刻照著動。這會跳過觸發條件直接跑動作,是確認「動作寫對了」最快的方法。

    這幾條都是「改設定值」,不是「開開關關」。變頻機的省電邏輯還在它自己手上,Home Assistant 補上它不知道的事情(你在不在家、現在幾點)。

    第三步(定頻):用 generic_thermostat 做真正的溫控

    定頻本來就是全開全停,用 Home Assistant 控制反而有兩個好處:

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

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

    本版積分規則

    延伸閱讀

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

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

    GMT+8, 2026-9-25 04:16 , Processed in 0.121872 second(s), 24 queries .

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