Paid request - intergration with Elk M1 security panel

Arming away and disarming. Images of the ST app below. Notice the time did not change on the app but the iPhone time is relative to the ST live info.

3f66640e-40c9-4385-86fd-50734651fab3 9:41:06 AM: debug [:]
3f66640e-40c9-4385-86fd-50734651fab3 9:41:05 AM: debug uri /disarm
3f66640e-40c9-4385-86fd-50734651fab3 9:41:05 AM: debug disarm()
3f66640e-40c9-4385-86fd-50734651fab3 9:38:37 AM: debug [:]
3f66640e-40c9-4385-86fd-50734651fab3 9:38:37 AM: debug uri /armaway
3f66640e-40c9-4385-86fd-50734651fab3 9:38:37 AM: debug armaway()


The fact that it says Disarmed by Elk means that information is getting through, does the alarm definitely finish the exit delay beeps (i.e. the time it normally waits for you to leave the house)? If you scroll down to one of the sensors do you see any of them change to active when you get motion? (that might be an easier one to test).

Maybe send a screenshot of the actual device info page on the IDE (so I can see the information is correct there).

Also can you keep the serial connection open on the PC at the same time since the connection between the two would be useful.

Thanks

Hello, The alarm does finish the count down. I’m not at home to trigger a zone but below is an image of the device info. I’m using the hex ip address of the Node.

Just checking that the Node IP address is currently 192.168.1.80?

After the alarm finishes the countdown can you visit the Node website and go to the Status page? Hopefully there it should say Arm Away/Home.

Otherwise I agree that looks correct, what is your network setup? Do you just have a single router/modem from the ISP, or do you have multiple access points/routers?

Yes 192.168.1.80
The status web page states disarmed. My network is very simple. Just one route/hub.
Image of Status
Capture%20(1)

Image of ST app

Ah ha, thats what I needed. Thanks, can you try the firmware again, just put in one small change which should fix that part!

Better!! The web page status is “arm away” but the app does not completely update. Images below.
Capture

Thanks, and what is the contents of the 192.168.1.80/settings page? Has it definitely got the ST address correct?

Elk Alarm - 192.168.1.2
ST - 192.168.1.16
Node - 192.168.1.80

All three have fixed IP addresses.

{“ip_for_st”:“192.168.1.16”,
“port_for_st”:“39500”,
“ip_for_alarm”:“192.168.1.2”,
“port_for_alarm”:“2101,
“alarm_username”:”",
“alarm_password”:“001234”,
“device_firmware_date”:“Jul 30 2018 - 15:44:21”,
“device_firmware_date”:“1.0.1”}

I have Google Mesh network with alarm, smartthings, and Node all being assigned reserved IP’s. Elk and Smartthings come off of the same network switch off of one of the mesh AP’s. I do have quite a bit of devices on my network. I did change my network ID for the node to the HEX format. I am now getting the correct status when checked through the webpage so its progress.

Where can I get the updated ST app? In your github it says it hasnt been modified in 5 months.

I just tested the new firmware, and my ST isnt updating or pulling through zone names

There’s a dropbox link above. If I can paste right, it is here
I’ve been tied up a lot lately with work, but I am excited about all the development progress! I can’t wait to try it!

It was my understanding that the dropbox file was the updated firmware for the node. I have just been using github for the ST app. Now you have me wondering if I using the right app!

Yes, the Github code should be fine for the ST Device Handler. Im trying to ensure this solution works with my existing device handler since that saves me a ton of work! This project is reaching the end of my time limit now as it has taken ages to get this far!

I have done one more update which should show all the zone names after you first request the /status or /refresh page from the NodeMCU. I suggest doing this on your PC to start with as it will be easier to check progress. It should give a message that it needs a minute or so to collect all the information from Elk (I have no idea how long it will take but think 1 minute is definitely safe). After this is complete then you can hopefully go to /getzonenames and it should return the zone names… (duh!!) Then you can try pressing the ‘Get Zone Names’ button in ST.

However, this still doesnt resolve the fact that ST is not receiving the actual JSON messages from the NodeMCU for some people, for that I would need to see the serial logs and the IDE logs in parallel.

Do you have a protected/segregated WiFi network that might be blocking the packets from being sent to ST? Otherwise it seems that everything should be working…

First let me thank you for all your effort!!

I upload the new bin file. The status in now not getting the arrned/disarmed info.

Node webpage Alarm Status results

{“stat_str”:“Unknow”}

Here is the settings info.

{“ip_for_st”:“192.168.1.16”,
“port_for_st”:“39500”,
“ip_for_alarm”:“192.168.1.2”,
“port_for_alarm”:“2101,
“alarm_username”:”",
“alarm_password”:“001234”,
“device_firmware_date”:“Jul 31 2018 - 12:44:10”,
“device_firmware_date”:“1.0.1”}

I have updated again so it should try to request alarm status on boot, but just seeing the unknown message doesnt mean it isnt working. Have you got zone names now? Did you get the message about waiting 1 minute?

Just updated.

Hit the status on the Node webpage.

{“status”:“Now requesting zone names, please wait a minute before refreshing”}

Waited 5 minutes then refreshed.

{“stat_str”:“Disarmed”}

Hit the getzone on the Node webpage. http://192.168.1.80/getzonenames

{“namedzonesenrolled”:0}

Ok, one more update. Maybe try waiting a bit less time as it may only need 20s, I just have no way of knowing!

Better!! It got 9 out of the 14 zones I have.

{“namedzonesenrolled”:9,
“maxzoneid”:9,
“zones”:[
{“zoneid”:1,
“zonename”:“Bathroom Window”,
“zonetype”:“Motion”},
{“zoneid”:2,
“zonename”:“Living Rm Widows”,
“zonetype”:“Motion”},
{“zoneid”:3,
“zonename”:“Front Door”,
“zonetype”:“Motion”},
{“zoneid”:4,
“zonename”:“Dinning Window”,
“zonetype”:“Motion”},
{“zoneid”:5,
“zonename”:“Int Garage Door”,
“zonetype”:“Motion”},
{“zoneid”:6,
“zonename”:“Side Kitchen Dr”,
“zonetype”:“Motion”},
{“zoneid”:7,
“zonename”:“Kitchen Wnds”,
“zonetype”:“Motion”},
{“zoneid”:8,
“zonename”:“Deck Doors”,
“zonetype”:“Motion”},
{“zoneid”:9,
“zonename”:“Office Windows”,
“zonetype”:“Motion”},
]}

For me to work out why that is you’ll need to connect it to serial and give me the logs. Are they all numbered sequentially? Lots of things potentially at cause here it could be the alarm using a funky format, it could be the type of zones, it could be my code converting something badly (especially curious as it stops at 10).