Tagesschau in 100 Seconds as MP3 or MP4 in Home Assistant

There are very few up-to-date guides on how to use Tagesschau in 100 Sekunden in Home Assistant.
Most existing posts are outdated and no longer work, mainly because URLs and feeds have changed.

This post shows a simple and working approach to make Tagesschau in 100 Sekunden available as MP3 and MP4 — without downloading anything.

What is “Tagesschau in 100 Sekunden”?

Tagesschau in 100 Sekunden is a daily German news summary by ARD.
It is published as:

  • Audio (MP3) – ideal for Sonos or smart speakers
  • Video (MP4) – ideal for tablets or wall-mounted displays

The important part:
:point_right: The official podcast feeds already contain direct media URLs.


Important notes

  • You must be online to use this solution
  • Nothing is downloaded
  • The media URL is extracted and played directly
  • The URL changes multiple times per day, with every new episode
  • Home Assistant always fetches the current link from the feed

This is exactly why older hard-coded links no longer work.


Why not use the Feedreader integration?

Home Assistant’s feedreader integration:

  • does not expose the enclosure URLs
  • only provides title, description, and HTML links

So we read the podcast XML directly and extract the media URL ourselves.


MP3 (Audio) – one single link

For the audio version there is exactly one MP3 link in the feed.

Command Line Sensor (MP3)

command_line:
  - sensor:
      name: "Tagesschau 100s MP3"
      command: >
        curl -fsSL
        "https://www.tagesschau.de/multimedia/sendung/tagesschau_in_100_sekunden/podcast-ts100-audio-100~podcast.xml"
      value_template: >
        {% set m = value | regex_findall('https?://[^"\\s]+\\.mp3') %}
        {{ m[0] if m | length > 0 else '' }}
      scan_interval: 300

This sensor:

  • loads the podcast XML
  • extracts the current MP3 URL
  • updates automatically whenever the feed changes

Play MP3 (example: Sonos)

service: media_player.play_media
target:
  entity_id: media_player.living_room
data:
  media_content_id: "{{ states('sensor.tagesschau_100s_mp3') }}"
  media_content_type: music

MP4 (Video) – multiple qualities available

The video feed contains multiple MP4 streams for different resolutions.
You can choose which one you want.

In this example, the sensor extracts the 1920p (Full HD) stream.

Command Line Sensor (MP4 – 1920p)

command_line:
  - sensor:
      name: "Tagesschau 100s MP4 URL 1920p"
      unique_id: tagesschau_100s_mp4_url_1920p
      command: >-
        curl -fsSL -A "Mozilla/5.0" "https://www.tagesschau.de/tagesschau_in_100_sekunden/"
      value_template: >-
        {% set m = value | regex_findall(
          'url":"(https://tagesschau-progressive\\.ard-mcdn\\.de/video/[^&"\\s]+\\.webxxl\\.h264\\.mp4)'
        ) %}
        {{ m[0] if (m | length) > 0 else '' }}
      scan_interval: 300
      command_timeout: 30

You can adapt the regex if you prefer a different resolution.

Play MP4 (example: Tablet)

service: media_player.play_media
target:
  entity_id: media_player.wall_tablet
data:
  media_content_id: "{{ states('sensor.tagesschau_100s_mp4_1920p') }}"
  media_content_type: video

Why this approach works well

  • Uses official ARD podcast feeds
  • No HTML scraping
  • No downloads or local storage
  • Always plays the current episode
  • URLs are refreshed automatically
  • Works reliably with Sonos and tablets
4 Likes

Hi, is it possible to play the MP4 video on a dashboard as well (same machine not a third party media player)? I tried different picture cards and iframe but haven’t got it work out.

Thanks :slight_smile: