Google home integration

I am going to be a voice of reason here and say that I DONT want integration. Google currently can not index our private data on Plex and I would like to keep it that way for OBVIOUS reasons.

Actually they DO care. They are protecting users privacy in which they would sign away by integrating any of the Google APIs required to do this.

I am sure very few of you are using Plex for JUST your home movies right? If you are not using this for your home movies do you really want Google in on your little privately acquired collection of media content? I sure as hell dont and for many good reasons.

Well that’s probably not true, given how they’ve previously responded in this topic. They would implement the feature if possible.

But they have no problem with Amazon having it.

Also: It would obviously be opt-in.

Also: it’s not going to happen because people are actually asking for this as a feature. Anyone at plex with the ability to do this is busy working on things nobody asked for, half assed implementing them, and then not listening to complaints.

As previously mentioned, it is not possible to implement this currently the way Google Home works.

Alexa works differently. No, Plex does not provide Amazon a list of all the content on your server.

And as previously mentioned, it’s been done in a different way by others as part of a side project. It’s a pain to setup currently because it does run externally, but if it were built in as part of plex it would be trivial. I don’t buy the excuse that its because google won’t let you do it, when other people have, using your very software to do so.

Useful things like this, or TV anywhere login support for Live TV or heck, even moderately functional live TV would really make Plex great again, but we are getting things like Arcade, and Podcasts and Tidal, that nobody is asking for.

3 Likes

Can you explain the difference between a Plex server and then something like a local Hubitat smart home controller, from Google’s perspective? What does the Plex implementation need that Hubitat doesn’t?

1 Like

I don’t know about the Hubitat, but a smart home controller is totally different from streaming media. Smart home devices are mostly, on/off.

A smart home controller like Hubitat, Smart Things, or any other is basically a little computer sitting on my local network that controls the smart home devices. So if I say Hey Google, turn the kitchen lights on, Google takes those words and converts them to text then sends that to the computer on my local network. The controller gets the commands and figures out which device it applies too and how to control it.

Plex Server is just a bigger computer on my local network, so why wouldn’t Google be able to send commands in the same way?

Is there no way for Plex Server to push a video to a Plex Client?

I want to use my voice as a remote, basically. Competitors have made this work. Users have modded this functionality into Plex. I’ve tried reading through past posts to understand why this hasn’t been done officially but none of it makes sense when other platforms with individual users (meaning not like Netflix, but more like Plex) have made it happen, and random people with open source projects have made it work. At least I can tell Google to open Plex on whatever device. It’s something, though a bit more of a tease.

Please please please please do this…

Integration with nest hub would be fantastic too!

Yes this, please.

I have been pondering what makes Plex different from something like my Home Automation server which accepts commands just fine. Here is what I have come up with. Correct me if I’m wrong somewhere.

With a home automation server Google is taking voice commands, converting them to text, and sending that to my server. From there the server looks at the commands and sends a command out to the various “clients” like a light switch. If it doesn’t understand what to do it sends an “unknown” response back to Google.

The problem with Plex is that the clients are not controlled by the server. So Plex Server can’t tell a Plex client software to launch and run a command like playing a movie file. Even if Plex Server could send commands, there would be issues with any remote client. How would Plex Server know what “Living Room TV” is if there are three people connected with a Living Room TV?

To make something like this work, Plex would just about have to limit the Google Home commands to a local network, and create a “Home Automation” page in the Server Settings where the various clients could be registered for push commands and given a custom name.

I don’t think it should be al the Authorized devices that currently show up in Plex Server since most are given their quirky network names and some, like the browser devices, don’t need to be controlled by Google voice.

Indeed, this is a must!

What if Plex itself was the one source? Create a database with a list of all available titles for a given Plex server ID. Have all local servers upload this information to the database whenever a scan detects a library change. Since the information to which servers and libraries a user has access to are already stored or correlated with a user account, that could be cross referenced to the central database and of the server ID(s) and library contents to discover if there is a match that fits. If a match is found a link could be provided back to Google directing the user to the unique address of the server found during the query. It is my understanding that the ability to reach every plex server online would be achievable due to the unique server ID associated with each one, its communication back to plex to obtain a security certificate key for the HTTPS, and through the indirect play option which routes the data traffic through Plex servers first before reaching the client. This may be an oversimplification but I believe the spirit of what is to be achieved still is conveyed; create a central database held by a single source (Plex HQ) that can be referenced by Google Home and direct users to the appropriate server hosting the content. Is there a reason this would not work? And if not, is there another approach that could achieve something similar?

