Attribute path identifying a specific attribute
Encoded as a TLV list per Matter spec (and matter.js/CHIP encodings),
and TLV::Serializable decoding is tolerant of list/structure variations.
Note: fixed_size: true ensures proper type widths for iOS compatibility.
Matter spec allows Boolean true as a wildcard indicator for path fields.
iOS/Apple controllers send true instead of omitting fields for wildcards.
We handle this by accepting Bool in the union type and converting to nil.
Constructors
new(endpoint : UInt16 | Nil = nil, cluster : UInt32 | Nil = nil, attribute : UInt32 | Nil = nil, list_index : UInt16 | Nil = nil, *, enable_tag_compression : Bool | Nil = nil, node : UInt64 | Nil = nil, wildcard_path_flags : UInt32 | Nil = nil)
SourceClass methods
from_slice(bytes : Bytes)
Sourcefrom_tlv(any : TLV::Any)
SourceInstance methods
==(other : AttributePath) : Bool
Sourceattribute=(value : UInt32 | Nil)
Sourceattribute_raw=(attribute_raw : UInt32 | Bool | Nil)
Sourcecluster=(value : UInt32 | Nil)
Sourcecluster_raw=(cluster_raw : UInt32 | Bool | Nil)
Sourceconcrete?
Concrete path specifies a single attribute
Sourceenable_tag_compression=(enable_tag_compression : Bool | Nil)
Sourceendpoint
Getters that convert Bool (wildcard) to nil
Sourceendpoint=(value : UInt16 | Nil)
Setters for API compatibility
Sourceendpoint_raw
Internal storage accepts Bool for wildcard indicator from iOS
Sourceendpoint_raw=(endpoint_raw : UInt16 | Bool | Nil)
Internal storage accepts Bool for wildcard indicator from iOS
Sourcelist_index=(value : UInt16 | Nil)
Sourcelist_index_raw=(list_index_raw : UInt16 | Bool | Nil)
Sourcenode=(value : UInt64 | Nil)
Sourcenode_raw=(node_raw : UInt64 | Nil)
Sourceto_s
Returns a nicely readable and concise string representation of this object,
typically intended for users.
This method should usually not be overridden. It delegates to
#to_s(IO) which can be overridden for custom implementations.
Also see #inspect.
Sourceto_tlv(outer_tag : Nil | UInt8 | Tuple(UInt16, UInt16) | Tuple(UInt16, UInt16, UInt16) = nil) : TLV::Any
Sourcewildcard?
Wildcard path matches all endpoints/clusters/attributes
Sourcewildcard_path_flags=(value : UInt32 | Nil)
Sourcewildcard_path_flags_raw=(wildcard_path_flags_raw : UInt32 | Nil)
Source