Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Русский
    3. ioBroker
    4. Скрипты
    5. ioBroker скрипты
    6. Преход на страницу по событию

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • aurodionov
      aurodionov last edited by

      Скрипт переходит на созданную страницу vis по событию.

      Не понял как можно вернутся на ту страницу где был если сработало несколько событий.

      ! ````
      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"}');
      }
      });

      1 Reply Last reply Reply Quote 0
      • Bluefox
        Bluefox last edited by

        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; 
          }
        });
        
        

        И использовать эту переменную как то при возвращении:

        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);
            }
        });
        
        1 Reply Last reply Reply Quote 0
        • S
          ShyruMen last edited by

          @Bluefox:

          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; 
            }
          });
          
          

          И использовать эту переменную как то при возвращении:

          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" переходит на другую страницу, и при этом на всех устройствах где было открыто, тоже переходит на другую страницу. Как сделать так, чтобы другие устройства не переходили на страницу?

          setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "main/Original"}');
          
          
          1 Reply Last reply Reply Quote 0
          • aurodionov
            aurodionov last edited by

            В этой строке красным указан номер инстанции в браузере которой делается переход ,

            etState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Camers"}');

            Если там стоит FFFFFFFF то переходит на всех браузерах на которых открыт VIS

            1 Reply Last reply Reply Quote 0
            • ?
              A Former User last edited by

              Ihre Phrase, einfach die Anmut

              1 Reply Last reply Reply Quote 0
              • First post
                Last post

              Support us

              ioBroker
              Community Adapters
              Donate

              601
              Online

              31.6k
              Users

              79.6k
              Topics

              1.3m
              Posts

              4
              5
              2199
              Loading More Posts
              • Oldest to Newest
              • Newest to Oldest
              • Most Votes
              Reply
              • Reply as topic
              Log in to reply
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
              The ioBroker Community 2014-2023
              logo