Integration with Texecom Alarm Panel via either IP or USB?

Hi Guys,

I wonder if one of you might be kind enough to point me in the right direction, I recently (3 days ago) recieved my Vera 2 and have set up quite a healthy z-wave network off the back of it. I now wish to integrate it to my Texecom Alarm System. I have installed a Premier 48 panel which has both USB and TCPIP connectivity. I also have the protocols required to interegate the panel and get it to set etc. What I have yet to discover is how best to create the interface required.

The Panel comes with a USB cable and indeed a serial to USB adapter but it also has TCPIP connectivity which I would prefer to use if at all possible. The actual IP to serial adapter they use is an OEM from Lantronics called Xport… don’t know if this is familiar to anyone but it is a Linux embedded device by all accounts.

What I would dearly love to achieve is to create a Mios control in Vera to Part arm, and Full Arm the system with a routine, and to have 2 way communications to trigger an email upon setting via the notifications from mios.

What wuold be really nice but not necessary is to be able to get a notification when the system is activated again to ping an email out although the sms communicator takes care of letting me know anyway.
Can anyone assist me please as I am new to Luup and don’t really know where to start but am willing to learn by books etc and share my interface when complete.

Take a look over at http://code.mios.com . There are 3 Alarm Panel interfaces over there (Paradox, GE and DSC) that have full source code.

These should give you an idea of how you could code one to work directly with the Texecom.

Thank you for your reply, like you say this should give me a good start… thank you for the link I didn’t even know this page existed.

Hi guys my next challenge is to create an interface to my alarm panel. I have a Texecom premier 48. Texecom is a huge uk supplier of domestic and commercial panels. The reason I have this panel even though it us probably classed as a commercial panel as it is uk grade 3 is that it has an ip connection. I have done a lot of research with this and have even approached Texecom for the protocols which I now have. All I want to be able to do is Full Arm and Part arm the system from sq really. I am not looking to disarm the system via sq. It would be nice if this communication is two way so that I can run scenes etc upon activation.

Basically I was wondering similar to my windows 7 mce post is how to create a socket connection and get started, I have looked at the dsc plugin and am thinking of using this as a template.

Is anyone willing to assist?

Regards
Simon

I moved your post back to the original thread you created in December, as it’ll keep all the related items together.

MiOS plugins tend to want to connect to Serial devices, or devices that can be made to look like a Serial device (over IP, for example). Once this attachment is done, they receive messages via the block declared in the Plugin, and can use luup.io methods to “write” back to them.

Look at the EnOcean plugin for an example of “opening” a direct Socket connection via the Luup framework. By doing it using the framework, things like the block work correctly.

Also you may want to base your code on either the GE Caddx or Paradox Plugin. Both of these are actively owned by Developers, who have these panels in their house. It’s extremely difficult to develop an interface without the Panel “in house”. I’m currently working with @strangely to “fix” the DSC, since it has a number of issues (including no interface standardization) but that effort will take some time as I don’t have the panel.

Anyhow, good luck on coding your Plugin!

Guessed,

Mate I think I am flogging a dead horse.
I have now managed with a program called Hercules 3 (a free TCP client) to connect to my panel, I have then sent the “Request Access” instruction in Acsii to the panel this then gives you 30 seconds to send a further command. I am then able to send the “Part Arm” request to the panel again in Acsii and the panel returns “OK” and sets.

At this point I am a happy bunny as I have at least achieved something today, I do not know how to make Vera replicate this, nor do I know how to run a scene in vera upon reciving “OK” from the panel.

This is essensially all I require from such a plugin, maybe the only other function would be to “Full Set” but I can do that too in Hercules 3.

Can you assit me please as my knowledge in this area reached it’s limit about a week ago.

I have looked at the other alarm plugins to try and disect them but they all produce online keypads and all sorts of things I do not require and it makes it difficult. I have downloaded the P serial plugin which I am now not sure I need.

If you post specific questions in this forum, then you will likely get responses to them.

To get you started, you’ll need:

a) to use [tt]luup.io.open(…)[/tt] to open the connection to your Panel. There’s a snippet example in the enOcean code:
I_Enocean.xml – Enocean Gateway
This call will be done in your “startup” method to tell Vera how it should connect… when it needs to. for now, you can hardwire the IP Address, and Port parameters to those of your Panel.

b) to use [tt]luup.io.write(…)[/tt] to write “strings” to the Panel, such as a request to Arm or whatever, in the syntax that your panel supports. Examples of this are in just about every Plugin, since it’s a staple. You’ll want to call this from the specific [tt][/tt] blocks that you’ll “copy” from one of the Existing Alarm Panels.

c) code in the [tt][/tt] block that, minimally, prints the incoming data into the log files, so you can watch what various things actually do when you interact with the panel.

