Jump to content
C4 Forums | Control4

C4 driver for nVidia Shield


videostorm

Recommended Posts

Shield is definitely the best media/Kodi/gaming box on the market.  

Now we have a easy way to control it via IP in C4.

You will need our $29 IrUSB device.  It will give you full menu control via IP, with the added benefit of a IR flasher you can use to control other equipment nearby (just like an extra C4 flasher output) 

EDIT:  $29 was the early promotional pricing.  IRUSB retails for $39.

Edited by videostorm
Link to comment
Share on other sites

  • 4 weeks later...

On 28/10/2017 at 4:29 AM, videostorm said:

Shield is definitely the best media/Kodi/gaming box on the market.  

Now we have a easy way to control it via IP in C4.

You will need our $29 IrUSB device.  It will give you full menu control via IP, with the added benefit of a IR flasher you can use to control other equipment nearby (just like an extra C4 flasher output) 

Yep.  The shield is definately the best.  I'm looking forward to receiving our IrUSB device so that we can update our Kodi Full and Plex Full drivers.  Our recomendation going forward will be the Nvidia Shield for the best supported device for both since we can launch the apps.

Link to comment
Share on other sites

irUSB works great for IP control of the Shield. Nice work

I had to tweak some of the mini drivers to get them to work because some of the App IDs are different for the Shield vs FireTv (hulu is one example). I'm able to get pretty much any user installed app to fire from the Watch menu using the FireTv Custom_App driver, but i haven't been able to get a system app to work, such as Amazon Prime Video. 

Videostorm or Alanchow, any help getting Amazon Prime Video to work would be greatly appreciated. 

 

thanks!

Link to comment
Share on other sites

I spoke too soon... I can't get YoutubeTV to work with the Custom_App mini driver either

If anyone can provide some guidance on Amazon Video or YoutubeTV that would be awesome.

I know what the App IDs are (com.google.android.youtube.tvunplugged and com.amazon.amazonvideo.livingroom.nvidia) but when I use them there is no response from the Shield:

Please help. Thanks!

 

btw - Kodi (org.xbmc.kodi), Netflix (com.netflix.ninja) and Hulu (com.hulu.livingroomplus) all work fine using their respective App IDs in the Custom_App mini driver.

Link to comment
Share on other sites

Are you using the Video Storm c4z driver (with the Amazon minidrivers)?  If so, do you have the app type property set to Android TV?

The way our driver works is it gets the app_id from the mini driver, tries to match it to a app package from amazon app store to get the actual app name.  Then it does a table lookup on that app name to get the android app URL (using either the amazon app store table or the Google play tables bases on the app type property setting on the driver).

So you should actually leave the app_ids on the mini drivers as they are (with the amazon app store package name).  Does that make sense?

Our driver doesn't have Amazon video as one of the defaults.  We need to add that.  I think our YouTube app url specific to the shield is incorrect also.  I'll need to check those.

Link to comment
Share on other sites

Thanks for the prompt reply.

I am indeed using the Video Storm c4z driver with the Amazon minidrivers, including the Custom_App minidiver.  I'm very excited about getting this to work because I can now run everything off 1 box which really streamlines installation and maintenance and a customer can choose what to watch right from the Watch menu.

I confirmed that app type was set correctly to "Google Play TV". I understand what you're saying about leaving the app_ids alone and letting your driver do the lookups but the Hulu minidriver must not have been finding the right app_id because it wasn't working. It was easy enough to edit the minidriver with the right app_id so I went for it and it worked.

I'm trying to get the following apps to work under the Watch menu: Netflix, Hulu, Kodi, Amazon Video, YoutubeTV (not Youtube)

- Netflix minidriver worked fine out of the box with no editing or anything.

- Hulu minidriver needed to be edited to com.hulu.livingroomplus from com.hulu.plus using the C4 Driver Editor. Once I did that it worked great.

- There is no Kodi minidriver so I used the Custom_App minidriver and set the App ID to org.xbmc.kodi. Works great and I'll add a logo later.

- The Amazon Video minidriver had an app_id of com.amazon.avod and didn't work so I edited to com.amazon.amazonvideo.livingroom.nvidia and it still didn't work. I then tried using the Custom_App minidirver and setting the app_id to com.amazon.amazonvideo.livingroom.nvidia. That didn't work either. I'm at a loss on this one.

- There is no YoutubeTV mini driver so I used the Custom_App minidriver and set the app_id to com.google.android.youtube.tvunplugged. Unfortunately that didn't work so I'm at a loss again.

 

Any chance you can look into Amazon Video and YoutubeTV and let me know what I'm missing?

 

thanks again! 

 

PS I also tried the Custom App 1 field in the driver. I copied the syntax of a known successful app launch from the adb debug log but I still couldn't get it to fire. I used:

QLAUNCH android-app://com.hulu.livingroomplus#Intent;component=com.hulu.livingroomplus/.MainActivity;end   and then tried adding "\r" based on your documentation. neither worked.

 

 

 

Link to comment
Share on other sites

Videostorm, I reread your reply and am now wondering... 

Are you saying that the app_id in the minidriver is not necessarily the app_id used to launch the app and that your driver only uses it to kick off  a couple lookups to try to determine the correct app_id? 

If that's true and your lookup doesn't yield a match will it then fail to send the command to the Shield because when I tried nonsense app_ids nothing showed up in the adb debug log,?

 

 

Link to comment
Share on other sites

Correct, there are two lua tables of urls in the driver:

urltableaf   (amazon app store)

urltablegp  (google play)

You can use the lua window to dump the values if you like.  (that way you can see what app_ids will work)

for k, v in pairs(urltableaf) do

     dbg("Key: " .. k .. " Value:  " .. v)

end 

When a mini driver launches, it searches urltableaf to find any value that contains the package name in the app_id mini driver variable.  On find, it will get the App name from the corresponding key and then use that key to lookup the full app url in one of those two tables based on the app type property.  If no match, then it won't send any command (no QLAUNCH in the lua log). 

New apps can be added by simply adding new values to those two tables (via lua).  If you find ones you want, just send to us and we can permanently add to the driver.

urltableaf["new app name"]="QLAUNCH appurl\r"

urltablegp["new app name"]="QLAUNCH appurl\r"

Link to comment
Share on other sites

Now it makes sense why I hit a brickwall. 

I tried modifying your driver to add values to the tables but Driver Editor said it was encrypted and that I couldn’t edit. 

Sooo... can you add values to your tables such that Amazon Video and YoutubeTv will work when using the Custom App minidriver with the following app_ids:

com.amazon.amazonvideo.livingroom.nvidia

com.google.android.youtube.tvunplugged

You’ve really enabled the ultimate solution for a streaming/media player solution on Control4. Thank you very much!!!!

btw - any thoughts on where I might be going wrong on the Custom App syntax I posted above? 

 

 

Link to comment
Share on other sites

You can edit the driver "online" by just entering the code in the LUA window and clicking execute.  It will last till the next reboot I think.

I'll add these and check the custom app properties as well once I get a chance.  Tied up on the manufacturing right now.

Thanks for the feedback!!  Definitely makes for a better driver :)

Link to comment
Share on other sites

  • 2 weeks later...

Just bought an IR USB. Might want to update options with shipping to NOT cost 13+ bucks....I know UPS can be expensive.

So correct me if I'm wrong, I'll put this one into a Shield's (non-pro version) USB, then hook up an IR blaster to the IR USB?

Also, will your driver work with the "pro" version of the Shield (built in IR) without the IRUSB?

Link to comment
Share on other sites

4 minutes ago, Jed Peters said:

Just bought an IR USB. Might want to update options with shipping to NOT cost 13+ bucks....I know UPS can be expensive.

So correct me if I'm wrong, I'll put this one into a Shield's (non-pro version) USB, then hook up an IR blaster to the IR USB?

Also, will your driver work with the "pro" version of the Shield (built in IR) without the IRUSB?

The IRUSB is required to inject USBHID commands into the android device and will work with pretty much any android device.  We have tested it with quite a few here in Australia

Link to comment
Share on other sites

11 minutes ago, alanchow said:

The IRUSB is required to inject USBHID commands into the android device and will work with pretty much any android device.  We have tested it with quite a few here in Australia

So I connect the C4's IR flasher to the IRUSB. The Pro would not work then.

Link to comment
Share on other sites

2 minutes ago, Jed Peters said:

So I connect the C4's IR flasher to the IRUSB. The Pro would not work then.

No the IRUSB does not require IR for IP control.  The reason why its called IRUSB is that it also has (on top of IP control) IR control and IR output (which you can use as an ADDITIONAL IR output for your control4 system).

 

Link to comment
Share on other sites

1 minute ago, alanchow said:

No the IRUSB does not require IR for IP control.  The reason why its called IRUSB is that it also has (on top of IP control) IR control and IR output (which you can use as an ADDITIONAL IR output for your control4 system).

 

And I don't have to hack the android file system, correct? This is plug and play?

 

Link to comment
Share on other sites

1 minute ago, Jed Peters said:

And I don't have to hack the android file system, correct? This is plug and play?

 

No need to root it or do anything special.  You just install the IRUSB app from play store.  We have tested this on Nvidia Shield, Fire TV and Foxtel Now with great success.

Link to comment
Share on other sites

1 hour ago, alanchow said:

No the IRUSB does not require IR for IP control.  The reason why its called IRUSB is that it also has (on top of IP control) IR control and IR output (which you can use as an ADDITIONAL IR output for your control4 system).

So this allows you to now have IR control in a room with no C4 controller or other type of extender?  

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.