View Source Grizzly.Network (grizzly v8.6.6)

Module for working with the Z-Wave network

Summary

Types

Options for when you want to reset the device

Functions

Add a long range device to the provisioning list

Delete a node from the network's provisioning list via the node's DSK

Gets all the node ids both from the Z-Wave network and any virtual nodes

Get a list of node ids from the Z-Wave network

Get the nodes provisioning list information via the node's DSK

List all the nodes on the provisioning list

Request a node to peform a neighbor update operation.

Remove a (presumably) failed node

Get the list of ids of all failed nodes.

Request a network update from another controller. This is a no-op if this is the network's primary controller.

Reset the Z-Wave controller

A node to the network provisioning list

Types

opt()

@type opt() :: {:node_id, Grizzly.ZWave.node_id()} | {:seq_number, integer()}

reset_opt()

@type reset_opt() :: {:notify, boolean()}

Options for when you want to reset the device

  • :notify - if the flag is set to true this will try to notify any node that is part of the lifeline association group (default true)

Functions

add_long_range_device(dsk, opts \\ [])

@spec add_long_range_device(Grizzly.ZWave.DSK.t(), [opt()]) ::
  Grizzly.send_command_response()

Add a long range device to the provisioning list

delete_node_provisioning(dsk, opts \\ [])

@spec delete_node_provisioning(Grizzly.ZWave.DSK.t(), [opt()]) ::
  Grizzly.send_command_response()

Delete a node from the network's provisioning list via the node's DSK

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.

get_all_node_ids(opts \\ [])

(since 3.0.0)
@spec get_all_node_ids([opt()]) ::
  {:ok, [Grizzly.ZWave.node_id() | Grizzly.VirtualDevices.id()]}
  | {:error, :timeout | :nack_response}

Gets all the node ids both from the Z-Wave network and any virtual nodes

If everything is okay the response will be {:ok, list_of_node_ids} where the list of node ids will be a combination of actual Z-Wave devices and virtual device ids.

get_node_ids(opts \\ [])

@spec get_node_ids([opt()]) :: Grizzly.send_command_response()

Get a list of node ids from the Z-Wave network

Just because a node id might be in the list does not mean the node is on the network. A device might have been reset or unpaired from the controller with out the controller knowing. However, in most use cases this shouldn't be an issue.

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.

get_node_provisioning(dsk, opts \\ [])

@spec get_node_provisioning(Grizzly.ZWave.DSK.t(), [opt()]) ::
  Grizzly.send_command_response()

Get the nodes provisioning list information via the node's DSK

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.

list_node_provisionings(remaining_counter, opts \\ [])

@spec list_node_provisionings(integer(), [opt()]) :: Grizzly.send_command_response()

List all the nodes on the provisioning list

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.

node_neighbor_update_request(node_id, opts \\ [])

@spec node_neighbor_update_request(Grizzly.node_id(), [Grizzly.command_opt()]) ::
  Grizzly.send_command_response()

Request a node to peform a neighbor update operation.

remove_failed_node(opts \\ [])

@spec remove_failed_node([opt()]) :: Grizzly.send_command_response()

Remove a (presumably) failed node

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.

report_failed_node_ids(opts \\ [])

@spec report_failed_node_ids([opt()]) ::
  {:ok, [Grizzly.ZWave.node_id()]} | {:error, atom()}

Get the list of ids of all failed nodes.

request_network_update(opts \\ [])

@spec request_network_update([opt()]) :: Grizzly.send_command_response()

Request a network update from another controller. This is a no-op if this is the network's primary controller.

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.

reset_controller(opts \\ [])

@spec reset_controller([reset_opt() | opt()]) :: Grizzly.send_command_response()

Reset the Z-Wave controller

This command takes a few seconds to run.

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.
  • :notify - Whether to notify the nodes in the lifeline association group that the controller is being reset. Used primarily to disable this behavior in unit tests. Default true.
  • :associations_server - Which associations server to use for notifications and to clear after a successful reset. Default is to use the default associations server (named Grizzly.Associations).

set_node_provisioning(dsk, meta_extensions, opts \\ [])

A node to the network provisioning list

Options

  • :node_id - If your controller is part of another controller's network you might want to issue network commands to that controller. By default this option will chose your controller.