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

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?

That’s correct, SmartApps are isolated in SmartThings and due to lock firmware limitations codes cannot be read back from locks.
I understand where you’re coming from but RLA isn’t designed to support API access. You can use this app instead if you need API access to managing users on locks. It’s designed to be an easy way to manage users via a REST API and the app will manage the lock communications and mesh errors, your own app can then decide which users to program with expiration dates/times etc. Note that you cannot use RLA and LMAPI at the same time on the same lock due to the SmartApp isolation restrictions otherwise they will conflict with each other.

Maybe in future there could a new hybrid app or a plug-in for this app which will bridge the two features.

Lock Manager API - Version 01.10.02

  • (new) Added usage history page
  • (enhancement) Check for invalid DTH
  • (fix) Check if the door selection was accidentally left out for notifications and relocks
  • (enhancement) Support for new platform garage door capabilities
  • (fix) Various minor fixes, enhancements and UI improvements
  • (new) “lock status” adds connection member to the response JSON which reports the lock connectivity state

The connectivity status for each lock can contain the following values:

  • online - The platform is able to communicate with the lock
  • offline - The hub cannot communicate with the lock (mesh problems, lock batteries etc)
  • hub disconnected - The platform cannot communicate with the hub (power failure, internet connectivity etc)

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.

The programmed state for each user in every 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

Hello,

We’re using the Lock Manager API to integrate our PMS with zwave locks at a small hotel property. We have a combination of Yale locks (up to 200 user codes possible per lock) and Locstar locks (up to 30 user codes possible per lock). Everything worked well in testing, but as we approached opening date we noticed that the maximum user slots allowed in the LM app are 30. That means we can only have 30 unique users for the entire property.

So, If my property has 50 rooms, does that mean I can not use the LM API to manage my locks (since that means we will potentially need at least 50 user slots for 50 individual guests)?

We tested by setting 30 users and distributed them among the rooms. No single lock has more than two or three users already in it. Each room lock has a guest code, a housekeeping code and a management code. Once we reached the 30 user limit, we sent one more user code through the API and received an error indicating we’ve reached the max user number.

Is there a work around the user limit in the API? Why are we limited to 30 users in total for all locks on the property?

This app is essentially dead. Samsung has transitioned away from Groovy Smartapps as of mid October and this app will no longer function in two weeks (12-31-2022). Unfortunately the developer has not communicated their transition plan to the new system, but they do claim to be working on it.

If this is how you operate your business, you’ll need to find a new solution ASAP.

Thank you. Yes we’re noticing the app is no longer communicating with the locks or setting pins properly anymore. We’re moving to Vera’s ezlo hub for now.

I’m also willing to pay for a developer to create our own app/api using the new smartthings platform/Lua. It’s just hard to figure out who knows how to communicate with zwave locks.