FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Michael P. am 18 September 2019, 15:03:16

Titel: Gelöst: Kalender und spätere Events
Beitrag von: Michael P. am 18 September 2019, 15:03:16
Moinsen :-)

kurz zum Hintergrund: mittels DOIF habe ich die Weckzeiten unserer Kids "automatisiert", in Abhängigkeit von Uhrzeit und Helligkeit wird entweder zum Zeitpunkt X das Rollo hochgefahren oder das Licht leicht angedimmt und dann um Zeitpunkt X+15Minuten nochmal geschaut ob es hell genug ist und das Rollo jetzt hoch kann oder das Licht in voller Pracht angemacht werden muss.

([?DUMMY_Hausallein] eq "nein" and [06:15|8] and [TL:Helligkeit] < 55 and [?DUMMY_Urlaub] eq "nein" and [?DUMMY_Ferien] eq "nein" ) ( set OG_LI_KIRA_dim 45 )
DOELSEIF ([?DUMMY_Hausallein] eq "nein" and [06:15|8] and [TL:Helligkeit] > 54 and [?DUMMY_Urlaub] eq "nein" and [?DUMMY_Ferien] eq "nein" ) ( set ROLL_KIRA Oben )
DOELSEIF ([?DUMMY_Hausallein] eq "nein" and [06:30|8] and [TL:Helligkeit] > 64 and [?DUMMY_Urlaub] eq "nein" and [?DUMMY_Ferien] eq "nein" ) ( set ROLL_KIRA Oben )
DOELSEIF ([?DUMMY_Hausallein] eq "nein" and [06:30|8] and [TL:Helligkeit] < 65 and [?DUMMY_Urlaub] eq "nein" and [?DUMMY_Ferien] eq "nein" ) ( set OG_LI_KIRA_Bett on,set OG_LI_KIRA_dim 95 )


Dummerweise kommt nun das Alter, wo morgens nicht immer zur selben Zeit die Schule startet sondern auch mal zur 3.Stunde der Spaß losgeht - die Damen also länger schlafen wollen ;)  Idee war nun, das ich den ersten Wecktermin mir per Kalendermodul eintrage und die Folgeaktionen per "Kalendertermin+xMinuten" ziehe. Mir fehlt aber gerade der erste Denkanstoß wie ich diese Verzögerung realisiere ... ich bin für jeden Vorschlag dankbar in welche Richtung ich mal die Commandreferenz besser lesen sollte :)

Viele Grüße - Michael
Titel: Antw:Kalender und spätere Events
Beitrag von: Damian am 18 September 2019, 18:24:08
Im DOIF kannst du mit Zeiten rechnen. Du kannst dir also eine Verzögerung in irgendeinem Reading ablegen, den du zu der angegebenen Zeit in der Definition dazuaddierst. Und das Gute ist, dass selbst wenn du eine Minute vor der eigentlichen Zeitangabe das Reading änderst, ändert sich automatisch die neu errechnete Zeit.
Titel: Antw:Kalender und spätere Events
Beitrag von: Michael P. am 24 September 2019, 18:12:43
Moinsen :-)

Danke für den Tip mit Rechnen in DOIF, ich knobele jetzt noch an der besten Lösung.
Frage: in der FHEM Referenz bin ich auf den Punkt "Zeitspanne eines Readings seit der letzten Änderung" gestoßen. Mir fiel dabei folgendes Konstrukt ein:

([DUMMY_WKUP] eq "jetzt")(set DG_LI_ArbZi Ein)
DOELSEIF (([DUMMY_WKUP:state:sec]>10) and [?DUMMY_WKUP] eq "jetzt" )(set DG_LI_ArbZi Aus)


(der Code dient einfach nur zum testen und schatlet nix sinnvolles)

Wenn DUMMY_WKUP in den Zustand "jetzt" übergeht wird auch brav das Licht im Arbeitszimmer eingeschaltet. Allerdings nach 10 Senunden nicht wieder ausgeschaltet. Hmm, wo ist mein Denkfehler ?

Viele Grüße - Michael
Titel: Antw:Kalender und spätere Events
Beitrag von: Damian am 24 September 2019, 18:17:58
Wenn [DUMMY_WKUP:state:sec] triggert, dann ist das Ergebnis 0. Es macht nur Sinn das Alter des Readings abzufragen, wenn es nicht triggert [?DUMMY_WKUP:state:sec], also brauchst du noch einen weiteren Trigger den du mit and mit deiner Abfrage verknüpft.
Titel: Antw:Kalender und spätere Events
Beitrag von: Michael P. am 24 September 2019, 18:32:26
Hi,

ahh, okay, macht Sinn. Danke !

Grüße - MiPo
Titel: Antw:Kalender und spätere Events
Beitrag von: Michael P. am 24 September 2019, 18:45:11
Also, ich habe der Einfacheit halber für das auszulösende Event einen Timer genommen. Und setze das auslösende Event nach "Benutzung" sicherheitshalber wieder zurück, damit es nicht zu Endlosschleifen kommt:

([DUMMY_WKUP] eq "jetzt")(set DG_LI_ArbZi Ein)
DOELSEIF ([DUMMY_WKUP] eq "jetzt" and [+00:01] and ([?DUMMY_WKUP:state:sec]>55))(set DG_LI_ArbZi Aus, set DUMMY_WKUP Aus)


Wenn ich das richtig verstanden habe, wird [00:01] erst dann "bemüht", wenn "DUMMY_WKUP" den Wert "jett" hat, ich hole mir damit keine sinnfreie Grundlast ins Haus, oder ?

Grüße - MiPo