grizzly v0.6.4 Grizzly.CommandClass.NetworkManagementInclusion.NodeAdd View Source

Module for using the NODE_ADD command.

If the inclusion process is for S0 or no security the process will add the node and do the security (if S0) exchange at the zipgateway level.

If the inclusin process is for S2 security, there will be a node add keys report, which is to request granting what level of S2 security the user ought to grant. This request will let the caller know if Client Side Authentication is request and what S2 keys to grant to the joining node.

Link to this section Summary

Types

t()

Mode for the controller to use during inclsion

Link to this section Types

Link to this type

t() View Source
t() :: %Grizzly.CommandClass.NetworkManagementInclusion.NodeAdd{
  exec_state: Grizzly.Network.State.state(),
  mode: Grizzly.CommandClass.NetworkManagementInclusion.add_mode() | byte(),
  pre_states: [Grizzly.Network.State.state()],
  seq_number: Grizzly.seq_number(),
  timeout: non_neg_integer(),
  tx_opts: byte()
}

Mode for the controller to use during inclsion

  • :any - add any type of node to the network and allow for S0 bootstrapping
  • :stop - stop add mode
  • :any_s2 - same as :any, but allow for S2 bootstrapping as well (v2)

Link to this section Functions

Link to this function

encode(command) View Source
encode(t()) :: {:ok, binary()} | {:error, Grizzly.Command.EncodeError.t()}

Callback implementation for Grizzly.Command.encode/1.

Link to this function

handle_response(command, arg2) View Source
handle_response(t(), Grizzly.Packet.t()) ::
  {:continue, t()}
  | {:done, {:error, :nack_response}}
  | {:done, Grizzly.Node.t()}
  | {:done, {:ok, :node_add_stopped}}

Callback implementation for Grizzly.Command.handle_response/2.

Callback implementation for Grizzly.Command.init/1.