-
Notifications
You must be signed in to change notification settings - Fork 48
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ATV no longer connects with tvOS 15 public beta 2 installed #53
Comments
Thx, for the input, at least something =)) |
Which remotes are you referring to in this case? |
@postlund The remote in the Control Center on iOS still works. I mentioned that because it might be possible to MITM the official remote connection and see if there's any difference with how it's working now. |
@bsharper Control center uses another protocol, Companion, that's why it is working. Possibly also in conjunction with AirPlay 2 for metadata and such (not confirmed though). From what I have gathered, I suspect that apple is getting rid of (or at least less dependent on) MRP in tvOS 15. If you use the Remote app in iOS 15 beta, it probably says to use the control center widget, right? Does the Remote app work in iOS 14 or earlier at all? |
@postlund Ah, I wasn't aware that the widget used the Companion protocol. Interestingly, tvOS 15 beta is still announcing I see you've done a lot of work with the Companion protocol with pyatv (the documentation under https://pyatv.dev/documentation/protocols is an incredible resource, I'm in awe of your skills). Have you had any luck sending commands (up/down/menu/select) to the ATV using Companion? |
@bsharper Yeah, I think they switched to Companion in iOS 13 (in control center). Prior to that they used MRP. I also find it a bit peculiar that they still announce the service, that's why I'm not a 100% certain they are removing it. By actually removing support for MRP, they are ditching a bunch of features which I find a bit sad if they do (e.g. additional metadata and game pad support). I just hope they don't, especially after putting so much work into reverse engineering it... I've never heard of Yeah, I've put a lot of time into Companion. There's still a lot left and by the looks of it, I might have to spend more time with it. I haven't implemented support for any remote control buttons yet (I have all the button codes though, as mentioned in the documentation), but I can try to fix that tonight. Maybe you are willing to test it for me? |
@postlund The reason I was thinking And I would be more than happy to help test this. I have both a standard ATV running tvOS 14 and a 4K model running tvOS 15 beta. Let me know when you have something for me to test and we can go from there. Thanks! (edited to fix punctuation) |
@bsharper That was pretty much what I wanted to hear 👍 We can likely ignore that for now. I'm working slowly on the Companion support, can hopefully finish it tomorrow or so. Just pushed support for scanning only for specific protocols, so you more easily can make atvremote ignore the MRP service and not get an error message when connect fails. I'll post here when I have something to test. |
@bsharper After dealing with lots of annoyances, I've managed to stitch something together here: postlund/pyatv#1218 You can see exactly which buttons are supported if you check the source. Scroll down to the
Just replace ip and creds with your values. The same command can be used to send the commands, just change |
Thanks for reporting that @elvisimprsntr! It's sad, because now we lose a lot of work and we will need to put a lot of effort in to get this working again 😕 |
@elvisimprsntr Just out of curiosity, do you know what protocol text input events are handled with from the Apple TV? I never saw events that would correlate to this over MRP when the ATV would broadcast that text input was available to any nearby paired device. |
@postlund I'll take a look at this shortly, I apologize for not looking sooner, I must have not seen the notification when you posted this message, or perhaps a sleeping pill got in the way... either way I'll be looking at this soon. If I checkout the |
@bsharper Yeah, checkout that branch and do Will be interesting to see, got a report about a missing service when testing it. Let's see if you get the same. |
@postlund I used this code for testing: https://github.com/postlund/pyatv/blob/master/examples/pairing.py but replaced
Of course, this is under the assumption that scan results from MRP can be used as an input for pair using Companion, which may not be possible. |
@bsharper You need service details for the companion protocol, so just MRP won't be enough. It's easier to just use atvremote:
Does that work? |
Progress! I got it paired using the companion protocol, and when I call Available: Up, Down, Left, Right, PlayPause, Select, Menu, VolumeUp, VolumeDown, Home, AppList, LaunchApp, TurnOn, TurnOff When I try to run a command like "right" I get: Here's the full stack trace:
|
@bsharper That's more like it! Exactly the behavior I was anticipating. If you own a mac, have some free time and want to help out even more you can see my answer here: postlund/pyatv#1168 (comment). I basically need to know if they changed name of the service. |
Let me know if this is what you're looking for,
|
@bsharper Huh, interesting. It actually returns |
@postlund Yes actually now I'm getting an error in the Shortcuts app:
I tried that from both a beta and non-beta iOS device. Fortunately I do temporarily have a 2nd ATV running tvOS 14 standard / non-beta. Let me try it on that, one sec. |
@postlund This time the app list populated in Shortcuts. This is from an ATV running tvOS 14.6
|
From the looks of this: Available: Up, Down, Left, Right, PlayPause, Select, Menu, VolumeUp, VolumeDown, Home, AppList, LaunchApp, TurnOn, TurnOff I'd say the change is necessitated by the new ATV remote design? |
Maybe we can conclude that something is broken in tvOS then? If the official shortcut doesn't work, it's hard for me to do anything. Let's hope it gets fixed in the next beta. Poor quality control on Apples part... |
Not all commands need that service from what I've gathered. I added the Maybe someone can do that and verify with tvOS 15? If it works, I can clean up and finish the commit to merge it later tonight. |
@postlund I commented out that line and tried some of the navigation commands. For example: With Let me know if I should have done something differently. I'm still using the code from the |
@bsharper Ok, that is interesting. Does |
@postlund It does! Both It gives me the error:
I've double-checked the IP, pairing using the companion protocol on tvOS 14 doesn't seem to work. But this is good, I think other than pairing I haven't seen tvOS 15 respond to any of the companion commands until now. |
@bsharper Woah, that is peculiar to say the least. I would expect pairing Companion on tvOS 14 to work just fine. I assume you are on the same VLAN as that device? Does |
@postlund Interesting, when I remove It may have also been a timing thing, since the tvOS 14 device was just powered on. I'm swapping ATVs (one HD running tvOS 14 and one 4K running tvOS 15 beta) by physically swapping the HDMI and power cables between them. I probably just needed to wait longer for the newly started ATV to make a few announcement broadcasts to the rest of the network. |
@bsharper That might be the case, yes. It should work better and faster with |
@postlund I tested the directional commands (up/down/left/right), and they are working on tvOS 14 using the companion protocol, but not on tvOS 15 beta. I'm not using any VLANs, everything on the network I'm testing on is pretty basic (one subnet). I've been testing from 2 devices, an iMac connected via ethernet and a Raspberry Pi 4 connected via both ethernet and wifi. |
@bsharper Thank you, I'm satisfied enough with that. As long as tvOS 14 works it's ok as tvOS 15 seems to be all over the place right now. Since I managed to finish the PR yesterday with tests and all, I'm going to merge that now. I guess we will have to keep monitor the situation until tvOS 15 is released. |
@postlund Sounds good, I'll test with Companion when the next beta drops and post if anything changes. |
Anyone interested in the progress of making things work with tvOS 15 can follow my journey here: postlund/pyatv#1255 (comment) I should hopefully have some early work available for testing within the next few days. |
Hi, so it's basically stuck like this. Any ideas how to fix it? Thx in advance
It is stuck after sending the initial DEVICE_INFO_MESSAGE
The text was updated successfully, but these errors were encountered: