Jump to content

Schlage BE469


hart2hart

Recommended Posts

  • 1 year later...

Hi Waketech,

 

This will be somewhat lengthy however I hope it will be beneficial to others. I basically use two integer variables, $iSchlageLockedBy and $iSchlageUnlockedBy to track everything. The variables are change whenever an action is reported by the lock.

 

Here is one of my user programs that sets the variables, turns on a Scene (button on a few KeypadLincs) and sends a Notification via Prowl.

If
        Status  '.Z-Wave / ZW 006 Schlage Door Lock' is Access Code 1
    And Control '.Z-Wave / ZW 006 Schlage Door Lock' is switched Unlocked by Keypad
 
Then
        $iSchlageLockedBy  = 0
        $iSchlageUnLockedBy  = 1
        Set Scene 'Scenes / SchlageButton-A' On
        Resource 'SchlageMary'
 
Else
   - No Actions - (To add one, press 'Action')
 

'SchlageButtonA' program that controls the lock from a KeypadLinc button.

If
        Control 'Living Room Wall / A-Schlage Lock' is switched On
    And Control 'Living Room Wall / A-Schlage Lock' is not switched Off
     Or (
             Control 'Mike Bedside KPL / A-Schlage Lock' is switched On
         And Control 'Mike Bedside KPL / A-Schlage Lock' is not switched Off
        )
 
Then
        Set '.Z-Wave / ZW 006 Schlage Door Lock' Unlock
        $iSchlageLockedBy  = 0
        $iSchlageUnLockedBy  = 55
        Resource 'SchlageKPLUnLock'
 
Else
        Set '.Z-Wave / ZW 006 Schlage Door Lock' Lock
        $iSchlageLockedBy  = 3
        Set Scene 'Scenes / SchlageUnlock' Off
        Stop program 'SchlageTimeout'
        Resource 'SchlageKPLLock'
 


'SchlageTimeout' (Disabled) program that locks the front door with exceptions noted.

If
        Status  '.Z-Wave / ZW 006 Schlage Door Lock' is Unlocked
 
Then
        Wait  10 minutes 
        Set '.Z-Wave / ZW 006 Schlage Door Lock' Lock
        $iSchlageLockedBy  = 555
        Set Scene 'Scenes / SchlageButton-A' Off
        Resource 'SchlageTimeout'
 
Else
   - No Actions - (To add one, press 'Action')
 
NOTES:
*Must Remain DISABLED otherwise 10 minute time period starts as soon as door is unlocked.*
Called by SchlageTimeoutEnable If LRWallKPL-B is Off.
Stopped by FrontDoor program and resets upon every door closure.
Stopped by SchlageLockedInside and SchlageLockedOutside programs.

'SchlageTimeoutEnable' program. I use a State variable called $sSchalgeTimeoutEnabled. (Another program is triggered when the state of this variable changes and Notifies me via Prowl.)

If
        Status  'Living Room Wall / B-Disable Lock' is Off
 
Then
        $sSchlageTimeoutEnabled  = 1
        Wait  5 seconds
        Run Program 'SchlageTimeout' (If)
 
Else
        $sSchlageTimeoutEnabled  = 0
        Stop program 'SchlageTimeout'
 
NOTES:
Called by FrontDoor program.
LRWallKPL-B Status:
On: Prevents FrontDoor from locking after 10 minutes.
Off: Calls SchlageTimeout(If) program, that will lock the FrontDoor unless reopened within 10 minutes.

'FrontDoor' program.

If
        Status  'z-Door Sensors / Front Door' is 100%
 
Then
        Resource 'FrontDrSensorOpen'
        Stop program 'SchlageTimeout'
 
Else
        Resource 'FrontDrSensorClosed'
        Run Program 'SchlageTimeoutEnable' (If)
 
NOTES:
Stops SchlageTimeout when evaluated True and Runs SchlageTimeoutEnable when evaluated False.
Front Door will automatically re-lock after closure when parameters if LRWallKPL-B is Off.
LRWallKPL-B disables SchlageTimeout if On in SchlageTimeoutEnable program.

'SchlageLockedInside' program.

If
        Control '.Z-Wave / ZW 006 Schlage Door Lock' is switched Key/Manually Locked
 
Then
        $iSchlageLockedBy  = 1
        Set Scene 'Scenes / SchlageButton-A' Off
        Wait  1 second
        Set Scene 'Scenes / SchlageUnlock' Off
        Stop program 'SchlageTimeout'
        Resource 'SchlageLockedInside'
 
Else
   - No Actions - (To add one, press 'Action')
 

'SchlageLockedOutside' program.

If
        Control '.Z-Wave / ZW 006 Schlage Door Lock' is switched Locked by Keypad
 
Then
        $iSchlageLockedBy  = 2
        Set Scene 'Scenes / SchlageButton-A' Off
        Wait  1 second
        Set Scene 'Scenes / SchlageUnlock' Off
        Stop program 'SchlageTimeout'
        Resource 'SchlageLockedOutside'
 
Else
   - No Actions - (To add one, press 'Action')
 

'SchlageManualUnlocked' program.

If
        Control '.Z-Wave / ZW 006 Schlage Door Lock' is switched Key/Manually Unlocked
 
Then
        $iSchlageUnLockedBy  = 0
        $iSchlageLockedBy  = 0
        Set Scene 'Scenes / SchlageButton-A' On
        Resource 'SchlageManualUnLocked'
 
Else
   - No Actions - (To add one, press 'Action')
 

'SchlageTamper' program.

If
        Control '.Z-Wave / ZW 006 Schlage Door Lock' is switched Tamper Code Entry Limit
 
Then
        $iSchlageLockedBy  = 999
        $iSchlageUnLockedBy  = 999
        Resource 'SchlageTamper'
        Send Notification to 'Michael' content 'SchlageTamper'
 
Else
   - No Actions - (To add one, press 'Action')
 

Here are my variable definitions.

iSchlageUnLockedBy
---------------------
999 = Tamper Alarm
 55 = Insteon Keypad
  0 = Manually UNLOCKED
  1 = Mary
  2 = Michael
  3 = Janet
  4 = Tina
  5 = Joe
  6 = Alice

iSchlageLockedBy
------------------------------------
999 = Tamper Alarm
  0 = Reset when UNLOCKed by Keypad or Manually UNLOCKED
  1 = Manually LOCKED from inside
  2 = LOCKED by Outside Schlage button
  3 = LOCKED by Insteon Keypad
  4 = LOCKED by KPLAllOffButton Program 
555 = LOCKED by SchlageTimeout Program

I also have two other programs to send a notification if the lock is Not Responding or Jammed.

 

~Mike

 

Mike D, would you mind sharing your Scene in how you get the KPL to report the status of the locks?  I am having trouble getting them to report status correctly.

 

Thanks

Link to comment

AnthemAVM,

 

Create a scene that has the lock and button as responders. Write a program to control the scene. Here's the scene I use:

 

DR Deadbolt
If
        Control 'DR / Devices / DR Side Door Light / DR Side Door G Front Off' is switched Off
      Or Control 'DR / Devices / DR ZW Deadbolt' is switched Key/Manually Locked
 
Then
        Set 'DR / Devices / DR ZW Deadbolt' Lock
        Set Scene 'DR / Scenes / DR Deadbolt' Off
 
Else
        Set 'DR / Devices / DR ZW Deadbolt' Unlock
        Set Scene 'DR / Scenes / DR Deadbolt' On

Link to comment

AnthemAVM,

 

Create a scene that has the lock and button as responders. Write a program to control the scene. Here's the scene I use:

 

DR Deadbolt

If

        Control 'DR / Devices / DR Side Door Light / DR Side Door G Front Off' is switched Off

      Or Control 'DR / Devices / DR ZW Deadbolt' is switched Key/Manually Locked

 

Then

        Set 'DR / Devices / DR ZW Deadbolt' Lock

        Set Scene 'DR / Scenes / DR Deadbolt' Off

 

Else

        Set 'DR / Devices / DR ZW Deadbolt' Unlock

        Set Scene 'DR / Scenes / DR Deadbolt' On

Stusviews,

 

I have the KPL-B buttons and the Schlage lock in a scene, both are responders.

 

This is my program

 

 

Front Door Status KPL

If

        Control 'KPL Buttons / Becca KPL.B' is switched Off

     Or Control 'KPL Buttons / Michael KPL.B' is switched Off

     Or Control 'Front Door' is switched Key/Manually Locked

 

Then

        Set 'Front Door' Lock

        Set Scene 'Front Door Deadbolt' Off

 

Else

        Set 'Front Door' Unlock

        Set Scene 'Front Door Deadbolt' On

 

The KPL buttons are in toggle mode, is that correct?  When I hit the B button on the KPL button that lock unlocks, and only the button you pushed lights up, other KPL B do not light up.  I also can't relock the door.

 

Any suggestions on what I am doing wrong?

 

Thanks

 

Link to comment

Stusviews,

 

I have the KPL-B buttons and the Schlage lock in a scene, both are responders.

 

This is my program

 

 

Front Door Status KPL

If

        Control 'KPL Buttons / Becca KPL.B' is switched Off

     Or Control 'KPL Buttons / Michael KPL.B' is switched Off

     Or Control 'Front Door' is switched Key/Manually Locked

 

Then

        Set 'Front Door' Lock

        Set Scene 'Front Door Deadbolt' Off

 

Else

        Set 'Front Door' Unlock

        Set Scene 'Front Door Deadbolt' On

 

The KPL buttons are in toggle mode, is that correct?  When I hit the B button on the KPL button that lock unlocks, and only the button you pushed lights up, other KPL B do not light up.  I also can't relock the door.

 

Any suggestions on what I am doing wrong?

 

Thanks

 

I do not see a way for your (or stusviews) program to execute the ELSE path.  The program is triggered only by the OFF/LOCKED commands and, once triggered, will always evaluate TRUE.  Perhaps I miss something here.

 

I would expect you may need a couple of extra conditions in your program:

 

If

        Control 'KPL Buttons / Becca KPL.B' is switched Off

     Or Control 'KPL Buttons / Michael KPL.B' is switched Off

     Or Control 'Front Door' is switched Key/Manually Locked

​     or Control 'KPL Buttons / Becca KPL.B' is not switched On

     Or Control 'KPL Buttons / Michael KPL.B' is not switched On

     Or Control 'Front Door' is not switched Key/Manually Unlocked

 

Then

        Set 'Front Door' Lock

        Set Scene 'Front Door Deadbolt' Off

 

Else

        Set 'Front Door' Unlock

        Set Scene 'Front Door Deadbolt' On

Link to comment

That logic always give me some problems also.

If
    (
      Control 'KPL Buttons / Becca KPL.B' is switched Off
      Or Control 'KPL Buttons / Michael KPL.B' is switched Off
      Or Control 'Front Door' is switched Key/Manually Locked
    ) 
​     AND Control 'KPL Buttons / Becca KPL.B' is not switched On
     AND Control 'KPL Buttons / Michael KPL.B' is not switched On
     AND Control 'Front Door' is not switched Key/Manually Unlocked
  
 Then
         Set 'Front Door' Lock
         Set Scene 'Front Door Deadbolt' Off
  
 Else
         Set 'Front Door' Unlock
         Set Scene 'Front Door Deadbolt' On

The top three conditions are always false unless one trigger is being processed.

When any one triggers the whole logic becomes true.

 

The bottom three line are always true unless a trigger is being processed.

When any one triggers the whole logic becomes false.

 

 

Reverse the condition and you have to reverse the logic to keep them equal (deMorgans theorem).

 

Not(A or B or C) = Not(A) and Not(B ) and Not©

 

It won't be nice if it rains, or snows, or sleets.

= It won't be nice if it rains, and it won't be nice if it snows, and it won't be nice if it sleets.

Link to comment

I have the KPL-B buttons and the Schlage lock in a scene, both are responders.

- My Schlage lock is not in the Scene. The lock is always controlled by one of my programs. Only the KPL buttons are in this Scene and they are both Controllers.

 

The KPL buttons are in toggle mode, is that correct? 

 

- Yes, my KPL buttons are in toggle mode.

 

Hope this helps!

~Mike

Link to comment

But that program would unlock it as soon as it's locked.

Not in the way I wrote my programs. If unlocked my 'SchlageTimeout' program will automatically lock it unless it is stopped by another KPL button that runs my 'SchlageTimeoutEnable' program or the door is left open.

~Mike

Link to comment
  • 2 weeks later...
  • 4 months later...

AnthemAVM,

 

Create a scene that has the lock and button as responders. Write a program to control the scene. Here's the scene I use:

 

DR Deadbolt

