Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Русский
  3. ioBroker
  4. Скрипты
  5. ioBroker скрипты
  6. Преход на страницу по событию

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    675

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    5.7k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.5k

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

Scheduled Pinned Locked Moved ioBroker скрипты
5 Posts 4 Posters 2.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • aurodionovA Offline
    aurodionovA Offline
    aurodionov
    wrote on last edited by
    #1

    Скрипт переходит на созданную страницу 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
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      wrote on last edited by
      #2
      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
      0
      • S Offline
        S Offline
        ShyruMen
        wrote on last edited by
        #3

        @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
        0
        • aurodionovA Offline
          aurodionovA Offline
          aurodionov
          wrote on last edited by
          #4

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

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

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

          Пишу с пульта….

          1 Reply Last reply
          0
          • ? Offline
            ? Offline
            A Former User
            wrote on last edited by
            #5

            Ihre Phrase, einfach die Anmut

            1 Reply Last reply
            0

            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

            With your input, this post could be even better 💗

            Register Login
            Reply
            • Reply as topic
            Log in to reply
            • Oldest to Newest
            • Newest to Oldest
            • Most Votes


            Support us

            ioBroker
            Community Adapters
            Donate

            504

            Online

            32.7k

            Users

            82.6k

            Topics

            1.3m

            Posts
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Login

            • Don't have an account? Register

            • Login or register to search.
            • First post
              Last post
            0
            • Home
            • Recent
            • Tags
            • Unread 0
            • Categories
            • Unreplied
            • Popular
            • GitHub
            • Docu
            • Hilfe