Generic remote control card for HACS

Its actually showing the entire menu if you look closely.

I removed all of this but it still continues to show the menu. Even opened it in incognito.

<div id="remote-control-firestick4kremote">
				<h2>
					Main navigation
				</h2>
				<ul>
					<li id="pwr" class="myButton-${template}"><a href="#" title="pwr"><span>pwr</span></a></li>
					<li id="mic" class="myButton-${template}"><a href="#" title="mic"><span>mic</span></a></li>
					<li id="volup" class="myButton-${template}"><a href="#" title="volup"><span>volup</span></a></li>
					<li id="voldown" class="myButton-${template}"><a href="#" title="voldown"><span>voldown</span></a></li>
					<li id="mute" class="myButton-${template}"><a href="#" title="mute"><span>mute</span></a></li>
					<li id="up" class="myButton-${template}"><a href="#" title="up"><span>up</span></a></li>
					<li id="left" class="myButton-${template}"><a href="#" title="left"><span>left</span></a></li>
					<li id="select" class="myButton-${template}"><a href="#" title="select"><span>select</span></a></li>
					<li id="right" class="myButton-${template}"><a href="#" title="right"><span>right</span></a></li>
					<li id="down" class="myButton-${template}"><a href="#" title="down"><span>down</span></a></li>
					<li id="back" class="myButton-${template}"><a href="#" title="back"><span>back</span></a></li>
					<li id="home" class="myButton-${template}"><a href="#" title="home"><span>home</span></a></li>
					<li id="menu" class="myButton-${template}"><a href="#" title="menu"><span>menu</span></a></li>
					<li id="rwd" class="myButton-${template}"><a href="#" title="rwd"><span>rwd</span></a></li>
					<li id="play" class="myButton-${template}"><a href="#" title="play"><span>play</span></a></li>
					<li id="fwd" class="myButton-${template}"><a href="#" title="fwd"><span>fwd</span></a></li>			
				</ul>
			</div>	
		</div>

Have you figured it out? I can’t use to trigger scripts or other services

I have never figured it out!
I tried changing the command to BACK, UP etc as dean pointed out, but made no difference,

My commands / scripts work fine when I run them from dev tools,
But this remote never doaes anything, the button lights ip when I tap it, but nothing ever happens.
Surely I am just missing something basic, but as no-one can offer any imsight to what, I gather not so basic!
Had the card ising real estate on my dashboard for months now, might be time to delete this useless addon.

@rootd Not sure if you got this done but I created a fork which has a rokupremiere remote sending mqtt commands, in my case, to a sonoff smart ir blaster. I think my readme text in this fork explains how I use it and the code is all there

https://github.com/stain3565/generic-remote-control-card

Hi, is there someone kind enough to explain how to do it? I have a Samsung remote control exactly like the one indicated in the instructions on GitHub. I installed the service on HACS, I restarted Home Assistant, but now? I’m sure you miss something to do, because if I copy the code indicated on a custom curd, it doesn’t work. I would be very grateful if you help me. If I understand how to do it, I could also create a remote control for my Onkyo and then share it with everyone. Thank you in advance

Okay, I did it. I realized that there are no keys, I will try to add them if I can, and in case I will update GitHub

Having problems accessing the card. Went into HACS and downloaded it. It took a while to install. I can see that it is installed.

image

When I look at the available custom cards when I click add card in the dashboard that I am editing, it is not there. What am I missing?

This integration was 100% what I was looking for, but there doesn’t seem to be very good instructions out there.

Once you download and install the integration it seems that “nothing” happens. If you look for the generic remote card you won’t find it.

You have to create a “custom card” using 100% yaml. If you “expand” the “simple remote example” that is the code you could copy and paste, but it won’t work out of the box for most. You have to change all “entity_id: remote.living_room_remote” with your correct remote (ir blaster) ID. For example I use broadlink blasters, so I use “entity_id: remote.mannyremote” with remote.mannyremote being the ID of blaster.

You then have to manually “learn” all of your remote commands. There are instructions on how to do it via developer tools. Once you have your list of codes you have to replace all the codes.

back:
call: remote.send_command
data:
entity_id: remote.living_room_remote
command: >-
b64:JgBgAAABJZEVEBITERMTEhMRExITEhISEjYUNhI3EzYTNhM1ExISNxQQFBETEhE4ExETEhM2EhISNxM2EzYTEhI3EzUUERM2EwAFOgABJ0gSAAwPAAEkSRMADA4AASVJEgANBQAAAAAAAAAA

The actual command is everything that comes after the b64: For each button you will have a long string which is the command.

I didn’t like the remote that the sample code uses. I ended up using the PartnerTV code, but you can’t just copy and paste the code. If you expand Partner TV it will read something like this:

type: ‘custom:generic-remote-control-card’
name: PartnerTV
remote_template: partner
buttons:
power:
volplus:
volmin:
partner:
mute:

But as you can see the code is missing MUCH info. What we have here is just a template. The actual code you would copy and paste on the custom card would look something like this:

