Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Nach Timeout bestimmte View aufrufen

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    Nach Timeout bestimmte View aufrufen

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

      Hallo,

      weiß jemand wie ich es hinbekomme, dass nach einer gewissen Zeit (z.B. 5min) eine bestmmte View automatisch aufgerufen wird?

      In VIS habe ich rund ein dutzend verschiedene Views (01_Main, 02_Lights, 03_Enegry…). Wenn die letzte Aktion z.B. in der 02_Light View durchgeführt wurde, wird ja diese View so lange angezeigt, bis man über die Navigation eine andere View aufruft. Auf der View 01_Main werden mir aber bestimmte Ereignisse angezeigt, die ich nicht sehe, wenn diese View nicht angezeigt wird. Daher würde ich mir gerne eine Funktion bauen, damit nach 5min Inaktivität die View 01_Main automatisch aufgerufen wird.

      Ich habe es schon mit einem Refresh probiert, da ja 01_Main auch die Hauptseite ist - Der Refresh geht, aber VIS bleibt auf der Seite die gerade aktiv ist.

      Hat jemand dazu eine Idee?

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

        Hallo oberstel,

        das gab es hier schon mal: http://forum.iobroker.net/viewtopic.php … 123#p22037

        Habe ich auch in Benutzung und läuft sehr gut.

        Suchbegriffe für andere, die sowas in der Zukunft suchen: Timer VIS View Home :idea:

        Gruß

        Pix

        EDIT: Mit einem HTML Widget kannst du natürlich auch HTML-Code verwenden. Denke daran, die Viewbezeichnung der Zielview nach der Raute einzufügen (hier #Home):
        Hier wird nach 30s die Home-View geladen. Der oben verlinkte Code ist intelligenter und zählt die Zeit ab der letzten Eingabe.

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

          @pix:

          Hallo oberstel,

          das gab es hier schon mal: http://forum.iobroker.net/viewtopic.php … 123#p22037

          Habe ich auch in Benutzung und läuft sehr gut.

          Suchbegriffe für andere, die sowas in der Zukunft suchen: Timer VIS View Home :idea:

          Gruß

          Pix

          EDIT: Mit einem HTML Widget kannst du natürlich auch HTML-Code verwenden. Denke daran, die Viewbezeichnung der Zielview nach der Raute einzufügen (hier #Home):
          Hier wird nach 30s die Home-View geladen. Der oben verlinkte Code ist intelligenter und zählt die Zeit ab der letzten Eingabe. `

          Hallo pix!

          Also ich probier das jetzt seit gut zwei Stunden hin zu bekommen, aber leider :?

          Hab ein HTML Widget auf einem View. dort den HTML Code eingefügt, Pfad angepasst.

          Aber es tut sich nichts, egal was ich probiere. :?: :?: :?:

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

            Hallo,

            hast du den Thread denn ganz gelesen?

            http://forum.iobroker.net/viewtopic.php … 123#p22138

            Importiere mal diese Widget

            [{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,
            "refreshInterval":"0","gestures-offsetX":0,"gestures-offsetY":0,"html":
            " "},"style":{"left":"721px","top":"59px"},"widgetSet":"basic"}]
            

            auf eine View, die nach 10s weggeschaltet werden kann. Dann ändere im Widget noch DemoView auf den Namen der Zielview (zB Home)

            Dann neu laden und dann sollte, nachdem du auf diese View navigiert hast und 10s keine weitere Eingabe auf dieser View machst, der Viewwechsel auf die Zielvie starten.

            Pix

            1 Reply Last reply Reply Quote 0
            • bahnuhr
              bahnuhr Forum Testing Most Active last edited by

              Hallo,

              bei mir läuft ein einfaches Script:

              // View wechseln - alle 15 Min. 
              
              schedule("0,15,30,45 * * * *", function () {
                  var Zeit1 = isTimeInRange('06:05:00', '23:05:00');
                  if (Zeit1 === true) {
                      setState("vis.0.control.instance", 'FFFFFFFF');
                      setState("vis.0.control.data", 'Titel');
                      setState("vis.0.control.command", 'changeView');
                      log ("View auf 'Titel' gewechselt.");
                  } else {
                      setState("vis.0.control.instance", 'FFFFFFFF');
                      setState("vis.0.control.data", 'Uhr');
                      setState("vis.0.control.command", 'changeView');
                      log ("View auf 'Uhr' gewechselt.");
                  }
              });
              
              

              Erklärung:

              Nachts soll die View "Uhr" eingeblendet werden.

              Tagsüber "Titel"

              Und das Script "isTimeInRange" ist das Standard Script aus der iobroker Seite.

              Funktioniert seit Jahren korrekt.

              mfg

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

                @pix:

                Hallo,

                hast du den Thread denn ganz gelesen?

                http://forum.iobroker.net/viewtopic.php … 123#p22138

                Importiere mal diese Widget

                [{"tpl":"tplHtml","data":{"visibility-cond":"==","visibility-val":1,
                "refreshInterval":"0","gestures-offsetX":0,"gestures-offsetY":0,"html":
                " "},"style":{"left":"721px","top":"59px"},"widgetSet":"basic"}]
                

                auf eine View, die nach 10s weggeschaltet werden kann. Dann ändere im Widget noch DemoView auf den Namen der Zielview (zB Home)

                Dann neu laden und dann sollte, nachdem du auf diese View navigiert hast und 10s keine weitere Eingabe auf dieser View machst, der Viewwechsel auf die Zielvie starten.

                Pix `

                Danke funktioniert einwandfrei.

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

                  @bahnuhr:

                  Hallo,

                  bei mir läuft ein einfaches Script:

                  // View wechseln - alle 15 Min. 
                  
                  schedule("0,15,30,45 * * * *", function () {
                      var Zeit1 = isTimeInRange('06:05:00', '23:05:00');
                      if (Zeit1 === true) {
                          setState("vis.0.control.instance", 'FFFFFFFF');
                          setState("vis.0.control.data", 'Titel');
                          setState("vis.0.control.command", 'changeView');
                          log ("View auf 'Titel' gewechselt.");
                      } else {
                          setState("vis.0.control.instance", 'FFFFFFFF');
                          setState("vis.0.control.data", 'Uhr');
                          setState("vis.0.control.command", 'changeView');
                          log ("View auf 'Uhr' gewechselt.");
                      }
                  });
                  
                  

                  Erklärung:

                  Nachts soll die View "Uhr" eingeblendet werden.

                  Tagsüber "Titel"

                  Und das Script "isTimeInRange" ist das Standard Script aus der iobroker Seite.

                  Funktioniert seit Jahren korrekt.

                  mfg `

                  Hallo bahnuhr!

                  Hab dein Script ausprobiert.

                  Allerdings bekomme ich eine Fehlermeldung mit der ich nichts anfange

                  11:53:32.438 [info] javascript.0 Stop script script.js.Auto_View_Wechsel

                  11:53:37.910 [info] javascript.0 Start javascript script.js.Auto_View_Wechsel

                  11:53:37.911 [info] javascript.0 script.js.Auto_View_Wechsel: registered 0 subscriptions and 1 schedule

                  12:00:00.947 [error] javascript.0 at Object. (script.js.Auto_View_Wechsel:6:17)

                  Kannst du mir weiterhelfen.

                  Danke

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

                    Hallo,

                    das Skript von Bahnuhr zeigt, wie man aus JavaScript die View wechseln kann. Allerdings nimmt das Skript keine Rücksicht auf die letzte Eingabe.

                    Wenn man also um 14h44min45s ans Tablet tritt und etwas macht, schaltet trotzdem 15s später die View um. Das kann unter Umständen nerven.

                    @PapaChriLo Hast du den Namen „Titel“ auf deinen Zielview Namen geändert?

                    Pix

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

                      @pix:

                      Hallo,

                      @PapaChriLo Hast du den Namen „Titel“ auf deinen Zielview Namen geändert?

                      Pix `

                      Ja hab ich.

                      1 Reply Last reply Reply Quote 0
                      • bahnuhr
                        bahnuhr Forum Testing Most Active last edited by

                        Hast du das Script von der iobroker Seite als global hinterlegt?

                        function currentDate() {
                            var d = new Date();
                            return new Date(d.getFullYear(), d.getMonth(), d.getDate());
                        }
                        function addTime(strTime) {
                            var time = strTime.split(':');
                            var d = currentDate();
                            d.setHours(time[0]);
                            d.setMinutes(time[1]);
                            d.setSeconds(time[2]);
                            return d;
                        }
                        function isTimeInRange(strLower, strUpper) {
                            var now = new Date();
                            var lower = addTime(strLower);
                            var upper = addTime(strUpper);
                            var inRange = false;
                            if (upper > lower) {
                                // opens and closes in same day
                                inRange = (now >= lower && now <= upper) ? true : false;
                            } else {
                                // closes in the following day
                                inRange = (now >= upper && now <= lower) ? false : true;
                            }
                            return inRange;
                        }
                        
                        

                        mfg

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

                          Nein hab ich nicht werd's dann später mal ausprobieren.

                          Danke jedenfalls.

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

                            @pix

                            Hab die Sache nun seit gestern am laufen.

                            Habe die Zeit von deinem Beispiel auf eine Minute verlängert.

                            Allerdings wird nicht berücksichtigt wenn ich im aktuellen View gerade etwas mache,

                            er wechselt jetzt immer nach einer Minute in das Home View auch wenn ich gerade etwas im aktuellen View mache.

                            Hab ich da noch was übersehen?

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

                              Zeig bitte mal dein Script

                              Pix

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

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                1.0k
                                Online

                                32.1k
                                Users

                                80.7k
                                Topics

                                1.3m
                                Posts

                                4
                                14
                                2032
                                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