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: | connect-accept отключён Через 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: | connect-accept включён Таймер остановлен. 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: | connect-accept включён Таймер остановлен. 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: | connect-accept отключён Через 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: | connect-accept отключён Через {{ (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: | ⏰ Таймер истёк! connect-accept включён автоматически. inline_keyboard: - "⏸️ Отключить:/wrt_cb_off|-1002006010424, 🔄 Обновить:/wrt_cb_refresh|-1002006010424" - "🔙 Главное меню:/menu_back"