Git Product home page Git Product logo

ha-firemote's Introduction

HA-Firemote

hacs_badge GitHub release (latest by date) Maintenance

Buy Me A Coffee

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
Apple TV Remote Style 3 Apple TV Remote Style 2 Apple TV Remote Style 1 NVIDIA Shield Remote 2 NVIDIA Shield Remote 1 Chromecast Remote
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
    • Apple TV
    • NVIDIA Shield
    • NVIDIA Shield Pro
    • Xiaomi Mi Box S
    • Chromecast
    • 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 Apple TV device do I own?
Which NVIDIA Shield devices are supported?
Which NVIDIA Shield device do I own?
Which Xiaomi Mi device do I own?
Which Chromecast device do I own?




Download and Setup via Home Assistant UI & HACS

  1. For non-Apple TV users, Turn on ADB Debugging on your Amazon, Shield, Xiaomi, Chromecast, or Android TV device
  2. Connect your device to Home Assistant:
    • Amazon, Shield, Xiaomi, Chromecast, or Android TV users:
    • Apple TV Users
      • Set up the Home Assistant Apple TV Integration and connect it to your device. This will create a "Media Player" entity, and a "Remote" entity automatically.
  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. For non-Apple TV users, Turn on ADB Debugging on your Amazon, Shield, Xiaomi, Chromecast, or Android TV device
  2. Connect your device to Home Assistant:
    • Amazon, Shield, Xiaomi, Chromecast, or Android TV users:
    • Apple TV Users
      • Set up the Home Assistant Apple TV Integration and connect it to your device. This will create a "Media Player" entity, and a "Remote" entity automatically.
  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 Device Family dropdown, choose "Amazon Fire", "Apple TV", "Chromecast", "NVIDIA Shield", or "Xiaomi"
    • Amazon, Shield, Xiaomi, Chromecast, or Android TV users:
      • Under Device Model, select the device model that you own. (Help: Which Amazon Fire or NVIDIA Shield device do I own?)
      • Under the Android Debug Bridge Entity dropdown, a list of your Android Debug Bridge integration entities will appear. Select the one you wish to control.
      • If you are setting up something other than an Amazon Fire device, select the Associated Android TV Remote Entity that points to the same device as your Android Debug Bridge entity. This step is not required, but it will greatly improve the speed and reliability of your Firemote card
    • Apple TV Users
      • Under Apple TV Device Model, select the device model that you own
      • Under Apple TV Media Player Entity, select the Apple TV Media Player entity you wish to control
      • Under Apple TV Remote Entity, select the Apple TV remote entity that is associated with the Apple TV Media Player Entity you chose in the previous step
  4. Make any other optional changes to your card, then click "SAVE" Other options include changing the app launch buttons to apps that you use most often, or changing the style of your remote control to look like something completely different from what shipped with your device. You can even add names and adjust the size of your Firemote card too!

Config




Screenshots from Users

Dashboard
Click here to see the full gallery




YAML card setup options

Examples:

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
type: custom:firemote-card
entity: media_player.apple_tv_4k_2nd_gen
device_family: apple-tv
device_type: appletv-4k-gen2
compatibility_mode: default
apple_tv_remote_entity: remote.apple_tv_4k_2nd_gen
app_launch_1: apple-appstore
app_launch_2: apple-tv-arcade
app_launch_3: mlb
app_launch_4: nfl
visible_name_text: Game Room
name_position: top
button_overrides:
  mute-button:
    script: receiver_mute_script
type: custom:firemote-card
entity: media_player.android_tv_192_168_107_209
device_family: nvidia-shield
device_type: shield-tv-pro-2019
compatibility_mode: default
android_tv_remote_entity: remote.shield
scale: '100'
app_launch_1: netflix
app_launch_2: function-find-my-remote
app_launch_3: function-mute

Options:

Name Type Required Options Description
type string yes custom:firemote-card Type of the card
entity string yes any valid media player entity created in the Android Debug Bridge Integration or the Apple TV Integration entity_id
device_family string yes amazon-fire
apple-tv
chromecast
nvidia-shield
xiaomi
Manufacturer Family
android_tv_remote_entity string no any valid entity created in the Android TV Remote Integration entity_id
Ignored in Apple TV configurations
apple_tv_remote_entity string yes* any valid remote entity created in the Apple TV Integration entity_id
* Required ONLY in Apple TV configurations
device_type string yes appletv-4k-gen2
appletv-gen4
chromecast-4k
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_second_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

Ignored in Apple TV configurations

FAQ Available for additional help
defaultRemoteStyle_override string no AF1
AF2
AF3
AF4
AF5
AF6
CC1
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
show_version_number bool no true
false
Optionally display the Firemote Version number on the card
hide_button_highlights bool no true
false
Optionally hide the status higlighting decorations for the power, home, and play/pause buttons
use_theme_background bool no true
false
Optionally hide the AL1 or AL2 remote style's background color to let the HA theme color show



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 Apple Support Fire Support Chromecast Support Shield Support Xiaomi Support
abc-iview ABC iview (AU)
ace-stream-media Ace Stream Media
all-4 ALL4
amc-plus AMC+
app-opener App Opener
apple-appstore Apple App Store
apple-tv Apple TV
apple-tv-arcade Arcade
apple-tv-computers Computers
apple-tv-facetime FaceTime
apple-tv-fitness Fitness
apple-tv-movies Movies
apple-tv-music Apple Music
apple-tv-photos Photos
apple-tv-podcasts Podcasts
apple-tv-shows TV Shows
ard-mediathek ARD Mediathek
arte ARTE
bbc-iplayer BBC iPlayer (UK)
bell-fibe-tv Bell Fibe TV (CA)
bgtime-tv bgtime.tv
binge-au Binge (AU)
channels-dvr Channels: whole home DVR
cnn CNN
cosmote-tv COSMOTE TV
crave-tv Crave TV (CA)
crunchyroll Crunchyroll
curiosity-stream Curiosity Stream
cyberghost CyberGhost VPN
daily-wire Daily Wire
dazn DAZN
directv-stream DIRECTV stream
discovery-plus Discovery +
dish-anywhere Dish Anywhere
disney-plus Disney +
ds-video DS Video
emby Emby
eon-tv EON TV
ertflix ERT FLIX
espn ESPN
f-droid F-Droid
f1-tv F1 TV
firetv-store FireTV Store
flash Flash
fox-sports FOX Sports
france-tv france.tv
freevee freevee
gcn-plus GCN+
go-play GOPLAY
go-tv GO TV
google-play-store Google Play Store
hbo-max Max
hdhomerun HDHomeRun
home-assistant Home Assistant
hulu Hulu
ignite-tv Ignite TV (Shaw)
infuse Infuse
internet-silk-browser internet (Silk Browser)
iptv-extreme-pro IPTV Extreme Pro
iptvx IPTVX
ipvanish IPVanish VPN
iqiyi iQIYI
israel-station Israel Station
jellyfin Jellyfin
justwatch-streaming-guide JustWatch - Streaming Guide
kayo Kayo Sports (AU)
КиноПоиск КиноПоиск
kodi Kodi
lazymedia-deluxe LAZYMEDIA DELUXE
live-channels Live Channels
magenta-tv Magenta TV
max-player MaxPlayer
mediaset-infinity Mediaset Infinity
mediaset-infinity-alt Mediaset Infinity (alt)
mlb MLB
movistar-plus Movistar Plus+
myCanal my CANAL
my-family-cinema My Family Cinema
nba-on-fire-tv NBA on Fire TV
nbc-sports NBC Sports
nebula Nebula
netflix Netflix
news News by Fire TV
nfl NFL
nine-now 9now
nlziet NLZIET
nordvpn Nord VPN
nostv NOSTV
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)
pbs PBS
peacock Peacock
plex Plex
pluto-tv Pluto TV
poda-tv PODA.tv
prime-video Prime Video
private-internet-access Private Internet Access
proximus-pickx Proximus Pick
purple-cheetah Purple Cheetah
qmusic-be Qmusic-BE
raiplay RaiPlay (IT)
redplay RedPlay
s0und-tv S0undTV
sbs-on-demand SBS On Demand (AU)
seven-plus 7plus (AU)
shophq ShopHQ
showtime Showtime
siriusxm SiriusXM
sky-news Sky News
sky-showtime Skyshowtime
sky-sport-now Sky Sport Now
smart-tube-next Smart Tube Next
smart-tube-next-beta Smart Tube Next Beta
smart-tv-client-for-twitch SmartTV Client for Twitch
spotify Spotify
stan Stan (AU)
startup-show Startup Show
starz Starz
steam-link Steam Link
stream-tv StreamTV
streamz streamz (BE)
stremio Stremio
surfshark-vpn Surfshark VPN
svt-play SVT Play
syncler SYNCLER
syncnext Syncnext
t2-tv T-2 TV
tbs tbs
telenet-tv Telenet TV (BE)
ten-play 10play (AU)
tennis-channel Tennis Channel
testflight TestFlight
threenow Three Now (NZ)
tidal Tidal
tivimate TiviMate IPTV Player
tnt TNT
tubi tubi
tv4-play TV4 Play
tver TVer
tvexpress-br TVExpress (BR)
tving TVING
tvnz-plus TVNZ+ (NZ)
twire Twire
twitch Twitch
viaplay Viaplay
videoland Videoland (NL)
vlc VLC
volleyball-tv Volleyball TV
vtm-go VTM GO (BE)
vrt-max VRT MAX (BE)
waipuTV Waipu TV (DE)
watched WATCHED
weyd weyd
wow WOW
xciptv-player XCIPTV Player
xfinityStream Xfinity Stream
youtube YouTube
youtubekids YouTube Kids
youtubeTV YouTube TV
zattoo Zattoo
zdf-mediathek ZDF Mediathek
ziggo-go Ziggo Go
function-app-switch Built-in App Switcher
function-apple-settings Apple Settings Menu
function-control-center Apple Control Center
function-find-my-remote Shield's Remote Locator
function-mute Mutes your device
function-next Apple TV 'Next' Button
function-previous Apple TV 'Previous' Button
function-reboot Reboots your device
function-search Apple TV 'Search' Button
function-settings Launches Settings Menu
function-skip-backward Apple TV 'Skip Backward' Button
function-skip-forward Apple TV 'Skip Forward' Button
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:

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



