diff --git a/fhem/CHANGED b/fhem/CHANGED index 22f3627fc..1b09d2884 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: 57_Calendar: deal with non-existent end times - bugfix: SOMFY: fix non-working on/off-for-timer methods made positioning attributes optional - feature: SOMFY: support for exact positioning (one-time setup of run times required) diff --git a/fhem/FHEM/57_Calendar.pm b/fhem/FHEM/57_Calendar.pm index 8b10800a9..f999e7677 100644 --- a/fhem/FHEM/57_Calendar.pm +++ b/fhem/FHEM/57_Calendar.pm @@ -622,12 +622,18 @@ sub isAlarmed { sub isStarted { my ($self,$t) = @_; return 0 if($self->isDeleted()); - return $self->{start}<= $t && $t< $self->{end} ? 1 : 0; + return 0 unless(defined($self->{start})); + return 0 if($t < $self->{start}); + if(defined($self->{end})) { + return 0 if($t>= $self->{end}); + } + return 1; } sub isEnded { my ($self,$t) = @_; return 0 if($self->isDeleted()); + return 0 unless(defined($self->{end})); return $self->{end}<= $t ? 1 : 0; }