Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. 2 Views automatisch wechseln

    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

    2 Views automatisch wechseln

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

      Hi Peoples

      Vielen Dank für deine Hilfe

      Ich habe alles gelöst und es funktioniert prima.Da der Status Briefkasten voll und leer über Mikroschalter am Briefkasten abgfragt wird, habe ich die Abfrage auch für den Viewwechsel genutzt.

      Jetzt bleibt der Statusview solange angezeigt bis der Briefkasten geleert wird.

      Das ist der Code für den Briefkasten voll

      function seitenwechsel(){
                  setState('vis.0.control.instance', 'FFFFFFFF');
                  setState('vis.0.control.data', 'Status');            // view2 steht für den Namen der View die du anzeigen willst wenn was passiert
                  setState('vis.0.control.command', 'changeView');
      }
      // Abfragen des gewünschen Sensors bspw. Fensterkontakt
      // wenn der Status auf true wechselt wird die view2 angezeigt
      on("hm-rpc.0.NEQ0530536.1.STATE", function(dp) { if(dp.state.val) seitenwechsel();});
      

      Das der Code für leer

      function seitenwechsel(){
                  setState('vis.0.control.instance', 'FFFFFFFF');
                  setState('vis.0.control.data', 'Info');            // view2 steht für den Namen der View die du anzeigen willst wenn was passiert
                  setState('vis.0.control.command', 'changeView');
      }
      // Abfragen des gewünschen Sensors bspw. Fensterkontakt
      // wenn der Status auf true wechselt wird die view2 angezeigt
      on("hm-rpc.0.NEQ0530536.2.STATE", function(dp) { if(dp.state.val) seitenwechsel();});
      

      So und hier nochmal der Fensterkontakt mit Zeit

      function seitenwechsel(){
                  setState('vis.0.control.instance', 'FFFFFFFF');
                  setState('vis.0.control.data', 'Status');            // view2 steht für den Namen der View die du anzeigen willst wenn was passiert
                  setState('vis.0.control.command', 'changeView');
      }
      // Abfragen des gewünschen Sensors bspw. Fensterkontakt
      // wenn der Status auf true wechselt wird die view2 angezeigt
      on("hm-rpc.0.NEQ0634584.1.STATE", function(dp) { if(dp.state.val) seitenwechsel();
      setTimeout(function () {
                            setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Info"}');
                 }, 10000);
      });
      

      Funktioniert alles prima vielen Dank für die Hilfe.

      Eine Kleinigkeit habe ich noch

      Ich nutze zur Visualisierung ein Tablet mit der Iobroker App.

      Da kann man ja über einen Code die Views über wischen wechseln.

      Gibt es auch einen Code wo die Views automatisch nach einer bestimmte Zeit wechseln?

      Danke nochmal für die Hilfe

      Volker

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

        Möchtest du die Views einfach wechseln oder mit diesem "wisch effeckt" wechseln?

        1 Reply Last reply Reply Quote 0
        • K
          Knusterus last edited by

          Die Views sollen einfach durchlaufen ,wie eine Slideshow. Nur die Zeit sollte einstelbar sein.

          Volker

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

            @Knusterus:

            Die Views sollen einfach durchlaufen ,wie eine Slideshow. Nur die Zeit sollte einstelbar sein.

            Volker `

            Naja du könntest die verschiedenen Views, die du durchlaufen lassen möchtest in einem Array auflisten und das dann halt immer wieder durchlaufen lassen.

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

              @peoples:

              Naja du könntest die verschiedenen Views, die du durchlaufen lassen möchtest in einem Array auflisten und das dann halt immer wieder durchlaufen lassen. `

              Könntest Du erklären wie das geht?

              Gruss

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

                @ringdingringding:

                @peoples:

                Naja du könntest die verschiedenen Views, die du durchlaufen lassen möchtest in einem Array auflisten und das dann halt immer wieder durchlaufen lassen. `

                Könntest Du erklären wie das geht?

                Gruss `

                var View = [];                                     
                
                    View[0] = "Seite1"; //Name der ersten View die angezeigt werden soll 
                    View[1] = "Seite2"; //Name der zweiten View die angezeigt werden soll
                    View[2] = "Seite3"; //Name der dritten View die angezeigt werden soll
                    View[3] = "Seite4"; //Name der vierten View die angezeigt werden soll
                // ...
                
                function viewWechsel(number) {
                    time=setTimeout(function () {
                
                        setState('vis.0.control.instance', 'FFFFFFFF');
                        setState('vis.0.control.data', View[number]);            
                        setState('vis.0.control.command', 'changeView');
                
                        log(View[number]);
                        number = number +1;
                
                        if(number== View.length) {
                            viewWechsel(0);
                        } else {
                            viewWechsel(number);
                        }
                    }, 5000); // Zeit solange eine View angezeigt werden soll in Millisekunden
                
                }
                viewWechsel(0);
                

                Mal schnell zusammengetippt. Bei den Namen musst du exakt den aus Vis angeben. Habe zwar nur geprüft ob der Log richtig durchläuft aber sollte funktionieren. Wenn nicht sag Bescheid dann schau ich mir das nochmal an.

                U 1 Reply Last reply Reply Quote 1
                • Webranger
                  Webranger last edited by

                  Klappt nicht!

                  Hab das script eingetragen in VIS/Eigenschaften/script

                  2958_bildschirmfoto_2018-07-26_um_18.22.28.png

                  das Projekt heist Küche, muss ich das auch eintragen oder weis es das?

                  ` > var View = [];

                  View[0] = "Kueche1"; //Name der ersten View die angezeigt werden soll

                  View[1] = "Kueche2"; //Name der zweiten View die angezeigt werden soll

                  // …

                  function viewWechsel(number) {

                  time=setTimeout(function () {

                  setState('vis.0.control.instance', 'FFFFFFFF');

                  setState('vis.0.control.data', View[number]);

                  setState('vis.0.control.command', 'changeView');

                  log(View[number]);

                  number = number +1;

                  if(number== View.length) {

                  viewWechsel(0);

                  } else {

                  viewWechsel(number);

                  }

                  }, 5000); // Zeit solange eine View angezeigt werden soll in Millisekunden

                  }

                  viewWechsel(0); `

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

                    Nicht in vis sondern unter scripte (dort wo deine Sonstigen Javascript bzw blockys liegen)

                    Und es muss dann eine View geben die kueche1 und kueche2 heißt

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

                      Ah ok das gehts und wechselt zwischen Kueche1 und Kueche2

                      Habe für die beiden views extra ein neues Projekt mit Namen Küche.

                      und für mein Tablet im Flur Projekt main.

                      Wenn ich das script von dir jetzt starte tut sich auch was auf dem Tablet im Flur was es ja eigentlich nicht sollte.

                      Muss ich in dem script noch irgendwo das Projekt eintragen damit sich die beiden nicht in die Quere kommen?

                      Gruss Danyel

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

                        Du musst im Script das „FFFFFFF“ gegen die Browser Instanz des Tablets austauschen von dem Tablet das den View wechseln soll.

                        Um die raus zu bekommen gibt es ein „resolution“ Widget das neben der Auflösung auch die Instanz anzeigt. Einfach in einen View einfügen, Instanz Nummer aufschreiben und Widget danach wieder löschen.

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

                          Danke an alle.

                          Genau das war es und es läuft.

                          Super Forum und Community

                          Weiter so

                          Gruß Danyel

                          1 Reply Last reply Reply Quote 0
                          • G
                            gfrene last edited by gfrene

                            Moin zusammen 🙂 Das Script läuft ... aber wie kann ich das umsetzen.

                            Ich bin in meiner Cam View
                            Unbenannt.png

                            so wie man sehen kann sieht man rechts weitere 4 Cam`s.

                            Nun möchte ich das nur hier (IP-CAM) das Script greift und wenn jetzt wieder auf Home gehe oder eben anderen TAB soll das script nichts machen.
                            Wenn ich jetzt wieder auf IP-Cam gehe soll das script wieder die weiteren 4 Cams durchlaufen.

                            Geht das ?

                            Gruß und danke für die hilfe

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

                              @peoples Ich muss mal kurz ein großes DANKE loswerden. Das Script hat bei mir auch super funktioniert und ich finde es klasse, dass Du das mal eben aus dem Ärmel geschüttelt hattest.

                              Vielen herzlichen Dank auch von mir.

                              Uli

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

                                @gfrene
                                Es kommt drauf an was in dem Datenpunkt der View steht. Wenn das immer der gleiche Name ist, reagiert auch das Script immer. Die Unterscheidung wird rein über den Namen gemacht.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                653
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

                                7
                                21
                                6662
                                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