Jump to content
C4 Forums | Control4

AppleTV IP driver woes


Recommended Posts

Hi,

I'm having some issues with our AppleTV and wondered if anyone has any advice. We've had the usual problems between updates etc. and random disconnections but it can usually be resolved by deleting the bridge in HomeKit and starting again, or generally fiddling. Alas, not this time....

I've deleted the EA5 bridge in Homekit and re-added it via the iOS app. This is the debug output on the Apple Bridge driver:

UIRequest(GetStatus):
UIRequest(GetBridgeId):
UIRequest(GetStatus):
UIRequest(GetBridgeId):
UIRequest(GetStatus):
UIRequest(GetBridgeId):
<-------- [6001/9200]: {"async":"persist","data":{"persist":"eyJkYyI6IjFkNzJjMDAwIiwiaWQiOiI4Rjo4RDozODpCMDo3Mzo2RSIsImt2Ijp7IjkwOjAwIjoiUSsvYVF4MjgiLCI5MDoxMCI6IkF3QUFBQUlBQUFBQkFBQUEiLCI5MDoyMCI6IkFnQUFBQT09IiwiOTA6MjEiOiJJQmNGVXN2ejRGelF4OGhCNk04SVFmUExNcWpPNnhraUI5WkNDTVhUU0tBPSIsImEwOjAwIjoiTVVaRVFVWXpNRFF0UkRoRk1DMDBSRFEwTFVGR1JFUXRNVUk0TWtWRlF6VTFSalU0SlBRY3BYekVJZ2FrR1Y0UkpJUFByOXlCZUJRcjdLcWk4OTdqMS9Gc25uRUpBUT09In0sInJjIjp7IjEiOnsiMDA6MDAiOiJBQUE9IiwiMDA6MDEiOiJBQUFBQUE9PSJ9fSwic2MiOiIxODgtOTQtMTkzIn0="}}
<-------- [6001/9200]: {"async":"status","data":{"paired":true}}
<-------- [6101/9200]: {"async":"status","data":{"active":0,"available":[{"identifier":54526256,"name":"Rack"}],"bridged":true}}
---DEV--> C4:SendToDevice(1017, "NOT_ACTIVE", {})
Available[54526256]: Rack
---DEV--> C4:SendToDevice(1017, "AVAILABLE_CHANGED", {54526256: Rack})
ExecuteCommand(ACTIVATE): ID: 1017, REMOTE: Rack [54526256]
--------> [6101/9200]: {"args":{"identifier":54526256},"method":"activate"}
<-------- [6101/9200]: {"method":"activate"}
<-------- [6001/9200]: {"async":"persist","data":{"persist":"eyJkYyI6IjFkNzJjMDAwIiwiaWQiOiI4Rjo4RDozODpCMDo3Mzo2RSIsImt2Ijp7IjkwOjAwIjoiUSsvYVF4MjgiLCI5MDoxMCI6IkF3QUFBQUlBQUFBQkFBQUEiLCI5MDoyMCI6IkFnQUFBQT09IiwiOTA6MjEiOiJJQmNGVXN2ejRGelF4OGhCNk04SVFmUExNcWpPNnhraUI5WkNDTVhUU0tBPSIsImEwOjAwIjoiTVVaRVFVWXpNRFF0UkRoRk1DMDBSRFEwTFVGR1JFUXRNVUk0TWtWRlF6VTFSalU0SlBRY3BYekVJZ2FrR1Y0UkpJUFByOXlCZUJRcjdLcWk4OTdqMS9Gc25uRUpBUT09In0sInJjIjp7IjEiOnsiMDA6MDAiOiJBQUE9IiwiMDA6MDEiOiJNQUZBQXc9PSIsIjAxOjAwIjoiTUFGQUF4Z0FCUUJTWVdOckFBPT0iLCIwMTowMSI6IkFRPT0iLCIwMTowMiI6IkFnPT0iLCIwMTowMyI6IkF3PT0iLCIwMTowNCI6IkJBPT0iLCIwMTowNSI6IkJRPT0iLCIwMTowNiI6IkJnPT0iLCIwMTowNyI6IkJ3PT0iLCIwMTowOCI6IkNBPT0iLCIwMTowOSI6IkNRPT0iLCIwMTowYSI6IkNnPT0iLCIwMTowYiI6IkN3PT0iLCIwMTowYyI6IkRBPT0iLCIwMTowZCI6IkRRPT0ifX0sInNjIjoiMTg4LTk0LTE5MyJ9"}}
<-------- [6101/9200]: {"async":"status","data":{"active":0,"available":[],"bridged":true}}
---DEV--> C4:SendToDevice(1017, "NOT_ACTIVE", {})
---DEV--> C4:SendToDevice(1017, "AVAILABLE_CHANGED", {})
---DEV--> C4:SendToDevice(1017, "NOT_ACTIVE", {})
Available[54526256]: Rack
---DEV--> C4:SendToDevice(1017, "AVAILABLE_CHANGED", {54526256: Rack})
ExecuteCommand(ACTIVATE): ID: 1017, REMOTE: Rack [54526256]
--------> [6101/9200]: {"args":{"identifier":54526256},"method":"activate"}
<-------- [6001/9200]: {"async":"persist","data":{"persist":"eyJkYyI6IjFkNzJjMDAwIiwiaWQiOiI4Rjo4RDozODpCMDo3Mzo2RSIsImt2Ijp7IjkwOjAwIjoiUSsvYVF4MjgiLCI5MDoxMCI6IkF3QUFBQUlBQUFBQkFBQUEiLCI5MDoyMCI6IkFnQUFBQT09IiwiOTA6MjEiOiJJQmNGVXN2ejRGelF4OGhCNk04SVFmUExNcWpPNnhraUI5WkNDTVhUU0tBPSIsImEwOjAwIjoiTVVaRVFVWXpNRFF0UkRoRk1DMDBSRFEwTFVGR1JFUXRNVUk0TWtWRlF6VTFSalU0SlBRY3BYekVJZ2FrR1Y0UkpJUFByOXlCZUJRcjdLcWk4OTdqMS9Gc25uRUpBUT09In0sInJjIjp7IjEiOnsiMDA6MDAiOiJBQUE9IiwiMDA6MDEiOiJBQUFBQUE9PSJ9fSwic2MiOiIxODgtOTQtMTkzIn0="}}
<-------- [6101/9200]: {"method":"activate"}
---DEV--> C4:SendToDevice(1017, "ACTIVE", {ID: 54526256})
Available[54526256]: Rack
<-------- [6001/9200]: {"async":"persist","data":{"persist":"eyJkYyI6IjFkNzJjMDAwIiwiaWQiOiI4Rjo4RDozODpCMDo3Mzo2RSIsImt2Ijp7IjkwOjAwIjoiUSsvYVF4MjgiLCI5MDoxMCI6IkF3QUFBQUlBQUFBQkFBQUEiLCI5MDoyMCI6IkFnQUFBQT09IiwiOTA6MjEiOiJJQmNGVXN2ejRGelF4OGhCNk04SVFmUExNcWpPNnhraUI5WkNDTVhUU0tBPSIsImEwOjAwIjoiTVVaRVFVWXpNRFF0UkRoRk1DMDBSRFEwTFVGR1JFUXRNVUk0TWtWRlF6VTFSalU0SlBRY3BYekVJZ2FrR1Y0UkpJUFByOXlCZUJRcjdLcWk4OTdqMS9Gc25uRUpBUT09In0sInJjIjp7IjEiOnsiMDA6MDAiOiJBQUE9IiwiMDA6MDEiOiJNQUZBQXc9PSIsIjAxOjAwIjoiTUFGQUF4Z0FCUUJTWVdOckFBPT0iLCIwMTowMSI6IkFRPT0iLCIwMTowMiI6IkFnPT0iLCIwMTowMyI6IkF3PT0iLCIwMTowNCI6IkJBPT0iLCIwMTowNSI6IkJRPT0iLCIwMTowNiI6IkJnPT0iLCIwMTowNyI6IkJ3PT0iLCIwMTowOCI6IkNBPT0iLCIwMTowOSI6IkNRPT0iLCIwMTowYSI6IkNnPT0iLCIwMTowYiI6IkN3PT0iLCIwMTowYyI6IkRBPT0iLCIwMTowZCI6IkRRPT0ifX0sInNjIjoiMTg4LTk0LTE5MyJ9"}}
UIRequest(SetBridgeId): BridgeId: 3481C5F8-4F86-5337-B956-97B0BE959A80

When issuing any button presses via the C4 remote, this is the debug output on the AppleTV driver:

10/31/21 17:36:18 : ReceivedFromProxy[DOWN]: ROOM_ID: 217, BEGIN: 2243134520, DEVICE_ID: 814
10/31/21 17:36:18 : Activate (function unused)
10/31/21 17:36:18 : SendButtonPress: down - down - 0 - -2051832776
10/31/21 17:36:18 : C4:SendToDevice(1019, "SEND_KEY", {STATE: down, ID: 1017, TIMESTAMP: -2051832776, BUTTON: down})
10/31/21 17:36:18 : ReceivedFromProxy[END_DOWN]: DURATION: 100, ROOM_ID: 217, DEVICE_ID: 814
10/31/21 17:36:18 : Activate (function unused)
10/31/21 17:36:18 : SendButtonPress: down - up - 0 - -2051832676
10/31/21 17:36:18 : C4:SendToDevice(1019, "SEND_KEY", {STATE: up, ID: 1017, TIMESTAMP: -2051832676, BUTTON: down})

... and this is the output on the Apple Bridge debug:

ExecuteCommand(SEND_KEY): ID: 1017, BUTTON: down, TIMESTAMP: -2051808752, STATE: down
--------> [6101/9200]: {"method":"button","args":{"button":"down", "id":1,"state":"down","duration":0,"timestamp":-2051808752}}
ExecuteCommand(SEND_KEY): ID: 1017, BUTTON: down, TIMESTAMP: -2051808652, STATE: up
--------> [6101/9200]: {"method":"button","args":{"button":"down", "id":1,"state":"up","duration":0,"timestamp":-2051808652}}
<-------- [6101/9200]: {"error":{"code":7,"message":"Invalid timestamp value","type":"Invalid argument"},"method":"button"}
Button Error: message: Invalid timestamp value, type: Invalid argument, code: 7
Not Resetting bridge, Only reset once every 5 seconds...
Button Error: message: Invalid timestamp value, type: Invalid argument, code: 7
Not Resetting bridge, Only reset once every 5 seconds...

If I toggle the AppleTV in the driver properties from the AppleTV I've added, to none and then back again, it displays "Control 4 Remote Disconnected/Connected" on the top right of the home screen. It also shows Remote Activated in the properties.

I'm running driver version 32 and tvOS 15.1

I've run out of things to try 😕

Cheers,
Ben

Link to comment
Share on other sites


We actually had daylight saving today but the problem started yesterday so can't be related!

The EA-5 is definitely on the right time but it isn't immediately obvious how you check the time on the AppleTV! Regardless, I've toggled 'set automatically' off and on again so I have to assume it's correctly got the time from an NPT server. The location is correct.

Thanks :)

Link to comment
Share on other sites

8 hours ago, ekohn00 said:

did you rebook the controller? strangely that works for me when nothing else does.

Thanks -- this has fixed it 👍

I'm always reluctant to hard reboot the controller as it can't possibly be healthy but seems like it's needed sometimes!

Cheers!

Link to comment
Share on other sites

I use the same C4 driver on the AppleTV with the latest iOS. In over 5 years, I have never deleted the bridge or driver or even touched the driver settings other then when I updated my AppleTV device and had to add it to the driver.

Occasionally I do have to reboot the AppleTV itself because it freezes. Very rarely, rebooting the AppleTV does not work and I reboot the EA5.

I guess I am not sure why you are having to delete and add and reset up the home bridge on your AppleTV’s. If your AppleTV is not connected via Ethernet, i highly recommend you try to connect via Ethernet. Although, I do have one of my AppleTV’s connected via WiFi and it has been just fine.

Note, the AppleTV’s time setting is automatic based on the region you select.

Link to comment
Share on other sites

Anecdotally people do seem to have problems (this forum, reddit, friends with C4) but I do think I've been particularly unlucky of late! I'd probably also say you've been particularly lucky though!

Typically it always happens when I'm about to go out and the babysitter wants to watch Netflix or something 😅 Maybe it's time to get a Roku as a backup!!

Everything is on Ethernet and the rest of the setup is "normal" 🤷‍♂️

 

Link to comment
Share on other sites

1 hour ago, South Africa C4 user said:

I’ve been using the Apple Bridge driver at both my residences since it came out and have never had a problem.  Minor hassle when setting up a new Apple TV but apart from that, the worst problem I have had is needing to reboot director once or twice after a software update…

Sure, and my post was asking for help, which I got; it wasn't a criticism of the driver .... even if you do have to periodically reboot the director ;)

Link to comment
Share on other sites

43 minutes ago, benm said:

Sure, and my post was asking for help, which I got; it wasn't a criticism of the driver .... even if you do have to periodically reboot the director ;)

Only trying to help my friend. Was definitely not judging. And I would switch to another platform such as Roku in a heartbeat if I was having the issues you seam to be having with ATV and I was sure its the ATV or the C4 related driver.

Link to comment
Share on other sites

13 hours ago, C4 User said:

And I would switch to another platform such as Roku in a heartbeat if I was having the issues you seam to be having with ATV and I was sure its the ATV or the C4 related driver.

The trick was to know that when apple updates the iOS, the director may need a reboot for the AppleTV to work.  Not sure it's such a big deal that anyone would switch streaming platforms.

If anything, I'd like to know what's being "cached" in the director and how the driver could be updated so a reboot wouldn't be needed.  But heck, it's only a reboot a few times a year.....

 

Link to comment
Share on other sites

3 hours ago, ekohn00 said:

The trick was to know that when apple updates the iOS, the director may need a reboot for the AppleTV to work.  Not sure it's such a big deal that anyone would switch streaming platforms.

If anything, I'd like to know what's being "cached" in the director and how the driver could be updated so a reboot wouldn't be needed.  But heck, it's only a reboot a few times a year.....

 

The Roku comment was tongue in cheek but I have felt exasperated at times!!

I've always resisted hard rebooting the director and it's been a last resort, but perhaps life would be easier if I tried it first!

Fully agreed that it would be better to understand the root cause so that a reboot isn't needed after an update. It seems like a very common requirement/solution and it isn't mentioned in the driver notes iirc.

Anyway, thanks for everyone's help 👍

Link to comment
Share on other sites

1 hour ago, benm said:

The Roku comment was tongue in cheek but I have felt exasperated at times!!

I've always resisted hard rebooting the director and it's been a last resort, but perhaps life would be easier if I tried it first!

Fully agreed that it would be better to understand the root cause so that a reboot isn't needed after an update. It seems like a very common requirement/solution and it isn't mentioned in the driver notes iirc.

Anyway, thanks for everyone's help 👍

Rather than hard rebooting the controller, I would suggest soft rebooting the Director.  Not sure if it is really any better, but I certainly feel more comfortable doing that than pulling the power cord.  Don’t get me wrong I do have to pull the power cord from time to time but never for the hard reboot of the Director…

Link to comment
Share on other sites

23 minutes ago, South Africa C4 user said:

