I’ve been spending lots of time working on my automation rules over the past couple weeks, thinking about the activities I do in my life over and over again, and trying to come up with a way to smartly automate them. One of these routines I do every single day is my morning routine, where I cross my room to put the blinds up, turn on my computer, turn on my receiver/amplifiers, and then wait for everything to fire up so that I can open the same three programs (Dragon NaturallySpeaking, Microsoft Outlook, and Google Chrome) only so I can wait again for everything to get initialized and ready for me. In total, probably 5 minutes of my morning wasted every single day, in the course of a year something like 30 hours of my life wasted… HECK WITH THAT!
This Is Where the Home Automation Comes into Play
I’ve got a number of tasks I want to accomplish every morning at 7:20 PM so how do I do it? First a detailed list of what I’d like to do:
- 7:10 AM Open the Family Room Shades
- 7:20 AM Start up My Computer and Open the Appropriate Programs
- 7:20 AM Turn on My Audio Processors/Amplifiers and Switch to the Proper Source
- 7:22 AM Turn on my Desk Lights if it’s Dark/Cloudy outside
Most of this stuff is pretty straightforward with CQC and my HAI OmniPro controller, but a few of the things need a little more digging/work, particularly starting up my computer and sizing/moving the programs on my desktop. So the big question, and the primary focus of this post… How do you turn a computer on without touching the button?
Wake on LAN
“Wake-on-LAN (WOL) is an ethernet computer networking standard that allows a computer to be turned on or woken up by a network message.” – Wikipedia
What does this mean in terms of my home automation? As long as my workstation’s motherboard supports WOL then my CQC home automation master server should be able to send a network message to wake it up. The only problem is at first it didn’t work! I send the WOL package and nothing happens!
So I started digging into things a bit further, and find out from my Asus P6T6 Workstation Revolution motherboard user manual that “To comply with Energy Star 4.0 LAN 1 and LAN 2 ports do not support WOL (Wake on LAN) function. Uh, oh… does that mean I’m SOL? Little Internet Google search and it looks like I’m not… Others have made WOL work on this motherboard by changing a few settings.
Since it’s not exactly possible to take screenshots from BIOS I’ll just have to explain the settings I changed. While booting up I pressed the [DEL] key to enter into the BIOS settings. From there I went over to POWER, then APM CONFIGURATION and made the following settings:
- Energy Star 4.0C Support – [Disabled]
- Restore on AC Power Loss – [Last State]
- Power on by PCIE Devices – [Enabled]
By disabling Energy Star support it is allowing LAN1 & 2 to support WOL. Enabling Power on by PCIE devices allow the LAN ports to power on the computer.
Device Manager Settings
There are just a few last settings to change within the device manager properties for the network interface cards.
Right-click Properties > Advanced Tab
Make sure “Shut down Wake-on-Lan“, “Wake on Magic Packet“, and “Wake on pattern match” are all set to Enabled.
Power Management Tab
Make sure “Allow the computer to turn off this device to save power“, “Allow this device to wake the computer“, and “Only allow a magic packet to wake the computer” are all checked as below
And there is, now the computer is ready to wake up when it receives a magic packet from my home automation system.
CQC Automation Settings
This is a scheduled event that happens every morning so I created a Daily Event that happens every day at 7:20 AM that results in the following action window:
The System: :SendWOL uses the Mac address of the computer I want to wake up. When this command fires it wakes up the computer, the action then waits 1 second before turning on my home theater processor, then waits another 15 seconds for it to fire up before setting the source to the PC Optical input.
And this morning… Automation Awesomeness! I wake up and find my computer sitting there waiting for me ready to go :-). Yeah, I know I still need to add the code to open the shades, but we have little extra fiddling to do before that is all tied in and working the way it should.