Files

195 lines
7.3 KiB
YAML
Raw Permalink 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.
router:
timer:
wrt_ca_timer:
duration: '00:10:00'
name: Connect Accept Timer
automation:
- alias: ntf|tg|wrt_ip
description: Получает IP-адреса из ipset connect_accept на OpenWRT и отправляет их в Telegram
trigger:
- platform: event
event_type: telegram_command
event_data:
command: '/wrt_ip'
- platform: event
event_type: telegram_command
event_data:
command: '/wrt_ip@ha_dddennnisss_bot'
action:
- service: shell_command.get_connect_accept_ips
response_variable: wrt_ips
- service: telegram_bot.send_message
data:
chat_id: "{{ trigger.event.data.chat_id }}"
message: >
connect-accept:
{{ wrt_ips.stdout | default('Нет данных') }}
mode: single
- alias: tg|wrt_ip_add
trigger:
platform: event
event_type: telegram_command
event_data:
command: /wrt_ip_add
action:
- variables:
chat_id: "{{ trigger.event.data.chat_id }}"
ip_arg: "{{ trigger.event.data.args | join(' ') }}"
- service: shell_command.add_ip_to_connect_accept
data:
ip: "{{ ip_arg }}"
- service: telegram_bot.send_message
data:
chat_id: "{{ trigger.event.data.chat_id }}"
message: "IP {{ ip_arg }} добавлен в connect-accept"
parse_mode: none
# --- CONNECT-ACCEPT с таймером 10 мин ---
- alias: "tg|wrt_off_connect_accept"
trigger:
platform: event
event_type: telegram_command
event_data:
command: /wrt_ca_off
action:
- service: shell_command.wrt_ca_off
- service: telegram_bot.send_message
data:
chat_id: "{{ trigger.event.data.chat_id }}"
parse_mode: html
message: |
<b>connect-accept отключён</b>
Через 10:00 включится автоматически.
inline_keyboard:
- "🔛 Включить:/wrt_cb_on|{{ trigger.event.data.chat_id }}, 🔄 Обновить:/wrt_cb_refresh|{{ trigger.event.data.chat_id }}"
- "🔙 Главное меню:/menu_back"
- service: timer.start
target:
entity_id: timer.wrt_ca_timer
- alias: "tg|wrt_on_connect_accept"
trigger:
platform: event
event_type: telegram_command
event_data:
command: /wrt_ca_on
action:
- service: shell_command.wrt_ca_on
- service: telegram_bot.send_message
data:
chat_id: "{{ trigger.event.data.chat_id }}"
parse_mode: html
message: |
<b>connect-accept включён</b>
Таймер остановлен.
inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|{{ trigger.event.data.chat_id }}, 🔄 Обновить:/wrt_cb_refresh|{{ trigger.event.data.chat_id }}"
- "🔙 Главное меню:/menu_back"
- service: timer.cancel
target:
entity_id: timer.wrt_ca_timer
- alias: "tg|wrt_cb_on"
trigger:
platform: event
event_type: telegram_callback
condition:
- condition: template
value_template: "{{ 'wrt_cb_on' in trigger.event.data.data }}"
action:
- variables:
chat_id: "{{ trigger.event.data.data.split('|')[1] }}"
- service: shell_command.wrt_ca_on
- service: telegram_bot.edit_message
data:
chat_id: "{{ chat_id }}"
message_id: "{{ trigger.event.data.message.message_id }}"
parse_mode: html
message: |
<b>connect-accept включён</b>
Таймер остановлен.
inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|{{ chat_id }}, 🔄 Обновить:/wrt_cb_refresh|{{ chat_id }}"
- "🔙 Главное меню:/menu_back"
- service: timer.cancel
target:
entity_id: timer.wrt_ca_timer
- alias: "tg|wrt_cb_off"
trigger:
platform: event
event_type: telegram_callback
condition:
- condition: template
value_template: "{{ 'wrt_cb_off' in trigger.event.data.data }}"
action:
- variables:
chat_id: "{{ trigger.event.data.data.split('|')[1] }}"
- service: shell_command.wrt_ca_off
- service: telegram_bot.edit_message
data:
chat_id: "{{ chat_id }}"
message_id: "{{ trigger.event.data.message.message_id }}"
parse_mode: html
message: |
<b>connect-accept отключён</b>
Через 10:00 включится автоматически.
inline_keyboard:
- "🔛 Включить:/wrt_cb_on|{{ chat_id }}, 🔄 Обновить:/wrt_cb_refresh|{{ chat_id }}"
- "🔙 Главное меню:/menu_back"
- service: timer.start
target:
entity_id: timer.wrt_ca_timer
- alias: "tg|wrt_cb_refresh"
trigger:
platform: event
event_type: telegram_callback
condition:
- condition: template
value_template: "{{ 'wrt_cb_refresh' in trigger.event.data.data }}"
action:
- variables:
chat_id: "{{ trigger.event.data.data.split('|')[1] }}"
- service: telegram_bot.edit_message
data:
chat_id: "{{ chat_id }}"
message_id: "{{ trigger.event.data.message.message_id }}"
parse_mode: html
message: |
<b>connect-accept отключён</b>
Через {{ (as_timestamp(state_attr('timer.wrt_ca_timer', 'finishes_at')) - as_timestamp(now())) | timestamp_custom('%M:%S', false) | replace(' 0', ' 0', 1) }} включится автоматически.
inline_keyboard:
- "🔛 Включить:/wrt_cb_on|{{ chat_id }}, 🔄 Обновить:/wrt_cb_refresh|{{ chat_id }}"
- "🔙 Главное меню:/menu_back"
- alias: "wrt|timer_expired_auto_on"
trigger:
platform: event
event_type: timer.finished
event_data:
entity_id: timer.wrt_ca_timer
action:
- service: shell_command.wrt_ca_on
- service: telegram_bot.send_message
data:
chat_id: "-1002006010424"
parse_mode: html
message: |
<b>⏰ Таймер истёк!</b>
connect-accept включён автоматически.
inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|-1002006010424, 🔄 Обновить:/wrt_cb_refresh|-1002006010424"
- "🔙 Главное меню:/menu_back"