🎧 Lovelace Podcast Card/Plugin for gPodder

Thanks for sorting this issue Ian

Can somebody please help me set this up?

My sensor.gpodder won’t show podcasts

podcasts: {}
friendly_name: gpodder
icon: mdi:headphones

This is how I set it up

gpodder:
  username: !secret gpodder_username
  password: !secret gpodder_password
  # device: homeassistant
  sensor:
    - enabled: true
      name: gpodder
      device: homeassistant

and

      - custom_player: true
        default_target: media_player.schlafzimmer_2
        entity: sensor.gpodder
        name: Podcasts
        show_player: true
        type: 'custom:podcast-card'

It will not display the card at all. The podcast sensor is always empty. On http://gpodder.net I set up a new device called homeassistant and imported my .opml export from my android podcast player. I also deleted all (well, the one) podcasts with special characters to make sure that this was not causing this problem.

Just now I deleted the device on gpodder.net, re-created it (after permanently removing it from trash as well), and uploaded a test .opml with fewer subscriptions:

<?xml version='1.0' encoding='UTF-8' standalone='no' ?>
<opml version="2.0">
  <head>
    <title>AntennaPod Subscriptions</title>
    <dateCreated>31 Aug 19 22:32:28 +0200</dateCreated>
  </head>
  <body>
    <outline text="Conspiracy Theories" title="Conspiracy Theories" type="rss" xmlUrl="https://feeds.megaphone.fm/END5064265457" htmlUrl="https://www.parcast.com/conspiracy/" />
    <outline text="Crazy/Genius" title="Crazy/Genius" type="rss" xmlUrl="https://feeds.megaphone.fm/crazygenius" htmlUrl="https://www.theatlantic.com/podcasts/" />
  </body>
</opml>

That one worked. So then I tried to (manually) deleting all podcasts listed like Unknown Podcast from feeds.feedburner.com (the ones that neither display the correct logo nor podcast title). However, I was hoping to use all my podcasts as this would allow me to sync with my Android app. My next attempt would be to use the version linked in @iantrich 's gist; however, that is just the card, and the problem seems to be with the sensor itself. What else can I do and/or change to get all my subscriptions in Home Assistant?

Thanks for your help :slight_smile:

I tried gpodder when I saw your component. It does however not sync progress of listened episodes. Does anyone know a podcast solution that can sync progress between an android app and webapp/windows, and also integrates with HA? That’s what I really need :wink:

In HACS this card is now showing with ‘Radial Menu Element’ as the name instead of Lovelace Podcast Card - was this intentional @iantrich

No. Probably a copy paste error on my part. I look into it. Thanks

1 Like

should be fixed now

gpodder is the only ha integration out there right now and the only open api that i know od as well

1 Like

doesn’t seem to be… refreshing HACS didn’t correct

I need some help.
This is my lovelace podcast-card:

      - type: "custom:podcast-card"
        entity: sensor.veleno
        name: Podcasts
        default_target: media_player.echo_show
        show_player: True
        custom_player: true
        icon: mdi:podcast

and this is my config:

gpodder:
  username: !secret gpodder_username
  password: !secret gpodder_password
  sensor:
    - enabled: true
      name: Veleno
      device: homeassistant
    - enabled: true
      name: Wikiradio
      device: homeassistant      
    - enabled: true
      name: Ricciotto
      device: homeassistant      
    - enabled: true
      name: ZeroDays
    - enabled: true
      name: gu-mix
      device: homeassistant

What i see in the UI is:

26

But no podcast is played after my choice… i noticed also that actually only my google home devices are able to reproduce the podcasts, so am i forced to use only those?
More, if i want to use the custom mini-media-player how to change the lovelace card config?
Are my configurations correct?

I’ve only tested on Google Home devices, as that is all that I own. I know that others have been able to get Sonos to work by changing the mime_type. Alexa devices can’t stream custom sources to my knowledge.

Your configuration looks fine and you card looks as expected with a mini-media-player. Were you expecting to see something different?

Ok thanks… can you give me an example how to use mime_type to get sonos working?
So to get mini-media-player i need only to put custom_player: true in options?
About the config i noticed if i set only one sensor i get the same all my podcast so it’s useless to have one sensor for every podcast… or not?

Now i have:

gpodder:
  username: !secret gpodder_username
  password: !secret gpodder_password
  sensor:
    - enabled: true
      name: gpodder
      device: homeassistant

And have the same podcasts as in the previous config…
Is it right?

Hi. I have the below in my configuration.yaml testing it out and I can see 3 subscriptions but when I click on it. It shows Podcasts and Object Object 3 times. Im guessing where the names of the subscriptions should be.

Is there a way to get the subscriptions in the love lace card and the last time a recording was release

gpodder:
  username: username
  password: password
  sensor:
    - enabled: true
      name: gpodder
      device: homeassistant

image

Thanks

Martyn

Use the podcast-card referenced in the repo and in this thread

Hi, is there an actual limit to the amount of subscriptions you can add? Every time I try to add a third I get an error:

2020-03-22 09:51:16 ERROR (MainThread) [homeassistant.components.sensor] gpodder: Error on device update!
Traceback (most recent call last):
File “/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity_platform.py”, line 312, in _async_add_entity
await entity.async_device_update(warning=False)
File “/srv/homeassistant/lib/python3.7/site-packages/homeassistant/helpers/entity.py”, line 474, in async_device_update
await self.async_update()
File “/home/homeassistant/.homeassistant/custom_components/gpodder/sensor.py”, line 27, in async_update
await update_data(self.hass, self._device)
File “/home/homeassistant/.homeassistant/custom_components/gpodder/init.py”, line 110, in update_data
hass.data[DOMAIN_DATA] = update_using_feedservice(urls)
File “/home/homeassistant/.homeassistant/custom_components/gpodder/init.py”, line 161, in update_using_feedservice
“episodes”: [parse_entry(entry) for entry in feed[“episodes”]],
File “/home/homeassistant/.homeassistant/custom_components/gpodder/init.py”, line 161, in
“episodes”: [parse_entry(entry) for entry in feed[“episodes”]],
File “/home/homeassistant/.homeassistant/custom_components/gpodder/init.py”, line 114, in parse_entry
download_url = entry[“enclosures”][0][“url”]
IndexError: list index out of range

No, there is not. Have you tried adding a different podcast to see if it is related to just that particular one?

Hi Ian, thankyou for responding - yes tried a few different podcasts in the past with the same result. Will do a bit more testing. If I remove the “Real Python” subscription all works fine. cheers

Hi Ian. Error with gpodder in 0.109.0b0

Log Details (WARNING)
Logger: homeassistant.util.async_
Source: util/async_.py:120
First occurred: 8:25:38 AM (7 occurrences)
Last logged: 9:26:33 AM

Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for gpodder doing I/O at custom_components/gpodder/__init__.py, line 107: urls = hass.data[DOMAIN]["client"].get_subscriptions(device)
Detected I/O inside the event loop. This is causing stability issues. Please report issue to the custom component author for gpodder doing I/O at custom_components/gpodder/__init__.py, line 135: feed = podcastparser.parse(url, urlopen(Request(url, headers=REQUEST_HEADERS)), 5)

NOOOOOOOOOOOOOOOOOOOOO. Why you do this to me, Paulus? :sweat_smile:

1 Like

Hi

Is there a way to get a notification of a new episode in HA is available on one of your subscriptions with GPodder ?

Thanks

Martyn

You could try https://www.home-assistant.io/integrations/feedreader/