I've just posted Release 3 of 'openLuup', which is a pure-Lua open-source emulation of the Vera Luup environment, on the Vera forum here: http://forum.micasaverde.com/index.php/topic,32315.msg244893.html#msg244893
I'm taking the liberty of mentioning this here partly because this release is the first which should run the Arduino gateway plugin - I'd love some help in testing because I've not yet got any Arduino sensors.
If you like Vera, but hate how it crashes often and would like it to run faster and more reliably on a different hardware platform, then this is the environment for you!
Release 3 is a quite extensive (but not complete) implementation of Luup, and includes a set of features which are generally sufficient to run a number of standard plugins.
What openLuup Release 3 does:
- runs on any Unix machine - I often run it within my development environment on a Mac (makes debugging easy.)
- also runs under Windows. However, plugins which spawn commands using the Lua os.execute() function may not operate correctly.
- runs the ALTUI plugin to give a great UI experience
- runs the Arduino plugin (ethernet connection to gateway only) which is really the main goal - to have a Vera-like machine built entirely from third-party (open source)
- includes a bridge app to link to remote Veras (which can be running UI5 or UI7 and require no additional software.)
- runs many plugins unmodified – particularly those which just create virtual devices (eg. Netatmo, ...)
- uses a tiny amount of memory and boots up very quickly (a few seconds)
- creates all devices on startup (this means they are numbered consecutively for those that worry about these things.)
- supports scenes with timers (but not triggers)
- has its own port 3480 server which supports multiple asynchronous client requests
- has a fairly complete implementation of the luup API and the HTTP requests
- has a simple to understand log structure - written to LuaUPnP.log in the current directory - most events generate just one entry each in the log.
- writes variables to a separate log file for ALTUI to display variable and scene changes.
What it doesn't do:
- Has no persistence – except for rooms and scenes. Persistence arises from either the remote Veras to which you bridge, or any database applications you may have (eg. DataYours). Your local device (plugin) structure is created by the startup code using standard luup calls.
- Doesn't have scene triggers (or notifications) – scene actions and timers ARE supported but triggers may be done differently. That functionality can be replaced with luup.variable_watch callbacks triggering scenes.
- Doesn't support the <incoming> or <timeout> action tags, but does support the device-level <incoming> tag.
- Won't run encrypted, or licensed, plugins.
- Doesn't use lots of memory.
- Doesn't do UPnP (and never will.)
I have tested it extensively under Debian (on BeagleBone Black), OpenWRT (on Arduino Yun), and Mac OS.
Any feedback from willing testers welcome! (I'm more than aware of the plethora of controllers out there, but this one is aimed at Vera lovers who want to branch out to other hardware.)