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"