Smarty McHomeFace (github)

Overview

Smarty McHomeFace is an ongoing experiment in home automation using a Raspberry Pi B+. It currently presents a crude web-interface (not publicly accessible) for heating controls. I plan on adding schedules (maybe via cron)? eventually. It supports heating schedules via a Google Calendar API hack. There are a few other experimental somewhat broken features that include playing a custom greeting sound when the Pi detects a specific device has connected to the LAN (usually happens when someone returns home) or when someone walks by a motion sensor.

Thermostat

The overall design is simple: the Raspberry Pi controls a pair of relays that switch the heat and fan. On the software side, the web server is a crude amalgamation of hacks using the twisted web framework and Python Raspberry Pi GPIO Library. Specifically, hardware includes DS18B20 (as explained on adafruit) temperature sensor along with this pair of relays to switch the heat and fan. I found a wiring diagram for the thermostat that was originally installed in the house by Googling the model number of the thermostat that was originally installed. After finding the wiring diagram I dangerously experimented with jumper wire to determine how to switch the heat and fan. Attempt this at your own risk.

Greeter

The LAN greeting functionality is implemented using a Python wrapper for nmap. Greeting using the motion sensor is implemented using the gpiozero interface for the Pi.