lib/grizzly/zwave/command_class.ex
defmodule Grizzly.ZWave.CommandClass do
@moduledoc """
Behaviour for a command class implementation
"""
alias Grizzly.ZWave.CommandClasses
@typedoc """
A module that implements this behaviour
"""
@type t :: module()
@doc """
Get the byte for the command class
"""
@callback byte() :: byte()
@doc """
Get the name of the command class
"""
@callback name() :: CommandClasses.command_class()
end