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

Encoding and decoding functions for notification events and types from the
Notification command class.

# `event`

```elixir
@type event() :: atom()
```

# `status`

```elixir
@type status() :: :enabled | :disabled
```

# `type`

```elixir
@type type() :: atom()
```

# `zwave_alarm_status`

```elixir
@type zwave_alarm_status() :: :deactivate | :activate
```

# `all_events_by_type`

Lists all events associated with the given notification type.

# `all_notification_types`

```elixir
@spec all_notification_types() :: [atom()]
```

Lists all notification types.

# `decode_event_params`

# `encode_event_params`

# `event_from_byte`

```elixir
@spec event_from_byte(type(), byte()) ::
  {:ok, event()} | {:error, :invalid_event_byte}
```

Decode a notification event.

# `event_to_byte`

```elixir
@spec event_to_byte(type(), event()) :: byte()
```

Encode a notification event.

# `status_from_byte`

```elixir
@spec status_from_byte(byte()) :: {:ok, status()} | {:error, :invalid_status_byte}
```

# `status_to_byte`

```elixir
@spec status_to_byte(status()) :: 0 | 255
```

# `type_from_byte`

```elixir
@spec type_from_byte(byte()) :: {:ok, type()} | {:error, :invalid_type_byte}
```

Decode a notification type.

# `type_to_byte`

```elixir
@spec type_to_byte(type()) :: byte()
```

Encode a notification type.

---

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