class Matter::Cluster::CarbonDioxideConcentrationMeasurementCluster

Overview

Carbon Dioxide Concentration Measurement Cluster (0x040D)

Provides attributes for reporting Carbon Dioxide (CO2) concentration measurements and level indications in air, water, or soil. This cluster is a derived cluster from the base Concentration Measurement cluster specification.

Supports two main measurement modes:

Specification: Matter 1.4 § 2.10 (Concentration Measurement)

Defined in:

matter/cluster/carbon_dioxide_concentration_measurement_cluster.cr

Constant Summary

ATTR_AVERAGE_MEASURED_VALUE = 5_u32

AverageMeasurement Feature Attributes

ATTR_AVERAGE_MEASURED_VALUE_WINDOW = 6_u32
ATTR_LEVEL_VALUE = 10_u32

LevelIndication Feature Attributes

ATTR_MAX_MEASURED_VALUE = 2_u32
ATTR_MEASURED_VALUE = 0_u32

NumericMeasurement Feature Attributes

ATTR_MEASUREMENT_MEDIUM = 9_u32

Base Attributes

ATTR_MEASUREMENT_UNIT = 8_u32
ATTR_MIN_MEASURED_VALUE = 1_u32
ATTR_PEAK_MEASURED_VALUE = 3_u32

PeakMeasurement Feature Attributes

ATTR_PEAK_MEASURED_VALUE_WINDOW = 4_u32
ATTR_UNCERTAINTY = 7_u32
CLUSTER_ID = 1037_u32

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class Matter::Cluster::Base

attributes : Array(AttributeMetadata) attributes, cluster_id : DataType::ClusterId cluster_id, cluster_id=(cluster_id : DataType::ClusterId) cluster_id=, commands : Array(CommandMetadata) commands, data_version : UInt32 data_version, data_version=(data_version : UInt32) data_version=, endpoint_id : DataType::EndpointNumber endpoint_id, endpoint_id=(endpoint_id : DataType::EndpointNumber) endpoint_id=, events : Array(EventMetadata) events, get_attribute_metadata(attribute_id : UInt32) : AttributeMetadata | Nil get_attribute_metadata, get_command_metadata(command_id : UInt32) : CommandMetadata | Nil get_command_metadata, invoke_command(command_id : UInt32, fields : Bytes = Bytes.new(0)) : InteractionModel::Status | Bytes invoke_command, name : String name, read_attribute(attribute_id : UInt32) : InteractionModel::Status | Bytes read_attribute, write_attribute(attribute_id : UInt32, value : Bytes) : InteractionModel::Status write_attribute

Constructor methods inherited from class Matter::Cluster::Base

new(endpoint_id : DataType::EndpointNumber, cluster_id : DataType::ClusterId) new

Constructor Detail

def self.new(endpoint_id : DataType::EndpointNumber, measurement_medium : MeasurementMedium = MeasurementMedium::Air, measured_value : Float32 | Nil = nil, min_measured_value : Float32 | Nil = nil, max_measured_value : Float32 | Nil = nil, uncertainty : Float32 | Nil = nil, measurement_unit : MeasurementUnit | Nil = nil, level_value : LevelValue | Nil = nil, peak_measured_value : Float32 | Nil = nil, peak_measured_value_window : UInt32 | Nil = nil, average_measured_value : Float32 | Nil = nil, average_measured_value_window : UInt32 | Nil = nil) #

[View source]

Class Method Detail

def self.cluster_id #

Carbon Dioxide Concentration Measurement Cluster (0x040D)

Provides attributes for reporting Carbon Dioxide (CO2) concentration measurements and level indications in air, water, or soil. This cluster is a derived cluster from the base Concentration Measurement cluster specification.

Supports two main measurement modes:

  • NumericMeasurement: Provides actual measured values in configurable units
  • LevelIndication: Provides coarse level indication (Unknown, Low, Medium, High, Critical)

Specification: Matter 1.4 § 2.10 (Concentration Measurement)


[View source]

Instance Method Detail

def attributes : Array(AttributeMetadata) #
Description copied from class Matter::Cluster::Base

Get all attribute metadata


[View source]
def average_measured_value : Float32 | Nil #

AverageMeasurement feature attributes


[View source]
def average_measured_value=(average_measured_value : Float32 | Nil) #

AverageMeasurement feature attributes


[View source]
def average_measured_value_window : UInt32 | Nil #

[View source]
def average_measured_value_window=(average_measured_value_window : UInt32 | Nil) #

[View source]
def average_measurement_enabled? : Bool #

Check if AverageMeasurement feature is enabled


[View source]
def commands : Array(CommandMetadata) #
Description copied from class Matter::Cluster::Base

Get all command metadata


[View source]
def level_indication_enabled? : Bool #

Check if LevelIndication feature is enabled


[View source]
def level_value : LevelValue | Nil #

LevelIndication feature attributes


[View source]
def level_value=(level_value : LevelValue | Nil) #

LevelIndication feature attributes


[View source]
def max_measured_value : Float32 | Nil #

[View source]
def max_measured_value=(max_measured_value : Float32 | Nil) #

[View source]
def measured_value : Float32 | Nil #

NumericMeasurement feature attributes


[View source]
def measured_value=(measured_value : Float32 | Nil) #

NumericMeasurement feature attributes


[View source]
def measurement_medium : MeasurementMedium #

Measurement medium (mandatory)


[View source]
def measurement_medium=(measurement_medium : MeasurementMedium) #

Measurement medium (mandatory)


[View source]
def measurement_unit : MeasurementUnit | Nil #

[View source]
def measurement_unit=(measurement_unit : MeasurementUnit | Nil) #

[View source]
def min_measured_value : Float32 | Nil #

[View source]
def min_measured_value=(min_measured_value : Float32 | Nil) #

[View source]
def name : String #
Description copied from class Matter::Cluster::Base

Get cluster name


[View source]
def numeric_measurement_enabled? : Bool #

Check if NumericMeasurement feature is enabled


[View source]
def on_average_measured_value_changed(&block : Float32 | Nil, Float32 -> Nil) #

[View source]
def on_level_value_changed(&block : LevelValue | Nil, LevelValue -> Nil) #

[View source]
def on_measured_value_changed(&block : Float32 | Nil, Float32 -> Nil) #

[View source]
def on_peak_measured_value_changed(&block : Float32 | Nil, Float32 -> Nil) #

[View source]
def peak_measured_value : Float32 | Nil #

PeakMeasurement feature attributes


[View source]
def peak_measured_value=(peak_measured_value : Float32 | Nil) #

PeakMeasurement feature attributes


[View source]
def peak_measured_value_window : UInt32 | Nil #

[View source]
def peak_measured_value_window=(peak_measured_value_window : UInt32 | Nil) #

[View source]
def peak_measurement_enabled? : Bool #

Check if PeakMeasurement feature is enabled


[View source]
def read_attribute(attribute_id : UInt32) : Bytes | InteractionModel::Status #
Description copied from class Matter::Cluster::Base

Read an attribute value


[View source]
def uncertainty : Float32 | Nil #

[View source]
def uncertainty=(uncertainty : Float32 | Nil) #

[View source]
def update_average_measured_value(value : Float32) #

Update the average measured value


[View source]
def update_level_value(value : LevelValue) #

Update the level indication value


[View source]
def update_measured_value(value : Float32) #

Update the measured CO2 concentration value


[View source]
def update_peak_measured_value(value : Float32) #

Update the peak measured value


[View source]