Plex Binding Questions

I’m having trouble getting my Plex binding to work.

Below is my setup:
RPi3 - Raspbian
OH1
org.openhab.binding.plex-1.8.3.jar in addons folder

openhab.cfg settings:

plex:host=192.168.1.xxx
plex:port=32400
plex:username=<myID>
plex:password=<password>
plex:token=tC<the rest of my Plex Token>

I get a 401 error when I try to go to:

 http://<plex server ip>:<port>/clients 

I pulled my client identifier out of the xml and have the below in my .items file:

String PlexTVType “Type [%s]” (Plex) {plex="#type"}

I don’t have any errors in my log file, but when I play a show on my iPad, it doesn’t display anything.

I’ve searched the forums and didn’t see any recent examples that were different than the wiki, so I’m not sure what I’m missing.

Thanks in advance.

I was able to download the org.openhab.binding.plex-1.9.0.201602082125.jar file to replace the 1.8.3 version on OH1 to see if that was my issue.

I do have Plex Home and I’m a Plex Pass user.

I have the below in my home.items file now:

String PlexTVStatus     "Status [%s]"   <video>     (Plex) {plex="<myclientID>#state"}
Dimmer PlexTVVolume     "Volume"        <video>     (Plex) {plex="<myclientID>#playback/volume"}
Switch PlexTVPause      "Pause"         <video>     (Plex) {plex="<myclientID>#playback/pause"}
Switch PlexTVPlay       "Play"          <video>     (Plex) {plex="<myclientID>c#playback/play"}
Switch PlexTVPlayPause  "PlayPause"     <video>     (Plex) {plex="<myclientID>#playback/playpause"}
Switch PlexTVStop       "Stop"          <video>     (Plex) {plex="<myclientID>#playback/stop"}

and the below now in my home.sitemap file

        Text item=PlexTVStatus        
        Switch item=PlexTVPause
        Switch item=PlexTVPlay
        Switch item=PlexTVPlayPause mappings=[ON="▐ ▌"]
        Switch item=PlexTVStop mappings=[ON="Stop"]
        Slider item=PlexTVVolume

However, when I play something on my client, I can’t see the current status or control Plex via OpenHAB.

Thanks for any assistance you can provide.

I’ve never been able to get any part of the Plex Binding to work. Does it just not work in OH1?

I can’t seem to get it to work either. Latest version of plex server installed on my Pi, playing media through my Xbox One and PS4 with what seems to be the correct OpenHAB setup but still nothing.

Also have issues with the setup specifically with Xbox One. If I set it to the client-id of a web client it works, but XB1 just says status stopped when something is playing

Hello!

I’m now on OH 2, but I’ve used it on 1.8 and it was working (at least status/title/cover part). Have you tried adding OH IP address to the “List of IP addresses and networks that are allowed without auth”? You can find this option in the Web UI of the Plex Media Server:

  1. Go to settings
  2. Choose Server
  3. Click Show advanced button
  4. Choose Network in the side menu
  5. The option should be located near the bottom

Just add your OH IP address there, even if it’s located on the same machine as Plex Media Server.

Best regards,
Davor

Hi!

I actually just managed to get this working. It wasn’t an auth issue (openhab was seeing the web clients fine)-- I noticed when I looked at the xml from the Plex server, that for some reason the string for my machineIdentifier/clientId for my xbox was wrapped in an extra set of double quotes so it read:
machineIdentifier=""[client-id]""

So on a hunch, I just added the double-quotes as the client-id and escaped them with \" and it worked! I’m not sure why only the xbox machine identifier was formatted like this and the web clients weren’t, but if anybody else runs into this issue, hopefully that will help

@davorf - Yep, I do have that on my Plex server. I have the IP of my Pi running OH1.

@ward_craig_j, Are you saying you added quotes just around the client ID in your items file? I have the below right now and it doesn’t work:

Switch PlexTVPower      "Power"         <video>     (Plex) {plex="c88f0<xxxxxx>82c#power"}
String PlexTVStatus     "Status [%s]"   <video>     (Plex) {plex="c88f0<xxxxxx>82c#state"}

Did you have to add double quotes around just the client id?

Where/how did you see the extra quotes in the XML? I found my client ID in the URL while using the web app.

Hi, sorry @kemotsysinc. Missed the e-mail notification for this.

Try {plex="“c88f082c”#power"} for your item definitions. if you go to http://:32400/clients you should be able to see XML with a list of clients (you might need to allow access without auth to the machine you are browsing from in the plex settings if you get an error)