router: add refresh button with countdown timer display

This commit is contained in:
2026-08-11 21:50:50 +07:00
parent 0c10127d49
commit a6be3989d3
+48 -7
View File
@@ -62,10 +62,11 @@ router:
- 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: "<b>connect-accept отключён</b>\n\nВключится автоматически через 10 минут." message: "<b>connect-accept отключён</b>\n\nЧерез 10:00 включится автоматически."
inline_keyboard: inline_keyboard:
- "🔛 Включить:/wrt_cb_on|{{ trigger.event.data.chat_id }}" - "🔛 Включить:/wrt_cb_on|{{ trigger.event.data.chat_id }}"
- "🔄 Обновить:/wrt_ca_off, 🔙 Назад:/menu_back" - "🔄 Обновить:/wrt_cb_refresh|{{ trigger.event.data.chat_id }}"
- "🔙 Назад:/menu_back"
- service: timer.start - service: timer.start
target: target:
entity_id: timer.wrt_ca_timer entity_id: timer.wrt_ca_timer
@@ -84,7 +85,8 @@ router:
message: "<b>connect-accept включён</b>\n\nТаймер остановлен." message: "<b>connect-accept включён</b>\n\nТаймер остановлен."
inline_keyboard: inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|{{ trigger.event.data.chat_id }}" - "⏸️ Отключить:/wrt_cb_off|{{ trigger.event.data.chat_id }}"
- "🔄 Обновить:/wrt_ca_on, 🔙 Назад:/menu_back" - "🔄 Обновить:/wrt_cb_refresh|{{ trigger.event.data.chat_id }}"
- "🔙 Назад:/menu_back"
- service: timer.cancel - service: timer.cancel
target: target:
entity_id: timer.wrt_ca_timer entity_id: timer.wrt_ca_timer
@@ -100,6 +102,10 @@ router:
- variables: - variables:
chat_id: "{{ trigger.event.data.data.split('|')[1] }}" chat_id: "{{ trigger.event.data.data.split('|')[1] }}"
- service: shell_command.wrt_ca_on - 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 - service: telegram_bot.edit_message
data: data:
chat_id: "{{ chat_id }}" chat_id: "{{ chat_id }}"
@@ -111,7 +117,8 @@ router:
Таймер остановлен. Таймер остановлен.
inline_keyboard: inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|{{ chat_id }}" - "⏸️ Отключить:/wrt_cb_off|{{ chat_id }}"
- "🔄 Обновить:/wrt_ca_on, 🔙 Назад:/menu_back" - "🔄 Обновить:/wrt_cb_refresh|{{ chat_id }}"
- "🔙 Назад:/menu_back"
- service: timer.cancel - service: timer.cancel
target: target:
entity_id: timer.wrt_ca_timer entity_id: timer.wrt_ca_timer
@@ -127,6 +134,10 @@ router:
- variables: - variables:
chat_id: "{{ trigger.event.data.data.split('|')[1] }}" chat_id: "{{ trigger.event.data.data.split('|')[1] }}"
- service: shell_command.wrt_ca_off - 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 - service: telegram_bot.edit_message
data: data:
chat_id: "{{ chat_id }}" chat_id: "{{ chat_id }}"
@@ -135,14 +146,43 @@ router:
message: | message: |
<b>connect-accept отключён</b> <b>connect-accept отключён</b>
Включится автоматически через 10 минут. Через 10:00 включится автоматически.
inline_keyboard: inline_keyboard:
- "🔛 Включить:/wrt_cb_on|{{ chat_id }}" - "🔛 Включить:/wrt_cb_on|{{ chat_id }}"
- "🔄 Обновить:/wrt_ca_off, 🔙 Назад:/menu_back" - "🔄 Обновить:/wrt_cb_refresh|{{ chat_id }}"
- "🔙 Назад:/menu_back"
- service: timer.start - service: timer.start
target: target:
entity_id: timer.wrt_ca_timer 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.answer_callback_query
data:
callback_query_id: "{{ trigger.event.data.id }}"
text: "Обновлено"
- service: telegram_bot.edit_message
data:
chat_id: "{{ chat_id }}"
message_id: "{{ trigger.event.data.message.message_id }}"
parse_mode: html
message: |
<b>connect-accept отключён</b>
Через {{ (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" - alias: "wrt|timer_expired_auto_on"
trigger: trigger:
platform: event platform: event
@@ -157,4 +197,5 @@ router:
message: "<b>Таймер истёк!</b>\nconnect-accept включён автоматически." message: "<b>Таймер истёк!</b>\nconnect-accept включён автоматически."
inline_keyboard: inline_keyboard:
- "⏸️ Отключить:/wrt_cb_off|{{ states('input_text.wrt_ca_chat_id') | default('102879274') }}" - "⏸️ Отключить:/wrt_cb_off|{{ states('input_text.wrt_ca_chat_id') | default('102879274') }}"
- "🔄 Обновить:/wrt_ca_on, 🔙 Назад:/menu_back" - "🔄 Обновить:/wrt_cb_refresh|{{ states('input_text.wrt_ca_chat_id') | default('102879274') }}"
- "🔙 Назад:/menu_back"