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 }}" message: "connect-accept отключён\n\nВключится автоматически через 10 минут." inline_keyboard: - "включить:/wrt_cb_on|{{ 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: "connect-accept включён\n\nТаймер остановлен." inline_keyboard: - "отключить:/wrt_cb_off|{{ 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.answer_callback_query data: callback_query_id: "{{ trigger.event.data.id }}" message: "connect-accept включён" - service: telegram.edit_message_text data: message_id: "{{ trigger.event.data.message.message_id }}" chat_id: "{{ chat_id }}" message: "connect-accept включён\n\nТаймер остановлен." inline_keyboard: - "отключить:/wrt_cb_off|{{ 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.answer_callback_query data: callback_query_id: "{{ trigger.event.data.id }}" message: "connect-accept отключён" - service: telegram.edit_message_text data: message_id: "{{ trigger.event.data.message.message_id }}" chat_id: "{{ chat_id }}" message: "connect-accept отключён\n\nВключится автоматически через 10 минут." inline_keyboard: - "включить:/wrt_cb_on|{{ chat_id }}" - "главное меню:/menu_back" - service: timer.start target: entity_id: timer.wrt_ca_timer - 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') | default('102879274') }}" message: "Таймер истёк!\nconnect-accept включён автоматически." inline_keyboard: - "отключить:/wrt_cb_off|{{ states('input_text.wrt_ca_chat_id') | default('102879274') }}" - "главное меню:/menu_back"