PlexConnect on ATV 7.0 GM (iOS 8.0 GM)

Even with openplex I need to restore atv to push Plex icon?

Yes, OpenPlex (for OS X) prepares the desired custom icon for upload. 

ATV Update done. so far so good.

PlexConnect not updated yet.

Is it possible to change both icons AND text below ?

Thanks

Can't get to put the Plex Icon,.... Windows user.

Any detailed how-to ?

post #212 in this topic. No you cannot change the text under the any hijacked app on an aTV3.

PlexConnect still runs with Apple TV-Software 7.0.1

Just for info...

Being a lazy old bugger. Does the latest ATV software (7.0.1 I believe) still allow hijack of iMove Theater using Plex Connect? Sorry, I've been ultra-busy recently so never got round to checking which apps can be hijacked, and I've not yet updated my Mac to Yosemite, nor ATV to the latest software and just wanted a quick answer.

Thinking about it. Any chance of getting a sticky thread going that details what does / does not work for the current ATV versions and Plex Connect versions, e.g.; ATV 7.0.1 and PlexConnect v0.4 (or whatever current version is) = Works. Then a simple Trailers hijack = yes, iMovie Hijack  = yes.

Not asking for much am I :D

Does the latest ATV software (7.0.1 I believe) still allow hijack of iMove Theater using Plex Connect? YES!

Thanks, very much appreciated :)

can someone help me out

can someone help me out

See the main topic in this forum and start your own thread bro.  

Resurrecting an old thread now, but there are problems with the latest update on the TV3 (or maybe earlier updates too). Everything is in place and while the TV is resetting itself in order to ‘inject’ the Plex icon, I am watching the output of PlexConnect (with WebServer.py modified to provide the Plex icon), but at some point PlexConnect starts spewing out errors, as have been reported here before - “ValueError: too many values to unpack”

Having had a poke around in the code and what it is having to deal with, it is apparent that the icon names are now mostly changed to e.g. ‘com.apple.imovietheatre.appletv@1080.png’ which means the code used to split this name, either side of a single ‘.’ is of course falling over due to the multiple dots in this extended type of icon name.

At the moment, all I can think of doing is diving in with some (new to me) Python code to try and get it to correctly deal with these new names. However, I have very little experience of Python. So…

Has anyone already come across this issue (surely everyone must be affected when their TV is on 7.2 (or thereabouts). I cannot be the only one. Is there a fix already or is there a Python expert who can help look into this?

I modified the code and it all seems to work ok now. At least, the icons load. Now just need to check that PlexConnect actually runs.

Yeah the latest update AGAIN points the imovietheatre app to look for an icon elsewhere, which in turn, means you have to slightly adapt the python script.

So that others don’t have to go digging, your aTV will use one of the below, depending on it’s firmware:




I’ve also noticed that, since the latest update, you don’t need to do a full restore in order to clear the icon cache. I managed to get away with just resetting it in the end.

For changing the most recent iMovieTheatre icon, I’d add this to WebServer.py, Line 157:

            # serve the plex icon
            if self.headers['Host'] == 'a1.phobos.apple.com' and self.path.endswith(".png"):
                basename = path.basename(self.path)
                iconname, ext = basename.rsplit('.',1)
                dprint(__name__, 2, "serving icon {0}", iconname)
                name, rez = iconname.split('@')
                dprint(__name__, 2, "icon name: {0} at {1}", name, rez)
                if name == 'com.apple.imovietheatre.appletv':
                    dprint(__name__, 2, "getting plex icon")
                    f = open(sys.path[0] + sep + "assets" + sep + "thumbnails" + sep + "icon@" + rez + ".png", "rb")
                    self.send_response(200)
                    self.send_header('Content-type', 'image/png')
                    self.end_headers()
                    self.wfile.write(f.read())
                    f.close()
                    return
                else:
                    dprint(__name__, 2, "getting app icon")
                    self.send_response(200)
                    self.send_header('Content-type', 'image/png')
                    self.end_headers()
                    self.wfile.write(urllib.urlopen('http://' + self.headers['Host'] + self.path).read())
                    return
            elif self.headers['Host'] == 'a1.phobos.apple.com':
                # something other than an icon was requested
                self.send_response(200)
                self.send_header('Content-type', self.headers['Content-type'])
                self.end_headers()
                self.wfile.write(urllib.urlopen('http://' + self.headers['Host'] + self.path).read())
                return

Thanks,
Rob

I’ve just set up 3 x TV3s and yes, just resetting will cause it to fetch new icons. But this is what I’ve done to be able to ‘inject’ the Plex icon:-

The main requirement is to be able to ensure the TV3 is set to use PlexConnect as its DNS. It is this that can require pulling network cables in and out of routers etc. However, I run my own (Mac) server which not only acts as my Plex Media Server but also general network duties like DHCP and DNS and so I configured those to ensure the TV3s always have the correct DNS setting.

First of all you need at least 2 separate IP addresses on the server (I have several for different purposes). Can all be the same physical network interface and trivial to set up in Network Prefs in MacOS.

Now restrict the normal DNS service to only use one of these addresses by adding a ‘listen’ option into named.conf. Has to be done by editing the file as Apple’s Server GUI doesn’t provide that option, but it does respect any settings you make outside of its control.

Then in Settings.cfg tell PlexConnect to only use the other IP address you set up for this and of course any other suitable configuration (I had to manually set the PMS address and ‘enable_plexgdm = False’).

Now each DNS is operating on and restricted to different IP addresses.

Then in the DHCP server I ensured the existing subnet/network/scope supplied the normal DNS address (the one the DNS is configured to ‘listen’ on as set above) to clients and set up a new one that served the PlexConnect DNS address. I set this up with an address range of exactly 3 and configured a static reservation of each of these addresses for one of my TV3s. In this way, each of those TV3s will ALWAYS receive the specified address and DNS server (and anything else you wanted to configure for that subnet/network/scope), but nothing else can EVER be included in that and so everything else will ALWAYS be in the other main subnet/network/scope and receive appropriate addresses and the other main DNS server.

Sounds more complicated than it is, but it just ensures the network operates normally except for the specified TV3s that will always be set to use PlexConnect as DNS. This means that every time an TV3 connects to the network its connection is being intercepted by PlexConnect and no need to faff with pulling cables in and out at exactly the right time etc.

The net result of this is that in order to set up an TV3, I just have to ‘reset all settings’ and when it’s finished the new icon is in place exactly as specified in WebServer.py as modified above. Then go to ‘Send Data to Apple’, hit ‘play’ and create the profile. Provide the URL that points to the appropriate certificate (within PlexConnect’s assets/certificates folder) which loads and then you can run PlexConnect on your TV3.

At which point you discover it cannot find your PMS (even though it’s on the same machine). Well it did say it found a server, but no libraries. So I tried logging in which made it worse at it now reported 0 servers found :frowning:

So I added the TV3 addresses into the PMS configuration to be allowed to connect without authorisation. Still no libraries. So I then also added the PlexConnect address as I realised that this is what is actually connecting to PMS. Aha, now it finds the libraries and all is well. I suspect I could delete the TV3 addresses from that list, but not bothered to do that yet.

This is an easy setup to create and use (now you know what to do :slight_smile: ) and also easy to mod should I add any more TV3s. I have specifically kept this to TV3 as I think an TV2 needs something slightly different and an TV4 should NOT be included in this as it will run its own Plex app without any fancy config like this.

I just hope PlexConnect can continue to be usable with future updates to Plex.

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.