openLuup - a Vera emulator for all platforms
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.)
Just read it through, really impressed by your work so far.
@Drcashman reports (on the Vera forum) that openLuup works with the MySensors gateway, so that seems like good news.
I've had to make some changes to openLuup to fully support the MySensors ethernet gateway, but now have it smoothly running cross-platform (Mac, BeagleBone, Arduino Yun.) At the moment, the gateway sketch does not run on the same board as the openLuup controller on the Yun, but the aim is to do that. I need to crack the Unix/Arduino bridge that comes with that device in order to achieve the goal of an integrated controller / gateway on the same board.
The latest version (Release 4) of the openLuup environment is now available from the Vera BB here: http://forum.micasaverde.com/index.php/topic,32315.msg246814.html#msg246814
It runs the ethernet gateway plugin and has been tested with both real sensors and emulated ones (Mock My Sensors) on Mac, BeagleBone Black, and Arduino Yun platforms.
I am now truly up and running with MySensors and, no doubt, drifting away from the Zwave world into a whole new and exciting one of homebrew devices. Thanks to all for the help along the way so far.
The latest version (Release 5) of openLuup(cross-platform Vera emulator) is now available from the Vera BB here: http://forum.micasaverde.com/index.php/topic,32315.msg252150.html#msg252150
It runs the MySensors plugin (ethernet connection to gateway only) and I'm using it as my main HA controller for MySensors devices (and bridged to Vera for Zwave access.)
The latest version (Release 6) of openLuup is now available on GitHub here https://github.com/akbooer/openLuup
There's also now a section for this in the MySensors Controllers list http://www.mysensors.org/controller/openluup pointing to documentation as well as the code.
An active discussion board is here http://forum.micasaverde.com/index.php/board,79.0.html, with help from people who have installed this on different systems (Mac, Windows, Arduino, BeagleBone, RPi, Ubuntu, OpenWRT, Synology, ...) but also any questions welcomed right here too.
I've been using it as the main controller for my MySensors network for at least three months.
Thank you akbooer for this great Controller
I was able to install it on the yun. In the capture "Host directory tree" could you change on point B. to /www/cmh/skins/default/icons/devices_states. Like this its possible to build the symbolic link in point C.
I had to create a link for lua in /usr/bin with ls -n /usr/bin/lua lua5.1 to get the openLuup_reload utility up and running.
The website is accessible but iam not able to get the yun ethernet bridge running.
Would it be possible to get the YunEthernet example. I was not able to build it with the explanation in Ethernet Gateway on Arduino Yún
You could place the code in your GitHub under YunEthernet
I'm not near my development system for the next few days, but will post the Yún gateway on GitHub when I'm back.
@akbooer Thank you very much, this will help me building my mysensors network.
@zurli, Ive updated my GitHub fork with the Yun Gateway
The latest version (Release 7) of openLuup is now available on GitHub here https://github.com/akbooer/openLuup
It supports a number of new features including
- no dependencies on system HTTP port 80 server (easier setup)
- remote access possible through weaved.com
- Lua modules as CGIs for easy functionality extensions
- sundry bug fixes and internal improvements