Project

General

Profile

Welcome to HouseMon

Real-time home monitoring and automation

Technologies: Dataflow, MQTT, LevelDB, WebSockets, AngularJS, CoffeeScript/Jade/Stylus, Go

About

HouseMon is a Home Automation system to monitor and control the home. It is designed to run on low-end computers, usually Linux, and requires very little resources. The setup is intended to remain always on, and can provide user interface access via a modern web browser to view the current status, control devices around the house, visualise historical data, setup automated rule sets, and perform common configuration tasks.

For a nice tutorial series about HouseMon 0.9.0, early as it may be, see the LightHouse Tutorial index.

Status

Under development, with dataflow planned for 0.9.1, see the [[JeeBus:]] pages and the forum announcement.

  • Platforms support: Mac OSX / Linux for development, BeagleBone Black, and Raspberry Pi
  • Source code is here and in the github.com/jcw/housemon repository
  • Discussions are in the HouseMon forum at jeelabs.net, registration is required to post
  • Issue tracking for bug reports and feature requests is in a separate area on this site

HouseMon is not limited to JeeNodes or any other hardware from JeeLabs.

Architecture

HouseMon uses MQTT for PubSub, LevelDB as database, and the Flow dataflow mechanism for tying functionality together, with most features implemented as services around them. Due to this design, the behaviour of the entire system can often be adjusted without restarting.

The MQTT-/LevelDB-/Flow-based core is called “JeeBus” and is described on its own page on this site.

Older versions

HM 0.9

Switched to the Go language for the server, with HTTP, MQTT, LevelDB, and JavaScript, all implemented in Go.
This is a major change to greatly reduce the memory footprint of the server and make it more efficient.

Gadgets

A list of Gadgets within 0.9.0 can be found here .

HM 0.8

Based on Node.js and the Primus wrapper for WebSockets. Primus-live adds live reload for quick development.
Better modularity, client/host code next to each other, automatic package installs, experimental diagram editor.

HM 0.7

Based on Node.js and the SocketStream real-time framework.
Most extensive version so far, including status tables and zoomable graphs.