IRUSB FAQ:

How do I set up IRUSB? Where are the setup instructions? You need to follow the quick setup instructions on the IRUSB webpage
How does IRUSB control the FireTV or Shield. Is it IR? IRUSB provides full 2 way IP control of your Android device (FireTV or Shield). It will ALSO give you the ability to send and receive IR to control OTHER devices. It is single device which provides TWO functions independently.
No device ID. What do I do? For FireTV, you need OTG cable, and DISABLE ADB in the developer options. For Shield, DISABLE USB debugging in the developer options. Then follow install instructions.
How do I verify the IRUSB device is working? You need to obatin device ID first. You can then use the "send IR" button in the irusb app to verify the IRUSB is working (one side of the device will flash the led when the button is pressed). If that is working, then the problem is a network connectivity issue between Control4/RTI and Amazon/nVidia device.
I installed the Control4 and/or RTI driver, it doesn't control IRUSB? You need to download and install the IRUSB app from Amazon/Google app store BEFORE installing the driver. Follow install steps.
How do I get your free drivers for Control4 and RTI? All our free drivers are available for download here.
How do I connect the driver for Control4 or RTI to IRUSB? Enter the IP address of the device IRUSB is attached to (ie. Fire TV, Shield, et). Use a static IP on that device.
There is no multiple instance driver in RTI for IRUSB? You can use an instance of the driver for each IRUSB with the unique IP address from the Amazon/nVidia device they are attached to.
I did a soft reboot of the Fire TV, but IRUSB did not auto start after the reboot. Hard reboot (power cycle) will auto restart IRUSB.  If your device loses power, IRUSB will auto start 1 minute after it boots.  Soft reboots (from the menu) will not auto restart IRUSB on some platforms (such as FireTV).  Note that soft reboots are not part of typical operation.
Where do I find the QLAUNCH commands? http://www.c4forums.com/topic/23198-netplay-home-compatible-equipment-list/
The App I want to launch isn't in the list.
How do I write my own QLAUNCH commands?
See the information below regarding how to find and construct the QLAUNCH command for any app
One of the mini drivers or app launch commands don't work (app doesn't launch). The App url has likely changed.  Please see the instructions below for QLAUNCH commands to find the new URL.  Please notify Video Storm via our ticket system with the correct URL if you would like the standard drivers updated.
I have an app that I can't properly control the menus of. This can occur if you are using non standard Android box which uses apps that were designed only for tablets (touch screen interface).  You can resolve this by sideloading the proper version of the app that was designed for keyboard / remote control (all Android TV apps are designed for keyboard control).
How do I know which Android device I have? Please use Google to find device manufacturer information or versions.

QLAUNCH command creation

QLAUNCH commands use standard Android Intent URLs with the following format:

QLAUNCH android-app://PACKAGE_NAME#Intent;component=COMPONENT_TO_LAUNCH;end

Both the PACKAGE_NAME and COMPONENT_TO_LAUNCH names are required.  You can find these by looking at the ADB log output when manually starting any app.  You can filter the log with cmp= to find these (after manually launching the app using the gui).

ADB logcat instructions for Windows

  1. First download the ADB tools for windows from Google  Download link
  2. Unzip that zip file is an easy to find folder.
  3. Run CMD.exe (command line tool).  You can find this by typing CMD in the windows search box in the lower left corner.
  4. Change directory to the folder you unzipped the tool at  (cd to change directory, dir to list files)
  5. Make sure ADB (USB / network debugging) is already enabled on your Android device
  6. Connect to your Android device using:   adb connect ip_address_of_device    (adb connect 192.168.1.177)
  7. You must "allow device connection" on the Android device screen
  8. Enter the connect command again:  adb connect ip_address_of_device    (adb connect 192.168.1.177)
  9. Start the logcat filtered for components:  adb logcat | find "cmp="
  10. Start the app or apps you need the URL for on the Android device.
  11. You will see a line printed on your screen for each app you start.  Example:

11-30 18:04:36.364 1602 1613 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.netflix.ninja/.MainActivity} from uid 10124 on display 0

The BOLD text above is the COMPONENT_TO_LAUNCH for that app.  The PACKAGE_NAME is the first part before the "/", in this case com.netflix.ninja.

The full QLAUNCH url for this example would be

QLAUNCH android-app://com.netflix.ninja#Intent;component=com.netflix.ninja/.MainActivity;end

  1. CTRL-C to stop the logcat when done
  2. adb disconnect to disconnect from the android device

Deep links:

You can optionally include "extradata" in the app URLs to directly perform actions within the 3rd party app, such as playing a movie on Netflix. 

android-app://PACKAGE_NAME/DATA#Intent;component=COMPONENT_TO_LAUNCH;EXTRADATA;end

The format of EXTRADATA is

DATA is usually a web url (http://host/path)

As there is no standard covering what values can be passed to different apps, Google is the best way to find information on what values are needed. 

For Netflix, here is an example

 In that case EXTRADATA is not used, but DATA is as below

http://www.netflix.com/watch/NETFLIXID           (NETFLIXID is a unique value per title)

Further information on the Android Intent URL formats can be found at Android developer docs