From 045ea1808116d57181434be4c091e6e34aa0a92b Mon Sep 17 00:00:00 2001 From: Jesse Torres Date: Sun, 19 Feb 2017 18:51:36 -0500 Subject: [PATCH 1/9] Updated documentation for pull request https://github.com/home-assistant/home-assistant/pull/6054 --- source/_components/media_player.plex.markdown | 81 ++++++++++++++++++- 1 file changed, 78 insertions(+), 3 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 8ac957ebcf7..1a4decfe396 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -15,9 +15,13 @@ ha_iot_class: "Local Polling" --- -The `plex` platform allows you to connect a [Plex Media Server](https://plex.tv) to Home Assistant. It will allow you to control media playback and see the current playing item. The preferred way to setup the Plex platform is by enabling the [the discovery component](/components/discovery/) and requires GDM to be enabled. +The `plex` platform allows you to connect a [Plex Media Server](https://plex.tv) to Home Assistant. It will allow you to control media playback and see the current playing item. -If local authentication is enabled or multiple users are defined, Home Assistant requires an authentication token to be entered in the frontend. Press "CONFIGURE" to do it. +## Setup + +The preferred way to setup the Plex platform is by enabling the [discovery component](/components/discovery/) which requires GDM enabled on your Plex server. + +If your Plex server has local authentication enabled or multiple users defined, Home Assistant requires an authentication token to be entered in the frontend. Press "CONFIGURE" to do it.

@@ -29,7 +33,7 @@ If you don't know your token, see [Finding your account token / X-Plex-Token](ht

