AAIMI Home Automation
Features
Below are some of the feature available in AAIMI Home Automation.
Overview
AAIMI Home Automation is a package of free and open-source tools that monitor and control your home or business

The system runs on a Raspberry Pi computer and Arduino micro-controllers, utilizing a variety of sensors and relays to control lights, heating and air-quality. You are not limited to expensive equipment from one manufacturer. AAIMI can work with just about any analog and digital sensors. You can even build your own components, that is what we have done.
The program saves all movement, light, temperature and air data to a save-file that is available to the other programs in the suite. It also maintains a database holding current statistics that other programs can use for live monitoring and interaction.
You control the system from a web-based GUI, and there is also a Python-based GUI for visualizing long-term data.
AAIMI Home Automation is currently at BETA version 0.9. You can download the latest version here.
For a more-detailed look at how AAIMI works we have a series of articles on downloading and using the software starting here.
Light Sensors
AAIMI uses light-sensors to determine whether a room requires lighting. The sensors we have built for the project are cheap enough to allow multiple sensors in each room so AAIMI can even switch specific down-lights in a room as required.

The program can also use this light-awareness to open or close blinds and curtains as required.
You can choose different light-switching levels for each room. You can have a relaxed setting that lets the room dim, or a work setting that keeps things bright. You can also toggle manual-mode if you wish to temporarily control light yourself.
Temperature Sensors
No home-automation system is complete without climate-control. AAIMI can use an array of temperature sensors to keep your home cool in Summer and warm in Winter. Like the light-sensors, we've built temperature-sensors for about 20 cents each so you can have at least one in every room.

AAIMI will use this data to activate heating and cooling systems as required. Depending on your heating or cooling system you can set individual upper and lower temperature triggers for each room.

If you want humidity levels you can use DHT11 digital temperature sensors instead.
Occupancy
As well as knowing which rooms are occupied, AAIMI also knows who is home on a property-wide basis.

It uses inexpensive PIR motion sensors to monitor room-by-room occupancy and execute required tasks based-on this awareness.
The property-wide awareness uses no third-party tools or logins. It uses the communication between your phone and the Raspberry Pi, and decides your location based on IP address or GPS. There is a new Python phone app you can use to automate communication frequency even when you are not logged in to the AAIMI GUI.
Configuration GUI
You add your rooms, sensors, relays, etc via the browser-based Configuration GUI using any computer, phone or tablet.

You can also enable and disable program features like email, sound, RFID and GPS.
The built-in help column guides you through the steps for each task. There are also detailed examples in the AAIMI Home configuration tutorial at Anth's Computer Cave.
Browser-based GUI
After the initial configuration you interract with AAIMI via the browser-based Control Center using any computer, phone or tablet.

From the Control Center you can see exactly who is home and which rooms are occupied. You can see temperature, light and air details, as well as readings for any other general purpose sensors. You can display and switch relays.
The system tab gives you all the current technical information about the system, so you can see at a glance that everything is okay.
The Cams tab shows your camera feeds, and you can also see security and access logs.
You can schedule events and actions, receive weekly, daily and one-time alerts.
The Theme tab lets you choose from a selection of themes for the GUI. Each theme has a group of images that create a slideshow as a background. You can create your own themes by adding your own pics.
Because the GUI is HTML-based you can also create your own designs by modifying the CSS code. Modifying the GUI is exactly the same as modifying a webpage.
Home Security
AAIMI can function as a full-blown home-security system. There are two security-modes so far, Full and Smart.
In Smart-mode AAIMI uses its home-occupancy awareness system to intelligently toggle security on and off based on who is home. In Full mode AAIMI works like a traditional security system where you manually arm and disarm the system.
You can choose several actions to respond to intruder events. By default AAIMI sends an email to a list of people if it detects intruders and sends an alert to any logged in devices. It also begins capturing security images from all cameras in the house. It can also activate relays to switch on alarms.
You can exclude rooms and areas, and you can set chime rooms that play a sound whensomebody enters an area.
You can view logs of all security events from within the AAIMI GUI.
RFID Cards
As well as arming the security system on your phone you can also use RFID tags, keyrings and cards.

The card reader and cards are cheap and easy to configure, and you can also add any existing cards you have as backups.
Cameras
AAIMI can use old Android phones as dedicated security cameras you can access via the main AAIMI GUI.
It should also work with some retail IP cameras.
Alerts
AAIMI sends email alerts if it detects smoke or gas in you home, and it can also send other information.
With some simple hardware AAIMI can also create audible alerts in your home. It can use a relay to power buzzers or sirens. One of our systems currently uses a relay to power on a speaker if it detects smoke. It then plays an MP3 over the speaker.
It can also routinely send complex email reports detailing system information and status. This is great if you need to maintain an AAIMI Home system remotely for somebody else.
Appliances
Any light or appliance that can switch on by flicking the wall switch will operate with the AAIMI Home system using relays.

AAIMI can also interact with modified multi-speed or multi-action appliances that generally require you to press buttons.

These appliances are modified using relays to simulate button presses to power on and adjust speeds, modes and other controls.
We are currently adding support for devices created by one of our other modules, AAIMI GPIO. This will allow you to create custom, more-complex gadgets. It supports a wider range of digital sensor options, as well as easy motor configuration and control for doors, curtains, tilt/pan functions, etc. These devices can then report to, and respond to your AAIMI Home Automation system.
In later versions AAIMI will work with common third-party home-automation hardware like wireless light bulbs, door-openers and network-connected thermostats.
Data analysis GUI
The Pyhton GUI is the program of choice for analyzing and displaying long-term data, and it works from any PC with network access to the Raspberry Pi.

It has widgets comparing temperatures, light and movement details from different rooms and time periods
Outside the floor plan are widgets you can configure to compare stats room-to-room, day-to-day, month-to-month, etc.
Secondary Control
You'll mainly interact with AAIMI through either the web-GUI or the Python GUI. If for any reason you can't access the web_based GUI remotely you can also control AAIMI over the Internet via email. This could be handy if you've lost your smart phone and only have access to an older feature phone with email but no modern browser.
To switch an appliance or adjust modes you simply send AAIMI an email.
Yes, it is as simple as that! No apps required, just send it an email. "lights Lounge on password" will switch your loungeroom light on. "door front unlock password" will remotely unlock your front door for a guest or tradesman. "report anth full password" tells AAIMI to send me a full report including system details, room details and a list of people who are home.
Schedules
You can schedule daily, weekly and one-time events, tasks, mode-changes and alerts.
You can schedule lights to switch on periodically while on vacation, or schedule doors/gates to unlock during certain hours.
There are also repeating schedules to switch things on and off on a cycle.
Network Security
As well as physical security, AAIMI also monitors network security.
Using our Server Dog module AAIMI automatically scans access logs for automated access attempts from bots and other nasties.
The results appear in the Logs tab in the web GUI.
Remote Systems
As well as the your main AAIMI system you can also run remote systems using a cut-down version of the main program, AAIMI Sub Base.
These systems use the same hardware and feature the same automated control options, but they are managed by the main system. All data is stored on the main system.
These sub-bases can be in a separate area of your home, or they could be on the other side of the world.