Archive › Features

Shion 3.1.0

Shion 3.1.0 is now available.


This is a major release that adds official support for the SmartLinc 2412N Ethernet controller. I’ve been using this controller for the past month and have debugged and optimized it extensively. The only outstanding issue is that it fails to link with one-way sensors such as motion detectors and SynchroLinc devices. This appears to be a hardware limitation that I will be unable to work past. Users of previous implementations of this device will need to reselect the controller type in the preferences.

This release also includes major performance enhancements across the application. These improvements are the result of migrating the events database from a flat file storage system to one powered by a CoreData SQLite database. Please note that the older events will not be migrated to the new storage, so this update will essentially “reset” your device history.

I’ve improved support for the Weather Underground sensors, so more endpoints should work now. To use these devices, create a Weather Underground Sensor and use your station ID as the address.

There are other bug fixes dealing with time zone issues, crashes, and poorly-performing controllers.

Please submit any other feedback in the comments below.

Comments ( 2 )

Shion 3.0.1

Shion 3.0.1 is now available.


This release adds support for the new INSTEON Portable USB Adapter as well as fixes a variety of Lion-related display bugs as well as fixing issues using X10 lamp modules with PowerLinc controllers.

To support the new INSTEON Portable USB Adapters, I’ve added support for putting INSTEON modem controllers into ALL-Link mode from the controller interface. This includes the USB adapter as well as the 2412 & 2413 USB controllers. (This is not yet supported in the 2414 models.)

In my brief testing of the USB adapter, I came away very impressed with its responsiveness. It’s a great addition to an INSTEON network, with the only drawback being that it does not communicate with X10 devices.

In terms of the bug fixes, this release fixes a graphical issue that could arise whenever navigating away from a table view in Lion, as well as reenabling support for X10 lamp devices with INSTEON controllers. I made a minor mistake in a previous release that made these units unable to talk to each other.

I’ve also expanded the built-in INSTEON product database, so more recent devices should have their models automatically set properly now.

My priority for the next release is to revisit the SmartLinc 2414N controller and bring its performance up to par with the other INSTEON controllers.

Please submit any other feedback in the comments below.

Comments ( 1 )

Shion, New Devices & Data Collection

I want to apologize for the radio silence over the past month. I’ve been hard at work at my new company and I’ve been working hard to add new features & devices to Shion. This post shares some of that work.

Comments Off on Shion, New Devices & Data Collection

Shion 3.0β9

Shion 3.0β9 is now available.

Please read the following release notes carefully.

This is a beta release for Shion 3. This software is still under construction and has some rough edges. In no particular order, some of the current major issues:

1. The RemoteBuddy interface remains unimplemented.

2. The Bluetooth, and GPS  have not yet been implemented.

3. Sprinkler support is currently missing.

4. Changes in the device configuration from the preferences panel (modem & controllers) require an application restart to take effect.


This release fixes a handful of issues & adds support for TiVo DVRs within Shion and Shion Touch.

To add a TiVo to Shion, add it from the “Add” button on the lower-left, select Device: Other: TiVo Digital Video Recorder. An add menu will appear and Shion will attempt to locate the device using Bonjour. If the address does not automatically appear, please manually enter the device’s IP address (this can be found in the TiVo setup screens). You will also need to locate your Media Access Key from your account settings on the TiVo website.

The Tivo interface only displays recordings on the device. I have an API for emulating a TiVo remote control, but have held off in including it in the interface as I work out an appropriate interface. If controlling your TiVo from Shion (or Shion Touch) would be a useful feature, please let me know in the comments below.

Also, please submit any other feedback in the comments below.

Comments ( 3 )

SmartLinc 2414N: Undocumented Ports FTW

(Editor’s note: FTW is the short form for “for the win”, a common online phrase denoting a positive development.)

I’ve been quite vocal in my dislike for the SmartLinc 2414N controller based upon its poor web API and related issues. However, given developments from the last week, it may now be one of my favorite controllers to use with Shion. Here’s the story…

About a week and a half ago, a helpful Shion user e-mailed me to let me know that an iPhone app called MiCasa used an unusual port (TCP: 9761) instead of the default web port that I’d been using to control SmartLinc controllers. Last week, I spent a couple of hours analyzing the traffic from the mobile app and discovered that the bytes being shuttled back and forth were the same ones used by the 2412 & 2413 serial port controllers. Since I was working on bringing the EZSrve support to Shion (another TCP socket-based device), I went ahead and combined code from the EZSrve driver with code from the 2412 driver to create a new beta driver for the SmartLinc. (Interested developers: my implementation is public and available on Google Code.)

My suspicion that the undocumented port was being used as a proxy for the serial commands was correct and I’ve been using the SmartLinc with the beta driver for the last week. In short, the device is as responsive as the serial port controllers (my current favorite) with the added benefit that Shion can use your network to communicate with the device without having to be physically connected to it. Furthermore, since the TCP port is a simple bridge to the embedded serial modem, my complaints about poor 2-way device support are no more.

I’m quite pleased at this development and support for the beta driver will be available in the next release of Shion. I’m planning to continue testing it with the intent of making it the default SmartLinc driver in Shion.

A very big thanks goes out to Kerry Cupit for alerting me to the undocumented port.

Comments Off on SmartLinc 2414N: Undocumented Ports FTW

Shion’s New Eyes

Shion 3.0a7 introduced the new Camera device and I wanted to share some information about this new feature and how to use it.

The rationale behind including this device type is that in this day and age, it’s difficult to purchase a new Apple computer that doesn’t include a webcam of some sort and I thought that it might be useful to put these devices to work in the same way we use other kinds of sensors within Shion. It you happen to use multiple computers with cameras, we can put this mostly-neglected hardware to use with Shion. No home automation hardware is necessary to use this device.

Camera Device

In short, the camera interface consists of two main elements: the image list view and the preview window. Clicking “+” and “-” will capture and remove images from the device’s list, while clicking the magnifying glass icon will toggle a preview window that displays the selected item in the list. To look at other images, simply select them from the list and the window will update automatically.

Read more for details…

Comments Off on Shion’s New Eyes

Shion: Location-based Home Automation

After a busy week of client work, I spent most of today hacking on Shion. For the past couple of months, I wanted to implement location-based home automation (e.g. “activate Snapshot FOO when I go more than 5 miles from home”), so I spent the day doing just that:

Shion Location Based Services

Rather than treat mobile clients as invisible participants in the Shion ecosystem, I went ahead and made them full peers of the other devices in the network. Doing so made it convenient for me to gather information from the devices (phones as sensors) and send instructions to the mobile client (phones as controllable devices). If you click through to the higher-resolution version of the screenshot, you’ll see that Shion gathers location information from the mobile clients and provides a “beacon” command that plays a unique sound on the mobile client (for those times when you unwittingly lose it between the couch cushion). For those concerned with sharing too much location information, a preference on the iPhone app allows it to go into private mode: beacon commands can be sent, but location data stays on the device. Since Shion does not store any of this information on a server (information passes through, but doesn’t stick around in the online components), it provides a secure alternative to other server-centric location-based services. The online service is only the conduit for passing the information from your phone to your Mac.

For those willing to share location information with their copies of Shion, a variety of interesting possibilities open up:

  1. Shion can be used to define geographically-aware “zones” that associate a particular geography with an action (activate a snapshot, execute an AppleScript, etc.)
  2. Shion can be used to track the location of several mobile devices simultaneously. This is much like Apple’s “Find My iPhone”, but will work on any client or device equipped with some form of geolocation functionality. On my own roadmap are Android and WebOS devices. (Both of those platforms will actually implement a richer feature set than the iOS devices on account of their unfettered multitasking abilities.)
  3. By hooking into the Events system in Shion, this feature an be used to draw a map of your travels over a given period of time. Don’t remember where you saw that interesting shop? Look it up on your copy of Shion.

I’m very excited about this feature and feel that I’m only scratching the surface of the possibilities. Location-awareness will be available in the next releases of Shion & Shion Touch.

Comments ( 1 )

Shion 3 & custom web interfaces

I’ve received a few queries over e-mail about Shion 3 and support for custom web interfaces in light of the impending release of the Shion online service later this summer. I’ve responded over e-mail, but figured that I should post some comments here as well.

First of all, to give some background, the scenario I’m addressing is one where a Shion user creates a custom set of PHP pages (or web framework of choice) that they host on a local machine (running Shion) to expose a web interface for devices like an iPad. Mr Flibble, a UK-based Shion user, has done exactly that.

