GE Caddx Security Integration Development

As was previously discussed in this topic: http://forum.micasaverde.com/index.php?topic=1962.msg7532#msg7532

I’m really looking forward to integrating the NX-584 (Home Automation Interface) with Vera. (I just got done installing it, but I have not programed it yet because I don’t know what settings would be best for this application.)

I have submitted a trouble ticket (#1188) in hopes that MCV development of the plugin can begin.

I would like to use Global Cache’s new iTach WF2SL to interface with Vera via WiFi. Do you guys think this is the best option? Since me Vera isn’t currently located in the closet where the security panel in located, I think WiFi is my best option. An other products you guys would suggest?

I just ordered the new Global Cache WF2SL from ASIHome. It ran $117. I am not too sure when the it will arrive because it’s “shipping” date is September 30th, and ASI hadn’t ordered any of the WF2SL’s yet. (Per the sales lady I talked to on the phone. I’ll post when the iTach product arrives.

In the mean time, I guess I better start learning some Lau! MCV hasn’t been on here for ages it seems!

guessed, Do you have any good Lua instruction literature you would suggest? I’m gonna have quite a bit of time on my 2 week long business trip to research this!

That’s a broad question, but I’ve list below some things I found useful for writing a Luup-based Device. I’m assuming you’d like to embark on writing the driver, not just simple scripting. If it’s the latter, just pick out some of the bits here since you really don’t need to learn much Lua to do that.

I have a programming background (C, Sockets, Java, SQL, yada, yada…) so that helped a lot, but is not essential if you feel comfortable cobbling together the various examples that are now floating around to make a Device. You will need some basics in Linux, since most of the Development cycle involves reading/sifting through logs to find “what happened”.

Mostly, it’s patience and a lot of trial and error. :wink:

[ul][li]Installed the command-line version of Lua 5.1 on my Mac
Whilst not truely needed, it helped me to learn the language specifics independently of the Vera stuff. Every now and again, I go back to it to “test” some construct just to ensure that I have it “right” before putting it into the main code. I also installed a Full IDE, but that was over-the-top since it’s really just a text editor with nicer colors once you start editing Vera’s XML files[/li]
[li]Start with a working example and “add something” to it
The Weather Plugin is generic enough to do this, plus it has a few constructs (like Child Devices) that you’ll need for a basic Alarm. My Alarm code started with the GC100, but it was tricky as I never had one to “trial” it against, starting with a simple working example should help here. This will also get you familiar with the flow (described in the Somfy Walkthrough Wiki page) of making changes, uploading, and incrementally testing.
Unfortunately I found reading the Somfy walkthrough description a little busy. It could definitely improve from a little editing and formatting.
Anyhow, if you start with Weather, you can then read I_GC100.xml to see how they’re processing the “commands” it understands, and you can map that logic to the commands your Alarm Panel works with[/li]
[li]Read the starter bits of the Lua Tutorial lua-users wiki: Tutorial Directory
This was useful to me, since it starts fairly simple and works up. You probably only need the early parts, since the latter stuff, starting at Garbage Collection, is a little over the top for what we’re doing here.[/li][/ul]

The hardest part about the GE integration will be the CRC calculation, and Bit Manipulation, required to talk to it (given the PDF Spec). From memory, bit Manipulation is a separate Library in Lua, and I haven’t checked to see if it’s loaded. The GE also has a LOT of commands, so narrow the scope early to the ones you really want to work with, as implementing them all will keep you busy for a long time.

My Alarm code is working at this time, I’m just waiting for certain “UI” constructs to be added to Vera so that general Alarm status can be displayed/rendered, and then I can trim out the legacy (MotionSensor) way I used to do this. You can see both of these running side-by-side, in the Design UI, on the Wiki page for the plugin.

The lack of a Rendition for Custom Devices makes it really limited right now, so I’ve avoided publishing the code (that, and the fact that only the most recent versions can upload it, since it’s >50k).

If you want to chat, just PM me some contact details and I can call you to discuss the road you’re about to embark on.

guessed,

Thanks for your detailed response! In retrospect, that it really was a pretty broad question…

At this point, I think there are more questions than answers for me! But even with that said, your reply has certainly given me a lot of things to research and try to make sense of! I do have a software analyst background, but have just recently started getting into Java (For rule development) and Crystal report writing.

Once I have been able to go over your suggested reading, and I think I can confidently speak on somewhat knowledgeable on the subject, I’ll definitely take you up on your offer to chat!

I’m so glad I have essentially gotten in on the ground floor of Vera development! Their vision certainly is ambitious, but they seem to continue to be able to press forward with their road-map. I just wish things were a little more transparent when it comes to that road-map!

Thanks again, I’m sure we will be in contact soon…