If

        Control 'DR / Devices / DR Side Door Light / DR Side Door G Front Off' is switched Off

      Or Control 'DR / Devices / DR ZW Deadbolt' is switched Key/Manually Locked

 

Then

        Set 'DR / Devices / DR ZW Deadbolt' Lock

        Set Scene 'DR / Scenes / DR Deadbolt' Off

 

Else

        Set 'DR / Devices / DR ZW Deadbolt' Unlock

        Set Scene 'DR / Scenes / DR Deadbolt' On

Sorry to bring this topic back, but I am trying to do something similar below is my program, I have both the lock(be469) and KPL H(toggle only) in a scene called "Lock" as responders only. The program works but the KPL button does not light up when the door is unlocked?

 

BackDoor - [iD 003E][Parent 000A]
 
If
        Control 'MasterBedroom KeypadA / MasterBedroom KeypadH' is switched Off
     Or Control 'ZW 004 Schlage Door Lock' is switched Key/Manually Locked
 
Then
        Set 'ZW 004 Schlage Door Lock' Lock
        Set Scene 'Lock' Off
 
Else
        Set 'ZW 004 Schlage Door Lock' Unlock
        Set Scene 'Lock' On
Link to comment

Curios if someone has found a good online source for buying the BE469 units?  Home depot was $199 in the store the other day and I thought they were pretty high.

 

Wanting to get a couple for in the yard type doors so they can be locked all the time but not require a kit to get in :)

Link to comment

Wanting to get a couple for in the yard type doors so they can be locked all the time but not require a kit to get in :)

 

Note that the BE469 locks can be unlocked from the inside side. If someone can reach over the gate, then the locks are useless. I use GTO (Gates That Open) locks for all our gate locks. They remain locked (unless left unlocked using a key) and can be controlled using an I/O Linc.

Link to comment

Curios if someone has found a good online source for buying the BE469 units?  Home depot was $199 in the store the other day and I thought they were pretty high.

 

Wanting to get a couple for in the yard type doors so they can be locked all the time but not require a kit to get in :)

Amazon had a sale a few weeks back for $175 for the black one (which I wanted) but I have also gotten one of Ebay new for $150. 

 

 

To expand upon stusview response...

 

Your program will never run the ELSE path as written. Upon what condition do you wish to run thw ELSE path?

 OK that helps me understand why its not running, but I thought if the "IF" statement is not true then it runs the "Else" statement. So what I was trying to accomplish is,

 

If the KPL is switched off--->then Lock the door, or if the lock is manually locked then turn off the the Scene(KPL button).

If neither the above is happening then turn the scene ON (KPL button)

Should i change the KPL to a controller in the scene and try use:

If

        Control 'MasterBedroom KeypadA / MasterBedroom KeypadH' is not switched On

     Or Control 'ZW 004 Schlage Door Lock' is switched Key/Manually Locked

 

That way I can change the LED in that KPL to red, so when at night I glance over I can see red and know the door is unlocked, but if everything is off I am secure.

 

Thanks

Link to comment

Ajax. You are correct that a if statement is false it will run the ELSE path. What may be less obvious is that for a statement to be evaluated as false, it must be triggered at such times. One MUST be aware of when programs trigger an evaluation. In your case, it would trigger only at specific events: keypadH switced off and doorlock is locked. In both cases your condition evaluates TRUE. Your program has no triggers that can cause a false evaluation.

 

Yes, try the kpl in a scene as controller with lock as responder. See if this causes the door to lock/unlock without further neednfor a program.

 

On further review, also perform some tests to be sure the ISY reacts to the 'control...door lock" command. When I use zwave devices as program conditions, they respond to STATUS conditions only.

 

As far as your program conditions, I pose a question for you to consider: how would your program behave differently if you used STATUS rather than CONTROL as conditions?

Link to comment

Ajax. You are correct that a if statement is false it will run the ELSE path. What may be less obvious is that for a statement to be evaluated as false, it must be triggered at such times. One MUST be aware of when programs trigger an evaluation. In your case, it would trigger only at specific events: keypadH switced off and doorlock is locked. In both cases your condition evaluates TRUE. Your program has no triggers that can cause a false evaluation.

 

Yes, try the kpl in a scene as controller with lock as responder. See if this causes the door to lock/unlock without further neednfor a program.

 

