Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [gelöst] VIS fernsteuern / view 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

    [gelöst] VIS fernsteuern / view automatisch wechseln

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

      Moin Leute,

      auch wenn der Beitrag schon etwas älter ist hoffe ich das dies Script bei jemanden läuft der mir was berichten kann.

      Das Script läuft bei mir auch, aber:

      • die Instance nimmt er nur von meinem PC, das tablet an der wand hat anscheinend keine ?!

      • Bei aktivierung durch einen Taster ändert sich leider nix bei mir. Nicht mal in den Datenpunkten zeigt er eine Veränderung an.

      Kann es sein das in dieser Codezeile ein Fehler ist? Klingt irgendwie nicht sinnvoll:

      if (obj.newState.val === true || obj.newState.val === "true") {
      
      1 Reply Last reply Reply Quote 0
      • N
        Nepomukl last edited by

        Hallo galferiz,

        versuch es einmal mit dieser Startzeile, natürlich auf deinen Klingeltaster gemünzt.

        on({id: 'javascript.0.States.Doorbell', change: "any"}, function (obj) {
        

        dann lass die Prüfung auf True raus.

        So reicht eine Änderung des Datenpunktes. So läuft das bei mir bestens.

        Die Instanz hab ich immer von Android und PC.

        Und heute beim Testen sogar mal vom iGedöns :lol:

        das war aber auch das erste mal, sonst unbekannt.

        Gruß Andreas

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

          on({id: 'hm-rpc.0.NEQ1000713.2.PRESS_SHORT', change: "any"}, function (obj) {
                     //setState("vis.0.control.command", '{"instance": "xyz", "command": "changeView", "data": "LCars/wetter"}');
                     // oder
                     setState("vis.0.control.instance", 'xyz');
                     setState("vis.0.control.data",     'LCars/wetter');
                     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": "xyz", "command": "changeView", "data": "LCars/main"}');
                     }, 10000);
          });
          

          xyz - durch instance ersetzt.

          Leider geht es nicht.

          Man sieht das er kurz arbeitet, aber ohne Output auf dem Tablet.

          Merkwürdig.

          Wenn ich die View am Tablet wechsel steht aber im Datenpunkt immer Instanze - notdefined, die View wird aber richtig angezeigt.

          Eventuell hängt das damit zusammen?!

          Die Instance kann man ja im VIs-Editor erzeugen, aber woher weis ich welche der Tabletbrowser nutzt ?

          Hier denke ich, könnte mein Fehler liegen.

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

            Ok, wer lesen kann ist klar im vorteil.

            control Instanz auf "FFFFFFF" geändert, was dank der guten Doku von Rainer super beschrieben ist,

            und schon geht es 😉

            Danke Andreas 😉

            1 Reply Last reply Reply Quote 0
            • kmxak
              kmxak Most Active last edited by

              Moin,

              wollte mich da gerade auch mal reinarbeiten.

              Leider steht bei mir unter objekte vis nur vis.0.app und vis.0.command sonst nix.

              Unter Zustände habe ich sowas aber nicht unter Objekte.

              vis.0.control.data	vis.0	vis.0.control.data	Home/page2	true	web.0
              
              1 Reply Last reply Reply Quote 0
              • D
                Dice19 last edited by

                HI,

                ich das script unter common abgelegt und auch unter vis.o control erscheint der entsprechende Eintrag.

                Nur die View wechselt am Tablett bzwe an beiden nicht.

                Muss in der VIS App etwas angepasst werden ??

                Oder habe ich in dem Script was falsch eingestellt?

                Danke

                Tobias

                ! on({id: 'hm-rpc.0.NEQXXX6446.1', change: "any"}, function (obj) {
                ! //setState("vis.0.control.command", '{"instance": "f3.ff055", "command": "changeView", "data": "main/Kameras"}');
                ! // oder
                ! setState("vis.0.control.instance", 'f3.ff055');
                ! setState("vis.0.control.data", 'main/Kameras');
                ! 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": "f3.ff055", "command": "changeView", "data": "main/Kameras"}');
                ! }, 10000);
                ! });

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

                  Hallo,

                  ich hatte das gleiche Problem wie tobih83.

                  Die View-Einträge im Objekt-tree wechselten sich, nur am Tablett tat sich in der Visu nichts.

                  Lösung war bei mir, den aktiven Vis-Editor zu schließen, danach wechselte die View auch auf dem Tablett.

                  Gruß

                  Frank

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

                    Guten morgen zusammen,

                    ich möchte auch, dass bei mir auf dem Tablet nach einem Timeout die bestimmte View angezeigt wird. Ich habe das Script aus dem Post #2 im VIS Editor bei dieser View unter "Scripte" eingefügt, passiert nichts. Gibt es ein Script nur auf Timeout und soll es im VIS Editor eingesetzt werden oder bei Admin unter Scripte?

                    Vielen Dank im Voraus,

                    Ole

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

                      Das Script muss als Script im Javascript Adapter angelegt werden. Nicht im VIS Editor!

                      1 Reply Last reply Reply Quote 0
                      • C
                        ch1 last edited by

                        Hat eigentlich schon jemand eine Lösung für das Problem gefunden,

                        daß jedes gerät in den zuletzt verwendeten View zurückspringt nachdem die Zeit abgelaufen ist ?

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

                          Hallo, kann mich mal jemand bei der Hand nehmen? 😞 ich bin absoluter Anfänger und versuche mit dem Script den View zu wechseln. Ich habe das wie folgt gemacht:

                          on("Doorbell ID '1' pressed", function (obj){
                              if (Doorbell ID '1' pressed === true || Doorbell ID '1' pressed === "true) {
                                     setState("vis.0.control.command", '{"instance": "FFFFFFFF", "command": "changeView", "data": "Test"}');
                                     // 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": "Hauptseite"}');
                                     }, 10000);
                              }
                          });
                          
                          

                          ich geh mal davon aus, dass ich da noch was gewaltig falsch mache.

                          Das sind die Meldungen:

                          20:15:44.291 [info] javascript.0 Stop script script.js.common.Skript1

                          20:15:44.323 [info] javascript.0 Start javascript script.js.common.Skript1

                          20:15:44.324 [error] javascript.0 script.js.common.Skript1 compile failed: at script.js.common.Skript1:2

                          javascript.0 2018-12-03 19:15:44.320 error at Object.createScript (vm.js:56:10)

                          javascript.0 2018-12-03 19:15:44.320 error SyntaxError: Unexpected identifier

                          javascript.0 2018-12-03 19:15:44.319 error ^^

                          javascript.0 2018-12-03 19:15:44.318 error if (Doorbell ID '1' pressed === true || Doorbell ID '1' pressed === "true) {

                          javascript.0 2018-12-03 19:15:44.318 error at script.js.common.Skript1:2

                          javascript.0 2018-12-03 19:15:44.318 error script.js.common.Skript1 compile failed:

                          ich such mir schon seit Tagen nen Wolf 😞

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

                            Ich krame den alten Thread nochmal wieder raus, weil ich gerade nicht weiß wie ich das realisieren soll.

                            Ich möchte einen Screen Wechsel im VIS haben, sobald es an der Haustür klingelt. Mein Problem ist, das der Datenpunkt für das Klingelsignal IMMER auf True steht. Beim Klingeln ändert sich nur der Zeitstempel

                            Wie kann ich das im Skript Abfrage technisch mit einbauen, das hier auf den sich ändernden Zeitstempel reagiert wird?

                            Vielen Dank für Eure Unterstützung

                            function seitenwechsel(){
                                        setState('vis.0.control.instance', 'FFFFFFFF');
                                        setState('vis.0.control.data', '200_Webcam');            // 200_Webcam 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
                            // wenn der Status auf true wechselt wird 200_Webcam angezeigt
                            on("rflink.0.channels.Byron_1.SWITCH_05", function(dp) { if(dp.state.val) seitenwechsel(); });
                            
                            1 Reply Last reply Reply Quote 0
                            • R
                              Ron 0 last edited by

                              Hallo zusammen,

                              ich denke ich werde mit meinem Anliegen nicht der einzige sein weshalb ich diesen alten Thread mal wiederbeleben möchte.

                              Mein Wunsch: Ich habe verschiedene Etagen im Haus und diese in verschiedene Räume unterteilt. In diesen Räumen befinden sich dann die jeweiligen Lampen, Sensoren etc.

                              Navileiste.jpg
                              Hier die Navigationsleiste zu den einzelnen Etagen

                              Räume.jpg
                              Hier die Räume

                              Einzellampe.jpg
                              Hier die Leuchtmittel bzw. Sensoren

                              Ziel ist es: Nach dem man den Raum ausgewählt und das dementsprechende Leuchtmittel an oder ausschaltet hat, das nach einer vorgegebenen Zeit automatisch wieder in die Raumansicht gewechselt wird.

                              Bin was Javascript angeht leider noch völliger Neuanfänger und völlig ratlos. 🙂

                              Danke schon einmal im Voraus für eure Hilfe.

                              LG
                              Ron

                              DJMarc75 1 Reply Last reply Reply Quote 0
                              • DJMarc75
                                DJMarc75 @Ron 0 last edited by DJMarc75

                                @ron-0
                                Tagchen, ja das geht schon und ich hoffe ich kann Dir helfen:

                                Wichtig sind hierbei erstmal folgende 3 Datenpunkte

                                vis.0.control.command
                                vis.0.control.data
                                vis.0.control.instance
                                

                                Wenn Du in Deiner VIS (wichtig ist jetzt dass Du das Gerät verwendest um die Lampen zu schalten) jetzt die Raumansicht (Wert im DP "data" notieren) und dann den Raum auswählst dann notiere Dir die Werte von "data" und "instance".
                                Diese Werte brauchen wir im Blockly (unten).

                                Im Datenpunkt "instance" ist das aktuelle Device.
                                Im Datenpunkt "data" die aktuelle View

                                In Blockly könnte das dann ungefähr so aussehen:

                                Screenshot 2022-06-06 110534.png

                                Die Werte bei "Data for control vis" und "Control vis" musst Du mit den notierten Werten anpassen.
                                "Command for vis" bitte nicht ändern.

                                Klingt alles kompliziert, ist es aber auch 😀

                                Aber mit diesen Datenpunkten kommst Du an Dein Ziel.

                                R 1 Reply Last reply Reply Quote 0
                                • R
                                  Ron 0 @DJMarc75 last edited by

                                  @djmarc75

                                  Vielen Dank für deine Hilfe. Das wirklich TOP, ich komme zur Zeit leider nicht so fix an die Umsetzung, werde aber Feedback geben so wie ich es umgesetzt habe.

                                  DJMarc75 1 Reply Last reply Reply Quote 0
                                  • DJMarc75
                                    DJMarc75 @Ron 0 last edited by

                                    @ron-0 sagte in [gelöst] VIS fernsteuern / view automatisch wechseln:

                                    Feedback geben so wie ich es umgesetzt habe

                                    kein Stress, das Forum hier schliesst ja nicht 😂

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

                                    Support us

                                    ioBroker
                                    Community Adapters
                                    Donate

                                    912
                                    Online

                                    31.9k
                                    Users

                                    80.1k
                                    Topics

                                    1.3m
                                    Posts

                                    17
                                    26
                                    10607
                                    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