PlexConnect on Drobo?

This is the holy grail … though I doubt it’ll be possible in the very near future, I thought I’d throw this out there to see what happens …

http://elan.plexapp.com/2013/06/04/introducing-plexconnect-an-appletv-client-which-thinks-different/

^ running PlexConnect on the Drobo would be awesome, and allow direct access to the media content from an AppleTV (not jailbroken) :stuck_out_tongue:

It’s an XML plugin for the main Plex app? I’m not a Plex Pass member so I can’t be sure, but it sounds as though it isn’t hardware dependent…

EDIT: Just saw the issue about it needing a proper Python library. Ricardo to the rescue?

Python is built into the Plex app (along with a great many things - did you see the size of that thing?), so that shouldn’t be an issue.

From what I can see on the github page ( https://github.com/iBaa/PlexConnect ), a complete install on a 5N should go like this:

  1. Download and install Python and git from DroboPorts. Python might be optional, as diamondsw mentioned.
  2. Clone the github repository for PlexConnect. Something like this:
cd /mnt/DroboFS/Shares/DroboApps/
git clone https://github.com/iBaa/PlexConnect plexconnect
  1. Edit Settings.py in /mnt/DroboFS/Shares/DroboApps/plexconnect using what ever editor you want and fix the IP address in this line to be the address of the 5N:
    'ip_pms'          :('192.168.178.10',), \
  1. Start PlexConnect like this:
cd /mnt/DroboFS/Shares/DroboApps/plexconnect
sudo ./PlexConnect.py

I’ll leave using of Plex’s own Python interpreter as an exercise for the reader.

I’ve been googling for how to set this up on my 5N, but didn’t find any posts where anyone had actually tried it.

Ricardo’s instructions will work. I went a slightly different route.

  1. Downloaded openssh, bash and python from DroboPorts.
  2. Copied the compressed tarballs (tgz’s) into the DroboApps share on my Mac.
  3. Rebooted the Drobo
  4. Did the git clone of PlexConnect on my Mac and then copied it over to the DroboApps share again.
  5. Then ran through the certificate creation, and provisioning profile installtion on the AppleTV http://langui.sh/2013/08/27/appletv-ssl-plexconnect/
  6. Changed the ip_pms address as noted below
  7. Finally remembered to modify the AppleTV’s DNS server to point to the Drobo.

All seems to work! Thanks Ricardo for your post, so happy to ditch the Roku!

I tried it out to see how it was compared to an jailbroken AppleTV with AppleTV black and I liked it. The only thing is, and maybe I have it configured wrong, is that I have to stay logged into the Drobo for it to keep running from a Mac. Do I have it configured wrong?

Edit: Looks like that is normal operation when closing the Terminal window. I read a couple of places to add an ‘&’ at the end of the command when starting PlexConnect and that seemed to be working. Basically $python ./PlexConnect &

& will launch the process in its own shell instance, rather than the shell you’re interacting with. IOW, it will launch it in the background.

The answer to that is Screen: http://www.droboports.com/app-repository/screen-4-0-3

I’d prefer tmux personally but I haven’t really figured out this cross compiling for the Drobo thing yet despite multiple attempts. I’ll get it eventually.

Any idea how to get PlexConnect.py to start at boot time? I thought I could add a script to /etc/init.d, but I don’t see anywhere in there where its starting the other drobo apps, like Plex itself.

The short explanation: (1) create a service.sh script in the folder where PlexConnect is installed (e.g.: /mnt/DroboFS/Shares/DroboApps/PlexConnect/service.sh); (2) put the commands to start PlexConnect in there; (3) the Drobo detects the presence of that service.sh file automatically and launches the app at startup for you.

There is a proper syntax for the sevice.sh file, which you can find reading the SDK 2.0 document here: http://www.drobospace.com/forums/showthread.php?tid=63869

I have a page with useful features for a sevice.sh script here: https://code.google.com/p/droboports/wiki/Service_sh_template

Bonus points: if you do your service.sh correctly, then your app will appear on the Dashboard and you’ll be able to start/stop/restart it from there.

Tried my hand at creating a service.sh file but I need a bit of help. Can anyone who has some experience in this look at this and let me know if its setup correctly? I looked through the links above as well some other DoboApps service.sh files and there is some small differences with how quotes are used. Also, the pidfile doesn’t seem to get created when I try to start it in the dashboard but then again, it gets stuck when I start the app at Starting Application. I can start it up on the command line if i manually type it in.

#!/bin/sh
#
# PlexConnect Service script

. /etc/service.subr

prog_dir=`dirname \`realpath $0\``

name="plexconnect"
version="0.3.1+"
framework_version="2.0"

python=$DROBOAPPS_DIR/python2/bin/python
pidfile=/tmp/DroboApps/${name}/pid.txt

start() {
	${python} ${prog_dir}/PlexConnect.py &
}

case "$1" in
  start)   	start_service ;;
  stop)    	_stop_service ;;
  restart)	_stop_service ; sleep 3 ; start_service ;;
  status)	status ;;
  *) 		echo "Usage: $0 [start|stop|restart|status]" ; exit 1 ;;
