# `Grizzly.ZWave.CommandClasses.NetworkManagementInstallationMaintenance`
[🔗](https://github.com/smartrent/grizzly/blob/v9.1.2/lib/grizzly/zwave/command_classes/network_management_installation_maintenance.ex#L1)

"NetworkManagementInstallationMaintenance" Command Class

The Network Management Installation and Maintenance Command Class is used to access statistical
data.

# `neighbor`

```elixir
@type neighbor() :: [neighbor_param()]
```

# `neighbor_param`

```elixir
@type neighbor_param() ::
  {:node_id, byte()} | {:repeater?, boolean()} | {:speed, speeds()}
```

# `route_type`

```elixir
@type route_type() ::
  :no_route
  | :last_working_route
  | :next_to_last_working_route
  | :set_by_application
```

# `rssi`

```elixir
@type rssi() ::
  :rssi_not_available
  | :rssi_max_power_saturated
  | :rssi_below_sensitivity
  | -124..127
```

# `speed`

```elixir
@type speed() :: :&quot;9.6kbit/s&quot; | :&quot;40kbit/s&quot; | :&quot;100kbit/s&quot; | :reserved
```

# `speeds`

```elixir
@type speeds() :: [speed()]
```

# `statistic`

```elixir
@type statistic() ::
  {:route_changes, byte()}
  | {:transmission_count, byte()}
  | {:neighbors, [neighbor()]}
  | {:packet_error_count, byte()}
  | {:sum_of_transmission_times, non_neg_integer()}
  | {:sum_of_transmission_times_squared, non_neg_integer()}
```

# `statistics`

```elixir
@type statistics() :: [statistic()]
```

# `repeaters_from_bytes`

# `repeaters_to_bytes`

# `route_type_from_byte`

```elixir
@spec route_type_from_byte(any()) ::
  {:error, Grizzly.ZWave.DecodeError.t()} | {:ok, route_type()}
```

# `route_type_to_byte`

```elixir
@spec route_type_to_byte(route_type()) :: byte()
```

# `rssi_from_byte`

```elixir
@spec rssi_from_byte(byte()) :: rssi()
```

Decodes the given byte to an 8-bit signed integer (or one of the special values
defined in the spec).

**NOTE:** In order to support Z/IP Gateway quirks, this function accepts values
outside of the range specified in the spec (-32..-128). This function may return
any value in the range -128..124.

# `rssi_to_byte`

```elixir
@spec rssi_to_byte(rssi()) :: byte()
```

Encodes the given RSSI value to an 8-bit signed integer.

**NOTE:** In order to support Z/IP Gateway quirks, this function accepts values
outside of the range specified in the spec (-32..-128). Values out of range for
an 8-bit signed integer will overflow.

# `speed_from_byte`

```elixir
@spec speed_from_byte(byte()) ::
  {:ok, speed()} | {:error, Grizzly.ZWave.DecodeError.t()}
```

# `speed_to_byte`

```elixir
@spec speed_to_byte(speed()) :: byte()
```

# `statistics_from_binary`

# `statistics_to_binary`

---

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