While this may not be considered “True Google Integration” I think that a work around like this not being included with the main PMS installation is not a problem for the people who do not know or care about this feature, but for the nearly 3000 users that have waited up to 7 years at this point, the ability to download a small application or plugin produced by the same people who created the server this is supposed to work with in order to be able to support this functionality seems like a win to me. Get the feature working now, to the best of your abilities, and worry about how to merge and refine it later. If the feature works as expected, the need to download a separate program seems like a small price to pay to be able to offer Google Home users the same functionality afforded to Alexa users.

1 Like

Why would Google need to know what is available? It should be able to just convert the voice to text and pass it along to the server which then figures out what to do with it.

As far as connecting the local Plex server to one’s personal Google account, why is this any different than connecting one’s local home automation controller (server), to one’s personal Google account?

I think the hard part for Plex is likely that the Plex server doesn’t command the Plex clients. They would probably need to rework that relationship somehow to allow a Plex server to wake up the hardware of a client, launch the Plex app, and then pass the commands along. Plex server itself would also probably need to be room and client aware.

This would definitely be different from how Netflix works where Google knows the URL to the movie and sends it to the Chromecast.

It was my understanding that this is not how Google Home voice command currently work. A data set or “feed” of all your stuff is referenced when a command is received. The problem is that it can only check in one place for this file/feed. If you are someone like Netflix or Hulu where Google only has to go to one place, Netflix or Hulu directly, this works just fine. However this does not work for Plex because there is no one central repository of all of the media available on everyone’s server. There is Johnny’s server and his “feed”, there is Sarah’s server and her “feed”, there is Terrance’s server and his “feed”. And this is where the problem is (again, from my understanding). There are multiple feeds and Google is not built to handle this. This is why my suggestion was to build one central database held by Plex that could be cross referenced by which servers the user has been granted access to and then referenced by Google.

Because in some cases this is a direct local connection that does not leave your local network. I do not believe this will work with the current PMS as it requires an active internet connection for most of the features to work, including the HTTPS encryption they provide from Plex side.

In other cases automation commands are processed in the cloud and then sent back to the appropriate device. Again this does not work in this situation because Plex has nothing for Google to process, because YOUR server holds the information about what is on YOUR server, but PLEX does not hold this information. Again, to clarify, this is based on my interpretation and understanding.

I don’t thing the server would need to force the client to do anything. This is where Plex holding a centralized database of every file available from every server online would come in. There would have to be some sort of dynamic “feed” that Google references. That file would need to be created on the fly most likely, based on the user issuing command and the servers the are allowed access to. A cross reference to the central database could create a temporary working file of all titles available on the servers said user has access to. This temporary working file is then what is presented to Google to fulfill the query/command issued by the user. I’m sure there would be plenty of technical issues, however I think this might be a solution to conform to the way Google currently works.

Another option here is that we stop asking for Google Home integration altogether, and instead request something more vague that has more freedom to explore different options. Perhaps instead we should request “Voice Control of PMS for users of Google Home devices”. This would leave the door open for local only solutions that may not rely on any Google API at all or minimally.

Addition: It occurred to me that the dynamic file idea may not work if Google references its own copy of the feed that it has cached. In this case I am not sure if there would be a way to still give Google access to the entire database but then have it require the user to state the server they wish to play the file from. Something like, “Hey Google, Play movie XYZ on Johnny’s PMS via Plex” so that Google could not just match anyone who had movie XYZ but would need to look specifically for XYZ on Johnny’s server.

Nope. The database is not tied to individual servers.

If a match is found a link could be provided back to Google directing the user to the unique address of the server found during the query.

Google Home does not work that way.

Voice to speech does work within the Google “Search”, but that’s not the same as Google Home. If you open the Plex app, you can then use Google Home to do the voice to text within the search box. I think a few playback commands also work once something is playing (play, pause, stop). The hard part is getting the content o play through Google Home. That’s the part that can’t be done.

Can you elaborate on your response? The PMS server ID is not associated with any of the media it hosts?