Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    UNSOLVED [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit

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

      Hallo, hilft zwar nicht direkt bei deinem Problem aber vielleicht trotzdem interessant.

      Ich habe mein VIS anders aufgebaut... da ich immer Probleme hatte, das das Menü zuverlässig auf allen Seiten angezeigt wurde...

      Ich habe eine einzelne "Hauptseite" mit Menüs und allen statischen Elementen und wechsel die Inhalte mit einem View-in-Widget-Widget... da die Anzeige dort über einen Datenpunkt gesteuert wird, kann ich dort ganz einfach auswerten, wann der Wert zuletzt geändert wurde und setze ihn nach 2 Minuten Inaktivität wieder auf den Wert für meine Standardansicht zurück...

      1 Reply Last reply Reply Quote 0
      • W
        weimaraner last edited by

        ☺

        1 Reply Last reply Reply Quote 0
        • B
          Balu1973 last edited by

          Hallo Andreas,

          wie man auf Inaktivität prüft kann ich Dir nicht sagen. Ich schalte meine Views immer nach einer bestimmten Zeit zurück.
          Dazu nutze ich folgendes Script:

          on(
              {id: "vis.0.control.data"} ,
                  function (obj){
                     // Nach 60 Sekunden, zeige wieder index View
                     setTimeout(function () {
                              setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "index"}');
                     }, 300000);
          });
          

          Zur Erklärung:
          Ich prüfe mit den "on" Befehl ob sich die Variable vis.0.control.data geändert hat. Dort wird gespeichert welcher View gerade angezeigt wird.
          Nach 60 Sekunden wird dann mit dem setState Befehl die Variable vis.0.control.command neu gesetzt. Dabei bezieht sich die "instance" mit FFFFFF auf alle Instanzen/Geräte auf denen eine Visualisierung läuft. Der Befehl "command" mit "changeView" ist denke ich klar. Mit "data" wird dann der anzuzeigende View genannt. Bei mir "index" Bei Dir "Flur_Hauptseite".

          Grüße,
          Balu

          1 Reply Last reply Reply Quote 2
          • W
            weimaraner last edited by

            @Balu1973
            Danke schön. Das werde ich mal probieren. Ich muß mir erst nochmal anschauen, wad das mit den Instanzen, hier den FFFFFF auf sich hat. So ganz ist mir das noch nicht klar. Wo stellt man eigentlich die 60 Sekunden ein? Ich würde die Zeit gern höher setzen.
            Sorry für die doofen Fragen. Ich bin Skript-Analphabet. 😉
            Grüße Andreas

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

              @weimaraner sagte in [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit:

              @Balu1973
              Danke schön. Das werde ich mal probieren. Ich muß mir erst nochmal anschauen, wad das mit den Instanzen, hier den FFFFFF auf sich hat.....

              Wenn du mit einem Gerät eine Vis-View betrachtest hat dieses Gerät im Normalfall eine "vis-Instanz" die du abfragen, auswerten oder was auch immer könntest. Wenn du das FFFFFF nutzt wechseln alle Instanzen auf denen Vis läuft zurück auf die eingestellte Seite.

              Die Zeit änderst du in dem Codeschnipsel wenn du die 300000 änderst da die Zeit hier in Millisekunden angegeben wird.

              1 Reply Last reply Reply Quote 2
              • B
                Balu1973 last edited by

                Da war mir eine Minute wohl auch zu kurz. 300000ms sind ja 5 Minuten und nicht 60s. Da hab ich meinen Kommentar offenbar nicht angepasst.

                Grüße,
                Balu

                W Negalein 2 Replies Last reply Reply Quote 0
                • W
                  weimaraner @Balu1973 last edited by

                  @Balu1973
                  Alles klar. 😂 ich konnte mir denken, daß die 300000 was damit zu tun haben, konnte mir aber die "Umrechnung" in 60 Sekunden nicht erschließen.
                  Danke dir.
                  Grüße Andreas

                  1 Reply Last reply Reply Quote 0
                  • Negalein
                    Negalein Global Moderator @Balu1973 last edited by Negalein

                    @Balu1973 sagte in [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit:

                    Da war mir eine Minute wohl auch zu kurz. 300000ms sind ja 5 Minuten und nicht 60s. Da hab ich meinen Kommentar offenbar nicht angepasst.

                    Hallo Balu!

                    Danke für dein Script.
                    Ich hab es für mich angepasst, aber er schaltet mal nach 15s, mal nach 7s, 1m, usw. ganz willkürlich zurück.

                    Eingestellt hätte ich 300000ms, also 5 Minuten.

                    An was könnte das liegen?

                    on(
                        {id: "vis.0.control.data"} ,
                            function (obj){
                               // Nach 5 Minuten, zeige wieder index View
                               setTimeout(function () {
                                        setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "001_Home"}');
                               }, 300000);
                    });
                    

                    Ich habe gerade bemerkt, dass sich vis.0.control.data auch dann ändert und einen neuen Wert schreibt, wenn die View auch schon auf 001_Home steht.

                    Kann man das im VIS-Editor auch irgendwo einstellen?

                    1 Reply Last reply Reply Quote 0
                    • S
                      stimezo Forum Testing last edited by

                      @Negalein said in [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit:

                      000

                      ungetestet, aber setze doch beim Trigger die Bedingung das der Wert nicht dem alten entspricht.

                      Gruß
                      Christian

                      var timeout;
                      
                      on(
                          {id: "vis.0.control.data", change: "ne"} ,
                              function (obj){
                                 // Nach 5 Minuten, zeige wieder index View
                          (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                          timeout = setTimeout(function () {
                            setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "001_Home"}');
                          }, 300000);
                          
                      
                      });
                      
                      Negalein Nashra 2 Replies Last reply Reply Quote 2
                      • Negalein
                        Negalein Global Moderator @stimezo last edited by

                        @stimezo sagte in [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit:

                        ungetestet, aber setze doch beim Trigger die Bedingung das der Wert nicht dem alten entspricht.

                        Danke, funktioniert!
                        Hab es mehrmals getestet. Schaltet jetzt brav nach 5 Minuten zurück!

                        1 Reply Last reply Reply Quote 0
                        • Nashra
                          Nashra Most Active Forum Testing @stimezo last edited by

                          @stimezo sagte in [Frage] Skript zum Wechsel auf Hauptview nach bestimmter Zeit:

                          ungetestet, aber setze doch beim Trigger die Bedingung das der Wert nicht dem alten entspricht.

                          Gruß
                          Christian

                          Habe es jetzt auch drin und funktioniert 1A, vielen Dank 👍

                          1 Reply Last reply Reply Quote 0
                          • A
                            Andre R. last edited by Andre R.

                            ich hab dieses Script einfach bei der Home view in Scripte eingefügt

                            function checkHome() {
                            if (vis.actualView !== 'Start') {
                            if (window.____timeout) clearTimeout(window.____timeout);
                            window.____timeout = setTimeout(function () {
                            window.____timeout = null;
                            vis.changeView('Home');
                            }, 60000);
                            }
                            }
                            if (!vis.editMode && !window.___installed) {
                            window.___installed = true;
                            $(document).on('click touchstart',checkHome);
                            checkHome(); // start timer
                            }

                            1 Reply Last reply Reply Quote 0
                            • W
                              weimaraner last edited by weimaraner

                              @Andre-R
                              Erfüllt das dann den gleichen Zweck wie das skript von @stimezo und ist nur ein anderer Weg oder ist hier noch eine weitere Funktion drin? Ich bin leider skrip-Analphabet und kann mit dem Code nichts anfangen. Muß ich dann nur in Zeile 6 "Home" durch meinen view-Namen ersetzen?
                              Danke und Grüße
                              Andreas

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

                                einmal ein beispiel mit blockly - falls dir das besser liegt - kommt eine whatsapp - wird die vis umgeschaltet - habe ich diese am handy oder in der vis gelesen wird wieder zurückgeschalten

                                whatsappcheck ist der steuerpunkt für das ganze

                                Image 4.png

                                W 1 Reply Last reply Reply Quote 2
                                • W
                                  weimaraner @liv-in-sky last edited by

                                  @liv-in-sky Ah, cool! Blockly ist eher "lesbar" für mich. Danke schön!

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

                                    war der post davor - der mich dazu animiert hat 🙂

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    462
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    vis
                                    9
                                    17
                                    2495
                                    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