Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Klingel über Homematic / iobroker

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

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

    • Wir empfehlen: Node.js 22.x

    Klingel über Homematic / iobroker

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

      Hallo,

      ich habe meine Türklingel über eine Homematic Tasterschnittstelle realisiert!

      Wird der Kontakt geschlossen, spielt iobroker (Blockly) eine Gong mp3 ab! Das klappt auch schon lange sehr gut!

      Allerdings wird für jedes Drücken natürlich die mp3 nochmal abgespielt, obwohl die erste noch nicht zu Ende ist!

      Bei hektischen Klinglern kann das schonmal nerven, da man dann nur noch "Audiosalat" hört!

      Was wäre die geschickteste Lösung die erneute Ausführung des Skriptes für eine gewisse Zeit (Dauer der mp3) zu verhindern. Natürlich sollten andere Prozesse dadurch nicht verzögert werden!

      Ich bin ja sicher nicht der erste, der das so realisiert hat!

      Danke !!!

      1 Reply Last reply Reply Quote 0
      • K
        knopers1 last edited by

        zeigt doch erst dein Script, da lässt sich garntiert etwas basteln…

        1 Reply Last reply Reply Quote 0
        • Dutchman
          Dutchman Developer Most Active Administrators last edited by

          Ich würde es mit blockly und einer Variable regeln.

          Solange mp3 läuft xxx Sekunden keine neuen Trigger acceptieren

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

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

            Ich würde es auch mit einer Variablen / einem eigenen Datenpunkt und zwei sep. Scripte machen.

            Script 1:

            Wird geklingelt, wird die Variable auf true geprüft. Ist sie false, wird die Variable auf true gesetzt.

            Über einen Timer wird sie dann wieder auf false gesetzt.

            Script 2

            Es prüft die Änderung der Variable. Geht sie auf true, wird das mp3 angespielt.

            Gruß,

            Eric

            Von unterwegs getippert

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

              Skript ist ganz simpel:

              3265_bildschirmfoto_2018-01-11_um_12.19.14.jpg

              Wie kann ich denn einfach den Trigger verzögern?

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

                Das wurde hier in ähnlicher Form schon behandelt.

                http://forum.iobroker.net/viewtopic.php?p=98472#p98472

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

                  Warum eigentlich so kompliziert. Ich habe das in einem Javascript gelöst. Wenn die Taste gedrückt wird lese ich von dem Gong den Status .STATE aus. Ist er true, dann spielt noch das MP3 und ein erneuter Tastendruck wird ignoriert.

                  createState('wohnung.klingel.gedrueckt', false);
                  createState('wohnung.klingel.aktiviert', true);
                  
                  /*Klingel*/
                  subscribe({id: whgKlingelSwitchShort, val:true}, function (obj) {
                      klingelGedrueckt();
                  });
                  
                  subscribe({id: whgKlingelSwitchLong, val:true}, function (obj) {
                      klingelGedrueckt();
                  });
                  
                  function klingelGedrueckt() {
                      var klingel=getState('javascript.0.wohnung.klingel.aktiviert').val;		//Prüfen ob Klingel aktiviert oder nicht
                      var klingelState=getState(whgKlingel).val;  						//whgKlingel = Gong.STATE
                  
                      if ((klingel===true) && (klingelState===false)){
                          setState(whgKlingelSettings,"1,1,108000,0");
                          setState(whgKlingel,true);
                          sendTo("pushover", "Klingel gedrückt!");    
                      }
                  }
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • First post
                    Last post

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  631
                  Online

                  32.1k
                  Users

                  80.7k
                  Topics

                  1.3m
                  Posts

                  6
                  7
                  1437
                  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