Nuki integration in the smart home system KNX

We are manufacturer for a visualization app for the KNX system. We have now created an interface for other systems.
Now, we have developed a NUKI plug-in for our app knXpresso based on the nuki bridge api. This plug-in allows to control the smart lock via KNX and to write the status of the smart lock on the KNX bus.

Now we have detected several problems:

  1. If the user set one turn (360 degrees) in the Nuki App, it is still possible over the bridge to send the command id 2 (lock) two times. After that, the lock turns two times (720 degrees). In our opinion this should be stopped internally in the lock

  2. What happens if the bluetooth reconnects? Does the bridge expect a response (lock state) after sending a command? Will the command be repeated?

  3. When our app knXpresso starts, we set the command remove callback three times. We have to make sure that the callback id 0 is not used. Unfortunately, we have to do this three times because you can not specifically delete a callback (id). If you have ever set a different callback, this works fine.
    This doesn’t work if you have just installed the nuki bridge app new from the playstore. Incidentally, knXpresso and nuki bridge are run on the same android device.

  4. The response times of the actions are sometimes very different. The distance between the android device Samsung Galaxy Tab A and the smart lock is about 1 meter. The energy options on the android device are disabled.

First of all: Always nice to see new implementations for the Nuki Smart Lock! :heart: :smiley:

Quick feedback on some points:

When I call /callback/remove with id=0
it removes callback with id=0 and leaves the other callbacks with their existing IDs.

Could you reproduce the behaviour with other devices?
Do you have other devices connected to the Smart Lock at the same time? The Smart Lock can only handle one BLE connection at once. There can also be other reasons for delays, but we would need log-files of the devices used to give specific answers.

I am not 100% sure I understand what you mean here. The Bridge will send a lock command to the Smart Lock. And if the state changes it will get a lock state back (as not every lock command will change the lock state).

Thanks for your quick reply

Thanks. This is not in the documentation, right?

There is no other device connected. Where should I send the log files?

The first question, however, was the most important. :slight_smile:

Regards, Tobias

It is:

It may also be a problem to have your application and the Nuki android bridge running on the same device. Anyway you can send the logs of the android bridge to

And the most complex one (regarding implications on the product), which is why I wanted to get back to our team on that before giving an answer. :wink:

In fact this is a wanted feature as else you would never be able to double-lock your Smart Lock (for night, vacation etc.) if you have the 360° setting activated.

Then that would have to be possible in the Nuki app to execute the command lock twice. This is only possible if the settings are changed from 360° to 720°.
Under settings, I can find the properties for my door (door fitting, unlatch, locking rotation …). During commisioning/calibration I am required to set the door specified settings!

And now I get from you the answer, when I’m on vacation or night, must change these settings for more secure or to be able to lock twice? Did I miss something? :wink:
Since it is a bluetooth connection without any response as to whether the lock command was executed, consider this function as very critical!

In our test case I can not lock the door twice (720°). Not mechanically possible. I see here a great potential very often to get the fault “motor is blocked”.

Now I’m looking forward to your answer.

Tbh I am not 100% sure what you mean.

If I set to 360° locking I can send a lock command from the App to lock 360° and then another one to lock to the full 720°, yes.
If I unlock again the Smart Lock knows it has reached the “lock endpoint” (from calibration) and unlocks 720°.
For the same reason a further lock command is ignored if this “lock endpoint” has already been reached and so no “motor blocked” happens.

Or did you mean something else?

when I go in the door specific parameter (manage smart lock), I assume that the maximum locking rotation is 360 degrees.

Your advertising text is not quite clear here:
Nuki erkennt bei der Einrichtung, wie weit der Schlüssel gedreht werden muss. Es ist demnach egal, ob du 360°, 720° oder mehr Umdrehungen benötigst.

In addition, I find no more information in the documention, that Nuki Smart Lock don’t provide locks or doors with only one rotation function to lock.

Sorry, if that was unclear: The maximum locking rotation is taken from the calibration and can also be 360° (as advertised).

My example should just show the way the Nuki App handles the settings you suggested above.

Yes, during calibration, it is also recognized that only 360° can be rotated to the mechanical end point.

If I send the “lock” command, it is possible to send this command two times. In my opinion this is critical, because a mechanical end point was detected during the calibration!!!

Therefore, the nuki smart locks can not be used for doors with mechanical stop after 360° (e.g. office doors), because 720° are allowed by nuki software.

You can never lock further than the endpoint that has been determined during the calibration. E.g. if you mount a Nuki on a deadbolt which turns just 90 degrees, it will never lock further than 90 degrees (independent whether you tick the “lock only 360 degrees” option or not).

1 Like

Thanks for the support. We have now succesfully integrated your NUKI Smart Lock to KNX. Our visualization app knXpresso is here the gateway. You can find a documentation and plug-in under the following links:

We are looking forward to the feedback from the customers.

Regards, Tobias

1 Like

Nice to see a new Nuki integration available! Thanks for your work! :smile: