Moin zusammen,
Ich möchte eine Doppelklickfunktion für einen Homematic-Taster bauen. Da bin ich Dank Forenhilfe schon ein Stück weit auf dem Weg wo ich hin wollte, stecke aber schon wieder fest :-[
Wenn ein Tastendruck aufschlägt, will ich den Zeitpunkt in Form eine Unix-Zeitstempels in ein Dummy schreiben, wenn dieser größer 3 (Sekunden) vom Dummywert weg ist. Ist es kleiner 3 (Sekunden), so will ich meine Aktion ausführen. Hier mal mein DOIF, in dem ich jetzt ein paar Tests eingebaut habe:define du_Doppelklick1 DOIF
([HM_FB_K1B:state] eq "HM_FB_K1B_Bt1 Short" and [?du_Doppelklick1:state:d]>{(int(time)-4)})
(set du_Testlicht aus{(int(time)-4)}-[du_Doppelklick1:state])
DOELSE
(set du_Doppelklick1 {(int(time))})
Es wird immer cmd1 ausgeführt, obwohl ich in meinemTestdummy sehe, dass es eigentlich anders herum ist.
ratlose Grüße
Niels
Wow, kaum postet man das, findet man wohl die Lösung hier: https://forum.fhem.de/index.php/topic,42264.0.html
Den Merksatz von Damian muss ich noch mal in Ruhe genießen:
Zitat von: Damian am 15 Oktober 2015, 08:59:35
Die Syntax war vom Anfang an so und nicht anders.
Man kann sagen:
In der Bedingung:
ist 100 % Perl mit etwas DOIF-Spezifischem in eckigen Klammern und 0 % FHEM-Befehle
Im Ausführungsteil:
sind 100 % FHEM-Befehle mit etwas DOIF-Spezifischem in eckigen Klammern und
100 % Perl in geschweiften Klammern mit etwas DOIF-Spezifischem in eckigen Klammern.
lernfähige Grüße
Niels