Computing stuff tied to the physical world

A site for the home

In Software on Sep 10, 2011 at 00:01

I’m building a “home monitoring and automation” system. Not just the hardware “nodes”, but also the software side of things, i.e. a server running permanently. Web-based, so that it can be accessed from anywhere if needed.

I’ve got a lot of code lying around here, ready to be put to use for just that. It’s not that hard to create a website (although truly dynamic displays are perhaps a little harder).

One thing I’ve been struggling with for a long time, though, is the overall design. Not so much the look & feel, but the structure and behavior of it all.

I’m not too keen on systems with elaborate menu structures, tons of hoops dialogs to jump through, even scrolling messes with our innate sense of location. Been there, done that. Modes suck – they just create labyrinths.

What I’ve come up with is probably not for everyone (heh, nothing new here). An entire system, organized as nine pages. No more, no less. Instant navigation with a keyboard (digits, function keys, whatever), and trivial navigation with a mouse or touch screen:

Web layout

Even a laptop screen with 3+3 buttons (or a joystick) could navigate to any page with just two clicks.

Here is a first exploration of what these pages could be for (vaporware, yeay!):

Web pages

Each page is nearly the full screen, with only the bottom and right-side borders used. And each page can have any content, of course: tabs, sidebars, widget collections, it’s still all up in the air. There’s plenty of software to extend this system infinitely, using HTML, CSS, and JavaScript.

One of the things I’d like to do with this, is make the system automatically return to the main Status Overview page when idle for a minute or so. With the option to “pin” one of the other pages to prevent this from happening.

This might all seem very basic, inconsequential, and even arbitrary, but for me it’s a major step forward. I’ve been running around in circles for ages, because there was no structure in place to start assembling the different parts of the site. It’s all nice and well to develop stuff and tinker endlessly behind the scenes, but in the end this still needs to lead to a practical setup.

So now there’s a plan!

  1. I recommend using a modular approach. Movable widgets are not that hard to implement. You could try for example Codeigniter + BackendPro to quickly get a ready environment where you can easily add, move remove all widgets. Also you can create different views for different purposes or modes. I bet there are other frameworks available for this purpose too if you’re not into Codeigniter.

  2. Making the monitor web-based is clearly the way to go, if you have always-on web access in the home. Living in a rural area I don’t, and so I’ve been working on an alternative using SMS (text messages)via an inexpensive GSM modem to query, command and report on home conditions. Not very user friendly, but clearly capable of supporting transfer of the sort of basic information I need, and the cost is very low. I pay $10/month for 1000 text messages transferred via the modem using an AT&T sim card.

    I have nothing fancy yet. It is based on an old Asus eeepc, Arduino microprocessor and used Icon GSM modem. I’m planning to upgrade to Jeenodes for the sensors and controls.

    I am attempting to document what I do have on a blog at I am attempting to use open source and make my (primitive as yet) code and hardware design details available to all.

  3. I agree, web interface is the most universal way to access to your home automation. I making an interface in the same way of your idea, the aim of my interface is to monitor sensors, and control some peripherals (pellet stove, ventilation, roller blind…). The monitor part is already operationnal (, and i’m actually coding the control part. I think i will improve interface too (icons, page settings..). I will use web browser on a tablet (10″ chinese low cost one) to manage my home automation. My home automation is running on a sheevaplug (web server, mysql, jeelink). I hope you will often post some news on your interface… maybe i will pick some idea :-)

  4. If also been looking for a good web interface, touch screen enabled, for my home automation, I found a good example strawling around the web. It’s from a Swiss based company, Ergo3 ( I think it’s what jc means, not so many pages and compact.

Comments are closed.