You can easily program this. First, if your equipment has discrete codes use them. But, let's use an example of a TV that doesn't use discrete codes for power.
You create Two buttons on a hidden page of your TV device. Label one button "TV On" and the other "TV Off".
Make each button variable under 'type'. Under variable use the pulldown and select new variable. Type in "TV Power". Once you have done this then set the variable with the pulldown to "TV Power" for each button. You'll only have to create the new variable once.
If you notice when you selected variable as the type of macro two small tabs appeared above it that state variable=0 and variable=1. This is the macro you want to execute depending variable "TV Power" is set to 0 or 1.
Let's say when the status is 0 the TV Power is off and when the status is 1 the TV Power is on.
If we are trying to turn on the system and have the "TV On" button in our macro either the variable=0 or variable=1 commands will be issued. For example.
Variable=0 macro might be: Power (power code for TV) Delay 5 seconds Set variable "TV Power" to 1 (Since TV will now be on)
Variable=1 might not need anything as the TV would already be on.
Now let's reverse it for the "TV Off" button which would be called in our system off macro.
Variable=0 might not need anything as the TV is already off
Variable=1 macro might be Power (Power code for TV) Set variable "TV Power" to 0 (Since TV will now be off)
You will have to create these on and off buttons for every device that doesn't have discrete codes. But then all you need to do is program the sequences for on and off on the watch page and then punch them through to every device.