Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Automatischer View Wechsel / zwei unterschiedliche Geräte

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Automatischer View Wechsel / zwei unterschiedliche Geräte

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

      Hallo zusammen,

      leider habe ich in der Suche nichts passendes gefunden und steh irgendwie am Schlauch. 😞

      Also ich besitze 2 Tablets - 1 Wohnzimmer & 1 Dachgeschoss auf beiden läuft der FullyKioskBrowser.

      Jetzt möchte ich das sich die Geräte nach 5 Minuten (die 5 Sek. im Blockly sind nur zum testen... keine Lust immer 5 Minuten zu warten) automatisch auf die jeweilige Seite (Wohnung/Dachgeschoss) zurück wechseln.

      Leider spielen die Views Ping Pong... was mit meine Skript auch logisch ist. Leider fehlt mir eine Idee wie ich das verhindern kann.

      b5e8dd75-988f-4926-b1ff-a4dd857ff3cc-image.png

      Mein Versuch war es noch über die Fully Instanz zu "verriegeln" aber auch das funktioniert nicht, da die FullyInstanz ja die IP der VIS nutzt und nicht die vom Tablet (zumindest bei dem Datenpunkt). Leider finde ich keinen Datenpunkt unter Objekten den ich nutzen kann um es zu "verriegeln".

      Hat jemand eine Idee für mich?

      G liv-in-sky 2 Replies Last reply Reply Quote 0
      • G
        Gutscho @m0uh last edited by

        Servus @m0uh,
        du musst nur eine Oderbedingung vorne mit einbauen. Das heißt du musst abfragen ob der Wert ungleich (Main/Dachgeschoss oder Main/Wohnung ist) und dann auf die current page abfragen. Das dürfte dein Problem meines Erachtens lösen.

        M 1 Reply Last reply Reply Quote 0
        • M
          m0uh @Gutscho last edited by m0uh

          Servus @gutscho,

          also einen kleine Schritt bin ich durch die jetzt weiter... ABER wenn ich jetzt im Dachgeschoss auf Wohnung wechsel oder im Wohnzimmer auf Dachgeschoss würde er nicht mehr automatisch zurück wechseln.

          Sofern ich dich richtig verstanden habe:
          6e6f9db7-1ff7-4249-8ccd-bd16ba7aca99-image.png

          Das nächste Problem ist das beide Aktionen zeitgleich ausgeführt werden, somit schaltet er das eine Tablet auf Wohnung und beim anderen passiert nichts mehr.

          Ich würde das irgendwie gerne mit Timeouts realisieren oder so.... also das er z.B. eine Minute auch nach Änderung nix macht und dann z.B. prüft ob es Dachgeschoss / Wohnung ist oder so.... keine Ahnung wie gesagt steh leider bisschen am Schlauch und hab keine Ahnung wie man das am besten Elegant und einfach löst.

          Was auch sehr komisch ist.... ich habe das ODER mal entfernt & bei Dachgeschoss die Verzögerung auf 3 Sek. bei Wohnung die Verzögerung auf 10 Sek. - er schaltet aber erst nach 10 Sek. um auf Wohnung um und anschließend beginnt das PING PONG! Sollte er nicht zuerst auf Dachgeschoss umschalten?

          1 Reply Last reply Reply Quote 0
          • liv-in-sky
            liv-in-sky @m0uh last edited by liv-in-sky

            @m0uh

            ich habe mal etwas anderes getestet

            ich nutze ungern die instance id - die kann nämlich gelöscht werden (browser cache leeren) und dann muss das script wieder geändert werden

            daher mal ein anderer vorschlag:

            • das ganze gehört in den script tab des vis-editors
            • und du musst für jedes tablet eine zusätzliche web adapter instanz anlegen - die haben dann unterschiedliche ports und die werden abgefragt (du hast dann 3 web instanzen - eine noch für alle anderen rechner,tablets)

            pro tablet eines mit unterschiedlichen settings (port, url)

            • rot: zeit, wann zurückgeschalten werden soll
            • blau: seite die aufgerufen werden soll
            • schwarz: port der web adapter instanz

            Image 6.png

            
            /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 1*/
            
            var remindSwitchTab1=false;
            var mySwitchTime1=30000;
            var myTabPort="8082";
            var myURL1="http://192.168.178.59:8082/vis/index.html?speedy3#dives"
            
            /*für reload page*/
            if (location.port==myTabPort) {
               
                setTimeout(function() {
                  window.location.href = myURL1;
                   console.log("wait");
               }, mySwitchTime1)
            }
            
            /*nach klick wieder reaktiviert*/
            $(window).click(function(e) {
               if (!remindSwitchTab1 && location.port==myTabPort){
                   remindSwitch=true;
                    console.log("in href change 1 timer "+mySwitchTime1+" sek");
                setTimeout(function() {
                  window.location.href = myURL1;
                   console.log("wait for href change");
                   remindSwitchTab1=false;
                   
               }, mySwitchTime1)
               
               
               }
            });
            
            /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
            
            /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 2*/
            
            var remindSwitchTab2=false;
            var mySwitchTime2=30000;
            var myTabPort2="8072";
            var myURL2="http://192.168.178.59:8072/vis/index.html?speedy3#111"
            
            /*für reload page*/
            if (location.port==myTabPort2) {
               
                setTimeout(function() {
                  window.location.href = myURL2;
                   console.log("wait");
               }, mySwitchTime2)
            }
            
            /*nach klick wieder reaktiviert*/
            $(window).click(function(e) {
               if (!remindSwitchTab1 && location.port==myTabPort2){
                   remindSwitch=true;
                   console.log("in href change 2 timer "+mySwitchTime2+" sek");
                setTimeout(function() {
                  window.location.href =myURL2;
                   console.log("wait for href change");
                   remindSwitchTab1=false;
                   
               }, mySwitchTime2)
               
               
               }
            });
            
            /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
            

            beispiel schaltet nach 10 sek:

            Animation (1).gif

            M 1 Reply Last reply Reply Quote 0
            • M
              m0uh @liv-in-sky last edited by

              @liv-in-sky Also Danke erstmal.... hab das jetzt mit 2 Instanzen gemacht brauch keine 3 ABER irgendwie springt der VIEW ganz unregelmäßig zurück und voralle auch während ich z.B. im Menü Switche.

              In welchem Format is die Zeit angegeben ?
              Wann wird die Zeit zurück gesetzt ?

              liv-in-sky 2 Replies Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky @m0uh last edited by

                @m0uh

                in ms - 10000 bedeutet 10 sekunden

                1 Reply Last reply Reply Quote 0
                • liv-in-sky
                  liv-in-sky @m0uh last edited by

                  @m0uh sagte in Automatischer View Wechsel / zwei unterschiedliche Geräte:

                  t brauch keine 3 ABER

                  schwer vorzustellen - ich entwickle am pc und sehe mir auch die seiten gleich auf dem pc an - wenn du da keine "3 neutrale instanz" hast, springst die seite !

                  @m0uh sagte in Automatischer View Wechsel / zwei unterschiedliche Geräte:

                  VIEW ganz unregelmäßig

                  hast du längere zeiten eingegeben - i, beispielscript sind es 30 sekunden - die sind gleich um, wenn du auf der seite bist

                  M 1 Reply Last reply Reply Quote 0
                  • M
                    m0uh @liv-in-sky last edited by

                    @liv-in-sky Hmm... also ich hab jetzt eine 3. Instanz angelegt. Hab meine Tablets angepasst. Wenn ich ab Browser 3 Tabs öffne funktioniert das ganze problemlos. Scheinbar macht der Fully Kiosk Browser irgendwas anders... 😞 Das komische das Tablet schaltet irgendwann zurück aber nicht nach der definierten Zeit.

                    liv-in-sky 4 Replies Last reply Reply Quote 0
                    • liv-in-sky
                      liv-in-sky @m0uh last edited by

                      @m0uh ich muss mal testen mit fully - könnte dauern - mußte die fritzbox wechseln - seitdem habe ich ein paar problemchen im netz - aber ich schau mal

                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky @m0uh last edited by

                        @m0uh

                        sorry - da war wohl ein bug im script

                        teste mal das - und deine daten wieder eintragen

                        
                        /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 1*/
                        
                        var remindSwitchTab1=false;
                        var mySwitchTime1=20000;
                        var myTabPort1="8082";
                        var myURL1="http://192.168.178.59:8082/vis/index.html?speedy3#dives"
                        
                        /*für reload page*/
                        if (location.port==myTabPort1) {
                           
                            setTimeout(function() {
                            if (!remindSwitchTab1)  window.location.href = myURL1;
                               console.log("wait");
                           }, mySwitchTime1)
                        }
                        
                        /*nach klick wieder reaktiviert*/
                        $(window).click(function(e) {
                           if (!remindSwitchTab1 && location.port==myTabPort1){
                               remindSwitchTab1=true;
                                console.log("in href change 1 timer "+mySwitchTime1+" sek");
                            setTimeout(function() {
                               window.location.href = myURL1;
                               console.log("finished for href change 1");
                               remindSwitchTab1=false;
                               
                           }, mySwitchTime1)
                           
                           }
                        });
                        
                        /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
                        
                        /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 2*/
                        
                        var remindSwitchTab2=false;
                        var mySwitchTime2=20000;
                        var myTabPort2="8072";
                        var myURL2="http://192.168.178.59:8072/vis/index.html?speedy3#111"
                        
                        /*für reload page*/
                        if (location.port==myTabPort2) {
                           
                            setTimeout(function() {
                             if (!remindSwitchTab2)  window.location.href = myURL2;
                               console.log("wait");
                           }, mySwitchTime2)
                        }
                        
                        /*nach klick wieder reaktiviert*/
                        $(window).click(function(e) {
                           if (!remindSwitchTab2 && location.port==myTabPort2){
                               remindSwitchTab2=true;
                               console.log("in href change 2 timer "+mySwitchTime2+" sek");
                            setTimeout(function() {
                              window.location.href = myURL2;
                               console.log("finished for href change 2");
                               remindSwitchTab2=false;
                               
                           }, mySwitchTime2)
                        
                           }
                        });
                        
                        

                        1 Reply Last reply Reply Quote 0
                        • liv-in-sky
                          liv-in-sky @m0uh last edited by

                          @m0uh

                          was noch wichtig ist - du solltest keine der seiten doppelt offen haben (auch nicht beim testen) - also nicht auf port 8082 die definierte default-seite zweimal geöffnet haben

                          1 Reply Last reply Reply Quote 0
                          • liv-in-sky
                            liv-in-sky @m0uh last edited by

                            @m0uh habe nochmal erwas mit fuly getestet - - zickte ein wenig rum - habe dann app upgedatet - jetzt scheint es zu laufen

                            M 2 Replies Last reply Reply Quote 0
                            • M
                              m0uh @liv-in-sky last edited by m0uh

                              @liv-in-sky also so hab ich jetzt bei mir in der VIS als Skript drin stehen. 8082 (PC usw.) - 8083 (Dachgeschoss) - 8084 (Wohnzimmer)
                              Zeit hab ich mal auf 20 Sekunden gestellt nur um zu testen. Dann hab ich festgestellt das es bei mir im Fully gar nicht funktioniert das Umschalten war jedes mal wenn er nach einer gewissen Zeit die Start URL neu läd.

                              Wenn ich im Browser alle 3 VIS mit zugehörigen Ports öffne funktioniert es aber.... Komisich

                              FullyKiosk Browser Version is 1.45-play & 1.45-fireOS

                               
                              /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 1*/
                               
                              var remindSwitchTab1=false;
                              var mySwitchTime1=20000;
                              var myTabPort1="8083";
                              var myURL1="http://192.168.178.67:8083/vis/index.html#Wohnung"
                               
                              /*für reload page*/
                              if (location.port==myTabPort1) {
                                 
                                  setTimeout(function() {
                                  if (!remindSwitchTab1)  window.location.href = myURL1;
                                     console.log("wait");
                                 }, mySwitchTime1)
                              }
                               
                              /*nach klick wieder reaktiviert*/
                              $(window).click(function(e) {
                                 if (!remindSwitchTab1 && location.port==myTabPort1){
                                     remindSwitchTab1=true;
                                      console.log("in href change 1 timer "+mySwitchTime1+" sek");
                                  setTimeout(function() {
                                     window.location.href = myURL1;
                                     console.log("finished for href change 1");
                                     remindSwitchTab1=false;
                                     
                                 }, mySwitchTime1)
                                 
                                 }
                              });
                               
                              /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
                               
                              /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 2*/
                               
                              var remindSwitchTab2=false;
                              var mySwitchTime2=20000;
                              var myTabPort2="8084";
                              var myURL2="http://192.168.178.67:8084/vis/index.html#Dachgeschoss"
                               
                              /*für reload page*/
                              if (location.port==myTabPort2) {
                                 
                                  setTimeout(function() {
                                   if (!remindSwitchTab2)  window.location.href = myURL2;
                                     console.log("wait");
                                 }, mySwitchTime2)
                              }
                               
                              /*nach klick wieder reaktiviert*/
                              $(window).click(function(e) {
                                 if (!remindSwitchTab2 && location.port==myTabPort2){
                                     remindSwitchTab2=true;
                                     console.log("in href change 2 timer "+mySwitchTime2+" sek");
                                  setTimeout(function() {
                                    window.location.href = myURL2;
                                     console.log("finished for href change 2");
                                     remindSwitchTab2=false;
                                     
                                 }, mySwitchTime2)
                               
                                 }
                              });
                               
                              
                              
                              
                              
                              1 Reply Last reply Reply Quote 0
                              • M
                                m0uh @liv-in-sky last edited by m0uh

                                @liv-in-sky also im Fully funktioniert es nach dem neu laden genau 1x danach nicht mehr

                                was muss denn im Fully als Start URL drin stehen:

                                z.B.:
                                http://192.168.178.67:8083/vis/index.html#Wohnung
                                http://192.168.178.67:8084/vis/index.html#Dachgeschoss

                                oder reicht bei beiden:

                                http://192.168.178.67:8083/vis/index.html

                                liv-in-sky 1 Reply Last reply Reply Quote 0
                                • liv-in-sky
                                  liv-in-sky @m0uh last edited by liv-in-sky

                                  @m0uh
                                  es muss die zugeordnete drinstehen

                                  ich habe die 1.46play draufgetan - dann war es etwas besser - aber ich muss gestehen, ich habe auch ab und an , dass bei einem tablet der rücksprung ausbleibt - bei einem geht es sehr gut - bei dem zweiten ist manchmal kein rücksprung- dann muss ich nochmal irgendwas drücken und es funktioniert

                                  unter umständen liegt es an der webview version der tablets

                                  hast du es mal mit pc getestet - einmal chrome und einen 2ten browser . vorher bei den tablets fully browser schliessen

                                  M 1 Reply Last reply Reply Quote 0
                                  • M
                                    m0uh @liv-in-sky last edited by

                                    @liv-in-sky Werde später mal updaten und bisschen testen... melde mich dann morgen wieder

                                    liv-in-sky 1 Reply Last reply Reply Quote 0
                                    • liv-in-sky
                                      liv-in-sky @m0uh last edited by

                                      @m0uh

                                      wenn du testest, mache mal unterschedliche zeiten - mit mind 5 sek unterschied - dann schaut es bei mir besser aus !

                                      M 1 Reply Last reply Reply Quote 0
                                      • M
                                        m0uh @liv-in-sky last edited by m0uh

                                        @liv-in-sky also so leid es mir tut aber ich bekomm es nicht zum laufen.

                                        So hab ich den Script drin:

                                         /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 1*/
                                         
                                        var remindSwitchTab1=false;
                                        var mySwitchTime1=30000;
                                        var myTabPort1="8083";
                                        var myURL1="http://192.168.178.67:8083/vis/index.html#Wohnung"
                                         
                                        /*für reload page*/
                                        if (location.port==myTabPort1) {
                                           
                                            setTimeout(function() {
                                            if (!remindSwitchTab1)  window.location.href = myURL1;
                                               console.log("wait");
                                           }, mySwitchTime1)
                                        }
                                         
                                        /*nach klick wieder reaktiviert*/
                                        $(window).click(function(e) {
                                           if (!remindSwitchTab1 && location.port==myTabPort1){
                                               remindSwitchTab1=true;
                                                console.log("in href change 1 timer "+mySwitchTime1+" sek");
                                            setTimeout(function() {
                                               window.location.href = myURL1;
                                               console.log("finished for href change 1");
                                               remindSwitchTab1=false;
                                               
                                           }, mySwitchTime1)
                                           
                                           }
                                        });
                                         
                                        /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
                                         
                                        /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 2*/
                                         
                                        var remindSwitchTab2=false;
                                        var mySwitchTime2=10000;
                                        var myTabPort2="8084";
                                        var myURL2="http://192.168.178.67:8084/vis/index.html#Dachgeschoss"
                                         
                                        /*für reload page*/
                                        if (location.port==myTabPort2) {
                                           
                                            setTimeout(function() {
                                             if (!remindSwitchTab2)  window.location.href = myURL2;
                                               console.log("wait");
                                           }, mySwitchTime2)
                                        }
                                         
                                        /*nach klick wieder reaktiviert*/
                                        $(window).click(function(e) {
                                           if (!remindSwitchTab2 && location.port==myTabPort2){
                                               remindSwitchTab2=true;
                                               console.log("in href change 2 timer "+mySwitchTime2+" sek");
                                            setTimeout(function() {
                                              window.location.href = myURL2;
                                               console.log("finished for href change 2");
                                               remindSwitchTab2=false;
                                               
                                           }, mySwitchTime2)
                                         
                                           }
                                        });
                                        

                                        FullyBrowser beide bei v1.46 & es ist jeweils
                                        http://192.168.178.67:8083/vis/index.html#Wohnung
                                        http://192.168.178.67:8084/vis/index.html#Dachgeschoss
                                        eingetragen

                                        es wird auf keine anderen Gerät zum selben Zeitpunkt irgendeine VIS Instanz ausgeführt. (auf keinen der 3 Ports)

                                        Zeit ist auf 30 & 10 Sekunden. OHNE ERFOLG 😞

                                        WENN ich aber in Chrome im selben Browser 2 Tabs mit den dazugehörigen Ports öffne funktioniert es (auch wenn Sie noch im Fully geöffnet sind).
                                        Also irgendwas passt nicht... scheint ja irgend eine Einstellung im Fully zu sein.

                                        liv-in-sky 4 Replies Last reply Reply Quote 0
                                        • liv-in-sky
                                          liv-in-sky @m0uh last edited by

                                          @m0uh

                                          ich kann es nur zum teil nachstellen - prüfe auch gerade mit 2 pc browser, handy und 2 tablets

                                          bis auf ein tablet funktioniert es bei den andren 4'ren

                                          alle haben verschiedene android systeme

                                          ich kann den fehler auch nicht definieren - entweder webview oder , wie du sagst, ein setting von fully. wobei ich bei den tablets das selbe setting eingespielt habe

                                          füge mal zum test in zeile 24 und 57 das hier ein: location.reload(true);

                                          1 Reply Last reply Reply Quote 0
                                          • liv-in-sky
                                            liv-in-sky @m0uh last edited by

                                            @m0uh ich überlege nochmal, ob mir eine andere struktur einfällt, um fully zu überlisten

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            598
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            3
                                            26
                                            1411
                                            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