# `NervesHubLink.Alarms`
[🔗](https://github.com/nerves-hub/nerves_hub_link/blob/v2.12.0/lib/nerves_hub_link/alarms.ex#L5)

A slim adapter for `Alarmist` and `:alarm_handler`, providing a unified interface for setting and clearing alarms.

This primarily exists because `:alarm_handler.get_alarms()` will fail if the default alarm_handler
has been replaced. Until a path is decided for account for that, this keeps the implementations
separate with minimal set/clear handling adjustment when the default handler is used in order to
match Alarmist experience better.

# `clear_alarm`

```elixir
@spec clear_alarm(term()) :: :ok
```

# `get_alarms`

```elixir
@spec get_alarms() :: [Alarmist.alarm()]
```

# `set_alarm`

```elixir
@spec set_alarm({term(), term()}) :: :ok
```

---

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