diff --git a/fhem/CHANGED b/fhem/CHANGED
index 5c7626c3a..862bb8672 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: new attribute delay
- feature: 72_XiaomiDevice: supporting EvpHumidifier and AirPurifier3H
- remove: 98_DSBMobile: removed due to unavailability of API
- feature: 73_DoorBird: ftui image history as links
diff --git a/fhem/FHEM/57_Calendar.pm b/fhem/FHEM/57_Calendar.pm
index d73738ae8..9d35545bb 100644
--- a/fhem/FHEM/57_Calendar.pm
+++ b/fhem/FHEM/57_Calendar.pm
@@ -1722,6 +1722,7 @@ sub Calendar_Initialize($) {
$hash->{NotifyFn}= "Calendar_Notify";
$hash->{AttrList}= "update:none,onUrlChanged ".
"synchronousUpdate:0,1 ".
+ "delay " .
"removevcalendar:0,1 " .
"ignoreCancelled:0,1 ".
"SSLVerify:0,1 ".
@@ -1845,7 +1846,7 @@ sub Calendar_Notify($$)
# update calendar after initialization or change of configuration
# wait 10 to 29 seconds to avoid congestion due to concurrent activities
Calendar_DisarmTimer($hash);
- my $delay= 10+int(rand(20));
+ my $delay= AttrVal($name, "delay", 10+int(rand(20)));
Log3 $hash, 5, "Calendar $name: FHEM initialization or rereadcfg triggered update, delay $delay seconds.";
InternalTimer(time()+$delay, "Calendar_Wakeup", $hash, 0) ;
@@ -3676,6 +3677,13 @@ sub CalendarEventsAsHtml($;$) {
If this attribute is set to none
, the calendar will not be updated at all.
+
delay <time>
+
removevcalendar 0|1
get <name> vcalendar
is then no longer possible.
@@ -4279,7 +4287,7 @@ sub CalendarEventsAsHtml($;$) {
defaultFormat <formatSpec>
+
delay <time>
+
removevcalendar 0|1