View Source Grizzly.ZWave.DeviceClass (grizzly v8.6.6)

Z-Wave device classes

Z-Wave device classes allow grouping devices with the same functionality together. Moreover, the device class specification for specific device classes provide mandatory and recommended command class support.

Summary

Functions

Get the command class version for the command class

Check if the device class specification includes a particular command class

Device class spec for a generic multilevel sensor

A device class for a HVAC thermostat

Types

command_class_spec()

@type command_class_spec() :: %{
  support: %{
    required(Grizzly.ZWave.CommandClasses.command_class()) =>
      command_class_version()
  },
  control: %{
    required(Grizzly.ZWave.CommandClasses.command_class()) =>
      command_class_version()
  }
}

command_class_version()

@type command_class_version() :: integer()

t()

@type t() :: %{
  basic_device_class: Grizzly.ZWave.DeviceClasses.basic_device_class(),
  generic_device_class: Grizzly.ZWave.DeviceClasses.generic_device_class(),
  specific_device_class: Grizzly.ZWave.DeviceClasses.specific_device_class(),
  command_classes: command_class_spec(),
  manufacturer_id: non_neg_integer(),
  product_id: non_neg_integer(),
  product_type_id: non_neg_integer(),
  library_type: Grizzly.ZWave.Commands.VersionReport.library_type()
}

Functions

get_command_class_version(device_class, command_class)

@spec get_command_class_version(t(), Grizzly.ZWave.CommandClasses.command_class()) ::
  non_neg_integer() | nil

Get the command class version for the command class

has_command_class?(device_class, command_class)

@spec has_command_class?(t(), Grizzly.ZWave.CommandClasses.command_class()) ::
  boolean()

Check if the device class specification includes a particular command class

multilevel_sensor()

@spec multilevel_sensor() :: t()

Device class spec for a generic multilevel sensor

thermostat_hvac()

@spec thermostat_hvac() :: t()

A device class for a HVAC thermostat