IR codes came from here
code was adapted from here
run:
python3 ir_codes.py ./samsung_tv_codes.csv
add the codes to you homeassistant/.storage/broadlink_...codes file.
in my case the file was named homeassistant/config/.storage/broadlink_remote_a04000000000_codes
and looked like this:
{
"version": 1,
"minor_version": 1,
"key": "broadlink_remote_a043b0b96870_codes",
"data": {
"tv": {
"power_off": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhISEhISNxI3EhISEhI3EjcSNxI3EhISEhI3EjcSEhIABaQNBQ==",
"power_on": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxISEhISNxI3EhISEhI3EhISNxI3EhISEhI3EjcSEhIABaQNBQ==",
"menu": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExI4EhMSOBI4EhMSExITEjgSExI4EhMSExI4EjgSOBIABaQNBQ==",
"arrow_down": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEhMSExITEjgSOBITEhMSOBI4EjgSOBITEhMSOBIABaQNBQ==",
"arrow_up": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBI4EjgSOBI4EhMSOBITEhMSExITEhMSExI4EhMSOBIABaQNBQ==",
"arrow_right": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExI4EhMSExITEjgSOBITEjgSExI4EjgSOBITEhMSOBIABaQNBQ==",
"arrow_left": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEjgSExITEjgSOBITEhMSOBITEjgSOBITEhMSOBIABaQNBQ==",
"enter": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExITEhMSOBITEjgSOBITEjgSOBI4EhMSOBITEhMSOBIABaQNBQ==",
"vol_up": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBI4EjgSExITEhMSExITEhMSExITEjgSOBI4EjgSOBIABaQNBQ==",
"vol_down": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBI4EhMSOBITEhMSExITEhMSExI4EhMSOBI4EjgSOBIABaQNBQ==",
"num_1": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExITEjgSExITEhMSExITEjgSOBITEjgSOBI4EjgSOBIABaQNBQ==",
"num_2": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEjgSExITEhMSExITEhMSOBITEjgSOBI4EjgSOBIABaQNBQ==",
"num_3": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExI4EjgSExITEhMSExITEjgSExITEjgSOBI4EjgSOBIABaQNBQ==",
"num_4": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExITEhMSOBITEhMSExITEjgSOBI4EhMSOBI4EjgSOBIABaQNBQ==",
"num_5": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEhMSOBITEhMSExITEhMSOBI4EhMSOBI4EjgSOBIABaQNBQ==",
"num_6": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExI4EhMSOBITEhMSExITEjgSExI4EhMSOBI4EjgSOBIABaQNBQ==",
"num_7": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExITEjgSOBITEhMSExITEjgSOBITEhMSOBI4EjgSOBIABaQNBQ==",
"num_8": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEjgSOBITEhMSExITEhMSOBITEhMSOBI4EjgSOBIABaQNBQ==",
"num_9": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExI4EjgSOBITEhMSExITEjgSExITEhMSOBI4EjgSOBIABaQNBQ==",
"num_0": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEhMSExI4EhMSExITEhMSOBI4EjgSExI4EjgSOBIABaQNBQ==",
"tv": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBI4EhMSOBI4EhMSExITEhMSExI4EhMSExI4EjgSOBIABaQNBQ==",
"exit": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEjgSOBITEjgSExITEhMSOBITEhMSOBITEjgSOBIABaQNBQ==",
"return": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExITEhMSOBI4EhMSOBITEjgSOBI4EhMSExI4EhMSOBIABaQNBQ==",
"info": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBI4EjgSOBI4EhMSExITEhMSExITEhMSExI4EjgSOBIABaQNBQ==",
"content": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEhMSOBI4EjgSOBITEhMSOBI4EhMSExITEhMSOBIABaQNBQ==",
"media_play": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSExITEjgSOBITEhMSExI4EjgSOBITEhMSOBI4EjgSExIABaQNBQ==",
"hdmi1": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxISEhISNxISEjcSNxI3EhISNxI3EhISNxISEhISEhIABaQNBQ==",
"hdmi2": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhI3EjcSNxI3EjcSEhI3EjcSEhISEhISEhISEjcSEhIABaQNBQ==",
"hdmi3": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhI3EhISEhISEhISNxI3EjcSEhI3EjcSNxI3EhISEhIABaQNBQ==",
"hdmi4": "JgBGAJSTEjgSOBI4EhMSExITEhMSExI4EjgSOBITEhMSExITEhMSOBITEjgSExITEhMSOBI4EhMSOBITEjgSOBI4EhMSExIABaQNBQ==",
"video1": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhISEjcSEhISEhISEhI3EjcSNxISEjcSNxI3EjcSEhIABaQNBQ==",
"video2": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxI3EhISNxISEjcSNxI3EhISEhI3EhISNxISEhISEhIABaQNBQ==",
"video3": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhISEjcSNxISEjcSNxI3EjcSNxISEhISNxISEhISEhIABaQNBQ==",
"svideo1": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxISEjcSEhISEhISEhI3EhISNxISEjcSNxI3EjcSEhIABaQNBQ==",
"svideo2": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxISEjcSNxISEjcSNxI3EhISNxISEhISNxISEhISEhIABaQNBQ==",
"svideo3": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxI3EhISNxI3EjcSNxI3EhISEhI3EhISEhISEhISEhIABaQNBQ==",
"component1": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhI3EjcSEhISEhISEhI3EjcSEhISEjcSNxI3EjcSEhIABaQNBQ==",
"component2": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhISEhISNxISEhISEhI3EjcSNxI3EhISNxI3EjcSEhIABaQNBQ==",
"component3": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhISEhISNxISEjcSNxI3EjcSNxI3EhISNxISEhISEhIABaQNBQ==",
"dvi1": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhI3EhISNxISEhISEhI3EjcSEhI3EhISNxI3EjcSEhIABaQNBQ==",
"dvi2": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhI3EhISNxISEjcSNxI3EjcSEhI3EhISNxISEhISEhIABaQNBQ==",
"vga1": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISNxISEhISNxISEjcSNxISEhISNxI3EhISNxISEhISNxIABaQNBQ==",
"vga2": "JgBGAJSUEjcSNxI3EhISEhISEhISEhI3EjcSNxISEhISEhISEhISEhISEhISNxI3EhISNxI3EjcSNxI3EhISEhI3EhISEhIABaQNBQ=="
},
"z906":{
"off": "JgBYAAABJJAUERU0FRAVDxQRFBEVDxUQFBEUERQQFRAUERQ1FBEUNRQRFBAVEBQRFBEUEBUQFDUVNBU1FDUUNRQ1FDUUNRUQFAAF2wABKEgUAAxNAAEqRRYADQU=",
"on": "JgBYAAABJJAUERU0FRAVDxQRFBEVDxUQFBEUERQQFRAUERQ1FBEUNRQRFBAVEBQRFBEUEBUQFDUVNBU1FDUUNRQ1FDUUNRUQFAAF2wABKEgUAAxNAAEqRRYADQU=",
"nextChannel": "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEhISEhI3EhISEhISEhISNxI3EjcSEhI3EjcSNxI3EgAF0wABKEoSAAxWDQUAAAAAAAA=",
"volumeDown": "JgBQAAABJY8WDxYzFg8WDhYPFg8WDxYOFg8WDxYOFg8WDxYzFg8WMxYPFjMWDxYzFg8WMxYzFg8WMxYOFjQWDhYzFg8WDxYzFgAF2QABKkYWAA0FAAAAAAAAAAA=",
"volumeUp": "JgBQAAABIpIUERM2ExITEhMSExETEhMSExEUERMSExITERQ1FBETNhQRFDYTERM2ExITNhMSEzYTNhMSEzYTEhM2ExITNhMRFAAF3AABKEcVAA0FAAAAAAAAAAA=",
"mute": "JgBQAAABI5EUERQ1FBEUERMRFBEUERQRFBAUERMSFBEUEBQ1FBEUNRQREzYUERQ1FBETNhM2FDUUNRQRFDUUERQ1FBETEhMRFAAF3AABKEcTAA0FAAAAAAAAAAA=",
"input1": "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEhISNxISEhISEhISEhISNxI3EhISNxI3EjcSNxI3EgAF0wABKEoSAAxWDQUAAAAAAAA=",
"input2": "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEjcSEhISEhISEhISEjcSNxISEjcSNxI3EjcSNxISEgAF0wABKEoSAAxWDQUAAAAAAAA=",
"input3": "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEhISNxI3EhISEhISEhISNxI3EhISEhI3EjcSNxI3EgAF0wABKEoSAAxWDQUAAAAAAAA=",
"input4": "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEhISNxI3EhISEhISEjcSNxI3EhISEhI3EjcSNxISEgAF0wABKEoSAAxWDQUAAAAAAAA=",
"input5": "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEjcSEhISEhISEhISEhISNxISEjcSNxI3EjcSNxI3EgAF0wABKEoSAAxWDQUAAAAAAAA=",
"aux" : "JgVQAAABKJMSEhI3EhISEhISEhISEhISEhISEhISEhISEhI3EhISNxISEjcSEhISEhISEhI3EhISNxISEjcSNxI3EjcSEhI3EgAF0wABKEoSAAxWDQUAAAAAAAA="
}
}
}
the tv
section is for a Samsung smart TV, z906 is for a Logitec z906 501 sound system.