ESPCDFService
ESPCDFService is an optional service slice on a node (for example schedules, scenes, or system services) with its own param list. Use it when the node tree exposes capabilities outside standard ESPCDFDevice entries.
Services appear on ESPCDFNode.services when the adaptor maps them. Param updates go through ESPCDFServiceParam.
Properties
| Property | Type | Description |
|---|---|---|
name | string | Service name |
type | string | Service type id |
params | ESPCDFServiceParam[] | Service parameters |
operations | ESPCDFServiceOperation | SDK delegates |
_raw | any | Original SDK service |
events | ESPCDFOperationEventEmitter | Operation bus |
Common Workflows
List services on a node
import { initCDF } from "@espressif/rainmaker-base-cdf";
const espCDF = await initCDF({ sdkAdaptorRegistry });
const node = espCDF.nodeStore.getNodeById("node-id");
for (const service of node?.services ?? []) {
console.log(service.name, service.type);
}
Refresh service params
const service = node!.services!.find((s) => s.name === "Schedule")!;
const params = await service.getParams();
Set a service param
const param = service.params.find((p) => p.name === "enabled");
await param?.setValue(true);
Error Handling
try {
await service.getParams();
} catch (e) {
showErrorBanner("Failed to load service params");
}
Related Resource
- ESPCDFNode
- ESPCDFServiceParam
- ESPCDFService source
- API Reference: