Skip to content

Instantly share code, notes, and snippets.

@mallendeo
Last active April 8, 2022 16:40
Show Gist options
  • Save mallendeo/ac5a0445fa07d5ae528bcbbc885aeb89 to your computer and use it in GitHub Desktop.
Save mallendeo/ac5a0445fa07d5ae528bcbbc885aeb89 to your computer and use it in GitHub Desktop.
Home Assistant remote control script template

Usage:

TV example:

- service: script.lg_tv_remote
  data:
    cmd: power
- service: script.lg_tv_remote
  data:
    cmd: hdmi1

Receiver example:

- service: script.onkyo_TX_8020_remote
  data:
    cmd: vol_up
- service: script.onkyo_TX_8020_remote
  data:
    ri: true
    cmd: power_dvd
sequence:
- variables:
mapper:
up: '0x20DF02FD'
down: '0x20DF827D'
left: '0x20DFE01F'
right: '0x20DF609F'
config: '0x20DFC23D'
back: '0x20DF14EB'
home: '0x20DF3EC1'
input: '0x20DFD02F'
enter: '0x20DF22DD'
power: '0x20DF10EF'
play: '0x20DF0DF2'
stop: '0x20DF8D72'
pause: '0x20DF5DA2'
forward: '0x20DF718E'
backward: '0x20DFF10E'
hdmi1: '0x20DF738C'
hdmi2: '0x20DF33CC'
hdmi3: '0x20DF9768'
- service: mqtt.publish
data:
payload: '{"Protocol":"NEC","Bits":32,"Data":"{{ mapper[cmd] }}"}'
topic: cmnd/IR_Bridge/irsend
mode: single
alias: lg_tv_remote
icon: mdi:remote
# https://github.com/jimtng/onkyo-ri-mqtt
alias: onkyo_TX_8020_remote
sequence:
- variables:
ri_mapper:
cd: '0x20'
dvd: '0x120'
power_cd: '0x2F'
power_dvd: '0x12F'
'off': '0x420'
mapper:
vol_down: '0x4BB6C03F'
vol_up: '0x4BB640BF'
vol_mute: '0x4BB6A05F'
bass_down: '0x4BB6E11E'
bass_up: '0x4BB6619E'
treble_down: '0x4BB6916E'
treble_up: '0x4BB611EE'
- choose:
- conditions:
- condition: template
# RI: Remote interactive
value_template: '{{ ri == true }}'
sequence:
- service: mqtt.publish
data:
topic: homie/onkyo-ri/onkyo/command/set
payload: '{{ ri_mapper[cmd] }}'
default:
- service: mqtt.publish
data:
topic: cmnd/IR_Bridge/irsend
payload: '{"Protocol":"NEC","Bits":32,"Data":"{{ mapper[cmd] }}"}'
mode: single
icon: mdi:audio-video
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment