Extended Macros in the URCs 7980, 7880 and 7955
Posted: Sun Oct 24, 2021 11:44 am
I have discovered that the URC7980, URC7880 and URC7955 have undocumented support for macros with features beyond those of standard macros. There are in fact two separate extensions to standard macro features, one quite common extension and one surprising one. Neither extension is programmable on the remote itself, but I have issued RMIR v2.13.2 which makes both extensions available through RMIR.
The first extension is that they support Device-specific Macros (DSMs). This is a fairly common undocumented feature but I was not previously aware of it in these remotes. In RMIR these remotes now display a Special Functions tab with DSM as the only available Special Function.
The second extension is that they support a type of macro that has previously only been seen in XSight remotes and their equivalents. These macros enable you to specify both the duration for which each keypress in the macro is held and the delay before the next keypress, both in units of 100ms. In XSight remotes these are the only type of macro available, and outside of RMIR they could only be set up through the EZ-RC website which is now discontinued. This level of flexibility in a macro needs a screen display to allow the parameters to be entered and edited, which is what EZ-RC provided. These three remotes are the ones with a Bluetooth capability to connect to a UEI smartphone app, which does indeed provide a screen interface to the remote, but as far as I am aware, that app does not enable these extended macros to be set up. There is other evidence beyond this that the UEI app was planned to have future extensions that never materialized, so perhaps this is one. Despite this lack, RMIR v2.13.2 now gives access to these macros.
Because these remotes support both normal macros and these extended ones, a new name is needed to distinguish between the two. I have called them Controlled Macros to indicate the additional control that they provide over their timings. This enables you not only to increase the hold and delay times from those of a standard macro but also to decrease them from the values for a normal macro, which are 260ms hold time and 300ms delay. One of the features of many extenders is that they speed macros up, and these fast macros are prized by many users. There are no extenders available for these remotes but Controlled Macros allow zero (0.0 secs) to be given as either or both of hold and delay times and setting both to zero gives fast macros equivalent to those of extenders with that feature.
Controlled Macros are supported both in Global and Device-specific forms. If you press the New button in the Macros tab of RMIR, you are asked whether you want to create a Normal or Controlled Macro. If you edit an existing macro, the editor preserves the form of the existing macro, so if you want to replace a Normal Macro by a Controlled one, or the other way round, you need to delete the existing macro and create a new one. If you press the New button in the Special Functions tab, you are asked whether you want to create a Controlled DSM or some other Special Function. If you select Controlled DSM you are taken directly into the editor to create one. If you select Other Function, you are taken to the general Special Function editor with DSM available a the only function type. Again, editing an existing special function preserves the type, so delete and use New to change between Normal and Controlled DSM.
There are a few points to be made that are specific to the URC7955. The first is that there appears to be a bug in the Controlled Macro timings. The Hold time appears to be ignored on all except the last button in the macro sequence. The delay times all work but the hold times seem to be taken as zero except for the last button. So fast macros can be created and work as intended, but you may need to use Normal Macros to get hold times other than zero on buttons other than the last. The second point is that the NetTV button is special. You can put a normal macro on the NetTV button but not a Controlled Macro. Instead, as documented in the instruction manual, the NetTV button supports a Real-time Macro. You cannot create a Real-time Macro in RMIR, you must create it on the remote itself. The setup procedure is the same as creating a normal macro on the remote, except that you use the NetTV button where you would otherwise use the Magic button in the first and last steps of the setup procedure. A Real-time macro records the hold time of each button and the delay between them and reproduces these when the macro is sent. In this way its effect is similar to that of a Controlled Macro, but instead of manually specifying the hold and delay times, they are recorded from the button presses made to create the macro. Although you cannot create a Real-time Macro in RMIR, you can edit one and adjust the timings, or even change the buttons involved. Note that although the delay time is still a multiple of 100ms, the hold time shows to two decimal places and allows multiples of 10ms.
The first extension is that they support Device-specific Macros (DSMs). This is a fairly common undocumented feature but I was not previously aware of it in these remotes. In RMIR these remotes now display a Special Functions tab with DSM as the only available Special Function.
The second extension is that they support a type of macro that has previously only been seen in XSight remotes and their equivalents. These macros enable you to specify both the duration for which each keypress in the macro is held and the delay before the next keypress, both in units of 100ms. In XSight remotes these are the only type of macro available, and outside of RMIR they could only be set up through the EZ-RC website which is now discontinued. This level of flexibility in a macro needs a screen display to allow the parameters to be entered and edited, which is what EZ-RC provided. These three remotes are the ones with a Bluetooth capability to connect to a UEI smartphone app, which does indeed provide a screen interface to the remote, but as far as I am aware, that app does not enable these extended macros to be set up. There is other evidence beyond this that the UEI app was planned to have future extensions that never materialized, so perhaps this is one. Despite this lack, RMIR v2.13.2 now gives access to these macros.
Because these remotes support both normal macros and these extended ones, a new name is needed to distinguish between the two. I have called them Controlled Macros to indicate the additional control that they provide over their timings. This enables you not only to increase the hold and delay times from those of a standard macro but also to decrease them from the values for a normal macro, which are 260ms hold time and 300ms delay. One of the features of many extenders is that they speed macros up, and these fast macros are prized by many users. There are no extenders available for these remotes but Controlled Macros allow zero (0.0 secs) to be given as either or both of hold and delay times and setting both to zero gives fast macros equivalent to those of extenders with that feature.
Controlled Macros are supported both in Global and Device-specific forms. If you press the New button in the Macros tab of RMIR, you are asked whether you want to create a Normal or Controlled Macro. If you edit an existing macro, the editor preserves the form of the existing macro, so if you want to replace a Normal Macro by a Controlled one, or the other way round, you need to delete the existing macro and create a new one. If you press the New button in the Special Functions tab, you are asked whether you want to create a Controlled DSM or some other Special Function. If you select Controlled DSM you are taken directly into the editor to create one. If you select Other Function, you are taken to the general Special Function editor with DSM available a the only function type. Again, editing an existing special function preserves the type, so delete and use New to change between Normal and Controlled DSM.
There are a few points to be made that are specific to the URC7955. The first is that there appears to be a bug in the Controlled Macro timings. The Hold time appears to be ignored on all except the last button in the macro sequence. The delay times all work but the hold times seem to be taken as zero except for the last button. So fast macros can be created and work as intended, but you may need to use Normal Macros to get hold times other than zero on buttons other than the last. The second point is that the NetTV button is special. You can put a normal macro on the NetTV button but not a Controlled Macro. Instead, as documented in the instruction manual, the NetTV button supports a Real-time Macro. You cannot create a Real-time Macro in RMIR, you must create it on the remote itself. The setup procedure is the same as creating a normal macro on the remote, except that you use the NetTV button where you would otherwise use the Magic button in the first and last steps of the setup procedure. A Real-time macro records the hold time of each button and the delay between them and reproduces these when the macro is sent. In this way its effect is similar to that of a Controlled Macro, but instead of manually specifying the hold and delay times, they are recorded from the button presses made to create the macro. Although you cannot create a Real-time Macro in RMIR, you can edit one and adjust the timings, or even change the buttons involved. Note that although the delay time is still a multiple of 100ms, the hold time shows to two decimal places and allows multiples of 10ms.