This action requires a security code, but it hasn't been set up in your device's app

I’m getting this error from Google Assistant when trying to control my locks and garage door since upgrading to 92.1

Any idea if this is a new bug?

1 Like

Read the release notes. It is dealt with very explicitly.

You will now have to say a pin code before being able to control locks, doors and garage doors. You can set this pin in configuration -> cloud or, for manual installs, add secure_devices_pin to your config

Wow. Is this a google requirement? Is there anyway around it?

I’m not able to unlock my August lock connected to my Smartthings Hub even with the secure_devices_pin set. It asks me for the security code but won’t accept it.

1 Like

Workaround solution. Create cover templates and expose those to google assistant. I used covers instead of switch because the open/close language is more natural. The GA routines handles Lock/Unlock.

create template covers for the front door lock and garage

 cover:
    - platform: template
      covers:
        google_frontdoor: 
          value_template: "{{ is_state('lock.schlage_be469_touchscreen_deadbolt_locked', 'locked') }}"
          open_cover:
            service: lock.unlock
            data:
              entity_id: lock.schlage_be469_touchscreen_deadbolt_locked
          close_cover:
            service: lock.lock
            data:
              entity_id: lock.schlage_be469_touchscreen_deadbolt_locked
        google_garagedoor:
          value_template: "{{ is_state('cover.garage_door_opener', 'closed') }}"
          open_cover:
            service: cover.open_cover
            data:
              entity_id: cover.garage_door_opener
          close_cover:
            service: cover.close_cover
            data:
              entity_id: cover.garage_door_opener

expose the covers to google assistant

  google_assistant:
    cover.google_frontdoor:
      name: 'front door'
      expose: true
    cover.google_garagedoor:
      name: 'garage door'
      aliases:
      expose: true

add two routines in google assistant

  • Lock the front door

    • Close the front door
    • Special action say “locking the font door”
  • Unlock the front door

    • Open the front door
    • Special action say “unlocking the font door”
1 Like

Thanks for sharing @FutureTense!

I follow the idea of what HASS is doing but not sure how to implement the secure_devices_pin effectively. Such as I have Google Assistant routines lock both the back and front door when I say ‘good night’ when I goto bed. How am I supposed to say the secure pin when I say goodnight?

What I’m thinking about doing is setting the good night routine to kick off a boolean in HASS and based on that boolean switch, have Node-Red do the work for me that routines was doing.

I understand the need for security around locks etc - I just wish the documentation of how to use the secure_devices_pin was better. The Google Assistant docs for this component still list the old info of allow unlock " * lock (lock/unlock (to allow assistant to unlock, set the allow_unlock key in configuration))" but show

" secure_devices_pin (string)(Optional)Pin code to say when you want to interact with a secure device.
Default value:" for the secure_devices_pin when it appears to be mandatory unless I’m reading the blog post for 0.92 -

  • Google Assistant - You will now have to say a pin code before being able to control locks, doors and garage doors. You can set this pin in configuration -> cloud or, for manual installs, add secure_devices_pin to your config. (@balloob - #23223) (cloud docs) (google_assistant docs) (breaking change) (beta fix)"

Kind of annoying with all the conflicting info in the component page/docs vs 0.92 breaking changes blog.

What I did was wrap the secure devices with a home assistant cover and exposed that to google assistant. I’m using the same name “front door” for the cover as the lock named “front door” that was previously exposed to google assistant.

So not only can I use GA “Ok google, unlock the front door” exactly as I did before, I can use “front door” in my routines. I didn’t have to change a thing. And I only use the wrapped covers in google assistant, no where else.

1 Like

Yup - follow exactly - well done! I ended up running down the route I explained I was going to do, such that if they make more changes like this with GA - I’m in control on the back end with Node Red. Worked perfectly. Now my GA routine just turns off the input boolean and node red handles the rest. I didn’t use GA to lock/unlock doors hardly at all - so for me this was as good a solution as any. But yes - I see what you did and could see the benefit there as well. Once again - thanks for sharing!

So, I have added the pin inside my configuration. Now, how am I supposed to use it with Google Assistant in order to open the garage door?

I am saying ok Google, open the garage door and then it says a pin code is needed, I say the pin but nothing happens.

Should I use it inside the same sentence?

Is there a way to disable the pin?
I do not want to do work around of possible.

1 Like

My point precisely. There is nothing that says how to use, the documentation says secure_devices_pin is optional, then goes right back and notes as mandatory in the 0.92 blog. No mention on how to use it or how it’s supposed to work. I normally don’t fuss at HASS often as it is open source etc, but this situation is so confusing and poorly documented.

It would be nice if this “feature” were made optional.

@FutureTense
You are right my friend.
I have downgraded back to 0.91.4 version.
If you found anything please post.

I don’t care about unlocking my door through Assistant. I do like to lock it by voice though, and I don’t want to enter a pin to do so. What I did was create a script that locks that front door:

lock_door:
  alias: Lock Door
  sequence:
    - service: lock.lock
      data:
        entity_id: lock.front_door

Then I exposed that script to Google Assistant and created a routine to run the script and say, “Locking the front door” triggered by the phrase “Lock the front door”. I left the door exposed to Google Assistant so I can still ask about the status of the door or unlock it via pin. Works perfectly.

Anyone manage to open the garage door using Google assistant after the changes of the pin?

What is the Google punch line?

Mine is working just fine after setting a pin… But I have to wonder what the point was of this when you can still say “Okay Google, close the garage door” which triggers the relay to close the contacts on the garage door and if the door was closed it’s now opening… there may be some way to stop this but I’m unaware of it.

I am facing this issue since the addition of the pin and not straight answer. Only frustrated people with workarounds
Guys is this is so difficult? Is this a bug? Is this how it is supposed to work?
When I say hey google, open garage door it replies
Can I Have your security code to open the Garage Door please?
When I reply with the security code it thinks this is another request.

I have the gogogate2 cover. Please guys some help here.

1 Like

Use this workaround.

My friend I do not want to use a work around. I just want to open my garage door even using the security code.

2 Likes

Try turning on continued conversations if it isn’t already turned on: https://support.google.com/googlehome/answer/7685981?hl=en

This feature is only available for English though…

I have this enabled.
I say “ok google open garage door” and it replies “can I have your security code to open the garage door”.
I reply with the security code and it it says “my apologies I cannot understand”.

1 Like