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.
    • 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
                            • liv-in-sky
                              liv-in-sky @m0uh last edited by liv-in-sky

                              @m0uh

                              NEUER VERSUCH:

                              erstes script wie gehabt im vis script tab:

                              
                              
                              
                              
                              
                              
                              /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 1*/
                              
                              
                              var myTabPort1="8072";
                              var myURL1="http://192.168.178.59:8072/vis/index.html?speedy3#dives"
                              
                              /*für reload page*/
                              if (location.port==myTabPort1) {
                              
                                 setInterval(function() {
                                  	var Self = this;
                              Self.servConn.getStates('0_userdata.0.vis.visSchaltenTablet1', (error, states) => {  console.log(states['0_userdata.0.vis.visSchaltenTablet1'].val);
                                    if(!states['0_userdata.0.vis.visSchaltenTablet1'].val) window.location.href = myURL1;
                              } );
                                
                                  
                              }, 10000); 
                                 
                                 
                              }
                              
                              /*nach klick wieder reaktiviert*/
                              $(window).click(function(e) {
                                  if ( location.port==myTabPort1){
                                  vis.setValue('0_userdata.0.vis.visSchaltenTablet1',true);
                                  vis.setValue('0_userdata.0.vis.visTablet1Port',location.port);
                                  }
                                 
                              
                              });
                              
                              /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
                              
                              /*SCHALTET ZURÜCK AUF VIEW DES ZIMMERS 2*/
                              
                              
                              var myTabPort2="8082";
                              var myURL2="http://192.168.178.59:8082/vis/index.html?speedy3#111"
                              
                              /*für reload page*/
                              if (location.port==myTabPort2) {
                                 
                                  setInterval(function() {
                                  	var Self = this;
                              Self.servConn.getStates('0_userdata.0.vis.visSchaltenTablet2', (error, states) => {  console.log(states['0_userdata.0.vis.visSchaltenTablet2'].val);
                                    if(!states['0_userdata.0.vis.visSchaltenTablet2'].val) window.location.href = myURL2;
                              } );
                                
                                  
                              }, 10000);
                              }
                              
                              /*nach klick wieder reaktiviert*/
                              $(window).click(function(e) {
                                  if ( location.port==myTabPort2){
                                 vis.setValue('0_userdata.0.vis.visSchaltenTablet2',true);
                                 vis.setValue('0_userdata.0.vis.visTablet2Port',location.port);
                                  }
                              });
                              
                              /*ENDE ----- SCHALTET ZURÜCK AUF VIEW DES ZIMMERS/TABLETS2*/
                              
                              
                              

                              zweites script ist ein blockly:

                              • diesmal ist es wichtig, dass eine seite in nur einem browser läuft !!!! paralleles testen mit pc und tablet ist nicht möglich - also möglich schon, bringt aber das system durcheinander
                              • legt dp unter 0_userdata.0.vis... an - beim ersten start gibt es warnungen im log - dann ist's aber ok
                              • im blockly stellst du die zeit ein, wie lange es brauchen soll, bis umgeschaltet wird (+/- 10 sekunden (das liegt daran, dass die vis längstens 10 sek braucht, um den dp zu scannen - macht aber nix, da du ja im alltäglichen gebrauch, eine längere zeit hast, bis zurückgeschaltet wird

                              <xml xmlns="https://developers.google.com/blockly/xml">
                               <block type="control" id="jiT=5gzt@D{jw:lQ/sRj" x="138" y="62">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.vis.visSchaltenTablet1</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="f6V4kE:Sv(lQq6?b/OXY">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="on" id="47Vgt73D7f*NJ?fzqZ)=">
                                     <field name="OID">0_userdata.0.vis.visSchaltenTablet1</field>
                                     <field name="CONDITION">true</field>
                                     <field name="ACK_CONDITION"></field>
                                     <statement name="STATEMENT">
                                       <block type="control" id="r=v=$LZ_)hp*[k2~.E?+">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                         <field name="OID">0_userdata.0.vis.visSchaltenTablet1</field>
                                         <field name="WITH_DELAY">TRUE</field>
                                         <field name="DELAY_MS">20</field>
                                         <field name="UNIT">sec</field>
                                         <field name="CLEAR_RUNNING">TRUE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="60cF{d0.+g+1R-it_}b7">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                               <block type="control" id="$%;Pi^,ag:.sGy?9Y_*u" x="863" y="63">
                                 <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="false"></mutation>
                                 <field name="OID">0_userdata.0.vis.visSchaltenTablet2</field>
                                 <field name="WITH_DELAY">FALSE</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="Tf}*u!bzB$c5x)cj,gE/">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="on" id="XK~S*oR`-3UsKv8}:.gO">
                                     <field name="OID">0_userdata.0.vis.visSchaltenTablet2</field>
                                     <field name="CONDITION">true</field>
                                     <field name="ACK_CONDITION"></field>
                                     <statement name="STATEMENT">
                                       <block type="control" id="Yb3L,,bJRIk:~%63O3b2">
                                         <mutation xmlns="http://www.w3.org/1999/xhtml" delay_input="true"></mutation>
                                         <field name="OID">0_userdata.0.vis.visSchaltenTablet2</field>
                                         <field name="WITH_DELAY">TRUE</field>
                                         <field name="DELAY_MS">15</field>
                                         <field name="UNIT">sec</field>
                                         <field name="CLEAR_RUNNING">TRUE</field>
                                         <value name="VALUE">
                                           <block type="logic_boolean" id="rpb$-Bot}hJhz3dF~53u">
                                             <field name="BOOL">FALSE</field>
                                           </block>
                                         </value>
                                       </block>
                                     </statement>
                                   </block>
                                 </next>
                               </block>
                               <block type="create" id="HgG4/Uci^Q[F7JzyWH2r" x="112" y="388">
                                 <field name="NAME">0_userdata.0.vis.visSchaltenTablet1</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="Q=U*Oe.0!2h5.$/_z`d(">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                                 <value name="COMMON">
                                   <block type="text" id="5xS7/sF`Eu`$+05,%xs~">
                                     <field name="TEXT">{     "name": "visSchaltenTablet1",     "role": "",     "type": "boolean",     "desc": "Manuell erzeugt",     "read": true,     "write": true,     "def": false   }</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="create" id="k,#JlL_@Nk5.mCKE_1]d">
                                     <field name="NAME">0_userdata.0.vis.visTablet1Port</field>
                                     <value name="VALUE">
                                       <block type="text" id="Z?^1C.(4OIS`#cK3Xyhl">
                                         <field name="TEXT"></field>
                                       </block>
                                     </value>
                                     <value name="COMMON">
                                       <block type="text" id="b/AWg*F,.u3QRJ0VV{vO">
                                         <field name="TEXT">{     "name": "visTablet1Port",     "role": "",     "type": "string",     "read": true,     "write": true,     "desc": "Manuell erzeugt",     "def": ""   }</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                               <block type="create" id=".RM4[Jv28cn@Pbq1|9@H" x="837" y="363">
                                 <field name="NAME">0_userdata.0.vis.visSchaltenTablet2</field>
                                 <value name="VALUE">
                                   <block type="logic_boolean" id="o7kvz#@SSDlT2q463d|r">
                                     <field name="BOOL">FALSE</field>
                                   </block>
                                 </value>
                                 <value name="COMMON">
                                   <block type="text" id="ptK02b+_x56Z=%kPz1h/">
                                     <field name="TEXT">{     "name": "visSchaltenTablet2",     "role": "",     "type": "boolean",     "desc": "Manuell erzeugt",     "read": true,     "write": true,     "def": false   }</field>
                                   </block>
                                 </value>
                                 <next>
                                   <block type="create" id="by8cqSkHx~yLSS=MZ)z8">
                                     <field name="NAME">0_userdata.0.vis.visTablet2Port</field>
                                     <value name="VALUE">
                                       <block type="text" id="cQG;Lj`1x1-rGM`Io%*}">
                                         <field name="TEXT"></field>
                                       </block>
                                     </value>
                                     <value name="COMMON">
                                       <block type="text" id="3atbKpSXAs6tM+s=or!S">
                                         <field name="TEXT">{     "name": "visTablet2Port",     "role": "",     "type": "string",     "read": true,     "write": true,     "desc": "Manuell erzeugt",     "def": ""   }</field>
                                       </block>
                                     </value>
                                   </block>
                                 </next>
                               </block>
                              </xml>
                              

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

                                @m0uh läuft bei mir bis jetzt stabil

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

                                  @liv-in-sky Sorry war leider bisschen beschäftigt... werde das ganze die Woche mal testen und mich bei dir melden!

                                  DANKE schon mal!

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

                                    @m0uh dachte schon, du hast keine lust mehr 🙂

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

                                      @liv-in-sky ganz im Gegenteil aber bin derzeit geschäftlich unterwegs und das wird sich jetzt die nächsten 7 Wochen nicht ändern.... ich hoffe du gibst mich bis dahin nicht auf 😛 ich melde mich definitiv wenn ich das ganze mal in Ruhe getestet habe!

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

                                        @m0uh hoffentlich vergesse ich bis dahin nicht alles 🙂

                                        bei mir funktioniert es mit dem beiden neuen scripten - du meldest dicheinfach , wenn du wieder zeit hast

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        844
                                        Online

                                        32.0k
                                        Users

                                        80.4k
                                        Topics

                                        1.3m
                                        Posts

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