Paid request - intergration with Elk M1 security panel

Hello, I added the device driver but I don’t know how to add or find the device in the “My Devices” tab of the IDE. Can someone please provide some guidance?

Thanks Again!!

Wow… I’m late to this party… oh well.

But it does remind me I haven’t even logged into the IDE in a LONG time…

Hello,

I figured out how to setup the My Device on the IDE.

Create a device in SmartThings IDE and give it a name of “Elk Alarm Bridge”. Make sure to use the MAC address of the NodeMCU for the Device Network ID (MAC address is listed on the web interface of the NodeMCU). Then select the Device Handler called “Alarm Panel Bridge”. Other settings as required (e.g. set the ‘Location’ to be the correct Hub).

Hope this helps someone.

Cheers,

Joe

Is anybody using their Elk M1 to cover more than just the alarm system? Clearly it can cover everything from thermostats, to switches, to weather stations… but they take quite a lot of effort to integrate from what I am finding.

Also, @HGupta - after you sent those strings to me, can you test one more thing. With the serial connection working to your PC, and after pressing disarm (or any command so that it connects to the alarm and prints some messages), can you try triggering a couple of the sensors in the house? (e.g. PIR motion sensors) If my latest changes are allowing the NodeMCU to stay connected to the alarm after the actual Arm/Disarm command then they might also receive the zone status updates? I dont think it will work as my code to subscribe to them is not yet working, but just thought I would check, as it might be a quick fix for the integration. Thanks

@cjcharles, I think most people would want arm/disarm.

My personal preference would be to include sensors/relays so they could trigger smart things automation as well.

Oh an the siren/strobe. That way you could have the flexibility of combining multiple different sensors and trigger an alarm action.

I’m happy to test and provide logs for anything if you need me to.

Thanks

Dale

Sure. Connected now. I don’t have a whole lot of zones connected right now because I am not using the Elk as my primary system yet until I can get everything transferred over.

Without any sensors activated, it periodically reports stuff like this every 30 seconds:
16XK43420932407181100065
ÿ?ÆV @[01]

16XK13430932407181100067
ÿ?ÆV @[01]

Door open (zone 14) gives me this:
0AZC014900C4
7181100060ˆ[03]ÿ?ÆV @[01]

Door closed (zone 14) gives me:
0AZC014300CA
7181100061ˆ[03]ÿ?ÆV @[01]

I hope that helps! If so, I can test with more zones.

Also, I am only interested in alarm armed/disarmed state, zones (inputs) and outputs (virtual switches and relays). Tasks control would also be a nice touch but not necessary. I have no interested in other accessories such as thermostat control and lighting as it is easy to switch those out so that they are handled by smartthings.

Thats great, thanks. I’ll have a go at some basic stuff this week and it can pull out alarm and zone status in a basic fashion and forward on to ST.

Virtual switches I probably wont bother with as its just too much of my time! What do you use that for?

Great! As for the virtual switches (that’s my own terrible name for them), the Elk system actually calls them outputs. The Elk M1 can have outputs that can be set to either on or off state. I mostly use mine to operate relays. For example, output 3 on my board opens the electric gate when the relay is closed momentarily.

@HGupta - Can you give this firmware a go please, I want to see if it fixes the miscellaneous extra data. It also does a load of CRC checking on the data that is received, which will make interpreting it nice and easy I think…
Thanks

New firmware is functional, but I get the following that goes on forever:

String too short to start anything
1EAS000000001111111100000000000E
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct

Haha, woops. I missed one return statement in that function. I’ll have a new firmware with you in about 10 minutes. It will also support some of the responses (mainly alarm status messages, but also some others in preparation for zone messages).

Ok, should be better, can you grab the firmware again from the above link and see how you get on now… Fingers crossed for something cool!!!

EDIT: 6 minutes after the post time, I updated the firmware with one other important bug fixed so it doesnt process messages twice

getting the same error about length not correct:

String too short to start anything
16XK4908116270718110005E
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct
0
0
Uh oh, length not correct

Sorry, that section of code is more complicated than it should be as I havent worked out a nice way to process the packets. Think I have sorted it now! Please can you try the firmware again.
Thanks

