mirror of
https://github.com/Anonym-tsk/smart-domofon.git
synced 2025-12-08 20:46:57 +03:00
Merge pull request #8 from shostko/feature/ha_refactoring
Home Assistant integration refactoring
This commit is contained in:
@@ -4,58 +4,122 @@ automation:
|
|||||||
- alias: Domofon incoming call notification
|
- alias: Domofon incoming call notification
|
||||||
initial_state: true
|
initial_state: true
|
||||||
trigger:
|
trigger:
|
||||||
platform: state
|
# Обнаружен звонок
|
||||||
entity_id: binary_sensor.domofon_incoming_call
|
- platform: state
|
||||||
to: 'on'
|
entity_id: binary_sensor.domofon_incoming_call
|
||||||
|
to: 'on'
|
||||||
action:
|
action:
|
||||||
service: notify.telegram
|
- choose:
|
||||||
data_template:
|
# Включён режим авто-открыть или авто-открыть-один-раз
|
||||||
message: "Звонок в домофон {% if is_state('switch.domofon_automatically_open', 'on') or is_state('switch.domofon_automatically_open_once', 'on') %}(откроется автоматически){% endif %}"
|
- conditions:
|
||||||
data:
|
- condition: or
|
||||||
inline_keyboard:
|
conditions:
|
||||||
- "{{ '-' if is_state('switch.domofon_automatically_open', 'on') or is_state('switch.domofon_automatically_open_once', 'on') else 'Открыть:/domofon_open, Отклонить:/domofon_reject' }}"
|
- 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
|
- alias: Telegram /domofon_open callback
|
||||||
initial_state: true
|
initial_state: true
|
||||||
trigger:
|
trigger:
|
||||||
platform: event
|
# Из телеграмма пришла команда Открыть
|
||||||
event_type: telegram_callback
|
- platform: event
|
||||||
event_data:
|
event_type: telegram_callback
|
||||||
data: '/domofon_open'
|
event_data:
|
||||||
|
data: '/domofon_open'
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.answer_callback_query
|
- choose:
|
||||||
data_template:
|
# Идет звонок
|
||||||
callback_query_id: "{{ trigger.event.data.id }}"
|
- conditions:
|
||||||
message: "{{ 'Открываю...' if is_state('binary_sensor.domofon_incoming_call', 'on') else 'Нет входящего звонка' }}"
|
- condition: state
|
||||||
- service: switch.turn_on
|
entity_id: binary_sensor.domofon_incoming_call
|
||||||
entity_id: switch.domofon_accept_call
|
state: 'on'
|
||||||
|
sequence:
|
||||||
|
# Отправить подтверждение о намерении открыть
|
||||||
|
- service: telegram_bot.answer_callback_query
|
||||||
|
data_template:
|
||||||
|
callback_query_id: "{{ trigger.event.data.id }}"
|
||||||
|
message: "Открываю..."
|
||||||
|
# Открыть
|
||||||
|
- service: switch.turn_on
|
||||||
|
entity_id: switch.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
|
- alias: Telegram /domofon_reject callback
|
||||||
initial_state: true
|
initial_state: true
|
||||||
trigger:
|
trigger:
|
||||||
platform: event
|
# Из телеграмма пришла команда Отклонить
|
||||||
event_type: telegram_callback
|
- platform: event
|
||||||
event_data:
|
event_type: telegram_callback
|
||||||
data: '/domofon_reject'
|
event_data:
|
||||||
|
data: '/domofon_reject'
|
||||||
action:
|
action:
|
||||||
- service: telegram_bot.answer_callback_query
|
- choose:
|
||||||
data_template:
|
# Идет звонок
|
||||||
callback_query_id: "{{ trigger.event.data.id }}"
|
- conditions:
|
||||||
message: "{{ 'Отклоняю...' if is_state('binary_sensor.domofon_incoming_call', 'on') else 'Нет входящего звонка' }}"
|
- condition: state
|
||||||
- service: switch.turn_on
|
entity_id: binary_sensor.domofon_incoming_call
|
||||||
entity_id: switch.domofon_reject_call
|
state: 'on'
|
||||||
|
sequence:
|
||||||
|
# Отправить подтверждение о намерении отклонить
|
||||||
|
- service: telegram_bot.answer_callback_query
|
||||||
|
data_template:
|
||||||
|
callback_query_id: "{{ trigger.event.data.id }}"
|
||||||
|
message: "Отклоняю..."
|
||||||
|
# Открыть
|
||||||
|
- service: switch.turn_on
|
||||||
|
entity_id: switch.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
|
- alias: Domofon opened by button notification
|
||||||
initial_state: true
|
initial_state: true
|
||||||
trigger:
|
trigger:
|
||||||
platform: state
|
# Нажата кнопка на плате
|
||||||
entity_id: binary_sensor.domofon_button
|
- platform: state
|
||||||
to: 'on'
|
entity_id: binary_sensor.domofon_button
|
||||||
|
to: 'on'
|
||||||
condition:
|
condition:
|
||||||
|
# Идет звонок
|
||||||
- condition: state
|
- condition: state
|
||||||
entity_id: binary_sensor.domofon_incoming_call
|
entity_id: binary_sensor.domofon_incoming_call
|
||||||
state: 'on'
|
state: 'on'
|
||||||
action:
|
action:
|
||||||
service: notify.telegram
|
# Отправить уведомление
|
||||||
data:
|
- service: notify.telegram
|
||||||
message: "Домофон открыт кнопкой"
|
data:
|
||||||
|
message: "Домофон открыт кнопкой"
|
||||||
|
|||||||
Reference in New Issue
Block a user