Skip to content

Amazon Fire TV, Fire streaming stick, NVIDIA Shield, and Xiaomi Mi remote control emulator for Home Assistant

License

Notifications You must be signed in to change notification settings

manuele84/HA-Firemote

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HA-Firemote

hacs_badge GitHub release (latest by date) Maintenance

Need More Information? Check out this project's Wiki page

Fire TV Remote Style 6 Fire TV Remote Style 5 Fire TV Remote Style 4 Fire TV Remote Style 3
Fire TV Remote Style 2 Fire TV Remote Style 1 NVIDIA Shield Remote 2 NVIDIA Shield Remote 1 Xiaomi Mi Remote 2
App Launcher 1 App Launcher 2



Prerequisites

  • A functioning version of Home Assistant
  • HACS (not required, but it makes things easier)
  • A supported device
    • Amazon Fire Smart TV
    • Amazon Fire Stick
    • Amazon Fire Cube
    • NVIDIA Shield
    • NVIDIA Shield Pro
    • Xiaomi Mi Box S
    • Other Android-based non-fire devices might work as well, but with limited (and unsupported) functionality

Which Amazon Fire devices are supported?
Which Amazon Fire device do I own?
Which NVIDIA Shield devices are supported?
Which NVIDIA Shield device do I own?
Which Xiaomi Mi device do I own?




Download and Setup via Home Assistant UI & HACS

  1. Turn on ADB Debugging on your Amazon device
  2. Set up the Home Assistant Android TV Integration and connect it to your Amazon Fire Device
  3. Click on HACS and select Frontend
  4. In the lower right-hand corner, click the "+ EXPLORE & DOWNLOAD REPOSITORIES" button
  5. Search for, and click on "Firemote Card" then click the "DOWNLOAD" button in the lower right-hand corner
  6. You will be prompted to reload your browser. Click the RELOAD button to continue

OR Install Manually

  1. Turn on ADB Debugging on your Amazon device
  2. Set up the Home Assistant Android TV Integration and connect it to your Amazon Fire Device
  3. Download the contents of the dist/ directory, and place it in your Home Assistant /config/www directory
  4. Register the HA-Firemote.js file that you just installed as a new resource


How to use

  1. On any dashboard, click the +ADD CARD button
  2. Search by cards for "Firemote Card" and click on it
  3. Under the Entity dropdown, a list of your Android TV integration entities will appear. Select the one you wish to control.
  4. Under Device Family, choose "Amazon Fire" or "NVIDIA Shield"
  5. Under Device Type, select the device model that you own. (Which Amazon Fire or NVIDIA Shield device do I own?)
  6. Make any other optional changes to your card, then click "SAVE"

UIConfig

Dashboard




YAML card setup options

Example:

type: custom:firemote-card
entity: media_player.fire_tv_192_168_1_30
device_family: amazon-fire
device_type: fire_tv_4_series
compatibility_mode: default
app_launch_1: prime-video
app_launch_2: netflix
app_launch_3: hdmi_1
app_launch_4: youtube
hdmi_1: Cable
scale: 85
button_overrides:
  mute-button:
    script: receiver_mute_script

Options:

