diff --git a/includes/packages/router.yaml b/includes/packages/router.yaml index 48b25df..1063207 100644 --- a/includes/packages/router.yaml +++ b/includes/packages/router.yaml @@ -1,29 +1,9 @@ router: - shell_command: - get_connect_accept_ips: ssh -i /config/.ssh/id_rsa_openwrt -o UserKnownHostsFile=/config/.ssh/known_hosts root@192.168.1.1 /root/get_connect_accept_ips.sh - add_ip_to_connect_accept: > - ssh -i /config/.ssh/id_rsa_openwrt - -o UserKnownHostsFile=/config/.ssh/known_hosts - root@192.168.1.1 /root/add_ip_connect_accept.sh {{ ip }} - wrt_ca_on: > - ssh -i /config/.ssh/id_rsa_openwrt - -o UserKnownHostsFile=/config/.ssh/known_hosts - root@192.168.1.1 /root/on_off_connect_accept.sh on - - wrt_ca_off: > - ssh -i /config/.ssh/id_rsa_openwrt - -o UserKnownHostsFile=/config/.ssh/known_hosts - root@192.168.1.1 /root/on_off_connect_accept.sh off - - wrt_wol_sd: > - ssh -i /config/.ssh/id_rsa_openwrt - -o UserKnownHostsFile=/config/.ssh/known_hosts - root@192.168.1.1 ' - etherwake -i br-lan D8:D0:90:2B:29:93 ; - etherwake -i br-lan 00:E0:4C:75:2C:C2 ; - etherwake -i br-lan 00:E0:4C:FE:20:50 - ' + timer: + wrt_ca_timer: + duration: '00:10:00' + name: Connect Accept Timer automation: @@ -69,32 +49,112 @@ router: message: "IP {{ ip_arg }} добавлен в connect-accept" parse_mode: none - - alias: tg|wrt_off_connect_accept + # --- CONNECT-ACCEPT с таймером 10 мин --- + + - alias: "tg|wrt_off_connect_accept" trigger: - platform: event - event_type: telegram_command - event_data: - command: /wrt_ca_off + platform: event + event_type: telegram_command + event_data: + command: /wrt_ca_off action: - - variables: - chat_id: "{{ 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: "connect-accept отключён" + - 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 + - alias: "tg|wrt_on_connect_accept" trigger: - platform: event - event_type: telegram_command - event_data: - command: /wrt_ca_on + platform: event + event_type: telegram_command + event_data: + command: /wrt_ca_on action: - - variables: - chat_id: "{{ trigger.event.data.chat_id }}" - - service: shell_command.wrt_ca_on - - service: telegram_bot.send_message - data: - chat_id: "{{ trigger.event.data.chat_id }}" - message: "connect-accept включён" + - 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: "{{ trigger.event.data.data | regex_findfirst_index('wrt_cb_on') >= 0 }}" + 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 }}" + text: "connect-accept включён" + - service: telegram_bot.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: "{{ trigger.event.data.data | regex_findfirst_index('wrt_cb_off') >= 0 }}" + 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 }}" + text: "connect-accept отключён" + - service: telegram_bot.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"