Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. [Gelöst] Abfrage "Sind Sie sicher?" Ja/Nein

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Gelöst] Abfrage "Sind Sie sicher?" Ja/Nein

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

      Hab das ähnlich gelöst. Auf/zu setzt eine Variable. Diese Variable dient über Sichtbarkeit der Einblendung des eigentlichen öffnen-Knopfes.

      Pix

      1 Reply Last reply Reply Quote 0
      • T
        TOBO last edited by

        So ähnlich habe ich mir das schon gedacht. Also muss ich noch 6 weiter Buttons erstellen. Ich habe hier drei Funktionen und brauche für jede einen Ja und einen Nein Button. Diese alle genau übereinander gelegt und je nach Funktion eingeblendet.

        Gibt es vielleicht ein Frame Widget, indem ich diese Buttons legen kann und nur diesen Frame ein/ausblenden kann ?

        PS: In VB würde ich eine Variable anlegen, Je nachdem welcher Funktionsbutton gedrückt wurde, diese auf 1,2, oder 3 setzen, einen Frame mit Ja und Nein Button einblenden und anhand des Zustandes der Trigger Variable die entsprechende Funktion auslösen, oder den Frame einfach wieder ausblenen und den Trigger auf 0 setzen.

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

          Hallo Tobo,

          bleibt doch bitte im ioBroker Terminus. Ich weiß sonst nicht, was du meinst. Frames = Views oder Widgets? Was ist VB?

          Es reicht auch eine Variable für die Sichtbarkeit. Wenn irgendeine der drei Tasten gedrückt (alle drei ändern das gleiche Objekt, nämlich diese Variable "Sicherheitsfrage"), dann "Sicherheitsfrage" = true.

          Wenn "Sicherheitsfrage" = true, dann alle Widgets, die unter der Bedingung "Sicherheitsfrage" = true eingeblendet werden sollen, anzeigen. Dann nach zB 5s "Sicherheitsfrage" = false;

          Kannst aber auch für jede Funktion eine Variable erstellen.

          So habe ich das im meinem Smartphone-Projekt gemacht. Mein Wandtablet Projekt öffnet einfach nur einen Dialog.

          Gruß

          Pix

          1 Reply Last reply Reply Quote 0
          • T
            tempestas last edited by

            VB dürfte Visual Basic sein?

            Frames nehme ich an sind Dialoge.

            Wenn ich mich an dieser Stelle kurz mit zwei Fragen einklinken dürfte, da sie auch zu Dialogen passen:

            1. schließt du (Pix) deinen Dialog dann über das x rechts oben, oder hast du eine Lösung, dass der Dialog nach der auswahl automatisch schließt?

            2. Steuerst du, und wenn ja wie, wo dein Dialogfenster sich öffnet? Bei mir ist das Problem, dass einige Dialogfenster mittig auf dme Screen sich öffnen (wunderbar), andere aber teilweise so, dass der Rahmen außerhalb des Screens liegt und ich dann keine Chance habe, diese mit "x" zu schließen?

            1 Reply Last reply Reply Quote 0
            • T
              TOBO last edited by

              Was ist bitte ein Dialogfenster und wie erstelle ich so eines.

              Sorry Pix. Ich dachte diese Begriffe sind für Programmierer gängige Praxis. VB ist Visual Basic und ein Frame ein Rahmen, in dem man etwas anzeigen kann. Also in diesem Fall besagtes Dialogfenster.

              1 Reply Last reply Reply Quote 0
              • T
                tempestas last edited by

                Dialoge sind wohl deine "Frames", in denen du nach klick auf einen Button (widget habe ich nicht auswendig im Kopf, können aber mehrere) eine andere View anzeigen lassen kannst.

                Rechts in den Widget Einstellungen findest du neben Allgemein, Sichtbarkeit usw eben bei einigen auch "Dialog"; dort dann die anzusprechende View eintragen und die Größe des Dialogs (z.B. 200 x 100 px).

                1 Reply Last reply Reply Quote 0
                • T
                  TOBO last edited by

                  Noch eine Frage zu der Triggervariable. Kann ich in IOBroker eine globale Systemvariable anlegen, die ich dazu verwenden kann ? Wenn ja, wie und wo ?

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

                    Hallo,

                    "globale" Systemvariablen kann man anlegen. Im Reiter Objekte können Objekte angelegt werden. Alternativ im Javascript Adapter mit einem Skript. Bitte in der Javascript Adapter Doku nach createStates() und setStates() nachsehen.

                    Global habe ich oben in Haken gesetzt, da das Wort im Zusammenhang mit ioBroker Scripts eine andere Bedeutung hat, als hier.

                    Zum Dialog:

                    Es gibt ein Skript, das Dialoge nach X Zeit schließen kann (http://forum.iobroker.net/viewtopic.php … ßen#p38378)

                    Du kannst aber auch einen eigenen Dialog bauen. Die Funktion "Sichtbarkeit" in VIS ist dazu perfekt geeignet.

                    Gruß

                    Pix

                    1 Reply Last reply Reply Quote 0
                    • T
                      TOBO last edited by

                      @pix:

                      Im Reiter Objekte können Objekte angelegt werden. `

                      Ist das so richtig ? Unter Admin.0 ein neues Objekt anlegen ?

                      2287_neues_objekt.png

                      1 Reply Last reply Reply Quote 0
                      • T
                        TOBO last edited by

                        Da ich bisher keine Antwort auf meine vorherige Frage bekommen habe und ich nix kaputt machen will, habe ich die Variablen in der HomeMatic als Systemvariablen angelegt.

                        So sieht das jetzt bei mir aus.
                        2287_screenshot.png

                        Wenn eine der drei Tasten geklickt wird, werden diese und die Back Taste sofort ausgeblendet und mit 400ms Verzögerung die Sicherheitsabfrage eingeblendet.
                        2287_abfrage.png

                        Hier ist mein Code. Funktioniert alles ganz Prima 🙂

                        var idJa = "hm-rega.0.2334"; //Button Ja
                        var idNein = "hm-rega.0.2335"; //Button Nein
                        var idJN = "hm-rega.0.2333"; //1 = aufschließen / 2 = zuschließen / 3 = Tür öffnen
                        var idPause = "hm-rega.0.2336" //Trigger einblenden Abfrage verzögert
                        
                        // Script start alles Reset
                        setState(idJa, false);
                        setState(idNein, false);
                        setState(idPause, false);
                        setState(idJN, 0);
                        
                        //Abfrage einblenden
                        on(idJN, function(dp) {  // Triggern bei Änderung
                        
                        if (getState(idJN).val !== 0 )
                        {
                         setStateDelayed(idPause, true,  400);
                         }
                        });
                        
                        //Bestätigung Nein
                        on(idNein, function(dp) {  // Triggern bei Änderung
                        if (getState(idNein).val == "1" )
                        {
                          setState(idNein, false); 
                          setState(idJa, false);
                          setState(idPause, false);
                          setStateDelayed(idJN, 0,  400);
                          }
                        });
                        
                        //Bestätigung Ja - Tür zu
                        on(idJa, function(dp) {  // Triggern bei Änderung
                        if (getState(idJa).val == "1" && getState(idJN).val == 2)
                        {
                          setState(idNein, false); 
                          setState(idJa, false);
                          setState(idPause, false);
                          setStateDelayed(idJN, 0,  400);
                          setState("hm-rpc.0.OEQ0119854.2.PRESS_SHORT", true);
                          }
                        });
                        
                        //Bestätigung Ja - Tür auf
                        on(idJa, function(dp) {  // Triggern bei Änderung
                        if (getState(idJa).val == "1" && getState(idJN).val == 1)
                        {
                          setState(idNein, false); 
                          setState(idJa, false);
                          setState(idPause, false);
                          setStateDelayed(idJN, 0,  400);
                          setState("hm-rpc.0.OEQ0119854.1.PRESS_SHORT", true);
                          }
                        });
                        
                        //Bestätigung Ja - Tür Öffnen
                        on(idJa, function(dp) {  // Triggern bei Änderung
                        if (getState(idJa).val == "1" && getState(idJN).val == 3)
                        {
                          setState(idNein, false); 
                          setState(idJa, false);
                          setState(idPause, false)
                          setStateDelayed(idJN, 0,  400);
                          setState("hm-rpc.0.OEQ0119854.4.PRESS_SHORT", true);
                          }
                        });
                        
                        

                        PS: Falls jemand wissen möchte, warum ich 400ms Verzögerung beim Ein und Ausblenden der Abfrage habe. Auf dem PC geht das ohne super. Da klickt man mit der Maus. Auf dem Handy nicht. Weil die Buttons der Abfrage genau über den mittleren Button Tür Zu liegen, wird beim Handy, sofort der Ja, oder Nein Button betätigt wenn die Abfrage eingeblendet wird. Komisch, ist aber so. Die Umschaltung geht so superschnell.

                        Gruss.

                        ToBo

                        1 Reply Last reply Reply Quote 0
                        • T
                          tempestas last edited by

                          Danke fürs teilen;

                          Als Idee:

                          Du könntest die Buttos noch sachlogisch anzeigen lassen. Sprich lock nur, wenn die Tür auch geschlossen ist. Unlock nur, wenn Tür gelockt ist. Tür auf nur, wenn wenn unlocked.

                          Ist mehr optisch; aber ich persönlich bin immer ein Freund davon, nur das anzuzeigen, was auch aktiv umgesetzt werden kann.

                          LG

                          1 Reply Last reply Reply Quote 0
                          • T
                            TOBO last edited by

                            Hallo,

                            darüber hab ich noch gar nicht nachgedacht. Danke, ist keine schlechte Idee.

                            Gruss.

                            ToBo

                            1 Reply Last reply Reply Quote 0
                            • D
                              dwm last edited by

                              Da muss ich kurz einhaken, ich hab da nämlich ein "verwandtes" Problem.

                              Grundsätzlich steuerst Du ja die UI über system-globale Variablen.

                              Das heisst wenn Du hier was machst, wird das auf JEDER Instanz, die grad auf vis zugreift, gleich angezeigt.

                              Das kann jetzt gut oder schlecht sein 🙂

                              Manchmal wärs schlauer, so eine Variable die die UI "steuert" nur für die Browser Instanz zu haben.

                              Gibts da eine Lösung?

                              Wie gesagt, wenn grad zwei Leute auf diesen Screen schauen und einer drückt "öffnen", sehen beide das "Bist Du sicher" …

                              CU

                              Werner

                              1 Reply Last reply Reply Quote 0
                              • T
                                TOBO last edited by

                                So ist es. Ist mir auch schon aufgefallen. Hat mich aber nicht so stark gestört, weil sehr unwahrscheinlich das bei uns zwei Leute das zur gleichen Zeit machen wollen.

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

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                431
                                Online

                                32.0k
                                Users

                                80.4k
                                Topics

                                1.3m
                                Posts

                                5
                                16
                                2811
                                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