on-for-timer vor Ablauf erneut triggern ?

Begonnen von Frank84, 20 November 2023, 09:53:24

Vorheriges Thema - Nächstes Thema

Frank84

Hallo,

gibt es eine Möglichkeit, einen laufenden "on-for-timer" während der Laufzeit erneut zu starten ?

Aktuell habe ich eine Aussenlampe über einen Bewegungsmelder mit Shelly angesteuert:

Shelly1_Lampe:input0:.1 {if (!isday()) {fhem("set Shelly1_Lampe on-for-timer 60")} }
Problem:
Der PIR-Kontakt wird bei Bewegung für ca. 3-4s gehalten. Wenn nun die Lampe ausgeht gibt es Momente, in welchen dann nicht erneut getrigget wird da PIR=1 ist, erst nachdem PIR=0 und eine erneute Bewegung folgt, geht die Lampe wieder an.


betateilchen

Es kommt darauf an, wie das on-for-timer umgesetzt ist. Es gibt deviceTypes, bei denen das in der Hardware implementiert ist (z.B. Homematic) und andere, bei denen das per SetExtensions umgesetzt ist. Bei Hardware-Timern kann man jederzeit ein neues "set" schicken und der Timer beginnt von vorne. Ob das bei den SetExtensions auch funktioniert, habe ich jetzt nicht getestet.

Den Zeitablauf in Deinem Szenario habe ich noch nicht verstanden.

Zeitpunkt 1              : (input0:.1) Bewegung erkannt, Lampe geht für 60 Sekunden an
Zeitpunkt 1 + 60 Sekunden:             keine Bewegung erkannt, Lampe geht aus.

Wo genau kommen die 3-4 Sekunden ins Spiel?

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

betateilchen

Zitat von: betateilchen am 20 November 2023, 13:17:24Ob das bei den SetExtensions auch funktioniert, habe ich jetzt nicht getestet.

Ich habe das gerade mit einem Shelly getestet. Funktioniert einwandfrei.

defmod testAt at +*{5}00:00:04 set wz_Licht_Schreibtisch on-for-timer 5
Das Licht bleibt wird nach 4 Sekunden eingeschaltet und dann noch 4 Mal nachgetriggert, ohne zwischendurch auszugehen. Also kann man einfach während der Laufzeit ein neues "set ... on-for-timer" nachschicken, das dann wieder von vorn beginnt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Frank84

Ok, ich muss wohl dazuschreiben, dass es sich um ein NOTIFY handelt, bei dem ich auf den Input triggere

betateilchen

musst Du nicht dazuschreiben, das war aus Deiner Fragestellung schon klar - aber welche Relevanz hat das auf die Frage, ob man ein on-for-timer vor Ablauf neu triggern kann?
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!