class
Matter::Cluster::IlluminanceMeasurementCluster
Overview
Illuminance Measurement Cluster (0x0400)
Provides an interface to illuminance measurement functionality, including configuration and provision of notifications of illuminance measurements.
Illuminance values are expressed using a logarithmic scale: MeasuredValue = 10,000 x log10(illuminance) + 1 where illuminance is in lux (lx).
Special values:
- 0 indicates illuminance too low to measure
- null indicates invalid measurement
- Range: 1 lx to 3.576 Mlx (MeasuredValue: 1 to 0xFFFE)
Specification: Matter 1.4 § 2.2
Defined in:
matter/cluster/illuminance_measurement_cluster.crConstant Summary
-
ATTR_LIGHT_SENSOR_TYPE =
4_u32 -
ATTR_MAX_MEASURED_VALUE =
2_u32 -
ATTR_MEASURED_VALUE =
0_u32 -
Attributes
-
ATTR_MIN_MEASURED_VALUE =
1_u32 -
ATTR_TOLERANCE =
3_u32 -
CLUSTER_ID =
1024_u32 -
MAX_ILLUMINANCE =
65534_u16 -
MIN_ILLUMINANCE =
0_u16 -
Illuminance value limits
Constructors
Class Method Summary
-
.cluster_id
Illuminance Measurement Cluster (0x0400)
-
.from_lux(lux : Float64) : UInt16
Convert from lux (illuminance) to measured value Formula: MeasuredValue = 10,000 x log10(illuminance) + 1 Valid range: 1 lx to 3.576 Mlx
-
.to_lux(measured_value : UInt16) : Float64
Convert from measured value to lux (illuminance) Formula: illuminance = 10^((MeasuredValue - 1) / 10000)
Instance Method Summary
-
#attributes : Array(AttributeMetadata)
Get all attribute metadata
-
#commands : Array(CommandMetadata)
Get all command metadata
-
#light_sensor_type : LightSensorType | Nil
Light sensor type, optional
-
#light_sensor_type=(light_sensor_type : LightSensorType | Nil)
Light sensor type, optional
-
#max_measured_value : UInt16 | Nil
Maximum measurable illuminance (or nil)
-
#max_measured_value=(max_measured_value : UInt16 | Nil)
Maximum measurable illuminance (or nil)
-
#measured_value : UInt16 | Nil
Current measured illuminance, or nil if unknown Value of 0 indicates too low to measure
-
#measured_value=(measured_value : UInt16 | Nil)
Current measured illuminance, or nil if unknown Value of 0 indicates too low to measure
-
#min_measured_value : UInt16 | Nil
Minimum measurable illuminance (1-65533, or nil)
-
#min_measured_value=(min_measured_value : UInt16 | Nil)
Minimum measurable illuminance (1-65533, or nil)
-
#name : String
Get cluster name
- #on_illuminance_changed(&block : UInt16 | Nil, UInt16 | Nil -> Nil)
-
#read_attribute(attribute_id : UInt32) : Bytes | InteractionModel::Status
Read an attribute value
-
#tolerance : UInt16 | Nil
Measurement tolerance (max 2048), optional
-
#tolerance=(tolerance : UInt16 | Nil)
Measurement tolerance (max 2048), optional
-
#update_illuminance(value : UInt16 | Nil)
Update the measured illuminance 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
Illuminance Measurement Cluster (0x0400)
Provides an interface to illuminance measurement functionality, including configuration and provision of notifications of illuminance measurements.
Illuminance values are expressed using a logarithmic scale: MeasuredValue = 10,000 x log10(illuminance) + 1 where illuminance is in lux (lx).
Special values:
- 0 indicates illuminance too low to measure
- null indicates invalid measurement
- Range: 1 lx to 3.576 Mlx (MeasuredValue: 1 to 0xFFFE)
Specification: Matter 1.4 § 2.2
Convert from lux (illuminance) to measured value Formula: MeasuredValue = 10,000 x log10(illuminance) + 1 Valid range: 1 lx to 3.576 Mlx
Convert from measured value to lux (illuminance) Formula: illuminance = 10^((MeasuredValue - 1) / 10000)
Instance Method Detail
Get all attribute metadata
Get all command metadata
Maximum measurable illuminance (or nil)
Current measured illuminance, or nil if unknown Value of 0 indicates too low to measure
Current measured illuminance, or nil if unknown Value of 0 indicates too low to measure
Minimum measurable illuminance (1-65533, or nil)
Read an attribute value