Name Type Required Options Description
type string yes custom:firemote-card Type of the card
entity string yes any valid entity created in the android tv integration entity_id
device_family string yes amazon-fire
nvidia-shield
xiaomi
Manufacturer Family
device_type string yes fire_tv_toshiba_v35
fire_tv_4_series
fire_tv_cube_third_gen
fire_tv_cube_second_gen
fire_tv_cube_first_gen
fire_tv_stick_4k_max
fire_tv_3rd_gen
fire_tv_stick_lite
fire_stick_4k
fire_stick_second_gen
fire_stick_first_gen
shield-tv-2017
shield-tv-pro-2017
shield-tv-2019
shield-tv-pro-2019
mi-box-s
The type of device you are controlling
Which devices are supported?
Which device do I own?
compatibility_mode string no default
strong
event0
event1
event2
event3
event4
event5
event6
event7
event8
event9
event10
event11
event12
event13
Adjust this value only if your buttons are completely unresponsive
FAQ Available for additional help
defaultRemoteStyle_override string no AF1
AF2
AF3
AF4
AF5
AF6
NS1
NS2
XM2
AL1
AL2
Optionally select a style of remote different from the one that shipped with your device
app_launch_1
app_launch_2
app_launch_3
app_launch_4
app_launch_5
etc...
string no See App Launch Button Customization section for options Quick launch apps customization
hdmi_1
hdmi_2
hdmi_3
hdmi_4
string no Personalized name for this HDMI input The name entered here will appear on the button (truncated to 8 characters to fit)
scale integer no Any positive number Change the size of this card by percentage. The default size is 100
button_overrides object no Button name and HA script name are required. Details are in the Button Overrides section of the README.md file
visible_name_text string no Any text Optional device label for your firemote
name_position string no hidden
bottom
top
Position for your optional device label
visible_name_text_color hex color value no Any hex color value e.g.: #ffffff Optional text color for the device name label



App Launch Button Customization

Custom app launch buttons are not limited to the few that came printed on your remote control. In fact, the possibilities are endless! If you don't see your favorite app on this list, you can click on the Issues button on the top of this page, click 'New Issue' and then click the "Get Started" button next to the "App Shortcut Request" option. Your request is important to you and likely important to others as well! As long as the app is easily downloaded through your device's app store (not sideloaded), your request will be granted ASAP.

Options:

Value for YAML File App / Physical Input Amazon Fire Support NVIDIA Shield Support Xiaomi Mi Support
abc-iview ABC iview (AU)
amc-plus AMC+
app-opener App Opener
apple-tv Apple TV
bbc-iplayer BBC iPlayer (UK)
bell-fibe-tv Bell Fibe TV (CA)
cnn CNN
crave-tv Crave TV (CA)
crunchyroll Crunchyroll
cyberghost CyberGhost VPN
dazn DAZN
directv-stream DIRECTV stream
disney-plus Disney +
ds-video DS Video
emby Emby
espn ESPN
firetv-store FireTV Store
freevee freevee
google-play-store Google Play Store
hbo-max HBO Max
hulu Hulu
ipvanish IPVanish VPN
jellyfin Jellyfin
kayo Kayo Sports (AU)
kodi Kodi
magenta-tv Magenta TV
myCanal my CANAL
netflix Netflix
news News by Fire TV
nordvpn Nord VPN
now-tv Now TV
npo NPO (NL)
optus-sport Optus Sport (AU)
ott-navigator OTT Navigator
oqee-by-free OQEE by Free (FR)
pandora Pandora
paramount-plus Paramount+
paramount-plus-de Paramount+ (alt)
peacock Peacock
plex Plex
prime-video Prime Video
private-internet-access Private Internet Access
raiplay RaiPlay (IT)
sbs-on-demand SBS On Demand (AU)
shophq ShopHQ
showtime Showtime
sky-news Sky News
sky-sport-now Sky Sport Now
smart-tube-next Smart Tube Next
smart-tube-next-beta Smart Tube Next Beta
spotify Spotify
stan Stan (AU)
starz Starz
streamz streamz (BE)
stremio Stremio
surfshark-vpn Surfshark VPN
svt-play SVT Play
telenet-tv Telenet TV (BE)
tennis-channel Tennis Channel
threenow Three Now (NZ)
tivimate TiviMate IPTV Player
tubi tubi
tvnz-plus TVNZ+ (NZ)
twitch Twitch
videoland Videoland (NL)
vtm-go VTM GO (BE)
vrt-max VRT MAX (BE)
vlc VLC
waipuTV Waipu TV (DE)
xciptv-player XCIPTV Player
xfinityStream Xfinity Stream
youtube YouTube
youtubekids YouTube Kids
youtubeTV YouTube TV
zattoo Zattoo
function-app-switch Built-in App Switcher
function-find-my-remote Shield's Remote Locator
function-mute Mutes your device
function-reboot Reboots your device
hdmi_1 HDMI Input 1 ✓ (device specific)
hdmi_2 HDMI Input 2 ✓ (device specific)
hdmi_3 HDMI Input 3 ✓ (device specific)
hdmi_4 HDMI Input 4 ✓ (device specific)



