Updated the site with a call for getting this done for the competitor's systems. I am working for an AMX resi shop now so other than doing it just for fun (like I've got time for that anymore), I don't really have a reason to get it done...might start it for the hell of it though.
youstra passed any copyright for the touchpanel design to me, and is also working on a nicer looking version. If it's done before this weekend, both will be included in the release. Hope you don't mind me using your name. Thanks
The module does _NO_ popup or page flips of its own so you can use it with your existing systems without worry of it trying to do things you don't want it to do.
The module does _NO_ popup or page flips of its own so you can use it with your existing systems without worry of it trying to do things you don't want it to do.
I wish more people (*ahem*AMX*ahem*) would follow suite. But then again, I'm moving away from AMX's modules . . . shoulda done that a long time ago.
Curiously - are you releasing COMM + UI + Panel? Or just a COMM + Panel?
There is a comms module (I call it a dev or device module), a UI module and a touchpanel geared to work with the UI module. It'll all be released as a demo standalone project so the necessary stuff to make the module work can be pulled out and put into existing projects. I'll also be benchmarking the string-based system I am using and if it doesn't have too much overhead (I suspect it does), I'll make a channels UI module for people who like using channels for things.
I'm looking forward to trying this out soon and posting a donation. I did start looking through parse_data where the real action appears to happen, so that's exciting.
Pairing might not reliably turn on automatically in this version. If this is the case, use send_command or control device on the vdev, and send the command 'pair on' to turn on the pairing service.
I finally got some time this evening and after about 1 hour of adding the module and putting some debug code in, I'm glad to report that the AppleTV Module WORKS!!!
In my case I don't have a touch panel to test with, so I put in a debug module which outputs the response instead. I was also able to use several SEND_COMMANDs to control the AppleTV.
Some info about what the module does...
1. Allows the AMX to pair up with an AppleTV and become a remote control
2. Constantly monitors the playback status of the AppleTV and reports album, artist, song, and time
3. Sends commands to the AppleTV to visually control it... like pressing remote buttons up/down/menu/etc.
4. Sends commands to the AppleTV to interact with it non-visually... like requesting the playlists and selecting them for playback
Probably more but that's all I had time for.
Here's the output when I started playing songs on the AppleTV...
1. I had to download io.axs include from the netlinx commons, it wasn't in the .zip
2. After setting a static ip on the appletv, the appletv must be rebooted for the port it listens on to work
3. I used the 'pair on' command whether it was needed or not and the appletv paired just fine
This is some really nice work true and I hope others find it useful and support it.
It's part of the NetLinx Common Libraries project. It's not quite ready for official release yet but you can grab io by head over to 'Source' tab then under 'Browse' > 'trunk' > 'io.axi'.
It's part of the NetLinx Common Libraries project. It's not quite ready for official release yet but you can grab io by head over to 'Source' tab then under 'Browse' > 'trunk' > 'io.axi'.
So, the new AppleTV has been announced.... not sure how excited I am about... any bets on the ability of existing IP control to continue functioning?
- NO Component video output! Only HDMI and Optical Digital Audio.
- 1/4 the size of current AppleTV.
- NetFlix support.
- Rental ONLY.
- No local storage, ONLY streaming.
- iOS 4.2 will allow streaming from an iPad/Pod to the AppleTV.
I haven't read the announcement and don't know what the specs are, but so long as it still allows for iTunes connectivity (connecting to a library) control will likely still work. However, nav as implemented in my module and my competitors modules may not work.
If it does NOT work, but there is control of some kind (including undocumented), I am willing to write a module so long as someone provides a unit and I have time for it. StarCraft II is my new time sink...
I haven't read the announcement and don't know what the specs are, but so long as it still allows for iTunes connectivity (connecting to a library) control will likely still work.
On that note, iTunes 10 was anounced today as well. We shall see.
A customer is upgrading AppleTVs soon, so I should be able to play with one of these units. I still do not have one for myself and don't know what kind of time I will have to work on the code. The biggest thing I wanted to implement - browsing of content - still isn't done, either...
Updated the aTV remote app today on my phone, so that combined with my passive ethernet tap should help get something working if the module doesn't just work on its own.
I'll likely need a new aTV to continue development; I'll see if work will get me one otherwise it'll be slow going.
No control currently with new AppleTV as it seems to only work with home share. Financial assitance would be nice if anyone would like me to document what it takes to get it to work as well as get the module to work with Home Sharing. Hopefully it isn't too hard.
I am having some trouble getting this module to work. I get 403 & 503 http errors from the appletv. Any ideas on what I can try? or what info might be required to help debug the issue?
I was so excited about this module I even donated before trying it.
Line 8450 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: HTTP/1.1 403 Forbidden
Line 8451 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: HTTP HEADER: Code 403
Line 8452 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Date: Mon, 11 Oct 2010 20:53:55 GMT
Line 8453 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: RIPT-Server: iTunesLib/3.0.2 (Mac OS X)
Line 8454 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Type: application/x-dmap-tagged
Line 8455 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Length: 0
Line 8456 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header:
Line 8457 (21:53:56):: CIpEvent::OnLine 0:8:1
Line 8458 (21:53:56):: GET /login?pairing-guid=0x0000000000000001
Line 8459 (21:53:56):: HTTP/1.1$0D$0AHost: 192.168.1.15:3689$0D$0AUser-agent: Remote/1.3.3$0D$0AViewer-Only-Client: 1$0D$0AConnection: keep-alive$0D$0A$0D$0A
Line 8460 (21:53:56):: CIpEvent::OffLine 0:8:1
Line 8461 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: HTTP/1.1 503 Service Unavailable
Line 8462 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: HTTP HEADER: Code 503
Line 8463 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Date: Mon, 11 Oct 2010 20:53:56 GMT
Line 8464 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: RIPT-Server: iTunesLib/3.0.2 (Mac OS X)
Line 8465 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Type: text/html
Line 8466 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Length: 3
Line 8467 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header:
Line 8468 (21:53:56):: Apple_DACP_dev_0_0_5pre1: Tagpair: Corrupt data, going too fast? clearing.
I am not sure about the communication problem you are having, but I have heard a rumor about the new AppleTV unit. It appears that the new unit is extremely locked down. The people that write the AppleTV modules for Control 4 have given up on trying to crack it for the time being. I am hoping that a new iPad app will shed some light on the subject, but I am not holding my breath.
I have used the current module successfully with the old AppleTV units, so I know that it will connect. I have not had a chance to try the latest version tho.
I have used the current module successfully with the old AppleTV units, so I know that it will connect. I have not had a chance to try the latest version tho.
It is the old unit I am trying to connenct to. I just don't seem to be able to pair. It seems like the pairing service isn't seen by the apple tv. (or iTunes I tested that as well, just to see)
Is everything on the same network and subnet? I do recall the pairing being a little funky and seeming like it would not work, but I think I just ignored a warning or two and it all started working. As soon as true reads this, I am sure he will have a suggestion.
Is the pairing service running? Send 'pair on' to the appletv vdev. You should see it as a remote in settings on the AppleTV. Use any code to pair (it usually succeeds right away, but if it fails, back out and try again, and wait a couple minutes and it'll magically work)
It used to auto-start pairing if it found an error code >400 but I think I broke that.
The module is tested and known to work with Gen1 models using the latest Apple software. It is untested with iTunes, but does show up in iTunes 10 automagically detected devices when the pairer is on.
I need an iPad and Gen2 AppleTV to develop a module for it. It may require code to run on a Mac or PC. I may make it a daemon that can run on a server if this is required. Internet will be required for Gen2 devices to work.
Is the pairing service running? Send 'pair on' to the appletv vdev. You should see it as a remote in settings on the AppleTV. Use any code to pair (it usually succeeds right away, but if it fails, back out and try again, and wait a couple minutes and it'll magically work)
I have been sending 'pair on' to the appletv virtual device (confirmed by debug message). It doesn't appear in the remotes list on the Apple tv or iTunes. I have just checked and I don't see the mdns service when I use a sniffer. So that looks like the problem.
I can pair my iPhone's Remote app and J Sharkey's android app (TunesRemote). I do see the mdns packets for these.
Any tips on what I could try would be greatly appreciated. I would love to get this module working so I have Apple tv control integrated into my panel.
Specified local port + 1 should open when this happens then immediately close, followed by opening again (as a server so you won't see this as a message). This is sending the mDNS packet, then setting up the pair confirm server.
If you don't see this, another module (anothet appletv module?) may be using that local port. Remember, the module uses TWO local IP ports in this version - the defined port and thr defined port + 1.
Can you post / PM / email me logs whem 'pair on' is sent, and confirm code isn't using this local port?
I can see the local port +1 going online, message to say it's sending the mDNS packet then going offline. But I don't actually see the packet when sniffing. I do however see multicast packets from my other devices like the apple tv & iPhone remote.
In the apple tv module I changed the mulicast address (224.0.0.251) to the ip of my pc running the sniffer and then I can see the the mDNS packet. Looks like my netlinx doesn't want to send packets to the multicast address or something is blocking it?
I also tried setting it to the ip of the apple tv but it still didn't appear as a remote. I guess it needs to be multicast.
I am an idiot. For some reason the gateway wasn't set. I know it was at some point, not sure why it changed. Anyway I was coming on here to say I that I had found my problem and you had already posted the solution. Thanks for time.
I must learn to start with the basics when looking for a problem.
Module looks great BTW. I think another donation is in order!
Comments
Yep, looks great!
youstra passed any copyright for the touchpanel design to me, and is also working on a nicer looking version. If it's done before this weekend, both will be included in the release. Hope you don't mind me using your name. Thanks
The module does _NO_ popup or page flips of its own so you can use it with your existing systems without worry of it trying to do things you don't want it to do.
Curiously - are you releasing COMM + UI + Panel? Or just a COMM + Panel?
Anxious to see it.
There is a comms module (I call it a dev or device module), a UI module and a touchpanel geared to work with the UI module. It'll all be released as a demo standalone project so the necessary stuff to make the module work can be pulled out and put into existing projects. I'll also be benchmarking the string-based system I am using and if it doesn't have too much overhead (I suspect it does), I'll make a channels UI module for people who like using channels for things.
I'm looking forward to trying this out soon and posting a donation. I did start looking through parse_data where the real action appears to happen, so that's exciting.
I finally got some time this evening and after about 1 hour of adding the module and putting some debug code in, I'm glad to report that the AppleTV Module WORKS!!!
In my case I don't have a touch panel to test with, so I put in a debug module which outputs the response instead. I was also able to use several SEND_COMMANDs to control the AppleTV.
Some info about what the module does...
1. Allows the AMX to pair up with an AppleTV and become a remote control
2. Constantly monitors the playback status of the AppleTV and reports album, artist, song, and time
3. Sends commands to the AppleTV to visually control it... like pressing remote buttons up/down/menu/etc.
4. Sends commands to the AppleTV to interact with it non-visually... like requesting the playlists and selecting them for playback
Probably more but that's all I had time for.
Here's the output when I started playing songs on the AppleTV...
(0000015571) track: On Melancholy Hill
(0000015578) artist: Gorillaz
(0000015584) album: Plastic Beach
(0000016476) time-elapsed: 0:04
(0000016484) time-remain: 3:49
(0000016491) time-total: 3:53
(0000016499) time-percent: 2
(0000017470) time-elapsed: 0:05
(0000017476) time-remain: 3:48
(0000017483) time-total: 3:53
(0000017489) time-percent: 3
(0000020381) status: 4
...
(0000100455) volume: 100%
(0000100600) track: Laugh Now, Cry Later
(0000100607) artist: Ice Cube
(0000100615) album: Laugh Now, Cry Later
(0000100971) time-elapsed: 0:03
(0000100978) time-remain: 3:34
(0000100985) time-total: 3:37
(0000100992) time-percent: 2
(0000101408) status: 4
(0000101415) volume: 100%
(0000101965) time-elapsed: 0:04
(0000101972) time-remain: 3:33
...
(0000180596) status: 4
(0000180603) volume: 100%
(0000180725) track: Hurt
(0000180731) artist: Johnny Cash
(0000180738) album: The Legend Of
(0000181546) time-elapsed: 1:24
(0000181552) time-remain: 2:13
(0000181566) time-total: 3:37
(0000181579) time-percent: 39
(0000182540) time-elapsed: 1:25
Some notes...
1. I had to download io.axs include from the netlinx commons, it wasn't in the .zip
2. After setting a static ip on the appletv, the appletv must be rebooted for the port it listens on to work
3. I used the 'pair on' command whether it was needed or not and the appletv paired just fine
This is some really nice work true and I hope others find it useful and support it.
Re: module working, of course it works Just needs lots of things changed, lots of things added, some things fixed. Time and incentive...
http://mantis.truecontrol.org/
If you don't want to create an account, but want to view bugs, you can log in as anonymous:anonymous.
Where do you get the "io" include file? I didn't see it in the common files on my computer, so called tech support and they never heard of it?
Thanks,
Jack
Thanks for the link and info!
Jack
- NO Component video output! Only HDMI and Optical Digital Audio.
- 1/4 the size of current AppleTV.
- NetFlix support.
- Rental ONLY.
- No local storage, ONLY streaming.
- iOS 4.2 will allow streaming from an iPad/Pod to the AppleTV.
and I'm sure I forgot stuff.
Jeff
If it does NOT work, but there is control of some kind (including undocumented), I am willing to write a module so long as someone provides a unit and I have time for it. StarCraft II is my new time sink...
On that note, iTunes 10 was anounced today as well. We shall see.
Kevin D.
A customer is upgrading AppleTVs soon, so I should be able to play with one of these units. I still do not have one for myself and don't know what kind of time I will have to work on the code. The biggest thing I wanted to implement - browsing of content - still isn't done, either...
Updated the aTV remote app today on my phone, so that combined with my passive ethernet tap should help get something working if the module doesn't just work on its own.
I'll likely need a new aTV to continue development; I'll see if work will get me one otherwise it'll be slow going.
I was so excited about this module I even donated before trying it.
Line 8450 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: HTTP/1.1 403 Forbidden
Line 8451 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: HTTP HEADER: Code 403
Line 8452 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Date: Mon, 11 Oct 2010 20:53:55 GMT
Line 8453 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: RIPT-Server: iTunesLib/3.0.2 (Mac OS X)
Line 8454 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Type: application/x-dmap-tagged
Line 8455 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Length: 0
Line 8456 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header:
Line 8457 (21:53:56):: CIpEvent::OnLine 0:8:1
Line 8458 (21:53:56):: GET /login?pairing-guid=0x0000000000000001
Line 8459 (21:53:56):: HTTP/1.1$0D$0AHost: 192.168.1.15:3689$0D$0AUser-agent: Remote/1.3.3$0D$0AViewer-Only-Client: 1$0D$0AConnection: keep-alive$0D$0A$0D$0A
Line 8460 (21:53:56):: CIpEvent::OffLine 0:8:1
Line 8461 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: HTTP/1.1 503 Service Unavailable
Line 8462 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: HTTP HEADER: Code 503
Line 8463 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Date: Mon, 11 Oct 2010 20:53:56 GMT
Line 8464 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: RIPT-Server: iTunesLib/3.0.2 (Mac OS X)
Line 8465 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Type: text/html
Line 8466 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header: Content-Length: 3
Line 8467 (21:53:56):: Apple_DACP_dev_0_0_5pre1: From Dev: Header:
Line 8468 (21:53:56):: Apple_DACP_dev_0_0_5pre1: Tagpair: Corrupt data, going too fast? clearing.
I have used the current module successfully with the old AppleTV units, so I know that it will connect. I have not had a chance to try the latest version tho.
Jeff
It is the old unit I am trying to connenct to. I just don't seem to be able to pair. It seems like the pairing service isn't seen by the apple tv. (or iTunes I tested that as well, just to see)
Jeff
It used to auto-start pairing if it found an error code >400 but I think I broke that.
The module is tested and known to work with Gen1 models using the latest Apple software. It is untested with iTunes, but does show up in iTunes 10 automagically detected devices when the pairer is on.
I need an iPad and Gen2 AppleTV to develop a module for it. It may require code to run on a Mac or PC. I may make it a daemon that can run on a server if this is required. Internet will be required for Gen2 devices to work.
I have been sending 'pair on' to the appletv virtual device (confirmed by debug message). It doesn't appear in the remotes list on the Apple tv or iTunes. I have just checked and I don't see the mdns service when I use a sniffer. So that looks like the problem.
I can pair my iPhone's Remote app and J Sharkey's android app (TunesRemote). I do see the mdns packets for these.
Any tips on what I could try would be greatly appreciated. I would love to get this module working so I have Apple tv control integrated into my panel.
If you don't see this, another module (anothet appletv module?) may be using that local port. Remember, the module uses TWO local IP ports in this version - the defined port and thr defined port + 1.
Can you post / PM / email me logs whem 'pair on' is sent, and confirm code isn't using this local port?
In the apple tv module I changed the mulicast address (224.0.0.251) to the ip of my pc running the sniffer and then I can see the the mDNS packet. Looks like my netlinx doesn't want to send packets to the multicast address or something is blocking it?
I also tried setting it to the ip of the apple tv but it still didn't appear as a remote. I guess it needs to be multicast.
Other than that, I'm not sure why you wouldn't be seeing it.
I am an idiot. For some reason the gateway wasn't set. I know it was at some point, not sure why it changed. Anyway I was coming on here to say I that I had found my problem and you had already posted the solution. Thanks for time.
I must learn to start with the basics when looking for a problem.
Module looks great BTW. I think another donation is in order!