Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Visualisierung
    4. Welches Schalter Widget für unterschiedliche An-Aus Befehl

    NEWS

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

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    Welches Schalter Widget für unterschiedliche An-Aus Befehl

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

      Hallo,

      irgendwie stehe ich grad wahnsinnig aufm Schlauch.

      Ich schalte eine Intertechno Steckdose mit einem Einschaltbefehl und eine Ausschaltbefehl.

      Und jetzt geht es los.

      Wie kann ich das in einem Schalter darstellen?

      Einschaltbefehl ist "hm-rpc.1.CUX4000001.1.PRESS_SHORT"

      Ausschaltbefehl ist "hm-rpc.1.CUX4000001.2.PRESS_SHORT"

      Wie mache ich das jetzt am besten?

      Kann man zwei Schalter übereinander legen und wenn einer betätigt wird wir der in den Hintergrund gelegt und der zweite tritt hervor?

      der fancyswitch wippe hell dunkel gefällt mir.

      gruss

      1 Reply Last reply Reply Quote 0
      • Homoran
        Homoran Global Moderator Administrators last edited by

        Ich fürchte mit der Wippe geht es nicht, kann es aber jetzt nicht testen.

        Du benötigst auf jeden Fall ein Widget, das du auf Taster umstellen kannst.

        Gruß

        Rainer

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

          Welche id hat denn die Schaltsteckdose? Du kannst sie ja direkt auch schalten?

          Habe ähnliche Konfigurationen, Ein Licht das mit Wippe aber auch durch Taster oder Bewegungsmelder geschaltet wird…

          1 Reply Last reply Reply Quote 0
          • J
            jensus11 last edited by

            Die Schaltsteckdose hat zwei IDs.

            Eine für An und eine für Aus.

            1 Reply Last reply Reply Quote 0
            • J
              jensus11 last edited by

              keiner ne Idee mehr?

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators last edited by

                Es geht im Prinzip dann nur mit zwei Buttons on/off, die als Taster konfiguriert werden.

                Allerdings wirst du dann den Zustand des Lichts nicht darstellen können.

                Gruß

                Rainer

                1 Reply Last reply Reply Quote 0
                • J
                  jensus11 last edited by

                  das weiss ich. Die Rückmeldung hab ich ja auch nicht. Kannst das mal an einem Bsp. verdeutlichen?

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by

                    @jensus11:

                    Kannst das mal an einem Bsp. verdeutlichen? `
                    Wenn ich jetzt am PC säße, ja. Am Tablet macht es wirklich keinen Spaß einen View zu editieren.

                    Such mal ein Widget mit dem Filter on/off oder bool

                    Bei diesen suchst du in der Konfiguration die Checkbox "als Taster" o.ä.

                    Dann musst du zwei davon nehmen ein Widget für an und ein Widget für aus. Diese jeweils mit dem entsprechenden Datenpunkt verknüpfen.

                    Gruß

                    Rainer

                    1 Reply Last reply Reply Quote 0
                    • H
                      hmanfred last edited by

                      @Homoran:

                      Es geht im Prinzip dann nur mit zwei Buttons on/off, die als Taster konfiguriert werden.

                      Allerdings wirst du dann den Zustand des Lichts nicht darstellen können.

                      Gruß

                      Rainer `
                      Wenn die zwei Buttons übereinander liegen und über den jeweiligen Schaltzustand sichtbar/unsichtbar gemacht werden, sollte das gehen.

                      Einer stellt den Zustand "ein" dar und schaltet beim Betätigen aus, der andere umgekehrt.

                      Gruß

                      Manfred

                      1 Reply Last reply Reply Quote 0
                      • J
                        jensus11 last edited by

                        Wenn die zwei Buttons übereinander liegen und über den jeweiligen Schaltzustand sichtbar/unsichtbar gemacht werden, sollte das gehen.

                        Einer stellt den Zustand "ein" dar und schaltet beim Betätigen aus, der andere umgekehrt.

                        Gruß

                        Manfred

                        und wie oder wo stell ich den Schaltzustand ein?

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

                          Hallo,

                          ich würde aus VIS Performance-Gründen für solche eine Anwendung nicht so viele Widgets übereinanderlegen und per Sichtbarkeit steuern. Da kriegt man im Editor irgendwann die Krise.

                          Besser: Skript!

                          Javascript erstellt Boolean-State. Dieser State wird mit dem Widget geschaltet. Das Skript reagiert auf die Änderung und sendet den Befehl.

                          var idEin = "hm-rpc.1.CUX4000001.1.PRESS_SHORT",
                              idAus =  "hm-rpc.1.CUX4000001.2.PRESS_SHORT";
                          var idSchalter = "javascript.0.Schalter"; // Instanz anpassen
                          
                          createState(idSchalter, false, {
                              type: "boolean",
                              name: "Intertechno schalten",
                              desc: "Variable, um mit VIS zu schalten"
                          });
                          
                          // Variable setzt Intertechno
                          on(idSchalter, function (obj) {
                              if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen
                              else setState(idAus, false, false);
                          });
                          
                          // Intertechno setzt Variable (falls Intertechno woanders geschaltet wird)
                          on(id: idEin, val: true, function(obj) {
                              setState(idSchalter, true);
                              log('intertechno wurde eingeschaltet");
                          });
                          on(id: idAus, val: true, function(obj) {
                              setState(idSchalter, false);
                              log('intertechno wurde ausgeschaltet");
                          });
                          
                          

                          Im Widget dann die id javascript.0.Schalter angeben

                          Ob ack zu setzen nötig ist, habe ich nicht getestet.

                          Frage: Was passiert, wenn man die (vermutlich) CUxD Datenpunkte auf false setzt?

                          Gruß

                          Pix

                          1 Reply Last reply Reply Quote 0
                          • J
                            jensus11 last edited by

                            Wenn man die CuXD states ändert wird die Steckdose auch geschaltet. Aber nur bei der Änderung auf false, ändert man danach auf true passiert nix mehr.

                            1 Reply Last reply Reply Quote 0
                            • J
                              jensus11 last edited by

                              Ich habe jetzt das Script angelegt.

                              Es wird dieses rote Kreuz angezeigt und die Meldung kommt.
                              1024_bildschirmfoto_2017-01-09_um_19.22.45.png

                              Ein Objekt habe ich auch angelegt.

                              Wenn ich ein Bulb on/off Widget in Vis erstelle und da Javascript.0.Schalter auswähle wird der Status im Objekt auch geändert.

                              Nur die Steckdose schaltet nicht.
                              1024_bildschirmfoto_2017-01-09_um_19.24.43.png

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

                                > on(****{****id: idEin, val: true****}****, function (obj) {

                                1 Reply Last reply Reply Quote 0
                                • J
                                  jensus11 last edited by

                                  1024_bildschirmfoto_2017-01-09_um_20.02.10.png

                                  jetzt sieht es so aus.

                                  1 Reply Last reply Reply Quote 0
                                  • J
                                    jensus11 last edited by

                                    So jetzt klappt es. Echt klasse! Danke dafür.

                                    var idEin = "hm-rpc.1.CUX4000001.1.PRESS_SHORT",
                                        idAus =  "hm-rpc.1.CUX4000001.2.PRESS_SHORT";
                                    var idSchalter = "javascript.0.Schalter"; // Instanz anpassen
                                    
                                    createState(idSchalter, false, {
                                        type: "boolean",
                                        name: "Intertechno schalten",
                                        desc: "1999"
                                    });
                                    
                                    // Variable setzt Intertechno
                                    on(idSchalter, function (obj) {
                                        if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen
                                        else setState(idAus, false, false);
                                    });
                                    
                                    // Intertechno setzt Variable (falls Intertechno woanders geschaltet wird)
                                    on(idEin, val= true, function (obj) {
                                        setState(idSchalter, true);
                                        log("intertechno wurde eingeschaltet");
                                    });
                                    on(idAus, val= true, function(obj) {
                                        setState(idSchalter, false);
                                        log("intertechno wurde ausgeschaltet");
                                    });
                                    
                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      schubi82 last edited by

                                      Hallo zusammen,

                                      vorweg, ich kenne mich nicht wirklich mit Skripten aus, ist auch mein erster Versuch in VIS etwas zu realisieren. Habe aber versucht es wie hier erläutert zu übernehmen. Leider passiert nichts, wenn ich auf den Schalter drücke. Ein Objekt habe ich angelegt und im Widget auch ausgewählt…

                                      Hier der Inhalt meines Skripts:

                                      var idEin = "hm-rpc.1.CUX4000002.1.PRESS_SHORT",
                                          idAus =  "hm-rpc.1.CUX4000002.2.PRESS_SHORT";
                                      var idSchalter = "hm-rpc.1.CUX4000002.Intertechno_schalten"; // Instanz anpassen
                                      
                                      createState(idSchalter, false, {
                                          type: "boolean",
                                          name: "Intertechno schalten",
                                          desc: "1999"
                                      });
                                      
                                      // Variable setzt Intertechno
                                      on(idSchalter, function (obj) {
                                          if (obj.state.val) setState(idEin, true, false); // ack false = Wert setzen
                                          else setState(idAus, false, false);
                                      });
                                      
                                      // Intertechno setzt Variable (falls Intertechno woanders geschaltet wird)
                                      on(idEin, val= true, function (obj) {
                                          setState(idSchalter, true);
                                          log("intertechno wurde eingeschaltet");
                                      });
                                      on(idAus, val= true, function(obj) {
                                          setState(idSchalter, false);
                                          log("intertechno wurde ausgeschaltet");
                                      });
                                      

                                      Im Anhang noch die Screenshots. Was mache ich falsch? Über Homematic kann ich die Dosen schalten.

                                      Viele Grüße

                                      geändert: Code in Code-Tags; Homoran (Mod)
                                      1964_objekt.jpg
                                      1964_vis.jpg

                                      1 Reply Last reply Reply Quote 0
                                      • Y
                                        ykuendig last edited by

                                        Warum hast Du die dritte Zeile verändert? Gem. Muster war das doch ein 'lokaler' Datenpunkt im JavaScript Adapter.

                                        Und heissen Deine PRESS_SHORT Ziele zufällig gleich wie die des Kollegen weiter oben?

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

                                          Ja, die PRESS_SHORT-Adresse ist gleich 🙂

                                          Ich dachte in die dritte Zeile muss die Adresse rein, wo ich das Objekt erstellt habe!? Und das hab ich unter hm-rpc-1 gemacht… Aber wenn ich Dich richtig verstehe, muss das gar nicht darunter, sondern unter dem JavaScrip Adapter, den ich gar nicht installiert habe, erstellt werden!? Dann ist das wohl der Fehler, ich habe das Skript einfach nur im Widget unter "Skripte" eingetragen.

                                          Brauch ich den Javascript/Coffescript Engine-Adapter?

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

                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          738
                                          Online

                                          32.1k
                                          Users

                                          80.6k
                                          Topics

                                          1.3m
                                          Posts

                                          8
                                          19
                                          6244
                                          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