Moin moin,
ich würde gern mit einen Befehl genau 30 Sekunden nach "sunset" ausführen und frage mich gerade ob, bzw. wie das geht.
Hintergrund:
ich fahre meine Rollläden mit
define a_Rollo_Runter at *{sunset("HORIZON=-3")} set d_RZ1 on;;sleep 1;;set d_RZ2 on;;sleep 1;;set d_RZ1 on;;sleep 1;;set d_RZ2 on
attr a_Rollo_Runter room Rollos
zum Sonnenuntergang herunter. Das funktioniert auch wunderbar.
Nun würde ich gerne zwei Rollläden auf "Lücke" fahren nachdem erstmal alle herunter gefahren wurden. Was so in etwa nach 30 Sekunden der Fall ist.
define a_Rollo_Luecke at *{sunset("HORIZON=-3")+30} set R_F3,R_SZ on;;sleep 4;;set R_F3,R_SZ stop
bringt leider nicht den gewünschten Erfolg, sondern nur die Antwort: 'the function "sunset("HORIZON=-3")+30" must return a timespec and not 52.'
Jetzt könnte ich natürlich mit
define a_Rollo_Luecke at *{sunset("HORIZON=-3.1")} set R_F3,R_SZ on;;sleep 4;;set R_F3,R_SZ stop
einen ähnlichen Effekt erreichen. Allerdings wird sich der zeitliche Abstand(zur Zeit etwa 60 Sekunden) im Laufe der Zeit verringern, wenn sich der Stand der Sonne schneller ändert. Daher ist das nicht ganz optimal.
Aber eventuell gibt es ja die Möglichkeit "sunset plus 30 Sekunden" zu formulieren. (?) ich hatte zwar schon versucht über die Suche etwas zu finden, aber bisher leider ohne Erfolg.
VG Daniel
Hallo Daniel,
die Doku gibt wie immer Auskunft:
Zitataltitude
Eine der folgenden Zeichenketten, die unterschiedliche Höhenwinkel h definieren und den Wert von $defaultaltit verändern.
Erlaubte Werte sind:
REAL, h = 0°,
CIVIL, h = -6°,
NAUTIC, h = -12°,
ASTRONOMIC, h = -18°,
oder HORIZON=, gefolgt von einer positiven oder negativen Zahl ohn Gradzeichen, die einen Höhenwinkel angibt.
offset
Offset in Sekunden, der zu dem Rückgabewert der Funktion addiert wird.
isday() ignoriert diesen Wert.
Also
{sunset("HORIZON=-3",30)}
Gruß Otto
Zitat von: Otto123 am 17 Juli 2018, 19:49:52
die Doku gibt wie immer Auskunft:Also
Welcher Anfänger liest schon Doku? Es ist doch einfacher, zum 728. Mal die gleiche Frage zu stellen und die Leute damit zu nerven...
PERFEKT! Genau so.... Das war genau das, was ich gesucht habe. Herzlichen Dank, Otto!
So sieht der Befehl nun aus:
define a_Rollo_Luecke at *{sunset("HORIZON=-3",30)} {if(Value("summerTime") eq "on") {fhem("set R_F3,R_SZ off;;sleep 6;;set R_F3,R_SZ stop")}}
Aus der Doku, bin ich an der Stelle nicht ganz schlau geworden, was aber eher an mir gelegen haben wird. Herzlichen Dank nochmal!
Zitat von: betateilchen am 17 Juli 2018, 20:19:58
Welcher Anfänger liest schon Doku? Es ist doch einfacher, zum 728. Mal die gleiche Frage zu stellen und die Leute damit zu nerven...
Ja, sorry. Aber leider hatte mich die Suche nicht weiter gebracht und auch an der Doku war ich gescheitert. Das Problem dabei ist auch eindeutig bei mir und meiner Auffassungsgabe zu suchen. Daher nochmal in aller Form: Entschuldigt bitte. :-\