Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

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

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    5
    1
    41

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

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

Geplant Angeheftet Gesperrt Verschoben ioBroker скрипты
5 Beiträge 4 Kommentatoren 2.4k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • aurodionovA Offline
    aurodionovA Offline
    aurodionov
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    0
    • BluefoxB Offline
      BluefoxB Offline
      Bluefox
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        ShyruMen
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        0
        • aurodionovA Offline
          aurodionovA Offline
          aurodionov
          schrieb am zuletzt editiert von
          #4

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

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

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

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

          1 Antwort Letzte Antwort
          0
          • ? Offline
            ? Offline
            Ein ehemaliger Benutzer
            schrieb am zuletzt editiert von
            #5

            Ihre Phrase, einfach die Anmut

            1 Antwort Letzte Antwort
            0
            Antworten
            • In einem neuen Thema antworten
            Anmelden zum Antworten
            • Älteste zuerst
            • Neuste zuerst
            • Meiste Stimmen


            Support us

            ioBroker
            Community Adapters
            Donate

            544

            Online

            32.5k

            Benutzer

            81.7k

            Themen

            1.3m

            Beiträge
            Community
            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
            ioBroker Community 2014-2025
            logo
            • Anmelden

            • Du hast noch kein Konto? Registrieren

            • Anmelden oder registrieren, um zu suchen
            • Erster Beitrag
              Letzter Beitrag
            0
            • Home
            • Aktuell
            • Tags
            • Ungelesen 0
            • Kategorien
            • Unreplied
            • Beliebt
            • GitHub
            • Docu
            • Hilfe