Comprehensive Site Automation!

About This Site

Overview

AutomateIt is both a desktop application and a website for the local and remote monitoring and controlling of devices around the home. Monitoring and control of devices is done using both wired (X10) and wireless (Z-Wave) technologies. The types of devices that are monitored are typically things like weather stations, motion detectors, security cameras, etc. The types of devices that are controlled are typically things like lights, appliances, irrigation, etc. The desktop application includes functionality for comprehensive device configuration and programmability (schedules, rules and macros). Full upload functionality to the AutomateIt web site and custom uploads to other sites is also included, as well as SMS and email messaging and ability to tweet. The website offers remote viewing of the current status of the devices being monitored and controlled as well as the ability to remotely control selected devices.

Software Components

1.       AutomateIt desktop application (aka client software)

                                 i.            Written in C# and uses version 4 of Microsoft’s .Net framework.

                               ii.            Not necessary for any database software (e.g. Access, SQL Server, etc.) to be pre-installed, since the software uses XML files for its data store.

2.       AutomateIt web site http://www.automate-it.co.za

                                 i.            Written in C# and uses ASP.Net 4.0

                               ii.            Uses SQL Server 2008 for its data store.

3.       AutomateIt mobile web site – currently under construction.

Desktop Application Functionality (see screenshots below)

1.       Configuration

                                       i.      Controlled Devices

a.       The type of the device (e.g. X10 controller, Z-Wave adapter) can be configured and any relevant configuration parameters (e.g. communications port and house and device codes for an X10 device) can be specified.

b.      Controlled devices can be overridden manually and the override removed at any time. When overridden, any schedules for the device will not be actioned; instead the user can switch the device off and on via menu options.

c.       Controlled devices can be made inactive and re-activated at any time.

d.      Short mnemonics can be assigned to controlled devices to make them easily identifiable when sending commands in message format to the application.

                                     ii.      Monitoring Devices

a.       The type of the device (e.g. X10 receiver, weather station via the relevant software) can be configured and any relevant configuration parameters (e.g. house and device codes for an X10 device) can be specified.

b.      Monitoring devices can be made inactive and re-activated at any time.

c.       Short mnemonics can be assigned to monitoring devices to make them easily identifiable when sending commands in message format to the application.

                                    iii.      Video/Audio Devices

a.       Expression Encoder from Microsoft is used for identification of and recording from all video and audio devices known to the Windows operating system on the machine.

b.      Video and audio devices can be made inactive and re-activated at any time.

c.       Short mnemonics can be assigned to video and audio devices to make them easily identifiable when sending commands in message format to the application.

                                   iv.      Messaging Providers

a.       The details of providers of SMS and email messaging capabilities can be captured here. Additionally the technical details for tweeting to Twitter accounts can also be captured here.

b.      The time interval for checking for any messages from the provider may optionally also be specified.

c.       Messaging providers can be made inactive and re-activated at any time.

d.      FAMEX (Free Application Message Exchange) is a messaging web service that is part of the AutomateIt web site. It is used to refresh the data on the website and also to transmit control commands selected by a user of the website to the desktop application for processing there.

                                     v.      Uploads

a.       The types of uploads that can be configured include data refreshes for the AutomateIt web site, ad-hoc uploads of recorded video and audio files and custom uploads (e.g. periodic upload of weather data to weather sites). The relevant parameters for the type of upload may also be specified (e.g. URL, login credentials, etc).

b.      Protocols supported for the uploads include FTP and HTTP (post, web method call or file upload). An upload can also be done in the form of a message sent using a selected messaging provider (i.e. sms, email, tweet, etc).

c.       The time interval between successive uploads may also be specified.

d.      Uploads can be made inactive and re-activated at any time.

2.       Programmability

                                       i.      Schedules

a.       These can be defined for controlled devices either by specifying an “on” time for a selected duration in minutes or by specifying that the “on” and “off” times are determined by evaluating an expression (e.g. Sunset-0030 which equates to 30 minutes before sunset).

b.      Schedules can be configured to run every day of the week or on a selected day of the week only.

c.       Schedules can be made inactive and re-activated at any time.

                                     ii.      Rules

a.       Rules specify the action(s) that should happen if a specified condition occurs on a monitoring device (e.g. sound alarm if motion detector outside front door sends “on” signal).  The expression that is evaluated to determine whether the condition has been satisfied can be quite complex (e.g. (DailyRainDayBeforeYesterday+DailyRainYesterday+DailyRainToday<5) AND RainLast24H=0). The action(s) that should happen if the condition is/is not met are defined using the Actions Editor (see below).

b.      The time interval between successive rule evaluations may also be specified.

c.       Rules can be made inactive and re-activated at any time.

                                    iii.      Macros

a.       Macros comprise one or more actions that are executed in sequence. The action(s) are defined using the Actions Editor (see below).

b.      Macros can be made inactive and re-activated at any time.

c.       Short mnemonics can be assigned to macros to make them easily identifiable when sending commands in message format to the application.

                                   iv.      Actions Editor

a.       New actions can inserted into or appended to the sequence and existing actions can be edited and removed.

b.      The following types of actions are currently supported:-

1.       Switching on and off of a selected controlled device.

2.       Recording of video/audio from a selected source for a specified duration and optional upload of this recording to the AutomateIt website.

3.       Playback of an existing audio file.

4.       Running a selected macro.

5.       Sending a message to a specified recipient using the selected messaging provider (i.e. sms, email or tweet).

3.       Logging

                                       i.      Comprehensive logging of all activity.

                                     ii.      Daily archiving of activity logs.

4.       General

                                       i.      Admin password required to save configuration and programmability changes.

                                     ii.      Timer can be disabled and re-enabled at any time by the administrator.

                                    iii.      There is a built-in browser for browsing from within the desktop application.

                                   iv.      The System Configuration option can be used to change, inter alia, the password for administrator access, the timer interval and the location details for the site (i.e. altitude, latitude, longitude and narrative).

Website Functionality

Take the tour to find out more!

Supported Devices/Technologies

1.       Wired Technologies

                                 i.            X10 – for control and monitoring of devices.

2.       Wireless Technologies

                                 i.            Z-Wave – for control of devices only (at this stage – monitoring functionality is under construction).

3.       Weather Station Software

                                 i.            Oregon Scientific Weather Stations

a. VWS

b.Free WX-Wi

                               ii.            La Crosse Weather Stations

a. Heavy Weather Pro

System Requirements

1.       Processor: ideally 2GHz or faster

2.       Memory: ideally 2GB or more

3.       Operating System: Windows XP or later

4.       .Net Framework 4.0

Hardware suppliers (South Africa)

1.       X10

                                 i.            X10 Home Automation - http://www.x10-sa.co.za

2.       Z-Wave

                                 i.            ZA Smart Homes - http://www.zasmarthomes.com

                                 ii.           Zinteldo - http://www.zinteldo.co.za

3.       Weather Stations

                                 i.            La Crosse:
Yebo Electronics - http://www.fort777.co.za

                               ii.            Oregon Scientific:
Oregon Scientific SA - http://www.oregonscientific.co.za

Costs

1.       Small once-off fee for desktop application.

2.       Small yearly subscription for unlimited use of the websites and all desktop application updates.

Site

Click for full image
Environment

Click for full image
Communications

Click for full image
Activity Log

Click for full image
Programmability

Click for full image
System Configuration

Click for full image