Skip to content

Watchdog – Feature Summary

Watchdog is the name of my home automation system.  I’ve been steadily evolving Watchdog over the past 18+ years.  While the out-of-pocket expenses Watchdog are quite modest, the time investment is immeasurable.  This continues to be a work in progress and I have a list of features I plan to include in the future.  It was carefully designed to be un-invasive and invisible – the house appears like any other at first glance. Some of the key features of Watchdog include:

  • Automatically turn on/off lights
  • Automatically manage the temperature in the house
  • Automatically adjust the air vents to provide consistent temperature throughout the house
  • Automatically triggers the Roomba to clean when the house is unoccupied
  • Automatically raise/lower the window blinds
  • Forwards the house telephone line to my cell phone when the house is unoccupied
  • Intelligently manages the yard irrigation system based on weather forecast and soil moisture
  • Monitors power and water utility usage.
  • Alerts us about security and other things that need our attention
  • Reminds me to take out the trash
  • Provides security features when we are away on vacation
  • Speaks the name of incoming phone calls and logs in/out-bound calls

Watchdog software is 100% custom, written by me in Microsoft Visual Basic .NET (recently recompiled with VS2012 for .NET Framework 4.5).  The core software modules interface with a SQL Server 2008 database.  Watchdog performs most home automation functions automatically, but also provides some human interface options to allow manual override.  Watchdog human interfaces include:

Watchdog is comprised of a variety of custom and off-the-shelf hardware  modules including:

Below is a complete list of the features:

Event Action Comment
External Door Opened Play Door_Opened.wav
External Door Closed Play Door_Closed.wav
External Door Unlocked Play Door_Unlocked.wav
External Door Locked Play Door_Locked.wav
Garage Door Opened Play Gdoor_Up.wav Garage coach lights turn on for 15 minutes Coach lights only turn on between 7PM and 7AM
Garage Door Closed Play Gdoor_Down.wav
Upstairs Hallway Motion Detected Play Motion_Detected.wav Sound only played between the hours of 9PM and 7AM
Mail Delivered Speak “You’ve Got Mail”
External Door left open for 1 minute Speak “Attention, Please close the ??? Door“.” Mudroom door waits 3 minutes to allow loading/unloading of the cars
Average house temperature > 85 F Speak “Is it just me, or is it hot in here?” Checks hourly
Average house temperature < 65 F Speak “Is it just me, or is it cold in here?” Checks hourly
Garage Door open for 10 minutes and Garage Temperature < 45 F Speak “Attention, Please close the Garage Door” Repeats every 10 minutes.
Return to house after being unoccupied for more than 5 minutes Speak “Welcome home.  While you were gone, you missed X Phone calls, Y Visitors.  Also,  the mail was delivered and the floor was cleaned.”  Speak “While you were gone, nothing interesting happened” Message adjusted depending on the events that occurred while the house was unoccupied
Time is between 12AM and 4AM, and no motion is detected in the Great Room Turn Great Room Light off Repeats every hour during the 4 hour interval.
Event Action Comment
Doorbell rings Front Door Coach Lights Turned On for 15 min. Play X10 doorbell chime in basement Sarah (Hallway) shows front door cam for 1 min. Coach lights only turn on between 7PM and 7AM
A car departs Check external door locks and send SMS Text message to car owner notifying which door lock is opened
A car departs and no motion is detected for 5 minutes
•Set house status to “Unoccupied”
•Adjust thermostat
•Turn off lights
•Enable Call Forwarding to Wife’s Cell
•Start Car Proximity Check
•Lower window blinds
If garage temp < 70 F, raise Thermostat temp by 2 degrees.If garage temp > 65 F, lower Thermostat temp by 2 degrees.
Car enters Geofence when house is Unoccupied
•Adjust thermostat in anticipation of arrival
•Send the “Find Dock” signal to the Roomba
Adjust thermostat back to original temp prior to departure.
Car arrives when house is Unoccupied
•Set house status to “Occupied”
•Adjust thermostat (if no Car Proximity detected)
•If after 7PM, turn interior and coach lights on
•Disable Call Forwarding
•Send the “Find Dock” signal to the Roomba if it is running
•Raise window blinds
Adjust thermostat back to original temp prior to departure.Coach lights turned off 10 min after arrival.
Motion detected when house is Unoccupied
•Set house status to “Occupied”
•Adjust thermostat
•Disable Call Forwarding
•Send the “Find Dock” signal to the Roomba if it is running.
•Raise window blinds
Adjust thermostat back to original temp prior to departure.
Lizard habitat temperature falls below 83 F
•Speak “Attention the lizard habitat is too cold.”
•If house is unoccupied, send SMS text message to both phones.
9:30 PM
•Check security of house
•If necessary, speak “Attention, the following security items must be addressed…”
Repeats twice between 9:30 and 10:00pm if needed.
Event Action Comment
Water softener brine tank is < 20% full Append message to the daily 9:30PM status to include a warning that the brine tank salt level is getting low
National Weather Service issues a Thunderstorm or Tornado Warning for the area Speak:  “The weather is not looking too good.  You may want to move to the basement” Checks hourly
Lizard cage not opened (i.e. Lizard not fed) weekday between 8:10am  – 8:20am Speak:  “Please feed Molly.”
Lizard cage not opened (i.e. Lizard not fed) weekday between 10:30am – 10:35am Speak:  “Ok, seriously!  Molly is starving.  Stop what you’re doing and feed her now.”
Lizard cage not opened (i.e. Lizard not fed) weekday after 10:45am Send SMS Text message to both cell phones
Lizard cage not opened (i.e. Lizard not fed) weekend between 9:30am – 9:40am Speak:  “Please feed Molly.”
Lizard cage not opened (i.e. Lizard not fed) weekend between 10:30am – 10:35am Speak:  “Ok, seriously!  Molly is starving.  Stop what you’re doing and feed her now.”
Lizard cage not opened (i.e. Lizard not fed) weekend after 10:45am Send SMS Text message to both cell phones
Internet connection goes down/comes back Log event in Event Log Uses Ping as primary and HTTP as secondary
Telephone Rings •Log event in Event Log•Log Caller ID