Rather than hard rebooting the controller, I would suggest soft rebooting the Director.  Not sure if it is really any better, but I certainly feel more comfortable doing that than pulling the power cord.  Don’t get me wrong I do have to pull the power cord from time to time but never for the hard reboot of the Director…

Hi @South Africa C4 user,

That's really helpful -- thanks. I can do a director reboot via the Driver Central driver. I'm assuming that's the soft reboot which you refer to and it just restarts the director service?

... and a controller reboot would be akin to pulling the power which restarts everything?

Cheers!

Link to comment
Share on other sites

1 hour ago, benm said:

Hi @South Africa C4 user,

That's really helpful -- thanks. I can do a director reboot via the Driver Central driver. I'm assuming that's the soft reboot which you refer to and it just restarts the director service?

... and a controller reboot would be akin to pulling the power which restarts everything?

Cheers!

Correct.  That was my meaning.  Whether my terminology is technically correct, I am not sure 😀

Link to comment
Share on other sites

  • 2 months later...

This has just happened again (second time since original post in Oct '21).

If you hit refresh on the Apple Bridge driver actions, I get "Control4 Remote Disconnected" on the Apple TV home screen, immediately followed by Connected. The actual Apple TV driver says "Remote Connected", and if you toggle the Apple TV Selector in the driver properties, from none and back to the device again, it displays Remote Activated again. It's clearly connected.

The Lua log states the usual:

ExecuteCommand(SEND_KEY): ID: 1017, BUTTON: down, TIMESTAMP: -1002767806, STATE: down
--------> [6101/9200]: {"method":"button","args":{"button":"down", "id":1,"state":"down","duration":0,"timestamp":-1002767806}}
<-------- [6101/9200]: {"error":{"code":7,"message":"Invalid timestamp value","type":"Invalid argument"},"method":"button"}
Button Error: message: Invalid timestamp value, type: Invalid argument, code: 7
Not Resetting bridge, Only reset once every 5 seconds...
ExecuteCommand(SEND_KEY): ID: 1017, BUTTON: down, TIMESTAMP: -1002767706, STATE: up
--------> [6101/9200]: {"method":"button","args":{"button":"down", "id":1,"state":"up","duration":0,"timestamp":-1002767706}}
<-------- [6101/9200]: {"error":{"code":7,"message":"Invalid timestamp value","type":"Invalid argument"},"method":"button"}
Button Error: message: Invalid timestamp value, type: Invalid argument, code: 7
Not Resetting bridge, Only reset once every 5 seconds...

Soft reboot hasn't helped.

Deleting and re-adding C4 to Apple Home hasn't helped.

Hard power cycle has fixed the issue.

Utter garbage. Googling the error message brings up Reddit and c4forums posts with similar problems and the solution is always to power cycle. I really don't understand why C4 don't put some more effort into resolving this; it can't be update related because I haven't done any, its just a shit integration which is causing countless people problems </rant> :)

Link to comment
Share on other sites

19 hours ago, benm said:

