Section B6: Software Questions
Working with Macros
B6-01 What are macros? How are they different from regular commands?
In the remote industry, macros are a series of commands sent from only one button. For instance, a macro could turn on your television and receiver, set the receiver to the “TV” input and then switch the TV to channel 25. Whatever you want to automate, a Macro can do it.
The way the Pronto is designed, there is no difference between a regular command and a macro. Every button on the Pronto is a macro, it’s just the most only have one command.
B6-02 How can I get the Pronto NG to “hold” a button for several seconds in a macro?
The basic answer is no: the Pronto NG does not have any automated way of sending a command for a specific length of time in a macro. However, there may still be method – but chances are equal (if not greater) that it will not work.
With the original Pronto, there was an almost guaranteed method of simulating holding down a button through a special learning technique where one would learn the beginning and end of the signal, and repeat the end portion many, many times. This trick worked because the original Pronto sent IR codes one immediately after the other without any significant delay, while the Pronto NG has a rather significant delay between each command that generally breaks this trick as the device is no longer fooled into thinking that the remote is sending one contiguous signal.
With the most recent firmware release, Philips has managed to tweak the Pronto NG’s unwanted delay a bit shorter. Although this is still too long for most devices, reports indicate that this old trick is in fact working in several cases. So, here’s how it works:
- Learn the desired button by briefly tapping it on the original remote. Do not hold down the button as is generally recommended.
- Learn the same signal a second time – but this time start pressing the button on your original remote before pointing it at the Pronto/RC5000. Then, while continuing to hold the button, have the Pronto to learn the signal and wait until it is finished. I recommend the “duck blind” method for this. That way, the Pronto will learn the repeat portion of the signal, but not the preamble.
- Create a macro that looks like this:
Add the signal repeat command as many time as is required to reach the desired transmission time. Quite a few repeats may be required.
B6-03 How can I enter multiple digits on a single button, say for a favorite channel icon?
It seems that when people encounter this problem they immediately forget that the Pronto NG is a macro-based remote. Which means more than one command per button. The majority of users attempt to learn the sequence of numbers off of the original remote -- say “53” in one shot. You can’t do that as the Pronto is only able to learn one command at a time.
Instead, you need to create a macro to duplicate the exact steps you yourself would take to enter that channel in. While you could re-learn each digit over and over again for each icon, that is both a waste of time and space. Now that we know what aliases are (see previous question) we can instead use that function to create the macro. So, what you basically need to do is alias to each button on your TV/VCR/SAT keypad. For instance, a macro in ProntoEdit NG to select channel 255 using aliases may look like this:
Link to DSS - Keypad - 2
Link to DSS - Keypad - 5
Delay 0.1 sec
Link to DSS - Keypad - 5
Link to DSS - Keypad - Enter
It’s that simple. But what, you may ask, is that 0.1 second delay doing in there? Well, depending on the specific device you’re controlling, it may require a short pause between each digit before it can sense them as individual commands. More often (and shown above), a delay may be required between digits that are the same. If the delay were removed from the above sample, the DSS may only sense that you entered channel “25”.
B6-04 Why are some of my macro commands not being received?
The most likely reason is these is too little space between your commands – although the Pronto NG is slower than the Pronto, some devices are slower yet! Certain components may require a delay of 0.1 seconds to 0.5 seconds between each consecutive command. In addition, many devices are “blind” to signals for the first few seconds after powering on, especially televisions. You may want to turn the television on first, then have the macro address the rest of your devices, and finally go back to the television to change inputs.
B6-05 What would a macro for a system on/off button look like?
As always, the exact appearance of a macro will of course be dependant on your exact equipment. However, for an example, a “System On” macro for a system with discrete codes may look like:
Link to Television - Page 1 Keypad - On
Link to Receiver - Page 1 Main - On
Delay 0.5 sec
Link to Television - Page 3 Inputs - Tuner
Link to Receiver - Page 2 Inputs - Television
Jump to Television - Page 1 Keypad
An example with the same components, but for “System Off”:
Link to Receiver - Page 1 Main - Off
Link to Television - Page 1 Keypad - Off
Of course, if one of your commonly used devices does not have discrete codes your macros will either be much simpler, or much more difficult. Experimentation is the key to successful macros.
B6-06 How can I handle switching video inputs?
The best solution is to find an IR code that switches you directly to the input you are interested in using (called “discrete” codes). Some devices respond to these codes even though the remote they shipped with only had an input toggle button.
Unfortunately, many devices do not have direct input codes. For these devices you will need a different workaround.
One trick is to find something that changes the TV (or other device) to a known state. On some TVs, entering a channel number (e.g. '2','enter' or 'channel+') always takes you to the tuner input ('TV'), even when you have a video input selected. This means you can create action lists (macros) to take you to specific inputs. For example, create a button with just '2','enter' on it, and call it 'TV'. Create another with '2','enter','input' and label it 'Video 1'. Create another which contains '2','enter','input','input' and call it 'Video 2'.
For devices that do not have discrete codes and also have no workarounds there is no way to fully automate your system.
B6-07 What are aliases and how are they used?
Aliases (called "Links" in ProntoEdit NG) allow you to refer to an action list that has already been defined elsewhere in the remote. For example, if you wanted to create a few buttons that went directly to favorite stations using your DSS receiver (see question below) you would otherwise have to store the actual IR codes multiple times for each macro. This would be both slow and a waste of valuable memory.
Instead, using aliases you merely store pointers to a single numeric keypad. In effect, an alias is a placeholder that allows you to say “use that command from over there”. But why would you want to?
a) It saves memory. An alias is more compact than an entire action list or even just one learned IR code. Although ProntoEdit NG will detect and compact identical hex codes, codes are rarely learned exactly the same twice in a row. That means all would be stored separately.
b) If you want to share a PCF, using aliases – rather than storing the same IR codes multiple times – makes it much easier for other people to adopt your setup. In the DSS example, if channel buttons use aliases and someone has an RCA receiver rather than a Sony, all they would need to do is learn the Sony codes on the numeric pad and all channel buttons would work without further effort.
To create an alias, click on the CREATE LINK button on the Button Properties window, then navigate the device tree and select the device and button to alias to. All commands under that button will now be referenced.