# `Grizzly.ZWave.Commands.LearnModeSetStatus`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.4/lib/grizzly/zwave/commands/learn_mode_set_status.ex#L1)

This command is used to indicate the progress of the Learn Mode Set command.

Params:

  * `:seq_number` - the command sequence number

  * `:status` - the outcome of the learn mode, one of :done, :failed or :security_failed

  * `:new_node_id` - the new node id assigned to the device

  * `:granted_keys` - indicates which network keys were granted during bootstrapping; a list with :s2_unauthenticated, :s2_authenticated,
                      :s2_access_control and/or :s0 (optional - v2)

  * `:kex_fail_type` - indicates which error occurred in case S2 bootstrapping was not successful; one of :none, :key, :scheme, :curves,
                      :decrypt, :cancel, :auth, :get, :verify or :report -- see Grizzly.ZWave.Security (optional - v2)

  * `:dsk` - the DSK of the including controller that performed S2 bootstrapping to the node (optional - v2)

# `param`

```elixir
@type param() ::
  {:seq_number, Grizzly.ZWave.seq_number()}
  | {:status, status()}
  | {:new_node_id, Grizzly.Node.id()}
  | {:granted_keys, [Grizzly.ZWave.Security.key()]}
  | {:kex_fail_type, Grizzly.ZWave.Security.key_exchange_fail_type()}
  | {:dsk, Grizzly.ZWave.DSK.t()}
```

# `status`

```elixir
@type status() :: :done | :failed | :security_failed
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
