Unable to use custom holiday configuration for Ephemeris ( java.lang.IllegalStateException )

Since couple of days I am faceing an issue with custom holiday configuration for Ephemeris. Currently I have no clue why. Maybe someone of you can help me.

2026-02-22 00:00:05.558 [ERROR] [hemeris - Trigger for System started] - Traceback (most recent call last):
  File "/etc/openhab/automation/jython/lib/core/log.py", line 51, in wrapper
    return fn(*args, **kwargs)
  File "/etc/openhab/automation/jython/ephemeris.py", line 20, in EphemerisSystemStarted
    events.sendCommand("ephemerisSchoolHolidays", "ON" if Ephemeris.isBankHoliday(0, "/etc/openhab/services/holidays-de.xml") else "OFF")
IllegalStateException: java.lang.IllegalStateException: Cannot instantiate configuration from URL 'file:/etc/openhab/services/holidays-de.xml'.

Permissions of the file are set to:

-rw-rw-r--  1 openhab openhab  1620 22. Feb 11:10 holidays-de.xml

The content of file looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<tns:Configuration hierarchy="de" description="Germany"
    xmlns:tns="https://www.example.org/Holiday" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="https://www.example.org/Holiday /Holiday.xsd">
    <tns:Holidays>
        <tns:Fixed month="DECEMBER" day="24" descriptionPropertiesKey="Heilig Abend"/>
        <tns:Fixed month="DECEMBER" day="31" descriptionPropertiesKey="Sylvester"/>
    </tns:Holidays>
    <tns:SubConfigurations hierarchy="nw" description="Nordrhein-Westfalen">
        <tns:Holidays>
            <tns:Fixed month="MAY" day="30" validFrom="2025" validTo="2025" descriptionPropertiesKey="Beweglicher Ferientag" localizedType="UNOFFICIAL_HOLIDAY"/>
            <tns:Fixed month="JUNE" day="11" validFrom="2025" validTo="2025" descriptionPropertiesKey="Schulfrei" localizedType="UNOFFICIAL_HOLIDAY"/>
            <tns:Fixed month="JUNE" day="20" validFrom="2025" validTo="2025" descriptionPropertiesKey="Beweglicher Ferientag" localizedType="UNOFFICIAL_HOLIDAY"/>
            <tns:Fixed month="FEBRUARY" day="16" validFrom="2026" validTo="2026" descriptionPropertiesKey="Beweglicher Ferientag" localizedType="UNOFFICIAL_HOLIDAY"/>
            <tns:Fixed month="MAY" day="15" validFrom="2026" validTo="2026" descriptionPropertiesKey="Beweglicher Ferientag" localizedType="UNOFFICIAL_HOLIDAY"/>
            <tns:Fixed month="JUNE" day="5" validFrom="2026" validTo="2026" descriptionPropertiesKey="Beweglicher Ferientag" localizedType="UNOFFICIAL_HOLIDAY"/>
        </tns:Holidays>
    </tns:SubConfigurations>
</tns:Configuration>

I guess I found it. A breaking change in Jollyday library. The attributes localizedType="UNOFFICIAL_HOLIDAY" is not supported anymore.

Maybe we should change the xml-header in the docs to

<tns:Configuration hierarchy="de" description="Germany"
               xmlns:tns="https://focus_shift.de/jollyday/schema/holiday"
               xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
               xsi:schemaLocation="https://focus_shift.de/jollyday/schema/holiday https://focus_shift.de/jollyday/schema/holiday/holiday.xsd">
...
1 Like