Es gibt dafür verschiedene Implementationsmöglichkeiten. Am flexibelsten ist hier immer, auch ein Skript zu verwenden.
Ich skizziere mal zwei Varianten, die jeweils ein geeignetes Skript im zusammenwirken mit zwei Schedule Jobs nutzen.
Vatriante 1
Das Skript stellt zwei Funktionen zur Verfügung, ich nenne sie sunset() und sunrise().
Diese werden per zweier Schedule Jobs mit der Methode Script.Eval aufgerufen, der eine Job ruft sunset() auf, der andere sunrise().
Einen EventHandler brauchst du zunächst nicht dazu.
sunset() und sunrise() schalten jeweils "ihre primären" Ausgänge, starten jeweils einen Timer, welcher nach 2000ms eine Funktion abarbeitet, die den anderen Ausgang passend schaltet.
Mit dieser Implementation brauchst du die von dir verdrahtete Rückkopplungen nicht.
Ein geeigneter Schedule Job kann wie folgt angelegt werden:
http://<IP Adresse Shelly>/rpc/schedule.create?timespec="@sunset * * *"&calls=[{"method":"script.eval","params":{"id":<Script Id>,"code":"sunset()"}}]
Variante 2
Du kannst selbstverständlich auch die Rückkopplungen zusammen mit einem EventHandler einsetzen.
Der EventHandler reagiert selektiv auf die Änderungen an den Eingängen wie folgt.
Er startet einen Timer, der nach 2000ms den gewünschten Ausgang ausschaltet. Die Wartezeit ist aber nur erforderlich, wenn nicht sofort nach eintreffen des Eingangsänderungs-Ereignisses geschaltet werden soll.
Die beiden Schedule Jobs brauchen dann nicht wie in Variante 1 die Methode Script.Eval sondern die Methode Switch.Set mit der Ausgangs ID und on=true.
Ein solcher Schedule Job kann wie folgt angelegt werden:
http://<IP Adresse Shelly>/rpc/schedule.create?timespec="@sunset * * *"&calls=[{"method":"switch.set","params":{"id":<Ausgangs Id>,"on":true}}]
Das Senden
Bei Variante 1 kannst du per RPC Methode die Daten anfordern und in der callback Funktion senden lassen.
Bei Variante 2 kann der EventHandler die eintreffenden Informationen senden.
In beiden Fällen sollten die Daten mit JSON.stringify(Daten) vorher in einen String umgewandelt werden.
Oder ähnlich, falls dies nicht ganz zu deinem Anliegen passen sollte.
Auch kannst du Daten regelmäßig senden lassen, wozu ein weiterer Schedule Job empfehlenswert ist ,,,
Falls du konkreteres wünschst, empfehle ich zunächst meine Skripteinführung.
Es sollte zumindest deutlich geworden sein, dass dein Anliegen implementierbar ist.
Edit:
Notfalls gelingt dein Vorhaben vermutlich auch ohne Skript und ausschließlich mit vier Schedule Jobs - zwei zum sunrise und zwei zum sunset.
zum sunrise:
Ein Job lässt bei @sunrise Ausgang 0, der andere Job (versuchsweise) bei @sunrise+2s Ausgang 1 schalten.
Damit ist aber noch kein senden von Daten verbunden. Ob dies ohne Skript brauchbar gelingen kann, vermute ich, weiß ich aber derzeit nicht.
Für die beiden @sunset(+2s) Jobs gilt entsprechendes.