diff --git a/bundles/org.openhab.binding.astro/README.md b/bundles/org.openhab.binding.astro/README.md
index 5cdcd1c02a..29ea288552 100644
--- a/bundles/org.openhab.binding.astro/README.md
+++ b/bundles/org.openhab.binding.astro/README.md
@@ -32,26 +32,12 @@ This is done by setting `useMeteorologicalSeason` to true in the advanced settin
This binding has its own IconProvider and makes available the following list of icons
-| Icon Name | Dynamic | Illustration |
-|-----------------------------|---------|--------------|
-| oh:astro:zodiac | Yes |  |
-| oh:astro:zodiac-aquarius | Yes |  |
-| oh:astro:zodiac-aries | Yes |  |
-| oh:astro:zodiac-cancer | Yes |  |
-| oh:astro:zodiac-capricorn | Yes |  |
-| oh:astro:zodiac-gemini | Yes |  |
-| oh:astro:zodiac-leo | Yes |  |
-| oh:astro:zodiac-libra | Yes |  |
-| oh:astro:zodiac-pisces | Yes |  |
-| oh:astro:zodiac-sagittarius | Yes |  |
-| oh:astro:zodiac-scorpio | Yes |  |
-| oh:astro:zodiac-taurus | Yes |  |
-| oh:astro:zodiac-virgo | Yes |  |
-| oh:astro:season | Yes |  |
-| oh:astro:season-autumn | Yes |  |
-| oh:astro:season-spring | Yes |  |
-| oh:astro:season-summer | Yes |  |
-| oh:astro:season-winter | Yes |  |
+| Icon Name | Dynamic | Illustration |
+| --------------------------- | ------- | ------------------------------------------------- |
+| oh:astro:zodiac | Yes |  |
+| oh:astro:season | Yes |  |
+| oh:astro:sun_eclipse | Yes |  |
+
## Channels
diff --git a/bundles/org.openhab.binding.astro/doc/images/sun_eclipse.svg b/bundles/org.openhab.binding.astro/doc/images/sun_eclipse.svg
new file mode 100644
index 0000000000..cf5db40f36
--- /dev/null
+++ b/bundles/org.openhab.binding.astro/doc/images/sun_eclipse.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroIconProvider.java b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroIconProvider.java
index 67293501c4..bb6f453e30 100755
--- a/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroIconProvider.java
+++ b/bundles/org.openhab.binding.astro/src/main/java/org/openhab/binding/astro/internal/AstroIconProvider.java
@@ -24,6 +24,7 @@ import java.util.Set;
import org.eclipse.jdt.annotation.NonNullByDefault;
import org.eclipse.jdt.annotation.Nullable;
+import org.openhab.binding.astro.internal.model.EclipseKind;
import org.openhab.binding.astro.internal.model.SeasonName;
import org.openhab.binding.astro.internal.model.ZodiacSign;
import org.openhab.core.i18n.TranslationProvider;
@@ -50,7 +51,8 @@ public class AstroIconProvider implements IconProvider {
private static final String DEFAULT_DESCRIPTION = "Icons provided for the Astro Binding";
private static final String ZODIAC_SET = "zodiac";
private static final String SEASON_SET = "season";
- private static final Set ICON_SETS = Set.of(SEASON_SET, ZODIAC_SET);
+ private static final String SUN_ECLIPSE_SET = "sun_eclipse";
+ private static final Set ICON_SETS = Set.of(SEASON_SET, SUN_ECLIPSE_SET, ZODIAC_SET);
private final Logger logger = LoggerFactory.getLogger(AstroIconProvider.class);
private final TranslationProvider i18nProvider;
@@ -93,6 +95,7 @@ public class AstroIconProvider implements IconProvider {
Enum> stateEnum = switch (category) {
case ZODIAC_SET -> ZodiacSign.valueOf(state);
case SEASON_SET -> SeasonName.valueOf(state);
+ case SUN_ECLIPSE_SET -> EclipseKind.valueOf(state);
default -> throw new IllegalArgumentException("Category of icon not found: %s".formatted(category));
};
iconName = iconName.replace(".", "-%s.".formatted(stateEnum.name().toLowerCase(Locale.US)));
diff --git a/bundles/org.openhab.binding.astro/src/main/resources/OH-INF/thing/channels.xml b/bundles/org.openhab.binding.astro/src/main/resources/OH-INF/thing/channels.xml
index ab53ea1857..e4641e8596 100644
--- a/bundles/org.openhab.binding.astro/src/main/resources/OH-INF/thing/channels.xml
+++ b/bundles/org.openhab.binding.astro/src/main/resources/OH-INF/thing/channels.xml
@@ -314,7 +314,7 @@
DateTime
The DateTime of the next total eclipse
- calendar
+ Calendar
Calculation
Timestamp
@@ -326,7 +326,7 @@
DateTime
The DateTime of the next partial eclipse
- calendar
+ Calendar
Calculation
Timestamp
@@ -338,7 +338,7 @@
DateTime
The DateTime of the next ring eclipse
- calendar
+ Calendar
Calculation
Timestamp
@@ -350,6 +350,7 @@
trigger
Sun eclipse event
+ oh:astro:sun_eclipse
diff --git a/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-partial.svg b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-partial.svg
new file mode 100644
index 0000000000..cf5db40f36
--- /dev/null
+++ b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-partial.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-ring.svg b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-ring.svg
new file mode 100644
index 0000000000..d617f8b8dd
--- /dev/null
+++ b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-ring.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-total.svg b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-total.svg
new file mode 100644
index 0000000000..27386ad4d2
--- /dev/null
+++ b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse-total.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file
diff --git a/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse.svg b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse.svg
new file mode 100644
index 0000000000..cf5db40f36
--- /dev/null
+++ b/bundles/org.openhab.binding.astro/src/main/resources/icon/sun_eclipse.svg
@@ -0,0 +1,12 @@
+
\ No newline at end of file