Premise Electronic door locks?

Motorola Premise
Hmm, interesting information... and I realize this is in the Premise section vs. CQC. However, there are a couple of threads that I have been following on this and the CQC forum regarding Zwave and the use of the Kwikset and Schlage locks...

Dean posted this today on the CQC forum regarding them (http://www.charmedquark.com/vb_forum/showthread.php?p=130392#post130392):
"Those locks use some stuff that is in a later version of the Z-Wave toolkit than we have access to. And it's apparently pretty radically different from the way anything else works because of the security issues, and might involve some significant driver rewriting, I'm not sure. But it would cost us around $3000 to get the latest ZWave toolkit and find out, which we can't afford at the moment."
 
Thanks Dan, good information! I was reading on Vera's site and people were saying the same.

drvnbysound: You can always wait for the new version of the open source VRC0P Premise driver and use it as a model for something similar for CQC. I'm willing to bet if we can do it on Premise, you can do it on CQC. Better yet switch to Premise since it's free and very versatile. We'd love to have another active member like yourself ;)
 
I have a kwikset lock installed and am talking to it with the new VRCOP. So far I can lock,unlock, and get status as to if the lock is closed with a key or the inside lever, which of the two codes was used to open it with the key pad , and if its locked with the lock button on the key pad.

I tried to enter a discussion on the leviton site and ask them if they could provide me with more examples like the ones in the application note that they just released but no answer.

I would like to be able to enter the codes thru the VRCOP and use the door lock logging class and poll the lock.
 
Look over the last few pages of this thread: http://www.cocoontech.com/forums/index.php?showtopic=18200&st=90

I've posted a module that does 90% of what you're looking for and also posted many examples of using the VRC0P commands on page 5 or 6 of that thread.

If you get door logging to work, please post!

I can request a door logging record, but nothing is returned (this should return information from record 3):
>N49SS76,3,3
<E000
<N049:152,128,022,145,195,164,010,177,024,186
<X000

However, if I iterate through zzz=0 to zzz=255 for >N49SS76,3,zzz, I obtain the following resutls for record 3. Note that zzz in the working commands below appears to be random (e.g. encrypted). If I rerun my script to iterate through zzz=0 to zzz=255 again, I obtain completely different zzz values. I'm wondering if this is intentional on Kwikset's part or if the VRC0P is not encoding the entire command for some reason?

>N49SS76,3,2
<N049:152,064
<N049:152,128,214,219,134,062,178,093,161,054
<n049:000,076,004,003,007,208,001,004,016,031,012,015,005,005,054,054\
<n049:053,048,050

>N49SS76,3,10
<N049:152,064
<n049:000,076,004,003,007,208,001,004,016,031,012,015,005,005,054,054\
<n049:053,048,050
<N049:152,128,053,112,064,040,050,036,180,157
<X000

>N49SS76,3,50
<N049:152,064
<N049:152,128,193,231,191,090,035,216,240,168
<n049:000,076,004,003,007,208,001,004,016,031,012,015,005,005,054,054\
<n049:053,048,050
<X000

>N49SS76,3,140
<N049:152,064
<n049:000,076,004,003,007,208,001,004,016,031,012,015,005,005,054,054\
<n049:053,048,050
<N049:152,128,245,099,144,142,246,015,187,162
<X000

>N49SS76,3,175
<N049:152,064
<N049:152,128,092,177,019,095,115,043,076,116
<n049:000,076,004,003,007,208,001,004,016,031,012,015,005,005,054,054\
<n049:053,048,050
<X000
 
Thanks so much for the info on the VRCOP. I just am still confused on one point. I dont understand how your getting the numbers for the key pad numbers in the following string.

set code for user 2 as 1132 (NOTE: each pair 1|2, 3|4, 5|6, 7|8, 9|0 shares a button. 1132 could also mean 1232 etc...)
>N4SS99,1,2,1,49,49,51,49

How do you come up with the numbers 49,49,51,49 for 1132 ??

Thanks John

PS I got it I replied to soon I think its button 1/2 49 button 3/4 51 button 5/6 53 and so on.
 
It's the ascii character code in base 10 for each desired keypad number. 49,49,52,50 would have given the same usercode too, so I ended up just passing the ascii code directly.

Were you able to figure out how logging is used? I'd like to understand that part of the protocol; I had to write a for loop and brute force things to get any sort of output :(
 
It's the ascii character code in base 10 for each desired keypad number. 49,49,52,50 would have given the same usercode too, so I ended up just passing the ascii code directly.

Were you able to figure out how logging is used? I'd like to understand that part of the protocol; I had to write a for loop and brute force things to get any sort of output :(

I cant really figure out much. I am more like a sponge and suck up info for the smart guys like yourself. I wonder if there is a command to send to find out the status of the lock, weather it is locked or unlocked. That would come in handy so I could poll it every so often.

Oh on a side note, did you figure out what the config number 132 was for on the Trane thermostat?
I use it this way on my Trane:

Set thermostat to Run 112,4,132,1,1
Set thermostat to Hold 112,4,132,1,0


etc6849 you missed one of the auto responses that the lock will send out.

There are two different responses for lock fails to lock. If you push the lock button on the key pad and it fails you get the one on your list 000,113,005,017,001
But if you send the lock command thru the VRCOP and the lock fails to lock then you get a response of 000,113,005,023,001
 
Thanks for the good catch! I failed the deadbolt by using my hand to hold the latch in; .after that, I was too scared to do it again. I'll put your suggestion into version 19.

To answer your question: do you need that if you have instant status feedback working?

I would try something like this:
>N2SS113,4
<E000
<N002:152,128,141,230,059,200,005,052,192,189
<X000
<N002:152,064
<n002:000,113,005,141,000

All I did was start at >N2SS113,1 and kept trying numbers until I got a result. The 113 is from the instant status feedback packets the deadbolt sends (see other thread). I didn't use this in my driver as there's no need with instant status feedback.
 
Thanks for the good catch! I failed the deadbolt by using my hand to hold the latch in; .after that, I was too scared to do it again. I'll put your suggestion into version 19.

To answer your question: do you need that if you have instant status feedback working?

I would try something like this:
>N2SS113,4
<E000
<N002:152,128,141,230,059,200,005,052,192,189
<X000
<N002:152,064
<n002:000,113,005,141,000

All I did was start at >N2SS113,1 and kept trying numbers until I got a result. The 113 is from the instant status feedback packets the deadbolt sends (see other thread). I didn't use this in my driver as there's no need with instant status feedback.


I guess I really dont need to poll the lock if I have instant status already.

The reason I thought you might need to know about the extra lock failed to close string is because its probably more important to know if the lock fails when your away from home. If it fails when you use the key pad then you get all the noise and flashing lights.
 
You're right. I actually thought about this, but forgot. The version I posted polls for the lock state 10 seconds following a lock (regardless of whether the oneway option is checked). The reason I chose 10 seconds was because the deadbolt can retry up to three times. For unlocking, I don't bother with this.

>N2SS98,2
<E000
<N002:152,128,144,114,013,118,087,163,058,215
<X000
<N002:152,064
<n002:000,098,003,255,000,000,254,254

I think what you need to do is poll the Alarm class (113), but I'm confused by the output. Did you figure out what the 141 meant in my last post? I'm assuming you'll have to decode the 141 and other possible outputs as before.
 
PS: do you use the Vizia RF+ 4 button scene or zone controllers with switch?

What I want to do: use it to trigger events in a Premise on a per button basis. In other words, I don't want to use the controllers for their intended purpose (e.g. use each button to trigger z-wave devices directly). I plan to use the VRC0P to see if a button is pressed, and perform some action based on which button is pressed (on/off button 1, on/off button 2, etc...). These actions may/may not include z-wave devices at all. Is this possible? What's the best choice, the scene or the zone controller?

I understand the zone controller will give me an on/off toggle for each button plus a dimmer toggle button. The scene controller is similar, but has push buttons. I'm leaning towards the zone controller. I'm looking at the new switch version since it includes a switch, making a retrofit very easy (I'm guessing the switch will take away one of the 4 buttons which is fine).
 
I dont use any remotes. Im not using Premise. I use the ECS software, but I am looking at Premise to see if I can grasp how it works. It appears I would need to learn VB to use it.

As for the 141 when entering the 113,4 that number changes each time you enter 113,4

The 98,2 does in fact give the status of the lock position.
 
Premise isn't too hard to learn. I started out using it in 5/2009 with no programming or home automation experience. After the first year, I was able to build custom drivers (modules) and posted several of them (W800RF32 and a BetaBrite sign driver to name a few).

If you're starting out, I would work through the comprehensive examples in the help file (and watch the videos from the Premise wiki). Once you get used to Premise, I bet you'll like it a lot.

You don't have to do everything through vbscript either. There's also scheduling and powerful logic diagrams. You can do a lot with Premise, all with minimal knowledge of vbscript (provided the modules for whatever devices you're using already exist which they probably do).
 
I wonder how to set the clock in the kwikset lock?? I can read the clock but cant figure how to set it. Reading it is NxSS139,2 I tried setting it like this and all works but the year. NxSS139,1,year1,year2,month,day,hour,min,sec
 
I use Premise to keep track of when events occur so I don't know. If I use records or the scheduling class, I'll have to set the clock first; however, I see no benefit from adding a records class as Premise already tracks events on a per user basis. The scheduling class has a benefit; however, Premise could handle that too by adding/removing a secific user.
 
Back
Top