Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Visualisierung
  4. Welches Schalter Widget für unterschiedliche An-Aus Befehl

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.2k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    949

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Welches Schalter Widget für unterschiedliche An-Aus Befehl

Geplant Angeheftet Gesperrt Verschoben Visualisierung
19 Beiträge 8 Kommentatoren 6.5k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • J Offline
    J Offline
    jensus11
    schrieb am zuletzt editiert von
    #10

    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 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #11

      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

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        jensus11
        schrieb am zuletzt editiert von
        #12

        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 Antwort Letzte Antwort
        0
        • J Offline
          J Offline
          jensus11
          schrieb am zuletzt editiert von
          #13

          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 Antwort Letzte Antwort
          0
          • BluefoxB Offline
            BluefoxB Offline
            Bluefox
            schrieb am zuletzt editiert von
            #14

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

            1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              jensus11
              schrieb am zuletzt editiert von
              #15

              1024_bildschirmfoto_2017-01-09_um_20.02.10.png

              jetzt sieht es so aus.

              1 Antwort Letzte Antwort
              0
              • J Offline
                J Offline
                jensus11
                schrieb am zuletzt editiert von
                #16

                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 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  schubi82
                  schrieb am zuletzt editiert von
                  #17

                  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 Antwort Letzte Antwort
                  0
                  • Y Offline
                    Y Offline
                    ykuendig
                    schrieb am zuletzt editiert von
                    #18

                    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?

                    Gruss Yves

                    1 Antwort Letzte Antwort
                    0
                    • S Offline
                      S Offline
                      schubi82
                      schrieb am zuletzt editiert von
                      #19

                      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 Antwort Letzte Antwort
                      0
                      Antworten
                      • In einem neuen Thema antworten
                      Anmelden zum Antworten
                      • Älteste zuerst
                      • Neuste zuerst
                      • Meiste Stimmen


                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      643

                      Online

                      32.6k

                      Benutzer

                      82.2k

                      Themen

                      1.3m

                      Beiträge
                      Community
                      Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                      ioBroker Community 2014-2025
                      logo
                      • Anmelden

                      • Du hast noch kein Konto? Registrieren

                      • Anmelden oder registrieren, um zu suchen
                      • Erster Beitrag
                        Letzter Beitrag
                      0
                      • Home
                      • Aktuell
                      • Tags
                      • Ungelesen 0
                      • Kategorien
                      • Unreplied
                      • Beliebt
                      • GitHub
                      • Docu
                      • Hilfe