Announcement

Collapse
No announcement yet.

Schlage LiNK capabilities with Homeseer

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #16
    Originally posted by Rick Tinker View Post
    No, neither of those options exist. You can only change them interactively - that is, from the device properties page of the root device for the door lock.

    Sorry, but if they could be changed in an event action or script, then I would have people all over me about those unsecured/unencrypted access codes being visible... Schlage won't even allow the current code to be read from the lock - they go above and beyond the security class requirements - you can only determine whether a code exists in a slot or not, or you can write/remove one from a slot. So when you go to the page to work with the user codes, no codes appear, and when you enter a new code and hit submit, that code then also disappears from the screen.
    Actually- this would be enormously useful. I have some construction guys working around the house right now and it would be great if I could delete the codes at night. I think my wife you sleep better. I can do it now via a manual step. I could care less is the codes are in the clear-- if you can get access to my system- you can open the door anyways.
    HS3 Pro Edition 3.0.0.435 (Windows Server 8.1 on ESXi box)

    Plug-Ins Enabled:
    Z-Wave:,RaspberryIO:,AirplaySpeak:,Ecobee:,
    weatherXML:,JowiHue:,APCUPSD:,PHLocation:,Chromecast:,EasyTr igger:

    Comment


    • #17
      Originally posted by wpiman View Post
      Actually- this would be enormously useful. I have some construction guys working around the house right now and it would be great if I could delete the codes at night. I think my wife you sleep better. I can do it now via a manual step. I could care less is the codes are in the clear-- if you can get access to my system- you can open the door anyways.
      Zensys, with the help of probably Schlage and Kwikset, has developed a "Schedule Entry Lock" command class to address that situation. It allows you to schedule when a particular user code is valid to be used with an entry lock.

      The new Kwikset lock supports this command class, although we have not yet added it to HomeSeer.

      If I were to allow you to remove and add a user code with HomeSeer actions or scripts, Schlage and/or Kwikset and/or Zensys would yell at us for blowing the security of their devices.
      Regards,

      Rick Tinker (a.k.a. "Tink")

      Comment


      • #18
        Doesn't ELK and some of the alarm systems allow this already or at least allow you to change the time when someone is authorized? Kinda seems like the same thing.
        It would really beef up the security feeling where I could only allow say code location 5 access on every other Tuesday fron 8am to 5pm. for the lady that cleans the house.

        Maybe I'm all wet but it would sure be a nice feature.

        Comment


        • #19
          Has anyone actually put the Kwikset locks in and connected them to HS? I realize that some of the new command sets have not been added, but I was looking at them recently and they look very interesting, but I am not sure I want to be the first guy around to get them...

          Comment


          • #20
            Originally posted by chewie View Post
            Has anyone actually put the Kwikset locks in and connected them to HS? I realize that some of the new command sets have not been added, but I was looking at them recently and they look very interesting, but I am not sure I want to be the first guy around to get them...
            Yeah, the guy who wrote the code for supporting the lock used it with Homeseer. Lots of specific code in the beta releases, so unless you are already using a beta release, I'd wait for the next release.
            Regards,

            Rick Tinker (a.k.a. "Tink")

            Comment


            • #21
              Well, I am not using any release right now, I am just planning out a system that I will be putting in over the next couple of months when I get into my new house. That is why I am trying to decide between the locks.

              Comment


              • #22
                Rick,

                I am running HomeSeer Version: Professional Edition 2.4.0.6

                I am trying to have a 'single' event that runs a script when my Schlage lock has 'any' user enter their code.

                I set an event to trigger on the Door Lock Alarm 'value' 'Becomes' 'User Code Entered' (thinking that this would trigger from 'any' code being entered). It does not work.
                I changed it to 'User Code xx Entered' - that does work. However only for a single user.
                I could create 19 events, one for each xx. But I think it would be cleaner to have only one event.

                Could this be related to my HS version? If so, what risks are there in updating to the current version? What is the current version. I have been afraid to update due to all the issues I read about with newer versions. Am I mistaken?

                Thanks for your help,
                Alan

                Comment


                • #23
                  Update to 2.4.0.11 in the updater that is the lastest release version - if you want to go beta the lastest version is 2.4.0.62

                  Comment


                  • #24
                    One event:
                    Trigger = Device 'location & lockname' is set to any status
                    - Condition 1: 'location & lockname' lock alarm is user code 1 entered
                    - Condition 2: 'location & lockname' lock alarm is user code 2 entered
                    - etc.
                    In the action you can run a script to determine which code was entered.
                    Real courage is not securing your Wi-Fi network.

                    Comment


                    • #25
                      Originally posted by Wadenut View Post
                      One event:
                      Trigger = Device 'location & lockname' is set to any status
                      - Condition 1: 'location & lockname' lock alarm is user code 1 entered
                      - Condition 2: 'location & lockname' lock alarm is user code 2 entered
                      - etc.
                      In the action you can run a script to determine which code was entered.
                      :-( It didn't work. Almost though...
                      The door is locked, entered a user code to unlock the door (it unlocks the door for about 10 seconds then re-locks the door). The 'status' trigger event is not activated.
                      However, if I press the 'unlock' button on the lock (inside of door), the status is changed and the event is triggered.
                      I need an event to trigger each time any user enters their code to 'temporarily' unlock the door.
                      Alan

                      Comment


                      • #26
                        Trigger on root device change

                        Alan, take a look at http://board.homeseer.com/showpost.p...8&postcount=30. I think you're having the same problem. Based on my experience, if you trigger on a change to the root device, it works every time.

                        Hope this helps.

                        -Chris

                        Comment


                        • #27
                          Hello,

                          Well, here is part of the problem - the alarm code device reports ALL alarm codes, including low battery, Lock Busy at Keypad, etc. So, one of those "other" values may be set on the device immediately after the user code one which would cause it to trigger the user code event and then immediately change to no longer reflect the user code unlock.

                          So if that were NOT the case, I would suggest that you set up the trigger to be a "value change trigger" and have it trigger on "Any Value", and then you could run a script that looks at the value and does additional work based upon it being a user code value. Since these other codes come through the device, I can't suggest that because it would not be reliable.

                          So the bottom line is that yes, you may want to set up an event per user code. However, there are some tricks to make this easier - if you set up your event for one of the user codes so that it has everything you want done in it, and all you have to do is change a log entry or a parameter passed to a script, then you can use the multi-event operations to copy the event several times, and then just modify the copied events to have a new name, a different trigger value, and any changes on the actions that you want to be unique for each user. This is also where having one event call another event can be helpful too because you can put a bunch of actions into another event and have all of your user code events call that one event with all of the actions in it, and that way if you need to change the actions, you have only one event to change rather than each one.

                          I hope that helps!
                          Regards,

                          Rick Tinker (a.k.a. "Tink")

                          Comment


                          • #28
                            It's worked here flawlessly exactly as described since last December. I don't do anything fancy with it, just announce a personalized welcome home and disarm the pseudo-security system if a valid unlock code is detected. In the script I'm specifically looking at the lock's current alarm value, 1 or 2 depending on the unlock code used. Others are ignored.
                            I do however see the potential problems with it as Rick described so I'll add other cases for unexpected values and deal with these as well.

                            Ummm, Alan... You did replace 'location & lockname' with your specific location and lock name?

                            Script as is:

                            Sub Main(Parm As Object)
                            #include \Includes\CommonSystemVariables.inc
                            Dim DoorCode As Integer
                            Dim DoorWho As String
                            DoorCode = hs.DeviceValueByName("Security System Side Door Lock Alarm")
                            Select Case DoorCode
                            Case 1
                            DoorWho = ", (Greg)"
                            Case 2
                            DoorWho = ", (Anne)"
                            Case Else
                            DoorWho = ""
                            End Select
                            hs.Writelog("Door", "Unlock by code " & DoorCode & DoorWho)
                            If Away Then
                            hs.ExecX10ByName("System Occupation", "On")
                            hs.WriteLogEx("Occupation", "Return Home", "#0000FF")
                            End If
                            If DoorCode = 1 Or DoorCode = 2 Then
                            hs.WaitSecs(5)
                            hs.RunScript("Speak Welcome Home.vb")
                            End If
                            hs.WaitSecs(5)
                            hs.RunScript("Announce Phone Messages.txt")
                            End If
                            End Sub

                            I've misplaced the documentation that came with the lock. Is there a list somewhere of possible Alarm values aside from unlock code references?
                            Last edited by Wadenut; September 7th, 2010, 02:46 PM.
                            Real courage is not securing your Wi-Fi network.

                            Comment


                            • #29
                              Wadenut,

                              My script works - the problem is calling the script from an Event. As you can see below, the door location and name are in the event description - that is what you are talking about right? How is your Event triggered? From Rick's comments it sounds like I have to use the ...Alarm value becomes equal to User Code x Entered... and create on event for each user.

                              Also, I'm new to scripting and am curious about your "include" line:
                              #include \Includes\CommonSystemVariables.inc

                              Would you mind explaining what that is and is that something I should be including in my vb scripts?

                              Thanks,
                              Alan

                              Trial Event - Device Value change with conditions (that does not work - I tried several versions):

                              UpDateBackDoorStats

                              Device Z-Wave Doors Rear Door Lock Alarm value becomes equal to User Code Entered

                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 1 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 2 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 3 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 4 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 5 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 6 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 7 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 8 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 9 Entered
                              OR
                              Device: Z-Wave Doors Rear Door Lock Alarm is User Code 10 Entered
                              WHEN
                              Everyday

                              Run script: UpdateBackDoorLog2.vb

                              Comment


                              • #30
                                I thought you might ask about the include; I ought to have explained.
                                That include file containes a number of pre-defined variables I use in many scripts. In this case the script was using the variable "Away". You can ignore it.

                                I did re-define my event and re-wrote the script to handle all possible alarm values.
                                Trigger: Device Security System Doors Side Door Lock Alarm is set to any status

                                The new script follows. I'm assuming the alarm values as presented by HS are going to be sequential at this point; 1-19 being user codes and 20-24 other alarm values. It's too late tonight to experiment so I built in as much logging as should be necessary tio test this over the next few days.
                                I also tried passing the alarm code from the event to the script in order to reduce or eliminate the problem Rick mentioned (code changing immediately) but it seems this isn't possible. However, since the event should trigger on any alarm change it should be OK.

                                Sub Main(ByVal Parm As Object)

                                Dim DoorCode As Integer = hs.DeviceValueByName("Security System Side Door Lock Alarm")
                                Dim DoorString As String = hs.DeviceStringByName("Security System Side Door Lock Alarm") '

                                Select Case DoorCode
                                Case 1
                                hs.Writelog("Side Door", "Unlock by Greg. (Code 1)")
                                WelcomeHome()
                                ReadMessages()
                                Case 2
                                hs.Writelog("Side Door", "Unlock by Anne. (Code 2)")
                                WelcomeHome()
                                Case 3
                                hs.Writelog("Side Door", "Unlock by Guest (Code #3)")
                                Case 4
                                hs.Writelog("Side Door", "Unlock by Contractor (Code #4")
                                Case 5
                                hs.Writelog("Side Door", "Unlock by code #5 Unassigned")
                                Case 6
                                hs.Writelog("Side Door", "Unlock by code #6 Unassigned")
                                Case 7
                                hs.Writelog("Side Door", "Unlock by code #7 Unassigned")
                                Case 8
                                hs.Writelog("Side Door", "Unlock by code #8 Unassigned")
                                Case 9
                                hs.Writelog("Side Door", "Unlock by code #9 Unassigned")
                                Case 10
                                hs.Writelog("Side Door", "Unlock by code #10 Unassigned")
                                Case 11
                                hs.Writelog("Side Door", "Unlock by code #11 Unassigned")
                                Case 12
                                hs.Writelog("Side Door", "Unlock by code #12 Unassigned")
                                Case 13
                                hs.Writelog("Side Door", "Unlock by code #13 Unassigned")
                                Case 14
                                hs.Writelog("Side Door", "Unlock by code #14 Unassigned")
                                Case 15
                                hs.Writelog("Side Door", "Unlock by code #15 Unassigned")
                                Case 16
                                hs.Writelog("Side Door", "Unlock by code #16 Unassigned")
                                Case 17
                                hs.Writelog("Side Door", "Unlock by code #17 Unassigned")
                                Case 18
                                hs.Writelog("Side Door", "Unlock by code #18 Unassigned")
                                Case 19
                                hs.Writelog("Side Door", "Unlock by code #19 Unassigned")
                                Case 48
                                hs.Writelog("Side Door", "Alarm value is 48. Lock reset to factory default")
                                Case 96
                                hs.Writelog("Side Door", "Alarm value is 96. Lock disabled due to tamper attempt")
                                Case 112
                                hs.Writelog("Side Door", "Alarm value is 112. New Master code")
                                Case 144
                                hs.Writelog("Side Door", "Alarm value is 144. Lock busy at keypad")
                                Case Else
                                hs.Writelog("Side Door", "Alarm value is " & Doorcode & ". * Unhandled Value *")
                                hs.Writelog("Side door", "Alarm String is " & DoorString)
                                End Select

                                End Sub

                                Sub WelcomeHome()
                                hs.ExecX10ByName("System Occupation", "On")
                                hs.WriteLogEx("Occupation", "Return Home", "#0000FF")
                                hs.WaitSecs(5) ' Delay for door opening and enter.
                                hs.RunScript("Speak Welcome Home.vb")
                                End Sub

                                Sub ReadMessages()
                                hs.WaitSecs(5)
                                hs.RunScript("Announce Phone Messages.txt")
                                End Sub
                                Last edited by Wadenut; September 9th, 2010, 06:02 PM. Reason: Added values (post 40)
                                Real courage is not securing your Wi-Fi network.

                                Comment

                                Working...
                                X