Custom Component: ATV-Plex

This custom component (using a slightly modified universal media player) combines Apple TV and Plex media players into a single player.

WHY:
When Plex media is playing on an Apple TV, the Apple TV media player is unable to display:

  • Movie year, library, correct content type (movie instead of music)
  • TV show name, TV show episode art
  • Any of Plex’s rich meta-data (ex. track, album artist, media rating, Plex username, etc)

EXAMPLE: Plex TV Show shown through the Apple TV component

EXAMPLE: Plex TV Show shown through my ATV-Plex component

EXAMPLE: Plex Movie shown through the Apple TV component

EXAMPLE: Plex Movie shown through my ATV-Plex component

EXAMPLE: Plex Music meta-data shown through the Apple TV component

EXAMPLE: Plex Music meta-data shown through my ATV-Plex component

EXAMPLE: Plex TV show shown through my ATV-Plex component and mini media-player

As a bonus, this component will display the info from 1 player if the other is down (ex. Displays Plex player if Apple TV player is down, vice-versa). You can now hide all your Apple TV and Plex media players and just use this one.

USAGE:

  1. Get your Apple TV and Plex media players to display in HA properly
  2. Copy everything from here to your HA’s custom_components/my_universal/ directory
  3. Add a new universal player with your Apple TV media player listed as the first child and your Plex media player added as the second child (ORDER IS IMPORTANT).
media_player:
    - platform: my_universal
    name: Living Room | UMP
    auto_name: true
    auto_icon: true
    icon: mdi:video
    children:
        - media_player.living_room_apple_tv
        - media_player.living_room_plex
3 Likes

This is awesome. I’ve always griped about how lacking the Chromecast card is when Plex is using it - would it be difficult to adapt this for that use case?

Can you post an example of the issue?

NEW OPTIONS:

  • auto_name (true or false): sets friendly name to show name (for TV shows) or library (for movies)
  • auto_icon (true or false): sets icon to mdi:plex when Plex is playing/paused, otherwise sets to mdi:apple

EXAMPLE: Plex TV Show shown through my ATV-Plex component (and through the mini media player lovelace card)

EXAMPLE: Plex Movie shown through my ATV-Plex component (and through the mini media player lovelace card)

where could i found this component?

Instructions are in the first post

you deleted it @JesseWebDotCom what are u using now?

You have many more options now from when I originally created this.

Easiest solution: use Lovelace to show / hide players. For example, you could use auto-entities: https://github.com/thomasloven/lovelace-auto-entities

More work (but can be combined with above): create a universal media player

As for aesthetics, the latest media player ui is pretty sweet and isn’t as big and bulky as it was previously.

Feel free to browse through my Lovelace file and my integrations/media_player file to see how I’m doing things nowadays.