CalDAV calendars are one hour off

I have created several calendars using the caldav integration. The calendars are loaded from Baikal without any errors or warnings but all time are one hour too late! One calendar starts at 02:15 CET but HomeAssistant shows it as starting at 03:15. Timezones on all systems are identical.
Here’s one ICS file:

BEGIN:VCALENDAR
PRODID:-//K Desktop Environment//NONSGML libkcal 4.3//EN
VERSION:2.0
X-KDE-ICAL-IMPLEMENTATION-VERSION:1.0
BEGIN:VTIMEZONE
TZID:Europe/Zurich
BEGIN:DAYLIGHT
TZNAME:CEST
TZOFFSETFROM:+0000
TZOFFSETTO:+0200
DTSTART:19810329T010000
RDATE:19810329T010000
END:DAYLIGHT
BEGIN:STANDARD
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19971026T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
BEGIN:STANDARD
TZNAME:CET
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
DTSTART:19810927T030000
RRULE:FREQ=YEARLY;UNTIL=19961027T030000;BYDAY=-1SU;BYMONTH=9
RDATE:19950924T030000
END:STANDARD
BEGIN:DAYLIGHT
TZNAME:CEST
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
DTSTART:19820328T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
END:VTIMEZONE
BEGIN:VEVENT
DTSTAMP:20211107T100230Z
CREATED:20210322T075136Z
UID:0fb0b144-29ea-4a95-a78b-7426070693cd
SEQUENCE:2
LAST-MODIFIED:20211107T100230Z
SUMMARY:Wohnzimmer
RRULE:FREQ=WEEKLY;BYDAY=SA,SU
DTSTART;TZID=Europe/Zurich:20210320T021500
DTEND;TZID=Europe/Zurich:20210320T183000
TRANSP:OPAQUE
END:VEVENT
END:VCALENDAR

Any hints where the problem could be?