[RELEASE] Lock Manager API - Control your locks and manage users remotely

Introducing the Lock Manager API!

Control your locks and users remotely using REST API’s. Integrate them with your custom PMS or other scheduling systems

Lock Manager API is built on our very stable and extremely popular Lock code/user management SmartApp, we bring you the ultimate tool to integrate and remotely control your SmartThings locks and users via a JSON REST API.

Click here for the interactive API guide and samples

It can generate ready to use code snippets in a variety of languages that you can use in your custom apps or scripts. You can even run tests directly with your installed SmartThings app through the site (select Production server)

Click here for where to buy Z-Wave locks

Key features:

  • Manual and API based configuration/control
    • API’s to manage users by names or slots
    • API’s to manage locks (lock, unlock, custom commands)
  • Works with Z-Wave and ZigBee Locks and Keypads
  • Sure-Programming engine: verifies that programming was successful
  • Unlimited locks and users (users are limited by max slots on lock)
  • Program multiple locks simultaneously (supports fixed and variable pin lengths)
  • Easy and intuitive setup
    • Colored icons show user state
      • green → active
      • grey → inactive
      • yellow → pending
      • red → error
  • Different types of users such as:
    • permanent
    • one time
    • expiration (start/end date/time)
    • scheduled (daily/weekly etc) with multiple schedules per user
    • presence based
    • mode based and many more
  • Support for different types of locks and keypads, (ZigBee, bluetooth, RFID, etc)
  • Define custom individual Unlock and Lock actions for users such as:
    • Exit delay actions (wait for X minutes before running actions)
    • Separate actions for Keypad and Manual locking/unlocking and per door actions
    • Create custom actions for security Keypad away/stay/night buttons
    • Turning on lights if it’s dark outside
    • Unlocking/locking secondary locks
    • Opening/closing garage doors
    • Notifications on type of lock/unlock (manual, code, keypad, bluetooth, rfid etc)
    • Running routines
    • Changing modes
    • Arming/Disarming STHM
    • Turning on/off switches
    • Custom notifications settings (who and how many)
      • Multiple/international SMS’s
      • Speak notifications (e.g. Alexa or Sonos or Bose or Ikea-Sonos SYMFONISK)
    • Define rules when to run and not run actions
  • Define Door Open/Close actions such as
    • Automatically relocking the door when it’s closed
    • Automatically unlocking the deadbolt if it’s extended, while door is open
    • Ringing chimes when door is opened
    • Notifications if door is left open
    • Define actions for each door separately
  • Lots of built in safety mechanisms to ensure users have a reliable experience
  • Compatibility with SmartLocks

and lots more…see website and documentation for complete list of features.


Optionally you can use the Enhanced Universal Z-Wave Lock or the Universal ZigBee Lock device handler for a more customized experience.
If you’re using a ZigBee keypad like the IRIS, Xfinity or Centralite you will need to use the Enhanced Keypad Lock device handler.

If you have any suggestions or feature requests please feel free to send them in to us.

Check out our other Property Management SmartApps such the Rental Lock Automater, Temperature and Humidity Management, Ultimate Mode based Thermostat, 5-2 Day Thermostat, Motion based Thermostats, Intruder Alert and Alarm Security and Safety/Backup apps. You can browse through the complete list of apps on our website or on the smartthings forum.

This SmartApp is available on the RBoy Apps Server, http://www.rboyapps.com as part of our premium Commercial Apps. Refer to our website or facebook page below to get access to the server.

Visit our Facebook page for updates on new apps and to get access to our Commercial Apps. RBOY APPS SmartThings - Make your Home your Butler

2 Likes

A big thank you for all our users and @Automated_House for their feedback :slight_smile:

1 Like

Lock Manager API - Version 01.01.00

  • Added ability to manage users (create, delete, get) using names (slots are now optional)

To create/update users using names, leave the user slot empty or don’t include it and the app will automatically find the existing user name or the next empty slot and create/update the user accordingly.

Similarly for deleting users or retrieving user information, leave the user slot empty and the app will match by the name.

See the Interactive API documentation and examples for more details.

Lock Manager API - Version 01.01.18

  • Sync up base engine with RLA/LUM
  • Fix UI issues with new ST app
  • Active users in green instead of blue
  • Detect and recover from data corruption
  • Enable exit beeping for keypads when direct control is enabled
  • Check for invalid SMS characters
  • Added support for new ST lock capabilities

See the Interactive API documentation and examples for more details.

I’m thinking to switch from Rental App Manager to the API, can I use both for the same locks? Will the API let me select different users accessing different locks? e.g. I have an airbnb with a lock on the front door and on each bedroom. Depending how much the renter pays they will always get access to the front door, but not necessarily to every bedroom. Will this work?

SmartThings apps are isolated from each other so if both apps are programming the same lock they will end up overwriting each other’s codes. This is also documented in the FAQ page.
You can use them together as long as they don’t program the same locks.

Lock Manager API - Version 01.02.00

  • Added support for spoken notifications with volume control for the new Sonos LAN audio player
  • Added an option to enable/disable repeat checking of open door notifications

NOTE : To use the exit beeping on keypad feature you require the Enhanced ZigBee Lock DTH version 01.06.02 or newer

See the Interactive API documentation and examples for more details.