Button Overrides

Button Overrides can be very useful for customization. These overrides can be used to call a Home Assistant service directly, run a script, or hide a button on your remote. These options are accomplished through your Firemote's YAML configuration.

Consider this example:

button_overrides:
  mute-button:
    script: receiver_mute_script
  volume-down-button:
    script: receiver_volume_down_script
  volume-up-button:
    service: light.toggle
    target:
      entity_id: light.bedroom_lamp
    data:
      color_name: red
      transition: 2
      brightness_pct: 100
  power-button:
    hidden: true

Valid button names are as follows:

  • power-button
  • headset-button
  • keyboard-button
  • up-button
  • left-button
  • center-button
  • right-button
  • down-button
  • apps-button
  • back-button
  • home-button
  • hamburger-button
  • rewind-button
  • playpause-button
  • fastforward-button
  • volume-up-button
  • channel-up-button
  • volume-down-button
  • tv-button
  • channel-down-button
  • mute-button
  • settings-button
  • app-switch-button
  • programmable-one-button
  • programmable-two-button



FAQ

Why won't the volume, mute, and/or power buttons work for my Amazon Fire device?

In many cases, your Amazon remote control sends commands for volume, mute, and power to your TV or receiver using the IR emitter on the front of the physical remote control. Since this is the case, these commands cannot be emulated through the same means that Firemote sends other commands.

In these cases, you might still be able to control your devices (TVs, Receivers, etc.) using Button Overrides. If you can control your non-fire devices through Home Assistant, you can write a HA script and attach that script to a button on your Firemote.

Why don't any of the buttons on the Firemote work at all?

  • If your Firemote used to work perfectly, and some or all of the buttons suddenly stopped working, it could be that all you need to do is press one button (any button) on your Fire TV device's physical remote control. After doing that step, try your Firemote again.
  • Check your card configuration:
    • Is the correct Android device selected?
    • Is the correct Device Family selected?
    • Is the correct Device type selected?
    • Is Compatibility Mode set to Default?
  • If the Default Compatibility Mode is not working on your device, and you've checked every other step, slowly choose "event0", "event1", etc. and test your remote buttons under each mode. One of these will work.

Why isn't my Amazon Fire Device supported?

There are over 40 kinds of Amazon Fire devices, so it will take a while to gain properly tested support for all of them. If Firemote doesn't support your Amazon Fire device yet, you can still use Firemote! Simply choose a supported device that is similar to the one that you have (preferably a remote that looks the same as your physical remote), then you can test different compatibility modes to find out which one works the best.

For extra credit, you could submit a request to have your device added! It's simple! Click on the Issues button on the top of this page, click 'New Issue' and then click the "Get Started" button next to the "Device Support Request" option. Your help is VERY appreciated!

I want a shortcut button for an app I use frequently, but it's not on the list. Can it be added?

Absolutely! Simply ask! Here's how: Click the Issues button at the top of this page, click 'New Issue' and then click the "Get Started" button next to the "App Shortcut Request" option. Your request is important to you and likely important to others as well! If the app is easily downloaded through your device's official store (not sideloaded), your request will be granted ASAP.

How do I report a problem, make a request, or talk about stuff?

Click on the Issues button at the top of this page, click 'New Issue', and select the appropriate category for your needs. You're also welcome to join or begin a new discussion if that suits your needs.

About

Amazon Fire TV, Fire streaming stick, NVIDIA Shield, and Xiaomi Mi remote control emulator for Home Assistant

Resources

License

Stars

Watchers

Forks

Packages

No packages published