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

This module implements command VERSION_REPORT of command class
COMMAND_CLASS_VERSION

Params:

  * `:library_type` - The type of Z-Wave device library is running (required)
  * `:protocol_version` - The "version.sub" of the implemented Z-Wave protocol
    (required)
  * `:firmware_version` - The "version.sub" of the firmware (required)
  * `:hardware_version` - the hardware version - (optional V1, required V2
    and above)
  * `:other_firmware_versions` -  The list of "version.sub" of the other
    firmware targets (optional V1, required V2 and above)

# `firmware_version`

```elixir
@type firmware_version() :: String.t()
```

# `library_type`

```elixir
@type library_type() ::
  :static_controller
  | :controller
  | :enhanced_end_node
  | :end_node
  | :installer
  | :routing_end_node
  | :bridge_controller
  | :device_under_test
  | :av_remote
  | :av_device
```

# `param`

```elixir
@type param() ::
  {:library_type, library_type()}
  | {:protocol_version, protocol_version()}
  | {:firmware_version, firmware_version()}
  | {:hardware_version, non_neg_integer()}
  | {:other_firmware_versions, [firmware_version()]}
```

# `protocol_version`

```elixir
@type protocol_version() :: String.t()
```

---

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