❱ Plex Assistant

This component currently uses the name of the Google Device, not the friendly name set in HA. You can check the name of the device in the google home app and if need be use the alias feature to call it what you like (though some are having issues with that feature atm)

Thanks for the report, @pergola.fabio. This looks like an issue in plexapi. I’ve created a PR for a fix that works for me locally running the bleeding edge plexapi against HA: https://github.com/pkkid/python-plexapi/pull/446.

no problem :slight_smile:
ok, gonna start now testing that other issue with loading your custom now
will feedback on github

It is named the same in Google Home and Home Assistant. At this point I have tried multiple Chromecasts with all naming variations I could think of based on details shown in the Google App/Hass entity info.

Casting to/controlling the devices works as expected for other custom components (Spotcast) and general media.

I am running the latest Hassio image for Intel NUC in a docker container with Nabu Casa and latest Home Assistant version, in case that is of any relevance.

@mayker we finally got plexapi 3.4.0 out the door. It includes the fixes you’ve needed that weren’t included in 3.3.0. This new version will be used by HA in 0.109.

2 Likes

Ah, interesting… We can already load it when we use Plex as a custom?

What will be the benefits for ha / assistant?

It’s in the 0.109 beta now. Lots of small bug fixes and more reliable playback controls.

Hello!

I have successfully followed the guide, intergrated with Dialogflow, with latest Home Assistant.
I’m trying to make it work it with a Shield.
The Plex server is on a seperate win10 based server (Does not matter I guess)
Actually when I say the commands it opens up the Chromecast shell on Shield and for the fraction of the moment, I can see the movie I have selected by voice, but after that it dissapears and I can only see default plex grey colored backround.
It seems to me, that chromecast session ends immediately after the movie starts playing.

(WARNING)
Logger: homeassistant.components.dialogflow
Source: components/dialogflow/init.py:63
Integration: dialogflow q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+dialogflow%22))
Error handling Plex

Any ideas what should I check?

Thanks in advance.

Will this add on work with non-dedicated Chromecasts? Ie. an LG Oled with chromecast built in?

I’ve tried a bunch of names and can’t get it to work:

    TV: media_player.plex_lg_oled65c9pta
    Test TV: media_player.lg_webos_tv_77f2
    Friendly TV: Plex (USERNAME- Plex for LG - LG OLED65C9PTA)
    Second TV: LG webOS TV 77F2

Also getting the following errors in log for Hass bootup:

2020-05-04 16:02:29 ERROR (MainThread) [homeassistant.setup] Error during setup of component plex_assistant
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/urllib3/connection.py", line 160, in _new_conn
    (self._dns_host, self.port), self.timeout, **extra_kw
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 84, in create_connection
    raise err
  File "/usr/local/lib/python3.7/site-packages/urllib3/util/connection.py", line 74, in create_connection
    sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

Running 0.0.9 via HACS

@mayker are you still busy with this project? did you look at the issue i got with the aliasses from this post?

thnx!

Same thing with the latest update, after the command the video starts, then grey screen and the error log says: Error handling Plex 9:06:07 AM – Dialogflow (WARNING)

what is an example of a suitable training phrase for dialogflow for its configuration. The instruction part I’m trying to follow from the github page is this :

Now click "ADD TRAINING PHRASES"
Create a phrase and type in "command"

Is the training phrase the prefix for the wildcard so “tell plex to play command” might be a good phrase here or am I not following along

Addendum: Couldnt get it to work. Google responds with “here is the test version of plex, what is the command” I say play the walking dead and then there is a long pause and finally google responds with “sorry plex isnt responding, please try again soon”

I dont see any errors in the log
Beyond that I also cant even get it to work as a service. I’m getting the cast device not found error also. I have tried the entity id and the name given in the cast integration and neither works for me.

command: Play the walking Dead on the Bedroom Chromecast
command: Play the walking Dead on the media_player.bedroom_chromecast

Answers for the people who are like me and iffy in the networking coding department:

1)So I had to define both the default and aliases options in the plex_assistant config(didnt matter if they were correct or not it seems) to get this to find my chromecast device so at least now I can use the service call in HA

2)The Dialogflow URL for me contained the port which doesnt work with my reverse proxy set up. Upon removal of the port number, google assistant->dialogflow->plex->chromecast device works well. I can request anything from my library through google assistant and it plays on my chromecast device. Im having some weird behavior with defining which media player when using dialogflow. Calling the service play on bedroom chromecast works along with its defined alias but asking google to do it just calls it up on the default player but Thanks for this

Hey fabio did you give up on the flextv addon totally. I saw your handle their when I was researching voice control for plex?

After taking some time to go through the thread and doing a little testing I thought I would mention that I am having some problems with the play and stop commands that you implemented. I have similiar behaviour described further up the thread where plex stops playing the current video and plays what appears to be maybe the first video in my library.

I cloned the latest just yesterday from your github page.
This is what happens:

me:“ok google ask plex to stop playing”
googles response:“what is your command”(think this indicates it isn’t grasping my first statement)
me:“stop playing”
behaviour: stops playing current video and plays the first video (alphabetically?) in my collection

I guess other things I would report is that it works fine with my google nest hub. I have to make the statement all in one go to cast to any specific cast device, like “ok google, ask plex to play the latest rick and morty episode on kitchen display” works fine but doing like this (me)“ok google,talk to plex”…(dialogflow)“what is your command” (me)“play the latest rick and morty episode on kitchen display” this results in the latest episode of rick and morty playing on my living room tv which is the default device I defined in your plex_assistant config

Hey folks, I’m still crazy busy at the moment. Hopefully I’ll have some free time soon, but until then I’ll try to help answer some questions here.

IFTTT is currently the best option for using this component, dialogflow is a crazy beast and there are some major quirks that I may or may not be able to remedy.

The list of commands that can be used with this are at the end of the readme. Adding any extra words or phrases to the commands will confuse it. For example, to get it to stop playing you would say something to the effect of “ok google ask plex to stop” if you say anything beyond that it will get confused. These commands can and will be extended at some point and if you’d like to contribute to them look to the translation portion in the github readme.

FlexTV is currently in a non working state. The developer comments occasionally saying that he doesn’t really have time to work on the project, but will when he can, though it has been broken for quite some time now. His major issues are with Dialogflow, as are mine.

Grey screen background is a bug with plex, one of the libraries I’m using, or how I’ve implemented the play feature. I’ve added a few work arounds for this, but I may need to make them somewhat configurable as some devices treat it differently.

Yeah, i used to test flextv more then a year ago, it was working good though, but I abandoned ifttt, since it still doesn’t use my native language…
This add-on is better

i think some code change is needed, this base_url is deprecated…

examples codes like :
mp3 = hass.config.api.base_url + "/local/plex_assist_tts/error.mp3"

allthough i changed manually to

mp3 = hass.config.api.internal_url + "/local/plex_assist_tts/error.mp3"

but doesnt work :slight_smile:

Oh Phlex is well and truly dead, I was one of his beta testers and he just went AWOL on us all!!

yeah, but he had some bad luck also
and also no one was sponsering him

still waiting for official plex support though

He was getting a fair bit of sponsorship and assistance from the beta testers I assure you lol! He also wasnt the only guy working on it.