LuaUPnP discussion -- the next big feature in Vera

Great idea! I second that.

I’m a little late to this discussion, but has anyone else tried irTrans? I purchased one a while ago and I’m just now getting it all set-up and so far it looks like a good option for IR control. I’m using the “IRTrans Ethernet” module which is basically a small network IR blaster. I have it hooked up to an airport express I wasn’t using. One nice feature, you can use an http interface to send commands, similar sending them to vera. (so a simple little qt UI should be able to do both…and hopefully will soon.)

here is a link if anyone else is interested:
http://www.irtrans.de/en/shop/lan.php

Out of curiosity, where was that announced? Is it open to the public? Documentation?

Thanks,
David

http://micasaverde.com/luup_intro.php

Just curious, do you pre-compile LUA code into bytecode to reduce memory footprint, or it’s compiled run-time?

It’s compiled runtime. The final code is actually merged together when the engine starts because it’s possible to have several implementation files for the same device, and this can change dynamically based on user configuration.

How do you guys plan to accept/evaluate/upload or otherwise make available the 3rd party plugins - what’s the procedure?

For right now just email them to aaron [at] micasaverde. I’ll verify them and put them in the gallery. We’re going to do a self-submission web site when we have a chance, but since there’s only a handful of plugins right now, I’ll just do them by hand.

Is this gallery live?

Yes. It’s in the latest Luup release already, and has plugins for the GC100, Somfy blinds, etc. You choose Devices, Luup and it shows you the plugins you can add. By the end of the week we’ll have an official Luup release for the general public with some user-contributed plugins too.

Ah, ok. Vera wont ship until tuesday, so I just have to wait.

ok, so i guess i am going to lear to do some scripting. Here’s the stupid question. Should I be learning Lua or is there a certain VERA-SPECIFIC code i should be learning? Any site links with free tutorials would be awesome. Thanks

A Lua tutorial was first mentioned in the MCV wiki, but I’m unable to find the specific page (it may have been deleted since my arrival).

But here’s the original link, which I found incredibly instructive:
http://lua-users.org/wiki/TutorialDirectory

For Vera-specific guidance, check out the “Luup” pages at:
http://wiki.micasaverde.com/index.php/Special:AllPages

Good luck!

Start with learning Lua itself. I used this:

http://lua-users.org/wiki/LuaTutorial

to get me started, along with the command line version of Lua (outside of Vera). That’ll get you going.

Eventually I started using the Eclipse editor with a Lua plugin, mostly to help organize the files, do basic XML validation and formatting. Probably not needed for most stuff.

You’ll need this page to get a listing of the Luup “extensions”:

http://wiki.micasaverde.com/index.php/Luup_Lua_extensions

If you’re building a device, then you’ll want something like the Somfy walkthrough:

http://wiki.micasaverde.com/index.php/Luup_Somfy_Walkthrough

Or just read the I_GC100.xml code to get a “sense” for what to do. There’s a lot of trial-and-error in this when you start, so you’ll want to see the process outlined in the Somfy walkthrough. (“small, incremental changes”)

Thank you both. I am well underway. I took Visual basic for a bit in college and it seems like a lot of the basic stuff is the same. Such as the if thens ans the operators. I guess we’ll see

@guessed: Are you using LunarEclipse to help with your development?

And if not, that is if you simply downloaded Eclipse and used some 3rd party plug-in, would you mind sharing which “package” of Eclipse you got and which Lua plug-in you found to be helpful?

Thanks!

It’s been a while so I don’t have all the URL references anymore, but I have:

Eclipse build 20090619-0625
Lua Development Tool 1.1.0.200710012327 (Kepler?)

and the underlying JVM to run Eclipse. For the components I just used a lot of Google searches to find them all (I’m on a Mac)

Again, it’s probably overkill for most.

Since most of the Luup stuff is really XML files, the Syntax editing and other stuff really isn’t going to work correctly. I use the Eclipse setup mostly for the Project/Package mgmt, a basic XML-aware editor (etc).

The one gotcha here is that, because we’re working in XML, you have to remember to “XML Escape” your Lua code (change “&” to “&”, “<” to “<” etc, etc). This will take a while to remember, and several “broken” uploads)

If you’re writing a pure-Lua program, the Eclipse editor has a console (etc) so you can see output.

I also moved to here because AnscaMobile has a Lua platform for writing iPhone applications, so I figured I needed an env to do it all (just haven’t gotten to the latter just yet)

Before you start… what are you planning to do?
If it’s all about adding a condition or two into scenes - you do not need to learn Lua or any other language! Read Luup-related wiki pages, average copy-n-paste skills is more then enough.

For simple plugins the above still applies, especially you have at least some scripting experience.

Only if you’re going to write something more complex you might have to actually go and learn Lua.

I’m going to do some scripting like: Turning on the “Watch Movie” scene turns on the projector, the stereo, and the Blu-Ray, and have the source on the stereo changed to Blu-Ray, Dim the lights in the theater room, blah blah blah

Next week we’re adding an ‘advanced’ button to scenes, which also works with A/V. So you can say:

send: ‘power on’
wait 3 seconds
send ‘input2’
send …
etc.

You can then attach the scene to a button on the remote. The remote building is due the week after next. It lets you build universal remote screens.