MyPlex on PlexConnect

Hi guys,

 

i've only seen the MyPlex Support is coming soon, but have you any information about a timeline? MyPlex support is very important.. our server run remote in a datacenter..

 

(allowNetworks is not an option, because a bug in Plex Media Server (Plex Pass newest version))..

 

Thanks for any help..

+1

Only bit of missing functionality which is preventing me from moving away from the native ATV Plex client :(

The devs are doing the best they can and it should be coming soon as far as i know. Matter of weeks if you ask me.

I was asking myself the same question? Sorry, but I'm a newbie.. so is it correct I can't find things I add via Safari Addon to myPlex Queue to Plex on PlexConnect yet?

I was asking myself the same question? Sorry, but I'm a newbie.. so is it correct I can't find things I add via Safari Addon to myPlex Queue to Plex on PlexConnect yet?


Yes that is true.
No ETA yet on MyPlex support but "soon".

Any news on getting MyPlex working with Plexconnect?  :rolleyes:

Not quite... working hard on the other edges. :-D

What about a simple Workaroud for now, with hardcoding the myPlex Accounts per IP in the Config file?

I think this it's simple and quick to do and a way to use myPlex until a better function is here :)

It's coming along quite nicely but it's not ready quite yet.

https://github.com/iBaa/PlexConnect/pull/150

Oh, sounds good :)

Any update on this? :) Cant wait to have myplex in so we can finally enable parents/friends.

Any update on this? :) Cant wait to have myplex in so we can finally enable parents/friends.

Follow the string here to see how progress is going https://github.com/i...onnect/pull/150

Baa - Can you provide any indication when a working version of plexconnect will be available with MyPlex?  I read the git log, but the discussion seems as though there is a lot of tinkering with it, but not a serious release prospect.  Can you elaborate?

Thanksgiving? Christmas?
Honestly, I have no detailed timing made up for this. I never had. And most probably if we had one, it wouldn't hold :-)

I have been in the discussion on github every now and then, read the code... I just have to find some more time to make the steps, trying to find a nice and clean solution. So... stay with us. But don't hold your breath!

cosmicsoup: you call it tinkering, I call it 90+ hours of my own time learning how to use github, learning python, reverse engineering other plex clients and putting together code on my own time. That's a lot of my energy devoted to understanding and implementing a very sought after feature that nobody else has managed to pull off, so please don't dismiss my attempt to add support for myPlex as not serious. If you want a 100% stable release, feel free to add your notes, unit tests and code as a pull request to my repo or do it better and submit it as a pull request to iBaa's repo. Have you even tried my version of PlexConnect to see if it does what you need, or does the minute and a half it takes to backup your PlexConnect folder, grab my repo and test it seem like too much work?

That said, don't get me wrong, I know that it's a major hack on top of iBaa's code, but it's relatively stable and would possibly help you weather the non-myPlex storm until there's an official release. Yes, there may be/are bugs, but it's the only version I'm using here at home on a couple of ATVs and I'm happy with it.

I can tell you now that It is missing search and the ability to specify sub/language on remote content and the myPlex queue.

Sure, my response might seem snarky, but I took this on for two reasons: this thread is one of the most viewed threads on this forum AND I was missing myPlex, I decided to sit down and write it - at first as a proof of concept (which was a complete hack) and then evolving into a 2nd generation hack (which is more stable, but a bit of a departure from plexconnect codebase, and thus, a hack) - I knew nothing about python before this. In fact, I took this on because I was naïve enough to think that the original pull request from fspijkerman #67 was complete, but it wasn't. So, it fell on me to take it from there. (that pull request actually only implemented the code to connect to my.plexapp.com and get the authtoken, it was missing everything after that, including getting a server list, storing per-server tokens and providing the tokens in remote requests to get shared content) - basically it was incomplete login code without an ATV front end. (And still, my pull request shares credit with him, because I'm nice like that when I'm not being snarky)

The current version of my code is a departure from the PlexConnect codebase, both in a semantic way and in a code way - I've done something completely different in that I made a "state engine" that works in parallel with the existing code in order to make the whole server detection a per-atv thing. After I developed the proof of concept, I found that there's a divide in the code between per-atv settings and global per-plexconnect settings. myPlex wants to be somewhere in the middle of that, because requests are made to servers in a per-atv context when the rest of the plexconnect code treats a server in a global-context. In my mind, I always wanted PlexConnect to be more like other apps in that all settings were per-atv, (It's not as if you can edit a .conf file on an iPhone, etc) so, when I revised the myPlex code, I laid down framework to make plexconnect a little more atv-aware and a little more plex-aware. Ever since I've submitted that code, however, iBaa has stopped sharing his notes, which means that either the semantic change scared him off or he's being too nice to tell me what he really thinks of my approach. Either way, it mangles the original code base quite a bit and does a lot to plexconnect, invalidating some pretty important long-standing functions and functionality in exchange for methods I think make more sense from my point of view (not that it's necessarily right, but it's my opinion), but if I'm being honest, at some point I realized that there's no way someone's going to pull in 1000 lines of code and take on support to that scale without vetting it, or just writing it themselves, and I wouldn't really blame iBaa and the other developers for taking a cursory look at what I did and deciding that it doesn't fit into their plan.  

This is why my continued support has kind of fallen off. Really, my initial intention was to code this enough that someone more skilled in python would see my general idea and take it from there, but that hasn't happened. When that didn't happen, I tried to up my game and come up with a framework that brings PlexConnect semantically closer to an atv app, but either approach is clunky because it doesn't match the original intent of PlexConnect. I'm probably wrong (limited python experience and all), but I've kind of worked myself to the conclusion that there's no clear way to implement myPlex into the existing codebase of PlexConnect (or else I'm sure iBaa would already have it working in a non-hack manner). 

When you put all the variables together: The unlikeliness of the pull request ever coming to fruition/The fact that this covers mostly everything I needed out of myPlex/The fact that there's never going to be a clean and or nice way to implement myPlex into the existing plexconnect codebase/the fact that the only community feedback I've gotten is mostly negative, I'm having a hard time motivating myself enough to keep working on solving usage cases that don't really affect me. Furthermore, I have to be realistic that if none of the original developers care for the approach I've taken, this becomes a house of cards - an upstream merge away from being broken. I've taken on the learning, I've taken on the coding, and I've taken on the risks, but I'll never reap the rewards (this is not a thinly veiled request for accolades or donations - it's just me facing facts) - this could break tomorrow and everything I put in is really for nothing.

And don't get me wrong, I have nothing but respect for iBaa and PlexConnect. It's a fantastic program that ultimately urged me to buy a second ATV. I don't want it to seem like I'm bashing on him or his code. I'm a python newb so my opinion should be taken with a grain of salt. This isn't a rant to try to drum up support for my pull request - my opinion throughout this process is that my pull request was just a suggestion with a different opinion of where to take the software - different opinions aren't always better - I might be out to lunch, and iBaa and the rest of the team have to keep developing with their plan in mind in a manner that makes sense to their goals and maintainability, not mine.

That said, I would advise that if you're really, really missing myPlex, to backup your existing folder, pull my repo and see if it works well enough to cover what you need. I put over 90 hours in, you could spare a few minutes to see if it's feature complete enough to put a smile on your face.

Hopefully this clears everything up and encourages others to try my code and encourages other developers to add their input to the process.

>> iBaa has stopped sharing his notes, which means that either the semantic change scared him off or he's being too nice to tell me what he really thinks of my approach.

Others might just say "lack of time"...

It's not that PlexConnct is my full time job (the payment wouldn't allow that...), nor is MyPlex the only issue to solve (see localisation, https, GUI improvements, general clean up...).

Believe me, I do have a copy of your version on my hard drive and running it every now and then, trying to figure out what you did (and why...). In principal it works... but there are some little quirks, that you just can't sell - eg. right at the start if you are CANCELing out of the login process (HMI?).

In general I have close to no idea about that MyPlex stuff. Got to learn that as well, doing some baby steps trying to maintain all the current functionality. So in the end, PlexConnect's code might just evolve into your suggested direction - though up to now I don't understand the reasons for some of your big changes. :-D

@MegaHambone I use your version every day and it works great since you fixed the things I pointed out on github. I really hope you continue on your work and continue to develop as an developer (<--see what i did there). I love being able to use myplex on my atvs.
@Baa I love all your work to =)
And I hope you guys can find a way to implement MegaHambone's work into the mainline of plexconnect.

 

Baa: I understand all too well the lack of time (Real Job / 4 year old twins / GTAV released) - I guess it's my lack of explosure to python that has me thinking I'm doing it wrong all the time, so I apologize for projecting that on you.

I'd be more than willing to expand on my concept - essentially, I'm trying to make webserver a webserver, xmlconverter an xmlconverter and move anything else into a per-atv scope. Essentially, plexconnect needs to be a little more aware of how to manage plex from a server and section perspective to implement myplex properly. I implemented a plexmgr class to handle some of this heavy lifting. When I put it together, I also realized that I could serialize the class on destroy (pickle) and deserialize it (unpickle) when I need it again. This means that suddenly all the settings that are stuck in the .conf file can become per-atv settings, because we can persist the state of each ATV in a fairly uncomplicated manner.

From a myPlex perspective, this is awesome, because once you set the "currentServer", that ATV will continue to run queries against the specific myPlex server until currentServer is set to something else. Everytime XMLConverter runs, it attempts to restore the state of the management class from the prior run. From a general perspective, this means that you could have any and all settings on a per-atv basis without the need for ATVSettings.py or Settings.py - it can all be added to the PlexMgr class and it will be persistent. Instead of setting the plex server in the .conf, you go into the menu and add it manually - for just that ATV. Maybe you want one ATV with a static server off a VPN and the other to do GDM. the only thing that could be in the conf is webserver configuration.

I'd be more than interested in taking further discussion of this offline. I'll send you a PM with my email.

Thanks.

@MegaHambone I use your version every day and it works great since you fixed the things I pointed out on github. I really hope you continue on your work and continue to develop as an developer (<--see what i did there). I love being able to use myplex on my atvs.
@Baa I love all your work to =)
And I hope you guys can find a way to implement MegaHambone's work into the mainline of plexconnect.

 

Thank you so much for the feedback.

I'm glad that it's working well for you.

MegaHambone, I've been tracking your work on github and it's seriously impressive.  I think there is just a slight communication disconnect between you and the rest of the team, sometimes I've found that complex ideas are best discussed over the phone / skype, rather than through text, maybe you could work on setting up a call with iBaa and the rest of the team? As you said it would be a shame to see all of your hard work go away.