Archive for February, 2010

Shion 2.1.0b5

February 6th, 2010

Shion 2.1.0b5 is now available.

This is a major release that includes the following changes:

1. The PowerLinc USB code has been updated to be more reliable. Controller lock-ups were an issue with previous releases, and this update improves that situation. This code is still being tuned, so your command latency may increase with this release.

2. Shion now supports the Smarthome SmartLinc 2414N controller.

3. Sprinkler support remains incomplete, but support for activating zones through AppleScript is now available. Additional device support has been added to the AppleScript dictionary (houses & thermostats).

4. Shion now supports Caller ID events when used with a compatible modem. Currently, Shion has been tested with an Apple USB modem.

Download the update now, and read more for details about the new features.

Is anyone interested in a “home automation” Stack Exchange site?

February 4th, 2010

As a software developer, I’ve become fond of the StackOverflow question and answer website model. Since home automation seems to be one of those subjects that has lots of twists and gotchas, I was wondering if there would be a community interested in a sponsored StackExchange site for home automation enthusiasts.

If there’s interest, I would certainly be interested in sponsoring such a site as marketing and community outreach vehicle for Audacious Software. The site would be product-agnostic and users would be free to post questions and answers about whatever hardware and software platforms that they were using. My interest in doing this stems from the fact that there’s quite a bit of home automation knowledge spread across fractured sites on the Internet and a centralized location might do wonders for helping everyone out and getting new users interested in wiring up their homes and offices to do crazy things.

If you would be interested in using such a site, please let me know by posting a comment below or sending an e-mail to Also, if you’re a home automation technology developer and would be interested in sharing the sponsorship burden, I won’t turn you away. ;-)

Shion SmartLinc 2412N Support

February 4th, 2010

Due to popular demand, Shion now supports SmartHome’s SmartLinc 2412N network INSTEON controller. I’ve also gone ahead and reworked the preference panel a bit to support three kinds of controllers (USB, serial port, network):

Shion SmartLinc 2412N Config

A couple of notes:

1. Unless you have one already, I do not recommend that you purchase this device for operation with Shion. The major reason is that SmartHome really dropped the ball with this device, providing no APIs or other documentation for outside control. The support that you see has been reverse-engineered by myself with consultation with the sources from the OpenLinc project.

2. The major problem with the device is that available HTTP access points are built around an atrocious AJAX interface, leading to the bewildering outcome that the device is effectively one-way only, defeating the major reasons for using the INSTEON platform.

3. This means, while you will be able to send commands out to devices, you will not be able to monitor their state, making this device really only useful for controlling lamp and appliance modules. The thermostat device does work with this, but you will not be able to get the current temperature, nor pick up any remote changes in the thermostat’s state. As for motion and contact sensors – forget about it.

4. In terms of what this device does do, you can treat it like a one-way X10 controller. Commands can be sent to both INSTEON and X10 devices without any issues.

5. If you’re a tinkerer and would like to see how I implemented support for this device, the code is available in the Shion Framework source control (ASSmartLincWebController.m).

I have some UI work that I would like to do before pushing out a new release with this functionality, but keep your eyes open over the next few days for an update.

The Audacious Software Laboratory

February 3rd, 2010

Over the next couple of weeks, I’ll be merging The Pennyworth Project with Audacious Software proper. The Pennyworth Project will continue to exist as the “Audacious Software Laboratory”.

For those of you unfamiliar with The Pennyworth Project, I set up the site and planned to follow up by establishing a 503(c) non-profit corporation that would serve as the distribution and development vehicle for the work that I began in graduate school. Unfortunately, running one company is more than a full time job and I never followed through with filing paperwork with the state, recruiting board members, and securing funding. In order consolidate and streamline my commercial and open-source work, I’m merging the two organizations under the Audacious Software banner.

So, what does this mean? First of all, The Pennyworth Project provided open-source implementations (BSD license) of context-aware systems. The core application is Pennyworth, a Mac desktop application that includes machine learners that are trained to predict users’ locations, activities, and social contexts. This is the cornerstone of the context-aware desktop that I am building. Pennyworth pushes out context updates to third-party applications that interpret the context and update their behavior accordingly. In my work, I focused on a couple applications:

  • Home automation: A home automation system can use context to more actively manage a user’s environment. For example, it can turn off lamps and shut blinds when it detects that the user is beginning to watch a film. It can tweak the local environment to an optimal state depending on the user’s activity. A casual reading environment may use dimmer lighting and a warmer temperature than an active working environment.
  • Notification systems: A context-aware notification system can moderate its intrusiveness depending on the user’s location and social surroundings. When the user is alone, it can be as intrusive as possible in order to catch the user’s attention. In a meeting, audible notifications may be disabled, while leaving visual indicators intact. In a lecture or movie theatre, the notification system may elect to store (rather than display) any notifications and update the user when they are in a more appropriate setting.

These are just two of many applications that I have in mind, and purpose of the Audacious Software Laboratory will be to move the ball forward on this front on the desktop and mobile spaces. Over time, I plan to push some of these innovations out to Audacious Software products in the interest of doing my part to put these systems in the hands of everyday users.

If you’re interested in reading more on this topic, I suggest that reviewing the Pennyworth technical report that I wrote with Dr. Darren Gergle last year.

Update: And we now have our first new Pennyworth code of the Audacious Software era, a location sensor:

Pennyworth Location Sensor

I have a lot of work to do to – including making the system compatible with 10.4 & 10.6 – but this will show up in the next release.