27.09.2020, 13:30
(25.09.2020, 22:05)Erwin van der Zwart Wrote: Hi,
All is possible as you have client (JS and LUA) and server side (LUA) scripting at your service including websockets and KNX listeners to do whatever you need but it would help to have a real use case, a read request on a screen open can be done but I don’t think you want to perform a read request on any page, any time as that does not makes sense to me..
A popup any time you access a page is also not logical, so what do you want exact?
You can fetch a user on a page but who, when and how do you want to inform anyone and for what purpose?
I never seen your requests as a standard feature for HMI’s so can you give a sample?
Back to start can be done by custom JS and there is a script created for this as that makes sense (:
BR,Code:$(function() {
// Back to Start after x seconds (in miliseconds)
var SE_Timeout = 90000; // adjust this timer value if needed (90 seconds in miliseconds)
var SE_Startpage = currentPlanId; // First page that is loaded
var eventlist = 'vclick vmousedown vmouseout touchend';
// Timer function no usage detected
function No_Usage_Detected(callback, timeout, _this) {
var timer;
return function(e) {
var _that = this;
if (timer)
clearTimeout(timer);
timer = setTimeout(function() {
callback.call(_this || _that, e);
}, timeout);
}
}
// Back to start function when timer elapsed
var SE_Goto_Startpage = No_Usage_Detected(function(e) {
if ( currentPlanId != SE_Startpage ) {
showPlan(SE_Startpage);
$(location).attr("href", "/logout");
}
}, SE_Timeout);
// Add event listener to document to detect user input
$(document)
.on(eventlist, function() {
SE_Goto_Startpage();
});
// Add event listener to all iframes to detect user input inside iframes
$('iframe').load(function() {
var iframe = $('iframe').contents().find('html');
iframe.on(eventlist, function(event) {
SE_Goto_Startpage();
});
});
});
Erwin
Hi, thanks for the reply.
For the main purpose of the post, that is to execute read request on screen open, I want to have a page in touch visualization that will act as a central status report page. For example, I want to know if all windows are closed, so (due to the fact that states may change at any time) I want to execute read request when the user accesses the page and then perform a "logical and" to all separate statuses to get the result. Maybe that could be done with use of a Tag ("window status") that would execute a script and update the central status object each time a window would change state but the desired solution (on screen open) could save some resources as it would run only when needed.
The other examples were just a thought and concern basically pages that have to do with electromechanical equipment. Keep in mind that at the time being I use only Touch interface because I don' t have the skills to make a decent visualization.
So suppose I had a page for a machinery that I would like to keep as simple as possible then a pop-up window could be a solution to give a small report for the devices (running hours, last error e.t.c.). However, the pop-up is really not a good idea.
The third example, would be used as a login activity for the supervisor to know how often a installation is monitored.
By saying "standard feature for HMIs" I didn' t mean any of the examples I gave but the possibility of "HMI Touch Screens" to execute scripts "on screen open", "on screen close" and "while on screen".
Anyway, the question was aiming basically on the ability and not for real case scenarios...