Is there a Media Player that reports the currently playing media title and app

Just a quick question.

Is there a device (Android TV, Fire Stick, Roku, etc.) that reports or can report to Home Assistant what is playing? So it would Say Netflix, The Walking Dead Episode 1 Season 1 or whatever.

I don’t know if this is app specific, or device specific but would really like to know. I am trying to setup something for my daughter’s room and this way I can see what she is watching, and hopefully it is something she can watch. She has a google home now for playing music but sometimes she gets down a rabbit hole with YouTube Music and gets some pretty crazy things. She was listenting to Disney Music then all of the sudden it was Epic Rap Battles of History…

Anyway quick question if anyone knows.

Thanks

I am pretty sure they all do that.

When Netflix plays I just see Netflix. I’d there something I have to add to the card to make it show title of the thing playing?

I have a Roku

I di not know what card you are using. But if you go into the developer tools/states, you can see all the info available to HA.

I started a TV show on Hulu and it just says that Hulu is playing. It does not say anything about “America’s Funniest Videos” playing Season 30 Episode 12 or whatever.

Here is what it says:

source_list:

  • Home
  • ABC
  • Apple TV
  • Disney Plus
  • FandangoNOW Movies & TV
  • Google Play Movies & TV
  • HBO NOW
  • Hulu
  • Movies Anywhere
  • NBC
  • Netflix
  • Nick Jr.
  • Nickelodeon
  • PBS KIDS
  • Plex - Stream Free TV & Movies
  • Prime Video
  • Roku Media Player
  • Roku Streaming Player Intro
  • Roku Tips & Tricks
  • Sling TV
  • The Roku Channel
  • VUDU
    media_content_type: movie
    app_id: ‘2285’
    app_name: Hulu
    source: Hulu
    friendly_name: Living Room
    entity_picture: >-
    /api/media_player_proxy/media_player.living_room?
    supported_features: 19388

So what media_player integration is that?

The only “devices” that I know of that do this is Plex, Kodi, and/or Emby (and Squeezebox and Chromecast (thanks @nickrout)) . There are some music services (those that have APIs like Spotify) that might give you track info. But, none of the devices you mentioned are able to give you the deep info like you are looking for.

Squeezebox does.

Chromecast does, at least when being cast to by Disney+.

1 Like

This is for a Roku media_player

Alright I will have to look at getting something like that for the room I would like to monitor.

Is Kodi a new launcher or is it just an app within Roku (or whatever stick I might have it attached to)

Kodi is a client/server app. I don’t think there is a native client for Roku though.

Kodi is a media player.

Yeah, I never know the right terms to use with Kodi. Is it a server? Is it an app? It’s both! Plex at least makes it simple; You have a server and you have rendering apps.

Apoloigies if I am out-of-date here, this is the latest thread I could find on the matter.

In the case of Netflix… I think this lack of info is due to how the Netflix app integrates with the Chromecast.

For example the Netflix app UI can be paused, which is reflected onto your screen in a graphical sense only - i.e. without the Chromecast being in a paused state (although pausing the Chromecast is fed back to the Netflix state). Likewise when a certain episode is playing, this is not ‘made known’ to the Chromecast. The chromecast seems to just reflect the very general Netflix app state… and so we just get the unhelpful ‘media_title: Netflix’ from the Chromecast metadata.

I guess this is how Netflix prefers to do things, and I suspect the issues listed above (for different devices/services) come down to the same approach. Annoying, but without a specific Netflix (etc.) integration I can’t see how to get around it.

If I have this wrong - please let me know!

I actually forgot about this, but it seems like you are correct. I have moved on from Roku now and I’m using those new Google Chromecasts and haven’t started to add them back into my home assistant. If I ever make a component I will post it here, but other things are taking up my time right now.

Reporting in for Google Chrome cast. Tried it with the following apps:

  • YouTube
  • Disney+
  • HBO max
  • Hulu
  • Netflix

Youtube, Disney+, and HBO max all provided media_title which displayed the title of the currently playing title. Hulu and Netflix did not.

The other thing I noticed is that the pause/play state were accurately reported by all apps except Netflix. Other discussions confirm the same, seems Netflix is the most lacking which is a bit sad because its probably the one I care most about working correctly.

Plex is a bit hit and miss too, sometimes it reports back to Home Assistant that it is playing something and sometimes it does not, it does the same thing as Netflix, and indicates that the app is active, but the actual media_player state is unknown

Plex should always report the current media. If it doesn’t, please report an issue.

There used to be a problem on Android-based clients (e.g, Shield, Fire, etc) where after starting playback from HA it wouldn’t reflect the proper playback state. That problem has been fixed.

1 Like

I’ll let you know if that is now the case, I will know reasonably quickly because I have an automation that pauses Plex when my phone starts ringing (which to be fair does seem to have been working much better lately).