Skip to main content

Module dm

Module dm 

Source
Expand description

Re-export the rs-matter crate The Data Model as defined by the Matter Core spec: the structure and schema of a node - its endpoints, clusters, attributes, commands and events - and the handlers that give them behaviour.

The Interaction Model engine that drives reads, writes, subscriptions and invokes against this data model lives in crate::im.

Modules§

clusters
This module imports all system clusters that are used by the rs-matter itself.
devices
endpoints
networks
A module containing various types for managing Ethernet, Thread and Wifi networks.

Structs§

Access
Async
An adaptor that adapts a NonBlockingHandler trait implementation to the AsyncHandler trait contract.
AttrDetails
The AttrDetails type captures all necessary information to perform an Attribute Read or Write operation
Attribute
A type modeling the attribute meta-data in the Matter data model.
ChainedHandler
A handler that chains two handlers together in a composite handler.
Cluster
A struct modeling the cluster meta-data (i.e. what is the cluster ID, revision, features, attributes and their access, commands and their access) in the Matter data model.
CmdDetails
The CmdDetails type captures all necessary information to perform an Attribute Read operation
Command
A type modeling the command meta-data in the Matter data model.
Dataver
DeviceType
DynamicNode
A dynamic node that can be modified at runtime.
EmptyHandler
A handler that always fails with attribute / command not found.
Endpoint
A type modeling the endpoint meta-data in the Matter data model.
EpClMatcher
A matcher that matches a specific endpoint ID and cluster ID.
Event
A type modeling the event meta-data in the Matter data model.
InvokeReplyInstance
A concrete implementation of the InvokeReply trait for encoding command data.
Node
The main Matter metadata type describing a Matter Node.
Privilege
Quality
ReadReplyInstance
A concrete implementation of the ReadReply trait for encoding attribute data.
SemanticTag
A semantic tag describing an endpoint, as reported by Descriptor::TagList.
SubscriptionCtx
The identity of the subscription (and the peer that owns it) that a server-initiated ReportData message belongs to.

Enums§

ArrayAttributeRead
An enum for modeling reads from attributes whose type is an array.
ArrayAttributeWrite
An enum for modeling writes to attributes whose type is an array.
GlobalElements
An enum for the attribute IDs of all Matter Global attributes
LifecycleOp
A lifecycle operation delivered to a handler via Handler::lifecycle / AsyncHandler::lifecycle.

Constants§

ACCEPTED_COMMAND_LIST
The global attribute for the Accepted Command List.
ATTRIBUTE_LIST
The global attribute for the Attribute List.
CLUSTER_REVISION
The global attribute for the Cluster Revision.
EVENT_LIST
The global attribute for the Event List.
FEATURE_MAP
The global attribute for the Feature Map.
GENERATED_COMMAND_LIST
The global attribute for the Generated Command List.

Traits§

AsyncHandler
A handler for processing a single IM operation: read an attribute, write an attribute, or invoke a command.
AttrChangeNotifier
A trait for notifying the data model that the state of an attribute has changed.
DataModel
DynAttrChangeNotifier
EventEmitter
A trait for emitting events.
Handler
A version of the AsyncHandler trait that never awaits any operation.
HandlerContext
A context super-type that is also passed to the (Async)Handler::run method.
InvokeContext
InvokeReply
A trait for encoding the result from a command invoke operation.
MatchContext
A context super-type that is passed to the handler when bumping a dataver
Matcher
A trait that defines a matcher for determining whether a handler - member of a handler-chain (ChainedHandler) should be invoked for a specific operation.
Metadata
A trait for types that can provide access to a Node for the purpose of metadata retrieval.
NonBlockingHandler
A marker trait that indicates that the handler is non-blocking.
OperationContext
A context super-type that is passed to the handler when processing an attribute read/write or a command invoke operation.
OwnAttrChangeNotifier
A trait for notifying the data model that the state of an attribute has changed. Typically implemented on types that have a notion of a “current” endpoint and a “current” cluster, so that the caller doesn’t have to specify them again.
OwnEventEmitter
A trait for emitting events typically implemented on types that have a notion of a “current” endpoint and a “current” cluster.
ReadContext
A context type that is passed to the handler when processing an attribute Read operation.
ReadReply
A trait for encoding the attribute value for an attribute read operation.
Reply
ReportContext
A context type passed to a ReportDataHandler when it processes a server-initiated ReportData message (the controller / subscriber role).
ReportDataHandler
A handler for consuming server-initiated ReportData messages — the controller/subscriber side of the Interaction Model.
WriteContext
A context type that is passed to the handler when processing an attribute Write operation.

Type Aliases§

ActionId
AmperageMilliA
AttrId
ClusterId
ClusterStatus
CmdId
CommandRef
CompressedFabricId
DataVersion
DeviceTypeId
ElapsedS
EndptId
EnergyMilliVARh
EnergyMilliVAh
EnergyMilliWh
EventId
EventNumber
FabricId
FabricIndex
FieldId
InteractionModelRevision
KeysetId
ListIndex
LocalizedStringIdentifier
Money
NodeId
Percent
Percent100ths
PowerMilliVA
PowerMilliVAR
PowerMilliW
SceneId
SubscriptionId
TransactionId
VoltageMilliV
WithAttrs
A type alias for the attribute matching function
WithCmds
A type alias for the command matching function
WithEvents
A type alias for the event matching function