Add 10-min timer to connect-accept automation
This commit is contained in:
@@ -1,29 +1,9 @@
|
|||||||
router:
|
router:
|
||||||
|
|
||||||
shell_command:
|
timer:
|
||||||
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
|
wrt_ca_timer:
|
||||||
add_ip_to_connect_accept: >
|
duration: '00:10:00'
|
||||||
ssh -i /config/.ssh/id_rsa_openwrt
|
name: Connect Accept Timer
|
||||||
-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
|
|
||||||
'
|
|
||||||
|
|
||||||
automation:
|
automation:
|
||||||
|
|
||||||
@@ -69,32 +49,112 @@ router:
|
|||||||
message: "IP {{ ip_arg }} добавлен в connect-accept"
|
message: "IP {{ ip_arg }} добавлен в connect-accept"
|
||||||
parse_mode: none
|
parse_mode: none
|
||||||
|
|
||||||
- alias: tg|wrt_off_connect_accept
|
# --- CONNECT-ACCEPT с таймером 10 мин ---
|
||||||
|
|
||||||
|
- alias: "tg|wrt_off_connect_accept"
|
||||||
trigger:
|
trigger:
|
||||||
platform: event
|
platform: event
|
||||||
event_type: telegram_command
|
event_type: telegram_command
|
||||||
event_data:
|
event_data:
|
||||||
command: /wrt_ca_off
|
command: /wrt_ca_off
|
||||||
action:
|
action:
|
||||||
- variables:
|
|
||||||
chat_id: "{{ trigger.event.data.chat_id }}"
|
|
||||||
- service: shell_command.wrt_ca_off
|
- service: shell_command.wrt_ca_off
|
||||||
- service: telegram_bot.send_message
|
- service: telegram_bot.send_message
|
||||||
data:
|
data:
|
||||||
chat_id: "{{ trigger.event.data.chat_id }}"
|
chat_id: "{{ trigger.event.data.chat_id }}"
|
||||||
message: "connect-accept отключён"
|
message: "<b>connect-accept отключён</b>\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:
|
trigger:
|
||||||
platform: event
|
platform: event
|
||||||
event_type: telegram_command
|
event_type: telegram_command
|
||||||
event_data:
|
event_data:
|
||||||
command: /wrt_ca_on
|
command: /wrt_ca_on
|
||||||
action:
|
action:
|
||||||
- variables:
|
|
||||||
chat_id: "{{ trigger.event.data.chat_id }}"
|
|
||||||
- service: shell_command.wrt_ca_on
|
- service: shell_command.wrt_ca_on
|
||||||
- service: telegram_bot.send_message
|
- service: telegram_bot.send_message
|
||||||
data:
|
data:
|
||||||
chat_id: "{{ trigger.event.data.chat_id }}"
|
chat_id: "{{ trigger.event.data.chat_id }}"
|
||||||
message: "connect-accept включён"
|
message: "<b>connect-accept включён</b>\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: "<b>connect-accept включён</b>\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: "<b>connect-accept отключён</b>\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: "<b>Таймер истёк!</b>\nconnect-accept включён автоматически."
|
||||||
|
inline_keyboard:
|
||||||
|
- "отключить:/wrt_cb_off|{{ states('input_text.wrt_ca_chat_id') | default('102879274') }}"
|
||||||
|
- "главное меню:/menu_back"
|
||||||
|
|||||||
Reference in New Issue
Block a user