Lock Manager API - Version 01.04.00

  • Added support to show the current user programmed status using the Get Users API
  • Improved API data validation and invalid format response codes
  • Updated the base Sure Programming Engine(C) to 07.10.00 to enhance user display status and improve failed code retry mechanism
  • Added support for header bearer authentication

Response note: The programmed state for each user and lock is shown in lockProgrammedState which can contain the following values:

  • Pending program - Awaiting code programming confirmation from lock
  • Pending deletion - Awaiting code deletion confirmation from lock
  • Active - Code programming is confirmed by lock
  • Inactive - Code deletion is confirmed by lock
  • Failed - Lock failed to respond even after configured number of retries

See the Interactive API documentation and examples for more details.

I wanted to point out in your docs you reference including the token in the url.

https://graph.api.smartthings.com/api/smartapps/installations/ID/api?access_token=ACCESS_TOKEN

This is not a good practice and the token should be sent via a header.

https://lockmanagerapi.docs.apiary.io/#reference/lock-&-smartapp-information

1 Like

Hey Jody. Thank you letting us know. We’ve updated the SmartApp to support the more secure header authentication and I’ve also updated the documentation to reflect the use of the bearer authentication through the header.

1 Like

This is a really great integration to use so far! Thanks RBoy.

2 Likes

Lock Manager API - Version 01.04.04

  • Workaround for missing icons in ST Classic Android app
  • Improved performance for changes in platform
  • Fix for Universal ZigBee Lock device handler, keypad lock report processing

Response note: The programmed state for each user and lock is shown in lockProgrammedState which can contain the following values:

  • Pending program - Awaiting code programming confirmation from lock
  • Pending deletion - Awaiting code deletion confirmation from lock
  • Active - Code programming is confirmed by lock
  • Inactive - Code deletion is confirmed by lock
  • Failed - Lock failed to respond even after configured number of retries

See the Interactive API documentation and examples for more details.

I am probably getting in over my head, but love the idea of using the Lock Manager API for automating locks based on Square Appointments calendar information, which I use for my business to have clients book online. I don’t know anything about coding, but am willing to learn, or farm it out to someone who does know. Any suggestions on where to start with this?

Lock Manager API - Version 01.05.00

  • Now you can create an action to toggle a switch when locking or unlocking via a keypad

This is helpful if you’re using LUM with a Keypad and a switch like a garage door opener or light where you need to have the same user code (unlock or lock) toggle it’s state.

Please ensure that your lock is within 20ft of a buffering device for the best experience (the buffering device should be between the hub and the lock for maximum effectiveness).

Optionally you can use the Enhanced Universal Z-Wave Lock or the Universal ZigBee Lock device handler for a more customized lock experience.

Response note: The programmed state for each user and lock is shown in lockProgrammedState which can contain the following values:

  • Pending program - Awaiting code programming confirmation from lock
  • Pending deletion - Awaiting code deletion confirmation from lock
  • Active - Code programming is confirmed by lock
  • Inactive - Code deletion is confirmed by lock
  • Failed - Lock failed to respond even after configured number of retries

See the Interactive API documentation and examples for more details.

© RBoy Apps

Do the codes created with LM override codes programmed manually into the lock through the standard manufacturer process? I’m seeing old codes I manually entered into the lock are still active even after integrating the lock into LM and setting codes for most of the available slots. Went back and manually deleted each of the codes in the UI, but suspect that’s not impacting existing manual codes resident on the lock?

All codes are programmed using the standard specifications, SmartThings in turn uses Z-Wave/ZigBee device handlers to communicate with locks (or any other integrated device handlers in future like WiFi).
Manually adding codes into the lock is not a good idea. While the app is designed to detect manual adding and override them, not locks report manually programmed codes, hence if it isn’t reported then the app can’t detect it. It’s best to only program codes through the app (only one app at a time should program codes to avoid conflicts).

Will RBoy smart apps be compatible with the new direction Samsung is taking with their platform migration? The mention of retiring smart apps is concerning:

Yes, our apps now work with the new ST app and we’re working with SmartThings to keep the apps and device handlers updated as their product roadmap evolves.

1 Like

Lock Manager API - Version 01.08.01

  • list locks” deprecated and superseded with “lock status
  • lock status” returns a JSON with the state (string) and battery (integer) for each lock
  • Show the year for expiration users on summary page in mobile app
  • Updated and optimize UI for new ST mobile app

Please ensure that your lock is within 20ft of a buffering/beaming repeaterfor the best experience (the buffering device should be between the hub and the lock for maximum effectiveness).

Recommended you can use the Enhanced Universal Z-Wave Lock or the Universal ZigBee Lock device handler for a more robust lock experience.

Response note: The programmed state for each user and lock is shown in lockProgrammedState which can contain the following values:

  • Pending program - Awaiting code programming confirmation from lock
  • Pending deletion - Awaiting code deletion confirmation from lock
  • Active - Code programming is confirmed by lock
  • Inactive - Code deletion is confirmed by lock
  • Failed - Lock failed to respond even after configured number of retries

See the Interactive API documentation and examples for more details.

© RBoy Apps

1 Like

Hi. Thank you Rboy for amazing software as always

I’m user of Rental Lock Automater, and I need RLA to keep creating and deleting codes automatically, but I need API access to get data (not post, only to get) from the users and locks RLA programmed.
You have mentioned in the FAQ that each smart app is isolated from each other, but is there anyway I can have API access to RLA for getting information?