Opener: set ring suppression automatically on a given schedule

Hello! I’m quite unfamiliar with the integration, and I was trying to figure out a way to make the opener suppress the door bell during a set schedule (for instance, late at night)

From the nuki app I can set it manually (1st option from attached file) but can’t seem to do this automatically due instance every night 1 am - 8 am

1 Like

There is no possibility to do it within the Nuki app. Might be worth a feature request. I solved the same problem with my Home Assistant, which runs automations to enable/disable the bell suppression at given times.

Hello Ben, can you please share your HA automation for enabling/disabling the door bell suppression?

Sure, so what I am doing is following: I created 2 rest_command which call the Nuki-Web-API (as the opener settings can not be set via Bridge API). One to enable the bell supression and one that disables it (or rather enables it only for RtO).

Disable Suppression (only enabled for RtO)

  klingel_an:
    url: https://api.nuki.io/smartlock/OPENER-ID/advanced/openerconfig
    method: POST
    headers:
      authorization: "Bearer TOKEN"
      accept: "application/json"
    content_type: "application/json"
    payload: '{"intercomId": 0,"busModeSwitch": 0,"shortCircuitDuration": 0,"electricStrikeDelay": 0,"randomElectricStrikeDelay": false,"electricStrikeDuration": 3000,"disableRtoAfterRing": true,"rtoTimeout": 20,"doorbellSuppression": 2,"doorbellSuppressionDuration": 500,"soundRing": 2,"soundOpen": 0,"soundRto": 0,"soundCm": 0,"soundConfirmation": 1,"soundLevel": 128,"singleButtonPressAction": 7,"doubleButtonPressAction": 7,"batteryType": 0,"automaticBatteryTypeDetection": true,"autoUpdateEnabled": false}'
    verify_ssl: true

Enable suppression:

  klingel_aus:
    url: https://api.nuki.io/smartlock/OPENER-ID/advanced/openerconfig
    method: POST
    headers:
      authorization: "Bearer TOKEN"
      accept: "application/json"
    content_type: "application/json"
    payload: '{"intercomId": 0,"busModeSwitch": 0,"shortCircuitDuration": 0,"electricStrikeDelay": 0,"randomElectricStrikeDelay": false,"electricStrikeDuration": 3000,"disableRtoAfterRing": true,"rtoTimeout": 20,"doorbellSuppression": 4,"doorbellSuppressionDuration": 500,"soundRing": 0,"soundOpen": 0,"soundRto": 0,"soundCm": 0,"soundConfirmation": 1,"soundLevel": 128,"singleButtonPressAction": 7,"doubleButtonPressAction": 7,"batteryType": 0,"automaticBatteryTypeDetection": true,"autoUpdateEnabled": false}'
    verify_ssl: true

You always have to send the whole payload in order to change something. You have to look for the integer sent as doorbellSuppression. 4 = suppress everything, 2 = only suppress RtO.

Now you just use those 2 rest_commands in an Automation of your choice. In my case that doorbell gets suppressed at 12 in the night and then changes back to ringing at 8 in the morning.

Thanks, I’ve adjusted the payload to my needs and it works like a charm. :slight_smile:

@bvelte what is the correct openerid?
I know that the webid for the opener differs from the one for the bridge. But it does not seem to work.

@Se7enair yeah, it differs per API.

You can get all your lock-information including IDs by just calling the web API on the /smartlock endpoint:

GET: https://api.nuki.io/smartlock
HEADERS: 
     authorization: "Bearer xxxxxxxxx"

First row will be smartLockId :slight_smile:

Ok it works. I can see the change in the web interface. But constantly get a error “save configuration failed” :frowning:

Where exactly do you get the error? When you change the settings via Web API you should only either get an OK or an error back from the API.

I opened web.nuki.io in parallel on another device. Then I go to administration for the opener. If I now call the webapi I can see on the other device that the state of the switches is changing, so the message seems to recieving the server. But then instantly getting the error. I think there is a syncronisation problem between web and opener?

Try the Nuki app on your phone in parallel and check the status by opening the admin settings after you did the API call. There check what “checkbox” is checked for the bell suppression and if it changed :slight_smile:
I never used the web interface to check anything, but it might also be slightly delayed or have a problem with the update. Going directly onto the device is probably the safest way to check and works for me.

Nothing changed :frowning:

NukiWeb as user for the opener was disabled…

Oh yeah that explains it :smiley:
Hope it works now!