name: Hisense
remote_template: partner
buttons:
  power:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48TERMQFDQUEBMRExETEBMREzUSNRMREjUTNRI1EzUSNRMSExATERM1ExATERQQExESNBUzEzQVEBI1FDQSNRQ0EwAFCgABIUYUAA0F
  volplus:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABIY0UERMQEzUTERMQExETERISEzUTNBMQEzUTNBM1EzUTNBMQFDQUEBMQFRASERQQExAVMxUPEzUTNRI1EzUSNRM1EgAFBgABIEcTAA0F
  volmin:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABIY0UERIREjUTEhIRExETERISEjUUMxQQEzUSNRM1EjUTNRI1EzUTEBQQExETERMQFBESERQQEzUTNBM1EjUUNBI1FAAFAwABIUYTAA0F
  partner:   
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBOAJCRERISEhM1EzUTEhE3ERITEhESExISNhI2EhISNhISEhISEhI3ETcRNxE3ERISExIREjcRExISERMSEhE3ETcSNhIABeOQkRI2EgANBQ==
  mute:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4UEBMQFTMTERMQExISERMREzUTNBQQEjUTNRI1EzUSNRM1EhEUEBM1ExAUERIRExETEBM1EjUTEhM0EzUSNRQ0EgAFBQABIEcSAA0F```

It is important you don't change the name of the buttons otherwise it won't work.  If you want to change name of buttons you probably have to edit the templates which is out of the scope of what I know how to do.  For example the "section12" button is actually the "menu" button, but you can't substitute "section12" with "menu"

Hope I was able to help you Angelo or someone else

If you have a Hisense remote model EN2A127H you can use the codes I captured. You would just have to change “remote.mannyremote” to your actual IR blaster ID

name: Hisense
remote_template: partner
buttons:
  power:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48TERMQFDQUEBMRExETEBMREzUSNRMREjUTNRI1EzUSNRMSExATERM1ExATERQQExESNBUzEzQVEBI1FDQSNRQ0EwAFCgABIUYUAA0F
  volplus:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABIY0UERMQEzUTERMQExETERISEzUTNBMQEzUTNBM1EzUTNBMQFDQUEBMQFRASERQQExAVMxUPEzUTNRI1EzUSNRM1EgAFBgABIEcTAA0F
  volmin:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABIY0UERIREjUTEhIRExETERISEjUUMxQQEzUSNRM1EjUTNRI1EzUTEBQQExETERMQFBESERQQEzUTNBM1EjUUNBI1FAAFAwABIUYTAA0F
  partner:   
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBOAJCRERISEhM1EzUTEhE3ERITEhESExISNhI2EhISNhISEhISEhI3ETcRNxE3ERISExIREjcRExISERMSEhE3ETcSNhIABeOQkRI2EgANBQ==
  mute:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4UEBMQFTMTERMQExISERMREzUTNBQQEjUTNRI1EzUSNRM1EhEUEBM1ExAUERIRExETEBM1EjUTEhM0EzUSNRQ0EgAFBQABIEcSAA0F
  record: null     
  source:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABIY0TERMREzUSERMRExAUERIREzQVMxMRFDQSNRM1EzQTNRM1EzQTEBM1EhITEBMSEhETERMQEzUTERM1EzQUNBM0FAAFBgABIEcUAA0F
  one:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4UERIREzQUERIREhITEBMSEjUTNRIREjYSNRM1EzQTNRI1ExETERIRFDQUEBIRFBATERM0FDQUMxMSEzQTNRI1EwAFCAABIUYTAA0F
  two:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABII4TEBQREzQUDxQQExETEBUQEzQTNRMQEzQVMxQ0EzQUNBMREjUTERMREjUUEBISExATNRISEzUTNBQQEjUTNRM0EwANBQ==
  three:    
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4TEhIREzUTERIRExAUERIREzUTNBQQFDQSNRM1EzQTNRM0FDQTEBQREjUTEBMSExATERMREjUTNRISEjUUMxM0FQAFAgABIUYUAA0F
  four:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII8UEBMQFDQTERMQFBESERMREzUTNBQQEzQUNBQzFTMUMxUQExATNBUQEjUTEBUQEhETNBUzFBATNRIRFDQTNBQ0FAAFCAABIEcTAA0F
  five: 
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABII0VDxMREzQUERIRExETEBUQEzQUNBIRFDMUNBM0FDQTNRI1ExEUNBIREzUSEhMQExITEBI1FBAUMxQREjUTNRM0EwANBQ==
  six:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBYAAABII4TERQQEjUTERMRExATERMREjUTNRISEzUTNBM1EjQUNBMREzUTNBMQFTMUEBMRExETNBMREhISNRMREjUTNRI1EwAFBgABIUUUAAwCAAEgRhMADQU=
  seven:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48UEBMQFDQUEBMQFRATEBMRFDQTNBQQEjUTNRI1FDQSNRM1EjUTNRISFDMTERMQFBESERMRExAUNBMRFDQSNRM1EwAFBgABIUUUAA0F
  eight:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABIY0UEBIRFTMTERIRFBATERMREzUSNRMQFDQTNBUzEjUUNBMRExESEhM0FDQSERMRExESNRQ0EjUUEBMREjUUNBI1EwANBQ==
  nine:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48TEBQREjUTERMRExAUEBMREzQTNRISEzUSNRM1EjUTNRMzFBETEBQ0EzQVDxQQExESERQ0EzQUERIREjUTNRM0EwAFCAABIUYSAA0F
  zero:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4TERISEjYTEBISExATEhIREzQTNRMREzQTNBUzEzUUMxQQExETERMQFDQUEBIRFBESNRM1EzQUNBMQEzUTNBQ0EwAFBAABH0cTAA0F
  section12:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4VEBMQFDMVEBMQExETERISEjUUNBIREzUSNRM1EjUTNRI1EzUSERQQFBAUEBI1FBAUEBMQFDQTNBQ0FDMUEBQ0EwAFCQABHkcUAA0F
  lastch: null
  fastforward:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48TERMREjUTERMRExATERMQFDQUNBMREzQTNRI1EzUTNRM0EzUSERI1EzUTERM1EhETERMREjUTEhIREzQTERM0FAAFCAABIEcTAA0F
  rewind:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4UEBISEjUTERMRExATERMREjUTNRISEzUSNRM1EzQTNRI1EzUTNRI1ExATEhM0ExESEhMQExEUEBI1EzUTERM1EgAFBQABIEcUAA0F
  play:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4UEBMQFTMUEBQQFBASERQQEzUTNBQQEzQTNRI1FDQTNBMSEjUTEBMSEhETERM1ExATNRMREjUTNRI1EzUTEBQ0EgAFCAABIEcSAA0F
  stop:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABH44WDxIRFDQTERMQFBAUEBISEzUTNBMQEzUSNRM1EzQUNBMQEzUSNRM1EhITERI1ExAVMxQQFA8VEBI1EzUTEBM1EgANBQ==
  vod: null
  myrec: null
  netflix:    
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII8TEBISEzUTEBMRExESERMREzUSNRMQFDQTNBQ0FDQSNRMRExESNRM1EhITEBM1EhITNBM0FBESERM0FTMUEBM1EwAFCAABIEcUAA0F
  youtube:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABHo8UEBMREzQVDxMRFBATEBQREzQTNRIREzQTNRM1EjUTNRM0FBAUEBM0ExISERI1ExETERM1EzQTEBUzEzQVEBI1EwAFBwABIEcTAA0F
  channelup:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48SExIQEzYREhQQEhETEhIQFTQTMxQSEjUSNhE1FDQSNRMSExEQEhQRExATEhIRExESNRQ1ETYSNRI2EjUTNRM0EwAFDAABIEcUAA0F
  channeldown:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48UEBMQEzUTERMREhISERMREzUSNRQQEjUUNBI1EzUTNBQ0ExETERISExATERMREhEUEBM1EzQTNRI1FDQTNBM1EwAFCQABIEcTAA0F
  home: 
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48TEBMREzUTEBMRExESERQQFDQSNRMREzQUNBQzFDQTNBQREjUTERM0ExETERM0ExISNRQPFDQTERQ0EzQTERM0EwAFDAABIEcTAA0F
  back:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABH48TERMQFTMUEBMQFBESERQQEzUTNBMRFDMUNBM0EzUTNBMSEhETNRISEhETERQQEhITNRM0ExAUNBM1EzQTNRM0EwAFBAABIEcUAA0F
  circle:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII4VEBIREzQUERMQFBATEBMSEjUUNBIREzUSNRM1EzQUNBI1ExETNBQ0FBASERUzExETEBUzFBATEBQ0FDMUERM0FAAFBAABH0cUAA0F
  left:
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABIYwUERIRFDQTERMQFBAUEBISEzUTNBQPFDQTNRM0EzUSNRMRExESERM1EjUTEhM0ExAUNBM1EzQTEBUQEjUTERM0EwAFCQABIEYVAA0F
  right:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABII4UERMQEjUTEhIRExISERMSETUTNRMQEzUTNBM1EzUSNRM0ExESExI0EzUUEBM1ERISEhI1EzUSERMSETUTERQzFAANBQ==
  top:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBQAAABII8SERISEjUTERMRExESERMREjUTNRISEjUUMxQ0ETYUNBQQEjYSNRQPFDQTERM1EhETNBMSExASNRQSEjQTERI1EgAFBwABIEcSAA0F
  bottom:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABIY0SEhISEjUTERISEhMSERATEzURNRQREjYRNhI1EzUTNBM1FDMTNRISETYUERE2EhESEhISEhITMxQQEzUSERQ0EwANBQ==
  ok:     
    call: remote.send_command
    data:
      entity_id: remote.mannyremote
      command: >-
        b64:JgBIAAABII0UERIREzUSEhIRExETERIRFDQUMxQQEzUTNBM1EzUSNRMQEzUTERQzFDMVEBM0ExAUNBMREzUSERMRFDQTEBM1EgANBQ==```

Only thing that might not work for you is the partner power button.  I put in the code to power on/off my sound bar.

Does anyone know what I can edit in order to center the remote on the card instead of being on the left?