On further review, also perform some tests to be sure the ISY reacts to the 'control...door lock" command. When I use zwave devices as program conditions, they respond to STATUS conditions only.

 

As far as your program conditions, I pose a question for you to consider: how would your program behave differently if you used STATUS rather than CONTROL as conditions?

 

OK this is getting me thinking thanks for the help, appreciate the directions and actually think I have it working! Although I can only test it from work but will have to try pushing the KPL button at home and see what happends, but yes short and sweet

 

Backdoor - [iD 0041][Parent 000A]
 
If
        Status  'ZW 004 Schlage Door Lock' is Locked
 
Then
        Set Scene 'Lock' Off
 
Else
        Set Scene 'Lock' On
Link to comment

Yes, and you think that would work, but I dont get a response from the lock when I push the KPL(controller) Did a test and results are below:

 

Fri 03/17/2017 04:42:08 PM : [GRP-RX      ] 02 61 29 13 00 06 
Fri 03/17/2017 04:42:09 PM : [CLEAN-UP-RPT] 02 58 06 
Fri 03/17/2017 04:42:09 PM : [iNST-SRX    ] 02 50 3D.C3.C9 3B.96.22 E1 13 FC    LTOFFRR(FC)
<html><font color="red">----- Lock Test Results -----</font></html>
<html><font color="red">[Failed]</font> MasterBedroom KeypadH (3D C3 C9 8)</html>
<html><font color="red">[Failed]</font> ZW 004 Schlage Door Lock (ZW004_1)</html>
<html><font color="red">----- Lock Test Results -----</font></html>
Fri 03/17/2017 04:42:18 PM : [ZWAVE-TX ZW004_1] ...
Fri 03/17/2017 04:42:18 PM : [ZWAVE-RX        ] ACK
Fri 03/17/2017 04:42:18 PM : [ZWAVE-RX        ] [0104011301E8]
Fri 03/17/2017 04:42:18 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:19 PM : [ZWAVE-RX        ] [01050013EC0005]
Fri 03/17/2017 04:42:19 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:19 PM : [ZWAVE-RX ZW004_1] ...
Fri 03/17/2017 04:42:19 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:19 PM : [ZWAVE-TX ZW004_1] ...
Fri 03/17/2017 04:42:19 PM : [ZWAVE-RX        ] ACK
Fri 03/17/2017 04:42:19 PM : [ZWAVE-RX        ] [0104011301E8]
Fri 03/17/2017 04:42:19 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:19 PM : [ZWAVE-RX        ] [01050013ED0004]
Fri 03/17/2017 04:42:19 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX ZW004_1] ...
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX        ] ...
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX        ] [0104011301E8]
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX        ] [01050013EE0007]
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX ZW004_1] ...
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX ZW004_1] ...
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX        ] ACK
Fri 03/17/2017 04:42:20 PM : [ZWAVE-RX        ] [0104011301E8]
Fri 03/17/2017 04:42:20 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:21 PM : [ZWAVE-RX        ] [01050013F00019]
Fri 03/17/2017 04:42:21 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:21 PM : [ZWAVE-RX ZW004_1] ...
Fri 03/17/2017 04:42:21 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:21 PM : [ZWAVE-TX ZW004_1] ...
Fri 03/17/2017 04:42:21 PM : [ZWAVE-RX        ] ACK
Fri 03/17/2017 04:42:21 PM : [ZWAVE-RX        ] [0104011301E8]
Fri 03/17/2017 04:42:21 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:21 PM : [ZWAVE-RX        ] [01050013F10018]
Fri 03/17/2017 04:42:21 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:22 PM : [ZWAVE-RX ZW004_1] ...
Fri 03/17/2017 04:42:22 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:22 PM : [ZWAVE-TX        ] ...
Fri 03/17/2017 04:42:22 PM : [ZWAVE-RX        ] ACK
Fri 03/17/2017 04:42:22 PM : [ZWAVE-RX        ] [0104011301E8]
Fri 03/17/2017 04:42:22 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:22 PM : [ZWAVE-RX        ] [01050013F2001B]
Fri 03/17/2017 04:42:22 PM : [ZWAVE-TX        ] ACK
Fri 03/17/2017 04:42:22 PM : [ZWAVE-RX ZW004_1] ...
Fri 03/17/2017 04:42:22 PM : [ZWAVE-TX        ] ACK
Link to comment

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...