Возврат на сцену
Модератор: immortal
-
- Сообщения: 354
- Зарегистрирован: Вт окт 09, 2012 8:05 am
- Откуда: Луза Кировская обл. Россия
- Благодарил (а): 20 раз
- Поблагодарили: 35 раз
Возврат на сцену
Коллеги, вопрос. Нужно реализовать алгоритм, перехода на сцену по таймауту бездействия, т.е. если пользователь не работает со сценой период времени, перейти на другую сцену. Хотябы натолкните куда копать.
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
CONNECT
-
- Сообщения: 119
- Зарегистрирован: Вт ноя 08, 2016 4:27 pm
- Благодарил (а): 11 раз
- Поблагодарили: 10 раз
Re: Возврат на сцену
Делается по средствам JS. но там не будет считаться нажатие кнопок, вернее можно и сделать что бы считало но не знаю как, а вот тема для размышления:
delay = 60000 - это 60 секунд. Т.е. получится так что если пользователь зашел на страницу - через 60 секунд его перебросит.
Код: Выделить всё
<script language = 'javascript'>
var delay = 60000;
setTimeout("document.location.href='http://ссылка'", delay);
</script>
- Рейтинг: 1.16%
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Возврат на сцену
clearTimeOut в начале дописать, обернуть в функцию, и на каждый элемент повесить её на onClick="func();" или как там это делается...
Прикол в том - что это делается в HTML... Как подцепить это к стандартным элементам (выключателям и т.п.) - это хз...если есть поле "Дополнительный javascript код" , тогда вообще без проблем....а есть оно или нет - не помню...
UPD: нашел, как повесить на любой клик $(window,document).on("click",function(){тут ваша функция});
Прикол в том - что это делается в HTML... Как подцепить это к стандартным элементам (выключателям и т.п.) - это хз...если есть поле "Дополнительный javascript код" , тогда вообще без проблем....а есть оно или нет - не помню...
UPD: нашел, как повесить на любой клик $(window,document).on("click",function(){тут ваша функция});
- За это сообщение автора nick7zmail поблагодарил:
- lanket (Ср янв 18, 2017 9:28 am)
- Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
- lanket
- Сообщения: 1168
- Зарегистрирован: Вт окт 14, 2014 11:27 pm
- Откуда: Санкт-Петербург
- Благодарил (а): 260 раз
- Поблагодарили: 163 раза
Re: Возврат на сцену
Практичная идея.nick7zmail писал(а):clearTimeOut в начале дописать, обернуть в функцию, и на каждый элемент повесить её на onClick="func();" или как там это делается...
Прикол в том - что это делается в HTML... Как подцепить это к стандартным элементам (выключателям и т.п.) - это хз...если есть поле "Дополнительный javascript код" , тогда вообще без проблем....а есть оно или нет - не помню...
UPD: нашел, как повесить на любой клик $(window,document).on("click",function(){тут ваша функция});
Подошёл, Побаловался, ушёл а МД вернулся на стартовую сцену.
Единственное что стартовые сцены могут быть разные в зависимости от назначения помещения. Например в холле это видео глазок, погода и общая инфа. А например в котельной состояние инженерии.....
Думаю имеет смысл этот функционал в виде опции поместить в настройках сцен.
Отправлено с моего Redmi Note 3 через Tapatalk
Разработка голосового асистента для Мажордомо по любому ключевому слову.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
Обсужение
gitHub 2й версии терминала
GitHub модуля для МД
gitHub сырого модуля 2й версии
Connect
Rasberry Pi 2, MDM, MySensors. И говорящий апельсин.
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Возврат на сцену
Ну можно же в зависимости от терминала (вроде эту опцию можно из настроек вытянуть) выбирать "document.location.href='http://ссылка'"...только код при этом усложняется условиями))
А вообще да, неплохо бы было иметь это в стандартном арсенале) В таблицу терминалов добавить что-то типа home_url, и таймер запускать в заголовке default.html, apps.html, menu.html...и какие там еще варианты есть стартовых страниц)) (а не на конкретных сценах).
UPD: Кстати, так же эта опция (home_url в таблице терминалов) может быть полезна при открытии страницы....например я ввожу в браузерную строку IP-шник МД, если запрос идет с IP терминала, забитого в таблицу - открывается не default.html а сразу идет редирект на home_url конкретного терминала... нифига меня понесло))
А вообще да, неплохо бы было иметь это в стандартном арсенале) В таблицу терминалов добавить что-то типа home_url, и таймер запускать в заголовке default.html, apps.html, menu.html...и какие там еще варианты есть стартовых страниц)) (а не на конкретных сценах).
UPD: Кстати, так же эта опция (home_url в таблице терминалов) может быть полезна при открытии страницы....например я ввожу в браузерную строку IP-шник МД, если запрос идет с IP терминала, забитого в таблицу - открывается не default.html а сразу идет редирект на home_url конкретного терминала... нифига меня понесло))
- За это сообщение автора nick7zmail поблагодарил:
- Samir77 (Сб июн 26, 2021 5:56 pm)
- Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 354
- Зарегистрирован: Вт окт 09, 2012 8:05 am
- Откуда: Луза Кировская обл. Россия
- Благодарил (а): 20 раз
- Поблагодарили: 35 раз
Re: Возврат на сцену
Спасибо за наводку. Буду копать.
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
CONNECT
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Возврат на сцену
А че копать то?))уже почти готовый код привел....Anton_kulibin писал(а):Спасибо за наводку. Буду копать.
Код: Выделить всё
$(window,document).on("click",function(){
clearTimeout(mytimeout);
var delay = 60000;
mytimeout=setTimeout("document.location.href='http://ссылка'", delay);
});
На OnLoad страницы тоже её же можно повесить, на случай если не будет клика, а вернуться все равно надо.
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 354
- Зарегистрирован: Вт окт 09, 2012 8:05 am
- Откуда: Луза Кировская обл. Россия
- Благодарил (а): 20 раз
- Поблагодарили: 35 раз
Re: Возврат на сцену
Сделал не так, но работает. Добавил html элемент в нем
Протестил работает
Код: Выделить всё
<script language = 'javascript'>
function reload (){
clearTimeOut();
}
var delay = 600000;
setTimeout("document.location.href='/popup/scenes/5.html'", delay);
$(window,document).on("click",function(){reload()});
</script>
Linux версия. Ubuntu Server 16.04+2xArduinoMega+Eth_GW_Mysensors_10node+WeatherStation+Xiaomi
CONNECT
CONNECT
-
- Сообщения: 11
- Зарегистрирован: Вт май 23, 2017 10:26 pm
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: Возврат на сцену
Здравствуйте! вы разобрались с возвратом на сцену если бездействие на протяжении какого - то времени?Anton_kulibin писал(а):Сделал не так, но работает. Добавил html элемент в немПротестил работаетКод: Выделить всё
<script language = 'javascript'> function reload (){ clearTimeOut(); } var delay = 600000; setTimeout("document.location.href='/popup/scenes/5.html'", delay); $(window,document).on("click",function(){reload()}); </script>
-
- Сообщения: 59
- Зарегистрирован: Ср авг 23, 2017 5:35 pm
- Благодарил (а): 2 раза
- Поблагодарили: 2 раза
Re: Возврат на сцену
Присоединяюсь к вопросу. Может, при любом нажатии на кнопки - обнулять (на базовое значение) таймер? В коде скрипта этот таймер указать. Или скрипт нужно будет перезапускать?AlexandrPrimes писал(а): ↑Ср май 24, 2017 6:41 pmЗдравствуйте! вы разобрались с возвратом на сцену если бездействие на протяжении какого - то времени?Anton_kulibin писал(а):Сделал не так, но работает. Добавил html элемент в немПротестил работаетКод: Выделить всё
<script language = 'javascript'> function reload (){ clearTimeOut(); } var delay = 600000; setTimeout("document.location.href='/popup/scenes/5.html'", delay); $(window,document).on("click",function(){reload()}); </script>