This has just happened again (second time since original post in Oct '21).

If you hit refresh on the Apple Bridge driver actions, I get "Control4 Remote Disconnected" on the Apple TV home screen, immediately followed by Connected. The actual Apple TV driver says "Remote Connected", and if you toggle the Apple TV Selector in the driver properties, from none and back to the device again, it displays Remote Activated again. It's clearly connected.

The Lua log states the usual:

ExecuteCommand(SEND_KEY): ID: 1017, BUTTON: down, TIMESTAMP: -1002767806, STATE: down
--------> [6101/9200]: {"method":"button","args":{"button":"down", "id":1,"state":"down","duration":0,"timestamp":-1002767806}}
<-------- [6101/9200]: {"error":{"code":7,"message":"Invalid timestamp value","type":"Invalid argument"},"method":"button"}
Button Error: message: Invalid timestamp value, type: Invalid argument, code: 7
Not Resetting bridge, Only reset once every 5 seconds...
ExecuteCommand(SEND_KEY): ID: 1017, BUTTON: down, TIMESTAMP: -1002767706, STATE: up
--------> [6101/9200]: {"method":"button","args":{"button":"down", "id":1,"state":"up","duration":0,"timestamp":-1002767706}}
<-------- [6101/9200]: {"error":{"code":7,"message":"Invalid timestamp value","type":"Invalid argument"},"method":"button"}
Button Error: message: Invalid timestamp value, type: Invalid argument, code: 7
Not Resetting bridge, Only reset once every 5 seconds...

Soft reboot hasn't helped.

Deleting and re-adding C4 to Apple Home hasn't helped.

Hard power cycle has fixed the issue.

Utter garbage. Googling the error message brings up Reddit and c4forums posts with similar problems and the solution is always to power cycle. I really don't understand why C4 don't put some more effort into resolving this; it can't be update related because I haven't done any, its just a shit integration which is causing countless people problems </rant> :)

Control4 is limited to the homekit environment for IP integration, which you're correct, is utter garbage.  Even C4 will low key say to just use IR. 

Link to comment
Share on other sites

1 minute ago, mstafford388 said:

Control4 is limited to the homekit environment for IP integration, which you're correct, is utter garbage.  Even C4 will low key say to just use IR. 

Which I can get on board with, however C4 have far more to lose than Apple do, so it's a surprise that they're not continually developing and refining against the HomeKit spec to maintain stability. Whether they like it or not, people are routinely going to want to augment their C4 homes with Apple equipment.

Furthermore, the common solution seems to be to powercycle the C4 controller, which means that the ability to maintain operability (in most circumstances) is very much in the hands of C4 -- something which they don't seem particularly bothered about, which seems short-sighted at best.

Link to comment
Share on other sites

20 hours ago, benm said:

 

Hard power cycle has fixed the issue.

Utter garbage. Googling the error message brings up Reddit and c4forums posts with similar problems and the solution is always to power cycle. I really don't understand why C4 don't put some more effort into resolving this; it can't be update related because I haven't done any, its just a shit integration which is causing countless people problems </rant> :)

I've been using this driver since it was available, and do admit it drives me mad at times. I use the latest beta SW on the appleTV, and every time there's a change I have to reset something with C4. Worst case has always been rebooting the controller.

However, as long as there's no ATV change or naming changes in airplay or basically any point that used to configure the driver, including the C4 app on your phone, the driver has been stable.

Link to comment
Share on other sites

3 minutes ago, ekohn00 said:

I've been using this driver since it was available, and do admit it drives me mad at times. I use the latest beta SW on the appleTV, and every time there's a change I have to reset something with C4. Worst case has always been rebooting the controller.

However, as long as there's no ATV change or naming changes in airplay or basically any point that used to configure the driver, including the C4 app on your phone, the driver has been stable.

I run it at my house as well and have had to power cycle my AppleTV maybe 3-4 times in 2 years or however long it's been since it came out.  We have a bunch of clients that had continuous issues though so we have switched all of our clients to IR some time ago. 

Link to comment
Share on other sites

3 minutes ago, msgreenf said:

I don't agree that control4 has more to lose. An Apple TV is not a requirement of every customer.

Of course it's not but Apple is a fast-growing competitor in the automation space, and if you want to play with them, you play on their terms. It strikes me as odd that C4 don't invest more time and effort into developing their integration.

Link to comment
Share on other sites

1 minute ago, benm said:

Of course it's not but Apple is a fast-growing competitor in the automation space, and if you want to play with them, you play on their terms. It strikes me as odd that C4 don't invest more time and effort into developing their integration.

Eh, I'll respectfully disagree with that one.  Home kit has been "coming to kill C4" in the automation world for years and years and they seemingly haven't gained much traction.  A big part of that in my opinion is they don't play well with others and basically throw that platform up and say figure it out on their terms like you said.  

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.