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.
    • 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

                        958
                        Online

                        32.1k
                        Users

                        80.7k
                        Topics

                        1.3m
                        Posts

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