From 01d0dc97cabf9721228d612b9af4bff6fd5b7777 Mon Sep 17 00:00:00 2001 From: borisneubert <> Date: Sat, 1 Sep 2012 17:29:04 +0000 Subject: [PATCH] Calendar now creates extra events for every changed calendar events (changed: UID mode) git-svn-id: https://svn.fhem.de/fhem/trunk@1826 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/57_Calendar.pm | 5 ++++- fhem/docs/commandref.html | 5 +++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/57_Calendar.pm b/fhem/FHEM/57_Calendar.pm index 9ae2d9735..03900883b 100644 --- a/fhem/FHEM/57_Calendar.pm +++ b/fhem/FHEM/57_Calendar.pm @@ -639,6 +639,7 @@ sub Calendar_CheckTimes($) { foreach $event (@endedevents) { $event->setMode("end"); } my @changedevents= grep { $_->modeChanged() } @allevents; + my @upcoming= sort map { $_->uid() } @upcomingevents; my @alarm= sort map { $_->uid() } @alarmedevents; @@ -649,7 +650,9 @@ sub Calendar_CheckTimes($) { my @ended= sort map { $_->uid() } grep { $_->modeChanged() } @endedevents; my @changed= sort map { $_->uid() } @changedevents; - readingsBeginUpdate($hash); + readingsBeginUpdate($hash); # clears all events in CHANGED, thus must be called first + # we create one fhem event for one changed calendar event + map { addEvent($hash, "changed: " . $_->uid() . " " . $_->mode() ); } @changedevents; readingsUpdate($hash, "lastCheck", $hash->{fhem}{lastCheck}); readingsUpdate($hash, "modeUpcoming", join(";", @upcoming)); readingsUpdate($hash, "modeAlarm", join(";", @alarm)); diff --git a/fhem/docs/commandref.html b/fhem/docs/commandref.html index ed4446d7b..5e3a6770b 100644 --- a/fhem/docs/commandref.html +++ b/fhem/docs/commandref.html @@ -1507,6 +1507,11 @@ A line ending with \ will be concatenated with the next one, so long lines

+ + When a calendar event has changed, an event is created in the form + changed: UID mode with mode being the current mode the calendar event is in after the change. + +

Usage scenarios