class Matter::DeviceType

Overview

Device type definitions from the Matter specification Each device type defines required and optional clusters

Defined in:

matter/device_type.cr

Constant Summary

AGGREGATOR = 14_u32
BASIC_VIDEO_PLAYER = 40_u32

Media Device Types

BRIDGED_NODE = 19_u32
CASTING_VIDEO_CLIENT = 41_u32
CASTING_VIDEO_PLAYER = 35_u32
COLOR_DIMMER_SWITCH = 261_u32
COLOR_TEMPERATURE_LIGHT = 268_u32
CONTACT_SENSOR = 21_u32

Sensor Device Types

CONTENT_APP = 36_u32
CONTROL_BRIDGE = 2112_u32
DIMMABLE_LIGHT = 257_u32
DIMMABLE_PLUG_IN_UNIT = 267_u32
DIMMER_SWITCH = 260_u32
DOOR_LOCK = 10_u32

Closure Device Types

DOOR_LOCK_CONTROLLER = 11_u32
EXTENDED_COLOR_LIGHT = 269_u32
FAN = 43_u32
FLOW_SENSOR = 774_u32
HEATING_COOLING_UNIT = 768_u32

HVAC Device Types

HUMIDITY_SENSOR = 775_u32
LIGHT_SENSOR = 262_u32
OCCUPANCY_SENSOR = 263_u32
ON_OFF_LIGHT = 256_u32

Lighting Device Types

ON_OFF_LIGHT_SWITCH = 259_u32

Switch Device Types

ON_OFF_PLUG_IN_UNIT = 266_u32

Smart Plug/Outlet Device Types

OTA_PROVIDER = 20_u32
OTA_REQUESTOR = 18_u32
POWER_SOURCE = 17_u32
PRESSURE_SENSOR = 773_u32
PUMP = 771_u32
PUMP_CONTROLLER = 772_u32
ROOT_NODE = 22_u32

Utility Device Types

SPEAKER = 34_u32
TEMPERATURE_SENSOR = 770_u32
THERMOSTAT = 769_u32
VIDEO_REMOTE_CONTROL = 42_u32
WINDOW_COVERING = 514_u32
WINDOW_COVERING_CONTROLLER = 515_u32

Constructors

Instance Method Summary

Constructor Detail

def self.contact_sensor : DeviceType #

[View source]
def self.dimmable_light : DeviceType #

[View source]
def self.dimmer_switch : DeviceType #

[View source]
def self.door_lock : DeviceType #

[View source]
def self.new(device_type_id : DataType::DeviceTypeId, name : String, revision : UInt16, required_server_clusters : Array(UInt32) = [] of UInt32, optional_server_clusters : Array(UInt32) = [] of UInt32) #

[View source]
def self.on_off_light : DeviceType #

[View source]
def self.on_off_light_switch : DeviceType #

[View source]
def self.on_off_plug_in_unit : DeviceType #

[View source]
def self.root_node : DeviceType #

[View source]
def self.temperature_sensor : DeviceType #

[View source]
def self.thermostat : DeviceType #

[View source]

Instance Method Detail

def allows_cluster?(cluster_id : UInt32) : Bool #

Helper method to check if a cluster is allowed (required or optional)


[View source]
def device_type_id : DataType::DeviceTypeId #

[View source]
def name : String #

[View source]
def optional_server_clusters : Array(UInt32) #

[View source]
def required_server_clusters : Array(UInt32) #

[View source]
def requires_cluster?(cluster_id : UInt32) : Bool #

Helper method to check if a cluster is required


[View source]
def revision : UInt16 #

[View source]
def supports_optional_cluster?(cluster_id : UInt32) : Bool #

Helper method to check if a cluster is optional


[View source]