Matter Adapters
Matter adapters bridge the TypeScript SDK to native Matter code (CSR, commissioning, LAN control, subscriptions, discovery).
You do not need to implement them yourself. Use the RainMaker Home app adapters — they are ready to pass into ESPRMMatterBase.configure().
Source: esp-rainmaker-home/src/native-adaptors
What to use
| Config field | Home app file | Used for |
|---|---|---|
| matterCommissioningAdaptor (required for commissioning) | ESPMatterAdapter.ts | CSR, commissioning, postMessage |
| matterControlAdapter | ESPMatterControlAdapter.ts | Local Control (matter_local) |
| matterSubscriptionAdapter | ESPMatterSubscriptionAdapter.ts | Matter Subscription |
| matterLocalDiscoveryAdapter | MatterDiscoverAdapter.ts | LAN reachability / matter_local |
| (optional helpers) | ESPMatterUtilityAdapter.ts | User NoC / fabric helpers |
Base SDK adapters (storage, provisioning, MQTT, …) are in the same folder — e.g. ESPAsyncStorage.ts.
备注
Remote Control does not need a Matter control adapter. It uses the built-in matter_controller handler — see Remote Control.
Configure
import { ESPRMMatterBase } from "@espressif/rainmaker-matter-sdk";
import { matterCommissioningAdaptor } from "./native-adaptors/implementations/ESPMatterAdapter";
import asyncStorageAdapter from "./native-adaptors/implementations/ESPAsyncStorage";
import { matterControlAdapter } from "./native-adaptors/implementations/ESPMatterControlAdapter";
import { matterSubscriptionAdapter } from "./native-adaptors/implementations/ESPMatterSubscriptionAdapter";
import { matterLocalDiscoveryAdapter } from "./native-adaptors/implementations/MatterDiscoverAdapter";
ESPRMMatterBase.configure({
baseUrl: "https://api.rainmaker.espressif.com",
version: "v1",
customStorageAdapter: asyncStorageAdapter,
matterCommissioningAdaptor,
matterVendorId: "0x131B",
matterControlAdapter,
matterSubscriptionAdapter,
matterLocalDiscoveryAdapter,
});
// After login, if using subscriptions:
await ESPRMMatterBase.initializeMatterSubscription();
More detail
| Topic | Page |
|---|---|
| Commission Adaptor | Commission Adaptor |
| Native Bridge (Android / iOS) | Native Bridge |
| Local vs remote control | Controlling |
| Base SDK adapters | Base SDK Adapters |