Making your Mac Available - Powering On and Waking Up

You may be surprised to discover that Power Manager does not include actions for powering on or waking up. Instead, Power Manager Professional's event editor reveals that these tasks are found in the triggers.

Power Manager Professional's event editor showing the optional availability field

Power Manager's date and time based triggers include an optional availability field. This field lets you say 'make my Mac available for this trigger to occur.'

So how do you create an event to power on your Mac at a specific time? You create an event with a single trigger, no conditions, and no actions. The trigger must include the optional availability field set to power on.

What this deceptively simple event does, is tell your Mac to power on in time to trigger the single trigger. Your Mac will power on, Power Manager will perform the event, and find nothing more to do.

The reason for our design is easier to appreciate if you first try and design an event where power on and wake up are actions.

Imagine an event with a date and time based trigger set to trigger at 8am. The event has no conditions, and one action. The action is to power on your Mac.

You might expect this event to cause your Mac to power on at 8am. After all the trigger is set for 8am and the action says power on. However, consider when the event requires Power Manager to work; the event needs to be triggered when your Mac is powered off, before the power on action is performed.

This is not possible. The action needs to perform in order to power on your Mac, and your Mac needs to be powered on in order to trigger the event and perform the power on action. The sequence is backwards and impossible.

In this alternative design, another approach might be to ask Power Manager to prepare the events beforehand and extract the expected behaviour about powering on. This seems acceptable until you add in the possibility of conditions. What if a condition stopped the triggered event from performing - thus never running your power on action? Should all events be evaluated beforehand, including conditions that can not be determined in advance?

The design problem is surprisingly subtle and hides more than a few edge cases. When you include conditions and sequences of actions, things only get more complex.

Power Manager 4's solution to re-examine the role of power on and wake up was a significant break from past designs. The change opened up conditions and the creation of far more complex and capable events.

Powering on your Mac in preparation for a trigger did raise one potential problem; the Mac's timing accuracy for automatically powering on or waking up is not ideal. How we overcame this problem we called drifting, and drifting is a topic for another day.

This article was posted in , , , and and tagged , , , , and .

Published by Graham Miln on