[分享]template binary_sensor 使用小技巧,以大樓洗水塔自動啟閉加壓馬達為例

不知道各位在電梯裡看到這樣的公告會怎樣安排自家加壓馬達的自動化?

我的做法是: 進到HA裡面將日期時間寫進input_datetime,然後就不用管他了,時間到了就會執行該做的事情(本例是今天,就是看到這封LINE提醒才想到原來今天洗水塔@@)

如果你對上述提醒沒興趣,可以直接上一頁離開了,以下開始分享作法^^

一. 到HA的助手裡面, 建立兩個input_datetime,分別是開始與結束時間


往左按,可以看到我是4天前輸入日期時間的(每次看到公告要做的唯一工作)


二. 依據你自己的習慣, 建立一個template_binary_sensor

寫法格式有新舊、有人習慣放configuration.yaml、我自己習慣拆分,所以我說依據您自己的習慣,有確實建立出這個binary_sensor就好

  • binary_sensor:
    • name: “Water tower bathing”
      state: >
      {{ (states.input_datetime.water_tower_bathing_starting_time.state) | as_datetime | as_local <= now()
      < (states.input_datetime.water_tower_bathing_end_time.state) | as_datetime | as_local }}

重啟後檢查一下,要多出這三個物件:

三. 原理很簡單,剛剛所建立的這個binary_sensor,只有在你設定的日期時間段之內狀態為on,所以我們就可以依據這個狀態的變化去設置你的自動化了。
以下是我的自動化,僅供參考。

alias: LINE 洗水塔
description: “”
trigger:

  • platform: state
    entity_id:
    • binary_sensor.water_tower_bathing
      to: “on”
      condition: []
      action:
  • service: automation.turn_off
    data: {}
    target:
    entity_id: automation.pumpjia_ya_ma_da_guan_bi
  • service: switch.turn_off
    target:
    entity_id: switch.pump
    data: {}
  • service: notify.line_to_baba
    data:
    message: 今天洗水塔,已自動關閉加壓馬達,結束後會自動打開。
  • service: notify.line_bot_mama
    data:
    message: 今天洗水塔,已自動關閉加壓馬達,結束後會自動打開。
  • wait_for_trigger:
    • platform: state
      entity_id:
      • binary_sensor.water_tower_bathing
        to: “off”
  • service: automation.turn_on
    data: {}
    target:
    entity_id: automation.pumpjia_ya_ma_da_guan_bi
  • service: switch.turn_on
    target:
    entity_id: switch.pump
    data: {}
    mode: single

其中有一段關閉/開啟另一個自動化的指令,那是因為前陣子台電老是跳電,而我的雙斷路開關是always_restore_off (我的加壓馬達是220V所以要零火雙斷路),所以我設定每次復電後十分鐘自動打開加壓馬達而已,看官們你們可以忽略。

就那麼簡單,以後看到公告就只要動動手指頭設定日期時間就好,輕鬆愉快,打完收工。

2個讚