Lampe zeitverzögert schalten
Verfasst: 16. Mär 2019 11:27
Hallo, ich will eine Lampe zeitverzögert schalten. Wenn ich in der Sitemap den Schalter betätige, soll Openhab ein paar Sekunden warten und dann erst die Lampe schalten. Der Schalter ist dabei ein Sonoff Pow, der über mqtt eingebunden ist.
Meine Sitemap sieht folgendermaßen aus:
Mein Item dazu :
Das manuelle schalten funktioniert einwandfrei. Jetzt kommt aber das Problem: I
Ich schaffe es ganz einfach nicht, dass ich mit der Regel folgenden Ablauf erreicht:
1. Gibt den Befehl schalte ein.
2. Warte 3 Sekunden.
3. Schalte tatsächlich die Lampe ein
Könnt ihr mir sagen, wie die Regel aussehen muss, um mein Ziel zu erreichen ?
Zudem habe ich gelernt, dass es 3 Möglichkeiten einer Zeitverzögerung gibt:
a) über Thread::sleep(xxx)
b) über createTimer(now.plusSeconds(5)
c) über die Definition einer Variablen z.B var Timer
Auch davon habe ich keine Ahnung, wann ich was einsetzen soll und was der Unterschied ist.
Ich hoffe, ihr könnt mir einen Tip geben, wie ich meine Zeitverzögerung realisieren soll.
Mit freundlichen Grüßen
Konrad
Meine Sitemap sieht folgendermaßen aus:
Code: Alles auswählen
Switch item=Sonoff_P1_Schalter mappings=["ON"="EIN", "OFF"="AUS"]
Code: Alles auswählen
Switch Sonoff_P1_Schalter "Testlampe" <light> (gLampen_Wohnzimmer) ["Switchable"] { channel="mqtt:topic:mosquitto:Sonoff_P1:Sonoff_P1_Power" }
Ich schaffe es ganz einfach nicht, dass ich mit der Regel folgenden Ablauf erreicht:
1. Gibt den Befehl schalte ein.
2. Warte 3 Sekunden.
3. Schalte tatsächlich die Lampe ein
Könnt ihr mir sagen, wie die Regel aussehen muss, um mein Ziel zu erreichen ?
Zudem habe ich gelernt, dass es 3 Möglichkeiten einer Zeitverzögerung gibt:
a) über Thread::sleep(xxx)
b) über createTimer(now.plusSeconds(5)
c) über die Definition einer Variablen z.B var Timer
Auch davon habe ich keine Ahnung, wann ich was einsetzen soll und was der Unterschied ist.
Ich hoffe, ihr könnt mir einen Tip geben, wie ich meine Zeitverzögerung realisieren soll.
Mit freundlichen Grüßen
Konrad