Nuki Card with Callback support (supports both Lock & Opener, it replaces the official integration)

Hi Alex,

I have the VTO2202F-P bought via Ali… I have installed it in the wall, not on the wall, that is with the flush box. I paid aroud 137 euros for the package. The P in the type number stands for POE, so I also bought a switch for it.

I also created an automation to take a snapshot every time someone rings the door.

The camera is also attached to my Synology, which will save a movie when a movement is detected.

137 for everything, switch and monitor included? Wow, that’s a bargain. I’ll ask you for details in DM. :slight_smile:

I’m using Frigate and now I added Double Take by @Jako, so now I can do automations based on face recognition. You might want to take a look at it. :wink:

I have a Synology too…a now old DS12812+, with 48TB of usable storage, mainly for movies and media stuff, and it’s at 80% of capacity now. But I love that NAS, if it was a more powerful model, I’d run HA on it. :slight_smile:

The 137 was only for the VTO and flush box. The switch, I bought separately overhere in NL. I didn’t buy the monitor because for me, my phone is enough. You can use the DMSS app to view the camera and speak to the person at the door and with my Synology DS216J as said, I can save the movies.

BTW, if you by via ali, be sure to choose a shop that delivers from within the EU, otherwise you’ll have to pay custom fees and taxes.

Yes, I already bought some stuff on Ali…I always make sure it’s shipped from EU.

When I’ll buy it, I’ll ask your support for the HA integration. :slight_smile:

I am using the new custom component and it is working great so far.
Thanks for your efforts @kvj.

Is there any possibilty to change the lock from unlock to unlatch the door?

while testing the component I asked @kvj about this on Discord: here’s the problem, and it’s not the component, it’s lovelace.

custom component locks have three actions out-of-the-box: open, lock and unlock. So it’s available right from the beginning. Unfortunately, lovelace UI isn’t smart enough to show all three, and I was thinking about fixing it there, rather than breaking the semantic of the hass

1 Like

To anyone interested in Nuki 3 and Nuki 3 Pro, I recommend reading this thread on nuki dev forum.

From what I understood: Local API is available only through the bridge. I asked some questions about old bridges compatibility etc.

Hope they don’t break compatibility with current APIs…

1 Like

Hi @alexdelprete, I was still on the your previous Nuki card and moved to hacs integration.

Even if the connection with the bridge worked I only see 3 entities that are doing nothing.

My setup is a bridge+lock+opener+keypad

Also tried to delete and reinstall and reboot several time with no success.

Can I test something?

This is the integration placeholder BTW.

image

Thanks!

Thanks for your reply Alessandro.

Since I don’t need the lovelace entity (I use button cards that link to scripts) it’s fine for me. I just changed the action from lock.unlock to lock.open now.

1 Like

Glad to know you easily solved the problem.

If you want, in order to help new users, it would be helpful to share the code you use to make the buttons for the lock. As an example.

Hi,

please do this:

  1. Check log to see if there are errors.
  2. Show me the 3 entities, from the screenshot I can’t see anything.
  3. What HA version are you running?
  4. Be sure there’s no other integration communicating with the bridge etc. uninstall and clean, and double-check that everything’s clean.

The component is working perfectly, so you have a specific issue with your setup.

Let me know…

Hi there,

first of all thanks for the great work you invested in adopting Nuki to HA!

I followed your guide but somehow the integration does not work.
I see no errors in the logs. My HA Version is 2021.11.1
The Nuki Bridge and Lock are on the latest Firmware.
The basic Nuki Integration is deleted and not running in parallel. Anything I don’t see?

Best regards
Philippe

Hi,

After configuring the integration the callback added is like :
…“url”: "http://homeassistant.local:8123/api/webhook/nuki_ng_bridge_hook_4…

Seems like the bridge does not (allways) resolve homeassistant.local (mentioned already in this topic) so I added a second callback url with the ipaddress of homeassistant and now the callback is (allmost) instantly received in homeassistant.

Can I set/configure something so the callback url added by the integration is getting the ipadress instead of the name of homeassistant?

Regards,
Wouter

Hi,

What guide did you follow? Did you install the custom component or the Nuki Card (automation)?
The guide in the first post is related to the Nuki Card, I’m recommending to switch to the custom component version developed by @kvj now, you can install it through HACS: GitHub - kvj/hass_nuki_ng: Better support for Nuki devices in the Home Assistant

Let me know how it goes…

Welcome to the disfunctional DNS resolution subsystem of HA, that relies on a buggy configuration and mDNS/zeroconf buggy stuff. :slight_smile:

We had several discussions about this, but devs think that this is the correct way to do name resolution, while many users face these kind of issues every day. They don’t want to change it, so you have to adapt to it.

The component should pickup the default HA url automatically. In my Nuki Card, you were able to configure it manually, and I advised users to use the IP in case of issues like this. Maybe this is something that could be implemented by @kvj through config_flow: right now you can’t reconfigure the component, it would be good to add the two hostnames/IPs (HA and Bridge) to the configuration, with the default being the autodetected hostnames, so users with dns issues can switch to IP as a workaround.

Some questions for you:

  1. do you have internal_url / external_url set in config.yaml?
  2. are you running HassOS or supervised?
  3. go to Supervisor->System, what do you see under Hostname?

Sorry for this issue, I’ll wait for your feedback. Thanks.

Hi,

  1. do you have internal_url / external_url set in config.yaml?
    Yes, the internal use homeassistant.local:8123.
  2. are you running HassOS or supervised?
    Running HassOS
  3. go to Supervisor->System, what do you see under Hostname?
    Hostname = homeassistant

Is it an idea to ask for an ip-address during configuation of the integration? (by default the dns name?)
Btw. no problem.

Regards,
Wouter

Thanks Wouter, now I need your support for the following, if you can obviously:

  • If you have homeassistant as hostname under System->Hostname, I’d suggest to change internal_url to homeassistant, stripping away the suffix .local.

  • Make sure that HA has a DHCP reservation or static IP and that the hostname homeassistant is correctly resolved by clients on the LAN (the bridge is a client, but can’t resolve .local mDns nightmare stuff, and rightly so) doing an nslookup from a couple of other clients.

  • Once you’re sure that the hostname of HA is resolved, change internal_url to the correct one, uninstall the component, delete the callback on the bridge, then restart HA and retry the installation of the component, please let us know if this time it works without issues.

I know you already solved the issue, but if you could do this it would help other users with the same problem.

Thanks for your help, looking forward to your feedback.

Alessandro

Wouter, I just reinstalled the component to check the config dialog, and what you ask is already there:

As you can see, you can use IP both in the first and second field. :slight_smile:

The only thing that is missing is the possibility to change settings after it has been installed.

Hi, must have completely overlooked that option :flushed:
Wanted just to reinstall the integration to check things again based on the earlier reply.
Re-installed the integration and put an ip-address in the field you highligted.
And now there is a call back url with an ip-address active on the bridge.

Great! and thanks again.

Regards,
Wouter

Sorry if I didn’t tell you immediately…:slight_smile:

Anyway, change the internal_url and align it to the hostname. :wink: