Projects / Minerva


Minerva is a complete, easy to use home automation suite. It allows you to switch your on lights from anywhere using a mobile phone or PC, email your video, check CCTV footage, control your central heating, and much more. It relies on command line and can therefore be run from virtually any platform (smart phone, PDA, laptop, or remote PC) with identical functionality. The architecture consists of three parts: input, output, and process. Each is completely distinct, meaning you can control any of the house processes from any supported input conduit such as a Web browser, remote control, or SMS. Reports or notifications can be sent to any of the available output conduits.

Operating Systems

RSS Recent releases

  •  06 Feb 2014 07:35

Release Notes: A different 'sayfile' command was added for the Raspberry Pi (espeak, instead of festival). Wavplay uses 'aplay' if 'play' isn't present (as is usual for RPi). Various fixes were implemented to correctly handle arguments to finddev, by replacing $* with $@. Security footage was limited to SWF files only. vtime now uses the Bearskin abstraction 'wavplayer'. Vtime and alarm now both support an output device, specified on the command line. SSH commands are now supported as a Marple transmission method. A new house design was provided, with gliffy files. A bug which prevented '_' from being used in parameter names was fixed.

Release Notes: This release adds reverse lookup of station names (from fullname to code), previews for images in the explorer browser applet (using embedded base64), a security applet (based on the browser applet) to review security images and live preview existing cameras, and a "movemotion" script to sensibly order a directory full of motion images. It improves browser applet internals, and improves browser applet code to report the file size, type, and permissions, and to link to files (where available) under the Web server root.

  •  24 Sep 2013 23:50

Release Notes: The 'onnext' routine for triggering manifest music has been rewritten to vary the tracks found and to prevent short playlists when the blocklist is large. A 'list' version of the X10 controller has been added. A 'list' report has been added to homedevice. 'hot day' user scripts have been added to remind you shut the windows. An 'every day' script (/usr/local/minerva/etc/daily/status) has been added for use in lstatus. An ID has been added to routines so that they can be called by name.

  •  13 Jul 2013 00:26

Release Notes: This release adds route configuration to Live Departure Boards. It adds an applet for 'routines' to trigger sequences. It adds an applet for 'mashmode' to change the house state. It adds an applet for 'musk' (user scripts). It adds a draft of the 'infrastructure' applet. It adds a 'house' example, handling all standard house control tasks. It adds a back button on the web interface. It uses AJAX to improve the loading speed of several applets. It fixes the weather report applet. A full audit of the RSS applet and feeds has been done. There is a new set of routines as examples, including one to try and prevent falling asleep on the train. A 'within' script has been added.

  •  13 May 2013 01:34

Release Notes: This release updates homedevice to support X10 and Hue appliances. It introduces 'musk' for trigger user scripts. It adds a user script for night lights, which are on only during night time. It adds a 'sunlight' script to determine the amount of sunlight for the current time. It fixes many (all?) bugs caused by the latest version of PHP. It updates the Zinc command driver to return output and return codes. The currency handler has been switched to Google. Improved layout on the calendar page. mstatus has been replaced with 'media status' for more controlled output. A script has been added to report the date of Easter. Many tweaks and bugfixes.


Project Spotlight


A framework for distributed industrial automation and control.


Project Spotlight


A Lisp-like, general-purpose scripting language.