First of all, I think you are falling prey to a fundamental misunderstanding here. If you look closely at all the hex codes in your table you'll see that all of them have the lower 2 bits of the byte set to 0. That's because IR/DecodeIR.dll is not producing hex codes for a combo protocol executor. It simply filled in the upper six bits of the byte from the OBC, and has no idea what the two lower bits should be, so it left them set to zero. It then calculated the EFC values from those hex values.
The point here is that you should
not be trying to match the hex values from IR in KM. IR does not know which version of the Dish Network executor you will be using. KM does know, and knows that the version in the URC-6131 is a combo protocol, and knows how to encode the lower 2 bits properly. All you have to do is enter the OBC, and select the correct device code by entering 0, 1, 2 or 3 in the byte2 column to select one of the four devices you entered on the Setup sheet.
ElizabethD wrote:Also, when in EFC mode instead, EFC number is changed, b2/ov column fills and byte2 column goes blank - that one I don't understand at all.
An EFC number completely defines all 8 bits of the hex code, so there is nothing for the byte2 column to do here. In OBC mode, the OBC only defines 6 of the 8 bits, and the byte2 column defines the remaining 2 bits.
ElizabethD wrote:According to KM Protocol Help, IR learned Subdevice+1=Unit code. So I coded for Unit#1.
Correct.
I entered OBCs and didn't look back at EFC and hex.
OK so far.
ElizabethD wrote:Hex was 3D for Page up.
This is as it should be, given that the Page Up function in your table indicates device 1. The lower 2 bits are 01, which points to Device#1 on the Setup sheet, which you set to be device code 1.
ElizabethD wrote:It didn't work.
Define what you mean by that. Do you mean it did not produce the hex code you expected, or do you mean that the device did not respond to the IR command?
ElizabethD wrote:When we changed EFC from 171 to 179 it worked. Likewise for the others
Again, I'm not sure what you mean here. If the functions did not operate the device correctly, then IR must be incorrect in indicating that these functions used device code 1. If you altered the functions to match the hex codes from IR, then all of them are using device code 0.