class
Matter::Cluster::TemperatureMeasurementCluster
Overview
Temperature Measurement Cluster (0x0402)
Provides an interface to temperature measurement functionality, including configuration and provision of notifications of temperature measurements.
Temperature values are expressed in hundredths of degrees Celsius (0.01°C). For example, 2550 represents 25.50°C.
Specification: Matter 1.4 § 2.3
Defined in:
matter/cluster/temperature_measurement_cluster.crConstant Summary
-
ATTR_MAX_MEASURED_VALUE =
2_u32 -
ATTR_MEASURED_VALUE =
0_u32 -
Attributes
-
ATTR_MIN_MEASURED_VALUE =
1_u32 -
ATTR_TOLERANCE =
3_u32 -
CLUSTER_ID =
1026_u32 -
MAX_TEMPERATURE =
32767_i16 -
MIN_TEMPERATURE =
-27315_i16 -
Temperature limits (in 0.01°C)
Constructors
Class Method Summary
-
.cluster_id
Temperature Measurement Cluster (0x0402)
-
.from_celsius(value : Float64) : Int16
Convert from Celsius (Float) to 0.01°C (Int16)
-
.from_fahrenheit(value : Float64) : Int16
Convert from Fahrenheit (Float) to 0.01°C (Int16)
-
.to_celsius(value : Int16) : Float64
Convert from 0.01°C to Celsius (Float)
-
.to_fahrenheit(value : Int16) : Float64
Convert from 0.01°C to Fahrenheit (Float)
Instance Method Summary
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#commands : Array(CommandMetadata)
Get all command metadata
-
#max_measured_value : Int16
Maximum measurable temperature (in 0.01°C)
-
#max_measured_value=(max_measured_value : Int16)
Maximum measurable temperature (in 0.01°C)
-
#measured_value : Int16 | Nil
Current measured temperature (in 0.01°C), or nil if unknown
-
#measured_value=(measured_value : Int16 | Nil)
Current measured temperature (in 0.01°C), or nil if unknown
-
#min_measured_value : Int16
Minimum measurable temperature (in 0.01°C)
-
#min_measured_value=(min_measured_value : Int16)
Minimum measurable temperature (in 0.01°C)
-
#name : String
Get cluster name
- #on_temperature_changed(&block : Int16 | Nil, Int16 | Nil -> Nil)
-
#read_attribute(attribute_id : UInt32) : Bytes | InteractionModel::Status
Read an attribute value
-
#tolerance : UInt16 | Nil
Measurement tolerance (in 0.01°C), optional
-
#tolerance=(tolerance : UInt16 | Nil)
Measurement tolerance (in 0.01°C), optional
-
#update_temperature(value : Int16 | Nil)
Update the measured temperature value
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
Class Method Detail
Temperature Measurement Cluster (0x0402)
Provides an interface to temperature measurement functionality, including configuration and provision of notifications of temperature measurements.
Temperature values are expressed in hundredths of degrees Celsius (0.01°C). For example, 2550 represents 25.50°C.
Specification: Matter 1.4 § 2.3
Convert from Fahrenheit (Float) to 0.01°C (Int16)
Instance Method Detail
Get all attribute metadata
Get all command metadata
Current measured temperature (in 0.01°C), or nil if unknown
Read an attribute value