Nvidia Shield TV, Amazon Fire TV and other Android TV integration without additional Linux / RPI box


I could not find any decent integration between Smartthings and Shield TV/ Fire TV, so I worked my way on it.

I’ve just published it on Github , here:

Just now, I don’t have much time to write here, but all required description is available on Github.

Copying from there:

There are 2 components:

  1. a modified Android TV keyboard with a REST API which can receive certain commands from network
  2. Device handler for Samsung Smartthings platform

Keyboard application is ready (precompiled) in the release-apk folder. You can also download it directly from Google Play Store at: https://play.google.com/store/apps/details?id=com.aktuna.tv.keyboard Device handler is available as groovy source code in the device-handler folder.

The keyboard application can be used also for other platforms or directly commanding Android TV from network (http)

This app is also working (90% functions) on Amazon Fire TV. (See Amazon TV install instructions below.)

Usage for Smartthings:

  1. install this keyboard on your Android TV and select it as the active keyboard from settings. (input/keyboard)
  2. create a device handler on your Smartthings platform with the groovy code from my github repository.
  3. create a device with the new device type (created in step 2)
  4. set “Device Network Id” in hex format (example “c0a8fe27:1388” for “”)
  5. set IP address of your new device (IP address of Android TV device)
  6. set PORT of your new device as 5000
  7. save your device and use through Smartthings

Usage for any other environment:

  1. install this keyboard on your Android TV and select it as the active keyboard from settings. (input/keyboard)
  2. you may call following commands using any HTTP client with this format: http://IP_ADDRESS_OF_ANDROID_TV:5000/[command]

Supported Commands: /sleep /home /back /search /up /down /left /right /center /volumeup /volumedown /rewind /ff /playpause /previous /next

Amazon TV apk install instructions:

  1. download the apk file from “release-apk” folder
  2. enable adb interface on your Amazon TV device
  3. connect to Amazon TV via ADB: “adb connect”
  4. install apk: “adb install /path/to/LeanKeyKeyboardPro_v1.0_r.apk”
  5. list available keyboards: “adb shell ime list -a”
  6. select and enable my keyboard app: “adb shell ime enable com.aktuna.tv.keyboard/com.aktuna.leanback.ime.LeanbackImeService”
  7. set my keyboard as default keyboard: “adb shell ime set com.aktuna.tv.keyboard/com.aktuna.leanback.ime.LeanbackImeService”
  8. *. To revert back to original keyboard: “adb shell ime set com.amazon.tv.ime/.FireTVIME”

just updated icons.
please use the recent device handler.

I got no feedback on this.
“interest is not as much as I had expected”
“it is working so great that does not need any comments/feedback”

Interested but installing it is low down the priority list at this time…

Also interested just install hurdle is high.

I definitely am interested and will probably install on a couple devices throughout the week. Thanks!

This is something I have been looking for quite a while. It is practical in situations such as, for example, turning the lights back on when pausing during watching a video on Plex. So, thank you for pulling this one together.

Having said that, I haven’t got my installation working properly yet. I will have to fiddle with it some more. My trouble may have to do with forwarding the port on the router.

The other thing I’m having problems with is updating the device handler on my Smartthings IDE platform for the groovy code on your github repository. I used ilker-aktuna; androidTV_keyboard_withRestAPI in the settings with no luck. Any idea?

mrmrmrmr, are you still using this app? If so, does your NVIDIA Shield have the latest firmware?
I can’t get it to work and wondered if the latest firmware on NVIDIA and the keyboard with REST API are playing well together.

I got it going now. It was a matter of making sure that the proper active keyboard was selected on the NVIDIA settings.

Would there be an easy way to add a Netflix button on the app?

it is easy but you have to define the package name for Netflix. If you get it, I can arrange it later this weekend. I have to modify both the Android app and the Smart app.


I’d like to support this device handler on new ST. But I don’t know how to convert it so that it shows required buttons on new ST app.
is it even possible ?
Where can I start from ?


I’m unfamiliar with Hex code and not sure if I’m doing this right. Mine doesn’t look anything like your example.

0a.00.00.9b (0xa00009b)

Using this website.