Hallo zusammen,
ich scheitere gerade an einer vermutlich machbaren Aufgabe und wäre für ein bisschen externes Hirnschmalz dankbar:
Ich habe ein CALVIEW-Device cview_test, das im Reading "today_001_btime" den Startzeitpunkt des nächsten Termins stehen hat. Ausgehend davon möchte ich nun mit einem DOIF 15 Minuten vorher eine Aktion auslösen.
Irgendwie krieg ich das nicht hin :-(
Hi,
ich würde ja nicht den Umweg über Calview und einer DOIF Logik machen, sondern einfach eine Alarmzeit setzen. Zumindest ist das mein logisches Verständnis bei der Verwendung von Kalendern.
Du kannst mit einem notify (oder von mir aus auch mit einem DOIF) direkt auf den Alarm Event vom Calendar Device reagieren. Calview ist dafür mMn ungeeignet - wie der Name schon sagt: Zum Anschauen ...
Gruß Otto
Hallo Otto,
Alarmzeit setzen geht hier leider nicht, weil ich den Kalender selber nur importiert habe und die Termine damit nicht bearbeiten kann.
Aber kaum hab ich es geschrieben, schon bin ich in der DOIF-commandref doch noch auf den passenden Hinweis gestoßen - ich muss noch ein bisschen probieren, aber der Erfolg ist nah - ich spüre es ;-)
(Übrigens geht's um den Spielplan von ratiopharm ulm in der BBL - ich will rechtzeitig vor Spielbeginn die passende Beleuchtung einstellen!)
Aber natürlich kannst Du selbst Alarmzeiten setzen, auch wenn sie in dem importierten Kalender nicht drin sind:
attr TestKalender onCreateEvent { $e->{alarm}= $e->{start}-3600 if($e->{summary} =~ m/Sprechstunde/i)}
Im Klartext:
Falls im Termin Sprechstunde drin steht mache einen Alarm eine Stunde vorm Termin.
Details zu onCreateEvent sollten in der Doku stehen :)
Hallo Otto,
again what learned - Danke :D
Das sieht auch ziemlich elegant aus - schaue ich mir bei Gelegenheit an; das kann ich bestimmt mal brauchen...
Ich hab' inzwischen die Variante wie ursprünglich angedacht nun doch hinbekommen. Damit bin ich prinzipiell flexibler bei dem, was ich vorhabe, wenn ich alles vom tatsächlichen Startzeitpunkt ableiten kann (z.B. 15 Minuten vorher Effektbeleuchtungen an, 5 Minuten vorher Lichter dimmen, <andere Spielereien, die mir noch einfallen>, ....)
So sieht's jetzt aus bei mir:
defmod di_caltest DOIF ([([cview_caltest:today_001_btime]-[00:15])]) (set 12DL1 on)