Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [gelöst] Script für Seitenwechsel funktioniert nur in altem Vis-Adapter

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [gelöst] Script für Seitenwechsel funktioniert nur in altem Vis-Adapter

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

      Hi Leute,

      ich habe heute meinen Vis-Adapter von Version 0.10.15 auf die 0.15.0 "geupdated".

      In der alten Version nutzte ich folgendes Script für automatische Seitenwechsel initiert durch Sensoren oder Scripte:

      ! ````
      //Bei aktiver Alarmanlage auf Pin-View umschalten
      on("hm-rega.0.3676", function (dp) {/Alarmsystem/
      if(dp.state.val){
      setState("vis.0.control.command", '{"instance": "", "command": "changeView", "data": "Wandtablet/Alarmanlage_code"}');
      }
      else{
      setState("vis.0.control.command", '{"instance": "
      ", "command": "changeView", "data": "Wandtablet/Home"}');
      }
      });
      ! //Bei Bewegung auf Kamerabild umschalten
      on("hm-rpc.0.NEQxxxxxxxx.1.MOTION", function (dp) {
      if(dp.state.val){
      setState("vis.0.control.command", '{"instance": "", "command": "changeView", "data": "Wandtablet/Kamera_Garage"}');
      }
      });
      ! on("vis.0.control.data", function (dp){
      if(dp.state.val != "Wandtablet/Alarmanlage_code"){
      setStateDelayed("vis.0.control.command", '{"instance": "
      ", "command": "changeView", "data": "Wandtablet/Home"}', 60000);
      }

      });

      ! ````

      Nun nach dem Update funktioniert das nicht mehr und ich bekomme die Meldung dass der View nicht existiert.

      Interessanter Weise wird eine falsche URL. im Browser generiert die wie folgt aussieht:

      http://ip-meins-rasp:8082/vis/index.htm … ablet/Home

      richtig wäre jedoch (was auch in der alten Version funktionierte)

      http://ip-meins-rasp:8082/vis/index.htm … ablet#Home

      Wenn ich nun den Aufruf im Script bspw. in:

      .... setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Home"}',  60000); ... 
      

      ändere funktioniert es zwar jedoch wird beim "umschalten" erst einmal knapp 10 Sekunden eine weisse Seite angezeigt und erst dann die gewünschte View.

      Nun die Frage, die ich mir stelle: Hat sich durch die Version auch der Befehl zum aufrufen der Wunsch-Seite geändert bzw. muss ich was ergänzen um den weissen Bildschirm nicht zu bekommen oder ist das evtl. noch ein Bug. Laut Github sollte es anscheinend noch passen.

      Ich habe nun längere Zeit rum probiert, war aber letzendlich nur durch ein downgrad auf die alte Version erfolgreich.

      Ich hoffe jemand von euch hat eine Ahnung und kann mir hier weiterhelfen.

      Vielen Dank schonmal

      Peoples

      1 Reply Last reply Reply Quote 0
      • P
        pix last edited by

        Hallo,

        hatte das Problem auch. Du musst die Parameter jetzt in separate Befehle packen:

        http://forum.iobroker.net/viewtopic.php?t=3537#p32914

        Gruß

        Pix

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

          Wiedermal tausend Dank Pix!

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

            Jetzt muss ich aber doch nochmal nachhacken, ich habe es jetzt wie beschrieben geändert und das "Umschalten" funktioniert.

            Doch wenn ich über ein "setTimeout" nach 30 Sekunden in die Hauptview zurück schalte oder initiiert durch einen Bewegungsmelder habe ich nach wie vor einen weissen Bildschirm für die genannten ca. 10 Sekunden.

            Ich habe es wie folgt gemacht:

            on("vis.0.control.data", function (dp){
            
                if(dp.state.val != "Wandtablet/Alarmanlage_code"){
            // Alt  ---- setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}',  60000);
            
                   setTimeout(function(){
                        setState('vis.0.control.instance', 'FFFFFFFF');
                        setState('vis.0.control.data', 'Home');
                        setState('vis.0.control.command', 'changeView');
                   }, 20000);
                }
            
            }); 
            

            Ich habe gerade die Vermutung dass evtl. mein Raspberry nicht mehr genug Leistung hat für das neue Vis. Kann das sein?

            Und gibt es Probleme wenn ich den alten Adapter behalten würde oder läuft da die Kompatibilität irgendwann aus.

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

              Ich muss das Thema nochmal aufgreifen, da ich nun erneut das Problem habe dass Iobroker den automatischen Seitenwechsel nicht mehr richtig umsetzt.

              Ich hatte auf die Vis Version 0.10.15 "downgeradet" meinen Raspberry stromlos gemacht und erneut das Update 0.15.3 installiert und es lief alles problemlos.

              Kurz darauf sah ich dann dass es eine 0.15.4 gibt und habe das Update gleich nachgeschoben und siehe da das gleiche Problem wieder auch nach dem Downgrade auf 0.15.3.

              Erst die Version 0.10.15 löst das Problem wieder.

              Der Vollständigkeit halber hier nochmal ein Bild mit der fehlermeldung und das aktuelle Script, vielleicht hat sich ja doch irgendwo der Fehlerteufel eingeschlichen.

              2417_seitenwechselproblem.jpg

              ! ````
              //Bei aktiver Alarmanlage auf Pin-View umschalten
              on("hm-rega.0.xxxxx", function (dp) {/Alarmsystem/
              if(dp.state.val){
              // setState("vis.0.control.command", '{"instance": "", "command": "changeView", "data": "Wandtablet/Alarmanlage_code"}');
              setState('vis.0.control.instance', 'FFFFFFFF');
              setState('vis.0.control.data', 'Wandtablet/Alarmanlage_code');
              setState('vis.0.control.command', 'changeView');
              }
              else{
              // setState("vis.0.control.command", '{"instance": "
              ", "command": "changeView", "data": "Wandtablet/Home"}');
              setState('vis.0.control.instance', 'FFFFFFFF');
              setState('vis.0.control.data', 'Wandtablet/Home');
              setState('vis.0.control.command', 'changeView');
              }
              });
              ! //Bei Bewegung auf Kamerabild umschalten
              on("hm-rpc.0.NEQxxxxxxxxx.1.MOTION", function (dp) {
              if(dp.state.val){
              // alt setState("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Kamera_Garage"}');
              setState('vis.0.control.instance', 'FFFFFFFF');
              setState('vis.0.control.data', 'Wandtablet/Kamera_Garage');
              setState('vis.0.control.command', 'changeView');

               }      
              

              });

              ! on("vis.0.control.data", function (dp){/Data for control vis/
              if(dp.state.val != "Wandtablet/Alarmanlage_code"){
              // alt setStateDelayed("vis.0.control.command", '{"instance": "*", "command": "changeView", "data": "Wandtablet/Home"}', 60000);
              setTimeout(function () {

                  setState('vis.0.control.instance', 'FFFFFFFF');
                  setState('vis.0.control.data', 'Wandtablet/Home');
                  setState('vis.0.control.command', 'changeView');
              
               }, 60000);
              
              }
              

              });

              
              Wenn jemand eine Idee hat werde ich diese gerne Dankend ausprobieren
              
              Peoples
              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Hallo peoples,

                ich kann dein Problem nicht rekonstruieren.

                Allerdings fällt mir auf, dass du zu Strukturierung deiner Views den Slash ("/") verwendest. Das ist eine unglückliche Wahl, denn der Slash hat im URL ja eine eigene Bedeutung (Order).

                Die Struktur ist ja

                SERVER_IP:PORT/vis/index.html?PROJEKT#VIEW

                Wenn jetzt VIEW auch Slashes enthält, könnte es doch Probleme geben. Nutze stattdessen einen Unterstrich.

                Gruß

                Pix

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

                  Hi,

                  die View heißt nicht "Wandtablet/Home" das "Wandtablet" ist der Projektname und das "Home" ist der Viewname.

                  Diese habe ich damals aus den Objekten -> vis.0 -> data entnommen und hat auch immer funktioniert (bis jetzt).

                  Nun habe ich den Projektnamen weggelassen, und nur das "Home" bzw. "Kamera_Garage" verwendet und die Weiterleitung funktioniert, jedoch wird dann eine "weisse Seite" (eine Seite ohne Inhalt) mit der richtigen Browseradresse aufgerufen. Wenn ich dann im Anschluss in die Adresszeile meines Browsers klicke und die dort bereits hinterlegte Adresse durch drücken von Enter bestätige, läd er die gewünscht View, sonst leider nicht.

                  Es scheint als wäre das Problem dass ich die View auf meinem Tablet (im Fully Browser) darstelle und zeitgleich zum testen eine View am PC in Chrome offen habe jedoch war das beim alten Vis egal. Vieleicht wegen den Instanzen?

                  Edit

                  Also es ist tatsächlich so dass der doppelte Browseraufruf der Views anscheinend den automatischen Seitenwechsel beeinflusst. Sobald einer der beiden Browser geschlossen wird besteht das Problem nicht mehr.

                  Gruß

                  Peoples

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  1.1k
                  Online

                  31.7k
                  Users

                  79.7k
                  Topics

                  1.3m
                  Posts

                  2
                  7
                  1454
                  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