diff --git a/CHANGED b/CHANGED index e8d76dfad..c4b4ffeb7 100644 --- a/CHANGED +++ b/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_SSCal: additional composite event 'compositeBlockNumbers' - change: 70_DENON_AVR: model reporting for newer AVRs - change: 57_SSCal: expand composite Event, fix API behavior if entry with 'is_all_day' is at first position diff --git a/FHEM/57_SSCal.pm b/FHEM/57_SSCal.pm index 38de5ef0a..7348ff6d5 100644 --- a/FHEM/57_SSCal.pm +++ b/FHEM/57_SSCal.pm @@ -48,6 +48,7 @@ eval "use FHEM::Meta;1" or my $modMetaAbsent = 1; # Versions History intern my %SSCal_vNotesIntern = ( + "2.2.0" => "03.03.2020 new composite event 'compositeBlockNumbers' ", "2.1.0" => "01.03.2020 expand composite Event, bugfix API if entry with 'is_all_day' and at first position in 'data' ", "2.0.0" => "28.02.2020 check in release ", "1.15.0" => "27.02.2020 fix recurrence WEEKLY by DAY, MONTHLY by MONTHDAY and BYDAY, create commandref ", @@ -2199,6 +2200,12 @@ sub SSCal_doCompositeEvents ($$$) { my ($summary,$desc,$begin,$status,$isrepeat,$id,$event); + if(@{$abnr}) { + my $nrs = join(" ", @{$abnr}); + $event = "compositeBlockNumbers: $nrs"; + CommandTrigger(undef, "$name $event"); + } + foreach my $bnr (@{$abnr}) { $summary = ReadingsVal($name, $bnr."_01_Summary", ""); $desc = ReadingsVal($name, $bnr."_03_Description", ""); @@ -2207,8 +2214,8 @@ sub SSCal_doCompositeEvents ($$$) { $isrepeat = ReadingsVal($name, $bnr."_55_isRepeatEvt", 0); $id = ReadingsVal($name, $bnr."_98_EventId", ""); - $begin =~ s/\s/T/; # Formatierung nach ISO8601 (YYYY-MM-DDTHH:MM:SS) für at-Devices - + $begin =~ s/\s/T/; # Formatierung nach ISO8601 (YYYY-MM-DDTHH:MM:SS) für at-Device + if($begin) { # einen Composite-Event erstellen wenn Beginnzeit gesetzt ist $event = "composite: $bnr $id $isrepeat $begin $status ".($desc?$desc:$summary); CommandTrigger(undef, "$name $event");