DISHNetworkLIRCConfiguration
From MythTV
Endaf Jones took the time to decode the DISH Network remote control command set for use in controlling DISH Network or Bell ExpressVu receivers. The result is the following lircd.conf that includes definitions for all the buttons, discrete power (i.e. power_on and power_off, in addition to the power toggle), and all 16 remote codesets (i.e. for controlling up to 16 DISH receivers).
To send a command to a receiver using codeset 1, use the remote name "dish1". To send a command to a receiver using codeset 9, use the remote name "dish9" (and so on for other codesets). Ensure your channel change scripts (and anything else you use to send commands to your receivers) use the button names defined below.
If using the discrete power_on button, I recommend you do not include it in a channel change script. If the receiver is, in fact, off, it will not receive/process additional commands after the "power_on" until it has finished booting. Therefore, if you do most of your recording during primetime, you could set up a daily cron job to send a "power_on" a few minutes before primetime begins. You may even try sending the command more often (i.e. at 25 and 55 past each hour), but test this out before any important recordings.
To use the configuration, copy the information below (or download a compressed copy from the mailing list archives) and paste it into a text file. Save the file at /etc/lircd.conf (or ledxmitd.conf, if appropriate for your configuration). Then, restart LIRC and enjoy. Note that spaces and formatting can be very important, so be careful to copy/paste correctly.
Bell ExpressVu users wanting to use different remote names may copy the same lircd.conf and update the remote names to "expressvu1", "expressvu2", ... with the following script:
sed -i -e 's/name dish/name expressvu/' \
-e 's/dish#/expressvu#/' \
-e 's/called "dish/called "expressvu/' \
-e 's/dish" and a "dish/expressvu" and a "expressvu/' \
lircd.conf
Those wanting to update the buttons named "dish_home{,2}" may do so with:
sed -i -e 's/dish_home/expressvu_home/' lircd.conf
# This config file is based on the information posted by Endaf Jones at
# http://www.gossamer-threads.com/lists/mythtv/users/196566#196566
#
# brand: JVC/RCA
# model no. of remote control:
# supported devices: Dish Network (EchoStar)
# - JVC 2700 receiver
# - JVC 4700 receiver
# - JVC 49xx receiver
# - JVC 50xx receiver
# - RCA 31x receiver
#
# Bell ExpressVu (EchoStar)
# - 3100 receiver
# - 5100 receiver
#
# and several other Dish and Bell ExpressVu receivers.
#
# Unit code selection (1-16) is performed by specifying the appropriate
# value for post_data
# 1=0x000 2=0x200 3=0x100 4=0x300
# 5=0x080 6=0x280 7=0x180 8=0x380
# 9=0x040 10=0x240 11=0x140 12=0x340
# 13=0x0C0 14=0x2C0 15=0x1C0 16=0x3C0
#
# Each has been implemented in this config file with the remote names "dish#"
# where the hash/pound/number sign ("#") is a code number from 1 through 16.
# There is also a remote called "dish" (without a number), for users with only
# one receiver, that uses remote code 1 (DISH's default).
#
# The duty_cycle (the percentage of time during a pulse that infrared light is
# being sent) is commented because some hardware transmitters don't support its
# use.
#
# The discrete power functions (power_on and power_off) can be used to ensure
# the power state of the receiver. However, they probably shouldn't be used in
# a channel change script as the receiver will require a significant delay
# after a power_on before it is capable of receiving/responding to additional
# commands (such as channel numbers). Instead, assuming most of your recording
# is during prime-time, you may want to set a cron job to run a "power_on"
# command for each of your receivers about 5 or 10 minutes before primtetime.
### Remote definition for remotes using remote code 1 (0x000)
begin remote
name dish
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x000
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 1 (0x000)
### (Duplicated to allow a "dish" and a "dish1" remote name)
begin remote
name dish1
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x000
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 2 (0x200)
begin remote
name dish2
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x200
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 3 (0x100)
begin remote
name dish3
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x100
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 4 (0x300)
begin remote
name dish4
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x300
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 5 (0x080)
begin remote
name dish5
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x080
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 6 (0x280)
begin remote
name dish6
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x280
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 7 (0x180)
begin remote
name dish7
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x180
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 8 (0x380)
begin remote
name dish8
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x380
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 9 (0x040)
begin remote
name dish9
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x040
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 10 (0x240)
begin remote
name dish10
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x240
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 11 (0x140)
begin remote
name dish11
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x140
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 12 (0x340)
begin remote
name dish12
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x340
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 13 (0x0C0)
begin remote
name dish13
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x0C0
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 14 (0x2C0)
begin remote
name dish14
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x2C0
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 15 (0x1C0)
begin remote
name dish15
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x1C0
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
### Remote definition for remotes using remote code 16 (0x3C0)
begin remote
name dish16
flags SPACE_ENC|NO_HEAD_REP
eps 30
aeps 100
frequency 56000
# duty_cycle 32
one 440 1645
zero 440 2780
header 525 6045
ptrail 450
gap 6115
min_repeat 6
bits 6
post_data_bits 10
post_data 0x3C0
begin codes
info 0
power_on 1
power 2
1 4
2 5
3 6
4 8
5 9
6 10
7 12
8 13
9 14
0 17
menu 11
select 16
cancel 18
guide 20
view 22
tv_vcr 23
right 24
up 26
recall 27
left 28
down 30
record 31
pause 32
stop 33
sys_info 36
asterisk 37
pound 38
power_off 39
sat 41
dish_home 52
sys_info2 54
dish_home2 56
end codes
end remote
