Мануал. Делаем управление домофоном через телеграм
DivanX10 opened this issue · comments
Создадим автоматизацию.
Создайте например файлик с таким именем domofon_control_telegram.yaml и вставьте код ниже. Сам файлик domofon_control_telegram.yaml закидываем в automation old, это автоматизация через yaml. У меня настроено так automation old: !include_dir_merge_list includes/automation
- alias: 'Телеграм: Домофон. Управление'
description: Управление домофоном через телеграм
trigger:
- platform: event
event_type: telegram_callback
event_data: {}
condition: []
action:
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.command == ''/domofon'' }}'
sequence:
- service: telegram_bot.send_message
data:
target: '{{ trigger.event.data.chat_id }}'
message: &msg |
{{'\U00002699'}} **Режим работы домофона**
#Клавиатура
inline_keyboard: &keyb
- '{% set domofon_modes = states("input_select.smart_domofon_scrators_modes") %}
{% if domofon_modes == "Не активен" %} {{"🟢"}}
{% else %} {{"🔴"}}
{% endif %}
Не активен:/domofon_not_active,
{% set domofon_modes = states("input_select.smart_domofon_scrators_modes") %}
{% if domofon_modes == "Открывать всегда" %} {{"🟢"}}
{% else %} {{"🔴"}}
{% endif %}
Открывать всегда:/domofon_open_always'
- '{% if is_state("switch.smart_domofon_scrators_mute", "on") %} {{"🟢"}}
{% else %} {{"🔴"}}
{% endif %}
Беззвучный режим:/domofon_mute,
{% set domofon_modes = states("input_select.smart_domofon_scrators_modes") %}
{% if domofon_modes == "Сброс вызова" %} {{"🟢"}}
{% else %} {{"🔴"}}
{% endif %}
Сброс вызова:/domofon_reset_call'
- '{% set domofon_modes = states("input_select.smart_domofon_scrators_modes") %}
{% if domofon_modes == "Сброс вызова если нет ответа" %} {{"🟢"}}
{% else %} {{"🔴"}}
{% endif %}
Сброс вызова если нет ответа:/domofon_resetting_call_no_response'
- Назад:/backhome
#Кнопка №1. Не активен
- conditions:
- condition: template
value_template: '{{ trigger.event.data.command == "/domofon_not_active" }}'
sequence:
- service: input_select.select_option
target:
entity_id: input_select.smart_domofon_scrators_modes
data:
option: Не активен
- delay:
milliseconds: 300
- service: telegram_bot.edit_message
data:
message_id: '{{ trigger.event.data.message.message_id }}'
chat_id: '{{ trigger.event.data.user_id }}'
callback_query_id: '{{ trigger.event.data.id }}'
message: *msg
inline_keyboard: *keyb
#Кнопка №2. Открывать всегда
- conditions:
- condition: template
value_template: '{{ trigger.event.data.command == "/domofon_open_always" }}'
sequence:
- service: input_select.select_option
target:
entity_id: input_select.smart_domofon_scrators_modes
data:
option: Открывать всегда
- delay:
milliseconds: 300
- service: telegram_bot.edit_message
data:
message_id: '{{ trigger.event.data.message.message_id }}'
chat_id: '{{ trigger.event.data.user_id }}'
callback_query_id: '{{ trigger.event.data.id }}'
message: *msg
inline_keyboard: *keyb
#Кнопка №3. Беззвучный режим
- conditions:
- condition: template
value_template: '{{ trigger.event.data.command == "/domofon_mute" }}'
sequence:
- service: switch.toggle
target:
entity_id: switch.smart_domofon_scrators_mute
- delay:
milliseconds: 300
- service: telegram_bot.edit_message
data:
message_id: '{{ trigger.event.data.message.message_id }}'
chat_id: '{{ trigger.event.data.user_id }}'
callback_query_id: '{{ trigger.event.data.id }}'
message: *msg
inline_keyboard: *keyb
#Кнопка №4. Сброс вызова
- conditions:
- condition: template
value_template: '{{ trigger.event.data.command == "/domofon_reset_call" }}'
sequence:
- service: input_select.select_option
target:
entity_id: input_select.smart_domofon_scrators_modes
data:
option: Сброс вызова
- delay:
milliseconds: 300
- service: telegram_bot.edit_message
data:
message_id: '{{ trigger.event.data.message.message_id }}'
chat_id: '{{ trigger.event.data.user_id }}'
callback_query_id: '{{ trigger.event.data.id }}'
message: *msg
inline_keyboard: *keyb
#Кнопка №5. Сброс вызова если нет ответа
- conditions:
- condition: template
value_template: '{{ trigger.event.data.command == "/domofon_resetting_call_no_response" }}'
sequence:
- service: input_select.select_option
target:
entity_id: input_select.smart_domofon_scrators_modes
data:
option: Сброс вызова если нет ответа
- delay:
milliseconds: 300
- service: telegram_bot.edit_message
data:
message_id: '{{ trigger.event.data.message.message_id }}'
chat_id: '{{ trigger.event.data.user_id }}'
callback_query_id: '{{ trigger.event.data.id }}'
message: *msg
inline_keyboard: *keyb
default: []
mode: restart
Спасибо!
Кстати, я когда-то заморачивался с получением чат_ида, который включил ну или сделал какое-то действие с домофоном черег телегу, что бы понимать, кто это было например. Но по моему я так и не добил этот момент.
Спасибо!
и вам спасибо за отличный проект )
Я просто в восторге... Как вам фразочка:
" Сам файлик domofon_control_telegram.yaml закидываем в automation old, это автоматизация через yaml. У меня настроено так automation old: !include_dir_merge_list includes/automation"
Я загрузил в ESP недоразумение в виде ESPhome. Установил туда domofon.yaml
Но что означает вышеуказанная фраза... Куда, простите, вставлять этот файл??? В какую bin прошивку или где Вы вообще нашли automation old??? Какое-то надругательство, а не инструкция. Где telegram chat ID, где токен??
Горите в аду, как говорится...
Я просто в восторге... Как вам фразочка: " Сам файлик domofon_control_telegram.yaml закидываем в automation old, это автоматизация через yaml. У меня настроено так automation old: !include_dir_merge_list includes/automation" Я загрузил в ESP недоразумение в виде ESPhome. Установил туда domofon.yaml Но что означает вышеуказанная фраза... Куда, простите, вставлять этот файл??? В какую bin прошивку или где Вы вообще нашли automation old??? Какое-то надругательство, а не инструкция. Где telegram chat ID, где токен?? Горите в аду, как говорится...
А кто виноват, что вы не понимаете, я, вы или автор этого проекта? Я виноват в том, что по своему желанию выложив этот код вы не понимаете что с ним делать? Я виноват в том, что вы ленитесь читать документации? Может вам стоит потратить время на чтение документации, зайти в чат в телеграм и воспользоваться поиском? Может вам я еще чем-то должен? Вы видимо не понимаете что такое open source, а тем более issue в гитхабе. Никто, ничего, никому не должен, желающие выкладывают инфу так, как хотят, а могут вообще ничего не выкладывать.
Это не инструкция, а всего лишь мой вариант кода, который я выложил сюда ПО СВОЕМУ ЖЕЛАНИЮ. Тут не нужна документация, ибо есть код и кто мало-мальски знает Home Assistant и умеет читать документацию, тот без труда это сделает, но на худой момент спрашивают в чате smartintercom
P.S: Этот код уже устарел. Почему устарел? Ответ можно найти здесь
Я просто в восторге... Как вам фразочка: " Сам файлик domofon_control_telegram.yaml закидываем в automation old, это автоматизация через yaml. У меня настроено так automation old: !include_dir_merge_list includes/automation" Я загрузил в ESP недоразумение в виде ESPhome. Установил туда domofon.yaml Но что означает вышеуказанная фраза... Куда, простите, вставлять этот файл??? В какую bin прошивку или где Вы вообще нашли automation old??? Какое-то надругательство, а не инструкция. Где telegram chat ID, где токен?? Горите в аду, как говорится...
Человек поделился трудами, а вы чушь какую-то несете, забанить неадеквата