Don’t stray from the Alarm codebases, you can remove bits you don’t need, but it’ll give you a “shell” of code in which to operate and it’ll save you from having to learn everything up front.

Now, writing this type of plugin isn’t for the feint-hearted. You will need to be a developer to do a real alarm system, even the “basics” need a bit of skill to get working since you’re interpreting and implementing “bits” of a spec doc from your provider.

If you haven’t coded before then it’s not impossible, it’s just going to take you a very, very, long time. If this is the case, it might pay to find a neighbor, or just someone local, who shares your interest (and your Alarm Panel vendor) that you can arm-twist into helping you.

… and put the call to [tt]luup.io.open()[/tt] at the end of your startup code (see http://forum.micasaverde.com/index.php?topic=3855.msg20588#msg20588).

Hi I have learnt a little more but still get a “lua failed to start”

local RequestAccess_SID='urn:micasaverde-com:serviceId:TexecomRequestAccess1' local PartArm_SID='urn:micasaverde-com:serviceId:TexecomPartArm1' local FullSet_SID = 'urn:micasaverde-com:serviceId:TexecomFullSet1' luup.io.open ("192.168.0.2") port ("10001") urn:micasaverde-com:serviceId:TexecomRequestAccess1 RequestAccess luup.io.write ("5C57313233342FE8") urn:micasaverde-com:serviceId:TexecomPartArm1 PartArm luup.io.write ("5C59022F30") urn:micasaverde-com:serviceId:TexecomFullSet1 FullSet luup.io.write ("5C41022F30")

Please can you point me in the right direction

Could you first explain what what you are trying to do ? (what is the context ? Sometimes it is obvious for us when we write it down, not for others who don’t have the context).

I am trying to control my alarm panel via its TCP conection.

its IP is 192.168.0.2 and its port is 1001.

I was three functions,

1 request access to the panel (to enable me to send further commands)
2 Part set the panel by sending the HEX code
3 Full Arm the panel by sending the Hex code

Once I can do this I plan to expand beyond but can not seem to set Vera up to send the Hex to the IP and Port.

I have a TCP client software that connect beautifully but need obvioulsy to give control to Vera so that I can create buttons on SQ remote.

Regards

Simon

It’s a problem in the your startup block code.

Cross check the syntax for [tt]luup.io.open[/tt] by looking at the equivalent construct in the DSC plugin on code.mis.com.

Also, please remove your cross-post of the same question from the other thread. :slight_smile:

Guessed I have removed the other post.

I have been trying to copy the DSC plugin but because ALL the plugins available are so complex and reference other input strings it is difficult to fathom out how, I have been on the Lua site all day and googled it to death.

Please can you assist me how should it be presented??

As I said, your startup block code is incorrect. It doesn’t have the correct parameters to luup.io.open. You can use browse source on the DSC I_DSC*.XML file in the trunk directory to see the correct syntax.

Ie this file http://code.mios.com/trac/mios_dscalarmpanel/browser/trunk/I_DSCAlarmPanel1.xml#L687

So it should look like this then from what you are saying???

luup.io.open (lul_device, 192.168.0.2, 10001)

Yup, like that. Of course you need a corresponding D_*.xml to go with your implementation file here, but I’m sure you have that already.

If you have problems still then you’ll need to post the I_, D_ files as well as the verbose log output. These eould be needed in order to diagnose any other conditions that could be going amiss.

Thanks for your help.

I have changed the I_file and i nolonger get an error but the server stays constantly “busy”

Here is my D_file

urn:schemas-micasaverde-com:device:TexecomPremier Premier48 Texecom CommercailAlarm Premier48 0 urn:micasaverde-com:service:TexecomRequestAccess:1 urn:micasaverde-com:serviceId:TexecomRequestAccess1 S_TexecomRequestAccess1.xml urn:micasaverde-com:service:TexecomPartArm:1 urn:micasaverde-com:serviceId:TexecomPartArm1 S_TexecomPartArm1.xml urn:micasaverde-com:service:TexecomFullSet:1 urn:micasaverde-com:serviceId:TexecomFullSet1 S_TexecomFullSet1.xml

Are there issues here too???

Vera has come back online and now gives me the following error

“Lua Engine Failed to Load”

Yes. You’ll need to provide the FULL set of your files as well as the verbose log previously requested.

Do them as an attachment, not inline. Looks like your D_ file intros 3x new S_ files not previously mentioned.

I’ll try to respond once a complete set of the information requested has been provided.

Hi thank you so much for this, please find attached the full set of files.

You sound supprised at the existance of the S files. Whilst owning Vera all I have created are IR device files for my TV’s AMPs ect and I was under the impression that this is how it was done.

I have tried to keep to that same modular fashion as I appear to have my head arround that way of working I am just obviuosly suffering from a lack of knowledge and need a little leg up.

Any assistance you can offer would be greatly appreciated.