•Announce incoming call

Ambient light level outside goes below/above threshold Turn on/off stair lightsTurn on/off RGB lamps
Middle of the night Dim RGB lamps at midnightReturn RGB lamps to full brightness at 6am Divides current RGB values by 2
Sunday at 8PM Checks the presence of the garbage can If present, speak reminder to take out trash
Monday at 8PM Checks the presence of the garbage can If not present, speak reminder to take retrieve trash can

Vacation Mode

Event Action Comment
Vacation mode initiation activated Begins a 5 minute delay before automatic activation
Vacation mode initiation countdown has 1 minute left Speak “Warning, Vacation mode will activate in 1 minute”
Vacation mode initiated and car departs Send SMS text message with a list of external door/window status
Vacation mode initiated Send SMS text message confirming Vacation Mode is active.

Vacation Mode Activated:

Event Action Comment
Motion detected or external door opened
•Sends SMS text message to both phones
•Plays a loud warning horn and speaks a warning that the owners have been notified
Sleeps for 1 hour, to avoid sending updates too frequently
Random times in the evening Turn on lights Give the appearance of inhabitance for burglars watching the house.
Random times at night Turn off lights Give the appearance of inhabitance for burglars watching the house.
Doorbell rings or phone rings Increment number of missed visitors or phone calls by 1
Car enters Geofence Adjust thermostat in anticipation of arrivalDisable Vacation Mode Adjust thermostat back to original temp prior to departure.Prevents the alarm from going off when we return.

Pictures:

Watchdog1  Watchdog1 running WDHouseUpdate, WDTempUpdate, and NetChecker

Watchdog2  Watchdog2 running SARAH Front Door, WDCallForward, WDSummaryReport, and WDIrrigationControl

Watchdog3  Watchdog3 running SARAH, WDCarProximity, and WDInsteonControl

sarah SARAH Magic Mirror Interface

Capture   Watchdog application interfaces

4 Comments
  1. wayne permalink

    Very impressive. how have you managed to interface with your roomba?

  2. Have you worked at all doing audio controls with voice?

    Trying to embed this tech into something more mobile with minimum computing requirements.

    • Lief, I’ve done a few projects with voice.
      1. My SARAH Interface project does 2-way voice control using Microsoft’s Speech API.
      2. My Talkbot speaks using the SpeakJet IC.
      3. My Talkbot v2 plays back WAV files with recorded speech using the WTV020-SD-16P module.

      Hope one of these is helpful.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: