How To: Send Vera Alert from ELK M1 via M1XEP

It’s possible to use your ELK to send alerts Directly to your Android Phone over the Local Network!

First make sure your VeraAlert app is configured with local port (we’ll use 1024 for now). Also ensure your phone has a static IP within your network we’ll use 192.168.1.5)

Step 1.
in ELKRP to to Telephones → Right Click → New Telephone… and create as many as you want. Lets say you create 5 telephones, we’ll use #5 for this example

Step 2.
Click on Telephone 5, there is a box on the right that says “Reporting Format” Change this to “6 = Ethernet M1XEP”. Since this Telephone Number cannot be used for reporting alarms and other events MAKE certain to uncheck all Area blocks as well as the Events to be reported blocks on this screen. Name the telephone whatever you want, I named it “Vera Alerts”

Step 3. Click on the M1XEP Setup button the right. Within the M1XEP Setup click on Central Station. You should see “CS5” for the 5th phone.
Receiver type is set to “G.E. OH2000…”
Account# = Blank
IP Addresss or URL = 192.168.1.5
IP Port = 1024

Click SEND and OK to Update and Reboot the device. After Reboot Reconnect…

Step 4.
Create a TEXT string and store it in the M1‟s Automation/Text section:

00APxDDDD?{up to 200 ASCII chars here}CRLF

00 - two zeros. Any two digits will work, but they are ignored.

AP - Command to send text string.

x - ASCII “1” - “8”. This tells the M1XEP which Central Station IP address to use. Corresponds to Telephone 1-8. (We are using Telephone 5 so we will replace “x” with 5)

DDDD? - ASCII text data (Message that VeraAlerts will Read)

CRLF - Carriage Return/Line Feed

EXAMPLE: 00AP5Hello Vera Alerts {tone:1}^M^J Build a text string and store in the M1‟s Automation/Text section using ELKRP. ?^M^J? is a carriage return/line feed.

The example will send ?Hello Vera Alerts {tone:1}? to the IP address programmed as telephone number 5.

Step 5.

Write a RULE to send this text string out serial port 0. When the M1XEP receives it, it will look up the specified Central Station IP address/port and send only the ASCII message in a TCP packet to that address/port. Note that the text string has two parts, a command and a message. 00AP5 is the command and the rest is the message. The M1XEP splits the message from the command and forwards the message part only. Therefore, if you are receiving the message at another M1, the string to match is the message part only. In the example above, that would be Hello Vera Alerts {tone:1}^M^J. So to receive this message at another M1, simply create a text string with Hello Vera Alerts {tone:1}^M^J and write a RULE to perform some action when that text string is received through serial port 0.

Step 6.
Execute Rule and enjoy :slight_smile:

EDIT: Fixed Example Text

Do I need to brand an Elk Alerts Android app now :slight_smile:

This is pretty sweet. I never thought of using the phone stuff like that.

I do have a question though… What functionality does this give you that you cannot accomplish with LUA code? The Vera already has insight into pretty much everything on the ELK, so when the Vera sees something, you can have some LUA that sends the voice to the Android device. I still have about 10 rules on my Elk, and my goal is to get all of it off of there and move it to the Vera.

[quote=“signal15, post:3, topic:174634”]This is pretty sweet. I never thought of using the phone stuff like that.

I do have a question though… What functionality does this give you that you cannot accomplish with LUA code? The Vera already has insight into pretty much everything on the ELK, so when the Vera sees something, you can have some LUA that sends the voice to the Android device. I still have about 10 rules on my Elk, and my goal is to get all of it off of there and move it to the Vera.[/quote]

Good question, first of all, i’m blown away at how fast the response is on the ELK, and when sending vera alerts from it, it’s noticeably quicker… Also sometimes VERA will drop connection with ELK and this will guarantee nothing is missed, but that isn’t the full reason.

Some of the rules in ELK allow for much cleaner programming, HOWEVER RTS’s PLEG plugin is quickly changing my mind. but somethings I cannot afford the vera to miss; I’ll post a sample of code I’m using…

Here is an example that requires no margin for error, and I cannot rely on Vera to ensure this… I’ll paraphrase it, but also include snapshot in post of actual rule from ELK RP.

WHENEVER someone turns the Gas Fireplace on
AND the flu is closed (secure)
THEN the ELK will Turn the Fireplace off
THEN the ELK will Broadcast an alert message through Vera Alerts to Open the Flue first.

I think ELK runs things at the same time (multithreaded?) because the Rule is processed in a sense that the gas will never actually turn on (confirmed by watching/listening to relay). Whereas the VERA Will Turn on the gas, then execute rule, then turn OFF the gas).

If this rule fails because VERA lost connection w/ ELK, or some other reason then the fireplace will turn on and very quickly fill our great room with carbon monoxide, and/or ignite something nearby.