View Source Grizzly.ZWave.DeviceClass (grizzly v7.4.2)

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

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

command_class_version()

View Source
@type command_class_version() :: integer()
@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

Link to this function

get_command_class_version(device_class, command_class)

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

Get the command class version for the command class

Link to this function

has_command_class?(device_class, command_class)

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

Check if the device class specification includes a particular command class

@spec multilevel_sensor() :: t()

Device class spec for a generic multilevel sensor

@spec thermostat_hvac() :: t()

A device class for a HVAC thermostat