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. Skripten / Logik
  4. Schalter mit zwei unterschiedlichen Zuständen

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Schalter mit zwei unterschiedlichen Zuständen

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
4 Beiträge 3 Kommentatoren 513 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.
  • A Offline
    A Offline
    andre1000
    schrieb am zuletzt editiert von
    #1

    Moin zusammen,

    ich möchte mit einem Schalter zwei unterschiedliche Zustände schalten. Einer der bei kurzem Tasten (<500ms) eingenommen, der andere, der bei längerem Drücken (>500ms) eingenommen wird.

    Bis jetzt habe ich leider keine Idee, wie ich es hinbekommen solle. Hat jemand eine Idee?

    Danke,

    André

    1 Antwort Letzte Antwort
    0
    • T Offline
      T Offline
      TonyDom
      schrieb am zuletzt editiert von
      #2

      Da ich selbst noch nicht wirklich Profi bin, muss ich sehr oft in der Verzeichnisstruktur der Objekte nachschauen, wo sich was tut, welcher Datenpunkt sich ändert, wenn ich z. B. einen Schalter betätige. Dabei erkenne ich oftmals ziemliche Latenzen, so dass ich mir nicht vorstellen kann, dass dabei ein Script zuverlässig arbeiten würde.

      Ich habe bei mir mehrere von diesen Taster verbaut. https://www.eq-3.de/produkte/homematic/ … -wm55.html

      Der hat eine Menge Datenpunkte:

      oben / unten kurz

      oben / unten lang ( Zeit einstellbar )

      oben / unten lang loslassen

      Z.B

      unten kurz schaltet das Licht in der Toilette an

      unten lang schaltet den Ventilator an und nach 10 Minuten wieder aus

      oben kurz schaltet das Licht in der Toilette aus

      oben lang schaltet den Ventilator aus

      Man braucht dafür allerdings für den o. g. Taster eine CCU. Vielleicht gibts aber einen anderen Taster, der das kann ohne CCU.

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        Jan1
        schrieb am zuletzt editiert von
        #3

        Du suchst schon mal kein Schalter sondern ein Taster. Dann gibts 2 Möglichkeiten, erstens Du nimmst den Taster den TonyDom vorgestellt hat, oder Du baust Dir ein Script, das diese Auswertung übernimmt, was im ms Bereich allerdings etwas kritisch werden dürfte.

        1 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          andre1000
          schrieb am zuletzt editiert von
          #4

          Hallo zusammen,

          habe eine Lösung gefunden (war ein Betrag über Dimmen)

          Hier mein Code:

          const idLong = "javascript.0.Signale.Flur.Taster-Haustuer-OL";
          const idLevel= "javascript.0.Zustand.EG.Licht-Schummer";
          var state;
          
          on(idLong, function(dp) {
              if (getState(idLong).val)
                  state=1;
              setTimeout(function() {         // Es wird 500ms gewartet und überprüft, ob der Taster wieder Null wird
                  if(!getState(idLong).val && state) {    //kurz gedrückt
                      setState(idLevel, 1);
                      state = 0;
                  }
                  if(getState(idLong).val && state) {    // Lang gedrückt
                      setState(idLevel, 0);
                      state = 0;
                  }
              }, 1000); 
          });
          
          

          Wohl nicht die feine Programmoiervariante, aber es funktioniert.

          André

          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

          447

          Online

          32.7k

          Benutzer

          82.3k

          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