question

pyram avatar image
pyram asked

Best way to inject controller commands

We need to send controller commands to Fire TV via IP. For instance to send cursor up, cursor down, etc. We have investigated using DIAL for this, but that seems highly non-obvious and not really intended for that purpose. Perhaps there is a way to launch Amazon Video via that interface and then perhaps some commands exist to control a specific app like that, but we have tried all the DIAL commands that are part of the DIAL standard and all of them are rejected by the current rev of Fire TV. So if DIAL is out, and it didn't seem to support box-wide commands like cursor up anyway, what is the best way to send commands from another device to Fire TV? Can we build an app that receives the commands and then injects them into the main event loop? Or does Amazon provide an interface for this already that we're missing? Thanks much.
fire tv
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Price, You need to use VisualOn SDK to integrate DIAL in your app. In order to get access of the SDK you need to file a ContactUs ( https://developer.amazon.com/help/contactus.html) with the below details from your developer account. 1. You company name 2. Contact Info 3. App name 4. The plan on using DIAL
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

pyram avatar image
pyram answered
VisualOn does not seem like the appropriate solution here. We are not sending content to the Fire TV. We just need to send controller commands. Like "Enter", "Cursor Up", "Cursor Down", etc. Similar boxes have ways to send commands from an external method. For instance, Apple TV receives infrared and can also be controlled by an app. Roku has both of those interfaces as well as a Bluetooth third interface on newer models. What we are looking for is the appropriate way to send basic commands to the Fire TV via TCP/IP. Is there a REST interface to send simple commands like that? It seems like the Fire TV cannot be integrated into home theater systems without any such interface for sending it commands. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Price, Could you please let us know in detail about your use case of injecting controller commands? The team I am talking with for your query, they need to know why do you need this before providing any solution. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

pyram avatar image
pyram answered
We are looking to provide app-based control of Fire TV, to integrate Fire TV with other devices typically part of home audio video systems such as the TV, a receiver, etc. In a typical home AV system, devices are controlled either via infrared or some kind of TCP/IP protocol. For instance, Roku provides a simple REST interface. Apple TV provides a protocol called DACP, Chromecast provides the GoogleCast SDK for IP control, WD provides a REST interface, etc. Our app integrates with all of these including infrared control to bring everything together. Many other vendors exist providing such control interfaces and that is how a majority of home AV systems are controlled though many are limited to infrared control. As there is no infrared receiver on Fire TV, we assume an interface may exist now or will soon exist to provide simple IP control like on other boxes of this type for Fire TV. The basic requirement is to send the same commands as sent by the physical remote to Fire TV via IP. The next level desirable requirement is to also accept voice input via IP just as sent from the physical remote. We would love to add such a feature for Fire TV, but the most important part is simply for users to be able to control Fire TV as part of their AV systems without using additional physical remotes. A Bluetooth remote is not even usable in many cases as the source components are often in an equipment closet far away from the room where content is watched and well outside of Bluetooth range. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Price, Unfortunately, we do not currently support remote controlling FireTV through key commands over the network. The best approach is to write your own Android application running on FireTV, which runs a service and invokes an installed application when receiving a network command. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

pyram avatar image
pyram answered
We would be happy to write this as an app on the device if it would do anything useful, but it would require android.permission.INJECT_EVENTS in order to submit received cursor commands to the foreground app, and it seems to be impossible to get that permission. Thus, the only way to do this is to open something up on the Amazon side. Until then, there does not seem to be a way to integrate Fire TV into a home theater environment or any environment with a control system.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hello Price, Thanks for the details. I am sorry for the inconvenience. INJECT_EVENTS needs system privilege to work accordingly. I have brought this into the radar of concerned team. They might work on exposing an API for third party apps to receive the Controller commands and process it. But unfortunately I cannot commit on the ETA for that. Please stay tuned on Mobile App Distribution Portal or Blogs ( https://developer.amazon.com/blog/index.html) for any updates related to this.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

pyram avatar image
pyram answered
Great news today that the Fire TV Stick now has an IP controllable interface to submit commands via an app which is exactly what this thread was requesting. Do you have a link yet to any documentation on that interface so we can get started right away on that before we get the devices? Thank you.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Alex avatar image
Alex answered
I too need to know how to control the Fire TV/Fire TV Stick via IP/Http commands. Roku and WDLive both do this. This is so people can ditch the remote and use their phone or tablet to control their Fire TV So.. How to replicated the buttons on the remote? How to retrieve a list of currently installed apps and their icons? How to launch an app? How to send a voice command too. I read in a review that this is coming for the Fire TV stick via an official Amazon app called "Amazon TV Remote" here> http://www.techradar.com/news/television/hdtv/fire-tv-stick-vs-roku-streaming-stick-vs-chromecast-1270809 Whoever is making the iOS/Android app for Amazon should be able provide the relevant information.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Alex avatar image
Alex answered
Where did you get this info? The stick hasn't been launched here in the UK unfortunately, but the TV brick has been this week so I have one of those to play with.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.