Grizzly.ZWave.Command behaviour (grizzly v0.15.6) View Source

Data struct and behaviour for working with Z-Wave commands

Link to this section Summary

Functions

Get the command param value out the params list

Just like param/3 but will raise if the the param is not in the param list

Put the param value into the params list, updating pervious value if there is one

Encode the Command.t() into it's binary representation

Callbacks

Decode the binary string of command params

Encode the command parameters

Make a new Command.t() from the params provided

Link to this section Types

Specs

delay_seconds() :: non_neg_integer()

Specs

params() :: Keyword.t()

Specs

t() :: %Grizzly.ZWave.Command{
  command_byte: byte() | nil,
  command_class: Grizzly.ZWave.CommandClass.t(),
  impl: module(),
  name: atom(),
  params: params()
}

Link to this section Functions

Specs

encode_params(t()) :: binary()
Link to this function

param(command, param, default \\ nil)

View Source

Specs

param(t(), atom(), term()) :: term() | nil

Get the command param value out the params list

Specs

param!(t(), atom()) :: term() | no_return()

Just like param/3 but will raise if the the param is not in the param list

Link to this function

put_param(command, param, new_value)

View Source

Specs

put_param(t(), atom(), any()) :: t()

Put the param value into the params list, updating pervious value if there is one

Specs

to_binary(t()) :: binary()

Encode the Command.t() into it's binary representation

Link to this section Callbacks

Specs

decode_params(binary()) ::
  {:ok, keyword()} | {:error, Grizzly.ZWave.DecodeError.t()}

Decode the binary string of command params

Specs

encode_params(t()) :: binary()

Encode the command parameters

Specs

new(params :: keyword()) :: {:ok, t()} | {:error, reason :: any()}

Make a new Command.t() from the params provided

Param validation should take place here.