esac

Thanks for any help

Looks good. Three things come to mind:

  1. You’re missing a “description” variable, like “name” but a bit longer.

  2. The plus sign in the version string might cause some trouble. I have never seen any apps use that. It might work, it might cause trouble.

  3. Are you sure that PlexConnect.py is creating the pidfile at /tmp/DroboApps/plexconnect/pid.txt? You have to make sure that pid.txt exists and contains the PID of PlexConnect, otherwise the start/stop controls on the Dashboard won’t work.

  1. I will add that then. I took it out cause i thought it be optional and I didn’t really have anything

  2. I’ll try it without and report back

  3. The pid file is what I think is causing my issues. It does not get created. I thought it was how I was putting the path in quotes or not. Does it have to coded in PlexConnect.py to create the PID? Is there supposed to be a host_uid file in the directory? I’ve noticed that some apps have one

isaacrdz,

Can you give us an update on your progress? I would love to see if this was a success.

I’m a newbie to the Drobo5N apps, but I think I’ve followed all instructions, but my “Sudo” app doesn’t appear to be working. When I type “sudo ./PlexConnect.py”, I get “sudo: not found”

Any idea what I’m doing wrong? Thanks for any help you can provide!

Have you configured you $PATH variable? More info here: http://www.droboports.com/using-command-line-apps

Thanks for your help. I followed the instructions on that page, but I’m getting the error “sudo: ./PlexConnect.py: command not found” after typing “sudo ./PlexConnect.py”. I’m really hoping to get this figured out, I’ve been running PlexConnect on my Mac without trouble but would prefer to do it on the 5N.

Thanks for any further guidance you can offer.[hr]
It looks like the $PATH variable change doesn’t work with “root”, but when I login with a created username, I get the error that there’s no home directory. So if I try to save the .profile file, it tells me it doesn’t exist. Do I need to create a home directory somehow?

It looks like the sudo command is working, but that it doesn’t recognize the PlexConnect.py as a python file. I have done the “easy install” for python, but it doesn’t seem to be working. Can anyone help me figure out what I’m doing wrong?

The PATH variable change has to be done for the root user, not for the user you logged in with.

I have done the change while logged in as root, but I still get the same error. I’ve followed the installation procedures as closely as possible (just fixing a URL which has changed here and there), but I’m still having no luck. It’s very odd that it’s not working, I feel like it has to be something small that I did wrong which is screwing it up. Oh well, I guess I may have to continue to run PlexConnect on my Mac if I’m not able to get this thing sorted. Are there any error logs or such that I could pull in order to figure out why it’s not working?

Thanks again.

What happens if you call sudo by its full path, like this: /mnt/DroboFS/Shares/DroboApps/sudo/bin/sudo

Does that file exist? Can you run it?