I want to state unequivocally that I have no problem with Shion 3 users deciding to create their own web interfaces in lieu of subscribing to the Shion online service. Shion 3 will continue to support the AppleScript functionality that is used to bridge the Objective-C & PHP worlds. I can’t (technologically) prevent such third party activities without completely ditching the scripting functionality, which I am unwilling to do for a variety of reasons.

Furthermore, I respect the do-it-yourself ethos of the home automation community. Given that the typical member of the current home automation community is pretty technologically savvy, they’re going to build their web interface somehow. I’d rather that they build upon my platform and send me comments about my application instead of submitting that precious feedback to a competitor. The Shion platform is still in its early phases, and I can use all of the comments and suggestions that I can get. 🙂

So, if anyone will be allowed to create their own free Shion 3 web interface, how do I plan on competing with a subscription-based online service? Several ways:

  1. Simplicity & reliability: Setting up Shion and a client to connect to each other is simply a matter of entering a username and password. There’s no need to mess with system settings to configure ports, set up and maintain a web server for serving the pages, or worry about forwarding ports and maintaining a dynamic DNS name for use outside your home.
  2. Rich client support: The native Shion clients on mobile platforms will include features and functionality that are simply not present in web interfaces. This includes efficient two-way real-time communication between Shion nodes, location awareness, and AI-assisted user interfaces that learn to present you with an optimal interface based upon location, time of day, and other factors.
  3. Ubiquitous client support: As I’ve mentioned before, my goal is to display a Shion user interface on any device or medium that will support it. Mobile phones and Internet-capable portable devices are the first targets on the list, but I have plans to support Shion on your television, e-book reader, instant messaging client, digital picture frame, and so on. Traditional Web interfaces are nice (and the Shion online service will include one as well), but there are many more options for control that have remained largely untapped by the current crop of home automation developers.

These are admittedly some grand goals, but perfectly attainable over the next year or so. My task is not only to think about optimal web interfaces, but also to think beyond web interfaces to create an environment where users can monitor and control their environments independent of the presence of a web browser. My belief is that as I bring more of these interfaces online, a sufficient number of users will recognize the value provided by being a Shion subscriber to make this a sustainable enterprise.

Comments ( 1 )

Introducing Shion Touch & The Beta Test

One of the main changes in Shion between versions 2 & 3 is the new support for mobile devices in version 3. Shion 3 now supports mobile interfaces on devices like the iPhone. The post below includes screenshots of the new mobile application. Before I get into the gritty details, I’d first like to invite users to join a closed beta test for Shion Touch.

Due to Apple’s restriction on pre-AppStore ad-hoc distribution, I will only be allowing fifty (50) users in this first set of tests. If you are interested in being part of this test, please e-mail me the following details:

  1. Your name & general location (US, UK, etc.)
  2. The controller you’re using with Shion 3. Please include the model number.
  3. A list of devices you are controlling with Shion 3. Please include model numbers of the modules you’re using.
  4. What device you’d like to use with Shion Touch (iPhone, iPod Touch, iPad). Please include the generation of the device (Original, 3G, 3GS, etc.).
  5. Whether you’re using Shion 3 on a single computer or multiple computers to manage multiple sites.
  6. A username and initial password that you’d like to me to set up for use with the Shion online components. Please do not submit a password that you use elsewhere.
  7. The computer model (make & processor) of the computer running Shion as well as the operating system version (10.4, 10.6, etc.).

I don’t mean to be intrusive, but these details are necessary for me build a maximally diverse beta testing pool. After you e-mail me, I’ll be in touch about whether you have been selected to be in the test, and if so, the next steps.

Now, on to the app preview…

Comments Off on Introducing Shion Touch & The Beta Test

Answers to two questions received about Shion 3

Thank you to everyone who has taken the time to download and send me feedback on Shion 3. I’ve received a few questions about the application, which I answer in this post. The initial set of questions:

  1. How does Shion 3 compare to Shion 2 with respect to resource usage?
  2. Does Shion 3 support downloading programming to the controllers so that the system will work when the computer is off?

Read more for the detailed answers.

Comments Off on Answers to two questions received about Shion 3