NEWS
Klingel über Homematic / iobroker
-
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 !!!
-
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 -
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
-
Das wurde hier in
ä
hnlicher Form schon behandelt. -
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!"); } }
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden
