TlvAttributeValuePair: ObjectSchema<{
    attributeId: FieldType<AttributeId>;
    valueSigned16: OptionalFieldType<number>;
    valueSigned32: OptionalFieldType<number>;
    valueSigned64: OptionalFieldType<number | bigint>;
    valueSigned8: OptionalFieldType<number>;
    valueUnsigned16: OptionalFieldType<number>;
    valueUnsigned32: OptionalFieldType<number>;
    valueUnsigned64: OptionalFieldType<number | bigint>;
    valueUnsigned8: OptionalFieldType<number>;
}> = ...

This data type indicates a combination of an identifier and the value of an attribute.

Type declaration

  • attributeId: FieldType<AttributeId>

    This field shall be present for all instances in a given ExtensionFieldSetStruct.

    The data type of AttributeValue shall be the data type of the attribute indicated by AttributeID.

    The AttributeID field shall NOT refer to an attribute without the Scenes ("S") designation in the Quality column of the cluster specification.

    1.4.7.3.2. ValueUnsigned8, ValueSigned8, ValueUnsigned16, ValueSigned16, ValueUnsigned32, ValueSigned32, ValueUnsigned64, ValueSigned64 Fields

    These fields shall indicate the attribute value as part of an extension field set, associated with a given AttributeID under an ExtensionFieldSetStruct’s ClusterID. The proper field shall be present that maps to the data type of the attribute indicated.

    • Data types bool, map8, and uint8 shall map to ValueUnsigned8.

    • Data types int8 shall map to ValueSigned8.

    • Data types map16 and uint16 shall map to ValueUnsigned16.

    • Data types int16 shall map to ValueSigned16.

    • Data types map32, uint24, and uint32 shall map to ValueUnsigned32.

    • Data types int24 and int32 shall map to ValueSigned32.

    • Data types map64, uint48, uint56 and uint64 shall map to ValueUnsigned64.

    • Data types int48, int56 and int64 shall map to ValueSigned64.

    • For nullable attributes, any value that is not a valid numeric value for the attribute’s type after accounting for range reductions due to being nullable and constraints shall be considered to have the null value for the type.

    • For non-nullable attributes, any value that is not a valid numeric value for the attribute’s type after accounting for constraints shall be considered to have the maximum legal value in the attribute’s constrained range.

    Examples of processing are:

    • ColorControl cluster CurrentX (AttributeID 0x0003) has a type of uint16 and is not nullable.

    ◦ AttributeValue of 0xAB12 would be used as-is, as it is in range.
    
    ◦ AttributeValue of 0xAA0011 is outside of the range of uint16, and would be saturated to the maximum of
      the attribute’s constraint range: 0xFEFF.
    

    • LevelControl cluster CurrentLevel (AttributeID 0x0000) has a type of uint8 and is nullable.

    ◦ AttributeValue of 0xA1 would be used as-is, as it is in range.
    
    ◦ AttributeValue of 0xBB12 is outside the range of nullable uint8, and would be considered as the null
      value.
    

    MatterSpecification.v13.Cluster § 1.4.7.3.1

  • valueSigned16: OptionalFieldType<number>
  • valueSigned32: OptionalFieldType<number>
  • valueSigned64: OptionalFieldType<number | bigint>
  • valueSigned8: OptionalFieldType<number>
  • valueUnsigned16: OptionalFieldType<number>
  • valueUnsigned32: OptionalFieldType<number>
  • valueUnsigned64: OptionalFieldType<number | bigint>
  • valueUnsigned8: OptionalFieldType<number>

MatterSpecification.v13.Cluster § 1.4.7.3