Home Assistant

Hass – Automation: thông báo khi bất cứ công tắc hay đèn nào thay đổi trạng thái

Hass Telegram Notification

Tạo automation cho Hass để gửi thông báo bất cứ khi nào trạng thái của một công tắc hay đèn thay đổi

Photo: konnectED
4 phút để đọc hết nội dung

Ở bài viết này ta sẽ thiết lập một automation để thông báo đến điện thoại qua ứng dụng Telegram mỗi khi có bất cứ entity – thực thể nào trong Home Assistant thay đổi trạng thái, thông thường đối với đèn và công tắc có nghĩa là đổi từ on – bật sang off – tắt và ngược lại.

Tất nhiên bạn cũng có thể tinh chỉnh để gửi thông báo đến bất cứ nền tảng nào khác (như app Home Assistant trên điện thoại, FB messenger, Google Home) hoặc thực hiện một hành động khác thay vì thông báo; bạn cũng có thể chọn các entity thuộc các domain khác, không nhất thiết phải là đèn – light, hay công tắc – switch.

Automation này sẽ hữu ích trong trường hợp bạn muốn theo dõi chặt chẽ hoạt động của một loạt thực thể (như khi bạn dùng Home Assistant để quản lý các thiết bị trong một phòng chức năng) hoặc đơn giản là muốn giữ một phiên bản của logbook trên ứng dụng Telegram.

Mặc dù trong đa số trường hợp, những thông báo kiểu này không đem lại nhiều giá trị tiện ích đối với người dùng, đây vẫn là một ví dụ thú vị về automation trong Home Assistant.

! Cảnh báo

Nếu bạn có nhiều entity trong Home Assistant và các entity này thay đổi trạng thái thường xuyên (như khi bạn chọn các entity thuộc domain sensor), số lượng thông báo sẽ rất lớn và liên tục, có nguy cơ làm phiền hoặc vượt quá mức giới hạn gửi thông báo (tuỳ nền tảng) cho phép.

Telegram không phải Logbook, chúng tôi khuyến khích bạn chỉ gửi các thông báo quan trọng hoặc cần thiết. Nếu không, có khả năng bạn sẽ bị lỡ các thông báo rất quan trọng liên quan đến an ninh, an toàn.

Bên dưới là cấu hình mẫu cho automation này, bạn cần thay đổi một chút cho phù hợp (như tên dịch vụ thông báo qua Telegram) theo giải thích ở phía dưới.

- id: '158677404432246'
  alias: Hass Notify State Changed On Switches and Lights
  description: Send notify whenever state of a light or switch changes
  trigger:
  - event_data: {}
    event_type: state_changed
    platform: event
  condition:
  - condition: or
    conditions:
    - condition: template
      value_template: '{{ trigger.event.data.entity_id.split(''.'')[0] == ''light''
        }}'
    - condition: template
      value_template: '{{ trigger.event.data.entity_id.split(''.'')[0] == ''switch''
        }}'
  - condition: template
    value_template: '{{ trigger.event.data.new_state.state != trigger.event.data.old_state.state }}'
  action:
  - data_template:
      message: >
       {{trigger.event.data.new_state.last_changed.astimezone().strftime('%a %d/%m %H:%M:%S')}}
       {{trigger.event.data.new_state.attributes.friendly_name}} changed to {{trigger.event.data.new_state.state|upper}}
      title: 'konnectED: Switch/Light changed'
    service: notify.telegram_2_log_keeper
Chú giải:
  • value_template: '{{ trigger.event.data.entity_id.split('.')[0] == 'light'}}': chỉ gửi thông báo khi domain của entity là light – đèn.
  • service: notify.telegram_2_log_keeper: gửi thông báo qua dịch vụ notify.telegram_2_log_keeper. Bạn thay đổi dịch vụ cho phù hợp với thông báo qua telegram bot của mình hoặc gọi dịch vụ khác.

Bạn có thể tham khảo thêm cách sử dụng các Template và Filter ở đây.

Về Bài viết

Bài viết chưa đầy đủ hoặc bạn còn có ý kiến khác? Bạn có thắc mắc và cần thêm thông tin. Vui lòng đăng ý kiến vào mục bình luận để tác giả và Team có thêm thông tin cải thiện chất lượng bài viết. Chúng tôi sẽ giải đáp các thắc mắc ngay trong mục bình luận để giúp được nhiều đọc giả với cùng vấn đề hơn hoặc chúng tôi sẽ trả lời trong một bài viết riêng. Trân trọng cảm ơn bạn!

Cảm ơn bạn đã xem bài viết này!

konnectED Team.

Lên Đầu
  • Đăng ký
Bạn quên mất mật khẩu? Vui lòng nhập tên đăng nhập và địa chỉ email đã đăng ký. Bạn sẽ nhận được liên kết tạo mật khẩu mới qua email (bạn nhớ kiểm tra hộp spam trong trường hợp email đi lạc).