defmodule Grizzly.ZWave.CommandClasses.AntitheftUnlock do @moduledoc """ "AntitheftUnlock" Command Class This Command Class is used to unlock a device that has been locked by the Anti-theft Command Class. """ @behaviour Grizzly.ZWave.CommandClass @type state :: :locked | :unlocked @impl true def byte(), do: 0x7E @impl true def name(), do: :antitheft_unlock def state_to_bit(:unlocked), do: 0x00 def state_to_bit(:locked), do: 0x01 def state_from_bit(0x00), do: :unlocked def state_from_bit(0x01), do: :locked def validate_hint(hint) when is_binary(hint) do true = byte_size(hint) <= 10 hint end def validate_magic_code(magic_code) when is_binary(magic_code) do true = byte_size(magic_code) in 1..10 magic_code end end