Files
home-assistant/includes/packages/router.yaml
T

194 lines
7.6 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.
router:
timer:
wrt_ca_timer:
duration: '00:10:00'
name: Connect Accept Timer
input_text:
wrt_ca_chat_id:
name: "WRT CA Chat ID"
icon: mdi:account
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: input_text.set_value
target:
entity_id: input_text.wrt_ca_chat_id
data:
value: "{{ trigger.event.data.chat_id }}"
- service: shell_command.wrt_ca_off
- service: telegram_bot.send_message
data:
chat_id: "{{ trigger.event.data.chat_id }}"
message: "<b>connect-accept отключён</b>\n\nЧерез 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 }}"
message: "<b>connect-accept включён</b>\n\nТаймер остановлен."
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: "{{ states('input_text.wrt_ca_chat_id') | int(default=102879274) }}"
message: "<b>⏰ Таймер истёк!</b>\nconnect-accept включён автоматически."
inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|{{ states('input_text.wrt_ca_chat_id') | int(default=102879274) }}, 🔄 Обновить:/wrt_cb_refresh|{{ states('input_text.wrt_ca_chat_id') | int(default=102879274) }}"
- "🔙 Главное меню:/menu_back"