diff --git a/bundles/org.openhab.binding.feed/README.md b/bundles/org.openhab.binding.feed/README.md
index 686d3e9f597..d1f5d0f7f33 100644
--- a/bundles/org.openhab.binding.feed/README.md
+++ b/bundles/org.openhab.binding.feed/README.md
@@ -32,17 +32,18 @@ Optional configuration:
The binding supports following channels
-| Channel Type ID | Item Type | Description |
-|--------------------|-----------|-----------------------------------------------------|
-| latest-title | String | Contains the title of the last feed entry. |
-| latest-description | String | Contains the description of the last feed entry. |
-| latest-date | DateTime | Contains the published date of the last feed entry. |
-| latest-link | String | Contains the link of the last feed entry. |
-| author | String | The name of the feed author, if author is present. |
-| title | String | The title of the feed. |
-| description | String | Description of the feed. |
-| last-update | DateTime | The last update date of the feed. |
-| number-of-entries | Number | Number of entries in the feed. |
+| Channel Type ID | Item Type | Description |
+|--------------------|-----------|-----------------------------------------------------------------------------------------------------------|
+| latest-title | String | Contains the title of the last feed entry. |
+| latest-description | String | Contains the description of the last feed entry. |
+| latest-date | DateTime | Contains the published date of the last feed entry. |
+| latest-link | String | Contains the link of the last feed entry. |
+| latest-enclosure | String | Contains the enclosure link (podcast) of the last feed entry, if enclosure is present (used in podcasts). |
+| author | String | The name of the feed author, if author is present. |
+| title | String | The title of the feed. |
+| description | String | Description of the feed. |
+| last-update | DateTime | The last update date of the feed. |
+| number-of-entries | Number | Number of entries in the feed. |
## Example
@@ -60,6 +61,7 @@ String latest_title {channel="feed:feed:bbc:latest-title"}
String latest_description {channel="feed:feed:bbc:latest-description"}
DateTime latest_date {channel="feed:feed:bbc:latest-date"}
String latest_link {channel="feed:feed:bbc:latest-link"}
+String latest_enclosure {channel="feed:feed:bbc:latest-enclosure"}
Number number_of_entries {channel="feed:feed:bbc:number-of-entries"}
String description {channel="feed:feed:bbc:description"}
String author {channel="feed:feed:bbc:author"}
diff --git a/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/FeedBindingConstants.java b/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/FeedBindingConstants.java
index f909f687eab..177449e51e5 100644
--- a/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/FeedBindingConstants.java
+++ b/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/FeedBindingConstants.java
@@ -20,6 +20,7 @@ import org.openhab.core.thing.ThingTypeUID;
* used across the whole binding.
*
* @author Svilen Valkanov - Initial contribution
+ * @author Juergen Pabel - Added enclosure channel
*/
@NonNullByDefault
public class FeedBindingConstants {
@@ -50,6 +51,11 @@ public class FeedBindingConstants {
*/
public static final String CHANNEL_LATEST_LINK = "latest-link";
+ /**
+ * Contains the enclosure link to the last feed entry.
+ */
+ public static final String CHANNEL_LATEST_ENCLOSURE = "latest-enclosure";
+
/**
* Description of the feed.
*/
diff --git a/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/handler/FeedHandler.java b/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/handler/FeedHandler.java
index 7fd560f1928..3b8b2711c97 100644
--- a/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/handler/FeedHandler.java
+++ b/bundles/org.openhab.binding.feed/src/main/java/org/openhab/binding/feed/internal/handler/FeedHandler.java
@@ -57,6 +57,7 @@ import com.rometools.rome.io.SyndFeedInput;
* sent to one of the channels and for the regular updates of the feed data.
*
* @author Svilen Valkanov - Initial contribution
+ * @author Juergen Pabel - Added enclosure channel
*/
@NonNullByDefault
public class FeedHandler extends BaseThingHandler {
@@ -169,6 +170,13 @@ public class FeedHandler extends BaseThingHandler {
state = new StringType(getValueSafely(latestEntry.getLink()));
}
break;
+ case CHANNEL_LATEST_ENCLOSURE:
+ if (latestEntry == null || latestEntry.getEnclosures().isEmpty()) {
+ state = UnDefType.UNDEF;
+ } else {
+ state = new StringType(getValueSafely(latestEntry.getEnclosures().get(0).getUrl()));
+ }
+ break;
case CHANNEL_LATEST_PUBLISHED_DATE:
case CHANNEL_LAST_UPDATE:
if (latestEntry == null || latestEntry.getPublishedDate() == null) {
diff --git a/bundles/org.openhab.binding.feed/src/main/resources/OH-INF/thing/thing-types.xml b/bundles/org.openhab.binding.feed/src/main/resources/OH-INF/thing/thing-types.xml
index f1c8259e340..017295641e3 100644
--- a/bundles/org.openhab.binding.feed/src/main/resources/OH-INF/thing/thing-types.xml
+++ b/bundles/org.openhab.binding.feed/src/main/resources/OH-INF/thing/thing-types.xml
@@ -20,6 +20,7 @@
+
@@ -71,6 +72,13 @@
+
+ String
+
+ Contains the first (if any) enclosure link of the last feed entry.
+
+
+
String