@zuldero Es ist nicht nur übersichtlicher, sondern spart auch Speicher und Prozessorleistung. Sieh dir nur den exportierten Code an - der hat nicht einmal halb so viele Zeilen.
Und du solltest, wie in meinem Beispiel oben gezeigt, vor dem Start von 'timeouts' diese immer stoppen. Andernfalls können diese mehrfach gestartet werden und dann ergeben sich zeitversetzt die komischsten Ereignisse.
Den 'on'-Befehl kannst du ruhigen Gewissens mehrfach senden. Wenn die Lampe schon an ist, wird der Befehl einfach ignoriert.