Files
smart-domofon/ge1mer/homeassistant/domofon.yaml
Nikolay Vasilchuk 6aa6848ae4 Open / Reject buttons
2022-02-15 13:45:44 +03:00

126 lines
4.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Domofon
automation:
- alias: Domofon incoming call notification
initial_state: true
trigger:
# Обнаружен звонок
- platform: state
entity_id: binary_sensor.domofon_incoming_call
to: 'on'
action:
- choose:
# Включён режим авто-открыть или авто-открыть-один-раз
- conditions:
- condition: or
conditions:
- condition: state
entity_id: switch.domofon_automatically_open
state: 'on'
- condition: state
entity_id: switch.domofon_automatically_open_once
state: 'on'
sequence:
# Отправить уведомление
- service: notify.telegram
data:
message: "Звонок в домофон (откроется автоматически)"
# Включён режим авто-отклонить
- conditions:
- condition: state
entity_id: switch.domofon_automatically_reject
state: 'on'
sequence:
# Отправить уведомление
- service: notify.telegram
data:
message: "Звонок в домофон (отклонится автоматически)"
default:
# Отправить уведомление с кнопками Открыть/Отклонить
- service: notify.telegram
data:
message: "Звонок в домофон"
data:
inline_keyboard:
- "{{ 'Открыть:/domofon_open, Отклонить:/domofon_reject' }}"
- alias: Telegram /domofon_open callback
initial_state: true
trigger:
# Из телеграмма пришла команда Открыть
- platform: event
event_type: telegram_callback
event_data:
data: '/domofon_open'
action:
- choose:
# Идет звонок
- conditions:
- condition: state
entity_id: binary_sensor.domofon_incoming_call
state: 'on'
sequence:
# Отправить подтверждение о намерении открыть
- service: telegram_bot.answer_callback_query
data_template:
callback_query_id: "{{ trigger.event.data.id }}"
message: "Открываю..."
# Открыть
- service: button.press
entity_id: button.domofon_accept_call
default:
# Отправить ответ, что нету звонка
- service: telegram_bot.answer_callback_query
data_template:
callback_query_id: "{{ trigger.event.data.id }}"
message: "Нет входящего звонка"
- alias: Telegram /domofon_reject callback
initial_state: true
trigger:
# Из телеграмма пришла команда Отклонить
- platform: event
event_type: telegram_callback
event_data:
data: '/domofon_reject'
action:
- choose:
# Идет звонок
- conditions:
- condition: state
entity_id: binary_sensor.domofon_incoming_call
state: 'on'
sequence:
# Отправить подтверждение о намерении отклонить
- service: telegram_bot.answer_callback_query
data_template:
callback_query_id: "{{ trigger.event.data.id }}"
message: "Отклоняю..."
# Отклонить
- service: button.press
entity_id: button.domofon_reject_call
default:
# Отправить ответ, что нету звонка
- service: telegram_bot.answer_callback_query
data_template:
callback_query_id: "{{ trigger.event.data.id }}"
message: "Нет входящего звонка"
- alias: Domofon opened by button notification
initial_state: true
trigger:
# Нажата кнопка на плате
- platform: state
entity_id: binary_sensor.domofon_button
to: 'on'
condition:
# Идет звонок
- condition: state
entity_id: binary_sensor.domofon_incoming_call
state: 'on'
action:
# Отправить уведомление
- service: notify.telegram
data:
message: "Домофон открыт кнопкой"