FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: ts am 07 Dezember 2014, 21:27:18

Titel: Anfänger stolpert über Programmierung... -doppelklick in FHEM erkennen
Beitrag von: ts am 07 Dezember 2014, 21:27:18
Hallo,

mein derzeitiges FHEM-Projekt ist das Ausschalten aller Kellerlampen per Doppeldruck auf den Taster oben an der Treppe, der bis heute Mittag das Treppenlicht (Impulsschaltung) geschaltet hat.

Das Stromstossrelais ist nun durch einen Fibaro FGS221 ersetzt (z-Wave, sowas ähnliches gibts vermutlich auch für andere Funksysteme, ist hier wohl auch fast egal) und funktioniert soweit.

Nun kann man FHEM erkennen lassen, wenn jemand auf den Taster drückt und Keller_Flur geschaltet wird. Aufgrund dieses Ereignisses möchte ich per notify dann {fhem("set Keller_1 off");fhem("set Keller_2 off");...} ausführen,
ABER: erst, wenn innerhalb einer Sekunde ein weiterer Schaltvorgang erfolgt ist (also der Schaltzustand sich wieder geändert hat)

Wie geht sowas (also die Zeitschranke)? Kann ich auch 0,5 s ansetzen?

Bin grade irgendwie begriffstuzig - ich vermute, ein schachtel-at wie im Handbuch wird wohl sein, aber wie genau?

Danke für Eure Hilfe und Geduld

Torsten
Titel: Antw:Anfänger stolpert über Programmierung... -doppelklick in FHEM erkennen
Beitrag von: kaihs am 07 Dezember 2014, 21:30:19
http://fhem.de/commandref_DE.html#sequence (http://fhem.de/commandref_DE.html#sequence)?
Titel: Antw:Anfänger stolpert über Programmierung... -doppelklick in FHEM erkennen
Beitrag von: ts am 07 Dezember 2014, 22:41:12
Hallo Kaihs,

...na sowas. Hatte keine Ahnung, dass es das fertig gibt.

Hatte gerade nen Abend hinter mir mit nem "define Kelleraus notify define X1 at +00:00:01 {...}" - aber das ist grandios gescheitert, weil er diesen notify auch beim zweiten Kick neu aufruft, über den schon existierenden X1 stolpert und dann abbricht.
Und den X1 getrennt zu definieren ud mit notify zu triggern war auch irgendwie nix. Und alles ordentlich in eine verschachtelte-Perl-ruft-fhem-ruft-perl-ruft-fhem-Struktur zu packen scheiterte an den verschachtelten Anführungsstrichen...

Na gut - Danke!!!!! - mit sequqnce gehts sofort (nach nem vergessenen Gänsefüsschen nach der letzten fhem("set...off"); jedenfalls)

Schönen Abend noch

Torsten