FAQ

Why won't the volume, mute, and/or power buttons work from my Firemote card?

In many cases, your 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. These IR commands cannot be sent in a traditional Home Assistant setup.

If your player device AND the device they are connected to both offer CEC options, then activating CEC will allow the Firemote card controls to work as expected. Click here to learn more about how to configure CEC to work with your Firemote. Another option might be to control your devices (TVs, Receivers, etc.) using Button Overrides. If you can control those kinds of devices through Home Assistant, you can write a HA script and attach that script to a button on your Firemote.

Due to the way the Apple TV Home Assistant integration is built, an Apple TV style Firemote cannot properly simulate a "Mute" button press. A Button Override will be required in this case.

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. This step most commonly fixes the issue in Amazon Fire devices after they are powered on, restarted, or updated.
  • Check your card configuration:
    • Is the correct Android device selected?
    • Is the correct Device Family selected?
    • Is the correct Device type selected?
    • If you are using it, is the correct matching Android TV Remote Entity 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!

Why do only some of the Firemote buttons for the Apps that came with my Apple TV work properly, while others don't?

Apple TV app shortcuts work simply by passing the name of the app to the apple tv remote entity. Firemote is built and tested against an environment that uses English as the primary language. In some scenarios, built-in Apple TV apps use language app specific names, which is why asking it to open the English version of that app's name does not work. In order to overcome this, I request that you click the Issues button at the top of this page so we can work together and make all of these buttons work in your native language.

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.

How can I contribute?

  • Take a look at the current discussions board to see if anything is tagged with "Help Wanted".
  • Buy Me A Coffee
  • Since it is personally expensive for me to purchase, evaluate, and develop integrations for all of your requests, I've set up an Amazon Wish List (US) and an Amazon Wish List (DE) for any of you who are feeling incredibly generous and want to send me something that I don't already own.

ha-firemote's People

Contributors

prprod avatar comicmuse avatar mdjward avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.