NEWS
Benötige Hilfe bei KlingelScript
-
Hallo,
ich habe aktuell folgendes Script mir erschlossen.
on({id: 'doorbird.0.Doorbell.1.trigger', change: "any"}, function (obj) { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Viewname_Klingel'); setState("vis.0.control.command", 'changeView'); setTimeout(function () { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Standartview'); setState("vis.0.control.command", 'changeView'); },9000); });Nachdem meine Klingel gedrückt wurde soll soll auf einen View gewechselt werden. Und nach einer Zeit soll dann wieder zurück zu einem anderen View gewechselt werden. Das funktioniert auch alles wie es soll bis auf die Zeit. Egal welchen Wert ( z.B. 9000 oder 90000 oder 900000 ) ich am Ende eingebe der Wechsel auf den Standartview zurück geschieht immer nach circa 6 Sekunden. Ich hätte eigentlich gerne eine Zeit von 2-3 Minuten.
Was mache ich falsch ? -
Hallo,
ich habe aktuell folgendes Script mir erschlossen.
on({id: 'doorbird.0.Doorbell.1.trigger', change: "any"}, function (obj) { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Viewname_Klingel'); setState("vis.0.control.command", 'changeView'); setTimeout(function () { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Standartview'); setState("vis.0.control.command", 'changeView'); },9000); });Nachdem meine Klingel gedrückt wurde soll soll auf einen View gewechselt werden. Und nach einer Zeit soll dann wieder zurück zu einem anderen View gewechselt werden. Das funktioniert auch alles wie es soll bis auf die Zeit. Egal welchen Wert ( z.B. 9000 oder 90000 oder 900000 ) ich am Ende eingebe der Wechsel auf den Standartview zurück geschieht immer nach circa 6 Sekunden. Ich hätte eigentlich gerne eine Zeit von 2-3 Minuten.
Was mache ich falsch ? -
Hallo,
ich habe aktuell folgendes Script mir erschlossen.
on({id: 'doorbird.0.Doorbell.1.trigger', change: "any"}, function (obj) { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Viewname_Klingel'); setState("vis.0.control.command", 'changeView'); setTimeout(function () { setState("vis.0.control.instance", 'FFFFFFFF'); setState("vis.0.control.data", 'Standartview'); setState("vis.0.control.command", 'changeView'); },9000); });Nachdem meine Klingel gedrückt wurde soll soll auf einen View gewechselt werden. Und nach einer Zeit soll dann wieder zurück zu einem anderen View gewechselt werden. Das funktioniert auch alles wie es soll bis auf die Zeit. Egal welchen Wert ( z.B. 9000 oder 90000 oder 900000 ) ich am Ende eingebe der Wechsel auf den Standartview zurück geschieht immer nach circa 6 Sekunden. Ich hätte eigentlich gerne eine Zeit von 2-3 Minuten.
Was mache ich falsch ?Aktuell wird da ständig ein neuer timeout erstellt, da du ja auch Change any hast.
Dh , du löst einen timeout aus, wenn die Klingel gedrückt wird und wenn sie losgelassen wird.
Wenn dann jemand mehrfach klingelt wird es ganz wild.Du solltest prüfen, ob der Trigger true ist (damit nicht auch bei loslassen erneut ausgelöst wird), ob bereits die View eingestellt ist und ob ein timeout läuft. Wenn beides nein, dann führe aus ..
-
@backons sagte in Benötige Hilfe bei KlingelScript:
on({id: 'doorbird.0.Doorbell.1.trigger', change: "any"}, function (obj) {
Probier mal:
on({id: 'doorbird.0.Doorbell.1.trigger', change: "ne", val: true}, function (obj) {Voraussetzung natürlich ist, dass deine id true und false hat; ansonsten halt der Wert der auslösen soll.
mfg
-
Aktuell wird da ständig ein neuer timeout erstellt, da du ja auch Change any hast.
Dh , du löst einen timeout aus, wenn die Klingel gedrückt wird und wenn sie losgelassen wird.
Wenn dann jemand mehrfach klingelt wird es ganz wild.Du solltest prüfen, ob der Trigger true ist (damit nicht auch bei loslassen erneut ausgelöst wird), ob bereits die View eingestellt ist und ob ein timeout läuft. Wenn beides nein, dann führe aus ..
@tempestas oder de. Timeout global definieren und immer zuvor stop timeout aufrufen.
Ansonsten: Bekommt man die Referenz auf den getriggerten timeout?
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