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

This command is used to advertise the properties of a configuration parameter.

Params:

  * `:param_number` - This field is used to specify which configuration parameter (required)

  * `read_only` - This field is used to indicate if the parameter is read-only. (optional - v4+)

  * `:altering_capabilities`: - This field is used to indicate if the advertised parameter triggers a change in the node’s capabilities. (optional - v4+)

  * `:format` - This field is used to advertise the format of the parameter, one of :signed_integer, :unsigned_integer, :enumerated, :bit_field (required)

  * `:size` - This field is used to advertise the size of the actual parameter, one of 0, 1, 2, 4
              The advertised size MUST also apply to the fields “Min Value”, “Max Value”, “Default Value” carried in
              this command. (required)

  * `:min_value` - This field advertises the minimum value that the actual parameter can assume.
                   If the parameter is “Bit field”, this field MUST be set to 0. (required if size > 0 else omitted)

  * `:max_value` - This field advertises the maximum value that the actual parameter can assume.
                   If the parameter is “Bit field”, each individual supported bit MUST be set to ‘1’, while each un-
                   supported bit of MUST be set to ‘0’. (required if size > 0 else omitted)

  * `:default_value` - This field MUST advertise the default value of the actual parameter (required if size > 0 else omitted)

  * `:next_param_number` - This field advertises the next available (possibly non-sequential) configuration parameter, else 0 (required)

  * `:advanced` - This field is used to indicate if the advertised parameter is to be presented in the “Advanced”
                  parameter section in the controller GUI. (optional - v4+)

  * `:no_bulk_support` - This field is used to advertise if the sending node supports Bulk Commands. (optional - v4+)

# `format`

```elixir
@type format() :: :signed_integer | :unsigned_integer | :enumerated | :bit_field
```

# `param`

```elixir
@type param() ::
  {:param_number, non_neg_integer()}
  | {:read_only, boolean() | nil}
  | {:altering_capabilities, boolean() | nil}
  | {:format, format()}
  | {:size, 0 | 1 | 2 | 4}
  | {:min_value, integer() | nil}
  | {:max_value, integer() | nil}
  | {:default_value, integer() | nil}
  | {:next_param_number, non_neg_integer()}
  | {:advanced, boolean() | nil}
  | {:no_bulk_support, boolean() | nil}
```

---

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