Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Kleines Script zum View wechsel…

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Kleines Script zum View wechsel…

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

      Hallo!

      Ich habe mir im Vis mehrere View´s gebaut. Da hätte ich gerne das ich nach dem Umschalten auf einen anderen View wieder automatisch zurückkomme.

      Also der Standardview ist "Tablet" und ich wechsle auf z.B. "Fenster", dann soll nach 120 Sekunden wieder auf Tablet.

      Vielleicht hat jemand einen Tipp für mich.

      Grüße Sebbo

      1 Reply Last reply Reply Quote 0
      • S
        Sebbo last edited by

        Also inzwischen weiß ich wie ich mit einer Variablen das View wechsle und nach Zeit wieder zurück aufs Standardview.

        on("hm-rpc.1.xxxxxxxxx.15.STATE", function (obj){
          if (obj.newState.val === true || obj.newState.val === "true") {
                   setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "main/Kamera2"}');
                   // oder
                   //setState("vis.0.control.instance", 'FFFFFFFF');
                   //setState("vis.0.control.data",     'DemoView');
                   //setState("vis.0.control.command",  'changeView'); // muss immer letzte sein
                   // Nach 10 Sekunden, zeige wieder Start View
                   setTimeout(function () {
                              setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "main/Tablet"}');
                   }, 60000);
            }
        });
        
        

        Davon ist dann wohl der untere Teil um wieder in den Standardview zu kommen.

         setTimeout(function () {
                              setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "main/Tablet"}');
                   }, 60000);
        

        Wenn ich jetzt wüsste wie ich dem script sagen kann das ich per Touchscreen den View gewechselt habe, dann könnte ich es mit dem Teil den ich schon habe sicher wieder zurückwechseln.

        Danke für eure Hilfe,

        Sebbo

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

          Hallo Sebbo,,

          versuche es mit dem http://forum.iobroker.net/viewtopic.php?f=21&t=1016&sid=83e24bb84a8a7e16571b6831dcc3177c#p8035 zum Aktualisieren über das ack

          Dein Skript mal abgewandelt:

          function view_wechsel () {
              setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "main/Kamera2"}');
                     // oder
                     //setState("vis.0.control.instance", 'FFFFFFFF');
                     //setState("vis.0.control.data",     'DemoView');
                     //setState("vis.0.control.command",  'changeView'); // muss immer letzte sein
                     // Nach 10 Sekunden, zeige wieder Start View
                     setTimeout(function () {
                                setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "main/Tablet"}');
                     }, 60000);
          }
          
          // Gerät überwachen
          on("hm-rpc.1.xxxxxxxxx.15.STATE", function (obj){
            if (obj.newState.val === true || obj.newState.val === "true") view_wechsel();
          });
          
          // manuellen Viewwechsel auslösen
          createState('Viewwechsel', {name: 'Trigger für manuellen Vis Viewwechsel'});
          
          on('javascript.0.Viewwechsel', function (obj) {
              // Falls ein Kommando und trigger ist true (was eigentlich überflüssig ist). Es kann kein Kommando mit false kommen
              if (!obj.newState.ack && obj.newState.val) {
                  view_wechsel();
              }
          });
          
          

          Auch hier wieder der Hinweis: Da createState manchmal nicht sofort nach dem Speichern des Skriptes reagiert, bitte den Javascript Adapter einmal neu starten.

          Und dann in Vis einen Knopf erstellen, der bei Klick aktualisiert (oder folgendes Widget importieren):

          [{"tpl":"tplBasicState","data":{"oid":"javascript.0.Viewwechsel","visibility-cond":"==","visibility-val":1,"value":"true","html":"[View wechseln]","name":"Viewwechsel"},"style":{"left":"796px","top":"91px","z-index":"40","color":"rgba(250,250,250,0.6)","font-family":"Futura","font-style":"","font-size":"12px","width":"29px","height":"14px"},"widgetSet":"basic"}]
          
          

          Gruß

          Pix

          1 Reply Last reply Reply Quote 0
          • S
            Sebbo last edited by

            Hallo Pix,

            erstmal danke. Leider habe ich es noch nicht ganz verstanden. Ich habe das Widget jetzt in allen Views eingefügt außer auf meinem Hauptview.

            Das script habe ich ausgetauscht. Leider wechselt der keiner der Views automatisch zurück auf den Hauptview.

            Hab ich da irgendwas falsch verstanden?

            Gruß, Sebbo

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

            Support us

            ioBroker
            Community Adapters
            Donate

            750
            Online

            31.7k
            Users

            79.7k
            Topics

            1.3m
            Posts

            2
            4
            2794
            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