Set Opener Config over API?

Hello everyone,

I have been using Nuki lock opener and bridge for about a month now.
I am quite satisfied and was able to get the opener working in my analog doorbell system.
Only the bell suppression did not work.

I have found a solution for this. I use the opener as a bell in which I have the sounds on in normal mode and disabled in ring to open. Now I’m looking for a way to set these settings via API to mute my ring on demand. Can anyone help me here? I have seen that you can configure the lock via the Bluetooth-API, but I couldn’t find anything about the Opener.

Thanks for your support best regards
Domenico

Yes, the config can be set via API.

For the Opener we have a new dedicated BLE API document.
Here it can be done with the Advanced Config command, see https://developer.nuki.io/page/nuki-opener-api-110/7#heading--set-advance-config

With the Web API this is a
POST /smartlock/{smartlockId}/advanced/openerconfig

On the Swagger instance change the view from “Example Value” to “Model” to get a description for all settable options.

It is recommended to retrieve the current state of the advanced opener settings via
GET /smartlock
first and then send the whole object with the changed values via POST.

Hello Stephan thank you for your quick reply. Really cool that this function exists!
Unfortunately I get the following error: The admin pin for this smartlock is not set.
My opener has configured a pin but I don’t see any possibility to pass a pin to the opener.
Maybe you can help me out here

UPDATE:

Just working now had to reactivate web API on the opener.

many thanks in advance and best regards
Domenico

The quickest way to do this is open up the device detail page in Nuki Web. You should see the same error message there and can enter the admin PIN you set for your device in the Nuki App.

EDIT: Saw your update to late. :wink: Good to know it is working now. :+1:

1 Like

Hi Stephan,

could it be that the web API got a cache ? Like u suggested I call GET 1 /smartlock 1 first to get the state.
and then send the whole object with the changed values via POST. After that I use GET 1 /smartlock again to verify if my changes work. Sometimes I get old values like I didn’t change a thing. Also I noticed that some times I have operationId: ‘5fe21ae3396b5708c930a308’ in my respons but i couldn’t find it in the docs.

Furthermore, I can’t use the swagger interface with my token. I just tells me that my token is not valid but
I can use the same with curl. Maybe the header is not send?

Maybe you can help me here again :smiley:

Hi Domenica!

First sorry for the late reply due to the holidays.
Yes, the Web API is cached and updated as soon as the device reports changes gone through. So there can be a delay. We suggest to use the advanced API endpoints with webhooks (see https://developer.nuki.io/page/nuki-web-api-1-3-0/3#heading--advanced-api-integration and https://developer.nuki.io/page/nuki-web-api-webhooks-10/8) .

An operationID is shown in the response if another operation is currently running on the device (and so the status will be cached for sure). This is documented in the Swagger interface if you e.g. at https://api.nuki.io/#!/Smartlock/get switch to the Model view.

image

Regarding token usage in swagger: I will take a look into any issues I mayx not be aware of. Meanwhile you can also use the OAuth flow with the swagger interface to test through connecting with a Nuki Web account.