-If you want to enable the plex platform directly, add the following lines to your `configuration.yaml`: +You can also enable the plex platform directly by adding the following lines to your `configuration.yaml`: ```yaml # Example configuration.yaml entry @@ -47,6 +51,77 @@ In case [discovery](/components/discovery/) does not work (GDM disabled or non-l - **PORT** (*Required*): Port where Plex is listening. Default is 32400 - **TOKEN** (*Optional*): Only if authentication is required. Set to `null` (without quotes) otherwise. +## Customization +You can customize the Plex component by adding any of the variables below to your configuration: +```yaml +# Example configuration.yaml entry +media_player: + - platform: plex + entity_namespace: 'plex' + include_non_clients: true + scan_interval: 5 + show_all_controls: false + use_custom_entity_ids: true + use_dynamic_groups: true + use_episode_art: true +``` +- **entity_namespace** (*Optional*): Prefix for entity ID's. Defaults to `null`. Useful when using overlapping components (ex. Apple TV and Plex components when you have Apple TV's you use as Plex clients). Go from _media_player.playroom2_ to _media_player.plex_playroom_ +- **include_non_clients** (*Optional*): Display non-recontrollable clients (ex. remote clients, PlexConnect Apple TV's). Defaults to `false`. +- **scan_interval** (*Optional*): Amount in seconds in between polling for device’s current activity. Defaults to `10` seconds. +- **show_all_controls** (*Optional*): Forces all controls to display. Defaults to `false`. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect. +- **use_custom_entity_ids** (*Optional*): Name Entity ID's by client ID's instead of friendly names. Defaults to `false`. HA assigns entity ID's on a first come first serve basis. When you have identically named devices connecting (ex. media_player.plex_web_safari, media_player.plex_web_safari2), you can't reliably distinguish and or predict which device is which. This option avoids this issue by using unique client ID's (ex. media_player.dy4hdna2drhn). +- **use_dynamic_groups** (*Optional*): Automatically group devices (`group._plex_devices_active` and `group._plex_devices_inactive`) as devices change states. Defaults to `false`. Group memberships are cleared when HA is restarted. +- **use_episode_art** (*Optional*): Display TV episode art instead of TV show art. Defaults to `false`. + +### {% linkable_title Service `play_media` %} + +Plays a song, playlist, TV episode, or video on a connected client. + +#### Music + +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------- | ----------- | +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex +| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } +| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC + +#### Playlist + +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------- | ----------- | +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex +| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } +| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST + +#### TV Episode + +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------- | ----------- | +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex +| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"episode_number\\" : 15, \\"shuffle\\": \\"0\\" } +| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE + +#### Video + +| Service data attribute | Optional | Description | Example | +| ---------------------- | -------- | ----------- | ----------- | +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex +| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } +| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO + +### Compatibility +Client | Limitations | +--|---|-- +Any (controls disabled) | A stop button will appear but is not functional. | +Any (casting) | Controlling playback will work but with error logging. | +Any (remote) | Controls disabled. +Apple TV (PlexConnect) | Controls disabled. Music does not work. +iOS | None | +NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging | +Plex Web | None | +Tivo Plex App | None | + +### Notes At this moment, the Plex platform only supports one Plex Media Server. It is possible to get errors that look like the following. From 56adf14ff09be6ad8f42f53f31d85bbd803ecce1 Mon Sep 17 00:00:00 2001 From: Jesse Torres Date: Mon, 20 Feb 2017 08:55:00 -0500 Subject: [PATCH 2/9] Documented Tivo compatibility --- source/_components/media_player.plex.markdown | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 1a4decfe396..52fab58b80e 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -111,24 +111,21 @@ Plays a song, playlist, TV episode, or video on a connected client. ### Compatibility Client | Limitations | ---|---|-- -Any (controls disabled) | A stop button will appear but is not functional. | -Any (casting) | Controlling playback will work but with error logging. | -Any (remote) | Controls disabled. +--|---| +Any (when all controls disabled) | A stop button will appear but is not functional. +Any (when casting) | Controlling playback will work but with error logging. +Any (remote client) | Controls disabled. Apple TV (PlexConnect) | Controls disabled. Music does not work. -iOS | None | -NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging | -Plex Web | None | -Tivo Plex App | None | +iOS | None +NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging +Plex Web | None +Tivo Plex App | Only play, pause, stop/off controls enabled ### Notes -At this moment, the Plex platform only supports one Plex Media Server. - -It is possible to get errors that look like the following. - -``` -ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",)) -INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400 -``` - -If this occurs, try changing the setting `Secure connections` in your Plex Media Server to `Preferred` (instead of `Required`). The Plex component does not currently support HTTPS. +* At this moment, the Plex platform only supports one Plex Media Server. +* It is possible to get errors that look like the following. + ``` + ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",)) + INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400 + ``` + If this occurs, try changing the setting `Secure connections` in your Plex Media Server to `Preferred` (instead of `Required`). The Plex component does not currently support HTTPS. From 0d2bd3a9bfdd0831b39e38d9398209632631d85f Mon Sep 17 00:00:00 2001 From: Jesse Torres Date: Mon, 20 Feb 2017 09:04:45 -0500 Subject: [PATCH 3/9] Fixed compatibility table markdown rendering --- source/_components/media_player.plex.markdown | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 52fab58b80e..07e37f1f0de 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -110,16 +110,16 @@ Plays a song, playlist, TV episode, or video on a connected client. | `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO ### Compatibility -Client | Limitations | ---|---| -Any (when all controls disabled) | A stop button will appear but is not functional. -Any (when casting) | Controlling playback will work but with error logging. -Any (remote client) | Controls disabled. -Apple TV (PlexConnect) | Controls disabled. Music does not work. -iOS | None -NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging -Plex Web | None -Tivo Plex App | Only play, pause, stop/off controls enabled +| Client | Limitations | +| -- | --- | +| Any (when all controls disabled) | A stop button will appear but is not functional. | +| Any (when casting) | Controlling playback will work but with error logging. | +| Any (remote client) | Controls disabled. | +| Apple TV (PlexConnect) | Controls disabled. Music does not work. | +| iOS | None | +| NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging | +| Plex Web | None | +| Tivo Plex App | Only play, pause, stop/off controls enabled | ### Notes * At this moment, the Plex platform only supports one Plex Media Server. From c1f4b94beeadd6e33c6027d43fff20bc4af5ed00 Mon Sep 17 00:00:00 2001 From: Jesse Torres Date: Mon, 20 Feb 2017 09:10:31 -0500 Subject: [PATCH 4/9] Fixed Notes markdown rendering, standardized service markdown tables --- source/_components/media_player.plex.markdown | 26 ++++++++++--------- 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 07e37f1f0de..a99762f2f06 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -81,33 +81,33 @@ Plays a song, playlist, TV episode, or video on a connected client. | Service data attribute | Optional | Description | Example | | ---------------------- | -------- | ----------- | ----------- | -| `entity_id` | no | `entity_id` of the client | media_player.theater_plex -| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } -| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex | +| `media_content_id` | no | Quote escaped JSON with `library_name`, `artist_name`, `album_name`, `track_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"My Music\\", \\"artist_name\\" : \\"Adele\\", \\"album_name\\" : \\"25\\", \\"track_name\\" : \\"hello\\", \\"shuffle\\": \\"0\\" } | +| `media_content_type` | no | Type of media to play, in this case `MUSIC` | MUSIC | #### Playlist | Service data attribute | Optional | Description | Example | | ---------------------- | -------- | ----------- | ----------- | -| `entity_id` | no | `entity_id` of the client | media_player.theater_plex -| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } -| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex | +| `media_content_id` | no | Quote escaped JSON with `playlist_name`, `shuffle` (0 or 1). | { \\"playlist_name\\" : \\"The Best of Disco\\" \\"shuffle\\": \\"0\\" } | +| `media_content_type` | no | Type of media to play, in this case `PLAYLIST` | PLAYLIST | #### TV Episode | Service data attribute | Optional | Description | Example | | ---------------------- | -------- | ----------- | ----------- | -| `entity_id` | no | `entity_id` of the client | media_player.theater_plex -| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"episode_number\\" : 15, \\"shuffle\\": \\"0\\" } -| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex | +| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"episode_number\\" : 15, \\"shuffle\\": \\"0\\" } | +| `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE | #### Video | Service data attribute | Optional | Description | Example | | ---------------------- | -------- | ----------- | ----------- | -| `entity_id` | no | `entity_id` of the client | media_player.theater_plex -| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } -| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO +| `entity_id` | no | `entity_id` of the client | media_player.theater_plex | +| `media_content_id` | no | Quote escaped JSON with `library_name`, `video_name`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult Movies\\", \\"video_name\\" : \\"Blade\\", \\"shuffle\\": \\"0\\" } | +| `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO | ### Compatibility | Client | Limitations | @@ -124,8 +124,10 @@ Plays a song, playlist, TV episode, or video on a connected client. ### Notes * At this moment, the Plex platform only supports one Plex Media Server. * It is possible to get errors that look like the following. + ``` ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",)) INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400 ``` + If this occurs, try changing the setting `Secure connections` in your Plex Media Server to `Preferred` (instead of `Required`). The Plex component does not currently support HTTPS. From df2a8f31a43f9b1b75b78f9d72f56774edef8047 Mon Sep 17 00:00:00 2001 From: Jesse Torres Date: Tue, 21 Feb 2017 20:39:08 -0500 Subject: [PATCH 5/9] Documented max_frozen_playing and max_frozen_paused optional configurations --- source/_components/media_player.plex.markdown | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index a99762f2f06..4cd6d3c5eea 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -59,6 +59,8 @@ media_player: - platform: plex entity_namespace: 'plex' include_non_clients: true + max_frozen_playing: 30 + max_frozen_paused: 60 scan_interval: 5 show_all_controls: false use_custom_entity_ids: true @@ -67,6 +69,8 @@ media_player: ``` - **entity_namespace** (*Optional*): Prefix for entity ID's. Defaults to `null`. Useful when using overlapping components (ex. Apple TV and Plex components when you have Apple TV's you use as Plex clients). Go from _media_player.playroom2_ to _media_player.plex_playroom_ - **include_non_clients** (*Optional*): Display non-recontrollable clients (ex. remote clients, PlexConnect Apple TV's). Defaults to `false`. +- **max_frozen_playing** (*Optional*): Forces a "playing" device to become "paused" when the playing position hasn't moved in x time. Defaults to `60` seconds. Useful for disconnected sessions (ex. Streaming iPhone user locks their phone, streaming laptop user closes their browser). Note: This only changes client state, it does not issue any commands to the client (incase they are trying to reconnect). +- **max_frozen_paused** (*Optional*): Similar to `max_frozen_playing`, forces a "paused" device to become "idle" when the playing position hasn't moved in x time. Defaults to `300` seconds. - **scan_interval** (*Optional*): Amount in seconds in between polling for device’s current activity. Defaults to `10` seconds. - **show_all_controls** (*Optional*): Forces all controls to display. Defaults to `false`. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect. - **use_custom_entity_ids** (*Optional*): Name Entity ID's by client ID's instead of friendly names. Defaults to `false`. HA assigns entity ID's on a first come first serve basis. When you have identically named devices connecting (ex. media_player.plex_web_safari, media_player.plex_web_safari2), you can't reliably distinguish and or predict which device is which. This option avoids this issue by using unique client ID's (ex. media_player.dy4hdna2drhn). @@ -129,5 +133,5 @@ Plays a song, playlist, TV episode, or video on a connected client. ERROR:plexapi:http://192.168.1.10:32400: ('Connection aborted.', BadStatusLine("''",)) INFO:homeassistant.components.media_player.plex:No server found at: http://192.168.1.10:32400 ``` - + If this occurs, try changing the setting `Secure connections` in your Plex Media Server to `Preferred` (instead of `Required`). The Plex component does not currently support HTTPS. From 9f044b2557a6a53ddeb4886d603c88b0e6f36768 Mon Sep 17 00:00:00 2001 From: Jesse Torres Date: Thu, 23 Feb 2017 18:48:36 -0500 Subject: [PATCH 6/9] Updated PlayMedia EPISODE service that now supports season number and episode number (instead of episode index) --- source/_components/media_player.plex.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 4cd6d3c5eea..391c9c5ad4c 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -102,7 +102,7 @@ Plays a song, playlist, TV episode, or video on a connected client. | Service data attribute | Optional | Description | Example | | ---------------------- | -------- | ----------- | ----------- | | `entity_id` | no | `entity_id` of the client | media_player.theater_plex | -| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"episode_number\\" : 15, \\"shuffle\\": \\"0\\" } | +| `media_content_id` | no | Quote escaped JSON with `library_name`, `show_name`, `season_number`, `episode_number`, `shuffle` (0 or 1). | { \\"library_name\\" : \\"Adult TV\\", \\"show_name\\" : \\"Rick and Morty\\", \\"season_number\\" : 2, \\"episode_number\\" : 5, \\"shuffle\\": \\"0\\" } | | `media_content_type` | no | Type of media to play, in this case `EPISODE` | EPISODE | #### Video From 0aa61b2eaa06c4d482dce9cb60063a38f0d07af2 Mon Sep 17 00:00:00 2001 From: JesseWebDotCom Date: Sat, 11 Mar 2017 22:28:13 -0500 Subject: [PATCH 7/9] Removed dynamic group mentions (as feature has been removed for now) --- source/_components/media_player.plex.markdown | 2 -- 1 file changed, 2 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 391c9c5ad4c..fd12a1f7bbd 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -64,7 +64,6 @@ media_player: scan_interval: 5 show_all_controls: false use_custom_entity_ids: true - use_dynamic_groups: true use_episode_art: true ``` - **entity_namespace** (*Optional*): Prefix for entity ID's. Defaults to `null`. Useful when using overlapping components (ex. Apple TV and Plex components when you have Apple TV's you use as Plex clients). Go from _media_player.playroom2_ to _media_player.plex_playroom_ @@ -74,7 +73,6 @@ media_player: - **scan_interval** (*Optional*): Amount in seconds in between polling for device’s current activity. Defaults to `10` seconds. - **show_all_controls** (*Optional*): Forces all controls to display. Defaults to `false`. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect. - **use_custom_entity_ids** (*Optional*): Name Entity ID's by client ID's instead of friendly names. Defaults to `false`. HA assigns entity ID's on a first come first serve basis. When you have identically named devices connecting (ex. media_player.plex_web_safari, media_player.plex_web_safari2), you can't reliably distinguish and or predict which device is which. This option avoids this issue by using unique client ID's (ex. media_player.dy4hdna2drhn). -- **use_dynamic_groups** (*Optional*): Automatically group devices (`group._plex_devices_active` and `group._plex_devices_inactive`) as devices change states. Defaults to `false`. Group memberships are cleared when HA is restarted. - **use_episode_art** (*Optional*): Display TV episode art instead of TV show art. Defaults to `false`. ### {% linkable_title Service `play_media` %} From b1a671c1a0b6c74a5ab01d43022668e1ec2b6dbb Mon Sep 17 00:00:00 2001 From: JesseWebDotCom Date: Wed, 15 Mar 2017 18:16:31 -0400 Subject: [PATCH 8/9] Removed frozen detection --- source/_components/media_player.plex.markdown | 4 ---- 1 file changed, 4 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index fd12a1f7bbd..474be62995d 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -59,8 +59,6 @@ media_player: - platform: plex entity_namespace: 'plex' include_non_clients: true - max_frozen_playing: 30 - max_frozen_paused: 60 scan_interval: 5 show_all_controls: false use_custom_entity_ids: true @@ -68,8 +66,6 @@ media_player: ``` - **entity_namespace** (*Optional*): Prefix for entity ID's. Defaults to `null`. Useful when using overlapping components (ex. Apple TV and Plex components when you have Apple TV's you use as Plex clients). Go from _media_player.playroom2_ to _media_player.plex_playroom_ - **include_non_clients** (*Optional*): Display non-recontrollable clients (ex. remote clients, PlexConnect Apple TV's). Defaults to `false`. -- **max_frozen_playing** (*Optional*): Forces a "playing" device to become "paused" when the playing position hasn't moved in x time. Defaults to `60` seconds. Useful for disconnected sessions (ex. Streaming iPhone user locks their phone, streaming laptop user closes their browser). Note: This only changes client state, it does not issue any commands to the client (incase they are trying to reconnect). -- **max_frozen_paused** (*Optional*): Similar to `max_frozen_playing`, forces a "paused" device to become "idle" when the playing position hasn't moved in x time. Defaults to `300` seconds. - **scan_interval** (*Optional*): Amount in seconds in between polling for device’s current activity. Defaults to `10` seconds. - **show_all_controls** (*Optional*): Forces all controls to display. Defaults to `false`. Ignores dynamic controls (ex. show volume controls for client A but not for client B) based on detected client capabilities. This option allows you to override this detection if you suspect it to be incorrect. - **use_custom_entity_ids** (*Optional*): Name Entity ID's by client ID's instead of friendly names. Defaults to `false`. HA assigns entity ID's on a first come first serve basis. When you have identically named devices connecting (ex. media_player.plex_web_safari, media_player.plex_web_safari2), you can't reliably distinguish and or predict which device is which. This option avoids this issue by using unique client ID's (ex. media_player.dy4hdna2drhn). From 932f8b0152efa1c4c1bdc37ef94348433ca363b4 Mon Sep 17 00:00:00 2001 From: Robbie Trencheny Date: Fri, 17 Mar 2017 17:44:08 -0700 Subject: [PATCH 9/9] Fix broken table --- source/_components/media_player.plex.markdown | 21 ++++++++++--------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/source/_components/media_player.plex.markdown b/source/_components/media_player.plex.markdown index 474be62995d..f7184f07a68 100644 --- a/source/_components/media_player.plex.markdown +++ b/source/_components/media_player.plex.markdown @@ -108,16 +108,17 @@ Plays a song, playlist, TV episode, or video on a connected client. | `media_content_type` | no | Type of media to play, in this case `VIDEO` | VIDEO | ### Compatibility -| Client | Limitations | -| -- | --- | -| Any (when all controls disabled) | A stop button will appear but is not functional. | -| Any (when casting) | Controlling playback will work but with error logging. | -| Any (remote client) | Controls disabled. | -| Apple TV (PlexConnect) | Controls disabled. Music does not work. | -| iOS | None | -| NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging | -| Plex Web | None | -| Tivo Plex App | Only play, pause, stop/off controls enabled | + +| Client | Limitations | +|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Any (when all controls disabled) | A stop button will appear but is not functional. | +| Any (when casting) | Controlling playback will work but with error logging. | +| Any (remote client) | Controls disabled. | +| Apple TV (PlexConnect) | Controls disabled. Music does not work. | +| iOS | None | +| NVidia Shield | Mute disabled. Volume set below 2 will cause error logging. Controlling playback when the Shield is both a client and a server will work but with error logging | +| Plex Web | None | +| Tivo Plex App | Only play, pause, stop/off controls enabled | ### Notes * At this moment, the Plex platform only supports one Plex Media Server.