Automate your Podcast Downloads with Tasker and Home Assistant

I listen to a number of podcasts every day. When I wake up, I refresh my podcasts and listen as I start my day. In my pursuit to constantly reduce my manual activity for recurring activities, I looked to automate it with Tasker, Home Assistant, and Podcast Addict.

Read Time:4 Minute, 48 Second
Tasker, Home Assistant and Podcast

I listen to a number of podcasts every day. When I wake up, I refresh my podcasts and listen as I start my day. In my pursuit to constantly reduce my manual activity for recurring activities, I looked to automate it.

I have an Android Phone so I chose the following “stack”:

  1. Tasker – $3.49
  2. AutoRemote – $3.49 (you can also use AutoApps – about $1.49 a month)
  3. Home Assistant – Free
  4. Podcast Addict – Free (with In-App Purchases)

Browsing Reddit, I found this post that inspired my automation. If you have used AutoRemote and Tasker before, then you can jump to the next section.

Tasker and AutoRemote Setup

After installing Tasker and AutoRemote, you want to open up your personal AutoRemote Link (found on the main screen of AutoRemote). You then want to test the messaging capability.

AutoRemote Setup Screen
AutoRemote Setup Screen
  1. Enter a Message that you will interact with in Tasker. We are going to use podcast as our value.
  2. Note the URL. We will need it in this step.
  3. Send the Message! Well Not Yet. We will come back to this page later.

Now that we have prepared our message, time to go into Tasker and receive the message.

In Tasker, create a new Profile, and choose State – > Plugin -> AutoRemote.

Auto Remote Tasker Setup

This will present you with the screen to the right.

  1. Check the Event Behavior box
  2. In the Message Filter type “podcast“. Then Hit Back.

To Test, you want to create a simple notification (Alert -> Notify).

Determine what you want the notification’s Title, Text, and Icon should be.

You now are ready to send your AutoRemote Message from the Previous Step. When you do so, you should get a notification on your phone!

Podcast Addict and Tasker

Before we automate the sending of the AutoRemote message, we want to look at setting up our Podcast Automation. My global Podcast Addict settings are not to automatically download podcasts, so I need to automatically refresh my podcasts and then download the ones that I always listen to.

For each podcast that you want to download whenever there is a new episode, go to the three dots in the right hand corner – > Custom Settings -> Download. Flip that switch to set your own settings. Click on the download icon directly below the switch. On the next screen check the box for Automatic download.

The final step is to add a task to refresh our Podcast List and initiate our automatic downloads.

Go Back to Tasker and edit the task from our previous step. Create a new Action -> System -> Send Intent.

  1. In the Action Field type: com.bambuna.podcastaddict.service.update
  2. In the Package Field type: com.bambuna.podcastaddict
  3. Set the Target to: Broadcast Receiver

This will allow you to send an intent to Podcast Addict to initiate the downloads. You can find all the list of Podcast Addict intents here.

You can then test that this works, by hitting the play button at the bottom of the task screen.

NOTE: Recursive Automation is all about learning and iterating. I discovered that I wanted to call this particular task from multiple triggers. So I split this task out into its own task and then called Task -> Perform Task in my original implementation.

Home Assistant

Home Assistant is an amazing Home Automation Tool. I’ve used it for a number of different projects like a gameplay timer or as a Pomodoro implementation. For here, we are going to create an automation that we can use to download our podcasts based on triggers from our home automation. We can do this using RESTFul Commands in Home Assistant.

We are going to seperate out our rest_commands from our main configuration. This allows us to be more modular in our implementation and keep our overall configuration file clean.

First, we will create a new file called rest_commands.yaml and define a new command from the web-url from our Auto Remote Webpage.

  url: 'your autoremote URL here'

In our configuration.yaml, we will add the rest_command section as a reference to the rest_command.yaml file.

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml
rest_command: !include rest_commands.yaml

Next, create an automation. You can use the text editor or the GUI Editor.

alias: Morning Routine
  - platform: time
    at: 08:15
  - service: rest_command.podcast_refresh

You’ll note in the Actions sections that I’m also using the Alexa Media Player Custom Component. You can find more information here. I have an Alexa in my office, and I use it for most of my audio notifications.

You can also build out these Actions as a Script and then use it in multiple automations with multiple triggers.

Why Should I Use All of These Components?

You could automate everything through Tasker and never touch Auto Remote or Home Assistant. You could change Podcast Addict settings so that it periodically refreshes the podcast list and automatically download certain components. You don’t need to use all three of these components.

The more you centralize your triggers, the easier it will be to maintain your automations. You won’t have to check multiple places to see what is kicking off your automations, they will all come from the same place, in this case, Home Assistant. It will also allow you to become more agile in the manner of how you trigger things and can continue to refine your automations as new stimuli or conditions become available.

Affiliate links are present in this article and are marked as sponsored, the author may receive compensation for any purchases made through those links.

Obama on the Phone Previous post Learn Entrepreneurial Lessons from Barack Obama’s A Promised Land
Next post Build your own Presence Detection System with Home Assistant