Преход на страницу по событию

Вопросы и информация о скриптах для ioBroker
Antworten
Benutzeravatar
aurodionov
professional
Beiträge: 394
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Преход на страницу по событию

Beitrag von aurodionov » 23.04.2016, 19:46

Скрипт переходит на созданную страницу vis по событию.
Не понял как можно вернутся на ту страницу где был если сработало несколько событий.
Spoiler: Show hidden text

Code: Alles auswählen

on("javascript.0.cam.corridor", function (obj){
    if (obj.newState.val === 1 || obj.newState.val === "1") {
           setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Camers"}');
			//Ждём 30 секунд и переходим на главную
           setTimeout(function () {
                      setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "StartView"}');
           }, 30000);
    }
});

on("squeezebox.0.SqueezeLite.state", function (obj){
    if (obj.newState.val === 1 || obj.newState.val === "1") {
           setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "SqueezeLite"}');
    }       
    else if (obj.newState.val !=1 || obj.newState.val != "1") {
           setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "StartView"}');
    }
});
Пишу с пульта....

Benutzeravatar
Bluefox
Site Admin
Beiträge: 8052
Registriert: 13.07.2014, 14:42
Kontaktdaten:

Re: Преход на страницу по событию

Beitrag von Bluefox » 23.04.2016, 22:31

Code: Alles auswählen

var lastView = getState('vis.0.control.data').val;

on("vis.0.control.command", function (obj) {
  if (obj.state.val === 'changedView') {
    lastView = getState('vis.0.control.data').val; 
  }
});
И использовать эту переменную как то при возвращении:

Code: Alles auswählen

var beforCorridor = 'StartView';
 
on("javascript.0.cam.corridor", function (obj){
    if (obj.newState.val === 1 || obj.newState.val === "1") {
    	   beforCorridor = lastView;
           setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Camers"}');
         //Ждём 30 секунд и переходим на главную
           setTimeout(function () {
                      setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": lastView || "StartView"}');
           }, 30000);
    }
});

ShyruMen
Beiträge: 5
Registriert: 17.01.2018, 05:16

Re: Преход на страницу по событию

Beitrag von ShyruMen » 21.01.2018, 14:28

Bluefox hat geschrieben:

Code: Alles auswählen

var lastView = getState('vis.0.control.data').val;

on("vis.0.control.command", function (obj) {
  if (obj.state.val === 'changedView') {
    lastView = getState('vis.0.control.data').val; 
  }
});
И использовать эту переменную как то при возвращении:

Code: Alles auswählen

var beforCorridor = 'StartView';
 
on("javascript.0.cam.corridor", function (obj){
    if (obj.newState.val === 1 || obj.newState.val === "1") {
    	   beforCorridor = lastView;
           setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Camers"}');
         //Ждём 30 секунд и переходим на главную
           setTimeout(function () {
                      setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": lastView || "StartView"}');
           }, 30000);
    }
});

При использовании команды "changeView" переходит на другую страницу, и при этом на всех устройствах где было открыто, тоже переходит на другую страницу. Как сделать так, чтобы другие устройства не переходили на страницу?

Code: Alles auswählen

setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Original"}');

Benutzeravatar
aurodionov
professional
Beiträge: 394
Registriert: 14.07.2014, 16:39
Wohnort: Россия, Тюмень
Kontaktdaten:

Re: Преход на страницу по событию

Beitrag von aurodionov » 30.01.2018, 16:49

В этой строке красным указан номер инстанции в браузере которой делается переход ,
etState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Camers"}');
Если там стоит FFFFFFFF то переходит на всех браузерах на которых открыт VIS
Пишу с пульта....

Olegpn
Beiträge: 6
Registriert: 06.04.2018, 03:37

Преход на страницу по событию

Beitrag von Olegpn » 10.04.2018, 22:53

Ihre Phrase, einfach die Anmut

Antworten