NEWS
HM-RPC Tasterschnittstelle HM-PBI-4-FM langer Tastendruck
-
Ja wahnsinn...wieder etwas gelernt. Vielen Dank! Zeitstempel aktualisieren sich.
Aber welchen Wert nutze ich denn jetzt am schlausten als Trigger für lange/kurze Tastendrücke? Klar ich kann auf "press_long"/"press_short" abfragen und erhalte bei Druck ein true zurück - aber ein Zeitstempel wäre schon schicker, da ich prüfen kann ob der alte Wert ungleich dem neuen Wert ist, sprich ob es tatsächlich einen erneuten Tastendruck gab.
-
@gammler2003 sagte:
Trigger für lange/kurze Tastendrücke?
Ein Trigger, der keine Wertänderung voraussetzt, triggert bei Aktualisierung des Zeitstempels:
on({id: 'xxx.PRESS_SHORT'}, function() {}); // oder on({id: 'xxx.PRESS_SHORT', val: true}, function() {});
Der Zeitstempel wird nur bei Tastendruck aktualisiert.
-
Du hast mir wirklich sehr geholfen - herzlichen Dank.
Nur mal noch so aus Neugier, in wiefern unterscheiden sich diese beiden Varianten?Die Hilfe aus dem Forum ist allgemein sehr wertvoll und ich würde mich gerne revanchieren - weiß nur noch nicht genau wie
-
@gammler2003 sagte:
in wiefern unterscheiden sich diese beiden Varianten?
Bezogen auf den HM-Taster: In der Wirkung kein Unterschied.
Ansonsten: Im ersten Fall wird bei jeder Zustandsänderung getriggert, im 2. Fall nur, wenn der Wert true ist. -
Prima, vielen Dank dir.
Ich habe festgestellt, dass der Trigger "Press_Cont" bei gedrückter Taste so häufig triggert, dass mein Hue-Adapter bzw. die Bridge nicht mitkommt und so das Dimmen nicht zuverlässig funktioniert.
Gibt es die Möglichkeit, den Trigger
on({id: 'xxx.PRESS_SHORT', val: true}, function() {});
so zu erweitern, dass er beispielsweise pro Sekunde nur einmal triggert oder auch nur bei jedem 5. Trigger tatsächlich auslöst?
-
@gammler2003 sagte:
Trigger "Press_Cont" bei gedrückter Taste so häufig triggert
Ja, er triggert alle 250 ms.
@gammler2003 sagte in HM-RPC Tasterschnittstelle HM-PBI-4-FM langer Tastendruck:
pro Sekunde nur einmal triggert oder auch nur bei jedem 5. Trigger tatsächlich auslöst?
Das ist nicht möglich. Aber man kann eine Zähl-Variable verwenden, mit der nur bei jedem 4. Trigger-Ereignis der Dimm-Wert verändert wird.
Alternative: Intervall, das mit PRESS_LONG gestartet und mit PRESS_LONG_RELEASE gestoppt wird. -
Hallo zusammen,
anderes HM-Gerät - ähnliche Problematik.
Bei meinem neuen HmIP-FCI1 kann ich in den Objekten die Trigger "PRESS_LONG" und "PRESS_SHORT" auslesen. Kann das Gerät auch, analog dem HM-PBI-4-FM", die Trigger "PRESS_LONG_RELEASE" und "PRESS_CONT" auslesen? Falls ja, wie bringe ich es dazu
Vielen Dank euch vorab!
-
@gammler2003 sagte:
HmIP-FCI1 kann ich in den Objekten die Trigger "PRESS_LONG" und "PRESS_SHORT" auslesen
HmIP-Taster funktionieren anders als HM-Taster.
-
@paul53 genial, danke!
Hast du zufällig eine Idee, wie ich den Press_Long_Release erzeugen/simulieren kann? Das habe ich an meinem HM-Taster genutzt, um die Dimmrichtung (heller/dunkler) zu ändern.
-
@gammler2003 sagte:
Press_Long_Release erzeugen/simulieren kann?
Timeout von 300...400 ms, der vorher bei jedem Trigger-Ereignis gestoppt wird. Wenn der Timer dann abläuft, ist PRESS_LONG_RELEASED erreicht.
-
Klingt logisch, aber so ganz bekomme ich es von der Reihenfolge nicht hin. Vielleicht verstehe ich dann die Timer endlich mal
on({id: '<<trigger>>"}, function() { clearTimeout(timer); var timer = setTimeout ( function () { console.log("Feuer"); }, 400 ); });
-
@gammler2003
Deklariere die Timer-Variable mal global.const trigger = '...PRESS_LONG'; var timer = null; on({id: trigger}, function() { clearTimeout(timer); timer = setTimeout (function () { log("Feuer"); }, 400); });