The execution queue is what makes things happen in PowerHome. When you press a button on the Control Center, or a menu hotkey to launch a macro, or when a trigger or timed event causes an action to be taken, the request is sent to the execution queue. PowerHome was specifically designed to take this myriad of tasks and force them all to be executed one at a time, in the order they were received. This process ensures that nothing happens out of order and keeps the system synchronized. Exceptions have been programmed in however to allow you to override the execution queue and execute an action immediately. This can be seen in the triggers and timed events screen where you have the Boolean field. When a trigger is checked or a Timed Event is fired, the formula in the Boolean field will be executed immediately, ahead of any actions currently in the Execution Queue. Use this functionality with great care so as not to cause problems within PowerHome. You should NEVER execute a function from the Boolean formula that interacts with a controller.
Normally, the execution queue is a first in, first out (FIFO) construct. You can override the FIFO behavior by using the ph_postexequeue( ) function. This function is safe to run from the Boolean field (Boolean formulas are never sent to the execution queue and are evaluated immediately). The execution queue has a couple of logical sections. The first being the priority queue and the other being the normal queue. Priority queue items are executed before any normal queue items. Using the ph_postexequeue( ) function you can place a Macro, Formula, Send Keys, or Device Control string at the very top of the queue (next item to be executed), to the bottom of the priority queue, or to the bottom of the normal queue.