A little bit better. But still some sort of error. It looks like they come every thirty seconds again.

Valid message: ZC0079090
String too short to start anything - ZC0079090
Valid message: XK5104126270718110000
String too short to start anything - XK5104126270718110000
Valid message: XK2105126270718110000
String too short to start anything - XK2105126270718110000
Valid message: XK5105126270718110000
String too short to start anything - XK5105126270718110000
Valid message: XK2106126270718110000
String too short to start anything - XK2106126270718110000
Valid message: ZC0073030
String too short to start anything - ZC0073030
Valid message: XK5106126270718110000
String too short to start anything - XK5106126270718110000
Valid message: XK2107126270718110000
String too short to start anything - XK2107126270718110000
Valid message: XK5107126270718110000
String too short to start anything - XK5107126270718110000
Valid message: XK2108126270718110000
String too short to start anything - XK2108126270718110000
Valid message: XK5108126270718110000
String too short to start anything - XK5108126270718110000
Valid message: XK2109126270718110000
String too short to start anything - XK2109126270718110000
Valid message: XK5109126270718110000
String too short to start anything - XK5109126270718110000

Ok thanks. I’ll have a think about the best way to stop that. In the meantime it should be working for quite a few things, can you see how SmartThings responds now with the alarm changing and zones changing…

Are we getting any better? (new version on my github) Sorry this is surprisingly hard to test…It doesnt seem to process the response for some reason, even though it is finding valid messages

I am tied up the next couple of days. Hopefully one of the other guys here can try the updated firmware and see how it is working in smartthings.

I copied about a minute plus of the log. Hope this helps.

Valid message: ST102121010
Got response, processing now
Valid message: SS0000000000000000000000000000000000000
Got response, processing now
Valid message: XK2628217280718110000
Got response, processing now
XK
Sending: 06xk0057

Disarm command received from Web
Sending: 0Da010095040038

Valid message: IC00000000000000201010
Got response, processing now
Valid message: EM008080
Got response, processing now
Valid message: AS000000001111111100000000000
Got response, processing now
Alarm Status change detectedCreating JSON string
Valid message: AM000000000
Got response, processing now
Valid message: AS000000001111111100000000000
Got response, processing now
Alarm Status change detectedCreating JSON string
Valid message: AM000000000
Got response, processing now
Valid message: ZC0012020
Got response, processing now
ZCZone change for zone001
Creating JSON string
Valid message: ZC0022020
Got response, processing now
ZCZone change for zone002
Creating JSON string
Valid message: ZC0032020
Got response, processing now
ZCZone change for zone003
Creating JSON string
Valid message: ZC0042020
Got response, processing now
ZCZone change for zone004
Creating JSON string
Valid message: ZC0052020
Got response, processing now
ZCZone change for zone005
Creating JSON string
Valid message: ZC0062020
Got response, processing now
ZCZone change for zone006
Creating JSON string
Valid message: ZC0072020
Got response, processing now
ZCZone change for zone007
Creating JSON string
Valid message: ZC0082020
Got response, processing now
ZCZone change for zone008
Creating JSON string
Valid message: ZC0092020
Got response, processing now
ZCZone change for zone009
Creating JSON string
Valid message: ZC0102020
Got response, processing now
ZCZone change for zone010
Creating JSON string
Valid message: ZC0112020
Got response, processing now
ZCZone change for zone011
Creating JSON string
Valid message: ZC0122020
Got response, processing now
ZCZone change for zone012
Creating JSON string
Valid message: ZC0132020
Got response, processing now
ZCZone change for zone013
Creating JSON string
Valid message: ZC0142020
Got response, processing now
ZCZone change for zone014
Creating JSON string
Valid message: SS0000000000000000000000000000000000000
Got response, processing now
Valid message: XK5628217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: SS0000000000000000000000000000000000000
Got response, processing now
Valid message: XK2629217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK5629217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK2630217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK5630217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK2631217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK5631217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK2632217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK5632217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK2633217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK5633217280718110000
Got response, processing now
XK
Sending: 06xk0057

Valid message: XK2634217280718110000
Got response, processing now
XK
Sending: 06xk0057