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-matteritself. - devices
- endpoints
- networks
- A module containing various types for managing Ethernet, Thread and Wifi networks.
Structs§
- Access
- Async
- An adaptor that adapts a
NonBlockingHandlertrait implementation to theAsyncHandlertrait contract. - Attr
Details - The
AttrDetailstype 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.
- Chained
Handler - 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
CmdDetailstype captures all necessary information to perform an Attribute Read operation - Command
- A type modeling the command meta-data in the Matter data model.
- Dataver
- Device
Type - Dynamic
Node - A dynamic node that can be modified at runtime.
- Empty
Handler - A handler that always fails with attribute / command not found.
- Endpoint
- A type modeling the endpoint meta-data in the Matter data model.
- EpCl
Matcher - A matcher that matches a specific endpoint ID and cluster ID.
- Event
- A type modeling the event meta-data in the Matter data model.
- Invoke
Reply Instance - A concrete implementation of the
InvokeReplytrait for encoding command data. - Node
- The main Matter metadata type describing a Matter Node.
- Privilege
- Quality
- Read
Reply Instance - A concrete implementation of the
ReadReplytrait for encoding attribute data. - Semantic
Tag - A semantic tag describing an endpoint, as reported by
Descriptor::TagList. - Subscription
Ctx - The identity of the subscription (and the peer that owns it) that a
server-initiated
ReportDatamessage belongs to.
Enums§
- Array
Attribute Read - An enum for modeling reads from attributes whose type is an array.
- Array
Attribute Write - An enum for modeling writes to attributes whose type is an array.
- Global
Elements - An enum for the attribute IDs of all Matter Global attributes
- Lifecycle
Op - 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§
- Async
Handler - A handler for processing a single IM operation: read an attribute, write an attribute, or invoke a command.
- Attr
Change Notifier - A trait for notifying the data model that the state of an attribute has changed.
- Data
Model - DynAttr
Change Notifier - Event
Emitter - A trait for emitting events.
- Handler
- A version of the
AsyncHandlertrait that never awaits any operation. - Handler
Context - A context super-type that is also passed to the
(Async)Handler::runmethod. - Invoke
Context - Invoke
Reply - A trait for encoding the result from a command invoke operation.
- Match
Context - 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
Nodefor the purpose of metadata retrieval. - NonBlocking
Handler - A marker trait that indicates that the handler is non-blocking.
- Operation
Context - A context super-type that is passed to the handler when processing an attribute read/write or a command invoke operation.
- OwnAttr
Change Notifier - 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.
- OwnEvent
Emitter - A trait for emitting events typically implemented on types that have a notion of a “current” endpoint and a “current” cluster.
- Read
Context - A context type that is passed to the handler when processing an attribute Read operation.
- Read
Reply - A trait for encoding the attribute value for an attribute read operation.
- Reply
- Report
Context - A context type passed to a
ReportDataHandlerwhen it processes a server-initiatedReportDatamessage (the controller / subscriber role). - Report
Data Handler - A handler for consuming server-initiated
ReportDatamessages — the controller/subscriber side of the Interaction Model. - Write
Context - A context type that is passed to the handler when processing an attribute Write operation.
Type Aliases§
- Action
Id - Amperage
MilliA - AttrId
- Cluster
Id - Cluster
Status - CmdId
- Command
Ref - Compressed
Fabric Id - Data
Version - Device
Type Id - ElapsedS
- EndptId
- Energy
MilliVA Rh - Energy
MilliV Ah - Energy
Milli Wh - EventId
- Event
Number - Fabric
Id - Fabric
Index - FieldId
- Interaction
Model Revision - Keyset
Id - List
Index - Localized
String Identifier - Money
- NodeId
- Percent
- Percent100ths
- Power
MilliVA - Power
MilliVAR - Power
MilliW - SceneId
- Subscription
Id - Transaction
Id - Voltage
MilliV - With
Attrs - A type alias for the attribute matching function
- With
Cmds - A type alias for the command matching function
- With
Events - A type alias for the event matching function