Grizzly.Node (grizzly v0.22.3) View Source

Functions for working directly with a Z-Wave node

Link to this section Summary

Types

Options to use when getting device info.

Functions

Get the information for a node by its id

Set lifeline association for the node

Link to this section Types

Specs

id() :: non_neg_integer()

Specs

info_opt() :: {:force_update, boolean()}

Options to use when getting device info.

  • :force_update - By default there is a cache managed by zipgateway that tracks the device information. Sometimes that can get out of date, so you can pass [force_update: true] to force the cache to update the device info. By default this is false

Specs

lifeline_opts() ::
  {:controller_id, Grizzly.ZWave.node_id()}
  | {:extra_node_ids, [Grizzly.ZWave.node_id()]}

Link to this section Functions

Link to this function

get_dsk(node_id, add_mode, opts \\ [])

View Source

Specs

get_dsk(Grizzly.ZWave.node_id() | :gateway, :add | :learn, [
  Grizzly.command_opt()
]) :: Grizzly.send_command_response()

Get a node's dsk.

The response to this command is the DSKReport command

Sending this command with :gateway will always go to your Z-Wave controller

Link to this function

get_info(node_id, info_opt \\ [])

View Source

Specs

Get the information for a node by its id

The response to this command is the NodeInfoCacheReport command

Link to this function

set_lifeline_association(node_id, opts \\ [])

View Source

Specs

set_lifeline_association(Grizzly.ZWave.node_id(), [lifeline_opts()]) ::
  Grizzly.send_command_response()

Set lifeline association for the node

The lifeline associated is used to report events that happen at the Z-Wave device level back to the Z-Wave controller. For example, if you turn on a light and want to be notified, the device will need to have it's lifeline association set.

Opts:

  • :controller_id - the idea of the main controller to send lifeline reports to (defaults to 1)
  • :extra_node_ids - any extra nodes to set add to the association group