Get started

Installation

Install the dependencies: Node.js and MongoDB

heimcontrol.js has two dependencies: Node.js and MongoDB. Unfortunately, neither are currently available in the Raspbian repositories.

This can be dealt with in several ways, each of which has benefits and trade-offs:

Compiling the programs yourself is a safe, clean solution, but takes many hours on the Pi. Cross compilation alleviates this, but is beyond the scope of this guide (see rpi-cross if interested).

Installing a third party package is extremely convenient, but it puts you at the mercy of the packager, who may be neither trustworthy nor competent. In practise, using these packages for a hobby project like this is almost certainly going to be fine; but the security risk should be noted.

Finally, if you’re not attached to Raspbian, you could just install a distro that does supply Node and MongoDB. Archlinux fits the bill — with the obvious consequence of needing to install and configure Archlinux.

The first two options are described below.

Manual compilation and installation

Install build prerequisites

First, install the following packages, which are required for the compilation.

Installation from prebuilt third-party packages

Once again the disclaimer: You should be aware that installing packages from untrusted third parties is dangerous. The sources listed below do work and appear safe at the time of this writing, but the contents could change anytime.

So if you’re using heimcontrol.js for something mission-critical, a) tell us what — because that sounds cool! — and b) compile everything yourself from official sources.

Documentation

API

Or you can generate the documentation from the source code.This will generate the documention in the docs directory of the project.

gh-pages

The gh-pages that you are currently reading can be found in the gh-pages branch of the project. They are generated from Jade-Templates using http://jnordberg.github.com/wintersmith/. To regenerate the documentation cd in your heimcontrol.js repository and type: